@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
package/CHANGELOG.md CHANGED
@@ -1,5 +1,144 @@
1
1
  # @itwin/presentation-shared
2
2
 
3
+ ## 2.0.0-alpha.13
4
+
5
+ ### Major Changes
6
+
7
+ - [#1531](https://github.com/iTwin/presentation/pull/1531): `EC.RelationshipConstraintMultiplicity`: Changed `upperLimit` type from `number` to `number | "unbounded"`.
8
+
9
+ Previously, `createECSchemaProvider` from `@itwin/presentation-core-interop` reported an unbounded (`*`) upper limit as `0`, which silently made the natural `upperLimit > 1` check treat many-valued relationships as single-valued. The limit is now an explicit `"unbounded"` value that consumers must handle:
10
+
11
+ ```ts
12
+ const isManyValued =
13
+ constraint.multiplicity.upperLimit === "unbounded" ||
14
+ constraint.multiplicity.upperLimit > 1;
15
+ ```
16
+
17
+ - [#1503](https://github.com/iTwin/presentation/pull/1503): Full class and property names are now compared case-sensitively. Provide names using the casing defined by their EC schemas.
18
+ - [#1493](https://github.com/iTwin/presentation/pull/1493): Expose access to enumerations, kind-of-quantities and property categories through `EC.Schema`, and extend `EC.KindOfQuantity` with `relativeError` and `persistenceUnit` attributes. Schemas returned by `createECSchemaProvider` now implement the new getters.
19
+
20
+ - `EC.Schema` now requires `getEnumeration`, `getKindOfQuantity` and `getPropertyCategory` methods (mirroring the existing `getClass`). Consumers that only use `EC.Schema` are unaffected, but custom implementations of the interface must add these getters:
21
+
22
+ ```ts
23
+ const schema: EC.Schema = {
24
+ name,
25
+ version,
26
+ isHidden,
27
+ getClass: (className) => classes.get(className),
28
+ // added:
29
+ getEnumeration: (enumName) => enumerations.get(enumName),
30
+ getKindOfQuantity: (koqName) => kindOfQuantities.get(koqName),
31
+ getPropertyCategory: (categoryName) => categories.get(categoryName),
32
+ };
33
+ ```
34
+
35
+ - `EC.KindOfQuantity` now requires `relativeError` (`number`) and `persistenceUnit` (`string`) attributes. Custom implementations must provide them.
36
+
37
+ - `createECSchemaProvider`: The `EC.Schema` returned by the provider now implements the new getters, giving access to enumerations, kind-of-quantities and property categories in addition to classes. Existing code keeps working without changes and can now read these additional schema items:
38
+
39
+ ```ts
40
+ const schemaProvider = createECSchemaProvider(imodel);
41
+ const schema = await schemaProvider.getSchema("BisCore");
42
+ const enumeration = schema?.getEnumeration("MySchema.MyEnum");
43
+ const koq = schema?.getKindOfQuantity("MySchema.MyKoq");
44
+ const category = schema?.getPropertyCategory("MySchema.MyCategory");
45
+ ```
46
+
47
+ - [#1491](https://github.com/iTwin/presentation/pull/1491): `ECSchemaProvider`: Added a `classDerivesFrom` method for checking whether one ECClass is the same as, or derives from, another. `createECSchemaProvider` (in `@itwin/presentation-core-interop`) implements it using the class hierarchy information it already loads, so the answer is returned synchronously once the hierarchy has been loaded and no additional round-trips to the iModel are needed.
48
+
49
+ Also, `ECClassHierarchyInspector` and `createCachingECClassHierarchyInspector` have been deprecated. Because `ECSchemaProvider` now exposes `classDerivesFrom` directly, a separate class hierarchy inspector is no longer needed when setting up iModel access:
50
+
51
+ ```ts
52
+ // Before:
53
+ import { createCachingECClassHierarchyInspector } from "@itwin/presentation-shared";
54
+ import {
55
+ createECSchemaProvider,
56
+ createECSqlQueryExecutor,
57
+ } from "@itwin/presentation-core-interop";
58
+
59
+ const schemaProvider = createECSchemaProvider(imodel);
60
+ const imodelAccess = {
61
+ ...schemaProvider,
62
+ ...createCachingECClassHierarchyInspector({ schemaProvider }),
63
+ ...createECSqlQueryExecutor(imodel),
64
+ };
65
+
66
+ // After:
67
+ import {
68
+ createECSchemaProvider,
69
+ createECSqlQueryExecutor,
70
+ } from "@itwin/presentation-core-interop";
71
+
72
+ const imodelAccess = {
73
+ ...createECSchemaProvider(imodel), // now also provides `classDerivesFrom`
74
+ ...createECSqlQueryExecutor(imodel),
75
+ };
76
+ ```
77
+
78
+ **Breaking changes:**
79
+
80
+ - `ECSchemaProvider` now requires a `classDerivesFrom` method. Objects created via `createECSchemaProvider` get it automatically, so most consumers don't need to change anything. Only custom, hand-written `ECSchemaProvider` implementations need to add the method.
81
+
82
+ - Renamed the `classHierarchyInspector` prop to `imodelAccess` on `createClassBasedInstanceLabelSelectClauseFactory`, `createBisInstanceLabelSelectClauseFactory` (both in `@itwin/presentation-shared`) and `createPredicateBasedHierarchyDefinition` (in `@itwin/presentation-hierarchies`). The prop's type is unchanged, so the value passed to it doesn't need to change - only the prop name:
83
+
84
+ ```ts
85
+ // Before:
86
+ const classHierarchyInspector = createCachingECClassHierarchyInspector({
87
+ schemaProvider: createECSchemaProvider(imodel),
88
+ });
89
+ createPredicateBasedHierarchyDefinition({
90
+ classHierarchyInspector,
91
+ hierarchy,
92
+ });
93
+
94
+ // After:
95
+ const imodelAccess = createECSchemaProvider(imodel);
96
+ createPredicateBasedHierarchyDefinition({ imodelAccess, hierarchy });
97
+ ```
98
+
99
+ - [#1394](https://github.com/iTwin/presentation/pull/1394): `EC` namespace interfaces in `@itwin/presentation-shared` no longer use `Promise` wrappers — once a schema is loaded via the still-async `ECSchemaProvider.getSchema`, all further navigation (`baseClass`, `is()`, `getProperty()`, `getProperties()`, `kindOfQuantity`, `relationshipClass`, `enumeration`, `abstractConstraint`) is synchronous.
100
+
101
+ Additional changes:
102
+
103
+ - The `EC.Class.getDerivedClasses()` method was replaced with `getDerivedClassNames(props?: { onlyDirect?: boolean })`. `ECSchemaProvider` can be used to load the derived classes by name, if needed.
104
+ - The `getCustomAttributes()` method has been removed from `EC.Schema`, `EC.Class`, and `EC.Property` and replaced with an `isHidden: boolean` property. `EC.CustomAttributeSet` and `EC.CustomAttribute` types have been removed.
105
+ - Added an `EC.Class.getOwnProperties()` method that returns only the properties defined on the class itself, without inherited properties.
106
+ - Added an `EC.EntityClass.getMixins()` method that returns all mixins applied to the entity class.
107
+ - Added an optional `EC.Property.category` attribute.
108
+ - Added a required `EC.RelationshipConstraint.constraintClasses` attribute.
109
+ - Added missing optional `description` attributes to `EC.Schema` and `EC.Property`.
110
+
111
+ ### Minor Changes
112
+
113
+ - [#1507](https://github.com/iTwin/presentation/pull/1507): Add `eachValueFrom` for consuming subscribable streams through async iteration.
114
+
115
+ ### Patch Changes
116
+
117
+ - [#1524](https://github.com/iTwin/presentation/pull/1524): Fix `eachValueFrom` dropping legitimately emitted `undefined` values when they're buffered before the consumer requests them.
118
+ - [#1496](https://github.com/iTwin/presentation/pull/1496): `createRelationshipPathJoinClause`: The pre-resolved (sync) overload now accepts a rendering-only input — each step only needs its `joins`, plus an optional top-level `bindings` — instead of the full `RelationshipPathJoinInfo` shape. Callers that only need to render JOINs no longer have to supply the unused `relationshipClassIdSelector`, `sourceClassIdSelector`, and `targetClassIdSelector` fields per step.
119
+
120
+ ## 2.0.0-alpha.12
121
+
122
+ ### Major Changes
123
+
124
+ - [#1446](https://github.com/iTwin/presentation/pull/1446): `EC.EntityClass`: Added `getMixins` method that returns the mixins applied directly to the entity class.
125
+ - [#1454](https://github.com/iTwin/presentation/pull/1454): Dropped CommonJS support. These packages are now published as ES modules (ESM) only.
126
+
127
+ ### Minor Changes
128
+
129
+ - [#1455](https://github.com/iTwin/presentation/pull/1455): Added `ECSqlBinding.create` for creating ECSQL bindings from typed primitive values.
130
+ - [#1455](https://github.com/iTwin/presentation/pull/1455): Added exported `Point2dValue` and `Point3dValue` types for representing point primitive values.
131
+ - [#1452](https://github.com/iTwin/presentation/pull/1452): `Props`: Added support for overloaded functions.
132
+
133
+ When the given function has multiple overload signatures, `Props` now resolves to the union of the parameter types across all overloads instead of only reflecting the last signature.
134
+
135
+ - [#1452](https://github.com/iTwin/presentation/pull/1452): Add `createRelationshipPathJoinInfo` that resolves a relationship path into a flat, structured list of join descriptors without producing ECSQL. The returned result lets callers inspect the resolved join structure — e.g. to count the number of join tables without re-reading the schema.
136
+
137
+ In addition, add a sync `createRelationshipPathJoinClause(info)` overload that renders a pre-resolved result of `createRelationshipPathJoinInfo` into an ECSQL JOIN clause without any async schema access.
138
+
139
+ - [#1455](https://github.com/iTwin/presentation/pull/1455): `TypedPrimitiveValue.create`: The return type is now narrowed based on the given `type` argument, so the result only exposes the properties valid for that type. For example, creating a value with type `"Point3d"` no longer exposes the `koqName` property.
140
+ - [#1459](https://github.com/iTwin/presentation/pull/1459): `ECSql.createRelationshipPathJoinInfo`: The `joins` array moved from the top-level result into each entry of the returned `steps[]`, so every step now carries its own ordered `joins`. In addition, each step exposes selectors for the path step's concrete `ECClassId` — `relationshipClassIdSelector`, `sourceClassIdSelector` (`[sourceAlias].[ECClassId]`) and `targetClassIdSelector` (`[targetAlias].[ECClassId]`). For a link-table step the relationship selector is `[relationshipAlias].[ECClassId]`; for a navigation-property step it is `[ownerAlias].[navigationProperty].[RelECClassId]`. For `outer` joins the relationship and target selectors yield `NULL` when nothing is related.
141
+
3
142
  ## 2.0.0-alpha.11
4
143
 
5
144
  ### Major Changes
@@ -226,6 +365,42 @@
226
365
 
227
366
  In reality, consumers will likely use `@itwin/presentation-core-interop` package for creating them, and the package has been updated to handle the change, so reacting to the breaking change is as simple as bumping the version of `@itwin/presentation-core-interop` package in the consumer's `package.json`.
228
367
 
368
+ ## 1.2.22
369
+
370
+ ### Patch Changes
371
+
372
+ - [#1543](https://github.com/iTwin/presentation/pull/1543): Update iTwin.js core dependencies to `^5.13.1` and refresh related tooling/test dependencies.
373
+
374
+ ## 1.2.21
375
+
376
+ ### Patch Changes
377
+
378
+ - [#1521](https://github.com/iTwin/presentation/pull/1521): `createRelationshipPathJoinClause`: fix produced ECSQL being invalid when joining with `joinType: "outer"`. The produced snippet used `OUTER JOIN`, which ECSQL fails to parse - now it uses `LEFT OUTER JOIN`.
379
+
380
+ ## 1.2.20
381
+
382
+ ### Patch Changes
383
+
384
+ - [#1500](https://github.com/iTwin/presentation/pull/1500): Update iTwin.js core dependencies to ^5.12.4 and refresh related tooling/test dependencies.
385
+
386
+ ## 1.2.19
387
+
388
+ ### Patch Changes
389
+
390
+ - [#1473](https://github.com/iTwin/presentation/pull/1473): Bump dependencies.
391
+
392
+ ## 1.2.18
393
+
394
+ ### Patch Changes
395
+
396
+ - [#1430](https://github.com/iTwin/presentation/pull/1430): Bump dependencies.
397
+
398
+ ## 1.2.17
399
+
400
+ ### Patch Changes
401
+
402
+ - [#1400](https://github.com/iTwin/presentation/pull/1400): Bump dependencies.
403
+
229
404
  ## 1.2.16
230
405
 
231
406
  ### Patch Changes
package/README.md CHANGED
@@ -16,50 +16,38 @@ The namespace defines all the [EC](https://www.itwinjs.org/bis/ec/) types that P
16
16
 
17
17
  ### `ECSchemaProvider` & `getClass`
18
18
 
19
- - `ECSchemaProvider` is an interface for something that knows how to get an [ECSchema](https://www.itwinjs.org/bis/ec/ec-schema/) from an iModel. The package itself doesn't provide an implementation for this interface and instead relies on `@itwin/presentation-core-interop` to do that.
19
+ - `ECSchemaProvider` is an interface for something that knows how to get an [ECSchema](https://www.itwinjs.org/bis/ec/ec-schema/) from an iModel, or check if one class is the same as, or derives from, another. The package itself doesn't provide an implementation for this interface and instead relies on `@itwin/presentation-core-interop` to do that.
20
20
 
21
21
  - `getClass` is an utility function that makes it easier to get an `EC.Class`, given an `ECSchemaProvider` and a full class name.
22
22
 
23
23
  Example usage:
24
24
 
25
25
  ```ts
26
- import { SchemaContext } from "@itwin/ecschema-metadata";
26
+ import { IModelConnection } from "@itwin/core-frontend";
27
27
  import { createECSchemaProvider } from "@itwin/presentation-core-interop";
28
28
  import { ECSchemaProvider, getClass } from "@itwin/presentation-shared";
29
29
 
30
- const schemas = new SchemaContext();
31
- const schemaProvider: ECSchemaProvider = createECSchemaProvider(schemas);
30
+ const iModelConnection: IModelConnection = ...; // obtain the IModelConnection instance
31
+ const schemaProvider: ECSchemaProvider = createECSchemaProvider(iModelConnection);
32
32
 
33
33
  // get schema and a class from it
34
34
  const ecSchema = await schemaProvider.getSchema("MySchema");
35
- const ecClassFromSchema = await ecSchema.getClass("MyClass");
35
+ const ecClassFromSchema = ecSchema.getClass("MyClass");
36
36
 
37
37
  // ... or use the `getClass` utility to get straight to the class
38
38
  const ecClassFromUtility = await getClass(schemaProvider, "MySchema.MyClass");
39
- ```
40
-
41
- ### `ECClassHierarchyInspector` & `createCachingECClassHierarchyInspector`
42
39
 
43
- - `ECClassHierarchyInspector` is an interface for something that knows how to check whether one `EC.Class` derives from another. While that can be achieved through `ECSchemaProvider` by getting an `EC.Class` and calling its `is` method, using this interface provides a more streamlined and, possibly, more efficient way to do the check. In addition, the `ECClassHierarchyInspector.classDerivesFrom` returns a `Promise<boolean> | boolean`, which lets the implementation return the result synchronously, if it's already known.
40
+ // check whether one class derives from another
41
+ const isGeometricElement = await schemaProvider.classDerivesFrom("MySchema.MyClass", "BisCore.GeometricElement");
42
+ ```
44
43
 
45
- - `createCachingECClassHierarchyInspector` is a factory method that creates `ECClassHierarchyInspector` instance that uses a LRU cache to store the check results. In Presentation library use cases, class inheritance checks are done very frequently to warrant caching these results.
44
+ ### `ECClassHierarchyInspector` & `createCachingECClassHierarchyInspector` (deprecated)
46
45
 
47
- Example usage:
46
+ > **Deprecated:** `ECClassHierarchyInspector` and `createCachingECClassHierarchyInspector` are deprecated. `ECSchemaProvider` now exposes a `classDerivesFrom` method directly, so a separate class hierarchy inspector is no longer needed.
48
47
 
49
- ```ts
50
- import { createCachingECClassHierarchyInspector, ECClassHierarchyInspector } from "@itwin/presentation-shared";
48
+ - `ECClassHierarchyInspector` is an interface for something that knows how to check whether one `EC.Class` derives from another. The same capability is now available directly on `ECSchemaProvider` via its `classDerivesFrom` method. Like the inspector, `ECSchemaProvider.classDerivesFrom` returns a `Promise<boolean> | boolean`, which lets the implementation return the result synchronously when it's already known.
51
49
 
52
- const classHierarchyInspector: ECClassHierarchyInspector = createCachingECClassHierarchyInspector({
53
- // provide `ECSchemaProvider` that will be used to access iModels schemas
54
- schemaProvider: getMetadataProvider(),
55
- // tell how many entries should be cached in LRU cache (0 or `undefined` stand for "no caching")
56
- cacheSize: 100,
57
- });
58
- const isGeometricElement = await classHierarchyInspector.classDerivesFrom(
59
- "MySchema.MyClass",
60
- "BisCore.GeometricElement",
61
- );
62
- ```
50
+ - `createCachingECClassHierarchyInspector` is a factory method that creates an `ECClassHierarchyInspector` instance that uses a LRU cache to store the check results. It is no longer needed - use `ECSchemaProvider.classDerivesFrom` instead.
63
51
 
64
52
  ## ECSql
65
53
 
@@ -343,14 +331,11 @@ This label selectors factory doesn't create labels on its own, but allows assign
343
331
  Example usage:
344
332
 
345
333
  ```ts
346
- import {
347
- createClassBasedInstanceLabelSelectClauseFactory,
348
- ECClassHierarchyInspector,
349
- } from "@itwin/presentation-shared";
334
+ import { createClassBasedInstanceLabelSelectClauseFactory, ECSchemaProvider } from "@itwin/presentation-shared";
350
335
 
351
- const classHierarchyInspector: ECClassHierarchyInspector = getClassHierarchyInspector();
336
+ const imodelAccess: ECSchemaProvider = getSchemaProvider();
352
337
  const labelsFactory = createClassBasedInstanceLabelSelectClauseFactory({
353
- classHierarchyInspector,
338
+ imodelAccess,
354
339
  clauses: [
355
340
  {
356
341
  className: "MySchema.MyClass",
@@ -377,10 +362,10 @@ This label selectors factory creates labels according to [BIS instance label rul
377
362
  Example usage:
378
363
 
379
364
  ```ts
380
- import { createBisInstanceLabelSelectClauseFactory, ECClassHierarchyInspector } from "@itwin/presentation-shared";
365
+ import { createBisInstanceLabelSelectClauseFactory, ECSchemaProvider } from "@itwin/presentation-shared";
381
366
 
382
- const classHierarchyInspector: ECClassHierarchyInspector = getClassHierarchyInspector();
383
- const labelsFactory = createBisInstanceLabelSelectClauseFactory({ classHierarchyInspector });
367
+ const imodelAccess: ECSchemaProvider = getSchemaProvider();
368
+ const labelsFactory = createBisInstanceLabelSelectClauseFactory({ imodelAccess });
384
369
  const ecsql = `SELECT ${await labelsFactory.createSelectClause({ classAlias: "element" })} AS [Label] FROM [BisCore].[Element] AS [element]`;
385
370
  // ...
386
371
  ```
@@ -397,7 +382,7 @@ Example usage:
397
382
  ```ts
398
383
  import { createIModelInstanceLabelSelectClauseFactory } from "@itwin/presentation-shared";
399
384
 
400
- // `imodelAccess` must satisfy `ECSqlQueryExecutor & ECClassHierarchyInspector & ECSchemaProvider`
385
+ // `imodelAccess` must satisfy `ECSqlQueryExecutor & ECSchemaProvider`
401
386
  const labelsFactory = createIModelInstanceLabelSelectClauseFactory({ imodelAccess });
402
387
  const ecsql = `SELECT ${await labelsFactory.createSelectClause({ classAlias: "element" })} AS [Label] FROM [BisCore].[Element] AS [element]`;
403
388
  // ...
@@ -1,6 +1,8 @@
1
1
  export * as ECSql from "./shared/ecsql-snippets/index.js";
2
2
  export { ConcatenatedValue, ConcatenatedValuePart } from "./shared/ConcatenatedValue.js";
3
- export type { ECSqlBinding, ECSqlQueryDef, ECSqlQueryExecutor, ECSqlQueryReaderOptions, ECSqlQueryRow, } from "./shared/ECSqlCore.js";
3
+ export { eachValueFrom } from "./shared/EachValueFrom.js";
4
+ export { ECSqlBinding } from "./shared/ECSqlCore.js";
5
+ export type { ECSqlQueryDef, ECSqlQueryExecutor, ECSqlQueryReaderOptions, ECSqlQueryRow } from "./shared/ECSqlCore.js";
4
6
  export type { IPrimitiveValueFormatter } from "./shared/Formatting.js";
5
7
  export { createDefaultValueFormatter, formatConcatenatedValue } from "./shared/Formatting.js";
6
8
  export type { IInstanceLabelSelectClauseFactory } from "./shared/InstanceLabelSelectClauseFactory.js";
@@ -12,10 +14,10 @@ export { createIModelInstanceLabelSelectClauseFactory } from "./shared/instance-
12
14
  export type { ILogger, LogFunction, LogLevel } from "./shared/Logging.js";
13
15
  export { NOOP_LOGGER } from "./shared/Logging.js";
14
16
  export type { ArrayElement, OmitOverUnion, Props } from "./shared/MappedTypes.js";
15
- export type { ArrayValueDescriptor, EC, ECClassHierarchyInspector, ECSchemaProvider, NavigationValueDescriptor, PrimitiveValueDescriptor, RelationshipPath, StructValueDescriptor, ValueDescriptor, } from "./shared/Metadata.js";
16
- export { createCachingECClassHierarchyInspector, getClass } from "./shared/Metadata.js";
17
- export { createMainThreadReleaseOnTimePassedHandler, julianToDateTime, compareFullClassNames, normalizeFullClassName, parseFullClassName, releaseMainThread, trimWhitespace, } from "./shared/Utils.js";
17
+ export type { ArrayValueDescriptor, EC, ECClassHierarchyInspector, ECSchemaProvider, NavigationValueDescriptor, PrimitiveValueDescriptor, PrimitiveValueType, RelationshipPath, StructValueDescriptor, ValueDescriptor, } from "./shared/Metadata.js";
18
+ export { createCachingECClassHierarchyInspector, getClass, } from "./shared/Metadata.js";
19
+ export { createMainThreadReleaseOnTimePassedHandler, julianToDateTime, normalizeFullClassName, parseFullClassName, releaseMainThread, trimWhitespace, } from "./shared/Utils.js";
18
20
  export { InstanceKey, PrimitiveValue, TypedPrimitiveValue } from "./shared/Values.js";
19
- export type { ArrayValue, StructValue, Value } from "./shared/Values.js";
21
+ export type { ArrayValue, StructValue, Value, Point2dValue, Point3dValue } from "./shared/Values.js";
20
22
  export type { Event, RaisableEvent, EventArgs, EventListener } from "./shared/Event.js";
21
23
  //# sourceMappingURL=presentation-shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presentation-shared.d.ts","sourceRoot":"","sources":["../src/presentation-shared.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,kCAAkC,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACzF,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACvH,YAAY,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAC9F,YAAY,EAAE,iCAAiC,EAAE,MAAM,8CAA8C,CAAC;AACtG,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAE,6CAA6C,EAAE,MAAM,kFAAkF,CAAC;AACjJ,OAAO,EAAE,gDAAgD,EAAE,MAAM,qFAAqF,CAAC;AACvJ,OAAO,EAAE,yCAAyC,EAAE,MAAM,8EAA8E,CAAC;AACzI,OAAO,EAAE,4CAA4C,EAAE,MAAM,iFAAiF,CAAC;AAC/I,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAClF,YAAY,EACV,oBAAoB,EACpB,EAAE,EAEF,yBAAyB,EACzB,gBAAgB,EAChB,yBAAyB,EACzB,wBAAwB,EACxB,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAEL,sCAAsC,EACtC,QAAQ,GACT,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,0CAA0C,EAC1C,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,GACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACtF,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACrG,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC"}
@@ -4,6 +4,8 @@
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
  export * as ECSql from "./shared/ecsql-snippets/index.js";
6
6
  export { ConcatenatedValue, ConcatenatedValuePart } from "./shared/ConcatenatedValue.js";
7
+ export { eachValueFrom } from "./shared/EachValueFrom.js";
8
+ export { ECSqlBinding } from "./shared/ECSqlCore.js";
7
9
  export { createDefaultValueFormatter, formatConcatenatedValue } from "./shared/Formatting.js";
8
10
  export { parseInstanceLabel } from "./shared/InstanceLabelSelectClauseFactory.js";
9
11
  export { createDefaultInstanceLabelSelectClauseFactory } from "./shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.js";
@@ -11,7 +13,9 @@ export { createClassBasedInstanceLabelSelectClauseFactory } from "./shared/insta
11
13
  export { createBisInstanceLabelSelectClauseFactory } from "./shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.js";
12
14
  export { createIModelInstanceLabelSelectClauseFactory } from "./shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.js";
13
15
  export { NOOP_LOGGER } from "./shared/Logging.js";
14
- export { createCachingECClassHierarchyInspector, getClass } from "./shared/Metadata.js";
15
- export { createMainThreadReleaseOnTimePassedHandler, julianToDateTime, compareFullClassNames, normalizeFullClassName, parseFullClassName, releaseMainThread, trimWhitespace, } from "./shared/Utils.js";
16
+ export {
17
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
18
+ createCachingECClassHierarchyInspector, getClass, } from "./shared/Metadata.js";
19
+ export { createMainThreadReleaseOnTimePassedHandler, julianToDateTime, normalizeFullClassName, parseFullClassName, releaseMainThread, trimWhitespace, } from "./shared/Utils.js";
16
20
  export { InstanceKey, PrimitiveValue, TypedPrimitiveValue } from "./shared/Values.js";
17
21
  //# sourceMappingURL=presentation-shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presentation-shared.js","sourceRoot":"","sources":["../src/presentation-shared.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,KAAK,KAAK,MAAM,kCAAkC,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACzF,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGrD,OAAO,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAE9F,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAE,6CAA6C,EAAE,MAAM,kFAAkF,CAAC;AACjJ,OAAO,EAAE,gDAAgD,EAAE,MAAM,qFAAqF,CAAC;AACvJ,OAAO,EAAE,yCAAyC,EAAE,MAAM,8EAA8E,CAAC;AACzI,OAAO,EAAE,4CAA4C,EAAE,MAAM,iFAAiF,CAAC;AAE/I,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAelD,OAAO;AACL,4DAA4D;AAC5D,sCAAsC,EACtC,QAAQ,GACT,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,0CAA0C,EAC1C,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,GACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConcatenatedValue.d.ts","sourceRoot":"","sources":["../../src/shared/ConcatenatedValue.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD;;;;;;;;;GASG;AACH,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,GAAG,mBAAmB,GAAG,MAAM,CAAC;AAErF,cAAc;AAEd,yBAAiB,qBAAqB,CAAC;IACrC,cAAc;IACd,SAAgB,QAAQ,CAAC,IAAI,EAAE,qBAAqB,GAAG,IAAI,IAAI,MAAM,CAEpE;IAED,cAAc;IACd,SAAgB,WAAW,CAAC,IAAI,EAAE,qBAAqB,GAAG,IAAI,IAAI,mBAAmB,CAEpF;IAED,cAAc;IACd,SAAgB,mBAAmB,CAAC,IAAI,EAAE,qBAAqB,GAAG,IAAI,IAAI,iBAAiB,CAE1F;CACF;AAED;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG,qBAAqB,EAAE,CAAC;AAExD,cAAc;AAEd,yBAAiB,iBAAiB,CAAC;IACjC;;;;;OAKG;IACH,SAAsB,SAAS,CAAC,KAAK,EAAE;QACrC,yBAAyB;QACzB,KAAK,EAAE,iBAAiB,CAAC;QACzB,qDAAqD;QACrD,aAAa,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5F,6EAA6E;QAC7E,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,MAAM,CAAC,CAYlB;CACF"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConcatenatedValue.js","sourceRoot":"","sources":["../../src/shared/ConcatenatedValue.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAgBhG,cAAc;AACd,2DAA2D;AAC3D,MAAM,KAAW,qBAAqB,CAerC;AAfD,WAAiB,qBAAqB;IACpC,cAAc;IACd,SAAgB,QAAQ,CAAC,IAA2B;QAClD,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC;IAClC,CAAC;IAFe,sBAAA,QAAQ,WAEvB,CAAA;IAED,cAAc;IACd,SAAgB,WAAW,CAAC,IAA2B;QACrD,OAAO,CAAC,CAAE,IAA4B,CAAC,IAAI,CAAC;IAC9C,CAAC;IAFe,sBAAA,WAAW,cAE1B,CAAA;IAED,cAAc;IACd,SAAgB,mBAAmB,CAAC,IAA2B;QAC7D,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAFe,sBAAA,mBAAmB,sBAElC,CAAA;AACH,CAAC,EAfgB,qBAAqB,KAArB,qBAAqB,QAerC;AAUD,cAAc;AACd,2DAA2D;AAC3D,MAAM,KAAW,iBAAiB,CA2BjC;AA3BD,WAAiB,iBAAiB;IAChC;;;;;OAKG;IACI,KAAK,UAAU,SAAS,CAAC,KAO/B;QACC,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;QAClD,OAAO,CACL,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YACvB,IAAI,qBAAqB,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpD,OAAO,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC;YAC9D,CAAC;YACD,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC,CAAC,CACH,CACF,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IAC1B,CAAC;IAnBqB,kBAAA,SAAS,YAmB9B,CAAA;AACH,CAAC,EA3BgB,iBAAiB,KAAjB,iBAAiB,QA2BjC"}
@@ -1,4 +1,5 @@
1
1
  import type { Id64String } from "@itwin/core-bentley";
2
+ import type { TypedPrimitiveValue } from "./Values.js";
2
3
  /**
3
4
  * Defines an ECSql binding consisting of a value and its type. Necessary to differentiate between numeric
4
5
  * types and `Id64String` vs `string`.
@@ -34,6 +35,14 @@ export type ECSqlBinding = {
34
35
  z: number;
35
36
  };
36
37
  };
38
+ /**
39
+ * Helpers for creating ECSQL bindings.
40
+ * @public
41
+ */
42
+ export declare namespace ECSqlBinding {
43
+ /** Creates an ECSQL binding for the supplied typed primitive value. */
44
+ function create({ value, type }: TypedPrimitiveValue): ECSqlBinding;
45
+ }
37
46
  /**
38
47
  * Defines an ECSQL query and its bindings.
39
48
  * @public
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ECSqlCore.d.ts","sourceRoot":"","sources":["../../src/shared/ECSqlCore.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,UAAU,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,UAAU,EAAE,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GACrD;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC;AAErE;;;GAGG;AAEH,yBAAiB,YAAY,CAAC;IAC5B,uEAAuE;IACvE,SAAgB,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,mBAAmB,GAAG,YAAY,CAqBzE;CACF;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CAC1D;AAED;;;;GAIG;AACH,KAAK,mBAAmB,GAAG,oBAAoB,GAAG,SAAS,CAAC;AAE5D;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,CAAC,YAAY,EAAE,MAAM,GAAG,GAAG,CAAC;IAC5B,CAAC,aAAa,EAAE,MAAM,GAAG,GAAG,CAAC;CAC9B;AAED;;;;GAIG;AACH,KAAK,gBAAgB,GAAG,qBAAqB,CAAC,aAAa,CAAC,CAAC;AAE7D;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,iBAAiB,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,uBAAuB,GAAG,gBAAgB,CAAC;CAC7F"}
@@ -0,0 +1,37 @@
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
+ /**
6
+ * Helpers for creating ECSQL bindings.
7
+ * @public
8
+ */
9
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
10
+ export var ECSqlBinding;
11
+ (function (ECSqlBinding) {
12
+ /** Creates an ECSQL binding for the supplied typed primitive value. */
13
+ function create({ value, type }) {
14
+ switch (type) {
15
+ case "Boolean":
16
+ return { type: "boolean", value };
17
+ case "Integer":
18
+ return { type: "int", value };
19
+ case "Long":
20
+ return { type: "long", value };
21
+ case "Double":
22
+ return { type: "double", value };
23
+ case "Id":
24
+ return { type: "id", value };
25
+ case "String":
26
+ return { type: "string", value };
27
+ case "DateTime":
28
+ return { type: "string", value: value instanceof Date ? value.toISOString() : value.toString() };
29
+ case "Point2d":
30
+ return { type: "point2d", value };
31
+ case "Point3d":
32
+ return { type: "point3d", value };
33
+ }
34
+ }
35
+ ECSqlBinding.create = create;
36
+ })(ECSqlBinding || (ECSqlBinding = {}));
37
+ //# sourceMappingURL=ECSqlCore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ECSqlCore.js","sourceRoot":"","sources":["../../src/shared/ECSqlCore.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAoBhG;;;GAGG;AACH,2DAA2D;AAC3D,MAAM,KAAW,YAAY,CAwB5B;AAxBD,WAAiB,YAAY;IAC3B,uEAAuE;IACvE,SAAgB,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAuB;QACzD,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,SAAS;gBACZ,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;YACpC,KAAK,SAAS;gBACZ,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;YAChC,KAAK,MAAM;gBACT,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YACjC,KAAK,QAAQ;gBACX,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;YACnC,KAAK,IAAI;gBACP,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;YAC/B,KAAK,QAAQ;gBACX,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;YACnC,KAAK,UAAU;gBACb,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,YAAY,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;YACnG,KAAK,SAAS;gBACZ,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;YACpC,KAAK,SAAS;gBACZ,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QACtC,CAAC;IACH,CAAC;IArBe,aAAA,MAAM,SAqBrB,CAAA;AACH,CAAC,EAxBgB,YAAY,KAAZ,YAAY,QAwB5B"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * The subscription operations required by `eachValueFrom`.
3
+ *
4
+ * @public
5
+ */
6
+ export interface Subscribable<T> {
7
+ /**
8
+ * Subscribes to stream notifications.
9
+ */
10
+ subscribe(observer: {
11
+ next: (value: T) => void;
12
+ error: (reason: unknown) => void;
13
+ complete: () => void;
14
+ }): {
15
+ unsubscribe: () => void;
16
+ };
17
+ }
18
+ /**
19
+ * Converts a subscribable stream into an async iterator.
20
+ *
21
+ * This is pretty much a combination of:
22
+ * - https://github.com/benlesh/rxjs-for-await/blob/94f9cf9cb015ac3700dfd1850eb81d36962eb70f/src/index.ts#L33,
23
+ * - https://github.com/ReactiveX/rxjs/blob/2587ee852eb43eeb0883a7787bac2944d823392b/packages/observable/src/observable.ts#L922.
24
+ *
25
+ * Our implementation uses a linked list rather than an array to store values, which is more efficient.
26
+ *
27
+ * @public
28
+ */
29
+ export declare function eachValueFrom<T>(source: Subscribable<T>): AsyncIterableIterator<T>;
30
+ //# sourceMappingURL=EachValueFrom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EachValueFrom.d.ts","sourceRoot":"","sources":["../../src/shared/EachValueFrom.ts"],"names":[],"mappings":"AAMA;;;;GAIG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE;QAAE,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;QAAC,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QAAC,QAAQ,EAAE,MAAM,IAAI,CAAA;KAAE,GAAG;QACzG,WAAW,EAAE,MAAM,IAAI,CAAC;KACzB,CAAC;CACH;AAED;;;;;;;;;;GAUG;AACH,wBAAuB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC,CA0DzF"}
@@ -0,0 +1,115 @@
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
+ // cspell:words deferreds
6
+ /**
7
+ * Converts a subscribable stream into an async iterator.
8
+ *
9
+ * This is pretty much a combination of:
10
+ * - https://github.com/benlesh/rxjs-for-await/blob/94f9cf9cb015ac3700dfd1850eb81d36962eb70f/src/index.ts#L33,
11
+ * - https://github.com/ReactiveX/rxjs/blob/2587ee852eb43eeb0883a7787bac2944d823392b/packages/observable/src/observable.ts#L922.
12
+ *
13
+ * Our implementation uses a linked list rather than an array to store values, which is more efficient.
14
+ *
15
+ * @public
16
+ */
17
+ export async function* eachValueFrom(source) {
18
+ const deferreds = new Queue();
19
+ const values = new Queue();
20
+ let error;
21
+ let completed = false;
22
+ const subs = source.subscribe({
23
+ next: (value) => {
24
+ const deferred = deferreds.pop();
25
+ if (deferred) {
26
+ deferred.resolve({ value, done: false });
27
+ }
28
+ else {
29
+ values.push(value);
30
+ }
31
+ },
32
+ error: (err) => {
33
+ error = err;
34
+ for (let deferred = deferreds.pop(); deferred !== undefined; deferred = deferreds.pop()) {
35
+ deferred.reject(err);
36
+ }
37
+ },
38
+ complete: () => {
39
+ completed = true;
40
+ for (let deferred = deferreds.pop(); deferred !== undefined; deferred = deferreds.pop()) {
41
+ deferred.resolve({ value: undefined, done: true });
42
+ }
43
+ },
44
+ });
45
+ try {
46
+ while (true) {
47
+ if (!values.isEmpty) {
48
+ // The queue is non-empty, so this is an actual buffered value — possibly a legitimately
49
+ // emitted `undefined`, which is why emptiness is checked explicitly rather than by
50
+ // comparing the popped value to `undefined`.
51
+ yield values.pop();
52
+ continue;
53
+ }
54
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
55
+ if (completed) {
56
+ return;
57
+ }
58
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
59
+ if (error) {
60
+ // eslint-disable-next-line @typescript-eslint/only-throw-error
61
+ throw error;
62
+ }
63
+ const result = await new Promise((resolve, reject) => {
64
+ deferreds.push({ resolve, reject });
65
+ });
66
+ if (result.done) {
67
+ return;
68
+ }
69
+ yield result.value;
70
+ }
71
+ }
72
+ catch (err) {
73
+ throw err;
74
+ }
75
+ finally {
76
+ subs.unsubscribe();
77
+ }
78
+ }
79
+ class QueueEntry {
80
+ value;
81
+ next;
82
+ constructor(value, next) {
83
+ this.value = value;
84
+ this.next = next;
85
+ }
86
+ }
87
+ class Queue {
88
+ _front;
89
+ _back;
90
+ get isEmpty() {
91
+ return this._front === undefined;
92
+ }
93
+ push(item) {
94
+ const entry = new QueueEntry(item);
95
+ if (this._back) {
96
+ this._back.next = entry;
97
+ }
98
+ this._back = entry;
99
+ if (!this._front) {
100
+ this._front = entry;
101
+ }
102
+ }
103
+ pop() {
104
+ if (!this._front) {
105
+ return undefined;
106
+ }
107
+ const value = this._front.value;
108
+ this._front = this._front.next;
109
+ if (!this._front) {
110
+ this._back = undefined;
111
+ }
112
+ return value;
113
+ }
114
+ }
115
+ //# sourceMappingURL=EachValueFrom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EachValueFrom.js","sourceRoot":"","sources":["../../src/shared/EachValueFrom.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Event.d.ts","sourceRoot":"","sources":["../../src/shared/Event.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;;GAGG;AACH,MAAM,WAAW,KAAK,CAAC,SAAS,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,MAAM,IAAI;IAC5E,WAAW,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,MAAM,IAAI,CAAC;IACjD,cAAc,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,IAAI,CAAC;CAC/C;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa,CAAC,SAAS,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,MAAM,IAAI,CAAE,SAAQ,KAAK,CAAC,SAAS,CAAC;IAC9G,UAAU,EAAE,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;CACtD;AAED;;;GAGG;AACH,MAAM,MAAM,aAAa,CAAC,MAAM,SAAS,EAAE,IAAI,MAAM,SAAS,KAAK,CAAC,MAAM,SAAS,CAAC,GAAG,SAAS,GAAG,KAAK,CAAC;AAEzG;;;GAGG;AACH,MAAM,MAAM,SAAS,CAAC,MAAM,SAAS,EAAE,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Event.js","sourceRoot":"","sources":["../../../src/shared/Event.ts"],"names":[],"mappings":"AAAA;;;gGAGgG"}
1
+ {"version":3,"file":"Event.js","sourceRoot":"","sources":["../../src/shared/Event.ts"],"names":[],"mappings":"AAAA;;;gGAGgG"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Formatting.d.ts","sourceRoot":"","sources":["../../src/shared/Formatting.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,iBAAiB,EAAyB,MAAM,wBAAwB,CAAC;AAGlF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD;;;;GAIG;AACH,MAAM,MAAM,wBAAwB,GAAG,CAAC,KAAK,EAAE,mBAAmB,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAEvF;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAAC,KAAK,EAAE;IACnD,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAAC;IAClC,cAAc,EAAE,wBAAwB,CAAC;CAC1C,GAAG,OAAO,CAAC,MAAM,CAAC,CAgBlB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,2BAA2B,IAAI,wBAAwB,CAkBtE"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Formatting.js","sourceRoot":"","sources":["../../src/shared/Formatting.ts"],"names":[],"mappings":"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"}
@@ -26,7 +26,7 @@ export interface CreateInstanceLabelSelectClauseProps {
26
26
  * implementations may be able to create a more efficient select clause (e.g. drop some pieces of clause
27
27
  * that don't apply for given class).
28
28
  */
29
- className?: EC.FullClassName;
29
+ className?: EC.FullClassNameDotNotation;
30
30
  /**
31
31
  * An optional function for concatenating multiple `TypedValueSelectClauseProps`. Selectors' concatenation
32
32
  * is used when a label consists of multiple pieces, e.g.:
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InstanceLabelSelectClauseFactory.d.ts","sourceRoot":"","sources":["../../src/shared/InstanceLabelSelectClauseFactory.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAClG,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAExC;;;GAGG;AACH,MAAM,WAAW,oCAAoC;IACnD;;;;;;;;;;OAUG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,EAAE,CAAC,wBAAwB,CAAC;IAExC;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,qBAAqB,CAAC,EAAE,CAAC,SAAS,EAAE,2BAA2B,EAAE,EAAE,aAAa,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;CACtG;AAED;;;;;;GAMG;AACH,MAAM,WAAW,iCAAiC;IAChD,qDAAqD;IACrD,kBAAkB,CAAC,KAAK,EAAE,oCAAoC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAClF;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,iBAAiB,GAAG,MAAM,CAaxF"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InstanceLabelSelectClauseFactory.js","sourceRoot":"","sources":["../../src/shared/InstanceLabelSelectClauseFactory.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAuEhG;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAyB;IAC1D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QACrG,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,eAAe;QACjB,CAAC;IACH,CAAC;IACD,0BAA0B;IAC1B,OAAO,KAAK,CAAC;AACf,CAAC"}