@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":"OverrideFormat.d.ts","sourceRoot":"","sources":["../../../src/Metadata/OverrideFormat.ts"],"names":[],"mappings":"AAIA;;GAEG;AAIH,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAmB,YAAY,EAAE,UAAU,EAAE,mBAAmB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACrK,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"OverrideFormat.d.ts","sourceRoot":"","sources":["../../../src/Metadata/OverrideFormat.ts"],"names":[],"mappings":"AAIA;;GAEG;AAIH,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAmB,YAAY,EAAE,UAAU,EAAE,mBAAmB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACrK,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAE7E,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAGvE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;CAC9D;AAED;;;GAGG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,UAAU,CAAC,CAAyC;IAC5D,OAAO,CAAC,MAAM,CAAC,CAAuE;IAEtF,uDAAuD;IACvD,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B;;;OAGG;IACH,SAAgB,IAAI,EAAE,MAAM,CAAC;IAE7B,gBAAgB;gBACJ,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,gBAAgB,GAAG,mBAAmB,EAAE,aAAa,CAAC,EAAE,KAAK,CAAC,CAAC,cAAc,GAAG,sBAAsB,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAQpK,IAAW,SAAS,IAAI,gBAAgB,GAAG,mBAAmB,CAE7D;IAED,IAAW,KAAK,IAAI,aAAa,CAAC,CAAC,cAAc,GAAG,sBAAsB,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,GAAG,SAAS,CAE3G;IAGD,IAAW,QAAQ,IAAI,MAAM,CAAsB;IACnD,IAAW,WAAW,IAAI,MAAM,CAAoC;IACpE,IAAW,IAAI,IAAI,UAAU,CAA6B;IAC1D,IAAW,QAAQ,IAAI,MAAM,GAAG,SAAS,CAAiC;IAC1E,IAAW,cAAc,IAAI,cAAc,GAAG,SAAS,CAAuC;IAC9F,IAAW,cAAc,IAAI,cAAc,CAAuC;IAClF,IAAW,gBAAgB,IAAI,MAAM,CAAyC;IAC9E,IAAW,iBAAiB,IAAI,MAAM,CAA0C;IAChF,IAAW,YAAY,IAAI,MAAM,CAAqC;IACtE,IAAW,gBAAgB,IAAI,MAAM,CAAyC;IAC9E,IAAW,iBAAiB,IAAI,MAAM,GAAG,SAAS,CAA0C;IAC5F,IAAW,YAAY,IAAI,YAAY,CAAqC;IAC5E,IAAW,MAAM,IAAI,MAAM,GAAG,SAAS,CAA+B;IACtE,IAAW,WAAW,IAAI,OAAO,GAAG,SAAS,CAAoC;IAE1E,cAAc,CAAC,WAAW,EAAE,YAAY;IAI/C;;OAEG;IACI,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAsB7C;;;;OAIG;WACW,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,gBAAgB,GAAG,mBAAmB,EAAE,aAAa,CAAC,EAAE,KAAK,CAAC,CAAC,cAAc,GAAG,sBAAsB,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,GAAG,MAAM;IAgB5M;;OAEG;WACW,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,mBAAmB;IA0D1E;;OAEG;WACW,gBAAgB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,cAAc;IAMzE;;;;;OAKG;IACI,cAAc,IAAI,6BAA6B;CA+BvD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,GAAG,WAAW,CAE3E"}
|
|
@@ -15,9 +15,19 @@ const core_quantity_1 = require("@itwin/core-quantity");
|
|
|
15
15
|
const Exception_1 = require("../Exception");
|
|
16
16
|
/**
|
|
17
17
|
* Overrides of a Format, from a Schema, and is SchemaItem that is used specifically on KindOfQuantity.
|
|
18
|
-
* @
|
|
18
|
+
* @public @preview
|
|
19
19
|
*/
|
|
20
20
|
class OverrideFormat {
|
|
21
|
+
_precision;
|
|
22
|
+
_units;
|
|
23
|
+
/** The Format that this OverrideFormat is extending */
|
|
24
|
+
parent;
|
|
25
|
+
/** The name of this OverrideFormat.
|
|
26
|
+
*
|
|
27
|
+
* This should be set to the [FormatString]($docs/bis/ec/kindofquantity/#format-string) which represents the format override.
|
|
28
|
+
*/
|
|
29
|
+
name;
|
|
30
|
+
/** @internal */
|
|
21
31
|
constructor(parent, precision, unitAndLabels) {
|
|
22
32
|
this.parent = parent;
|
|
23
33
|
this.name = OverrideFormat.createOverrideFormatFullName(parent, precision, unitAndLabels);
|
|
@@ -25,8 +35,12 @@ class OverrideFormat {
|
|
|
25
35
|
this._units = unitAndLabels;
|
|
26
36
|
}
|
|
27
37
|
// Properties that can be overriden
|
|
28
|
-
get precision() {
|
|
29
|
-
|
|
38
|
+
get precision() {
|
|
39
|
+
return (undefined === this._precision) ? this.parent.precision : this._precision;
|
|
40
|
+
}
|
|
41
|
+
get units() {
|
|
42
|
+
return (undefined === this._units) ? this.parent.units : this._units;
|
|
43
|
+
}
|
|
30
44
|
// Properties that cannot be overriden
|
|
31
45
|
get fullName() { return this.name; }
|
|
32
46
|
get roundFactor() { return this.parent.roundFactor; }
|
|
@@ -46,7 +60,7 @@ class OverrideFormat {
|
|
|
46
60
|
return (this.parent.formatTraits & formatTrait) === formatTrait;
|
|
47
61
|
}
|
|
48
62
|
/** Returns the format string of this override in the Xml full name format.
|
|
49
|
-
* @
|
|
63
|
+
* @internal
|
|
50
64
|
*/
|
|
51
65
|
fullNameXml(koqSchema) {
|
|
52
66
|
let fullName = XmlSerializationUtils_1.XmlSerializationUtils.createXmlTypedName(koqSchema, this.parent.schema, this.parent.name);
|
|
@@ -55,8 +69,11 @@ class OverrideFormat {
|
|
|
55
69
|
if (undefined === this._units)
|
|
56
70
|
return fullName;
|
|
57
71
|
for (const [unit, unitLabel] of this._units) {
|
|
72
|
+
const unitSchema = koqSchema.context.getSchemaSync(unit.schemaKey);
|
|
73
|
+
if (unitSchema === undefined)
|
|
74
|
+
throw new Exception_1.ECSchemaError(Exception_1.ECSchemaStatus.InvalidECJson, `The unit schema ${unit.schemaKey} is not found in the context.`);
|
|
58
75
|
fullName += "[";
|
|
59
|
-
fullName += XmlSerializationUtils_1.XmlSerializationUtils.createXmlTypedName(koqSchema,
|
|
76
|
+
fullName += XmlSerializationUtils_1.XmlSerializationUtils.createXmlTypedName(koqSchema, unitSchema, unit.name);
|
|
60
77
|
if (unitLabel !== undefined)
|
|
61
78
|
fullName += `|${unitLabel}`;
|
|
62
79
|
fullName += `]`;
|
|
@@ -87,8 +104,8 @@ class OverrideFormat {
|
|
|
87
104
|
static parseFormatString(formatString) {
|
|
88
105
|
const match = formatString.split(core_quantity_1.formatStringRgx); // split string based on regex groups
|
|
89
106
|
if (undefined === match[1])
|
|
90
|
-
throw new Exception_1.
|
|
91
|
-
|
|
107
|
+
throw new Exception_1.ECSchemaError(Exception_1.ECSchemaStatus.InvalidECJson, `The format string, ${formatString}, on KindOfQuantity is missing a format.`);
|
|
108
|
+
let precision;
|
|
92
109
|
if (undefined !== match[2] && undefined !== match[3]) {
|
|
93
110
|
const overrideString = match[2];
|
|
94
111
|
const tokens = [];
|
|
@@ -102,41 +119,41 @@ class OverrideFormat {
|
|
|
102
119
|
if (overrideString.length > 0 && undefined === tokens.find((token) => {
|
|
103
120
|
return "" !== token; // there is at least one token that is not empty.
|
|
104
121
|
})) {
|
|
105
|
-
throw new Exception_1.
|
|
122
|
+
throw new Exception_1.ECSchemaError(Exception_1.ECSchemaStatus.InvalidECJson, ``);
|
|
106
123
|
}
|
|
107
124
|
// The first override parameter overrides the default precision of the format
|
|
108
125
|
const precisionIndx = 0;
|
|
109
126
|
if (tokens.length >= precisionIndx + 1) {
|
|
110
127
|
if (tokens[precisionIndx].length > 0) {
|
|
111
|
-
|
|
128
|
+
precision = Number.parseInt(tokens[precisionIndx], 10);
|
|
112
129
|
if (Number.isNaN(precision))
|
|
113
|
-
throw new Exception_1.
|
|
114
|
-
returnValue.precision = precision;
|
|
130
|
+
throw new Exception_1.ECSchemaError(Exception_1.ECSchemaStatus.InvalidECJson, `The format string '${formatString}' on KindOfQuantity has a precision override '${tokens[precisionIndx]}' that is not number.`);
|
|
115
131
|
}
|
|
116
132
|
}
|
|
117
133
|
}
|
|
118
134
|
let i = 4;
|
|
135
|
+
let unitAndLabels;
|
|
119
136
|
while (i < match.length - 1) { // The regex match ends with an empty last value, which causes problems when exactly 4 unit overrides as specified, so ignore this last empty value
|
|
120
137
|
if (undefined === match[i])
|
|
121
138
|
break;
|
|
122
139
|
// Unit override required
|
|
123
140
|
if (undefined === match[i + 1])
|
|
124
|
-
throw new Exception_1.
|
|
125
|
-
if (undefined ===
|
|
126
|
-
|
|
141
|
+
throw new Exception_1.ECSchemaError(Exception_1.ECSchemaStatus.InvalidECJson, ``);
|
|
142
|
+
if (undefined === unitAndLabels)
|
|
143
|
+
unitAndLabels = [];
|
|
127
144
|
if (undefined !== match[i + 2]) // matches '|'
|
|
128
|
-
|
|
145
|
+
unitAndLabels.push([match[i + 1], match[i + 3] ?? ""]); // add unit name and label override (if '|' matches and next value is undefined, save it as an empty string)
|
|
129
146
|
else
|
|
130
|
-
|
|
147
|
+
unitAndLabels.push([match[i + 1], undefined]); // add unit name
|
|
131
148
|
i += 4;
|
|
132
149
|
}
|
|
133
|
-
return
|
|
150
|
+
return { name: match[1], precision, unitAndLabels };
|
|
134
151
|
}
|
|
135
152
|
/**
|
|
136
153
|
* @internal
|
|
137
154
|
*/
|
|
138
|
-
static isOverrideFormat(
|
|
139
|
-
const overrideFormat =
|
|
155
|
+
static isOverrideFormat(format) {
|
|
156
|
+
const overrideFormat = format;
|
|
140
157
|
return overrideFormat !== undefined && overrideFormat.name !== undefined && overrideFormat.parent !== undefined && overrideFormat.parent.schemaItemType === ECObjects_1.SchemaItemType.Format;
|
|
141
158
|
}
|
|
142
159
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OverrideFormat.js","sourceRoot":"","sources":["../../../src/Metadata/OverrideFormat.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Metadata\r\n */\r\n\r\nimport { XmlSerializationUtils } from \"../Deserialization/XmlSerializationUtils\";\r\nimport { SchemaItemType } from \"../ECObjects\";\r\nimport { DecimalPrecision, FormatProps, formatStringRgx, FormatTraits, FormatType, FractionalPrecision, ScientificType, ShowSignOption } from \"@itwin/core-quantity\";\r\nimport { Format } from \"./Format\";\r\nimport { InvertedUnit } from \"./InvertedUnit\";\r\nimport { Schema } from \"./Schema\";\r\nimport { SchemaItemOverrideFormatProps } from \"../Deserialization/JsonProps\";\r\nimport { Unit } from \"./Unit\";\r\nimport { Mutable } from \"@itwin/core-bentley\";\r\nimport { ECObjectsError, ECObjectsStatus } from \"../Exception\";\r\n\r\n/**\r\n * @beta\r\n */\r\nexport interface OverrideFormatProps {\r\n name: string;\r\n precision?: number;\r\n unitAndLabels?: Array<[string, string | undefined]>; // Tuple of [unit name | unit label]\r\n}\r\n\r\n/**\r\n * Overrides of a Format, from a Schema, and is SchemaItem that is used specifically on KindOfQuantity.\r\n * @beta\r\n */\r\nexport class OverrideFormat {\r\n private _precision?: DecimalPrecision | FractionalPrecision;\r\n private _units?: Array<[Unit | InvertedUnit, string | undefined]>;\r\n\r\n /** The Format that this OverrideFormat is extending */\r\n public readonly parent: Format;\r\n\r\n /** The name of this OverrideFormat.\r\n *\r\n * This should be set to the [FormatString]($docs/bis/ec/kindofquantity/#format-string) which represents the format override.\r\n */\r\n public readonly name: string;\r\n\r\n constructor(parent: Format, precision?: DecimalPrecision | FractionalPrecision, unitAndLabels?: Array<[Unit | InvertedUnit, string | undefined]>) {\r\n this.parent = parent;\r\n this.name = OverrideFormat.createOverrideFormatFullName(parent, precision, unitAndLabels);\r\n this._precision = precision;\r\n this._units = unitAndLabels;\r\n }\r\n\r\n // Properties that can be overriden\r\n public get precision(): DecimalPrecision | FractionalPrecision { return (undefined === this._precision) ? this.parent.precision : this._precision; }\r\n public get units() { return (undefined === this._units) ? this.parent.units : this._units; }\r\n\r\n // Properties that cannot be overriden\r\n public get fullName(): string { return this.name; }\r\n public get roundFactor(): number { return this.parent.roundFactor; }\r\n public get type(): FormatType { return this.parent.type; }\r\n public get minWidth(): number | undefined { return this.parent.minWidth; }\r\n public get scientificType(): ScientificType | undefined { return this.parent.scientificType; }\r\n public get showSignOption(): ShowSignOption { return this.parent.showSignOption; }\r\n public get decimalSeparator(): string { return this.parent.decimalSeparator; }\r\n public get thousandSeparator(): string { return this.parent.thousandSeparator; }\r\n public get uomSeparator(): string { return this.parent.uomSeparator; }\r\n public get stationSeparator(): string { return this.parent.stationSeparator; }\r\n public get stationOffsetSize(): number | undefined { return this.parent.stationOffsetSize; }\r\n public get formatTraits(): FormatTraits { return this.parent.formatTraits; }\r\n public get spacer(): string | undefined { return this.parent.spacer; }\r\n public get includeZero(): boolean | undefined { return this.parent.includeZero; }\r\n\r\n public hasFormatTrait(formatTrait: FormatTraits) {\r\n return (this.parent.formatTraits & formatTrait) === formatTrait;\r\n }\r\n\r\n /** Returns the format string of this override in the Xml full name format.\r\n * @alpha\r\n */\r\n public fullNameXml(koqSchema: Schema): string {\r\n let fullName = XmlSerializationUtils.createXmlTypedName(koqSchema, this.parent.schema, this.parent.name);\r\n\r\n if (undefined !== this.precision)\r\n fullName += `(${this.precision.toString()})`;\r\n\r\n if (undefined === this._units)\r\n return fullName;\r\n for (const [unit, unitLabel] of this._units) {\r\n fullName += \"[\";\r\n fullName += XmlSerializationUtils.createXmlTypedName(koqSchema, unit.schema, unit.name);\r\n if (unitLabel !== undefined)\r\n fullName += `|${unitLabel}`;\r\n fullName += `]`;\r\n }\r\n return fullName;\r\n }\r\n\r\n /**\r\n * Creates a valid OverrideFormat fullName from the parent Format and overridden units.\r\n * @param parent The parent Format.\r\n * @param unitAndLabels The overridden unit and labels collection.\r\n */\r\n public static createOverrideFormatFullName(parent: Format, precision?: DecimalPrecision | FractionalPrecision, unitAndLabels?: Array<[Unit | InvertedUnit, string | undefined]>): string {\r\n let fullName = parent.fullName;\r\n\r\n if (precision)\r\n fullName += `(${precision.toString()})`;\r\n\r\n if (undefined === unitAndLabels)\r\n return fullName;\r\n for (const [unit, unitLabel] of unitAndLabels)\r\n if (undefined === unitLabel)\r\n fullName += `[${unit.fullName}]`;\r\n else\r\n fullName += `[${unit.fullName}|${unitLabel}]`;\r\n return fullName;\r\n }\r\n\r\n /** Parses the format string into the parts that make up an Override Format\r\n * @param formatString\r\n */\r\n public static parseFormatString(formatString: string): OverrideFormatProps {\r\n const match = formatString.split(formatStringRgx); // split string based on regex groups\r\n if (undefined === match[1])\r\n throw new ECObjectsError(ECObjectsStatus.InvalidECJson, `The format string, ${formatString}, on KindOfQuantity is missing a format.`);\r\n\r\n const returnValue: OverrideFormatProps = { name: match[1] };\r\n\r\n if (undefined !== match[2] && undefined !== match[3]) {\r\n const overrideString = match[2];\r\n const tokens: string[] = [];\r\n let prevPos = 1; // Initial position is the character directly after the opening '(' in the override string.\r\n let currPos;\r\n\r\n // TODO need to include `,` as a valid search argument.\r\n while (-1 !== (currPos = overrideString.indexOf(\")\", prevPos))) {\r\n tokens.push(overrideString.substring(prevPos, currPos));\r\n prevPos = currPos + 1;\r\n }\r\n\r\n if (overrideString.length > 0 && undefined === tokens.find((token) => {\r\n return \"\" !== token; // there is at least one token that is not empty.\r\n })) {\r\n throw new ECObjectsError(ECObjectsStatus.InvalidECJson, ``);\r\n }\r\n\r\n // The first override parameter overrides the default precision of the format\r\n const precisionIndx: number = 0;\r\n\r\n if (tokens.length >= precisionIndx + 1) {\r\n if (tokens[precisionIndx].length > 0) {\r\n const precision = Number.parseInt(tokens[precisionIndx], 10);\r\n if (Number.isNaN(precision))\r\n throw new ECObjectsError(ECObjectsStatus.InvalidECJson, `The format string '${formatString}' on KindOfQuantity has a precision override '${tokens[precisionIndx]}' that is not number.`);\r\n returnValue.precision = precision;\r\n }\r\n }\r\n }\r\n\r\n let i = 4;\r\n while (i < match.length - 1) { // The regex match ends with an empty last value, which causes problems when exactly 4 unit overrides as specified, so ignore this last empty value\r\n if (undefined === match[i])\r\n break;\r\n // Unit override required\r\n if (undefined === match[i + 1])\r\n throw new ECObjectsError(ECObjectsStatus.InvalidECJson, ``);\r\n\r\n if (undefined === returnValue.unitAndLabels)\r\n returnValue.unitAndLabels = [];\r\n\r\n if (undefined !== match[i + 2]) // matches '|'\r\n returnValue.unitAndLabels.push([match[i + 1], match[i + 3] ?? \"\"]); // add unit name and label override (if '|' matches and next value is undefined, save it as an empty string)\r\n else\r\n returnValue.unitAndLabels.push([match[i + 1], undefined]); // add unit name\r\n\r\n i += 4;\r\n }\r\n\r\n return returnValue;\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n public static isOverrideFormat(object: any): object is OverrideFormat {\r\n const overrideFormat = object as OverrideFormat;\r\n\r\n return overrideFormat !== undefined && overrideFormat.name !== undefined && overrideFormat.parent !== undefined && overrideFormat.parent.schemaItemType === SchemaItemType.Format;\r\n }\r\n\r\n /**\r\n * Returns a JSON object that contains the specification for the OverrideFormat where the precision and units properties have been overriden.\r\n * If the precision and/or units properties have been overriden, the returned object will contain a \"name\" and a \"parent\" property.\r\n * The \"name\" property identifies the OverrideFormat object itself and the \"parent\" property identifies the Format that has been overriden.\r\n * This method is not intended for complete serialization as it does not serialize any of the schema item properties.\r\n */\r\n public getFormatProps(): SchemaItemOverrideFormatProps {\r\n const formatJson = this.parent.toJSON() as Mutable<SchemaItemOverrideFormatProps>;\r\n\r\n if (this.parent.fullName !== this.fullName) {\r\n // Update name and parent properties to distinguish it from parent Format\r\n formatJson.name = this.fullName;\r\n formatJson.parent = this.parent.fullName;\r\n }\r\n\r\n // Update Precision overriden property\r\n formatJson.precision = this.precision;\r\n\r\n if (this.units !== undefined) {\r\n // Update Units overriden property\r\n const units = [];\r\n for (const unit of this.units) {\r\n units.push({\r\n name: unit[0].fullName,\r\n label: unit[1],\r\n });\r\n }\r\n\r\n formatJson.composite = {\r\n spacer: (this.spacer !== \" \") ? this.spacer : undefined,\r\n includeZero: (this.includeZero === false) ? this.includeZero : undefined,\r\n units,\r\n };\r\n }\r\n\r\n return formatJson;\r\n }\r\n}\r\n\r\n/**\r\n * @internal\r\n */\r\nexport function getFormatProps(format: Format | OverrideFormat): FormatProps {\r\n return OverrideFormat.isOverrideFormat(format) ? format.getFormatProps() : format.toJSON();\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"OverrideFormat.js","sourceRoot":"","sources":["../../../src/Metadata/OverrideFormat.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Metadata\n */\n\nimport { XmlSerializationUtils } from \"../Deserialization/XmlSerializationUtils\";\nimport { SchemaItemType } from \"../ECObjects\";\nimport { DecimalPrecision, FormatProps, formatStringRgx, FormatTraits, FormatType, FractionalPrecision, ScientificType, ShowSignOption } from \"@itwin/core-quantity\";\nimport { Format } from \"./Format\";\nimport { Schema } from \"./Schema\";\nimport { SchemaItemOverrideFormatProps } from \"../Deserialization/JsonProps\";\nimport { Mutable } from \"@itwin/core-bentley\";\nimport { LazyLoadedInvertedUnit, LazyLoadedUnit } from \"../Interfaces\";\nimport { ECSchemaError, ECSchemaStatus } from \"../Exception\";\n\n/**\n * @public @preview\n */\nexport interface OverrideFormatProps {\n readonly name: string;\n readonly precision?: number;\n readonly unitAndLabels?: Array<[string, string | undefined]>; // Tuple of [unit name | unit label]\n}\n\n/**\n * Overrides of a Format, from a Schema, and is SchemaItem that is used specifically on KindOfQuantity.\n * @public @preview\n */\nexport class OverrideFormat {\n private _precision?: DecimalPrecision | FractionalPrecision;\n private _units?: Array<[LazyLoadedUnit | LazyLoadedInvertedUnit, string | undefined]>;\n\n /** The Format that this OverrideFormat is extending */\n public readonly parent: Format;\n\n /** The name of this OverrideFormat.\n *\n * This should be set to the [FormatString]($docs/bis/ec/kindofquantity/#format-string) which represents the format override.\n */\n public readonly name: string;\n\n /** @internal */\n constructor(parent: Format, precision?: DecimalPrecision | FractionalPrecision, unitAndLabels?: Array<[LazyLoadedUnit | LazyLoadedInvertedUnit, string | undefined]>) {\n this.parent = parent;\n this.name = OverrideFormat.createOverrideFormatFullName(parent, precision, unitAndLabels);\n this._precision = precision;\n this._units = unitAndLabels;\n }\n\n // Properties that can be overriden\n public get precision(): DecimalPrecision | FractionalPrecision {\n return (undefined === this._precision) ? this.parent.precision : this._precision;\n }\n\n public get units(): ReadonlyArray<[LazyLoadedUnit | LazyLoadedInvertedUnit, string | undefined]> | undefined {\n return (undefined === this._units) ? this.parent.units : this._units;\n }\n\n // Properties that cannot be overriden\n public get fullName(): string { return this.name; }\n public get roundFactor(): number { return this.parent.roundFactor; }\n public get type(): FormatType { return this.parent.type; }\n public get minWidth(): number | undefined { return this.parent.minWidth; }\n public get scientificType(): ScientificType | undefined { return this.parent.scientificType; }\n public get showSignOption(): ShowSignOption { return this.parent.showSignOption; }\n public get decimalSeparator(): string { return this.parent.decimalSeparator; }\n public get thousandSeparator(): string { return this.parent.thousandSeparator; }\n public get uomSeparator(): string { return this.parent.uomSeparator; }\n public get stationSeparator(): string { return this.parent.stationSeparator; }\n public get stationOffsetSize(): number | undefined { return this.parent.stationOffsetSize; }\n public get formatTraits(): FormatTraits { return this.parent.formatTraits; }\n public get spacer(): string | undefined { return this.parent.spacer; }\n public get includeZero(): boolean | undefined { return this.parent.includeZero; }\n\n public hasFormatTrait(formatTrait: FormatTraits) {\n return (this.parent.formatTraits & formatTrait) === formatTrait;\n }\n\n /** Returns the format string of this override in the Xml full name format.\n * @internal\n */\n public fullNameXml(koqSchema: Schema): string {\n let fullName = XmlSerializationUtils.createXmlTypedName(koqSchema, this.parent.schema, this.parent.name);\n\n if (undefined !== this.precision)\n fullName += `(${this.precision.toString()})`;\n\n if (undefined === this._units)\n return fullName;\n for (const [unit, unitLabel] of this._units) {\n const unitSchema = koqSchema.context.getSchemaSync(unit.schemaKey);\n if(unitSchema === undefined)\n throw new ECSchemaError(ECSchemaStatus.InvalidECJson, `The unit schema ${unit.schemaKey} is not found in the context.`);\n\n fullName += \"[\";\n fullName += XmlSerializationUtils.createXmlTypedName(koqSchema, unitSchema, unit.name);\n if (unitLabel !== undefined)\n fullName += `|${unitLabel}`;\n fullName += `]`;\n }\n return fullName;\n }\n\n /**\n * Creates a valid OverrideFormat fullName from the parent Format and overridden units.\n * @param parent The parent Format.\n * @param unitAndLabels The overridden unit and labels collection.\n */\n public static createOverrideFormatFullName(parent: Format, precision?: DecimalPrecision | FractionalPrecision, unitAndLabels?: Array<[LazyLoadedUnit | LazyLoadedInvertedUnit, string | undefined]>): string {\n let fullName = parent.fullName;\n\n if (precision)\n fullName += `(${precision.toString()})`;\n\n if (undefined === unitAndLabels)\n return fullName;\n for (const [unit, unitLabel] of unitAndLabels)\n if (undefined === unitLabel)\n fullName += `[${unit.fullName}]`;\n else\n fullName += `[${unit.fullName}|${unitLabel}]`;\n return fullName;\n }\n\n /** Parses the format string into the parts that make up an Override Format\n * @param formatString\n */\n public static parseFormatString(formatString: string): OverrideFormatProps {\n const match = formatString.split(formatStringRgx); // split string based on regex groups\n if (undefined === match[1])\n throw new ECSchemaError(ECSchemaStatus.InvalidECJson, `The format string, ${formatString}, on KindOfQuantity is missing a format.`);\n\n let precision: OverrideFormatProps[\"precision\"];\n if (undefined !== match[2] && undefined !== match[3]) {\n const overrideString = match[2];\n const tokens: string[] = [];\n let prevPos = 1; // Initial position is the character directly after the opening '(' in the override string.\n let currPos;\n\n // TODO need to include `,` as a valid search argument.\n while (-1 !== (currPos = overrideString.indexOf(\")\", prevPos))) {\n tokens.push(overrideString.substring(prevPos, currPos));\n prevPos = currPos + 1;\n }\n\n if (overrideString.length > 0 && undefined === tokens.find((token) => {\n return \"\" !== token; // there is at least one token that is not empty.\n })) {\n throw new ECSchemaError(ECSchemaStatus.InvalidECJson, ``);\n }\n\n // The first override parameter overrides the default precision of the format\n const precisionIndx: number = 0;\n if (tokens.length >= precisionIndx + 1) {\n if (tokens[precisionIndx].length > 0) {\n precision = Number.parseInt(tokens[precisionIndx], 10);\n if (Number.isNaN(precision))\n throw new ECSchemaError(ECSchemaStatus.InvalidECJson, `The format string '${formatString}' on KindOfQuantity has a precision override '${tokens[precisionIndx]}' that is not number.`);\n }\n }\n }\n\n let i = 4;\n let unitAndLabels: OverrideFormatProps[\"unitAndLabels\"];\n while (i < match.length - 1) { // The regex match ends with an empty last value, which causes problems when exactly 4 unit overrides as specified, so ignore this last empty value\n if (undefined === match[i])\n break;\n // Unit override required\n if (undefined === match[i + 1])\n throw new ECSchemaError(ECSchemaStatus.InvalidECJson, ``);\n\n if (undefined === unitAndLabels)\n unitAndLabels = [];\n\n if (undefined !== match[i + 2]) // matches '|'\n unitAndLabels.push([match[i + 1], match[i + 3] ?? \"\"]); // add unit name and label override (if '|' matches and next value is undefined, save it as an empty string)\n else\n unitAndLabels.push([match[i + 1], undefined]); // add unit name\n\n i += 4;\n }\n\n return { name: match[1], precision, unitAndLabels };\n }\n\n /**\n * @internal\n */\n public static isOverrideFormat(format: unknown): format is OverrideFormat {\n const overrideFormat = format as Partial<OverrideFormat>;\n\n return overrideFormat !== undefined && overrideFormat.name !== undefined && overrideFormat.parent !== undefined && overrideFormat.parent.schemaItemType === SchemaItemType.Format;\n }\n\n /**\n * Returns a JSON object that contains the specification for the OverrideFormat where the precision and units properties have been overriden.\n * If the precision and/or units properties have been overriden, the returned object will contain a \"name\" and a \"parent\" property.\n * The \"name\" property identifies the OverrideFormat object itself and the \"parent\" property identifies the Format that has been overriden.\n * This method is not intended for complete serialization as it does not serialize any of the schema item properties.\n */\n public getFormatProps(): SchemaItemOverrideFormatProps {\n const formatJson = this.parent.toJSON() as Mutable<SchemaItemOverrideFormatProps>;\n\n if (this.parent.fullName !== this.fullName) {\n // Update name and parent properties to distinguish it from parent Format\n formatJson.name = this.fullName;\n formatJson.parent = this.parent.fullName;\n }\n\n // Update Precision overriden property\n formatJson.precision = this.precision;\n\n if (this.units !== undefined) {\n // Update Units overriden property\n const units = [];\n for (const unit of this.units) {\n units.push({\n name: unit[0].fullName,\n label: unit[1],\n });\n }\n\n formatJson.composite = {\n spacer: (this.spacer !== \" \") ? this.spacer : undefined,\n includeZero: (this.includeZero === false) ? this.includeZero : undefined,\n units,\n };\n }\n\n return formatJson;\n }\n}\n\n/**\n * @internal\n */\nexport function getFormatProps(format: Format | OverrideFormat): FormatProps {\n return OverrideFormat.isOverrideFormat(format) ? format.getFormatProps() : format.toJSON();\n}\n"]}
|
|
@@ -5,10 +5,13 @@ import { PhenomenonProps } from "../Deserialization/JsonProps";
|
|
|
5
5
|
import { SchemaItemType } from "../ECObjects";
|
|
6
6
|
import { Schema } from "./Schema";
|
|
7
7
|
import { SchemaItem } from "./SchemaItem";
|
|
8
|
-
/** @
|
|
8
|
+
/** @public @preview */
|
|
9
9
|
export declare class Phenomenon extends SchemaItem {
|
|
10
|
-
readonly schemaItemType: SchemaItemType
|
|
11
|
-
|
|
10
|
+
readonly schemaItemType: SchemaItemType;
|
|
11
|
+
/** @internal */
|
|
12
|
+
static get schemaItemType(): SchemaItemType;
|
|
13
|
+
private _definition;
|
|
14
|
+
/** @internal */
|
|
12
15
|
constructor(schema: Schema, name: string);
|
|
13
16
|
get definition(): string;
|
|
14
17
|
/**
|
|
@@ -21,7 +24,25 @@ export declare class Phenomenon extends SchemaItem {
|
|
|
21
24
|
toXml(schemaXml: Document): Promise<Element>;
|
|
22
25
|
fromJSONSync(phenomenonProps: PhenomenonProps): void;
|
|
23
26
|
fromJSON(phenomenonProps: PhenomenonProps): Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
*
|
|
29
|
+
* @param definition
|
|
30
|
+
* @internal
|
|
31
|
+
*/
|
|
24
32
|
protected setDefinition(definition: string): Promise<void>;
|
|
33
|
+
/**
|
|
34
|
+
* Type guard to check if the SchemaItem is of type Phenomenon.
|
|
35
|
+
* @param item The SchemaItem to check.
|
|
36
|
+
* @returns True if the item is a Phenomenon, false otherwise.
|
|
37
|
+
*/
|
|
38
|
+
static isPhenomenon(item?: SchemaItem): item is Phenomenon;
|
|
39
|
+
/**
|
|
40
|
+
* Type assertion to check if the SchemaItem is of type Phenomenon.
|
|
41
|
+
* @param item The SchemaItem to check.
|
|
42
|
+
* @returns The item cast to Phenomenon if it is a Phenomenon, undefined otherwise.
|
|
43
|
+
* @internal
|
|
44
|
+
*/
|
|
45
|
+
static assertIsPhenomenon(item?: SchemaItem): asserts item is Phenomenon;
|
|
25
46
|
}
|
|
26
47
|
/**
|
|
27
48
|
* @internal
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Phenomenon.d.ts","sourceRoot":"","sources":["../../../src/Metadata/Phenomenon.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,
|
|
1
|
+
{"version":3,"file":"Phenomenon.d.ts","sourceRoot":"","sources":["../../../src/Metadata/Phenomenon.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,uBAAuB;AACvB,qBAAa,UAAW,SAAQ,UAAU;IACxC,SAAyB,cAAc,iBAA6B;IACpE,gBAAgB;IAChB,WAA2B,cAAc,mBAAwC;IACjF,OAAO,CAAC,WAAW,CAAS;IAE5B,gBAAgB;gBACJ,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAKxC,IAAW,UAAU,IAAI,MAAM,CAA6B;IAE5D;;;;OAIG;IACa,MAAM,CAAC,UAAU,GAAE,OAAe,EAAE,oBAAoB,GAAE,OAAe,GAAG,eAAe;IAM3G,gBAAgB;IACM,KAAK,CAAC,SAAS,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAMlD,YAAY,CAAC,eAAe,EAAE,eAAe;IAQvC,QAAQ,CAAC,eAAe,EAAE,eAAe;IAI/D;;;;OAIG;cACa,aAAa,CAAC,UAAU,EAAE,MAAM;IAIhD;;;;OAIG;WACW,YAAY,CAAC,IAAI,CAAC,EAAE,UAAU,GAAG,IAAI,IAAI,UAAU;IAOjE;;;;;OAKG;WACW,kBAAkB,CAAC,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,IAAI,UAAU;CAIhF;AAED;;;GAGG;AACH,8BAAsB,iBAAkB,SAAQ,UAAU;aAC/B,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;aAChD,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;CACrE"}
|
|
@@ -11,11 +11,15 @@ exports.MutablePhenomenon = exports.Phenomenon = void 0;
|
|
|
11
11
|
const ECObjects_1 = require("../ECObjects");
|
|
12
12
|
const Exception_1 = require("../Exception");
|
|
13
13
|
const SchemaItem_1 = require("./SchemaItem");
|
|
14
|
-
/** @
|
|
14
|
+
/** @public @preview */
|
|
15
15
|
class Phenomenon extends SchemaItem_1.SchemaItem {
|
|
16
|
+
schemaItemType = Phenomenon.schemaItemType;
|
|
17
|
+
/** @internal */
|
|
18
|
+
static get schemaItemType() { return ECObjects_1.SchemaItemType.Phenomenon; }
|
|
19
|
+
_definition; // Contains a combination of Phenomena names which form this Phenomenon. Each Phenomena name is separated by a * and may have an exponent, specified using parentheses
|
|
20
|
+
/** @internal */
|
|
16
21
|
constructor(schema, name) {
|
|
17
22
|
super(schema, name);
|
|
18
|
-
this.schemaItemType = ECObjects_1.SchemaItemType.Phenomenon;
|
|
19
23
|
this._definition = "";
|
|
20
24
|
}
|
|
21
25
|
get definition() { return this._definition; }
|
|
@@ -38,16 +42,41 @@ class Phenomenon extends SchemaItem_1.SchemaItem {
|
|
|
38
42
|
fromJSONSync(phenomenonProps) {
|
|
39
43
|
super.fromJSONSync(phenomenonProps);
|
|
40
44
|
if (this._definition !== "" && phenomenonProps.definition.toLowerCase() !== this._definition.toLowerCase())
|
|
41
|
-
throw new Exception_1.
|
|
45
|
+
throw new Exception_1.ECSchemaError(Exception_1.ECSchemaStatus.InvalidECJson, `The Phenomenon ${this.name} has an invalid 'definition' attribute.`);
|
|
42
46
|
else if (this._definition === "")
|
|
43
47
|
this._definition = phenomenonProps.definition;
|
|
44
48
|
}
|
|
45
49
|
async fromJSON(phenomenonProps) {
|
|
46
50
|
this.fromJSONSync(phenomenonProps);
|
|
47
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
*
|
|
54
|
+
* @param definition
|
|
55
|
+
* @internal
|
|
56
|
+
*/
|
|
48
57
|
async setDefinition(definition) {
|
|
49
58
|
this._definition = definition;
|
|
50
59
|
}
|
|
60
|
+
/**
|
|
61
|
+
* Type guard to check if the SchemaItem is of type Phenomenon.
|
|
62
|
+
* @param item The SchemaItem to check.
|
|
63
|
+
* @returns True if the item is a Phenomenon, false otherwise.
|
|
64
|
+
*/
|
|
65
|
+
static isPhenomenon(item) {
|
|
66
|
+
if (item && item.schemaItemType === ECObjects_1.SchemaItemType.Phenomenon)
|
|
67
|
+
return true;
|
|
68
|
+
return false;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Type assertion to check if the SchemaItem is of type Phenomenon.
|
|
72
|
+
* @param item The SchemaItem to check.
|
|
73
|
+
* @returns The item cast to Phenomenon if it is a Phenomenon, undefined otherwise.
|
|
74
|
+
* @internal
|
|
75
|
+
*/
|
|
76
|
+
static assertIsPhenomenon(item) {
|
|
77
|
+
if (!this.isPhenomenon(item))
|
|
78
|
+
throw new Exception_1.ECSchemaError(Exception_1.ECSchemaStatus.InvalidSchemaItemType, `Expected '${ECObjects_1.SchemaItemType.Phenomenon}' (Phenomenon)`);
|
|
79
|
+
}
|
|
51
80
|
}
|
|
52
81
|
exports.Phenomenon = Phenomenon;
|
|
53
82
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Phenomenon.js","sourceRoot":"","sources":["../../../src/Metadata/Phenomenon.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAGH,4CAA8C;AAC9C,
|
|
1
|
+
{"version":3,"file":"Phenomenon.js","sourceRoot":"","sources":["../../../src/Metadata/Phenomenon.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAGH,4CAA8C;AAC9C,4CAA6D;AAE7D,6CAA0C;AAE1C,uBAAuB;AACvB,MAAa,UAAW,SAAQ,uBAAU;IACf,cAAc,GAAG,UAAU,CAAC,cAAc,CAAC;IACpE,gBAAgB;IACT,MAAM,KAAc,cAAc,KAAK,OAAO,0BAAc,CAAC,UAAU,CAAC,CAAC,CAAC;IACzE,WAAW,CAAS,CAAC,sKAAsK;IAEnM,gBAAgB;IAChB,YAAY,MAAc,EAAE,IAAY;QACtC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACpB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;IACxB,CAAC;IAED,IAAW,UAAU,KAAa,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAE5D;;;;OAIG;IACa,MAAM,CAAC,aAAsB,KAAK,EAAE,uBAAgC,KAAK;QACvF,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,oBAAoB,CAAQ,CAAC;QACzE,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACxC,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,gBAAgB;IACA,KAAK,CAAC,KAAK,CAAC,SAAmB;QAC7C,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACjD,WAAW,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACxD,OAAO,WAAW,CAAC;IACrB,CAAC;IAEe,YAAY,CAAC,eAAgC;QAC3D,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QACpC,IAAI,IAAI,CAAC,WAAW,KAAK,EAAE,IAAI,eAAe,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE;YACxG,MAAM,IAAI,yBAAa,CAAC,0BAAc,CAAC,aAAa,EAAE,kBAAkB,IAAI,CAAC,IAAI,yCAAyC,CAAC,CAAC;aACzH,IAAI,IAAI,CAAC,WAAW,KAAK,EAAE;YAC9B,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC,UAAU,CAAC;IAClD,CAAC;IAEe,KAAK,CAAC,QAAQ,CAAC,eAAgC;QAC7D,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACO,KAAK,CAAC,aAAa,CAAC,UAAkB;QAC9C,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAChC,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,YAAY,CAAC,IAAiB;QAC1C,IAAI,IAAI,IAAI,IAAI,CAAC,cAAc,KAAK,0BAAc,CAAC,UAAU;YAC3D,OAAO,IAAI,CAAC;QAEd,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,kBAAkB,CAAC,IAAiB;QAChD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YAC1B,MAAM,IAAI,yBAAa,CAAC,0BAAc,CAAC,qBAAqB,EAAE,aAAa,0BAAc,CAAC,UAAU,gBAAgB,CAAC,CAAC;IAC1H,CAAC;CACF;AA3ED,gCA2EC;AAED;;;GAGG;AACH,MAAsB,iBAAkB,SAAQ,UAAU;CAGzD;AAHD,8CAGC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Metadata\n */\n\nimport { PhenomenonProps } from \"../Deserialization/JsonProps\";\nimport { SchemaItemType } from \"../ECObjects\";\nimport { ECSchemaError, ECSchemaStatus } from \"../Exception\";\nimport { Schema } from \"./Schema\";\nimport { SchemaItem } from \"./SchemaItem\";\n\n/** @public @preview */\nexport class Phenomenon extends SchemaItem {\n public override readonly schemaItemType = Phenomenon.schemaItemType;\n /** @internal */\n public static override get schemaItemType() { return SchemaItemType.Phenomenon; }\n private _definition: string; // Contains a combination of Phenomena names which form this Phenomenon. Each Phenomena name is separated by a * and may have an exponent, specified using parentheses\n\n /** @internal */\n constructor(schema: Schema, name: string) {\n super(schema, name);\n this._definition = \"\";\n }\n\n public get definition(): string { return this._definition; }\n\n /**\n * Save this Phenomenon's properties to an object for serializing to JSON.\n * @param standalone Serialization includes only this object (as opposed to the full schema).\n * @param includeSchemaVersion Include the Schema's version information in the serialized object.\n */\n public override toJSON(standalone: boolean = false, includeSchemaVersion: boolean = false): PhenomenonProps {\n const schemaJson = super.toJSON(standalone, includeSchemaVersion) as any;\n schemaJson.definition = this.definition;\n return schemaJson;\n }\n\n /** @internal */\n public override async toXml(schemaXml: Document): Promise<Element> {\n const itemElement = await super.toXml(schemaXml);\n itemElement.setAttribute(\"definition\", this.definition);\n return itemElement;\n }\n\n public override fromJSONSync(phenomenonProps: PhenomenonProps) {\n super.fromJSONSync(phenomenonProps);\n if (this._definition !== \"\" && phenomenonProps.definition.toLowerCase() !== this._definition.toLowerCase())\n throw new ECSchemaError(ECSchemaStatus.InvalidECJson, `The Phenomenon ${this.name} has an invalid 'definition' attribute.`);\n else if (this._definition === \"\")\n this._definition = phenomenonProps.definition;\n }\n\n public override async fromJSON(phenomenonProps: PhenomenonProps) {\n this.fromJSONSync(phenomenonProps);\n }\n\n /**\n *\n * @param definition\n * @internal\n */\n protected async setDefinition(definition: string) {\n this._definition = definition;\n }\n\n /**\n * Type guard to check if the SchemaItem is of type Phenomenon.\n * @param item The SchemaItem to check.\n * @returns True if the item is a Phenomenon, false otherwise.\n */\n public static isPhenomenon(item?: SchemaItem): item is Phenomenon {\n if (item && item.schemaItemType === SchemaItemType.Phenomenon)\n return true;\n\n return false;\n }\n\n /**\n * Type assertion to check if the SchemaItem is of type Phenomenon.\n * @param item The SchemaItem to check.\n * @returns The item cast to Phenomenon if it is a Phenomenon, undefined otherwise.\n * @internal\n */\n public static assertIsPhenomenon(item?: SchemaItem): asserts item is Phenomenon {\n if (!this.isPhenomenon(item))\n throw new ECSchemaError(ECSchemaStatus.InvalidSchemaItemType, `Expected '${SchemaItemType.Phenomenon}' (Phenomenon)`);\n }\n}\n\n/**\n * @internal\n * An abstract class used for schema editing.\n */\nexport abstract class MutablePhenomenon extends Phenomenon {\n public abstract override setDefinition(definition: string): Promise<void>;\n public abstract override setDisplayLabel(displayLabel: string): void;\n}\n"]}
|
|
@@ -10,23 +10,25 @@ import { ECClass, StructClass } from "./Class";
|
|
|
10
10
|
import { CustomAttribute, CustomAttributeContainerProps, CustomAttributeSet } from "./CustomAttribute";
|
|
11
11
|
import { KindOfQuantity } from "./KindOfQuantity";
|
|
12
12
|
import { PropertyCategory } from "./PropertyCategory";
|
|
13
|
-
import { RelationshipClass } from "./RelationshipClass";
|
|
13
|
+
import { type RelationshipClass } from "./RelationshipClass";
|
|
14
14
|
import { Schema } from "./Schema";
|
|
15
15
|
/**
|
|
16
16
|
* A common abstract class for all ECProperty types.
|
|
17
|
-
* @
|
|
17
|
+
* @public @preview
|
|
18
18
|
*/
|
|
19
19
|
export declare abstract class Property implements CustomAttributeContainerProps {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
protected _kindOfQuantity?: LazyLoadedKindOfQuantity;
|
|
20
|
+
private _name;
|
|
21
|
+
private _class;
|
|
22
|
+
private _description?;
|
|
23
|
+
private _label?;
|
|
24
|
+
private _isReadOnly?;
|
|
25
|
+
private _priority?;
|
|
26
|
+
private _category?;
|
|
27
|
+
private _kindOfQuantity?;
|
|
29
28
|
private _customAttributes?;
|
|
29
|
+
/** @internal */
|
|
30
|
+
protected _type: PropertyType;
|
|
31
|
+
/** @internal */
|
|
30
32
|
constructor(ecClass: ECClass, name: string, type: PropertyType);
|
|
31
33
|
isArray(): this is AnyArrayProperty;
|
|
32
34
|
isPrimitive(): this is AnyPrimitiveProperty;
|
|
@@ -57,7 +59,9 @@ export declare abstract class Property implements CustomAttributeContainerProps
|
|
|
57
59
|
toXml(schemaXml: Document): Promise<Element>;
|
|
58
60
|
fromJSONSync(propertyProps: PropertyProps): void;
|
|
59
61
|
fromJSON(propertyProps: PropertyProps): Promise<void>;
|
|
62
|
+
/** @internal */
|
|
60
63
|
protected addCustomAttribute(customAttribute: CustomAttribute): void;
|
|
64
|
+
/** @internal */
|
|
61
65
|
protected setName(name: ECName): void;
|
|
62
66
|
/**
|
|
63
67
|
* @internal Used in schema editing.
|
|
@@ -97,18 +101,24 @@ export declare abstract class Property implements CustomAttributeContainerProps
|
|
|
97
101
|
*/
|
|
98
102
|
static isProperty(object: any): object is AnyProperty;
|
|
99
103
|
}
|
|
100
|
-
/** @
|
|
104
|
+
/** @public @preview */
|
|
101
105
|
export declare abstract class PrimitiveOrEnumPropertyBase extends Property {
|
|
106
|
+
/** @internal */
|
|
102
107
|
protected _extendedTypeName?: string;
|
|
108
|
+
/** @internal */
|
|
103
109
|
protected _minLength?: number;
|
|
110
|
+
/** @internal */
|
|
104
111
|
protected _maxLength?: number;
|
|
112
|
+
/** @internal */
|
|
105
113
|
protected _minValue?: number;
|
|
114
|
+
/** @internal */
|
|
106
115
|
protected _maxValue?: number;
|
|
107
116
|
get extendedTypeName(): string | undefined;
|
|
108
117
|
get minLength(): number | undefined;
|
|
109
118
|
get maxLength(): number | undefined;
|
|
110
119
|
get minValue(): number | undefined;
|
|
111
120
|
get maxValue(): number | undefined;
|
|
121
|
+
/** @internal */
|
|
112
122
|
constructor(ecClass: ECClass, name: string, type: PropertyType);
|
|
113
123
|
/**
|
|
114
124
|
* Save this PrimitiveOrEnumPropertyBase's properties to an object for serializing to JSON.
|
|
@@ -139,9 +149,10 @@ export declare abstract class PrimitiveOrEnumPropertyBase extends Property {
|
|
|
139
149
|
protected setMaxValue(maxValue: number): void;
|
|
140
150
|
fromJSON(propertyBaseProps: PrimitiveOrEnumPropertyBaseProps): Promise<void>;
|
|
141
151
|
}
|
|
142
|
-
/** @
|
|
152
|
+
/** @public @preview */
|
|
143
153
|
export declare class PrimitiveProperty extends PrimitiveOrEnumPropertyBase {
|
|
144
154
|
get primitiveType(): PrimitiveType;
|
|
155
|
+
/** @internal */
|
|
145
156
|
constructor(ecClass: ECClass, name: string, primitiveType?: PrimitiveType);
|
|
146
157
|
fromJSONSync(primitivePropertyProps: PrimitivePropertyProps): void;
|
|
147
158
|
fromJSON(primitivePropertyProps: PrimitivePropertyProps): Promise<void>;
|
|
@@ -152,24 +163,28 @@ export declare class PrimitiveProperty extends PrimitiveOrEnumPropertyBase {
|
|
|
152
163
|
/** @internal */
|
|
153
164
|
toXml(schemaXml: Document): Promise<Element>;
|
|
154
165
|
}
|
|
155
|
-
/** @
|
|
166
|
+
/** @public @preview */
|
|
156
167
|
export declare class EnumerationProperty extends PrimitiveOrEnumPropertyBase {
|
|
168
|
+
/** @internal */
|
|
157
169
|
protected _enumeration?: LazyLoadedEnumeration;
|
|
158
170
|
get enumeration(): LazyLoadedEnumeration | undefined;
|
|
159
171
|
/**
|
|
160
172
|
* Save this EnumerationProperty's properties to an object for serializing to JSON.
|
|
161
173
|
*/
|
|
162
174
|
toJSON(): EnumerationPropertyProps;
|
|
175
|
+
/** @internal */
|
|
163
176
|
constructor(ecClass: ECClass, name: string, type: LazyLoadedEnumeration);
|
|
164
177
|
fromJSONSync(enumerationPropertyProps: EnumerationPropertyProps): void;
|
|
165
178
|
/** @internal */
|
|
166
179
|
toXml(schemaXml: Document): Promise<Element>;
|
|
167
180
|
fromJSON(enumerationPropertyProps: EnumerationPropertyProps): Promise<void>;
|
|
168
181
|
}
|
|
169
|
-
/** @
|
|
182
|
+
/** @public @preview */
|
|
170
183
|
export declare class StructProperty extends Property {
|
|
184
|
+
/** @internal */
|
|
171
185
|
protected _structClass: StructClass;
|
|
172
186
|
get structClass(): StructClass;
|
|
187
|
+
/** @internal */
|
|
173
188
|
constructor(ecClass: ECClass, name: string, type: StructClass);
|
|
174
189
|
/**
|
|
175
190
|
* Save this StructProperty's properties to an object for serializing to JSON.
|
|
@@ -180,9 +195,11 @@ export declare class StructProperty extends Property {
|
|
|
180
195
|
fromJSONSync(structPropertyProps: StructPropertyProps): void;
|
|
181
196
|
fromJSON(structPropertyProps: StructPropertyProps): Promise<void>;
|
|
182
197
|
}
|
|
183
|
-
/** @
|
|
198
|
+
/** @public @preview */
|
|
184
199
|
export declare class NavigationProperty extends Property {
|
|
200
|
+
/** @internal */
|
|
185
201
|
protected _relationshipClass: LazyLoadedRelationshipClass;
|
|
202
|
+
/** @internal */
|
|
186
203
|
protected _direction: StrengthDirection;
|
|
187
204
|
get relationshipClass(): LazyLoadedRelationshipClass;
|
|
188
205
|
getRelationshipClassSync(): RelationshipClass | undefined;
|
|
@@ -193,12 +210,15 @@ export declare class NavigationProperty extends Property {
|
|
|
193
210
|
toJSON(): NavigationPropertyProps;
|
|
194
211
|
/** @internal */
|
|
195
212
|
toXml(schemaXml: Document): Promise<Element>;
|
|
213
|
+
/** @internal */
|
|
196
214
|
constructor(ecClass: ECClass, name: string, relationship: LazyLoadedRelationshipClass, direction?: StrengthDirection);
|
|
197
215
|
}
|
|
198
216
|
type Constructor<T> = new (...args: any[]) => T;
|
|
199
|
-
/** @
|
|
217
|
+
/** @public @preview */
|
|
200
218
|
export declare abstract class ArrayProperty extends Property {
|
|
219
|
+
/** @internal */
|
|
201
220
|
protected _minOccurs: number;
|
|
221
|
+
/** @internal */
|
|
202
222
|
protected _maxOccurs?: number;
|
|
203
223
|
get minOccurs(): number;
|
|
204
224
|
get maxOccurs(): number | undefined;
|
|
@@ -212,8 +232,9 @@ export declare abstract class ArrayProperty extends Property {
|
|
|
212
232
|
protected setMaxOccurs(maxOccurs: number): void;
|
|
213
233
|
}
|
|
214
234
|
declare const PrimitiveArrayProperty_base: typeof PrimitiveProperty & Constructor<ArrayProperty>;
|
|
215
|
-
/** @
|
|
235
|
+
/** @public @preview */
|
|
216
236
|
export declare class PrimitiveArrayProperty extends PrimitiveArrayProperty_base {
|
|
237
|
+
/** @internal */
|
|
217
238
|
constructor(ecClass: ECClass, name: string, primitiveType?: PrimitiveType);
|
|
218
239
|
/**
|
|
219
240
|
* Save this PrimitiveArrayProperty's properties to an object for serializing to JSON.
|
|
@@ -221,24 +242,25 @@ export declare class PrimitiveArrayProperty extends PrimitiveArrayProperty_base
|
|
|
221
242
|
toJSON(): PrimitiveArrayPropertyProps;
|
|
222
243
|
}
|
|
223
244
|
declare const EnumerationArrayProperty_base: typeof EnumerationProperty & Constructor<ArrayProperty>;
|
|
224
|
-
/** @
|
|
245
|
+
/** @public @preview */
|
|
225
246
|
export declare class EnumerationArrayProperty extends EnumerationArrayProperty_base {
|
|
226
247
|
constructor(ecClass: ECClass, name: string, type: LazyLoadedEnumeration);
|
|
227
248
|
}
|
|
228
249
|
declare const StructArrayProperty_base: typeof StructProperty & Constructor<ArrayProperty>;
|
|
229
|
-
/** @
|
|
250
|
+
/** @public @preview */
|
|
230
251
|
export declare class StructArrayProperty extends StructArrayProperty_base {
|
|
252
|
+
/** @internal */
|
|
231
253
|
constructor(ecClass: ECClass, name: string, type: StructClass);
|
|
232
254
|
}
|
|
233
|
-
/** @
|
|
255
|
+
/** @public @preview */
|
|
234
256
|
export type AnyArrayProperty = PrimitiveArrayProperty | EnumerationArrayProperty | StructArrayProperty;
|
|
235
|
-
/** @
|
|
257
|
+
/** @public @preview */
|
|
236
258
|
export type AnyPrimitiveProperty = PrimitiveProperty | PrimitiveArrayProperty;
|
|
237
|
-
/** @
|
|
259
|
+
/** @public @preview */
|
|
238
260
|
export type AnyEnumerationProperty = EnumerationProperty | EnumerationArrayProperty;
|
|
239
|
-
/** @
|
|
261
|
+
/** @public @preview */
|
|
240
262
|
export type AnyStructProperty = StructProperty | StructArrayProperty;
|
|
241
|
-
/** @
|
|
263
|
+
/** @public @preview */
|
|
242
264
|
export type AnyProperty = AnyPrimitiveProperty | AnyEnumerationProperty | AnyStructProperty | NavigationProperty;
|
|
243
265
|
/**
|
|
244
266
|
* Hackish approach that works like a "friend class" so we can access protected members without making them public.
|
|
@@ -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":"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,EAAyC,iBAAiB,EAA6B,MAAM,cAAc,CAAC;AAEtJ,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AACnJ,OAAO,EAAE,YAAY,EAA2C,MAAM,kBAAkB,CAAC;AAEzF,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,6BAA6B,EAAE,kBAAkB,EAA6B,MAAM,mBAAmB,CAAC;AAElI,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC;;;GAGG;AACH,8BAAsB,QAAS,YAAW,6BAA6B;IACrE,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,YAAY,CAAC,CAAS;IAC9B,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,WAAW,CAAC,CAAU;IAC9B,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAC,CAA6B;IAC/C,OAAO,CAAC,eAAe,CAAC,CAA2B;IACnD,OAAO,CAAC,iBAAiB,CAAC,CAA+B;IAEzD,gBAAgB;IAChB,SAAS,CAAC,KAAK,EAAE,YAAY,CAAC;IAE9B,gBAAgB;gBACJ,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY;IAMvD,OAAO,IAAI,IAAI,IAAI,gBAAgB;IACnC,WAAW,IAAI,IAAI,IAAI,oBAAoB;IAC3C,QAAQ,IAAI,IAAI,IAAI,iBAAiB;IACrC,aAAa,IAAI,IAAI,IAAI,sBAAsB;IAC/C,YAAY,IAAI,IAAI,IAAI,kBAAkB;IAEjD,IAAW,IAAI,WAA8B;IAE7C,IAAW,KAAK,aAA0B;IAE1C,IAAW,KAAK,uBAA0B;IAE1C,IAAW,WAAW,uBAAgC;IAEtD,IAAW,UAAU,YAAwC;IAE7D,IAAW,QAAQ,IAAI,MAAM,CAS5B;IAED,IAAW,QAAQ,IAAI,0BAA0B,GAAG,SAAS,CAS5D;IAED,IAAW,cAAc,IAAI,wBAAwB,GAAG,SAAS,CAShE;IAED,IAAW,YAAY,iBAAyB;IAEhD,IAAW,gBAAgB,IAAI,kBAAkB,GAAG,SAAS,CAAmC;IAEhG,+DAA+D;IAC/D,IAAW,QAAQ,IAAI,MAAM,CAA+C;IAE5E,4DAA4D;IAC5D,IAAW,MAAM,IAAI,MAAM,CAA+B;IAEnD,eAAe,IAAI,gBAAgB,GAAG,SAAS;IAa/C,qBAAqB,IAAI,cAAc,GAAG,SAAS;IAa1D;;OAEG;IACI,MAAM,IAAI,aAAa;IAsB9B,gBAAgB;IACH,KAAK,CAAC,SAAS,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAsClD,YAAY,CAAC,aAAa,EAAE,aAAa;IA4CnC,QAAQ,CAAC,aAAa,EAAE,aAAa;IAIlD,gBAAgB;IAChB,SAAS,CAAC,kBAAkB,CAAC,eAAe,EAAE,eAAe;IAO7D,gBAAgB;IAChB,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM;IAI9B;;OAEG;IACH,SAAS,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM;IAI5C;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM;IAIhC;;OAEG;IACH,SAAS,CAAC,aAAa,CAAC,UAAU,EAAE,OAAO;IAI3C;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM;IAItC;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,0BAA0B;IAI1D;;OAEG;IACH,SAAS,CAAC,iBAAiB,CAAC,cAAc,EAAE,wBAAwB;IAIpE;;;OAGG;IACU,mBAAmB,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAI/D;;OAEG;IACI,uBAAuB,IAAI,kBAAkB;IAgBpD;;OAEG;WACW,UAAU,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,IAAI,WAAW;CAM7D;AAID,uBAAuB;AACvB,8BAAsB,2BAA4B,SAAQ,QAAQ;IAChE,gBAAgB;IAChB,SAAS,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACrC,gBAAgB;IAChB,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC9B,gBAAgB;IAChB,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC9B,gBAAgB;IAChB,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC7B,gBAAgB;IAChB,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAE7B,IAAW,gBAAgB,uBAAqC;IAChE,IAAW,SAAS,uBAA8B;IAClD,IAAW,SAAS,uBAA8B;IAClD,IAAW,QAAQ,uBAA6B;IAChD,IAAW,QAAQ,uBAA6B;IAEhD,gBAAgB;gBACJ,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY;IAI9D;;OAEG;IACa,MAAM,IAAI,gCAAgC;IAe1D,gBAAgB;IACM,KAAK,CAAC,SAAS,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAgBlD,YAAY,CAAC,iBAAiB,EAAE,gCAAgC;IAuBhF;;OAEG;IACH,SAAS,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,MAAM;IAItD;;OAEG;IACH,SAAS,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM;IAIxC;;OAEG;IACH,SAAS,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM;IAIxC;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM;IAItC;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM;IAIhB,QAAQ,CAAC,iBAAiB,EAAE,gCAAgC;CAGnF;AAED,uBAAuB;AACvB,qBAAa,iBAAkB,SAAQ,2BAA2B;IAChE,IAAW,aAAa,IAAI,aAAa,CAAkE;IAE3G,gBAAgB;gBACJ,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,GAAE,aAAqC;IAIhF,YAAY,CAAC,sBAAsB,EAAE,sBAAsB;IAQrD,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB;IAI7E;;OAEG;IACa,MAAM,IAAI,sBAAsB;IAMhD,gBAAgB;IACM,KAAK,CAAC,SAAS,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;CAKnE;AAED,uBAAuB;AACvB,qBAAa,mBAAoB,SAAQ,2BAA2B;IAClE,gBAAgB;IAChB,SAAS,CAAC,YAAY,CAAC,EAAE,qBAAqB,CAAC;IAE/C,IAAW,WAAW,IAAI,qBAAqB,GAAG,SAAS,CAA8B;IAEzF;;OAEG;IACa,MAAM,IAAI,wBAAwB;IAMlD,gBAAgB;gBACJ,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB;IAMvD,YAAY,CAAC,wBAAwB,EAAE,wBAAwB;IAkB/E,gBAAgB;IACM,KAAK,CAAC,SAAS,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ5C,QAAQ,CAAC,wBAAwB,EAAE,wBAAwB;CAIlF;AAED,uBAAuB;AACvB,qBAAa,cAAe,SAAQ,QAAQ;IAC1C,gBAAgB;IAChB,SAAS,CAAC,YAAY,EAAE,WAAW,CAAC;IAEpC,IAAW,WAAW,IAAI,WAAW,CAA8B;IAEnE,gBAAgB;gBACJ,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW;IAK7D;;OAEG;IACa,MAAM,IAAI,mBAAmB;IAM7C,gBAAgB;IACM,KAAK,CAAC,SAAS,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAOlD,YAAY,CAAC,mBAAmB,EAAE,mBAAmB;IAQ/C,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB;CAGxE;AAED,uBAAuB;AACvB,qBAAa,kBAAmB,SAAQ,QAAQ;IAC9C,gBAAgB;IAChB,SAAS,CAAC,kBAAkB,EAAE,2BAA2B,CAAC;IAC1D,gBAAgB;IAChB,SAAS,CAAC,UAAU,EAAE,iBAAiB,CAAC;IAExC,IAAW,iBAAiB,IAAI,2BAA2B,CAAoC;IAExF,wBAAwB,IAAI,iBAAiB,GAAG,SAAS;IAShE,IAAW,SAAS,sBAA8B;IAElD;;OAEG;IACa,MAAM,IAAI,uBAAuB;IAOjD,gBAAgB;IACM,KAAK,CAAC,SAAS,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAUlE,gBAAgB;gBACJ,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,2BAA2B,EAAE,SAAS,CAAC,EAAE,iBAAiB;CAMrH;AAED,KAAK,WAAW,CAAC,CAAC,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AAKhD,uBAAuB;AACvB,8BAAsB,aAAc,SAAQ,QAAQ;IAClD,gBAAgB;IAChB,SAAS,CAAC,UAAU,EAAE,MAAM,CAAK;IACjC,gBAAgB;IAChB,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAa;IAE1C,IAAW,SAAS,WAA8B;IAClD,IAAW,SAAS,uBAA8B;IAElD;;OAEG;IACH,SAAS,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM;IAIxC;;OAEG;IACH,SAAS,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM;CAGzC;;AAsED,uBAAuB;AACvB,qBAAa,sBAAuB,SAAQ,2BAAqC;IAC/E,gBAAgB;gBACJ,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,GAAE,aAAqC;IAIhG;;OAEG;IACa,MAAM,IAAI,2BAA2B;CAItD;;AAED,uBAAuB;AACvB,qBAAa,wBAAyB,SAAQ,6BAAuC;gBACvE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB;CAGxE;;AAED,uBAAuB;AACvB,qBAAa,mBAAoB,SAAQ,wBAAkC;IACzE,gBAAgB;gBACJ,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW;CAG9D;AAED,uBAAuB;AACvB,MAAM,MAAM,gBAAgB,GAAG,sBAAsB,GAAG,wBAAwB,GAAG,mBAAmB,CAAC;AACvG,uBAAuB;AACvB,MAAM,MAAM,oBAAoB,GAAG,iBAAiB,GAAG,sBAAsB,CAAC;AAC9E,uBAAuB;AACvB,MAAM,MAAM,sBAAsB,GAAG,mBAAmB,GAAG,wBAAwB,CAAC;AACpF,uBAAuB;AACvB,MAAM,MAAM,iBAAiB,GAAG,cAAc,GAAG,mBAAmB,CAAC;AACrE,uBAAuB;AACvB,MAAM,MAAM,WAAW,GAAG,oBAAoB,GAAG,sBAAsB,GAAG,iBAAiB,GAAG,kBAAkB,CAAC;AAEjH;;;GAGG;AACH,8BAAsB,eAAgB,SAAQ,QAAQ;aAC3B,kBAAkB,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI;CACpF"}
|