@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Property.d.ts","sourceRoot":"","sources":["../../../src/Metadata/Property.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,EACe,wBAAwB,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,gCAAgC,EACpI,sBAAsB,EAAE,aAAa,EAAE,mBAAmB,EAC3D,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAsB,aAAa,
|
|
1
|
+
{"version":3,"file":"Property.d.ts","sourceRoot":"","sources":["../../../src/Metadata/Property.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,16 +7,31 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { DelayedPromiseWithProps } from "../DelayedPromise";
|
|
9
9
|
import { XmlSerializationUtils } from "../Deserialization/XmlSerializationUtils";
|
|
10
|
-
import { parsePrimitiveType, PrimitiveType, primitiveTypeToString, StrengthDirection, strengthDirectionToString } from "../ECObjects";
|
|
11
|
-
import {
|
|
10
|
+
import { parsePrimitiveType, PrimitiveType, primitiveTypeToString, SchemaItemType, StrengthDirection, strengthDirectionToString } from "../ECObjects";
|
|
11
|
+
import { ECSchemaError, ECSchemaStatus } from "../Exception";
|
|
12
12
|
import { PropertyType, propertyTypeToString, PropertyTypeUtils } from "../PropertyTypes";
|
|
13
13
|
import { ECName } from "../ECName";
|
|
14
14
|
import { serializeCustomAttributes } from "./CustomAttribute";
|
|
15
|
+
import { Enumeration } from "./Enumeration";
|
|
16
|
+
import { KindOfQuantity } from "./KindOfQuantity";
|
|
17
|
+
import { PropertyCategory } from "./PropertyCategory";
|
|
15
18
|
/**
|
|
16
19
|
* A common abstract class for all ECProperty types.
|
|
17
|
-
* @
|
|
20
|
+
* @public @preview
|
|
18
21
|
*/
|
|
19
22
|
export class Property {
|
|
23
|
+
_name;
|
|
24
|
+
_class; // TODO: class seems to be unused?
|
|
25
|
+
_description;
|
|
26
|
+
_label;
|
|
27
|
+
_isReadOnly;
|
|
28
|
+
_priority;
|
|
29
|
+
_category;
|
|
30
|
+
_kindOfQuantity;
|
|
31
|
+
_customAttributes;
|
|
32
|
+
/** @internal */
|
|
33
|
+
_type;
|
|
34
|
+
/** @internal */
|
|
20
35
|
constructor(ecClass, name, type) {
|
|
21
36
|
this._class = ecClass;
|
|
22
37
|
this._name = new ECName(name);
|
|
@@ -32,9 +47,33 @@ export class Property {
|
|
|
32
47
|
get label() { return this._label; }
|
|
33
48
|
get description() { return this._description; }
|
|
34
49
|
get isReadOnly() { return this._isReadOnly || false; }
|
|
35
|
-
get priority() {
|
|
36
|
-
|
|
37
|
-
|
|
50
|
+
get priority() {
|
|
51
|
+
if (this._priority === undefined) {
|
|
52
|
+
const baseProperty = this.class.getInheritedPropertySync(this.name);
|
|
53
|
+
if (undefined !== baseProperty) {
|
|
54
|
+
return baseProperty.priority;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return this._priority || 0;
|
|
58
|
+
}
|
|
59
|
+
get category() {
|
|
60
|
+
if (this._category === undefined) {
|
|
61
|
+
const baseProperty = this.class.getInheritedPropertySync(this.name);
|
|
62
|
+
if (undefined !== baseProperty) {
|
|
63
|
+
return baseProperty.category;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return this._category;
|
|
67
|
+
}
|
|
68
|
+
get kindOfQuantity() {
|
|
69
|
+
if (this._kindOfQuantity === undefined) {
|
|
70
|
+
const baseProperty = this.class.getInheritedPropertySync(this.name);
|
|
71
|
+
if (undefined !== baseProperty) {
|
|
72
|
+
return baseProperty.kindOfQuantity;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return this._kindOfQuantity;
|
|
76
|
+
}
|
|
38
77
|
get propertyType() { return this._type; }
|
|
39
78
|
get customAttributes() { return this._customAttributes; }
|
|
40
79
|
/** Returns the name in the format 'ClassName.PropertyName'. */
|
|
@@ -42,14 +81,24 @@ export class Property {
|
|
|
42
81
|
/** Returns the schema of the class holding the property. */
|
|
43
82
|
get schema() { return this._class.schema; }
|
|
44
83
|
getCategorySync() {
|
|
45
|
-
if (!this._category)
|
|
84
|
+
if (!this._category) {
|
|
85
|
+
const baseProperty = this.class.getInheritedPropertySync(this.name);
|
|
86
|
+
if (undefined !== baseProperty) {
|
|
87
|
+
return baseProperty.getCategorySync();
|
|
88
|
+
}
|
|
46
89
|
return undefined;
|
|
47
|
-
|
|
90
|
+
}
|
|
91
|
+
return this.class.schema.lookupItemSync(this._category, PropertyCategory);
|
|
48
92
|
}
|
|
49
93
|
getKindOfQuantitySync() {
|
|
50
|
-
if (!this._kindOfQuantity)
|
|
94
|
+
if (!this._kindOfQuantity) {
|
|
95
|
+
const baseProperty = this.class.getInheritedPropertySync(this.name);
|
|
96
|
+
if (undefined !== baseProperty) {
|
|
97
|
+
return baseProperty.getKindOfQuantitySync();
|
|
98
|
+
}
|
|
51
99
|
return undefined;
|
|
52
|
-
|
|
100
|
+
}
|
|
101
|
+
return this.class.schema.lookupItemSync(this._kindOfQuantity, KindOfQuantity);
|
|
53
102
|
}
|
|
54
103
|
/**
|
|
55
104
|
* Save this Property's properties to an object for serializing to JSON.
|
|
@@ -64,12 +113,12 @@ export class Property {
|
|
|
64
113
|
schemaJson.label = this.label;
|
|
65
114
|
if (this._isReadOnly !== undefined)
|
|
66
115
|
schemaJson.isReadOnly = this._isReadOnly;
|
|
67
|
-
if (this.
|
|
68
|
-
schemaJson.category = this.
|
|
116
|
+
if (this._category !== undefined)
|
|
117
|
+
schemaJson.category = this._category.fullName; // needs to be fully qualified name
|
|
69
118
|
if (this._priority !== undefined)
|
|
70
119
|
schemaJson.priority = this._priority;
|
|
71
|
-
if (this.
|
|
72
|
-
schemaJson.kindOfQuantity = this.
|
|
120
|
+
if (this._kindOfQuantity !== undefined)
|
|
121
|
+
schemaJson.kindOfQuantity = this._kindOfQuantity.fullName;
|
|
73
122
|
const customAttributes = serializeCustomAttributes(this.customAttributes);
|
|
74
123
|
if (customAttributes !== undefined)
|
|
75
124
|
schemaJson.customAttributes = customAttributes;
|
|
@@ -86,15 +135,15 @@ export class Property {
|
|
|
86
135
|
itemElement.setAttribute("displayLabel", this.label);
|
|
87
136
|
if (undefined !== this.isReadOnly)
|
|
88
137
|
itemElement.setAttribute("readOnly", String(this.isReadOnly));
|
|
89
|
-
if (undefined !== this.
|
|
90
|
-
const category = await this.
|
|
138
|
+
if (undefined !== this._category) {
|
|
139
|
+
const category = await this._category;
|
|
91
140
|
const categoryName = XmlSerializationUtils.createXmlTypedName(this.schema, category.schema, category.name);
|
|
92
141
|
itemElement.setAttribute("category", categoryName);
|
|
93
142
|
}
|
|
94
|
-
if (undefined !== this.
|
|
95
|
-
itemElement.setAttribute("priority", this.
|
|
96
|
-
if (undefined !== this.
|
|
97
|
-
const kindOfQuantity = await this.
|
|
143
|
+
if (undefined !== this._priority)
|
|
144
|
+
itemElement.setAttribute("priority", this._priority.toString());
|
|
145
|
+
if (undefined !== this._kindOfQuantity) {
|
|
146
|
+
const kindOfQuantity = await this._kindOfQuantity;
|
|
98
147
|
const kindOfQuantityName = XmlSerializationUtils.createXmlTypedName(this.schema, kindOfQuantity.schema, kindOfQuantity.name);
|
|
99
148
|
itemElement.setAttribute("kindOfQuantity", kindOfQuantityName);
|
|
100
149
|
}
|
|
@@ -124,22 +173,22 @@ export class Property {
|
|
|
124
173
|
if (undefined !== propertyProps.category) {
|
|
125
174
|
const propertyCategorySchemaItemKey = this.class.schema.getSchemaItemKey(propertyProps.category);
|
|
126
175
|
if (!propertyCategorySchemaItemKey)
|
|
127
|
-
throw new
|
|
176
|
+
throw new ECSchemaError(ECSchemaStatus.InvalidECJson, `The Property ${this.name} has a 'category' ("${propertyProps.category}") that cannot be found.`);
|
|
128
177
|
this._category = new DelayedPromiseWithProps(propertyCategorySchemaItemKey, async () => {
|
|
129
|
-
const category = await this.class.schema.lookupItem(propertyCategorySchemaItemKey);
|
|
178
|
+
const category = await this.class.schema.lookupItem(propertyCategorySchemaItemKey, PropertyCategory);
|
|
130
179
|
if (undefined === category)
|
|
131
|
-
throw new
|
|
180
|
+
throw new ECSchemaError(ECSchemaStatus.InvalidECJson, `The Property ${this.name} has a 'category' ("${propertyProps.category}") that cannot be found.`);
|
|
132
181
|
return category;
|
|
133
182
|
});
|
|
134
183
|
}
|
|
135
184
|
if (undefined !== propertyProps.kindOfQuantity) {
|
|
136
185
|
const koqSchemaItemKey = this.class.schema.getSchemaItemKey(propertyProps.kindOfQuantity);
|
|
137
186
|
if (!koqSchemaItemKey)
|
|
138
|
-
throw new
|
|
187
|
+
throw new ECSchemaError(ECSchemaStatus.InvalidECJson, `The Property ${this.name} has a 'kindOfQuantity' ("${propertyProps.kindOfQuantity}") that cannot be found.`);
|
|
139
188
|
this._kindOfQuantity = new DelayedPromiseWithProps(koqSchemaItemKey, async () => {
|
|
140
|
-
const koq = await this.class.schema.lookupItem(koqSchemaItemKey);
|
|
189
|
+
const koq = await this.class.schema.lookupItem(koqSchemaItemKey, KindOfQuantity);
|
|
141
190
|
if (undefined === koq)
|
|
142
|
-
throw new
|
|
191
|
+
throw new ECSchemaError(ECSchemaStatus.InvalidECJson, `The Property ${this.name} has a 'kindOfQuantity' ("${propertyProps.kindOfQuantity}") that cannot be found.`);
|
|
143
192
|
return koq;
|
|
144
193
|
});
|
|
145
194
|
}
|
|
@@ -147,11 +196,13 @@ export class Property {
|
|
|
147
196
|
async fromJSON(propertyProps) {
|
|
148
197
|
this.fromJSONSync(propertyProps);
|
|
149
198
|
}
|
|
199
|
+
/** @internal */
|
|
150
200
|
addCustomAttribute(customAttribute) {
|
|
151
201
|
if (!this._customAttributes)
|
|
152
202
|
this._customAttributes = new Map();
|
|
153
203
|
this._customAttributes.set(customAttribute.className, customAttribute);
|
|
154
204
|
}
|
|
205
|
+
/** @internal */
|
|
155
206
|
setName(name) {
|
|
156
207
|
this._name = name;
|
|
157
208
|
}
|
|
@@ -224,13 +275,24 @@ export class Property {
|
|
|
224
275
|
&& property.propertyType !== undefined;
|
|
225
276
|
}
|
|
226
277
|
}
|
|
227
|
-
/** @
|
|
278
|
+
/** @public @preview */
|
|
228
279
|
export class PrimitiveOrEnumPropertyBase extends Property {
|
|
280
|
+
/** @internal */
|
|
281
|
+
_extendedTypeName;
|
|
282
|
+
/** @internal */
|
|
283
|
+
_minLength;
|
|
284
|
+
/** @internal */
|
|
285
|
+
_maxLength;
|
|
286
|
+
/** @internal */
|
|
287
|
+
_minValue;
|
|
288
|
+
/** @internal */
|
|
289
|
+
_maxValue;
|
|
229
290
|
get extendedTypeName() { return this._extendedTypeName; }
|
|
230
291
|
get minLength() { return this._minLength; }
|
|
231
292
|
get maxLength() { return this._maxLength; }
|
|
232
293
|
get minValue() { return this._minValue; }
|
|
233
294
|
get maxValue() { return this._maxValue; }
|
|
295
|
+
/** @internal */
|
|
234
296
|
constructor(ecClass, name, type) {
|
|
235
297
|
super(ecClass, name, type);
|
|
236
298
|
}
|
|
@@ -318,9 +380,10 @@ export class PrimitiveOrEnumPropertyBase extends Property {
|
|
|
318
380
|
this.fromJSONSync(propertyBaseProps);
|
|
319
381
|
}
|
|
320
382
|
}
|
|
321
|
-
/** @
|
|
383
|
+
/** @public @preview */
|
|
322
384
|
export class PrimitiveProperty extends PrimitiveOrEnumPropertyBase {
|
|
323
|
-
get primitiveType() { return PropertyTypeUtils.getPrimitiveType(this.
|
|
385
|
+
get primitiveType() { return PropertyTypeUtils.getPrimitiveType(this.propertyType); }
|
|
386
|
+
/** @internal */
|
|
324
387
|
constructor(ecClass, name, primitiveType = PrimitiveType.Integer) {
|
|
325
388
|
super(ecClass, name, PropertyTypeUtils.fromPrimitiveType(primitiveType));
|
|
326
389
|
}
|
|
@@ -328,7 +391,7 @@ export class PrimitiveProperty extends PrimitiveOrEnumPropertyBase {
|
|
|
328
391
|
super.fromJSONSync(primitivePropertyProps);
|
|
329
392
|
if (undefined !== primitivePropertyProps.typeName) {
|
|
330
393
|
if (this.primitiveType !== parsePrimitiveType(primitivePropertyProps.typeName))
|
|
331
|
-
throw new
|
|
394
|
+
throw new ECSchemaError(ECSchemaStatus.InvalidECJson, ``);
|
|
332
395
|
}
|
|
333
396
|
}
|
|
334
397
|
async fromJSON(primitivePropertyProps) {
|
|
@@ -349,8 +412,10 @@ export class PrimitiveProperty extends PrimitiveOrEnumPropertyBase {
|
|
|
349
412
|
return itemElement;
|
|
350
413
|
}
|
|
351
414
|
}
|
|
352
|
-
/** @
|
|
415
|
+
/** @public @preview */
|
|
353
416
|
export class EnumerationProperty extends PrimitiveOrEnumPropertyBase {
|
|
417
|
+
/** @internal */
|
|
418
|
+
_enumeration;
|
|
354
419
|
get enumeration() { return this._enumeration; }
|
|
355
420
|
/**
|
|
356
421
|
* Save this EnumerationProperty's properties to an object for serializing to JSON.
|
|
@@ -360,6 +425,7 @@ export class EnumerationProperty extends PrimitiveOrEnumPropertyBase {
|
|
|
360
425
|
schemaJson.typeName = this.enumeration.fullName;
|
|
361
426
|
return schemaJson;
|
|
362
427
|
}
|
|
428
|
+
/** @internal */
|
|
363
429
|
constructor(ecClass, name, type) {
|
|
364
430
|
// TODO: Should we allow specifying the backing type?
|
|
365
431
|
super(ecClass, name, PropertyType.Integer_Enumeration);
|
|
@@ -369,14 +435,14 @@ export class EnumerationProperty extends PrimitiveOrEnumPropertyBase {
|
|
|
369
435
|
super.fromJSONSync(enumerationPropertyProps);
|
|
370
436
|
if (undefined !== enumerationPropertyProps.typeName) {
|
|
371
437
|
if (!(this.enumeration.fullName).match(enumerationPropertyProps.typeName)) // need to match {schema}.{version}.{itemName} on typeName
|
|
372
|
-
throw new
|
|
438
|
+
throw new ECSchemaError(ECSchemaStatus.InvalidECJson, ``);
|
|
373
439
|
const enumSchemaItemKey = this.class.schema.getSchemaItemKey(this.enumeration.fullName);
|
|
374
440
|
if (!enumSchemaItemKey)
|
|
375
|
-
throw new
|
|
441
|
+
throw new ECSchemaError(ECSchemaStatus.InvalidECJson, `Unable to locate the enumeration ${enumerationPropertyProps.typeName}.`);
|
|
376
442
|
this._enumeration = new DelayedPromiseWithProps(enumSchemaItemKey, async () => {
|
|
377
|
-
const enumeration = await this.class.schema.lookupItem(enumSchemaItemKey);
|
|
443
|
+
const enumeration = await this.class.schema.lookupItem(enumSchemaItemKey, Enumeration);
|
|
378
444
|
if (undefined === enumeration)
|
|
379
|
-
throw new
|
|
445
|
+
throw new ECSchemaError(ECSchemaStatus.InvalidECJson, `Unable to locate the enumeration ${enumerationPropertyProps.typeName}.`);
|
|
380
446
|
return enumeration;
|
|
381
447
|
});
|
|
382
448
|
}
|
|
@@ -393,9 +459,12 @@ export class EnumerationProperty extends PrimitiveOrEnumPropertyBase {
|
|
|
393
459
|
this.fromJSONSync(enumerationPropertyProps);
|
|
394
460
|
}
|
|
395
461
|
}
|
|
396
|
-
/** @
|
|
462
|
+
/** @public @preview */
|
|
397
463
|
export class StructProperty extends Property {
|
|
464
|
+
/** @internal */
|
|
465
|
+
_structClass;
|
|
398
466
|
get structClass() { return this._structClass; }
|
|
467
|
+
/** @internal */
|
|
399
468
|
constructor(ecClass, name, type) {
|
|
400
469
|
super(ecClass, name, PropertyType.Struct);
|
|
401
470
|
this._structClass = type;
|
|
@@ -419,20 +488,26 @@ export class StructProperty extends Property {
|
|
|
419
488
|
super.fromJSONSync(structPropertyProps);
|
|
420
489
|
if (undefined !== structPropertyProps.typeName) {
|
|
421
490
|
if (!this.structClass.key.matchesFullName(structPropertyProps.typeName))
|
|
422
|
-
throw new
|
|
491
|
+
throw new ECSchemaError(ECSchemaStatus.InvalidECJson, ``);
|
|
423
492
|
}
|
|
424
493
|
}
|
|
425
494
|
async fromJSON(structPropertyProps) {
|
|
426
495
|
this.fromJSONSync(structPropertyProps);
|
|
427
496
|
}
|
|
428
497
|
}
|
|
429
|
-
/** @
|
|
498
|
+
/** @public @preview */
|
|
430
499
|
export class NavigationProperty extends Property {
|
|
500
|
+
/** @internal */
|
|
501
|
+
_relationshipClass;
|
|
502
|
+
/** @internal */
|
|
503
|
+
_direction;
|
|
431
504
|
get relationshipClass() { return this._relationshipClass; }
|
|
432
505
|
getRelationshipClassSync() {
|
|
433
506
|
if (!this._relationshipClass) // eslint-disable-line @typescript-eslint/no-misused-promises
|
|
434
507
|
return undefined;
|
|
435
|
-
|
|
508
|
+
// We cannot use the type guard here to avoid a circular dependency
|
|
509
|
+
const result = this.class.schema.lookupItemSync(this._relationshipClass);
|
|
510
|
+
return result?.schemaItemType === SchemaItemType.RelationshipClass ? result : undefined;
|
|
436
511
|
}
|
|
437
512
|
get direction() { return this._direction; }
|
|
438
513
|
/**
|
|
@@ -453,6 +528,7 @@ export class NavigationProperty extends Property {
|
|
|
453
528
|
itemElement.setAttribute("direction", strengthDirectionToString(this.direction));
|
|
454
529
|
return itemElement;
|
|
455
530
|
}
|
|
531
|
+
/** @internal */
|
|
456
532
|
constructor(ecClass, name, relationship, direction) {
|
|
457
533
|
super(ecClass, name, PropertyType.Navigation);
|
|
458
534
|
this._relationshipClass = relationship;
|
|
@@ -461,13 +537,12 @@ export class NavigationProperty extends Property {
|
|
|
461
537
|
}
|
|
462
538
|
// TODO: Consolidate all of the INT32_MAX variables.
|
|
463
539
|
const INT32_MAX = 2147483647;
|
|
464
|
-
/** @
|
|
540
|
+
/** @public @preview */
|
|
465
541
|
export class ArrayProperty extends Property {
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
}
|
|
542
|
+
/** @internal */
|
|
543
|
+
_minOccurs = 0;
|
|
544
|
+
/** @internal */
|
|
545
|
+
_maxOccurs = INT32_MAX;
|
|
471
546
|
get minOccurs() { return this._minOccurs; }
|
|
472
547
|
get maxOccurs() { return this._maxOccurs; }
|
|
473
548
|
/**
|
|
@@ -486,13 +561,15 @@ export class ArrayProperty extends Property {
|
|
|
486
561
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
487
562
|
const ArrayPropertyMixin = (Base) => {
|
|
488
563
|
return class extends Base {
|
|
564
|
+
/** @internal */
|
|
565
|
+
_minOccurs = 0;
|
|
566
|
+
/** @internal */
|
|
567
|
+
_maxOccurs = INT32_MAX;
|
|
489
568
|
get minOccurs() { return this._minOccurs; }
|
|
490
569
|
get maxOccurs() { return this._maxOccurs; }
|
|
491
570
|
constructor(...args) {
|
|
492
571
|
super(...args);
|
|
493
|
-
this.
|
|
494
|
-
this._maxOccurs = INT32_MAX;
|
|
495
|
-
this._type = PropertyTypeUtils.asArray(this._type);
|
|
572
|
+
this._type = PropertyTypeUtils.asArray(this.propertyType);
|
|
496
573
|
}
|
|
497
574
|
fromJSONSync(arrayPropertyProps) {
|
|
498
575
|
super.fromJSONSync(arrayPropertyProps);
|
|
@@ -538,8 +615,9 @@ const ArrayPropertyMixin = (Base) => {
|
|
|
538
615
|
}
|
|
539
616
|
};
|
|
540
617
|
};
|
|
541
|
-
/** @
|
|
618
|
+
/** @public @preview */
|
|
542
619
|
export class PrimitiveArrayProperty extends ArrayPropertyMixin(PrimitiveProperty) {
|
|
620
|
+
/** @internal */
|
|
543
621
|
constructor(ecClass, name, primitiveType = PrimitiveType.Integer) {
|
|
544
622
|
super(ecClass, name, primitiveType);
|
|
545
623
|
}
|
|
@@ -550,14 +628,15 @@ export class PrimitiveArrayProperty extends ArrayPropertyMixin(PrimitiveProperty
|
|
|
550
628
|
return super.toJSON();
|
|
551
629
|
}
|
|
552
630
|
}
|
|
553
|
-
/** @
|
|
631
|
+
/** @public @preview */
|
|
554
632
|
export class EnumerationArrayProperty extends ArrayPropertyMixin(EnumerationProperty) {
|
|
555
633
|
constructor(ecClass, name, type) {
|
|
556
634
|
super(ecClass, name, type);
|
|
557
635
|
}
|
|
558
636
|
}
|
|
559
|
-
/** @
|
|
637
|
+
/** @public @preview */
|
|
560
638
|
export class StructArrayProperty extends ArrayPropertyMixin(StructProperty) {
|
|
639
|
+
/** @internal */
|
|
561
640
|
constructor(ecClass, name, type) {
|
|
562
641
|
super(ecClass, name, type);
|
|
563
642
|
}
|