@itwin/ecschema-metadata 5.1.0-dev.4 → 5.1.0-dev.40
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/CHANGELOG.md +33 -1
- package/lib/cjs/Context.d.ts +1 -1
- package/lib/cjs/Context.js +1 -1
- package/lib/cjs/Context.js.map +1 -1
- package/lib/cjs/Deserialization/SchemaGraphUtil.d.ts +12 -3
- package/lib/cjs/Deserialization/SchemaGraphUtil.d.ts.map +1 -1
- package/lib/cjs/Deserialization/SchemaGraphUtil.js +36 -23
- package/lib/cjs/Deserialization/SchemaGraphUtil.js.map +1 -1
- package/lib/cjs/Deserialization/XmlSerializationUtils.js +1 -1
- package/lib/cjs/Deserialization/XmlSerializationUtils.js.map +1 -1
- package/lib/cjs/ECObjects.d.ts +1 -1
- package/lib/cjs/ECObjects.js +2 -2
- package/lib/cjs/ECObjects.js.map +1 -1
- package/lib/cjs/Metadata/Class.d.ts +4 -16
- package/lib/cjs/Metadata/Class.d.ts.map +1 -1
- package/lib/cjs/Metadata/Class.js +51 -60
- package/lib/cjs/Metadata/Class.js.map +1 -1
- package/lib/cjs/Metadata/CustomAttribute.d.ts +7 -1
- package/lib/cjs/Metadata/CustomAttribute.d.ts.map +1 -1
- package/lib/cjs/Metadata/CustomAttribute.js.map +1 -1
- package/lib/cjs/Metadata/CustomAttributeClass.d.ts +1 -1
- package/lib/cjs/Metadata/CustomAttributeClass.js +1 -1
- package/lib/cjs/Metadata/CustomAttributeClass.js.map +1 -1
- package/lib/cjs/Metadata/EntityClass.d.ts +6 -6
- package/lib/cjs/Metadata/EntityClass.d.ts.map +1 -1
- package/lib/cjs/Metadata/EntityClass.js +40 -20
- package/lib/cjs/Metadata/EntityClass.js.map +1 -1
- package/lib/cjs/Metadata/Format.js.map +1 -1
- package/lib/cjs/Metadata/KindOfQuantity.js.map +1 -1
- package/lib/cjs/SchemaFormatsProvider.d.ts.map +1 -1
- package/lib/cjs/SchemaFormatsProvider.js +40 -14
- package/lib/cjs/SchemaFormatsProvider.js.map +1 -1
- package/lib/cjs/SchemaLoader.d.ts +4 -1
- package/lib/cjs/SchemaLoader.d.ts.map +1 -1
- package/lib/cjs/SchemaLoader.js +4 -1
- package/lib/cjs/SchemaLoader.js.map +1 -1
- package/lib/esm/Context.d.ts +1 -1
- package/lib/esm/Context.js +1 -1
- package/lib/esm/Context.js.map +1 -1
- package/lib/esm/Deserialization/SchemaGraphUtil.d.ts +12 -3
- package/lib/esm/Deserialization/SchemaGraphUtil.d.ts.map +1 -1
- package/lib/esm/Deserialization/SchemaGraphUtil.js +36 -23
- package/lib/esm/Deserialization/SchemaGraphUtil.js.map +1 -1
- package/lib/esm/Deserialization/XmlSerializationUtils.js +1 -1
- package/lib/esm/Deserialization/XmlSerializationUtils.js.map +1 -1
- package/lib/esm/ECObjects.d.ts +1 -1
- package/lib/esm/ECObjects.js +2 -2
- package/lib/esm/ECObjects.js.map +1 -1
- package/lib/esm/Metadata/Class.d.ts +4 -16
- package/lib/esm/Metadata/Class.d.ts.map +1 -1
- package/lib/esm/Metadata/Class.js +51 -60
- package/lib/esm/Metadata/Class.js.map +1 -1
- package/lib/esm/Metadata/CustomAttribute.d.ts +7 -1
- package/lib/esm/Metadata/CustomAttribute.d.ts.map +1 -1
- package/lib/esm/Metadata/CustomAttribute.js.map +1 -1
- package/lib/esm/Metadata/CustomAttributeClass.d.ts +1 -1
- package/lib/esm/Metadata/CustomAttributeClass.js +1 -1
- package/lib/esm/Metadata/CustomAttributeClass.js.map +1 -1
- package/lib/esm/Metadata/EntityClass.d.ts +6 -6
- package/lib/esm/Metadata/EntityClass.d.ts.map +1 -1
- package/lib/esm/Metadata/EntityClass.js +40 -20
- package/lib/esm/Metadata/EntityClass.js.map +1 -1
- package/lib/esm/Metadata/Format.js.map +1 -1
- package/lib/esm/Metadata/KindOfQuantity.js.map +1 -1
- package/lib/esm/SchemaFormatsProvider.d.ts.map +1 -1
- package/lib/esm/SchemaFormatsProvider.js +41 -15
- package/lib/esm/SchemaFormatsProvider.js.map +1 -1
- package/lib/esm/SchemaLoader.d.ts +4 -1
- package/lib/esm/SchemaLoader.d.ts.map +1 -1
- package/lib/esm/SchemaLoader.js +4 -1
- package/lib/esm/SchemaLoader.js.map +1 -1
- package/package.json +12 -8
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 { ECSchemaError, ECSchemaStatus } 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/**\n * Identifies a class as abstract or sealed\n *\n * @public @preview\n */\nexport enum ECClassModifier {\n /* normal, instantiable class, can be subclassed */\n None,\n /* abstract class, cannot be instantiated, can be subclassed */\n Abstract,\n /* sealed class, instantiable class, cannot be subclassed */\n Sealed,\n}\n\n/**\n * An enumeration that has all the schema item type names as values\n *\n * @enum {string}\n * @public @preview\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 * @public @preview\n */\nexport enum AbstractSchemaItemType {\n /* Item is EntityClass, Mixin, StructClass, CustomAttributeClass, or RelationshipClass */\n Class = \"Class\",\n /* Any item type including the Class types */\n SchemaItem = \"SchemaItem\",\n}\n\n/**\n * Defines types of items that may be provided to identify supported items\n * @public @preview\n */\nexport type SupportedSchemaItemType = SchemaItemType | AbstractSchemaItemType;\n\n/**\n * Primitive data types for ECProperties.\n * @public @preview\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 * @public @preview\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 * @public @preview\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 * @public @preview\n */\nexport enum RelationshipEnd {\n Source = 0,\n Target = 1,\n}\n\n/**\n * Defines the how the lifetime of the source and target are related.\n *\n * @public @preview */\nexport enum StrengthType {\n Referencing,\n Holding,\n Embedding,\n}\n\n/**\n * Defines the which side of the relationship is the starting point of the relationship. This impacts how relationship strength is applied.\n *\n * @public @preview */\nexport enum StrengthDirection {\n /** The source is the starting point of the relationship. */\n Forward = 1,\n /** The target is the starting point of the relationship. */\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:\n throw new ECSchemaError(ECSchemaStatus.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:\n throw new ECSchemaError(ECSchemaStatus.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:\n throw new ECSchemaError(ECSchemaStatus.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) 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 ECSchemaError(ECSchemaStatus.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 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) containerType = val;\n else 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:\n throw new ECSchemaError(ECSchemaStatus.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 ECSchemaStatus.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:\n throw new ECSchemaError(ECSchemaStatus.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:\n throw new ECSchemaError(ECSchemaStatus.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) 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"]}
|
|
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 { ECSchemaError, ECSchemaStatus } 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/**\n * Identifies a class as abstract or sealed\n *\n * @public @preview\n */\nexport enum ECClassModifier {\n /* normal, instantiable class, can be subclassed */\n None,\n /* abstract class, cannot be instantiated, can be subclassed */\n Abstract,\n /* sealed class, instantiable class, cannot be subclassed */\n Sealed,\n}\n\n/**\n * An enumeration that has all the schema item type names as values\n *\n * @enum {string}\n * @public @preview\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 * @public @preview\n */\nexport enum AbstractSchemaItemType {\n /* Item is EntityClass, Mixin, StructClass, CustomAttributeClass, or RelationshipClass */\n Class = \"Class\",\n /* Any item type including the Class types */\n SchemaItem = \"SchemaItem\",\n}\n\n/**\n * Defines types of items that may be provided to identify supported items\n * @public @preview\n */\nexport type SupportedSchemaItemType = SchemaItemType | AbstractSchemaItemType;\n\n/**\n * Primitive data types for ECProperties.\n * @public @preview\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 * @public @preview\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 * @public @preview\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 - might be removed in next major version. 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 * @public @preview\n */\nexport enum RelationshipEnd {\n Source = 0,\n Target = 1,\n}\n\n/**\n * Defines the how the lifetime of the source and target are related.\n *\n * @public @preview */\nexport enum StrengthType {\n Referencing,\n Holding,\n Embedding,\n}\n\n/**\n * Defines the which side of the relationship is the starting point of the relationship. This impacts how relationship strength is applied.\n *\n * @public @preview */\nexport enum StrengthDirection {\n /** The source is the starting point of the relationship. */\n Forward = 1,\n /** The target is the starting point of the relationship. */\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:\n throw new ECSchemaError(ECSchemaStatus.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 - might be removed in next major version. 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:\n throw new ECSchemaError(ECSchemaStatus.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:\n throw new ECSchemaError(ECSchemaStatus.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) 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 ECSchemaError(ECSchemaStatus.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 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) containerType = val;\n else 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:\n throw new ECSchemaError(ECSchemaStatus.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 ECSchemaStatus.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:\n throw new ECSchemaError(ECSchemaStatus.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:\n throw new ECSchemaError(ECSchemaStatus.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) 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"]}
|
|
@@ -216,32 +216,20 @@ export declare abstract class ECClass extends SchemaItem implements CustomAttrib
|
|
|
216
216
|
getAllBaseClassesSync(): Iterable<AnyClass>;
|
|
217
217
|
/**
|
|
218
218
|
*
|
|
219
|
-
* @param
|
|
220
|
-
* @param existingValues
|
|
221
|
-
* @param propertiesToMerge
|
|
222
|
-
* @param overwriteExisting
|
|
223
|
-
*
|
|
224
|
-
* @internal
|
|
225
|
-
*/
|
|
226
|
-
protected static mergeProperties(target: Property[], existingValues: Map<string, number>, propertiesToMerge: Iterable<Property>, overwriteExisting: boolean): void;
|
|
227
|
-
/**
|
|
228
|
-
*
|
|
229
|
-
* @param result
|
|
230
|
-
* @param existingValues
|
|
219
|
+
* @param cache
|
|
231
220
|
* @returns
|
|
232
221
|
*
|
|
233
222
|
* @internal
|
|
234
223
|
*/
|
|
235
|
-
protected buildPropertyCache(
|
|
224
|
+
protected buildPropertyCache(): Promise<Map<string, Property>>;
|
|
236
225
|
/**
|
|
237
226
|
*
|
|
238
|
-
* @param
|
|
239
|
-
* @param existingValues
|
|
227
|
+
* @param cache
|
|
240
228
|
* @returns
|
|
241
229
|
*
|
|
242
230
|
* @internal
|
|
243
231
|
*/
|
|
244
|
-
protected buildPropertyCacheSync(
|
|
232
|
+
protected buildPropertyCacheSync(): Map<string, Property>;
|
|
245
233
|
/**
|
|
246
234
|
* Clears all caches on this object. This is called implicitly for this class,
|
|
247
235
|
* but needs to be called if derived classes have changed.
|
|
@@ -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,EAAiD,eAAe,EAA0C,aAAa,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAE9L,OAAO,EAAE,QAAQ,EAAa,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEvE,OAAO,EAAE,eAAe,EAAE,6BAA6B,EAAE,kBAAkB,EAA6B,MAAM,mBAAmB,CAAC;AAClI,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EACL,wBAAwB,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,mBAAmB,EAAE,cAAc,EACxI,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C;;;GAGG;AACH,8BAAsB,OAAQ,SAAQ,UAAW,YAAW,6BAA6B;IACvF,gBAAgB;IAChB,WAA2B,cAAc,IAAI,uBAAuB,CAAyC;IAC7G,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,UAAU,CAAC,CAAoB;IACvC,OAAO,CAAC,eAAe,CAAC,CAAiC;IACzD,OAAO,CAAC,WAAW,CAAC,CAAwB;IAC5C,OAAO,CAAC,iBAAiB,CAAC,CAA+B;IACzD,OAAO,CAAC,oBAAoB,CAAC,
|
|
1
|
+
{"version":3,"file":"Class.d.ts","sourceRoot":"","sources":["../../../src/Metadata/Class.ts"],"names":[],"mappings":"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"}
|
|
@@ -124,34 +124,44 @@ class ECClass extends SchemaItem_1.SchemaItem {
|
|
|
124
124
|
* @param name The name of the property to retrieve.
|
|
125
125
|
* @param excludeInherited If true, excludes inherited properties from the results. Defaults to false.
|
|
126
126
|
*/
|
|
127
|
-
async getProperty(name, excludeInherited
|
|
127
|
+
async getProperty(name, excludeInherited) {
|
|
128
|
+
const upperKey = name.toUpperCase();
|
|
129
|
+
let property;
|
|
128
130
|
if (this._properties) {
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
if (property)
|
|
131
|
+
property = this._properties.get(upperKey);
|
|
132
|
+
if (property) {
|
|
132
133
|
return property;
|
|
134
|
+
}
|
|
133
135
|
}
|
|
134
136
|
if (excludeInherited) {
|
|
135
137
|
return undefined;
|
|
136
138
|
}
|
|
137
|
-
|
|
139
|
+
if (!this._mergedPropertyCache) {
|
|
140
|
+
this._mergedPropertyCache = await this.buildPropertyCache();
|
|
141
|
+
}
|
|
142
|
+
return this._mergedPropertyCache.get(upperKey);
|
|
138
143
|
}
|
|
139
144
|
/**
|
|
140
145
|
* Searches, case-insensitive, for a local ECProperty with the name provided.
|
|
141
146
|
* @param name The name of the property to retrieve.
|
|
142
147
|
* @param excludeInherited If true, excludes inherited properties from the results. Defaults to false.
|
|
143
148
|
*/
|
|
144
|
-
getPropertySync(name, excludeInherited
|
|
149
|
+
getPropertySync(name, excludeInherited) {
|
|
150
|
+
const upperKey = name.toUpperCase();
|
|
151
|
+
let property;
|
|
145
152
|
if (this._properties) {
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
if (property)
|
|
153
|
+
property = this._properties.get(upperKey);
|
|
154
|
+
if (property) {
|
|
149
155
|
return property;
|
|
156
|
+
}
|
|
150
157
|
}
|
|
151
158
|
if (excludeInherited) {
|
|
152
159
|
return undefined;
|
|
153
160
|
}
|
|
154
|
-
|
|
161
|
+
if (!this._mergedPropertyCache) {
|
|
162
|
+
this._mergedPropertyCache = this.buildPropertyCacheSync();
|
|
163
|
+
}
|
|
164
|
+
return this._mergedPropertyCache.get(upperKey);
|
|
155
165
|
}
|
|
156
166
|
/**
|
|
157
167
|
* Searches the base class, if one exists, for the property with the name provided.
|
|
@@ -371,7 +381,7 @@ class ECClass extends SchemaItem_1.SchemaItem {
|
|
|
371
381
|
baseClassElement.textContent = baseClassName;
|
|
372
382
|
itemElement.appendChild(baseClassElement);
|
|
373
383
|
}
|
|
374
|
-
if (
|
|
384
|
+
if (this._properties) {
|
|
375
385
|
for (const prop of this._properties.values()) {
|
|
376
386
|
const propXml = await prop.toXml(schemaXml);
|
|
377
387
|
itemElement.appendChild(propXml);
|
|
@@ -483,69 +493,51 @@ class ECClass extends SchemaItem_1.SchemaItem {
|
|
|
483
493
|
}
|
|
484
494
|
/**
|
|
485
495
|
*
|
|
486
|
-
* @param
|
|
487
|
-
* @
|
|
488
|
-
* @param propertiesToMerge
|
|
489
|
-
* @param overwriteExisting
|
|
496
|
+
* @param cache
|
|
497
|
+
* @returns
|
|
490
498
|
*
|
|
491
499
|
* @internal
|
|
492
500
|
*/
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
if (
|
|
499
|
-
|
|
501
|
+
async buildPropertyCache() {
|
|
502
|
+
const cache = new Map();
|
|
503
|
+
const baseClass = await this.baseClass;
|
|
504
|
+
if (baseClass) {
|
|
505
|
+
for (const property of await baseClass.getProperties()) {
|
|
506
|
+
if (!cache.has(property.name.toUpperCase())) {
|
|
507
|
+
cache.set(property.name.toUpperCase(), property);
|
|
500
508
|
}
|
|
501
509
|
}
|
|
502
|
-
else {
|
|
503
|
-
existingValues.set(upperCaseName, target.length);
|
|
504
|
-
target.push(property);
|
|
505
|
-
}
|
|
506
|
-
}
|
|
507
|
-
}
|
|
508
|
-
/**
|
|
509
|
-
*
|
|
510
|
-
* @param result
|
|
511
|
-
* @param existingValues
|
|
512
|
-
* @returns
|
|
513
|
-
*
|
|
514
|
-
* @internal
|
|
515
|
-
*/
|
|
516
|
-
async buildPropertyCache(result, existingValues) {
|
|
517
|
-
if (!existingValues) {
|
|
518
|
-
existingValues = new Map();
|
|
519
510
|
}
|
|
520
|
-
if (this.
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
}
|
|
511
|
+
if (this._properties) {
|
|
512
|
+
this._properties.forEach(property => {
|
|
513
|
+
cache.set(property.name.toUpperCase(), property);
|
|
514
|
+
});
|
|
525
515
|
}
|
|
526
|
-
|
|
527
|
-
return;
|
|
528
|
-
ECClass.mergeProperties(result, existingValues, [...this._properties.values()], true);
|
|
516
|
+
return cache;
|
|
529
517
|
}
|
|
530
518
|
/**
|
|
531
519
|
*
|
|
532
|
-
* @param
|
|
533
|
-
* @param existingValues
|
|
520
|
+
* @param cache
|
|
534
521
|
* @returns
|
|
535
522
|
*
|
|
536
523
|
* @internal
|
|
537
524
|
*/
|
|
538
|
-
buildPropertyCacheSync(
|
|
539
|
-
|
|
540
|
-
existingValues = new Map();
|
|
541
|
-
}
|
|
525
|
+
buildPropertyCacheSync() {
|
|
526
|
+
const cache = new Map();
|
|
542
527
|
const baseClass = this.getBaseClassSync();
|
|
543
528
|
if (baseClass) {
|
|
544
|
-
|
|
529
|
+
for (const property of baseClass.getPropertiesSync()) {
|
|
530
|
+
if (!cache.has(property.name.toUpperCase())) {
|
|
531
|
+
cache.set(property.name.toUpperCase(), property);
|
|
532
|
+
}
|
|
533
|
+
}
|
|
545
534
|
}
|
|
546
|
-
if (
|
|
547
|
-
|
|
548
|
-
|
|
535
|
+
if (this._properties) {
|
|
536
|
+
this._properties.forEach(property => {
|
|
537
|
+
cache.set(property.name.toUpperCase(), property);
|
|
538
|
+
});
|
|
539
|
+
}
|
|
540
|
+
return cache;
|
|
549
541
|
}
|
|
550
542
|
/**
|
|
551
543
|
* Clears all caches on this object. This is called implicitly for this class,
|
|
@@ -566,10 +558,9 @@ class ECClass extends SchemaItem_1.SchemaItem {
|
|
|
566
558
|
return this._properties && this._properties.size > 0 ? this._properties.values() : [];
|
|
567
559
|
}
|
|
568
560
|
if (!this._mergedPropertyCache) {
|
|
569
|
-
this._mergedPropertyCache =
|
|
570
|
-
this.buildPropertyCacheSync(this._mergedPropertyCache, undefined);
|
|
561
|
+
this._mergedPropertyCache = this.buildPropertyCacheSync();
|
|
571
562
|
}
|
|
572
|
-
return this._mergedPropertyCache;
|
|
563
|
+
return this._mergedPropertyCache.values();
|
|
573
564
|
}
|
|
574
565
|
/**
|
|
575
566
|
* Quick way to check whether this class has any local properties without having to use the iterable
|