@itwin/ecschema-metadata 5.5.0-dev.2 → 5.5.0-dev.5

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 (122) hide show
  1. package/CHANGELOG.md +6 -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.js.map +1 -1
  8. package/lib/cjs/Deserialization/SchemaGraphUtil.js.map +1 -1
  9. package/lib/cjs/Deserialization/XmlParser.js.map +1 -1
  10. package/lib/cjs/Deserialization/XmlSerializationUtils.js.map +1 -1
  11. package/lib/cjs/ECName.js.map +1 -1
  12. package/lib/cjs/ECObjects.js.map +1 -1
  13. package/lib/cjs/Exception.js.map +1 -1
  14. package/lib/cjs/Formatting/FormatSetFormatsProvider.js.map +1 -1
  15. package/lib/cjs/Formatting/SchemaFormatsProvider.js.map +1 -1
  16. package/lib/cjs/IncrementalLoading/ClassParsers.js.map +1 -1
  17. package/lib/cjs/IncrementalLoading/ECSqlSchemaLocater.js.map +1 -1
  18. package/lib/cjs/IncrementalLoading/FullSchemaQueries.js +466 -466
  19. package/lib/cjs/IncrementalLoading/FullSchemaQueries.js.map +1 -1
  20. package/lib/cjs/IncrementalLoading/IncrementalSchemaLocater.js.map +1 -1
  21. package/lib/cjs/IncrementalLoading/IncrementalSchemaReader.js.map +1 -1
  22. package/lib/cjs/IncrementalLoading/SchemaItemParsers.js.map +1 -1
  23. package/lib/cjs/IncrementalLoading/SchemaItemQueries.js +235 -235
  24. package/lib/cjs/IncrementalLoading/SchemaItemQueries.js.map +1 -1
  25. package/lib/cjs/IncrementalLoading/SchemaParser.js.map +1 -1
  26. package/lib/cjs/IncrementalLoading/SchemaStubQueries.js +309 -309
  27. package/lib/cjs/IncrementalLoading/SchemaStubQueries.js.map +1 -1
  28. package/lib/cjs/Interfaces.js.map +1 -1
  29. package/lib/cjs/Metadata/Class.js.map +1 -1
  30. package/lib/cjs/Metadata/Constant.js.map +1 -1
  31. package/lib/cjs/Metadata/CustomAttribute.js.map +1 -1
  32. package/lib/cjs/Metadata/CustomAttributeClass.js.map +1 -1
  33. package/lib/cjs/Metadata/EntityClass.js.map +1 -1
  34. package/lib/cjs/Metadata/Enumeration.js.map +1 -1
  35. package/lib/cjs/Metadata/Format.js.map +1 -1
  36. package/lib/cjs/Metadata/InvertedUnit.js.map +1 -1
  37. package/lib/cjs/Metadata/KindOfQuantity.js.map +1 -1
  38. package/lib/cjs/Metadata/Mixin.js.map +1 -1
  39. package/lib/cjs/Metadata/OverrideFormat.js.map +1 -1
  40. package/lib/cjs/Metadata/Phenomenon.js.map +1 -1
  41. package/lib/cjs/Metadata/Property.js.map +1 -1
  42. package/lib/cjs/Metadata/PropertyCategory.js.map +1 -1
  43. package/lib/cjs/Metadata/RelationshipClass.js.map +1 -1
  44. package/lib/cjs/Metadata/Schema.js.map +1 -1
  45. package/lib/cjs/Metadata/SchemaItem.js.map +1 -1
  46. package/lib/cjs/Metadata/UnitSystem.js.map +1 -1
  47. package/lib/cjs/PropertyTypes.js.map +1 -1
  48. package/lib/cjs/SchemaJsonLocater.js.map +1 -1
  49. package/lib/cjs/SchemaKey.js.map +1 -1
  50. package/lib/cjs/SchemaLoader.js.map +1 -1
  51. package/lib/cjs/SchemaPartVisitorDelegate.js.map +1 -1
  52. package/lib/cjs/UnitConversion/Graph.js.map +1 -1
  53. package/lib/cjs/UnitConversion/Parser.js.map +1 -1
  54. package/lib/cjs/UnitConversion/UnitConversion.js.map +1 -1
  55. package/lib/cjs/UnitConversion/UnitConverter.js.map +1 -1
  56. package/lib/cjs/UnitConversion/UnitTree.js.map +1 -1
  57. package/lib/cjs/UnitProvider/SchemaUnitProvider.js.map +1 -1
  58. package/lib/cjs/Validation/SchemaWalker.js.map +1 -1
  59. package/lib/cjs/ecschema-metadata.js.map +1 -1
  60. package/lib/cjs/utils/SchemaGraph.js.map +1 -1
  61. package/lib/cjs/utils/SchemaLoadingController.js.map +1 -1
  62. package/lib/esm/Constants.js.map +1 -1
  63. package/lib/esm/DelayedPromise.js.map +1 -1
  64. package/lib/esm/Deserialization/AbstractParser.js.map +1 -1
  65. package/lib/esm/Deserialization/Helper.js.map +1 -1
  66. package/lib/esm/Deserialization/JsonParser.js.map +1 -1
  67. package/lib/esm/Deserialization/JsonProps.js.map +1 -1
  68. package/lib/esm/Deserialization/SchemaGraphUtil.js.map +1 -1
  69. package/lib/esm/Deserialization/XmlParser.js.map +1 -1
  70. package/lib/esm/Deserialization/XmlSerializationUtils.js.map +1 -1
  71. package/lib/esm/ECName.js.map +1 -1
  72. package/lib/esm/ECObjects.js.map +1 -1
  73. package/lib/esm/Exception.js.map +1 -1
  74. package/lib/esm/Formatting/FormatSetFormatsProvider.js.map +1 -1
  75. package/lib/esm/Formatting/SchemaFormatsProvider.js.map +1 -1
  76. package/lib/esm/IncrementalLoading/ClassParsers.js.map +1 -1
  77. package/lib/esm/IncrementalLoading/ECSqlSchemaLocater.js.map +1 -1
  78. package/lib/esm/IncrementalLoading/FullSchemaQueries.js +466 -466
  79. package/lib/esm/IncrementalLoading/FullSchemaQueries.js.map +1 -1
  80. package/lib/esm/IncrementalLoading/IncrementalSchemaLocater.js.map +1 -1
  81. package/lib/esm/IncrementalLoading/IncrementalSchemaReader.js.map +1 -1
  82. package/lib/esm/IncrementalLoading/SchemaItemParsers.js.map +1 -1
  83. package/lib/esm/IncrementalLoading/SchemaItemQueries.js +235 -235
  84. package/lib/esm/IncrementalLoading/SchemaItemQueries.js.map +1 -1
  85. package/lib/esm/IncrementalLoading/SchemaParser.js.map +1 -1
  86. package/lib/esm/IncrementalLoading/SchemaStubQueries.js +309 -309
  87. package/lib/esm/IncrementalLoading/SchemaStubQueries.js.map +1 -1
  88. package/lib/esm/Interfaces.js.map +1 -1
  89. package/lib/esm/Metadata/Class.js.map +1 -1
  90. package/lib/esm/Metadata/Constant.js.map +1 -1
  91. package/lib/esm/Metadata/CustomAttribute.js.map +1 -1
  92. package/lib/esm/Metadata/CustomAttributeClass.js.map +1 -1
  93. package/lib/esm/Metadata/EntityClass.js.map +1 -1
  94. package/lib/esm/Metadata/Enumeration.js.map +1 -1
  95. package/lib/esm/Metadata/Format.js.map +1 -1
  96. package/lib/esm/Metadata/InvertedUnit.js.map +1 -1
  97. package/lib/esm/Metadata/KindOfQuantity.js.map +1 -1
  98. package/lib/esm/Metadata/Mixin.js.map +1 -1
  99. package/lib/esm/Metadata/OverrideFormat.js.map +1 -1
  100. package/lib/esm/Metadata/Phenomenon.js.map +1 -1
  101. package/lib/esm/Metadata/Property.js.map +1 -1
  102. package/lib/esm/Metadata/PropertyCategory.js.map +1 -1
  103. package/lib/esm/Metadata/RelationshipClass.js.map +1 -1
  104. package/lib/esm/Metadata/Schema.js.map +1 -1
  105. package/lib/esm/Metadata/SchemaItem.js.map +1 -1
  106. package/lib/esm/Metadata/UnitSystem.js.map +1 -1
  107. package/lib/esm/PropertyTypes.js.map +1 -1
  108. package/lib/esm/SchemaJsonLocater.js.map +1 -1
  109. package/lib/esm/SchemaKey.js.map +1 -1
  110. package/lib/esm/SchemaLoader.js.map +1 -1
  111. package/lib/esm/SchemaPartVisitorDelegate.js.map +1 -1
  112. package/lib/esm/UnitConversion/Graph.js.map +1 -1
  113. package/lib/esm/UnitConversion/Parser.js.map +1 -1
  114. package/lib/esm/UnitConversion/UnitConversion.js.map +1 -1
  115. package/lib/esm/UnitConversion/UnitConverter.js.map +1 -1
  116. package/lib/esm/UnitConversion/UnitTree.js.map +1 -1
  117. package/lib/esm/UnitProvider/SchemaUnitProvider.js.map +1 -1
  118. package/lib/esm/Validation/SchemaWalker.js.map +1 -1
  119. package/lib/esm/ecschema-metadata.js.map +1 -1
  120. package/lib/esm/utils/SchemaGraph.js.map +1 -1
  121. package/lib/esm/utils/SchemaLoadingController.js.map +1 -1
  122. package/package.json +6 -6
@@ -4,332 +4,332 @@
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
  import { SchemaItemQueries } from "./SchemaItemQueries";
6
6
  export const modifier = (alias) => {
7
- return `
8
- CASE
9
- WHEN [${alias}].[modifier] = 0 THEN 'None'
10
- WHEN [${alias}].[modifier] = 1 THEN 'Abstract'
11
- WHEN [${alias}].[modifier] = 2 THEN 'Sealed'
12
- ELSE NULL
13
- END
7
+ return `
8
+ CASE
9
+ WHEN [${alias}].[modifier] = 0 THEN 'None'
10
+ WHEN [${alias}].[modifier] = 1 THEN 'Abstract'
11
+ WHEN [${alias}].[modifier] = 2 THEN 'Sealed'
12
+ ELSE NULL
13
+ END
14
14
  `;
15
15
  };
16
16
  export const strength = (alias) => {
17
- return `
18
- CASE
19
- WHEN [${alias}].[RelationshipStrength] = 0 THEN 'Referencing'
20
- WHEN [${alias}].[RelationshipStrength] = 1 THEN 'Holding'
21
- WHEN [${alias}].[RelationshipStrength] = 2 THEN 'Embedding'
22
- ELSE NULL
23
- END
17
+ return `
18
+ CASE
19
+ WHEN [${alias}].[RelationshipStrength] = 0 THEN 'Referencing'
20
+ WHEN [${alias}].[RelationshipStrength] = 1 THEN 'Holding'
21
+ WHEN [${alias}].[RelationshipStrength] = 2 THEN 'Embedding'
22
+ ELSE NULL
23
+ END
24
24
  `;
25
25
  };
26
26
  export const strengthDirection = (alias) => {
27
- return `
28
- CASE
29
- WHEN [${alias}].[RelationshipStrengthDirection] = 1 THEN 'Forward'
30
- WHEN [${alias}].[RelationshipStrengthDirection] = 2 THEN 'Backward'
31
- ELSE NULL
32
- END
27
+ return `
28
+ CASE
29
+ WHEN [${alias}].[RelationshipStrengthDirection] = 1 THEN 'Forward'
30
+ WHEN [${alias}].[RelationshipStrengthDirection] = 2 THEN 'Backward'
31
+ ELSE NULL
32
+ END
33
33
  `;
34
34
  };
35
- const withAppliesTo = `
36
- AppliesToCTE AS (
37
- SELECT
38
- [mixinAppliesTo].[ECInstanceId] AS [AppliesToId],
39
- [appliesToSchema].[name] as [AppliesToSchema],
40
- json_extract(XmlCAToJson([ca].[Class].[Id], [ca].[Instance]), '$.IsMixin.AppliesToEntityClass') AS [AppliesTo]
41
- FROM [meta].[CustomAttribute] [ca]
42
- JOIN [meta].[ECClassDef] [mixinAppliesTo]
43
- ON [mixinAppliesTo].[ECInstanceId] = [ca].[ContainerId]
44
- JOIN [meta].[ECSchemaDef] [appliesToSchema]
45
- ON [appliesToSchema].[ECInstanceId] = [mixinAppliesTo].[Schema].[Id]
46
- WHERE [ca].[ContainerType] = 30
47
- AND json_extract(XmlCAToJson([ca].[Class].[Id], [ca].[Instance]), '$.ecClass') = 'IsMixin'
48
- )
35
+ const withAppliesTo = `
36
+ AppliesToCTE AS (
37
+ SELECT
38
+ [mixinAppliesTo].[ECInstanceId] AS [AppliesToId],
39
+ [appliesToSchema].[name] as [AppliesToSchema],
40
+ json_extract(XmlCAToJson([ca].[Class].[Id], [ca].[Instance]), '$.IsMixin.AppliesToEntityClass') AS [AppliesTo]
41
+ FROM [meta].[CustomAttribute] [ca]
42
+ JOIN [meta].[ECClassDef] [mixinAppliesTo]
43
+ ON [mixinAppliesTo].[ECInstanceId] = [ca].[ContainerId]
44
+ JOIN [meta].[ECSchemaDef] [appliesToSchema]
45
+ ON [appliesToSchema].[ECInstanceId] = [mixinAppliesTo].[Schema].[Id]
46
+ WHERE [ca].[ContainerType] = 30
47
+ AND json_extract(XmlCAToJson([ca].[Class].[Id], [ca].[Instance]), '$.ecClass') = 'IsMixin'
48
+ )
49
49
  `;
50
- const withSchemaReferences = `
51
- SchemaReferences AS (
52
- SELECT
53
- [ref].[SourceECInstanceId] AS [SchemaId],
54
- CONCAT([Name],'.',[VersionMajor],'.',[VersionWrite],'.',[VersionMinor]) AS [fullName]
55
- FROM
56
- [meta].[ECSchemaDef] AS [refSchema]
57
- INNER JOIN [meta].[SchemaHasSchemaReferences] [ref]
58
- ON [ref].[TargetECInstanceId] = [refSchema].[ECInstanceId]
59
- )
50
+ const withSchemaReferences = `
51
+ SchemaReferences AS (
52
+ SELECT
53
+ [ref].[SourceECInstanceId] AS [SchemaId],
54
+ CONCAT([Name],'.',[VersionMajor],'.',[VersionWrite],'.',[VersionMinor]) AS [fullName]
55
+ FROM
56
+ [meta].[ECSchemaDef] AS [refSchema]
57
+ INNER JOIN [meta].[SchemaHasSchemaReferences] [ref]
58
+ ON [ref].[TargetECInstanceId] = [refSchema].[ECInstanceId]
59
+ )
60
60
  `;
61
- const customAttributeQuery = `
62
- SELECT
63
- [Schema].[Id] AS [SchemaId],
64
- json_object(
65
- 'name', [class].[Name],
66
- 'schemaItemType', 'CustomAttributeClass',
67
- 'modifier', ${modifier("class")},
68
- 'label', [class].[DisplayLabel],
69
- 'description', [class].[Description],
70
- 'appliesTo', [class].[CustomAttributeContainerType],
71
- 'baseClasses', (
72
- SELECT
73
- json_group_array(json(json_object(
74
- 'schema', ec_classname([baseClass].[ECInstanceId], 's'),
75
- 'name', [baseClass].[Name],
76
- 'schemaItemType', 'CustomAttributeClass',
77
- 'modifier', ${modifier("baseClass")},
78
- 'label', [baseClass].[DisplayLabel],
79
- 'description', [baseClass].[Description],
80
- 'appliesTo', [baseClass].[CustomAttributeContainerType]
81
- )))
82
- FROM
83
- [meta].[ECClassDef] [baseClass]
84
- INNER JOIN [meta].[ClassHasAllBaseClasses] [baseClassMap]
85
- ON [baseClassMap].[TargetECInstanceId] = [baseclass].[ECInstanceId]
86
- WHERE [baseClassMap].[SourceECInstanceId] = [class].[ECInstanceId]
87
- )
88
- ) AS [item]
89
- FROM [meta].[ECClassDef] [class]
90
- WHERE [class].[Type] = 3
61
+ const customAttributeQuery = `
62
+ SELECT
63
+ [Schema].[Id] AS [SchemaId],
64
+ json_object(
65
+ 'name', [class].[Name],
66
+ 'schemaItemType', 'CustomAttributeClass',
67
+ 'modifier', ${modifier("class")},
68
+ 'label', [class].[DisplayLabel],
69
+ 'description', [class].[Description],
70
+ 'appliesTo', [class].[CustomAttributeContainerType],
71
+ 'baseClasses', (
72
+ SELECT
73
+ json_group_array(json(json_object(
74
+ 'schema', ec_classname([baseClass].[ECInstanceId], 's'),
75
+ 'name', [baseClass].[Name],
76
+ 'schemaItemType', 'CustomAttributeClass',
77
+ 'modifier', ${modifier("baseClass")},
78
+ 'label', [baseClass].[DisplayLabel],
79
+ 'description', [baseClass].[Description],
80
+ 'appliesTo', [baseClass].[CustomAttributeContainerType]
81
+ )))
82
+ FROM
83
+ [meta].[ECClassDef] [baseClass]
84
+ INNER JOIN [meta].[ClassHasAllBaseClasses] [baseClassMap]
85
+ ON [baseClassMap].[TargetECInstanceId] = [baseclass].[ECInstanceId]
86
+ WHERE [baseClassMap].[SourceECInstanceId] = [class].[ECInstanceId]
87
+ )
88
+ ) AS [item]
89
+ FROM [meta].[ECClassDef] [class]
90
+ WHERE [class].[Type] = 3
91
91
  `;
92
- const structQuery = `
93
- SELECT
94
- [Schema].[Id] AS [SchemaId],
95
- json_object(
96
- 'name', [class].[Name],
97
- 'schemaItemType', 'StructClass',
98
- 'modifier', ${modifier("class")},
99
- 'label', [class].[DisplayLabel],
100
- 'description', [class].[Description],
101
- 'baseClasses', (
102
- SELECT
103
- json_group_array(json(json_object(
104
- 'schema', ec_classname([baseClass].[ECInstanceId], 's'),
105
- 'name', [baseClass].[Name],
106
- 'schemaItemType', 'StructClass',
107
- 'modifier', ${modifier("baseClass")},
108
- 'label', [baseClass].[DisplayLabel],
109
- 'description', [baseClass].[Description]
110
- )))
111
- FROM
112
- [meta].[ECClassDef] [baseClass]
113
- INNER JOIN [meta].[ClassHasAllBaseClasses] [baseClassMap]
114
- ON [baseClassMap].[TargetECInstanceId] = [baseclass].[ECInstanceId]
115
- WHERE [baseClassMap].[SourceECInstanceId] = [class].[ECInstanceId]
116
- )
117
- ) AS [item]
118
- FROM [meta].[ECClassDef] [class]
119
- WHERE [class].[Type] = 2
92
+ const structQuery = `
93
+ SELECT
94
+ [Schema].[Id] AS [SchemaId],
95
+ json_object(
96
+ 'name', [class].[Name],
97
+ 'schemaItemType', 'StructClass',
98
+ 'modifier', ${modifier("class")},
99
+ 'label', [class].[DisplayLabel],
100
+ 'description', [class].[Description],
101
+ 'baseClasses', (
102
+ SELECT
103
+ json_group_array(json(json_object(
104
+ 'schema', ec_classname([baseClass].[ECInstanceId], 's'),
105
+ 'name', [baseClass].[Name],
106
+ 'schemaItemType', 'StructClass',
107
+ 'modifier', ${modifier("baseClass")},
108
+ 'label', [baseClass].[DisplayLabel],
109
+ 'description', [baseClass].[Description]
110
+ )))
111
+ FROM
112
+ [meta].[ECClassDef] [baseClass]
113
+ INNER JOIN [meta].[ClassHasAllBaseClasses] [baseClassMap]
114
+ ON [baseClassMap].[TargetECInstanceId] = [baseclass].[ECInstanceId]
115
+ WHERE [baseClassMap].[SourceECInstanceId] = [class].[ECInstanceId]
116
+ )
117
+ ) AS [item]
118
+ FROM [meta].[ECClassDef] [class]
119
+ WHERE [class].[Type] = 2
120
120
  `;
121
- const relationshipQuery = `
122
- SELECT
123
- [Schema].[Id] AS [SchemaId],
124
- json_object(
125
- 'name', [class].[Name],
126
- 'schemaItemType', 'RelationshipClass',
127
- 'modifier', ${modifier("class")},
128
- 'label', [class].[DisplayLabel],
129
- 'description', [class].[Description],
130
- 'strength', ${strength("class")},
131
- 'strengthDirection', ${strengthDirection("class")},
132
- 'baseClasses', (
133
- SELECT
134
- json_group_array(json(json_object(
135
- 'schema', ec_classname([baseClass].[ECInstanceId], 's'),
136
- 'name', [baseClass].[Name],
137
- 'schemaItemType', 'RelationshipClass',
138
- 'modifier', ${modifier("baseClass")},
139
- 'label', [baseClass].[DisplayLabel],
140
- 'description', [baseClass].[Description],
141
- 'strength', ${strength("baseClass")},
142
- 'strengthDirection', ${strengthDirection("baseClass")}
143
- )))
144
- FROM
145
- [meta].[ECClassDef] [baseClass]
146
- INNER JOIN [meta].[ClassHasAllBaseClasses] [baseClassMap]
147
- ON [baseClassMap].[TargetECInstanceId] = [baseclass].[ECInstanceId]
148
- WHERE [baseClassMap].[SourceECInstanceId] = [class].[ECInstanceId]
149
- )
150
- ) AS [item]
151
- FROM [meta].[ECClassDef] [class]
152
- WHERE [class].[Type] = 1
121
+ const relationshipQuery = `
122
+ SELECT
123
+ [Schema].[Id] AS [SchemaId],
124
+ json_object(
125
+ 'name', [class].[Name],
126
+ 'schemaItemType', 'RelationshipClass',
127
+ 'modifier', ${modifier("class")},
128
+ 'label', [class].[DisplayLabel],
129
+ 'description', [class].[Description],
130
+ 'strength', ${strength("class")},
131
+ 'strengthDirection', ${strengthDirection("class")},
132
+ 'baseClasses', (
133
+ SELECT
134
+ json_group_array(json(json_object(
135
+ 'schema', ec_classname([baseClass].[ECInstanceId], 's'),
136
+ 'name', [baseClass].[Name],
137
+ 'schemaItemType', 'RelationshipClass',
138
+ 'modifier', ${modifier("baseClass")},
139
+ 'label', [baseClass].[DisplayLabel],
140
+ 'description', [baseClass].[Description],
141
+ 'strength', ${strength("baseClass")},
142
+ 'strengthDirection', ${strengthDirection("baseClass")}
143
+ )))
144
+ FROM
145
+ [meta].[ECClassDef] [baseClass]
146
+ INNER JOIN [meta].[ClassHasAllBaseClasses] [baseClassMap]
147
+ ON [baseClassMap].[TargetECInstanceId] = [baseclass].[ECInstanceId]
148
+ WHERE [baseClassMap].[SourceECInstanceId] = [class].[ECInstanceId]
149
+ )
150
+ ) AS [item]
151
+ FROM [meta].[ECClassDef] [class]
152
+ WHERE [class].[Type] = 1
153
153
  `;
154
- const entityQuery = `
155
- SELECT
156
- [Schema].[Id] AS [SchemaId],
157
- json_object(
158
- 'name', [class].[Name],
159
- 'schemaItemType', 'EntityClass',
160
- 'modifier', ${modifier("class")},
161
- 'label', [class].[DisplayLabel],
162
- 'description', [class].[Description],
163
- 'baseClasses', (
164
- SELECT
165
- json_group_array(json(json_object(
166
- 'schema', ec_classname([baseClass].[ECInstanceId], 's'),
167
- 'name', [baseClass].[Name],
168
- 'schemaItemType', 'EntityClass',
169
- 'modifier', ${modifier("baseClass")},
170
- 'label', [baseClass].[DisplayLabel],
171
- 'description', [baseClass].[Description]
172
- )))
173
- FROM
174
- [meta].[ECClassDef] [baseClass]
175
- INNER JOIN [meta].[ClassHasAllBaseClasses] [baseClassMap]
176
- ON [baseClassMap].[TargetECInstanceId] = [baseclass].[ECInstanceId]
177
- WHERE [baseClassMap].[SourceECInstanceId] = [class].[ECInstanceId]
178
- AND NOT EXISTS(SELECT 1 FROM [meta].[ClassCustomAttribute] [ca] WHERE [baseClass].[ECInstanceId] = [ca].[Class].[Id]
179
- AND [ca].[CustomAttributeClass].[Id] Is ([CoreCA].[IsMixin]))
180
- ),
181
- 'mixins', (
182
- SELECT
183
- json_group_array(json(json_object(
184
- 'schema', ec_classname([baseClass].[ECInstanceId], 's'),
185
- 'name', [baseClass].[Name],
186
- 'schemaItemType', 'Mixin',
187
- 'modifier', ${modifier("baseClass")},
188
- 'label', [baseClass].[DisplayLabel],
189
- 'description', [baseClass].[Description],
190
- 'appliesTo', (
191
- SELECT IIF(instr([atCTE].[AppliesTo], ':') > 1, ec_classname(ec_classId([atCTE].[AppliesTo]), 's.c'), CONCAT([atCTE].[AppliesToSchema], '.', [atCTE].[AppliesTo]))
192
- FROM [AppliesToCTE] [atCTE]
193
- WHERE [atCTE].[AppliesToId] = [baseClass].[ECInstanceId]
194
- ),
195
- 'baseClasses', (
196
- SELECT
197
- json_group_array(json(json_object(
198
- 'schema', ec_classname([mixinBaseClass].[ECInstanceId], 's'),
199
- 'name', [mixinBaseClass].[Name],
200
- 'schemaItemType', 'Mixin',
201
- 'modifier', ${modifier("mixinBaseClass")},
202
- 'label', [mixinBaseClass].[DisplayLabel],
203
- 'description', [mixinBaseClass].[Description],
204
- 'appliesTo', (
205
- SELECT IIF(instr([atCTE].[AppliesTo], ':') > 1, ec_classname(ec_classId([atCTE].[AppliesTo]), 's.c'), CONCAT([atCTE].[AppliesToSchema], '.', [atCTE].[AppliesTo]))
206
- FROM [AppliesToCTE] [atCTE]
207
- WHERE [atCTE].[AppliesToId] = [mixinBaseClass].[ECInstanceId]
208
- )
209
- )))
210
- FROM
211
- [meta].[ECClassDef] [mixinBaseClass]
212
- INNER JOIN [meta].[ClassHasAllBaseClasses] [mixinBaseClassMap]
213
- ON [mixinBaseClassMap].[TargetECInstanceId] = [mixinBaseClass].[ECInstanceId]
214
- WHERE [mixinBaseClassMap].[SourceECInstanceId] = [baseClass].[ECInstanceId]
215
- )
216
- )))
217
- FROM
218
- [meta].[ECClassDef] [baseClass]
219
- INNER JOIN [meta].[ClassHasBaseClasses] [baseClassMap]
220
- ON [baseClassMap].[TargetECInstanceId] = [baseclass].[ECInstanceId]
221
- WHERE [baseClassMap].[SourceECInstanceId] = [class].[ECInstanceId]
222
- AND EXISTS(SELECT 1 FROM [meta].[ClassCustomAttribute] [ca] WHERE [baseClass].[ECInstanceId] = [ca].[Class].[Id]
223
- AND [ca].[CustomAttributeClass].[Id] Is ([CoreCA].[IsMixin]))
224
- )
225
- ) AS [item]
226
- FROM [meta].[ECClassDef] [class]
227
- WHERE [class].[Type] = 0
228
- AND NOT EXISTS(SELECT 1 FROM [meta].[ClassCustomAttribute] [ca] WHERE [class].[ECInstanceId] = [ca].[Class].[Id]
229
- AND [ca].[CustomAttributeClass].[Id] Is ([CoreCA].[IsMixin]))
154
+ const entityQuery = `
155
+ SELECT
156
+ [Schema].[Id] AS [SchemaId],
157
+ json_object(
158
+ 'name', [class].[Name],
159
+ 'schemaItemType', 'EntityClass',
160
+ 'modifier', ${modifier("class")},
161
+ 'label', [class].[DisplayLabel],
162
+ 'description', [class].[Description],
163
+ 'baseClasses', (
164
+ SELECT
165
+ json_group_array(json(json_object(
166
+ 'schema', ec_classname([baseClass].[ECInstanceId], 's'),
167
+ 'name', [baseClass].[Name],
168
+ 'schemaItemType', 'EntityClass',
169
+ 'modifier', ${modifier("baseClass")},
170
+ 'label', [baseClass].[DisplayLabel],
171
+ 'description', [baseClass].[Description]
172
+ )))
173
+ FROM
174
+ [meta].[ECClassDef] [baseClass]
175
+ INNER JOIN [meta].[ClassHasAllBaseClasses] [baseClassMap]
176
+ ON [baseClassMap].[TargetECInstanceId] = [baseclass].[ECInstanceId]
177
+ WHERE [baseClassMap].[SourceECInstanceId] = [class].[ECInstanceId]
178
+ AND NOT EXISTS(SELECT 1 FROM [meta].[ClassCustomAttribute] [ca] WHERE [baseClass].[ECInstanceId] = [ca].[Class].[Id]
179
+ AND [ca].[CustomAttributeClass].[Id] Is ([CoreCA].[IsMixin]))
180
+ ),
181
+ 'mixins', (
182
+ SELECT
183
+ json_group_array(json(json_object(
184
+ 'schema', ec_classname([baseClass].[ECInstanceId], 's'),
185
+ 'name', [baseClass].[Name],
186
+ 'schemaItemType', 'Mixin',
187
+ 'modifier', ${modifier("baseClass")},
188
+ 'label', [baseClass].[DisplayLabel],
189
+ 'description', [baseClass].[Description],
190
+ 'appliesTo', (
191
+ SELECT IIF(instr([atCTE].[AppliesTo], ':') > 1, ec_classname(ec_classId([atCTE].[AppliesTo]), 's.c'), CONCAT([atCTE].[AppliesToSchema], '.', [atCTE].[AppliesTo]))
192
+ FROM [AppliesToCTE] [atCTE]
193
+ WHERE [atCTE].[AppliesToId] = [baseClass].[ECInstanceId]
194
+ ),
195
+ 'baseClasses', (
196
+ SELECT
197
+ json_group_array(json(json_object(
198
+ 'schema', ec_classname([mixinBaseClass].[ECInstanceId], 's'),
199
+ 'name', [mixinBaseClass].[Name],
200
+ 'schemaItemType', 'Mixin',
201
+ 'modifier', ${modifier("mixinBaseClass")},
202
+ 'label', [mixinBaseClass].[DisplayLabel],
203
+ 'description', [mixinBaseClass].[Description],
204
+ 'appliesTo', (
205
+ SELECT IIF(instr([atCTE].[AppliesTo], ':') > 1, ec_classname(ec_classId([atCTE].[AppliesTo]), 's.c'), CONCAT([atCTE].[AppliesToSchema], '.', [atCTE].[AppliesTo]))
206
+ FROM [AppliesToCTE] [atCTE]
207
+ WHERE [atCTE].[AppliesToId] = [mixinBaseClass].[ECInstanceId]
208
+ )
209
+ )))
210
+ FROM
211
+ [meta].[ECClassDef] [mixinBaseClass]
212
+ INNER JOIN [meta].[ClassHasAllBaseClasses] [mixinBaseClassMap]
213
+ ON [mixinBaseClassMap].[TargetECInstanceId] = [mixinBaseClass].[ECInstanceId]
214
+ WHERE [mixinBaseClassMap].[SourceECInstanceId] = [baseClass].[ECInstanceId]
215
+ )
216
+ )))
217
+ FROM
218
+ [meta].[ECClassDef] [baseClass]
219
+ INNER JOIN [meta].[ClassHasBaseClasses] [baseClassMap]
220
+ ON [baseClassMap].[TargetECInstanceId] = [baseclass].[ECInstanceId]
221
+ WHERE [baseClassMap].[SourceECInstanceId] = [class].[ECInstanceId]
222
+ AND EXISTS(SELECT 1 FROM [meta].[ClassCustomAttribute] [ca] WHERE [baseClass].[ECInstanceId] = [ca].[Class].[Id]
223
+ AND [ca].[CustomAttributeClass].[Id] Is ([CoreCA].[IsMixin]))
224
+ )
225
+ ) AS [item]
226
+ FROM [meta].[ECClassDef] [class]
227
+ WHERE [class].[Type] = 0
228
+ AND NOT EXISTS(SELECT 1 FROM [meta].[ClassCustomAttribute] [ca] WHERE [class].[ECInstanceId] = [ca].[Class].[Id]
229
+ AND [ca].[CustomAttributeClass].[Id] Is ([CoreCA].[IsMixin]))
230
230
  `;
231
- const mixinQuery = `
232
- SELECT
233
- [Schema].[Id] AS [SchemaId],
234
- json_object(
235
- 'name', [class].[Name],
236
- 'schemaItemType', 'Mixin',
237
- 'modifier', ${modifier("class")},
238
- 'label', [class].[DisplayLabel],
239
- 'description', [class].[Description],
240
- 'appliesTo', (
241
- SELECT IIF(instr([atCTE].[AppliesTo], ':') > 1, ec_classname(ec_classId([atCTE].[AppliesTo]), 's.c'), CONCAT([atCTE].[AppliesToSchema], '.', [atCTE].[AppliesTo]))
242
- FROM [AppliesToCTE] [atCTE]
243
- WHERE [atCTE].[AppliesToId] = [class].[ECInstanceId]
244
- ),
245
- 'baseClasses', (
246
- SELECT
247
- json_group_array(json(json_object(
248
- 'schema', ec_classname([baseClass].[ECInstanceId], 's'),
249
- 'name', [baseClass].[Name],
250
- 'schemaItemType', 'Mixin',
251
- 'modifier', ${modifier("baseClass")},
252
- 'label', [baseClass].[DisplayLabel],
253
- 'description', [baseClass].[Description],
254
- 'appliesTo', (
255
- SELECT IIF(instr([atCTE].[AppliesTo], ':') > 1, ec_classname(ec_classId([atCTE].[AppliesTo]), 's.c'), CONCAT([atCTE].[AppliesToSchema], '.', [atCTE].[AppliesTo]))
256
- FROM [AppliesToCTE] [atCTE]
257
- WHERE [atCTE].[AppliesToId] = [baseClass].[ECInstanceId]
258
- )
259
- )))
260
- FROM
261
- [meta].[ECClassDef] [baseClass]
262
- INNER JOIN [meta].[ClassHasAllBaseClasses] [baseClassMap]
263
- ON [baseClassMap].[TargetECInstanceId] = [baseclass].[ECInstanceId]
264
- WHERE [baseClassMap].[SourceECInstanceId] = [class].[ECInstanceId]
265
- )
266
- ) AS [item]
267
- FROM [meta].[ECClassDef] [class]
268
- WHERE [class].[Type] = 0 AND EXISTS (SELECT 1 FROM [meta].[ClassCustomAttribute] [ca] WHERE [class].[ECInstanceId] = [ca].[Class].[Id]
269
- AND [ca].[CustomAttributeClass].[Id] Is ([CoreCA].[IsMixin]))
231
+ const mixinQuery = `
232
+ SELECT
233
+ [Schema].[Id] AS [SchemaId],
234
+ json_object(
235
+ 'name', [class].[Name],
236
+ 'schemaItemType', 'Mixin',
237
+ 'modifier', ${modifier("class")},
238
+ 'label', [class].[DisplayLabel],
239
+ 'description', [class].[Description],
240
+ 'appliesTo', (
241
+ SELECT IIF(instr([atCTE].[AppliesTo], ':') > 1, ec_classname(ec_classId([atCTE].[AppliesTo]), 's.c'), CONCAT([atCTE].[AppliesToSchema], '.', [atCTE].[AppliesTo]))
242
+ FROM [AppliesToCTE] [atCTE]
243
+ WHERE [atCTE].[AppliesToId] = [class].[ECInstanceId]
244
+ ),
245
+ 'baseClasses', (
246
+ SELECT
247
+ json_group_array(json(json_object(
248
+ 'schema', ec_classname([baseClass].[ECInstanceId], 's'),
249
+ 'name', [baseClass].[Name],
250
+ 'schemaItemType', 'Mixin',
251
+ 'modifier', ${modifier("baseClass")},
252
+ 'label', [baseClass].[DisplayLabel],
253
+ 'description', [baseClass].[Description],
254
+ 'appliesTo', (
255
+ SELECT IIF(instr([atCTE].[AppliesTo], ':') > 1, ec_classname(ec_classId([atCTE].[AppliesTo]), 's.c'), CONCAT([atCTE].[AppliesToSchema], '.', [atCTE].[AppliesTo]))
256
+ FROM [AppliesToCTE] [atCTE]
257
+ WHERE [atCTE].[AppliesToId] = [baseClass].[ECInstanceId]
258
+ )
259
+ )))
260
+ FROM
261
+ [meta].[ECClassDef] [baseClass]
262
+ INNER JOIN [meta].[ClassHasAllBaseClasses] [baseClassMap]
263
+ ON [baseClassMap].[TargetECInstanceId] = [baseclass].[ECInstanceId]
264
+ WHERE [baseClassMap].[SourceECInstanceId] = [class].[ECInstanceId]
265
+ )
266
+ ) AS [item]
267
+ FROM [meta].[ECClassDef] [class]
268
+ WHERE [class].[Type] = 0 AND EXISTS (SELECT 1 FROM [meta].[ClassCustomAttribute] [ca] WHERE [class].[ECInstanceId] = [ca].[Class].[Id]
269
+ AND [ca].[CustomAttributeClass].[Id] Is ([CoreCA].[IsMixin]))
270
270
  `;
271
- const withSchemaItems = `
272
- SchemaItems AS (
273
- ${customAttributeQuery}
274
- UNION ALL
275
- ${structQuery}
276
- UNION ALL
277
- ${relationshipQuery}
278
- UNION ALL
279
- ${entityQuery}
280
- UNION ALL
281
- ${mixinQuery}
282
- UNION ALL
283
- ${SchemaItemQueries.enumeration()}
284
- UNION ALL
285
- ${SchemaItemQueries.kindOfQuantity()}
286
- UNION ALL
287
- ${SchemaItemQueries.propertyCategory()}
288
- UNION ALL
289
- ${SchemaItemQueries.unit()}
290
- UNION ALL
291
- ${SchemaItemQueries.invertedUnit()}
292
- UNION ALL
293
- ${SchemaItemQueries.constant()}
294
- UNION ALL
295
- ${SchemaItemQueries.phenomenon()}
296
- UNION ALL
297
- ${SchemaItemQueries.unitSystem()}
298
- UNION ALL
299
- ${SchemaItemQueries.format()}
300
- )
271
+ const withSchemaItems = `
272
+ SchemaItems AS (
273
+ ${customAttributeQuery}
274
+ UNION ALL
275
+ ${structQuery}
276
+ UNION ALL
277
+ ${relationshipQuery}
278
+ UNION ALL
279
+ ${entityQuery}
280
+ UNION ALL
281
+ ${mixinQuery}
282
+ UNION ALL
283
+ ${SchemaItemQueries.enumeration()}
284
+ UNION ALL
285
+ ${SchemaItemQueries.kindOfQuantity()}
286
+ UNION ALL
287
+ ${SchemaItemQueries.propertyCategory()}
288
+ UNION ALL
289
+ ${SchemaItemQueries.unit()}
290
+ UNION ALL
291
+ ${SchemaItemQueries.invertedUnit()}
292
+ UNION ALL
293
+ ${SchemaItemQueries.constant()}
294
+ UNION ALL
295
+ ${SchemaItemQueries.phenomenon()}
296
+ UNION ALL
297
+ ${SchemaItemQueries.unitSystem()}
298
+ UNION ALL
299
+ ${SchemaItemQueries.format()}
300
+ )
301
301
  `;
302
- const schemaStubQuery = `
303
- WITH
304
- ${withAppliesTo},
305
- ${withSchemaItems}
306
- SELECT
307
- [items].[item]
308
- FROM
309
- [SchemaItems] [items]
310
- JOIN [meta].[ECSchemaDef] [schemaDef]
311
- ON [schemaDef].[ECInstanceId] = [items].[SchemaId]
312
- WHERE [schemaDef].[Name] = :schemaName
302
+ const schemaStubQuery = `
303
+ WITH
304
+ ${withAppliesTo},
305
+ ${withSchemaItems}
306
+ SELECT
307
+ [items].[item]
308
+ FROM
309
+ [SchemaItems] [items]
310
+ JOIN [meta].[ECSchemaDef] [schemaDef]
311
+ ON [schemaDef].[ECInstanceId] = [items].[SchemaId]
312
+ WHERE [schemaDef].[Name] = :schemaName
313
313
  `;
314
- const schemaInfoQuery = `
315
- WITH
316
- ${withSchemaReferences}
317
- SELECT
318
- [Name] as [name],
319
- CONCAT('',[VersionMajor],'.',[VersionWrite],'.',[VersionMinor]) AS [version],
320
- [Alias] as [alias],
321
- [DisplayLabel] as [label],
322
- [Description] as [description],
323
- (
324
- SELECT
325
- json_group_array([schemaReferences].[fullName])
326
- FROM
327
- [SchemaReferences] [schemaReferences]
328
- WHERE
329
- [schemaReferences].[SchemaId] = [schemaDef].[ECInstanceId]
330
- ) AS [references]
331
- FROM
332
- [meta].[ECSchemaDef] [schemaDef]
314
+ const schemaInfoQuery = `
315
+ WITH
316
+ ${withSchemaReferences}
317
+ SELECT
318
+ [Name] as [name],
319
+ CONCAT('',[VersionMajor],'.',[VersionWrite],'.',[VersionMinor]) AS [version],
320
+ [Alias] as [alias],
321
+ [DisplayLabel] as [label],
322
+ [Description] as [description],
323
+ (
324
+ SELECT
325
+ json_group_array([schemaReferences].[fullName])
326
+ FROM
327
+ [SchemaReferences] [schemaReferences]
328
+ WHERE
329
+ [schemaReferences].[SchemaId] = [schemaDef].[ECInstanceId]
330
+ ) AS [references]
331
+ FROM
332
+ [meta].[ECSchemaDef] [schemaDef]
333
333
  `;
334
334
  /**
335
335
  * Partial Schema queries.