@itwin/ecschema-metadata 5.2.0-dev.3 → 5.2.0-dev.30
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 +55 -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.js +465 -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 +16 -16
- 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.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.js +465 -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 +16 -16
- 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.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
|
@@ -10,281 +10,281 @@
|
|
|
10
10
|
* Query for SchemaItemType KindOfQuantity data.
|
|
11
11
|
* @param singleSchema Indicates if a filter and join for a single Schema should be applied.
|
|
12
12
|
*/
|
|
13
|
-
const kindOfQuantity = (singleSchema) => `
|
|
14
|
-
SELECT
|
|
15
|
-
[koq].[Schema].[Id] AS [SchemaId],
|
|
16
|
-
json_object (
|
|
17
|
-
'schemaItemType', 'KindOfQuantity',
|
|
18
|
-
'name', [koq].[Name],
|
|
19
|
-
'label', [koq].[DisplayLabel],
|
|
20
|
-
'description', [koq].[Description]
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
'presentationUnits', (
|
|
25
|
-
SELECT json_group_array(js."value")
|
|
26
|
-
FROM [meta].[KindOfQuantityDef] [koq1], json1.json_each([PresentationUnits]) js
|
|
27
|
-
WHERE [koq1].[ECInstanceId] = [koq].[ECInstanceId]
|
|
28
|
-
) ` : ""}
|
|
29
|
-
) as [item]
|
|
30
|
-
FROM
|
|
31
|
-
[meta].[KindOfQuantityDef] [koq]
|
|
32
|
-
${singleSchema ? `
|
|
33
|
-
JOIN
|
|
34
|
-
[meta].[ECSchemaDef] [schema] ON [schema].[ECInstanceId] = [koq].[Schema].[Id]
|
|
35
|
-
WHERE [schema].[Name] = :schemaName
|
|
36
|
-
` : ""}
|
|
13
|
+
const kindOfQuantity = (singleSchema) => `
|
|
14
|
+
SELECT
|
|
15
|
+
[koq].[Schema].[Id] AS [SchemaId],
|
|
16
|
+
json_object (
|
|
17
|
+
'schemaItemType', 'KindOfQuantity',
|
|
18
|
+
'name', [koq].[Name],
|
|
19
|
+
'label', [koq].[DisplayLabel],
|
|
20
|
+
'description', [koq].[Description]
|
|
21
|
+
,'relativeError', [koq].[RelativeError],
|
|
22
|
+
'persistenceUnit', [koq].[PersistenceUnit]
|
|
23
|
+
${singleSchema ? `
|
|
24
|
+
, 'presentationUnits', (
|
|
25
|
+
SELECT json_group_array(js."value")
|
|
26
|
+
FROM [meta].[KindOfQuantityDef] [koq1], json1.json_each([PresentationUnits]) js
|
|
27
|
+
WHERE [koq1].[ECInstanceId] = [koq].[ECInstanceId]
|
|
28
|
+
) ` : ""}
|
|
29
|
+
) as [item]
|
|
30
|
+
FROM
|
|
31
|
+
[meta].[KindOfQuantityDef] [koq]
|
|
32
|
+
${singleSchema ? `
|
|
33
|
+
JOIN
|
|
34
|
+
[meta].[ECSchemaDef] [schema] ON [schema].[ECInstanceId] = [koq].[Schema].[Id]
|
|
35
|
+
WHERE [schema].[Name] = :schemaName
|
|
36
|
+
` : ""}
|
|
37
37
|
`;
|
|
38
38
|
/**
|
|
39
39
|
* Query for SchemaItemType PropertyCategory data.
|
|
40
40
|
* @param singleSchema Indicates if a filter and join for a single Schema should be applied.
|
|
41
41
|
*/
|
|
42
|
-
const propertyCategory = (singleSchema) => `
|
|
43
|
-
SELECT
|
|
44
|
-
[pc].[Schema].[Id] AS [SchemaId],
|
|
45
|
-
json_object (
|
|
46
|
-
'schemaItemType', 'PropertyCategory',
|
|
47
|
-
'name', [pc].[Name],
|
|
48
|
-
'label', [pc].[DisplayLabel],
|
|
49
|
-
'description', [pc].[Description],
|
|
50
|
-
'priority', [pc].[Priority]
|
|
51
|
-
) as [item]
|
|
52
|
-
FROM
|
|
53
|
-
[meta].[PropertyCategoryDef] [pc]
|
|
54
|
-
${singleSchema ? `
|
|
55
|
-
JOIN
|
|
56
|
-
[meta].[ECSchemaDef] [schema] ON [schema].[ECInstanceId] = [pc].[Schema].[Id]
|
|
57
|
-
WHERE [schema].[Name] = :schemaName
|
|
58
|
-
` : ""}
|
|
42
|
+
const propertyCategory = (singleSchema) => `
|
|
43
|
+
SELECT
|
|
44
|
+
[pc].[Schema].[Id] AS [SchemaId],
|
|
45
|
+
json_object (
|
|
46
|
+
'schemaItemType', 'PropertyCategory',
|
|
47
|
+
'name', [pc].[Name],
|
|
48
|
+
'label', [pc].[DisplayLabel],
|
|
49
|
+
'description', [pc].[Description],
|
|
50
|
+
'priority', [pc].[Priority]
|
|
51
|
+
) as [item]
|
|
52
|
+
FROM
|
|
53
|
+
[meta].[PropertyCategoryDef] [pc]
|
|
54
|
+
${singleSchema ? `
|
|
55
|
+
JOIN
|
|
56
|
+
[meta].[ECSchemaDef] [schema] ON [schema].[ECInstanceId] = [pc].[Schema].[Id]
|
|
57
|
+
WHERE [schema].[Name] = :schemaName
|
|
58
|
+
` : ""}
|
|
59
59
|
`;
|
|
60
60
|
/**
|
|
61
61
|
* Query for SchemaItemType Enumeration data.
|
|
62
62
|
* @param singleSchema Indicates if a filter and join for a single Schema should be applied.
|
|
63
63
|
*/
|
|
64
|
-
const enumeration = (singleSchema) => `
|
|
65
|
-
SELECT
|
|
66
|
-
[ed].[Schema].[Id] AS [SchemaId],
|
|
67
|
-
json_object (
|
|
68
|
-
'schemaItemType', 'Enumeration',
|
|
69
|
-
'name', [ed].[Name],
|
|
70
|
-
'label', [ed].[DisplayLabel],
|
|
71
|
-
'description', [ed].[Description],
|
|
72
|
-
'type', IIF([ed].[Type] = 1281, 'int', IIF([ed].[Type] = 2305, 'string', null)),
|
|
73
|
-
'isStrict', IIF([ed].[IsStrict] = 1, json('true'), json('false')),
|
|
74
|
-
'enumerators', (
|
|
75
|
-
SELECT json_group_array(json(json_object(
|
|
76
|
-
'name', json_extract(js."value", '$.Name'),
|
|
77
|
-
'value', IFNULL(json_extract(js."value", '$.StringValue'), (json_extract(js."value", '$.IntValue'))),
|
|
78
|
-
'label', json_extract(js."value", '$.DisplayLabel'),
|
|
79
|
-
'description', json_extract(js."value", '$.Description')
|
|
80
|
-
)))
|
|
81
|
-
FROM [meta].[ECEnumerationDef] [enumerationDef], json1.json_each([EnumValues]) js
|
|
82
|
-
WHERE [enumerationDef].[ECInstanceId] = [ed].[ECInstanceId]
|
|
83
|
-
)
|
|
84
|
-
) as [item]
|
|
85
|
-
FROM
|
|
86
|
-
[meta].[ECEnumerationDef] [ed]
|
|
87
|
-
${singleSchema ? `
|
|
88
|
-
JOIN
|
|
89
|
-
[meta].[ECSchemaDef] [schema] ON [schema].[ECInstanceId] = [ed].[Schema].[Id]
|
|
90
|
-
WHERE [schema].[Name] = :schemaName` : ""}
|
|
64
|
+
const enumeration = (singleSchema) => `
|
|
65
|
+
SELECT
|
|
66
|
+
[ed].[Schema].[Id] AS [SchemaId],
|
|
67
|
+
json_object (
|
|
68
|
+
'schemaItemType', 'Enumeration',
|
|
69
|
+
'name', [ed].[Name],
|
|
70
|
+
'label', [ed].[DisplayLabel],
|
|
71
|
+
'description', [ed].[Description],
|
|
72
|
+
'type', IIF([ed].[Type] = 1281, 'int', IIF([ed].[Type] = 2305, 'string', null)),
|
|
73
|
+
'isStrict', IIF([ed].[IsStrict] = 1, json('true'), json('false')),
|
|
74
|
+
'enumerators', (
|
|
75
|
+
SELECT json_group_array(json(json_object(
|
|
76
|
+
'name', json_extract(js."value", '$.Name'),
|
|
77
|
+
'value', IFNULL(json_extract(js."value", '$.StringValue'), (json_extract(js."value", '$.IntValue'))),
|
|
78
|
+
'label', json_extract(js."value", '$.DisplayLabel'),
|
|
79
|
+
'description', json_extract(js."value", '$.Description')
|
|
80
|
+
)))
|
|
81
|
+
FROM [meta].[ECEnumerationDef] [enumerationDef], json1.json_each([EnumValues]) js
|
|
82
|
+
WHERE [enumerationDef].[ECInstanceId] = [ed].[ECInstanceId]
|
|
83
|
+
)
|
|
84
|
+
) as [item]
|
|
85
|
+
FROM
|
|
86
|
+
[meta].[ECEnumerationDef] [ed]
|
|
87
|
+
${singleSchema ? `
|
|
88
|
+
JOIN
|
|
89
|
+
[meta].[ECSchemaDef] [schema] ON [schema].[ECInstanceId] = [ed].[Schema].[Id]
|
|
90
|
+
WHERE [schema].[Name] = :schemaName` : ""}
|
|
91
91
|
`;
|
|
92
92
|
/**
|
|
93
93
|
* Query for SchemaItemType Unit data.
|
|
94
94
|
* @param singleSchema Indicates if a filter and join for a single Schema should be applied.
|
|
95
95
|
*/
|
|
96
|
-
const unit = (singleSchema) => `
|
|
97
|
-
SELECT
|
|
98
|
-
[ud].[Schema].[Id] AS [SchemaId],
|
|
99
|
-
json_object (
|
|
100
|
-
'schemaItemType', 'Unit',
|
|
101
|
-
'name', [ud].[Name],
|
|
102
|
-
'label', [ud].[DisplayLabel],
|
|
103
|
-
'description', [ud].[Description],
|
|
104
|
-
'definition', [ud].[Definition],
|
|
105
|
-
'numerator', IIF([ud].[Numerator] IS NULL, NULL, json(format('%.16g', [ud].[Numerator]))),
|
|
106
|
-
'denominator', IIF([ud].[Denominator] IS NULL, NULL, json(format('%.16g', [ud].[Denominator]))),
|
|
107
|
-
'offset', IIF([ud].[Offset] IS NULL, NULL, json(format('%!.15f', [ud].[Offset]))),
|
|
108
|
-
'unitSystem', CONCAT([uss].[Name],'.', [usd].[Name]),
|
|
109
|
-
'phenomenon', CONCAT([ps].[Name],'.', [pd].[Name])
|
|
110
|
-
) as item
|
|
111
|
-
FROM
|
|
112
|
-
[meta].[UnitDef] [ud]
|
|
113
|
-
${singleSchema ? `
|
|
114
|
-
JOIN
|
|
115
|
-
[meta].[ECSchemaDef] [schema] ON [schema].[ECInstanceId] = [ud].[Schema].[Id]` : ""}
|
|
116
|
-
JOIN [meta].[UnitSystemDef] [usd]
|
|
117
|
-
ON [usd].[ECInstanceId] = [ud].[UnitSystem].[Id]
|
|
118
|
-
JOIN [meta].[ECSchemaDef] [uss]
|
|
119
|
-
ON [uss].[ECInstanceId] = [usd].[Schema].[Id]
|
|
120
|
-
JOIN [meta].[PhenomenonDef] [pd]
|
|
121
|
-
ON [pd].[ECInstanceId] = [ud].[Phenomenon].[Id]
|
|
122
|
-
JOIN [meta].[ECSchemaDef] [ps]
|
|
123
|
-
ON [ps].[ECInstanceId] = [pd].[Schema].[Id]
|
|
124
|
-
WHERE
|
|
125
|
-
${singleSchema ? `
|
|
126
|
-
[schema].[Name] = :schemaName AND` : ""}
|
|
127
|
-
[ud].[IsConstant] = 0 AND
|
|
128
|
-
[ud].[InvertingUnit] IS NULL
|
|
96
|
+
const unit = (singleSchema) => `
|
|
97
|
+
SELECT
|
|
98
|
+
[ud].[Schema].[Id] AS [SchemaId],
|
|
99
|
+
json_object (
|
|
100
|
+
'schemaItemType', 'Unit',
|
|
101
|
+
'name', [ud].[Name],
|
|
102
|
+
'label', [ud].[DisplayLabel],
|
|
103
|
+
'description', [ud].[Description],
|
|
104
|
+
'definition', [ud].[Definition],
|
|
105
|
+
'numerator', IIF([ud].[Numerator] IS NULL, NULL, json(format('%.16g', [ud].[Numerator]))),
|
|
106
|
+
'denominator', IIF([ud].[Denominator] IS NULL, NULL, json(format('%.16g', [ud].[Denominator]))),
|
|
107
|
+
'offset', IIF([ud].[Offset] IS NULL, NULL, json(format('%!.15f', [ud].[Offset]))),
|
|
108
|
+
'unitSystem', CONCAT([uss].[Name],'.', [usd].[Name]),
|
|
109
|
+
'phenomenon', CONCAT([ps].[Name],'.', [pd].[Name])
|
|
110
|
+
) as item
|
|
111
|
+
FROM
|
|
112
|
+
[meta].[UnitDef] [ud]
|
|
113
|
+
${singleSchema ? `
|
|
114
|
+
JOIN
|
|
115
|
+
[meta].[ECSchemaDef] [schema] ON [schema].[ECInstanceId] = [ud].[Schema].[Id]` : ""}
|
|
116
|
+
JOIN [meta].[UnitSystemDef] [usd]
|
|
117
|
+
ON [usd].[ECInstanceId] = [ud].[UnitSystem].[Id]
|
|
118
|
+
JOIN [meta].[ECSchemaDef] [uss]
|
|
119
|
+
ON [uss].[ECInstanceId] = [usd].[Schema].[Id]
|
|
120
|
+
JOIN [meta].[PhenomenonDef] [pd]
|
|
121
|
+
ON [pd].[ECInstanceId] = [ud].[Phenomenon].[Id]
|
|
122
|
+
JOIN [meta].[ECSchemaDef] [ps]
|
|
123
|
+
ON [ps].[ECInstanceId] = [pd].[Schema].[Id]
|
|
124
|
+
WHERE
|
|
125
|
+
${singleSchema ? `
|
|
126
|
+
[schema].[Name] = :schemaName AND` : ""}
|
|
127
|
+
[ud].[IsConstant] = 0 AND
|
|
128
|
+
[ud].[InvertingUnit] IS NULL
|
|
129
129
|
`;
|
|
130
130
|
/**
|
|
131
131
|
* Query for SchemaItemType InvertedUnit data.
|
|
132
132
|
* @param singleSchema Indicates if a filter and join for a single Schema should be applied.
|
|
133
133
|
*/
|
|
134
|
-
const invertedUnit = (singleSchema) => `
|
|
135
|
-
SELECT
|
|
136
|
-
[ud].[Schema].[Id] AS [SchemaId],
|
|
137
|
-
json_object (
|
|
138
|
-
'schemaItemType', 'InvertedUnit',
|
|
139
|
-
'name', [ud].[Name],
|
|
140
|
-
'label', [ud].[DisplayLabel],
|
|
141
|
-
'description', [ud].[Description],
|
|
142
|
-
'unitSystem', CONCAT([systemSchema].[Name],'.', [usd].[Name]),
|
|
143
|
-
'invertsUnit', IIF([iud].[Name] IS NULL, null, CONCAT([ius].[Name],'.', [iud].[Name]))
|
|
144
|
-
) as [item]
|
|
145
|
-
FROM
|
|
146
|
-
[meta].[UnitDef] [ud]
|
|
147
|
-
${singleSchema ? `
|
|
148
|
-
JOIN
|
|
149
|
-
[meta].[ECSchemaDef] [schema] ON [schema].[ECInstanceId] = [ud].[Schema].[Id]` : ""}
|
|
150
|
-
JOIN [meta].[UnitSystemDef] [usd]
|
|
151
|
-
ON [usd].[ECInstanceId] = [ud].[UnitSystem].[Id]
|
|
152
|
-
JOIN [meta].[ECSchemaDef] [systemSchema]
|
|
153
|
-
ON [systemSchema].[ECInstanceId] = [usd].[Schema].[Id]
|
|
154
|
-
LEFT JOIN [meta].[UnitDef] [iud]
|
|
155
|
-
ON [iud].[ECInstanceId] = [ud].[InvertingUnit].[Id]
|
|
156
|
-
LEFT JOIN [meta].[ECSchemaDef] [ius]
|
|
157
|
-
ON [ius].[ECInstanceId] = [iud].[Schema].[Id]
|
|
158
|
-
WHERE
|
|
159
|
-
${singleSchema ? `
|
|
160
|
-
[schema].[Name] = :schemaName AND` : ""}
|
|
161
|
-
[ud].[IsConstant] = 0 AND
|
|
162
|
-
[ud].[InvertingUnit] IS NOT NULL
|
|
134
|
+
const invertedUnit = (singleSchema) => `
|
|
135
|
+
SELECT
|
|
136
|
+
[ud].[Schema].[Id] AS [SchemaId],
|
|
137
|
+
json_object (
|
|
138
|
+
'schemaItemType', 'InvertedUnit',
|
|
139
|
+
'name', [ud].[Name],
|
|
140
|
+
'label', [ud].[DisplayLabel],
|
|
141
|
+
'description', [ud].[Description],
|
|
142
|
+
'unitSystem', CONCAT([systemSchema].[Name],'.', [usd].[Name]),
|
|
143
|
+
'invertsUnit', IIF([iud].[Name] IS NULL, null, CONCAT([ius].[Name],'.', [iud].[Name]))
|
|
144
|
+
) as [item]
|
|
145
|
+
FROM
|
|
146
|
+
[meta].[UnitDef] [ud]
|
|
147
|
+
${singleSchema ? `
|
|
148
|
+
JOIN
|
|
149
|
+
[meta].[ECSchemaDef] [schema] ON [schema].[ECInstanceId] = [ud].[Schema].[Id]` : ""}
|
|
150
|
+
JOIN [meta].[UnitSystemDef] [usd]
|
|
151
|
+
ON [usd].[ECInstanceId] = [ud].[UnitSystem].[Id]
|
|
152
|
+
JOIN [meta].[ECSchemaDef] [systemSchema]
|
|
153
|
+
ON [systemSchema].[ECInstanceId] = [usd].[Schema].[Id]
|
|
154
|
+
LEFT JOIN [meta].[UnitDef] [iud]
|
|
155
|
+
ON [iud].[ECInstanceId] = [ud].[InvertingUnit].[Id]
|
|
156
|
+
LEFT JOIN [meta].[ECSchemaDef] [ius]
|
|
157
|
+
ON [ius].[ECInstanceId] = [iud].[Schema].[Id]
|
|
158
|
+
WHERE
|
|
159
|
+
${singleSchema ? `
|
|
160
|
+
[schema].[Name] = :schemaName AND` : ""}
|
|
161
|
+
[ud].[IsConstant] = 0 AND
|
|
162
|
+
[ud].[InvertingUnit] IS NOT NULL
|
|
163
163
|
`;
|
|
164
164
|
/**
|
|
165
165
|
* Query for SchemaItemType Constant data.
|
|
166
166
|
* @param singleSchema Indicates if a filter and join for a single Schema should be applied.
|
|
167
167
|
*/
|
|
168
|
-
const constant = (singleSchema) => `
|
|
169
|
-
SELECT
|
|
170
|
-
[cd].[Schema].[Id] AS [SchemaId],
|
|
171
|
-
json_object(
|
|
172
|
-
'schemaItemType', 'Constant',
|
|
173
|
-
'name', [cd].[Name],
|
|
174
|
-
'label', [cd].[DisplayLabel],
|
|
175
|
-
'description', [cd].[Description],
|
|
176
|
-
'definition', [cd].[Definition],
|
|
177
|
-
'numerator', IIF([cd].[Numerator] IS NULL, NULL, json(format('%.16g', [cd].[Numerator]))),
|
|
178
|
-
'denominator', IIF([cd].[Denominator] IS NULL, NULL, json(format('%.16g', [cd].[Denominator]))),
|
|
179
|
-
'phenomenon', CONCAT([phenomSchema].[Name],'.', [phenomDef].[Name])
|
|
180
|
-
) as item
|
|
181
|
-
FROM
|
|
182
|
-
[meta].[UnitDef] [cd]
|
|
183
|
-
${singleSchema ? `
|
|
184
|
-
JOIN
|
|
185
|
-
[meta].[ECSchemaDef] [schema] ON [schema].[ECInstanceId] = [cd].[Schema].[Id]` : ""}
|
|
186
|
-
JOIN [meta].[PhenomenonDef] [phenomDef]
|
|
187
|
-
ON [phenomDef].[ECInstanceId] = [cd].[Phenomenon].[Id]
|
|
188
|
-
JOIN [meta].[ECSchemaDef] [phenomSchema]
|
|
189
|
-
ON [phenomSchema].[ECInstanceId] = [phenomDef].[Schema].[Id]
|
|
190
|
-
WHERE
|
|
191
|
-
${singleSchema ? `
|
|
192
|
-
[schema].[Name] = :schemaName AND` : ""}
|
|
193
|
-
[cd].[IsConstant] = 1
|
|
168
|
+
const constant = (singleSchema) => `
|
|
169
|
+
SELECT
|
|
170
|
+
[cd].[Schema].[Id] AS [SchemaId],
|
|
171
|
+
json_object(
|
|
172
|
+
'schemaItemType', 'Constant',
|
|
173
|
+
'name', [cd].[Name],
|
|
174
|
+
'label', [cd].[DisplayLabel],
|
|
175
|
+
'description', [cd].[Description],
|
|
176
|
+
'definition', [cd].[Definition],
|
|
177
|
+
'numerator', IIF([cd].[Numerator] IS NULL, NULL, json(format('%.16g', [cd].[Numerator]))),
|
|
178
|
+
'denominator', IIF([cd].[Denominator] IS NULL, NULL, json(format('%.16g', [cd].[Denominator]))),
|
|
179
|
+
'phenomenon', CONCAT([phenomSchema].[Name],'.', [phenomDef].[Name])
|
|
180
|
+
) as item
|
|
181
|
+
FROM
|
|
182
|
+
[meta].[UnitDef] [cd]
|
|
183
|
+
${singleSchema ? `
|
|
184
|
+
JOIN
|
|
185
|
+
[meta].[ECSchemaDef] [schema] ON [schema].[ECInstanceId] = [cd].[Schema].[Id]` : ""}
|
|
186
|
+
JOIN [meta].[PhenomenonDef] [phenomDef]
|
|
187
|
+
ON [phenomDef].[ECInstanceId] = [cd].[Phenomenon].[Id]
|
|
188
|
+
JOIN [meta].[ECSchemaDef] [phenomSchema]
|
|
189
|
+
ON [phenomSchema].[ECInstanceId] = [phenomDef].[Schema].[Id]
|
|
190
|
+
WHERE
|
|
191
|
+
${singleSchema ? `
|
|
192
|
+
[schema].[Name] = :schemaName AND` : ""}
|
|
193
|
+
[cd].[IsConstant] = 1
|
|
194
194
|
`;
|
|
195
195
|
/**
|
|
196
196
|
* Query for SchemaItemType UnitSystem data.
|
|
197
197
|
* @param singleSchema Indicates if a filter and join for a single Schema should be applied.
|
|
198
198
|
*/
|
|
199
|
-
const unitSystem = (singleSchema) => `
|
|
200
|
-
SELECT
|
|
201
|
-
[us].[Schema].[Id] AS [SchemaId],
|
|
202
|
-
json_object (
|
|
203
|
-
'schemaItemType', 'UnitSystem',
|
|
204
|
-
'name', [us].[Name],
|
|
205
|
-
'label', [us].[DisplayLabel],
|
|
206
|
-
'description', [us].[Description]
|
|
207
|
-
) as [item]
|
|
208
|
-
FROM
|
|
209
|
-
[meta].[UnitSystemDef] [us]
|
|
210
|
-
${singleSchema ? `
|
|
211
|
-
JOIN
|
|
212
|
-
[meta].[ECSchemaDef] [schema] ON [schema].[ECInstanceId] = [us].[Schema].[Id]
|
|
213
|
-
WHERE [schema].[Name] = :schemaName` : ""}
|
|
199
|
+
const unitSystem = (singleSchema) => `
|
|
200
|
+
SELECT
|
|
201
|
+
[us].[Schema].[Id] AS [SchemaId],
|
|
202
|
+
json_object (
|
|
203
|
+
'schemaItemType', 'UnitSystem',
|
|
204
|
+
'name', [us].[Name],
|
|
205
|
+
'label', [us].[DisplayLabel],
|
|
206
|
+
'description', [us].[Description]
|
|
207
|
+
) as [item]
|
|
208
|
+
FROM
|
|
209
|
+
[meta].[UnitSystemDef] [us]
|
|
210
|
+
${singleSchema ? `
|
|
211
|
+
JOIN
|
|
212
|
+
[meta].[ECSchemaDef] [schema] ON [schema].[ECInstanceId] = [us].[Schema].[Id]
|
|
213
|
+
WHERE [schema].[Name] = :schemaName` : ""}
|
|
214
214
|
`;
|
|
215
215
|
/**
|
|
216
216
|
* Query for SchemaItemType Phenomenon data.
|
|
217
217
|
* @param singleSchema Indicates if a filter and join for a single Schema should be applied.
|
|
218
218
|
*/
|
|
219
|
-
const phenomenon = (singleSchema) => `
|
|
220
|
-
SELECT
|
|
221
|
-
[pd].[Schema].[Id] AS [SchemaId],
|
|
222
|
-
json_object(
|
|
223
|
-
'schemaItemType', 'Phenomenon',
|
|
224
|
-
'name', [pd].[Name],
|
|
225
|
-
'label', [pd].[DisplayLabel],
|
|
226
|
-
'description', [pd].[Description],
|
|
227
|
-
'definition', [pd].[Definition]
|
|
228
|
-
) as [item]
|
|
229
|
-
FROM
|
|
230
|
-
[meta].[PhenomenonDef] [pd]
|
|
231
|
-
${singleSchema ? `
|
|
232
|
-
JOIN
|
|
233
|
-
[meta].[ECSchemaDef] [schema] ON [schema].[ECInstanceId] = [pd].[Schema].[Id]
|
|
234
|
-
WHERE [schema].[Name] = :schemaName` : ""}
|
|
219
|
+
const phenomenon = (singleSchema) => `
|
|
220
|
+
SELECT
|
|
221
|
+
[pd].[Schema].[Id] AS [SchemaId],
|
|
222
|
+
json_object(
|
|
223
|
+
'schemaItemType', 'Phenomenon',
|
|
224
|
+
'name', [pd].[Name],
|
|
225
|
+
'label', [pd].[DisplayLabel],
|
|
226
|
+
'description', [pd].[Description],
|
|
227
|
+
'definition', [pd].[Definition]
|
|
228
|
+
) as [item]
|
|
229
|
+
FROM
|
|
230
|
+
[meta].[PhenomenonDef] [pd]
|
|
231
|
+
${singleSchema ? `
|
|
232
|
+
JOIN
|
|
233
|
+
[meta].[ECSchemaDef] [schema] ON [schema].[ECInstanceId] = [pd].[Schema].[Id]
|
|
234
|
+
WHERE [schema].[Name] = :schemaName` : ""}
|
|
235
235
|
`;
|
|
236
236
|
/**
|
|
237
237
|
* Query for SchemaItemType Format data.
|
|
238
238
|
* @param singleSchema Indicates if a filter and join for a single Schema should be applied.
|
|
239
239
|
*/
|
|
240
|
-
const format = (singleSchema) => `
|
|
241
|
-
SELECT
|
|
242
|
-
[fd].[Schema].[Id] AS [SchemaId],
|
|
243
|
-
json_object(
|
|
244
|
-
'schemaItemType', 'Format',
|
|
245
|
-
'name', [fd].[Name],
|
|
246
|
-
'label', [fd].[DisplayLabel],
|
|
247
|
-
'description', [fd].[Description],
|
|
248
|
-
'type', json_extract([fd].[NumericSpec], '$.type'),
|
|
249
|
-
'precision', json_extract([fd].[NumericSpec], '$.precision'),
|
|
250
|
-
'roundFactor', json_extract([fd].[NumericSpec], '$.roundFactor'),
|
|
251
|
-
'minWidth', json_extract([fd].[NumericSpec], '$.minWidth'),
|
|
252
|
-
'showSignOption', json_extract([fd].[NumericSpec], '$.showSignOption'),
|
|
253
|
-
'decimalSeparator', json_extract([fd].[NumericSpec], '$.decimalSeparator'),
|
|
254
|
-
'thousandSeparator', json_extract([fd].[NumericSpec], '$.thousandSeparator'),
|
|
255
|
-
'uomSeparator', json_extract([fd].[NumericSpec], '$.uomSeparator'),
|
|
256
|
-
'scientificType', json_extract([fd].[NumericSpec], '$.scientificType'),
|
|
257
|
-
'stationOffsetSize', json_extract([fd].[NumericSpec], '$.stationOffsetSize'),
|
|
258
|
-
'stationSeparator', json_extract([fd].[NumericSpec], '$.stationSeparator'),
|
|
259
|
-
'formatTraits', json_extract([fd].[NumericSpec], '$.formatTraits')
|
|
260
|
-
${singleSchema ? `
|
|
261
|
-
,'composite', (
|
|
262
|
-
SELECT
|
|
263
|
-
json_object(
|
|
264
|
-
'spacer', json_extract([fd1].[CompositeSpec], '$.spacer'),
|
|
265
|
-
'includeZero', json(IIF(json_extract([fd1].[CompositeSpec], '$.includeZero') = 1, 'true', IIF(json_extract([fd1].[CompositeSpec], '$.includeZero') = 0, 'false', null))),
|
|
266
|
-
'units', (
|
|
267
|
-
SELECT json_group_array(json(json_object(
|
|
268
|
-
'name', CONCAT([sd].[Name], '.', [ud].[Name]),
|
|
269
|
-
'label', [fud].[Label]
|
|
270
|
-
)))
|
|
271
|
-
FROM [meta].[FormatDef] [fd2]
|
|
272
|
-
LEFT JOIN [meta].[FormatCompositeUnitDef] [fud] ON [fud].[Format].[Id] = [fd2].[ECInstanceId]
|
|
273
|
-
LEFT JOIN [meta].[UnitDef] [ud] ON [ud].[ECInstanceId] = [fud].[Unit].[Id]
|
|
274
|
-
INNER JOIN [meta].[ECSchemaDef] [sd] ON [sd].[ECInstanceId] = [ud].[Schema].[Id]
|
|
275
|
-
WHERE [fd2].[ECInstanceId] = [fd1].[ECInstanceId]
|
|
276
|
-
)
|
|
277
|
-
)
|
|
278
|
-
FROM [meta].[FormatDef] [fd1]
|
|
279
|
-
WHERE [fd1].[ECInstanceId]= [fd].[ECInstanceId] AND [fd1].[CompositeSpec] IS NOT NULL
|
|
280
|
-
)` : ""}
|
|
281
|
-
) AS item
|
|
282
|
-
FROM
|
|
283
|
-
[meta].[FormatDef] [fd]
|
|
284
|
-
${singleSchema ? `
|
|
285
|
-
JOIN
|
|
286
|
-
[meta].[ECSchemaDef] [schema] ON [schema].[ECInstanceId] = [fd].[Schema].[Id]
|
|
287
|
-
WHERE [schema].[Name] = :schemaName` : ""}
|
|
240
|
+
const format = (singleSchema) => `
|
|
241
|
+
SELECT
|
|
242
|
+
[fd].[Schema].[Id] AS [SchemaId],
|
|
243
|
+
json_object(
|
|
244
|
+
'schemaItemType', 'Format',
|
|
245
|
+
'name', [fd].[Name],
|
|
246
|
+
'label', [fd].[DisplayLabel],
|
|
247
|
+
'description', [fd].[Description],
|
|
248
|
+
'type', json_extract([fd].[NumericSpec], '$.type'),
|
|
249
|
+
'precision', json_extract([fd].[NumericSpec], '$.precision'),
|
|
250
|
+
'roundFactor', json_extract([fd].[NumericSpec], '$.roundFactor'),
|
|
251
|
+
'minWidth', json_extract([fd].[NumericSpec], '$.minWidth'),
|
|
252
|
+
'showSignOption', json_extract([fd].[NumericSpec], '$.showSignOption'),
|
|
253
|
+
'decimalSeparator', json_extract([fd].[NumericSpec], '$.decimalSeparator'),
|
|
254
|
+
'thousandSeparator', json_extract([fd].[NumericSpec], '$.thousandSeparator'),
|
|
255
|
+
'uomSeparator', json_extract([fd].[NumericSpec], '$.uomSeparator'),
|
|
256
|
+
'scientificType', json_extract([fd].[NumericSpec], '$.scientificType'),
|
|
257
|
+
'stationOffsetSize', json_extract([fd].[NumericSpec], '$.stationOffsetSize'),
|
|
258
|
+
'stationSeparator', json_extract([fd].[NumericSpec], '$.stationSeparator'),
|
|
259
|
+
'formatTraits', json_extract([fd].[NumericSpec], '$.formatTraits')
|
|
260
|
+
${singleSchema ? `
|
|
261
|
+
,'composite', (
|
|
262
|
+
SELECT
|
|
263
|
+
json_object(
|
|
264
|
+
'spacer', json_extract([fd1].[CompositeSpec], '$.spacer'),
|
|
265
|
+
'includeZero', json(IIF(json_extract([fd1].[CompositeSpec], '$.includeZero') = 1, 'true', IIF(json_extract([fd1].[CompositeSpec], '$.includeZero') = 0, 'false', null))),
|
|
266
|
+
'units', (
|
|
267
|
+
SELECT json_group_array(json(json_object(
|
|
268
|
+
'name', CONCAT([sd].[Name], '.', [ud].[Name]),
|
|
269
|
+
'label', [fud].[Label]
|
|
270
|
+
)))
|
|
271
|
+
FROM [meta].[FormatDef] [fd2]
|
|
272
|
+
LEFT JOIN [meta].[FormatCompositeUnitDef] [fud] ON [fud].[Format].[Id] = [fd2].[ECInstanceId]
|
|
273
|
+
LEFT JOIN [meta].[UnitDef] [ud] ON [ud].[ECInstanceId] = [fud].[Unit].[Id]
|
|
274
|
+
INNER JOIN [meta].[ECSchemaDef] [sd] ON [sd].[ECInstanceId] = [ud].[Schema].[Id]
|
|
275
|
+
WHERE [fd2].[ECInstanceId] = [fd1].[ECInstanceId]
|
|
276
|
+
)
|
|
277
|
+
)
|
|
278
|
+
FROM [meta].[FormatDef] [fd1]
|
|
279
|
+
WHERE [fd1].[ECInstanceId]= [fd].[ECInstanceId] AND [fd1].[CompositeSpec] IS NOT NULL
|
|
280
|
+
)` : ""}
|
|
281
|
+
) AS item
|
|
282
|
+
FROM
|
|
283
|
+
[meta].[FormatDef] [fd]
|
|
284
|
+
${singleSchema ? `
|
|
285
|
+
JOIN
|
|
286
|
+
[meta].[ECSchemaDef] [schema] ON [schema].[ECInstanceId] = [fd].[Schema].[Id]
|
|
287
|
+
WHERE [schema].[Name] = :schemaName` : ""}
|
|
288
288
|
`;
|
|
289
289
|
/**
|
|
290
290
|
* 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;AAChE,MAAM,CAAC,MAAM,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;AAChE,MAAM,CAAC,MAAM,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"}
|