@itwin/ecschema-metadata 5.1.0-dev.5 → 5.1.0-dev.51

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 (144) hide show
  1. package/CHANGELOG.md +71 -1
  2. package/lib/cjs/Constants.js.map +1 -1
  3. package/lib/cjs/Context.d.ts +1 -1
  4. package/lib/cjs/Context.js +1 -1
  5. package/lib/cjs/Context.js.map +1 -1
  6. package/lib/cjs/DelayedPromise.js.map +1 -1
  7. package/lib/cjs/Deserialization/AbstractParser.js.map +1 -1
  8. package/lib/cjs/Deserialization/Helper.js.map +1 -1
  9. package/lib/cjs/Deserialization/JsonParser.js.map +1 -1
  10. package/lib/cjs/Deserialization/JsonProps.js.map +1 -1
  11. package/lib/cjs/Deserialization/SchemaGraphUtil.d.ts +12 -3
  12. package/lib/cjs/Deserialization/SchemaGraphUtil.d.ts.map +1 -1
  13. package/lib/cjs/Deserialization/SchemaGraphUtil.js +36 -23
  14. package/lib/cjs/Deserialization/SchemaGraphUtil.js.map +1 -1
  15. package/lib/cjs/Deserialization/XmlParser.js.map +1 -1
  16. package/lib/cjs/Deserialization/XmlSerializationUtils.js +1 -1
  17. package/lib/cjs/Deserialization/XmlSerializationUtils.js.map +1 -1
  18. package/lib/cjs/ECName.js +1 -1
  19. package/lib/cjs/ECName.js.map +1 -1
  20. package/lib/cjs/ECObjects.d.ts +1 -1
  21. package/lib/cjs/ECObjects.js +2 -2
  22. package/lib/cjs/ECObjects.js.map +1 -1
  23. package/lib/cjs/Exception.js.map +1 -1
  24. package/lib/cjs/Interfaces.js.map +1 -1
  25. package/lib/cjs/Metadata/Class.d.ts +4 -16
  26. package/lib/cjs/Metadata/Class.d.ts.map +1 -1
  27. package/lib/cjs/Metadata/Class.js +51 -60
  28. package/lib/cjs/Metadata/Class.js.map +1 -1
  29. package/lib/cjs/Metadata/Constant.js.map +1 -1
  30. package/lib/cjs/Metadata/CustomAttribute.d.ts +7 -1
  31. package/lib/cjs/Metadata/CustomAttribute.d.ts.map +1 -1
  32. package/lib/cjs/Metadata/CustomAttribute.js.map +1 -1
  33. package/lib/cjs/Metadata/CustomAttributeClass.d.ts +1 -1
  34. package/lib/cjs/Metadata/CustomAttributeClass.js +1 -1
  35. package/lib/cjs/Metadata/CustomAttributeClass.js.map +1 -1
  36. package/lib/cjs/Metadata/EntityClass.d.ts +6 -6
  37. package/lib/cjs/Metadata/EntityClass.d.ts.map +1 -1
  38. package/lib/cjs/Metadata/EntityClass.js +48 -26
  39. package/lib/cjs/Metadata/EntityClass.js.map +1 -1
  40. package/lib/cjs/Metadata/Enumeration.js.map +1 -1
  41. package/lib/cjs/Metadata/Format.js.map +1 -1
  42. package/lib/cjs/Metadata/InvertedUnit.js.map +1 -1
  43. package/lib/cjs/Metadata/KindOfQuantity.js.map +1 -1
  44. package/lib/cjs/Metadata/Mixin.js.map +1 -1
  45. package/lib/cjs/Metadata/OverrideFormat.js.map +1 -1
  46. package/lib/cjs/Metadata/Phenomenon.js.map +1 -1
  47. package/lib/cjs/Metadata/Property.js.map +1 -1
  48. package/lib/cjs/Metadata/PropertyCategory.js.map +1 -1
  49. package/lib/cjs/Metadata/RelationshipClass.js.map +1 -1
  50. package/lib/cjs/Metadata/Schema.js.map +1 -1
  51. package/lib/cjs/Metadata/SchemaItem.js.map +1 -1
  52. package/lib/cjs/Metadata/UnitSystem.js.map +1 -1
  53. package/lib/cjs/PropertyTypes.js.map +1 -1
  54. package/lib/cjs/SchemaFormatsProvider.d.ts.map +1 -1
  55. package/lib/cjs/SchemaFormatsProvider.js +40 -14
  56. package/lib/cjs/SchemaFormatsProvider.js.map +1 -1
  57. package/lib/cjs/SchemaJsonLocater.js.map +1 -1
  58. package/lib/cjs/SchemaKey.js.map +1 -1
  59. package/lib/cjs/SchemaLoader.d.ts +4 -1
  60. package/lib/cjs/SchemaLoader.d.ts.map +1 -1
  61. package/lib/cjs/SchemaLoader.js +4 -1
  62. package/lib/cjs/SchemaLoader.js.map +1 -1
  63. package/lib/cjs/SchemaPartVisitorDelegate.js.map +1 -1
  64. package/lib/cjs/UnitConversion/Graph.js.map +1 -1
  65. package/lib/cjs/UnitConversion/Parser.js.map +1 -1
  66. package/lib/cjs/UnitConversion/UnitConversion.js.map +1 -1
  67. package/lib/cjs/UnitConversion/UnitConverter.js.map +1 -1
  68. package/lib/cjs/UnitConversion/UnitTree.js.map +1 -1
  69. package/lib/cjs/UnitProvider/SchemaUnitProvider.js.map +1 -1
  70. package/lib/cjs/Validation/SchemaWalker.js.map +1 -1
  71. package/lib/cjs/ecschema-metadata.js.map +1 -1
  72. package/lib/cjs/utils/SchemaGraph.js.map +1 -1
  73. package/lib/esm/Constants.js.map +1 -1
  74. package/lib/esm/Context.d.ts +1 -1
  75. package/lib/esm/Context.js +1 -1
  76. package/lib/esm/Context.js.map +1 -1
  77. package/lib/esm/DelayedPromise.js.map +1 -1
  78. package/lib/esm/Deserialization/AbstractParser.js.map +1 -1
  79. package/lib/esm/Deserialization/Helper.js.map +1 -1
  80. package/lib/esm/Deserialization/JsonParser.js.map +1 -1
  81. package/lib/esm/Deserialization/JsonProps.js.map +1 -1
  82. package/lib/esm/Deserialization/SchemaGraphUtil.d.ts +12 -3
  83. package/lib/esm/Deserialization/SchemaGraphUtil.d.ts.map +1 -1
  84. package/lib/esm/Deserialization/SchemaGraphUtil.js +36 -23
  85. package/lib/esm/Deserialization/SchemaGraphUtil.js.map +1 -1
  86. package/lib/esm/Deserialization/XmlParser.js.map +1 -1
  87. package/lib/esm/Deserialization/XmlSerializationUtils.js +1 -1
  88. package/lib/esm/Deserialization/XmlSerializationUtils.js.map +1 -1
  89. package/lib/esm/ECName.js +1 -1
  90. package/lib/esm/ECName.js.map +1 -1
  91. package/lib/esm/ECObjects.d.ts +1 -1
  92. package/lib/esm/ECObjects.js +2 -2
  93. package/lib/esm/ECObjects.js.map +1 -1
  94. package/lib/esm/Exception.js.map +1 -1
  95. package/lib/esm/Interfaces.js.map +1 -1
  96. package/lib/esm/Metadata/Class.d.ts +4 -16
  97. package/lib/esm/Metadata/Class.d.ts.map +1 -1
  98. package/lib/esm/Metadata/Class.js +51 -60
  99. package/lib/esm/Metadata/Class.js.map +1 -1
  100. package/lib/esm/Metadata/Constant.js.map +1 -1
  101. package/lib/esm/Metadata/CustomAttribute.d.ts +7 -1
  102. package/lib/esm/Metadata/CustomAttribute.d.ts.map +1 -1
  103. package/lib/esm/Metadata/CustomAttribute.js.map +1 -1
  104. package/lib/esm/Metadata/CustomAttributeClass.d.ts +1 -1
  105. package/lib/esm/Metadata/CustomAttributeClass.js +1 -1
  106. package/lib/esm/Metadata/CustomAttributeClass.js.map +1 -1
  107. package/lib/esm/Metadata/EntityClass.d.ts +6 -6
  108. package/lib/esm/Metadata/EntityClass.d.ts.map +1 -1
  109. package/lib/esm/Metadata/EntityClass.js +48 -26
  110. package/lib/esm/Metadata/EntityClass.js.map +1 -1
  111. package/lib/esm/Metadata/Enumeration.js.map +1 -1
  112. package/lib/esm/Metadata/Format.js.map +1 -1
  113. package/lib/esm/Metadata/InvertedUnit.js.map +1 -1
  114. package/lib/esm/Metadata/KindOfQuantity.js.map +1 -1
  115. package/lib/esm/Metadata/Mixin.js.map +1 -1
  116. package/lib/esm/Metadata/OverrideFormat.js.map +1 -1
  117. package/lib/esm/Metadata/Phenomenon.js.map +1 -1
  118. package/lib/esm/Metadata/Property.js.map +1 -1
  119. package/lib/esm/Metadata/PropertyCategory.js.map +1 -1
  120. package/lib/esm/Metadata/RelationshipClass.js.map +1 -1
  121. package/lib/esm/Metadata/Schema.js.map +1 -1
  122. package/lib/esm/Metadata/SchemaItem.js.map +1 -1
  123. package/lib/esm/Metadata/UnitSystem.js.map +1 -1
  124. package/lib/esm/PropertyTypes.js.map +1 -1
  125. package/lib/esm/SchemaFormatsProvider.d.ts.map +1 -1
  126. package/lib/esm/SchemaFormatsProvider.js +41 -15
  127. package/lib/esm/SchemaFormatsProvider.js.map +1 -1
  128. package/lib/esm/SchemaJsonLocater.js.map +1 -1
  129. package/lib/esm/SchemaKey.js.map +1 -1
  130. package/lib/esm/SchemaLoader.d.ts +4 -1
  131. package/lib/esm/SchemaLoader.d.ts.map +1 -1
  132. package/lib/esm/SchemaLoader.js +4 -1
  133. package/lib/esm/SchemaLoader.js.map +1 -1
  134. package/lib/esm/SchemaPartVisitorDelegate.js.map +1 -1
  135. package/lib/esm/UnitConversion/Graph.js.map +1 -1
  136. package/lib/esm/UnitConversion/Parser.js.map +1 -1
  137. package/lib/esm/UnitConversion/UnitConversion.js.map +1 -1
  138. package/lib/esm/UnitConversion/UnitConverter.js.map +1 -1
  139. package/lib/esm/UnitConversion/UnitTree.js.map +1 -1
  140. package/lib/esm/UnitProvider/SchemaUnitProvider.js.map +1 -1
  141. package/lib/esm/Validation/SchemaWalker.js.map +1 -1
  142. package/lib/esm/ecschema-metadata.js.map +1 -1
  143. package/lib/esm/utils/SchemaGraph.js.map +1 -1
  144. package/package.json +12 -8
package/lib/esm/ECName.js CHANGED
@@ -7,7 +7,7 @@
7
7
  */
8
8
  import { assert } from "@itwin/core-bentley";
9
9
  import { ECSchemaError, ECSchemaStatus } from "./Exception";
10
- const validECNameRegex = /^([a-zA-Z_]+[a-zA-Z0-9_]*)$/i;
10
+ const validECNameRegex = /^[a-zA-Z_]\w*$/i;
11
11
  const ecNameReplacerRegex = /__x([0-9a-fA-F]{4})__/g;
12
12
  const leadingDigits = ["0000", "000", "00", "0", ""];
13
13
  function isDigit(character) {
@@ -1 +1 @@
1
- {"version":3,"file":"ECName.js","sourceRoot":"","sources":["../../src/ECName.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 { assert } from \"@itwin/core-bentley\";\nimport { ECSchemaError, ECSchemaStatus } from \"./Exception\";\n\nconst validECNameRegex = /^([a-zA-Z_]+[a-zA-Z0-9_]*)$/i;\nconst ecNameReplacerRegex = /__x([0-9a-fA-F]{4})__/g;\nconst leadingDigits = [\"0000\", \"000\", \"00\", \"0\", \"\"];\n\nfunction isDigit(character: string): boolean {\n assert(1 === character.length);\n return character >= \"0\" && character <= \"9\";\n}\n\nfunction isValidAlphaNumericCharacter(c: string): boolean {\n assert(1 === c.length);\n return (((c >= \"0\" && c <= \"9\") || (c >= \"A\" && c <= \"Z\") || (c >= \"a\" && c <= \"z\") || c === \"_\"));\n}\n\n/** The name of an item in a [[Schema]], encoded to meet restrictions on the characters usable in such names.\n * An ECName meets the following criteria:\n * - Contains at least one character.\n * - Does not begin with a digit.\n * - Consists entirely of characters in the ASCII ranges A-Z, a-z, and 0-9; and the underscore (\"_\") character.\n *\n * All characters not meeting the above criteria are encoded as \"__x####__\" where \"####\" is the UTF-16 character code.\n * Such names are often automatically generated from the item's display label, which is unrestricted in the characters it may contain.\n * @public\n */\nexport class ECName {\n private _name: string;\n\n /** Construct a new ECName from a valid EC name.\n * throws ECSchemaError if `name` does not meet the criteria for a valid EC name.\n */\n constructor(name: string) {\n if (!ECName.validate(name))\n throw new ECSchemaError(ECSchemaStatus.InvalidECName);\n\n this._name = name;\n }\n\n /** Returns true if a string meets the criteria of a valid EC name. */\n public static validate(name: string): boolean {\n return validECNameRegex.test(name);\n }\n\n /** The underlying name as a string. */\n public get name(): string {\n return this._name;\n }\n\n /** Create an ECName from an arbitrary string, encoding any special characters as \"__x####__\" where \"####\" is the UTF-16 character code.\n * @throws ECSchemaError if `input` is an empty string.\n */\n public static encode(input: string): ECName {\n if (0 === input.length)\n throw new ECSchemaError(ECSchemaStatus.InvalidECName);\n\n if (ECName.validate(input)) {\n // It's already a valid EC name.\n return new ECName(input);\n }\n\n let output = \"\";\n\n function appendEncodedCharacter(index: number): void {\n const hex = input.charCodeAt(index).toString(16).toUpperCase();\n assert(hex.length > 0 && hex.length < 5);\n output += `__x${leadingDigits[hex.length]}${hex}__`;\n }\n\n // First character cannot be a digit.\n const firstCharIsDigit = isDigit(input[0]);\n if (firstCharIsDigit)\n appendEncodedCharacter(0);\n\n for (let i = firstCharIsDigit ? 1 : 0; i < input.length; i++) {\n const char = input[i];\n if (!isValidAlphaNumericCharacter(char))\n appendEncodedCharacter(i);\n else\n output += char;\n }\n\n return new ECName(output);\n }\n\n /** Decode this ECName, replacing encoded special characters with the characters they encode. */\n public decode(): string {\n return this.name.replace(ecNameReplacerRegex, (_match, hex) => String.fromCharCode(Number.parseInt(hex, 16)));\n }\n}\n"]}
1
+ {"version":3,"file":"ECName.js","sourceRoot":"","sources":["../../src/ECName.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 { assert } from \"@itwin/core-bentley\";\r\nimport { ECSchemaError, ECSchemaStatus } from \"./Exception\";\r\n\r\nconst validECNameRegex = /^[a-zA-Z_]\\w*$/i;\r\nconst ecNameReplacerRegex = /__x([0-9a-fA-F]{4})__/g;\r\nconst leadingDigits = [\"0000\", \"000\", \"00\", \"0\", \"\"];\r\n\r\nfunction isDigit(character: string): boolean {\r\n assert(1 === character.length);\r\n return character >= \"0\" && character <= \"9\";\r\n}\r\n\r\nfunction isValidAlphaNumericCharacter(c: string): boolean {\r\n assert(1 === c.length);\r\n return (((c >= \"0\" && c <= \"9\") || (c >= \"A\" && c <= \"Z\") || (c >= \"a\" && c <= \"z\") || c === \"_\"));\r\n}\r\n\r\n/** The name of an item in a [[Schema]], encoded to meet restrictions on the characters usable in such names.\r\n * An ECName meets the following criteria:\r\n * - Contains at least one character.\r\n * - Does not begin with a digit.\r\n * - Consists entirely of characters in the ASCII ranges A-Z, a-z, and 0-9; and the underscore (\"_\") character.\r\n *\r\n * All characters not meeting the above criteria are encoded as \"__x####__\" where \"####\" is the UTF-16 character code.\r\n * Such names are often automatically generated from the item's display label, which is unrestricted in the characters it may contain.\r\n * @public\r\n */\r\nexport class ECName {\r\n private _name: string;\r\n\r\n /** Construct a new ECName from a valid EC name.\r\n * throws ECSchemaError if `name` does not meet the criteria for a valid EC name.\r\n */\r\n constructor(name: string) {\r\n if (!ECName.validate(name))\r\n throw new ECSchemaError(ECSchemaStatus.InvalidECName);\r\n\r\n this._name = name;\r\n }\r\n\r\n /** Returns true if a string meets the criteria of a valid EC name. */\r\n public static validate(name: string): boolean {\r\n return validECNameRegex.test(name);\r\n }\r\n\r\n /** The underlying name as a string. */\r\n public get name(): string {\r\n return this._name;\r\n }\r\n\r\n /** Create an ECName from an arbitrary string, encoding any special characters as \"__x####__\" where \"####\" is the UTF-16 character code.\r\n * @throws ECSchemaError if `input` is an empty string.\r\n */\r\n public static encode(input: string): ECName {\r\n if (0 === input.length)\r\n throw new ECSchemaError(ECSchemaStatus.InvalidECName);\r\n\r\n if (ECName.validate(input)) {\r\n // It's already a valid EC name.\r\n return new ECName(input);\r\n }\r\n\r\n let output = \"\";\r\n\r\n function appendEncodedCharacter(index: number): void {\r\n const hex = input.charCodeAt(index).toString(16).toUpperCase();\r\n assert(hex.length > 0 && hex.length < 5);\r\n output += `__x${leadingDigits[hex.length]}${hex}__`;\r\n }\r\n\r\n // First character cannot be a digit.\r\n const firstCharIsDigit = isDigit(input[0]);\r\n if (firstCharIsDigit)\r\n appendEncodedCharacter(0);\r\n\r\n for (let i = firstCharIsDigit ? 1 : 0; i < input.length; i++) {\r\n const char = input[i];\r\n if (!isValidAlphaNumericCharacter(char))\r\n appendEncodedCharacter(i);\r\n else\r\n output += char;\r\n }\r\n\r\n return new ECName(output);\r\n }\r\n\r\n /** Decode this ECName, replacing encoded special characters with the characters they encode. */\r\n public decode(): string {\r\n return this.name.replace(ecNameReplacerRegex, (_match, hex) => String.fromCharCode(Number.parseInt(hex, 16)));\r\n }\r\n}\r\n"]}
@@ -147,7 +147,7 @@ export declare function parseSchemaItemType(type: string): SchemaItemType | unde
147
147
  * @param value The SchemaItemType to stringify.
148
148
  * @return A string representing the provided SchemaItemType. If the type is not valid, an empty string is returned.
149
149
  * @beta
150
- * @deprecated in 4.6.0 SchemaItemType is a string enum so just use it directly
150
+ * @deprecated in 4.6.0 - will not be removed until after 2026-06-13. SchemaItemType is a string enum so just use it directly
151
151
  */
152
152
  export declare function schemaItemTypeToString(value: SchemaItemType): string;
153
153
  /** @internal */
@@ -109,7 +109,7 @@ export var SchemaMatchType;
109
109
  (function (SchemaMatchType) {
110
110
  /*
111
111
  * Find exact VersionRead, VersionWrite, VersionMinor match as well as Data. NOTE data is not yet matched
112
- * @deprecated in 4.10 Use Exact instead.
112
+ * @deprecated in 4.10 - will not be removed until after 2026-06-13. Use Exact instead.
113
113
  */
114
114
  SchemaMatchType[SchemaMatchType["Identical"] = 0] = "Identical";
115
115
  /* Find exact VersionRead, VersionWrite, VersionMinor match. */
@@ -209,7 +209,7 @@ export function parseSchemaItemType(type) {
209
209
  * @param value The SchemaItemType to stringify.
210
210
  * @return A string representing the provided SchemaItemType. If the type is not valid, an empty string is returned.
211
211
  * @beta
212
- * @deprecated in 4.6.0 SchemaItemType is a string enum so just use it directly
212
+ * @deprecated in 4.6.0 - will not be removed until after 2026-06-13. SchemaItemType is a string enum so just use it directly
213
213
  */
214
214
  export function schemaItemTypeToString(value) {
215
215
  return value; // TODO: Remove
@@ -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":["/*---------------------------------------------------------------------------------------------\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 { ECSchemaError, ECSchemaStatus } 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/**\r\n * Identifies a class as abstract or sealed\r\n *\r\n * @public @preview\r\n */\r\nexport enum ECClassModifier {\r\n /* normal, instantiable class, can be subclassed */\r\n None,\r\n /* abstract class, cannot be instantiated, can be subclassed */\r\n Abstract,\r\n /* sealed class, instantiable class, cannot be subclassed */\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 *\r\n * @enum {string}\r\n * @public @preview\r\n */\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 * Additional Schema Item Types which define classes of item types\r\n * @public @preview\r\n */\r\nexport enum AbstractSchemaItemType {\r\n /* Item is EntityClass, Mixin, StructClass, CustomAttributeClass, or RelationshipClass */\r\n Class = \"Class\",\r\n /* Any item type including the Class types */\r\n SchemaItem = \"SchemaItem\",\r\n}\r\n\r\n/**\r\n * Defines types of items that may be provided to identify supported items\r\n * @public @preview\r\n */\r\nexport type SupportedSchemaItemType = SchemaItemType | AbstractSchemaItemType;\r\n\r\n/**\r\n * Primitive data types for ECProperties.\r\n * @public @preview\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 * @public @preview\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 * @public @preview\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 - will not be removed until after 2026-06-13. 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 * @public @preview\r\n */\r\nexport enum RelationshipEnd {\r\n Source = 0,\r\n Target = 1,\r\n}\r\n\r\n/**\r\n * Defines the how the lifetime of the source and target are related.\r\n *\r\n * @public @preview */\r\nexport enum StrengthType {\r\n Referencing,\r\n Holding,\r\n Embedding,\r\n}\r\n\r\n/**\r\n * Defines the which side of the relationship is the starting point of the relationship. This impacts how relationship strength is applied.\r\n *\r\n * @public @preview */\r\nexport enum StrengthDirection {\r\n /** The source is the starting point of the relationship. */\r\n Forward = 1,\r\n /** The target is the starting point of the relationship. */\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:\r\n throw new ECSchemaError(ECSchemaStatus.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 - will not be removed until after 2026-06-13. 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:\r\n throw new ECSchemaError(ECSchemaStatus.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:\r\n throw new ECSchemaError(ECSchemaStatus.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) 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 ECSchemaError(ECSchemaStatus.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 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) containerType = val;\r\n else 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:\r\n throw new ECSchemaError(ECSchemaStatus.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 ECSchemaStatus.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:\r\n throw new ECSchemaError(ECSchemaStatus.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:\r\n throw new ECSchemaError(ECSchemaStatus.InvalidStrengthDirection, `An invalid StrengthDirection has been provided.`);\r\n }\r\n}\r\n\r\n/** Compares a SchemaItemType against supported type.\r\n * @beta\r\n */\r\nexport function isSupportedSchemaItemType(value: SchemaItemType, supported: SupportedSchemaItemType): boolean {\r\n if (value === supported) return true;\r\n\r\n if (supported === AbstractSchemaItemType.Class && (\r\n value === SchemaItemType.EntityClass ||\r\n value === SchemaItemType.Mixin ||\r\n value === SchemaItemType.StructClass ||\r\n value === SchemaItemType.CustomAttributeClass ||\r\n value === SchemaItemType.RelationshipClass)) {\r\n return true;\r\n }\r\n\r\n if (supported === AbstractSchemaItemType.SchemaItem) {\r\n return true;\r\n }\r\n\r\n return false;\r\n}\r\n"]}
@@ -1 +1 @@
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/** @public @preview */\nexport enum ECSchemaStatus {\n ECSCHEMA_ERROR_BASE = 0x88EC,\n Success = 0,\n DuplicateItem = ECSCHEMA_ERROR_BASE + 1,\n DuplicateProperty = ECSCHEMA_ERROR_BASE + 2,\n DuplicateSchema = ECSCHEMA_ERROR_BASE + 3,\n ImmutableSchema = ECSCHEMA_ERROR_BASE + 4,\n InvalidContainerType = ECSCHEMA_ERROR_BASE + 5,\n InvalidECJson = ECSCHEMA_ERROR_BASE + 6,\n InvalidECName = ECSCHEMA_ERROR_BASE + 7,\n InvalidECVersion = ECSCHEMA_ERROR_BASE + 8,\n InvalidEnumValue = ECSCHEMA_ERROR_BASE + 9,\n InvalidModifier = ECSCHEMA_ERROR_BASE + 10,\n InvalidMultiplicity = ECSCHEMA_ERROR_BASE + 11,\n InvalidPrimitiveType = ECSCHEMA_ERROR_BASE + 12,\n InvalidSchemaItemType = ECSCHEMA_ERROR_BASE + 13,\n InvalidStrength = ECSCHEMA_ERROR_BASE + 14,\n InvalidStrengthDirection = ECSCHEMA_ERROR_BASE + 15,\n InvalidRelationshipEnd = ECSCHEMA_ERROR_BASE + 16,\n InvalidType = ECSCHEMA_ERROR_BASE + 17,\n MissingSchemaUrl = ECSCHEMA_ERROR_BASE + 18,\n UnableToLocateSchema = ECSCHEMA_ERROR_BASE + 19,\n InvalidSchemaXML = ECSCHEMA_ERROR_BASE + 20,\n InvalidSchemaString = ECSCHEMA_ERROR_BASE + 21,\n ClassNotFound = ECSCHEMA_ERROR_BASE + 22,\n SchemaContextUndefined = ECSCHEMA_ERROR_BASE + 23,\n DifferentSchemaContexts = ECSCHEMA_ERROR_BASE + 24,\n InvalidSchemaComparisonArgument = ECSCHEMA_ERROR_BASE + 25,\n InvalidSchemaAlias = ECSCHEMA_ERROR_BASE + 26,\n InvalidSchemaKey = ECSCHEMA_ERROR_BASE + 27,\n UnableToLoadSchema = ECSCHEMA_ERROR_BASE + 28,\n NewerECSpecVersion = ECSCHEMA_ERROR_BASE + 29,\n}\n\n/** @internal */\nexport class ECSchemaError 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 ECSchemaStatus.DuplicateItem: return this._appendMessage(\"ECSchemaStatus.DuplicateItem\");\n case ECSchemaStatus.DuplicateProperty: return this._appendMessage(\"ECSchemaStatus.DuplicateProperty\");\n case ECSchemaStatus.DuplicateSchema: return this._appendMessage(\"ECSchemaStatus.DuplicateSchema\");\n case ECSchemaStatus.ImmutableSchema: return this._appendMessage(\"ECSchemaStatus.ImmutableSchema\");\n case ECSchemaStatus.InvalidContainerType: return this._appendMessage(\"ECSchemaStatus.InvalidContainerType\");\n case ECSchemaStatus.InvalidECJson: return this._appendMessage(\"ECSchemaStatus.InvalidECJson\");\n case ECSchemaStatus.InvalidECName: return this._appendMessage(\"ECSchemaStatus.InvalidECName\");\n case ECSchemaStatus.InvalidECVersion: return this._appendMessage(\"ECSchemaStatus.InvalidECVersion\");\n case ECSchemaStatus.InvalidEnumValue: return this._appendMessage(\"ECSchemaStatus.InvalidEnumValue\");\n case ECSchemaStatus.InvalidModifier: return this._appendMessage(\"ECSchemaStatus.InvalidModifier\");\n case ECSchemaStatus.InvalidMultiplicity: return this._appendMessage(\"ECSchemaStatus.InvalidMultiplicity\");\n case ECSchemaStatus.InvalidPrimitiveType: return this._appendMessage(\"ECSchemaStatus.InvalidPrimitiveType\");\n case ECSchemaStatus.InvalidSchemaItemType: return this._appendMessage(\"ECSchemaStatus.InvalidSchemaItemType\");\n case ECSchemaStatus.InvalidStrength: return this._appendMessage(\"ECSchemaStatus.InvalidStrength\");\n case ECSchemaStatus.InvalidStrengthDirection: return this._appendMessage(\"ECSchemaStatus.InvalidStrengthDirection\");\n case ECSchemaStatus.InvalidRelationshipEnd: return this._appendMessage(\"ECSchemaStatus.InvalidRelationshipEnd\");\n case ECSchemaStatus.InvalidType: return this._appendMessage(\"ECSchemaStatus.InvalidType\");\n case ECSchemaStatus.MissingSchemaUrl: return this._appendMessage(\"ECSchemaStatus.MissingSchemaUrl\");\n case ECSchemaStatus.UnableToLocateSchema: return this._appendMessage(\"ECSchemaStatus.UnableToLocateSchema\");\n case ECSchemaStatus.ClassNotFound: return this._appendMessage(\"ECSchemaStatus.ClassNotFound\");\n case ECSchemaStatus.SchemaContextUndefined: return this._appendMessage(\"ECSchemaStatus.SchemaContextUndefined\");\n case ECSchemaStatus.DifferentSchemaContexts: return this._appendMessage(\"ECSchemaStatus.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
+ {"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/** @public @preview */\r\nexport enum ECSchemaStatus {\r\n ECSCHEMA_ERROR_BASE = 0x88EC,\r\n Success = 0,\r\n DuplicateItem = ECSCHEMA_ERROR_BASE + 1,\r\n DuplicateProperty = ECSCHEMA_ERROR_BASE + 2,\r\n DuplicateSchema = ECSCHEMA_ERROR_BASE + 3,\r\n ImmutableSchema = ECSCHEMA_ERROR_BASE + 4,\r\n InvalidContainerType = ECSCHEMA_ERROR_BASE + 5,\r\n InvalidECJson = ECSCHEMA_ERROR_BASE + 6,\r\n InvalidECName = ECSCHEMA_ERROR_BASE + 7,\r\n InvalidECVersion = ECSCHEMA_ERROR_BASE + 8,\r\n InvalidEnumValue = ECSCHEMA_ERROR_BASE + 9,\r\n InvalidModifier = ECSCHEMA_ERROR_BASE + 10,\r\n InvalidMultiplicity = ECSCHEMA_ERROR_BASE + 11,\r\n InvalidPrimitiveType = ECSCHEMA_ERROR_BASE + 12,\r\n InvalidSchemaItemType = ECSCHEMA_ERROR_BASE + 13,\r\n InvalidStrength = ECSCHEMA_ERROR_BASE + 14,\r\n InvalidStrengthDirection = ECSCHEMA_ERROR_BASE + 15,\r\n InvalidRelationshipEnd = ECSCHEMA_ERROR_BASE + 16,\r\n InvalidType = ECSCHEMA_ERROR_BASE + 17,\r\n MissingSchemaUrl = ECSCHEMA_ERROR_BASE + 18,\r\n UnableToLocateSchema = ECSCHEMA_ERROR_BASE + 19,\r\n InvalidSchemaXML = ECSCHEMA_ERROR_BASE + 20,\r\n InvalidSchemaString = ECSCHEMA_ERROR_BASE + 21,\r\n ClassNotFound = ECSCHEMA_ERROR_BASE + 22,\r\n SchemaContextUndefined = ECSCHEMA_ERROR_BASE + 23,\r\n DifferentSchemaContexts = ECSCHEMA_ERROR_BASE + 24,\r\n InvalidSchemaComparisonArgument = ECSCHEMA_ERROR_BASE + 25,\r\n InvalidSchemaAlias = ECSCHEMA_ERROR_BASE + 26,\r\n InvalidSchemaKey = ECSCHEMA_ERROR_BASE + 27,\r\n UnableToLoadSchema = ECSCHEMA_ERROR_BASE + 28,\r\n NewerECSpecVersion = ECSCHEMA_ERROR_BASE + 29,\r\n}\r\n\r\n/** @internal */\r\nexport class ECSchemaError 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 ECSchemaStatus.DuplicateItem: return this._appendMessage(\"ECSchemaStatus.DuplicateItem\");\r\n case ECSchemaStatus.DuplicateProperty: return this._appendMessage(\"ECSchemaStatus.DuplicateProperty\");\r\n case ECSchemaStatus.DuplicateSchema: return this._appendMessage(\"ECSchemaStatus.DuplicateSchema\");\r\n case ECSchemaStatus.ImmutableSchema: return this._appendMessage(\"ECSchemaStatus.ImmutableSchema\");\r\n case ECSchemaStatus.InvalidContainerType: return this._appendMessage(\"ECSchemaStatus.InvalidContainerType\");\r\n case ECSchemaStatus.InvalidECJson: return this._appendMessage(\"ECSchemaStatus.InvalidECJson\");\r\n case ECSchemaStatus.InvalidECName: return this._appendMessage(\"ECSchemaStatus.InvalidECName\");\r\n case ECSchemaStatus.InvalidECVersion: return this._appendMessage(\"ECSchemaStatus.InvalidECVersion\");\r\n case ECSchemaStatus.InvalidEnumValue: return this._appendMessage(\"ECSchemaStatus.InvalidEnumValue\");\r\n case ECSchemaStatus.InvalidModifier: return this._appendMessage(\"ECSchemaStatus.InvalidModifier\");\r\n case ECSchemaStatus.InvalidMultiplicity: return this._appendMessage(\"ECSchemaStatus.InvalidMultiplicity\");\r\n case ECSchemaStatus.InvalidPrimitiveType: return this._appendMessage(\"ECSchemaStatus.InvalidPrimitiveType\");\r\n case ECSchemaStatus.InvalidSchemaItemType: return this._appendMessage(\"ECSchemaStatus.InvalidSchemaItemType\");\r\n case ECSchemaStatus.InvalidStrength: return this._appendMessage(\"ECSchemaStatus.InvalidStrength\");\r\n case ECSchemaStatus.InvalidStrengthDirection: return this._appendMessage(\"ECSchemaStatus.InvalidStrengthDirection\");\r\n case ECSchemaStatus.InvalidRelationshipEnd: return this._appendMessage(\"ECSchemaStatus.InvalidRelationshipEnd\");\r\n case ECSchemaStatus.InvalidType: return this._appendMessage(\"ECSchemaStatus.InvalidType\");\r\n case ECSchemaStatus.MissingSchemaUrl: return this._appendMessage(\"ECSchemaStatus.MissingSchemaUrl\");\r\n case ECSchemaStatus.UnableToLocateSchema: return this._appendMessage(\"ECSchemaStatus.UnableToLocateSchema\");\r\n case ECSchemaStatus.ClassNotFound: return this._appendMessage(\"ECSchemaStatus.ClassNotFound\");\r\n case ECSchemaStatus.SchemaContextUndefined: return this._appendMessage(\"ECSchemaStatus.SchemaContextUndefined\");\r\n case ECSchemaStatus.DifferentSchemaContexts: return this._appendMessage(\"ECSchemaStatus.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 +1 @@
1
- {"version":3,"file":"Interfaces.js","sourceRoot":"","sources":["../../src/Interfaces.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Metadata\n */\n\nimport { 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/** @public @preview */\nexport type LazyLoadedSchema = SchemaKey & Promise<Schema>;\n\n/** @public @preview */\nexport type LazyLoadedSchemaItem<T extends SchemaItem> = SchemaItemKey & Promise<T>;\n/** @public @preview */\nexport type LazyLoadedECClass = LazyLoadedSchemaItem<ECClass>;\n/** @public @preview */\nexport type LazyLoadedEntityClass = LazyLoadedSchemaItem<EntityClass>;\n/** @public @preview */\nexport type LazyLoadedMixin = LazyLoadedSchemaItem<Mixin>;\n/** @public @preview */\nexport type LazyLoadedStructClass = LazyLoadedSchemaItem<StructClass>;\n/** @public @preview */\nexport type LazyLoadedRelationshipClass = LazyLoadedSchemaItem<RelationshipClass>;\n/** @public @preview */\nexport type LazyLoadedEnumeration = LazyLoadedSchemaItem<Enumeration>;\n/** @public @preview */\nexport type LazyLoadedFormat = LazyLoadedSchemaItem<Format>;\n/** @public @preview */\nexport type LazyLoadedKindOfQuantity = LazyLoadedSchemaItem<KindOfQuantity>;\n/** @public @preview */\nexport type LazyLoadedPropertyCategory = LazyLoadedSchemaItem<PropertyCategory>;\n/** @public @preview */\nexport type LazyLoadedRelationshipConstraintClass = LazyLoadedSchemaItem<EntityClass | Mixin | RelationshipClass>;\n/** @public @preview */\nexport type LazyLoadedUnit = LazyLoadedSchemaItem<Unit>;\n/** @public @preview */\nexport type LazyLoadedInvertedUnit = LazyLoadedSchemaItem<InvertedUnit>;\n/** @public @preview */\nexport type LazyLoadedPhenomenon = LazyLoadedSchemaItem<Phenomenon>;\n/** @public @preview */\nexport type LazyLoadedUnitSystem = LazyLoadedSchemaItem<UnitSystem>;\n\n/** @public @preview */\nexport type AnyClass =\n EntityClass |\n Mixin |\n StructClass |\n CustomAttributeClass |\n RelationshipClass;\n\n/** @public @preview */\nexport type AnySchemaItem =\n AnyClass |\n Enumeration |\n KindOfQuantity |\n PropertyCategory |\n Unit |\n InvertedUnit |\n Constant |\n Phenomenon |\n UnitSystem |\n Format;\n\n/** @public @preview */\nexport type AnyECType =\n Schema |\n SchemaItem |\n AnyProperty |\n RelationshipConstraint |\n CustomAttributeContainerProps |\n CustomAttribute |\n OverrideFormat |\n AnyEnumerator;\n\n/**\n * Holds the SchemaKeys for a schema and it's references. Designed so that Schema fulfills this interface.\n * @public @preview\n */\nexport interface SchemaInfo {\n readonly alias: string;\n readonly schemaKey: SchemaKey;\n readonly references: ReadonlyArray<WithSchemaKey>;\n}\n\n/** @public @preview */\nexport interface WithSchemaKey {\n readonly schemaKey: SchemaKey;\n}\n\n/** This is needed to break a circular dependency between Class and EntityClass.\n * @public @preview\n */\nexport interface HasMixins {\n readonly mixins: ReadonlyArray<LazyLoadedMixin>;\n getMixinsSync(): Iterable<Mixin>;\n}\n"]}
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 { 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/** @public @preview */\r\nexport type LazyLoadedSchema = SchemaKey & Promise<Schema>;\r\n\r\n/** @public @preview */\r\nexport type LazyLoadedSchemaItem<T extends SchemaItem> = SchemaItemKey & Promise<T>;\r\n/** @public @preview */\r\nexport type LazyLoadedECClass = LazyLoadedSchemaItem<ECClass>;\r\n/** @public @preview */\r\nexport type LazyLoadedEntityClass = LazyLoadedSchemaItem<EntityClass>;\r\n/** @public @preview */\r\nexport type LazyLoadedMixin = LazyLoadedSchemaItem<Mixin>;\r\n/** @public @preview */\r\nexport type LazyLoadedStructClass = LazyLoadedSchemaItem<StructClass>;\r\n/** @public @preview */\r\nexport type LazyLoadedRelationshipClass = LazyLoadedSchemaItem<RelationshipClass>;\r\n/** @public @preview */\r\nexport type LazyLoadedEnumeration = LazyLoadedSchemaItem<Enumeration>;\r\n/** @public @preview */\r\nexport type LazyLoadedFormat = LazyLoadedSchemaItem<Format>;\r\n/** @public @preview */\r\nexport type LazyLoadedKindOfQuantity = LazyLoadedSchemaItem<KindOfQuantity>;\r\n/** @public @preview */\r\nexport type LazyLoadedPropertyCategory = LazyLoadedSchemaItem<PropertyCategory>;\r\n/** @public @preview */\r\nexport type LazyLoadedRelationshipConstraintClass = LazyLoadedSchemaItem<EntityClass | Mixin | RelationshipClass>;\r\n/** @public @preview */\r\nexport type LazyLoadedUnit = LazyLoadedSchemaItem<Unit>;\r\n/** @public @preview */\r\nexport type LazyLoadedInvertedUnit = LazyLoadedSchemaItem<InvertedUnit>;\r\n/** @public @preview */\r\nexport type LazyLoadedPhenomenon = LazyLoadedSchemaItem<Phenomenon>;\r\n/** @public @preview */\r\nexport type LazyLoadedUnitSystem = LazyLoadedSchemaItem<UnitSystem>;\r\n\r\n/** @public @preview */\r\nexport type AnyClass =\r\n EntityClass |\r\n Mixin |\r\n StructClass |\r\n CustomAttributeClass |\r\n RelationshipClass;\r\n\r\n/** @public @preview */\r\nexport type AnySchemaItem =\r\n AnyClass |\r\n Enumeration |\r\n KindOfQuantity |\r\n PropertyCategory |\r\n Unit |\r\n InvertedUnit |\r\n Constant |\r\n Phenomenon |\r\n UnitSystem |\r\n Format;\r\n\r\n/** @public @preview */\r\nexport type AnyECType =\r\n Schema |\r\n SchemaItem |\r\n AnyProperty |\r\n RelationshipConstraint |\r\n CustomAttributeContainerProps |\r\n CustomAttribute |\r\n OverrideFormat |\r\n 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 * @public @preview\r\n */\r\nexport interface SchemaInfo {\r\n readonly alias: string;\r\n readonly schemaKey: SchemaKey;\r\n readonly references: ReadonlyArray<WithSchemaKey>;\r\n}\r\n\r\n/** @public @preview */\r\nexport interface WithSchemaKey {\r\n readonly schemaKey: SchemaKey;\r\n}\r\n\r\n/** This is needed to break a circular dependency between Class and EntityClass.\r\n * @public @preview\r\n */\r\nexport interface HasMixins {\r\n readonly mixins: ReadonlyArray<LazyLoadedMixin>;\r\n getMixinsSync(): Iterable<Mixin>;\r\n}\r\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 target
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(result: Property[], existingValues?: Map<string, number>): Promise<void>;
224
+ protected buildPropertyCache(): Promise<Map<string, Property>>;
236
225
  /**
237
226
  *
238
- * @param result
239
- * @param existingValues
227
+ * @param cache
240
228
  * @returns
241
229
  *
242
230
  * @internal
243
231
  */
244
- protected buildPropertyCacheSync(result: Property[], existingValues?: Map<string, number>): void;
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":"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"}
1
+ {"version":3,"file":"Class.d.ts","sourceRoot":"","sources":["../../../src/Metadata/Class.ts"],"names":[],"mappings":"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"}
@@ -121,34 +121,44 @@ export class ECClass extends SchemaItem {
121
121
  * @param name The name of the property to retrieve.
122
122
  * @param excludeInherited If true, excludes inherited properties from the results. Defaults to false.
123
123
  */
124
- async getProperty(name, excludeInherited = false) {
124
+ async getProperty(name, excludeInherited) {
125
+ const upperKey = name.toUpperCase();
126
+ let property;
125
127
  if (this._properties) {
126
- const upperKey = name.toUpperCase();
127
- const property = this._properties.get(upperKey);
128
- if (property)
128
+ property = this._properties.get(upperKey);
129
+ if (property) {
129
130
  return property;
131
+ }
130
132
  }
131
133
  if (excludeInherited) {
132
134
  return undefined;
133
135
  }
134
- return this.getInheritedProperty(name);
136
+ if (!this._mergedPropertyCache) {
137
+ this._mergedPropertyCache = await this.buildPropertyCache();
138
+ }
139
+ return this._mergedPropertyCache.get(upperKey);
135
140
  }
136
141
  /**
137
142
  * Searches, case-insensitive, for a local ECProperty with the name provided.
138
143
  * @param name The name of the property to retrieve.
139
144
  * @param excludeInherited If true, excludes inherited properties from the results. Defaults to false.
140
145
  */
141
- getPropertySync(name, excludeInherited = false) {
146
+ getPropertySync(name, excludeInherited) {
147
+ const upperKey = name.toUpperCase();
148
+ let property;
142
149
  if (this._properties) {
143
- const upperKey = name.toUpperCase();
144
- const property = this._properties.get(upperKey);
145
- if (property)
150
+ property = this._properties.get(upperKey);
151
+ if (property) {
146
152
  return property;
153
+ }
147
154
  }
148
155
  if (excludeInherited) {
149
156
  return undefined;
150
157
  }
151
- return this.getInheritedPropertySync(name);
158
+ if (!this._mergedPropertyCache) {
159
+ this._mergedPropertyCache = this.buildPropertyCacheSync();
160
+ }
161
+ return this._mergedPropertyCache.get(upperKey);
152
162
  }
153
163
  /**
154
164
  * Searches the base class, if one exists, for the property with the name provided.
@@ -368,7 +378,7 @@ export class ECClass extends SchemaItem {
368
378
  baseClassElement.textContent = baseClassName;
369
379
  itemElement.appendChild(baseClassElement);
370
380
  }
371
- if (undefined !== this._properties) {
381
+ if (this._properties) {
372
382
  for (const prop of this._properties.values()) {
373
383
  const propXml = await prop.toXml(schemaXml);
374
384
  itemElement.appendChild(propXml);
@@ -480,69 +490,51 @@ export class ECClass extends SchemaItem {
480
490
  }
481
491
  /**
482
492
  *
483
- * @param target
484
- * @param existingValues
485
- * @param propertiesToMerge
486
- * @param overwriteExisting
493
+ * @param cache
494
+ * @returns
487
495
  *
488
496
  * @internal
489
497
  */
490
- static mergeProperties(target, existingValues, propertiesToMerge, overwriteExisting) {
491
- for (const property of propertiesToMerge) {
492
- const upperCaseName = property.name.toUpperCase();
493
- const existing = existingValues.get(upperCaseName);
494
- if (existing !== undefined) {
495
- if (overwriteExisting) {
496
- target[existing] = property;
498
+ async buildPropertyCache() {
499
+ const cache = new Map();
500
+ const baseClass = await this.baseClass;
501
+ if (baseClass) {
502
+ for (const property of await baseClass.getProperties()) {
503
+ if (!cache.has(property.name.toUpperCase())) {
504
+ cache.set(property.name.toUpperCase(), property);
497
505
  }
498
506
  }
499
- else {
500
- existingValues.set(upperCaseName, target.length);
501
- target.push(property);
502
- }
503
- }
504
- }
505
- /**
506
- *
507
- * @param result
508
- * @param existingValues
509
- * @returns
510
- *
511
- * @internal
512
- */
513
- async buildPropertyCache(result, existingValues) {
514
- if (!existingValues) {
515
- existingValues = new Map();
516
507
  }
517
- if (this.baseClass) {
518
- const baseClass = await this.baseClass;
519
- if (baseClass) {
520
- ECClass.mergeProperties(result, existingValues, await baseClass.getProperties(), false);
521
- }
508
+ if (this._properties) {
509
+ this._properties.forEach(property => {
510
+ cache.set(property.name.toUpperCase(), property);
511
+ });
522
512
  }
523
- if (!this._properties)
524
- return;
525
- ECClass.mergeProperties(result, existingValues, [...this._properties.values()], true);
513
+ return cache;
526
514
  }
527
515
  /**
528
516
  *
529
- * @param result
530
- * @param existingValues
517
+ * @param cache
531
518
  * @returns
532
519
  *
533
520
  * @internal
534
521
  */
535
- buildPropertyCacheSync(result, existingValues) {
536
- if (!existingValues) {
537
- existingValues = new Map();
538
- }
522
+ buildPropertyCacheSync() {
523
+ const cache = new Map();
539
524
  const baseClass = this.getBaseClassSync();
540
525
  if (baseClass) {
541
- ECClass.mergeProperties(result, existingValues, baseClass.getPropertiesSync(), false);
526
+ for (const property of baseClass.getPropertiesSync()) {
527
+ if (!cache.has(property.name.toUpperCase())) {
528
+ cache.set(property.name.toUpperCase(), property);
529
+ }
530
+ }
542
531
  }
543
- if (!this._properties)
544
- return;
545
- ECClass.mergeProperties(result, existingValues, [...this._properties.values()], true);
532
+ if (this._properties) {
533
+ this._properties.forEach(property => {
534
+ cache.set(property.name.toUpperCase(), property);
535
+ });
536
+ }
537
+ return cache;
546
538
  }
547
539
  /**
548
540
  * Clears all caches on this object. This is called implicitly for this class,
@@ -563,10 +555,9 @@ export class ECClass extends SchemaItem {
563
555
  return this._properties && this._properties.size > 0 ? this._properties.values() : [];
564
556
  }
565
557
  if (!this._mergedPropertyCache) {
566
- this._mergedPropertyCache = [];
567
- this.buildPropertyCacheSync(this._mergedPropertyCache, undefined);
558
+ this._mergedPropertyCache = this.buildPropertyCacheSync();
568
559
  }
569
- return this._mergedPropertyCache;
560
+ return this._mergedPropertyCache.values();
570
561
  }
571
562
  /**
572
563
  * Quick way to check whether this class has any local properties without having to use the iterable