@itwin/presentation-shared 2.0.0-alpha.11 → 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 (207) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/lib/{esm/presentation-shared.d.ts → presentation-shared.d.ts} +5 -4
  3. package/lib/presentation-shared.d.ts.map +1 -0
  4. package/lib/{esm/presentation-shared.js → presentation-shared.js} +2 -1
  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 +9 -0
  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/{esm/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 +14 -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 +0 -15
  30. package/lib/shared/Utils.js.map +1 -0
  31. package/lib/{esm/shared → shared}/Values.d.ts +23 -13
  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 +3 -3
  40. package/lib/shared/ecsql-snippets/ECSqlValueSelectorSnippets.d.ts.map +1 -0
  41. package/lib/{esm/shared → shared}/ecsql-snippets/ECSqlValueSelectorSnippets.js +1 -1
  42. package/lib/shared/ecsql-snippets/ECSqlValueSelectorSnippets.js.map +1 -0
  43. package/lib/{cjs/shared → shared}/ecsql-snippets/index.d.ts +1 -1
  44. package/lib/shared/ecsql-snippets/index.d.ts.map +1 -0
  45. package/lib/{esm/shared → shared}/ecsql-snippets/index.js +1 -1
  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/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.js.map +1 -0
  49. package/lib/{cjs/shared → shared}/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.d.ts +1 -1
  50. package/lib/shared/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.d.ts.map +1 -0
  51. package/lib/shared/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.js.map +1 -0
  52. package/lib/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.d.ts.map +1 -0
  53. package/lib/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.js.map +1 -0
  54. package/lib/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.d.ts.map +1 -0
  55. package/lib/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.js.map +1 -0
  56. package/lib/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.d.ts.map +1 -0
  57. package/lib/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.js.map +1 -0
  58. package/lib/shared/instance-label-factory-impls/Utils.d.ts.map +1 -0
  59. package/lib/shared/instance-label-factory-impls/Utils.js.map +1 -0
  60. package/package.json +15 -17
  61. package/lib/cjs/package.json +0 -1
  62. package/lib/cjs/presentation-shared.d.ts +0 -21
  63. package/lib/cjs/presentation-shared.d.ts.map +0 -1
  64. package/lib/cjs/presentation-shared.js +0 -75
  65. package/lib/cjs/presentation-shared.js.map +0 -1
  66. package/lib/cjs/shared/ConcatenatedValue.d.ts.map +0 -1
  67. package/lib/cjs/shared/ConcatenatedValue.js +0 -49
  68. package/lib/cjs/shared/ConcatenatedValue.js.map +0 -1
  69. package/lib/cjs/shared/ECSqlCore.d.ts.map +0 -1
  70. package/lib/cjs/shared/ECSqlCore.js +0 -7
  71. package/lib/cjs/shared/ECSqlCore.js.map +0 -1
  72. package/lib/cjs/shared/Event.d.ts.map +0 -1
  73. package/lib/cjs/shared/Event.js +0 -7
  74. package/lib/cjs/shared/Event.js.map +0 -1
  75. package/lib/cjs/shared/Formatting.d.ts.map +0 -1
  76. package/lib/cjs/shared/Formatting.js +0 -118
  77. package/lib/cjs/shared/Formatting.js.map +0 -1
  78. package/lib/cjs/shared/InstanceLabelSelectClauseFactory.d.ts +0 -73
  79. package/lib/cjs/shared/InstanceLabelSelectClauseFactory.d.ts.map +0 -1
  80. package/lib/cjs/shared/InstanceLabelSelectClauseFactory.js +0 -30
  81. package/lib/cjs/shared/InstanceLabelSelectClauseFactory.js.map +0 -1
  82. package/lib/cjs/shared/Logging.d.ts.map +0 -1
  83. package/lib/cjs/shared/Logging.js +0 -21
  84. package/lib/cjs/shared/Logging.js.map +0 -1
  85. package/lib/cjs/shared/MappedTypes.d.ts +0 -17
  86. package/lib/cjs/shared/MappedTypes.d.ts.map +0 -1
  87. package/lib/cjs/shared/MappedTypes.js +0 -7
  88. package/lib/cjs/shared/MappedTypes.js.map +0 -1
  89. package/lib/cjs/shared/Metadata.d.ts.map +0 -1
  90. package/lib/cjs/shared/Metadata.js +0 -56
  91. package/lib/cjs/shared/Metadata.js.map +0 -1
  92. package/lib/cjs/shared/Utils.d.ts.map +0 -1
  93. package/lib/cjs/shared/Utils.js +0 -123
  94. package/lib/cjs/shared/Utils.js.map +0 -1
  95. package/lib/cjs/shared/Values.d.ts +0 -121
  96. package/lib/cjs/shared/Values.d.ts.map +0 -1
  97. package/lib/cjs/shared/Values.js +0 -118
  98. package/lib/cjs/shared/Values.js.map +0 -1
  99. package/lib/cjs/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts +0 -66
  100. package/lib/cjs/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts.map +0 -1
  101. package/lib/cjs/shared/ecsql-snippets/ECSqlJoinSnippets.js +0 -171
  102. package/lib/cjs/shared/ecsql-snippets/ECSqlJoinSnippets.js.map +0 -1
  103. package/lib/cjs/shared/ecsql-snippets/ECSqlValueSelectorSnippets.d.ts.map +0 -1
  104. package/lib/cjs/shared/ecsql-snippets/ECSqlValueSelectorSnippets.js +0 -275
  105. package/lib/cjs/shared/ecsql-snippets/ECSqlValueSelectorSnippets.js.map +0 -1
  106. package/lib/cjs/shared/ecsql-snippets/index.d.ts.map +0 -1
  107. package/lib/cjs/shared/ecsql-snippets/index.js +0 -19
  108. package/lib/cjs/shared/ecsql-snippets/index.js.map +0 -1
  109. package/lib/cjs/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.d.ts.map +0 -1
  110. package/lib/cjs/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.js +0 -54
  111. package/lib/cjs/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.js.map +0 -1
  112. package/lib/cjs/shared/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.d.ts.map +0 -1
  113. package/lib/cjs/shared/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.js +0 -63
  114. package/lib/cjs/shared/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.js.map +0 -1
  115. package/lib/cjs/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.d.ts.map +0 -1
  116. package/lib/cjs/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.js +0 -40
  117. package/lib/cjs/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.js.map +0 -1
  118. package/lib/cjs/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.d.ts.map +0 -1
  119. package/lib/cjs/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.js +0 -10
  120. package/lib/cjs/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.js.map +0 -1
  121. package/lib/cjs/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.d.ts.map +0 -1
  122. package/lib/cjs/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.js +0 -336
  123. package/lib/cjs/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.js.map +0 -1
  124. package/lib/cjs/shared/instance-label-factory-impls/Utils.d.ts.map +0 -1
  125. package/lib/cjs/shared/instance-label-factory-impls/Utils.js +0 -26
  126. package/lib/cjs/shared/instance-label-factory-impls/Utils.js.map +0 -1
  127. package/lib/esm/presentation-shared.d.ts.map +0 -1
  128. package/lib/esm/presentation-shared.js.map +0 -1
  129. package/lib/esm/shared/ConcatenatedValue.d.ts +0 -46
  130. package/lib/esm/shared/ConcatenatedValue.d.ts.map +0 -1
  131. package/lib/esm/shared/ConcatenatedValue.js.map +0 -1
  132. package/lib/esm/shared/ECSqlCore.d.ts +0 -99
  133. package/lib/esm/shared/ECSqlCore.d.ts.map +0 -1
  134. package/lib/esm/shared/ECSqlCore.js +0 -6
  135. package/lib/esm/shared/ECSqlCore.js.map +0 -1
  136. package/lib/esm/shared/Event.d.ts +0 -27
  137. package/lib/esm/shared/Event.d.ts.map +0 -1
  138. package/lib/esm/shared/Formatting.d.ts +0 -44
  139. package/lib/esm/shared/Formatting.d.ts.map +0 -1
  140. package/lib/esm/shared/Formatting.js.map +0 -1
  141. package/lib/esm/shared/InstanceLabelSelectClauseFactory.d.ts.map +0 -1
  142. package/lib/esm/shared/InstanceLabelSelectClauseFactory.js.map +0 -1
  143. package/lib/esm/shared/Logging.d.ts +0 -27
  144. package/lib/esm/shared/Logging.d.ts.map +0 -1
  145. package/lib/esm/shared/Logging.js.map +0 -1
  146. package/lib/esm/shared/MappedTypes.d.ts +0 -17
  147. package/lib/esm/shared/MappedTypes.d.ts.map +0 -1
  148. package/lib/esm/shared/MappedTypes.js.map +0 -1
  149. package/lib/esm/shared/Metadata.d.ts +0 -505
  150. package/lib/esm/shared/Metadata.d.ts.map +0 -1
  151. package/lib/esm/shared/Metadata.js.map +0 -1
  152. package/lib/esm/shared/Utils.d.ts +0 -66
  153. package/lib/esm/shared/Utils.d.ts.map +0 -1
  154. package/lib/esm/shared/Utils.js.map +0 -1
  155. package/lib/esm/shared/Values.d.ts.map +0 -1
  156. package/lib/esm/shared/Values.js +0 -115
  157. package/lib/esm/shared/Values.js.map +0 -1
  158. package/lib/esm/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts +0 -66
  159. package/lib/esm/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts.map +0 -1
  160. package/lib/esm/shared/ecsql-snippets/ECSqlJoinSnippets.js +0 -168
  161. package/lib/esm/shared/ecsql-snippets/ECSqlJoinSnippets.js.map +0 -1
  162. package/lib/esm/shared/ecsql-snippets/ECSqlValueSelectorSnippets.d.ts +0 -130
  163. package/lib/esm/shared/ecsql-snippets/ECSqlValueSelectorSnippets.d.ts.map +0 -1
  164. package/lib/esm/shared/ecsql-snippets/ECSqlValueSelectorSnippets.js.map +0 -1
  165. package/lib/esm/shared/ecsql-snippets/index.d.ts +0 -3
  166. package/lib/esm/shared/ecsql-snippets/index.d.ts.map +0 -1
  167. package/lib/esm/shared/ecsql-snippets/index.js.map +0 -1
  168. package/lib/esm/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.d.ts +0 -17
  169. package/lib/esm/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.d.ts.map +0 -1
  170. package/lib/esm/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.js.map +0 -1
  171. package/lib/esm/shared/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.d.ts +0 -39
  172. package/lib/esm/shared/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.d.ts.map +0 -1
  173. package/lib/esm/shared/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.js.map +0 -1
  174. package/lib/esm/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.d.ts +0 -12
  175. package/lib/esm/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.d.ts.map +0 -1
  176. package/lib/esm/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.js.map +0 -1
  177. package/lib/esm/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.d.ts +0 -198
  178. package/lib/esm/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.d.ts.map +0 -1
  179. package/lib/esm/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.js.map +0 -1
  180. package/lib/esm/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.d.ts +0 -34
  181. package/lib/esm/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.d.ts.map +0 -1
  182. package/lib/esm/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.js.map +0 -1
  183. package/lib/esm/shared/instance-label-factory-impls/Utils.d.ts +0 -7
  184. package/lib/esm/shared/instance-label-factory-impls/Utils.d.ts.map +0 -1
  185. package/lib/esm/shared/instance-label-factory-impls/Utils.js.map +0 -1
  186. /package/lib/{cjs/shared → shared}/ConcatenatedValue.d.ts +0 -0
  187. /package/lib/{esm/shared → shared}/ConcatenatedValue.js +0 -0
  188. /package/lib/{cjs/shared → shared}/Event.d.ts +0 -0
  189. /package/lib/{esm/shared → shared}/Event.js +0 -0
  190. /package/lib/{cjs/shared → shared}/Formatting.d.ts +0 -0
  191. /package/lib/{esm/shared → shared}/Formatting.js +0 -0
  192. /package/lib/{esm/shared → shared}/InstanceLabelSelectClauseFactory.js +0 -0
  193. /package/lib/{cjs/shared → shared}/Logging.d.ts +0 -0
  194. /package/lib/{esm/shared → shared}/Logging.js +0 -0
  195. /package/lib/{esm/shared → shared}/MappedTypes.js +0 -0
  196. /package/lib/{esm/shared → shared}/Metadata.js +0 -0
  197. /package/lib/{cjs/shared → shared}/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.d.ts +0 -0
  198. /package/lib/{esm/shared → shared}/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.js +0 -0
  199. /package/lib/{esm/shared → shared}/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.js +0 -0
  200. /package/lib/{cjs/shared → shared}/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.d.ts +0 -0
  201. /package/lib/{esm/shared → shared}/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.js +0 -0
  202. /package/lib/{cjs/shared → shared}/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.d.ts +0 -0
  203. /package/lib/{esm/shared → shared}/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.js +0 -0
  204. /package/lib/{cjs/shared → shared}/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.d.ts +0 -0
  205. /package/lib/{esm/shared → shared}/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.js +0 -0
  206. /package/lib/{cjs/shared → shared}/instance-label-factory-impls/Utils.d.ts +0 -0
  207. /package/lib/{esm/shared → shared}/instance-label-factory-impls/Utils.js +0 -0
@@ -0,0 +1,121 @@
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 { compareStrings, Id64 } from "@itwin/core-bentley";
6
+ /** @public */
7
+ export var InstanceKey;
8
+ (function (InstanceKey) {
9
+ /**
10
+ * Checks whether the two given instance keys are equal.
11
+ * @public
12
+ */
13
+ function equals(lhs, rhs) {
14
+ return compare(lhs, rhs) === 0;
15
+ }
16
+ InstanceKey.equals = equals;
17
+ /**
18
+ * Compares two given instance keys.
19
+ * @returns
20
+ *- `0` if they are equal
21
+ *- `negative value` if lhs key is less than rhs key
22
+ *- `positive value` if lhs key is more than rhs key
23
+ */
24
+ function compare(lhs, rhs) {
25
+ const classNameCompareResult = compareStrings(lhs.className.toLocaleLowerCase(), rhs.className.toLocaleLowerCase());
26
+ if (classNameCompareResult !== 0) {
27
+ return classNameCompareResult;
28
+ }
29
+ return compareStrings(lhs.id, rhs.id);
30
+ }
31
+ InstanceKey.compare = compare;
32
+ })(InstanceKey || (InstanceKey = {}));
33
+ /** @public */
34
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
35
+ export var PrimitiveValue;
36
+ (function (PrimitiveValue) {
37
+ /**
38
+ * Checks whether the given value is a `Point2dValue`.
39
+ * @note Since `Point3dValue` is a superset of `Point2dValue`, this function will return `true` for `Point3dValue` as well.
40
+ * @public
41
+ */
42
+ function isPoint2d(value) {
43
+ if (typeof value !== "object") {
44
+ return false;
45
+ }
46
+ return "x" in value && "y" in value;
47
+ }
48
+ PrimitiveValue.isPoint2d = isPoint2d;
49
+ /**
50
+ * Checks whether the given value is a `Point3dValue`.
51
+ * @public
52
+ */
53
+ function isPoint3d(value) {
54
+ if (typeof value !== "object") {
55
+ return false;
56
+ }
57
+ return "x" in value && "y" in value && "z" in value;
58
+ }
59
+ PrimitiveValue.isPoint3d = isPoint3d;
60
+ })(PrimitiveValue || (PrimitiveValue = {}));
61
+ /** @public */
62
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
63
+ export var TypedPrimitiveValue;
64
+ (function (TypedPrimitiveValue) {
65
+ /**
66
+ * A function for a creating a `TypedPrimitiveValue` object.
67
+ * @throws Error if primitive type and value are incompatible.
68
+ * @public
69
+ */
70
+ function create(value, type, koqName, extendedType) {
71
+ // The function's return type narrows `TypedPrimitiveValue` based on the generic `TType`. TypeScript can't verify that the
72
+ // objects created below satisfy that narrowed type, because narrowing the `type`/`value` variables via control flow doesn't
73
+ // narrow the `TType` type parameter itself (it stays generic within the function body). So we build the value with a concrete
74
+ // `TypedPrimitiveValue` return type - which TypeScript does check branch-by-branch - and apply the narrowing with a single
75
+ // cast at the boundary, rather than casting every `return` statement individually.
76
+ return (function () {
77
+ switch (type) {
78
+ case "Double":
79
+ case "Integer":
80
+ case "Long":
81
+ if (typeof value === "number") {
82
+ return { type, koqName, extendedType, value };
83
+ }
84
+ break;
85
+ case "Boolean":
86
+ if (typeof value === "boolean") {
87
+ return { type, extendedType, value };
88
+ }
89
+ break;
90
+ case "Id":
91
+ if (typeof value === "string" && Id64.isId64(value)) {
92
+ return { type, extendedType, value };
93
+ }
94
+ break;
95
+ case "String":
96
+ if (typeof value === "string") {
97
+ return { type, extendedType, value };
98
+ }
99
+ break;
100
+ case "DateTime":
101
+ if (typeof value === "string" || typeof value === "number" || value instanceof Date) {
102
+ return { type, extendedType, value };
103
+ }
104
+ break;
105
+ case "Point3d":
106
+ if (PrimitiveValue.isPoint3d(value)) {
107
+ return { type, extendedType, value };
108
+ }
109
+ break;
110
+ case "Point2d":
111
+ if (PrimitiveValue.isPoint2d(value)) {
112
+ return { type, extendedType, value };
113
+ }
114
+ break;
115
+ }
116
+ throw new Error(`PrimitiveValueType ${type} isn't compatible with value ${JSON.stringify(value)}`);
117
+ })();
118
+ }
119
+ TypedPrimitiveValue.create = create;
120
+ })(TypedPrimitiveValue || (TypedPrimitiveValue = {}));
121
+ //# sourceMappingURL=Values.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Values.js","sourceRoot":"","sources":["../../src/shared/Values.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,167 @@
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 `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
+ * 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
+ * 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(info: RelationshipPathJoinInfo): RelationshipPathJoinClauseResult;
166
+ export {};
167
+ //# 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,CAAC,IAAI,EAAE,wBAAwB,GAAG,gCAAgC,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 = await 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(arg) {
107
+ if ("steps" in arg) {
108
+ return renderRelationshipPathJoinClause(arg);
109
+ }
110
+ return createRelationshipPathJoinInfo(arg).then(renderRelationshipPathJoinClause);
111
+ }
112
+ function renderRelationshipPathJoinClause(info) {
113
+ let joins = "";
114
+ const flatJoins = info.steps.flatMap((step) => step.joins);
115
+ for (const entry of flatJoins) {
116
+ const joinKw = entry.joinType === "outer" ? "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: info.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
+ async 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 await source.getProperties()) {
160
+ /* v8 ignore else -- @preserve */
161
+ if (prop.isNavigation() &&
162
+ prop.direction === "Forward" &&
163
+ (await prop.relationshipClass).fullName === step.relationship.fullName) {
164
+ return prop;
165
+ }
166
+ }
167
+ for (const prop of await target.getProperties()) {
168
+ /* v8 ignore else -- @preserve */
169
+ if (prop.isNavigation() &&
170
+ prop.direction === "Backward" &&
171
+ (await 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"}
@@ -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"}
@@ -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,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAGhE;;;GAGG;AACH,UAAU,wCAAwC;IAChD,uBAAuB,EAAE,yBAAyB,CAAC;CACpD;AAED;;;;GAIG;AACH,wBAAgB,yCAAyC,CACvD,KAAK,EAAE,wCAAwC,GAC9C,iCAAiC,CA6CnC"}
@@ -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;QAC/D,uBAAuB,EAAE,KAAK,CAAC,uBAAuB;QACtD,OAAO;KACR,CAAC,CAAC;IACH,OAAO,CAAC,IAAI,CACV;QACE,SAAS,EAAE,0BAA0B;QACrC,MAAM,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC;;YAErC,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"}
@@ -6,7 +6,7 @@ import type { EC, ECClassHierarchyInspector } from "../Metadata.js";
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
  }
@@ -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,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAEpE;;;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,uBAAuB,EAAE,yBAAyB,CAAC;IAEnD;;;;;;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"}
@@ -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,uBAAuB,EAAE,OAAO,EAAE,mBAAmB,EAAE,GAAG,KAAK,CAAC;IACxE,MAAM,oBAAoB,GAAG,KAAK,CAAC,oBAAoB,IAAI,6CAA6C,EAAE,CAAC;IAC3G,KAAK,UAAU,uBAAuB,CAAC,cAA2C;QAChF,MAAM,oBAAoB,GAAG,MAAM,OAAO,CAAC,GAAG,CAC5C,mBAAmB,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACtC,IAAI,MAAM,uBAAuB,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,CAAC;gBACpF,sGAAsG;gBACtG,kGAAkG;gBAClG,OAAO,KAAK,CAAC;YACf,CAAC;YACD,IAAI,MAAM,uBAAuB,CAAC,gBAAgB,CAAC,cAAc,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;gBACpF,iGAAiG;gBACjG,oEAAoE;gBACpE,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC,CACH,CAAC;QACF,SAAS,kBAAkB,CAAI,CAAgB;YAC7C,OAAO,CAAC,CAAC,CAAC,CAAC;QACb,CAAC;QACD,OAAO,oBAAoB,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACzD,CAAC;IACD,OAAO;QACL,KAAK,CAAC,kBAAkB,CAAC,WAAiD;YACxE,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrC,OAAO,oBAAoB,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;YAC9D,CAAC;YAED,MAAM,mBAAmB,GAAG,WAAW,CAAC,SAAS;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"}
@@ -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,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"}