@itwin/presentation-shared 2.0.0-alpha.8 → 2.0.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 (190) hide show
  1. package/CHANGELOG.md +736 -1
  2. package/README.md +59 -27
  3. package/lib/presentation-shared.d.ts +24 -0
  4. package/lib/presentation-shared.d.ts.map +1 -0
  5. package/lib/presentation-shared.js +22 -0
  6. package/lib/presentation-shared.js.map +1 -0
  7. package/lib/shared/ConcatenatedValue.d.ts.map +1 -0
  8. package/lib/shared/ConcatenatedValue.js.map +1 -0
  9. package/lib/{cjs/shared → shared}/ECSqlCore.d.ts +16 -2
  10. package/lib/shared/ECSqlCore.d.ts.map +1 -0
  11. package/lib/shared/ECSqlCore.js +37 -0
  12. package/lib/shared/ECSqlCore.js.map +1 -0
  13. package/lib/shared/EachValueFrom.d.ts +30 -0
  14. package/lib/shared/EachValueFrom.d.ts.map +1 -0
  15. package/lib/shared/EachValueFrom.js +115 -0
  16. package/lib/shared/EachValueFrom.js.map +1 -0
  17. package/lib/shared/Event.d.ts.map +1 -0
  18. package/lib/{esm/shared → shared}/Event.js.map +1 -1
  19. package/lib/shared/Formatting.d.ts.map +1 -0
  20. package/lib/{esm/shared → shared}/Formatting.js +10 -6
  21. package/lib/shared/Formatting.js.map +1 -0
  22. package/lib/shared/HiddenClasses.d.ts +21 -0
  23. package/lib/shared/HiddenClasses.d.ts.map +1 -0
  24. package/lib/shared/HiddenClasses.js +52 -0
  25. package/lib/shared/HiddenClasses.js.map +1 -0
  26. package/lib/{esm/shared → shared}/InstanceLabelSelectClauseFactory.d.ts +3 -63
  27. package/lib/shared/InstanceLabelSelectClauseFactory.d.ts.map +1 -0
  28. package/lib/shared/InstanceLabelSelectClauseFactory.js +27 -0
  29. package/lib/shared/InstanceLabelSelectClauseFactory.js.map +1 -0
  30. package/lib/shared/Logging.d.ts.map +1 -0
  31. package/lib/{esm/shared → shared}/Logging.js +2 -1
  32. package/lib/shared/Logging.js.map +1 -0
  33. package/lib/shared/MappedTypes.d.ts +55 -0
  34. package/lib/shared/MappedTypes.d.ts.map +1 -0
  35. package/lib/shared/MappedTypes.js.map +1 -0
  36. package/lib/shared/Metadata.d.ts +572 -0
  37. package/lib/shared/Metadata.d.ts.map +1 -0
  38. package/lib/{esm/shared → shared}/Metadata.js +7 -3
  39. package/lib/shared/Metadata.js.map +1 -0
  40. package/lib/{cjs/shared → shared}/Utils.d.ts +6 -7
  41. package/lib/shared/Utils.d.ts.map +1 -0
  42. package/lib/{esm/shared → shared}/Utils.js +21 -27
  43. package/lib/shared/Utils.js.map +1 -0
  44. package/lib/shared/Values.d.ts +144 -0
  45. package/lib/shared/Values.d.ts.map +1 -0
  46. package/lib/shared/Values.js +121 -0
  47. package/lib/shared/Values.js.map +1 -0
  48. package/lib/shared/ecsql-snippets/ECSqlHiddenClassesSnippets.d.ts +40 -0
  49. package/lib/shared/ecsql-snippets/ECSqlHiddenClassesSnippets.d.ts.map +1 -0
  50. package/lib/shared/ecsql-snippets/ECSqlHiddenClassesSnippets.js +66 -0
  51. package/lib/shared/ecsql-snippets/ECSqlHiddenClassesSnippets.js.map +1 -0
  52. package/lib/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts +174 -0
  53. package/lib/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts.map +1 -0
  54. package/lib/shared/ecsql-snippets/ECSqlJoinSnippets.js +177 -0
  55. package/lib/shared/ecsql-snippets/ECSqlJoinSnippets.js.map +1 -0
  56. package/lib/{cjs/shared → shared}/ecsql-snippets/ECSqlValueSelectorSnippets.d.ts +10 -2
  57. package/lib/shared/ecsql-snippets/ECSqlValueSelectorSnippets.d.ts.map +1 -0
  58. package/lib/{esm/shared → shared}/ecsql-snippets/ECSqlValueSelectorSnippets.js +22 -8
  59. package/lib/shared/ecsql-snippets/ECSqlValueSelectorSnippets.js.map +1 -0
  60. package/lib/shared/ecsql-snippets/index.d.ts +4 -0
  61. package/lib/shared/ecsql-snippets/index.d.ts.map +1 -0
  62. package/lib/shared/ecsql-snippets/index.js +8 -0
  63. package/lib/shared/ecsql-snippets/index.js.map +1 -0
  64. package/lib/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.d.ts +17 -0
  65. package/lib/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.d.ts.map +1 -0
  66. package/lib/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.js +48 -0
  67. package/lib/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.js.map +1 -0
  68. package/lib/shared/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.d.ts +39 -0
  69. package/lib/shared/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.d.ts.map +1 -0
  70. package/lib/shared/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.js +60 -0
  71. package/lib/shared/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.js.map +1 -0
  72. package/lib/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.d.ts +12 -0
  73. package/lib/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.d.ts.map +1 -0
  74. package/lib/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.js +37 -0
  75. package/lib/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.js.map +1 -0
  76. package/lib/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.d.ts +198 -0
  77. package/lib/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.d.ts.map +1 -0
  78. package/lib/{esm/shared/ECSqlCore.js → shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.js} +4 -1
  79. package/lib/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.js.map +1 -0
  80. package/lib/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.d.ts +34 -0
  81. package/lib/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.d.ts.map +1 -0
  82. package/lib/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.js +332 -0
  83. package/lib/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.js.map +1 -0
  84. package/lib/shared/instance-label-factory-impls/Utils.d.ts +7 -0
  85. package/lib/shared/instance-label-factory-impls/Utils.d.ts.map +1 -0
  86. package/lib/shared/instance-label-factory-impls/Utils.js +21 -0
  87. package/lib/shared/instance-label-factory-impls/Utils.js.map +1 -0
  88. package/package.json +22 -31
  89. package/lib/cjs/package.json +0 -1
  90. package/lib/cjs/presentation-shared.d.ts +0 -17
  91. package/lib/cjs/presentation-shared.d.ts.map +0 -1
  92. package/lib/cjs/presentation-shared.js +0 -71
  93. package/lib/cjs/presentation-shared.js.map +0 -1
  94. package/lib/cjs/shared/ConcatenatedValue.d.ts.map +0 -1
  95. package/lib/cjs/shared/ConcatenatedValue.js +0 -49
  96. package/lib/cjs/shared/ConcatenatedValue.js.map +0 -1
  97. package/lib/cjs/shared/ECSqlCore.d.ts.map +0 -1
  98. package/lib/cjs/shared/ECSqlCore.js +0 -7
  99. package/lib/cjs/shared/ECSqlCore.js.map +0 -1
  100. package/lib/cjs/shared/Event.d.ts.map +0 -1
  101. package/lib/cjs/shared/Event.js +0 -7
  102. package/lib/cjs/shared/Event.js.map +0 -1
  103. package/lib/cjs/shared/Formatting.d.ts.map +0 -1
  104. package/lib/cjs/shared/Formatting.js +0 -114
  105. package/lib/cjs/shared/Formatting.js.map +0 -1
  106. package/lib/cjs/shared/InstanceLabelSelectClauseFactory.d.ts +0 -133
  107. package/lib/cjs/shared/InstanceLabelSelectClauseFactory.d.ts.map +0 -1
  108. package/lib/cjs/shared/InstanceLabelSelectClauseFactory.js +0 -166
  109. package/lib/cjs/shared/InstanceLabelSelectClauseFactory.js.map +0 -1
  110. package/lib/cjs/shared/Logging.d.ts.map +0 -1
  111. package/lib/cjs/shared/Logging.js +0 -20
  112. package/lib/cjs/shared/Logging.js.map +0 -1
  113. package/lib/cjs/shared/MappedTypes.d.ts +0 -17
  114. package/lib/cjs/shared/MappedTypes.d.ts.map +0 -1
  115. package/lib/cjs/shared/MappedTypes.js +0 -7
  116. package/lib/cjs/shared/MappedTypes.js.map +0 -1
  117. package/lib/cjs/shared/Metadata.d.ts +0 -291
  118. package/lib/cjs/shared/Metadata.d.ts.map +0 -1
  119. package/lib/cjs/shared/Metadata.js +0 -53
  120. package/lib/cjs/shared/Metadata.js.map +0 -1
  121. package/lib/cjs/shared/Utils.d.ts.map +0 -1
  122. package/lib/cjs/shared/Utils.js +0 -114
  123. package/lib/cjs/shared/Utils.js.map +0 -1
  124. package/lib/cjs/shared/Values.d.ts +0 -107
  125. package/lib/cjs/shared/Values.d.ts.map +0 -1
  126. package/lib/cjs/shared/Values.js +0 -155
  127. package/lib/cjs/shared/Values.js.map +0 -1
  128. package/lib/cjs/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts +0 -51
  129. package/lib/cjs/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts.map +0 -1
  130. package/lib/cjs/shared/ecsql-snippets/ECSqlJoinSnippets.js +0 -140
  131. package/lib/cjs/shared/ecsql-snippets/ECSqlJoinSnippets.js.map +0 -1
  132. package/lib/cjs/shared/ecsql-snippets/ECSqlValueSelectorSnippets.d.ts.map +0 -1
  133. package/lib/cjs/shared/ecsql-snippets/ECSqlValueSelectorSnippets.js +0 -260
  134. package/lib/cjs/shared/ecsql-snippets/ECSqlValueSelectorSnippets.js.map +0 -1
  135. package/lib/cjs/shared/ecsql-snippets/index.d.ts +0 -3
  136. package/lib/cjs/shared/ecsql-snippets/index.d.ts.map +0 -1
  137. package/lib/cjs/shared/ecsql-snippets/index.js +0 -18
  138. package/lib/cjs/shared/ecsql-snippets/index.js.map +0 -1
  139. package/lib/esm/presentation-shared.d.ts +0 -17
  140. package/lib/esm/presentation-shared.d.ts.map +0 -1
  141. package/lib/esm/presentation-shared.js +0 -14
  142. package/lib/esm/presentation-shared.js.map +0 -1
  143. package/lib/esm/shared/ConcatenatedValue.d.ts +0 -46
  144. package/lib/esm/shared/ConcatenatedValue.d.ts.map +0 -1
  145. package/lib/esm/shared/ConcatenatedValue.js.map +0 -1
  146. package/lib/esm/shared/ECSqlCore.d.ts +0 -94
  147. package/lib/esm/shared/ECSqlCore.d.ts.map +0 -1
  148. package/lib/esm/shared/ECSqlCore.js.map +0 -1
  149. package/lib/esm/shared/Event.d.ts +0 -27
  150. package/lib/esm/shared/Event.d.ts.map +0 -1
  151. package/lib/esm/shared/Formatting.d.ts +0 -44
  152. package/lib/esm/shared/Formatting.d.ts.map +0 -1
  153. package/lib/esm/shared/Formatting.js.map +0 -1
  154. package/lib/esm/shared/InstanceLabelSelectClauseFactory.d.ts.map +0 -1
  155. package/lib/esm/shared/InstanceLabelSelectClauseFactory.js +0 -160
  156. package/lib/esm/shared/InstanceLabelSelectClauseFactory.js.map +0 -1
  157. package/lib/esm/shared/Logging.d.ts +0 -27
  158. package/lib/esm/shared/Logging.d.ts.map +0 -1
  159. package/lib/esm/shared/Logging.js.map +0 -1
  160. package/lib/esm/shared/MappedTypes.d.ts +0 -17
  161. package/lib/esm/shared/MappedTypes.d.ts.map +0 -1
  162. package/lib/esm/shared/MappedTypes.js.map +0 -1
  163. package/lib/esm/shared/Metadata.d.ts +0 -291
  164. package/lib/esm/shared/Metadata.d.ts.map +0 -1
  165. package/lib/esm/shared/Metadata.js.map +0 -1
  166. package/lib/esm/shared/Utils.d.ts +0 -61
  167. package/lib/esm/shared/Utils.d.ts.map +0 -1
  168. package/lib/esm/shared/Utils.js.map +0 -1
  169. package/lib/esm/shared/Values.d.ts +0 -107
  170. package/lib/esm/shared/Values.d.ts.map +0 -1
  171. package/lib/esm/shared/Values.js +0 -152
  172. package/lib/esm/shared/Values.js.map +0 -1
  173. package/lib/esm/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts +0 -51
  174. package/lib/esm/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts.map +0 -1
  175. package/lib/esm/shared/ecsql-snippets/ECSqlJoinSnippets.js +0 -137
  176. package/lib/esm/shared/ecsql-snippets/ECSqlJoinSnippets.js.map +0 -1
  177. package/lib/esm/shared/ecsql-snippets/ECSqlValueSelectorSnippets.d.ts +0 -122
  178. package/lib/esm/shared/ecsql-snippets/ECSqlValueSelectorSnippets.d.ts.map +0 -1
  179. package/lib/esm/shared/ecsql-snippets/ECSqlValueSelectorSnippets.js.map +0 -1
  180. package/lib/esm/shared/ecsql-snippets/index.d.ts +0 -3
  181. package/lib/esm/shared/ecsql-snippets/index.d.ts.map +0 -1
  182. package/lib/esm/shared/ecsql-snippets/index.js +0 -7
  183. package/lib/esm/shared/ecsql-snippets/index.js.map +0 -1
  184. /package/lib/{cjs/shared → shared}/ConcatenatedValue.d.ts +0 -0
  185. /package/lib/{esm/shared → shared}/ConcatenatedValue.js +0 -0
  186. /package/lib/{cjs/shared → shared}/Event.d.ts +0 -0
  187. /package/lib/{esm/shared → shared}/Event.js +0 -0
  188. /package/lib/{cjs/shared → shared}/Formatting.d.ts +0 -0
  189. /package/lib/{cjs/shared → shared}/Logging.d.ts +0 -0
  190. /package/lib/{esm/shared → shared}/MappedTypes.js +0 -0
@@ -1,166 +0,0 @@
1
- "use strict";
2
- /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
- * See LICENSE.md in the project root for license terms and full copyright notice.
5
- *--------------------------------------------------------------------------------------------*/
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.parseInstanceLabel = parseInstanceLabel;
8
- exports.createDefaultInstanceLabelSelectClauseFactory = createDefaultInstanceLabelSelectClauseFactory;
9
- exports.createClassBasedInstanceLabelSelectClauseFactory = createClassBasedInstanceLabelSelectClauseFactory;
10
- exports.createBisInstanceLabelSelectClauseFactory = createBisInstanceLabelSelectClauseFactory;
11
- const ECSqlValueSelectorSnippets_js_1 = require("./ecsql-snippets/ECSqlValueSelectorSnippets.js");
12
- /**
13
- * Parses an instance label from query result into a string or a `ConcatenatedValue`. The latter type of result
14
- * is expected when label selector is created using `IInstanceLabelSelectClauseFactory.createSelectClause` with
15
- * `createConcatenatedValueJsonSelector`.
16
- *
17
- * @public
18
- */
19
- function parseInstanceLabel(value) {
20
- if (!value) {
21
- return "";
22
- }
23
- if ((value.startsWith("[") && value.endsWith("]")) || (value.startsWith("{") && value.endsWith("}"))) {
24
- try {
25
- return JSON.parse(value);
26
- }
27
- catch {
28
- // fall through
29
- }
30
- }
31
- // not a JSON object/array
32
- return value;
33
- }
34
- /**
35
- * Creates a label select clause in a format `Class label [base36(briefcase id)-base36(local id)]`, where
36
- * local and briefcase IDs are calculated based on ECInstance ID:
37
- * - `{briefcase id} = ECInstanceId >> 40`
38
- * - `{local id} = ECInstanceId & (1 << 40 - 1)`
39
- *
40
- * @see https://www.itwinjs.org/presentation/advanced/defaultbisrules/#label-overrides
41
- * @public
42
- */
43
- function createDefaultInstanceLabelSelectClauseFactory() {
44
- return {
45
- async createSelectClause(props) {
46
- return `(
47
- SELECT
48
- ${concatenate(props, [
49
- {
50
- selector: `COALESCE(
51
- ${(0, ECSqlValueSelectorSnippets_js_1.createRawPropertyValueSelector)("c", "DisplayLabel")},
52
- ${(0, ECSqlValueSelectorSnippets_js_1.createRawPropertyValueSelector)("c", "Name")}
53
- )`,
54
- },
55
- ...createECInstanceIdSuffixSelectors(props.classAlias),
56
- ])}
57
- FROM [meta].[ECClassDef] AS [c]
58
- WHERE [c].[ECInstanceId] = ${(0, ECSqlValueSelectorSnippets_js_1.createRawPropertyValueSelector)(props.classAlias, "ECClassId")}
59
- )`;
60
- },
61
- };
62
- }
63
- /**
64
- * Creates an instance label select clause based on its class.
65
- * @public
66
- */
67
- function createClassBasedInstanceLabelSelectClauseFactory(props) {
68
- const { classHierarchyInspector, clauses: labelClausesByClass } = props;
69
- const defaultClauseFactory = props.defaultClauseFactory ?? createDefaultInstanceLabelSelectClauseFactory();
70
- async function getLabelClausesForClass(queryClassName) {
71
- const matchingLabelClauses = await Promise.all(labelClausesByClass.map(async (entry) => {
72
- if (await classHierarchyInspector.classDerivesFrom(entry.className, queryClassName)) {
73
- // label selector is intended for a more specific class than we're selecting from - need to include it
74
- // as query results (on polymorphic select) are going to include more specific class instances too
75
- return entry;
76
- }
77
- if (await classHierarchyInspector.classDerivesFrom(queryClassName, entry.className)) {
78
- // label selector is intended for a base class of what query is selecting - need to include it as
79
- // we want base class label selectors to apply to subclass instances
80
- return entry;
81
- }
82
- return undefined;
83
- }));
84
- function filterNotUndefined(x) {
85
- return !!x;
86
- }
87
- return matchingLabelClauses.filter(filterNotUndefined);
88
- }
89
- return {
90
- async createSelectClause(clauseProps) {
91
- if (labelClausesByClass.length === 0) {
92
- return defaultClauseFactory.createSelectClause(clauseProps);
93
- }
94
- const labelClausePromises = clauseProps.className ? await getLabelClausesForClass(clauseProps.className) : labelClausesByClass;
95
- if (labelClausePromises.length === 0) {
96
- return defaultClauseFactory.createSelectClause(clauseProps);
97
- }
98
- const labelClauses = await Promise.all(labelClausePromises.map(async ({ className, clause }) => ({
99
- className,
100
- clause: await clause(clauseProps),
101
- })));
102
- return `COALESCE(
103
- ${labelClauses
104
- .map(({ className, clause }) => `
105
- IIF(
106
- ${(0, ECSqlValueSelectorSnippets_js_1.createRawPropertyValueSelector)(clauseProps.classAlias, "ECClassId")} IS (${className}),
107
- ${clause.trim()},
108
- NULL
109
- )
110
- `.trim())
111
- .join(", ")},
112
- ${await defaultClauseFactory.createSelectClause(clauseProps)}
113
- )`;
114
- },
115
- };
116
- }
117
- /**
118
- * Creates a label select clause according to BIS instance label rules.
119
- * @see https://www.itwinjs.org/presentation/advanced/defaultbisrules/#label-overrides
120
- * @public
121
- */
122
- function createBisInstanceLabelSelectClauseFactory(props) {
123
- const clauses = [];
124
- const factory = createClassBasedInstanceLabelSelectClauseFactory({
125
- classHierarchyInspector: props.classHierarchyInspector,
126
- clauses,
127
- });
128
- clauses.push({
129
- className: "BisCore.GeometricElement",
130
- clause: async ({ classAlias, ...rest }) => `
131
- COALESCE(
132
- ${(0, ECSqlValueSelectorSnippets_js_1.createRawPropertyValueSelector)(classAlias, "CodeValue")},
133
- ${concatenate(rest, [{ selector: (0, ECSqlValueSelectorSnippets_js_1.createRawPropertyValueSelector)(classAlias, "UserLabel") }, ...createECInstanceIdSuffixSelectors(classAlias)], `${(0, ECSqlValueSelectorSnippets_js_1.createRawPropertyValueSelector)(classAlias, "UserLabel")} IS NOT NULL`)}
134
- )
135
- `,
136
- }, {
137
- className: "BisCore.Element",
138
- clause: async ({ classAlias }) => `
139
- COALESCE(
140
- ${(0, ECSqlValueSelectorSnippets_js_1.createRawPropertyValueSelector)(classAlias, "UserLabel")},
141
- ${(0, ECSqlValueSelectorSnippets_js_1.createRawPropertyValueSelector)(classAlias, "CodeValue")}
142
- )
143
- `,
144
- }, {
145
- className: "BisCore.Model",
146
- clause: async ({ classAlias, ...rest }) => `(
147
- SELECT ${await factory.createSelectClause({ ...rest, classAlias: "e", className: "BisCore.Element" })}
148
- FROM [bis].[Element] AS [e]
149
- WHERE [e].[ECInstanceId] = ${(0, ECSqlValueSelectorSnippets_js_1.createRawPropertyValueSelector)(classAlias, "ModeledElement", "Id")}
150
- )`,
151
- });
152
- return factory;
153
- }
154
- function createECInstanceIdSuffixSelectors(classAlias) {
155
- return [
156
- { value: ` [`, type: "String" },
157
- { selector: `CAST(base36(${(0, ECSqlValueSelectorSnippets_js_1.createRawPropertyValueSelector)(classAlias, "ECInstanceId")} >> 40) AS TEXT)` },
158
- { value: `-`, type: "String" },
159
- { selector: `CAST(base36(${(0, ECSqlValueSelectorSnippets_js_1.createRawPropertyValueSelector)(classAlias, "ECInstanceId")} & ((1 << 40) - 1)) AS TEXT)` },
160
- { value: `]`, type: "String" },
161
- ];
162
- }
163
- function concatenate(props, selectors, checkSelector) {
164
- return (props.selectorsConcatenator ?? ECSqlValueSelectorSnippets_js_1.createConcatenatedValueJsonSelector)(selectors, checkSelector);
165
- }
166
- //# sourceMappingURL=InstanceLabelSelectClauseFactory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InstanceLabelSelectClauseFactory.js","sourceRoot":"","sources":["../../../src/shared/InstanceLabelSelectClauseFactory.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;AAgFhG,gDAaC;AAWD,sGAmBC;AAyCD,4GA0DC;AAeD,8FAuCC;AAlRD,kGAAqI;AAuErI;;;;;;GAMG;AACH,SAAgB,kBAAkB,CAAC,KAAyB;IAC1D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QACrG,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,eAAe;QACjB,CAAC;IACH,CAAC;IACD,0BAA0B;IAC1B,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,6CAA6C;IAC3D,OAAO;QACL,KAAK,CAAC,kBAAkB,CAAC,KAA2C;YAClE,OAAO;;YAED,WAAW,CAAC,KAAK,EAAE;gBACnB;oBACE,QAAQ,EAAE;kBACN,IAAA,8DAA8B,EAAC,GAAG,EAAE,cAAc,CAAC;kBACnD,IAAA,8DAA8B,EAAC,GAAG,EAAE,MAAM,CAAC;gBAC7C;iBACH;gBACD,GAAG,iCAAiC,CAAC,KAAK,CAAC,UAAU,CAAC;aACvD,CAAC;;qCAEyB,IAAA,8DAA8B,EAAC,KAAK,CAAC,UAAU,EAAE,WAAW,CAAC;QAC1F,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC;AAqCD;;;GAGG;AACH,SAAgB,gDAAgD,CAAC,KAAsD;IACrH,MAAM,EAAE,uBAAuB,EAAE,OAAO,EAAE,mBAAmB,EAAE,GAAG,KAAK,CAAC;IACxE,MAAM,oBAAoB,GAAG,KAAK,CAAC,oBAAoB,IAAI,6CAA6C,EAAE,CAAC;IAC3G,KAAK,UAAU,uBAAuB,CAAC,cAAsB;QAC3D,MAAM,oBAAoB,GAAG,MAAM,OAAO,CAAC,GAAG,CAC5C,mBAAmB,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACtC,IAAI,MAAM,uBAAuB,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,CAAC;gBACpF,sGAAsG;gBACtG,kGAAkG;gBAClG,OAAO,KAAK,CAAC;YACf,CAAC;YACD,IAAI,MAAM,uBAAuB,CAAC,gBAAgB,CAAC,cAAc,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;gBACpF,iGAAiG;gBACjG,oEAAoE;gBACpE,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC,CACH,CAAC;QACF,SAAS,kBAAkB,CAAI,CAAgB;YAC7C,OAAO,CAAC,CAAC,CAAC,CAAC;QACb,CAAC;QACD,OAAO,oBAAoB,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACzD,CAAC;IACD,OAAO;QACL,KAAK,CAAC,kBAAkB,CAAC,WAAiD;YACxE,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrC,OAAO,oBAAoB,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;YAC9D,CAAC;YAED,MAAM,mBAAmB,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,uBAAuB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC;YAC/H,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrC,OAAO,oBAAoB,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;YAC9D,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CACpC,mBAAmB,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;gBACxD,SAAS;gBACT,MAAM,EAAE,MAAM,MAAM,CAAC,WAAW,CAAC;aAClC,CAAC,CAAC,CACJ,CAAC;YAEF,OAAO;UACH,YAAY;iBACX,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,CAC7B;;kBAEM,IAAA,8DAA8B,EAAC,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,QAAQ,SAAS;kBACpF,MAAM,CAAC,IAAI,EAAE;;;aAGlB,CAAC,IAAI,EAAE,CACT;iBACA,IAAI,CAAC,IAAI,CAAC;UACX,MAAM,oBAAoB,CAAC,kBAAkB,CAAC,WAAW,CAAC;QAC5D,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC;AAUD;;;;GAIG;AACH,SAAgB,yCAAyC,CAAC,KAA+C;IACvG,MAAM,OAAO,GAAkC,EAAE,CAAC;IAClD,MAAM,OAAO,GAAG,gDAAgD,CAAC;QAC/D,uBAAuB,EAAE,KAAK,CAAC,uBAAuB;QACtD,OAAO;KACR,CAAC,CAAC;IACH,OAAO,CAAC,IAAI,CACV;QACE,SAAS,EAAE,0BAA0B;QACrC,MAAM,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC;;YAErC,IAAA,8DAA8B,EAAC,UAAU,EAAE,WAAW,CAAC;YACvD,WAAW,CACX,IAAI,EACJ,CAAC,EAAE,QAAQ,EAAE,IAAA,8DAA8B,EAAC,UAAU,EAAE,WAAW,CAAC,EAAE,EAAE,GAAG,iCAAiC,CAAC,UAAU,CAAC,CAAC,EACzH,GAAG,IAAA,8DAA8B,EAAC,UAAU,EAAE,WAAW,CAAC,cAAc,CACzE;;OAEJ;KACF,EACD;QACE,SAAS,EAAE,iBAAiB;QAC5B,MAAM,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;;YAE5B,IAAA,8DAA8B,EAAC,UAAU,EAAE,WAAW,CAAC;YACvD,IAAA,8DAA8B,EAAC,UAAU,EAAE,WAAW,CAAC;;OAE5D;KACF,EACD;QACE,SAAS,EAAE,eAAe;QAC1B,MAAM,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC;iBAChC,MAAM,OAAO,CAAC,kBAAkB,CAAC,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;;qCAExE,IAAA,8DAA8B,EAAC,UAAU,EAAE,gBAAgB,EAAE,IAAI,CAAC;QAC/F;KACH,CACF,CAAC;IACF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,iCAAiC,CAAC,UAAkB;IAC3D,OAAO;QACL,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC/B,EAAE,QAAQ,EAAE,eAAe,IAAA,8DAA8B,EAAC,UAAU,EAAE,cAAc,CAAC,kBAAkB,EAAE;QACzG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC9B,EAAE,QAAQ,EAAE,eAAe,IAAA,8DAA8B,EAAC,UAAU,EAAE,cAAc,CAAC,8BAA8B,EAAE;QACrH,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC/B,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAClB,KAA+G,EAC/G,SAAwC,EACxC,aAAsB;IAEtB,OAAO,CAAC,KAAK,CAAC,qBAAqB,IAAI,mEAAmC,CAAC,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;AACxG,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Logging.d.ts","sourceRoot":"","sources":["../../../src/shared/Logging.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;AAEtE;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;AAE9D;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,KAAK,OAAO,CAAC;IAC1D,QAAQ,EAAE,WAAW,CAAC;IACtB,UAAU,EAAE,WAAW,CAAC;IACxB,OAAO,EAAE,WAAW,CAAC;IACrB,QAAQ,EAAE,WAAW,CAAC;CACvB;AAED;;;GAGG;AAEH,eAAO,MAAM,WAAW,EAAE,OAMzB,CAAC"}
@@ -1,20 +0,0 @@
1
- "use strict";
2
- /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
- * See LICENSE.md in the project root for license terms and full copyright notice.
5
- *--------------------------------------------------------------------------------------------*/
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.NOOP_LOGGER = void 0;
8
- /**
9
- * A logger implementation that does nothing.
10
- * @public
11
- */
12
- /* c8 ignore next 7 */
13
- exports.NOOP_LOGGER = {
14
- isEnabled: () => false,
15
- logError: () => { },
16
- logWarning: () => { },
17
- logInfo: () => { },
18
- logTrace: () => { },
19
- };
20
- //# sourceMappingURL=Logging.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Logging.js","sourceRoot":"","sources":["../../../src/shared/Logging.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;AA0BhG;;;GAGG;AACH,sBAAsB;AACT,QAAA,WAAW,GAAY;IAClC,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK;IACtB,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC;IAClB,UAAU,EAAE,GAAG,EAAE,GAAE,CAAC;IACpB,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;IACjB,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC;CACnB,CAAC"}
@@ -1,17 +0,0 @@
1
- /**
2
- * An utility `Omit` type which works with union types.
3
- * @public
4
- */
5
- export type OmitOverUnion<T, K extends PropertyKey> = T extends T ? Omit<T, K> : never;
6
- /**
7
- * An utility generic type to get array element's type.
8
- * @public
9
- */
10
- export type ArrayElement<ArrayType extends readonly unknown[]> = ArrayType extends readonly (infer ElementType)[] ? ElementType : never;
11
- /**
12
- * Returns type of `TFunc` parameter, when `TFunc` accepts exactly one object argument
13
- * that can also be `undefined` / optional.
14
- * @public
15
- */
16
- export type Props<TFunc extends (...args: any[]) => any> = Parameters<TFunc> extends [infer TProps] ? Exclude<TProps, undefined> extends object ? TProps : never : Parameters<TFunc> extends [(infer TProps)?] ? Exclude<TProps, undefined> extends object ? TProps | undefined : never : never;
17
- //# sourceMappingURL=MappedTypes.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MappedTypes.d.ts","sourceRoot":"","sources":["../../../src/shared/MappedTypes.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,CAAC,SAAS,WAAW,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;AAEvF;;;GAGG;AACH,MAAM,MAAM,YAAY,CAAC,SAAS,SAAS,SAAS,OAAO,EAAE,IAAI,SAAS,SAAS,SAAS,CAAC,MAAM,WAAW,CAAC,EAAE,GAAG,WAAW,GAAG,KAAK,CAAC;AAExI;;;;GAIG;AACH,MAAM,MAAM,KAAK,CAAC,KAAK,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,IACrD,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,MAAM,CAAC,GACpC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,MAAM,GACvC,MAAM,GACN,KAAK,GACP,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC,GACzC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,MAAM,GACvC,MAAM,GAAG,SAAS,GAClB,KAAK,GACP,KAAK,CAAC"}
@@ -1,7 +0,0 @@
1
- "use strict";
2
- /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
- * See LICENSE.md in the project root for license terms and full copyright notice.
5
- *--------------------------------------------------------------------------------------------*/
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- //# sourceMappingURL=MappedTypes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MappedTypes.js","sourceRoot":"","sources":["../../../src/shared/MappedTypes.ts"],"names":[],"mappings":";AAAA;;;gGAGgG"}
@@ -1,291 +0,0 @@
1
- /**
2
- * An interface for an object that knows how to get an ECSchema from an iModel.
3
- *
4
- * @see `createECSchemaProvider` in `@itwin/presentation-core-interop`.
5
- * @public
6
- */
7
- export interface ECSchemaProvider {
8
- getSchema(schemaName: string): Promise<EC.Schema | undefined>;
9
- }
10
- /**
11
- * An interface for a class hierarchy inspector that can be used to determine if one class derives from another.
12
- * @see `createCachingECClassHierarchyInspector`
13
- * @public
14
- */
15
- export interface ECClassHierarchyInspector {
16
- classDerivesFrom(derivedClassFullName: string, candidateBaseClassFullName: string): Promise<boolean> | boolean;
17
- }
18
- /**
19
- * Creates a new `ECClassHierarchyInspector` that caches results of `derivesFrom` calls.
20
- * @public
21
- */
22
- export declare function createCachingECClassHierarchyInspector(props: {
23
- /** Schema provider used to load schemas and their classes. */
24
- schemaProvider: ECSchemaProvider;
25
- /** Optional cache size, describing the number of derived/base class combinations to store in cache. Defaults to `0`, which means no caching. */
26
- cacheSize?: number;
27
- }): ECClassHierarchyInspector;
28
- /**
29
- * A namespace containing various [EC types](https://www.itwinjs.org/bis/ec/).
30
- * @public
31
- * @see `ECSchemaProvider`
32
- */
33
- export declare namespace EC {
34
- /**
35
- * Represents an ECSchema that contains classes, relationships, etc.
36
- * @see https://www.itwinjs.org/reference/ecschema-metadata/metadata/schema/
37
- * @public
38
- */
39
- interface Schema {
40
- name: string;
41
- getClass(name: string): Promise<Class | undefined>;
42
- getCustomAttributes(): Promise<CustomAttributeSet>;
43
- }
44
- /**
45
- * Represents an ECSchema item - a class, relationship, etc.
46
- * @see https://www.itwinjs.org/reference/ecschema-metadata/metadata/schemaitem/
47
- * @public
48
- */
49
- interface SchemaItem {
50
- schema: Schema;
51
- fullName: string;
52
- name: string;
53
- label?: string;
54
- }
55
- /**
56
- * Represents an ECClass.
57
- * @see https://www.itwinjs.org/reference/ecschema-metadata/metadata/ecclass/
58
- * @public
59
- */
60
- interface Class extends SchemaItem {
61
- baseClass: Promise<Class | undefined>;
62
- is(className: string, schemaName: string): Promise<boolean>;
63
- is(other: Class): Promise<boolean>;
64
- getProperty(name: string): Promise<Property | undefined>;
65
- getProperties(): Promise<Array<Property>>;
66
- isEntityClass(): this is EntityClass;
67
- isRelationshipClass(): this is RelationshipClass;
68
- isStructClass(): this is StructClass;
69
- isMixin(): this is Mixin;
70
- getDerivedClasses(): Promise<Class[]>;
71
- getCustomAttributes(): Promise<CustomAttributeSet>;
72
- }
73
- /**
74
- * Represents an entity class.
75
- * @see https://www.itwinjs.org/reference/ecschema-metadata/metadata/entityclass/
76
- * @public
77
- */
78
- type EntityClass = Class;
79
- /**
80
- * Represents a struct class.
81
- * @see https://www.itwinjs.org/reference/ecschema-metadata/metadata/structclass/
82
- * @public
83
- */
84
- type StructClass = Class;
85
- /**
86
- * Represents a mixin.
87
- * @see https://www.itwinjs.org/reference/ecschema-metadata/metadata/mixin/
88
- * @public
89
- */
90
- type Mixin = Class;
91
- /**
92
- * Represents a kind of quantity.
93
- * @see https://www.itwinjs.org/reference/ecschema-metadata/metadata/kindofquantity/
94
- * @public
95
- */
96
- type KindOfQuantity = SchemaItem;
97
- /**
98
- * Represents a relationship constraint multiplicity.
99
- * @see https://www.itwinjs.org/reference/ecschema-metadata/metadata/relationshipmultiplicity/
100
- * @public
101
- */
102
- interface RelationshipConstraintMultiplicity {
103
- lowerLimit: number;
104
- upperLimit: number;
105
- }
106
- /**
107
- * Represents a relationship constraint.
108
- * @see https://www.itwinjs.org/reference/ecschema-metadata/metadata/relationshipconstraint/
109
- * @public
110
- */
111
- interface RelationshipConstraint {
112
- multiplicity: RelationshipConstraintMultiplicity;
113
- polymorphic: boolean;
114
- abstractConstraint: Promise<EntityClass | Mixin | RelationshipClass | undefined>;
115
- }
116
- /**
117
- * Represents a relationship class.
118
- * @see https://www.itwinjs.org/reference/ecschema-metadata/metadata/relationshipclass/
119
- * @public
120
- */
121
- interface RelationshipClass extends Class {
122
- direction: "Forward" | "Backward";
123
- source: RelationshipConstraint;
124
- target: RelationshipConstraint;
125
- }
126
- /**
127
- * Represents an enumerator.
128
- * @see https://www.itwinjs.org/reference/ecschema-metadata/metadata/enumerator/
129
- * @public
130
- */
131
- interface Enumerator<T> {
132
- name: string;
133
- value: T;
134
- label?: string;
135
- description?: string;
136
- }
137
- /**
138
- * Represents an enumeration.
139
- * @see https://www.itwinjs.org/reference/ecschema-metadata/metadata/enumeration/
140
- * @public
141
- */
142
- interface Enumeration extends SchemaItem {
143
- enumerators: Array<Enumerator<string | number>>;
144
- type: "String" | "Number";
145
- isStrict: boolean;
146
- }
147
- /**
148
- * Represents a property.
149
- * @see https://www.itwinjs.org/reference/ecschema-metadata/metadata/property/
150
- * @public
151
- */
152
- interface Property {
153
- name: string;
154
- class: Class;
155
- label?: string;
156
- kindOfQuantity: Promise<KindOfQuantity | undefined>;
157
- isArray(): this is ArrayProperty;
158
- isStruct(): this is StructProperty;
159
- isPrimitive(): this is PrimitiveProperty;
160
- isEnumeration(): this is EnumerationProperty;
161
- isNavigation(): this is NavigationProperty;
162
- getCustomAttributes(): Promise<CustomAttributeSet>;
163
- }
164
- /**
165
- * Defines array property attributes.
166
- * @see https://www.itwinjs.org/reference/ecschema-metadata/metadata/arrayproperty/
167
- * @public
168
- */
169
- interface ArrayPropertyAttributes {
170
- minOccurs: number;
171
- maxOccurs?: number;
172
- }
173
- /**
174
- * Defines a structs array property.
175
- * @see https://www.itwinjs.org/reference/ecschema-metadata/metadata/structarrayproperty/
176
- * @public
177
- */
178
- type StructArrayProperty = StructProperty & ArrayPropertyAttributes;
179
- /**
180
- * Defines an enumerations array property.
181
- * @see https://www.itwinjs.org/reference/ecschema-metadata/metadata/enumerationarrayproperty/
182
- * @public
183
- */
184
- type EnumerationArrayProperty = EnumerationProperty & ArrayPropertyAttributes;
185
- /**
186
- * Defines a primitives array property.
187
- * @see https://www.itwinjs.org/reference/ecschema-metadata/metadata/primitivearrayproperty/
188
- * @public
189
- */
190
- type PrimitiveArrayProperty = PrimitiveProperty & ArrayPropertyAttributes;
191
- /**
192
- * Defines an array property.
193
- * @see https://www.itwinjs.org/reference/ecschema-metadata/metadata/anyarrayproperty/
194
- * @public
195
- */
196
- type ArrayProperty = StructArrayProperty | EnumerationArrayProperty | PrimitiveArrayProperty;
197
- /**
198
- * Defines a struct property.
199
- * @see https://www.itwinjs.org/reference/ecschema-metadata/metadata/structproperty/
200
- * @public
201
- */
202
- interface StructProperty extends Property {
203
- structClass: StructClass;
204
- }
205
- /**
206
- * Defines an enumeration property.
207
- * @see https://www.itwinjs.org/reference/ecschema-metadata/metadata/enumerationproperty/
208
- * @public
209
- */
210
- interface EnumerationProperty extends Property {
211
- enumeration: Promise<Enumeration | undefined>;
212
- extendedTypeName?: string;
213
- }
214
- /**
215
- * Defines a navigation property.
216
- * @see https://www.itwinjs.org/reference/ecschema-metadata/metadata/navigationproperty/
217
- * @public
218
- */
219
- interface NavigationProperty extends Property {
220
- relationshipClass: Promise<RelationshipClass>;
221
- direction: "Forward" | "Backward";
222
- }
223
- /**
224
- * Defines a primitive property type.
225
- * @see https://www.itwinjs.org/reference/ecschema-metadata/metadata/primitivetype/
226
- * @public
227
- */
228
- type PrimitiveType = "Binary" | "Boolean" | "DateTime" | "Double" | "Integer" | "Long" | "Point2d" | "Point3d" | "String" | "IGeometry";
229
- /**
230
- * Defines a primitive property.
231
- * @see https://www.itwinjs.org/reference/ecschema-metadata/metadata/primitiveproperty/
232
- * @public
233
- */
234
- interface PrimitiveProperty extends Property {
235
- primitiveType: PrimitiveType;
236
- extendedTypeName?: string;
237
- }
238
- /**
239
- * Defines a set of custom attributes that may be applied to a class or property.
240
- * @see https://www.itwinjs.org/reference/ecschema-metadata/metadata/customattribute/
241
- * @public
242
- */
243
- interface CustomAttributeSet {
244
- [Symbol.iterator]: () => IterableIterator<[string, CustomAttribute]>;
245
- get(className: string): CustomAttribute | undefined;
246
- }
247
- /**
248
- * Defines a custom attribute that may be applied to a class or property.
249
- * @see https://www.itwinjs.org/reference/ecschema-metadata/metadata/customattribute/
250
- * @public
251
- */
252
- interface CustomAttribute {
253
- className: string;
254
- [propName: string]: any;
255
- }
256
- }
257
- /**
258
- * An identifiers' union of all supported primitive value types.
259
- * @public
260
- */
261
- export type PrimitiveValueType = "Id" | Exclude<EC.PrimitiveType, "Binary" | "IGeometry">;
262
- /**
263
- * Describes a single step through an ECRelationship from source ECClass to target ECClass.
264
- * @public
265
- */
266
- export interface RelationshipPathStep {
267
- /** Full name of the source ECClass */
268
- sourceClassName: string;
269
- /** Full name of the target ECClass */
270
- targetClassName: string;
271
- /** Full name of the ECRelationshipClass */
272
- relationshipName: string;
273
- /**
274
- * Indicates that the relationship direction be reversed. This should be set to `true` when step direction
275
- * doesn't match relationship direction, e.g. relationship is from source `A` to target `B` and the step
276
- * describes a step from `B` to `A`.
277
- */
278
- relationshipReverse?: boolean;
279
- }
280
- /**
281
- * Describes a path from source ECClass to target ECClass through multiple ECRelationships.
282
- * @public
283
- */
284
- export type RelationshipPath<TStep extends RelationshipPathStep = RelationshipPathStep> = TStep[];
285
- /**
286
- * Finds a class with the specified full class name using the given `ECSchemaProvider`.
287
- * @throws Error if the schema or class is not found.
288
- * @public
289
- */
290
- export declare function getClass(schemaProvider: ECSchemaProvider, fullClassName: string): Promise<EC.Class>;
291
- //# sourceMappingURL=Metadata.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Metadata.d.ts","sourceRoot":"","sources":["../../../src/shared/Metadata.ts"],"names":[],"mappings":"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"}
@@ -1,53 +0,0 @@
1
- "use strict";
2
- /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
- * See LICENSE.md in the project root for license terms and full copyright notice.
5
- *--------------------------------------------------------------------------------------------*/
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.createCachingECClassHierarchyInspector = createCachingECClassHierarchyInspector;
8
- exports.getClass = getClass;
9
- const core_bentley_1 = require("@itwin/core-bentley");
10
- const Utils_js_1 = require("./Utils.js");
11
- /**
12
- * Creates a new `ECClassHierarchyInspector` that caches results of `derivesFrom` calls.
13
- * @public
14
- */
15
- function createCachingECClassHierarchyInspector(props) {
16
- const map = new core_bentley_1.LRUMap(props.cacheSize ?? 0);
17
- function createCacheKey(derivedClassName, baseClassName) {
18
- return `${derivedClassName}/${baseClassName}`;
19
- }
20
- return {
21
- classDerivesFrom(derivedClassFullName, candidateBaseClassFullName) {
22
- const cacheKey = createCacheKey(derivedClassFullName, candidateBaseClassFullName);
23
- let result = map.get(cacheKey);
24
- if (result === undefined) {
25
- result = Promise.all([getClass(props.schemaProvider, derivedClassFullName), getClass(props.schemaProvider, candidateBaseClassFullName)]).then(async ([derivedClass, baseClass]) => {
26
- const resolvedResult = await derivedClass.is(baseClass);
27
- map.set(cacheKey, resolvedResult);
28
- return resolvedResult;
29
- });
30
- map.set(cacheKey, result);
31
- }
32
- return result;
33
- },
34
- };
35
- }
36
- /**
37
- * Finds a class with the specified full class name using the given `ECSchemaProvider`.
38
- * @throws Error if the schema or class is not found.
39
- * @public
40
- */
41
- async function getClass(schemaProvider, fullClassName) {
42
- const { schemaName, className } = (0, Utils_js_1.parseFullClassName)(fullClassName);
43
- const schema = await schemaProvider.getSchema(schemaName);
44
- if (!schema) {
45
- throw new Error(`Schema "${schemaName}" not found.`);
46
- }
47
- const lookupClass = await schema.getClass(className);
48
- if (!lookupClass) {
49
- throw new Error(`Class "${className}" not found in schema "${schemaName}".`);
50
- }
51
- return lookupClass;
52
- }
53
- //# sourceMappingURL=Metadata.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Metadata.js","sourceRoot":"","sources":["../../../src/shared/Metadata.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;AA4BhG,wFA2BC;AAmSD,4BAWC;AAnWD,sDAA6C;AAC7C,yCAAgD;AAqBhD;;;GAGG;AACH,SAAgB,sCAAsC,CAAC,KAKtD;IACC,MAAM,GAAG,GAAG,IAAI,qBAAM,CAAqC,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;IACjF,SAAS,cAAc,CAAC,gBAAwB,EAAE,aAAqB;QACrE,OAAO,GAAG,gBAAgB,IAAI,aAAa,EAAE,CAAC;IAChD,CAAC;IACD,OAAO;QACL,gBAAgB,CAAC,oBAA4B,EAAE,0BAAkC;YAC/E,MAAM,QAAQ,GAAG,cAAc,CAAC,oBAAoB,EAAE,0BAA0B,CAAC,CAAC;YAClF,IAAI,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC/B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,EAAE,oBAAoB,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC,CAAC,CAAC,IAAI,CAC3I,KAAK,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC,EAAE,EAAE;oBAClC,MAAM,cAAc,GAAG,MAAM,YAAY,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;oBACxD,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;oBAClC,OAAO,cAAc,CAAC;gBACxB,CAAC,CACF,CAAC;gBACF,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC5B,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC;AACJ,CAAC;AA8RD;;;;GAIG;AACI,KAAK,UAAU,QAAQ,CAAC,cAAgC,EAAE,aAAqB;IACpF,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,IAAA,6BAAkB,EAAC,aAAa,CAAC,CAAC;IACpE,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAC1D,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,WAAW,UAAU,cAAc,CAAC,CAAC;IACvD,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACrD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,UAAU,SAAS,0BAA0B,UAAU,IAAI,CAAC,CAAC;IAC/E,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Utils.d.ts","sourceRoot":"","sources":["../../../src/shared/Utils.ts"],"names":[],"mappings":"AAOA;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,MAAM;;;EAIvD;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CASpE;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAUtE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;AACpD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;AAe5E;;;;;GAKG;AACH,wBAAsB,iBAAiB,kBAEtC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,0CAA0C,CAAC,mBAAmB,SAAK,SAEtE,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CASrC;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAGzD"}