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