@itwin/ecschema-metadata 5.0.0-dev.5 → 5.0.0-dev.52

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.
Files changed (190) hide show
  1. package/CHANGELOG.md +40 -1
  2. package/lib/cjs/Constants.js +20 -20
  3. package/lib/cjs/Constants.js.map +1 -1
  4. package/lib/cjs/Context.d.ts +19 -0
  5. package/lib/cjs/Context.d.ts.map +1 -1
  6. package/lib/cjs/Context.js +29 -1
  7. package/lib/cjs/Context.js.map +1 -1
  8. package/lib/cjs/DelayedPromise.js +1 -1
  9. package/lib/cjs/DelayedPromise.js.map +1 -1
  10. package/lib/cjs/Deserialization/AbstractParser.js.map +1 -1
  11. package/lib/cjs/Deserialization/Helper.js.map +1 -1
  12. package/lib/cjs/Deserialization/JsonParser.js.map +1 -1
  13. package/lib/cjs/Deserialization/JsonProps.d.ts +3 -0
  14. package/lib/cjs/Deserialization/JsonProps.d.ts.map +1 -1
  15. package/lib/cjs/Deserialization/JsonProps.js.map +1 -1
  16. package/lib/cjs/Deserialization/SchemaGraphUtil.js.map +1 -1
  17. package/lib/cjs/Deserialization/XmlParser.js.map +1 -1
  18. package/lib/cjs/Deserialization/XmlSerializationUtils.js.map +1 -1
  19. package/lib/cjs/ECName.js.map +1 -1
  20. package/lib/cjs/ECObjects.js.map +1 -1
  21. package/lib/cjs/Exception.js.map +1 -1
  22. package/lib/cjs/Interfaces.js.map +1 -1
  23. package/lib/cjs/Metadata/Class.d.ts +30 -4
  24. package/lib/cjs/Metadata/Class.d.ts.map +1 -1
  25. package/lib/cjs/Metadata/Class.js +76 -10
  26. package/lib/cjs/Metadata/Class.js.map +1 -1
  27. package/lib/cjs/Metadata/Constant.d.ts +1 -1
  28. package/lib/cjs/Metadata/Constant.d.ts.map +1 -1
  29. package/lib/cjs/Metadata/Constant.js.map +1 -1
  30. package/lib/cjs/Metadata/CustomAttribute.js.map +1 -1
  31. package/lib/cjs/Metadata/CustomAttributeClass.d.ts +2 -4
  32. package/lib/cjs/Metadata/CustomAttributeClass.d.ts.map +1 -1
  33. package/lib/cjs/Metadata/CustomAttributeClass.js +4 -4
  34. package/lib/cjs/Metadata/CustomAttributeClass.js.map +1 -1
  35. package/lib/cjs/Metadata/EntityClass.d.ts +2 -4
  36. package/lib/cjs/Metadata/EntityClass.d.ts.map +1 -1
  37. package/lib/cjs/Metadata/EntityClass.js +2 -2
  38. package/lib/cjs/Metadata/EntityClass.js.map +1 -1
  39. package/lib/cjs/Metadata/Enumeration.d.ts +1 -1
  40. package/lib/cjs/Metadata/Enumeration.d.ts.map +1 -1
  41. package/lib/cjs/Metadata/Enumeration.js.map +1 -1
  42. package/lib/cjs/Metadata/Format.d.ts +29 -1
  43. package/lib/cjs/Metadata/Format.d.ts.map +1 -1
  44. package/lib/cjs/Metadata/Format.js +42 -0
  45. package/lib/cjs/Metadata/Format.js.map +1 -1
  46. package/lib/cjs/Metadata/InvertedUnit.d.ts +1 -3
  47. package/lib/cjs/Metadata/InvertedUnit.d.ts.map +1 -1
  48. package/lib/cjs/Metadata/InvertedUnit.js +2 -2
  49. package/lib/cjs/Metadata/InvertedUnit.js.map +1 -1
  50. package/lib/cjs/Metadata/KindOfQuantity.d.ts +1 -3
  51. package/lib/cjs/Metadata/KindOfQuantity.d.ts.map +1 -1
  52. package/lib/cjs/Metadata/KindOfQuantity.js +6 -6
  53. package/lib/cjs/Metadata/KindOfQuantity.js.map +1 -1
  54. package/lib/cjs/Metadata/Mixin.d.ts +1 -1
  55. package/lib/cjs/Metadata/Mixin.d.ts.map +1 -1
  56. package/lib/cjs/Metadata/Mixin.js.map +1 -1
  57. package/lib/cjs/Metadata/OverrideFormat.js.map +1 -1
  58. package/lib/cjs/Metadata/Phenomenon.d.ts +1 -1
  59. package/lib/cjs/Metadata/Phenomenon.d.ts.map +1 -1
  60. package/lib/cjs/Metadata/Phenomenon.js.map +1 -1
  61. package/lib/cjs/Metadata/Property.d.ts.map +1 -1
  62. package/lib/cjs/Metadata/Property.js +49 -15
  63. package/lib/cjs/Metadata/Property.js.map +1 -1
  64. package/lib/cjs/Metadata/PropertyCategory.d.ts +1 -1
  65. package/lib/cjs/Metadata/PropertyCategory.d.ts.map +1 -1
  66. package/lib/cjs/Metadata/PropertyCategory.js.map +1 -1
  67. package/lib/cjs/Metadata/RelationshipClass.d.ts +1 -1
  68. package/lib/cjs/Metadata/RelationshipClass.d.ts.map +1 -1
  69. package/lib/cjs/Metadata/RelationshipClass.js +4 -4
  70. package/lib/cjs/Metadata/RelationshipClass.js.map +1 -1
  71. package/lib/cjs/Metadata/Schema.js +1 -1
  72. package/lib/cjs/Metadata/Schema.js.map +1 -1
  73. package/lib/cjs/Metadata/SchemaItem.js.map +1 -1
  74. package/lib/cjs/Metadata/Unit.d.ts +1 -1
  75. package/lib/cjs/Metadata/Unit.d.ts.map +1 -1
  76. package/lib/cjs/Metadata/Unit.js.map +1 -1
  77. package/lib/cjs/Metadata/UnitSystem.d.ts +1 -3
  78. package/lib/cjs/Metadata/UnitSystem.d.ts.map +1 -1
  79. package/lib/cjs/Metadata/UnitSystem.js +2 -2
  80. package/lib/cjs/Metadata/UnitSystem.js.map +1 -1
  81. package/lib/cjs/PropertyTypes.js.map +1 -1
  82. package/lib/cjs/SchemaJsonLocater.js.map +1 -1
  83. package/lib/cjs/SchemaKey.js.map +1 -1
  84. package/lib/cjs/SchemaLoader.js.map +1 -1
  85. package/lib/cjs/SchemaPartVisitorDelegate.js.map +1 -1
  86. package/lib/cjs/UnitConversion/Graph.js.map +1 -1
  87. package/lib/cjs/UnitConversion/Parser.js.map +1 -1
  88. package/lib/cjs/UnitConversion/UnitConversion.js +2 -2
  89. package/lib/cjs/UnitConversion/UnitConversion.js.map +1 -1
  90. package/lib/cjs/UnitConversion/UnitConverter.js.map +1 -1
  91. package/lib/cjs/UnitConversion/UnitTree.js.map +1 -1
  92. package/lib/cjs/UnitProvider/SchemaUnitProvider.js.map +1 -1
  93. package/lib/cjs/Validation/SchemaWalker.js.map +1 -1
  94. package/lib/cjs/ecschema-metadata.js.map +1 -1
  95. package/lib/cjs/utils/SchemaGraph.js.map +1 -1
  96. package/lib/esm/Constants.js +20 -20
  97. package/lib/esm/Constants.js.map +1 -1
  98. package/lib/esm/Context.d.ts +19 -0
  99. package/lib/esm/Context.d.ts.map +1 -1
  100. package/lib/esm/Context.js +29 -1
  101. package/lib/esm/Context.js.map +1 -1
  102. package/lib/esm/DelayedPromise.js +1 -1
  103. package/lib/esm/DelayedPromise.js.map +1 -1
  104. package/lib/esm/Deserialization/AbstractParser.js.map +1 -1
  105. package/lib/esm/Deserialization/Helper.js.map +1 -1
  106. package/lib/esm/Deserialization/JsonParser.js.map +1 -1
  107. package/lib/esm/Deserialization/JsonProps.d.ts +3 -0
  108. package/lib/esm/Deserialization/JsonProps.d.ts.map +1 -1
  109. package/lib/esm/Deserialization/JsonProps.js.map +1 -1
  110. package/lib/esm/Deserialization/SchemaGraphUtil.js.map +1 -1
  111. package/lib/esm/Deserialization/XmlParser.js.map +1 -1
  112. package/lib/esm/Deserialization/XmlSerializationUtils.js.map +1 -1
  113. package/lib/esm/ECName.js.map +1 -1
  114. package/lib/esm/ECObjects.js.map +1 -1
  115. package/lib/esm/Exception.js.map +1 -1
  116. package/lib/esm/Interfaces.js.map +1 -1
  117. package/lib/esm/Metadata/Class.d.ts +30 -4
  118. package/lib/esm/Metadata/Class.d.ts.map +1 -1
  119. package/lib/esm/Metadata/Class.js +76 -10
  120. package/lib/esm/Metadata/Class.js.map +1 -1
  121. package/lib/esm/Metadata/Constant.d.ts +1 -1
  122. package/lib/esm/Metadata/Constant.d.ts.map +1 -1
  123. package/lib/esm/Metadata/Constant.js.map +1 -1
  124. package/lib/esm/Metadata/CustomAttribute.js.map +1 -1
  125. package/lib/esm/Metadata/CustomAttributeClass.d.ts +2 -4
  126. package/lib/esm/Metadata/CustomAttributeClass.d.ts.map +1 -1
  127. package/lib/esm/Metadata/CustomAttributeClass.js +4 -4
  128. package/lib/esm/Metadata/CustomAttributeClass.js.map +1 -1
  129. package/lib/esm/Metadata/EntityClass.d.ts +2 -4
  130. package/lib/esm/Metadata/EntityClass.d.ts.map +1 -1
  131. package/lib/esm/Metadata/EntityClass.js +2 -2
  132. package/lib/esm/Metadata/EntityClass.js.map +1 -1
  133. package/lib/esm/Metadata/Enumeration.d.ts +1 -1
  134. package/lib/esm/Metadata/Enumeration.d.ts.map +1 -1
  135. package/lib/esm/Metadata/Enumeration.js.map +1 -1
  136. package/lib/esm/Metadata/Format.d.ts +29 -1
  137. package/lib/esm/Metadata/Format.d.ts.map +1 -1
  138. package/lib/esm/Metadata/Format.js +42 -0
  139. package/lib/esm/Metadata/Format.js.map +1 -1
  140. package/lib/esm/Metadata/InvertedUnit.d.ts +1 -3
  141. package/lib/esm/Metadata/InvertedUnit.d.ts.map +1 -1
  142. package/lib/esm/Metadata/InvertedUnit.js +2 -2
  143. package/lib/esm/Metadata/InvertedUnit.js.map +1 -1
  144. package/lib/esm/Metadata/KindOfQuantity.d.ts +1 -3
  145. package/lib/esm/Metadata/KindOfQuantity.d.ts.map +1 -1
  146. package/lib/esm/Metadata/KindOfQuantity.js +6 -6
  147. package/lib/esm/Metadata/KindOfQuantity.js.map +1 -1
  148. package/lib/esm/Metadata/Mixin.d.ts +1 -1
  149. package/lib/esm/Metadata/Mixin.d.ts.map +1 -1
  150. package/lib/esm/Metadata/Mixin.js.map +1 -1
  151. package/lib/esm/Metadata/OverrideFormat.js.map +1 -1
  152. package/lib/esm/Metadata/Phenomenon.d.ts +1 -1
  153. package/lib/esm/Metadata/Phenomenon.d.ts.map +1 -1
  154. package/lib/esm/Metadata/Phenomenon.js.map +1 -1
  155. package/lib/esm/Metadata/Property.d.ts.map +1 -1
  156. package/lib/esm/Metadata/Property.js +49 -15
  157. package/lib/esm/Metadata/Property.js.map +1 -1
  158. package/lib/esm/Metadata/PropertyCategory.d.ts +1 -1
  159. package/lib/esm/Metadata/PropertyCategory.d.ts.map +1 -1
  160. package/lib/esm/Metadata/PropertyCategory.js.map +1 -1
  161. package/lib/esm/Metadata/RelationshipClass.d.ts +1 -1
  162. package/lib/esm/Metadata/RelationshipClass.d.ts.map +1 -1
  163. package/lib/esm/Metadata/RelationshipClass.js +4 -4
  164. package/lib/esm/Metadata/RelationshipClass.js.map +1 -1
  165. package/lib/esm/Metadata/Schema.js +1 -1
  166. package/lib/esm/Metadata/Schema.js.map +1 -1
  167. package/lib/esm/Metadata/SchemaItem.js.map +1 -1
  168. package/lib/esm/Metadata/Unit.d.ts +1 -1
  169. package/lib/esm/Metadata/Unit.d.ts.map +1 -1
  170. package/lib/esm/Metadata/Unit.js.map +1 -1
  171. package/lib/esm/Metadata/UnitSystem.d.ts +1 -3
  172. package/lib/esm/Metadata/UnitSystem.d.ts.map +1 -1
  173. package/lib/esm/Metadata/UnitSystem.js +2 -2
  174. package/lib/esm/Metadata/UnitSystem.js.map +1 -1
  175. package/lib/esm/PropertyTypes.js.map +1 -1
  176. package/lib/esm/SchemaJsonLocater.js.map +1 -1
  177. package/lib/esm/SchemaKey.js.map +1 -1
  178. package/lib/esm/SchemaLoader.js.map +1 -1
  179. package/lib/esm/SchemaPartVisitorDelegate.js.map +1 -1
  180. package/lib/esm/UnitConversion/Graph.js.map +1 -1
  181. package/lib/esm/UnitConversion/Parser.js.map +1 -1
  182. package/lib/esm/UnitConversion/UnitConversion.js +2 -2
  183. package/lib/esm/UnitConversion/UnitConversion.js.map +1 -1
  184. package/lib/esm/UnitConversion/UnitConverter.js.map +1 -1
  185. package/lib/esm/UnitConversion/UnitTree.js.map +1 -1
  186. package/lib/esm/UnitProvider/SchemaUnitProvider.js.map +1 -1
  187. package/lib/esm/Validation/SchemaWalker.js.map +1 -1
  188. package/lib/esm/ecschema-metadata.js.map +1 -1
  189. package/lib/esm/utils/SchemaGraph.js.map +1 -1
  190. package/package.json +9 -9
@@ -1 +1 @@
1
- {"version":3,"file":"ECObjects.js","sourceRoot":"","sources":["../../src/ECObjects.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Metadata\r\n */\r\n\r\nimport { ECStringConstants } from \"./Constants\";\r\nimport { ECObjectsError, ECObjectsStatus } from \"./Exception\";\r\n\r\nexport { PropertyType } from \"./PropertyTypes\";\r\n\r\n// NEEDSWORK: This shim is currently required to use async iterators. See https://github.com/Microsoft/TypeScript/issues/14151\r\nif (!(Symbol as any).asyncIterator) {\r\n (Symbol as any).asyncIterator = Symbol.for(\"Symbol.asyncIterator\");\r\n}\r\n\r\n/** @beta */\r\nexport enum ECClassModifier {\r\n None,\r\n Abstract,\r\n Sealed,\r\n}\r\n\r\n/**\r\n * An enumeration that has all the schema item type names as values\r\n * @beta */\r\nexport enum SchemaItemType {\r\n EntityClass = \"EntityClass\",\r\n Mixin = \"Mixin\",\r\n StructClass = \"StructClass\",\r\n CustomAttributeClass = \"CustomAttributeClass\",\r\n RelationshipClass = \"RelationshipClass\",\r\n Enumeration = \"Enumeration\",\r\n KindOfQuantity = \"KindOfQuantity\",\r\n PropertyCategory = \"PropertyCategory\",\r\n Unit = \"Unit\",\r\n InvertedUnit = \"InvertedUnit\",\r\n Constant = \"Constant\",\r\n Phenomenon = \"Phenomenon\",\r\n UnitSystem = \"UnitSystem\",\r\n Format = \"Format\",\r\n}\r\n\r\n/**\r\n * Primitive data types for ECProperties.\r\n * @beta\r\n */\r\nexport enum PrimitiveType {\r\n Uninitialized = 0x00,\r\n Binary = 0x101,\r\n Boolean = 0x201,\r\n DateTime = 0x301,\r\n Double = 0x401,\r\n Integer = 0x501,\r\n Long = 0x601,\r\n Point2d = 0x701,\r\n Point3d = 0x801,\r\n String = 0x901,\r\n IGeometry = 0xa01,\r\n}\r\n\r\n/**\r\n * Defines the valid CustomAttribute container types.\r\n * @beta\r\n */\r\nexport enum CustomAttributeContainerType {\r\n Schema = (0x0001 << 0),\r\n EntityClass = (0x0001 << 1),\r\n CustomAttributeClass = (0x0001 << 2),\r\n StructClass = (0x0001 << 3),\r\n RelationshipClass = (0x0001 << 4),\r\n AnyClass = EntityClass | CustomAttributeClass | StructClass | RelationshipClass,\r\n PrimitiveProperty = (0x0001 << 5),\r\n StructProperty = (0x0001 << 6),\r\n PrimitiveArrayProperty = (0x0001 << 7),\r\n StructArrayProperty = (0x0001 << 8),\r\n NavigationProperty = (0x0001 << 9),\r\n AnyProperty = PrimitiveProperty | StructProperty | PrimitiveArrayProperty | StructArrayProperty | NavigationProperty,\r\n SourceRelationshipConstraint = (0x0001 << 10),\r\n TargetRelationshipConstraint = (0x0001 << 11),\r\n AnyRelationshipConstraint = SourceRelationshipConstraint | TargetRelationshipConstraint,\r\n Any = Schema | AnyClass | AnyProperty | AnyRelationshipConstraint,\r\n}\r\n\r\n/**\r\n * Defines what sort of match should be used when locating a schema.\r\n * @beta\r\n */\r\nexport enum SchemaMatchType {\r\n /*\r\n * Find exact VersionRead, VersionWrite, VersionMinor match as well as Data. NOTE data is not yet matched\r\n * @deprecated in 4.10 Use Exact instead.\r\n */\r\n Identical,\r\n /* Find exact VersionRead, VersionWrite, VersionMinor match. */\r\n Exact,\r\n /* Find latest version with matching VersionRead and VersionWrite */\r\n LatestWriteCompatible,\r\n /* Find latest version. */\r\n Latest,\r\n /* Find latest version with matching VersionRead */\r\n LatestReadCompatible,\r\n}\r\n\r\n/**\r\n * Identifer for an ECRelationshipConstraint. Used to determine the side of the relationship the constraint is representing.\r\n * @beta\r\n */\r\nexport enum RelationshipEnd {\r\n Source = 0,\r\n Target = 1,\r\n}\r\n\r\n/** @beta */\r\nexport enum StrengthType {\r\n Referencing,\r\n Holding,\r\n Embedding,\r\n}\r\n\r\n/** @beta */\r\nexport enum StrengthDirection {\r\n Forward = 1,\r\n Backward = 2,\r\n}\r\n\r\n// Helper methods for going to/from string for the above Enumerations.\r\n\r\n/**\r\n * Parses the provided string into an ECClassModifier if the string is a valid modifier.\r\n * @param modifier The modifier string to parse.\r\n * @beta\r\n */\r\nexport function parseClassModifier(modifier: string): ECClassModifier | undefined {\r\n const lowerModifier = modifier.toLowerCase();\r\n switch (lowerModifier) {\r\n case \"abstract\": return ECClassModifier.Abstract;\r\n case \"none\": return ECClassModifier.None;\r\n case \"sealed\": return ECClassModifier.Sealed;\r\n }\r\n return undefined;\r\n}\r\n\r\n/**\r\n * @return A string representing the provided ECClassModifier. If the modifier is not valid, an empty string is returned.\r\n * @beta\r\n */\r\nexport function classModifierToString(modifier: ECClassModifier): string {\r\n switch (modifier) {\r\n case ECClassModifier.Abstract: return \"Abstract\";\r\n case ECClassModifier.None: return \"None\";\r\n case ECClassModifier.Sealed: return \"Sealed\";\r\n default: throw new ECObjectsError(ECObjectsStatus.InvalidModifier, \"An invalid ECClassModifier has been provided.\");\r\n }\r\n}\r\n\r\n/**\r\n * Tries to parse the given string as one of the 8 schema item types.\r\n * @param type The schema item type string to parse.\r\n * @returns A valid SchemaItemType if successfully parsed. Otherwise, undefined if the provided string is not a valid SchemaItemType.\r\n * @beta\r\n */\r\nexport function parseSchemaItemType(type: string): SchemaItemType | undefined {\r\n switch (type.toLowerCase()) {\r\n case \"entityclass\": return SchemaItemType.EntityClass;\r\n case \"mixin\": return SchemaItemType.Mixin;\r\n case \"structclass\": return SchemaItemType.StructClass;\r\n case \"customattributeclass\": return SchemaItemType.CustomAttributeClass;\r\n case \"relationshipclass\": return SchemaItemType.RelationshipClass;\r\n case \"enumeration\": return SchemaItemType.Enumeration;\r\n case \"kindofquantity\": return SchemaItemType.KindOfQuantity;\r\n case \"propertycategory\": return SchemaItemType.PropertyCategory;\r\n case \"unit\": return SchemaItemType.Unit;\r\n case \"invertedunit\": return SchemaItemType.InvertedUnit;\r\n case \"constant\": return SchemaItemType.Constant;\r\n case \"phenomenon\": return SchemaItemType.Phenomenon;\r\n case \"unitsystem\": return SchemaItemType.UnitSystem;\r\n case \"format\": return SchemaItemType.Format;\r\n }\r\n return undefined;\r\n}\r\n\r\n/**\r\n * Converts a valid SchemaItemType to a display string.\r\n * @param value The SchemaItemType to stringify.\r\n * @return A string representing the provided SchemaItemType. If the type is not valid, an empty string is returned.\r\n * @beta\r\n * @deprecated in 4.6.0 SchemaItemType is a string enum so just use it directly\r\n */\r\nexport function schemaItemTypeToString(value: SchemaItemType): string {\r\n return value; // TODO: Remove\r\n}\r\n\r\n/** @internal */\r\nexport function schemaItemTypeToXmlString(value: SchemaItemType): string {\r\n switch (value) {\r\n case SchemaItemType.EntityClass: return \"ECEntityClass\";\r\n case SchemaItemType.Mixin: return \"ECEntityClass\";\r\n case SchemaItemType.StructClass: return \"ECStructClass\";\r\n case SchemaItemType.CustomAttributeClass: return \"ECCustomAttributeClass\";\r\n case SchemaItemType.RelationshipClass: return \"ECRelationshipClass\";\r\n case SchemaItemType.Enumeration: return \"ECEnumeration\";\r\n case SchemaItemType.KindOfQuantity: return \"KindOfQuantity\";\r\n case SchemaItemType.PropertyCategory: return \"PropertyCategory\";\r\n case SchemaItemType.Unit: return \"Unit\";\r\n case SchemaItemType.InvertedUnit: return \"InvertedUnit\";\r\n case SchemaItemType.Constant: return \"Constant\";\r\n case SchemaItemType.Phenomenon: return \"Phenomenon\";\r\n case SchemaItemType.UnitSystem: return \"UnitSystem\";\r\n case SchemaItemType.Format: return \"Format\";\r\n default: throw new ECObjectsError(ECObjectsStatus.InvalidSchemaItemType, \"An invalid SchemaItemType has been provided.\");\r\n }\r\n}\r\n\r\n/**\r\n * Tries to parse the given string as one of the 10 primitive types.\r\n * @param type The primitive type string to parse.\r\n * @returns A valid PrimitiveType if successfully parsed, or undefined if the provided string is not a valid PrimitiveType.\r\n * @beta\r\n */\r\nexport function parsePrimitiveType(type: string): PrimitiveType | undefined {\r\n switch (type.toLowerCase()) {\r\n case \"binary\": return PrimitiveType.Binary;\r\n case \"boolean\": case \"bool\": return PrimitiveType.Boolean;\r\n case \"datetime\": return PrimitiveType.DateTime;\r\n case \"double\": return PrimitiveType.Double;\r\n case \"int\": return PrimitiveType.Integer;\r\n case \"long\": return PrimitiveType.Long;\r\n case \"point2d\": return PrimitiveType.Point2d;\r\n case \"point3d\": return PrimitiveType.Point3d;\r\n case \"string\": return PrimitiveType.String;\r\n case \"bentley.geometry.common.igeometry\": return PrimitiveType.IGeometry;\r\n }\r\n\r\n return undefined;\r\n}\r\n\r\n/** @beta */\r\nexport function primitiveTypeToString(type: PrimitiveType): string {\r\n switch (type) {\r\n case PrimitiveType.Binary: return \"binary\";\r\n case PrimitiveType.Boolean: return \"boolean\";\r\n case PrimitiveType.DateTime: return \"dateTime\";\r\n case PrimitiveType.Double: return \"double\";\r\n case PrimitiveType.Integer: return \"int\";\r\n case PrimitiveType.IGeometry: return \"Bentley.Geometry.Common.IGeometry\";\r\n case PrimitiveType.Long: return \"long\";\r\n case PrimitiveType.Point2d: return \"point2d\";\r\n case PrimitiveType.Point3d: return \"point3d\";\r\n case PrimitiveType.String: return \"string\";\r\n default: throw new ECObjectsError(ECObjectsStatus.InvalidPrimitiveType, \"An invalid PrimitiveType has been provided.\");\r\n }\r\n}\r\n\r\n/**\r\n * Parses the given string into the appropriate CustomAttributeContainerType if the string is valid.\r\n * @param type The container type string to parse.\r\n * @beta\r\n */\r\nexport function parseCustomAttributeContainerType(type: string): CustomAttributeContainerType | undefined {\r\n const typeTokens = type.split(/[|,;]+/);\r\n\r\n let containerType = 0;\r\n\r\n typeTokens.forEach((typeToken) => {\r\n typeToken = typeToken.trim();\r\n if (typeToken.length === 0)\r\n return;\r\n\r\n typeToken = typeToken.toLowerCase();\r\n switch (typeToken) {\r\n case \"schema\":\r\n containerType = containerType | CustomAttributeContainerType.Schema;\r\n break;\r\n case \"entityclass\":\r\n containerType = containerType | CustomAttributeContainerType.EntityClass;\r\n break;\r\n case \"customattributeclass\":\r\n containerType = containerType | CustomAttributeContainerType.CustomAttributeClass;\r\n break;\r\n case \"structclass\":\r\n containerType = containerType | CustomAttributeContainerType.StructClass;\r\n break;\r\n case \"relationshipclass\":\r\n containerType = containerType | CustomAttributeContainerType.RelationshipClass;\r\n break;\r\n case \"anyclass\":\r\n containerType = containerType | CustomAttributeContainerType.AnyClass;\r\n break;\r\n case \"primitiveproperty\":\r\n containerType = containerType | CustomAttributeContainerType.PrimitiveProperty;\r\n break;\r\n case \"structproperty\":\r\n containerType = containerType | CustomAttributeContainerType.StructProperty;\r\n break;\r\n case \"arrayproperty\":\r\n containerType = containerType | CustomAttributeContainerType.PrimitiveArrayProperty;\r\n break;\r\n case \"structarrayproperty\":\r\n containerType = containerType | CustomAttributeContainerType.StructArrayProperty;\r\n break;\r\n case \"navigationproperty\":\r\n containerType = containerType | CustomAttributeContainerType.NavigationProperty;\r\n break;\r\n case \"anyproperty\":\r\n containerType = containerType | CustomAttributeContainerType.AnyProperty;\r\n break;\r\n case \"sourcerelationshipconstraint\":\r\n containerType = containerType | CustomAttributeContainerType.SourceRelationshipConstraint;\r\n break;\r\n case \"targetrelationshipconstraint\":\r\n containerType = containerType | CustomAttributeContainerType.TargetRelationshipConstraint;\r\n break;\r\n case \"anyrelationshipconstraint\":\r\n containerType = containerType | CustomAttributeContainerType.AnyRelationshipConstraint;\r\n break;\r\n case \"any\":\r\n containerType = containerType | CustomAttributeContainerType.Any;\r\n break;\r\n default:\r\n throw new ECObjectsError(ECObjectsStatus.InvalidContainerType, `${typeToken} is not a valid CustomAttributeContainerType value.`);\r\n }\r\n });\r\n\r\n return containerType as CustomAttributeContainerType;\r\n}\r\n\r\n/**\r\n * Creates a string representing a valid CustomAttributeContainerType.\r\n * @param value The CustomAttributeContainerType to stringify.\r\n * @return A string representing the provided CustomAttributeContainerType. If the type is not valid, an empty string is returned.\r\n * @beta\r\n */\r\nexport function containerTypeToString(type: CustomAttributeContainerType): string {\r\n\r\n const testContainerTypeValue = (compareType: CustomAttributeContainerType, otherType: CustomAttributeContainerType) => {\r\n return (compareType === (compareType & otherType));\r\n };\r\n\r\n if (testContainerTypeValue(CustomAttributeContainerType.Any, type))\r\n return ECStringConstants.CONTAINERTYPE_ANY;\r\n\r\n let containerType = \"\";\r\n const setOrAppend = (val: string) => {\r\n if (containerType.length === 0)\r\n containerType = val;\r\n else\r\n containerType = `${containerType}, ${val}`;\r\n };\r\n\r\n if (testContainerTypeValue(CustomAttributeContainerType.Schema, type))\r\n setOrAppend(\"Schema\");\r\n\r\n if (testContainerTypeValue(CustomAttributeContainerType.AnyClass, type))\r\n setOrAppend(\"AnyClass\");\r\n else {\r\n if (testContainerTypeValue(CustomAttributeContainerType.EntityClass, type))\r\n setOrAppend(ECStringConstants.CONTAINERTYPE_ENTITYCLASS);\r\n if (testContainerTypeValue(CustomAttributeContainerType.CustomAttributeClass, type))\r\n setOrAppend(ECStringConstants.CONTAINERTYPE_CUSTOMATTRIBUTECLASS);\r\n if (testContainerTypeValue(CustomAttributeContainerType.StructClass, type))\r\n setOrAppend(ECStringConstants.CONTAINERTYPE_STRUCTCLASS);\r\n if (testContainerTypeValue(CustomAttributeContainerType.RelationshipClass, type))\r\n setOrAppend(ECStringConstants.CONTAINERTYPE_RELATIONSHIPCLASS);\r\n }\r\n\r\n if (testContainerTypeValue(CustomAttributeContainerType.AnyProperty, type))\r\n setOrAppend(ECStringConstants.CONTAINERTYPE_ANYPROPERTY);\r\n else {\r\n if (testContainerTypeValue(CustomAttributeContainerType.PrimitiveProperty, type))\r\n setOrAppend(ECStringConstants.CONTAINERTYPE_PRIMITIVEPROPERTY);\r\n if (testContainerTypeValue(CustomAttributeContainerType.StructProperty, type))\r\n setOrAppend(ECStringConstants.CONTAINERTYPE_STRUCTPROPERTY);\r\n if (testContainerTypeValue(CustomAttributeContainerType.PrimitiveArrayProperty, type))\r\n setOrAppend(ECStringConstants.CONTAINERTYPE_PRIMITIVEARRAYPROPERTY);\r\n if (testContainerTypeValue(CustomAttributeContainerType.StructArrayProperty, type))\r\n setOrAppend(ECStringConstants.CONTAINERTYPE_STRUCTARRAYPROPERTY);\r\n if (testContainerTypeValue(CustomAttributeContainerType.NavigationProperty, type))\r\n setOrAppend(ECStringConstants.CONTAINERTYPE_NAVIGATIONPROPERTY);\r\n }\r\n\r\n if (testContainerTypeValue(CustomAttributeContainerType.AnyRelationshipConstraint, type))\r\n setOrAppend(ECStringConstants.CONTAINERTYPE_ANYRELATIONSHIPCONSTRAINT);\r\n else {\r\n if (testContainerTypeValue(CustomAttributeContainerType.SourceRelationshipConstraint, type))\r\n setOrAppend(ECStringConstants.CONTAINERTYPE_SOURCERELATIONSHIPCONSTRAINT);\r\n if (testContainerTypeValue(CustomAttributeContainerType.TargetRelationshipConstraint, type))\r\n setOrAppend(ECStringConstants.CONTAINERTYPE_TARGETRELATIONSHIPCONSTRAINT);\r\n }\r\n\r\n return containerType;\r\n}\r\n\r\n/** @beta */\r\nexport function parseRelationshipEnd(end: string): RelationshipEnd | undefined {\r\n switch (end.toLowerCase()) {\r\n case \"source\": return RelationshipEnd.Source;\r\n case \"target\": return RelationshipEnd.Target;\r\n }\r\n return undefined;\r\n}\r\n\r\n/** @beta */\r\nexport function relationshipEndToString(end: RelationshipEnd): string {\r\n switch (end) {\r\n case RelationshipEnd.Source: return ECStringConstants.RELATIONSHIP_END_SOURCE;\r\n case RelationshipEnd.Target: return ECStringConstants.RELATIONSHIP_END_TARGET;\r\n default: throw new ECObjectsError(ECObjectsStatus.InvalidRelationshipEnd, `An invalid RelationshipEnd has been provided.`);\r\n }\r\n}\r\n\r\n/**\r\n * Takes a string representing a StrengthType, will parse it and return the corresponding StrengthType.\r\n * @throws ECObjectsStatus.InvalidStrength if the provided string that is not valid\r\n * @param strength\r\n * @beta\r\n */\r\nexport function parseStrength(strength: string): StrengthType | undefined {\r\n switch (strength.toLowerCase()) {\r\n case \"referencing\": return StrengthType.Referencing;\r\n case \"holding\": return StrengthType.Holding;\r\n case \"embedding\": return StrengthType.Embedding;\r\n }\r\n return undefined;\r\n}\r\n\r\n/** @beta */\r\nexport function strengthToString(strength: StrengthType): string {\r\n switch (strength) {\r\n case StrengthType.Embedding: return \"Embedding\";\r\n case StrengthType.Holding: return \"Holding\";\r\n case StrengthType.Referencing: return \"Referencing\";\r\n default: throw new ECObjectsError(ECObjectsStatus.InvalidStrength, `An invalid Strength has been provided.`);\r\n }\r\n}\r\n\r\n/** @beta */\r\nexport function parseStrengthDirection(direction: string): StrengthDirection | undefined {\r\n switch (direction.toLowerCase()) {\r\n case \"forward\": return StrengthDirection.Forward;\r\n case \"backward\": return StrengthDirection.Backward;\r\n }\r\n return undefined;\r\n}\r\n\r\n/** @beta */\r\nexport function strengthDirectionToString(direction: StrengthDirection): string {\r\n switch (direction) {\r\n case StrengthDirection.Forward: return \"Forward\";\r\n case StrengthDirection.Backward: return \"Backward\";\r\n default: throw new ECObjectsError(ECObjectsStatus.InvalidStrengthDirection, `An invalid StrengthDirection has been provided.`);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"ECObjects.js","sourceRoot":"","sources":["../../src/ECObjects.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,+HAA+H;AAC/H,IAAI,CAAE,MAAc,CAAC,aAAa,EAAE,CAAC;IAClC,MAAc,CAAC,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;AACrE,CAAC;AAED,YAAY;AACZ,MAAM,CAAN,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,qDAAI,CAAA;IACJ,6DAAQ,CAAA;IACR,yDAAM,CAAA;AACR,CAAC,EAJW,eAAe,KAAf,eAAe,QAI1B;AAED;;WAEW;AACX,MAAM,CAAN,IAAY,cAeX;AAfD,WAAY,cAAc;IACxB,6CAA2B,CAAA;IAC3B,iCAAe,CAAA;IACf,6CAA2B,CAAA;IAC3B,+DAA6C,CAAA;IAC7C,yDAAuC,CAAA;IACvC,6CAA2B,CAAA;IAC3B,mDAAiC,CAAA;IACjC,uDAAqC,CAAA;IACrC,+BAAa,CAAA;IACb,+CAA6B,CAAA;IAC7B,uCAAqB,CAAA;IACrB,2CAAyB,CAAA;IACzB,2CAAyB,CAAA;IACzB,mCAAiB,CAAA;AACnB,CAAC,EAfW,cAAc,KAAd,cAAc,QAezB;AAED;;;GAGG;AACH,MAAM,CAAN,IAAY,aAYX;AAZD,WAAY,aAAa;IACvB,mEAAoB,CAAA;IACpB,uDAAc,CAAA;IACd,yDAAe,CAAA;IACf,2DAAgB,CAAA;IAChB,wDAAc,CAAA;IACd,0DAAe,CAAA;IACf,oDAAY,CAAA;IACZ,0DAAe,CAAA;IACf,0DAAe,CAAA;IACf,wDAAc,CAAA;IACd,8DAAiB,CAAA;AACnB,CAAC,EAZW,aAAa,KAAb,aAAa,QAYxB;AAED;;;GAGG;AACH,MAAM,CAAN,IAAY,4BAiBX;AAjBD,WAAY,4BAA4B;IACtC,mFAAsB,CAAA;IACtB,6FAA2B,CAAA;IAC3B,+GAAoC,CAAA;IACpC,6FAA2B,CAAA;IAC3B,0GAAiC,CAAA;IACjC,wFAA+E,CAAA;IAC/E,0GAAiC,CAAA;IACjC,oGAA8B,CAAA;IAC9B,qHAAsC,CAAA;IACtC,+GAAmC,CAAA;IACnC,6GAAkC,CAAA;IAClC,+FAAoH,CAAA;IACpH,kIAA6C,CAAA;IAC7C,kIAA6C,CAAA;IAC7C,4HAAuF,CAAA;IACvF,gFAAiE,CAAA;AACnE,CAAC,EAjBW,4BAA4B,KAA5B,4BAA4B,QAiBvC;AAED;;;GAGG;AACH,MAAM,CAAN,IAAY,eAcX;AAdD,WAAY,eAAe;IACzB;;;MAGE;IACF,+DAAS,CAAA;IACT,+DAA+D;IAC/D,uDAAK,CAAA;IACL,oEAAoE;IACpE,uFAAqB,CAAA;IACrB,0BAA0B;IAC1B,yDAAM,CAAA;IACN,mDAAmD;IACnD,qFAAoB,CAAA;AACtB,CAAC,EAdW,eAAe,KAAf,eAAe,QAc1B;AAED;;;GAGG;AACH,MAAM,CAAN,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,yDAAU,CAAA;IACV,yDAAU,CAAA;AACZ,CAAC,EAHW,eAAe,KAAf,eAAe,QAG1B;AAED,YAAY;AACZ,MAAM,CAAN,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,6DAAW,CAAA;IACX,qDAAO,CAAA;IACP,yDAAS,CAAA;AACX,CAAC,EAJW,YAAY,KAAZ,YAAY,QAIvB;AAED,YAAY;AACZ,MAAM,CAAN,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IAC3B,+DAAW,CAAA;IACX,iEAAY,CAAA;AACd,CAAC,EAHW,iBAAiB,KAAjB,iBAAiB,QAG5B;AAED,sEAAsE;AAEtE;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAgB;IACjD,MAAM,aAAa,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IAC7C,QAAQ,aAAa,EAAE,CAAC;QACtB,KAAK,UAAU,CAAC,CAAC,OAAO,eAAe,CAAC,QAAQ,CAAC;QACjD,KAAK,MAAM,CAAC,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC;QACzC,KAAK,QAAQ,CAAC,CAAC,OAAO,eAAe,CAAC,MAAM,CAAC;IAC/C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAyB;IAC7D,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,eAAe,CAAC,QAAQ,CAAC,CAAC,OAAO,UAAU,CAAC;QACjD,KAAK,eAAe,CAAC,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC;QACzC,KAAK,eAAe,CAAC,MAAM,CAAC,CAAC,OAAO,QAAQ,CAAC;QAC7C,OAAO,CAAC,CAAC,MAAM,IAAI,cAAc,CAAC,eAAe,CAAC,eAAe,EAAE,+CAA+C,CAAC,CAAC;IACtH,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,QAAQ,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QAC3B,KAAK,aAAa,CAAC,CAAC,OAAO,cAAc,CAAC,WAAW,CAAC;QACtD,KAAK,OAAO,CAAC,CAAC,OAAO,cAAc,CAAC,KAAK,CAAC;QAC1C,KAAK,aAAa,CAAC,CAAC,OAAO,cAAc,CAAC,WAAW,CAAC;QACtD,KAAK,sBAAsB,CAAC,CAAC,OAAO,cAAc,CAAC,oBAAoB,CAAC;QACxE,KAAK,mBAAmB,CAAC,CAAC,OAAO,cAAc,CAAC,iBAAiB,CAAC;QAClE,KAAK,aAAa,CAAC,CAAC,OAAO,cAAc,CAAC,WAAW,CAAC;QACtD,KAAK,gBAAgB,CAAC,CAAC,OAAO,cAAc,CAAC,cAAc,CAAC;QAC5D,KAAK,kBAAkB,CAAC,CAAC,OAAO,cAAc,CAAC,gBAAgB,CAAC;QAChE,KAAK,MAAM,CAAC,CAAC,OAAO,cAAc,CAAC,IAAI,CAAC;QACxC,KAAK,cAAc,CAAC,CAAC,OAAO,cAAc,CAAC,YAAY,CAAC;QACxD,KAAK,UAAU,CAAC,CAAC,OAAO,cAAc,CAAC,QAAQ,CAAC;QAChD,KAAK,YAAY,CAAC,CAAC,OAAO,cAAc,CAAC,UAAU,CAAC;QACpD,KAAK,YAAY,CAAC,CAAC,OAAO,cAAc,CAAC,UAAU,CAAC;QACpD,KAAK,QAAQ,CAAC,CAAC,OAAO,cAAc,CAAC,MAAM,CAAC;IAC9C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAqB;IAC1D,OAAO,KAAK,CAAC,CAAC,eAAe;AAC/B,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,yBAAyB,CAAC,KAAqB;IAC7D,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,cAAc,CAAC,WAAW,CAAC,CAAC,OAAO,eAAe,CAAC;QACxD,KAAK,cAAc,CAAC,KAAK,CAAC,CAAC,OAAO,eAAe,CAAC;QAClD,KAAK,cAAc,CAAC,WAAW,CAAC,CAAC,OAAO,eAAe,CAAC;QACxD,KAAK,cAAc,CAAC,oBAAoB,CAAC,CAAC,OAAO,wBAAwB,CAAC;QAC1E,KAAK,cAAc,CAAC,iBAAiB,CAAC,CAAC,OAAO,qBAAqB,CAAC;QACpE,KAAK,cAAc,CAAC,WAAW,CAAC,CAAC,OAAO,eAAe,CAAC;QACxD,KAAK,cAAc,CAAC,cAAc,CAAC,CAAC,OAAO,gBAAgB,CAAC;QAC5D,KAAK,cAAc,CAAC,gBAAgB,CAAC,CAAC,OAAO,kBAAkB,CAAC;QAChE,KAAK,cAAc,CAAC,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC;QACxC,KAAK,cAAc,CAAC,YAAY,CAAC,CAAC,OAAO,cAAc,CAAC;QACxD,KAAK,cAAc,CAAC,QAAQ,CAAC,CAAC,OAAO,UAAU,CAAC;QAChD,KAAK,cAAc,CAAC,UAAU,CAAC,CAAC,OAAO,YAAY,CAAC;QACpD,KAAK,cAAc,CAAC,UAAU,CAAC,CAAC,OAAO,YAAY,CAAC;QACpD,KAAK,cAAc,CAAC,MAAM,CAAC,CAAC,OAAO,QAAQ,CAAC;QAC5C,OAAO,CAAC,CAAC,MAAM,IAAI,cAAc,CAAC,eAAe,CAAC,qBAAqB,EAAE,8CAA8C,CAAC,CAAC;IAC3H,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,QAAQ,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QAC3B,KAAK,QAAQ,CAAC,CAAC,OAAO,aAAa,CAAC,MAAM,CAAC;QAC3C,KAAK,SAAS,CAAC;QAAC,KAAK,MAAM,CAAC,CAAC,OAAO,aAAa,CAAC,OAAO,CAAC;QAC1D,KAAK,UAAU,CAAC,CAAC,OAAO,aAAa,CAAC,QAAQ,CAAC;QAC/C,KAAK,QAAQ,CAAC,CAAC,OAAO,aAAa,CAAC,MAAM,CAAC;QAC3C,KAAK,KAAK,CAAC,CAAC,OAAO,aAAa,CAAC,OAAO,CAAC;QACzC,KAAK,MAAM,CAAC,CAAC,OAAO,aAAa,CAAC,IAAI,CAAC;QACvC,KAAK,SAAS,CAAC,CAAC,OAAO,aAAa,CAAC,OAAO,CAAC;QAC7C,KAAK,SAAS,CAAC,CAAC,OAAO,aAAa,CAAC,OAAO,CAAC;QAC7C,KAAK,QAAQ,CAAC,CAAC,OAAO,aAAa,CAAC,MAAM,CAAC;QAC3C,KAAK,mCAAmC,CAAC,CAAC,OAAO,aAAa,CAAC,SAAS,CAAC;IAC3E,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,YAAY;AACZ,MAAM,UAAU,qBAAqB,CAAC,IAAmB;IACvD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,aAAa,CAAC,MAAM,CAAC,CAAC,OAAO,QAAQ,CAAC;QAC3C,KAAK,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,SAAS,CAAC;QAC7C,KAAK,aAAa,CAAC,QAAQ,CAAC,CAAC,OAAO,UAAU,CAAC;QAC/C,KAAK,aAAa,CAAC,MAAM,CAAC,CAAC,OAAO,QAAQ,CAAC;QAC3C,KAAK,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK,CAAC;QACzC,KAAK,aAAa,CAAC,SAAS,CAAC,CAAC,OAAO,mCAAmC,CAAC;QACzE,KAAK,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC;QACvC,KAAK,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,SAAS,CAAC;QAC7C,KAAK,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,SAAS,CAAC;QAC7C,KAAK,aAAa,CAAC,MAAM,CAAC,CAAC,OAAO,QAAQ,CAAC;QAC3C,OAAO,CAAC,CAAC,MAAM,IAAI,cAAc,CAAC,eAAe,CAAC,oBAAoB,EAAE,6CAA6C,CAAC,CAAC;IACzH,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iCAAiC,CAAC,IAAY;IAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAExC,IAAI,aAAa,GAAG,CAAC,CAAC;IAEtB,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;QAC/B,SAAS,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YACxB,OAAO;QAET,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QACpC,QAAQ,SAAS,EAAE,CAAC;YAClB,KAAK,QAAQ;gBACX,aAAa,GAAG,aAAa,GAAG,4BAA4B,CAAC,MAAM,CAAC;gBACpE,MAAM;YACR,KAAK,aAAa;gBAChB,aAAa,GAAG,aAAa,GAAG,4BAA4B,CAAC,WAAW,CAAC;gBACzE,MAAM;YACR,KAAK,sBAAsB;gBACzB,aAAa,GAAG,aAAa,GAAG,4BAA4B,CAAC,oBAAoB,CAAC;gBAClF,MAAM;YACR,KAAK,aAAa;gBAChB,aAAa,GAAG,aAAa,GAAG,4BAA4B,CAAC,WAAW,CAAC;gBACzE,MAAM;YACR,KAAK,mBAAmB;gBACtB,aAAa,GAAG,aAAa,GAAG,4BAA4B,CAAC,iBAAiB,CAAC;gBAC/E,MAAM;YACR,KAAK,UAAU;gBACb,aAAa,GAAG,aAAa,GAAG,4BAA4B,CAAC,QAAQ,CAAC;gBACtE,MAAM;YACR,KAAK,mBAAmB;gBACtB,aAAa,GAAG,aAAa,GAAG,4BAA4B,CAAC,iBAAiB,CAAC;gBAC/E,MAAM;YACR,KAAK,gBAAgB;gBACnB,aAAa,GAAG,aAAa,GAAG,4BAA4B,CAAC,cAAc,CAAC;gBAC5E,MAAM;YACR,KAAK,eAAe;gBAClB,aAAa,GAAG,aAAa,GAAG,4BAA4B,CAAC,sBAAsB,CAAC;gBACpF,MAAM;YACR,KAAK,qBAAqB;gBACxB,aAAa,GAAG,aAAa,GAAG,4BAA4B,CAAC,mBAAmB,CAAC;gBACjF,MAAM;YACR,KAAK,oBAAoB;gBACvB,aAAa,GAAG,aAAa,GAAG,4BAA4B,CAAC,kBAAkB,CAAC;gBAChF,MAAM;YACR,KAAK,aAAa;gBAChB,aAAa,GAAG,aAAa,GAAG,4BAA4B,CAAC,WAAW,CAAC;gBACzE,MAAM;YACR,KAAK,8BAA8B;gBACjC,aAAa,GAAG,aAAa,GAAG,4BAA4B,CAAC,4BAA4B,CAAC;gBAC1F,MAAM;YACR,KAAK,8BAA8B;gBACjC,aAAa,GAAG,aAAa,GAAG,4BAA4B,CAAC,4BAA4B,CAAC;gBAC1F,MAAM;YACR,KAAK,2BAA2B;gBAC9B,aAAa,GAAG,aAAa,GAAG,4BAA4B,CAAC,yBAAyB,CAAC;gBACvF,MAAM;YACR,KAAK,KAAK;gBACR,aAAa,GAAG,aAAa,GAAG,4BAA4B,CAAC,GAAG,CAAC;gBACjE,MAAM;YACR;gBACE,MAAM,IAAI,cAAc,CAAC,eAAe,CAAC,oBAAoB,EAAE,GAAG,SAAS,qDAAqD,CAAC,CAAC;QACtI,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,aAA6C,CAAC;AACvD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAkC;IAEtE,MAAM,sBAAsB,GAAG,CAAC,WAAyC,EAAE,SAAuC,EAAE,EAAE;QACpH,OAAO,CAAC,WAAW,KAAK,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC;IAEF,IAAI,sBAAsB,CAAC,4BAA4B,CAAC,GAAG,EAAE,IAAI,CAAC;QAChE,OAAO,iBAAiB,CAAC,iBAAiB,CAAC;IAE7C,IAAI,aAAa,GAAG,EAAE,CAAC;IACvB,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,EAAE;QAClC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;YAC5B,aAAa,GAAG,GAAG,CAAC;;YAEpB,aAAa,GAAG,GAAG,aAAa,KAAK,GAAG,EAAE,CAAC;IAC/C,CAAC,CAAC;IAEF,IAAI,sBAAsB,CAAC,4BAA4B,CAAC,MAAM,EAAE,IAAI,CAAC;QACnE,WAAW,CAAC,QAAQ,CAAC,CAAC;IAExB,IAAI,sBAAsB,CAAC,4BAA4B,CAAC,QAAQ,EAAE,IAAI,CAAC;QACrE,WAAW,CAAC,UAAU,CAAC,CAAC;SACrB,CAAC;QACJ,IAAI,sBAAsB,CAAC,4BAA4B,CAAC,WAAW,EAAE,IAAI,CAAC;YACxE,WAAW,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,CAAC;QAC3D,IAAI,sBAAsB,CAAC,4BAA4B,CAAC,oBAAoB,EAAE,IAAI,CAAC;YACjF,WAAW,CAAC,iBAAiB,CAAC,kCAAkC,CAAC,CAAC;QACpE,IAAI,sBAAsB,CAAC,4BAA4B,CAAC,WAAW,EAAE,IAAI,CAAC;YACxE,WAAW,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,CAAC;QAC3D,IAAI,sBAAsB,CAAC,4BAA4B,CAAC,iBAAiB,EAAE,IAAI,CAAC;YAC9E,WAAW,CAAC,iBAAiB,CAAC,+BAA+B,CAAC,CAAC;IACnE,CAAC;IAED,IAAI,sBAAsB,CAAC,4BAA4B,CAAC,WAAW,EAAE,IAAI,CAAC;QACxE,WAAW,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,CAAC;SACtD,CAAC;QACJ,IAAI,sBAAsB,CAAC,4BAA4B,CAAC,iBAAiB,EAAE,IAAI,CAAC;YAC9E,WAAW,CAAC,iBAAiB,CAAC,+BAA+B,CAAC,CAAC;QACjE,IAAI,sBAAsB,CAAC,4BAA4B,CAAC,cAAc,EAAE,IAAI,CAAC;YAC3E,WAAW,CAAC,iBAAiB,CAAC,4BAA4B,CAAC,CAAC;QAC9D,IAAI,sBAAsB,CAAC,4BAA4B,CAAC,sBAAsB,EAAE,IAAI,CAAC;YACnF,WAAW,CAAC,iBAAiB,CAAC,oCAAoC,CAAC,CAAC;QACtE,IAAI,sBAAsB,CAAC,4BAA4B,CAAC,mBAAmB,EAAE,IAAI,CAAC;YAChF,WAAW,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,CAAC;QACnE,IAAI,sBAAsB,CAAC,4BAA4B,CAAC,kBAAkB,EAAE,IAAI,CAAC;YAC/E,WAAW,CAAC,iBAAiB,CAAC,gCAAgC,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,sBAAsB,CAAC,4BAA4B,CAAC,yBAAyB,EAAE,IAAI,CAAC;QACtF,WAAW,CAAC,iBAAiB,CAAC,uCAAuC,CAAC,CAAC;SACpE,CAAC;QACJ,IAAI,sBAAsB,CAAC,4BAA4B,CAAC,4BAA4B,EAAE,IAAI,CAAC;YACzF,WAAW,CAAC,iBAAiB,CAAC,0CAA0C,CAAC,CAAC;QAC5E,IAAI,sBAAsB,CAAC,4BAA4B,CAAC,4BAA4B,EAAE,IAAI,CAAC;YACzF,WAAW,CAAC,iBAAiB,CAAC,0CAA0C,CAAC,CAAC;IAC9E,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,YAAY;AACZ,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,QAAQ,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC;QAC1B,KAAK,QAAQ,CAAC,CAAC,OAAO,eAAe,CAAC,MAAM,CAAC;QAC7C,KAAK,QAAQ,CAAC,CAAC,OAAO,eAAe,CAAC,MAAM,CAAC;IAC/C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,YAAY;AACZ,MAAM,UAAU,uBAAuB,CAAC,GAAoB;IAC1D,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,eAAe,CAAC,MAAM,CAAC,CAAC,OAAO,iBAAiB,CAAC,uBAAuB,CAAC;QAC9E,KAAK,eAAe,CAAC,MAAM,CAAC,CAAC,OAAO,iBAAiB,CAAC,uBAAuB,CAAC;QAC9E,OAAO,CAAC,CAAC,MAAM,IAAI,cAAc,CAAC,eAAe,CAAC,sBAAsB,EAAE,+CAA+C,CAAC,CAAC;IAC7H,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC5C,QAAQ,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;QAC/B,KAAK,aAAa,CAAC,CAAC,OAAO,YAAY,CAAC,WAAW,CAAC;QACpD,KAAK,SAAS,CAAC,CAAC,OAAO,YAAY,CAAC,OAAO,CAAC;QAC5C,KAAK,WAAW,CAAC,CAAC,OAAO,YAAY,CAAC,SAAS,CAAC;IAClD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,YAAY;AACZ,MAAM,UAAU,gBAAgB,CAAC,QAAsB;IACrD,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,YAAY,CAAC,SAAS,CAAC,CAAC,OAAO,WAAW,CAAC;QAChD,KAAK,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO,SAAS,CAAC;QAC5C,KAAK,YAAY,CAAC,WAAW,CAAC,CAAC,OAAO,aAAa,CAAC;QACpD,OAAO,CAAC,CAAC,MAAM,IAAI,cAAc,CAAC,eAAe,CAAC,eAAe,EAAE,wCAAwC,CAAC,CAAC;IAC/G,CAAC;AACH,CAAC;AAED,YAAY;AACZ,MAAM,UAAU,sBAAsB,CAAC,SAAiB;IACtD,QAAQ,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;QAChC,KAAK,SAAS,CAAC,CAAC,OAAO,iBAAiB,CAAC,OAAO,CAAC;QACjD,KAAK,UAAU,CAAC,CAAC,OAAO,iBAAiB,CAAC,QAAQ,CAAC;IACrD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,YAAY;AACZ,MAAM,UAAU,yBAAyB,CAAC,SAA4B;IACpE,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,iBAAiB,CAAC,OAAO,CAAC,CAAC,OAAO,SAAS,CAAC;QACjD,KAAK,iBAAiB,CAAC,QAAQ,CAAC,CAAC,OAAO,UAAU,CAAC;QACnD,OAAO,CAAC,CAAC,MAAM,IAAI,cAAc,CAAC,eAAe,CAAC,wBAAwB,EAAE,iDAAiD,CAAC,CAAC;IACjI,CAAC;AACH,CAAC","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 +1 @@
1
- {"version":3,"file":"Exception.js","sourceRoot":"","sources":["../../src/Exception.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Metadata\r\n */\r\n\r\nimport { BentleyError } from \"@itwin/core-bentley\";\r\n\r\n/** @beta */\r\nexport enum ECObjectsStatus {\r\n ECOBJECTS_ERROR_BASE = 0x88EC,\r\n Success = 0,\r\n DuplicateItem = ECOBJECTS_ERROR_BASE + 1,\r\n DuplicateProperty = ECOBJECTS_ERROR_BASE + 2,\r\n DuplicateSchema = ECOBJECTS_ERROR_BASE + 3,\r\n ImmutableSchema = ECOBJECTS_ERROR_BASE + 4,\r\n InvalidContainerType = ECOBJECTS_ERROR_BASE + 5,\r\n InvalidECJson = ECOBJECTS_ERROR_BASE + 6,\r\n InvalidECName = ECOBJECTS_ERROR_BASE + 7,\r\n InvalidECVersion = ECOBJECTS_ERROR_BASE + 8,\r\n InvalidEnumValue = ECOBJECTS_ERROR_BASE + 9,\r\n InvalidModifier = ECOBJECTS_ERROR_BASE + 10,\r\n InvalidMultiplicity = ECOBJECTS_ERROR_BASE + 11,\r\n InvalidPrimitiveType = ECOBJECTS_ERROR_BASE + 12,\r\n InvalidSchemaItemType = ECOBJECTS_ERROR_BASE + 13,\r\n InvalidStrength = ECOBJECTS_ERROR_BASE + 14,\r\n InvalidStrengthDirection = ECOBJECTS_ERROR_BASE + 15,\r\n InvalidRelationshipEnd = ECOBJECTS_ERROR_BASE + 16,\r\n InvalidType = ECOBJECTS_ERROR_BASE + 17,\r\n MissingSchemaUrl = ECOBJECTS_ERROR_BASE + 18,\r\n UnableToLocateSchema = ECOBJECTS_ERROR_BASE + 19,\r\n InvalidSchemaXML = ECOBJECTS_ERROR_BASE + 20,\r\n InvalidSchemaString = ECOBJECTS_ERROR_BASE + 21,\r\n ClassNotFound = ECOBJECTS_ERROR_BASE + 22,\r\n SchemaContextUndefined = ECOBJECTS_ERROR_BASE + 23,\r\n DifferentSchemaContexts = ECOBJECTS_ERROR_BASE + 24,\r\n InvalidSchemaComparisonArgument = ECOBJECTS_ERROR_BASE + 25,\r\n InvalidSchemaAlias = ECOBJECTS_ERROR_BASE + 26,\r\n InvalidSchemaKey = ECOBJECTS_ERROR_BASE + 27,\r\n UnableToLoadSchema = ECOBJECTS_ERROR_BASE + 28,\r\n NewerECSpecVersion = ECOBJECTS_ERROR_BASE + 29,\r\n}\r\n\r\n/** @internal */\r\nexport class ECObjectsError extends BentleyError {\r\n public constructor(public override readonly errorNumber: number, message?: string) {\r\n super(errorNumber, message);\r\n }\r\n\r\n public toDebugString(): string {\r\n switch (this.errorNumber) {\r\n case ECObjectsStatus.DuplicateItem: return this._appendMessage(\"ECObjectsStatus.DuplicateItem\");\r\n case ECObjectsStatus.DuplicateProperty: return this._appendMessage(\"ECObjectsStatus.DuplicateProperty\");\r\n case ECObjectsStatus.DuplicateSchema: return this._appendMessage(\"ECObjectsStatus.DuplicateSchema\");\r\n case ECObjectsStatus.ImmutableSchema: return this._appendMessage(\"ECObjectsStatus.ImmutableSchema\");\r\n case ECObjectsStatus.InvalidContainerType: return this._appendMessage(\"ECObjectsStatus.InvalidContainerType\");\r\n case ECObjectsStatus.InvalidECJson: return this._appendMessage(\"ECObjectsStatus.InvalidECJson\");\r\n case ECObjectsStatus.InvalidECName: return this._appendMessage(\"ECObjectsStatus.InvalidECName\");\r\n case ECObjectsStatus.InvalidECVersion: return this._appendMessage(\"ECObjectsStatus.InvalidECVersion\");\r\n case ECObjectsStatus.InvalidEnumValue: return this._appendMessage(\"ECObjectsStatus.InvalidEnumValue\");\r\n case ECObjectsStatus.InvalidModifier: return this._appendMessage(\"ECObjectsStatus.InvalidModifier\");\r\n case ECObjectsStatus.InvalidMultiplicity: return this._appendMessage(\"ECObjectsStatus.InvalidMultiplicity\");\r\n case ECObjectsStatus.InvalidPrimitiveType: return this._appendMessage(\"ECObjectsStatus.InvalidPrimitiveType\");\r\n case ECObjectsStatus.InvalidSchemaItemType: return this._appendMessage(\"ECObjectsStatus.InvalidSchemaItemType\");\r\n case ECObjectsStatus.InvalidStrength: return this._appendMessage(\"ECObjectsStatus.InvalidStrength\");\r\n case ECObjectsStatus.InvalidStrengthDirection: return this._appendMessage(\"ECObjectsStatus.InvalidStrengthDirection\");\r\n case ECObjectsStatus.InvalidRelationshipEnd: return this._appendMessage(\"ECObjectsStatus.InvalidRelationshipEnd\");\r\n case ECObjectsStatus.InvalidType: return this._appendMessage(\"ECObjectsStatus.InvalidType\");\r\n case ECObjectsStatus.MissingSchemaUrl: return this._appendMessage(\"ECObjectsStatus.MissingSchemaUrl\");\r\n case ECObjectsStatus.UnableToLocateSchema: return this._appendMessage(\"ECObjectsStatus.UnableToLocateSchema\");\r\n case ECObjectsStatus.ClassNotFound: return this._appendMessage(\"ECObjectsStatus.ClassNotFound\");\r\n case ECObjectsStatus.SchemaContextUndefined: return this._appendMessage(\"ECObjectsStatus.SchemaContextUndefined\");\r\n case ECObjectsStatus.DifferentSchemaContexts: return this._appendMessage(\"ECObjectsStatus.DifferentSchemaContexts\");\r\n default:\r\n /* istanbul ignore next */\r\n return this._appendMessage(`Error ${this.errorNumber.toString()}`);\r\n }\r\n }\r\n\r\n private _appendMessage(e: string): string {\r\n return this.message ? `${e}: ${this.message}` : e;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"Exception.js","sourceRoot":"","sources":["../../src/Exception.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 { BentleyError } from \"@itwin/core-bentley\";\n\n/** @beta */\nexport enum ECObjectsStatus {\n ECOBJECTS_ERROR_BASE = 0x88EC,\n Success = 0,\n DuplicateItem = ECOBJECTS_ERROR_BASE + 1,\n DuplicateProperty = ECOBJECTS_ERROR_BASE + 2,\n DuplicateSchema = ECOBJECTS_ERROR_BASE + 3,\n ImmutableSchema = ECOBJECTS_ERROR_BASE + 4,\n InvalidContainerType = ECOBJECTS_ERROR_BASE + 5,\n InvalidECJson = ECOBJECTS_ERROR_BASE + 6,\n InvalidECName = ECOBJECTS_ERROR_BASE + 7,\n InvalidECVersion = ECOBJECTS_ERROR_BASE + 8,\n InvalidEnumValue = ECOBJECTS_ERROR_BASE + 9,\n InvalidModifier = ECOBJECTS_ERROR_BASE + 10,\n InvalidMultiplicity = ECOBJECTS_ERROR_BASE + 11,\n InvalidPrimitiveType = ECOBJECTS_ERROR_BASE + 12,\n InvalidSchemaItemType = ECOBJECTS_ERROR_BASE + 13,\n InvalidStrength = ECOBJECTS_ERROR_BASE + 14,\n InvalidStrengthDirection = ECOBJECTS_ERROR_BASE + 15,\n InvalidRelationshipEnd = ECOBJECTS_ERROR_BASE + 16,\n InvalidType = ECOBJECTS_ERROR_BASE + 17,\n MissingSchemaUrl = ECOBJECTS_ERROR_BASE + 18,\n UnableToLocateSchema = ECOBJECTS_ERROR_BASE + 19,\n InvalidSchemaXML = ECOBJECTS_ERROR_BASE + 20,\n InvalidSchemaString = ECOBJECTS_ERROR_BASE + 21,\n ClassNotFound = ECOBJECTS_ERROR_BASE + 22,\n SchemaContextUndefined = ECOBJECTS_ERROR_BASE + 23,\n DifferentSchemaContexts = ECOBJECTS_ERROR_BASE + 24,\n InvalidSchemaComparisonArgument = ECOBJECTS_ERROR_BASE + 25,\n InvalidSchemaAlias = ECOBJECTS_ERROR_BASE + 26,\n InvalidSchemaKey = ECOBJECTS_ERROR_BASE + 27,\n UnableToLoadSchema = ECOBJECTS_ERROR_BASE + 28,\n NewerECSpecVersion = ECOBJECTS_ERROR_BASE + 29,\n}\n\n/** @internal */\nexport class ECObjectsError extends BentleyError {\n public constructor(public override readonly errorNumber: number, message?: string) {\n super(errorNumber, message);\n }\n\n public toDebugString(): string {\n switch (this.errorNumber) {\n case ECObjectsStatus.DuplicateItem: return this._appendMessage(\"ECObjectsStatus.DuplicateItem\");\n case ECObjectsStatus.DuplicateProperty: return this._appendMessage(\"ECObjectsStatus.DuplicateProperty\");\n case ECObjectsStatus.DuplicateSchema: return this._appendMessage(\"ECObjectsStatus.DuplicateSchema\");\n case ECObjectsStatus.ImmutableSchema: return this._appendMessage(\"ECObjectsStatus.ImmutableSchema\");\n case ECObjectsStatus.InvalidContainerType: return this._appendMessage(\"ECObjectsStatus.InvalidContainerType\");\n case ECObjectsStatus.InvalidECJson: return this._appendMessage(\"ECObjectsStatus.InvalidECJson\");\n case ECObjectsStatus.InvalidECName: return this._appendMessage(\"ECObjectsStatus.InvalidECName\");\n case ECObjectsStatus.InvalidECVersion: return this._appendMessage(\"ECObjectsStatus.InvalidECVersion\");\n case ECObjectsStatus.InvalidEnumValue: return this._appendMessage(\"ECObjectsStatus.InvalidEnumValue\");\n case ECObjectsStatus.InvalidModifier: return this._appendMessage(\"ECObjectsStatus.InvalidModifier\");\n case ECObjectsStatus.InvalidMultiplicity: return this._appendMessage(\"ECObjectsStatus.InvalidMultiplicity\");\n case ECObjectsStatus.InvalidPrimitiveType: return this._appendMessage(\"ECObjectsStatus.InvalidPrimitiveType\");\n case ECObjectsStatus.InvalidSchemaItemType: return this._appendMessage(\"ECObjectsStatus.InvalidSchemaItemType\");\n case ECObjectsStatus.InvalidStrength: return this._appendMessage(\"ECObjectsStatus.InvalidStrength\");\n case ECObjectsStatus.InvalidStrengthDirection: return this._appendMessage(\"ECObjectsStatus.InvalidStrengthDirection\");\n case ECObjectsStatus.InvalidRelationshipEnd: return this._appendMessage(\"ECObjectsStatus.InvalidRelationshipEnd\");\n case ECObjectsStatus.InvalidType: return this._appendMessage(\"ECObjectsStatus.InvalidType\");\n case ECObjectsStatus.MissingSchemaUrl: return this._appendMessage(\"ECObjectsStatus.MissingSchemaUrl\");\n case ECObjectsStatus.UnableToLocateSchema: return this._appendMessage(\"ECObjectsStatus.UnableToLocateSchema\");\n case ECObjectsStatus.ClassNotFound: return this._appendMessage(\"ECObjectsStatus.ClassNotFound\");\n case ECObjectsStatus.SchemaContextUndefined: return this._appendMessage(\"ECObjectsStatus.SchemaContextUndefined\");\n case ECObjectsStatus.DifferentSchemaContexts: return this._appendMessage(\"ECObjectsStatus.DifferentSchemaContexts\");\n default:\n /* istanbul ignore next */\n return this._appendMessage(`Error ${this.errorNumber.toString()}`);\n }\n }\n\n private _appendMessage(e: string): string {\n return this.message ? `${e}: ${this.message}` : e;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Interfaces.js","sourceRoot":"","sources":["../../src/Interfaces.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Metadata\r\n */\r\n\r\nimport { DelayedPromise } from \"./DelayedPromise\";\r\nimport { ECClass, StructClass } from \"./Metadata/Class\";\r\nimport { Constant } from \"./Metadata/Constant\";\r\nimport { CustomAttribute, CustomAttributeContainerProps } from \"./Metadata/CustomAttribute\";\r\nimport { CustomAttributeClass } from \"./Metadata/CustomAttributeClass\";\r\nimport { EntityClass } from \"./Metadata/EntityClass\";\r\nimport { AnyEnumerator, Enumeration } from \"./Metadata/Enumeration\";\r\nimport { Format } from \"./Metadata/Format\";\r\nimport { InvertedUnit } from \"./Metadata/InvertedUnit\";\r\nimport { KindOfQuantity } from \"./Metadata/KindOfQuantity\";\r\nimport { Mixin } from \"./Metadata/Mixin\";\r\nimport { OverrideFormat } from \"./Metadata/OverrideFormat\";\r\nimport { Phenomenon } from \"./Metadata/Phenomenon\";\r\nimport { AnyProperty } from \"./Metadata/Property\";\r\nimport { PropertyCategory } from \"./Metadata/PropertyCategory\";\r\nimport { RelationshipClass, RelationshipConstraint } from \"./Metadata/RelationshipClass\";\r\nimport { Schema } from \"./Metadata/Schema\";\r\nimport { SchemaItem } from \"./Metadata/SchemaItem\";\r\nimport { Unit } from \"./Metadata/Unit\";\r\nimport { UnitSystem } from \"./Metadata/UnitSystem\";\r\nimport { SchemaItemKey, SchemaKey } from \"./SchemaKey\";\r\n\r\n/** @beta */\r\nexport type LazyLoadedSchema = Readonly<SchemaKey> & DelayedPromise<Schema> & Promise<Schema>;\r\n\r\n/** @beta */\r\nexport type LazyLoadedSchemaItem<T extends SchemaItem> = Readonly<SchemaItemKey> & DelayedPromise<T> & Promise<T>;\r\n/** @beta */\r\nexport type LazyLoadedECClass = LazyLoadedSchemaItem<ECClass>;\r\n/** @beta */\r\nexport type LazyLoadedEntityClass = LazyLoadedSchemaItem<EntityClass>;\r\n/** @beta */\r\nexport type LazyLoadedMixin = LazyLoadedSchemaItem<Mixin>;\r\n/** @beta */\r\nexport type LazyLoadedStructClass = LazyLoadedSchemaItem<StructClass>;\r\n/** @beta */\r\nexport type LazyLoadedCustomAttributeClass = LazyLoadedSchemaItem<CustomAttributeClass>;\r\n/** @beta */\r\nexport type LazyLoadedRelationshipClass = LazyLoadedSchemaItem<RelationshipClass>;\r\n/** @beta */\r\nexport type LazyLoadedEnumeration = LazyLoadedSchemaItem<Enumeration>;\r\n/** @beta */\r\nexport type LazyLoadedKindOfQuantity = LazyLoadedSchemaItem<KindOfQuantity>;\r\n/** @beta */\r\nexport type LazyLoadedPropertyCategory = LazyLoadedSchemaItem<PropertyCategory>;\r\n/** @beta */\r\nexport type LazyLoadedRelationshipConstraintClass = LazyLoadedSchemaItem<EntityClass | Mixin | RelationshipClass>;\r\n/** @beta */\r\nexport type LazyLoadedUnit = LazyLoadedSchemaItem<Unit>;\r\n/** @beta */\r\nexport type LazyLoadedInvertedUnit = LazyLoadedSchemaItem<InvertedUnit>;\r\n/** @beta */\r\nexport type LazyLoadedConstant = LazyLoadedSchemaItem<Constant>;\r\n/** @beta */\r\nexport type LazyLoadedPhenomenon = LazyLoadedSchemaItem<Phenomenon>;\r\n/** @beta */\r\nexport type LazyLoadedUnitSystem = LazyLoadedSchemaItem<UnitSystem>;\r\n/** @beta */\r\nexport type LazyLoadedFormat = LazyLoadedSchemaItem<Format>;\r\n\r\n/** @beta */\r\nexport type AnyClass = EntityClass | Mixin | StructClass | CustomAttributeClass | RelationshipClass;\r\n/** @beta */\r\nexport type AnySchemaItem = AnyClass | Enumeration | KindOfQuantity | PropertyCategory | Unit | InvertedUnit | Constant | Phenomenon | UnitSystem | Format;\r\n/** @beta */\r\nexport type AnyECType = Schema | SchemaItem | AnyProperty | RelationshipConstraint | CustomAttributeContainerProps | CustomAttribute | OverrideFormat | AnyEnumerator;\r\n\r\n/**\r\n * Holds the SchemaKeys for a schema and it's references. Designed so that Schema fulfills this interface.\r\n * @beta\r\n */\r\nexport interface SchemaInfo {\r\n schemaKey: Readonly<SchemaKey>;\r\n references: WithSchemaKey[];\r\n}\r\n\r\n/** @beta */\r\nexport interface WithSchemaKey {\r\n schemaKey: Readonly<SchemaKey>;\r\n}\r\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"]}
@@ -16,15 +16,27 @@ import { SchemaItem } from "./SchemaItem";
16
16
  export declare abstract class ECClass extends SchemaItem implements CustomAttributeContainerProps {
17
17
  protected _modifier: ECClassModifier;
18
18
  protected _baseClass?: LazyLoadedECClass;
19
+ protected _derivedClasses?: Map<string, LazyLoadedECClass>;
19
20
  protected _properties?: Map<string, Property>;
20
21
  private _customAttributes?;
21
22
  private _mergedPropertyCache?;
22
23
  get modifier(): ECClassModifier;
23
- get baseClass(): LazyLoadedECClass | undefined;
24
- set baseClass(baseClass: LazyLoadedECClass | undefined);
25
24
  get properties(): IterableIterator<Property> | undefined;
26
25
  get customAttributes(): CustomAttributeSet | undefined;
27
26
  constructor(schema: Schema, name: string, modifier?: ECClassModifier);
27
+ /**
28
+ * Gets the base class if it exists, otherwise returns undefined.
29
+ */
30
+ get baseClass(): LazyLoadedECClass | undefined;
31
+ /**
32
+ * Sets the base class of the ECClass. Pass undefined to 'remove' the base class.
33
+ */
34
+ protected setBaseClass(baseClass: LazyLoadedECClass | undefined): Promise<void>;
35
+ /**
36
+ * Gets the derived classes belonging to this class.
37
+ * @returns An array of ECClasses or undefined if no derived classes exist.
38
+ */
39
+ getDerivedClasses(): Promise<ECClass[] | undefined>;
28
40
  /**
29
41
  * Convenience method for adding an already loaded ECProperty used by create*Property methods.
30
42
  * @param prop The property to add.
@@ -199,14 +211,27 @@ export declare abstract class ECClass extends SchemaItem implements CustomAttrib
199
211
  * @param modifier
200
212
  */
201
213
  protected setModifier(modifier: ECClassModifier): void;
214
+ /**
215
+ * Adds an ECClass to the derived class collection. This method is only intended to update the local
216
+ * cache of derived classes. For adding a class to the hierarchy, use the baseClass setter method.
217
+ * @param prop The property to add.
218
+ * @return The property that was added.
219
+ */
220
+ private addDerivedClass;
221
+ /**
222
+ * Removes an ECClass from the derived class collection. This method is only intended to update the local
223
+ * cache of derived classes. For updating the class hierarchy, use the baseClass setter method.
224
+ * @param prop The property to add.
225
+ * @return The property that was added.
226
+ */
227
+ private removeDerivedClass;
202
228
  }
203
229
  /**
204
230
  * A Typescript class representation of an ECStructClass.
205
231
  * @beta
206
232
  */
207
233
  export declare class StructClass extends ECClass {
208
- readonly schemaItemType: SchemaItemType.StructClass;
209
- constructor(schema: Schema, name: string, modifier?: ECClassModifier);
234
+ readonly schemaItemType = SchemaItemType.StructClass;
210
235
  }
211
236
  /**
212
237
  * @internal
@@ -220,6 +245,7 @@ export declare abstract class MutableStructClass extends StructClass {
220
245
  * @internal
221
246
  */
222
247
  export declare abstract class MutableClass extends ECClass {
248
+ abstract setBaseClass(baseClass: LazyLoadedECClass | undefined): Promise<void>;
223
249
  abstract addCustomAttribute(customAttribute: CustomAttribute): void;
224
250
  abstract setModifier(modifier: ECClassModifier): void;
225
251
  abstract setName(name: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"Class.d.ts","sourceRoot":"","sources":["../../../src/Metadata/Class.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Class.d.ts","sourceRoot":"","sources":["../../../src/Metadata/Class.ts"],"names":[],"mappings":"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"}
@@ -21,8 +21,6 @@ import { SchemaReadHelper } from "../Deserialization/Helper";
21
21
  */
22
22
  export class ECClass extends SchemaItem {
23
23
  get modifier() { return this._modifier; }
24
- get baseClass() { return this._baseClass; }
25
- set baseClass(baseClass) { this._baseClass = baseClass; }
26
24
  get properties() { return this._properties?.values(); }
27
25
  get customAttributes() { return this._customAttributes; }
28
26
  constructor(schema, name, modifier) {
@@ -32,6 +30,32 @@ export class ECClass extends SchemaItem {
32
30
  else
33
31
  this._modifier = ECClassModifier.None;
34
32
  }
33
+ /**
34
+ * Gets the base class if it exists, otherwise returns undefined.
35
+ */
36
+ get baseClass() {
37
+ return this._baseClass;
38
+ }
39
+ /**
40
+ * Sets the base class of the ECClass. Pass undefined to 'remove' the base class.
41
+ */
42
+ async setBaseClass(baseClass) {
43
+ const oldBaseClass = this._baseClass;
44
+ this._baseClass = baseClass;
45
+ if (baseClass)
46
+ this.addDerivedClass(await baseClass, this);
47
+ else if (oldBaseClass)
48
+ this.removeDerivedClass(await oldBaseClass, this);
49
+ }
50
+ /**
51
+ * Gets the derived classes belonging to this class.
52
+ * @returns An array of ECClasses or undefined if no derived classes exist.
53
+ */
54
+ async getDerivedClasses() {
55
+ if (!this._derivedClasses || this._derivedClasses.size === 0)
56
+ return undefined;
57
+ return Array.from(await Promise.all(this._derivedClasses.values()));
58
+ }
35
59
  /**
36
60
  * Convenience method for adding an already loaded ECProperty used by create*Property methods.
37
61
  * @param prop The property to add.
@@ -317,12 +341,25 @@ export class ECClass extends SchemaItem {
317
341
  const ecClassSchemaItemKey = this.schema.getSchemaItemKey(classProps.baseClass);
318
342
  if (!ecClassSchemaItemKey)
319
343
  throw new ECObjectsError(ECObjectsStatus.InvalidECJson, `Unable to locate the baseClass ${classProps.baseClass}.`);
320
- this._baseClass = new DelayedPromiseWithProps(ecClassSchemaItemKey, async () => {
321
- const baseClass = await this.schema.lookupItem(ecClassSchemaItemKey);
322
- if (undefined === baseClass)
323
- throw new ECObjectsError(ECObjectsStatus.InvalidECJson, `Unable to locate the baseClass ${classProps.baseClass}.`);
324
- return baseClass;
325
- });
344
+ const baseClass = this.schema.lookupItemSync(ecClassSchemaItemKey);
345
+ let lazyBase;
346
+ if (!baseClass) {
347
+ lazyBase = new DelayedPromiseWithProps(ecClassSchemaItemKey, async () => {
348
+ const baseItem = await this.schema.lookupItem(ecClassSchemaItemKey);
349
+ if (undefined === baseItem)
350
+ throw new ECObjectsError(ECObjectsStatus.InvalidECJson, `Unable to locate the baseClass ${classProps.baseClass}.`);
351
+ return baseItem;
352
+ });
353
+ }
354
+ else {
355
+ lazyBase = new DelayedPromiseWithProps(ecClassSchemaItemKey, async () => {
356
+ return baseClass;
357
+ });
358
+ }
359
+ this._baseClass = lazyBase;
360
+ if (!baseClass)
361
+ return;
362
+ this.addDerivedClass(baseClass, this);
326
363
  }
327
364
  }
328
365
  async fromJSON(classProps) {
@@ -533,14 +570,43 @@ export class ECClass extends SchemaItem {
533
570
  setModifier(modifier) {
534
571
  this._modifier = modifier;
535
572
  }
573
+ /**
574
+ * Adds an ECClass to the derived class collection. This method is only intended to update the local
575
+ * cache of derived classes. For adding a class to the hierarchy, use the baseClass setter method.
576
+ * @param prop The property to add.
577
+ * @return The property that was added.
578
+ */
579
+ addDerivedClass(baseClass, derivedClass) {
580
+ if (!baseClass._derivedClasses)
581
+ baseClass._derivedClasses = new Map();
582
+ if (baseClass._derivedClasses.has(derivedClass.fullName))
583
+ return;
584
+ if (derivedClass.isSync(baseClass)) {
585
+ const promise = new DelayedPromiseWithProps(derivedClass.key, async () => derivedClass);
586
+ baseClass._derivedClasses.set(derivedClass.fullName, promise);
587
+ }
588
+ }
589
+ /**
590
+ * Removes an ECClass from the derived class collection. This method is only intended to update the local
591
+ * cache of derived classes. For updating the class hierarchy, use the baseClass setter method.
592
+ * @param prop The property to add.
593
+ * @return The property that was added.
594
+ */
595
+ removeDerivedClass(baseClass, derivedClass) {
596
+ if (!baseClass._derivedClasses)
597
+ return;
598
+ if (!baseClass._derivedClasses.has(derivedClass.fullName))
599
+ return;
600
+ baseClass._derivedClasses.delete(derivedClass.fullName);
601
+ }
536
602
  }
537
603
  /**
538
604
  * A Typescript class representation of an ECStructClass.
539
605
  * @beta
540
606
  */
541
607
  export class StructClass extends ECClass {
542
- constructor(schema, name, modifier) {
543
- super(schema, name, modifier);
608
+ constructor() {
609
+ super(...arguments);
544
610
  this.schemaItemType = SchemaItemType.StructClass;
545
611
  }
546
612
  }