Grammar refactoring WIP

This commit is contained in:
barsdeveloper
2021-10-22 00:01:24 +02:00
parent 9caea42101
commit 051eed061d
21 changed files with 968 additions and 354 deletions

View File

@@ -1,38 +1,39 @@
import Entity from "./Entity";
import Guid from "../Guid";
import ReferenceTypeName from "../serialization/ReferenceTypeName";
import Utility from "../Utility"
import ObjectReferenceEntity from "./ObjectReferenceEntity";
import TypeInitialization from "./TypeInitialization";
export default class PinEntity {
static optionalKeys = ['Direction']
constructor(options = {}) {
const getOrFalse = (keys) => Utility.objectGet(keys, false, options)
const getOrEmptyString = (keys) => Utility.objectGet(keys, "", options)
this.PinId = new Guid(Utility.objectGet(["PinId"], true, options))
this.PinName = getOrEmptyString(["PinName"])
this.PinToolTip = getOrEmptyString(["PinToolTip"])
this.Direction = getOrEmptyString(["Direction"])
this.PinType = {
PinCategory: getOrEmptyString(["PinType", "PinCategory"]),
PinSubCategory: getOrEmptyString(["PinType", "PinSubCategory"]),
PinSubCategoryObject: Utility.objectGet(["PinType", "PinSubCategoryObject"], ReferenceTypeName.None, options),
PinSubCategoryMemberReference: Utility.objectGet(["PinType", "PinSubCategoryMemberReference"], null, options),
PinValueType: getOrFalse(["PinType", "PinValueType"]),
ContainerType: Utility.objectGet(["PinType", "ContainerType"], ReferenceTypeName.None, options),
bIsReference: getOrFalse(["PinType", "bIsReference"]),
bIsConst: getOrFalse(["PinType", "bIsConst"]),
bIsWeakPointer: getOrFalse(["PinType", "bIsWeakPointer"]),
bIsUObjectWrapper: getOrFalse(["PinType", "bIsUObjectWrapper"])
}
this.LinkedTo = Utility.objectGet(["LinkedTo"], null, options)
this.DefaultValue = getOrFalse(["DefaultValue"])
this.AutogeneratedDefaultValue = getOrFalse(["AutogeneratedDefaultValue"])
this.PersistentGuid = new Guid(getOrFalse(["PersistentGuid"]))
this.bHidden = getOrFalse(["bHidden"])
this.bNotConnectable = getOrFalse(["bNotConnectable"])
this.bDefaultValueIsReadOnly = getOrFalse(["bDefaultValueIsReadOnly"])
this.bDefaultValueIsIgnored = getOrFalse(["bDefaultValueIsIgnored"])
this.bAdvancedView = getOrFalse(["bAdvancedView"])
this.bOrphanedPin = getOrFalse(["bOrphanedPin"])
export default class PinEntity extends Entity {
static attributes = {
PinId: Guid,
PinName: [new TypeInitialization(5, true), "ciao"],
PinToolTip: "",
Direction: new TypeInitialization("", false),
PinType: {
PinCategory: "",
PinSubCategory: "",
PinSubCategoryObject: ObjectReferenceEntity,
PinSubCategoryMemberReference: null,
PinValueType: null,
ContainerType: ObjectReferenceEntity,
bIsReference: false,
bIsConst: false,
bIsWeakPointer: false,
bIsUObjectWrapper: false
},
LinkedTo: Guid,
DefaultValue: "",
AutogeneratedDefaultValue: "",
PersistentGuid: Guid,
bHidden: false,
bNotConnectable: false,
bDefaultValueIsReadOnly: false,
bDefaultValueIsIgnored: false,
bAdvancedView: false,
bOrphanedPin: false,
}
getAttributes() {
return PinEntity.attributes
}
}