@itwin/presentation-shared 2.0.0-alpha.10 → 2.0.0-alpha.12

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 (209) hide show
  1. package/CHANGELOG.md +154 -0
  2. package/lib/{esm/presentation-shared.d.ts → presentation-shared.d.ts} +6 -5
  3. package/lib/presentation-shared.d.ts.map +1 -0
  4. package/lib/{esm/presentation-shared.js → presentation-shared.js} +3 -3
  5. package/lib/presentation-shared.js.map +1 -0
  6. package/lib/shared/ConcatenatedValue.d.ts.map +1 -0
  7. package/lib/shared/ConcatenatedValue.js.map +1 -0
  8. package/lib/{cjs/shared → shared}/ECSqlCore.d.ts +15 -1
  9. package/lib/shared/ECSqlCore.d.ts.map +1 -0
  10. package/lib/shared/ECSqlCore.js +37 -0
  11. package/lib/shared/ECSqlCore.js.map +1 -0
  12. package/lib/shared/Event.d.ts.map +1 -0
  13. package/lib/{esm/shared → shared}/Event.js.map +1 -1
  14. package/lib/shared/Formatting.d.ts.map +1 -0
  15. package/lib/shared/Formatting.js.map +1 -0
  16. package/lib/{cjs/shared → shared}/InstanceLabelSelectClauseFactory.d.ts +1 -1
  17. package/lib/shared/InstanceLabelSelectClauseFactory.d.ts.map +1 -0
  18. package/lib/shared/InstanceLabelSelectClauseFactory.js.map +1 -0
  19. package/lib/shared/Logging.d.ts.map +1 -0
  20. package/lib/shared/Logging.js.map +1 -0
  21. package/lib/shared/MappedTypes.d.ts +48 -0
  22. package/lib/shared/MappedTypes.d.ts.map +1 -0
  23. package/lib/shared/MappedTypes.js.map +1 -0
  24. package/lib/{cjs/shared → shared}/Metadata.d.ts +225 -11
  25. package/lib/shared/Metadata.d.ts.map +1 -0
  26. package/lib/shared/Metadata.js.map +1 -0
  27. package/lib/{cjs/shared → shared}/Utils.d.ts +0 -6
  28. package/lib/shared/Utils.d.ts.map +1 -0
  29. package/lib/{esm/shared → shared}/Utils.js +16 -19
  30. package/lib/shared/Utils.js.map +1 -0
  31. package/lib/{esm/shared → shared}/Values.d.ts +44 -20
  32. package/lib/shared/Values.d.ts.map +1 -0
  33. package/lib/shared/Values.js +121 -0
  34. package/lib/shared/Values.js.map +1 -0
  35. package/lib/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts +167 -0
  36. package/lib/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts.map +1 -0
  37. package/lib/shared/ecsql-snippets/ECSqlJoinSnippets.js +177 -0
  38. package/lib/shared/ecsql-snippets/ECSqlJoinSnippets.js.map +1 -0
  39. package/lib/{cjs/shared → shared}/ecsql-snippets/ECSqlValueSelectorSnippets.d.ts +9 -1
  40. package/lib/shared/ecsql-snippets/ECSqlValueSelectorSnippets.d.ts.map +1 -0
  41. package/lib/{esm/shared → shared}/ecsql-snippets/ECSqlValueSelectorSnippets.js +12 -0
  42. package/lib/shared/ecsql-snippets/ECSqlValueSelectorSnippets.js.map +1 -0
  43. package/lib/shared/ecsql-snippets/index.d.ts +3 -0
  44. package/lib/shared/ecsql-snippets/index.d.ts.map +1 -0
  45. package/lib/shared/ecsql-snippets/index.js +7 -0
  46. package/lib/shared/ecsql-snippets/index.js.map +1 -0
  47. package/lib/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.d.ts.map +1 -0
  48. package/lib/{esm/shared → shared}/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.js +9 -6
  49. package/lib/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.js.map +1 -0
  50. package/lib/{esm/shared → shared}/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.d.ts +1 -1
  51. package/lib/shared/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.d.ts.map +1 -0
  52. package/lib/shared/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.js.map +1 -0
  53. package/lib/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.d.ts.map +1 -0
  54. package/lib/{esm/shared → shared}/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.js +6 -5
  55. package/lib/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.js.map +1 -0
  56. package/lib/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.d.ts.map +1 -0
  57. package/lib/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.js.map +1 -0
  58. package/lib/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.d.ts.map +1 -0
  59. package/lib/{esm/shared → shared}/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.js +4 -3
  60. package/lib/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.js.map +1 -0
  61. package/lib/{esm/shared → shared}/instance-label-factory-impls/Utils.d.ts +1 -0
  62. package/lib/shared/instance-label-factory-impls/Utils.d.ts.map +1 -0
  63. package/lib/{esm/shared → shared}/instance-label-factory-impls/Utils.js +1 -0
  64. package/lib/shared/instance-label-factory-impls/Utils.js.map +1 -0
  65. package/package.json +16 -18
  66. package/lib/cjs/package.json +0 -1
  67. package/lib/cjs/presentation-shared.d.ts +0 -21
  68. package/lib/cjs/presentation-shared.d.ts.map +0 -1
  69. package/lib/cjs/presentation-shared.js +0 -76
  70. package/lib/cjs/presentation-shared.js.map +0 -1
  71. package/lib/cjs/shared/ConcatenatedValue.d.ts.map +0 -1
  72. package/lib/cjs/shared/ConcatenatedValue.js +0 -49
  73. package/lib/cjs/shared/ConcatenatedValue.js.map +0 -1
  74. package/lib/cjs/shared/ECSqlCore.d.ts.map +0 -1
  75. package/lib/cjs/shared/ECSqlCore.js +0 -7
  76. package/lib/cjs/shared/ECSqlCore.js.map +0 -1
  77. package/lib/cjs/shared/Event.d.ts.map +0 -1
  78. package/lib/cjs/shared/Event.js +0 -7
  79. package/lib/cjs/shared/Event.js.map +0 -1
  80. package/lib/cjs/shared/Formatting.d.ts.map +0 -1
  81. package/lib/cjs/shared/Formatting.js +0 -118
  82. package/lib/cjs/shared/Formatting.js.map +0 -1
  83. package/lib/cjs/shared/InstanceLabelSelectClauseFactory.d.ts.map +0 -1
  84. package/lib/cjs/shared/InstanceLabelSelectClauseFactory.js +0 -30
  85. package/lib/cjs/shared/InstanceLabelSelectClauseFactory.js.map +0 -1
  86. package/lib/cjs/shared/Logging.d.ts.map +0 -1
  87. package/lib/cjs/shared/Logging.js +0 -21
  88. package/lib/cjs/shared/Logging.js.map +0 -1
  89. package/lib/cjs/shared/MappedTypes.d.ts +0 -17
  90. package/lib/cjs/shared/MappedTypes.d.ts.map +0 -1
  91. package/lib/cjs/shared/MappedTypes.js +0 -7
  92. package/lib/cjs/shared/MappedTypes.js.map +0 -1
  93. package/lib/cjs/shared/Metadata.d.ts.map +0 -1
  94. package/lib/cjs/shared/Metadata.js +0 -56
  95. package/lib/cjs/shared/Metadata.js.map +0 -1
  96. package/lib/cjs/shared/Utils.d.ts.map +0 -1
  97. package/lib/cjs/shared/Utils.js +0 -111
  98. package/lib/cjs/shared/Utils.js.map +0 -1
  99. package/lib/cjs/shared/Values.d.ts +0 -107
  100. package/lib/cjs/shared/Values.d.ts.map +0 -1
  101. package/lib/cjs/shared/Values.js +0 -122
  102. package/lib/cjs/shared/Values.js.map +0 -1
  103. package/lib/cjs/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts +0 -51
  104. package/lib/cjs/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts.map +0 -1
  105. package/lib/cjs/shared/ecsql-snippets/ECSqlJoinSnippets.js +0 -138
  106. package/lib/cjs/shared/ecsql-snippets/ECSqlJoinSnippets.js.map +0 -1
  107. package/lib/cjs/shared/ecsql-snippets/ECSqlValueSelectorSnippets.d.ts.map +0 -1
  108. package/lib/cjs/shared/ecsql-snippets/ECSqlValueSelectorSnippets.js +0 -262
  109. package/lib/cjs/shared/ecsql-snippets/ECSqlValueSelectorSnippets.js.map +0 -1
  110. package/lib/cjs/shared/ecsql-snippets/index.d.ts +0 -3
  111. package/lib/cjs/shared/ecsql-snippets/index.d.ts.map +0 -1
  112. package/lib/cjs/shared/ecsql-snippets/index.js +0 -18
  113. package/lib/cjs/shared/ecsql-snippets/index.js.map +0 -1
  114. package/lib/cjs/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.d.ts.map +0 -1
  115. package/lib/cjs/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.js +0 -51
  116. package/lib/cjs/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.js.map +0 -1
  117. package/lib/cjs/shared/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.d.ts +0 -39
  118. package/lib/cjs/shared/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.d.ts.map +0 -1
  119. package/lib/cjs/shared/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.js +0 -63
  120. package/lib/cjs/shared/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.js.map +0 -1
  121. package/lib/cjs/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.d.ts.map +0 -1
  122. package/lib/cjs/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.js +0 -39
  123. package/lib/cjs/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.js.map +0 -1
  124. package/lib/cjs/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.d.ts.map +0 -1
  125. package/lib/cjs/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.js +0 -10
  126. package/lib/cjs/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.js.map +0 -1
  127. package/lib/cjs/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.d.ts.map +0 -1
  128. package/lib/cjs/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.js +0 -335
  129. package/lib/cjs/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.js.map +0 -1
  130. package/lib/cjs/shared/instance-label-factory-impls/Utils.d.ts +0 -6
  131. package/lib/cjs/shared/instance-label-factory-impls/Utils.d.ts.map +0 -1
  132. package/lib/cjs/shared/instance-label-factory-impls/Utils.js +0 -24
  133. package/lib/cjs/shared/instance-label-factory-impls/Utils.js.map +0 -1
  134. package/lib/esm/presentation-shared.d.ts.map +0 -1
  135. package/lib/esm/presentation-shared.js.map +0 -1
  136. package/lib/esm/shared/ConcatenatedValue.d.ts +0 -46
  137. package/lib/esm/shared/ConcatenatedValue.d.ts.map +0 -1
  138. package/lib/esm/shared/ConcatenatedValue.js.map +0 -1
  139. package/lib/esm/shared/ECSqlCore.d.ts +0 -94
  140. package/lib/esm/shared/ECSqlCore.d.ts.map +0 -1
  141. package/lib/esm/shared/ECSqlCore.js +0 -6
  142. package/lib/esm/shared/ECSqlCore.js.map +0 -1
  143. package/lib/esm/shared/Event.d.ts +0 -27
  144. package/lib/esm/shared/Event.d.ts.map +0 -1
  145. package/lib/esm/shared/Formatting.d.ts +0 -44
  146. package/lib/esm/shared/Formatting.d.ts.map +0 -1
  147. package/lib/esm/shared/Formatting.js.map +0 -1
  148. package/lib/esm/shared/InstanceLabelSelectClauseFactory.d.ts +0 -73
  149. package/lib/esm/shared/InstanceLabelSelectClauseFactory.d.ts.map +0 -1
  150. package/lib/esm/shared/InstanceLabelSelectClauseFactory.js.map +0 -1
  151. package/lib/esm/shared/Logging.d.ts +0 -27
  152. package/lib/esm/shared/Logging.d.ts.map +0 -1
  153. package/lib/esm/shared/Logging.js.map +0 -1
  154. package/lib/esm/shared/MappedTypes.d.ts +0 -17
  155. package/lib/esm/shared/MappedTypes.d.ts.map +0 -1
  156. package/lib/esm/shared/MappedTypes.js.map +0 -1
  157. package/lib/esm/shared/Metadata.d.ts +0 -294
  158. package/lib/esm/shared/Metadata.d.ts.map +0 -1
  159. package/lib/esm/shared/Metadata.js.map +0 -1
  160. package/lib/esm/shared/Utils.d.ts +0 -66
  161. package/lib/esm/shared/Utils.d.ts.map +0 -1
  162. package/lib/esm/shared/Utils.js.map +0 -1
  163. package/lib/esm/shared/Values.d.ts.map +0 -1
  164. package/lib/esm/shared/Values.js +0 -119
  165. package/lib/esm/shared/Values.js.map +0 -1
  166. package/lib/esm/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts +0 -51
  167. package/lib/esm/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts.map +0 -1
  168. package/lib/esm/shared/ecsql-snippets/ECSqlJoinSnippets.js +0 -135
  169. package/lib/esm/shared/ecsql-snippets/ECSqlJoinSnippets.js.map +0 -1
  170. package/lib/esm/shared/ecsql-snippets/ECSqlValueSelectorSnippets.d.ts +0 -122
  171. package/lib/esm/shared/ecsql-snippets/ECSqlValueSelectorSnippets.d.ts.map +0 -1
  172. package/lib/esm/shared/ecsql-snippets/ECSqlValueSelectorSnippets.js.map +0 -1
  173. package/lib/esm/shared/ecsql-snippets/index.d.ts +0 -3
  174. package/lib/esm/shared/ecsql-snippets/index.d.ts.map +0 -1
  175. package/lib/esm/shared/ecsql-snippets/index.js +0 -7
  176. package/lib/esm/shared/ecsql-snippets/index.js.map +0 -1
  177. package/lib/esm/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.d.ts +0 -17
  178. package/lib/esm/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.d.ts.map +0 -1
  179. package/lib/esm/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.js.map +0 -1
  180. package/lib/esm/shared/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.d.ts.map +0 -1
  181. package/lib/esm/shared/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.js.map +0 -1
  182. package/lib/esm/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.d.ts +0 -12
  183. package/lib/esm/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.d.ts.map +0 -1
  184. package/lib/esm/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.js.map +0 -1
  185. package/lib/esm/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.d.ts +0 -198
  186. package/lib/esm/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.d.ts.map +0 -1
  187. package/lib/esm/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.js.map +0 -1
  188. package/lib/esm/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.d.ts +0 -34
  189. package/lib/esm/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.d.ts.map +0 -1
  190. package/lib/esm/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.js.map +0 -1
  191. package/lib/esm/shared/instance-label-factory-impls/Utils.d.ts.map +0 -1
  192. package/lib/esm/shared/instance-label-factory-impls/Utils.js.map +0 -1
  193. /package/lib/{cjs/shared → shared}/ConcatenatedValue.d.ts +0 -0
  194. /package/lib/{esm/shared → shared}/ConcatenatedValue.js +0 -0
  195. /package/lib/{cjs/shared → shared}/Event.d.ts +0 -0
  196. /package/lib/{esm/shared → shared}/Event.js +0 -0
  197. /package/lib/{cjs/shared → shared}/Formatting.d.ts +0 -0
  198. /package/lib/{esm/shared → shared}/Formatting.js +0 -0
  199. /package/lib/{esm/shared → shared}/InstanceLabelSelectClauseFactory.js +0 -0
  200. /package/lib/{cjs/shared → shared}/Logging.d.ts +0 -0
  201. /package/lib/{esm/shared → shared}/Logging.js +0 -0
  202. /package/lib/{esm/shared → shared}/MappedTypes.js +0 -0
  203. /package/lib/{esm/shared → shared}/Metadata.js +0 -0
  204. /package/lib/{cjs/shared → shared}/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.d.ts +0 -0
  205. /package/lib/{esm/shared → shared}/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.js +0 -0
  206. /package/lib/{cjs/shared → shared}/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.d.ts +0 -0
  207. /package/lib/{cjs/shared → shared}/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.d.ts +0 -0
  208. /package/lib/{esm/shared → shared}/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.js +0 -0
  209. /package/lib/{cjs/shared → shared}/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.d.ts +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"DefaultInstanceLabelSelectClauseFactory.d.ts","sourceRoot":"","sources":["../../../../src/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,wCAAwC,CAAC;AAEhG;;;;;;;;GAQG;AACH,wBAAgB,6CAA6C,IAAI,iCAAiC,CAmBjG"}
@@ -1,39 +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.createDefaultInstanceLabelSelectClauseFactory = createDefaultInstanceLabelSelectClauseFactory;
8
- const ECSqlValueSelectorSnippets_js_1 = require("../ecsql-snippets/ECSqlValueSelectorSnippets.js");
9
- const Utils_js_1 = require("./Utils.js");
10
- /**
11
- * Creates a label select clause in a format `Class label [base36(briefcase id)-base36(local id)]`, where
12
- * local and briefcase IDs are calculated based on ECInstance ID:
13
- * - `{briefcase id} = ECInstanceId >> 40`
14
- * - `{local id} = ECInstanceId & (1 << 40 - 1)`
15
- *
16
- * @see https://www.itwinjs.org/presentation/advanced/defaultbisrules/#label-overrides
17
- * @public
18
- */
19
- function createDefaultInstanceLabelSelectClauseFactory() {
20
- return {
21
- async createSelectClause(props) {
22
- return `(
23
- SELECT
24
- ${(0, Utils_js_1.concatenate)(props, [
25
- {
26
- selector: `COALESCE(
27
- ${(0, ECSqlValueSelectorSnippets_js_1.createRawPropertyValueSelector)("c", "DisplayLabel")},
28
- ${(0, ECSqlValueSelectorSnippets_js_1.createRawPropertyValueSelector)("c", "Name")}
29
- )`,
30
- },
31
- ...(0, Utils_js_1.createECInstanceIdSuffixSelectors)(props.classAlias),
32
- ])}
33
- FROM [meta].[ECClassDef] AS [c]
34
- WHERE [c].[ECInstanceId] = ${(0, ECSqlValueSelectorSnippets_js_1.createRawPropertyValueSelector)(props.classAlias, "ECClassId")}
35
- )`;
36
- },
37
- };
38
- }
39
- //# sourceMappingURL=DefaultInstanceLabelSelectClauseFactory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DefaultInstanceLabelSelectClauseFactory.js","sourceRoot":"","sources":["../../../../src/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;AAgBhG,sGAmBC;AAjCD,mGAAiG;AACjG,yCAA4E;AAI5E;;;;;;;;GAQG;AACH,SAAgB,6CAA6C;IAC3D,OAAO;QACL,KAAK,CAAC,kBAAkB,CAAC,KAAK;YAC5B,OAAO;;YAED,IAAA,sBAAW,EAAC,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,IAAA,4CAAiC,EAAC,KAAK,CAAC,UAAU,CAAC;aACvD,CAAC;;qCAEyB,IAAA,8DAA8B,EAAC,KAAK,CAAC,UAAU,EAAE,WAAW,CAAC;QAC1F,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"IModelInstanceLabelSelectClauseFactory.Rules.d.ts","sourceRoot":"","sources":["../../../../src/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.ts"],"names":[],"mappings":"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"}
@@ -1,10 +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
- /**
7
- * This module contains hard copies of the code from `@itwin/presentation-common` package.
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- //# sourceMappingURL=IModelInstanceLabelSelectClauseFactory.Rules.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IModelInstanceLabelSelectClauseFactory.Rules.js","sourceRoot":"","sources":["../../../../src/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"IModelInstanceLabelSelectClauseFactory.d.ts","sourceRoot":"","sources":["../../../../src/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,KAAK,EAEV,iCAAiC,EAClC,MAAM,wCAAwC,CAAC;AAChD,OAAO,KAAK,EAAM,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAWtF;;;GAGG;AACH,UAAU,2CAA2C;IACnD;;;OAGG;IACH,YAAY,EAAE,kBAAkB,GAAG,yBAAyB,GAAG,gBAAgB,CAAC;IAEhF;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,iCAAiC,CAAC;CAC1D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,4CAA4C,CAC1D,KAAK,EAAE,2CAA2C,GACjD,iCAAiC,CAenC"}
@@ -1,335 +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
- // cspell:words rilt
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.createIModelInstanceLabelSelectClauseFactory = createIModelInstanceLabelSelectClauseFactory;
9
- const core_bentley_1 = require("@itwin/core-bentley");
10
- const ECSqlJoinSnippets_js_1 = require("../ecsql-snippets/ECSqlJoinSnippets.js");
11
- const ECSqlValueSelectorSnippets_js_1 = require("../ecsql-snippets/ECSqlValueSelectorSnippets.js");
12
- const Metadata_js_1 = require("../Metadata.js");
13
- const Utils_js_1 = require("../Utils.js");
14
- const BisInstanceLabelSelectClauseFactory_js_1 = require("./BisInstanceLabelSelectClauseFactory.js");
15
- const ClassBasedInstanceLabelSelectClauseFactory_js_1 = require("./ClassBasedInstanceLabelSelectClauseFactory.js");
16
- /**
17
- * Creates an instance label select clause factory that reads `InstanceLabelOverride` rules from
18
- * `PresentationRules` rulesets stored in the iModel and compiles them into ECSQL label selectors.
19
- *
20
- * Rules are loaded lazily on first use and cached per factory instance. Rulesets are discovered
21
- * by querying `PresentationRules.Ruleset`. When the `PresentationRules` schema is not imported
22
- * into the iModel the factory transparently falls back to `defaultClauseFactory` (defaults
23
- * to `createBisInstanceLabelSelectClauseFactory`).
24
- *
25
- * @public
26
- */
27
- function createIModelInstanceLabelSelectClauseFactory(props) {
28
- let factoryCache;
29
- async function getCachedFactory() {
30
- if (!factoryCache) {
31
- factoryCache = createIModelInstanceLabelSelectClauseFactoryImpl(props);
32
- }
33
- return factoryCache;
34
- }
35
- return {
36
- async createSelectClause(clauseProps) {
37
- const factory = await getCachedFactory();
38
- return factory.createSelectClause(clauseProps);
39
- },
40
- };
41
- }
42
- async function createIModelInstanceLabelSelectClauseFactoryImpl(props) {
43
- const defaultClauseFactory = props.defaultClauseFactory ??
44
- (0, BisInstanceLabelSelectClauseFactory_js_1.createBisInstanceLabelSelectClauseFactory)({ classHierarchyInspector: props.imodelAccess });
45
- const rules = await loadOverrideRules(props.imodelAccess);
46
- if (rules.length === 0) {
47
- return defaultClauseFactory;
48
- }
49
- rules.sort((lhs, rhs) => (rhs.priority ?? 1000) - (lhs.priority ?? 1000));
50
- const clauses = rules.map((rule) => ({
51
- className: `${rule.class.schemaName}.${rule.class.className}`,
52
- clause: async (clauseProps) => compileOverrideClause({
53
- rule,
54
- clauseProps,
55
- // `innerFactory` is declared below but is already assigned by the time this callback is invoked (never called synchronously)
56
- labelFactory: innerFactory,
57
- schemaProvider: props.imodelAccess,
58
- }),
59
- }));
60
- const innerFactory = (0, ClassBasedInstanceLabelSelectClauseFactory_js_1.createClassBasedInstanceLabelSelectClauseFactory)({
61
- classHierarchyInspector: props.imodelAccess,
62
- clauses,
63
- defaultClauseFactory,
64
- });
65
- return innerFactory;
66
- }
67
- // eslint-disable-next-line @typescript-eslint/naming-convention
68
- const CLASS_NAME_PresentationRules = "PresentationRules.Ruleset";
69
- async function loadOverrideRules(executor) {
70
- const rules = [];
71
- try {
72
- const reader = executor.createQueryReader({
73
- ecsql: `SELECT json_extract(JsonProperties, '$.jsonProperties') AS jsonProperties FROM ${CLASS_NAME_PresentationRules}`,
74
- });
75
- for await (const row of reader) {
76
- const payload = row.jsonProperties;
77
- if (payload === null || payload === undefined) {
78
- continue;
79
- }
80
- let parsed;
81
- try {
82
- parsed = JSON.parse(payload);
83
- }
84
- catch {
85
- continue;
86
- }
87
- if (!parsed || typeof parsed !== "object") {
88
- continue;
89
- }
90
- const rulesetObj = parsed;
91
- // Collect from top-level rules[]
92
- const topRules = Array.isArray(rulesetObj.rules) ? rulesetObj.rules : [];
93
- for (const rule of topRules) {
94
- const normalized = normalizeInstanceLabelOverrideRule(rule);
95
- if (normalized) {
96
- rules.push(normalized);
97
- }
98
- }
99
- }
100
- }
101
- catch (e) {
102
- if (isPresentationRulesSchemaAbsenceError(e)) {
103
- return [];
104
- }
105
- throw e;
106
- }
107
- return rules;
108
- }
109
- function isPresentationRulesSchemaAbsenceError(e) {
110
- if (!(e instanceof Error)) {
111
- return false;
112
- }
113
- return e.message.includes(`'${CLASS_NAME_PresentationRules}' does not exist`);
114
- }
115
- function isInstanceLabelOverrideRule(rule) {
116
- return rule.ruleType === "InstanceLabelOverride";
117
- }
118
- function normalizeInstanceLabelOverrideRule(rule) {
119
- if (!isInstanceLabelOverrideRule(rule)) {
120
- return undefined;
121
- }
122
- if (rule.values.length === 0) {
123
- return undefined;
124
- }
125
- return rule;
126
- }
127
- async function compileOverrideClause(props) {
128
- const { rule, clauseProps, labelFactory, schemaProvider } = props;
129
- (0, core_bentley_1.assert)(rule.values.length > 0);
130
- const ctx = {
131
- classAlias: clauseProps.classAlias,
132
- selectorsConcatenator: clauseProps.selectorsConcatenator ?? ECSqlValueSelectorSnippets_js_1.createConcatenatedValueJsonSelector,
133
- labelFactory,
134
- visitedClasses: clauseProps.visitedClasses ?? new Set(),
135
- schemaProvider,
136
- ruleClassName: `${rule.class.schemaName}.${rule.class.className}`,
137
- depth: clauseProps.depth ?? 0,
138
- };
139
- const compiledSpecs = await Promise.all(rule.values.map(async (spec) => compileValueSpec(spec, ctx)));
140
- if (compiledSpecs.length === 1) {
141
- return compiledSpecs[0];
142
- }
143
- return `COALESCE(${compiledSpecs.join(", ")})`;
144
- }
145
- async function compileValueSpec(spec, ctx) {
146
- switch (spec.specType) {
147
- case "String": {
148
- return ctx.selectorsConcatenator([{ value: spec.value, type: "String" }]);
149
- }
150
- case "Property": {
151
- if (spec.propertySource) {
152
- const steps = normalizeRelationshipPath(spec.propertySource);
153
- if (steps.length === 0) {
154
- return "NULL";
155
- }
156
- const finalTargetAlias = subqueryAlias(PROPERTY_SOURCE_TARGET_ALIAS, ctx.depth);
157
- const subquery = await buildRelationshipPathSubquery({
158
- schemaProvider: ctx.schemaProvider,
159
- steps,
160
- ruleClassName: ctx.ruleClassName,
161
- classAlias: ctx.classAlias,
162
- selectExpression: (0, ECSqlValueSelectorSnippets_js_1.createRawPropertyValueSelector)(finalTargetAlias, spec.propertyName),
163
- finalTargetAlias,
164
- depth: ctx.depth,
165
- });
166
- return subquery;
167
- }
168
- return (0, ECSqlValueSelectorSnippets_js_1.createRawPropertyValueSelector)(ctx.classAlias, spec.propertyName);
169
- }
170
- case "ClassName": {
171
- return `ec_classname(${(0, ECSqlValueSelectorSnippets_js_1.createRawPropertyValueSelector)(ctx.classAlias, "ECClassId")}, '${spec.full ? "s.c" : "c"}')`;
172
- }
173
- case "ClassLabel": {
174
- return `(
175
- SELECT COALESCE(
176
- ${(0, ECSqlValueSelectorSnippets_js_1.createRawPropertyValueSelector)("c", "DisplayLabel")},
177
- ${(0, ECSqlValueSelectorSnippets_js_1.createRawPropertyValueSelector)("c", "Name")}
178
- )
179
- FROM [meta].[ECClassDef] AS [c]
180
- WHERE [c].[ECInstanceId] = ${(0, ECSqlValueSelectorSnippets_js_1.createRawPropertyValueSelector)(ctx.classAlias, "ECClassId")}
181
- )`;
182
- }
183
- case "BriefcaseId": {
184
- return `CAST(base36(${(0, ECSqlValueSelectorSnippets_js_1.createRawPropertyValueSelector)(ctx.classAlias, "ECInstanceId")} >> 40) AS TEXT)`;
185
- }
186
- case "LocalId": {
187
- return `CAST(base36(${(0, ECSqlValueSelectorSnippets_js_1.createRawPropertyValueSelector)(ctx.classAlias, "ECInstanceId")} & ((1 << 40) - 1)) AS TEXT)`;
188
- }
189
- case "Composite": {
190
- return compileCompositeSpec(spec, ctx);
191
- }
192
- case "RelatedInstanceLabel": {
193
- const steps = normalizeRelationshipPath(spec.pathToRelatedInstance);
194
- if (steps.length === 0) {
195
- return "NULL";
196
- }
197
- const lastStep = steps[steps.length - 1];
198
- let targetClassName;
199
- if (lastStep.targetClass) {
200
- targetClassName = `${lastStep.targetClass.schemaName}.${lastStep.targetClass.className}`;
201
- }
202
- else {
203
- const relName = `${lastStep.relationship.schemaName}.${lastStep.relationship.className}`;
204
- const relClass = await (0, Metadata_js_1.getClass)(ctx.schemaProvider, relName);
205
- if (!relClass.isRelationshipClass()) {
206
- throw new Error(`Class ${relName} is not a relationship class`);
207
- }
208
- const endpoint = lastStep.direction === "Backward" ? relClass.source : relClass.target;
209
- const constraintClass = await endpoint.abstractConstraint;
210
- if (!constraintClass) {
211
- return "''";
212
- }
213
- targetClassName = constraintClass.fullName;
214
- }
215
- if (ctx.visitedClasses.has(targetClassName)) {
216
- return "NULL";
217
- }
218
- const finalTargetAlias = subqueryAlias(RELATED_INSTANCE_LABEL_TARGET_ALIAS, ctx.depth);
219
- const selectClauseProps = {
220
- classAlias: finalTargetAlias,
221
- className: targetClassName,
222
- selectorsConcatenator: ctx.selectorsConcatenator,
223
- visitedClasses: new Set(ctx.visitedClasses).add(targetClassName),
224
- depth: ctx.depth + 1,
225
- };
226
- const subquery = await buildRelationshipPathSubquery({
227
- schemaProvider: ctx.schemaProvider,
228
- steps,
229
- ruleClassName: ctx.ruleClassName,
230
- classAlias: ctx.classAlias,
231
- selectExpression: await ctx.labelFactory.createSelectClause(selectClauseProps),
232
- finalTargetAlias,
233
- depth: ctx.depth,
234
- });
235
- return subquery;
236
- }
237
- }
238
- }
239
- async function compileCompositeSpec(spec, ctx) {
240
- if (spec.parts.length === 0) {
241
- return "''";
242
- }
243
- const separator = spec.separator ?? " ";
244
- const compiledParts = await Promise.all(spec.parts.map(async (part) => ({
245
- selector: await compileValueSpec(part.spec, ctx),
246
- isRequired: !!part.isRequired,
247
- })));
248
- const selectors = [];
249
- compiledParts.forEach(({ selector }, index) => {
250
- if (index > 0 && separator) {
251
- selectors.push({ value: separator, type: "String" });
252
- }
253
- selectors.push({ selector });
254
- });
255
- const checkSelectors = compiledParts.filter((p) => p.isRequired).map((p) => `IFNULL(${p.selector}, '') <> ''`);
256
- const checkSelector = checkSelectors.length > 0 ? checkSelectors.join(" AND ") : undefined;
257
- return ctx.selectorsConcatenator(selectors, checkSelector);
258
- }
259
- function normalizeRelationshipPath(path) {
260
- return Array.isArray(path) ? path : [path];
261
- }
262
- const ALIAS_PREFIX = "pres_";
263
- const SUBQUERY_SOURCE_ALIAS = "src";
264
- const PROPERTY_SOURCE_TARGET_ALIAS = "pst";
265
- const RELATED_INSTANCE_LABEL_TARGET_ALIAS = "rilt";
266
- const RELATIONSHIP_ALIAS = "r";
267
- const INTERMEDIATE_TARGET_ALIAS = "m";
268
- function subqueryAlias(prefix, depth, stepIndex) {
269
- const alias = `${ALIAS_PREFIX}${prefix}${depth}`;
270
- return stepIndex !== undefined ? `${alias}_${stepIndex}` : alias;
271
- }
272
- async function toJoinRelationshipPath(props) {
273
- (0, core_bentley_1.assert)(props.steps.length > 0);
274
- const result = [];
275
- let currentSourceClassName = props.sourceClassName;
276
- let currentSourceAlias = props.sourceAlias;
277
- for (let i = 0; i < props.steps.length; i++) {
278
- const step = props.steps[i];
279
- const relationshipName = `${step.relationship.schemaName}.${step.relationship.className}`;
280
- const relationshipReverse = step.direction === "Backward";
281
- let targetClassName;
282
- if (step.targetClass) {
283
- targetClassName = `${step.targetClass.schemaName}.${step.targetClass.className}`;
284
- }
285
- else {
286
- const relClass = await (0, Metadata_js_1.getClass)(props.schemaProvider, relationshipName);
287
- if (!relClass.isRelationshipClass()) {
288
- throw new Error(`Class ${relationshipName} is not a relationship class`);
289
- }
290
- const endpoint = relationshipReverse ? relClass.source : relClass.target;
291
- const constraintClass = await endpoint.abstractConstraint;
292
- if (!constraintClass) {
293
- throw new Error(`Relationship's ${relationshipName} endpoint does not have an abstract constraint`);
294
- }
295
- targetClassName = constraintClass.fullName;
296
- }
297
- const isLastStep = i === props.steps.length - 1;
298
- const targetAlias = isLastStep ? props.finalTargetAlias : subqueryAlias(INTERMEDIATE_TARGET_ALIAS, props.depth, i);
299
- const relationshipAlias = subqueryAlias(RELATIONSHIP_ALIAS, props.depth, i);
300
- result.push({
301
- sourceClassName: currentSourceClassName,
302
- targetClassName,
303
- relationshipName,
304
- relationshipReverse,
305
- sourceAlias: currentSourceAlias,
306
- targetAlias,
307
- relationshipAlias,
308
- });
309
- currentSourceClassName = targetClassName;
310
- currentSourceAlias = targetAlias;
311
- }
312
- return result;
313
- }
314
- async function buildRelationshipPathSubquery(props) {
315
- (0, core_bentley_1.assert)(props.steps.length > 0);
316
- const sourceAlias = subqueryAlias(SUBQUERY_SOURCE_ALIAS, props.depth);
317
- const joinPath = await toJoinRelationshipPath({
318
- schemaProvider: props.schemaProvider,
319
- steps: props.steps,
320
- sourceClassName: props.ruleClassName,
321
- sourceAlias,
322
- finalTargetAlias: props.finalTargetAlias,
323
- depth: props.depth,
324
- });
325
- const joinClauses = await (0, ECSqlJoinSnippets_js_1.createRelationshipPathJoinClause)({ schemaProvider: props.schemaProvider, path: joinPath });
326
- const { schemaName, className } = (0, Utils_js_1.parseFullClassName)(props.ruleClassName);
327
- return `(
328
- SELECT ${props.selectExpression}
329
- FROM [${schemaName}].[${className}] [${sourceAlias}]
330
- ${joinClauses}
331
- WHERE [${sourceAlias}].[ECInstanceId] = [${props.classAlias}].[ECInstanceId]
332
- LIMIT 1
333
- )`;
334
- }
335
- //# sourceMappingURL=IModelInstanceLabelSelectClauseFactory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IModelInstanceLabelSelectClauseFactory.js","sourceRoot":"","sources":["../../../../src/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import type { TypedValueSelectClauseProps } from "../ecsql-snippets/ECSqlValueSelectorSnippets.js";
2
- export declare function createECInstanceIdSuffixSelectors(classAlias: string): TypedValueSelectClauseProps[];
3
- export declare function concatenate(props: {
4
- selectorsConcatenator?: (selectors: TypedValueSelectClauseProps[], checkSelector?: string) => string;
5
- }, selectors: TypedValueSelectClauseProps[], checkSelector?: string): string;
6
- //# sourceMappingURL=Utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Utils.d.ts","sourceRoot":"","sources":["../../../../src/shared/instance-label-factory-impls/Utils.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iDAAiD,CAAC;AAEnG,wBAAgB,iCAAiC,CAAC,UAAU,EAAE,MAAM,GAAG,2BAA2B,EAAE,CAUnG;AAED,wBAAgB,WAAW,CACzB,KAAK,EAAE;IAAE,qBAAqB,CAAC,EAAE,CAAC,SAAS,EAAE,2BAA2B,EAAE,EAAE,aAAa,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;CAAE,EAC/G,SAAS,EAAE,2BAA2B,EAAE,EACxC,aAAa,CAAC,EAAE,MAAM,GACrB,MAAM,CAER"}
@@ -1,24 +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.createECInstanceIdSuffixSelectors = createECInstanceIdSuffixSelectors;
8
- exports.concatenate = concatenate;
9
- const ECSqlValueSelectorSnippets_js_1 = require("../ecsql-snippets/ECSqlValueSelectorSnippets.js");
10
- function createECInstanceIdSuffixSelectors(classAlias) {
11
- return [
12
- { value: ` [`, type: "String" },
13
- { selector: `CAST(base36(${(0, ECSqlValueSelectorSnippets_js_1.createRawPropertyValueSelector)(classAlias, "ECInstanceId")} >> 40) AS TEXT)` },
14
- { value: `-`, type: "String" },
15
- {
16
- selector: `CAST(base36(${(0, ECSqlValueSelectorSnippets_js_1.createRawPropertyValueSelector)(classAlias, "ECInstanceId")} & ((1 << 40) - 1)) AS TEXT)`,
17
- },
18
- { value: `]`, type: "String" },
19
- ];
20
- }
21
- function concatenate(props, selectors, checkSelector) {
22
- return (props.selectorsConcatenator ?? ECSqlValueSelectorSnippets_js_1.createConcatenatedValueJsonSelector)(selectors, checkSelector);
23
- }
24
- //# sourceMappingURL=Utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../../../src/shared/instance-label-factory-impls/Utils.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;AAShG,8EAUC;AAED,kCAMC;AAzBD,mGAGyD;AAIzD,SAAgB,iCAAiC,CAAC,UAAkB;IAClE,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;YACE,QAAQ,EAAE,eAAe,IAAA,8DAA8B,EAAC,UAAU,EAAE,cAAc,CAAC,8BAA8B;SAClH;QACD,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC/B,CAAC;AACJ,CAAC;AAED,SAAgB,WAAW,CACzB,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":"presentation-shared.d.ts","sourceRoot":"","sources":["../../src/presentation-shared.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,kCAAkC,CAAC;AAE1D,OAAO,EAAE,KAAK,EAAE,CAAC;AAEjB,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACzF,YAAY,EACV,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,uBAAuB,EACvB,aAAa,GACd,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAC9F,YAAY,EAAE,iCAAiC,EAAE,MAAM,8CAA8C,CAAC;AACtG,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAE,6CAA6C,EAAE,MAAM,kFAAkF,CAAC;AACjJ,OAAO,EAAE,gDAAgD,EAAE,MAAM,qFAAqF,CAAC;AACvJ,OAAO,EAAE,yCAAyC,EAAE,MAAM,8EAA8E,CAAC;AACzI,OAAO,EAAE,4CAA4C,EAAE,MAAM,iFAAiF,CAAC;AAC/I,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAClF,YAAY,EAAE,EAAE,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EAAE,sCAAsC,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,EACL,0CAA0C,EAC1C,gBAAgB,EAChB,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,GACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACtF,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"presentation-shared.js","sourceRoot":"","sources":["../../src/presentation-shared.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,KAAK,KAAK,MAAM,kCAAkC,CAAC;AAE1D,OAAO,EAAE,KAAK,EAAE,CAAC;AAEjB,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AASzF,OAAO,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAE9F,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAE,6CAA6C,EAAE,MAAM,kFAAkF,CAAC;AACjJ,OAAO,EAAE,gDAAgD,EAAE,MAAM,qFAAqF,CAAC;AACvJ,OAAO,EAAE,yCAAyC,EAAE,MAAM,8EAA8E,CAAC;AACzI,OAAO,EAAE,4CAA4C,EAAE,MAAM,iFAAiF,CAAC;AAE/I,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGlD,OAAO,EAAE,sCAAsC,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,EACL,0CAA0C,EAC1C,gBAAgB,EAChB,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,GACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -1,46 +0,0 @@
1
- import type { TypedPrimitiveValue } from "./Values.js";
2
- /**
3
- * A part of a `ConcatenatedValue`, describing one piece of the value. Possible types:
4
- * - `ConcatenatedValue` describes a nested concatenated value.
5
- * - `TypedPrimitiveValue` describes a value with its type. Generally the value is formatted
6
- * according to its type information before concatenating with other parts.
7
- * - `string` is just concatenated to other parts as-is.
8
- *
9
- * @see `ConcatenatedValue`
10
- * @public
11
- */
12
- export type ConcatenatedValuePart = ConcatenatedValue | TypedPrimitiveValue | string;
13
- /** @public */
14
- export declare namespace ConcatenatedValuePart {
15
- /** @public */
16
- function isString(part: ConcatenatedValuePart): part is string;
17
- /** @public */
18
- function isPrimitive(part: ConcatenatedValuePart): part is TypedPrimitiveValue;
19
- /** @public */
20
- function isConcatenatedValue(part: ConcatenatedValuePart): part is ConcatenatedValue;
21
- }
22
- /**
23
- * A data structure that contains `ConcatenatedValuePart` objects describing
24
- * pieces that may be formatted and concatenated together.
25
- *
26
- * @public
27
- */
28
- export type ConcatenatedValue = ConcatenatedValuePart[];
29
- /** @public */
30
- export declare namespace ConcatenatedValue {
31
- /**
32
- * Serialize given `ConcatenatedValue` to string using a formatter function. The parts are
33
- * each formatted individually and then joined together.
34
- *
35
- * @public
36
- */
37
- function serialize(props: {
38
- /** The parts to join. */
39
- parts: ConcatenatedValue;
40
- /** Parts formatter to convert each part to string */
41
- partFormatter: (part: Exclude<ConcatenatedValuePart, ConcatenatedValue>) => Promise<string>;
42
- /** Optional separator for joining the parts. Defaults to an empty string. */
43
- separator?: string;
44
- }): Promise<string>;
45
- }
46
- //# sourceMappingURL=ConcatenatedValue.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ConcatenatedValue.d.ts","sourceRoot":"","sources":["../../../src/shared/ConcatenatedValue.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD;;;;;;;;;GASG;AACH,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,GAAG,mBAAmB,GAAG,MAAM,CAAC;AAErF,cAAc;AAEd,yBAAiB,qBAAqB,CAAC;IACrC,cAAc;IACd,SAAgB,QAAQ,CAAC,IAAI,EAAE,qBAAqB,GAAG,IAAI,IAAI,MAAM,CAEpE;IAED,cAAc;IACd,SAAgB,WAAW,CAAC,IAAI,EAAE,qBAAqB,GAAG,IAAI,IAAI,mBAAmB,CAEpF;IAED,cAAc;IACd,SAAgB,mBAAmB,CAAC,IAAI,EAAE,qBAAqB,GAAG,IAAI,IAAI,iBAAiB,CAE1F;CACF;AAED;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG,qBAAqB,EAAE,CAAC;AAExD,cAAc;AAEd,yBAAiB,iBAAiB,CAAC;IACjC;;;;;OAKG;IACH,SAAsB,SAAS,CAAC,KAAK,EAAE;QACrC,yBAAyB;QACzB,KAAK,EAAE,iBAAiB,CAAC;QACzB,qDAAqD;QACrD,aAAa,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5F,6EAA6E;QAC7E,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,MAAM,CAAC,CAYlB;CACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ConcatenatedValue.js","sourceRoot":"","sources":["../../../src/shared/ConcatenatedValue.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAgBhG,cAAc;AACd,2DAA2D;AAC3D,MAAM,KAAW,qBAAqB,CAerC;AAfD,WAAiB,qBAAqB;IACpC,cAAc;IACd,SAAgB,QAAQ,CAAC,IAA2B;QAClD,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC;IAClC,CAAC;IAFe,8BAAQ,WAEvB,CAAA;IAED,cAAc;IACd,SAAgB,WAAW,CAAC,IAA2B;QACrD,OAAO,CAAC,CAAE,IAA4B,CAAC,IAAI,CAAC;IAC9C,CAAC;IAFe,iCAAW,cAE1B,CAAA;IAED,cAAc;IACd,SAAgB,mBAAmB,CAAC,IAA2B;QAC7D,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAFe,yCAAmB,sBAElC,CAAA;AACH,CAAC,EAfgB,qBAAqB,KAArB,qBAAqB,QAerC;AAUD,cAAc;AACd,2DAA2D;AAC3D,MAAM,KAAW,iBAAiB,CA2BjC;AA3BD,WAAiB,iBAAiB;IAChC;;;;;OAKG;IACI,KAAK,UAAU,SAAS,CAAC,KAO/B;QACC,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;QAClD,OAAO,CACL,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YACvB,IAAI,qBAAqB,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpD,OAAO,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC;YAC9D,CAAC;YACD,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC,CAAC,CACH,CACF,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IAC1B,CAAC;IAnBqB,2BAAS,YAmB9B,CAAA;AACH,CAAC,EA3BgB,iBAAiB,KAAjB,iBAAiB,QA2BjC"}
@@ -1,94 +0,0 @@
1
- import type { Id64String } from "@itwin/core-bentley";
2
- /**
3
- * Defines an ECSql binding consisting of a value and its type. Necessary to differentiate between numeric
4
- * types and `Id64String` vs `string`.
5
- *
6
- * @public
7
- */
8
- export type ECSqlBinding = {
9
- type: "boolean";
10
- value?: boolean;
11
- } | {
12
- type: "double" | "int" | "long";
13
- value?: number;
14
- } | {
15
- type: "id";
16
- value?: Id64String;
17
- } | {
18
- type: "idset";
19
- value?: Id64String[];
20
- } | {
21
- type: "string";
22
- value?: string;
23
- } | {
24
- type: "point2d";
25
- value?: {
26
- x: number;
27
- y: number;
28
- };
29
- } | {
30
- type: "point3d";
31
- value?: {
32
- x: number;
33
- y: number;
34
- z: number;
35
- };
36
- };
37
- /**
38
- * Defines an ECSQL query and its bindings.
39
- * @public
40
- */
41
- export interface ECSqlQueryDef {
42
- /** A list of CTEs used in the query. */
43
- ctes?: string[];
44
- /**
45
- * The ECSQL query to execute.
46
- * @note In case the query uses CTEs, they should be specified in the `ctes` rather than included in the `ecsql`.
47
- */
48
- ecsql: string;
49
- /**
50
- * Values to bind to the query.
51
- * @see https://www.itwinjs.org/learning/ecsql/#ecsql-parameters
52
- */
53
- bindings?: ECSqlBinding[];
54
- }
55
- /**
56
- * Defines requested ECSQL result row format.
57
- * @see [QueryRowFormat](https://www.itwinjs.org/reference/core-common/imodels/queryrowformat/)
58
- * @public
59
- */
60
- type ECSqlQueryRowFormat = "ECSqlPropertyNames" | "Indexes";
61
- /**
62
- * Defines options for ECSQL query reader.
63
- * @see [QueryOptions](https://www.itwinjs.org/reference/core-common/imodels/queryoptions/)
64
- * @public
65
- */
66
- export interface ECSqlQueryReaderOptions {
67
- rowFormat?: ECSqlQueryRowFormat;
68
- restartToken?: string;
69
- }
70
- /**
71
- * Represents a single row of an ECSQL query result.
72
- * @see [QueryRowProxy](https://www.itwinjs.org/reference/core-common/imodels/queryrowproxy/)
73
- * @public
74
- */
75
- export interface ECSqlQueryRow {
76
- [propertyName: string]: any;
77
- [propertyIndex: number]: any;
78
- }
79
- /**
80
- * Represents ECSQL query results reader.
81
- * @see [ECSqlReader](https://www.itwinjs.org/reference/core-common/imodels/ecsqlreader/)
82
- * @public
83
- */
84
- type ECSqlQueryReader = AsyncIterableIterator<ECSqlQueryRow>;
85
- /**
86
- * An interface for something that knows how to create an ECSQL query reader.
87
- * @see `createECSqlQueryExecutor` in `@itwin/presentation-core-interop`.
88
- * @public
89
- */
90
- export interface ECSqlQueryExecutor {
91
- createQueryReader(query: ECSqlQueryDef, config?: ECSqlQueryReaderOptions): ECSqlQueryReader;
92
- }
93
- export {};
94
- //# sourceMappingURL=ECSqlCore.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ECSqlCore.d.ts","sourceRoot":"","sources":["../../../src/shared/ECSqlCore.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,UAAU,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,UAAU,EAAE,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GACrD;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC;AAErE;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;CAC3B;AAED;;;;GAIG;AACH,KAAK,mBAAmB,GAAG,oBAAoB,GAAG,SAAS,CAAC;AAE5D;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,CAAC,YAAY,EAAE,MAAM,GAAG,GAAG,CAAC;IAC5B,CAAC,aAAa,EAAE,MAAM,GAAG,GAAG,CAAC;CAC9B;AAED;;;;GAIG;AACH,KAAK,gBAAgB,GAAG,qBAAqB,CAAC,aAAa,CAAC,CAAC;AAE7D;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,iBAAiB,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,uBAAuB,GAAG,gBAAgB,CAAC;CAC7F"}