@itwin/ecschema-metadata 5.0.0-dev.11 → 5.0.0-dev.111
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +73 -1
- package/lib/cjs/Constants.d.ts +8 -0
- package/lib/cjs/Constants.d.ts.map +1 -1
- package/lib/cjs/Constants.js +30 -21
- package/lib/cjs/Constants.js.map +1 -1
- package/lib/cjs/Context.d.ts +85 -36
- package/lib/cjs/Context.d.ts.map +1 -1
- package/lib/cjs/Context.js +79 -29
- package/lib/cjs/Context.js.map +1 -1
- package/lib/cjs/DelayedPromise.d.ts +9 -8
- package/lib/cjs/DelayedPromise.d.ts.map +1 -1
- package/lib/cjs/DelayedPromise.js +8 -6
- package/lib/cjs/DelayedPromise.js.map +1 -1
- package/lib/cjs/Deserialization/AbstractParser.js +1 -0
- package/lib/cjs/Deserialization/AbstractParser.js.map +1 -1
- package/lib/cjs/Deserialization/Helper.d.ts +3 -3
- package/lib/cjs/Deserialization/Helper.d.ts.map +1 -1
- package/lib/cjs/Deserialization/Helper.js +35 -26
- package/lib/cjs/Deserialization/Helper.js.map +1 -1
- package/lib/cjs/Deserialization/JsonParser.js +153 -150
- package/lib/cjs/Deserialization/JsonParser.js.map +1 -1
- package/lib/cjs/Deserialization/JsonProps.d.ts +47 -33
- package/lib/cjs/Deserialization/JsonProps.d.ts.map +1 -1
- package/lib/cjs/Deserialization/JsonProps.js +3 -3
- package/lib/cjs/Deserialization/JsonProps.js.map +1 -1
- package/lib/cjs/Deserialization/SchemaGraphUtil.js.map +1 -1
- package/lib/cjs/Deserialization/XmlParser.d.ts.map +1 -1
- package/lib/cjs/Deserialization/XmlParser.js +60 -52
- package/lib/cjs/Deserialization/XmlParser.js.map +1 -1
- package/lib/cjs/Deserialization/XmlSerializationUtils.d.ts +0 -5
- package/lib/cjs/Deserialization/XmlSerializationUtils.d.ts.map +1 -1
- package/lib/cjs/Deserialization/XmlSerializationUtils.js +8 -17
- package/lib/cjs/Deserialization/XmlSerializationUtils.js.map +1 -1
- package/lib/cjs/ECName.d.ts +2 -2
- package/lib/cjs/ECName.js +5 -4
- package/lib/cjs/ECName.js.map +1 -1
- package/lib/cjs/ECObjects.d.ts +41 -9
- package/lib/cjs/ECObjects.d.ts.map +1 -1
- package/lib/cjs/ECObjects.js +78 -24
- package/lib/cjs/ECObjects.js.map +1 -1
- package/lib/cjs/Exception.d.ts +4 -4
- package/lib/cjs/Exception.d.ts.map +1 -1
- package/lib/cjs/Exception.js +61 -60
- package/lib/cjs/Exception.js.map +1 -1
- package/lib/cjs/Interfaces.d.ts +35 -32
- package/lib/cjs/Interfaces.d.ts.map +1 -1
- package/lib/cjs/Interfaces.js.map +1 -1
- package/lib/cjs/Metadata/Class.d.ts +179 -32
- package/lib/cjs/Metadata/Class.d.ts.map +1 -1
- package/lib/cjs/Metadata/Class.js +290 -88
- package/lib/cjs/Metadata/Class.js.map +1 -1
- package/lib/cjs/Metadata/Constant.d.ts +26 -10
- package/lib/cjs/Metadata/Constant.d.ts.map +1 -1
- package/lib/cjs/Metadata/Constant.js +38 -10
- package/lib/cjs/Metadata/Constant.js.map +1 -1
- package/lib/cjs/Metadata/CustomAttribute.d.ts +2 -2
- package/lib/cjs/Metadata/CustomAttribute.d.ts.map +1 -1
- package/lib/cjs/Metadata/CustomAttribute.js.map +1 -1
- package/lib/cjs/Metadata/CustomAttributeClass.d.ts +21 -7
- package/lib/cjs/Metadata/CustomAttributeClass.d.ts.map +1 -1
- package/lib/cjs/Metadata/CustomAttributeClass.js +28 -8
- package/lib/cjs/Metadata/CustomAttributeClass.js.map +1 -1
- package/lib/cjs/Metadata/EntityClass.d.ts +40 -11
- package/lib/cjs/Metadata/EntityClass.d.ts.map +1 -1
- package/lib/cjs/Metadata/EntityClass.js +72 -34
- package/lib/cjs/Metadata/EntityClass.js.map +1 -1
- package/lib/cjs/Metadata/Enumeration.d.ts +30 -10
- package/lib/cjs/Metadata/Enumeration.d.ts.map +1 -1
- package/lib/cjs/Metadata/Enumeration.js +41 -13
- package/lib/cjs/Metadata/Enumeration.js.map +1 -1
- package/lib/cjs/Metadata/Format.d.ts +65 -17
- package/lib/cjs/Metadata/Format.d.ts.map +1 -1
- package/lib/cjs/Metadata/Format.js +107 -22
- package/lib/cjs/Metadata/Format.js.map +1 -1
- package/lib/cjs/Metadata/InvertedUnit.d.ts +19 -10
- package/lib/cjs/Metadata/InvertedUnit.d.ts.map +1 -1
- package/lib/cjs/Metadata/InvertedUnit.js +32 -15
- package/lib/cjs/Metadata/InvertedUnit.js.map +1 -1
- package/lib/cjs/Metadata/KindOfQuantity.d.ts +38 -18
- package/lib/cjs/Metadata/KindOfQuantity.d.ts.map +1 -1
- package/lib/cjs/Metadata/KindOfQuantity.js +90 -40
- package/lib/cjs/Metadata/KindOfQuantity.js.map +1 -1
- package/lib/cjs/Metadata/Mixin.d.ts +31 -4
- package/lib/cjs/Metadata/Mixin.d.ts.map +1 -1
- package/lib/cjs/Metadata/Mixin.js +42 -8
- package/lib/cjs/Metadata/Mixin.js.map +1 -1
- package/lib/cjs/Metadata/OverrideFormat.d.ts +12 -12
- package/lib/cjs/Metadata/OverrideFormat.d.ts.map +1 -1
- package/lib/cjs/Metadata/OverrideFormat.js +36 -19
- package/lib/cjs/Metadata/OverrideFormat.js.map +1 -1
- package/lib/cjs/Metadata/Phenomenon.d.ts +24 -3
- package/lib/cjs/Metadata/Phenomenon.d.ts.map +1 -1
- package/lib/cjs/Metadata/Phenomenon.js +32 -3
- package/lib/cjs/Metadata/Phenomenon.js.map +1 -1
- package/lib/cjs/Metadata/Property.d.ts +47 -25
- package/lib/cjs/Metadata/Property.d.ts.map +1 -1
- package/lib/cjs/Metadata/Property.js +128 -49
- package/lib/cjs/Metadata/Property.js.map +1 -1
- package/lib/cjs/Metadata/PropertyCategory.d.ts +20 -4
- package/lib/cjs/Metadata/PropertyCategory.d.ts.map +1 -1
- package/lib/cjs/Metadata/PropertyCategory.js +31 -4
- package/lib/cjs/Metadata/PropertyCategory.js.map +1 -1
- package/lib/cjs/Metadata/RelationshipClass.d.ts +63 -27
- package/lib/cjs/Metadata/RelationshipClass.d.ts.map +1 -1
- package/lib/cjs/Metadata/RelationshipClass.js +100 -43
- package/lib/cjs/Metadata/RelationshipClass.js.map +1 -1
- package/lib/cjs/Metadata/Schema.d.ts +167 -41
- package/lib/cjs/Metadata/Schema.d.ts.map +1 -1
- package/lib/cjs/Metadata/Schema.js +211 -111
- package/lib/cjs/Metadata/Schema.js.map +1 -1
- package/lib/cjs/Metadata/SchemaItem.d.ts +19 -19
- package/lib/cjs/Metadata/SchemaItem.d.ts.map +1 -1
- package/lib/cjs/Metadata/SchemaItem.js +23 -21
- package/lib/cjs/Metadata/SchemaItem.js.map +1 -1
- package/lib/cjs/Metadata/Unit.d.ts +24 -21
- package/lib/cjs/Metadata/Unit.d.ts.map +1 -1
- package/lib/cjs/Metadata/Unit.js +40 -24
- package/lib/cjs/Metadata/Unit.js.map +1 -1
- package/lib/cjs/Metadata/UnitSystem.d.ts +17 -4
- package/lib/cjs/Metadata/UnitSystem.d.ts.map +1 -1
- package/lib/cjs/Metadata/UnitSystem.js +24 -4
- package/lib/cjs/Metadata/UnitSystem.js.map +1 -1
- package/lib/cjs/PropertyTypes.d.ts +11 -11
- package/lib/cjs/PropertyTypes.d.ts.map +1 -1
- package/lib/cjs/PropertyTypes.js +28 -20
- package/lib/cjs/PropertyTypes.js.map +1 -1
- package/lib/cjs/SchemaFormatsProvider.d.ts +39 -0
- package/lib/cjs/SchemaFormatsProvider.d.ts.map +1 -0
- package/lib/cjs/SchemaFormatsProvider.js +146 -0
- package/lib/cjs/SchemaFormatsProvider.js.map +1 -0
- package/lib/cjs/SchemaJsonLocater.d.ts +8 -8
- package/lib/cjs/SchemaJsonLocater.d.ts.map +1 -1
- package/lib/cjs/SchemaJsonLocater.js +7 -7
- package/lib/cjs/SchemaJsonLocater.js.map +1 -1
- package/lib/cjs/SchemaKey.d.ts +13 -7
- package/lib/cjs/SchemaKey.d.ts.map +1 -1
- package/lib/cjs/SchemaKey.js +22 -12
- package/lib/cjs/SchemaKey.js.map +1 -1
- package/lib/cjs/SchemaLoader.d.ts +5 -5
- package/lib/cjs/SchemaLoader.d.ts.map +1 -1
- package/lib/cjs/SchemaLoader.js +5 -4
- package/lib/cjs/SchemaLoader.js.map +1 -1
- package/lib/cjs/SchemaPartVisitorDelegate.d.ts +2 -2
- package/lib/cjs/SchemaPartVisitorDelegate.js +2 -1
- package/lib/cjs/SchemaPartVisitorDelegate.js.map +1 -1
- package/lib/cjs/UnitConversion/Graph.js +69 -65
- package/lib/cjs/UnitConversion/Graph.js.map +1 -1
- package/lib/cjs/UnitConversion/Parser.js.map +1 -1
- package/lib/cjs/UnitConversion/UnitConversion.d.ts +1 -1
- package/lib/cjs/UnitConversion/UnitConversion.d.ts.map +1 -1
- package/lib/cjs/UnitConversion/UnitConversion.js +9 -7
- package/lib/cjs/UnitConversion/UnitConversion.js.map +1 -1
- package/lib/cjs/UnitConversion/UnitConverter.js +2 -0
- package/lib/cjs/UnitConversion/UnitConverter.js.map +1 -1
- package/lib/cjs/UnitConversion/UnitTree.d.ts +2 -0
- package/lib/cjs/UnitConversion/UnitTree.d.ts.map +1 -1
- package/lib/cjs/UnitConversion/UnitTree.js +11 -1
- package/lib/cjs/UnitConversion/UnitTree.js.map +1 -1
- package/lib/cjs/UnitProvider/SchemaUnitProvider.d.ts.map +1 -1
- package/lib/cjs/UnitProvider/SchemaUnitProvider.js +8 -9
- package/lib/cjs/UnitProvider/SchemaUnitProvider.js.map +1 -1
- package/lib/cjs/Validation/SchemaWalker.d.ts +1 -1
- package/lib/cjs/Validation/SchemaWalker.d.ts.map +1 -1
- package/lib/cjs/Validation/SchemaWalker.js +6 -4
- package/lib/cjs/Validation/SchemaWalker.js.map +1 -1
- package/lib/cjs/ecschema-metadata.d.ts +1 -0
- package/lib/cjs/ecschema-metadata.d.ts.map +1 -1
- package/lib/cjs/ecschema-metadata.js +1 -0
- package/lib/cjs/ecschema-metadata.js.map +1 -1
- package/lib/cjs/utils/SchemaGraph.js +5 -6
- package/lib/cjs/utils/SchemaGraph.js.map +1 -1
- package/lib/esm/Constants.d.ts +8 -0
- package/lib/esm/Constants.d.ts.map +1 -1
- package/lib/esm/Constants.js +29 -20
- package/lib/esm/Constants.js.map +1 -1
- package/lib/esm/Context.d.ts +85 -36
- package/lib/esm/Context.d.ts.map +1 -1
- package/lib/esm/Context.js +78 -28
- package/lib/esm/Context.js.map +1 -1
- package/lib/esm/DelayedPromise.d.ts +9 -8
- package/lib/esm/DelayedPromise.d.ts.map +1 -1
- package/lib/esm/DelayedPromise.js +8 -6
- package/lib/esm/DelayedPromise.js.map +1 -1
- package/lib/esm/Deserialization/AbstractParser.js +1 -0
- package/lib/esm/Deserialization/AbstractParser.js.map +1 -1
- package/lib/esm/Deserialization/Helper.d.ts +3 -3
- package/lib/esm/Deserialization/Helper.d.ts.map +1 -1
- package/lib/esm/Deserialization/Helper.js +36 -27
- package/lib/esm/Deserialization/Helper.js.map +1 -1
- package/lib/esm/Deserialization/JsonParser.js +154 -151
- package/lib/esm/Deserialization/JsonParser.js.map +1 -1
- package/lib/esm/Deserialization/JsonProps.d.ts +47 -33
- package/lib/esm/Deserialization/JsonProps.d.ts.map +1 -1
- package/lib/esm/Deserialization/JsonProps.js +3 -3
- package/lib/esm/Deserialization/JsonProps.js.map +1 -1
- package/lib/esm/Deserialization/SchemaGraphUtil.js.map +1 -1
- package/lib/esm/Deserialization/XmlParser.d.ts.map +1 -1
- package/lib/esm/Deserialization/XmlParser.js +61 -53
- package/lib/esm/Deserialization/XmlParser.js.map +1 -1
- package/lib/esm/Deserialization/XmlSerializationUtils.d.ts +0 -5
- package/lib/esm/Deserialization/XmlSerializationUtils.d.ts.map +1 -1
- package/lib/esm/Deserialization/XmlSerializationUtils.js +9 -18
- package/lib/esm/Deserialization/XmlSerializationUtils.js.map +1 -1
- package/lib/esm/ECName.d.ts +2 -2
- package/lib/esm/ECName.js +6 -5
- package/lib/esm/ECName.js.map +1 -1
- package/lib/esm/ECObjects.d.ts +41 -9
- package/lib/esm/ECObjects.d.ts.map +1 -1
- package/lib/esm/ECObjects.js +77 -24
- package/lib/esm/ECObjects.js.map +1 -1
- package/lib/esm/Exception.d.ts +4 -4
- package/lib/esm/Exception.d.ts.map +1 -1
- package/lib/esm/Exception.js +59 -58
- package/lib/esm/Exception.js.map +1 -1
- package/lib/esm/Interfaces.d.ts +35 -32
- package/lib/esm/Interfaces.d.ts.map +1 -1
- package/lib/esm/Interfaces.js.map +1 -1
- package/lib/esm/Metadata/Class.d.ts +179 -32
- package/lib/esm/Metadata/Class.d.ts.map +1 -1
- package/lib/esm/Metadata/Class.js +292 -90
- package/lib/esm/Metadata/Class.js.map +1 -1
- package/lib/esm/Metadata/Constant.d.ts +26 -10
- package/lib/esm/Metadata/Constant.d.ts.map +1 -1
- package/lib/esm/Metadata/Constant.js +39 -11
- package/lib/esm/Metadata/Constant.js.map +1 -1
- package/lib/esm/Metadata/CustomAttribute.d.ts +2 -2
- package/lib/esm/Metadata/CustomAttribute.d.ts.map +1 -1
- package/lib/esm/Metadata/CustomAttribute.js.map +1 -1
- package/lib/esm/Metadata/CustomAttributeClass.d.ts +21 -7
- package/lib/esm/Metadata/CustomAttributeClass.d.ts.map +1 -1
- package/lib/esm/Metadata/CustomAttributeClass.js +29 -9
- package/lib/esm/Metadata/CustomAttributeClass.js.map +1 -1
- package/lib/esm/Metadata/EntityClass.d.ts +40 -11
- package/lib/esm/Metadata/EntityClass.d.ts.map +1 -1
- package/lib/esm/Metadata/EntityClass.js +73 -35
- package/lib/esm/Metadata/EntityClass.js.map +1 -1
- package/lib/esm/Metadata/Enumeration.d.ts +30 -10
- package/lib/esm/Metadata/Enumeration.d.ts.map +1 -1
- package/lib/esm/Metadata/Enumeration.js +42 -14
- package/lib/esm/Metadata/Enumeration.js.map +1 -1
- package/lib/esm/Metadata/Format.d.ts +65 -17
- package/lib/esm/Metadata/Format.d.ts.map +1 -1
- package/lib/esm/Metadata/Format.js +108 -23
- package/lib/esm/Metadata/Format.js.map +1 -1
- package/lib/esm/Metadata/InvertedUnit.d.ts +19 -10
- package/lib/esm/Metadata/InvertedUnit.d.ts.map +1 -1
- package/lib/esm/Metadata/InvertedUnit.js +33 -16
- package/lib/esm/Metadata/InvertedUnit.js.map +1 -1
- package/lib/esm/Metadata/KindOfQuantity.d.ts +38 -18
- package/lib/esm/Metadata/KindOfQuantity.d.ts.map +1 -1
- package/lib/esm/Metadata/KindOfQuantity.js +91 -41
- package/lib/esm/Metadata/KindOfQuantity.js.map +1 -1
- package/lib/esm/Metadata/Mixin.d.ts +31 -4
- package/lib/esm/Metadata/Mixin.d.ts.map +1 -1
- package/lib/esm/Metadata/Mixin.js +44 -10
- package/lib/esm/Metadata/Mixin.js.map +1 -1
- package/lib/esm/Metadata/OverrideFormat.d.ts +12 -12
- package/lib/esm/Metadata/OverrideFormat.d.ts.map +1 -1
- package/lib/esm/Metadata/OverrideFormat.js +37 -20
- package/lib/esm/Metadata/OverrideFormat.js.map +1 -1
- package/lib/esm/Metadata/Phenomenon.d.ts +24 -3
- package/lib/esm/Metadata/Phenomenon.d.ts.map +1 -1
- package/lib/esm/Metadata/Phenomenon.js +33 -4
- package/lib/esm/Metadata/Phenomenon.js.map +1 -1
- package/lib/esm/Metadata/Property.d.ts +47 -25
- package/lib/esm/Metadata/Property.d.ts.map +1 -1
- package/lib/esm/Metadata/Property.js +130 -51
- package/lib/esm/Metadata/Property.js.map +1 -1
- package/lib/esm/Metadata/PropertyCategory.d.ts +20 -4
- package/lib/esm/Metadata/PropertyCategory.d.ts.map +1 -1
- package/lib/esm/Metadata/PropertyCategory.js +31 -4
- package/lib/esm/Metadata/PropertyCategory.js.map +1 -1
- package/lib/esm/Metadata/RelationshipClass.d.ts +63 -27
- package/lib/esm/Metadata/RelationshipClass.d.ts.map +1 -1
- package/lib/esm/Metadata/RelationshipClass.js +102 -45
- package/lib/esm/Metadata/RelationshipClass.js.map +1 -1
- package/lib/esm/Metadata/Schema.d.ts +167 -41
- package/lib/esm/Metadata/Schema.d.ts.map +1 -1
- package/lib/esm/Metadata/Schema.js +212 -112
- package/lib/esm/Metadata/Schema.js.map +1 -1
- package/lib/esm/Metadata/SchemaItem.d.ts +19 -19
- package/lib/esm/Metadata/SchemaItem.d.ts.map +1 -1
- package/lib/esm/Metadata/SchemaItem.js +25 -23
- package/lib/esm/Metadata/SchemaItem.js.map +1 -1
- package/lib/esm/Metadata/Unit.d.ts +24 -21
- package/lib/esm/Metadata/Unit.d.ts.map +1 -1
- package/lib/esm/Metadata/Unit.js +41 -25
- package/lib/esm/Metadata/Unit.js.map +1 -1
- package/lib/esm/Metadata/UnitSystem.d.ts +17 -4
- package/lib/esm/Metadata/UnitSystem.d.ts.map +1 -1
- package/lib/esm/Metadata/UnitSystem.js +24 -4
- package/lib/esm/Metadata/UnitSystem.js.map +1 -1
- package/lib/esm/PropertyTypes.d.ts +11 -11
- package/lib/esm/PropertyTypes.d.ts.map +1 -1
- package/lib/esm/PropertyTypes.js +29 -21
- package/lib/esm/PropertyTypes.js.map +1 -1
- package/lib/esm/SchemaFormatsProvider.d.ts +39 -0
- package/lib/esm/SchemaFormatsProvider.d.ts.map +1 -0
- package/lib/esm/SchemaFormatsProvider.js +142 -0
- package/lib/esm/SchemaFormatsProvider.js.map +1 -0
- package/lib/esm/SchemaJsonLocater.d.ts +8 -8
- package/lib/esm/SchemaJsonLocater.d.ts.map +1 -1
- package/lib/esm/SchemaJsonLocater.js +7 -7
- package/lib/esm/SchemaJsonLocater.js.map +1 -1
- package/lib/esm/SchemaKey.d.ts +13 -7
- package/lib/esm/SchemaKey.d.ts.map +1 -1
- package/lib/esm/SchemaKey.js +23 -13
- package/lib/esm/SchemaKey.js.map +1 -1
- package/lib/esm/SchemaLoader.d.ts +5 -5
- package/lib/esm/SchemaLoader.d.ts.map +1 -1
- package/lib/esm/SchemaLoader.js +6 -5
- package/lib/esm/SchemaLoader.js.map +1 -1
- package/lib/esm/SchemaPartVisitorDelegate.d.ts +2 -2
- package/lib/esm/SchemaPartVisitorDelegate.js +2 -1
- package/lib/esm/SchemaPartVisitorDelegate.js.map +1 -1
- package/lib/esm/UnitConversion/Graph.js +69 -65
- package/lib/esm/UnitConversion/Graph.js.map +1 -1
- package/lib/esm/UnitConversion/Parser.js.map +1 -1
- package/lib/esm/UnitConversion/UnitConversion.d.ts +1 -1
- package/lib/esm/UnitConversion/UnitConversion.d.ts.map +1 -1
- package/lib/esm/UnitConversion/UnitConversion.js +9 -7
- package/lib/esm/UnitConversion/UnitConversion.js.map +1 -1
- package/lib/esm/UnitConversion/UnitConverter.js +2 -0
- package/lib/esm/UnitConversion/UnitConverter.js.map +1 -1
- package/lib/esm/UnitConversion/UnitTree.d.ts +2 -0
- package/lib/esm/UnitConversion/UnitTree.d.ts.map +1 -1
- package/lib/esm/UnitConversion/UnitTree.js +11 -1
- package/lib/esm/UnitConversion/UnitTree.js.map +1 -1
- package/lib/esm/UnitProvider/SchemaUnitProvider.d.ts.map +1 -1
- package/lib/esm/UnitProvider/SchemaUnitProvider.js +8 -9
- package/lib/esm/UnitProvider/SchemaUnitProvider.js.map +1 -1
- package/lib/esm/Validation/SchemaWalker.d.ts +1 -1
- package/lib/esm/Validation/SchemaWalker.d.ts.map +1 -1
- package/lib/esm/Validation/SchemaWalker.js +6 -4
- package/lib/esm/Validation/SchemaWalker.js.map +1 -1
- package/lib/esm/ecschema-metadata.d.ts +1 -0
- package/lib/esm/ecschema-metadata.d.ts.map +1 -1
- package/lib/esm/ecschema-metadata.js +1 -0
- package/lib/esm/ecschema-metadata.js.map +1 -1
- package/lib/esm/utils/SchemaGraph.js +6 -7
- package/lib/esm/utils/SchemaGraph.js.map +1 -1
- package/package.json +16 -14
|
@@ -20,6 +20,14 @@ const SchemaGraph_1 = require("../utils/SchemaGraph");
|
|
|
20
20
|
* @internal
|
|
21
21
|
*/
|
|
22
22
|
class SchemaReadHelper {
|
|
23
|
+
_context;
|
|
24
|
+
_visitorHelper;
|
|
25
|
+
_parserType;
|
|
26
|
+
_parser;
|
|
27
|
+
// Cache of the schema currently being loaded. This schema is in the _context but to
|
|
28
|
+
// avoid going back to the context every time, the cache is used.
|
|
29
|
+
_schema;
|
|
30
|
+
_schemaInfo;
|
|
23
31
|
constructor(parserType, context, visitor) {
|
|
24
32
|
this._context = (undefined !== context) ? context : new Context_1.SchemaContext();
|
|
25
33
|
this._visitorHelper = visitor ? new SchemaPartVisitorDelegate_1.SchemaPartVisitorDelegate(visitor) : undefined;
|
|
@@ -36,7 +44,7 @@ class SchemaReadHelper {
|
|
|
36
44
|
// Ensure context matches schema context
|
|
37
45
|
if (schema.context) {
|
|
38
46
|
if (this._context !== schema.context)
|
|
39
|
-
throw new Exception_1.
|
|
47
|
+
throw new Exception_1.ECSchemaError(Exception_1.ECSchemaStatus.DifferentSchemaContexts, "The SchemaContext of the schema must be the same SchemaContext held by the SchemaReadHelper.");
|
|
40
48
|
}
|
|
41
49
|
else {
|
|
42
50
|
schema.setContext(this._context);
|
|
@@ -45,10 +53,11 @@ class SchemaReadHelper {
|
|
|
45
53
|
// Loads all of the properties on the Schema object
|
|
46
54
|
await schema.fromJSON(this._parser.parseSchema());
|
|
47
55
|
this._schema = schema;
|
|
48
|
-
const
|
|
56
|
+
const schemaInfoReferences = [];
|
|
57
|
+
const schemaInfo = { schemaKey: schema.schemaKey, alias: schema.alias, references: schemaInfoReferences };
|
|
49
58
|
for (const reference of this._parser.getReferences()) {
|
|
50
59
|
const refKey = new SchemaKey_1.SchemaKey(reference.name, SchemaKey_1.ECVersion.fromString(reference.version));
|
|
51
|
-
|
|
60
|
+
schemaInfoReferences.push({ schemaKey: refKey });
|
|
52
61
|
}
|
|
53
62
|
this._schemaInfo = schemaInfo;
|
|
54
63
|
// Need to add this schema to the context to be able to locate schemaItems within the context.
|
|
@@ -68,7 +77,7 @@ class SchemaReadHelper {
|
|
|
68
77
|
}
|
|
69
78
|
const cachedSchema = await this._context.getCachedSchema(this._schemaInfo.schemaKey, ECObjects_1.SchemaMatchType.Latest);
|
|
70
79
|
if (undefined === cachedSchema)
|
|
71
|
-
throw new Exception_1.
|
|
80
|
+
throw new Exception_1.ECSchemaError(Exception_1.ECSchemaStatus.UnableToLoadSchema, `Could not load schema ${schema.schemaKey.toString()}`);
|
|
72
81
|
return cachedSchema;
|
|
73
82
|
}
|
|
74
83
|
/* Finish loading the rest of the schema */
|
|
@@ -139,7 +148,7 @@ class SchemaReadHelper {
|
|
|
139
148
|
async loadSchemaReference(schemaInfo, refKey) {
|
|
140
149
|
const refSchema = await this._context.getSchema(refKey, ECObjects_1.SchemaMatchType.LatestWriteCompatible);
|
|
141
150
|
if (undefined === refSchema)
|
|
142
|
-
throw new Exception_1.
|
|
151
|
+
throw new Exception_1.ECSchemaError(Exception_1.ECSchemaStatus.UnableToLocateSchema, `Could not locate the referenced schema, ${refKey.name}.${refKey.version.toString()}, of ${schemaInfo.schemaKey.name}`);
|
|
143
152
|
await this._schema.addReference(refSchema);
|
|
144
153
|
const results = this.validateSchemaReferences(this._schema);
|
|
145
154
|
let errorMessage = "";
|
|
@@ -147,7 +156,7 @@ class SchemaReadHelper {
|
|
|
147
156
|
errorMessage += `${result}\r\n`;
|
|
148
157
|
}
|
|
149
158
|
if (errorMessage) {
|
|
150
|
-
throw new Exception_1.
|
|
159
|
+
throw new Exception_1.ECSchemaError(Exception_1.ECSchemaStatus.InvalidECJson, `${errorMessage}`);
|
|
151
160
|
}
|
|
152
161
|
}
|
|
153
162
|
/**
|
|
@@ -158,7 +167,7 @@ class SchemaReadHelper {
|
|
|
158
167
|
const schemaKey = new SchemaKey_1.SchemaKey(ref.name, SchemaKey_1.ECVersion.fromString(ref.version));
|
|
159
168
|
const refSchema = this._context.getSchemaSync(schemaKey, ECObjects_1.SchemaMatchType.LatestWriteCompatible);
|
|
160
169
|
if (!refSchema)
|
|
161
|
-
throw new Exception_1.
|
|
170
|
+
throw new Exception_1.ECSchemaError(Exception_1.ECSchemaStatus.UnableToLocateSchema, `Could not locate the referenced schema, ${ref.name}.${ref.version}, of ${this._schema.schemaKey.name}`);
|
|
162
171
|
this._schema.addReferenceSync(refSchema);
|
|
163
172
|
SchemaGraph_1.SchemaGraph.generateGraphSync(this._schema).throwIfCycles();
|
|
164
173
|
const results = this.validateSchemaReferences(this._schema);
|
|
@@ -167,7 +176,7 @@ class SchemaReadHelper {
|
|
|
167
176
|
errorMessage += `${result}\r\n`;
|
|
168
177
|
}
|
|
169
178
|
if (errorMessage) {
|
|
170
|
-
throw new Exception_1.
|
|
179
|
+
throw new Exception_1.ECSchemaError(Exception_1.ECSchemaStatus.InvalidECJson, `${errorMessage}`);
|
|
171
180
|
}
|
|
172
181
|
}
|
|
173
182
|
/**
|
|
@@ -353,7 +362,7 @@ class SchemaReadHelper {
|
|
|
353
362
|
if (undefined !== schema && -1 !== fullOrQualifiedName.indexOf(":")) {
|
|
354
363
|
const refName = schema.getReferenceNameByAlias(schemaName);
|
|
355
364
|
if (undefined === refName)
|
|
356
|
-
throw new Exception_1.
|
|
365
|
+
throw new Exception_1.ECSchemaError(Exception_1.ECSchemaStatus.UnableToLocateSchema, `Could not resolve schema alias '${schemaName}' for schema item '${itemName}.`);
|
|
357
366
|
return [refName, itemName];
|
|
358
367
|
}
|
|
359
368
|
return [schemaName, itemName];
|
|
@@ -372,7 +381,7 @@ class SchemaReadHelper {
|
|
|
372
381
|
const [schemaName, itemName] = SchemaReadHelper.resolveSchemaAndItemName(name, this._schema);
|
|
373
382
|
const isInThisSchema = (this._schema && this._schema.name.toLowerCase() === schemaName.toLowerCase());
|
|
374
383
|
if (undefined === schemaName || 0 === schemaName.length)
|
|
375
|
-
throw new Exception_1.
|
|
384
|
+
throw new Exception_1.ECSchemaError(Exception_1.ECSchemaStatus.InvalidECJson, `The SchemaItem ${name} is invalid without a schema name`);
|
|
376
385
|
if (isInThisSchema) {
|
|
377
386
|
schemaItem = await this._schema.getItem(itemName);
|
|
378
387
|
if (schemaItem)
|
|
@@ -387,11 +396,11 @@ class SchemaReadHelper {
|
|
|
387
396
|
loadCallBack(schemaItem);
|
|
388
397
|
return schemaItem;
|
|
389
398
|
}
|
|
390
|
-
throw new Exception_1.
|
|
399
|
+
throw new Exception_1.ECSchemaError(Exception_1.ECSchemaStatus.InvalidECJson, `Unable to locate SchemaItem ${name}.`);
|
|
391
400
|
}
|
|
392
401
|
schemaItem = await this._context.getSchemaItem(new SchemaKey_1.SchemaItemKey(itemName, new SchemaKey_1.SchemaKey(schemaName)));
|
|
393
402
|
if (undefined === schemaItem)
|
|
394
|
-
throw new Exception_1.
|
|
403
|
+
throw new Exception_1.ECSchemaError(Exception_1.ECSchemaStatus.InvalidECJson, `Unable to locate SchemaItem ${name}.`);
|
|
395
404
|
return schemaItem;
|
|
396
405
|
}
|
|
397
406
|
/**
|
|
@@ -408,7 +417,7 @@ class SchemaReadHelper {
|
|
|
408
417
|
const [schemaName, itemName] = SchemaReadHelper.resolveSchemaAndItemName(name, this._schema);
|
|
409
418
|
const isInThisSchema = (this._schema && this._schema.name.toLowerCase() === schemaName.toLowerCase());
|
|
410
419
|
if (undefined === schemaName || schemaName.length === 0)
|
|
411
|
-
throw new Exception_1.
|
|
420
|
+
throw new Exception_1.ECSchemaError(Exception_1.ECSchemaStatus.InvalidECJson, `The SchemaItem ${name} is invalid without a schema name`);
|
|
412
421
|
if (isInThisSchema && undefined === this._schema.getItemSync(itemName)) {
|
|
413
422
|
const foundItem = this._parser.findItem(itemName);
|
|
414
423
|
if (foundItem) {
|
|
@@ -420,11 +429,11 @@ class SchemaReadHelper {
|
|
|
420
429
|
loadCallBack(schemaItem);
|
|
421
430
|
return schemaItem;
|
|
422
431
|
}
|
|
423
|
-
throw new Exception_1.
|
|
432
|
+
throw new Exception_1.ECSchemaError(Exception_1.ECSchemaStatus.InvalidECJson, `Unable to locate SchemaItem ${name}.`);
|
|
424
433
|
}
|
|
425
434
|
schemaItem = this._context.getSchemaItemSync(new SchemaKey_1.SchemaItemKey(itemName, new SchemaKey_1.SchemaKey(schemaName)));
|
|
426
435
|
if (undefined === schemaItem)
|
|
427
|
-
throw new Exception_1.
|
|
436
|
+
throw new Exception_1.ECSchemaError(Exception_1.ECSchemaStatus.InvalidECJson, `Unable to locate SchemaItem ${name}.`);
|
|
428
437
|
return schemaItem;
|
|
429
438
|
}
|
|
430
439
|
/**
|
|
@@ -728,16 +737,16 @@ class SchemaReadHelper {
|
|
|
728
737
|
const loadTypeName = async (typeName) => {
|
|
729
738
|
if (undefined === (0, ECObjects_1.parsePrimitiveType)(typeName)) {
|
|
730
739
|
if (SchemaReadHelper.isECSpecVersionNewer(this._parser.getECSpecVersion))
|
|
731
|
-
return Exception_1.
|
|
740
|
+
return Exception_1.ECSchemaStatus.NewerECSpecVersion;
|
|
732
741
|
await this.findSchemaItem(typeName);
|
|
733
742
|
}
|
|
734
|
-
return Exception_1.
|
|
743
|
+
return Exception_1.ECSchemaStatus.Success;
|
|
735
744
|
};
|
|
736
745
|
const lowerCasePropType = propType.toLowerCase();
|
|
737
746
|
switch (lowerCasePropType) {
|
|
738
747
|
case "primitiveproperty":
|
|
739
748
|
const primPropertyProps = this._parser.parsePrimitiveProperty(rawProperty);
|
|
740
|
-
if (await loadTypeName(primPropertyProps.typeName) === Exception_1.
|
|
749
|
+
if (await loadTypeName(primPropertyProps.typeName) === Exception_1.ECSchemaStatus.NewerECSpecVersion)
|
|
741
750
|
primPropertyProps.typeName = "string";
|
|
742
751
|
const primProp = await classObj.createPrimitiveProperty(propName, primPropertyProps.typeName);
|
|
743
752
|
return this.loadProperty(primProp, primPropertyProps, rawProperty);
|
|
@@ -748,7 +757,7 @@ class SchemaReadHelper {
|
|
|
748
757
|
return this.loadProperty(structProp, structPropertyProps, rawProperty);
|
|
749
758
|
case "primitivearrayproperty":
|
|
750
759
|
const primArrPropertyProps = this._parser.parsePrimitiveArrayProperty(rawProperty);
|
|
751
|
-
if (await loadTypeName(primArrPropertyProps.typeName) === Exception_1.
|
|
760
|
+
if (await loadTypeName(primArrPropertyProps.typeName) === Exception_1.ECSchemaStatus.NewerECSpecVersion)
|
|
752
761
|
primArrPropertyProps.typeName = "string";
|
|
753
762
|
const primArrProp = await classObj.createPrimitiveArrayProperty(propName, primArrPropertyProps.typeName);
|
|
754
763
|
return this.loadProperty(primArrProp, primArrPropertyProps, rawProperty);
|
|
@@ -759,7 +768,7 @@ class SchemaReadHelper {
|
|
|
759
768
|
return this.loadProperty(structArrProp, structArrPropertyProps, rawProperty);
|
|
760
769
|
case "navigationproperty":
|
|
761
770
|
if (classObj.schemaItemType !== ECObjects_1.SchemaItemType.EntityClass && classObj.schemaItemType !== ECObjects_1.SchemaItemType.RelationshipClass && classObj.schemaItemType !== ECObjects_1.SchemaItemType.Mixin)
|
|
762
|
-
throw new Exception_1.
|
|
771
|
+
throw new Exception_1.ECSchemaError(Exception_1.ECSchemaStatus.InvalidECJson, `The Navigation Property ${classObj.name}.${propName} is invalid, because only EntityClasses, Mixins, and RelationshipClasses can have NavigationProperties.`);
|
|
763
772
|
const navPropertyProps = this._parser.parseNavigationProperty(rawProperty);
|
|
764
773
|
await this.findSchemaItem(navPropertyProps.relationshipName);
|
|
765
774
|
const navProp = await classObj.createNavigationProperty(propName, navPropertyProps.relationshipName, navPropertyProps.direction);
|
|
@@ -777,16 +786,16 @@ class SchemaReadHelper {
|
|
|
777
786
|
const loadTypeName = (typeName) => {
|
|
778
787
|
if (undefined === (0, ECObjects_1.parsePrimitiveType)(typeName)) {
|
|
779
788
|
if (SchemaReadHelper.isECSpecVersionNewer(this._parser.getECSpecVersion))
|
|
780
|
-
return Exception_1.
|
|
789
|
+
return Exception_1.ECSchemaStatus.NewerECSpecVersion;
|
|
781
790
|
this.findSchemaItemSync(typeName);
|
|
782
791
|
}
|
|
783
|
-
return Exception_1.
|
|
792
|
+
return Exception_1.ECSchemaStatus.Success;
|
|
784
793
|
};
|
|
785
794
|
const lowerCasePropType = propType.toLowerCase();
|
|
786
795
|
switch (lowerCasePropType) {
|
|
787
796
|
case "primitiveproperty":
|
|
788
797
|
const primPropertyProps = this._parser.parsePrimitiveProperty(rawProperty);
|
|
789
|
-
if (loadTypeName(primPropertyProps.typeName) === Exception_1.
|
|
798
|
+
if (loadTypeName(primPropertyProps.typeName) === Exception_1.ECSchemaStatus.NewerECSpecVersion)
|
|
790
799
|
primPropertyProps.typeName = "string";
|
|
791
800
|
const primProp = classObj.createPrimitivePropertySync(propName, primPropertyProps.typeName);
|
|
792
801
|
return this.loadPropertySync(primProp, primPropertyProps, rawProperty);
|
|
@@ -797,7 +806,7 @@ class SchemaReadHelper {
|
|
|
797
806
|
return this.loadPropertySync(structProp, structPropertyProps, rawProperty);
|
|
798
807
|
case "primitivearrayproperty":
|
|
799
808
|
const primArrPropertyProps = this._parser.parsePrimitiveArrayProperty(rawProperty);
|
|
800
|
-
if (loadTypeName(primArrPropertyProps.typeName) === Exception_1.
|
|
809
|
+
if (loadTypeName(primArrPropertyProps.typeName) === Exception_1.ECSchemaStatus.NewerECSpecVersion)
|
|
801
810
|
primArrPropertyProps.typeName = "string";
|
|
802
811
|
const primArrProp = classObj.createPrimitiveArrayPropertySync(propName, primArrPropertyProps.typeName);
|
|
803
812
|
return this.loadPropertySync(primArrProp, primArrPropertyProps, rawProperty);
|
|
@@ -808,7 +817,7 @@ class SchemaReadHelper {
|
|
|
808
817
|
return this.loadPropertySync(structArrProp, structArrPropertyProps, rawProperty);
|
|
809
818
|
case "navigationproperty":
|
|
810
819
|
if (classObj.schemaItemType !== ECObjects_1.SchemaItemType.EntityClass && classObj.schemaItemType !== ECObjects_1.SchemaItemType.RelationshipClass && classObj.schemaItemType !== ECObjects_1.SchemaItemType.Mixin)
|
|
811
|
-
throw new Exception_1.
|
|
820
|
+
throw new Exception_1.ECSchemaError(Exception_1.ECSchemaStatus.InvalidECJson, `The Navigation Property ${classObj.name}.${propName} is invalid, because only EntityClasses, Mixins, and RelationshipClasses can have NavigationProperties.`);
|
|
812
821
|
const navPropertyProps = this._parser.parseNavigationProperty(rawProperty);
|
|
813
822
|
this.findSchemaItemSync(navPropertyProps.relationshipName);
|
|
814
823
|
const navProp = classObj.createNavigationPropertySync(propName, navPropertyProps.relationshipName, navPropertyProps.direction);
|
|
@@ -860,7 +869,7 @@ class SchemaReadHelper {
|
|
|
860
869
|
// If custom attribute exist within the context and is referenced, validate the reference is defined in the container's schema
|
|
861
870
|
if (caClass && caClass.key.schemaName !== container.schema.name &&
|
|
862
871
|
!container.schema.getReferenceSync(caClass.key.schemaName)) {
|
|
863
|
-
throw new Exception_1.
|
|
872
|
+
throw new Exception_1.ECSchemaError(Exception_1.ECSchemaStatus.InvalidECJson, `Unable to load custom attribute ${caClass.fullName} from container ${container.fullName}, ${caClass.key.schemaName} reference not defined`);
|
|
864
873
|
}
|
|
865
874
|
// Second tuple entry ia a function that provides the CA instance.
|
|
866
875
|
const provider = providerTuple[1];
|