@itwin/ecschema-metadata 5.2.0-dev.8 → 5.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +46 -1
- package/lib/cjs/Constants.js.map +1 -1
- package/lib/cjs/DelayedPromise.js.map +1 -1
- package/lib/cjs/Deserialization/AbstractParser.js.map +1 -1
- package/lib/cjs/Deserialization/Helper.js.map +1 -1
- package/lib/cjs/Deserialization/JsonParser.js.map +1 -1
- package/lib/cjs/Deserialization/JsonProps.d.ts +9 -2
- package/lib/cjs/Deserialization/JsonProps.d.ts.map +1 -1
- package/lib/cjs/Deserialization/JsonProps.js.map +1 -1
- package/lib/cjs/Deserialization/SchemaGraphUtil.js.map +1 -1
- package/lib/cjs/Deserialization/XmlParser.js.map +1 -1
- package/lib/cjs/Deserialization/XmlSerializationUtils.js.map +1 -1
- package/lib/cjs/ECName.js.map +1 -1
- package/lib/cjs/ECObjects.js.map +1 -1
- package/lib/cjs/Exception.js.map +1 -1
- package/lib/cjs/Formatting/FormatSetFormatsProvider.d.ts +37 -0
- package/lib/cjs/Formatting/FormatSetFormatsProvider.d.ts.map +1 -0
- package/lib/cjs/Formatting/FormatSetFormatsProvider.js +58 -0
- package/lib/cjs/Formatting/FormatSetFormatsProvider.js.map +1 -0
- package/lib/cjs/{SchemaFormatsProvider.d.ts → Formatting/SchemaFormatsProvider.d.ts} +1 -1
- package/lib/cjs/Formatting/SchemaFormatsProvider.d.ts.map +1 -0
- package/lib/cjs/{SchemaFormatsProvider.js → Formatting/SchemaFormatsProvider.js} +6 -6
- package/lib/cjs/Formatting/SchemaFormatsProvider.js.map +1 -0
- package/lib/cjs/IncrementalLoading/ClassParsers.js.map +1 -1
- package/lib/cjs/IncrementalLoading/ECSqlSchemaLocater.d.ts +18 -24
- package/lib/cjs/IncrementalLoading/ECSqlSchemaLocater.d.ts.map +1 -1
- package/lib/cjs/IncrementalLoading/ECSqlSchemaLocater.js +62 -34
- package/lib/cjs/IncrementalLoading/ECSqlSchemaLocater.js.map +1 -1
- package/lib/cjs/IncrementalLoading/FullSchemaQueries.d.ts.map +1 -1
- package/lib/cjs/IncrementalLoading/FullSchemaQueries.js +466 -465
- package/lib/cjs/IncrementalLoading/FullSchemaQueries.js.map +1 -1
- package/lib/cjs/IncrementalLoading/IncrementalSchemaLocater.d.ts +20 -3
- package/lib/cjs/IncrementalLoading/IncrementalSchemaLocater.d.ts.map +1 -1
- package/lib/cjs/IncrementalLoading/IncrementalSchemaLocater.js +7 -4
- package/lib/cjs/IncrementalLoading/IncrementalSchemaLocater.js.map +1 -1
- package/lib/cjs/IncrementalLoading/IncrementalSchemaReader.d.ts.map +1 -1
- package/lib/cjs/IncrementalLoading/IncrementalSchemaReader.js +2 -7
- package/lib/cjs/IncrementalLoading/IncrementalSchemaReader.js.map +1 -1
- package/lib/cjs/IncrementalLoading/SchemaItemParsers.d.ts +4 -4
- package/lib/cjs/IncrementalLoading/SchemaItemParsers.d.ts.map +1 -1
- package/lib/cjs/IncrementalLoading/SchemaItemParsers.js +17 -17
- package/lib/cjs/IncrementalLoading/SchemaItemParsers.js.map +1 -1
- package/lib/cjs/IncrementalLoading/SchemaItemQueries.js +235 -235
- package/lib/cjs/IncrementalLoading/SchemaItemQueries.js.map +1 -1
- package/lib/cjs/IncrementalLoading/SchemaParser.d.ts +10 -4
- package/lib/cjs/IncrementalLoading/SchemaParser.d.ts.map +1 -1
- package/lib/cjs/IncrementalLoading/SchemaParser.js +19 -19
- package/lib/cjs/IncrementalLoading/SchemaParser.js.map +1 -1
- package/lib/cjs/IncrementalLoading/SchemaStubQueries.d.ts.map +1 -1
- package/lib/cjs/IncrementalLoading/SchemaStubQueries.js +309 -326
- package/lib/cjs/IncrementalLoading/SchemaStubQueries.js.map +1 -1
- package/lib/cjs/Interfaces.js.map +1 -1
- package/lib/cjs/Metadata/Class.js.map +1 -1
- package/lib/cjs/Metadata/Constant.js.map +1 -1
- package/lib/cjs/Metadata/CustomAttribute.js.map +1 -1
- package/lib/cjs/Metadata/CustomAttributeClass.js.map +1 -1
- package/lib/cjs/Metadata/EntityClass.js +1 -1
- package/lib/cjs/Metadata/EntityClass.js.map +1 -1
- package/lib/cjs/Metadata/Enumeration.js.map +1 -1
- package/lib/cjs/Metadata/Format.js.map +1 -1
- package/lib/cjs/Metadata/InvertedUnit.js.map +1 -1
- package/lib/cjs/Metadata/KindOfQuantity.d.ts.map +1 -1
- package/lib/cjs/Metadata/KindOfQuantity.js +9 -22
- package/lib/cjs/Metadata/KindOfQuantity.js.map +1 -1
- package/lib/cjs/Metadata/Mixin.js.map +1 -1
- package/lib/cjs/Metadata/OverrideFormat.js.map +1 -1
- package/lib/cjs/Metadata/Phenomenon.js.map +1 -1
- package/lib/cjs/Metadata/Property.js.map +1 -1
- package/lib/cjs/Metadata/PropertyCategory.js.map +1 -1
- package/lib/cjs/Metadata/RelationshipClass.js.map +1 -1
- package/lib/cjs/Metadata/Schema.d.ts +2 -0
- package/lib/cjs/Metadata/Schema.d.ts.map +1 -1
- package/lib/cjs/Metadata/Schema.js +4 -0
- package/lib/cjs/Metadata/Schema.js.map +1 -1
- package/lib/cjs/Metadata/SchemaItem.js.map +1 -1
- package/lib/cjs/Metadata/UnitSystem.js.map +1 -1
- package/lib/cjs/PropertyTypes.js.map +1 -1
- package/lib/cjs/SchemaJsonLocater.js.map +1 -1
- package/lib/cjs/SchemaKey.js.map +1 -1
- package/lib/cjs/SchemaLoader.js.map +1 -1
- package/lib/cjs/SchemaPartVisitorDelegate.js.map +1 -1
- package/lib/cjs/UnitConversion/Graph.js.map +1 -1
- package/lib/cjs/UnitConversion/Parser.js.map +1 -1
- package/lib/cjs/UnitConversion/UnitConversion.js.map +1 -1
- package/lib/cjs/UnitConversion/UnitConverter.js.map +1 -1
- package/lib/cjs/UnitConversion/UnitTree.js.map +1 -1
- package/lib/cjs/UnitProvider/SchemaUnitProvider.js.map +1 -1
- package/lib/cjs/Validation/SchemaWalker.js.map +1 -1
- package/lib/cjs/ecschema-metadata.d.ts +2 -1
- package/lib/cjs/ecschema-metadata.d.ts.map +1 -1
- package/lib/cjs/ecschema-metadata.js +2 -1
- package/lib/cjs/ecschema-metadata.js.map +1 -1
- package/lib/cjs/utils/SchemaGraph.js.map +1 -1
- package/lib/cjs/utils/SchemaLoadingController.js.map +1 -1
- package/lib/esm/Constants.js.map +1 -1
- package/lib/esm/DelayedPromise.js.map +1 -1
- package/lib/esm/Deserialization/AbstractParser.js.map +1 -1
- package/lib/esm/Deserialization/Helper.js.map +1 -1
- package/lib/esm/Deserialization/JsonParser.js.map +1 -1
- package/lib/esm/Deserialization/JsonProps.d.ts +9 -2
- package/lib/esm/Deserialization/JsonProps.d.ts.map +1 -1
- package/lib/esm/Deserialization/JsonProps.js.map +1 -1
- package/lib/esm/Deserialization/SchemaGraphUtil.js.map +1 -1
- package/lib/esm/Deserialization/XmlParser.js.map +1 -1
- package/lib/esm/Deserialization/XmlSerializationUtils.js.map +1 -1
- package/lib/esm/ECName.js.map +1 -1
- package/lib/esm/ECObjects.js.map +1 -1
- package/lib/esm/Exception.js.map +1 -1
- package/lib/esm/Formatting/FormatSetFormatsProvider.d.ts +37 -0
- package/lib/esm/Formatting/FormatSetFormatsProvider.d.ts.map +1 -0
- package/lib/esm/Formatting/FormatSetFormatsProvider.js +54 -0
- package/lib/esm/Formatting/FormatSetFormatsProvider.js.map +1 -0
- package/lib/esm/{SchemaFormatsProvider.d.ts → Formatting/SchemaFormatsProvider.d.ts} +1 -1
- package/lib/esm/Formatting/SchemaFormatsProvider.d.ts.map +1 -0
- package/lib/esm/{SchemaFormatsProvider.js → Formatting/SchemaFormatsProvider.js} +6 -6
- package/lib/esm/Formatting/SchemaFormatsProvider.js.map +1 -0
- package/lib/esm/IncrementalLoading/ClassParsers.js.map +1 -1
- package/lib/esm/IncrementalLoading/ECSqlSchemaLocater.d.ts +18 -24
- package/lib/esm/IncrementalLoading/ECSqlSchemaLocater.d.ts.map +1 -1
- package/lib/esm/IncrementalLoading/ECSqlSchemaLocater.js +61 -33
- package/lib/esm/IncrementalLoading/ECSqlSchemaLocater.js.map +1 -1
- package/lib/esm/IncrementalLoading/FullSchemaQueries.d.ts.map +1 -1
- package/lib/esm/IncrementalLoading/FullSchemaQueries.js +466 -465
- package/lib/esm/IncrementalLoading/FullSchemaQueries.js.map +1 -1
- package/lib/esm/IncrementalLoading/IncrementalSchemaLocater.d.ts +20 -3
- package/lib/esm/IncrementalLoading/IncrementalSchemaLocater.d.ts.map +1 -1
- package/lib/esm/IncrementalLoading/IncrementalSchemaLocater.js +7 -4
- package/lib/esm/IncrementalLoading/IncrementalSchemaLocater.js.map +1 -1
- package/lib/esm/IncrementalLoading/IncrementalSchemaReader.d.ts.map +1 -1
- package/lib/esm/IncrementalLoading/IncrementalSchemaReader.js +2 -7
- package/lib/esm/IncrementalLoading/IncrementalSchemaReader.js.map +1 -1
- package/lib/esm/IncrementalLoading/SchemaItemParsers.d.ts +4 -4
- package/lib/esm/IncrementalLoading/SchemaItemParsers.d.ts.map +1 -1
- package/lib/esm/IncrementalLoading/SchemaItemParsers.js +17 -17
- package/lib/esm/IncrementalLoading/SchemaItemParsers.js.map +1 -1
- package/lib/esm/IncrementalLoading/SchemaItemQueries.js +235 -235
- package/lib/esm/IncrementalLoading/SchemaItemQueries.js.map +1 -1
- package/lib/esm/IncrementalLoading/SchemaParser.d.ts +10 -4
- package/lib/esm/IncrementalLoading/SchemaParser.d.ts.map +1 -1
- package/lib/esm/IncrementalLoading/SchemaParser.js +19 -19
- package/lib/esm/IncrementalLoading/SchemaParser.js.map +1 -1
- package/lib/esm/IncrementalLoading/SchemaStubQueries.d.ts.map +1 -1
- package/lib/esm/IncrementalLoading/SchemaStubQueries.js +309 -326
- package/lib/esm/IncrementalLoading/SchemaStubQueries.js.map +1 -1
- package/lib/esm/Interfaces.js.map +1 -1
- package/lib/esm/Metadata/Class.js.map +1 -1
- package/lib/esm/Metadata/Constant.js.map +1 -1
- package/lib/esm/Metadata/CustomAttribute.js.map +1 -1
- package/lib/esm/Metadata/CustomAttributeClass.js.map +1 -1
- package/lib/esm/Metadata/EntityClass.js +1 -1
- package/lib/esm/Metadata/EntityClass.js.map +1 -1
- package/lib/esm/Metadata/Enumeration.js.map +1 -1
- package/lib/esm/Metadata/Format.js.map +1 -1
- package/lib/esm/Metadata/InvertedUnit.js.map +1 -1
- package/lib/esm/Metadata/KindOfQuantity.d.ts.map +1 -1
- package/lib/esm/Metadata/KindOfQuantity.js +9 -22
- package/lib/esm/Metadata/KindOfQuantity.js.map +1 -1
- package/lib/esm/Metadata/Mixin.js.map +1 -1
- package/lib/esm/Metadata/OverrideFormat.js.map +1 -1
- package/lib/esm/Metadata/Phenomenon.js.map +1 -1
- package/lib/esm/Metadata/Property.js.map +1 -1
- package/lib/esm/Metadata/PropertyCategory.js.map +1 -1
- package/lib/esm/Metadata/RelationshipClass.js.map +1 -1
- package/lib/esm/Metadata/Schema.d.ts +2 -0
- package/lib/esm/Metadata/Schema.d.ts.map +1 -1
- package/lib/esm/Metadata/Schema.js +4 -0
- package/lib/esm/Metadata/Schema.js.map +1 -1
- package/lib/esm/Metadata/SchemaItem.js.map +1 -1
- package/lib/esm/Metadata/UnitSystem.js.map +1 -1
- package/lib/esm/PropertyTypes.js.map +1 -1
- package/lib/esm/SchemaJsonLocater.js.map +1 -1
- package/lib/esm/SchemaKey.js.map +1 -1
- package/lib/esm/SchemaLoader.js.map +1 -1
- package/lib/esm/SchemaPartVisitorDelegate.js.map +1 -1
- package/lib/esm/UnitConversion/Graph.js.map +1 -1
- package/lib/esm/UnitConversion/Parser.js.map +1 -1
- package/lib/esm/UnitConversion/UnitConversion.js.map +1 -1
- package/lib/esm/UnitConversion/UnitConverter.js.map +1 -1
- package/lib/esm/UnitConversion/UnitTree.js.map +1 -1
- package/lib/esm/UnitProvider/SchemaUnitProvider.js.map +1 -1
- package/lib/esm/Validation/SchemaWalker.js.map +1 -1
- package/lib/esm/ecschema-metadata.d.ts +2 -1
- package/lib/esm/ecschema-metadata.d.ts.map +1 -1
- package/lib/esm/ecschema-metadata.js +2 -1
- package/lib/esm/ecschema-metadata.js.map +1 -1
- package/lib/esm/utils/SchemaGraph.js.map +1 -1
- package/lib/esm/utils/SchemaLoadingController.js.map +1 -1
- package/package.json +6 -6
- package/lib/cjs/IncrementalLoading/PerformanceLogger.d.ts +0 -60
- package/lib/cjs/IncrementalLoading/PerformanceLogger.d.ts.map +0 -1
- package/lib/cjs/IncrementalLoading/PerformanceLogger.js +0 -82
- package/lib/cjs/IncrementalLoading/PerformanceLogger.js.map +0 -1
- package/lib/cjs/SchemaFormatsProvider.d.ts.map +0 -1
- package/lib/cjs/SchemaFormatsProvider.js.map +0 -1
- package/lib/esm/IncrementalLoading/PerformanceLogger.d.ts +0 -60
- package/lib/esm/IncrementalLoading/PerformanceLogger.d.ts.map +0 -1
- package/lib/esm/IncrementalLoading/PerformanceLogger.js +0 -78
- package/lib/esm/IncrementalLoading/PerformanceLogger.js.map +0 -1
- package/lib/esm/SchemaFormatsProvider.d.ts.map +0 -1
- package/lib/esm/SchemaFormatsProvider.js.map +0 -1
|
@@ -13,281 +13,281 @@ exports.SchemaItemQueries = void 0;
|
|
|
13
13
|
* Query for SchemaItemType KindOfQuantity data.
|
|
14
14
|
* @param singleSchema Indicates if a filter and join for a single Schema should be applied.
|
|
15
15
|
*/
|
|
16
|
-
const kindOfQuantity = (singleSchema) => `
|
|
17
|
-
SELECT
|
|
18
|
-
[koq].[Schema].[Id] AS [SchemaId],
|
|
19
|
-
json_object (
|
|
20
|
-
'schemaItemType', 'KindOfQuantity',
|
|
21
|
-
'name', [koq].[Name],
|
|
22
|
-
'label', [koq].[DisplayLabel],
|
|
23
|
-
'description', [koq].[Description]
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
'presentationUnits', (
|
|
28
|
-
SELECT json_group_array(js."value")
|
|
29
|
-
FROM [meta].[KindOfQuantityDef] [koq1], json1.json_each([PresentationUnits]) js
|
|
30
|
-
WHERE [koq1].[ECInstanceId] = [koq].[ECInstanceId]
|
|
31
|
-
) ` : ""}
|
|
32
|
-
) as [item]
|
|
33
|
-
FROM
|
|
34
|
-
[meta].[KindOfQuantityDef] [koq]
|
|
35
|
-
${singleSchema ? `
|
|
36
|
-
JOIN
|
|
37
|
-
[meta].[ECSchemaDef] [schema] ON [schema].[ECInstanceId] = [koq].[Schema].[Id]
|
|
38
|
-
WHERE [schema].[Name] = :schemaName
|
|
39
|
-
` : ""}
|
|
16
|
+
const kindOfQuantity = (singleSchema) => `
|
|
17
|
+
SELECT
|
|
18
|
+
[koq].[Schema].[Id] AS [SchemaId],
|
|
19
|
+
json_object (
|
|
20
|
+
'schemaItemType', 'KindOfQuantity',
|
|
21
|
+
'name', [koq].[Name],
|
|
22
|
+
'label', [koq].[DisplayLabel],
|
|
23
|
+
'description', [koq].[Description],
|
|
24
|
+
'relativeError', [koq].[RelativeError],
|
|
25
|
+
'persistenceUnit', [koq].[PersistenceUnit]
|
|
26
|
+
${singleSchema ? `
|
|
27
|
+
,'presentationUnits', (
|
|
28
|
+
SELECT json_group_array(js."value")
|
|
29
|
+
FROM [meta].[KindOfQuantityDef] [koq1], json1.json_each([PresentationUnits]) js
|
|
30
|
+
WHERE [koq1].[ECInstanceId] = [koq].[ECInstanceId]
|
|
31
|
+
) ` : ""}
|
|
32
|
+
) as [item]
|
|
33
|
+
FROM
|
|
34
|
+
[meta].[KindOfQuantityDef] [koq]
|
|
35
|
+
${singleSchema ? `
|
|
36
|
+
JOIN
|
|
37
|
+
[meta].[ECSchemaDef] [schema] ON [schema].[ECInstanceId] = [koq].[Schema].[Id]
|
|
38
|
+
WHERE [schema].[Name] = :schemaName
|
|
39
|
+
` : ""}
|
|
40
40
|
`;
|
|
41
41
|
/**
|
|
42
42
|
* Query for SchemaItemType PropertyCategory data.
|
|
43
43
|
* @param singleSchema Indicates if a filter and join for a single Schema should be applied.
|
|
44
44
|
*/
|
|
45
|
-
const propertyCategory = (singleSchema) => `
|
|
46
|
-
SELECT
|
|
47
|
-
[pc].[Schema].[Id] AS [SchemaId],
|
|
48
|
-
json_object (
|
|
49
|
-
'schemaItemType', 'PropertyCategory',
|
|
50
|
-
'name', [pc].[Name],
|
|
51
|
-
'label', [pc].[DisplayLabel],
|
|
52
|
-
'description', [pc].[Description],
|
|
53
|
-
'priority', [pc].[Priority]
|
|
54
|
-
) as [item]
|
|
55
|
-
FROM
|
|
56
|
-
[meta].[PropertyCategoryDef] [pc]
|
|
57
|
-
${singleSchema ? `
|
|
58
|
-
JOIN
|
|
59
|
-
[meta].[ECSchemaDef] [schema] ON [schema].[ECInstanceId] = [pc].[Schema].[Id]
|
|
60
|
-
WHERE [schema].[Name] = :schemaName
|
|
61
|
-
` : ""}
|
|
45
|
+
const propertyCategory = (singleSchema) => `
|
|
46
|
+
SELECT
|
|
47
|
+
[pc].[Schema].[Id] AS [SchemaId],
|
|
48
|
+
json_object (
|
|
49
|
+
'schemaItemType', 'PropertyCategory',
|
|
50
|
+
'name', [pc].[Name],
|
|
51
|
+
'label', [pc].[DisplayLabel],
|
|
52
|
+
'description', [pc].[Description],
|
|
53
|
+
'priority', [pc].[Priority]
|
|
54
|
+
) as [item]
|
|
55
|
+
FROM
|
|
56
|
+
[meta].[PropertyCategoryDef] [pc]
|
|
57
|
+
${singleSchema ? `
|
|
58
|
+
JOIN
|
|
59
|
+
[meta].[ECSchemaDef] [schema] ON [schema].[ECInstanceId] = [pc].[Schema].[Id]
|
|
60
|
+
WHERE [schema].[Name] = :schemaName
|
|
61
|
+
` : ""}
|
|
62
62
|
`;
|
|
63
63
|
/**
|
|
64
64
|
* Query for SchemaItemType Enumeration data.
|
|
65
65
|
* @param singleSchema Indicates if a filter and join for a single Schema should be applied.
|
|
66
66
|
*/
|
|
67
|
-
const enumeration = (singleSchema) => `
|
|
68
|
-
SELECT
|
|
69
|
-
[ed].[Schema].[Id] AS [SchemaId],
|
|
70
|
-
json_object (
|
|
71
|
-
'schemaItemType', 'Enumeration',
|
|
72
|
-
'name', [ed].[Name],
|
|
73
|
-
'label', [ed].[DisplayLabel],
|
|
74
|
-
'description', [ed].[Description],
|
|
75
|
-
'type', IIF([ed].[Type] = 1281, 'int', IIF([ed].[Type] = 2305, 'string', null)),
|
|
76
|
-
'isStrict', IIF([ed].[IsStrict] = 1, json('true'), json('false')),
|
|
77
|
-
'enumerators', (
|
|
78
|
-
SELECT json_group_array(json(json_object(
|
|
79
|
-
'name', json_extract(js."value", '$.Name'),
|
|
80
|
-
'value', IFNULL(json_extract(js."value", '$.StringValue'), (json_extract(js."value", '$.IntValue'))),
|
|
81
|
-
'label', json_extract(js."value", '$.DisplayLabel'),
|
|
82
|
-
'description', json_extract(js."value", '$.Description')
|
|
83
|
-
)))
|
|
84
|
-
FROM [meta].[ECEnumerationDef] [enumerationDef], json1.json_each([EnumValues]) js
|
|
85
|
-
WHERE [enumerationDef].[ECInstanceId] = [ed].[ECInstanceId]
|
|
86
|
-
)
|
|
87
|
-
) as [item]
|
|
88
|
-
FROM
|
|
89
|
-
[meta].[ECEnumerationDef] [ed]
|
|
90
|
-
${singleSchema ? `
|
|
91
|
-
JOIN
|
|
92
|
-
[meta].[ECSchemaDef] [schema] ON [schema].[ECInstanceId] = [ed].[Schema].[Id]
|
|
93
|
-
WHERE [schema].[Name] = :schemaName` : ""}
|
|
67
|
+
const enumeration = (singleSchema) => `
|
|
68
|
+
SELECT
|
|
69
|
+
[ed].[Schema].[Id] AS [SchemaId],
|
|
70
|
+
json_object (
|
|
71
|
+
'schemaItemType', 'Enumeration',
|
|
72
|
+
'name', [ed].[Name],
|
|
73
|
+
'label', [ed].[DisplayLabel],
|
|
74
|
+
'description', [ed].[Description],
|
|
75
|
+
'type', IIF([ed].[Type] = 1281, 'int', IIF([ed].[Type] = 2305, 'string', null)),
|
|
76
|
+
'isStrict', IIF([ed].[IsStrict] = 1, json('true'), json('false')),
|
|
77
|
+
'enumerators', (
|
|
78
|
+
SELECT json_group_array(json(json_object(
|
|
79
|
+
'name', json_extract(js."value", '$.Name'),
|
|
80
|
+
'value', IFNULL(json_extract(js."value", '$.StringValue'), (json_extract(js."value", '$.IntValue'))),
|
|
81
|
+
'label', json_extract(js."value", '$.DisplayLabel'),
|
|
82
|
+
'description', json_extract(js."value", '$.Description')
|
|
83
|
+
)))
|
|
84
|
+
FROM [meta].[ECEnumerationDef] [enumerationDef], json1.json_each([EnumValues]) js
|
|
85
|
+
WHERE [enumerationDef].[ECInstanceId] = [ed].[ECInstanceId]
|
|
86
|
+
)
|
|
87
|
+
) as [item]
|
|
88
|
+
FROM
|
|
89
|
+
[meta].[ECEnumerationDef] [ed]
|
|
90
|
+
${singleSchema ? `
|
|
91
|
+
JOIN
|
|
92
|
+
[meta].[ECSchemaDef] [schema] ON [schema].[ECInstanceId] = [ed].[Schema].[Id]
|
|
93
|
+
WHERE [schema].[Name] = :schemaName` : ""}
|
|
94
94
|
`;
|
|
95
95
|
/**
|
|
96
96
|
* Query for SchemaItemType Unit data.
|
|
97
97
|
* @param singleSchema Indicates if a filter and join for a single Schema should be applied.
|
|
98
98
|
*/
|
|
99
|
-
const unit = (singleSchema) => `
|
|
100
|
-
SELECT
|
|
101
|
-
[ud].[Schema].[Id] AS [SchemaId],
|
|
102
|
-
json_object (
|
|
103
|
-
'schemaItemType', 'Unit',
|
|
104
|
-
'name', [ud].[Name],
|
|
105
|
-
'label', [ud].[DisplayLabel],
|
|
106
|
-
'description', [ud].[Description],
|
|
107
|
-
'definition', [ud].[Definition],
|
|
108
|
-
'numerator', IIF([ud].[Numerator] IS NULL, NULL, json(format('%.16g', [ud].[Numerator]))),
|
|
109
|
-
'denominator', IIF([ud].[Denominator] IS NULL, NULL, json(format('%.16g', [ud].[Denominator]))),
|
|
110
|
-
'offset', IIF([ud].[Offset] IS NULL, NULL, json(format('%!.15f', [ud].[Offset]))),
|
|
111
|
-
'unitSystem', CONCAT([uss].[Name],'.', [usd].[Name]),
|
|
112
|
-
'phenomenon', CONCAT([ps].[Name],'.', [pd].[Name])
|
|
113
|
-
) as item
|
|
114
|
-
FROM
|
|
115
|
-
[meta].[UnitDef] [ud]
|
|
116
|
-
${singleSchema ? `
|
|
117
|
-
JOIN
|
|
118
|
-
[meta].[ECSchemaDef] [schema] ON [schema].[ECInstanceId] = [ud].[Schema].[Id]` : ""}
|
|
119
|
-
JOIN [meta].[UnitSystemDef] [usd]
|
|
120
|
-
ON [usd].[ECInstanceId] = [ud].[UnitSystem].[Id]
|
|
121
|
-
JOIN [meta].[ECSchemaDef] [uss]
|
|
122
|
-
ON [uss].[ECInstanceId] = [usd].[Schema].[Id]
|
|
123
|
-
JOIN [meta].[PhenomenonDef] [pd]
|
|
124
|
-
ON [pd].[ECInstanceId] = [ud].[Phenomenon].[Id]
|
|
125
|
-
JOIN [meta].[ECSchemaDef] [ps]
|
|
126
|
-
ON [ps].[ECInstanceId] = [pd].[Schema].[Id]
|
|
127
|
-
WHERE
|
|
128
|
-
${singleSchema ? `
|
|
129
|
-
[schema].[Name] = :schemaName AND` : ""}
|
|
130
|
-
[ud].[IsConstant] = 0 AND
|
|
131
|
-
[ud].[InvertingUnit] IS NULL
|
|
99
|
+
const unit = (singleSchema) => `
|
|
100
|
+
SELECT
|
|
101
|
+
[ud].[Schema].[Id] AS [SchemaId],
|
|
102
|
+
json_object (
|
|
103
|
+
'schemaItemType', 'Unit',
|
|
104
|
+
'name', [ud].[Name],
|
|
105
|
+
'label', [ud].[DisplayLabel],
|
|
106
|
+
'description', [ud].[Description],
|
|
107
|
+
'definition', [ud].[Definition],
|
|
108
|
+
'numerator', IIF([ud].[Numerator] IS NULL, NULL, json(format('%.16g', [ud].[Numerator]))),
|
|
109
|
+
'denominator', IIF([ud].[Denominator] IS NULL, NULL, json(format('%.16g', [ud].[Denominator]))),
|
|
110
|
+
'offset', IIF([ud].[Offset] IS NULL, NULL, json(format('%!.15f', [ud].[Offset]))),
|
|
111
|
+
'unitSystem', CONCAT([uss].[Name],'.', [usd].[Name]),
|
|
112
|
+
'phenomenon', CONCAT([ps].[Name],'.', [pd].[Name])
|
|
113
|
+
) as item
|
|
114
|
+
FROM
|
|
115
|
+
[meta].[UnitDef] [ud]
|
|
116
|
+
${singleSchema ? `
|
|
117
|
+
JOIN
|
|
118
|
+
[meta].[ECSchemaDef] [schema] ON [schema].[ECInstanceId] = [ud].[Schema].[Id]` : ""}
|
|
119
|
+
JOIN [meta].[UnitSystemDef] [usd]
|
|
120
|
+
ON [usd].[ECInstanceId] = [ud].[UnitSystem].[Id]
|
|
121
|
+
JOIN [meta].[ECSchemaDef] [uss]
|
|
122
|
+
ON [uss].[ECInstanceId] = [usd].[Schema].[Id]
|
|
123
|
+
JOIN [meta].[PhenomenonDef] [pd]
|
|
124
|
+
ON [pd].[ECInstanceId] = [ud].[Phenomenon].[Id]
|
|
125
|
+
JOIN [meta].[ECSchemaDef] [ps]
|
|
126
|
+
ON [ps].[ECInstanceId] = [pd].[Schema].[Id]
|
|
127
|
+
WHERE
|
|
128
|
+
${singleSchema ? `
|
|
129
|
+
[schema].[Name] = :schemaName AND` : ""}
|
|
130
|
+
[ud].[IsConstant] = 0 AND
|
|
131
|
+
[ud].[InvertingUnit] IS NULL
|
|
132
132
|
`;
|
|
133
133
|
/**
|
|
134
134
|
* Query for SchemaItemType InvertedUnit data.
|
|
135
135
|
* @param singleSchema Indicates if a filter and join for a single Schema should be applied.
|
|
136
136
|
*/
|
|
137
|
-
const invertedUnit = (singleSchema) => `
|
|
138
|
-
SELECT
|
|
139
|
-
[ud].[Schema].[Id] AS [SchemaId],
|
|
140
|
-
json_object (
|
|
141
|
-
'schemaItemType', 'InvertedUnit',
|
|
142
|
-
'name', [ud].[Name],
|
|
143
|
-
'label', [ud].[DisplayLabel],
|
|
144
|
-
'description', [ud].[Description],
|
|
145
|
-
'unitSystem', CONCAT([systemSchema].[Name],'.', [usd].[Name]),
|
|
146
|
-
'invertsUnit', IIF([iud].[Name] IS NULL, null, CONCAT([ius].[Name],'.', [iud].[Name]))
|
|
147
|
-
) as [item]
|
|
148
|
-
FROM
|
|
149
|
-
[meta].[UnitDef] [ud]
|
|
150
|
-
${singleSchema ? `
|
|
151
|
-
JOIN
|
|
152
|
-
[meta].[ECSchemaDef] [schema] ON [schema].[ECInstanceId] = [ud].[Schema].[Id]` : ""}
|
|
153
|
-
JOIN [meta].[UnitSystemDef] [usd]
|
|
154
|
-
ON [usd].[ECInstanceId] = [ud].[UnitSystem].[Id]
|
|
155
|
-
JOIN [meta].[ECSchemaDef] [systemSchema]
|
|
156
|
-
ON [systemSchema].[ECInstanceId] = [usd].[Schema].[Id]
|
|
157
|
-
LEFT JOIN [meta].[UnitDef] [iud]
|
|
158
|
-
ON [iud].[ECInstanceId] = [ud].[InvertingUnit].[Id]
|
|
159
|
-
LEFT JOIN [meta].[ECSchemaDef] [ius]
|
|
160
|
-
ON [ius].[ECInstanceId] = [iud].[Schema].[Id]
|
|
161
|
-
WHERE
|
|
162
|
-
${singleSchema ? `
|
|
163
|
-
[schema].[Name] = :schemaName AND` : ""}
|
|
164
|
-
[ud].[IsConstant] = 0 AND
|
|
165
|
-
[ud].[InvertingUnit] IS NOT NULL
|
|
137
|
+
const invertedUnit = (singleSchema) => `
|
|
138
|
+
SELECT
|
|
139
|
+
[ud].[Schema].[Id] AS [SchemaId],
|
|
140
|
+
json_object (
|
|
141
|
+
'schemaItemType', 'InvertedUnit',
|
|
142
|
+
'name', [ud].[Name],
|
|
143
|
+
'label', [ud].[DisplayLabel],
|
|
144
|
+
'description', [ud].[Description],
|
|
145
|
+
'unitSystem', CONCAT([systemSchema].[Name],'.', [usd].[Name]),
|
|
146
|
+
'invertsUnit', IIF([iud].[Name] IS NULL, null, CONCAT([ius].[Name],'.', [iud].[Name]))
|
|
147
|
+
) as [item]
|
|
148
|
+
FROM
|
|
149
|
+
[meta].[UnitDef] [ud]
|
|
150
|
+
${singleSchema ? `
|
|
151
|
+
JOIN
|
|
152
|
+
[meta].[ECSchemaDef] [schema] ON [schema].[ECInstanceId] = [ud].[Schema].[Id]` : ""}
|
|
153
|
+
JOIN [meta].[UnitSystemDef] [usd]
|
|
154
|
+
ON [usd].[ECInstanceId] = [ud].[UnitSystem].[Id]
|
|
155
|
+
JOIN [meta].[ECSchemaDef] [systemSchema]
|
|
156
|
+
ON [systemSchema].[ECInstanceId] = [usd].[Schema].[Id]
|
|
157
|
+
LEFT JOIN [meta].[UnitDef] [iud]
|
|
158
|
+
ON [iud].[ECInstanceId] = [ud].[InvertingUnit].[Id]
|
|
159
|
+
LEFT JOIN [meta].[ECSchemaDef] [ius]
|
|
160
|
+
ON [ius].[ECInstanceId] = [iud].[Schema].[Id]
|
|
161
|
+
WHERE
|
|
162
|
+
${singleSchema ? `
|
|
163
|
+
[schema].[Name] = :schemaName AND` : ""}
|
|
164
|
+
[ud].[IsConstant] = 0 AND
|
|
165
|
+
[ud].[InvertingUnit] IS NOT NULL
|
|
166
166
|
`;
|
|
167
167
|
/**
|
|
168
168
|
* Query for SchemaItemType Constant data.
|
|
169
169
|
* @param singleSchema Indicates if a filter and join for a single Schema should be applied.
|
|
170
170
|
*/
|
|
171
|
-
const constant = (singleSchema) => `
|
|
172
|
-
SELECT
|
|
173
|
-
[cd].[Schema].[Id] AS [SchemaId],
|
|
174
|
-
json_object(
|
|
175
|
-
'schemaItemType', 'Constant',
|
|
176
|
-
'name', [cd].[Name],
|
|
177
|
-
'label', [cd].[DisplayLabel],
|
|
178
|
-
'description', [cd].[Description],
|
|
179
|
-
'definition', [cd].[Definition],
|
|
180
|
-
'numerator', IIF([cd].[Numerator] IS NULL, NULL, json(format('%.16g', [cd].[Numerator]))),
|
|
181
|
-
'denominator', IIF([cd].[Denominator] IS NULL, NULL, json(format('%.16g', [cd].[Denominator]))),
|
|
182
|
-
'phenomenon', CONCAT([phenomSchema].[Name],'.', [phenomDef].[Name])
|
|
183
|
-
) as item
|
|
184
|
-
FROM
|
|
185
|
-
[meta].[UnitDef] [cd]
|
|
186
|
-
${singleSchema ? `
|
|
187
|
-
JOIN
|
|
188
|
-
[meta].[ECSchemaDef] [schema] ON [schema].[ECInstanceId] = [cd].[Schema].[Id]` : ""}
|
|
189
|
-
JOIN [meta].[PhenomenonDef] [phenomDef]
|
|
190
|
-
ON [phenomDef].[ECInstanceId] = [cd].[Phenomenon].[Id]
|
|
191
|
-
JOIN [meta].[ECSchemaDef] [phenomSchema]
|
|
192
|
-
ON [phenomSchema].[ECInstanceId] = [phenomDef].[Schema].[Id]
|
|
193
|
-
WHERE
|
|
194
|
-
${singleSchema ? `
|
|
195
|
-
[schema].[Name] = :schemaName AND` : ""}
|
|
196
|
-
[cd].[IsConstant] = 1
|
|
171
|
+
const constant = (singleSchema) => `
|
|
172
|
+
SELECT
|
|
173
|
+
[cd].[Schema].[Id] AS [SchemaId],
|
|
174
|
+
json_object(
|
|
175
|
+
'schemaItemType', 'Constant',
|
|
176
|
+
'name', [cd].[Name],
|
|
177
|
+
'label', [cd].[DisplayLabel],
|
|
178
|
+
'description', [cd].[Description],
|
|
179
|
+
'definition', [cd].[Definition],
|
|
180
|
+
'numerator', IIF([cd].[Numerator] IS NULL, NULL, json(format('%.16g', [cd].[Numerator]))),
|
|
181
|
+
'denominator', IIF([cd].[Denominator] IS NULL, NULL, json(format('%.16g', [cd].[Denominator]))),
|
|
182
|
+
'phenomenon', CONCAT([phenomSchema].[Name],'.', [phenomDef].[Name])
|
|
183
|
+
) as item
|
|
184
|
+
FROM
|
|
185
|
+
[meta].[UnitDef] [cd]
|
|
186
|
+
${singleSchema ? `
|
|
187
|
+
JOIN
|
|
188
|
+
[meta].[ECSchemaDef] [schema] ON [schema].[ECInstanceId] = [cd].[Schema].[Id]` : ""}
|
|
189
|
+
JOIN [meta].[PhenomenonDef] [phenomDef]
|
|
190
|
+
ON [phenomDef].[ECInstanceId] = [cd].[Phenomenon].[Id]
|
|
191
|
+
JOIN [meta].[ECSchemaDef] [phenomSchema]
|
|
192
|
+
ON [phenomSchema].[ECInstanceId] = [phenomDef].[Schema].[Id]
|
|
193
|
+
WHERE
|
|
194
|
+
${singleSchema ? `
|
|
195
|
+
[schema].[Name] = :schemaName AND` : ""}
|
|
196
|
+
[cd].[IsConstant] = 1
|
|
197
197
|
`;
|
|
198
198
|
/**
|
|
199
199
|
* Query for SchemaItemType UnitSystem data.
|
|
200
200
|
* @param singleSchema Indicates if a filter and join for a single Schema should be applied.
|
|
201
201
|
*/
|
|
202
|
-
const unitSystem = (singleSchema) => `
|
|
203
|
-
SELECT
|
|
204
|
-
[us].[Schema].[Id] AS [SchemaId],
|
|
205
|
-
json_object (
|
|
206
|
-
'schemaItemType', 'UnitSystem',
|
|
207
|
-
'name', [us].[Name],
|
|
208
|
-
'label', [us].[DisplayLabel],
|
|
209
|
-
'description', [us].[Description]
|
|
210
|
-
) as [item]
|
|
211
|
-
FROM
|
|
212
|
-
[meta].[UnitSystemDef] [us]
|
|
213
|
-
${singleSchema ? `
|
|
214
|
-
JOIN
|
|
215
|
-
[meta].[ECSchemaDef] [schema] ON [schema].[ECInstanceId] = [us].[Schema].[Id]
|
|
216
|
-
WHERE [schema].[Name] = :schemaName` : ""}
|
|
202
|
+
const unitSystem = (singleSchema) => `
|
|
203
|
+
SELECT
|
|
204
|
+
[us].[Schema].[Id] AS [SchemaId],
|
|
205
|
+
json_object (
|
|
206
|
+
'schemaItemType', 'UnitSystem',
|
|
207
|
+
'name', [us].[Name],
|
|
208
|
+
'label', [us].[DisplayLabel],
|
|
209
|
+
'description', [us].[Description]
|
|
210
|
+
) as [item]
|
|
211
|
+
FROM
|
|
212
|
+
[meta].[UnitSystemDef] [us]
|
|
213
|
+
${singleSchema ? `
|
|
214
|
+
JOIN
|
|
215
|
+
[meta].[ECSchemaDef] [schema] ON [schema].[ECInstanceId] = [us].[Schema].[Id]
|
|
216
|
+
WHERE [schema].[Name] = :schemaName` : ""}
|
|
217
217
|
`;
|
|
218
218
|
/**
|
|
219
219
|
* Query for SchemaItemType Phenomenon data.
|
|
220
220
|
* @param singleSchema Indicates if a filter and join for a single Schema should be applied.
|
|
221
221
|
*/
|
|
222
|
-
const phenomenon = (singleSchema) => `
|
|
223
|
-
SELECT
|
|
224
|
-
[pd].[Schema].[Id] AS [SchemaId],
|
|
225
|
-
json_object(
|
|
226
|
-
'schemaItemType', 'Phenomenon',
|
|
227
|
-
'name', [pd].[Name],
|
|
228
|
-
'label', [pd].[DisplayLabel],
|
|
229
|
-
'description', [pd].[Description],
|
|
230
|
-
'definition', [pd].[Definition]
|
|
231
|
-
) as [item]
|
|
232
|
-
FROM
|
|
233
|
-
[meta].[PhenomenonDef] [pd]
|
|
234
|
-
${singleSchema ? `
|
|
235
|
-
JOIN
|
|
236
|
-
[meta].[ECSchemaDef] [schema] ON [schema].[ECInstanceId] = [pd].[Schema].[Id]
|
|
237
|
-
WHERE [schema].[Name] = :schemaName` : ""}
|
|
222
|
+
const phenomenon = (singleSchema) => `
|
|
223
|
+
SELECT
|
|
224
|
+
[pd].[Schema].[Id] AS [SchemaId],
|
|
225
|
+
json_object(
|
|
226
|
+
'schemaItemType', 'Phenomenon',
|
|
227
|
+
'name', [pd].[Name],
|
|
228
|
+
'label', [pd].[DisplayLabel],
|
|
229
|
+
'description', [pd].[Description],
|
|
230
|
+
'definition', [pd].[Definition]
|
|
231
|
+
) as [item]
|
|
232
|
+
FROM
|
|
233
|
+
[meta].[PhenomenonDef] [pd]
|
|
234
|
+
${singleSchema ? `
|
|
235
|
+
JOIN
|
|
236
|
+
[meta].[ECSchemaDef] [schema] ON [schema].[ECInstanceId] = [pd].[Schema].[Id]
|
|
237
|
+
WHERE [schema].[Name] = :schemaName` : ""}
|
|
238
238
|
`;
|
|
239
239
|
/**
|
|
240
240
|
* Query for SchemaItemType Format data.
|
|
241
241
|
* @param singleSchema Indicates if a filter and join for a single Schema should be applied.
|
|
242
242
|
*/
|
|
243
|
-
const format = (singleSchema) => `
|
|
244
|
-
SELECT
|
|
245
|
-
[fd].[Schema].[Id] AS [SchemaId],
|
|
246
|
-
json_object(
|
|
247
|
-
'schemaItemType', 'Format',
|
|
248
|
-
'name', [fd].[Name],
|
|
249
|
-
'label', [fd].[DisplayLabel],
|
|
250
|
-
'description', [fd].[Description],
|
|
251
|
-
'type', json_extract([fd].[NumericSpec], '$.type'),
|
|
252
|
-
'precision', json_extract([fd].[NumericSpec], '$.precision'),
|
|
253
|
-
'roundFactor', json_extract([fd].[NumericSpec], '$.roundFactor'),
|
|
254
|
-
'minWidth', json_extract([fd].[NumericSpec], '$.minWidth'),
|
|
255
|
-
'showSignOption', json_extract([fd].[NumericSpec], '$.showSignOption'),
|
|
256
|
-
'decimalSeparator', json_extract([fd].[NumericSpec], '$.decimalSeparator'),
|
|
257
|
-
'thousandSeparator', json_extract([fd].[NumericSpec], '$.thousandSeparator'),
|
|
258
|
-
'uomSeparator', json_extract([fd].[NumericSpec], '$.uomSeparator'),
|
|
259
|
-
'scientificType', json_extract([fd].[NumericSpec], '$.scientificType'),
|
|
260
|
-
'stationOffsetSize', json_extract([fd].[NumericSpec], '$.stationOffsetSize'),
|
|
261
|
-
'stationSeparator', json_extract([fd].[NumericSpec], '$.stationSeparator'),
|
|
262
|
-
'formatTraits', json_extract([fd].[NumericSpec], '$.formatTraits')
|
|
263
|
-
${singleSchema ? `
|
|
264
|
-
,'composite', (
|
|
265
|
-
SELECT
|
|
266
|
-
json_object(
|
|
267
|
-
'spacer', json_extract([fd1].[CompositeSpec], '$.spacer'),
|
|
268
|
-
'includeZero', json(IIF(json_extract([fd1].[CompositeSpec], '$.includeZero') = 1, 'true', IIF(json_extract([fd1].[CompositeSpec], '$.includeZero') = 0, 'false', null))),
|
|
269
|
-
'units', (
|
|
270
|
-
SELECT json_group_array(json(json_object(
|
|
271
|
-
'name', CONCAT([sd].[Name], '.', [ud].[Name]),
|
|
272
|
-
'label', [fud].[Label]
|
|
273
|
-
)))
|
|
274
|
-
FROM [meta].[FormatDef] [fd2]
|
|
275
|
-
LEFT JOIN [meta].[FormatCompositeUnitDef] [fud] ON [fud].[Format].[Id] = [fd2].[ECInstanceId]
|
|
276
|
-
LEFT JOIN [meta].[UnitDef] [ud] ON [ud].[ECInstanceId] = [fud].[Unit].[Id]
|
|
277
|
-
INNER JOIN [meta].[ECSchemaDef] [sd] ON [sd].[ECInstanceId] = [ud].[Schema].[Id]
|
|
278
|
-
WHERE [fd2].[ECInstanceId] = [fd1].[ECInstanceId]
|
|
279
|
-
)
|
|
280
|
-
)
|
|
281
|
-
FROM [meta].[FormatDef] [fd1]
|
|
282
|
-
WHERE [fd1].[ECInstanceId]= [fd].[ECInstanceId] AND [fd1].[CompositeSpec] IS NOT NULL
|
|
283
|
-
)` : ""}
|
|
284
|
-
) AS item
|
|
285
|
-
FROM
|
|
286
|
-
[meta].[FormatDef] [fd]
|
|
287
|
-
${singleSchema ? `
|
|
288
|
-
JOIN
|
|
289
|
-
[meta].[ECSchemaDef] [schema] ON [schema].[ECInstanceId] = [fd].[Schema].[Id]
|
|
290
|
-
WHERE [schema].[Name] = :schemaName` : ""}
|
|
243
|
+
const format = (singleSchema) => `
|
|
244
|
+
SELECT
|
|
245
|
+
[fd].[Schema].[Id] AS [SchemaId],
|
|
246
|
+
json_object(
|
|
247
|
+
'schemaItemType', 'Format',
|
|
248
|
+
'name', [fd].[Name],
|
|
249
|
+
'label', [fd].[DisplayLabel],
|
|
250
|
+
'description', [fd].[Description],
|
|
251
|
+
'type', json_extract([fd].[NumericSpec], '$.type'),
|
|
252
|
+
'precision', json_extract([fd].[NumericSpec], '$.precision'),
|
|
253
|
+
'roundFactor', json_extract([fd].[NumericSpec], '$.roundFactor'),
|
|
254
|
+
'minWidth', json_extract([fd].[NumericSpec], '$.minWidth'),
|
|
255
|
+
'showSignOption', json_extract([fd].[NumericSpec], '$.showSignOption'),
|
|
256
|
+
'decimalSeparator', json_extract([fd].[NumericSpec], '$.decimalSeparator'),
|
|
257
|
+
'thousandSeparator', json_extract([fd].[NumericSpec], '$.thousandSeparator'),
|
|
258
|
+
'uomSeparator', json_extract([fd].[NumericSpec], '$.uomSeparator'),
|
|
259
|
+
'scientificType', json_extract([fd].[NumericSpec], '$.scientificType'),
|
|
260
|
+
'stationOffsetSize', json_extract([fd].[NumericSpec], '$.stationOffsetSize'),
|
|
261
|
+
'stationSeparator', json_extract([fd].[NumericSpec], '$.stationSeparator'),
|
|
262
|
+
'formatTraits', json_extract([fd].[NumericSpec], '$.formatTraits')
|
|
263
|
+
${singleSchema ? `
|
|
264
|
+
,'composite', (
|
|
265
|
+
SELECT
|
|
266
|
+
json_object(
|
|
267
|
+
'spacer', json_extract([fd1].[CompositeSpec], '$.spacer'),
|
|
268
|
+
'includeZero', json(IIF(json_extract([fd1].[CompositeSpec], '$.includeZero') = 1, 'true', IIF(json_extract([fd1].[CompositeSpec], '$.includeZero') = 0, 'false', null))),
|
|
269
|
+
'units', (
|
|
270
|
+
SELECT json_group_array(json(json_object(
|
|
271
|
+
'name', CONCAT([sd].[Name], '.', [ud].[Name]),
|
|
272
|
+
'label', [fud].[Label]
|
|
273
|
+
)))
|
|
274
|
+
FROM [meta].[FormatDef] [fd2]
|
|
275
|
+
LEFT JOIN [meta].[FormatCompositeUnitDef] [fud] ON [fud].[Format].[Id] = [fd2].[ECInstanceId]
|
|
276
|
+
LEFT JOIN [meta].[UnitDef] [ud] ON [ud].[ECInstanceId] = [fud].[Unit].[Id]
|
|
277
|
+
INNER JOIN [meta].[ECSchemaDef] [sd] ON [sd].[ECInstanceId] = [ud].[Schema].[Id]
|
|
278
|
+
WHERE [fd2].[ECInstanceId] = [fd1].[ECInstanceId]
|
|
279
|
+
)
|
|
280
|
+
)
|
|
281
|
+
FROM [meta].[FormatDef] [fd1]
|
|
282
|
+
WHERE [fd1].[ECInstanceId]= [fd].[ECInstanceId] AND [fd1].[CompositeSpec] IS NOT NULL
|
|
283
|
+
)` : ""}
|
|
284
|
+
) AS item
|
|
285
|
+
FROM
|
|
286
|
+
[meta].[FormatDef] [fd]
|
|
287
|
+
${singleSchema ? `
|
|
288
|
+
JOIN
|
|
289
|
+
[meta].[ECSchemaDef] [schema] ON [schema].[ECInstanceId] = [fd].[Schema].[Id]
|
|
290
|
+
WHERE [schema].[Name] = :schemaName` : ""}
|
|
291
291
|
`;
|
|
292
292
|
/**
|
|
293
293
|
* Queries for each SchemaItemType
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemaItemQueries.js","sourceRoot":"","sources":["../../../src/IncrementalLoading/SchemaItemQueries.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;AAEhG;;;qFAGqF;AAErF;;;GAGG;AACH,MAAM,cAAc,GAAG,CAAC,YAAsB,EAAE,EAAE,CAAC;;;;;;;;MAQ7C,YAAY,CAAC,CAAC,CAAC;;;;;;;OAOd,CAAA,CAAC,CAAC,EAAE;;;;EAIT,YAAY,CAAC,CAAC,CAAC;;;;CAIhB,CAAC,CAAC,CAAC,EAAE;CACL,CAAC;AAEF;;;GAGG;AACH,MAAM,gBAAgB,GAAG,CAAC,YAAsB,EAAE,EAAE,CAAC;;;;;;;;;;;;EAYnD,YAAY,CAAC,CAAC,CAAC;;;;CAIhB,CAAC,CAAC,CAAC,EAAE;CACL,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,GAAG,CAAC,YAAsB,EAAE,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;EAuB9C,YAAY,CAAC,CAAC,CAAC;;;oCAGmB,CAAC,CAAC,CAAC,EAAE;CACxC,CAAC;AAEF;;;GAGG;AACH,MAAM,IAAI,GAAG,CAAC,YAAsB,EAAE,EAAE,CAAC;;;;;;;;;;;;;;;;;EAiBvC,YAAY,CAAC,CAAC,CAAC;;gFAE+D,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;IAUjF,YAAY,CAAC,CAAC,CAAC;oCACiB,CAAC,CAAC,CAAC,EAAE;;;CAGxC,CAAC;AAEF;;;GAGG;AACH,MAAM,YAAY,GAAG,CAAC,YAAsB,EAAE,EAAE,CAAC;;;;;;;;;;;;;EAa/C,YAAY,CAAC,CAAC,CAAC;;gFAE+D,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;IAUjF,YAAY,CAAC,CAAC,CAAC;oCACiB,CAAC,CAAC,CAAC,EAAE;;;CAGxC,CAAC;AAEF;;;GAGG;AACH,MAAM,QAAQ,GAAG,CAAC,YAAsB,EAAE,EAAE,CAAC;;;;;;;;;;;;;;;EAe3C,YAAY,CAAC,CAAC,CAAC;;gFAE+D,CAAC,CAAC,CAAC,EAAE;;;;;;IAMjF,YAAY,CAAC,CAAC,CAAC;oCACiB,CAAC,CAAC,CAAC,EAAE;;CAExC,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,GAAG,CAAC,YAAsB,EAAE,EAAE,CAAC;;;;;;;;;;;EAW7C,YAAY,CAAC,CAAC,CAAC;;;oCAGmB,CAAC,CAAC,CAAC,EAAE;CACxC,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,GAAG,CAAC,YAAsB,EAAE,EAAE,CAAC;;;;;;;;;;;;EAY7C,YAAY,CAAC,CAAC,CAAC;;;oCAGmB,CAAC,CAAC,CAAC,EAAE;CACxC,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,GAAG,CAAC,YAAsB,EAAE,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;MAoBrC,YAAY,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;MAoBf,CAAC,CAAC,CAAC,EAAE;;;;EAIT,YAAY,CAAC,CAAC,CAAC;;;oCAGmB,CAAC,CAAC,CAAC,EAAE;CACxC,CAAA;AAED;;;GAGG;AACH,gEAAgE;AACnD,QAAA,iBAAiB,GAAG;IAC/B,cAAc;IACd,gBAAgB;IAChB,WAAW;IACX,IAAI;IACJ,YAAY;IACZ,QAAQ;IACR,UAAU;IACV,UAAU;IACV,MAAM;CACP,CAAC","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\n/************************************************************************************\n * All SchemaItem queries for each SchemaItemType are defined here. These queries\n * are shared for both 'partial schema' and 'full schema' queries.\n ***********************************************************************************/\n\n/**\n * Query for SchemaItemType KindOfQuantity data.\n * @param singleSchema Indicates if a filter and join for a single Schema should be applied.\n */\nconst kindOfQuantity = (singleSchema?: boolean) => `\nSELECT\n [koq].[Schema].[Id] AS [SchemaId],\n json_object (\n 'schemaItemType', 'KindOfQuantity',\n 'name', [koq].[Name],\n 'label', [koq].[DisplayLabel],\n 'description', [koq].[Description]\n ${singleSchema ? `\n ,'relativeError', [koq].[RelativeError],\n 'persistenceUnit', [koq].[PersistenceUnit],\n 'presentationUnits', (\n SELECT json_group_array(js.\"value\")\n FROM [meta].[KindOfQuantityDef] [koq1], json1.json_each([PresentationUnits]) js\n WHERE [koq1].[ECInstanceId] = [koq].[ECInstanceId]\n ) `: \"\"}\n ) as [item]\nFROM\n [meta].[KindOfQuantityDef] [koq]\n${singleSchema ? `\nJOIN\n [meta].[ECSchemaDef] [schema] ON [schema].[ECInstanceId] = [koq].[Schema].[Id]\nWHERE [schema].[Name] = :schemaName\n` : \"\"}\n`;\n\n/**\n * Query for SchemaItemType PropertyCategory data.\n * @param singleSchema Indicates if a filter and join for a single Schema should be applied.\n */\nconst propertyCategory = (singleSchema?: boolean) => `\nSELECT\n [pc].[Schema].[Id] AS [SchemaId],\n json_object (\n 'schemaItemType', 'PropertyCategory',\n 'name', [pc].[Name],\n 'label', [pc].[DisplayLabel],\n 'description', [pc].[Description],\n 'priority', [pc].[Priority]\n ) as [item]\nFROM\n [meta].[PropertyCategoryDef] [pc]\n${singleSchema ? `\nJOIN\n [meta].[ECSchemaDef] [schema] ON [schema].[ECInstanceId] = [pc].[Schema].[Id]\nWHERE [schema].[Name] = :schemaName\n` : \"\"}\n`;\n\n/**\n * Query for SchemaItemType Enumeration data.\n * @param singleSchema Indicates if a filter and join for a single Schema should be applied.\n */\nconst enumeration = (singleSchema?: boolean) => `\nSELECT\n [ed].[Schema].[Id] AS [SchemaId],\n json_object (\n 'schemaItemType', 'Enumeration',\n 'name', [ed].[Name],\n 'label', [ed].[DisplayLabel],\n 'description', [ed].[Description],\n 'type', IIF([ed].[Type] = 1281, 'int', IIF([ed].[Type] = 2305, 'string', null)),\n 'isStrict', IIF([ed].[IsStrict] = 1, json('true'), json('false')),\n 'enumerators', (\n SELECT json_group_array(json(json_object(\n 'name', json_extract(js.\"value\", '$.Name'),\n 'value', IFNULL(json_extract(js.\"value\", '$.StringValue'), (json_extract(js.\"value\", '$.IntValue'))),\n 'label', json_extract(js.\"value\", '$.DisplayLabel'),\n 'description', json_extract(js.\"value\", '$.Description')\n )))\n FROM [meta].[ECEnumerationDef] [enumerationDef], json1.json_each([EnumValues]) js\n WHERE [enumerationDef].[ECInstanceId] = [ed].[ECInstanceId]\n )\n ) as [item]\nFROM\n [meta].[ECEnumerationDef] [ed]\n${singleSchema ? `\nJOIN\n [meta].[ECSchemaDef] [schema] ON [schema].[ECInstanceId] = [ed].[Schema].[Id]\nWHERE [schema].[Name] = :schemaName` : \"\"}\n`;\n\n/**\n * Query for SchemaItemType Unit data.\n * @param singleSchema Indicates if a filter and join for a single Schema should be applied.\n */\nconst unit = (singleSchema?: boolean) => `\nSELECT\n [ud].[Schema].[Id] AS [SchemaId],\n json_object (\n 'schemaItemType', 'Unit',\n 'name', [ud].[Name],\n 'label', [ud].[DisplayLabel],\n 'description', [ud].[Description],\n 'definition', [ud].[Definition],\n 'numerator', IIF([ud].[Numerator] IS NULL, NULL, json(format('%.16g', [ud].[Numerator]))),\n 'denominator', IIF([ud].[Denominator] IS NULL, NULL, json(format('%.16g', [ud].[Denominator]))),\n 'offset', IIF([ud].[Offset] IS NULL, NULL, json(format('%!.15f', [ud].[Offset]))),\n 'unitSystem', CONCAT([uss].[Name],'.', [usd].[Name]),\n 'phenomenon', CONCAT([ps].[Name],'.', [pd].[Name])\n ) as item\nFROM\n [meta].[UnitDef] [ud]\n${singleSchema ? `\nJOIN\n [meta].[ECSchemaDef] [schema] ON [schema].[ECInstanceId] = [ud].[Schema].[Id]` : \"\"}\nJOIN [meta].[UnitSystemDef] [usd]\n ON [usd].[ECInstanceId] = [ud].[UnitSystem].[Id]\nJOIN [meta].[ECSchemaDef] [uss]\n ON [uss].[ECInstanceId] = [usd].[Schema].[Id]\nJOIN [meta].[PhenomenonDef] [pd]\n ON [pd].[ECInstanceId] = [ud].[Phenomenon].[Id]\nJOIN [meta].[ECSchemaDef] [ps]\n ON [ps].[ECInstanceId] = [pd].[Schema].[Id]\nWHERE\n ${singleSchema ? `\n [schema].[Name] = :schemaName AND` : \"\"}\n [ud].[IsConstant] = 0 AND\n [ud].[InvertingUnit] IS NULL\n`;\n\n/**\n * Query for SchemaItemType InvertedUnit data.\n * @param singleSchema Indicates if a filter and join for a single Schema should be applied.\n */\nconst invertedUnit = (singleSchema?: boolean) => `\nSELECT\n [ud].[Schema].[Id] AS [SchemaId],\n json_object (\n 'schemaItemType', 'InvertedUnit',\n 'name', [ud].[Name],\n 'label', [ud].[DisplayLabel],\n 'description', [ud].[Description],\n 'unitSystem', CONCAT([systemSchema].[Name],'.', [usd].[Name]),\n 'invertsUnit', IIF([iud].[Name] IS NULL, null, CONCAT([ius].[Name],'.', [iud].[Name]))\n ) as [item]\nFROM\n [meta].[UnitDef] [ud]\n${singleSchema ? `\nJOIN\n [meta].[ECSchemaDef] [schema] ON [schema].[ECInstanceId] = [ud].[Schema].[Id]` : \"\"}\nJOIN [meta].[UnitSystemDef] [usd]\n ON [usd].[ECInstanceId] = [ud].[UnitSystem].[Id]\nJOIN [meta].[ECSchemaDef] [systemSchema]\n ON [systemSchema].[ECInstanceId] = [usd].[Schema].[Id]\nLEFT JOIN [meta].[UnitDef] [iud]\n ON [iud].[ECInstanceId] = [ud].[InvertingUnit].[Id]\nLEFT JOIN [meta].[ECSchemaDef] [ius]\n ON [ius].[ECInstanceId] = [iud].[Schema].[Id]\nWHERE\n ${singleSchema ? `\n [schema].[Name] = :schemaName AND` : \"\"}\n [ud].[IsConstant] = 0 AND\n [ud].[InvertingUnit] IS NOT NULL\n`;\n\n/**\n * Query for SchemaItemType Constant data.\n * @param singleSchema Indicates if a filter and join for a single Schema should be applied.\n */\nconst constant = (singleSchema?: boolean) => `\nSELECT\n [cd].[Schema].[Id] AS [SchemaId],\n json_object(\n 'schemaItemType', 'Constant',\n 'name', [cd].[Name],\n 'label', [cd].[DisplayLabel],\n 'description', [cd].[Description],\n 'definition', [cd].[Definition],\n 'numerator', IIF([cd].[Numerator] IS NULL, NULL, json(format('%.16g', [cd].[Numerator]))),\n 'denominator', IIF([cd].[Denominator] IS NULL, NULL, json(format('%.16g', [cd].[Denominator]))),\n 'phenomenon', CONCAT([phenomSchema].[Name],'.', [phenomDef].[Name])\n ) as item\nFROM\n [meta].[UnitDef] [cd]\n${singleSchema ? `\nJOIN\n [meta].[ECSchemaDef] [schema] ON [schema].[ECInstanceId] = [cd].[Schema].[Id]` : \"\"}\nJOIN [meta].[PhenomenonDef] [phenomDef]\n ON [phenomDef].[ECInstanceId] = [cd].[Phenomenon].[Id]\nJOIN [meta].[ECSchemaDef] [phenomSchema]\n ON [phenomSchema].[ECInstanceId] = [phenomDef].[Schema].[Id]\nWHERE\n ${singleSchema ? `\n [schema].[Name] = :schemaName AND` : \"\"}\n [cd].[IsConstant] = 1\n`;\n\n/**\n * Query for SchemaItemType UnitSystem data.\n * @param singleSchema Indicates if a filter and join for a single Schema should be applied.\n */\nconst unitSystem = (singleSchema?: boolean) => `\nSELECT\n [us].[Schema].[Id] AS [SchemaId],\n json_object (\n 'schemaItemType', 'UnitSystem',\n 'name', [us].[Name],\n 'label', [us].[DisplayLabel],\n 'description', [us].[Description]\n ) as [item]\nFROM\n [meta].[UnitSystemDef] [us]\n${singleSchema ? `\nJOIN\n [meta].[ECSchemaDef] [schema] ON [schema].[ECInstanceId] = [us].[Schema].[Id]\nWHERE [schema].[Name] = :schemaName` : \"\"}\n`;\n\n/**\n * Query for SchemaItemType Phenomenon data.\n * @param singleSchema Indicates if a filter and join for a single Schema should be applied.\n */\nconst phenomenon = (singleSchema?: boolean) => `\nSELECT\n [pd].[Schema].[Id] AS [SchemaId],\n json_object(\n 'schemaItemType', 'Phenomenon',\n 'name', [pd].[Name],\n 'label', [pd].[DisplayLabel],\n 'description', [pd].[Description],\n 'definition', [pd].[Definition]\n ) as [item]\nFROM\n [meta].[PhenomenonDef] [pd]\n${singleSchema ? `\nJOIN\n [meta].[ECSchemaDef] [schema] ON [schema].[ECInstanceId] = [pd].[Schema].[Id]\nWHERE [schema].[Name] = :schemaName` : \"\"}\n`;\n\n/**\n * Query for SchemaItemType Format data.\n * @param singleSchema Indicates if a filter and join for a single Schema should be applied.\n */\nconst format = (singleSchema?: boolean) => `\nSELECT\n [fd].[Schema].[Id] AS [SchemaId],\n json_object(\n 'schemaItemType', 'Format',\n 'name', [fd].[Name],\n 'label', [fd].[DisplayLabel],\n 'description', [fd].[Description],\n 'type', json_extract([fd].[NumericSpec], '$.type'),\n 'precision', json_extract([fd].[NumericSpec], '$.precision'),\n 'roundFactor', json_extract([fd].[NumericSpec], '$.roundFactor'),\n 'minWidth', json_extract([fd].[NumericSpec], '$.minWidth'),\n 'showSignOption', json_extract([fd].[NumericSpec], '$.showSignOption'),\n 'decimalSeparator', json_extract([fd].[NumericSpec], '$.decimalSeparator'),\n 'thousandSeparator', json_extract([fd].[NumericSpec], '$.thousandSeparator'),\n 'uomSeparator', json_extract([fd].[NumericSpec], '$.uomSeparator'),\n 'scientificType', json_extract([fd].[NumericSpec], '$.scientificType'),\n 'stationOffsetSize', json_extract([fd].[NumericSpec], '$.stationOffsetSize'),\n 'stationSeparator', json_extract([fd].[NumericSpec], '$.stationSeparator'),\n 'formatTraits', json_extract([fd].[NumericSpec], '$.formatTraits')\n ${singleSchema ? `\n ,'composite', (\n SELECT\n json_object(\n 'spacer', json_extract([fd1].[CompositeSpec], '$.spacer'),\n 'includeZero', json(IIF(json_extract([fd1].[CompositeSpec], '$.includeZero') = 1, 'true', IIF(json_extract([fd1].[CompositeSpec], '$.includeZero') = 0, 'false', null))),\n 'units', (\n SELECT json_group_array(json(json_object(\n 'name', CONCAT([sd].[Name], '.', [ud].[Name]),\n 'label', [fud].[Label]\n )))\n FROM [meta].[FormatDef] [fd2]\n LEFT JOIN [meta].[FormatCompositeUnitDef] [fud] ON [fud].[Format].[Id] = [fd2].[ECInstanceId]\n LEFT JOIN [meta].[UnitDef] [ud] ON [ud].[ECInstanceId] = [fud].[Unit].[Id]\n INNER JOIN [meta].[ECSchemaDef] [sd] ON [sd].[ECInstanceId] = [ud].[Schema].[Id]\n WHERE [fd2].[ECInstanceId] = [fd1].[ECInstanceId]\n )\n )\n FROM [meta].[FormatDef] [fd1]\n WHERE [fd1].[ECInstanceId]= [fd].[ECInstanceId] AND [fd1].[CompositeSpec] IS NOT NULL\n )` : \"\"}\n) AS item\nFROM\n [meta].[FormatDef] [fd]\n${singleSchema ? `\nJOIN\n [meta].[ECSchemaDef] [schema] ON [schema].[ECInstanceId] = [fd].[Schema].[Id]\nWHERE [schema].[Name] = :schemaName` : \"\"}\n`\n\n/**\n * Queries for each SchemaItemType\n * @internal\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const SchemaItemQueries = {\n kindOfQuantity,\n propertyCategory,\n enumeration,\n unit,\n invertedUnit,\n constant,\n unitSystem,\n phenomenon,\n format\n};\n"]}
|
|
1
|
+
{"version":3,"file":"SchemaItemQueries.js","sourceRoot":"","sources":["../../../src/IncrementalLoading/SchemaItemQueries.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;AAEhG;;;qFAGqF;AAErF;;;GAGG;AACH,MAAM,cAAc,GAAG,CAAC,YAAsB,EAAE,EAAE,CAAC;;;;;;;;;;MAU7C,YAAY,CAAC,CAAC,CAAC;;;;;OAKd,CAAA,CAAC,CAAC,EAAE;;;;EAIT,YAAY,CAAC,CAAC,CAAC;;;;CAIhB,CAAC,CAAC,CAAC,EAAE;CACL,CAAC;AAEF;;;GAGG;AACH,MAAM,gBAAgB,GAAG,CAAC,YAAsB,EAAE,EAAE,CAAC;;;;;;;;;;;;EAYnD,YAAY,CAAC,CAAC,CAAC;;;;CAIhB,CAAC,CAAC,CAAC,EAAE;CACL,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,GAAG,CAAC,YAAsB,EAAE,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;EAuB9C,YAAY,CAAC,CAAC,CAAC;;;oCAGmB,CAAC,CAAC,CAAC,EAAE;CACxC,CAAC;AAEF;;;GAGG;AACH,MAAM,IAAI,GAAG,CAAC,YAAsB,EAAE,EAAE,CAAC;;;;;;;;;;;;;;;;;EAiBvC,YAAY,CAAC,CAAC,CAAC;;gFAE+D,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;IAUjF,YAAY,CAAC,CAAC,CAAC;oCACiB,CAAC,CAAC,CAAC,EAAE;;;CAGxC,CAAC;AAEF;;;GAGG;AACH,MAAM,YAAY,GAAG,CAAC,YAAsB,EAAE,EAAE,CAAC;;;;;;;;;;;;;EAa/C,YAAY,CAAC,CAAC,CAAC;;gFAE+D,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;IAUjF,YAAY,CAAC,CAAC,CAAC;oCACiB,CAAC,CAAC,CAAC,EAAE;;;CAGxC,CAAC;AAEF;;;GAGG;AACH,MAAM,QAAQ,GAAG,CAAC,YAAsB,EAAE,EAAE,CAAC;;;;;;;;;;;;;;;EAe3C,YAAY,CAAC,CAAC,CAAC;;gFAE+D,CAAC,CAAC,CAAC,EAAE;;;;;;IAMjF,YAAY,CAAC,CAAC,CAAC;oCACiB,CAAC,CAAC,CAAC,EAAE;;CAExC,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,GAAG,CAAC,YAAsB,EAAE,EAAE,CAAC;;;;;;;;;;;EAW7C,YAAY,CAAC,CAAC,CAAC;;;oCAGmB,CAAC,CAAC,CAAC,EAAE;CACxC,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,GAAG,CAAC,YAAsB,EAAE,EAAE,CAAC;;;;;;;;;;;;EAY7C,YAAY,CAAC,CAAC,CAAC;;;oCAGmB,CAAC,CAAC,CAAC,EAAE;CACxC,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,GAAG,CAAC,YAAsB,EAAE,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;MAoBrC,YAAY,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;MAoBf,CAAC,CAAC,CAAC,EAAE;;;;EAIT,YAAY,CAAC,CAAC,CAAC;;;oCAGmB,CAAC,CAAC,CAAC,EAAE;CACxC,CAAA;AAED;;;GAGG;AACH,gEAAgE;AACnD,QAAA,iBAAiB,GAAG;IAC/B,cAAc;IACd,gBAAgB;IAChB,WAAW;IACX,IAAI;IACJ,YAAY;IACZ,QAAQ;IACR,UAAU;IACV,UAAU;IACV,MAAM;CACP,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n/************************************************************************************\r\n * All SchemaItem queries for each SchemaItemType are defined here. These queries\r\n * are shared for both 'partial schema' and 'full schema' queries.\r\n ***********************************************************************************/\r\n\r\n/**\r\n * Query for SchemaItemType KindOfQuantity data.\r\n * @param singleSchema Indicates if a filter and join for a single Schema should be applied.\r\n */\r\nconst kindOfQuantity = (singleSchema?: boolean) => `\r\nSELECT\r\n [koq].[Schema].[Id] AS [SchemaId],\r\n json_object (\r\n 'schemaItemType', 'KindOfQuantity',\r\n 'name', [koq].[Name],\r\n 'label', [koq].[DisplayLabel],\r\n 'description', [koq].[Description],\r\n 'relativeError', [koq].[RelativeError],\r\n 'persistenceUnit', [koq].[PersistenceUnit]\r\n ${singleSchema ? `\r\n ,'presentationUnits', (\r\n SELECT json_group_array(js.\"value\")\r\n FROM [meta].[KindOfQuantityDef] [koq1], json1.json_each([PresentationUnits]) js\r\n WHERE [koq1].[ECInstanceId] = [koq].[ECInstanceId]\r\n ) `: \"\"}\r\n ) as [item]\r\nFROM\r\n [meta].[KindOfQuantityDef] [koq]\r\n${singleSchema ? `\r\nJOIN\r\n [meta].[ECSchemaDef] [schema] ON [schema].[ECInstanceId] = [koq].[Schema].[Id]\r\nWHERE [schema].[Name] = :schemaName\r\n` : \"\"}\r\n`;\r\n\r\n/**\r\n * Query for SchemaItemType PropertyCategory data.\r\n * @param singleSchema Indicates if a filter and join for a single Schema should be applied.\r\n */\r\nconst propertyCategory = (singleSchema?: boolean) => `\r\nSELECT\r\n [pc].[Schema].[Id] AS [SchemaId],\r\n json_object (\r\n 'schemaItemType', 'PropertyCategory',\r\n 'name', [pc].[Name],\r\n 'label', [pc].[DisplayLabel],\r\n 'description', [pc].[Description],\r\n 'priority', [pc].[Priority]\r\n ) as [item]\r\nFROM\r\n [meta].[PropertyCategoryDef] [pc]\r\n${singleSchema ? `\r\nJOIN\r\n [meta].[ECSchemaDef] [schema] ON [schema].[ECInstanceId] = [pc].[Schema].[Id]\r\nWHERE [schema].[Name] = :schemaName\r\n` : \"\"}\r\n`;\r\n\r\n/**\r\n * Query for SchemaItemType Enumeration data.\r\n * @param singleSchema Indicates if a filter and join for a single Schema should be applied.\r\n */\r\nconst enumeration = (singleSchema?: boolean) => `\r\nSELECT\r\n [ed].[Schema].[Id] AS [SchemaId],\r\n json_object (\r\n 'schemaItemType', 'Enumeration',\r\n 'name', [ed].[Name],\r\n 'label', [ed].[DisplayLabel],\r\n 'description', [ed].[Description],\r\n 'type', IIF([ed].[Type] = 1281, 'int', IIF([ed].[Type] = 2305, 'string', null)),\r\n 'isStrict', IIF([ed].[IsStrict] = 1, json('true'), json('false')),\r\n 'enumerators', (\r\n SELECT json_group_array(json(json_object(\r\n 'name', json_extract(js.\"value\", '$.Name'),\r\n 'value', IFNULL(json_extract(js.\"value\", '$.StringValue'), (json_extract(js.\"value\", '$.IntValue'))),\r\n 'label', json_extract(js.\"value\", '$.DisplayLabel'),\r\n 'description', json_extract(js.\"value\", '$.Description')\r\n )))\r\n FROM [meta].[ECEnumerationDef] [enumerationDef], json1.json_each([EnumValues]) js\r\n WHERE [enumerationDef].[ECInstanceId] = [ed].[ECInstanceId]\r\n )\r\n ) as [item]\r\nFROM\r\n [meta].[ECEnumerationDef] [ed]\r\n${singleSchema ? `\r\nJOIN\r\n [meta].[ECSchemaDef] [schema] ON [schema].[ECInstanceId] = [ed].[Schema].[Id]\r\nWHERE [schema].[Name] = :schemaName` : \"\"}\r\n`;\r\n\r\n/**\r\n * Query for SchemaItemType Unit data.\r\n * @param singleSchema Indicates if a filter and join for a single Schema should be applied.\r\n */\r\nconst unit = (singleSchema?: boolean) => `\r\nSELECT\r\n [ud].[Schema].[Id] AS [SchemaId],\r\n json_object (\r\n 'schemaItemType', 'Unit',\r\n 'name', [ud].[Name],\r\n 'label', [ud].[DisplayLabel],\r\n 'description', [ud].[Description],\r\n 'definition', [ud].[Definition],\r\n 'numerator', IIF([ud].[Numerator] IS NULL, NULL, json(format('%.16g', [ud].[Numerator]))),\r\n 'denominator', IIF([ud].[Denominator] IS NULL, NULL, json(format('%.16g', [ud].[Denominator]))),\r\n 'offset', IIF([ud].[Offset] IS NULL, NULL, json(format('%!.15f', [ud].[Offset]))),\r\n 'unitSystem', CONCAT([uss].[Name],'.', [usd].[Name]),\r\n 'phenomenon', CONCAT([ps].[Name],'.', [pd].[Name])\r\n ) as item\r\nFROM\r\n [meta].[UnitDef] [ud]\r\n${singleSchema ? `\r\nJOIN\r\n [meta].[ECSchemaDef] [schema] ON [schema].[ECInstanceId] = [ud].[Schema].[Id]` : \"\"}\r\nJOIN [meta].[UnitSystemDef] [usd]\r\n ON [usd].[ECInstanceId] = [ud].[UnitSystem].[Id]\r\nJOIN [meta].[ECSchemaDef] [uss]\r\n ON [uss].[ECInstanceId] = [usd].[Schema].[Id]\r\nJOIN [meta].[PhenomenonDef] [pd]\r\n ON [pd].[ECInstanceId] = [ud].[Phenomenon].[Id]\r\nJOIN [meta].[ECSchemaDef] [ps]\r\n ON [ps].[ECInstanceId] = [pd].[Schema].[Id]\r\nWHERE\r\n ${singleSchema ? `\r\n [schema].[Name] = :schemaName AND` : \"\"}\r\n [ud].[IsConstant] = 0 AND\r\n [ud].[InvertingUnit] IS NULL\r\n`;\r\n\r\n/**\r\n * Query for SchemaItemType InvertedUnit data.\r\n * @param singleSchema Indicates if a filter and join for a single Schema should be applied.\r\n */\r\nconst invertedUnit = (singleSchema?: boolean) => `\r\nSELECT\r\n [ud].[Schema].[Id] AS [SchemaId],\r\n json_object (\r\n 'schemaItemType', 'InvertedUnit',\r\n 'name', [ud].[Name],\r\n 'label', [ud].[DisplayLabel],\r\n 'description', [ud].[Description],\r\n 'unitSystem', CONCAT([systemSchema].[Name],'.', [usd].[Name]),\r\n 'invertsUnit', IIF([iud].[Name] IS NULL, null, CONCAT([ius].[Name],'.', [iud].[Name]))\r\n ) as [item]\r\nFROM\r\n [meta].[UnitDef] [ud]\r\n${singleSchema ? `\r\nJOIN\r\n [meta].[ECSchemaDef] [schema] ON [schema].[ECInstanceId] = [ud].[Schema].[Id]` : \"\"}\r\nJOIN [meta].[UnitSystemDef] [usd]\r\n ON [usd].[ECInstanceId] = [ud].[UnitSystem].[Id]\r\nJOIN [meta].[ECSchemaDef] [systemSchema]\r\n ON [systemSchema].[ECInstanceId] = [usd].[Schema].[Id]\r\nLEFT JOIN [meta].[UnitDef] [iud]\r\n ON [iud].[ECInstanceId] = [ud].[InvertingUnit].[Id]\r\nLEFT JOIN [meta].[ECSchemaDef] [ius]\r\n ON [ius].[ECInstanceId] = [iud].[Schema].[Id]\r\nWHERE\r\n ${singleSchema ? `\r\n [schema].[Name] = :schemaName AND` : \"\"}\r\n [ud].[IsConstant] = 0 AND\r\n [ud].[InvertingUnit] IS NOT NULL\r\n`;\r\n\r\n/**\r\n * Query for SchemaItemType Constant data.\r\n * @param singleSchema Indicates if a filter and join for a single Schema should be applied.\r\n */\r\nconst constant = (singleSchema?: boolean) => `\r\nSELECT\r\n [cd].[Schema].[Id] AS [SchemaId],\r\n json_object(\r\n 'schemaItemType', 'Constant',\r\n 'name', [cd].[Name],\r\n 'label', [cd].[DisplayLabel],\r\n 'description', [cd].[Description],\r\n 'definition', [cd].[Definition],\r\n 'numerator', IIF([cd].[Numerator] IS NULL, NULL, json(format('%.16g', [cd].[Numerator]))),\r\n 'denominator', IIF([cd].[Denominator] IS NULL, NULL, json(format('%.16g', [cd].[Denominator]))),\r\n 'phenomenon', CONCAT([phenomSchema].[Name],'.', [phenomDef].[Name])\r\n ) as item\r\nFROM\r\n [meta].[UnitDef] [cd]\r\n${singleSchema ? `\r\nJOIN\r\n [meta].[ECSchemaDef] [schema] ON [schema].[ECInstanceId] = [cd].[Schema].[Id]` : \"\"}\r\nJOIN [meta].[PhenomenonDef] [phenomDef]\r\n ON [phenomDef].[ECInstanceId] = [cd].[Phenomenon].[Id]\r\nJOIN [meta].[ECSchemaDef] [phenomSchema]\r\n ON [phenomSchema].[ECInstanceId] = [phenomDef].[Schema].[Id]\r\nWHERE\r\n ${singleSchema ? `\r\n [schema].[Name] = :schemaName AND` : \"\"}\r\n [cd].[IsConstant] = 1\r\n`;\r\n\r\n/**\r\n * Query for SchemaItemType UnitSystem data.\r\n * @param singleSchema Indicates if a filter and join for a single Schema should be applied.\r\n */\r\nconst unitSystem = (singleSchema?: boolean) => `\r\nSELECT\r\n [us].[Schema].[Id] AS [SchemaId],\r\n json_object (\r\n 'schemaItemType', 'UnitSystem',\r\n 'name', [us].[Name],\r\n 'label', [us].[DisplayLabel],\r\n 'description', [us].[Description]\r\n ) as [item]\r\nFROM\r\n [meta].[UnitSystemDef] [us]\r\n${singleSchema ? `\r\nJOIN\r\n [meta].[ECSchemaDef] [schema] ON [schema].[ECInstanceId] = [us].[Schema].[Id]\r\nWHERE [schema].[Name] = :schemaName` : \"\"}\r\n`;\r\n\r\n/**\r\n * Query for SchemaItemType Phenomenon data.\r\n * @param singleSchema Indicates if a filter and join for a single Schema should be applied.\r\n */\r\nconst phenomenon = (singleSchema?: boolean) => `\r\nSELECT\r\n [pd].[Schema].[Id] AS [SchemaId],\r\n json_object(\r\n 'schemaItemType', 'Phenomenon',\r\n 'name', [pd].[Name],\r\n 'label', [pd].[DisplayLabel],\r\n 'description', [pd].[Description],\r\n 'definition', [pd].[Definition]\r\n ) as [item]\r\nFROM\r\n [meta].[PhenomenonDef] [pd]\r\n${singleSchema ? `\r\nJOIN\r\n [meta].[ECSchemaDef] [schema] ON [schema].[ECInstanceId] = [pd].[Schema].[Id]\r\nWHERE [schema].[Name] = :schemaName` : \"\"}\r\n`;\r\n\r\n/**\r\n * Query for SchemaItemType Format data.\r\n * @param singleSchema Indicates if a filter and join for a single Schema should be applied.\r\n */\r\nconst format = (singleSchema?: boolean) => `\r\nSELECT\r\n [fd].[Schema].[Id] AS [SchemaId],\r\n json_object(\r\n 'schemaItemType', 'Format',\r\n 'name', [fd].[Name],\r\n 'label', [fd].[DisplayLabel],\r\n 'description', [fd].[Description],\r\n 'type', json_extract([fd].[NumericSpec], '$.type'),\r\n 'precision', json_extract([fd].[NumericSpec], '$.precision'),\r\n 'roundFactor', json_extract([fd].[NumericSpec], '$.roundFactor'),\r\n 'minWidth', json_extract([fd].[NumericSpec], '$.minWidth'),\r\n 'showSignOption', json_extract([fd].[NumericSpec], '$.showSignOption'),\r\n 'decimalSeparator', json_extract([fd].[NumericSpec], '$.decimalSeparator'),\r\n 'thousandSeparator', json_extract([fd].[NumericSpec], '$.thousandSeparator'),\r\n 'uomSeparator', json_extract([fd].[NumericSpec], '$.uomSeparator'),\r\n 'scientificType', json_extract([fd].[NumericSpec], '$.scientificType'),\r\n 'stationOffsetSize', json_extract([fd].[NumericSpec], '$.stationOffsetSize'),\r\n 'stationSeparator', json_extract([fd].[NumericSpec], '$.stationSeparator'),\r\n 'formatTraits', json_extract([fd].[NumericSpec], '$.formatTraits')\r\n ${singleSchema ? `\r\n ,'composite', (\r\n SELECT\r\n json_object(\r\n 'spacer', json_extract([fd1].[CompositeSpec], '$.spacer'),\r\n 'includeZero', json(IIF(json_extract([fd1].[CompositeSpec], '$.includeZero') = 1, 'true', IIF(json_extract([fd1].[CompositeSpec], '$.includeZero') = 0, 'false', null))),\r\n 'units', (\r\n SELECT json_group_array(json(json_object(\r\n 'name', CONCAT([sd].[Name], '.', [ud].[Name]),\r\n 'label', [fud].[Label]\r\n )))\r\n FROM [meta].[FormatDef] [fd2]\r\n LEFT JOIN [meta].[FormatCompositeUnitDef] [fud] ON [fud].[Format].[Id] = [fd2].[ECInstanceId]\r\n LEFT JOIN [meta].[UnitDef] [ud] ON [ud].[ECInstanceId] = [fud].[Unit].[Id]\r\n INNER JOIN [meta].[ECSchemaDef] [sd] ON [sd].[ECInstanceId] = [ud].[Schema].[Id]\r\n WHERE [fd2].[ECInstanceId] = [fd1].[ECInstanceId]\r\n )\r\n )\r\n FROM [meta].[FormatDef] [fd1]\r\n WHERE [fd1].[ECInstanceId]= [fd].[ECInstanceId] AND [fd1].[CompositeSpec] IS NOT NULL\r\n )` : \"\"}\r\n) AS item\r\nFROM\r\n [meta].[FormatDef] [fd]\r\n${singleSchema ? `\r\nJOIN\r\n [meta].[ECSchemaDef] [schema] ON [schema].[ECInstanceId] = [fd].[Schema].[Id]\r\nWHERE [schema].[Name] = :schemaName` : \"\"}\r\n`\r\n\r\n/**\r\n * Queries for each SchemaItemType\r\n * @internal\r\n */\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nexport const SchemaItemQueries = {\r\n kindOfQuantity,\r\n propertyCategory,\r\n enumeration,\r\n unit,\r\n invertedUnit,\r\n constant,\r\n unitSystem,\r\n phenomenon,\r\n format\r\n};\r\n"]}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
|
-
import { SchemaContext } from "../Context";
|
|
2
1
|
import { SchemaItemProps, SchemaProps } from "../Deserialization/JsonProps";
|
|
2
|
+
import { SchemaItemType } from "../ECObjects";
|
|
3
|
+
import { SchemaInfo } from "../Interfaces";
|
|
3
4
|
import { CustomAttribute } from "../Metadata/CustomAttribute";
|
|
5
|
+
interface NamedSchemaItemProps extends SchemaItemProps {
|
|
6
|
+
name: string;
|
|
7
|
+
schemaItemType: SchemaItemType;
|
|
8
|
+
}
|
|
4
9
|
/**
|
|
5
10
|
* Parses SchemaProps JSON returned from an ECSql query and returns the correct SchemaProps JSON object.
|
|
6
11
|
* This is necessary as a small amount information (ie. CustomAttributes, unqualified type names, etc.)
|
|
@@ -16,7 +21,7 @@ export declare class SchemaParser {
|
|
|
16
21
|
* @param context The SchemaContext that will contain the schema and it's references.
|
|
17
22
|
* @returns The corrected SchemaProps JSON.
|
|
18
23
|
*/
|
|
19
|
-
static parse(schema: SchemaProps,
|
|
24
|
+
static parse(schema: SchemaProps, schemaInfos: Iterable<SchemaInfo>): Promise<SchemaProps>;
|
|
20
25
|
/**
|
|
21
26
|
* Parse the given SchemaItemProps array, as returned from an ECSql query, and returns the corrected SchemaItemProps.
|
|
22
27
|
* @param schemaItems The SchemaItemProps array returned from an iModelDb.
|
|
@@ -24,9 +29,9 @@ export declare class SchemaParser {
|
|
|
24
29
|
* @param context The SchemaContext containing the Schema.
|
|
25
30
|
* @returns The corrected SchemaItemProps.
|
|
26
31
|
*/
|
|
27
|
-
static parseSchemaItems(schemaItems: readonly SchemaItemProps[], schemaName: string,
|
|
32
|
+
static parseSchemaItems(schemaItems: readonly SchemaItemProps[], schemaName: string, schemaInfos: Iterable<SchemaInfo>): Promise<NamedSchemaItemProps[] | undefined>;
|
|
28
33
|
private static parseItems;
|
|
29
|
-
static parseItem(props: SchemaItemProps, schemaName: string,
|
|
34
|
+
static parseItem(props: SchemaItemProps, schemaName: string, schemaInfos: Iterable<SchemaInfo>): Promise<NamedSchemaItemProps>;
|
|
30
35
|
}
|
|
31
36
|
/**
|
|
32
37
|
* Utility method to parse CustomAttribute data retrieved from a ECSql query.
|
|
@@ -39,4 +44,5 @@ export declare function parseCustomAttribute(customAttribute: {
|
|
|
39
44
|
ecSchema: string;
|
|
40
45
|
[propName: string]: any;
|
|
41
46
|
}): CustomAttribute;
|
|
47
|
+
export {};
|
|
42
48
|
//# sourceMappingURL=SchemaParser.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemaParser.d.ts","sourceRoot":"","sources":["../../../src/IncrementalLoading/SchemaParser.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"SchemaParser.d.ts","sourceRoot":"","sources":["../../../src/IncrementalLoading/SchemaParser.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EAAuB,cAAc,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAY9D,UAAU,oBAAqB,SAAQ,eAAe;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,cAAc,CAAC;CAChC;AAED;;;;;;GAMG;AACH,qBAAa,YAAY;IACvB;;;;;;OAMG;WACiB,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;IAiBvG;;;;;;OAMG;WACiB,gBAAgB,CAAC,WAAW,EAAE,SAAS,eAAe,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,oBAAoB,EAAE,GAAG,SAAS,CAAC;mBAU5J,UAAU;WAWX,SAAS,CAAC,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAyB5I;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,eAAe,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAA,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAC;CAAE,GAAG,eAAe,CAKrI"}
|