@itwin/ecschema-metadata 5.2.0-dev.7 → 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.
Files changed (200) hide show
  1. package/CHANGELOG.md +51 -1
  2. package/lib/cjs/Constants.js.map +1 -1
  3. package/lib/cjs/DelayedPromise.js.map +1 -1
  4. package/lib/cjs/Deserialization/AbstractParser.js.map +1 -1
  5. package/lib/cjs/Deserialization/Helper.js.map +1 -1
  6. package/lib/cjs/Deserialization/JsonParser.js.map +1 -1
  7. package/lib/cjs/Deserialization/JsonProps.d.ts +9 -2
  8. package/lib/cjs/Deserialization/JsonProps.d.ts.map +1 -1
  9. package/lib/cjs/Deserialization/JsonProps.js.map +1 -1
  10. package/lib/cjs/Deserialization/SchemaGraphUtil.js.map +1 -1
  11. package/lib/cjs/Deserialization/XmlParser.js.map +1 -1
  12. package/lib/cjs/Deserialization/XmlSerializationUtils.js.map +1 -1
  13. package/lib/cjs/ECName.js.map +1 -1
  14. package/lib/cjs/ECObjects.js.map +1 -1
  15. package/lib/cjs/Exception.js.map +1 -1
  16. package/lib/cjs/Formatting/FormatSetFormatsProvider.d.ts +37 -0
  17. package/lib/cjs/Formatting/FormatSetFormatsProvider.d.ts.map +1 -0
  18. package/lib/cjs/Formatting/FormatSetFormatsProvider.js +58 -0
  19. package/lib/cjs/Formatting/FormatSetFormatsProvider.js.map +1 -0
  20. package/lib/cjs/{SchemaFormatsProvider.d.ts → Formatting/SchemaFormatsProvider.d.ts} +1 -1
  21. package/lib/cjs/Formatting/SchemaFormatsProvider.d.ts.map +1 -0
  22. package/lib/cjs/{SchemaFormatsProvider.js → Formatting/SchemaFormatsProvider.js} +6 -6
  23. package/lib/cjs/Formatting/SchemaFormatsProvider.js.map +1 -0
  24. package/lib/cjs/IncrementalLoading/ClassParsers.js.map +1 -1
  25. package/lib/cjs/IncrementalLoading/ECSqlSchemaLocater.d.ts +18 -24
  26. package/lib/cjs/IncrementalLoading/ECSqlSchemaLocater.d.ts.map +1 -1
  27. package/lib/cjs/IncrementalLoading/ECSqlSchemaLocater.js +62 -34
  28. package/lib/cjs/IncrementalLoading/ECSqlSchemaLocater.js.map +1 -1
  29. package/lib/cjs/IncrementalLoading/FullSchemaQueries.d.ts.map +1 -1
  30. package/lib/cjs/IncrementalLoading/FullSchemaQueries.js +466 -465
  31. package/lib/cjs/IncrementalLoading/FullSchemaQueries.js.map +1 -1
  32. package/lib/cjs/IncrementalLoading/IncrementalSchemaLocater.d.ts +20 -3
  33. package/lib/cjs/IncrementalLoading/IncrementalSchemaLocater.d.ts.map +1 -1
  34. package/lib/cjs/IncrementalLoading/IncrementalSchemaLocater.js +7 -4
  35. package/lib/cjs/IncrementalLoading/IncrementalSchemaLocater.js.map +1 -1
  36. package/lib/cjs/IncrementalLoading/IncrementalSchemaReader.d.ts.map +1 -1
  37. package/lib/cjs/IncrementalLoading/IncrementalSchemaReader.js +2 -7
  38. package/lib/cjs/IncrementalLoading/IncrementalSchemaReader.js.map +1 -1
  39. package/lib/cjs/IncrementalLoading/SchemaItemParsers.d.ts +4 -4
  40. package/lib/cjs/IncrementalLoading/SchemaItemParsers.d.ts.map +1 -1
  41. package/lib/cjs/IncrementalLoading/SchemaItemParsers.js +17 -17
  42. package/lib/cjs/IncrementalLoading/SchemaItemParsers.js.map +1 -1
  43. package/lib/cjs/IncrementalLoading/SchemaItemQueries.js +235 -235
  44. package/lib/cjs/IncrementalLoading/SchemaItemQueries.js.map +1 -1
  45. package/lib/cjs/IncrementalLoading/SchemaParser.d.ts +10 -4
  46. package/lib/cjs/IncrementalLoading/SchemaParser.d.ts.map +1 -1
  47. package/lib/cjs/IncrementalLoading/SchemaParser.js +19 -19
  48. package/lib/cjs/IncrementalLoading/SchemaParser.js.map +1 -1
  49. package/lib/cjs/IncrementalLoading/SchemaStubQueries.d.ts.map +1 -1
  50. package/lib/cjs/IncrementalLoading/SchemaStubQueries.js +309 -326
  51. package/lib/cjs/IncrementalLoading/SchemaStubQueries.js.map +1 -1
  52. package/lib/cjs/Interfaces.js.map +1 -1
  53. package/lib/cjs/Metadata/Class.js.map +1 -1
  54. package/lib/cjs/Metadata/Constant.js.map +1 -1
  55. package/lib/cjs/Metadata/CustomAttribute.js.map +1 -1
  56. package/lib/cjs/Metadata/CustomAttributeClass.js.map +1 -1
  57. package/lib/cjs/Metadata/EntityClass.js +1 -1
  58. package/lib/cjs/Metadata/EntityClass.js.map +1 -1
  59. package/lib/cjs/Metadata/Enumeration.js.map +1 -1
  60. package/lib/cjs/Metadata/Format.js.map +1 -1
  61. package/lib/cjs/Metadata/InvertedUnit.js.map +1 -1
  62. package/lib/cjs/Metadata/KindOfQuantity.d.ts.map +1 -1
  63. package/lib/cjs/Metadata/KindOfQuantity.js +9 -22
  64. package/lib/cjs/Metadata/KindOfQuantity.js.map +1 -1
  65. package/lib/cjs/Metadata/Mixin.js.map +1 -1
  66. package/lib/cjs/Metadata/OverrideFormat.js.map +1 -1
  67. package/lib/cjs/Metadata/Phenomenon.js.map +1 -1
  68. package/lib/cjs/Metadata/Property.js.map +1 -1
  69. package/lib/cjs/Metadata/PropertyCategory.js.map +1 -1
  70. package/lib/cjs/Metadata/RelationshipClass.js.map +1 -1
  71. package/lib/cjs/Metadata/Schema.d.ts +2 -0
  72. package/lib/cjs/Metadata/Schema.d.ts.map +1 -1
  73. package/lib/cjs/Metadata/Schema.js +4 -0
  74. package/lib/cjs/Metadata/Schema.js.map +1 -1
  75. package/lib/cjs/Metadata/SchemaItem.js.map +1 -1
  76. package/lib/cjs/Metadata/UnitSystem.js.map +1 -1
  77. package/lib/cjs/PropertyTypes.js.map +1 -1
  78. package/lib/cjs/SchemaJsonLocater.js.map +1 -1
  79. package/lib/cjs/SchemaKey.js.map +1 -1
  80. package/lib/cjs/SchemaLoader.js.map +1 -1
  81. package/lib/cjs/SchemaPartVisitorDelegate.js.map +1 -1
  82. package/lib/cjs/UnitConversion/Graph.js.map +1 -1
  83. package/lib/cjs/UnitConversion/Parser.js.map +1 -1
  84. package/lib/cjs/UnitConversion/UnitConversion.js.map +1 -1
  85. package/lib/cjs/UnitConversion/UnitConverter.js.map +1 -1
  86. package/lib/cjs/UnitConversion/UnitTree.js.map +1 -1
  87. package/lib/cjs/UnitProvider/SchemaUnitProvider.js.map +1 -1
  88. package/lib/cjs/Validation/SchemaWalker.js.map +1 -1
  89. package/lib/cjs/ecschema-metadata.d.ts +2 -1
  90. package/lib/cjs/ecschema-metadata.d.ts.map +1 -1
  91. package/lib/cjs/ecschema-metadata.js +2 -1
  92. package/lib/cjs/ecschema-metadata.js.map +1 -1
  93. package/lib/cjs/utils/SchemaGraph.js.map +1 -1
  94. package/lib/cjs/utils/SchemaLoadingController.js.map +1 -1
  95. package/lib/esm/Constants.js.map +1 -1
  96. package/lib/esm/DelayedPromise.js.map +1 -1
  97. package/lib/esm/Deserialization/AbstractParser.js.map +1 -1
  98. package/lib/esm/Deserialization/Helper.js.map +1 -1
  99. package/lib/esm/Deserialization/JsonParser.js.map +1 -1
  100. package/lib/esm/Deserialization/JsonProps.d.ts +9 -2
  101. package/lib/esm/Deserialization/JsonProps.d.ts.map +1 -1
  102. package/lib/esm/Deserialization/JsonProps.js.map +1 -1
  103. package/lib/esm/Deserialization/SchemaGraphUtil.js.map +1 -1
  104. package/lib/esm/Deserialization/XmlParser.js.map +1 -1
  105. package/lib/esm/Deserialization/XmlSerializationUtils.js.map +1 -1
  106. package/lib/esm/ECName.js.map +1 -1
  107. package/lib/esm/ECObjects.js.map +1 -1
  108. package/lib/esm/Exception.js.map +1 -1
  109. package/lib/esm/Formatting/FormatSetFormatsProvider.d.ts +37 -0
  110. package/lib/esm/Formatting/FormatSetFormatsProvider.d.ts.map +1 -0
  111. package/lib/esm/Formatting/FormatSetFormatsProvider.js +54 -0
  112. package/lib/esm/Formatting/FormatSetFormatsProvider.js.map +1 -0
  113. package/lib/esm/{SchemaFormatsProvider.d.ts → Formatting/SchemaFormatsProvider.d.ts} +1 -1
  114. package/lib/esm/Formatting/SchemaFormatsProvider.d.ts.map +1 -0
  115. package/lib/esm/{SchemaFormatsProvider.js → Formatting/SchemaFormatsProvider.js} +6 -6
  116. package/lib/esm/Formatting/SchemaFormatsProvider.js.map +1 -0
  117. package/lib/esm/IncrementalLoading/ClassParsers.js.map +1 -1
  118. package/lib/esm/IncrementalLoading/ECSqlSchemaLocater.d.ts +18 -24
  119. package/lib/esm/IncrementalLoading/ECSqlSchemaLocater.d.ts.map +1 -1
  120. package/lib/esm/IncrementalLoading/ECSqlSchemaLocater.js +61 -33
  121. package/lib/esm/IncrementalLoading/ECSqlSchemaLocater.js.map +1 -1
  122. package/lib/esm/IncrementalLoading/FullSchemaQueries.d.ts.map +1 -1
  123. package/lib/esm/IncrementalLoading/FullSchemaQueries.js +466 -465
  124. package/lib/esm/IncrementalLoading/FullSchemaQueries.js.map +1 -1
  125. package/lib/esm/IncrementalLoading/IncrementalSchemaLocater.d.ts +20 -3
  126. package/lib/esm/IncrementalLoading/IncrementalSchemaLocater.d.ts.map +1 -1
  127. package/lib/esm/IncrementalLoading/IncrementalSchemaLocater.js +7 -4
  128. package/lib/esm/IncrementalLoading/IncrementalSchemaLocater.js.map +1 -1
  129. package/lib/esm/IncrementalLoading/IncrementalSchemaReader.d.ts.map +1 -1
  130. package/lib/esm/IncrementalLoading/IncrementalSchemaReader.js +2 -7
  131. package/lib/esm/IncrementalLoading/IncrementalSchemaReader.js.map +1 -1
  132. package/lib/esm/IncrementalLoading/SchemaItemParsers.d.ts +4 -4
  133. package/lib/esm/IncrementalLoading/SchemaItemParsers.d.ts.map +1 -1
  134. package/lib/esm/IncrementalLoading/SchemaItemParsers.js +17 -17
  135. package/lib/esm/IncrementalLoading/SchemaItemParsers.js.map +1 -1
  136. package/lib/esm/IncrementalLoading/SchemaItemQueries.js +235 -235
  137. package/lib/esm/IncrementalLoading/SchemaItemQueries.js.map +1 -1
  138. package/lib/esm/IncrementalLoading/SchemaParser.d.ts +10 -4
  139. package/lib/esm/IncrementalLoading/SchemaParser.d.ts.map +1 -1
  140. package/lib/esm/IncrementalLoading/SchemaParser.js +19 -19
  141. package/lib/esm/IncrementalLoading/SchemaParser.js.map +1 -1
  142. package/lib/esm/IncrementalLoading/SchemaStubQueries.d.ts.map +1 -1
  143. package/lib/esm/IncrementalLoading/SchemaStubQueries.js +309 -326
  144. package/lib/esm/IncrementalLoading/SchemaStubQueries.js.map +1 -1
  145. package/lib/esm/Interfaces.js.map +1 -1
  146. package/lib/esm/Metadata/Class.js.map +1 -1
  147. package/lib/esm/Metadata/Constant.js.map +1 -1
  148. package/lib/esm/Metadata/CustomAttribute.js.map +1 -1
  149. package/lib/esm/Metadata/CustomAttributeClass.js.map +1 -1
  150. package/lib/esm/Metadata/EntityClass.js +1 -1
  151. package/lib/esm/Metadata/EntityClass.js.map +1 -1
  152. package/lib/esm/Metadata/Enumeration.js.map +1 -1
  153. package/lib/esm/Metadata/Format.js.map +1 -1
  154. package/lib/esm/Metadata/InvertedUnit.js.map +1 -1
  155. package/lib/esm/Metadata/KindOfQuantity.d.ts.map +1 -1
  156. package/lib/esm/Metadata/KindOfQuantity.js +9 -22
  157. package/lib/esm/Metadata/KindOfQuantity.js.map +1 -1
  158. package/lib/esm/Metadata/Mixin.js.map +1 -1
  159. package/lib/esm/Metadata/OverrideFormat.js.map +1 -1
  160. package/lib/esm/Metadata/Phenomenon.js.map +1 -1
  161. package/lib/esm/Metadata/Property.js.map +1 -1
  162. package/lib/esm/Metadata/PropertyCategory.js.map +1 -1
  163. package/lib/esm/Metadata/RelationshipClass.js.map +1 -1
  164. package/lib/esm/Metadata/Schema.d.ts +2 -0
  165. package/lib/esm/Metadata/Schema.d.ts.map +1 -1
  166. package/lib/esm/Metadata/Schema.js +4 -0
  167. package/lib/esm/Metadata/Schema.js.map +1 -1
  168. package/lib/esm/Metadata/SchemaItem.js.map +1 -1
  169. package/lib/esm/Metadata/UnitSystem.js.map +1 -1
  170. package/lib/esm/PropertyTypes.js.map +1 -1
  171. package/lib/esm/SchemaJsonLocater.js.map +1 -1
  172. package/lib/esm/SchemaKey.js.map +1 -1
  173. package/lib/esm/SchemaLoader.js.map +1 -1
  174. package/lib/esm/SchemaPartVisitorDelegate.js.map +1 -1
  175. package/lib/esm/UnitConversion/Graph.js.map +1 -1
  176. package/lib/esm/UnitConversion/Parser.js.map +1 -1
  177. package/lib/esm/UnitConversion/UnitConversion.js.map +1 -1
  178. package/lib/esm/UnitConversion/UnitConverter.js.map +1 -1
  179. package/lib/esm/UnitConversion/UnitTree.js.map +1 -1
  180. package/lib/esm/UnitProvider/SchemaUnitProvider.js.map +1 -1
  181. package/lib/esm/Validation/SchemaWalker.js.map +1 -1
  182. package/lib/esm/ecschema-metadata.d.ts +2 -1
  183. package/lib/esm/ecschema-metadata.d.ts.map +1 -1
  184. package/lib/esm/ecschema-metadata.js +2 -1
  185. package/lib/esm/ecschema-metadata.js.map +1 -1
  186. package/lib/esm/utils/SchemaGraph.js.map +1 -1
  187. package/lib/esm/utils/SchemaLoadingController.js.map +1 -1
  188. package/package.json +6 -6
  189. package/lib/cjs/IncrementalLoading/PerformanceLogger.d.ts +0 -60
  190. package/lib/cjs/IncrementalLoading/PerformanceLogger.d.ts.map +0 -1
  191. package/lib/cjs/IncrementalLoading/PerformanceLogger.js +0 -82
  192. package/lib/cjs/IncrementalLoading/PerformanceLogger.js.map +0 -1
  193. package/lib/cjs/SchemaFormatsProvider.d.ts.map +0 -1
  194. package/lib/cjs/SchemaFormatsProvider.js.map +0 -1
  195. package/lib/esm/IncrementalLoading/PerformanceLogger.d.ts +0 -60
  196. package/lib/esm/IncrementalLoading/PerformanceLogger.d.ts.map +0 -1
  197. package/lib/esm/IncrementalLoading/PerformanceLogger.js +0 -78
  198. package/lib/esm/IncrementalLoading/PerformanceLogger.js.map +0 -1
  199. package/lib/esm/SchemaFormatsProvider.d.ts.map +0 -1
  200. 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
- ${singleSchema ? `
22
- ,'relativeError', [koq].[RelativeError],
23
- 'persistenceUnit', [koq].[PersistenceUnit],
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, context: SchemaContext): Promise<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, context: SchemaContext): Promise<SchemaItemProps[] | undefined>;
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, context: SchemaContext): Promise<SchemaItemProps>;
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,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE5E,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAY9D;;;;;;GAMG;AACH,qBAAa,YAAY;IACvB;;;;;;OAMG;WACiB,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC;IAiB5F;;;;;;OAMG;WACiB,gBAAgB,CAAC,WAAW,EAAE,SAAS,eAAe,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,EAAE,GAAG,SAAS,CAAC;mBAU5I,UAAU;WAWX,SAAS,CAAC,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC;CAyB5H;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"}
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"}