@itwin/ecschema-metadata 5.0.0-dev.59 → 5.0.0-dev.61
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/Context.d.ts +36 -15
- package/lib/cjs/Context.d.ts.map +1 -1
- package/lib/cjs/Context.js +10 -18
- package/lib/cjs/Context.js.map +1 -1
- package/lib/cjs/Deserialization/Helper.d.ts +3 -3
- package/lib/cjs/Deserialization/Helper.d.ts.map +1 -1
- package/lib/cjs/Deserialization/Helper.js.map +1 -1
- package/lib/cjs/Deserialization/XmlParser.js +2 -1
- package/lib/cjs/Deserialization/XmlParser.js.map +1 -1
- package/lib/cjs/ECObjects.d.ts +21 -1
- package/lib/cjs/ECObjects.d.ts.map +1 -1
- package/lib/cjs/ECObjects.js +34 -2
- package/lib/cjs/ECObjects.js.map +1 -1
- package/lib/cjs/Interfaces.d.ts +7 -0
- package/lib/cjs/Interfaces.d.ts.map +1 -1
- package/lib/cjs/Interfaces.js.map +1 -1
- package/lib/cjs/Metadata/Class.d.ts +24 -2
- package/lib/cjs/Metadata/Class.d.ts.map +1 -1
- package/lib/cjs/Metadata/Class.js +40 -10
- package/lib/cjs/Metadata/Class.js.map +1 -1
- package/lib/cjs/Metadata/Constant.d.ts +14 -1
- package/lib/cjs/Metadata/Constant.d.ts.map +1 -1
- package/lib/cjs/Metadata/Constant.js +23 -2
- package/lib/cjs/Metadata/Constant.js.map +1 -1
- package/lib/cjs/Metadata/CustomAttributeClass.d.ts +15 -1
- package/lib/cjs/Metadata/CustomAttributeClass.d.ts.map +1 -1
- package/lib/cjs/Metadata/CustomAttributeClass.js +21 -1
- package/lib/cjs/Metadata/CustomAttributeClass.js.map +1 -1
- package/lib/cjs/Metadata/EntityClass.d.ts +17 -3
- package/lib/cjs/Metadata/EntityClass.d.ts.map +1 -1
- package/lib/cjs/Metadata/EntityClass.js +28 -6
- package/lib/cjs/Metadata/EntityClass.js.map +1 -1
- package/lib/cjs/Metadata/Enumeration.d.ts +14 -1
- package/lib/cjs/Metadata/Enumeration.d.ts.map +1 -1
- package/lib/cjs/Metadata/Enumeration.js +19 -1
- package/lib/cjs/Metadata/Enumeration.js.map +1 -1
- package/lib/cjs/Metadata/Format.d.ts +13 -1
- package/lib/cjs/Metadata/Format.d.ts.map +1 -1
- package/lib/cjs/Metadata/Format.js +24 -3
- package/lib/cjs/Metadata/Format.js.map +1 -1
- package/lib/cjs/Metadata/InvertedUnit.d.ts +8 -1
- package/lib/cjs/Metadata/InvertedUnit.d.ts.map +1 -1
- package/lib/cjs/Metadata/InvertedUnit.js +15 -3
- package/lib/cjs/Metadata/InvertedUnit.js.map +1 -1
- package/lib/cjs/Metadata/KindOfQuantity.d.ts +14 -1
- package/lib/cjs/Metadata/KindOfQuantity.d.ts.map +1 -1
- package/lib/cjs/Metadata/KindOfQuantity.js +40 -13
- package/lib/cjs/Metadata/KindOfQuantity.js.map +1 -1
- package/lib/cjs/Metadata/Mixin.d.ts +15 -1
- package/lib/cjs/Metadata/Mixin.d.ts.map +1 -1
- package/lib/cjs/Metadata/Mixin.js +22 -2
- package/lib/cjs/Metadata/Mixin.js.map +1 -1
- package/lib/cjs/Metadata/Phenomenon.d.ts +14 -1
- package/lib/cjs/Metadata/Phenomenon.d.ts.map +1 -1
- package/lib/cjs/Metadata/Phenomenon.js +21 -1
- package/lib/cjs/Metadata/Phenomenon.js.map +1 -1
- package/lib/cjs/Metadata/Property.d.ts +1 -1
- package/lib/cjs/Metadata/Property.d.ts.map +1 -1
- package/lib/cjs/Metadata/Property.js +11 -6
- package/lib/cjs/Metadata/Property.js.map +1 -1
- package/lib/cjs/Metadata/PropertyCategory.d.ts +14 -1
- package/lib/cjs/Metadata/PropertyCategory.d.ts.map +1 -1
- package/lib/cjs/Metadata/PropertyCategory.js +20 -1
- package/lib/cjs/Metadata/PropertyCategory.js.map +1 -1
- package/lib/cjs/Metadata/RelationshipClass.d.ts +15 -1
- package/lib/cjs/Metadata/RelationshipClass.d.ts.map +1 -1
- package/lib/cjs/Metadata/RelationshipClass.js +29 -6
- package/lib/cjs/Metadata/RelationshipClass.js.map +1 -1
- package/lib/cjs/Metadata/Schema.d.ts +114 -6
- package/lib/cjs/Metadata/Schema.d.ts.map +1 -1
- package/lib/cjs/Metadata/Schema.js +125 -24
- package/lib/cjs/Metadata/Schema.js.map +1 -1
- package/lib/cjs/Metadata/SchemaItem.d.ts +11 -2
- package/lib/cjs/Metadata/SchemaItem.d.ts.map +1 -1
- package/lib/cjs/Metadata/SchemaItem.js +6 -1
- package/lib/cjs/Metadata/SchemaItem.js.map +1 -1
- package/lib/cjs/Metadata/Unit.d.ts +8 -1
- package/lib/cjs/Metadata/Unit.d.ts.map +1 -1
- package/lib/cjs/Metadata/Unit.js +15 -3
- package/lib/cjs/Metadata/Unit.js.map +1 -1
- package/lib/cjs/Metadata/UnitSystem.d.ts +14 -1
- package/lib/cjs/Metadata/UnitSystem.d.ts.map +1 -1
- package/lib/cjs/Metadata/UnitSystem.js +22 -1
- package/lib/cjs/Metadata/UnitSystem.js.map +1 -1
- package/lib/cjs/SchemaJsonLocater.d.ts +2 -2
- package/lib/cjs/SchemaJsonLocater.d.ts.map +1 -1
- package/lib/cjs/SchemaJsonLocater.js +1 -1
- package/lib/cjs/SchemaJsonLocater.js.map +1 -1
- package/lib/cjs/SchemaKey.d.ts +6 -0
- package/lib/cjs/SchemaKey.d.ts.map +1 -1
- package/lib/cjs/SchemaKey.js +6 -0
- package/lib/cjs/SchemaKey.js.map +1 -1
- package/lib/cjs/SchemaLoader.d.ts +2 -2
- package/lib/cjs/SchemaLoader.d.ts.map +1 -1
- package/lib/cjs/SchemaLoader.js.map +1 -1
- package/lib/cjs/UnitConversion/UnitConversion.d.ts +1 -1
- package/lib/cjs/UnitConversion/UnitConversion.d.ts.map +1 -1
- package/lib/cjs/UnitConversion/UnitConversion.js +5 -5
- package/lib/cjs/UnitConversion/UnitConversion.js.map +1 -1
- package/lib/cjs/UnitProvider/SchemaUnitProvider.js +3 -3
- package/lib/cjs/UnitProvider/SchemaUnitProvider.js.map +1 -1
- package/lib/cjs/Validation/SchemaWalker.d.ts +1 -1
- package/lib/cjs/Validation/SchemaWalker.d.ts.map +1 -1
- package/lib/cjs/Validation/SchemaWalker.js.map +1 -1
- package/lib/esm/Context.d.ts +36 -15
- package/lib/esm/Context.d.ts.map +1 -1
- package/lib/esm/Context.js +8 -16
- package/lib/esm/Context.js.map +1 -1
- package/lib/esm/Deserialization/Helper.d.ts +3 -3
- package/lib/esm/Deserialization/Helper.d.ts.map +1 -1
- package/lib/esm/Deserialization/Helper.js.map +1 -1
- package/lib/esm/Deserialization/XmlParser.js +2 -1
- package/lib/esm/Deserialization/XmlParser.js.map +1 -1
- package/lib/esm/ECObjects.d.ts +21 -1
- package/lib/esm/ECObjects.d.ts.map +1 -1
- package/lib/esm/ECObjects.js +32 -1
- package/lib/esm/ECObjects.js.map +1 -1
- package/lib/esm/Interfaces.d.ts +7 -0
- package/lib/esm/Interfaces.d.ts.map +1 -1
- package/lib/esm/Interfaces.js.map +1 -1
- package/lib/esm/Metadata/Class.d.ts +24 -2
- package/lib/esm/Metadata/Class.d.ts.map +1 -1
- package/lib/esm/Metadata/Class.js +41 -11
- package/lib/esm/Metadata/Class.js.map +1 -1
- package/lib/esm/Metadata/Constant.d.ts +14 -1
- package/lib/esm/Metadata/Constant.d.ts.map +1 -1
- package/lib/esm/Metadata/Constant.js +23 -2
- package/lib/esm/Metadata/Constant.js.map +1 -1
- package/lib/esm/Metadata/CustomAttributeClass.d.ts +15 -1
- package/lib/esm/Metadata/CustomAttributeClass.d.ts.map +1 -1
- package/lib/esm/Metadata/CustomAttributeClass.js +21 -1
- package/lib/esm/Metadata/CustomAttributeClass.js.map +1 -1
- package/lib/esm/Metadata/EntityClass.d.ts +17 -3
- package/lib/esm/Metadata/EntityClass.d.ts.map +1 -1
- package/lib/esm/Metadata/EntityClass.js +28 -6
- package/lib/esm/Metadata/EntityClass.js.map +1 -1
- package/lib/esm/Metadata/Enumeration.d.ts +14 -1
- package/lib/esm/Metadata/Enumeration.d.ts.map +1 -1
- package/lib/esm/Metadata/Enumeration.js +19 -1
- package/lib/esm/Metadata/Enumeration.js.map +1 -1
- package/lib/esm/Metadata/Format.d.ts +13 -1
- package/lib/esm/Metadata/Format.d.ts.map +1 -1
- package/lib/esm/Metadata/Format.js +24 -3
- package/lib/esm/Metadata/Format.js.map +1 -1
- package/lib/esm/Metadata/InvertedUnit.d.ts +8 -1
- package/lib/esm/Metadata/InvertedUnit.d.ts.map +1 -1
- package/lib/esm/Metadata/InvertedUnit.js +15 -3
- package/lib/esm/Metadata/InvertedUnit.js.map +1 -1
- package/lib/esm/Metadata/KindOfQuantity.d.ts +14 -1
- package/lib/esm/Metadata/KindOfQuantity.d.ts.map +1 -1
- package/lib/esm/Metadata/KindOfQuantity.js +40 -13
- package/lib/esm/Metadata/KindOfQuantity.js.map +1 -1
- package/lib/esm/Metadata/Mixin.d.ts +15 -1
- package/lib/esm/Metadata/Mixin.d.ts.map +1 -1
- package/lib/esm/Metadata/Mixin.js +23 -3
- package/lib/esm/Metadata/Mixin.js.map +1 -1
- package/lib/esm/Metadata/Phenomenon.d.ts +14 -1
- package/lib/esm/Metadata/Phenomenon.d.ts.map +1 -1
- package/lib/esm/Metadata/Phenomenon.js +21 -1
- package/lib/esm/Metadata/Phenomenon.js.map +1 -1
- package/lib/esm/Metadata/Property.d.ts +1 -1
- package/lib/esm/Metadata/Property.d.ts.map +1 -1
- package/lib/esm/Metadata/Property.js +12 -7
- package/lib/esm/Metadata/Property.js.map +1 -1
- package/lib/esm/Metadata/PropertyCategory.d.ts +14 -1
- package/lib/esm/Metadata/PropertyCategory.d.ts.map +1 -1
- package/lib/esm/Metadata/PropertyCategory.js +20 -1
- package/lib/esm/Metadata/PropertyCategory.js.map +1 -1
- package/lib/esm/Metadata/RelationshipClass.d.ts +15 -1
- package/lib/esm/Metadata/RelationshipClass.d.ts.map +1 -1
- package/lib/esm/Metadata/RelationshipClass.js +30 -7
- package/lib/esm/Metadata/RelationshipClass.js.map +1 -1
- package/lib/esm/Metadata/Schema.d.ts +114 -6
- package/lib/esm/Metadata/Schema.d.ts.map +1 -1
- package/lib/esm/Metadata/Schema.js +125 -24
- package/lib/esm/Metadata/Schema.js.map +1 -1
- package/lib/esm/Metadata/SchemaItem.d.ts +11 -2
- package/lib/esm/Metadata/SchemaItem.d.ts.map +1 -1
- package/lib/esm/Metadata/SchemaItem.js +7 -2
- package/lib/esm/Metadata/SchemaItem.js.map +1 -1
- package/lib/esm/Metadata/Unit.d.ts +8 -1
- package/lib/esm/Metadata/Unit.d.ts.map +1 -1
- package/lib/esm/Metadata/Unit.js +15 -3
- package/lib/esm/Metadata/Unit.js.map +1 -1
- package/lib/esm/Metadata/UnitSystem.d.ts +14 -1
- package/lib/esm/Metadata/UnitSystem.d.ts.map +1 -1
- package/lib/esm/Metadata/UnitSystem.js +22 -1
- package/lib/esm/Metadata/UnitSystem.js.map +1 -1
- package/lib/esm/SchemaJsonLocater.d.ts +2 -2
- package/lib/esm/SchemaJsonLocater.d.ts.map +1 -1
- package/lib/esm/SchemaJsonLocater.js +1 -1
- package/lib/esm/SchemaJsonLocater.js.map +1 -1
- package/lib/esm/SchemaKey.d.ts +6 -0
- package/lib/esm/SchemaKey.d.ts.map +1 -1
- package/lib/esm/SchemaKey.js +6 -0
- package/lib/esm/SchemaKey.js.map +1 -1
- package/lib/esm/SchemaLoader.d.ts +2 -2
- package/lib/esm/SchemaLoader.d.ts.map +1 -1
- package/lib/esm/SchemaLoader.js.map +1 -1
- package/lib/esm/UnitConversion/UnitConversion.d.ts +1 -1
- package/lib/esm/UnitConversion/UnitConversion.d.ts.map +1 -1
- package/lib/esm/UnitConversion/UnitConversion.js +5 -5
- package/lib/esm/UnitConversion/UnitConversion.js.map +1 -1
- package/lib/esm/UnitProvider/SchemaUnitProvider.js +3 -3
- package/lib/esm/UnitProvider/SchemaUnitProvider.js.map +1 -1
- package/lib/esm/Validation/SchemaWalker.d.ts +1 -1
- package/lib/esm/Validation/SchemaWalker.d.ts.map +1 -1
- package/lib/esm/Validation/SchemaWalker.js.map +1 -1
- package/package.json +6 -6
package/lib/cjs/ECObjects.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ECObjects.js","sourceRoot":"","sources":["../../src/ECObjects.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Metadata\n */\n\nimport { ECStringConstants } from \"./Constants\";\nimport { ECObjectsError, ECObjectsStatus } from \"./Exception\";\n\nexport { PropertyType } from \"./PropertyTypes\";\n\n// NEEDSWORK: This shim is currently required to use async iterators. See https://github.com/Microsoft/TypeScript/issues/14151\nif (!(Symbol as any).asyncIterator) {\n (Symbol as any).asyncIterator = Symbol.for(\"Symbol.asyncIterator\");\n}\n\n/** @beta */\nexport enum ECClassModifier {\n None,\n Abstract,\n Sealed,\n}\n\n/**\n * An enumeration that has all the schema item type names as values\n * @beta */\nexport enum SchemaItemType {\n EntityClass = \"EntityClass\",\n Mixin = \"Mixin\",\n StructClass = \"StructClass\",\n CustomAttributeClass = \"CustomAttributeClass\",\n RelationshipClass = \"RelationshipClass\",\n Enumeration = \"Enumeration\",\n KindOfQuantity = \"KindOfQuantity\",\n PropertyCategory = \"PropertyCategory\",\n Unit = \"Unit\",\n InvertedUnit = \"InvertedUnit\",\n Constant = \"Constant\",\n Phenomenon = \"Phenomenon\",\n UnitSystem = \"UnitSystem\",\n Format = \"Format\",\n}\n\n/**\n * Primitive data types for ECProperties.\n * @beta\n */\nexport enum PrimitiveType {\n Uninitialized = 0x00,\n Binary = 0x101,\n Boolean = 0x201,\n DateTime = 0x301,\n Double = 0x401,\n Integer = 0x501,\n Long = 0x601,\n Point2d = 0x701,\n Point3d = 0x801,\n String = 0x901,\n IGeometry = 0xa01,\n}\n\n/**\n * Defines the valid CustomAttribute container types.\n * @beta\n */\nexport enum CustomAttributeContainerType {\n Schema = (0x0001 << 0),\n EntityClass = (0x0001 << 1),\n CustomAttributeClass = (0x0001 << 2),\n StructClass = (0x0001 << 3),\n RelationshipClass = (0x0001 << 4),\n AnyClass = EntityClass | CustomAttributeClass | StructClass | RelationshipClass,\n PrimitiveProperty = (0x0001 << 5),\n StructProperty = (0x0001 << 6),\n PrimitiveArrayProperty = (0x0001 << 7),\n StructArrayProperty = (0x0001 << 8),\n NavigationProperty = (0x0001 << 9),\n AnyProperty = PrimitiveProperty | StructProperty | PrimitiveArrayProperty | StructArrayProperty | NavigationProperty,\n SourceRelationshipConstraint = (0x0001 << 10),\n TargetRelationshipConstraint = (0x0001 << 11),\n AnyRelationshipConstraint = SourceRelationshipConstraint | TargetRelationshipConstraint,\n Any = Schema | AnyClass | AnyProperty | AnyRelationshipConstraint,\n}\n\n/**\n * Defines what sort of match should be used when locating a schema.\n * @beta\n */\nexport enum SchemaMatchType {\n /*\n * Find exact VersionRead, VersionWrite, VersionMinor match as well as Data. NOTE data is not yet matched\n * @deprecated in 4.10 Use Exact instead.\n */\n Identical,\n /* Find exact VersionRead, VersionWrite, VersionMinor match. */\n Exact,\n /* Find latest version with matching VersionRead and VersionWrite */\n LatestWriteCompatible,\n /* Find latest version. */\n Latest,\n /* Find latest version with matching VersionRead */\n LatestReadCompatible,\n}\n\n/**\n * Identifer for an ECRelationshipConstraint. Used to determine the side of the relationship the constraint is representing.\n * @beta\n */\nexport enum RelationshipEnd {\n Source = 0,\n Target = 1,\n}\n\n/** @beta */\nexport enum StrengthType {\n Referencing,\n Holding,\n Embedding,\n}\n\n/** @beta */\nexport enum StrengthDirection {\n Forward = 1,\n Backward = 2,\n}\n\n// Helper methods for going to/from string for the above Enumerations.\n\n/**\n * Parses the provided string into an ECClassModifier if the string is a valid modifier.\n * @param modifier The modifier string to parse.\n * @beta\n */\nexport function parseClassModifier(modifier: string): ECClassModifier | undefined {\n const lowerModifier = modifier.toLowerCase();\n switch (lowerModifier) {\n case \"abstract\": return ECClassModifier.Abstract;\n case \"none\": return ECClassModifier.None;\n case \"sealed\": return ECClassModifier.Sealed;\n }\n return undefined;\n}\n\n/**\n * @return A string representing the provided ECClassModifier. If the modifier is not valid, an empty string is returned.\n * @beta\n */\nexport function classModifierToString(modifier: ECClassModifier): string {\n switch (modifier) {\n case ECClassModifier.Abstract: return \"Abstract\";\n case ECClassModifier.None: return \"None\";\n case ECClassModifier.Sealed: return \"Sealed\";\n default: throw new ECObjectsError(ECObjectsStatus.InvalidModifier, \"An invalid ECClassModifier has been provided.\");\n }\n}\n\n/**\n * Tries to parse the given string as one of the 8 schema item types.\n * @param type The schema item type string to parse.\n * @returns A valid SchemaItemType if successfully parsed. Otherwise, undefined if the provided string is not a valid SchemaItemType.\n * @beta\n */\nexport function parseSchemaItemType(type: string): SchemaItemType | undefined {\n switch (type.toLowerCase()) {\n case \"entityclass\": return SchemaItemType.EntityClass;\n case \"mixin\": return SchemaItemType.Mixin;\n case \"structclass\": return SchemaItemType.StructClass;\n case \"customattributeclass\": return SchemaItemType.CustomAttributeClass;\n case \"relationshipclass\": return SchemaItemType.RelationshipClass;\n case \"enumeration\": return SchemaItemType.Enumeration;\n case \"kindofquantity\": return SchemaItemType.KindOfQuantity;\n case \"propertycategory\": return SchemaItemType.PropertyCategory;\n case \"unit\": return SchemaItemType.Unit;\n case \"invertedunit\": return SchemaItemType.InvertedUnit;\n case \"constant\": return SchemaItemType.Constant;\n case \"phenomenon\": return SchemaItemType.Phenomenon;\n case \"unitsystem\": return SchemaItemType.UnitSystem;\n case \"format\": return SchemaItemType.Format;\n }\n return undefined;\n}\n\n/**\n * Converts a valid SchemaItemType to a display string.\n * @param value The SchemaItemType to stringify.\n * @return A string representing the provided SchemaItemType. If the type is not valid, an empty string is returned.\n * @beta\n * @deprecated in 4.6.0 SchemaItemType is a string enum so just use it directly\n */\nexport function schemaItemTypeToString(value: SchemaItemType): string {\n return value; // TODO: Remove\n}\n\n/** @internal */\nexport function schemaItemTypeToXmlString(value: SchemaItemType): string {\n switch (value) {\n case SchemaItemType.EntityClass: return \"ECEntityClass\";\n case SchemaItemType.Mixin: return \"ECEntityClass\";\n case SchemaItemType.StructClass: return \"ECStructClass\";\n case SchemaItemType.CustomAttributeClass: return \"ECCustomAttributeClass\";\n case SchemaItemType.RelationshipClass: return \"ECRelationshipClass\";\n case SchemaItemType.Enumeration: return \"ECEnumeration\";\n case SchemaItemType.KindOfQuantity: return \"KindOfQuantity\";\n case SchemaItemType.PropertyCategory: return \"PropertyCategory\";\n case SchemaItemType.Unit: return \"Unit\";\n case SchemaItemType.InvertedUnit: return \"InvertedUnit\";\n case SchemaItemType.Constant: return \"Constant\";\n case SchemaItemType.Phenomenon: return \"Phenomenon\";\n case SchemaItemType.UnitSystem: return \"UnitSystem\";\n case SchemaItemType.Format: return \"Format\";\n default: throw new ECObjectsError(ECObjectsStatus.InvalidSchemaItemType, \"An invalid SchemaItemType has been provided.\");\n }\n}\n\n/**\n * Tries to parse the given string as one of the 10 primitive types.\n * @param type The primitive type string to parse.\n * @returns A valid PrimitiveType if successfully parsed, or undefined if the provided string is not a valid PrimitiveType.\n * @beta\n */\nexport function parsePrimitiveType(type: string): PrimitiveType | undefined {\n switch (type.toLowerCase()) {\n case \"binary\": return PrimitiveType.Binary;\n case \"boolean\": case \"bool\": return PrimitiveType.Boolean;\n case \"datetime\": return PrimitiveType.DateTime;\n case \"double\": return PrimitiveType.Double;\n case \"int\": return PrimitiveType.Integer;\n case \"long\": return PrimitiveType.Long;\n case \"point2d\": return PrimitiveType.Point2d;\n case \"point3d\": return PrimitiveType.Point3d;\n case \"string\": return PrimitiveType.String;\n case \"bentley.geometry.common.igeometry\": return PrimitiveType.IGeometry;\n }\n\n return undefined;\n}\n\n/** @beta */\nexport function primitiveTypeToString(type: PrimitiveType): string {\n switch (type) {\n case PrimitiveType.Binary: return \"binary\";\n case PrimitiveType.Boolean: return \"boolean\";\n case PrimitiveType.DateTime: return \"dateTime\";\n case PrimitiveType.Double: return \"double\";\n case PrimitiveType.Integer: return \"int\";\n case PrimitiveType.IGeometry: return \"Bentley.Geometry.Common.IGeometry\";\n case PrimitiveType.Long: return \"long\";\n case PrimitiveType.Point2d: return \"point2d\";\n case PrimitiveType.Point3d: return \"point3d\";\n case PrimitiveType.String: return \"string\";\n default: throw new ECObjectsError(ECObjectsStatus.InvalidPrimitiveType, \"An invalid PrimitiveType has been provided.\");\n }\n}\n\n/**\n * Parses the given string into the appropriate CustomAttributeContainerType if the string is valid.\n * @param type The container type string to parse.\n * @beta\n */\nexport function parseCustomAttributeContainerType(type: string): CustomAttributeContainerType | undefined {\n const typeTokens = type.split(/[|,;]+/);\n\n let containerType = 0;\n\n typeTokens.forEach((typeToken) => {\n typeToken = typeToken.trim();\n if (typeToken.length === 0)\n return;\n\n typeToken = typeToken.toLowerCase();\n switch (typeToken) {\n case \"schema\":\n containerType = containerType | CustomAttributeContainerType.Schema;\n break;\n case \"entityclass\":\n containerType = containerType | CustomAttributeContainerType.EntityClass;\n break;\n case \"customattributeclass\":\n containerType = containerType | CustomAttributeContainerType.CustomAttributeClass;\n break;\n case \"structclass\":\n containerType = containerType | CustomAttributeContainerType.StructClass;\n break;\n case \"relationshipclass\":\n containerType = containerType | CustomAttributeContainerType.RelationshipClass;\n break;\n case \"anyclass\":\n containerType = containerType | CustomAttributeContainerType.AnyClass;\n break;\n case \"primitiveproperty\":\n containerType = containerType | CustomAttributeContainerType.PrimitiveProperty;\n break;\n case \"structproperty\":\n containerType = containerType | CustomAttributeContainerType.StructProperty;\n break;\n case \"arrayproperty\":\n containerType = containerType | CustomAttributeContainerType.PrimitiveArrayProperty;\n break;\n case \"structarrayproperty\":\n containerType = containerType | CustomAttributeContainerType.StructArrayProperty;\n break;\n case \"navigationproperty\":\n containerType = containerType | CustomAttributeContainerType.NavigationProperty;\n break;\n case \"anyproperty\":\n containerType = containerType | CustomAttributeContainerType.AnyProperty;\n break;\n case \"sourcerelationshipconstraint\":\n containerType = containerType | CustomAttributeContainerType.SourceRelationshipConstraint;\n break;\n case \"targetrelationshipconstraint\":\n containerType = containerType | CustomAttributeContainerType.TargetRelationshipConstraint;\n break;\n case \"anyrelationshipconstraint\":\n containerType = containerType | CustomAttributeContainerType.AnyRelationshipConstraint;\n break;\n case \"any\":\n containerType = containerType | CustomAttributeContainerType.Any;\n break;\n default:\n throw new ECObjectsError(ECObjectsStatus.InvalidContainerType, `${typeToken} is not a valid CustomAttributeContainerType value.`);\n }\n });\n\n return containerType as CustomAttributeContainerType;\n}\n\n/**\n * Creates a string representing a valid CustomAttributeContainerType.\n * @param value The CustomAttributeContainerType to stringify.\n * @return A string representing the provided CustomAttributeContainerType. If the type is not valid, an empty string is returned.\n * @beta\n */\nexport function containerTypeToString(type: CustomAttributeContainerType): string {\n\n const testContainerTypeValue = (compareType: CustomAttributeContainerType, otherType: CustomAttributeContainerType) => {\n return (compareType === (compareType & otherType));\n };\n\n if (testContainerTypeValue(CustomAttributeContainerType.Any, type))\n return ECStringConstants.CONTAINERTYPE_ANY;\n\n let containerType = \"\";\n const setOrAppend = (val: string) => {\n if (containerType.length === 0)\n containerType = val;\n else\n containerType = `${containerType}, ${val}`;\n };\n\n if (testContainerTypeValue(CustomAttributeContainerType.Schema, type))\n setOrAppend(\"Schema\");\n\n if (testContainerTypeValue(CustomAttributeContainerType.AnyClass, type))\n setOrAppend(\"AnyClass\");\n else {\n if (testContainerTypeValue(CustomAttributeContainerType.EntityClass, type))\n setOrAppend(ECStringConstants.CONTAINERTYPE_ENTITYCLASS);\n if (testContainerTypeValue(CustomAttributeContainerType.CustomAttributeClass, type))\n setOrAppend(ECStringConstants.CONTAINERTYPE_CUSTOMATTRIBUTECLASS);\n if (testContainerTypeValue(CustomAttributeContainerType.StructClass, type))\n setOrAppend(ECStringConstants.CONTAINERTYPE_STRUCTCLASS);\n if (testContainerTypeValue(CustomAttributeContainerType.RelationshipClass, type))\n setOrAppend(ECStringConstants.CONTAINERTYPE_RELATIONSHIPCLASS);\n }\n\n if (testContainerTypeValue(CustomAttributeContainerType.AnyProperty, type))\n setOrAppend(ECStringConstants.CONTAINERTYPE_ANYPROPERTY);\n else {\n if (testContainerTypeValue(CustomAttributeContainerType.PrimitiveProperty, type))\n setOrAppend(ECStringConstants.CONTAINERTYPE_PRIMITIVEPROPERTY);\n if (testContainerTypeValue(CustomAttributeContainerType.StructProperty, type))\n setOrAppend(ECStringConstants.CONTAINERTYPE_STRUCTPROPERTY);\n if (testContainerTypeValue(CustomAttributeContainerType.PrimitiveArrayProperty, type))\n setOrAppend(ECStringConstants.CONTAINERTYPE_PRIMITIVEARRAYPROPERTY);\n if (testContainerTypeValue(CustomAttributeContainerType.StructArrayProperty, type))\n setOrAppend(ECStringConstants.CONTAINERTYPE_STRUCTARRAYPROPERTY);\n if (testContainerTypeValue(CustomAttributeContainerType.NavigationProperty, type))\n setOrAppend(ECStringConstants.CONTAINERTYPE_NAVIGATIONPROPERTY);\n }\n\n if (testContainerTypeValue(CustomAttributeContainerType.AnyRelationshipConstraint, type))\n setOrAppend(ECStringConstants.CONTAINERTYPE_ANYRELATIONSHIPCONSTRAINT);\n else {\n if (testContainerTypeValue(CustomAttributeContainerType.SourceRelationshipConstraint, type))\n setOrAppend(ECStringConstants.CONTAINERTYPE_SOURCERELATIONSHIPCONSTRAINT);\n if (testContainerTypeValue(CustomAttributeContainerType.TargetRelationshipConstraint, type))\n setOrAppend(ECStringConstants.CONTAINERTYPE_TARGETRELATIONSHIPCONSTRAINT);\n }\n\n return containerType;\n}\n\n/** @beta */\nexport function parseRelationshipEnd(end: string): RelationshipEnd | undefined {\n switch (end.toLowerCase()) {\n case \"source\": return RelationshipEnd.Source;\n case \"target\": return RelationshipEnd.Target;\n }\n return undefined;\n}\n\n/** @beta */\nexport function relationshipEndToString(end: RelationshipEnd): string {\n switch (end) {\n case RelationshipEnd.Source: return ECStringConstants.RELATIONSHIP_END_SOURCE;\n case RelationshipEnd.Target: return ECStringConstants.RELATIONSHIP_END_TARGET;\n default: throw new ECObjectsError(ECObjectsStatus.InvalidRelationshipEnd, `An invalid RelationshipEnd has been provided.`);\n }\n}\n\n/**\n * Takes a string representing a StrengthType, will parse it and return the corresponding StrengthType.\n * @throws ECObjectsStatus.InvalidStrength if the provided string that is not valid\n * @param strength\n * @beta\n */\nexport function parseStrength(strength: string): StrengthType | undefined {\n switch (strength.toLowerCase()) {\n case \"referencing\": return StrengthType.Referencing;\n case \"holding\": return StrengthType.Holding;\n case \"embedding\": return StrengthType.Embedding;\n }\n return undefined;\n}\n\n/** @beta */\nexport function strengthToString(strength: StrengthType): string {\n switch (strength) {\n case StrengthType.Embedding: return \"Embedding\";\n case StrengthType.Holding: return \"Holding\";\n case StrengthType.Referencing: return \"Referencing\";\n default: throw new ECObjectsError(ECObjectsStatus.InvalidStrength, `An invalid Strength has been provided.`);\n }\n}\n\n/** @beta */\nexport function parseStrengthDirection(direction: string): StrengthDirection | undefined {\n switch (direction.toLowerCase()) {\n case \"forward\": return StrengthDirection.Forward;\n case \"backward\": return StrengthDirection.Backward;\n }\n return undefined;\n}\n\n/** @beta */\nexport function strengthDirectionToString(direction: StrengthDirection): string {\n switch (direction) {\n case StrengthDirection.Forward: return \"Forward\";\n case StrengthDirection.Backward: return \"Backward\";\n default: throw new ECObjectsError(ECObjectsStatus.InvalidStrengthDirection, `An invalid StrengthDirection has been provided.`);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ECObjects.js","sourceRoot":"","sources":["../../src/ECObjects.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Metadata\n */\n\nimport { ECStringConstants } from \"./Constants\";\nimport { ECObjectsError, ECObjectsStatus } from \"./Exception\";\n\nexport { PropertyType } from \"./PropertyTypes\";\n\n// NEEDSWORK: This shim is currently required to use async iterators. See https://github.com/Microsoft/TypeScript/issues/14151\nif (!(Symbol as any).asyncIterator) {\n (Symbol as any).asyncIterator = Symbol.for(\"Symbol.asyncIterator\");\n}\n\n/** @beta */\nexport enum ECClassModifier {\n None,\n Abstract,\n Sealed,\n}\n\n/**\n * An enumeration that has all the schema item type names as values\n *\n * @enum {string}\n * @beta\n */\nexport enum SchemaItemType {\n EntityClass = \"EntityClass\",\n Mixin = \"Mixin\",\n StructClass = \"StructClass\",\n CustomAttributeClass = \"CustomAttributeClass\",\n RelationshipClass = \"RelationshipClass\",\n Enumeration = \"Enumeration\",\n KindOfQuantity = \"KindOfQuantity\",\n PropertyCategory = \"PropertyCategory\",\n Unit = \"Unit\",\n InvertedUnit = \"InvertedUnit\",\n Constant = \"Constant\",\n Phenomenon = \"Phenomenon\",\n UnitSystem = \"UnitSystem\",\n Format = \"Format\",\n}\n\n/**\n * Additional Schema Item Types which define classes of item types\n * @beta\n */\nexport enum AbstractSchemaItemType {\n Class = \"Class\",\n SchemaItem = \"SchemaItem\"\n}\n\n/**\n * Defines types of items that may be provided to identify supported items\n * @beta\n */\nexport type SupportedSchemaItemType = SchemaItemType | AbstractSchemaItemType;\n\n/**\n * Primitive data types for ECProperties.\n * @beta\n */\nexport enum PrimitiveType {\n Uninitialized = 0x00,\n Binary = 0x101,\n Boolean = 0x201,\n DateTime = 0x301,\n Double = 0x401,\n Integer = 0x501,\n Long = 0x601,\n Point2d = 0x701,\n Point3d = 0x801,\n String = 0x901,\n IGeometry = 0xa01,\n}\n\n/**\n * Defines the valid CustomAttribute container types.\n * @beta\n */\nexport enum CustomAttributeContainerType {\n Schema = (0x0001 << 0),\n EntityClass = (0x0001 << 1),\n CustomAttributeClass = (0x0001 << 2),\n StructClass = (0x0001 << 3),\n RelationshipClass = (0x0001 << 4),\n AnyClass = EntityClass | CustomAttributeClass | StructClass | RelationshipClass,\n PrimitiveProperty = (0x0001 << 5),\n StructProperty = (0x0001 << 6),\n PrimitiveArrayProperty = (0x0001 << 7),\n StructArrayProperty = (0x0001 << 8),\n NavigationProperty = (0x0001 << 9),\n AnyProperty = PrimitiveProperty | StructProperty | PrimitiveArrayProperty | StructArrayProperty | NavigationProperty,\n SourceRelationshipConstraint = (0x0001 << 10),\n TargetRelationshipConstraint = (0x0001 << 11),\n AnyRelationshipConstraint = SourceRelationshipConstraint | TargetRelationshipConstraint,\n Any = Schema | AnyClass | AnyProperty | AnyRelationshipConstraint,\n}\n\n/**\n * Defines what sort of match should be used when locating a schema.\n * @beta\n */\nexport enum SchemaMatchType {\n /*\n * Find exact VersionRead, VersionWrite, VersionMinor match as well as Data. NOTE data is not yet matched\n * @deprecated in 4.10 Use Exact instead.\n */\n Identical,\n /* Find exact VersionRead, VersionWrite, VersionMinor match. */\n Exact,\n /* Find latest version with matching VersionRead and VersionWrite */\n LatestWriteCompatible,\n /* Find latest version. */\n Latest,\n /* Find latest version with matching VersionRead */\n LatestReadCompatible,\n}\n\n/**\n * Identifer for an ECRelationshipConstraint. Used to determine the side of the relationship the constraint is representing.\n * @beta\n */\nexport enum RelationshipEnd {\n Source = 0,\n Target = 1,\n}\n\n/** @beta */\nexport enum StrengthType {\n Referencing,\n Holding,\n Embedding,\n}\n\n/** @beta */\nexport enum StrengthDirection {\n Forward = 1,\n Backward = 2,\n}\n\n// Helper methods for going to/from string for the above Enumerations.\n\n/**\n * Parses the provided string into an ECClassModifier if the string is a valid modifier.\n * @param modifier The modifier string to parse.\n * @beta\n */\nexport function parseClassModifier(modifier: string): ECClassModifier | undefined {\n const lowerModifier = modifier.toLowerCase();\n switch (lowerModifier) {\n case \"abstract\": return ECClassModifier.Abstract;\n case \"none\": return ECClassModifier.None;\n case \"sealed\": return ECClassModifier.Sealed;\n }\n return undefined;\n}\n\n/**\n * @return A string representing the provided ECClassModifier. If the modifier is not valid, an empty string is returned.\n * @beta\n */\nexport function classModifierToString(modifier: ECClassModifier): string {\n switch (modifier) {\n case ECClassModifier.Abstract: return \"Abstract\";\n case ECClassModifier.None: return \"None\";\n case ECClassModifier.Sealed: return \"Sealed\";\n default: throw new ECObjectsError(ECObjectsStatus.InvalidModifier, \"An invalid ECClassModifier has been provided.\");\n }\n}\n\n/**\n * Tries to parse the given string as one of the 8 schema item types.\n * @param type The schema item type string to parse.\n * @returns A valid SchemaItemType if successfully parsed. Otherwise, undefined if the provided string is not a valid SchemaItemType.\n * @beta\n */\nexport function parseSchemaItemType(type: string): SchemaItemType | undefined {\n switch (type.toLowerCase()) {\n case \"entityclass\": return SchemaItemType.EntityClass;\n case \"mixin\": return SchemaItemType.Mixin;\n case \"structclass\": return SchemaItemType.StructClass;\n case \"customattributeclass\": return SchemaItemType.CustomAttributeClass;\n case \"relationshipclass\": return SchemaItemType.RelationshipClass;\n case \"enumeration\": return SchemaItemType.Enumeration;\n case \"kindofquantity\": return SchemaItemType.KindOfQuantity;\n case \"propertycategory\": return SchemaItemType.PropertyCategory;\n case \"unit\": return SchemaItemType.Unit;\n case \"invertedunit\": return SchemaItemType.InvertedUnit;\n case \"constant\": return SchemaItemType.Constant;\n case \"phenomenon\": return SchemaItemType.Phenomenon;\n case \"unitsystem\": return SchemaItemType.UnitSystem;\n case \"format\": return SchemaItemType.Format;\n }\n return undefined;\n}\n\n/**\n * Converts a valid SchemaItemType to a display string.\n * @param value The SchemaItemType to stringify.\n * @return A string representing the provided SchemaItemType. If the type is not valid, an empty string is returned.\n * @beta\n * @deprecated in 4.6.0 SchemaItemType is a string enum so just use it directly\n */\nexport function schemaItemTypeToString(value: SchemaItemType): string {\n return value; // TODO: Remove\n}\n\n/** @internal */\nexport function schemaItemTypeToXmlString(value: SchemaItemType): string {\n switch (value) {\n case SchemaItemType.EntityClass: return \"ECEntityClass\";\n case SchemaItemType.Mixin: return \"ECEntityClass\";\n case SchemaItemType.StructClass: return \"ECStructClass\";\n case SchemaItemType.CustomAttributeClass: return \"ECCustomAttributeClass\";\n case SchemaItemType.RelationshipClass: return \"ECRelationshipClass\";\n case SchemaItemType.Enumeration: return \"ECEnumeration\";\n case SchemaItemType.KindOfQuantity: return \"KindOfQuantity\";\n case SchemaItemType.PropertyCategory: return \"PropertyCategory\";\n case SchemaItemType.Unit: return \"Unit\";\n case SchemaItemType.InvertedUnit: return \"InvertedUnit\";\n case SchemaItemType.Constant: return \"Constant\";\n case SchemaItemType.Phenomenon: return \"Phenomenon\";\n case SchemaItemType.UnitSystem: return \"UnitSystem\";\n case SchemaItemType.Format: return \"Format\";\n default: throw new ECObjectsError(ECObjectsStatus.InvalidSchemaItemType, \"An invalid SchemaItemType has been provided.\");\n }\n}\n\n/**\n * Tries to parse the given string as one of the 10 primitive types.\n * @param type The primitive type string to parse.\n * @returns A valid PrimitiveType if successfully parsed, or undefined if the provided string is not a valid PrimitiveType.\n * @beta\n */\nexport function parsePrimitiveType(type: string): PrimitiveType | undefined {\n switch (type.toLowerCase()) {\n case \"binary\": return PrimitiveType.Binary;\n case \"boolean\": case \"bool\": return PrimitiveType.Boolean;\n case \"datetime\": return PrimitiveType.DateTime;\n case \"double\": return PrimitiveType.Double;\n case \"int\": return PrimitiveType.Integer;\n case \"long\": return PrimitiveType.Long;\n case \"point2d\": return PrimitiveType.Point2d;\n case \"point3d\": return PrimitiveType.Point3d;\n case \"string\": return PrimitiveType.String;\n case \"bentley.geometry.common.igeometry\": return PrimitiveType.IGeometry;\n }\n\n return undefined;\n}\n\n/** @beta */\nexport function primitiveTypeToString(type: PrimitiveType): string {\n switch (type) {\n case PrimitiveType.Binary: return \"binary\";\n case PrimitiveType.Boolean: return \"boolean\";\n case PrimitiveType.DateTime: return \"dateTime\";\n case PrimitiveType.Double: return \"double\";\n case PrimitiveType.Integer: return \"int\";\n case PrimitiveType.IGeometry: return \"Bentley.Geometry.Common.IGeometry\";\n case PrimitiveType.Long: return \"long\";\n case PrimitiveType.Point2d: return \"point2d\";\n case PrimitiveType.Point3d: return \"point3d\";\n case PrimitiveType.String: return \"string\";\n default: throw new ECObjectsError(ECObjectsStatus.InvalidPrimitiveType, \"An invalid PrimitiveType has been provided.\");\n }\n}\n\n/**\n * Parses the given string into the appropriate CustomAttributeContainerType if the string is valid.\n * @param type The container type string to parse.\n * @beta\n */\nexport function parseCustomAttributeContainerType(type: string): CustomAttributeContainerType | undefined {\n const typeTokens = type.split(/[|,;]+/);\n\n let containerType = 0;\n\n typeTokens.forEach((typeToken) => {\n typeToken = typeToken.trim();\n if (typeToken.length === 0)\n return;\n\n typeToken = typeToken.toLowerCase();\n switch (typeToken) {\n case \"schema\":\n containerType = containerType | CustomAttributeContainerType.Schema;\n break;\n case \"entityclass\":\n containerType = containerType | CustomAttributeContainerType.EntityClass;\n break;\n case \"customattributeclass\":\n containerType = containerType | CustomAttributeContainerType.CustomAttributeClass;\n break;\n case \"structclass\":\n containerType = containerType | CustomAttributeContainerType.StructClass;\n break;\n case \"relationshipclass\":\n containerType = containerType | CustomAttributeContainerType.RelationshipClass;\n break;\n case \"anyclass\":\n containerType = containerType | CustomAttributeContainerType.AnyClass;\n break;\n case \"primitiveproperty\":\n containerType = containerType | CustomAttributeContainerType.PrimitiveProperty;\n break;\n case \"structproperty\":\n containerType = containerType | CustomAttributeContainerType.StructProperty;\n break;\n case \"arrayproperty\":\n containerType = containerType | CustomAttributeContainerType.PrimitiveArrayProperty;\n break;\n case \"structarrayproperty\":\n containerType = containerType | CustomAttributeContainerType.StructArrayProperty;\n break;\n case \"navigationproperty\":\n containerType = containerType | CustomAttributeContainerType.NavigationProperty;\n break;\n case \"anyproperty\":\n containerType = containerType | CustomAttributeContainerType.AnyProperty;\n break;\n case \"sourcerelationshipconstraint\":\n containerType = containerType | CustomAttributeContainerType.SourceRelationshipConstraint;\n break;\n case \"targetrelationshipconstraint\":\n containerType = containerType | CustomAttributeContainerType.TargetRelationshipConstraint;\n break;\n case \"anyrelationshipconstraint\":\n containerType = containerType | CustomAttributeContainerType.AnyRelationshipConstraint;\n break;\n case \"any\":\n containerType = containerType | CustomAttributeContainerType.Any;\n break;\n default:\n throw new ECObjectsError(ECObjectsStatus.InvalidContainerType, `${typeToken} is not a valid CustomAttributeContainerType value.`);\n }\n });\n\n return containerType as CustomAttributeContainerType;\n}\n\n/**\n * Creates a string representing a valid CustomAttributeContainerType.\n * @param value The CustomAttributeContainerType to stringify.\n * @return A string representing the provided CustomAttributeContainerType. If the type is not valid, an empty string is returned.\n * @beta\n */\nexport function containerTypeToString(type: CustomAttributeContainerType): string {\n\n const testContainerTypeValue = (compareType: CustomAttributeContainerType, otherType: CustomAttributeContainerType) => {\n return (compareType === (compareType & otherType));\n };\n\n if (testContainerTypeValue(CustomAttributeContainerType.Any, type))\n return ECStringConstants.CONTAINERTYPE_ANY;\n\n let containerType = \"\";\n const setOrAppend = (val: string) => {\n if (containerType.length === 0)\n containerType = val;\n else\n containerType = `${containerType}, ${val}`;\n };\n\n if (testContainerTypeValue(CustomAttributeContainerType.Schema, type))\n setOrAppend(\"Schema\");\n\n if (testContainerTypeValue(CustomAttributeContainerType.AnyClass, type))\n setOrAppend(\"AnyClass\");\n else {\n if (testContainerTypeValue(CustomAttributeContainerType.EntityClass, type))\n setOrAppend(ECStringConstants.CONTAINERTYPE_ENTITYCLASS);\n if (testContainerTypeValue(CustomAttributeContainerType.CustomAttributeClass, type))\n setOrAppend(ECStringConstants.CONTAINERTYPE_CUSTOMATTRIBUTECLASS);\n if (testContainerTypeValue(CustomAttributeContainerType.StructClass, type))\n setOrAppend(ECStringConstants.CONTAINERTYPE_STRUCTCLASS);\n if (testContainerTypeValue(CustomAttributeContainerType.RelationshipClass, type))\n setOrAppend(ECStringConstants.CONTAINERTYPE_RELATIONSHIPCLASS);\n }\n\n if (testContainerTypeValue(CustomAttributeContainerType.AnyProperty, type))\n setOrAppend(ECStringConstants.CONTAINERTYPE_ANYPROPERTY);\n else {\n if (testContainerTypeValue(CustomAttributeContainerType.PrimitiveProperty, type))\n setOrAppend(ECStringConstants.CONTAINERTYPE_PRIMITIVEPROPERTY);\n if (testContainerTypeValue(CustomAttributeContainerType.StructProperty, type))\n setOrAppend(ECStringConstants.CONTAINERTYPE_STRUCTPROPERTY);\n if (testContainerTypeValue(CustomAttributeContainerType.PrimitiveArrayProperty, type))\n setOrAppend(ECStringConstants.CONTAINERTYPE_PRIMITIVEARRAYPROPERTY);\n if (testContainerTypeValue(CustomAttributeContainerType.StructArrayProperty, type))\n setOrAppend(ECStringConstants.CONTAINERTYPE_STRUCTARRAYPROPERTY);\n if (testContainerTypeValue(CustomAttributeContainerType.NavigationProperty, type))\n setOrAppend(ECStringConstants.CONTAINERTYPE_NAVIGATIONPROPERTY);\n }\n\n if (testContainerTypeValue(CustomAttributeContainerType.AnyRelationshipConstraint, type))\n setOrAppend(ECStringConstants.CONTAINERTYPE_ANYRELATIONSHIPCONSTRAINT);\n else {\n if (testContainerTypeValue(CustomAttributeContainerType.SourceRelationshipConstraint, type))\n setOrAppend(ECStringConstants.CONTAINERTYPE_SOURCERELATIONSHIPCONSTRAINT);\n if (testContainerTypeValue(CustomAttributeContainerType.TargetRelationshipConstraint, type))\n setOrAppend(ECStringConstants.CONTAINERTYPE_TARGETRELATIONSHIPCONSTRAINT);\n }\n\n return containerType;\n}\n\n/** @beta */\nexport function parseRelationshipEnd(end: string): RelationshipEnd | undefined {\n switch (end.toLowerCase()) {\n case \"source\": return RelationshipEnd.Source;\n case \"target\": return RelationshipEnd.Target;\n }\n return undefined;\n}\n\n/** @beta */\nexport function relationshipEndToString(end: RelationshipEnd): string {\n switch (end) {\n case RelationshipEnd.Source: return ECStringConstants.RELATIONSHIP_END_SOURCE;\n case RelationshipEnd.Target: return ECStringConstants.RELATIONSHIP_END_TARGET;\n default: throw new ECObjectsError(ECObjectsStatus.InvalidRelationshipEnd, `An invalid RelationshipEnd has been provided.`);\n }\n}\n\n/**\n * Takes a string representing a StrengthType, will parse it and return the corresponding StrengthType.\n * @throws ECObjectsStatus.InvalidStrength if the provided string that is not valid\n * @param strength\n * @beta\n */\nexport function parseStrength(strength: string): StrengthType | undefined {\n switch (strength.toLowerCase()) {\n case \"referencing\": return StrengthType.Referencing;\n case \"holding\": return StrengthType.Holding;\n case \"embedding\": return StrengthType.Embedding;\n }\n return undefined;\n}\n\n/** @beta */\nexport function strengthToString(strength: StrengthType): string {\n switch (strength) {\n case StrengthType.Embedding: return \"Embedding\";\n case StrengthType.Holding: return \"Holding\";\n case StrengthType.Referencing: return \"Referencing\";\n default: throw new ECObjectsError(ECObjectsStatus.InvalidStrength, `An invalid Strength has been provided.`);\n }\n}\n\n/** @beta */\nexport function parseStrengthDirection(direction: string): StrengthDirection | undefined {\n switch (direction.toLowerCase()) {\n case \"forward\": return StrengthDirection.Forward;\n case \"backward\": return StrengthDirection.Backward;\n }\n return undefined;\n}\n\n/** @beta */\nexport function strengthDirectionToString(direction: StrengthDirection): string {\n switch (direction) {\n case StrengthDirection.Forward: return \"Forward\";\n case StrengthDirection.Backward: return \"Backward\";\n default: throw new ECObjectsError(ECObjectsStatus.InvalidStrengthDirection, `An invalid StrengthDirection has been provided.`);\n }\n}\n\n/** Compares a SchemaItemType against supported type.\n * @beta\n */\nexport function isSupportedSchemaItemType(value: SchemaItemType, supported: SupportedSchemaItemType): boolean {\n if(value === supported)\n return true;\n\n if(supported === AbstractSchemaItemType.Class && (\n value === SchemaItemType.EntityClass ||\n value === SchemaItemType.Mixin ||\n value === SchemaItemType.StructClass ||\n value === SchemaItemType.CustomAttributeClass ||\n value === SchemaItemType.RelationshipClass)) {\n return true;;\n }\n\n if(supported === AbstractSchemaItemType.SchemaItem) {\n return true;\n }\n\n return false;\n}\n"]}
|
package/lib/cjs/Interfaces.d.ts
CHANGED
|
@@ -76,4 +76,11 @@ export interface SchemaInfo {
|
|
|
76
76
|
export interface WithSchemaKey {
|
|
77
77
|
schemaKey: Readonly<SchemaKey>;
|
|
78
78
|
}
|
|
79
|
+
/** This is needed to break a circular dependency between Class and EntityClass.
|
|
80
|
+
* @beta
|
|
81
|
+
*/
|
|
82
|
+
export interface HasMixins {
|
|
83
|
+
mixins: LazyLoadedMixin[];
|
|
84
|
+
getMixinsSync(): Iterable<Mixin>;
|
|
85
|
+
}
|
|
79
86
|
//# sourceMappingURL=Interfaces.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Interfaces.d.ts","sourceRoot":"","sources":["../../src/Interfaces.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Interfaces.d.ts","sourceRoot":"","sources":["../../src/Interfaces.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Interfaces.js","sourceRoot":"","sources":["../../src/Interfaces.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Metadata\n */\n\nimport { DelayedPromise } from \"./DelayedPromise\";\nimport { ECClass, StructClass } from \"./Metadata/Class\";\nimport { Constant } from \"./Metadata/Constant\";\nimport { CustomAttribute, CustomAttributeContainerProps } from \"./Metadata/CustomAttribute\";\nimport { CustomAttributeClass } from \"./Metadata/CustomAttributeClass\";\nimport { EntityClass } from \"./Metadata/EntityClass\";\nimport { AnyEnumerator, Enumeration } from \"./Metadata/Enumeration\";\nimport { Format } from \"./Metadata/Format\";\nimport { InvertedUnit } from \"./Metadata/InvertedUnit\";\nimport { KindOfQuantity } from \"./Metadata/KindOfQuantity\";\nimport { Mixin } from \"./Metadata/Mixin\";\nimport { OverrideFormat } from \"./Metadata/OverrideFormat\";\nimport { Phenomenon } from \"./Metadata/Phenomenon\";\nimport { AnyProperty } from \"./Metadata/Property\";\nimport { PropertyCategory } from \"./Metadata/PropertyCategory\";\nimport { RelationshipClass, RelationshipConstraint } from \"./Metadata/RelationshipClass\";\nimport { Schema } from \"./Metadata/Schema\";\nimport { SchemaItem } from \"./Metadata/SchemaItem\";\nimport { Unit } from \"./Metadata/Unit\";\nimport { UnitSystem } from \"./Metadata/UnitSystem\";\nimport { SchemaItemKey, SchemaKey } from \"./SchemaKey\";\n\n/** @beta */\nexport type LazyLoadedSchema = Readonly<SchemaKey> & DelayedPromise<Schema> & Promise<Schema>;\n\n/** @beta */\nexport type LazyLoadedSchemaItem<T extends SchemaItem> = Readonly<SchemaItemKey> & DelayedPromise<T> & Promise<T>;\n/** @beta */\nexport type LazyLoadedECClass = LazyLoadedSchemaItem<ECClass>;\n/** @beta */\nexport type LazyLoadedEntityClass = LazyLoadedSchemaItem<EntityClass>;\n/** @beta */\nexport type LazyLoadedMixin = LazyLoadedSchemaItem<Mixin>;\n/** @beta */\nexport type LazyLoadedStructClass = LazyLoadedSchemaItem<StructClass>;\n/** @beta */\nexport type LazyLoadedCustomAttributeClass = LazyLoadedSchemaItem<CustomAttributeClass>;\n/** @beta */\nexport type LazyLoadedRelationshipClass = LazyLoadedSchemaItem<RelationshipClass>;\n/** @beta */\nexport type LazyLoadedEnumeration = LazyLoadedSchemaItem<Enumeration>;\n/** @beta */\nexport type LazyLoadedKindOfQuantity = LazyLoadedSchemaItem<KindOfQuantity>;\n/** @beta */\nexport type LazyLoadedPropertyCategory = LazyLoadedSchemaItem<PropertyCategory>;\n/** @beta */\nexport type LazyLoadedRelationshipConstraintClass = LazyLoadedSchemaItem<EntityClass | Mixin | RelationshipClass>;\n/** @beta */\nexport type LazyLoadedUnit = LazyLoadedSchemaItem<Unit>;\n/** @beta */\nexport type LazyLoadedInvertedUnit = LazyLoadedSchemaItem<InvertedUnit>;\n/** @beta */\nexport type LazyLoadedConstant = LazyLoadedSchemaItem<Constant>;\n/** @beta */\nexport type LazyLoadedPhenomenon = LazyLoadedSchemaItem<Phenomenon>;\n/** @beta */\nexport type LazyLoadedUnitSystem = LazyLoadedSchemaItem<UnitSystem>;\n/** @beta */\nexport type LazyLoadedFormat = LazyLoadedSchemaItem<Format>;\n\n/** @beta */\nexport type AnyClass = EntityClass | Mixin | StructClass | CustomAttributeClass | RelationshipClass;\n/** @beta */\nexport type AnySchemaItem = AnyClass | Enumeration | KindOfQuantity | PropertyCategory | Unit | InvertedUnit | Constant | Phenomenon | UnitSystem | Format;\n/** @beta */\nexport type AnyECType = Schema | SchemaItem | AnyProperty | RelationshipConstraint | CustomAttributeContainerProps | CustomAttribute | OverrideFormat | AnyEnumerator;\n\n/**\n * Holds the SchemaKeys for a schema and it's references. Designed so that Schema fulfills this interface.\n * @beta\n */\nexport interface SchemaInfo {\n schemaKey: Readonly<SchemaKey>;\n references: WithSchemaKey[];\n}\n\n/** @beta */\nexport interface WithSchemaKey {\n schemaKey: Readonly<SchemaKey>;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"Interfaces.js","sourceRoot":"","sources":["../../src/Interfaces.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Metadata\n */\n\nimport { DelayedPromise } from \"./DelayedPromise\";\nimport { ECClass, StructClass } from \"./Metadata/Class\";\nimport { Constant } from \"./Metadata/Constant\";\nimport { CustomAttribute, CustomAttributeContainerProps } from \"./Metadata/CustomAttribute\";\nimport { CustomAttributeClass } from \"./Metadata/CustomAttributeClass\";\nimport { EntityClass } from \"./Metadata/EntityClass\";\nimport { AnyEnumerator, Enumeration } from \"./Metadata/Enumeration\";\nimport { Format } from \"./Metadata/Format\";\nimport { InvertedUnit } from \"./Metadata/InvertedUnit\";\nimport { KindOfQuantity } from \"./Metadata/KindOfQuantity\";\nimport { Mixin } from \"./Metadata/Mixin\";\nimport { OverrideFormat } from \"./Metadata/OverrideFormat\";\nimport { Phenomenon } from \"./Metadata/Phenomenon\";\nimport { AnyProperty } from \"./Metadata/Property\";\nimport { PropertyCategory } from \"./Metadata/PropertyCategory\";\nimport { RelationshipClass, RelationshipConstraint } from \"./Metadata/RelationshipClass\";\nimport { Schema } from \"./Metadata/Schema\";\nimport { SchemaItem } from \"./Metadata/SchemaItem\";\nimport { Unit } from \"./Metadata/Unit\";\nimport { UnitSystem } from \"./Metadata/UnitSystem\";\nimport { SchemaItemKey, SchemaKey } from \"./SchemaKey\";\n\n/** @beta */\nexport type LazyLoadedSchema = Readonly<SchemaKey> & DelayedPromise<Schema> & Promise<Schema>;\n\n/** @beta */\nexport type LazyLoadedSchemaItem<T extends SchemaItem> = Readonly<SchemaItemKey> & DelayedPromise<T> & Promise<T>;\n/** @beta */\nexport type LazyLoadedECClass = LazyLoadedSchemaItem<ECClass>;\n/** @beta */\nexport type LazyLoadedEntityClass = LazyLoadedSchemaItem<EntityClass>;\n/** @beta */\nexport type LazyLoadedMixin = LazyLoadedSchemaItem<Mixin>;\n/** @beta */\nexport type LazyLoadedStructClass = LazyLoadedSchemaItem<StructClass>;\n/** @beta */\nexport type LazyLoadedCustomAttributeClass = LazyLoadedSchemaItem<CustomAttributeClass>;\n/** @beta */\nexport type LazyLoadedRelationshipClass = LazyLoadedSchemaItem<RelationshipClass>;\n/** @beta */\nexport type LazyLoadedEnumeration = LazyLoadedSchemaItem<Enumeration>;\n/** @beta */\nexport type LazyLoadedKindOfQuantity = LazyLoadedSchemaItem<KindOfQuantity>;\n/** @beta */\nexport type LazyLoadedPropertyCategory = LazyLoadedSchemaItem<PropertyCategory>;\n/** @beta */\nexport type LazyLoadedRelationshipConstraintClass = LazyLoadedSchemaItem<EntityClass | Mixin | RelationshipClass>;\n/** @beta */\nexport type LazyLoadedUnit = LazyLoadedSchemaItem<Unit>;\n/** @beta */\nexport type LazyLoadedInvertedUnit = LazyLoadedSchemaItem<InvertedUnit>;\n/** @beta */\nexport type LazyLoadedConstant = LazyLoadedSchemaItem<Constant>;\n/** @beta */\nexport type LazyLoadedPhenomenon = LazyLoadedSchemaItem<Phenomenon>;\n/** @beta */\nexport type LazyLoadedUnitSystem = LazyLoadedSchemaItem<UnitSystem>;\n/** @beta */\nexport type LazyLoadedFormat = LazyLoadedSchemaItem<Format>;\n\n/** @beta */\nexport type AnyClass = EntityClass | Mixin | StructClass | CustomAttributeClass | RelationshipClass;\n/** @beta */\nexport type AnySchemaItem = AnyClass | Enumeration | KindOfQuantity | PropertyCategory | Unit | InvertedUnit | Constant | Phenomenon | UnitSystem | Format;\n/** @beta */\nexport type AnyECType = Schema | SchemaItem | AnyProperty | RelationshipConstraint | CustomAttributeContainerProps | CustomAttribute | OverrideFormat | AnyEnumerator;\n\n/**\n * Holds the SchemaKeys for a schema and it's references. Designed so that Schema fulfills this interface.\n * @beta\n */\nexport interface SchemaInfo {\n schemaKey: Readonly<SchemaKey>;\n references: WithSchemaKey[];\n}\n\n/** @beta */\nexport interface WithSchemaKey {\n schemaKey: Readonly<SchemaKey>;\n}\n\n/** This is needed to break a circular dependency between Class and EntityClass.\n * @beta\n */\nexport interface HasMixins {\n mixins: LazyLoadedMixin[];\n getMixinsSync(): Iterable<Mixin>;\n}\n"]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @module Metadata
|
|
3
3
|
*/
|
|
4
4
|
import { ClassProps } from "../Deserialization/JsonProps";
|
|
5
|
-
import { ECClassModifier, PrimitiveType, SchemaItemType } from "../ECObjects";
|
|
5
|
+
import { ECClassModifier, PrimitiveType, SchemaItemType, SupportedSchemaItemType } from "../ECObjects";
|
|
6
6
|
import { AnyClass, LazyLoadedECClass } from "../Interfaces";
|
|
7
7
|
import { CustomAttribute, CustomAttributeContainerProps, CustomAttributeSet } from "./CustomAttribute";
|
|
8
8
|
import { Enumeration } from "./Enumeration";
|
|
@@ -14,6 +14,7 @@ import { SchemaItem } from "./SchemaItem";
|
|
|
14
14
|
* @beta
|
|
15
15
|
*/
|
|
16
16
|
export declare abstract class ECClass extends SchemaItem implements CustomAttributeContainerProps {
|
|
17
|
+
static get schemaItemType(): SupportedSchemaItemType;
|
|
17
18
|
protected _modifier: ECClassModifier;
|
|
18
19
|
protected _baseClass?: LazyLoadedECClass;
|
|
19
20
|
protected _derivedClasses?: Map<string, LazyLoadedECClass>;
|
|
@@ -231,7 +232,28 @@ export declare abstract class ECClass extends SchemaItem implements CustomAttrib
|
|
|
231
232
|
* @beta
|
|
232
233
|
*/
|
|
233
234
|
export declare class StructClass extends ECClass {
|
|
234
|
-
|
|
235
|
+
/**
|
|
236
|
+
* Get the type of item represented by this instance
|
|
237
|
+
* @beta
|
|
238
|
+
*/
|
|
239
|
+
readonly schemaItemType: SchemaItemType;
|
|
240
|
+
/**
|
|
241
|
+
* Get the type of item represented by this class
|
|
242
|
+
* @beta
|
|
243
|
+
*/
|
|
244
|
+
static get schemaItemType(): SchemaItemType;
|
|
245
|
+
/**
|
|
246
|
+
* Type guard to check if the SchemaItem is of type StructClass.
|
|
247
|
+
* @param item The SchemaItem to check.
|
|
248
|
+
* @returns True if the item is a StructClass, false otherwise.
|
|
249
|
+
*/
|
|
250
|
+
static isStructClass(item?: SchemaItem): item is StructClass;
|
|
251
|
+
/**
|
|
252
|
+
* Type assertion to check if the SchemaItem is of type StructClass.
|
|
253
|
+
* @param item The SchemaItem to check.
|
|
254
|
+
* @returns The item cast to StructClass if it is a StructClass, undefined otherwise.
|
|
255
|
+
*/
|
|
256
|
+
static assertIsStructClass(item?: SchemaItem): asserts item is StructClass;
|
|
235
257
|
}
|
|
236
258
|
/**
|
|
237
259
|
* @internal
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Class.d.ts","sourceRoot":"","sources":["../../../src/Metadata/Class.ts"],"names":[],"mappings":"AAIA;;GAEG;AAIH,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE1D,OAAO,
|
|
1
|
+
{"version":3,"file":"Class.d.ts","sourceRoot":"","sources":["../../../src/Metadata/Class.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,7 @@ const ECObjects_1 = require("../ECObjects");
|
|
|
15
15
|
const Exception_1 = require("../Exception");
|
|
16
16
|
const SchemaKey_1 = require("../SchemaKey");
|
|
17
17
|
const CustomAttribute_1 = require("./CustomAttribute");
|
|
18
|
+
const Enumeration_1 = require("./Enumeration");
|
|
18
19
|
const Property_1 = require("./Property");
|
|
19
20
|
const SchemaItem_1 = require("./SchemaItem");
|
|
20
21
|
const Helper_1 = require("../Deserialization/Helper");
|
|
@@ -23,6 +24,7 @@ const Helper_1 = require("../Deserialization/Helper");
|
|
|
23
24
|
* @beta
|
|
24
25
|
*/
|
|
25
26
|
class ECClass extends SchemaItem_1.SchemaItem {
|
|
27
|
+
static get schemaItemType() { return ECObjects_1.AbstractSchemaItemType.Class; } // need this so getItem("name", ECClass) in schema works
|
|
26
28
|
_modifier;
|
|
27
29
|
_baseClass;
|
|
28
30
|
_derivedClasses;
|
|
@@ -104,7 +106,7 @@ class ECClass extends SchemaItem_1.SchemaItem {
|
|
|
104
106
|
if (!this.baseClass) {
|
|
105
107
|
return undefined;
|
|
106
108
|
}
|
|
107
|
-
return this.schema.lookupItemSync(this.baseClass);
|
|
109
|
+
return this.schema.lookupItemSync(this.baseClass, ECClass);
|
|
108
110
|
}
|
|
109
111
|
/**
|
|
110
112
|
* Searches, case-insensitive, for a local ECProperty with the name provided.
|
|
@@ -234,7 +236,7 @@ class ECClass extends SchemaItem_1.SchemaItem {
|
|
|
234
236
|
async loadStructType(structType, schema) {
|
|
235
237
|
let correctType;
|
|
236
238
|
if (typeof (structType) === "string") {
|
|
237
|
-
correctType = await schema.lookupItem(structType);
|
|
239
|
+
correctType = await schema.lookupItem(structType, StructClass);
|
|
238
240
|
}
|
|
239
241
|
else
|
|
240
242
|
correctType = structType;
|
|
@@ -245,7 +247,7 @@ class ECClass extends SchemaItem_1.SchemaItem {
|
|
|
245
247
|
loadStructTypeSync(structType, schema) {
|
|
246
248
|
let correctType;
|
|
247
249
|
if (typeof (structType) === "string") {
|
|
248
|
-
correctType = schema.lookupItemSync(structType);
|
|
250
|
+
correctType = schema.lookupItemSync(structType, StructClass);
|
|
249
251
|
}
|
|
250
252
|
else
|
|
251
253
|
correctType = structType;
|
|
@@ -259,7 +261,7 @@ class ECClass extends SchemaItem_1.SchemaItem {
|
|
|
259
261
|
if (typeof (primitiveType) === "string") {
|
|
260
262
|
let resolvedType = (0, ECObjects_1.parsePrimitiveType)(primitiveType);
|
|
261
263
|
if (!resolvedType) {
|
|
262
|
-
resolvedType = await schema.lookupItem(primitiveType);
|
|
264
|
+
resolvedType = await schema.lookupItem(primitiveType, Enumeration_1.Enumeration);
|
|
263
265
|
}
|
|
264
266
|
if (resolvedType === undefined)
|
|
265
267
|
throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.InvalidType, `The provided primitive type, ${primitiveType}, is not a valid PrimitiveType or Enumeration.`);
|
|
@@ -276,7 +278,7 @@ class ECClass extends SchemaItem_1.SchemaItem {
|
|
|
276
278
|
if (typeof (primitiveType) === "string") {
|
|
277
279
|
let resolvedType = (0, ECObjects_1.parsePrimitiveType)(primitiveType);
|
|
278
280
|
if (!resolvedType) {
|
|
279
|
-
resolvedType = schema.lookupItemSync(primitiveType);
|
|
281
|
+
resolvedType = schema.lookupItemSync(primitiveType, Enumeration_1.Enumeration);
|
|
280
282
|
}
|
|
281
283
|
if (resolvedType === undefined)
|
|
282
284
|
throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.InvalidType, `The provided primitive type, ${primitiveType}, is not a valid PrimitiveType or Enumeration.`);
|
|
@@ -355,7 +357,7 @@ class ECClass extends SchemaItem_1.SchemaItem {
|
|
|
355
357
|
if (!baseClass) {
|
|
356
358
|
lazyBase = new DelayedPromise_1.DelayedPromiseWithProps(ecClassSchemaItemKey, async () => {
|
|
357
359
|
const baseItem = await this.schema.lookupItem(ecClassSchemaItemKey);
|
|
358
|
-
if (undefined === baseItem)
|
|
360
|
+
if (undefined === baseItem || !ECClass.isECClass(baseItem))
|
|
359
361
|
throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.InvalidECJson, `Unable to locate the baseClass ${classProps.baseClass}.`);
|
|
360
362
|
return baseItem;
|
|
361
363
|
});
|
|
@@ -387,8 +389,8 @@ class ECClass extends SchemaItem_1.SchemaItem {
|
|
|
387
389
|
const baseClasses = [this];
|
|
388
390
|
const addBaseClasses = async (ecClass) => {
|
|
389
391
|
if (ECObjects_1.SchemaItemType.EntityClass === ecClass.schemaItemType) {
|
|
390
|
-
for (let i =
|
|
391
|
-
baseClasses.push(await
|
|
392
|
+
for (let i = ecClass.mixins.length - 1; i >= 0; i--) {
|
|
393
|
+
baseClasses.push(await ecClass.mixins[i]);
|
|
392
394
|
}
|
|
393
395
|
}
|
|
394
396
|
if (ecClass.baseClass)
|
|
@@ -404,7 +406,7 @@ class ECClass extends SchemaItem_1.SchemaItem {
|
|
|
404
406
|
*getAllBaseClassesSync() {
|
|
405
407
|
const baseClasses = [this];
|
|
406
408
|
const addBaseClasses = (ecClass) => {
|
|
407
|
-
if (ECObjects_1.SchemaItemType.EntityClass
|
|
409
|
+
if (ecClass.schemaItemType === ECObjects_1.SchemaItemType.EntityClass) { // cannot use EntityClass typeguard because of circular reference
|
|
408
410
|
for (const m of Array.from(ecClass.getMixinsSync()).reverse()) {
|
|
409
411
|
baseClasses.push(m);
|
|
410
412
|
}
|
|
@@ -615,7 +617,35 @@ exports.ECClass = ECClass;
|
|
|
615
617
|
* @beta
|
|
616
618
|
*/
|
|
617
619
|
class StructClass extends ECClass {
|
|
618
|
-
|
|
620
|
+
/**
|
|
621
|
+
* Get the type of item represented by this instance
|
|
622
|
+
* @beta
|
|
623
|
+
*/
|
|
624
|
+
schemaItemType = StructClass.schemaItemType;
|
|
625
|
+
/**
|
|
626
|
+
* Get the type of item represented by this class
|
|
627
|
+
* @beta
|
|
628
|
+
*/
|
|
629
|
+
static get schemaItemType() { return ECObjects_1.SchemaItemType.StructClass; }
|
|
630
|
+
/**
|
|
631
|
+
* Type guard to check if the SchemaItem is of type StructClass.
|
|
632
|
+
* @param item The SchemaItem to check.
|
|
633
|
+
* @returns True if the item is a StructClass, false otherwise.
|
|
634
|
+
*/
|
|
635
|
+
static isStructClass(item) {
|
|
636
|
+
if (item && item.schemaItemType === ECObjects_1.SchemaItemType.StructClass)
|
|
637
|
+
return true;
|
|
638
|
+
return false;
|
|
639
|
+
}
|
|
640
|
+
/**
|
|
641
|
+
* Type assertion to check if the SchemaItem is of type StructClass.
|
|
642
|
+
* @param item The SchemaItem to check.
|
|
643
|
+
* @returns The item cast to StructClass if it is a StructClass, undefined otherwise.
|
|
644
|
+
*/
|
|
645
|
+
static assertIsStructClass(item) {
|
|
646
|
+
if (!this.isStructClass(item))
|
|
647
|
+
throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.InvalidSchemaItemType, `Expected '${ECObjects_1.SchemaItemType.StructClass}' (StructClass)`);
|
|
648
|
+
}
|
|
619
649
|
}
|
|
620
650
|
exports.StructClass = StructClass;
|
|
621
651
|
/**
|