@itwin/core-backend 5.5.0-dev.1 → 5.5.0-dev.10
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 +24 -1
- package/lib/cjs/ChangesetECAdaptor.d.ts.map +1 -1
- package/lib/cjs/ChangesetECAdaptor.js +0 -2
- package/lib/cjs/ChangesetECAdaptor.js.map +1 -1
- package/lib/cjs/IModelDb.d.ts +11 -2
- package/lib/cjs/IModelDb.d.ts.map +1 -1
- package/lib/cjs/IModelDb.js +20 -15
- package/lib/cjs/IModelDb.js.map +1 -1
- package/lib/cjs/TxnManager.d.ts.map +1 -1
- package/lib/cjs/TxnManager.js +2 -1
- package/lib/cjs/TxnManager.js.map +1 -1
- package/lib/esm/ChangesetECAdaptor.d.ts.map +1 -1
- package/lib/esm/ChangesetECAdaptor.js +0 -2
- package/lib/esm/ChangesetECAdaptor.js.map +1 -1
- package/lib/esm/IModelDb.d.ts +11 -2
- package/lib/esm/IModelDb.d.ts.map +1 -1
- package/lib/esm/IModelDb.js +20 -15
- package/lib/esm/IModelDb.js.map +1 -1
- package/lib/esm/TxnManager.d.ts.map +1 -1
- package/lib/esm/TxnManager.js +2 -1
- package/lib/esm/TxnManager.js.map +1 -1
- package/lib/esm/test/annotations/Fields.test.js +2 -2
- package/lib/esm/test/annotations/Fields.test.js.map +1 -1
- package/lib/esm/test/assets/IncrementalSchemaLocater/configs/simple.config.js +5 -5
- package/lib/esm/test/assets/IncrementalSchemaLocater/configs/simple.config.js.map +1 -1
- package/lib/esm/test/ecdb/ConcurrentQuery.test.js +39 -0
- package/lib/esm/test/ecdb/ConcurrentQuery.test.js.map +1 -1
- package/lib/esm/test/imodel/IModel.test.js +31 -2
- package/lib/esm/test/imodel/IModel.test.js.map +1 -1
- package/lib/esm/test/incrementalSchemaLocater/ECSqlQueries.test.js +432 -198
- package/lib/esm/test/incrementalSchemaLocater/ECSqlQueries.test.js.map +1 -1
- package/lib/esm/test/incrementalSchemaLocater/IncrementalLoading.test.js +272 -190
- package/lib/esm/test/incrementalSchemaLocater/IncrementalLoading.test.js.map +1 -1
- package/lib/esm/test/incrementalSchemaLocater/TestContext.d.ts +27 -0
- package/lib/esm/test/incrementalSchemaLocater/TestContext.d.ts.map +1 -0
- package/lib/esm/test/incrementalSchemaLocater/TestContext.js +136 -0
- package/lib/esm/test/incrementalSchemaLocater/TestContext.js.map +1 -0
- package/lib/esm/test/standalone/ChangesetReader.test.js +222 -3
- package/lib/esm/test/standalone/ChangesetReader.test.js.map +1 -1
- package/lib/esm/test/standalone/RenderTimeline.test.js +1 -1
- package/lib/esm/test/standalone/RenderTimeline.test.js.map +1 -1
- package/lib/esm/test/standalone/StandaloneDb.test.d.ts +2 -0
- package/lib/esm/test/standalone/StandaloneDb.test.d.ts.map +1 -0
- package/lib/esm/test/standalone/StandaloneDb.test.js +103 -0
- package/lib/esm/test/standalone/StandaloneDb.test.js.map +1 -0
- package/lib/esm/test/standalone/TxnManager.test.js +43 -0
- package/lib/esm/test/standalone/TxnManager.test.js.map +1 -1
- package/package.json +13 -13
- package/lib/esm/test/incrementalSchemaLocater/utils/IModelSchemaLocater.d.ts +0 -11
- package/lib/esm/test/incrementalSchemaLocater/utils/IModelSchemaLocater.d.ts.map +0 -1
- package/lib/esm/test/incrementalSchemaLocater/utils/IModelSchemaLocater.js +0 -36
- package/lib/esm/test/incrementalSchemaLocater/utils/IModelSchemaLocater.js.map +0 -1
- package/lib/esm/test/incrementalSchemaLocater/utils/IncrementalTestHelper.d.ts +0 -20
- package/lib/esm/test/incrementalSchemaLocater/utils/IncrementalTestHelper.d.ts.map +0 -1
- package/lib/esm/test/incrementalSchemaLocater/utils/IncrementalTestHelper.js +0 -126
- package/lib/esm/test/incrementalSchemaLocater/utils/IncrementalTestHelper.js.map +0 -1
- package/lib/esm/test/incrementalSchemaLocater/utils/TestSqlSchemaLocater.d.ts +0 -24
- package/lib/esm/test/incrementalSchemaLocater/utils/TestSqlSchemaLocater.d.ts.map +0 -1
- package/lib/esm/test/incrementalSchemaLocater/utils/TestSqlSchemaLocater.js +0 -67
- package/lib/esm/test/incrementalSchemaLocater/utils/TestSqlSchemaLocater.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple.config.js","sourceRoot":"","sources":["../../../../../../src/test/assets/IncrementalSchemaLocater/configs/simple.config.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\r\nexport default {\r\n \"label\": \"Simple Profile iModel\",\r\n \"bimFile\": \"SimpleIModel.bim\",\r\n \"schemas\": [\r\n {\r\n \"name\": \"SimpleSchema\",\r\n \"description\": \"A simple test schema\",\r\n \"label\": \"Simple Schema\",\r\n \"references\": [\r\n \"BisCore\",\r\n \"CoreCustomAttributes\",\r\n \"Formats\",\r\n \"Units\"\r\n ],\r\n \"itemCount\": 30,\r\n \"checkStubs\": [\r\n {\r\n \"item\": \"SimpleSchema.UnitSystem_Test\",\r\n \"properties\": {\r\n \"schemaItemType\": \"UnitSystem\",\r\n \"label\": \"Test\",\r\n \"description\": \"UnitSystem Test\"\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.Phenomenon_Test\",\r\n \"properties\": {\r\n \"schemaItemType\": \"Phenomenon\",\r\n \"label\": \"Test\",\r\n \"description\": \"Phenomenon Test\",\r\n \"definition\": \"TEST\"\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.Category_Test\",\r\n \"properties\": {\r\n \"schemaItemType\": \"PropertyCategory\",\r\n \"label\": \"Test\",\r\n \"description\": \"PropertyCategory Test\",\r\n \"priority\": 1000\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.Enumeration_Integer\",\r\n \"properties\": {\r\n \"schemaItemType\": \"Enumeration\",\r\n \"label\": \"Test\",\r\n \"description\": \"Enumeration Integer\",\r\n \"type\": \"int\",\r\n \"isStrict\": true,\r\n \"enumerators\": [\r\n {\r\n \"name\": \"Enumerator0\",\r\n \"value\": 0,\r\n \"label\": \"0\",\r\n \"description\": \"Enumerator 0\"\r\n },\r\n {\r\n \"name\": \"Enumerator1\",\r\n \"value\": 1,\r\n \"label\": \"1\",\r\n \"description\": \"Enumerator 1\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.Enumeration_String\",\r\n \"properties\": {\r\n \"schemaItemType\": \"Enumeration\",\r\n \"label\": \"Test\",\r\n \"description\": \"Enumeration String\",\r\n \"type\": \"string\",\r\n \"isStrict\": false,\r\n \"enumerators\": [\r\n {\r\n \"name\": \"Enumerator0\",\r\n \"value\": \"0\"\r\n },\r\n {\r\n \"name\": \"Enumerator1\",\r\n \"value\": \"1\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.Unit_Test1\",\r\n \"properties\": {\r\n \"schemaItemType\": \"Unit\",\r\n \"label\": \"Test1\",\r\n \"description\": \"Unit Test1\",\r\n \"phenomenon\": \"SimpleSchema.Phenomenon_Test\",\r\n \"unitSystem\": \"SimpleSchema.UnitSystem_Test\",\r\n \"definition\": \"TEST1\",\r\n \"numerator\": 10.0\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.Unit_Test2\",\r\n \"properties\": {\r\n \"schemaItemType\": \"Unit\",\r\n \"label\": \"Test2\",\r\n \"description\": \"Unit Test2\",\r\n \"phenomenon\": \"Units.TEMPERATURE\", \r\n \"unitSystem\": \"Units.USCUSTOM\",\r\n \"definition\": \"TEST2\",\r\n \"numerator\": 5.0,\r\n \"denominator\": 3.0,\r\n \"offset\": 0.01325\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.InvertedUnit_Test1\",\r\n \"properties\": {\r\n \"schemaItemType\": \"InvertedUnit\",\r\n \"label\": \"Test1\",\r\n \"description\": \"InvertedUnit Test1\",\r\n \"invertsUnit\": \"SimpleSchema.Unit_Test1\",\r\n \"unitSystem\": \"SimpleSchema.UnitSystem_Test\"\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.InvertedUnit_Test2\",\r\n \"properties\": {\r\n \"schemaItemType\": \"InvertedUnit\",\r\n \"label\": \"Test2\",\r\n \"description\": \"InvertedUnit Test2\",\r\n \"invertsUnit\": \"Units.FT_PER_FT\",\r\n \"unitSystem\": \"Units.USCUSTOM\"\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.Constant_Test1\",\r\n \"properties\": {\r\n \"schemaItemType\": \"Constant\",\r\n \"label\": \"Test1\",\r\n \"description\": \"Constant Test1\",\r\n \"phenomenon\": \"SimpleSchema.Phenomenon_Test\",\r\n \"definition\": \"TEST1\",\r\n \"numerator\": 1.0e3\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.Constant_Test2\",\r\n \"properties\": {\r\n \"schemaItemType\": \"Constant\",\r\n \"label\": \"Test2\",\r\n \"description\": \"Constant Test2\",\r\n \"phenomenon\": \"Units.ANGLE\",\r\n \"definition\": \"TEST2\",\r\n \"numerator\": 180.0,\r\n \"denominator\": 0.5\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.Format_Station\",\r\n \"properties\": {\r\n \"schemaItemType\": \"Format\",\r\n \"label\": \"Test\",\r\n \"description\": \"Format Station\",\r\n \"type\": \"Station\",\r\n \"precision\": 2,\r\n \"formatTraits\": [\r\n \"TrailZeroes\",\r\n \"KeepSingleZero\",\r\n \"KeepDecimalPoint\"\r\n ],\r\n \"thousandSeparator\": \" \",\r\n \"decimalSeparator\": \",\",\r\n \"stationSeparator\": \"+\",\r\n \"stationOffsetSize\": 3,\r\n \"minWidth\": 3\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.Format_Scientific\",\r\n \"properties\": {\r\n \"schemaItemType\": \"Format\",\r\n \"label\": \"Test\",\r\n \"description\": \"Format Scientific\",\r\n \"type\": \"Scientific\",\r\n \"scientificType\": \"Normalized\",\r\n \"precision\": 6,\r\n \"formatTraits\": [\r\n \"KeepSingleZero\"\r\n ],\r\n \"decimalSeparator\": \",\",\r\n \"thousandSeparator\": \" \"\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.Format_Decimal\",\r\n \"properties\": {\r\n \"schemaItemType\": \"Format\",\r\n \"label\": \"Test\",\r\n \"description\": \"Format Decimal\",\r\n \"type\": \"Decimal\",\r\n \"precision\": 4,\r\n \"showSignOption\": \"NoSign\",\r\n \"formatTraits\": [\r\n \"KeepSingleZero\",\r\n \"KeepDecimalPoint\"\r\n ],\r\n \"thousandSeparator\": \" \",\r\n \"decimalSeparator\": \",\",\r\n \"minWidth\": 3,\r\n \"roundFactor\": 0.1\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.Format_Fractional\",\r\n \"properties\": {\r\n \"schemaItemType\": \"Format\",\r\n \"label\": \"Test\",\r\n \"description\": \"Format Fractional\",\r\n \"type\": \"Fractional\",\r\n \"precision\": 8,\r\n \"formatTraits\": [\r\n \"KeepSingleZero\",\r\n \"ShowUnitLabel\"\r\n ],\r\n \"uomSeparator\": \"\"\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.KindOfQuantity_Test1\",\r\n \"properties\": {\r\n \"schemaItemType\": \"KindOfQuantity\",\r\n \"label\": \"Test1\",\r\n \"description\": \"KindOfQuantity Test1\"\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.KindOfQuantity_Test2\",\r\n \"properties\": {\r\n \"schemaItemType\": \"KindOfQuantity\",\r\n \"label\": \"Test2\",\r\n \"description\": \"KindOfQuantity Test2\"\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.StructClass_Test1\",\r\n \"properties\": {\r\n \"schemaItemType\": \"StructClass\",\r\n \"modifier\": \"Abstract\",\r\n \"label\": \"Test1\",\r\n \"description\": \"StructClass Test1\"\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.StructClass_Test2\",\r\n \"properties\": {\r\n \"schemaItemType\": \"StructClass\",\r\n \"modifier\": \"Sealed\",\r\n \"baseClass\": \"SimpleSchema.StructClass_Test1\",\r\n \"label\": \"Test2\",\r\n \"description\": \"StructClass Test2\"\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.CustomAttributeClass_Test1\",\r\n \"properties\": {\r\n \"schemaItemType\": \"CustomAttributeClass\",\r\n \"appliesTo\": \"AnyClass\",\r\n \"modifier\": \"Abstract\",\r\n \"label\": \"Test1\",\r\n \"description\": \"CustomAttributeClass Test1\"\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.CustomAttributeClass_Test2\",\r\n \"properties\": {\r\n \"schemaItemType\": \"CustomAttributeClass\",\r\n \"appliesTo\": \"AnyProperty\",\r\n \"baseClass\": \"BisCore.CustomHandledProperty\",\r\n \"label\": \"Test2\",\r\n \"description\": \"CustomAttributeClass Test2\"\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.CustomAttributeClass_Test3\",\r\n \"properties\": {\r\n \"schemaItemType\": \"CustomAttributeClass\",\r\n \"modifier\": \"Sealed\",\r\n \"appliesTo\": \"Any\",\r\n \"baseClass\": \"SimpleSchema.CustomAttributeClass_Test1\",\r\n \"label\": \"Test3\",\r\n \"description\": \"CustomAttributeClass Test3\"\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.IMixin_Test1\",\r\n \"properties\": {\r\n \"schemaItemType\": \"Mixin\",\r\n \"appliesTo\": \"BisCore.Element\",\r\n \"label\": \"Test1\",\r\n \"description\": \"Mixin Test1\"\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.IMixin_Test2\",\r\n \"properties\": {\r\n \"schemaItemType\": \"Mixin\",\r\n \"baseClass\": \"SimpleSchema.IMixin_Test1\",\r\n \"appliesTo\": \"BisCore.PhysicalElement\",\r\n \"label\": \"Test2\",\r\n \"description\": \"Mixin Test2\"\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.EntityClass_Test1\",\r\n \"properties\": {\r\n \"schemaItemType\": \"EntityClass\",\r\n \"baseClass\": \"BisCore.PhysicalElement\",\r\n \"label\": \"Test1\",\r\n \"description\": \"EntityClass Test1\",\r\n \"mixins\": [\r\n \"SimpleSchema.IMixin_Test1\"\r\n ]\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.EntityClass_Test2\",\r\n \"properties\": {\r\n \"schemaItemType\": \"EntityClass\",\r\n \"modifier\": \"Abstract\",\r\n \"baseClass\": \"SimpleSchema.EntityClass_Test1\",\r\n \"label\": \"Test2\",\r\n \"description\": \"EntityClass Test2\",\r\n \"mixins\": [\r\n \"SimpleSchema.IMixin_Test2\"\r\n ]\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.EntityClass_Test3\",\r\n \"properties\": {\r\n \"schemaItemType\": \"EntityClass\",\r\n \"modifier\": \"Sealed\",\r\n \"baseClass\": \"SimpleSchema.EntityClass_Test2\",\r\n \"label\": \"Test3\",\r\n \"description\": \"EntityClass Test3\"\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.EntityClass_Test3\",\r\n \"properties\": {\r\n \"schemaItemType\": \"EntityClass\",\r\n \"baseClass\": \"SimpleSchema.EntityClass_Test2\",\r\n \"label\": \"Test3\",\r\n \"description\": \"EntityClass Test3\"\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.RelationshipClass_Test1\",\r\n \"properties\": {\r\n \"schemaItemType\": \"RelationshipClass\",\r\n \"modifier\": \"Sealed\",\r\n \"baseClass\": \"BisCore.ElementRefersToElements\",\r\n \"label\": \"Test1\",\r\n \"description\": \"RelationshipClass Test1\",\r\n \"strength\": \"Referencing\",\r\n \"strengthDirection\": \"Forward\"\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.RelationshipClass_Test2\",\r\n \"properties\": {\r\n \"schemaItemType\": \"RelationshipClass\",\r\n \"modifier\": \"None\",\r\n \"baseClass\": \"BisCore.ModelModelsElement\",\r\n \"label\": \"Test2\",\r\n \"description\": \"RelationshipClass Test2\",\r\n \"strength\": \"Embedding\",\r\n \"strengthDirection\": \"Backward\"\r\n }\r\n }\r\n ],\r\n \"checkHierachy\": {\r\n \"derivedClass\": \"SimpleSchema.EntityClass_Test3\",\r\n \"baseClass\": \"SimpleSchema.IMixin_Test1\"\r\n },\r\n \"checkFullLoad\": [\r\n {\r\n \"item\": \"SimpleSchema.Format_Decimal\",\r\n \"properties\": {\r\n \"schemaItemType\": \"Format\",\r\n \"label\": \"Test\",\r\n \"description\": \"Format Decimal\",\r\n \"type\": \"Decimal\",\r\n \"precision\": 4,\r\n \"showSignOption\": \"NoSign\",\r\n \"formatTraits\": [\r\n \"KeepSingleZero\",\r\n \"KeepDecimalPoint\"\r\n ],\r\n \"thousandSeparator\": \" \",\r\n \"decimalSeparator\": \",\",\r\n \"minWidth\": 3,\r\n \"roundFactor\": 0.1,\r\n \"composite\": {\r\n \"spacer\": \"\",\r\n \"includeZero\": false,\r\n \"units\": [\r\n {\r\n \"name\": \"Units.G\",\r\n \"label\": \"g\"\r\n },\r\n {\r\n \"name\": \"Units.MG\",\r\n \"label\": \"mg\"\r\n }\r\n ]\r\n }\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.Format_Fractional\",\r\n \"properties\": {\r\n \"schemaItemType\": \"Format\",\r\n \"label\": \"Test\",\r\n \"description\": \"Format Fractional\",\r\n \"type\": \"Fractional\",\r\n \"precision\": 8,\r\n \"formatTraits\": [\r\n \"KeepSingleZero\",\r\n \"ShowUnitLabel\"\r\n ],\r\n \"uomSeparator\": \"\",\r\n \"composite\": {\r\n \"spacer\": \"\",\r\n \"units\": [\r\n {\r\n \"name\": \"SimpleSchema.Unit_Test1\",\r\n \"label\": \"test\"\r\n }\r\n ]\r\n }\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.KindOfQuantity_Test1\",\r\n \"properties\": {\r\n \"schemaItemType\": \"KindOfQuantity\",\r\n \"label\": \"Test1\",\r\n \"description\": \"KindOfQuantity Test1\",\r\n \"relativeError\": 0.001,\r\n \"persistenceUnit\": \"SimpleSchema.Unit_Test1\",\r\n \"presentationUnits\": [\r\n \"SimpleSchema.Format_Fractional(4)[SimpleSchema.Unit_Test1]\"\r\n ]\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.KindOfQuantity_Test2\",\r\n \"properties\": {\r\n \"schemaItemType\": \"KindOfQuantity\",\r\n \"label\": \"Test2\",\r\n \"description\": \"KindOfQuantity Test2\",\r\n \"relativeError\": 0.0001,\r\n \"persistenceUnit\": \"Units.MG\",\r\n \"presentationUnits\": [\r\n \"Formats.DefaultRealU[Units.MG]\",\r\n \"Formats.DefaultRealU(1)[Units.G]\"\r\n ]\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.StructClass_Test1\",\r\n \"properties\": {\r\n \"schemaItemType\": \"StructClass\",\r\n \"modifier\": \"Abstract\",\r\n \"label\": \"Test1\",\r\n \"description\": \"StructClass Test1\",\r\n \"properties\": [\r\n {\r\n \"name\": \"DoubleProperty\",\r\n \"type\": \"PrimitiveProperty\",\r\n \"category\": \"SimpleSchema.Category_Test\",\r\n \"label\": \"Double\",\r\n \"description\": \"Double Property\",\r\n \"typeName\": \"double\"\r\n },\r\n {\r\n \"name\": \"Point3dProperty\",\r\n \"type\": \"PrimitiveProperty\",\r\n \"isReadOnly\": true,\r\n \"label\": \"Point3\",\r\n \"description\": \"Point3 Property\",\r\n \"typeName\": \"point3d\",\r\n \"customAttributes\": [\r\n {\r\n \"className\": \"CoreCustomAttributes.HiddenProperty\"\r\n },\r\n {\r\n \"className\": \"BisCore.CustomHandledProperty\"\r\n }\r\n ]\r\n },\r\n {\r\n \"name\": \"LongArrayProperty\",\r\n \"type\": \"PrimitiveArrayProperty\",\r\n \"minOccurs\": 0,\r\n \"maxOccurs\": 52,\r\n \"label\": \"LongArray\",\r\n \"description\": \"LongArray Property\",\r\n \"typeName\": \"long\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.StructClass_Test2\",\r\n \"properties\": {\r\n \"schemaItemType\": \"StructClass\",\r\n \"modifier\": \"Sealed\",\r\n \"baseClass\": \"SimpleSchema.StructClass_Test1\",\r\n \"label\": \"Test2\",\r\n \"description\": \"StructClass Test2\",\r\n \"customAttributes\": [\r\n {\r\n \"className\": \"BisCore.ClassHasHandler\"\r\n }\r\n ],\r\n \"properties\": [\r\n {\r\n \"name\": \"DateTimeProperty\",\r\n \"type\": \"PrimitiveProperty\",\r\n \"kindOfQuantity\": \"SimpleSchema.KindOfQuantity_Test1\",\r\n \"label\": \"DateTime\",\r\n \"description\": \"DateTime Property\",\r\n \"typeName\": \"dateTime\"\r\n },\r\n {\r\n \"name\": \"BooleanProperty\",\r\n \"type\": \"PrimitiveProperty\",\r\n \"priority\": 1001,\r\n \"label\": \"Boolean\",\r\n \"description\": \"Boolean Property\",\r\n \"typeName\": \"boolean\"\r\n },\r\n {\r\n \"name\": \"StringEnumerationArrayProperty\",\r\n \"type\": \"PrimitiveArrayProperty\",\r\n \"minOccurs\": 0,\r\n \"maxOccurs\": 3,\r\n \"label\": \"StringEnumerationArray\",\r\n \"description\": \"StringEnumerationArray Property\",\r\n \"typeName\": \"SimpleSchema.Enumeration_String\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.CustomAttributeClass_Test1\",\r\n \"properties\": {\r\n \"schemaItemType\": \"CustomAttributeClass\",\r\n \"appliesTo\": \"AnyClass\",\r\n \"modifier\": \"Abstract\",\r\n \"label\": \"Test1\",\r\n \"description\": \"CustomAttributeClass Test1\",\r\n \"properties\": [\r\n {\r\n \"name\": \"StringProperty\",\r\n \"type\": \"PrimitiveProperty\",\r\n \"label\": \"String\",\r\n \"description\": \"String Property\",\r\n \"extendedTypeName\": \"Json\",\r\n \"minLength\": 1,\r\n \"maxLength\": 150,\r\n \"typeName\": \"string\"\r\n },\r\n {\r\n \"name\": \"StructProperty\",\r\n \"type\": \"StructProperty\",\r\n \"label\": \"Struct\",\r\n \"description\": \"Struct Property\",\r\n \"typeName\": \"SimpleSchema.StructClass_Test2\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.CustomAttributeClass_Test2\",\r\n \"properties\": {\r\n \"schemaItemType\": \"CustomAttributeClass\",\r\n \"appliesTo\": \"AnyProperty\",\r\n \"baseClass\": \"BisCore.CustomHandledProperty\",\r\n \"label\": \"Test2\",\r\n \"description\": \"CustomAttributeClass Test2\",\r\n \"customAttributes\": [\r\n {\r\n \"className\": \"SimpleSchema.CustomAttributeClass_Test3\"\r\n }\r\n ],\r\n \"properties\": [\r\n {\r\n \"name\": \"BinaryProperty\",\r\n \"type\": \"PrimitiveProperty\",\r\n \"label\": \"Binary\",\r\n \"description\": \"Binary Property\",\r\n \"typeName\": \"binary\"\r\n },\r\n {\r\n \"name\": \"IntegerArrayProperty\",\r\n \"type\": \"PrimitiveArrayProperty\",\r\n \"minOccurs\": 0,\r\n \"maxOccurs\": 150,\r\n \"maxValue\": 1000,\r\n \"label\": \"IntegerArray\",\r\n \"description\": \"IntegerArray Property\",\r\n \"typeName\": \"int\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.CustomAttributeClass_Test3\",\r\n \"properties\": {\r\n \"schemaItemType\": \"CustomAttributeClass\",\r\n \"modifier\": \"Sealed\",\r\n \"appliesTo\": \"Any\",\r\n \"baseClass\": \"SimpleSchema.CustomAttributeClass_Test1\",\r\n \"label\": \"Test3\",\r\n \"description\": \"CustomAttributeClass Test3\",\r\n \"properties\": [\r\n {\r\n \"name\": \"IntegerProperty\",\r\n \"type\": \"PrimitiveProperty\",\r\n \"minValue\": 1,\r\n \"maxValue\": 101,\r\n \"label\": \"Integer\",\r\n \"description\": \"Integer Property\",\r\n \"typeName\": \"int\",\r\n \"customAttributes\": [\r\n {\r\n \"className\": \"BisCore.AutoHandledProperty\",\r\n \"StatementTypes\": 3\r\n }\r\n ]\r\n },\r\n {\r\n \"name\": \"IntegerEnumerationArray\",\r\n \"type\": \"PrimitiveArrayProperty\",\r\n \"label\": \"IntegerEnumerationArray\",\r\n \"description\": \"IntegerEnumerationArray Property\",\r\n \"minOccurs\": 0,\r\n \"maxOccurs\": 2147483647,\r\n \"typeName\": \"BisCore.SectionType\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.IMixin_Test1\",\r\n \"properties\": {\r\n \"schemaItemType\": \"Mixin\",\r\n \"appliesTo\": \"BisCore.Element\",\r\n \"label\": \"Test1\",\r\n \"description\": \"Mixin Test1\",\r\n \"properties\": [\r\n {\r\n \"name\": \"LongProperty\",\r\n \"type\": \"PrimitiveProperty\",\r\n \"category\": \"SimpleSchema.Category_Test\",\r\n \"label\": \"Long\",\r\n \"description\": \"Long Property\",\r\n \"typeName\": \"long\"\r\n },\r\n {\r\n \"name\": \"BooleanArrayProperty\",\r\n \"type\": \"PrimitiveArrayProperty\",\r\n \"minOccurs\": 1,\r\n \"maxOccurs\": 5,\r\n \"label\": \"BooleanArray\",\r\n \"description\": \"BooleanArray Property\",\r\n \"typeName\": \"boolean\"\r\n }\r\n ],\r\n \"customAttributes\": [\r\n {\r\n \"className\": \"SimpleSchema.CustomAttributeClass_Test3\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.IMixin_Test2\",\r\n \"properties\": {\r\n \"schemaItemType\": \"Mixin\",\r\n \"baseClass\": \"SimpleSchema.IMixin_Test1\",\r\n \"appliesTo\": \"BisCore.PhysicalElement\",\r\n \"label\": \"Test2\",\r\n \"description\": \"Mixin Test2\",\r\n \"properties\": [\r\n {\r\n \"name\": \"IGeometryProperty\",\r\n \"type\": \"PrimitiveProperty\",\r\n \"label\": \"IGeometry\",\r\n \"description\": \"IGeometry Property\",\r\n \"typeName\": \"Bentley.Geometry.Common.IGeometry\",\r\n \"customAttributes\": [\r\n {\r\n \"className\": \"CoreCustomAttributes.Deprecated\",\r\n \"Description\": \"Deprecated renamed property.\"\r\n },\r\n {\r\n \"className\": \"CoreCustomAttributes.HiddenProperty\"\r\n }\r\n ]\r\n },\r\n {\r\n \"name\": \"DoubleArrayProperty\",\r\n \"type\": \"PrimitiveArrayProperty\",\r\n \"minValue\": 0.1,\r\n \"maxValue\": 9.9,\r\n \"maxOccurs\": 10,\r\n \"minOccurs\": 2,\r\n \"label\": \"DoubleArray\",\r\n \"description\": \"DoubleArray Property\",\r\n \"typeName\": \"double\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.EntityClass_Test3\",\r\n \"properties\": {\r\n \"schemaItemType\": \"EntityClass\",\r\n \"modifier\": \"Sealed\",\r\n \"baseClass\": \"SimpleSchema.EntityClass_Test2\",\r\n \"label\": \"Test3\",\r\n \"description\": \"EntityClass Test3\",\r\n \"properties\": [\r\n {\r\n \"name\": \"StringEnumerationProperty\",\r\n \"type\": \"PrimitiveProperty\",\r\n \"label\": \"StringEnumeration\",\r\n \"description\": \"StringEnumeration Property\",\r\n \"typeName\": \"CoreCustomAttributes.ProductionStatusValue\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.RelationshipClass_Test1\",\r\n \"properties\": {\r\n \"schemaItemType\": \"RelationshipClass\",\r\n \"modifier\": \"Sealed\",\r\n \"baseClass\": \"BisCore.ElementRefersToElements\",\r\n \"label\": \"Test1\",\r\n \"description\": \"RelationshipClass Test1\",\r\n \"strength\": \"Referencing\",\r\n \"strengthDirection\": \"Forward\",\r\n \"customAttributes\": [\r\n {\r\n \"className\": \"CoreCustomAttributes.HiddenClass\",\r\n \"Show\": false\r\n }\r\n ],\r\n \"properties\": [\r\n {\r\n \"name\": \"Point2dArrayProperty\",\r\n \"type\": \"PrimitiveArrayProperty\",\r\n \"minOccurs\": 5,\r\n \"maxOccurs\": 75,\r\n \"label\": \"Point2dArray\",\r\n \"description\": \"Point2dArray Property\",\r\n \"typeName\": \"point2d\"\r\n },\r\n {\r\n \"name\": \"Point3dArrayProperty\",\r\n \"type\": \"PrimitiveArrayProperty\",\r\n \"minOccurs\": 3,\r\n \"maxOccurs\": 13,\r\n \"label\": \"Point3dArray\",\r\n \"description\": \"Point3dArray Property\",\r\n \"typeName\": \"point3d\"\r\n }\r\n ],\r\n \"source\": {\r\n \"multiplicity\": \"(0..*)\",\r\n \"roleLabel\": \"refers to\",\r\n \"polymorphic\": true,\r\n \"abstractConstraint\": \"BisCore.Element\",\r\n \"constraintClasses\": [\r\n \"BisCore.Element\"\r\n ],\r\n \"customAttributes\": [\r\n {\r\n \"className\": \"SimpleSchema.CustomAttributeClass_Test4\",\r\n \"StringProperty\": \"Source\"\r\n }\r\n ]\r\n },\r\n \"target\": {\r\n \"multiplicity\": \"(0..*)\",\r\n \"roleLabel\": \"is referenced by\",\r\n \"polymorphic\": true,\r\n \"abstractConstraint\": \"BisCore.Element\",\r\n \"constraintClasses\": [\r\n \"BisCore.Element\"\r\n ],\r\n \"customAttributes\": [\r\n {\r\n \"className\": \"SimpleSchema.CustomAttributeClass_Test4\",\r\n \"StringProperty\": \"Target\"\r\n }\r\n ]\r\n }\r\n }\r\n },\r\n {\r\n \"item\": \"BisCore.Drawing\",\r\n \"properties\": {\r\n \"schemaItemType\": \"EntityClass\",\r\n \"baseClass\": \"BisCore.Document\",\r\n \"description\": \"A bis:Drawing is a bis:Document of a 2D drawing.\",\r\n \"customAttributes\": [\r\n {\r\n \"className\": \"BisCore.ClassHasHandler\"\r\n }\r\n ],\r\n \"mixins\": [\r\n \"BisCore.ISubModeledElement\"\r\n ]\r\n }\r\n }\r\n ]\r\n }\r\n ]\r\n}"]}
|
|
1
|
+
{"version":3,"file":"simple.config.js","sourceRoot":"","sources":["../../../../../../src/test/assets/IncrementalSchemaLocater/configs/simple.config.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,eAAe;IACb,OAAO,EAAE,uBAAuB;IAChC,SAAS,EAAE,kBAAkB;IAC7B,SAAS,EAAE;QACT;YACE,MAAM,EAAE,cAAc;YACtB,aAAa,EAAE,sBAAsB;YACrC,OAAO,EAAE,eAAe;YACxB,YAAY,EAAE;gBACZ,SAAS;gBACT,sBAAsB;gBACtB,SAAS;gBACT,OAAO;aACR;YACD,WAAW,EAAE,EAAE;YACf,YAAY,EAAE;gBACZ;oBACE,MAAM,EAAE,8BAA8B;oBACtC,YAAY,EAAE;wBACZ,gBAAgB,EAAE,YAAY;wBAC9B,OAAO,EAAE,MAAM;wBACf,aAAa,EAAE,iBAAiB;qBACjC;iBACF;gBACD;oBACE,MAAM,EAAE,8BAA8B;oBACtC,YAAY,EAAE;wBACZ,gBAAgB,EAAE,YAAY;wBAC9B,OAAO,EAAE,MAAM;wBACf,aAAa,EAAE,iBAAiB;wBAChC,YAAY,EAAE,UAAU;qBACzB;iBACF;gBACD;oBACE,MAAM,EAAE,4BAA4B;oBACpC,YAAY,EAAE;wBACZ,gBAAgB,EAAE,kBAAkB;wBACpC,OAAO,EAAE,MAAM;wBACf,aAAa,EAAE,uBAAuB;wBACtC,UAAU,EAAE,IAAI;qBACjB;iBACF;gBACD;oBACE,MAAM,EAAE,kCAAkC;oBAC1C,YAAY,EAAE;wBACZ,gBAAgB,EAAE,aAAa;wBAC/B,OAAO,EAAE,MAAM;wBACf,aAAa,EAAE,qBAAqB;wBACpC,MAAM,EAAE,KAAK;wBACb,UAAU,EAAE,IAAI;wBAChB,aAAa,EAAE;4BACb;gCACE,MAAM,EAAE,aAAa;gCACrB,OAAO,EAAE,CAAC;gCACV,OAAO,EAAE,GAAG;gCACZ,aAAa,EAAE,cAAc;6BAC9B;4BACD;gCACE,MAAM,EAAE,aAAa;gCACrB,OAAO,EAAE,CAAC;gCACV,OAAO,EAAE,GAAG;gCACZ,aAAa,EAAE,cAAc;6BAC9B;yBACF;qBACF;iBACF;gBACD;oBACE,MAAM,EAAE,iCAAiC;oBACzC,YAAY,EAAE;wBACZ,gBAAgB,EAAE,aAAa;wBAC/B,OAAO,EAAE,MAAM;wBACf,aAAa,EAAE,oBAAoB;wBACnC,MAAM,EAAE,QAAQ;wBAChB,UAAU,EAAE,KAAK;wBACjB,aAAa,EAAE;4BACb;gCACE,MAAM,EAAE,aAAa;gCACrB,OAAO,EAAE,GAAG;6BACb;4BACD;gCACE,MAAM,EAAE,aAAa;gCACrB,OAAO,EAAE,GAAG;6BACb;yBACF;qBACF;iBACF;gBACD;oBACE,MAAM,EAAE,yBAAyB;oBACjC,YAAY,EAAE;wBACZ,gBAAgB,EAAE,MAAM;wBACxB,OAAO,EAAE,OAAO;wBAChB,aAAa,EAAE,YAAY;wBAC3B,YAAY,EAAE,8BAA8B;wBAC5C,YAAY,EAAE,8BAA8B;wBAC5C,YAAY,EAAE,OAAO;wBACrB,WAAW,EAAE,IAAI;qBAClB;iBACF;gBACD;oBACE,MAAM,EAAE,yBAAyB;oBACjC,YAAY,EAAE;wBACZ,gBAAgB,EAAE,MAAM;wBACxB,OAAO,EAAE,OAAO;wBAChB,aAAa,EAAE,YAAY;wBAC3B,YAAY,EAAE,mBAAmB;wBACjC,YAAY,EAAE,gBAAgB;wBAC9B,YAAY,EAAE,OAAO;wBACrB,WAAW,EAAE,GAAG;wBAChB,aAAa,EAAE,GAAG;wBAClB,QAAQ,EAAE,OAAO;qBAClB;iBACF;gBACD;oBACE,MAAM,EAAE,iCAAiC;oBACzC,YAAY,EAAE;wBACZ,gBAAgB,EAAE,cAAc;wBAChC,OAAO,EAAE,OAAO;wBAChB,aAAa,EAAE,oBAAoB;wBACnC,aAAa,EAAE,yBAAyB;wBACxC,YAAY,EAAE,8BAA8B;qBAC7C;iBACF;gBACD;oBACE,MAAM,EAAE,iCAAiC;oBACzC,YAAY,EAAE;wBACZ,gBAAgB,EAAE,cAAc;wBAChC,OAAO,EAAE,OAAO;wBAChB,aAAa,EAAE,oBAAoB;wBACnC,aAAa,EAAE,iBAAiB;wBAChC,YAAY,EAAE,gBAAgB;qBAC/B;iBACF;gBACD;oBACE,MAAM,EAAE,6BAA6B;oBACrC,YAAY,EAAE;wBACZ,gBAAgB,EAAE,UAAU;wBAC5B,OAAO,EAAE,OAAO;wBAChB,aAAa,EAAE,gBAAgB;wBAC/B,YAAY,EAAE,8BAA8B;wBAC5C,YAAY,EAAE,YAAY;wBAC1B,WAAW,EAAE,KAAK;qBACnB;iBACF;gBACD;oBACE,MAAM,EAAE,6BAA6B;oBACrC,YAAY,EAAE;wBACZ,gBAAgB,EAAE,UAAU;wBAC5B,OAAO,EAAE,OAAO;wBAChB,aAAa,EAAE,gBAAgB;wBAC/B,YAAY,EAAE,aAAa;wBAC3B,YAAY,EAAE,YAAY;wBAC1B,WAAW,EAAE,KAAK;wBAClB,aAAa,EAAE,GAAG;qBACnB;iBACF;gBACD;oBACE,MAAM,EAAE,6BAA6B;oBACrC,YAAY,EAAE;wBACZ,gBAAgB,EAAE,QAAQ;wBAC1B,OAAO,EAAE,MAAM;wBACf,aAAa,EAAE,gBAAgB;wBAC/B,MAAM,EAAE,SAAS;wBACjB,WAAW,EAAE,CAAC;wBACd,cAAc,EAAE;4BACd,aAAa;4BACb,gBAAgB;4BAChB,kBAAkB;yBACnB;wBACD,mBAAmB,EAAE,GAAG;wBACxB,kBAAkB,EAAE,GAAG;wBACvB,kBAAkB,EAAE,GAAG;wBACvB,mBAAmB,EAAE,CAAC;wBACtB,UAAU,EAAE,CAAC;qBACd;iBACF;gBACD;oBACE,MAAM,EAAE,gCAAgC;oBACxC,YAAY,EAAE;wBACZ,gBAAgB,EAAE,QAAQ;wBAC1B,OAAO,EAAE,MAAM;wBACf,aAAa,EAAE,mBAAmB;wBAClC,MAAM,EAAE,YAAY;wBACpB,gBAAgB,EAAE,YAAY;wBAC9B,WAAW,EAAE,CAAC;wBACd,cAAc,EAAE;4BACd,gBAAgB;yBACjB;wBACD,kBAAkB,EAAE,GAAG;wBACvB,mBAAmB,EAAE,GAAG;qBACzB;iBACF;gBACD;oBACE,MAAM,EAAE,6BAA6B;oBACrC,YAAY,EAAE;wBACZ,gBAAgB,EAAE,QAAQ;wBAC1B,OAAO,EAAE,MAAM;wBACf,aAAa,EAAE,gBAAgB;wBAC/B,MAAM,EAAE,SAAS;wBACjB,WAAW,EAAE,CAAC;wBACd,gBAAgB,EAAE,QAAQ;wBAC1B,cAAc,EAAE;4BACd,gBAAgB;4BAChB,kBAAkB;yBACnB;wBACD,mBAAmB,EAAE,GAAG;wBACxB,kBAAkB,EAAE,GAAG;wBACvB,UAAU,EAAE,CAAC;wBACb,aAAa,EAAE,GAAG;qBACnB;iBACF;gBACD;oBACE,MAAM,EAAE,gCAAgC;oBACxC,YAAY,EAAE;wBACZ,gBAAgB,EAAE,QAAQ;wBAC1B,OAAO,EAAE,MAAM;wBACf,aAAa,EAAE,mBAAmB;wBAClC,MAAM,EAAE,YAAY;wBACpB,WAAW,EAAE,CAAC;wBACd,cAAc,EAAE;4BACd,gBAAgB;4BAChB,eAAe;yBAChB;wBACD,cAAc,EAAE,EAAE;qBACnB;iBACF;gBACD;oBACE,MAAM,EAAE,mCAAmC;oBAC3C,YAAY,EAAE;wBACZ,gBAAgB,EAAE,gBAAgB;wBAClC,OAAO,EAAE,OAAO;wBAChB,aAAa,EAAE,sBAAsB;qBACtC;iBACF;gBACD;oBACE,MAAM,EAAE,mCAAmC;oBAC3C,YAAY,EAAE;wBACZ,gBAAgB,EAAE,gBAAgB;wBAClC,OAAO,EAAE,OAAO;wBAChB,aAAa,EAAE,sBAAsB;qBACtC;iBACF;gBACD;oBACE,MAAM,EAAE,gCAAgC;oBACxC,YAAY,EAAE;wBACZ,gBAAgB,EAAE,aAAa;wBAC/B,UAAU,EAAE,UAAU;wBACtB,OAAO,EAAE,OAAO;wBAChB,aAAa,EAAE,mBAAmB;qBACnC;iBACF;gBACD;oBACE,MAAM,EAAE,gCAAgC;oBACxC,YAAY,EAAE;wBACZ,gBAAgB,EAAE,aAAa;wBAC/B,UAAU,EAAE,QAAQ;wBACpB,WAAW,EAAE,gCAAgC;wBAC7C,OAAO,EAAE,OAAO;wBAChB,aAAa,EAAE,mBAAmB;qBACnC;iBACF;gBACD;oBACE,MAAM,EAAE,yCAAyC;oBACjD,YAAY,EAAE;wBACZ,gBAAgB,EAAE,sBAAsB;wBACxC,WAAW,EAAE,UAAU;wBACvB,UAAU,EAAE,UAAU;wBACtB,OAAO,EAAE,OAAO;wBAChB,aAAa,EAAE,4BAA4B;qBAC5C;iBACF;gBACD;oBACE,MAAM,EAAE,yCAAyC;oBACjD,YAAY,EAAE;wBACZ,gBAAgB,EAAE,sBAAsB;wBACxC,WAAW,EAAE,aAAa;wBAC1B,WAAW,EAAE,+BAA+B;wBAC5C,OAAO,EAAE,OAAO;wBAChB,aAAa,EAAE,4BAA4B;qBAC5C;iBACF;gBACD;oBACE,MAAM,EAAE,yCAAyC;oBACjD,YAAY,EAAE;wBACZ,gBAAgB,EAAE,sBAAsB;wBACxC,UAAU,EAAE,QAAQ;wBACpB,WAAW,EAAE,KAAK;wBAClB,WAAW,EAAE,yCAAyC;wBACtD,OAAO,EAAE,OAAO;wBAChB,aAAa,EAAE,4BAA4B;qBAC5C;iBACF;gBACD;oBACE,MAAM,EAAE,2BAA2B;oBACnC,YAAY,EAAE;wBACZ,gBAAgB,EAAE,OAAO;wBACzB,WAAW,EAAE,iBAAiB;wBAC9B,OAAO,EAAE,OAAO;wBAChB,aAAa,EAAE,aAAa;qBAC7B;iBACF;gBACD;oBACE,MAAM,EAAE,2BAA2B;oBACnC,YAAY,EAAE;wBACZ,gBAAgB,EAAE,OAAO;wBACzB,WAAW,EAAE,2BAA2B;wBACxC,WAAW,EAAE,yBAAyB;wBACtC,OAAO,EAAE,OAAO;wBAChB,aAAa,EAAE,aAAa;qBAC7B;iBACF;gBACD;oBACE,MAAM,EAAE,gCAAgC;oBACxC,YAAY,EAAE;wBACZ,gBAAgB,EAAE,aAAa;wBAC/B,WAAW,EAAE,yBAAyB;wBACtC,OAAO,EAAE,OAAO;wBAChB,aAAa,EAAE,mBAAmB;wBAClC,QAAQ,EAAE;4BACR,2BAA2B;yBAC5B;qBACF;iBACF;gBACD;oBACE,MAAM,EAAE,gCAAgC;oBACxC,YAAY,EAAE;wBACZ,gBAAgB,EAAE,aAAa;wBAC/B,UAAU,EAAE,UAAU;wBACtB,WAAW,EAAE,gCAAgC;wBAC7C,OAAO,EAAE,OAAO;wBAChB,aAAa,EAAE,mBAAmB;wBAClC,QAAQ,EAAE;4BACR,2BAA2B;yBAC5B;qBACF;iBACF;gBACD;oBACE,MAAM,EAAE,gCAAgC;oBACxC,YAAY,EAAE;wBACZ,gBAAgB,EAAE,aAAa;wBAC/B,UAAU,EAAE,QAAQ;wBACpB,WAAW,EAAE,gCAAgC;wBAC7C,OAAO,EAAE,OAAO;wBAChB,aAAa,EAAE,mBAAmB;qBACnC;iBACF;gBACD;oBACE,MAAM,EAAE,gCAAgC;oBACxC,YAAY,EAAE;wBACZ,gBAAgB,EAAE,aAAa;wBAC/B,WAAW,EAAE,gCAAgC;wBAC7C,OAAO,EAAE,OAAO;wBAChB,aAAa,EAAE,mBAAmB;qBACnC;iBACF;gBACD;oBACE,MAAM,EAAE,sCAAsC;oBAC9C,YAAY,EAAE;wBACZ,gBAAgB,EAAE,mBAAmB;wBACrC,UAAU,EAAE,QAAQ;wBACpB,WAAW,EAAE,iCAAiC;wBAC9C,OAAO,EAAE,OAAO;wBAChB,aAAa,EAAE,yBAAyB;wBACxC,UAAU,EAAE,aAAa;wBACzB,mBAAmB,EAAE,SAAS;qBAC/B;iBACF;gBACD;oBACE,MAAM,EAAE,sCAAsC;oBAC9C,YAAY,EAAE;wBACZ,gBAAgB,EAAE,mBAAmB;wBACrC,UAAU,EAAE,MAAM;wBAClB,WAAW,EAAE,4BAA4B;wBACzC,OAAO,EAAE,OAAO;wBAChB,aAAa,EAAE,yBAAyB;wBACxC,UAAU,EAAE,WAAW;wBACvB,mBAAmB,EAAE,UAAU;qBAChC;iBACF;aACF;YACD,eAAe,EAAE;gBACf,cAAc,EAAE,gCAAgC;gBAChD,WAAW,EAAE,2BAA2B;aACzC;YACD,eAAe,EAAE;gBACf;oBACE,MAAM,EAAE,6BAA6B;oBACrC,YAAY,EAAE;wBACZ,gBAAgB,EAAE,QAAQ;wBAC1B,OAAO,EAAE,MAAM;wBACf,aAAa,EAAE,gBAAgB;wBAC/B,MAAM,EAAE,SAAS;wBACjB,WAAW,EAAE,CAAC;wBACd,gBAAgB,EAAE,QAAQ;wBAC1B,cAAc,EAAE;4BACd,gBAAgB;4BAChB,kBAAkB;yBACnB;wBACD,mBAAmB,EAAE,GAAG;wBACxB,kBAAkB,EAAE,GAAG;wBACvB,UAAU,EAAE,CAAC;wBACb,aAAa,EAAE,GAAG;wBAClB,WAAW,EAAE;4BACX,QAAQ,EAAE,EAAE;4BACZ,aAAa,EAAE,KAAK;4BACpB,OAAO,EAAE;gCACP;oCACE,MAAM,EAAE,SAAS;oCACjB,OAAO,EAAE,GAAG;iCACb;gCACD;oCACE,MAAM,EAAE,UAAU;oCAClB,OAAO,EAAE,IAAI;iCACd;6BACF;yBACF;qBACF;iBACF;gBACD;oBACE,MAAM,EAAE,gCAAgC;oBACxC,YAAY,EAAE;wBACZ,gBAAgB,EAAE,QAAQ;wBAC1B,OAAO,EAAE,MAAM;wBACf,aAAa,EAAE,mBAAmB;wBAClC,MAAM,EAAE,YAAY;wBACpB,WAAW,EAAE,CAAC;wBACd,cAAc,EAAE;4BACd,gBAAgB;4BAChB,eAAe;yBAChB;wBACD,cAAc,EAAE,EAAE;wBAClB,WAAW,EAAE;4BACX,QAAQ,EAAE,EAAE;4BACZ,OAAO,EAAE;gCACP;oCACE,MAAM,EAAE,yBAAyB;oCACjC,OAAO,EAAE,MAAM;iCAChB;6BACF;yBACF;qBACF;iBACF;gBACD;oBACE,MAAM,EAAE,mCAAmC;oBAC3C,YAAY,EAAE;wBACZ,gBAAgB,EAAE,gBAAgB;wBAClC,OAAO,EAAE,OAAO;wBAChB,aAAa,EAAE,sBAAsB;wBACrC,eAAe,EAAE,KAAK;wBACtB,iBAAiB,EAAE,yBAAyB;wBAC5C,mBAAmB,EAAE;4BACnB,4DAA4D;yBAC7D;qBACF;iBACF;gBACD;oBACE,MAAM,EAAE,mCAAmC;oBAC3C,YAAY,EAAE;wBACZ,gBAAgB,EAAE,gBAAgB;wBAClC,OAAO,EAAE,OAAO;wBAChB,aAAa,EAAE,sBAAsB;wBACrC,eAAe,EAAE,MAAM;wBACvB,iBAAiB,EAAE,UAAU;wBAC7B,mBAAmB,EAAE;4BACnB,gCAAgC;4BAChC,kCAAkC;yBACnC;qBACF;iBACF;gBACD;oBACE,MAAM,EAAE,gCAAgC;oBACxC,YAAY,EAAE;wBACZ,gBAAgB,EAAE,aAAa;wBAC/B,UAAU,EAAE,UAAU;wBACtB,OAAO,EAAE,OAAO;wBAChB,aAAa,EAAE,mBAAmB;wBAClC,YAAY,EAAE;4BACZ;gCACE,MAAM,EAAE,gBAAgB;gCACxB,MAAM,EAAE,mBAAmB;gCAC3B,UAAU,EAAE,4BAA4B;gCACxC,OAAO,EAAE,QAAQ;gCACjB,aAAa,EAAE,iBAAiB;gCAChC,UAAU,EAAE,QAAQ;6BACrB;4BACD;gCACE,MAAM,EAAE,iBAAiB;gCACzB,MAAM,EAAE,mBAAmB;gCAC3B,YAAY,EAAE,IAAI;gCAClB,OAAO,EAAE,QAAQ;gCACjB,aAAa,EAAE,iBAAiB;gCAChC,UAAU,EAAE,SAAS;gCACrB,kBAAkB,EAAE;oCAClB;wCACE,WAAW,EAAE,qCAAqC;qCACnD;oCACD;wCACE,WAAW,EAAE,+BAA+B;qCAC7C;iCACF;6BACF;4BACD;gCACE,MAAM,EAAE,mBAAmB;gCAC3B,MAAM,EAAE,wBAAwB;gCAChC,WAAW,EAAE,CAAC;gCACd,WAAW,EAAE,EAAE;gCACf,OAAO,EAAE,WAAW;gCACpB,aAAa,EAAE,oBAAoB;gCACnC,UAAU,EAAE,MAAM;6BACnB;yBACF;qBACF;iBACF;gBACD;oBACE,MAAM,EAAE,gCAAgC;oBACxC,YAAY,EAAE;wBACZ,gBAAgB,EAAE,aAAa;wBAC/B,UAAU,EAAE,QAAQ;wBACpB,WAAW,EAAE,gCAAgC;wBAC7C,OAAO,EAAE,OAAO;wBAChB,aAAa,EAAE,mBAAmB;wBAClC,kBAAkB,EAAE;4BAClB;gCACE,WAAW,EAAE,yBAAyB;6BACvC;yBACF;wBACD,YAAY,EAAE;4BACZ;gCACE,MAAM,EAAE,kBAAkB;gCAC1B,MAAM,EAAE,mBAAmB;gCAC3B,gBAAgB,EAAE,mCAAmC;gCACrD,OAAO,EAAE,UAAU;gCACnB,aAAa,EAAE,mBAAmB;gCAClC,UAAU,EAAE,UAAU;6BACvB;4BACD;gCACE,MAAM,EAAE,iBAAiB;gCACzB,MAAM,EAAE,mBAAmB;gCAC3B,UAAU,EAAE,IAAI;gCAChB,OAAO,EAAE,SAAS;gCAClB,aAAa,EAAE,kBAAkB;gCACjC,UAAU,EAAE,SAAS;6BACtB;4BACD;gCACE,MAAM,EAAE,gCAAgC;gCACxC,MAAM,EAAE,wBAAwB;gCAChC,WAAW,EAAE,CAAC;gCACd,WAAW,EAAE,CAAC;gCACd,OAAO,EAAE,wBAAwB;gCACjC,aAAa,EAAE,iCAAiC;gCAChD,UAAU,EAAE,iCAAiC;6BAC9C;yBACF;qBACF;iBACF;gBACD;oBACE,MAAM,EAAE,yCAAyC;oBACjD,YAAY,EAAE;wBACZ,gBAAgB,EAAE,sBAAsB;wBACxC,WAAW,EAAE,UAAU;wBACvB,UAAU,EAAE,UAAU;wBACtB,OAAO,EAAE,OAAO;wBAChB,aAAa,EAAE,4BAA4B;wBAC3C,YAAY,EAAE;4BACZ;gCACE,MAAM,EAAE,gBAAgB;gCACxB,MAAM,EAAE,mBAAmB;gCAC3B,OAAO,EAAE,QAAQ;gCACjB,aAAa,EAAE,iBAAiB;gCAChC,kBAAkB,EAAE,MAAM;gCAC1B,WAAW,EAAE,CAAC;gCACd,WAAW,EAAE,GAAG;gCAChB,UAAU,EAAE,QAAQ;6BACrB;4BACD;gCACE,MAAM,EAAE,gBAAgB;gCACxB,MAAM,EAAE,gBAAgB;gCACxB,OAAO,EAAE,QAAQ;gCACjB,aAAa,EAAE,iBAAiB;gCAChC,UAAU,EAAE,gCAAgC;6BAC7C;yBACF;qBACF;iBACF;gBACD;oBACE,MAAM,EAAE,yCAAyC;oBACjD,YAAY,EAAE;wBACZ,gBAAgB,EAAE,sBAAsB;wBACxC,WAAW,EAAE,aAAa;wBAC1B,WAAW,EAAE,+BAA+B;wBAC5C,OAAO,EAAE,OAAO;wBAChB,aAAa,EAAE,4BAA4B;wBAC3C,kBAAkB,EAAE;4BAClB;gCACE,WAAW,EAAE,yCAAyC;6BACvD;yBACF;wBACD,YAAY,EAAE;4BACZ;gCACE,MAAM,EAAE,gBAAgB;gCACxB,MAAM,EAAE,mBAAmB;gCAC3B,OAAO,EAAE,QAAQ;gCACjB,aAAa,EAAE,iBAAiB;gCAChC,UAAU,EAAE,QAAQ;6BACrB;4BACD;gCACE,MAAM,EAAE,sBAAsB;gCAC9B,MAAM,EAAE,wBAAwB;gCAChC,WAAW,EAAE,CAAC;gCACd,WAAW,EAAE,GAAG;gCAChB,UAAU,EAAE,IAAI;gCAChB,OAAO,EAAE,cAAc;gCACvB,aAAa,EAAE,uBAAuB;gCACtC,UAAU,EAAE,KAAK;6BAClB;yBACF;qBACF;iBACF;gBACD;oBACE,MAAM,EAAE,yCAAyC;oBACjD,YAAY,EAAE;wBACZ,gBAAgB,EAAE,sBAAsB;wBACxC,UAAU,EAAE,QAAQ;wBACpB,WAAW,EAAE,KAAK;wBAClB,WAAW,EAAE,yCAAyC;wBACtD,OAAO,EAAE,OAAO;wBAChB,aAAa,EAAE,4BAA4B;wBAC3C,YAAY,EAAE;4BACZ;gCACE,MAAM,EAAE,iBAAiB;gCACzB,MAAM,EAAE,mBAAmB;gCAC3B,UAAU,EAAE,CAAC;gCACb,UAAU,EAAE,GAAG;gCACf,OAAO,EAAE,SAAS;gCAClB,aAAa,EAAE,kBAAkB;gCACjC,UAAU,EAAE,KAAK;gCACjB,kBAAkB,EAAE;oCAClB;wCACE,WAAW,EAAE,6BAA6B;wCAC1C,gBAAgB,EAAE,CAAC;qCACpB;iCACF;6BACF;4BACD;gCACE,MAAM,EAAE,yBAAyB;gCACjC,MAAM,EAAE,wBAAwB;gCAChC,OAAO,EAAE,yBAAyB;gCAClC,aAAa,EAAE,kCAAkC;gCACjD,WAAW,EAAE,CAAC;gCACd,WAAW,EAAE,UAAU;gCACvB,UAAU,EAAE,qBAAqB;6BAClC;yBACF;qBACF;iBACF;gBACD;oBACE,MAAM,EAAE,2BAA2B;oBACnC,YAAY,EAAE;wBACZ,gBAAgB,EAAE,OAAO;wBACzB,WAAW,EAAE,iBAAiB;wBAC9B,OAAO,EAAE,OAAO;wBAChB,aAAa,EAAE,aAAa;wBAC5B,YAAY,EAAE;4BACZ;gCACE,MAAM,EAAE,cAAc;gCACtB,MAAM,EAAE,mBAAmB;gCAC3B,UAAU,EAAE,4BAA4B;gCACxC,OAAO,EAAE,MAAM;gCACf,aAAa,EAAE,eAAe;gCAC9B,UAAU,EAAE,MAAM;6BACnB;4BACD;gCACE,MAAM,EAAE,sBAAsB;gCAC9B,MAAM,EAAE,wBAAwB;gCAChC,WAAW,EAAE,CAAC;gCACd,WAAW,EAAE,CAAC;gCACd,OAAO,EAAE,cAAc;gCACvB,aAAa,EAAE,uBAAuB;gCACtC,UAAU,EAAE,SAAS;6BACtB;yBACF;wBACD,kBAAkB,EAAE;4BAClB;gCACE,WAAW,EAAE,yCAAyC;6BACvD;yBACF;qBACF;iBACF;gBACD;oBACE,MAAM,EAAE,2BAA2B;oBACnC,YAAY,EAAE;wBACZ,gBAAgB,EAAE,OAAO;wBACzB,WAAW,EAAE,2BAA2B;wBACxC,WAAW,EAAE,yBAAyB;wBACtC,OAAO,EAAE,OAAO;wBAChB,aAAa,EAAE,aAAa;wBAC5B,YAAY,EAAE;4BACZ;gCACE,MAAM,EAAE,mBAAmB;gCAC3B,MAAM,EAAE,mBAAmB;gCAC3B,OAAO,EAAE,WAAW;gCACpB,aAAa,EAAE,oBAAoB;gCACnC,UAAU,EAAE,mCAAmC;gCAC/C,kBAAkB,EAAE;oCAClB;wCACE,WAAW,EAAE,iCAAiC;wCAC9C,aAAa,EAAE,8BAA8B;qCAC9C;oCACD;wCACE,WAAW,EAAE,qCAAqC;qCACnD;iCACF;6BACF;4BACD;gCACE,MAAM,EAAE,qBAAqB;gCAC7B,MAAM,EAAE,wBAAwB;gCAChC,UAAU,EAAE,GAAG;gCACf,UAAU,EAAE,GAAG;gCACf,WAAW,EAAE,EAAE;gCACf,WAAW,EAAE,CAAC;gCACd,OAAO,EAAE,aAAa;gCACtB,aAAa,EAAE,sBAAsB;gCACrC,UAAU,EAAE,QAAQ;6BACrB;yBACF;qBACF;iBACF;gBACD;oBACE,MAAM,EAAE,gCAAgC;oBACxC,YAAY,EAAE;wBACZ,gBAAgB,EAAE,aAAa;wBAC/B,UAAU,EAAE,QAAQ;wBACpB,WAAW,EAAE,gCAAgC;wBAC7C,OAAO,EAAE,OAAO;wBAChB,aAAa,EAAE,mBAAmB;wBAClC,YAAY,EAAE;4BACZ;gCACE,MAAM,EAAE,2BAA2B;gCACnC,MAAM,EAAE,mBAAmB;gCAC3B,OAAO,EAAE,mBAAmB;gCAC5B,aAAa,EAAE,4BAA4B;gCAC3C,UAAU,EAAE,4CAA4C;6BACzD;yBACF;qBACF;iBACF;gBACD;oBACE,MAAM,EAAE,sCAAsC;oBAC9C,YAAY,EAAE;wBACZ,gBAAgB,EAAE,mBAAmB;wBACrC,UAAU,EAAE,QAAQ;wBACpB,WAAW,EAAE,iCAAiC;wBAC9C,OAAO,EAAE,OAAO;wBAChB,aAAa,EAAE,yBAAyB;wBACxC,UAAU,EAAE,aAAa;wBACzB,mBAAmB,EAAE,SAAS;wBAC9B,kBAAkB,EAAE;4BAClB;gCACE,WAAW,EAAE,kCAAkC;gCAC/C,MAAM,EAAE,KAAK;6BACd;yBACF;wBACD,YAAY,EAAE;4BACZ;gCACE,MAAM,EAAE,sBAAsB;gCAC9B,MAAM,EAAE,wBAAwB;gCAChC,WAAW,EAAE,CAAC;gCACd,WAAW,EAAE,EAAE;gCACf,OAAO,EAAE,cAAc;gCACvB,aAAa,EAAE,uBAAuB;gCACtC,UAAU,EAAE,SAAS;6BACtB;4BACD;gCACE,MAAM,EAAE,sBAAsB;gCAC9B,MAAM,EAAE,wBAAwB;gCAChC,WAAW,EAAE,CAAC;gCACd,WAAW,EAAE,EAAE;gCACf,OAAO,EAAE,cAAc;gCACvB,aAAa,EAAE,uBAAuB;gCACtC,UAAU,EAAE,SAAS;6BACtB;yBACF;wBACD,QAAQ,EAAE;4BACR,cAAc,EAAE,QAAQ;4BACxB,WAAW,EAAE,WAAW;4BACxB,aAAa,EAAE,IAAI;4BACnB,oBAAoB,EAAE,iBAAiB;4BACvC,mBAAmB,EAAE;gCACnB,iBAAiB;6BAClB;4BACD,kBAAkB,EAAE;gCAClB;oCACE,WAAW,EAAE,yCAAyC;oCACtD,gBAAgB,EAAE,QAAQ;iCAC3B;6BACF;yBACF;wBACD,QAAQ,EAAE;4BACR,cAAc,EAAE,QAAQ;4BACxB,WAAW,EAAE,kBAAkB;4BAC/B,aAAa,EAAE,IAAI;4BACnB,oBAAoB,EAAE,iBAAiB;4BACvC,mBAAmB,EAAE;gCACnB,iBAAiB;6BAClB;4BACD,kBAAkB,EAAE;gCAClB;oCACE,WAAW,EAAE,yCAAyC;oCACtD,gBAAgB,EAAE,QAAQ;iCAC3B;6BACF;yBACF;qBACF;iBACF;gBACD;oBACE,MAAM,EAAE,iBAAiB;oBACzB,YAAY,EAAE;wBACZ,gBAAgB,EAAE,aAAa;wBAC/B,WAAW,EAAE,kBAAkB;wBAC/B,aAAa,EAAE,kDAAkD;wBACjE,kBAAkB,EAAE;4BAClB;gCACE,WAAW,EAAE,yBAAyB;6BACvC;yBACF;wBACD,QAAQ,EAAE;4BACR,4BAA4B;yBAC7B;qBACF;iBACF;aACF;SACF;KACF;CACF,CAAA","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\r\nexport default {\r\n \"label\": \"Simple Profile iModel\",\r\n \"bimFile\": \"SimpleIModel.bim\",\r\n \"schemas\": [\r\n {\r\n \"name\": \"SimpleSchema\",\r\n \"description\": \"A simple test schema\",\r\n \"label\": \"Simple Schema\",\r\n \"references\": [\r\n \"BisCore\",\r\n \"CoreCustomAttributes\",\r\n \"Formats\",\r\n \"Units\"\r\n ],\r\n \"itemCount\": 30,\r\n \"checkStubs\": [\r\n {\r\n \"item\": \"SimpleSchema.UnitSystem_Test\",\r\n \"properties\": {\r\n \"schemaItemType\": \"UnitSystem\",\r\n \"label\": \"Test\",\r\n \"description\": \"UnitSystem Test\"\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.Phenomenon_Test\",\r\n \"properties\": {\r\n \"schemaItemType\": \"Phenomenon\",\r\n \"label\": \"Test\",\r\n \"description\": \"Phenomenon Test\",\r\n \"definition\": \"u:NUMBER\"\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.Category_Test\",\r\n \"properties\": {\r\n \"schemaItemType\": \"PropertyCategory\",\r\n \"label\": \"Test\",\r\n \"description\": \"PropertyCategory Test\",\r\n \"priority\": 1000\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.Enumeration_Integer\",\r\n \"properties\": {\r\n \"schemaItemType\": \"Enumeration\",\r\n \"label\": \"Test\",\r\n \"description\": \"Enumeration Integer\",\r\n \"type\": \"int\",\r\n \"isStrict\": true,\r\n \"enumerators\": [\r\n {\r\n \"name\": \"Enumerator0\",\r\n \"value\": 0,\r\n \"label\": \"0\",\r\n \"description\": \"Enumerator 0\"\r\n },\r\n {\r\n \"name\": \"Enumerator1\",\r\n \"value\": 1,\r\n \"label\": \"1\",\r\n \"description\": \"Enumerator 1\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.Enumeration_String\",\r\n \"properties\": {\r\n \"schemaItemType\": \"Enumeration\",\r\n \"label\": \"Test\",\r\n \"description\": \"Enumeration String\",\r\n \"type\": \"string\",\r\n \"isStrict\": false,\r\n \"enumerators\": [\r\n {\r\n \"name\": \"Enumerator0\",\r\n \"value\": \"0\"\r\n },\r\n {\r\n \"name\": \"Enumerator1\",\r\n \"value\": \"1\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.Unit_Test1\",\r\n \"properties\": {\r\n \"schemaItemType\": \"Unit\",\r\n \"label\": \"Test1\",\r\n \"description\": \"Unit Test1\",\r\n \"phenomenon\": \"SimpleSchema.Phenomenon_Test\",\r\n \"unitSystem\": \"SimpleSchema.UnitSystem_Test\",\r\n \"definition\": \"u:ONE\",\r\n \"numerator\": 10.0\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.Unit_Test2\",\r\n \"properties\": {\r\n \"schemaItemType\": \"Unit\",\r\n \"label\": \"Test2\",\r\n \"description\": \"Unit Test2\",\r\n \"phenomenon\": \"Units.TEMPERATURE\",\r\n \"unitSystem\": \"Units.USCUSTOM\",\r\n \"definition\": \"u:ONE\",\r\n \"numerator\": 5.0,\r\n \"denominator\": 3.0,\r\n \"offset\": 0.01325\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.InvertedUnit_Test1\",\r\n \"properties\": {\r\n \"schemaItemType\": \"InvertedUnit\",\r\n \"label\": \"Test1\",\r\n \"description\": \"InvertedUnit Test1\",\r\n \"invertsUnit\": \"SimpleSchema.Unit_Test1\",\r\n \"unitSystem\": \"SimpleSchema.UnitSystem_Test\"\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.InvertedUnit_Test2\",\r\n \"properties\": {\r\n \"schemaItemType\": \"InvertedUnit\",\r\n \"label\": \"Test2\",\r\n \"description\": \"InvertedUnit Test2\",\r\n \"invertsUnit\": \"Units.FT_PER_FT\",\r\n \"unitSystem\": \"Units.USCUSTOM\"\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.Constant_Test1\",\r\n \"properties\": {\r\n \"schemaItemType\": \"Constant\",\r\n \"label\": \"Test1\",\r\n \"description\": \"Constant Test1\",\r\n \"phenomenon\": \"SimpleSchema.Phenomenon_Test\",\r\n \"definition\": \"Unit_Test1\",\r\n \"numerator\": 1.0e3\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.Constant_Test2\",\r\n \"properties\": {\r\n \"schemaItemType\": \"Constant\",\r\n \"label\": \"Test2\",\r\n \"description\": \"Constant Test2\",\r\n \"phenomenon\": \"Units.ANGLE\",\r\n \"definition\": \"Unit_Test2\",\r\n \"numerator\": 180.0,\r\n \"denominator\": 0.5\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.Format_Station\",\r\n \"properties\": {\r\n \"schemaItemType\": \"Format\",\r\n \"label\": \"Test\",\r\n \"description\": \"Format Station\",\r\n \"type\": \"Station\",\r\n \"precision\": 2,\r\n \"formatTraits\": [\r\n \"TrailZeroes\",\r\n \"KeepSingleZero\",\r\n \"KeepDecimalPoint\"\r\n ],\r\n \"thousandSeparator\": \" \",\r\n \"decimalSeparator\": \",\",\r\n \"stationSeparator\": \"+\",\r\n \"stationOffsetSize\": 3,\r\n \"minWidth\": 3\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.Format_Scientific\",\r\n \"properties\": {\r\n \"schemaItemType\": \"Format\",\r\n \"label\": \"Test\",\r\n \"description\": \"Format Scientific\",\r\n \"type\": \"Scientific\",\r\n \"scientificType\": \"Normalized\",\r\n \"precision\": 6,\r\n \"formatTraits\": [\r\n \"KeepSingleZero\"\r\n ],\r\n \"decimalSeparator\": \",\",\r\n \"thousandSeparator\": \" \"\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.Format_Decimal\",\r\n \"properties\": {\r\n \"schemaItemType\": \"Format\",\r\n \"label\": \"Test\",\r\n \"description\": \"Format Decimal\",\r\n \"type\": \"Decimal\",\r\n \"precision\": 4,\r\n \"showSignOption\": \"NoSign\",\r\n \"formatTraits\": [\r\n \"KeepSingleZero\",\r\n \"KeepDecimalPoint\"\r\n ],\r\n \"thousandSeparator\": \" \",\r\n \"decimalSeparator\": \",\",\r\n \"minWidth\": 3,\r\n \"roundFactor\": 0.1\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.Format_Fractional\",\r\n \"properties\": {\r\n \"schemaItemType\": \"Format\",\r\n \"label\": \"Test\",\r\n \"description\": \"Format Fractional\",\r\n \"type\": \"Fractional\",\r\n \"precision\": 8,\r\n \"formatTraits\": [\r\n \"KeepSingleZero\",\r\n \"ShowUnitLabel\"\r\n ],\r\n \"uomSeparator\": \"\"\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.KindOfQuantity_Test1\",\r\n \"properties\": {\r\n \"schemaItemType\": \"KindOfQuantity\",\r\n \"label\": \"Test1\",\r\n \"description\": \"KindOfQuantity Test1\"\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.KindOfQuantity_Test2\",\r\n \"properties\": {\r\n \"schemaItemType\": \"KindOfQuantity\",\r\n \"label\": \"Test2\",\r\n \"description\": \"KindOfQuantity Test2\"\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.StructClass_Test1\",\r\n \"properties\": {\r\n \"schemaItemType\": \"StructClass\",\r\n \"modifier\": \"Abstract\",\r\n \"label\": \"Test1\",\r\n \"description\": \"StructClass Test1\"\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.StructClass_Test2\",\r\n \"properties\": {\r\n \"schemaItemType\": \"StructClass\",\r\n \"modifier\": \"Sealed\",\r\n \"baseClass\": \"SimpleSchema.StructClass_Test1\",\r\n \"label\": \"Test2\",\r\n \"description\": \"StructClass Test2\"\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.CustomAttributeClass_Test1\",\r\n \"properties\": {\r\n \"schemaItemType\": \"CustomAttributeClass\",\r\n \"appliesTo\": \"AnyClass\",\r\n \"modifier\": \"Abstract\",\r\n \"label\": \"Test1\",\r\n \"description\": \"CustomAttributeClass Test1\"\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.CustomAttributeClass_Test2\",\r\n \"properties\": {\r\n \"schemaItemType\": \"CustomAttributeClass\",\r\n \"appliesTo\": \"AnyProperty\",\r\n \"baseClass\": \"BisCore.CustomHandledProperty\",\r\n \"label\": \"Test2\",\r\n \"description\": \"CustomAttributeClass Test2\"\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.CustomAttributeClass_Test3\",\r\n \"properties\": {\r\n \"schemaItemType\": \"CustomAttributeClass\",\r\n \"modifier\": \"Sealed\",\r\n \"appliesTo\": \"Any\",\r\n \"baseClass\": \"SimpleSchema.CustomAttributeClass_Test1\",\r\n \"label\": \"Test3\",\r\n \"description\": \"CustomAttributeClass Test3\"\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.IMixin_Test1\",\r\n \"properties\": {\r\n \"schemaItemType\": \"Mixin\",\r\n \"appliesTo\": \"BisCore.Element\",\r\n \"label\": \"Test1\",\r\n \"description\": \"Mixin Test1\"\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.IMixin_Test2\",\r\n \"properties\": {\r\n \"schemaItemType\": \"Mixin\",\r\n \"baseClass\": \"SimpleSchema.IMixin_Test1\",\r\n \"appliesTo\": \"BisCore.PhysicalElement\",\r\n \"label\": \"Test2\",\r\n \"description\": \"Mixin Test2\"\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.EntityClass_Test1\",\r\n \"properties\": {\r\n \"schemaItemType\": \"EntityClass\",\r\n \"baseClass\": \"BisCore.PhysicalElement\",\r\n \"label\": \"Test1\",\r\n \"description\": \"EntityClass Test1\",\r\n \"mixins\": [\r\n \"SimpleSchema.IMixin_Test1\"\r\n ]\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.EntityClass_Test2\",\r\n \"properties\": {\r\n \"schemaItemType\": \"EntityClass\",\r\n \"modifier\": \"Abstract\",\r\n \"baseClass\": \"SimpleSchema.EntityClass_Test1\",\r\n \"label\": \"Test2\",\r\n \"description\": \"EntityClass Test2\",\r\n \"mixins\": [\r\n \"SimpleSchema.IMixin_Test2\"\r\n ]\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.EntityClass_Test3\",\r\n \"properties\": {\r\n \"schemaItemType\": \"EntityClass\",\r\n \"modifier\": \"Sealed\",\r\n \"baseClass\": \"SimpleSchema.EntityClass_Test2\",\r\n \"label\": \"Test3\",\r\n \"description\": \"EntityClass Test3\"\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.EntityClass_Test3\",\r\n \"properties\": {\r\n \"schemaItemType\": \"EntityClass\",\r\n \"baseClass\": \"SimpleSchema.EntityClass_Test2\",\r\n \"label\": \"Test3\",\r\n \"description\": \"EntityClass Test3\"\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.RelationshipClass_Test1\",\r\n \"properties\": {\r\n \"schemaItemType\": \"RelationshipClass\",\r\n \"modifier\": \"Sealed\",\r\n \"baseClass\": \"BisCore.ElementRefersToElements\",\r\n \"label\": \"Test1\",\r\n \"description\": \"RelationshipClass Test1\",\r\n \"strength\": \"Referencing\",\r\n \"strengthDirection\": \"Forward\"\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.RelationshipClass_Test2\",\r\n \"properties\": {\r\n \"schemaItemType\": \"RelationshipClass\",\r\n \"modifier\": \"None\",\r\n \"baseClass\": \"BisCore.ModelModelsElement\",\r\n \"label\": \"Test2\",\r\n \"description\": \"RelationshipClass Test2\",\r\n \"strength\": \"Embedding\",\r\n \"strengthDirection\": \"Backward\"\r\n }\r\n }\r\n ],\r\n \"checkHierachy\": {\r\n \"derivedClass\": \"SimpleSchema.EntityClass_Test3\",\r\n \"baseClass\": \"SimpleSchema.IMixin_Test1\"\r\n },\r\n \"checkFullLoad\": [\r\n {\r\n \"item\": \"SimpleSchema.Format_Decimal\",\r\n \"properties\": {\r\n \"schemaItemType\": \"Format\",\r\n \"label\": \"Test\",\r\n \"description\": \"Format Decimal\",\r\n \"type\": \"Decimal\",\r\n \"precision\": 4,\r\n \"showSignOption\": \"NoSign\",\r\n \"formatTraits\": [\r\n \"KeepSingleZero\",\r\n \"KeepDecimalPoint\"\r\n ],\r\n \"thousandSeparator\": \" \",\r\n \"decimalSeparator\": \",\",\r\n \"minWidth\": 3,\r\n \"roundFactor\": 0.1,\r\n \"composite\": {\r\n \"spacer\": \"\",\r\n \"includeZero\": false,\r\n \"units\": [\r\n {\r\n \"name\": \"Units.G\",\r\n \"label\": \"g\"\r\n },\r\n {\r\n \"name\": \"Units.MG\",\r\n \"label\": \"mg\"\r\n }\r\n ]\r\n }\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.Format_Fractional\",\r\n \"properties\": {\r\n \"schemaItemType\": \"Format\",\r\n \"label\": \"Test\",\r\n \"description\": \"Format Fractional\",\r\n \"type\": \"Fractional\",\r\n \"precision\": 8,\r\n \"formatTraits\": [\r\n \"KeepSingleZero\",\r\n \"ShowUnitLabel\"\r\n ],\r\n \"uomSeparator\": \"\",\r\n \"composite\": {\r\n \"spacer\": \"\",\r\n \"units\": [\r\n {\r\n \"name\": \"SimpleSchema.Unit_Test1\",\r\n \"label\": \"test\"\r\n }\r\n ]\r\n }\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.KindOfQuantity_Test1\",\r\n \"properties\": {\r\n \"schemaItemType\": \"KindOfQuantity\",\r\n \"label\": \"Test1\",\r\n \"description\": \"KindOfQuantity Test1\",\r\n \"relativeError\": 0.001,\r\n \"persistenceUnit\": \"SimpleSchema.Unit_Test1\",\r\n \"presentationUnits\": [\r\n \"SimpleSchema.Format_Fractional(4)[SimpleSchema.Unit_Test1]\"\r\n ]\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.KindOfQuantity_Test2\",\r\n \"properties\": {\r\n \"schemaItemType\": \"KindOfQuantity\",\r\n \"label\": \"Test2\",\r\n \"description\": \"KindOfQuantity Test2\",\r\n \"relativeError\": 0.0001,\r\n \"persistenceUnit\": \"Units.MG\",\r\n \"presentationUnits\": [\r\n \"Formats.DefaultRealU[Units.MG]\",\r\n \"Formats.DefaultRealU(1)[Units.G]\"\r\n ]\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.StructClass_Test1\",\r\n \"properties\": {\r\n \"schemaItemType\": \"StructClass\",\r\n \"modifier\": \"Abstract\",\r\n \"label\": \"Test1\",\r\n \"description\": \"StructClass Test1\",\r\n \"properties\": [\r\n {\r\n \"name\": \"DoubleProperty\",\r\n \"type\": \"PrimitiveProperty\",\r\n \"category\": \"SimpleSchema.Category_Test\",\r\n \"label\": \"Double\",\r\n \"description\": \"Double Property\",\r\n \"typeName\": \"double\"\r\n },\r\n {\r\n \"name\": \"Point3dProperty\",\r\n \"type\": \"PrimitiveProperty\",\r\n \"isReadOnly\": true,\r\n \"label\": \"Point3\",\r\n \"description\": \"Point3 Property\",\r\n \"typeName\": \"point3d\",\r\n \"customAttributes\": [\r\n {\r\n \"className\": \"CoreCustomAttributes.HiddenProperty\"\r\n },\r\n {\r\n \"className\": \"BisCore.CustomHandledProperty\"\r\n }\r\n ]\r\n },\r\n {\r\n \"name\": \"LongArrayProperty\",\r\n \"type\": \"PrimitiveArrayProperty\",\r\n \"minOccurs\": 0,\r\n \"maxOccurs\": 52,\r\n \"label\": \"LongArray\",\r\n \"description\": \"LongArray Property\",\r\n \"typeName\": \"long\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.StructClass_Test2\",\r\n \"properties\": {\r\n \"schemaItemType\": \"StructClass\",\r\n \"modifier\": \"Sealed\",\r\n \"baseClass\": \"SimpleSchema.StructClass_Test1\",\r\n \"label\": \"Test2\",\r\n \"description\": \"StructClass Test2\",\r\n \"customAttributes\": [\r\n {\r\n \"className\": \"BisCore.ClassHasHandler\"\r\n }\r\n ],\r\n \"properties\": [\r\n {\r\n \"name\": \"DateTimeProperty\",\r\n \"type\": \"PrimitiveProperty\",\r\n \"kindOfQuantity\": \"SimpleSchema.KindOfQuantity_Test1\",\r\n \"label\": \"DateTime\",\r\n \"description\": \"DateTime Property\",\r\n \"typeName\": \"dateTime\"\r\n },\r\n {\r\n \"name\": \"BooleanProperty\",\r\n \"type\": \"PrimitiveProperty\",\r\n \"priority\": 1001,\r\n \"label\": \"Boolean\",\r\n \"description\": \"Boolean Property\",\r\n \"typeName\": \"boolean\"\r\n },\r\n {\r\n \"name\": \"StringEnumerationArrayProperty\",\r\n \"type\": \"PrimitiveArrayProperty\",\r\n \"minOccurs\": 0,\r\n \"maxOccurs\": 3,\r\n \"label\": \"StringEnumerationArray\",\r\n \"description\": \"StringEnumerationArray Property\",\r\n \"typeName\": \"SimpleSchema.Enumeration_String\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.CustomAttributeClass_Test1\",\r\n \"properties\": {\r\n \"schemaItemType\": \"CustomAttributeClass\",\r\n \"appliesTo\": \"AnyClass\",\r\n \"modifier\": \"Abstract\",\r\n \"label\": \"Test1\",\r\n \"description\": \"CustomAttributeClass Test1\",\r\n \"properties\": [\r\n {\r\n \"name\": \"StringProperty\",\r\n \"type\": \"PrimitiveProperty\",\r\n \"label\": \"String\",\r\n \"description\": \"String Property\",\r\n \"extendedTypeName\": \"Json\",\r\n \"minLength\": 1,\r\n \"maxLength\": 150,\r\n \"typeName\": \"string\"\r\n },\r\n {\r\n \"name\": \"StructProperty\",\r\n \"type\": \"StructProperty\",\r\n \"label\": \"Struct\",\r\n \"description\": \"Struct Property\",\r\n \"typeName\": \"SimpleSchema.StructClass_Test2\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.CustomAttributeClass_Test2\",\r\n \"properties\": {\r\n \"schemaItemType\": \"CustomAttributeClass\",\r\n \"appliesTo\": \"AnyProperty\",\r\n \"baseClass\": \"BisCore.CustomHandledProperty\",\r\n \"label\": \"Test2\",\r\n \"description\": \"CustomAttributeClass Test2\",\r\n \"customAttributes\": [\r\n {\r\n \"className\": \"SimpleSchema.CustomAttributeClass_Test3\"\r\n }\r\n ],\r\n \"properties\": [\r\n {\r\n \"name\": \"BinaryProperty\",\r\n \"type\": \"PrimitiveProperty\",\r\n \"label\": \"Binary\",\r\n \"description\": \"Binary Property\",\r\n \"typeName\": \"binary\"\r\n },\r\n {\r\n \"name\": \"IntegerArrayProperty\",\r\n \"type\": \"PrimitiveArrayProperty\",\r\n \"minOccurs\": 0,\r\n \"maxOccurs\": 150,\r\n \"maxValue\": 1000,\r\n \"label\": \"IntegerArray\",\r\n \"description\": \"IntegerArray Property\",\r\n \"typeName\": \"int\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.CustomAttributeClass_Test3\",\r\n \"properties\": {\r\n \"schemaItemType\": \"CustomAttributeClass\",\r\n \"modifier\": \"Sealed\",\r\n \"appliesTo\": \"Any\",\r\n \"baseClass\": \"SimpleSchema.CustomAttributeClass_Test1\",\r\n \"label\": \"Test3\",\r\n \"description\": \"CustomAttributeClass Test3\",\r\n \"properties\": [\r\n {\r\n \"name\": \"IntegerProperty\",\r\n \"type\": \"PrimitiveProperty\",\r\n \"minValue\": 1,\r\n \"maxValue\": 101,\r\n \"label\": \"Integer\",\r\n \"description\": \"Integer Property\",\r\n \"typeName\": \"int\",\r\n \"customAttributes\": [\r\n {\r\n \"className\": \"BisCore.AutoHandledProperty\",\r\n \"StatementTypes\": 3\r\n }\r\n ]\r\n },\r\n {\r\n \"name\": \"IntegerEnumerationArray\",\r\n \"type\": \"PrimitiveArrayProperty\",\r\n \"label\": \"IntegerEnumerationArray\",\r\n \"description\": \"IntegerEnumerationArray Property\",\r\n \"minOccurs\": 0,\r\n \"maxOccurs\": 2147483647,\r\n \"typeName\": \"BisCore.SectionType\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.IMixin_Test1\",\r\n \"properties\": {\r\n \"schemaItemType\": \"Mixin\",\r\n \"appliesTo\": \"BisCore.Element\",\r\n \"label\": \"Test1\",\r\n \"description\": \"Mixin Test1\",\r\n \"properties\": [\r\n {\r\n \"name\": \"LongProperty\",\r\n \"type\": \"PrimitiveProperty\",\r\n \"category\": \"SimpleSchema.Category_Test\",\r\n \"label\": \"Long\",\r\n \"description\": \"Long Property\",\r\n \"typeName\": \"long\"\r\n },\r\n {\r\n \"name\": \"BooleanArrayProperty\",\r\n \"type\": \"PrimitiveArrayProperty\",\r\n \"minOccurs\": 1,\r\n \"maxOccurs\": 5,\r\n \"label\": \"BooleanArray\",\r\n \"description\": \"BooleanArray Property\",\r\n \"typeName\": \"boolean\"\r\n }\r\n ],\r\n \"customAttributes\": [\r\n {\r\n \"className\": \"SimpleSchema.CustomAttributeClass_Test3\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.IMixin_Test2\",\r\n \"properties\": {\r\n \"schemaItemType\": \"Mixin\",\r\n \"baseClass\": \"SimpleSchema.IMixin_Test1\",\r\n \"appliesTo\": \"BisCore.PhysicalElement\",\r\n \"label\": \"Test2\",\r\n \"description\": \"Mixin Test2\",\r\n \"properties\": [\r\n {\r\n \"name\": \"IGeometryProperty\",\r\n \"type\": \"PrimitiveProperty\",\r\n \"label\": \"IGeometry\",\r\n \"description\": \"IGeometry Property\",\r\n \"typeName\": \"Bentley.Geometry.Common.IGeometry\",\r\n \"customAttributes\": [\r\n {\r\n \"className\": \"CoreCustomAttributes.Deprecated\",\r\n \"Description\": \"Deprecated renamed property.\"\r\n },\r\n {\r\n \"className\": \"CoreCustomAttributes.HiddenProperty\"\r\n }\r\n ]\r\n },\r\n {\r\n \"name\": \"DoubleArrayProperty\",\r\n \"type\": \"PrimitiveArrayProperty\",\r\n \"minValue\": 0.1,\r\n \"maxValue\": 9.9,\r\n \"maxOccurs\": 10,\r\n \"minOccurs\": 2,\r\n \"label\": \"DoubleArray\",\r\n \"description\": \"DoubleArray Property\",\r\n \"typeName\": \"double\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.EntityClass_Test3\",\r\n \"properties\": {\r\n \"schemaItemType\": \"EntityClass\",\r\n \"modifier\": \"Sealed\",\r\n \"baseClass\": \"SimpleSchema.EntityClass_Test2\",\r\n \"label\": \"Test3\",\r\n \"description\": \"EntityClass Test3\",\r\n \"properties\": [\r\n {\r\n \"name\": \"StringEnumerationProperty\",\r\n \"type\": \"PrimitiveProperty\",\r\n \"label\": \"StringEnumeration\",\r\n \"description\": \"StringEnumeration Property\",\r\n \"typeName\": \"CoreCustomAttributes.ProductionStatusValue\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"item\": \"SimpleSchema.RelationshipClass_Test1\",\r\n \"properties\": {\r\n \"schemaItemType\": \"RelationshipClass\",\r\n \"modifier\": \"Sealed\",\r\n \"baseClass\": \"BisCore.ElementRefersToElements\",\r\n \"label\": \"Test1\",\r\n \"description\": \"RelationshipClass Test1\",\r\n \"strength\": \"Referencing\",\r\n \"strengthDirection\": \"Forward\",\r\n \"customAttributes\": [\r\n {\r\n \"className\": \"CoreCustomAttributes.HiddenClass\",\r\n \"Show\": false\r\n }\r\n ],\r\n \"properties\": [\r\n {\r\n \"name\": \"Point2dArrayProperty\",\r\n \"type\": \"PrimitiveArrayProperty\",\r\n \"minOccurs\": 5,\r\n \"maxOccurs\": 75,\r\n \"label\": \"Point2dArray\",\r\n \"description\": \"Point2dArray Property\",\r\n \"typeName\": \"point2d\"\r\n },\r\n {\r\n \"name\": \"Point3dArrayProperty\",\r\n \"type\": \"PrimitiveArrayProperty\",\r\n \"minOccurs\": 3,\r\n \"maxOccurs\": 13,\r\n \"label\": \"Point3dArray\",\r\n \"description\": \"Point3dArray Property\",\r\n \"typeName\": \"point3d\"\r\n }\r\n ],\r\n \"source\": {\r\n \"multiplicity\": \"(0..*)\",\r\n \"roleLabel\": \"refers to\",\r\n \"polymorphic\": true,\r\n \"abstractConstraint\": \"BisCore.Element\",\r\n \"constraintClasses\": [\r\n \"BisCore.Element\"\r\n ],\r\n \"customAttributes\": [\r\n {\r\n \"className\": \"SimpleSchema.CustomAttributeClass_Test4\",\r\n \"StringProperty\": \"Source\"\r\n }\r\n ]\r\n },\r\n \"target\": {\r\n \"multiplicity\": \"(0..*)\",\r\n \"roleLabel\": \"is referenced by\",\r\n \"polymorphic\": true,\r\n \"abstractConstraint\": \"BisCore.Element\",\r\n \"constraintClasses\": [\r\n \"BisCore.Element\"\r\n ],\r\n \"customAttributes\": [\r\n {\r\n \"className\": \"SimpleSchema.CustomAttributeClass_Test4\",\r\n \"StringProperty\": \"Target\"\r\n }\r\n ]\r\n }\r\n }\r\n },\r\n {\r\n \"item\": \"BisCore.Drawing\",\r\n \"properties\": {\r\n \"schemaItemType\": \"EntityClass\",\r\n \"baseClass\": \"BisCore.Document\",\r\n \"description\": \"A bis:Drawing is a bis:Document of a 2D drawing.\",\r\n \"customAttributes\": [\r\n {\r\n \"className\": \"BisCore.ClassHasHandler\"\r\n }\r\n ],\r\n \"mixins\": [\r\n \"BisCore.ISubModeledElement\"\r\n ]\r\n }\r\n }\r\n ]\r\n }\r\n ]\r\n}"]}
|
|
@@ -160,5 +160,44 @@ describe("ConcurrentQuery", () => {
|
|
|
160
160
|
expect(queueResponses.length).to.be.greaterThanOrEqual(10);
|
|
161
161
|
db.close();
|
|
162
162
|
});
|
|
163
|
+
it("should handle concurrent queries during shutdown without deadlock", async () => {
|
|
164
|
+
const testFile = IModelTestUtils.resolveAssetFile("test.bim");
|
|
165
|
+
const iModelDb = SnapshotDb.openFile(testFile);
|
|
166
|
+
// Configure for maximum contention
|
|
167
|
+
const config = {
|
|
168
|
+
requestQueueSize: 1000,
|
|
169
|
+
statementCacheSizePerWorker: 1, // Force frequent prepare calls
|
|
170
|
+
doNotUsePrimaryConnToPrepare: false, // Force primary connection usage
|
|
171
|
+
};
|
|
172
|
+
// Reset configuration
|
|
173
|
+
ConcurrentQuery.resetConfig(iModelDb[_nativeDb], config);
|
|
174
|
+
const promises = [];
|
|
175
|
+
let shouldStop = false;
|
|
176
|
+
const spam = async () => {
|
|
177
|
+
while (!shouldStop) {
|
|
178
|
+
// Use random numbers to prevent query caching
|
|
179
|
+
const query = `
|
|
180
|
+
WITH sequence(n,k) AS (
|
|
181
|
+
SELECT 1,1 UNION ALL SELECT n + 1, random() FROM sequence WHERE n < 10000000
|
|
182
|
+
) SELECT COUNT(*) FROM sequence s
|
|
183
|
+
`;
|
|
184
|
+
const request = { query };
|
|
185
|
+
const p = ConcurrentQuery.executeQueryRequest(iModelDb[_nativeDb], request);
|
|
186
|
+
promises.push(p);
|
|
187
|
+
await new Promise(resolve => setImmediate(resolve));
|
|
188
|
+
}
|
|
189
|
+
};
|
|
190
|
+
// Start spamming simple queries to increase contention
|
|
191
|
+
promises.push(spam());
|
|
192
|
+
// Let queries start and establish contention
|
|
193
|
+
await new Promise(resolve => setTimeout(resolve, 1));
|
|
194
|
+
ConcurrentQuery.shutdown(iModelDb[_nativeDb]);
|
|
195
|
+
shouldStop = true;
|
|
196
|
+
// Wait for all promises to complete
|
|
197
|
+
await Promise.allSettled(promises);
|
|
198
|
+
// Restore original config by resetting to default
|
|
199
|
+
ConcurrentQuery.resetConfig(iModelDb[_nativeDb], {});
|
|
200
|
+
iModelDb.close();
|
|
201
|
+
});
|
|
163
202
|
});
|
|
164
203
|
//# sourceMappingURL=ConcurrentQuery.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConcurrentQuery.test.js","sourceRoot":"","sources":["../../../../src/test/ecdb/ConcurrentQuery.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { DbQueryRequest, DbQueryResponse, DbResponseStatus } from \"@itwin/core-common\";\r\nimport { expect } from \"chai\";\r\nimport { ConcurrentQuery } from \"../../ConcurrentQuery\";\r\nimport { SnapshotDb } from \"../../IModelDb\";\r\nimport { _nativeDb } from \"../../core-backend\";\r\nimport { IModelTestUtils } from \"../IModelTestUtils\";\r\n\r\nasync function delay(ms: number): Promise<void> {\r\n return new Promise(resolve => {\r\n setTimeout(resolve, ms);\r\n });\r\n}\r\n\r\ndescribe(\"ConcurrentQuery\", () => {\r\n it(\"default config\", () => {\r\n const testFile = IModelTestUtils.resolveAssetFile(\"test.bim\");\r\n const db = SnapshotDb.openFile(testFile);\r\n const defaultConfig = {\r\n autoShutdownWhenIdleForSeconds: 1800,\r\n doNotUsePrimaryConnToPrepare: false,\r\n globalQuota: { time: 60, memory: 8388608 },\r\n ignoreDelay: true,\r\n ignorePriority: false,\r\n memoryMapFileSize: 0,\r\n monitorPollInterval: 5000,\r\n progressOpCount: 5000,\r\n requestQueueSize: 2000,\r\n statementCacheSizePerWorker: 40,\r\n workerThreads: 4,\r\n };\r\n const config = ConcurrentQuery.resetConfig(db[_nativeDb], {});\r\n expect(config).deep.eq(defaultConfig);\r\n db.close();\r\n });\r\n\r\n it(\"modify config\", () => {\r\n const testFile = IModelTestUtils.resolveAssetFile(\"test.bim\");\r\n const db = SnapshotDb.openFile(testFile);\r\n const modifiedConfig = {\r\n autoShutdownWhenIdleForSeconds: 100,\r\n doNotUsePrimaryConnToPrepare: true,\r\n globalQuota: { time: 10, memory: 1000000 },\r\n ignoreDelay: false,\r\n ignorePriority: true,\r\n memoryMapFileSize: 100,\r\n monitorPollInterval: 2000,\r\n progressOpCount: 6000,\r\n requestQueueSize: 1000,\r\n statementCacheSizePerWorker: 20,\r\n workerThreads: 3,\r\n };\r\n const config = ConcurrentQuery.resetConfig(db[_nativeDb], modifiedConfig);\r\n expect(config).deep.eq(modifiedConfig);\r\n db.close();\r\n });\r\n\r\n it(\"time limit check\", async () => {\r\n const testFile = IModelTestUtils.resolveAssetFile(\"test.bim\");\r\n const db = SnapshotDb.openFile(testFile);\r\n ConcurrentQuery.resetConfig(db[_nativeDb], { globalQuota: { time: 1, memory: 100000 }, progressOpCount: 1000 });\r\n // await runSingleRequest(db, `SELECT 1`);\r\n const req: DbQueryRequest = {\r\n query: `WITH sequence(n,k) AS (\r\n SELECT 1,1 UNION ALL SELECT n + 1, random() FROM sequence WHERE n < 10000000\r\n ) SELECT COUNT(*) FROM sequence s`\r\n };\r\n\r\n const resp = await ConcurrentQuery.executeQueryRequest(db[_nativeDb], req);\r\n expect(resp.status).equals(DbResponseStatus.Partial);\r\n expect(resp.stats.timeLimit).equals(1000);\r\n expect(resp.stats.memLimit).equals(100000);\r\n expect(resp.stats.cpuTime).to.be.closeTo(1000970, 500000);\r\n expect(resp.stats.totalTime).to.be.closeTo(1001, 100);\r\n expect(resp.stats.memUsed).to.be.closeTo(2, 3);\r\n expect(resp.stats.prepareTime).to.be.closeTo(0, 2);\r\n db.close();\r\n });\r\n\r\n it(\"memory limit check\", async () => {\r\n const testFile = IModelTestUtils.resolveAssetFile(\"test.bim\");\r\n const db = SnapshotDb.openFile(testFile);\r\n ConcurrentQuery.resetConfig(db[_nativeDb], { globalQuota: { time: 60, memory: 1000 }, progressOpCount: 1000 });\r\n // await runSingleRequest(db, `SELECT 1`);\r\n const req: DbQueryRequest = {\r\n query: `WITH sequence(n) AS (\r\n SELECT 1\r\n UNION ALL\r\n SELECT n + 1 FROM sequence WHERE n < 10000000\r\n )\r\n SELECT 'xxxxxxxxxx-xxxxxxxxxx-xxxxxxxxxx' FROM sequence s`\r\n };\r\n\r\n const resp = await ConcurrentQuery.executeQueryRequest(db[_nativeDb], req);\r\n expect(resp.status).equals(DbResponseStatus.Partial);\r\n expect(resp.stats.timeLimit).equals(60000);\r\n expect(resp.stats.memLimit).equals(1000);\r\n expect(resp.stats.memUsed).to.be.closeTo(1037, 100);\r\n db.close();\r\n });\r\n\r\n it(\"prepare error\", async () => {\r\n const testFile = IModelTestUtils.resolveAssetFile(\"test.bim\");\r\n const db = SnapshotDb.openFile(testFile);\r\n const req: DbQueryRequest = {\r\n query: `xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`\r\n };\r\n\r\n const resp = await ConcurrentQuery.executeQueryRequest(db[_nativeDb], req);\r\n expect(resp.status).equals(DbResponseStatus.Error_ECSql_PreparedFailed);\r\n db.close();\r\n });\r\n\r\n it.skip(\"restart query #flaky\", async () => {\r\n const testFile = IModelTestUtils.resolveAssetFile(\"test.bim\");\r\n const db = SnapshotDb.openFile(testFile);\r\n ConcurrentQuery.resetConfig(db[_nativeDb], { globalQuota: { time: 60, memory: 10000000 }, progressOpCount: 1000 });\r\n const req0: DbQueryRequest = {\r\n query: `WITH sequence(n) AS (\r\n SELECT 1 UNION ALL SELECT n + 1 FROM sequence WHERE n < 10000000\r\n ) SELECT n FROM sequence s`,\r\n restartToken: \"Blah\",\r\n };\r\n\r\n const req1: DbQueryRequest = {\r\n query: `WITH sequence(n) AS (\r\n SELECT 1 UNION ALL SELECT n + 1 FROM sequence WHERE n < 1000\r\n ) SELECT n FROM sequence s`,\r\n restartToken: \"Blah\",\r\n };\r\n\r\n const resp1 = ConcurrentQuery.executeQueryRequest(db[_nativeDb], req0);\r\n await delay(1);\r\n const resp2 = ConcurrentQuery.executeQueryRequest(db[_nativeDb], req1);\r\n const resp = await Promise.all([resp1, resp2]);\r\n expect(resp[0].status).equals(DbResponseStatus.Cancel); // can result in DbResponseStatus.Partial instead of DbResponseStatus.Cancel\r\n expect(resp[1].status).equals(DbResponseStatus.Done);\r\n db.close();\r\n });\r\n\r\n it(\"queue limit check\", async () => {\r\n const testFile = IModelTestUtils.resolveAssetFile(\"test.bim\");\r\n const db = SnapshotDb.openFile(testFile);\r\n ConcurrentQuery.resetConfig(db[_nativeDb], { requestQueueSize: 40, globalQuota: { time: 5, memory: 100000 } });\r\n const req: DbQueryRequest = {\r\n query: `WITH sequence(n) AS (\r\n SELECT 1 UNION ALL SELECT n + 1 FROM sequence WHERE n < 10000000\r\n ) SELECT n FROM sequence s`,\r\n };\r\n\r\n const responsePromises: Promise<DbQueryResponse>[] = [];\r\n for (let i = 0; i < 60; ++i) {\r\n responsePromises.push(ConcurrentQuery.executeQueryRequest(db[_nativeDb], req));\r\n }\r\n const responses = await Promise.all(responsePromises);\r\n const queueResponses = Array.from(responses.filter((x) => x.status === DbResponseStatus.QueueFull));\r\n expect(queueResponses.length).to.be.greaterThanOrEqual(10);\r\n db.close();\r\n });\r\n\r\n it(\"timeout check\", async () => {\r\n const testFile = IModelTestUtils.resolveAssetFile(\"test.bim\");\r\n const db = SnapshotDb.openFile(testFile);\r\n ConcurrentQuery.resetConfig(db[_nativeDb], { monitorPollInterval: 1, globalQuota: { time: 5, memory: 10000000 } });\r\n const req: DbQueryRequest = {\r\n query: `WITH sequence(n) AS (\r\n SELECT 1 UNION ALL SELECT n + 1 FROM sequence WHERE n < 10000000\r\n ) SELECT n FROM sequence s`,\r\n };\r\n\r\n const responsePromises: Promise<DbQueryResponse>[] = [];\r\n for (let i = 0; i < 100; ++i) {\r\n responsePromises.push(ConcurrentQuery.executeQueryRequest(db[_nativeDb], req));\r\n }\r\n const responses = await Promise.all(responsePromises);\r\n const queueResponses = Array.from(responses.filter((x) => x.status === DbResponseStatus.Timeout));\r\n expect(queueResponses.length).to.be.greaterThanOrEqual(10);\r\n db.close();\r\n });\r\n});\r\n"]}
|
|
1
|
+
{"version":3,"file":"ConcurrentQuery.test.js","sourceRoot":"","sources":["../../../../src/test/ecdb/ConcurrentQuery.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { DbQueryRequest, DbQueryResponse, DbResponseStatus } from \"@itwin/core-common\";\r\nimport { expect } from \"chai\";\r\nimport { ConcurrentQuery } from \"../../ConcurrentQuery\";\r\nimport { SnapshotDb } from \"../../IModelDb\";\r\nimport { _nativeDb } from \"../../core-backend\";\r\nimport { IModelTestUtils } from \"../IModelTestUtils\";\r\n\r\nasync function delay(ms: number): Promise<void> {\r\n return new Promise(resolve => {\r\n setTimeout(resolve, ms);\r\n });\r\n}\r\n\r\ndescribe(\"ConcurrentQuery\", () => {\r\n it(\"default config\", () => {\r\n const testFile = IModelTestUtils.resolveAssetFile(\"test.bim\");\r\n const db = SnapshotDb.openFile(testFile);\r\n const defaultConfig = {\r\n autoShutdownWhenIdleForSeconds: 1800,\r\n doNotUsePrimaryConnToPrepare: false,\r\n globalQuota: { time: 60, memory: 8388608 },\r\n ignoreDelay: true,\r\n ignorePriority: false,\r\n memoryMapFileSize: 0,\r\n monitorPollInterval: 5000,\r\n progressOpCount: 5000,\r\n requestQueueSize: 2000,\r\n statementCacheSizePerWorker: 40,\r\n workerThreads: 4,\r\n };\r\n const config = ConcurrentQuery.resetConfig(db[_nativeDb], {});\r\n expect(config).deep.eq(defaultConfig);\r\n db.close();\r\n });\r\n\r\n it(\"modify config\", () => {\r\n const testFile = IModelTestUtils.resolveAssetFile(\"test.bim\");\r\n const db = SnapshotDb.openFile(testFile);\r\n const modifiedConfig = {\r\n autoShutdownWhenIdleForSeconds: 100,\r\n doNotUsePrimaryConnToPrepare: true,\r\n globalQuota: { time: 10, memory: 1000000 },\r\n ignoreDelay: false,\r\n ignorePriority: true,\r\n memoryMapFileSize: 100,\r\n monitorPollInterval: 2000,\r\n progressOpCount: 6000,\r\n requestQueueSize: 1000,\r\n statementCacheSizePerWorker: 20,\r\n workerThreads: 3,\r\n };\r\n const config = ConcurrentQuery.resetConfig(db[_nativeDb], modifiedConfig);\r\n expect(config).deep.eq(modifiedConfig);\r\n db.close();\r\n });\r\n\r\n it(\"time limit check\", async () => {\r\n const testFile = IModelTestUtils.resolveAssetFile(\"test.bim\");\r\n const db = SnapshotDb.openFile(testFile);\r\n ConcurrentQuery.resetConfig(db[_nativeDb], { globalQuota: { time: 1, memory: 100000 }, progressOpCount: 1000 });\r\n // await runSingleRequest(db, `SELECT 1`);\r\n const req: DbQueryRequest = {\r\n query: `WITH sequence(n,k) AS (\r\n SELECT 1,1 UNION ALL SELECT n + 1, random() FROM sequence WHERE n < 10000000\r\n ) SELECT COUNT(*) FROM sequence s`\r\n };\r\n\r\n const resp = await ConcurrentQuery.executeQueryRequest(db[_nativeDb], req);\r\n expect(resp.status).equals(DbResponseStatus.Partial);\r\n expect(resp.stats.timeLimit).equals(1000);\r\n expect(resp.stats.memLimit).equals(100000);\r\n expect(resp.stats.cpuTime).to.be.closeTo(1000970, 500000);\r\n expect(resp.stats.totalTime).to.be.closeTo(1001, 100);\r\n expect(resp.stats.memUsed).to.be.closeTo(2, 3);\r\n expect(resp.stats.prepareTime).to.be.closeTo(0, 2);\r\n db.close();\r\n });\r\n\r\n it(\"memory limit check\", async () => {\r\n const testFile = IModelTestUtils.resolveAssetFile(\"test.bim\");\r\n const db = SnapshotDb.openFile(testFile);\r\n ConcurrentQuery.resetConfig(db[_nativeDb], { globalQuota: { time: 60, memory: 1000 }, progressOpCount: 1000 });\r\n // await runSingleRequest(db, `SELECT 1`);\r\n const req: DbQueryRequest = {\r\n query: `WITH sequence(n) AS (\r\n SELECT 1\r\n UNION ALL\r\n SELECT n + 1 FROM sequence WHERE n < 10000000\r\n )\r\n SELECT 'xxxxxxxxxx-xxxxxxxxxx-xxxxxxxxxx' FROM sequence s`\r\n };\r\n\r\n const resp = await ConcurrentQuery.executeQueryRequest(db[_nativeDb], req);\r\n expect(resp.status).equals(DbResponseStatus.Partial);\r\n expect(resp.stats.timeLimit).equals(60000);\r\n expect(resp.stats.memLimit).equals(1000);\r\n expect(resp.stats.memUsed).to.be.closeTo(1037, 100);\r\n db.close();\r\n });\r\n\r\n it(\"prepare error\", async () => {\r\n const testFile = IModelTestUtils.resolveAssetFile(\"test.bim\");\r\n const db = SnapshotDb.openFile(testFile);\r\n const req: DbQueryRequest = {\r\n query: `xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`\r\n };\r\n\r\n const resp = await ConcurrentQuery.executeQueryRequest(db[_nativeDb], req);\r\n expect(resp.status).equals(DbResponseStatus.Error_ECSql_PreparedFailed);\r\n db.close();\r\n });\r\n\r\n it.skip(\"restart query #flaky\", async () => {\r\n const testFile = IModelTestUtils.resolveAssetFile(\"test.bim\");\r\n const db = SnapshotDb.openFile(testFile);\r\n ConcurrentQuery.resetConfig(db[_nativeDb], { globalQuota: { time: 60, memory: 10000000 }, progressOpCount: 1000 });\r\n const req0: DbQueryRequest = {\r\n query: `WITH sequence(n) AS (\r\n SELECT 1 UNION ALL SELECT n + 1 FROM sequence WHERE n < 10000000\r\n ) SELECT n FROM sequence s`,\r\n restartToken: \"Blah\",\r\n };\r\n\r\n const req1: DbQueryRequest = {\r\n query: `WITH sequence(n) AS (\r\n SELECT 1 UNION ALL SELECT n + 1 FROM sequence WHERE n < 1000\r\n ) SELECT n FROM sequence s`,\r\n restartToken: \"Blah\",\r\n };\r\n\r\n const resp1 = ConcurrentQuery.executeQueryRequest(db[_nativeDb], req0);\r\n await delay(1);\r\n const resp2 = ConcurrentQuery.executeQueryRequest(db[_nativeDb], req1);\r\n const resp = await Promise.all([resp1, resp2]);\r\n expect(resp[0].status).equals(DbResponseStatus.Cancel); // can result in DbResponseStatus.Partial instead of DbResponseStatus.Cancel\r\n expect(resp[1].status).equals(DbResponseStatus.Done);\r\n db.close();\r\n });\r\n\r\n it(\"queue limit check\", async () => {\r\n const testFile = IModelTestUtils.resolveAssetFile(\"test.bim\");\r\n const db = SnapshotDb.openFile(testFile);\r\n ConcurrentQuery.resetConfig(db[_nativeDb], { requestQueueSize: 40, globalQuota: { time: 5, memory: 100000 } });\r\n const req: DbQueryRequest = {\r\n query: `WITH sequence(n) AS (\r\n SELECT 1 UNION ALL SELECT n + 1 FROM sequence WHERE n < 10000000\r\n ) SELECT n FROM sequence s`,\r\n };\r\n\r\n const responsePromises: Promise<DbQueryResponse>[] = [];\r\n for (let i = 0; i < 60; ++i) {\r\n responsePromises.push(ConcurrentQuery.executeQueryRequest(db[_nativeDb], req));\r\n }\r\n const responses = await Promise.all(responsePromises);\r\n const queueResponses = Array.from(responses.filter((x) => x.status === DbResponseStatus.QueueFull));\r\n expect(queueResponses.length).to.be.greaterThanOrEqual(10);\r\n db.close();\r\n });\r\n\r\n it(\"timeout check\", async () => {\r\n const testFile = IModelTestUtils.resolveAssetFile(\"test.bim\");\r\n const db = SnapshotDb.openFile(testFile);\r\n ConcurrentQuery.resetConfig(db[_nativeDb], { monitorPollInterval: 1, globalQuota: { time: 5, memory: 10000000 } });\r\n const req: DbQueryRequest = {\r\n query: `WITH sequence(n) AS (\r\n SELECT 1 UNION ALL SELECT n + 1 FROM sequence WHERE n < 10000000\r\n ) SELECT n FROM sequence s`,\r\n };\r\n\r\n const responsePromises: Promise<DbQueryResponse>[] = [];\r\n for (let i = 0; i < 100; ++i) {\r\n responsePromises.push(ConcurrentQuery.executeQueryRequest(db[_nativeDb], req));\r\n }\r\n const responses = await Promise.all(responsePromises);\r\n const queueResponses = Array.from(responses.filter((x) => x.status === DbResponseStatus.Timeout));\r\n expect(queueResponses.length).to.be.greaterThanOrEqual(10);\r\n db.close();\r\n });\r\n\r\n it(\"should handle concurrent queries during shutdown without deadlock\", async () => {\r\n const testFile = IModelTestUtils.resolveAssetFile(\"test.bim\");\r\n const iModelDb = SnapshotDb.openFile(testFile);\r\n // Configure for maximum contention\r\n const config = {\r\n requestQueueSize: 1000,\r\n statementCacheSizePerWorker: 1, // Force frequent prepare calls\r\n doNotUsePrimaryConnToPrepare: false, // Force primary connection usage\r\n };\r\n\r\n // Reset configuration\r\n ConcurrentQuery.resetConfig(iModelDb[_nativeDb], config);\r\n\r\n const promises: Promise<any>[] = [];\r\n let shouldStop = false;\r\n\r\n const spam = async () => {\r\n while (!shouldStop) {\r\n // Use random numbers to prevent query caching\r\n const query = `\r\n WITH sequence(n,k) AS (\r\n SELECT 1,1 UNION ALL SELECT n + 1, random() FROM sequence WHERE n < 10000000\r\n ) SELECT COUNT(*) FROM sequence s\r\n `;\r\n const request: DbQueryRequest = { query };\r\n const p = ConcurrentQuery.executeQueryRequest(iModelDb[_nativeDb], request);\r\n promises.push(p);\r\n await new Promise(resolve => setImmediate(resolve));\r\n }\r\n };\r\n\r\n // Start spamming simple queries to increase contention\r\n promises.push(spam());\r\n // Let queries start and establish contention\r\n await new Promise(resolve => setTimeout(resolve, 1));\r\n\r\n ConcurrentQuery.shutdown(iModelDb[_nativeDb]);\r\n\r\n shouldStop = true;\r\n\r\n // Wait for all promises to complete\r\n await Promise.allSettled(promises);\r\n\r\n // Restore original config by resetting to default\r\n ConcurrentQuery.resetConfig(iModelDb[_nativeDb], {});\r\n iModelDb.close();\r\n });\r\n});\r\n"]}
|
|
@@ -70,7 +70,7 @@ import { IModelTestUtils } from "../IModelTestUtils";
|
|
|
70
70
|
import { DisableNativeAssertions } from "../TestUtils";
|
|
71
71
|
import { samplePngTexture } from "../imageData";
|
|
72
72
|
import { performance } from "perf_hooks";
|
|
73
|
-
import { _hubAccess } from "../../internal/Symbols";
|
|
73
|
+
import { _cache, _hubAccess, _instanceKeyCache } from "../../internal/Symbols";
|
|
74
74
|
import { CustomAttributeClass, ECVersion, EntityClass, PropertyType, propertyTypeToString, SchemaItemType } from "@itwin/ecschema-metadata";
|
|
75
75
|
// spell-checker: disable
|
|
76
76
|
async function getIModelError(promise) {
|
|
@@ -1397,7 +1397,7 @@ describe("iModel", () => {
|
|
|
1397
1397
|
});
|
|
1398
1398
|
it("should create link table relationship instances", () => {
|
|
1399
1399
|
const snapshotFile2 = IModelTestUtils.prepareOutputFile("IModel", "CreateLinkTable.bim");
|
|
1400
|
-
const testImodel = StandaloneDb.createEmpty(snapshotFile2, { rootSubject: { name: "test1" },
|
|
1400
|
+
const testImodel = StandaloneDb.createEmpty(snapshotFile2, { rootSubject: { name: "test1" }, enableTransactions: true });
|
|
1401
1401
|
const elements = testImodel.elements;
|
|
1402
1402
|
// Create a new physical model
|
|
1403
1403
|
const newModelId = PhysicalModel.insert(testImodel, IModel.rootSubjectId, "TestModel");
|
|
@@ -2204,6 +2204,35 @@ describe("iModel", () => {
|
|
|
2204
2204
|
db.abandonChanges();
|
|
2205
2205
|
db.close();
|
|
2206
2206
|
});
|
|
2207
|
+
it("Only instance caches should be cleared with clearCaches instanceCachesOnly parameter", () => {
|
|
2208
|
+
const standaloneFile = IModelTestUtils.prepareOutputFile("IModel", "StandaloneReadWrite.bim");
|
|
2209
|
+
const db = StandaloneDb.createEmpty(standaloneFile, { rootSubject: { name: "Standalone" } });
|
|
2210
|
+
db.saveChanges();
|
|
2211
|
+
const code = Code.createEmpty();
|
|
2212
|
+
code.value = "foo";
|
|
2213
|
+
const props = {
|
|
2214
|
+
classFullName: GenericGraphicalType2d.classFullName,
|
|
2215
|
+
model: IModel.dictionaryId,
|
|
2216
|
+
code,
|
|
2217
|
+
};
|
|
2218
|
+
const id = db.elements.insertElement(props);
|
|
2219
|
+
db.elements.getElementProps(id);
|
|
2220
|
+
db.models.getModelProps(IModel.dictionaryId);
|
|
2221
|
+
expect(db.elements[_cache].size).to.be.greaterThan(0);
|
|
2222
|
+
expect(db.models[_cache].size).to.be.greaterThan(0);
|
|
2223
|
+
expect(db.elements[_instanceKeyCache].size).to.be.greaterThan(0);
|
|
2224
|
+
expect(db.models[_instanceKeyCache].size).to.be.greaterThan(0);
|
|
2225
|
+
db.clearCaches({ instanceCachesOnly: true });
|
|
2226
|
+
expect(db.elements[_cache].size).to.equal(0);
|
|
2227
|
+
expect(db.models[_cache].size).to.equal(0);
|
|
2228
|
+
expect(db.elements[_instanceKeyCache].size).to.equal(0);
|
|
2229
|
+
expect(db.models[_instanceKeyCache].size).to.equal(0);
|
|
2230
|
+
// Make sure that the statement caches are not cleared
|
|
2231
|
+
expect(db._sqliteStatementCache.size).to.be.greaterThan(0);
|
|
2232
|
+
expect(db._statementCache.size).to.be.greaterThan(0);
|
|
2233
|
+
db.abandonChanges();
|
|
2234
|
+
db.close();
|
|
2235
|
+
});
|
|
2207
2236
|
it("Standalone iModel properties", () => {
|
|
2208
2237
|
const standaloneRootSubjectName = "Standalone";
|
|
2209
2238
|
const standaloneFile1 = IModelTestUtils.prepareOutputFile("IModel", "Standalone1.bim");
|