@itwin/presentation-shared 2.0.0-alpha.11 → 2.0.0-alpha.13

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 (212) hide show
  1. package/CHANGELOG.md +175 -0
  2. package/README.md +19 -34
  3. package/lib/{esm/presentation-shared.d.ts → presentation-shared.d.ts} +7 -5
  4. package/lib/presentation-shared.d.ts.map +1 -0
  5. package/lib/{esm/presentation-shared.js → presentation-shared.js} +6 -2
  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 +9 -0
  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/shared/Formatting.js.map +1 -0
  21. package/lib/{esm/shared → shared}/InstanceLabelSelectClauseFactory.d.ts +1 -1
  22. package/lib/shared/InstanceLabelSelectClauseFactory.d.ts.map +1 -0
  23. package/lib/shared/InstanceLabelSelectClauseFactory.js.map +1 -0
  24. package/lib/shared/Logging.d.ts.map +1 -0
  25. package/lib/shared/Logging.js.map +1 -0
  26. package/lib/shared/MappedTypes.d.ts +48 -0
  27. package/lib/shared/MappedTypes.d.ts.map +1 -0
  28. package/lib/shared/MappedTypes.js.map +1 -0
  29. package/lib/{cjs/shared → shared}/Metadata.d.ts +53 -44
  30. package/lib/shared/Metadata.d.ts.map +1 -0
  31. package/lib/{esm/shared → shared}/Metadata.js +7 -6
  32. package/lib/shared/Metadata.js.map +1 -0
  33. package/lib/{cjs/shared → shared}/Utils.d.ts +0 -6
  34. package/lib/shared/Utils.d.ts.map +1 -0
  35. package/lib/{esm/shared → shared}/Utils.js +0 -15
  36. package/lib/shared/Utils.js.map +1 -0
  37. package/lib/{esm/shared → shared}/Values.d.ts +23 -13
  38. package/lib/shared/Values.d.ts.map +1 -0
  39. package/lib/shared/Values.js +121 -0
  40. package/lib/shared/Values.js.map +1 -0
  41. package/lib/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts +174 -0
  42. package/lib/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts.map +1 -0
  43. package/lib/shared/ecsql-snippets/ECSqlJoinSnippets.js +177 -0
  44. package/lib/shared/ecsql-snippets/ECSqlJoinSnippets.js.map +1 -0
  45. package/lib/{cjs/shared → shared}/ecsql-snippets/ECSqlValueSelectorSnippets.d.ts +3 -3
  46. package/lib/shared/ecsql-snippets/ECSqlValueSelectorSnippets.d.ts.map +1 -0
  47. package/lib/{esm/shared → shared}/ecsql-snippets/ECSqlValueSelectorSnippets.js +3 -3
  48. package/lib/shared/ecsql-snippets/ECSqlValueSelectorSnippets.js.map +1 -0
  49. package/lib/{cjs/shared → shared}/ecsql-snippets/index.d.ts +1 -1
  50. package/lib/shared/ecsql-snippets/index.d.ts.map +1 -0
  51. package/lib/{esm/shared → shared}/ecsql-snippets/index.js +1 -1
  52. package/lib/shared/ecsql-snippets/index.js.map +1 -0
  53. package/lib/{esm/shared → shared}/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.d.ts +2 -2
  54. package/lib/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.d.ts.map +1 -0
  55. package/lib/{esm/shared → shared}/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.js +1 -4
  56. package/lib/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.js.map +1 -0
  57. package/lib/{cjs/shared → shared}/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.d.ts +3 -3
  58. package/lib/shared/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.d.ts.map +1 -0
  59. package/lib/{esm/shared → shared}/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.js +3 -3
  60. package/lib/shared/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.js.map +1 -0
  61. package/lib/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.d.ts.map +1 -0
  62. package/lib/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.js.map +1 -0
  63. package/lib/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.d.ts.map +1 -0
  64. package/lib/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.js.map +1 -0
  65. package/lib/{cjs/shared → shared}/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.d.ts +2 -2
  66. package/lib/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.d.ts.map +1 -0
  67. package/lib/{esm/shared → shared}/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.js +4 -5
  68. package/lib/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.js.map +1 -0
  69. package/lib/shared/instance-label-factory-impls/Utils.d.ts.map +1 -0
  70. package/lib/shared/instance-label-factory-impls/Utils.js.map +1 -0
  71. package/package.json +16 -17
  72. package/lib/cjs/package.json +0 -1
  73. package/lib/cjs/presentation-shared.d.ts +0 -21
  74. package/lib/cjs/presentation-shared.d.ts.map +0 -1
  75. package/lib/cjs/presentation-shared.js +0 -75
  76. package/lib/cjs/presentation-shared.js.map +0 -1
  77. package/lib/cjs/shared/ConcatenatedValue.d.ts.map +0 -1
  78. package/lib/cjs/shared/ConcatenatedValue.js +0 -49
  79. package/lib/cjs/shared/ConcatenatedValue.js.map +0 -1
  80. package/lib/cjs/shared/ECSqlCore.d.ts.map +0 -1
  81. package/lib/cjs/shared/ECSqlCore.js +0 -7
  82. package/lib/cjs/shared/ECSqlCore.js.map +0 -1
  83. package/lib/cjs/shared/Event.d.ts.map +0 -1
  84. package/lib/cjs/shared/Event.js +0 -7
  85. package/lib/cjs/shared/Event.js.map +0 -1
  86. package/lib/cjs/shared/Formatting.d.ts.map +0 -1
  87. package/lib/cjs/shared/Formatting.js +0 -118
  88. package/lib/cjs/shared/Formatting.js.map +0 -1
  89. package/lib/cjs/shared/InstanceLabelSelectClauseFactory.d.ts +0 -73
  90. package/lib/cjs/shared/InstanceLabelSelectClauseFactory.d.ts.map +0 -1
  91. package/lib/cjs/shared/InstanceLabelSelectClauseFactory.js +0 -30
  92. package/lib/cjs/shared/InstanceLabelSelectClauseFactory.js.map +0 -1
  93. package/lib/cjs/shared/Logging.d.ts.map +0 -1
  94. package/lib/cjs/shared/Logging.js +0 -21
  95. package/lib/cjs/shared/Logging.js.map +0 -1
  96. package/lib/cjs/shared/MappedTypes.d.ts +0 -17
  97. package/lib/cjs/shared/MappedTypes.d.ts.map +0 -1
  98. package/lib/cjs/shared/MappedTypes.js +0 -7
  99. package/lib/cjs/shared/MappedTypes.js.map +0 -1
  100. package/lib/cjs/shared/Metadata.d.ts.map +0 -1
  101. package/lib/cjs/shared/Metadata.js +0 -56
  102. package/lib/cjs/shared/Metadata.js.map +0 -1
  103. package/lib/cjs/shared/Utils.d.ts.map +0 -1
  104. package/lib/cjs/shared/Utils.js +0 -123
  105. package/lib/cjs/shared/Utils.js.map +0 -1
  106. package/lib/cjs/shared/Values.d.ts +0 -121
  107. package/lib/cjs/shared/Values.d.ts.map +0 -1
  108. package/lib/cjs/shared/Values.js +0 -118
  109. package/lib/cjs/shared/Values.js.map +0 -1
  110. package/lib/cjs/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts +0 -66
  111. package/lib/cjs/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts.map +0 -1
  112. package/lib/cjs/shared/ecsql-snippets/ECSqlJoinSnippets.js +0 -171
  113. package/lib/cjs/shared/ecsql-snippets/ECSqlJoinSnippets.js.map +0 -1
  114. package/lib/cjs/shared/ecsql-snippets/ECSqlValueSelectorSnippets.d.ts.map +0 -1
  115. package/lib/cjs/shared/ecsql-snippets/ECSqlValueSelectorSnippets.js +0 -275
  116. package/lib/cjs/shared/ecsql-snippets/ECSqlValueSelectorSnippets.js.map +0 -1
  117. package/lib/cjs/shared/ecsql-snippets/index.d.ts.map +0 -1
  118. package/lib/cjs/shared/ecsql-snippets/index.js +0 -19
  119. package/lib/cjs/shared/ecsql-snippets/index.js.map +0 -1
  120. package/lib/cjs/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.d.ts +0 -17
  121. package/lib/cjs/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.d.ts.map +0 -1
  122. package/lib/cjs/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.js +0 -54
  123. package/lib/cjs/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.js.map +0 -1
  124. package/lib/cjs/shared/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.d.ts.map +0 -1
  125. package/lib/cjs/shared/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.js +0 -63
  126. package/lib/cjs/shared/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.js.map +0 -1
  127. package/lib/cjs/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.d.ts.map +0 -1
  128. package/lib/cjs/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.js +0 -40
  129. package/lib/cjs/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.js.map +0 -1
  130. package/lib/cjs/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.d.ts.map +0 -1
  131. package/lib/cjs/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.js +0 -10
  132. package/lib/cjs/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.js.map +0 -1
  133. package/lib/cjs/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.d.ts.map +0 -1
  134. package/lib/cjs/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.js +0 -336
  135. package/lib/cjs/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.js.map +0 -1
  136. package/lib/cjs/shared/instance-label-factory-impls/Utils.d.ts.map +0 -1
  137. package/lib/cjs/shared/instance-label-factory-impls/Utils.js +0 -26
  138. package/lib/cjs/shared/instance-label-factory-impls/Utils.js.map +0 -1
  139. package/lib/esm/presentation-shared.d.ts.map +0 -1
  140. package/lib/esm/presentation-shared.js.map +0 -1
  141. package/lib/esm/shared/ConcatenatedValue.d.ts +0 -46
  142. package/lib/esm/shared/ConcatenatedValue.d.ts.map +0 -1
  143. package/lib/esm/shared/ConcatenatedValue.js.map +0 -1
  144. package/lib/esm/shared/ECSqlCore.d.ts +0 -99
  145. package/lib/esm/shared/ECSqlCore.d.ts.map +0 -1
  146. package/lib/esm/shared/ECSqlCore.js +0 -6
  147. package/lib/esm/shared/ECSqlCore.js.map +0 -1
  148. package/lib/esm/shared/Event.d.ts +0 -27
  149. package/lib/esm/shared/Event.d.ts.map +0 -1
  150. package/lib/esm/shared/Formatting.d.ts +0 -44
  151. package/lib/esm/shared/Formatting.d.ts.map +0 -1
  152. package/lib/esm/shared/Formatting.js.map +0 -1
  153. package/lib/esm/shared/InstanceLabelSelectClauseFactory.d.ts.map +0 -1
  154. package/lib/esm/shared/InstanceLabelSelectClauseFactory.js.map +0 -1
  155. package/lib/esm/shared/Logging.d.ts +0 -27
  156. package/lib/esm/shared/Logging.d.ts.map +0 -1
  157. package/lib/esm/shared/Logging.js.map +0 -1
  158. package/lib/esm/shared/MappedTypes.d.ts +0 -17
  159. package/lib/esm/shared/MappedTypes.d.ts.map +0 -1
  160. package/lib/esm/shared/MappedTypes.js.map +0 -1
  161. package/lib/esm/shared/Metadata.d.ts +0 -505
  162. package/lib/esm/shared/Metadata.d.ts.map +0 -1
  163. package/lib/esm/shared/Metadata.js.map +0 -1
  164. package/lib/esm/shared/Utils.d.ts +0 -66
  165. package/lib/esm/shared/Utils.d.ts.map +0 -1
  166. package/lib/esm/shared/Utils.js.map +0 -1
  167. package/lib/esm/shared/Values.d.ts.map +0 -1
  168. package/lib/esm/shared/Values.js +0 -115
  169. package/lib/esm/shared/Values.js.map +0 -1
  170. package/lib/esm/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts +0 -66
  171. package/lib/esm/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts.map +0 -1
  172. package/lib/esm/shared/ecsql-snippets/ECSqlJoinSnippets.js +0 -168
  173. package/lib/esm/shared/ecsql-snippets/ECSqlJoinSnippets.js.map +0 -1
  174. package/lib/esm/shared/ecsql-snippets/ECSqlValueSelectorSnippets.d.ts +0 -130
  175. package/lib/esm/shared/ecsql-snippets/ECSqlValueSelectorSnippets.d.ts.map +0 -1
  176. package/lib/esm/shared/ecsql-snippets/ECSqlValueSelectorSnippets.js.map +0 -1
  177. package/lib/esm/shared/ecsql-snippets/index.d.ts +0 -3
  178. package/lib/esm/shared/ecsql-snippets/index.d.ts.map +0 -1
  179. package/lib/esm/shared/ecsql-snippets/index.js.map +0 -1
  180. package/lib/esm/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.d.ts.map +0 -1
  181. package/lib/esm/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.js.map +0 -1
  182. package/lib/esm/shared/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.d.ts +0 -39
  183. package/lib/esm/shared/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.d.ts.map +0 -1
  184. package/lib/esm/shared/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.js.map +0 -1
  185. package/lib/esm/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.d.ts +0 -12
  186. package/lib/esm/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.d.ts.map +0 -1
  187. package/lib/esm/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.js.map +0 -1
  188. package/lib/esm/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.d.ts +0 -198
  189. package/lib/esm/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.d.ts.map +0 -1
  190. package/lib/esm/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.js.map +0 -1
  191. package/lib/esm/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.d.ts +0 -34
  192. package/lib/esm/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.d.ts.map +0 -1
  193. package/lib/esm/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.js.map +0 -1
  194. package/lib/esm/shared/instance-label-factory-impls/Utils.d.ts +0 -7
  195. package/lib/esm/shared/instance-label-factory-impls/Utils.d.ts.map +0 -1
  196. package/lib/esm/shared/instance-label-factory-impls/Utils.js.map +0 -1
  197. /package/lib/{cjs/shared → shared}/ConcatenatedValue.d.ts +0 -0
  198. /package/lib/{esm/shared → shared}/ConcatenatedValue.js +0 -0
  199. /package/lib/{cjs/shared → shared}/Event.d.ts +0 -0
  200. /package/lib/{esm/shared → shared}/Event.js +0 -0
  201. /package/lib/{cjs/shared → shared}/Formatting.d.ts +0 -0
  202. /package/lib/{esm/shared → shared}/Formatting.js +0 -0
  203. /package/lib/{esm/shared → shared}/InstanceLabelSelectClauseFactory.js +0 -0
  204. /package/lib/{cjs/shared → shared}/Logging.d.ts +0 -0
  205. /package/lib/{esm/shared → shared}/Logging.js +0 -0
  206. /package/lib/{esm/shared → shared}/MappedTypes.js +0 -0
  207. /package/lib/{cjs/shared → shared}/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.d.ts +0 -0
  208. /package/lib/{esm/shared → shared}/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.js +0 -0
  209. /package/lib/{cjs/shared → shared}/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.d.ts +0 -0
  210. /package/lib/{esm/shared → shared}/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.js +0 -0
  211. /package/lib/{cjs/shared → shared}/instance-label-factory-impls/Utils.d.ts +0 -0
  212. /package/lib/{esm/shared → shared}/instance-label-factory-impls/Utils.js +0 -0
@@ -0,0 +1,174 @@
1
+ import type { ECSqlBinding } from "../ECSqlCore.js";
2
+ import type { EC, ECSchemaProvider, RelationshipPath, RelationshipPathStep } from "../Metadata.js";
3
+ /**
4
+ * Describes a single JOIN step from source to target through a relationship.
5
+ * @public
6
+ */
7
+ interface JoinRelationshipPathStep extends RelationshipPathStep {
8
+ sourceAlias: string;
9
+ targetAlias: string;
10
+ relationshipAlias: string;
11
+ joinType?: "inner" | "outer";
12
+ }
13
+ /**
14
+ * Describes a path of JOINs from source to target.
15
+ * @public
16
+ */
17
+ type JoinRelationshipPath = RelationshipPath<JoinRelationshipPathStep>;
18
+ /**
19
+ * Props for `createRelationshipPathJoinClause` and `createRelationshipPathJoinInfo`.
20
+ * @public
21
+ */
22
+ export interface CreateRelationshipPathJoinClauseProps {
23
+ schemaProvider: ECSchemaProvider;
24
+ path: JoinRelationshipPath;
25
+ }
26
+ /**
27
+ * A join onto a plain class table.
28
+ * @public
29
+ */
30
+ interface JoinTargetClass {
31
+ kind: "class";
32
+ className: EC.FullClassNameDotNotation;
33
+ }
34
+ /**
35
+ * A join onto a pre-joined relationship subquery (the outer link-table case), i.e.
36
+ * `(SELECT [rel].* FROM [relationship] [rel] INNER JOIN [target] [t] ON <innerJoinCondition>)`.
37
+ * Rendering emits the subquery; the outer target is a separate `RelationshipJoinInfo` entry.
38
+ * @public
39
+ */
40
+ interface JoinTargetRelationshipSelect {
41
+ kind: "relationship-select";
42
+ relationshipClassName: EC.FullClassNameDotNotation;
43
+ relationshipAlias: string;
44
+ /** The class inner-joined inside the subquery, its alias, and the inner `ON` condition. */
45
+ innerTarget: JoinTargetClass;
46
+ innerTargetAlias: string;
47
+ innerJoinCondition: string;
48
+ }
49
+ /**
50
+ * One concrete JOIN clause rendered as either `INNER JOIN ... ON ...` or `LEFT OUTER JOIN ... ON ...`.
51
+ * @public
52
+ */
53
+ interface RelationshipJoinInfo {
54
+ joinType: "inner" | "outer";
55
+ /** What is joined: a class table, or (outer link-table case) a nested relationship SELECT. */
56
+ joinTarget: JoinTargetClass | JoinTargetRelationshipSelect;
57
+ /** Alias assigned to the joined table. */
58
+ joinAlias: string;
59
+ /** The `ON` condition expression (without the `ON` keyword). */
60
+ joinCondition: string;
61
+ }
62
+ /**
63
+ * Per-path-step resolution info that is not tied to a specific JOIN clause.
64
+ * @public
65
+ */
66
+ interface RelationshipPathStepJoinInfo {
67
+ /**
68
+ * The ordered JOIN clauses to emit — one entry per JOIN. A path step contributes 1 (navigation
69
+ * property) or 2 (link-table) entries. Note the join-table count is not `joins.length`: an
70
+ * outer link-table entry (`JoinTargetRelationshipSelect`) wraps a subquery that itself joins the
71
+ * relationship + target.
72
+ */
73
+ joins: RelationshipJoinInfo[];
74
+ /**
75
+ * An ECSQL selector that yields the step's concrete relationship `ECClassId` for the actual data
76
+ * row being traversed. The concept is the same for every step; only the expression differs by how
77
+ * the relationship is represented:
78
+ * - link-table step: `[relationship_alias].[ECClassId]` (the joined relationship table),
79
+ * - navigation-property step: `[owner_alias].[navigation_property_name].[RelECClassId]`, where the
80
+ * owner alias is the source or target of the step depending on the navigation property direction.
81
+ *
82
+ * Note: for `outer` joins the relationship row / navigation value may be `NULL` when nothing is
83
+ * related, in which case this selector yields `NULL`.
84
+ */
85
+ relationshipClassIdSelector: string;
86
+ /**
87
+ * An ECSQL selector that yields the step's concrete source `ECClassId` for the actual data row
88
+ * being traversed, i.e. `[source_alias].[ECClassId]` of the class the step is joined from.
89
+ */
90
+ sourceClassIdSelector: string;
91
+ /**
92
+ * An ECSQL selector that yields the step's concrete target `ECClassId` for the actual data row
93
+ * being traversed, i.e. `[target_alias].[ECClassId]` of the class the step is joined to.
94
+ *
95
+ * Note: for `outer` joins the target row may be `NULL` when nothing is related, in which case this
96
+ * selector yields `NULL`.
97
+ */
98
+ targetClassIdSelector: string;
99
+ }
100
+ /**
101
+ * A resolved, render-ready description of a relationship-path JOIN, as a flat, ordered list of
102
+ * concrete join clauses. Produced by `createRelationshipPathJoinInfo`; consumed by the
103
+ * `createRelationshipPathJoinClause` render overload.
104
+ * @public
105
+ */
106
+ interface RelationshipPathJoinInfo {
107
+ /** Per-path-step resolution info, one entry per input path step, in path order. */
108
+ steps: RelationshipPathStepJoinInfo[];
109
+ /** `instanceFilter` bindings collected across all steps, or `undefined` when none. */
110
+ bindings?: Record<string, ECSqlBinding>;
111
+ }
112
+ /**
113
+ * Resolves a relationship path into a `RelationshipPathJoinInfo` (schema-reading pass; produces no ECSQL).
114
+ * @public
115
+ */
116
+ export declare function createRelationshipPathJoinInfo(props: CreateRelationshipPathJoinClauseProps): Promise<RelationshipPathJoinInfo>;
117
+ /**
118
+ * Result of `createRelationshipPathJoinClause`.
119
+ * @public
120
+ */
121
+ interface RelationshipPathJoinClauseResult {
122
+ joins: string;
123
+ bindings?: Record<string, ECSqlBinding>;
124
+ }
125
+ /**
126
+ * Creates an ECSQL JOIN snippet for given relationships' path.
127
+ *
128
+ * When a step specifies `instanceFilter`, its resolved expression is appended as an `AND`
129
+ * condition to the target class JOIN's `ON` clause. In the outer-join case the condition also
130
+ * appears on the `INNER JOIN` inside the subquery so the pre-joined subquery is already
131
+ * filtered. Bindings declared in `instanceFilter.bindings` across all steps are collected
132
+ * and returned alongside the SQL string.
133
+ *
134
+ * Possible results:
135
+ * - When the relationship is represented by a navigation property on either source or target:
136
+ * ```SQL
137
+ * INNER JOIN [target_schema_name].[target_class_name] [target_alias] ON [target_alias].[navigation_property_name].[Id] = [source_alias].[ECInstanceId]
138
+ * ```
139
+ * - When outer joining through a non-navigation-property relationship:
140
+ * ```SQL
141
+ * LEFT OUTER JOIN (
142
+ * SELECT [relationship_alias].*
143
+ * FROM [relationship_schema_name].[relationship_class_name] [relationship_alias]
144
+ * INNER JOIN [target_schema_name].[target_class_name] [target_alias] ON [target_alias].[ECInstanceId] = [relationship_alias].[TargetECInstanceId]
145
+ * ) [relationship_alias] ON [relationship_alias].[SourceECInstanceId] = [source_alias].[ECInstanceId]
146
+ * LEFT OUTER JOIN [target_schema_name].[target_class_name] [target_alias] ON [target_alias].[ECInstanceId] = [relationship_alias].[TargetECInstanceId]
147
+ * ```
148
+ * - When inner joining through a non-navigation-property relationship:
149
+ * ```SQL
150
+ * INNER JOIN [relationship_schema_name].[relationship_class_name] [relationship_alias] ON [relationship_alias].[SourceECInstanceId] = [source_alias].[ECInstanceId]
151
+ * INNER JOIN [target_schema_name].[target_class_name] [target_alias] ON [target_alias].[ECInstanceId] = [relationship_alias].[TargetECInstanceId]
152
+ * ```
153
+ *
154
+ * @returns An object containing:
155
+ * - `joins`: the ECSQL JOIN clause string to embed in a query.
156
+ * - `bindings`: ECSQL parameter bindings collected from `instanceFilter.bindings` across all steps,
157
+ * or `undefined` if no step specified any bindings.
158
+ * @public
159
+ */
160
+ export declare function createRelationshipPathJoinClause(props: CreateRelationshipPathJoinClauseProps): Promise<RelationshipPathJoinClauseResult>;
161
+ /**
162
+ * Render a pre-resolved `RelationshipPathJoinInfo` into an ECSQL JOIN clause (sync, no schema access).
163
+ * @public
164
+ */
165
+ export declare function createRelationshipPathJoinClause(props: RenderRelationshipPathJoinClauseProps): RelationshipPathJoinClauseResult;
166
+ /**
167
+ * Props for `createRelationshipPathJoinClause` overload that renders a pre-resolved `RelationshipPathJoinInfo` (sync, no schema access).
168
+ * @public
169
+ */
170
+ type RenderRelationshipPathJoinClauseProps = Pick<RelationshipPathJoinInfo, "bindings"> & {
171
+ steps: Array<Pick<RelationshipPathJoinInfo["steps"][number], "joins">>;
172
+ };
173
+ export {};
174
+ //# sourceMappingURL=ECSqlJoinSnippets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ECSqlJoinSnippets.d.ts","sourceRoot":"","sources":["../../../src/shared/ecsql-snippets/ECSqlJoinSnippets.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,EAAE,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEnG;;;GAGG;AACH,UAAU,wBAAyB,SAAQ,oBAAoB;IAC7D,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;CAC9B;AAED;;;GAGG;AACH,KAAK,oBAAoB,GAAG,gBAAgB,CAAC,wBAAwB,CAAC,CAAC;AAEvE;;;GAGG;AACH,MAAM,WAAW,qCAAqC;IACpD,cAAc,EAAE,gBAAgB,CAAC;IACjC,IAAI,EAAE,oBAAoB,CAAC;CAC5B;AAED;;;GAGG;AACH,UAAU,eAAe;IACvB,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,EAAE,CAAC,wBAAwB,CAAC;CACxC;AAED;;;;;GAKG;AACH,UAAU,4BAA4B;IACpC,IAAI,EAAE,qBAAqB,CAAC;IAC5B,qBAAqB,EAAE,EAAE,CAAC,wBAAwB,CAAC;IACnD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,2FAA2F;IAC3F,WAAW,EAAE,eAAe,CAAC;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED;;;GAGG;AACH,UAAU,oBAAoB;IAC5B,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC;IAC5B,8FAA8F;IAC9F,UAAU,EAAE,eAAe,GAAG,4BAA4B,CAAC;IAC3D,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,UAAU,4BAA4B;IACpC;;;;;OAKG;IACH,KAAK,EAAE,oBAAoB,EAAE,CAAC;IAC9B;;;;;;;;;;OAUG;IACH,2BAA2B,EAAE,MAAM,CAAC;IACpC;;;OAGG;IACH,qBAAqB,EAAE,MAAM,CAAC;IAC9B;;;;;;OAMG;IACH,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAED;;;;;GAKG;AACH,UAAU,wBAAwB;IAChC,mFAAmF;IACnF,KAAK,EAAE,4BAA4B,EAAE,CAAC;IACtC,sFAAsF;IACtF,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CACzC;AAED;;;GAGG;AACH,wBAAsB,8BAA8B,CAClD,KAAK,EAAE,qCAAqC,GAC3C,OAAO,CAAC,wBAAwB,CAAC,CAsGnC;AAED;;;GAGG;AACH,UAAU,gCAAgC;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CACzC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAsB,gCAAgC,CACpD,KAAK,EAAE,qCAAqC,GAC3C,OAAO,CAAC,gCAAgC,CAAC,CAAC;AAC7C;;;GAGG;AACH,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,qCAAqC,GAC3C,gCAAgC,CAAC;AAUpC;;;GAGG;AACH,KAAK,qCAAqC,GAAG,IAAI,CAAC,wBAAwB,EAAE,UAAU,CAAC,GAAG;IACxF,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;CACxE,CAAC"}
@@ -0,0 +1,177 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ import { getClass } from "../Metadata.js";
6
+ import { createClassSelector, createRawPropertyValueSelector } from "./ECSqlValueSelectorSnippets.js";
7
+ /**
8
+ * Resolves a relationship path into a `RelationshipPathJoinInfo` (schema-reading pass; produces no ECSQL).
9
+ * @public
10
+ */
11
+ export async function createRelationshipPathJoinInfo(props) {
12
+ if (props.path.length === 0) {
13
+ return { steps: [] };
14
+ }
15
+ let prev = {
16
+ alias: props.path[0].sourceAlias,
17
+ joinPropertyName: "ECInstanceId",
18
+ className: props.path[0].sourceClassName,
19
+ };
20
+ const steps = [];
21
+ const bindings = {};
22
+ for (const stepDef of props.path) {
23
+ const step = await getRelationshipPathStepClasses(props.schemaProvider, stepDef);
24
+ const navigationProperty = getNavigationProperty(step);
25
+ const filterCondition = resolveInstanceFilterCondition(step);
26
+ // Source/target `ECClassId` selectors are resolved the same way regardless of how the
27
+ // relationship is represented: read from the source/target aliases actually joined for this step.
28
+ const sourceClassIdSelector = createRawPropertyValueSelector(prev.alias, "ECClassId");
29
+ const targetClassIdSelector = createRawPropertyValueSelector(step.targetAlias, "ECClassId");
30
+ if (step.instanceFilter?.bindings) {
31
+ for (const [key, value] of Object.entries(step.instanceFilter.bindings)) {
32
+ if (key in bindings) {
33
+ throw new Error(`Binding key "${key}" is used in multiple steps of the relationship path. Each binding key must be unique across all steps.`);
34
+ }
35
+ bindings[key] = value;
36
+ }
37
+ }
38
+ if (navigationProperty) {
39
+ const isNavigationPropertyForward = navigationProperty.direction === "Forward";
40
+ // The navigation value (`.Id` and `.RelECClassId`) lives on the same alias that holds the
41
+ // navigation property in the join condition below.
42
+ const navigationValueAlias = isNavigationPropertyForward === !step.relationshipReverse ? prev.alias : step.targetAlias;
43
+ const joinCondition = isNavigationPropertyForward === !step.relationshipReverse
44
+ ? `${createRawPropertyValueSelector(step.targetAlias, "ECInstanceId")} = ${createRawPropertyValueSelector(prev.alias, navigationProperty.name, "Id")}${filterCondition}`
45
+ : `${createRawPropertyValueSelector(step.targetAlias, navigationProperty.name, "Id")} = ${createRawPropertyValueSelector(prev.alias, prev.joinPropertyName)}${filterCondition}`;
46
+ steps.push({
47
+ relationshipClassIdSelector: createRawPropertyValueSelector(navigationValueAlias, navigationProperty.name, "RelECClassId"),
48
+ sourceClassIdSelector,
49
+ targetClassIdSelector,
50
+ joins: [
51
+ {
52
+ joinType: step.joinType ?? "inner",
53
+ joinTarget: { kind: "class", className: step.target.fullName },
54
+ joinAlias: step.targetAlias,
55
+ joinCondition,
56
+ },
57
+ ],
58
+ });
59
+ }
60
+ else {
61
+ const joins = [];
62
+ const relPropNames = !step.relationshipReverse
63
+ ? { this: "SourceECInstanceId", next: "TargetECInstanceId" }
64
+ : { this: "TargetECInstanceId", next: "SourceECInstanceId" };
65
+ const targetJoinCondition = `${createRawPropertyValueSelector(step.targetAlias, "ECInstanceId")} = ${createRawPropertyValueSelector(step.relationshipAlias, relPropNames.next)}${filterCondition}`;
66
+ if (step.joinType === "outer") {
67
+ joins.push({
68
+ joinType: "outer",
69
+ joinTarget: {
70
+ kind: "relationship-select",
71
+ relationshipClassName: step.relationship.fullName,
72
+ relationshipAlias: step.relationshipAlias,
73
+ innerTarget: { kind: "class", className: step.target.fullName },
74
+ innerTargetAlias: step.targetAlias,
75
+ innerJoinCondition: targetJoinCondition,
76
+ },
77
+ joinAlias: step.relationshipAlias,
78
+ joinCondition: `${createRawPropertyValueSelector(step.relationshipAlias, relPropNames.this)} = ${createRawPropertyValueSelector(prev.alias, prev.joinPropertyName)}`,
79
+ });
80
+ }
81
+ else {
82
+ joins.push({
83
+ joinType: "inner",
84
+ joinTarget: { kind: "class", className: step.relationship.fullName },
85
+ joinAlias: step.relationshipAlias,
86
+ joinCondition: `${createRawPropertyValueSelector(step.relationshipAlias, relPropNames.this)} = ${createRawPropertyValueSelector(prev.alias, prev.joinPropertyName)}`,
87
+ });
88
+ }
89
+ joins.push({
90
+ joinType: step.joinType ?? "inner",
91
+ joinTarget: { kind: "class", className: step.target.fullName },
92
+ joinAlias: step.targetAlias,
93
+ joinCondition: targetJoinCondition,
94
+ });
95
+ steps.push({
96
+ relationshipClassIdSelector: createRawPropertyValueSelector(step.relationshipAlias, "ECClassId"),
97
+ sourceClassIdSelector,
98
+ targetClassIdSelector,
99
+ joins,
100
+ });
101
+ }
102
+ prev = { alias: step.targetAlias, className: step.target.fullName, joinPropertyName: "ECInstanceId" };
103
+ }
104
+ return { steps, bindings: Object.keys(bindings).length > 0 ? bindings : undefined };
105
+ }
106
+ export function createRelationshipPathJoinClause(props) {
107
+ if ("steps" in props) {
108
+ return renderRelationshipPathJoinClause(props);
109
+ }
110
+ return createRelationshipPathJoinInfo(props).then(renderRelationshipPathJoinClause);
111
+ }
112
+ function renderRelationshipPathJoinClause(props) {
113
+ let joins = "";
114
+ const flatJoins = props.steps.flatMap((step) => step.joins);
115
+ for (const entry of flatJoins) {
116
+ const joinKw = entry.joinType === "outer" ? "LEFT OUTER JOIN" : "INNER JOIN";
117
+ if (entry.joinTarget.kind === "class") {
118
+ joins += `
119
+ ${joinKw} ${createClassSelector(entry.joinTarget.className)} [${entry.joinAlias}] ON ${entry.joinCondition}
120
+ `;
121
+ }
122
+ else {
123
+ const t = entry.joinTarget;
124
+ joins += `
125
+ ${joinKw} (
126
+ SELECT [${t.relationshipAlias}].*
127
+ FROM ${createClassSelector(t.relationshipClassName)} [${t.relationshipAlias}]
128
+ INNER JOIN ${createClassSelector(t.innerTarget.className)} [${t.innerTargetAlias}] ON ${t.innerJoinCondition}
129
+ ) [${entry.joinAlias}] ON ${entry.joinCondition}
130
+ `;
131
+ }
132
+ }
133
+ return { joins, bindings: props.bindings };
134
+ }
135
+ function resolveInstanceFilterCondition(step) {
136
+ if (!step.instanceFilter) {
137
+ return "";
138
+ }
139
+ const { expression, targetAlias = "this", relationshipAlias = "rel" } = step.instanceFilter;
140
+ const resolvedExpression = expression
141
+ .replaceAll(`[${targetAlias}].`, `[${step.targetAlias}].`)
142
+ .replaceAll(`${targetAlias}.`, `[${step.targetAlias}].`)
143
+ .replaceAll(`[${relationshipAlias}].`, `[${step.relationshipAlias}].`)
144
+ .replaceAll(`${relationshipAlias}.`, `[${step.relationshipAlias}].`);
145
+ return ` AND (${resolvedExpression})`;
146
+ }
147
+ async function getRelationshipPathStepClasses(schemaProvider, step) {
148
+ const { sourceClassName, relationshipName, targetClassName, ...rest } = step;
149
+ return {
150
+ ...rest,
151
+ source: await getClass(schemaProvider, sourceClassName),
152
+ relationship: (await getClass(schemaProvider, relationshipName)),
153
+ target: await getClass(schemaProvider, targetClassName),
154
+ };
155
+ }
156
+ function getNavigationProperty(step) {
157
+ const source = !step.relationshipReverse ? step.source : step.target;
158
+ const target = !step.relationshipReverse ? step.target : step.source;
159
+ for (const prop of source.getProperties()) {
160
+ /* v8 ignore else -- @preserve */
161
+ if (prop.isNavigation() &&
162
+ prop.direction === "Forward" &&
163
+ prop.relationshipClass.fullName === step.relationship.fullName) {
164
+ return prop;
165
+ }
166
+ }
167
+ for (const prop of target.getProperties()) {
168
+ /* v8 ignore else -- @preserve */
169
+ if (prop.isNavigation() &&
170
+ prop.direction === "Backward" &&
171
+ prop.relationshipClass.fullName === step.relationship.fullName) {
172
+ return prop;
173
+ }
174
+ }
175
+ return undefined;
176
+ }
177
+ //# sourceMappingURL=ECSqlJoinSnippets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ECSqlJoinSnippets.js","sourceRoot":"","sources":["../../../src/shared/ecsql-snippets/ECSqlJoinSnippets.ts"],"names":[],"mappings":"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"}
@@ -38,7 +38,7 @@ export declare function createPrimitivePropertyValueSelectorProps({ schemaProvid
38
38
  /** Access to schema information. */
39
39
  schemaProvider: ECSchemaProvider;
40
40
  /** Full class name of the property. Format: `SchemaName.ClassName`. */
41
- propertyClassName: EC.FullClassName;
41
+ propertyClassName: EC.FullClassNameDotNotation;
42
42
  /** Query alias of the class that contains the property. */
43
43
  propertyClassAlias: string;
44
44
  /** Name of the property to create `TypedPrimitiveValue` for. */
@@ -62,13 +62,13 @@ export declare function createRawPropertyValueSelector(classAlias: string, prope
62
62
  */
63
63
  export declare function createRawPrimitiveValueSelector(value: PrimitiveValue | undefined): string;
64
64
  /**
65
- * Converts a full class name (`SchemaName.ClassName` or `SchemaName:ClassName`) into a
65
+ * Converts a full class name (`SchemaName.ClassName`) into a
66
66
  * bracket-quoted ECSQL class selector: `[SchemaName].[ClassName]`.
67
67
  *
68
68
  * @throws Error if the provided full class name is not valid.
69
69
  * @public
70
70
  */
71
- export declare function createClassSelector(fullClassName: EC.FullClassName): string;
71
+ export declare function createClassSelector(fullClassName: EC.FullClassNameDotNotation): string;
72
72
  /**
73
73
  * Creates an ECSQL selector that results in a stringified `InstanceKey` object.
74
74
  * @public
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ECSqlValueSelectorSnippets.d.ts","sourceRoot":"","sources":["../../../src/shared/ecsql-snippets/ECSqlValueSelectorSnippets.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,KAAK,EAAE,EAAE,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC/E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExD;;;GAGG;AACH,KAAK,gCAAgC,GAAG;IACtC,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,CACA;IACE,+CAA+C;IAC/C,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB,GACD;IAAE,IAAI,EAAE,OAAO,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GACtE;IAAE,IAAI,EAAE,OAAO,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAC3F,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,2BAA2B,GAAG,mBAAmB,GAAG,gCAAgC,CAAC;AAEjG,cAAc;AAEd,yBAAiB,2BAA2B,CAAC;IAC3C,SAAgB,gBAAgB,CAAC,KAAK,EAAE,2BAA2B,GAAG,KAAK,IAAI,mBAAmB,CAEjG;IACD,SAAgB,wBAAwB,CACtC,KAAK,EAAE,2BAA2B,GACjC,KAAK,IAAI,gCAAgC,CAE3C;CACF;AAED;;;;GAIG;AACH,wBAAsB,yCAAyC,CAAC,EAC9D,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,GACb,EAAE;IACD,oCAAoC;IACpC,cAAc,EAAE,gBAAgB,CAAC;IACjC,uEAAuE;IACvE,iBAAiB,EAAE,EAAE,CAAC,wBAAwB,CAAC;IAC/C,2DAA2D;IAC3D,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gEAAgE;IAChE,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,OAAO,CAAC,gCAAgC,CAAC,CAsD5C;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC5C,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,aAAa,CAAC,EAAE,MAAM,GACrB,MAAM,CAMR;AAED;;;;;;;;GAQG;AACH,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,cAAc,GAAG,SAAS,UAqBhF;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,EAAE,CAAC,wBAAwB,GAAG,MAAM,CAGtF;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,UAIjE;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAEtG;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mCAAmC,CAAC,SAAS,EAAE,2BAA2B,EAAE,EAAE,aAAa,CAAC,EAAE,MAAM,UAMnH;AA2CD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qCAAqC,CACnD,SAAS,EAAE,2BAA2B,EAAE,EACxC,aAAa,CAAC,EAAE,MAAM,UASvB"}
@@ -26,7 +26,7 @@ export var TypedValueSelectClauseProps;
26
26
  */
27
27
  export async function createPrimitivePropertyValueSelectorProps({ schemaProvider, propertyClassAlias, propertyClassName, propertyName, }) {
28
28
  const ecClass = await getClass(schemaProvider, propertyClassName);
29
- const property = await ecClass.getProperty(propertyName);
29
+ const property = ecClass.getProperty(propertyName);
30
30
  if (!property) {
31
31
  throw new Error(`The property "${propertyName}" not found in class "${propertyClassName}".`);
32
32
  }
@@ -60,7 +60,7 @@ export async function createPrimitivePropertyValueSelectorProps({ schemaProvider
60
60
  ...(extendedType ? { extendedType } : /* v8 ignore next */ {}),
61
61
  };
62
62
  case "Double":
63
- const koqName = (await property.kindOfQuantity)?.fullName;
63
+ const koqName = property.kindOfQuantity?.fullName;
64
64
  return {
65
65
  selector: propertySelector,
66
66
  type: "Double",
@@ -119,7 +119,7 @@ export function createRawPrimitiveValueSelector(value) {
119
119
  }
120
120
  }
121
121
  /**
122
- * Converts a full class name (`SchemaName.ClassName` or `SchemaName:ClassName`) into a
122
+ * Converts a full class name (`SchemaName.ClassName`) into a
123
123
  * bracket-quoted ECSQL class selector: `[SchemaName].[ClassName]`.
124
124
  *
125
125
  * @throws Error if the provided full class name is not valid.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ECSqlValueSelectorSnippets.js","sourceRoot":"","sources":["../../../src/shared/ecsql-snippets/ECSqlValueSelectorSnippets.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  export { createClassSelector, createRawPropertyValueSelector, createRawPrimitiveValueSelector, createNullableSelector, createConcatenatedValueJsonSelector, createConcatenatedValueStringSelector, createInstanceKeySelector, createPrimitivePropertyValueSelectorProps, } from "./ECSqlValueSelectorSnippets.js";
2
- export { createRelationshipPathJoinClause } from "./ECSqlJoinSnippets.js";
2
+ export { createRelationshipPathJoinClause, createRelationshipPathJoinInfo } from "./ECSqlJoinSnippets.js";
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/ecsql-snippets/index.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,mBAAmB,EACnB,8BAA8B,EAC9B,+BAA+B,EAC/B,sBAAsB,EACtB,mCAAmC,EACnC,qCAAqC,EACrC,yBAAyB,EACzB,yCAAyC,GAC1C,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,gCAAgC,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC"}
@@ -3,5 +3,5 @@
3
3
  * See LICENSE.md in the project root for license terms and full copyright notice.
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
  export { createClassSelector, createRawPropertyValueSelector, createRawPrimitiveValueSelector, createNullableSelector, createConcatenatedValueJsonSelector, createConcatenatedValueStringSelector, createInstanceKeySelector, createPrimitivePropertyValueSelectorProps, } from "./ECSqlValueSelectorSnippets.js";
6
- export { createRelationshipPathJoinClause } from "./ECSqlJoinSnippets.js";
6
+ export { createRelationshipPathJoinClause, createRelationshipPathJoinInfo } from "./ECSqlJoinSnippets.js";
7
7
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/ecsql-snippets/index.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EACL,mBAAmB,EACnB,8BAA8B,EAC9B,+BAA+B,EAC/B,sBAAsB,EACtB,mCAAmC,EACnC,qCAAqC,EACrC,yBAAyB,EACzB,yCAAyC,GAC1C,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,gCAAgC,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC"}
@@ -1,11 +1,11 @@
1
1
  import type { IInstanceLabelSelectClauseFactory } from "../InstanceLabelSelectClauseFactory.js";
2
- import type { ECClassHierarchyInspector } from "../Metadata.js";
2
+ import type { ECSchemaProvider } from "../Metadata.js";
3
3
  /**
4
4
  * Props for `createBisInstanceLabelSelectClauseFactory`.
5
5
  * @public
6
6
  */
7
7
  interface BisInstanceLabelSelectClauseFactoryProps {
8
- classHierarchyInspector: ECClassHierarchyInspector;
8
+ imodelAccess: Pick<ECSchemaProvider, "classDerivesFrom">;
9
9
  }
10
10
  /**
11
11
  * Creates a label select clause according to BIS instance label rules.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BisInstanceLabelSelectClauseFactory.d.ts","sourceRoot":"","sources":["../../../src/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,wCAAwC,CAAC;AAChG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGvD;;;GAGG;AACH,UAAU,wCAAwC;IAChD,YAAY,EAAE,IAAI,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;CAC1D;AAED;;;;GAIG;AACH,wBAAgB,yCAAyC,CACvD,KAAK,EAAE,wCAAwC,GAC9C,iCAAiC,CA0CnC"}
@@ -12,10 +12,7 @@ import { ALIAS_PREFIX, concatenate, createECInstanceIdSuffixSelectors } from "./
12
12
  */
13
13
  export function createBisInstanceLabelSelectClauseFactory(props) {
14
14
  const clauses = [];
15
- const factory = createClassBasedInstanceLabelSelectClauseFactory({
16
- classHierarchyInspector: props.classHierarchyInspector,
17
- clauses,
18
- });
15
+ const factory = createClassBasedInstanceLabelSelectClauseFactory({ imodelAccess: props.imodelAccess, clauses });
19
16
  clauses.push({
20
17
  className: "BisCore.GeometricElement",
21
18
  clause: async ({ classAlias, ...rest }) => `
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BisInstanceLabelSelectClauseFactory.js","sourceRoot":"","sources":["../../../src/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,8BAA8B,EAAE,MAAM,iDAAiD,CAAC;AACjG,OAAO,EAAE,gDAAgD,EAAE,MAAM,iDAAiD,CAAC;AACnH,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,iCAAiC,EAAE,MAAM,YAAY,CAAC;AAc1F;;;;GAIG;AACH,MAAM,UAAU,yCAAyC,CACvD,KAA+C;IAE/C,MAAM,OAAO,GAAkC,EAAE,CAAC;IAClD,MAAM,OAAO,GAAG,gDAAgD,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC;IAChH,OAAO,CAAC,IAAI,CACV;QACE,SAAS,EAAE,0BAA0B;QACrC,MAAM,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC;;YAErC,8BAA8B,CAAC,UAAU,EAAE,WAAW,CAAC;YACvD,WAAW,CACX,IAAI,EACJ;YACE,EAAE,QAAQ,EAAE,8BAA8B,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE;YACrE,GAAG,iCAAiC,CAAC,UAAU,CAAC;SACjD,EACD,GAAG,8BAA8B,CAAC,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,8BAA8B,CAAC,UAAU,EAAE,WAAW,CAAC;YACvD,8BAA8B,CAAC,UAAU,EAAE,WAAW,CAAC;;OAE5D;KACF,EACD;QACE,SAAS,EAAE,eAAe;QAC1B,MAAM,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE;YACxC,MAAM,YAAY,GAAG,GAAG,YAAY,GAAG,CAAC;YACxC,OAAO;iBACE,MAAM,OAAO,CAAC,kBAAkB,CAAC,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;kCACpF,YAAY;gBAC9B,YAAY,qBAAqB,8BAA8B,CAAC,UAAU,EAAE,gBAAgB,EAAE,IAAI,CAAC;QAC3G,CAAC;QACH,CAAC;KACF,CACF,CAAC;IACF,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1,12 +1,12 @@
1
1
  import type { CreateInstanceLabelSelectClauseProps, IInstanceLabelSelectClauseFactory } from "../InstanceLabelSelectClauseFactory.js";
2
- import type { EC, ECClassHierarchyInspector } from "../Metadata.js";
2
+ import type { EC, ECSchemaProvider } from "../Metadata.js";
3
3
  /**
4
4
  * An association of a class and an instance label select clause factory method.
5
5
  * @public
6
6
  */
7
7
  export interface ClassBasedLabelSelectClause {
8
8
  /** Full class name */
9
- className: EC.FullClassName;
9
+ className: EC.FullClassNameDotNotation;
10
10
  /** A factory method to create an instance label select clause */
11
11
  clause: (props: CreateInstanceLabelSelectClauseProps) => Promise<string>;
12
12
  }
@@ -16,7 +16,7 @@ export interface ClassBasedLabelSelectClause {
16
16
  */
17
17
  export interface ClassBasedInstanceLabelSelectClauseFactoryProps {
18
18
  /** Access to ECClass hierarchy in the iModel. */
19
- classHierarchyInspector: ECClassHierarchyInspector;
19
+ imodelAccess: Pick<ECSchemaProvider, "classDerivesFrom">;
20
20
  /**
21
21
  * A prioritized list of instance label selectors associated to classes they should be applied to.
22
22
  *
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClassBasedInstanceLabelSelectClauseFactory.d.ts","sourceRoot":"","sources":["../../../src/shared/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,oCAAoC,EACpC,iCAAiC,EAClC,MAAM,wCAAwC,CAAC;AAChD,OAAO,KAAK,EAAE,EAAE,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAE3D;;;GAGG;AACH,MAAM,WAAW,2BAA2B;IAC1C,sBAAsB;IACtB,SAAS,EAAE,EAAE,CAAC,wBAAwB,CAAC;IACvC,iEAAiE;IACjE,MAAM,EAAE,CAAC,KAAK,EAAE,oCAAoC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC1E;AAED;;;GAGG;AACH,MAAM,WAAW,+CAA+C;IAC9D,iDAAiD;IACjD,YAAY,EAAE,IAAI,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;IAEzD;;;;;;OAMG;IACH,OAAO,EAAE,2BAA2B,EAAE,CAAC;IAEvC;;;OAGG;IACH,oBAAoB,CAAC,EAAE,iCAAiC,CAAC;CAC1D;AAED;;;GAGG;AACH,wBAAgB,gDAAgD,CAC9D,KAAK,EAAE,+CAA+C,GACrD,iCAAiC,CAyDnC"}
@@ -9,16 +9,16 @@ import { createDefaultInstanceLabelSelectClauseFactory } from "./DefaultInstance
9
9
  * @public
10
10
  */
11
11
  export function createClassBasedInstanceLabelSelectClauseFactory(props) {
12
- const { classHierarchyInspector, clauses: labelClausesByClass } = props;
12
+ const { imodelAccess, clauses: labelClausesByClass } = props;
13
13
  const defaultClauseFactory = props.defaultClauseFactory ?? createDefaultInstanceLabelSelectClauseFactory();
14
14
  async function getLabelClausesForClass(queryClassName) {
15
15
  const matchingLabelClauses = await Promise.all(labelClausesByClass.map(async (entry) => {
16
- if (await classHierarchyInspector.classDerivesFrom(entry.className, queryClassName)) {
16
+ if (await imodelAccess.classDerivesFrom(entry.className, queryClassName)) {
17
17
  // label selector is intended for a more specific class than we're selecting from - need to include it
18
18
  // as query results (on polymorphic select) are going to include more specific class instances too
19
19
  return entry;
20
20
  }
21
- if (await classHierarchyInspector.classDerivesFrom(queryClassName, entry.className)) {
21
+ if (await imodelAccess.classDerivesFrom(queryClassName, entry.className)) {
22
22
  // label selector is intended for a base class of what query is selecting - need to include it as
23
23
  // we want base class label selectors to apply to subclass instances
24
24
  return entry;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClassBasedInstanceLabelSelectClauseFactory.js","sourceRoot":"","sources":["../../../src/shared/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,8BAA8B,EAAE,MAAM,iDAAiD,CAAC;AACjG,OAAO,EAAE,6CAA6C,EAAE,MAAM,8CAA8C,CAAC;AA2C7G;;;GAGG;AACH,MAAM,UAAU,gDAAgD,CAC9D,KAAsD;IAEtD,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,mBAAmB,EAAE,GAAG,KAAK,CAAC;IAC7D,MAAM,oBAAoB,GAAG,KAAK,CAAC,oBAAoB,IAAI,6CAA6C,EAAE,CAAC;IAC3G,KAAK,UAAU,uBAAuB,CAAC,cAA2C;QAChF,MAAM,oBAAoB,GAAG,MAAM,OAAO,CAAC,GAAG,CAC5C,mBAAmB,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACtC,IAAI,MAAM,YAAY,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,CAAC;gBACzE,sGAAsG;gBACtG,kGAAkG;gBAClG,OAAO,KAAK,CAAC;YACf,CAAC;YACD,IAAI,MAAM,YAAY,CAAC,gBAAgB,CAAC,cAAc,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;gBACzE,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;gBAC/C,CAAC,CAAC,MAAM,uBAAuB,CAAC,WAAW,CAAC,SAAS,CAAC;gBACtD,CAAC,CAAC,mBAAmB,CAAC;YACxB,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,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAC7G,CAAC;YAEF,OAAO;UACH,YAAY;iBACX,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,CAC7B;;kBAEM,8BAA8B,CAAC,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"}
@@ -0,0 +1 @@
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,CAoBjG"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultInstanceLabelSelectClauseFactory.js","sourceRoot":"","sources":["../../../src/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,8BAA8B,EAAE,MAAM,iDAAiD,CAAC;AACjG,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,iCAAiC,EAAE,MAAM,YAAY,CAAC;AAI1F;;;;;;;;GAQG;AACH,MAAM,UAAU,6CAA6C;IAC3D,MAAM,KAAK,GAAG,GAAG,YAAY,GAAG,CAAC;IACjC,OAAO;QACL,KAAK,CAAC,kBAAkB,CAAC,KAAK;YAC5B,OAAO;;YAED,WAAW,CAAC,KAAK,EAAE;gBACnB;oBACE,QAAQ,EAAE;kBACN,8BAA8B,CAAC,KAAK,EAAE,cAAc,CAAC;kBACrD,8BAA8B,CAAC,KAAK,EAAE,MAAM,CAAC;gBAC/C;iBACH;gBACD,GAAG,iCAAiC,CAAC,KAAK,CAAC,UAAU,CAAC;aACvD,CAAC;sCAC0B,KAAK;gBAC3B,KAAK,qBAAqB,8BAA8B,CAAC,KAAK,CAAC,UAAU,EAAE,WAAW,CAAC;QAC/F,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1 @@
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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"}
@@ -0,0 +1 @@
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,6 +1,6 @@
1
1
  import type { ECSqlQueryExecutor } from "../ECSqlCore.js";
2
2
  import type { IInstanceLabelSelectClauseFactory } from "../InstanceLabelSelectClauseFactory.js";
3
- import type { ECClassHierarchyInspector, ECSchemaProvider } from "../Metadata.js";
3
+ import type { ECSchemaProvider } from "../Metadata.js";
4
4
  /**
5
5
  * Props for `createIModelInstanceLabelSelectClauseFactory`.
6
6
  * @public
@@ -10,7 +10,7 @@ interface IModelInstanceLabelSelectClauseFactoryProps {
10
10
  * Combined access to the iModel for querying PresentationRules rulesets and inspecting class hierarchy.
11
11
  * Follows the same combined-access pattern as other iModel-backed factories in this package.
12
12
  */
13
- imodelAccess: ECSqlQueryExecutor & ECClassHierarchyInspector & ECSchemaProvider;
13
+ imodelAccess: ECSqlQueryExecutor & ECSchemaProvider;
14
14
  /**
15
15
  * A fallback label clause factory used when no applicable `InstanceLabelOverride` rules are found
16
16
  * or when the `PresentationRules` schema is absent from the iModel.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IModelInstanceLabelSelectClauseFactory.d.ts","sourceRoot":"","sources":["../../../src/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,KAAK,EAEV,iCAAiC,EAClC,MAAM,wCAAwC,CAAC;AAChD,OAAO,KAAK,EAAM,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAW3D;;;GAGG;AACH,UAAU,2CAA2C;IACnD;;;OAGG;IACH,YAAY,EAAE,kBAAkB,GAAG,gBAAgB,CAAC;IAEpD;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,iCAAiC,CAAC;CAC1D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,4CAA4C,CAC1D,KAAK,EAAE,2CAA2C,GACjD,iCAAiC,CAenC"}