@itwin/ecschema-metadata 4.10.0-dev.8 → 5.0.0-dev.0

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 (151) hide show
  1. package/CHANGELOG.md +21 -1
  2. package/lib/cjs/DelayedPromise.d.ts.map +1 -1
  3. package/lib/cjs/Deserialization/AbstractParser.d.ts +3 -0
  4. package/lib/cjs/Deserialization/AbstractParser.d.ts.map +1 -1
  5. package/lib/cjs/Deserialization/AbstractParser.js.map +1 -1
  6. package/lib/cjs/Deserialization/Helper.d.ts +9 -0
  7. package/lib/cjs/Deserialization/Helper.d.ts.map +1 -1
  8. package/lib/cjs/Deserialization/Helper.js +24 -6
  9. package/lib/cjs/Deserialization/Helper.js.map +1 -1
  10. package/lib/cjs/Deserialization/JsonParser.d.ts +3 -0
  11. package/lib/cjs/Deserialization/JsonParser.d.ts.map +1 -1
  12. package/lib/cjs/Deserialization/JsonParser.js +55 -9
  13. package/lib/cjs/Deserialization/JsonParser.js.map +1 -1
  14. package/lib/cjs/Deserialization/JsonProps.d.ts +4 -0
  15. package/lib/cjs/Deserialization/JsonProps.d.ts.map +1 -1
  16. package/lib/cjs/Deserialization/JsonProps.js.map +1 -1
  17. package/lib/cjs/Deserialization/XmlParser.d.ts +3 -2
  18. package/lib/cjs/Deserialization/XmlParser.d.ts.map +1 -1
  19. package/lib/cjs/Deserialization/XmlParser.js +32 -13
  20. package/lib/cjs/Deserialization/XmlParser.js.map +1 -1
  21. package/lib/cjs/ECObjects.d.ts.map +1 -1
  22. package/lib/cjs/ECObjects.js +24 -21
  23. package/lib/cjs/ECObjects.js.map +1 -1
  24. package/lib/cjs/Exception.d.ts +2 -1
  25. package/lib/cjs/Exception.d.ts.map +1 -1
  26. package/lib/cjs/Exception.js +1 -0
  27. package/lib/cjs/Exception.js.map +1 -1
  28. package/lib/cjs/Metadata/Class.d.ts.map +1 -1
  29. package/lib/cjs/Metadata/Class.js +10 -3
  30. package/lib/cjs/Metadata/Class.js.map +1 -1
  31. package/lib/cjs/Metadata/Constant.js.map +1 -1
  32. package/lib/cjs/Metadata/CustomAttribute.js +1 -2
  33. package/lib/cjs/Metadata/CustomAttribute.js.map +1 -1
  34. package/lib/cjs/Metadata/CustomAttributeClass.js.map +1 -1
  35. package/lib/cjs/Metadata/EntityClass.js +3 -3
  36. package/lib/cjs/Metadata/EntityClass.js.map +1 -1
  37. package/lib/cjs/Metadata/Enumeration.d.ts.map +1 -1
  38. package/lib/cjs/Metadata/Enumeration.js +11 -4
  39. package/lib/cjs/Metadata/Enumeration.js.map +1 -1
  40. package/lib/cjs/Metadata/Format.d.ts.map +1 -1
  41. package/lib/cjs/Metadata/Format.js +6 -6
  42. package/lib/cjs/Metadata/Format.js.map +1 -1
  43. package/lib/cjs/Metadata/InvertedUnit.d.ts +4 -0
  44. package/lib/cjs/Metadata/InvertedUnit.d.ts.map +1 -1
  45. package/lib/cjs/Metadata/InvertedUnit.js +6 -0
  46. package/lib/cjs/Metadata/InvertedUnit.js.map +1 -1
  47. package/lib/cjs/Metadata/KindOfQuantity.d.ts +0 -4
  48. package/lib/cjs/Metadata/KindOfQuantity.d.ts.map +1 -1
  49. package/lib/cjs/Metadata/KindOfQuantity.js +2 -54
  50. package/lib/cjs/Metadata/KindOfQuantity.js.map +1 -1
  51. package/lib/cjs/Metadata/Mixin.js.map +1 -1
  52. package/lib/cjs/Metadata/OverrideFormat.d.ts +12 -0
  53. package/lib/cjs/Metadata/OverrideFormat.d.ts.map +1 -1
  54. package/lib/cjs/Metadata/OverrideFormat.js +55 -2
  55. package/lib/cjs/Metadata/OverrideFormat.js.map +1 -1
  56. package/lib/cjs/Metadata/Phenomenon.js.map +1 -1
  57. package/lib/cjs/Metadata/PropertyCategory.js.map +1 -1
  58. package/lib/cjs/Metadata/RelationshipClass.d.ts.map +1 -1
  59. package/lib/cjs/Metadata/RelationshipClass.js +8 -3
  60. package/lib/cjs/Metadata/RelationshipClass.js.map +1 -1
  61. package/lib/cjs/Metadata/Schema.d.ts +9 -0
  62. package/lib/cjs/Metadata/Schema.d.ts.map +1 -1
  63. package/lib/cjs/Metadata/Schema.js +74 -7
  64. package/lib/cjs/Metadata/Schema.js.map +1 -1
  65. package/lib/cjs/Metadata/SchemaItem.d.ts.map +1 -1
  66. package/lib/cjs/Metadata/Unit.js.map +1 -1
  67. package/lib/cjs/Metadata/UnitSystem.js.map +1 -1
  68. package/lib/cjs/PropertyTypes.js +2 -2
  69. package/lib/cjs/PropertyTypes.js.map +1 -1
  70. package/lib/cjs/SchemaKey.d.ts.map +1 -1
  71. package/lib/cjs/SchemaKey.js +1 -5
  72. package/lib/cjs/SchemaKey.js.map +1 -1
  73. package/lib/cjs/UnitConversion/Graph.d.ts.map +1 -1
  74. package/lib/cjs/UnitConversion/Parser.js +1 -2
  75. package/lib/cjs/UnitConversion/Parser.js.map +1 -1
  76. package/lib/cjs/UnitProvider/SchemaUnitProvider.d.ts +1 -6
  77. package/lib/cjs/UnitProvider/SchemaUnitProvider.d.ts.map +1 -1
  78. package/lib/cjs/UnitProvider/SchemaUnitProvider.js +100 -58
  79. package/lib/cjs/UnitProvider/SchemaUnitProvider.js.map +1 -1
  80. package/lib/esm/DelayedPromise.d.ts.map +1 -1
  81. package/lib/esm/Deserialization/AbstractParser.d.ts +3 -0
  82. package/lib/esm/Deserialization/AbstractParser.d.ts.map +1 -1
  83. package/lib/esm/Deserialization/AbstractParser.js.map +1 -1
  84. package/lib/esm/Deserialization/Helper.d.ts +9 -0
  85. package/lib/esm/Deserialization/Helper.d.ts.map +1 -1
  86. package/lib/esm/Deserialization/Helper.js +24 -6
  87. package/lib/esm/Deserialization/Helper.js.map +1 -1
  88. package/lib/esm/Deserialization/JsonParser.d.ts +3 -0
  89. package/lib/esm/Deserialization/JsonParser.d.ts.map +1 -1
  90. package/lib/esm/Deserialization/JsonParser.js +55 -9
  91. package/lib/esm/Deserialization/JsonParser.js.map +1 -1
  92. package/lib/esm/Deserialization/JsonProps.d.ts +4 -0
  93. package/lib/esm/Deserialization/JsonProps.d.ts.map +1 -1
  94. package/lib/esm/Deserialization/JsonProps.js.map +1 -1
  95. package/lib/esm/Deserialization/XmlParser.d.ts +3 -2
  96. package/lib/esm/Deserialization/XmlParser.d.ts.map +1 -1
  97. package/lib/esm/Deserialization/XmlParser.js +32 -13
  98. package/lib/esm/Deserialization/XmlParser.js.map +1 -1
  99. package/lib/esm/ECObjects.d.ts.map +1 -1
  100. package/lib/esm/ECObjects.js +8 -5
  101. package/lib/esm/ECObjects.js.map +1 -1
  102. package/lib/esm/Exception.d.ts +2 -1
  103. package/lib/esm/Exception.d.ts.map +1 -1
  104. package/lib/esm/Exception.js +1 -0
  105. package/lib/esm/Exception.js.map +1 -1
  106. package/lib/esm/Metadata/Class.d.ts.map +1 -1
  107. package/lib/esm/Metadata/Class.js +10 -3
  108. package/lib/esm/Metadata/Class.js.map +1 -1
  109. package/lib/esm/Metadata/Constant.js.map +1 -1
  110. package/lib/esm/Metadata/CustomAttributeClass.js.map +1 -1
  111. package/lib/esm/Metadata/EntityClass.js.map +1 -1
  112. package/lib/esm/Metadata/Enumeration.d.ts.map +1 -1
  113. package/lib/esm/Metadata/Enumeration.js +11 -4
  114. package/lib/esm/Metadata/Enumeration.js.map +1 -1
  115. package/lib/esm/Metadata/Format.d.ts.map +1 -1
  116. package/lib/esm/Metadata/Format.js +7 -7
  117. package/lib/esm/Metadata/Format.js.map +1 -1
  118. package/lib/esm/Metadata/InvertedUnit.d.ts +4 -0
  119. package/lib/esm/Metadata/InvertedUnit.d.ts.map +1 -1
  120. package/lib/esm/Metadata/InvertedUnit.js +6 -0
  121. package/lib/esm/Metadata/InvertedUnit.js.map +1 -1
  122. package/lib/esm/Metadata/KindOfQuantity.d.ts +0 -4
  123. package/lib/esm/Metadata/KindOfQuantity.d.ts.map +1 -1
  124. package/lib/esm/Metadata/KindOfQuantity.js +2 -54
  125. package/lib/esm/Metadata/KindOfQuantity.js.map +1 -1
  126. package/lib/esm/Metadata/Mixin.js.map +1 -1
  127. package/lib/esm/Metadata/OverrideFormat.d.ts +12 -0
  128. package/lib/esm/Metadata/OverrideFormat.d.ts.map +1 -1
  129. package/lib/esm/Metadata/OverrideFormat.js +53 -0
  130. package/lib/esm/Metadata/OverrideFormat.js.map +1 -1
  131. package/lib/esm/Metadata/Phenomenon.js.map +1 -1
  132. package/lib/esm/Metadata/PropertyCategory.js.map +1 -1
  133. package/lib/esm/Metadata/RelationshipClass.d.ts.map +1 -1
  134. package/lib/esm/Metadata/RelationshipClass.js +8 -3
  135. package/lib/esm/Metadata/RelationshipClass.js.map +1 -1
  136. package/lib/esm/Metadata/Schema.d.ts +9 -0
  137. package/lib/esm/Metadata/Schema.d.ts.map +1 -1
  138. package/lib/esm/Metadata/Schema.js +74 -7
  139. package/lib/esm/Metadata/Schema.js.map +1 -1
  140. package/lib/esm/Metadata/SchemaItem.d.ts.map +1 -1
  141. package/lib/esm/Metadata/Unit.js.map +1 -1
  142. package/lib/esm/Metadata/UnitSystem.js.map +1 -1
  143. package/lib/esm/SchemaKey.d.ts.map +1 -1
  144. package/lib/esm/SchemaKey.js +1 -5
  145. package/lib/esm/SchemaKey.js.map +1 -1
  146. package/lib/esm/UnitConversion/Graph.d.ts.map +1 -1
  147. package/lib/esm/UnitProvider/SchemaUnitProvider.d.ts +1 -6
  148. package/lib/esm/UnitProvider/SchemaUnitProvider.d.ts.map +1 -1
  149. package/lib/esm/UnitProvider/SchemaUnitProvider.js +100 -58
  150. package/lib/esm/UnitProvider/SchemaUnitProvider.js.map +1 -1
  151. package/package.json +10 -10
package/CHANGELOG.md CHANGED
@@ -1,6 +1,26 @@
1
1
  # Change Log - @itwin/ecschema-metadata
2
2
 
3
- This log was last generated on Wed, 25 Sep 2024 20:12:30 GMT and should not be manually modified.
3
+ This log was last generated on Tue, 22 Oct 2024 20:03:09 GMT and should not be manually modified.
4
+
5
+ ## 4.9.5
6
+ Tue, 22 Oct 2024 20:01:40 GMT
7
+
8
+ _Version update only_
9
+
10
+ ## 4.9.4
11
+ Wed, 09 Oct 2024 20:22:04 GMT
12
+
13
+ _Version update only_
14
+
15
+ ## 4.9.3
16
+ Thu, 03 Oct 2024 19:15:45 GMT
17
+
18
+ _Version update only_
19
+
20
+ ## 4.9.2
21
+ Wed, 02 Oct 2024 15:14:43 GMT
22
+
23
+ _Version update only_
4
24
 
5
25
  ## 4.9.1
6
26
  Wed, 25 Sep 2024 20:10:58 GMT
@@ -1 +1 @@
1
- {"version":3,"file":"DelayedPromise.d.ts","sourceRoot":"","sources":["../../src/DelayedPromise.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,cAAc,CAAC,CAAC,CAAE,YAAW,OAAO,CAAC,CAAC,CAAC;IAElD;;;OAGG;gBACS,aAAa,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC;IAS3C,SAAgB,CAAC,MAAM,CAAC,WAAW,CAAC,YAAsB;IAE1D;;OAEG;IACI,KAAK,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;IAE/B;;;;;OAKG;IACU,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,KAAK,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAIvP;;;;OAIG;IACU,KAAK,CAAC,OAAO,GAAG,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC;IAI5I;;;;OAIG;IACU,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC;CAG9E;AAGD;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAC;IACxB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAGD;;GAEG;AACH,MAAM,WAAW,kCAAkC;IAEjD;;;;;;;;;OASG;IACH,KAAK,MAAM,SAAS,uBAAuB,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;CAC5J;AAID;;GAEG;AAEH,eAAO,MAAM,uBAAuB,oCAYI,CAAC;AAIzC;;GAEG;AACH,MAAM,MAAM,uBAAuB,CAAC,MAAM,EAAE,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC"}
1
+ {"version":3,"file":"DelayedPromise.d.ts","sourceRoot":"","sources":["../../src/DelayedPromise.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,cAAc,CAAC,CAAC,CAAE,YAAW,OAAO,CAAC,CAAC,CAAC;IAElD;;;OAGG;gBACS,aAAa,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC;IAS3C,SAAgB,CAAC,MAAM,CAAC,WAAW,CAAC,YAAsB;IAE1D;;OAEG;IACI,KAAK,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;IAE/B;;;;;OAKG;IACU,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,KAAK,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAIvP;;;;OAIG;IACU,KAAK,CAAC,OAAO,GAAG,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC;IAI5I;;;;OAIG;IACU,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC;CAG9E;AAGD;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAC;IACxB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAGD;;GAEG;AACH,MAAM,WAAW,kCAAkC;IAEjD;;;;;;;;;OASG;IACH,KAAK,MAAM,SAAS,uBAAuB,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;CAC5J;AAID;;GAEG;AAEH,eAAO,MAAM,uBAAuB,EAY9B,kCAAkC,CAAC;AAIzC;;GAEG;AACH,MAAM,MAAM,uBAAuB,CAAC,MAAM,EAAE,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { ConstantProps, CustomAttributeClassProps, EntityClassProps, EnumerationProps, InvertedUnitProps, KindOfQuantityProps, MixinProps, NavigationPropertyProps, PhenomenonProps, PrimitiveArrayPropertyProps, PrimitivePropertyProps, PropertyCategoryProps, RelationshipClassProps, SchemaItemFormatProps, SchemaItemUnitProps, SchemaProps, SchemaReferenceProps, StructArrayPropertyProps, StructClassProps, StructPropertyProps, UnitSystemProps } from "../Deserialization/JsonProps";
2
2
  import { CustomAttribute } from "../Metadata/CustomAttribute";
3
3
  import { CustomAttributeClass } from "../Metadata/CustomAttributeClass";
4
+ import { ECSpecVersion } from "./Helper";
4
5
  type SchemaItemTuple<T> = Readonly<[string /** Name */, string /** SchemaItemType */, Readonly<T>]>;
5
6
  type PropertyTuple<T> = Readonly<[string /** Name */, string /** Property */, Readonly<T>]>;
6
7
  /** @internal */
@@ -9,6 +10,7 @@ export type CustomAttributeProvider = (caClass: CustomAttributeClass) => CustomA
9
10
  export type CAProviderTuple = Readonly<[string /** Full Name */, CustomAttributeProvider]>;
10
11
  /** @internal */
11
12
  export declare abstract class AbstractParser<TItem = any, TProperty = TItem> {
13
+ protected _ecSpecVersion?: ECSpecVersion;
12
14
  abstract parseSchema(): SchemaProps;
13
15
  abstract getReferences(): Iterable<SchemaReferenceProps>;
14
16
  abstract getItems(): Iterable<SchemaItemTuple<TItem>>;
@@ -37,6 +39,7 @@ export declare abstract class AbstractParser<TItem = any, TProperty = TItem> {
37
39
  abstract getClassCustomAttributeProviders(data: Readonly<TItem>): Iterable<CAProviderTuple>;
38
40
  abstract getPropertyCustomAttributeProviders(data: Readonly<TProperty>): Iterable<CAProviderTuple>;
39
41
  abstract getRelationshipConstraintCustomAttributeProviders(data: Readonly<TItem>): [Iterable<CAProviderTuple>, Iterable<CAProviderTuple>];
42
+ abstract get getECSpecVersion(): ECSpecVersion | undefined;
40
43
  }
41
44
  /** @internal */
42
45
  export interface AbstractParserConstructor<TSchema, TItem = any, TProperty = TItem> {
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractParser.d.ts","sourceRoot":"","sources":["../../../src/Deserialization/AbstractParser.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,aAAa,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,UAAU,EAChI,uBAAuB,EAAE,eAAe,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,sBAAsB,EAC5I,qBAAqB,EAAE,mBAAmB,EAAE,WAAW,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,eAAe,EAChK,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAExE,KAAK,eAAe,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpG,KAAK,aAAa,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE5F,gBAAgB;AAChB,MAAM,MAAM,uBAAuB,GAAG,CAAC,OAAO,EAAE,oBAAoB,KAAK,eAAe,CAAC;AAEzF,gBAAgB;AAChB,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC,CAAC,MAAM,CAAC,gBAAgB,EAAE,uBAAuB,CAAC,CAAC,CAAC;AAE3F,gBAAgB;AAChB,8BAAsB,cAAc,CAAC,KAAK,GAAG,GAAG,EAAE,SAAS,GAAG,KAAK;aACjD,WAAW,IAAI,WAAW;aAC1B,aAAa,IAAI,QAAQ,CAAC,oBAAoB,CAAC;aAE/C,QAAQ,IAAI,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;aAC5C,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,SAAS;aAE9D,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,gBAAgB;aACzD,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,UAAU;aAC7C,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,gBAAgB;aACzD,yBAAyB,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,yBAAyB;aAC3E,sBAAsB,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,sBAAsB;aACrE,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,gBAAgB;aACzD,mBAAmB,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,mBAAmB;aAC/D,qBAAqB,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,qBAAqB;aACnE,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,mBAAmB;aACrD,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,iBAAiB;aAC3D,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,aAAa;aACnD,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,eAAe;aACvD,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,qBAAqB;aACzD,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,eAAe;aAEvD,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;aAC1F,sBAAsB,CAAC,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,sBAAsB;aACzE,mBAAmB,CAAC,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,mBAAmB;aACnE,2BAA2B,CAAC,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,2BAA2B;aACnF,wBAAwB,CAAC,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,wBAAwB;aAC7E,uBAAuB,CAAC,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,uBAAuB;aAE3E,iCAAiC,IAAI,QAAQ,CAAC,eAAe,CAAC;aAC9D,gCAAgC,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,eAAe,CAAC;aAClF,mCAAmC,CAAC,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC,eAAe,CAAC;aACzF,iDAAiD,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAe,QAAQ,CAAC,eAAe,CAAC,CAAc;CAC3K;AAED,gBAAgB;AAEhB,MAAM,WAAW,yBAAyB,CAAC,OAAO,EAAE,KAAK,GAAG,GAAG,EAAE,SAAS,GAAG,KAAK;IAAI,KAAI,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,cAAc,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;CAAE"}
1
+ {"version":3,"file":"AbstractParser.d.ts","sourceRoot":"","sources":["../../../src/Deserialization/AbstractParser.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractParser.js","sourceRoot":"","sources":["../../../src/Deserialization/AbstractParser.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;AAmB/F,gBAAgB;AAChB,MAAsB,cAAc;CAiCnC;AAjCD,wCAiCC","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\r\nimport {\r\n ConstantProps, CustomAttributeClassProps, EntityClassProps, EnumerationProps, InvertedUnitProps, KindOfQuantityProps, MixinProps,\r\n NavigationPropertyProps, PhenomenonProps, PrimitiveArrayPropertyProps, PrimitivePropertyProps, PropertyCategoryProps, RelationshipClassProps,\r\n SchemaItemFormatProps, SchemaItemUnitProps, SchemaProps, SchemaReferenceProps, StructArrayPropertyProps, StructClassProps, StructPropertyProps, UnitSystemProps,\r\n} from \"../Deserialization/JsonProps\";\r\nimport { CustomAttribute } from \"../Metadata/CustomAttribute\";\r\nimport { CustomAttributeClass } from \"../Metadata/CustomAttributeClass\";\r\n\r\ntype SchemaItemTuple<T> = Readonly<[string /** Name */, string /** SchemaItemType */, Readonly<T>]>;\r\ntype PropertyTuple<T> = Readonly<[string /** Name */, string /** Property */, Readonly<T>]>;\r\n\r\n/** @internal */\r\nexport type CustomAttributeProvider = (caClass: CustomAttributeClass) => CustomAttribute;\r\n\r\n/** @internal */\r\nexport type CAProviderTuple = Readonly<[string /** Full Name */, CustomAttributeProvider]>;\r\n\r\n/** @internal */\r\nexport abstract class AbstractParser<TItem = any, TProperty = TItem> {\r\n public abstract parseSchema(): SchemaProps;\r\n public abstract getReferences(): Iterable<SchemaReferenceProps>;\r\n\r\n public abstract getItems(): Iterable<SchemaItemTuple<TItem>>;\r\n public abstract findItem(itemName: string): SchemaItemTuple<TItem> | undefined;\r\n\r\n public abstract parseEntityClass(data: Readonly<TItem>): EntityClassProps;\r\n public abstract parseMixin(data: Readonly<TItem>): MixinProps;\r\n public abstract parseStructClass(data: Readonly<TItem>): StructClassProps;\r\n public abstract parseCustomAttributeClass(data: Readonly<TItem>): CustomAttributeClassProps;\r\n public abstract parseRelationshipClass(data: Readonly<TItem>): RelationshipClassProps;\r\n public abstract parseEnumeration(data: Readonly<TItem>): EnumerationProps;\r\n public abstract parseKindOfQuantity(data: Readonly<TItem>): KindOfQuantityProps;\r\n public abstract parsePropertyCategory(data: Readonly<TItem>): PropertyCategoryProps;\r\n public abstract parseUnit(data: Readonly<TItem>): SchemaItemUnitProps;\r\n public abstract parseInvertedUnit(data: Readonly<TItem>): InvertedUnitProps;\r\n public abstract parseConstant(data: Readonly<TItem>): ConstantProps;\r\n public abstract parsePhenomenon(data: Readonly<TItem>): PhenomenonProps;\r\n public abstract parseFormat(data: Readonly<TItem>): SchemaItemFormatProps;\r\n public abstract parseUnitSystem(data: Readonly<TItem>): UnitSystemProps;\r\n\r\n public abstract getProperties(data: Readonly<TItem>, itemName: string): Iterable<PropertyTuple<TProperty>>;\r\n public abstract parsePrimitiveProperty(data: Readonly<TProperty>): PrimitivePropertyProps;\r\n public abstract parseStructProperty(data: Readonly<TProperty>): StructPropertyProps;\r\n public abstract parsePrimitiveArrayProperty(data: Readonly<TProperty>): PrimitiveArrayPropertyProps;\r\n public abstract parseStructArrayProperty(data: Readonly<TProperty>): StructArrayPropertyProps;\r\n public abstract parseNavigationProperty(data: Readonly<TProperty>): NavigationPropertyProps;\r\n\r\n public abstract getSchemaCustomAttributeProviders(): Iterable<CAProviderTuple>;\r\n public abstract getClassCustomAttributeProviders(data: Readonly<TItem>): Iterable<CAProviderTuple>;\r\n public abstract getPropertyCustomAttributeProviders(data: Readonly<TProperty>): Iterable<CAProviderTuple>;\r\n public abstract getRelationshipConstraintCustomAttributeProviders(data: Readonly<TItem>): [Iterable<CAProviderTuple> /* source */, Iterable<CAProviderTuple> /* target */];\r\n}\r\n\r\n/** @internal */\r\n// eslint-disable-next-line @typescript-eslint/prefer-function-type\r\nexport interface AbstractParserConstructor<TSchema, TItem = any, TProperty = TItem> { new(obj: Readonly<TSchema>): AbstractParser<TItem, TProperty> }\r\n"]}
1
+ {"version":3,"file":"AbstractParser.js","sourceRoot":"","sources":["../../../src/Deserialization/AbstractParser.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;AAoB/F,gBAAgB;AAChB,MAAsB,cAAc;CAoCnC;AApCD,wCAoCC","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\r\nimport {\r\n ConstantProps, CustomAttributeClassProps, EntityClassProps, EnumerationProps, InvertedUnitProps, KindOfQuantityProps, MixinProps,\r\n NavigationPropertyProps, PhenomenonProps, PrimitiveArrayPropertyProps, PrimitivePropertyProps, PropertyCategoryProps, RelationshipClassProps,\r\n SchemaItemFormatProps, SchemaItemUnitProps, SchemaProps, SchemaReferenceProps, StructArrayPropertyProps, StructClassProps, StructPropertyProps, UnitSystemProps,\r\n} from \"../Deserialization/JsonProps\";\r\nimport { CustomAttribute } from \"../Metadata/CustomAttribute\";\r\nimport { CustomAttributeClass } from \"../Metadata/CustomAttributeClass\";\r\nimport { ECSpecVersion } from \"./Helper\";\r\n\r\ntype SchemaItemTuple<T> = Readonly<[string /** Name */, string /** SchemaItemType */, Readonly<T>]>;\r\ntype PropertyTuple<T> = Readonly<[string /** Name */, string /** Property */, Readonly<T>]>;\r\n\r\n/** @internal */\r\nexport type CustomAttributeProvider = (caClass: CustomAttributeClass) => CustomAttribute;\r\n\r\n/** @internal */\r\nexport type CAProviderTuple = Readonly<[string /** Full Name */, CustomAttributeProvider]>;\r\n\r\n/** @internal */\r\nexport abstract class AbstractParser<TItem = any, TProperty = TItem> {\r\n protected _ecSpecVersion?: ECSpecVersion;\r\n\r\n public abstract parseSchema(): SchemaProps;\r\n public abstract getReferences(): Iterable<SchemaReferenceProps>;\r\n\r\n public abstract getItems(): Iterable<SchemaItemTuple<TItem>>;\r\n public abstract findItem(itemName: string): SchemaItemTuple<TItem> | undefined;\r\n\r\n public abstract parseEntityClass(data: Readonly<TItem>): EntityClassProps;\r\n public abstract parseMixin(data: Readonly<TItem>): MixinProps;\r\n public abstract parseStructClass(data: Readonly<TItem>): StructClassProps;\r\n public abstract parseCustomAttributeClass(data: Readonly<TItem>): CustomAttributeClassProps;\r\n public abstract parseRelationshipClass(data: Readonly<TItem>): RelationshipClassProps;\r\n public abstract parseEnumeration(data: Readonly<TItem>): EnumerationProps;\r\n public abstract parseKindOfQuantity(data: Readonly<TItem>): KindOfQuantityProps;\r\n public abstract parsePropertyCategory(data: Readonly<TItem>): PropertyCategoryProps;\r\n public abstract parseUnit(data: Readonly<TItem>): SchemaItemUnitProps;\r\n public abstract parseInvertedUnit(data: Readonly<TItem>): InvertedUnitProps;\r\n public abstract parseConstant(data: Readonly<TItem>): ConstantProps;\r\n public abstract parsePhenomenon(data: Readonly<TItem>): PhenomenonProps;\r\n public abstract parseFormat(data: Readonly<TItem>): SchemaItemFormatProps;\r\n public abstract parseUnitSystem(data: Readonly<TItem>): UnitSystemProps;\r\n\r\n public abstract getProperties(data: Readonly<TItem>, itemName: string): Iterable<PropertyTuple<TProperty>>;\r\n public abstract parsePrimitiveProperty(data: Readonly<TProperty>): PrimitivePropertyProps;\r\n public abstract parseStructProperty(data: Readonly<TProperty>): StructPropertyProps;\r\n public abstract parsePrimitiveArrayProperty(data: Readonly<TProperty>): PrimitiveArrayPropertyProps;\r\n public abstract parseStructArrayProperty(data: Readonly<TProperty>): StructArrayPropertyProps;\r\n public abstract parseNavigationProperty(data: Readonly<TProperty>): NavigationPropertyProps;\r\n\r\n public abstract getSchemaCustomAttributeProviders(): Iterable<CAProviderTuple>;\r\n public abstract getClassCustomAttributeProviders(data: Readonly<TItem>): Iterable<CAProviderTuple>;\r\n public abstract getPropertyCustomAttributeProviders(data: Readonly<TProperty>): Iterable<CAProviderTuple>;\r\n public abstract getRelationshipConstraintCustomAttributeProviders(data: Readonly<TItem>): [Iterable<CAProviderTuple> /* source */, Iterable<CAProviderTuple> /* target */];\r\n public abstract get getECSpecVersion(): ECSpecVersion | undefined;\r\n}\r\n\r\n/** @internal */\r\n// eslint-disable-next-line @typescript-eslint/prefer-function-type\r\nexport interface AbstractParserConstructor<TSchema, TItem = any, TProperty = TItem> { new(obj: Readonly<TSchema>): AbstractParser<TItem, TProperty> }\r\n"]}
@@ -3,6 +3,14 @@ import { SchemaInfo } from "../Interfaces";
3
3
  import { Schema } from "../Metadata/Schema";
4
4
  import { ISchemaPartVisitor } from "../SchemaPartVisitorDelegate";
5
5
  import { AbstractParserConstructor } from "./AbstractParser";
6
+ /**
7
+ * Specifies the version specification for the schema
8
+ * @internal
9
+ */
10
+ export interface ECSpecVersion {
11
+ readVersion: number;
12
+ writeVersion: number;
13
+ }
6
14
  /**
7
15
  * This class properly handles the order the deserialization of ECSchemas and SchemaItems from serialized formats.
8
16
  * For example, when deserializing an ECClass most times all base class should be de-serialized before the given class.
@@ -259,5 +267,6 @@ export declare class SchemaReadHelper<T = unknown> {
259
267
  * @param customAttributes An iterable set of parsed CustomAttribute objects.
260
268
  */
261
269
  private loadCustomAttributesSync;
270
+ static isECSpecVersionNewer(ecSpecVersion?: ECSpecVersion): boolean;
262
271
  }
263
272
  //# sourceMappingURL=Helper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Helper.d.ts","sourceRoot":"","sources":["../../../src/Deserialization/Helper.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG3C,OAAO,EAA2B,UAAU,EAAE,MAAM,eAAe,CAAC;AAWpE,OAAO,EAAiB,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAI3D,OAAO,EAAE,kBAAkB,EAA6B,MAAM,8BAA8B,CAAC;AAE7F,OAAO,EAAkB,yBAAyB,EAAmB,MAAM,kBAAkB,CAAC;AAO9F;;;;GAIG;AACH,qBAAa,gBAAgB,CAAC,CAAC,GAAG,OAAO;IACvC,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,cAAc,CAAC,CAA4B;IACnD,OAAO,CAAC,WAAW,CAAwC;IAC3D,OAAO,CAAC,OAAO,CAA2B;IAI1C,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,WAAW,CAAC,CAAa;gBAErB,UAAU,EAAE,yBAAyB,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,kBAAkB;IAM3G;;;;;;OAMG;IACU,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IA+B3F;;;;OAIG;IACU,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;YAahE,UAAU;IAgCxB;;;;OAIG;IACI,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC;IA0CnE;;;OAGG;YACW,mBAAmB;IAkBjC;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAqB/B;;;OAGG;IACH,OAAO,CAAE,wBAAwB;IAkBjC;;;;;;OAMG;YACW,cAAc;IAuE5B;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;IAsE1B;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,wBAAwB;IAcvC;;;;;;;OAOG;YACW,cAAc;IAmC5B;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB;IA+B1B;;;;OAIG;YACW,QAAQ;IAStB;;;;OAIG;IACH,OAAO,CAAC,YAAY;IASpB;;;;OAIG;YACW,kBAAkB;IAehC;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IAc9B;;;;OAIG;YACW,YAAY;IAO1B;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAOxB;;;;OAIG;YACW,gBAAgB;IAS9B;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAS5B;;;;OAIG;YACW,UAAU;IAYxB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAatB;;;;;OAKG;YACW,SAAS;IAsBvB;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAsBrB;;;;OAIG;YACW,eAAe;IAY7B;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAY3B;;;;OAIG;YACW,SAAS;IAavB;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAarB;;;;OAIG;YACW,qBAAqB;IAWnC;;;;OAIG;IACH,OAAO,CAAC,yBAAyB;IAWjC;;;;OAIG;YACW,0BAA0B;IAYxC;;;;OAIG;IACH,OAAO,CAAC,8BAA8B;IAatC;;;;;;OAMG;YACW,iBAAiB;IA6C/B;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;IA4C7B;;;;;OAKG;YACW,YAAY;IAa1B;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAaxB;;;;;OAKG;YACW,oBAAoB;IAmBlC;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;CAWjC"}
1
+ {"version":3,"file":"Helper.d.ts","sourceRoot":"","sources":["../../../src/Deserialization/Helper.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ exports.SchemaReadHelper = void 0;
8
8
  const Context_1 = require("../Context");
9
9
  const ECObjects_1 = require("../ECObjects");
10
10
  const Exception_1 = require("../Exception");
11
+ const Schema_1 = require("../Metadata/Schema");
11
12
  const SchemaItem_1 = require("../Metadata/SchemaItem");
12
13
  const SchemaKey_1 = require("../SchemaKey");
13
14
  const SchemaPartVisitorDelegate_1 = require("../SchemaPartVisitorDelegate");
@@ -725,14 +726,19 @@ class SchemaReadHelper {
725
726
  */
726
727
  async loadPropertyTypes(classObj, propName, propType, rawProperty) {
727
728
  const loadTypeName = async (typeName) => {
728
- if (undefined === (0, ECObjects_1.parsePrimitiveType)(typeName))
729
+ if (undefined === (0, ECObjects_1.parsePrimitiveType)(typeName)) {
730
+ if (SchemaReadHelper.isECSpecVersionNewer(this._parser.getECSpecVersion))
731
+ return Exception_1.ECObjectsStatus.NewerECSpecVersion;
729
732
  await this.findSchemaItem(typeName);
733
+ }
734
+ return Exception_1.ECObjectsStatus.Success;
730
735
  };
731
736
  const lowerCasePropType = propType.toLowerCase();
732
737
  switch (lowerCasePropType) {
733
738
  case "primitiveproperty":
734
739
  const primPropertyProps = this._parser.parsePrimitiveProperty(rawProperty);
735
- await loadTypeName(primPropertyProps.typeName);
740
+ if (await loadTypeName(primPropertyProps.typeName) === Exception_1.ECObjectsStatus.NewerECSpecVersion)
741
+ primPropertyProps.typeName = "string";
736
742
  const primProp = await classObj.createPrimitiveProperty(propName, primPropertyProps.typeName);
737
743
  return this.loadProperty(primProp, primPropertyProps, rawProperty);
738
744
  case "structproperty":
@@ -742,7 +748,8 @@ class SchemaReadHelper {
742
748
  return this.loadProperty(structProp, structPropertyProps, rawProperty);
743
749
  case "primitivearrayproperty":
744
750
  const primArrPropertyProps = this._parser.parsePrimitiveArrayProperty(rawProperty);
745
- await loadTypeName(primArrPropertyProps.typeName);
751
+ if (await loadTypeName(primArrPropertyProps.typeName) === Exception_1.ECObjectsStatus.NewerECSpecVersion)
752
+ primArrPropertyProps.typeName = "string";
746
753
  const primArrProp = await classObj.createPrimitiveArrayProperty(propName, primArrPropertyProps.typeName);
747
754
  return this.loadProperty(primArrProp, primArrPropertyProps, rawProperty);
748
755
  case "structarrayproperty":
@@ -768,14 +775,19 @@ class SchemaReadHelper {
768
775
  */
769
776
  loadPropertyTypesSync(classObj, propName, propType, rawProperty) {
770
777
  const loadTypeName = (typeName) => {
771
- if (undefined === (0, ECObjects_1.parsePrimitiveType)(typeName))
778
+ if (undefined === (0, ECObjects_1.parsePrimitiveType)(typeName)) {
779
+ if (SchemaReadHelper.isECSpecVersionNewer(this._parser.getECSpecVersion))
780
+ return Exception_1.ECObjectsStatus.NewerECSpecVersion;
772
781
  this.findSchemaItemSync(typeName);
782
+ }
783
+ return Exception_1.ECObjectsStatus.Success;
773
784
  };
774
785
  const lowerCasePropType = propType.toLowerCase();
775
786
  switch (lowerCasePropType) {
776
787
  case "primitiveproperty":
777
788
  const primPropertyProps = this._parser.parsePrimitiveProperty(rawProperty);
778
- loadTypeName(primPropertyProps.typeName);
789
+ if (loadTypeName(primPropertyProps.typeName) === Exception_1.ECObjectsStatus.NewerECSpecVersion)
790
+ primPropertyProps.typeName = "string";
779
791
  const primProp = classObj.createPrimitivePropertySync(propName, primPropertyProps.typeName);
780
792
  return this.loadPropertySync(primProp, primPropertyProps, rawProperty);
781
793
  case "structproperty":
@@ -785,7 +797,8 @@ class SchemaReadHelper {
785
797
  return this.loadPropertySync(structProp, structPropertyProps, rawProperty);
786
798
  case "primitivearrayproperty":
787
799
  const primArrPropertyProps = this._parser.parsePrimitiveArrayProperty(rawProperty);
788
- loadTypeName(primArrPropertyProps.typeName);
800
+ if (loadTypeName(primArrPropertyProps.typeName) === Exception_1.ECObjectsStatus.NewerECSpecVersion)
801
+ primArrPropertyProps.typeName = "string";
789
802
  const primArrProp = classObj.createPrimitiveArrayPropertySync(propName, primArrPropertyProps.typeName);
790
803
  return this.loadPropertySync(primArrProp, primArrPropertyProps, rawProperty);
791
804
  case "structarrayproperty":
@@ -870,6 +883,11 @@ class SchemaReadHelper {
870
883
  container.addCustomAttribute(customAttribute);
871
884
  }
872
885
  }
886
+ static isECSpecVersionNewer(ecSpecVersion) {
887
+ if (ecSpecVersion === undefined || ecSpecVersion.readVersion === undefined || ecSpecVersion.writeVersion === undefined)
888
+ return false;
889
+ return ((ecSpecVersion.readVersion > Schema_1.Schema.currentECSpecMajorVersion) || (ecSpecVersion.readVersion === Schema_1.Schema.currentECSpecMajorVersion && ecSpecVersion.writeVersion > Schema_1.Schema.currentECSpecMinorVersion));
890
+ }
873
891
  }
874
892
  exports.SchemaReadHelper = SchemaReadHelper;
875
893
  //# sourceMappingURL=Helper.js.map