@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.
- package/CHANGELOG.md +175 -0
- package/README.md +19 -34
- package/lib/{esm/presentation-shared.d.ts → presentation-shared.d.ts} +7 -5
- package/lib/presentation-shared.d.ts.map +1 -0
- package/lib/{esm/presentation-shared.js → presentation-shared.js} +6 -2
- package/lib/presentation-shared.js.map +1 -0
- package/lib/shared/ConcatenatedValue.d.ts.map +1 -0
- package/lib/shared/ConcatenatedValue.js.map +1 -0
- package/lib/{cjs/shared → shared}/ECSqlCore.d.ts +9 -0
- package/lib/shared/ECSqlCore.d.ts.map +1 -0
- package/lib/shared/ECSqlCore.js +37 -0
- package/lib/shared/ECSqlCore.js.map +1 -0
- package/lib/shared/EachValueFrom.d.ts +30 -0
- package/lib/shared/EachValueFrom.d.ts.map +1 -0
- package/lib/shared/EachValueFrom.js +115 -0
- package/lib/shared/EachValueFrom.js.map +1 -0
- package/lib/shared/Event.d.ts.map +1 -0
- package/lib/{esm/shared → shared}/Event.js.map +1 -1
- package/lib/shared/Formatting.d.ts.map +1 -0
- package/lib/shared/Formatting.js.map +1 -0
- package/lib/{esm/shared → shared}/InstanceLabelSelectClauseFactory.d.ts +1 -1
- package/lib/shared/InstanceLabelSelectClauseFactory.d.ts.map +1 -0
- package/lib/shared/InstanceLabelSelectClauseFactory.js.map +1 -0
- package/lib/shared/Logging.d.ts.map +1 -0
- package/lib/shared/Logging.js.map +1 -0
- package/lib/shared/MappedTypes.d.ts +48 -0
- package/lib/shared/MappedTypes.d.ts.map +1 -0
- package/lib/shared/MappedTypes.js.map +1 -0
- package/lib/{cjs/shared → shared}/Metadata.d.ts +53 -44
- package/lib/shared/Metadata.d.ts.map +1 -0
- package/lib/{esm/shared → shared}/Metadata.js +7 -6
- package/lib/shared/Metadata.js.map +1 -0
- package/lib/{cjs/shared → shared}/Utils.d.ts +0 -6
- package/lib/shared/Utils.d.ts.map +1 -0
- package/lib/{esm/shared → shared}/Utils.js +0 -15
- package/lib/shared/Utils.js.map +1 -0
- package/lib/{esm/shared → shared}/Values.d.ts +23 -13
- package/lib/shared/Values.d.ts.map +1 -0
- package/lib/shared/Values.js +121 -0
- package/lib/shared/Values.js.map +1 -0
- package/lib/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts +174 -0
- package/lib/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts.map +1 -0
- package/lib/shared/ecsql-snippets/ECSqlJoinSnippets.js +177 -0
- package/lib/shared/ecsql-snippets/ECSqlJoinSnippets.js.map +1 -0
- package/lib/{cjs/shared → shared}/ecsql-snippets/ECSqlValueSelectorSnippets.d.ts +3 -3
- package/lib/shared/ecsql-snippets/ECSqlValueSelectorSnippets.d.ts.map +1 -0
- package/lib/{esm/shared → shared}/ecsql-snippets/ECSqlValueSelectorSnippets.js +3 -3
- package/lib/shared/ecsql-snippets/ECSqlValueSelectorSnippets.js.map +1 -0
- package/lib/{cjs/shared → shared}/ecsql-snippets/index.d.ts +1 -1
- package/lib/shared/ecsql-snippets/index.d.ts.map +1 -0
- package/lib/{esm/shared → shared}/ecsql-snippets/index.js +1 -1
- package/lib/shared/ecsql-snippets/index.js.map +1 -0
- package/lib/{esm/shared → shared}/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.d.ts +2 -2
- package/lib/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.d.ts.map +1 -0
- package/lib/{esm/shared → shared}/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.js +1 -4
- package/lib/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.js.map +1 -0
- package/lib/{cjs/shared → shared}/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.d.ts +3 -3
- package/lib/shared/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.d.ts.map +1 -0
- package/lib/{esm/shared → shared}/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.js +3 -3
- package/lib/shared/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.js.map +1 -0
- package/lib/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.d.ts.map +1 -0
- package/lib/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.js.map +1 -0
- package/lib/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.d.ts.map +1 -0
- package/lib/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.js.map +1 -0
- package/lib/{cjs/shared → shared}/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.d.ts +2 -2
- package/lib/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.d.ts.map +1 -0
- package/lib/{esm/shared → shared}/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.js +4 -5
- package/lib/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.js.map +1 -0
- package/lib/shared/instance-label-factory-impls/Utils.d.ts.map +1 -0
- package/lib/shared/instance-label-factory-impls/Utils.js.map +1 -0
- package/package.json +16 -17
- package/lib/cjs/package.json +0 -1
- package/lib/cjs/presentation-shared.d.ts +0 -21
- package/lib/cjs/presentation-shared.d.ts.map +0 -1
- package/lib/cjs/presentation-shared.js +0 -75
- package/lib/cjs/presentation-shared.js.map +0 -1
- package/lib/cjs/shared/ConcatenatedValue.d.ts.map +0 -1
- package/lib/cjs/shared/ConcatenatedValue.js +0 -49
- package/lib/cjs/shared/ConcatenatedValue.js.map +0 -1
- package/lib/cjs/shared/ECSqlCore.d.ts.map +0 -1
- package/lib/cjs/shared/ECSqlCore.js +0 -7
- package/lib/cjs/shared/ECSqlCore.js.map +0 -1
- package/lib/cjs/shared/Event.d.ts.map +0 -1
- package/lib/cjs/shared/Event.js +0 -7
- package/lib/cjs/shared/Event.js.map +0 -1
- package/lib/cjs/shared/Formatting.d.ts.map +0 -1
- package/lib/cjs/shared/Formatting.js +0 -118
- package/lib/cjs/shared/Formatting.js.map +0 -1
- package/lib/cjs/shared/InstanceLabelSelectClauseFactory.d.ts +0 -73
- package/lib/cjs/shared/InstanceLabelSelectClauseFactory.d.ts.map +0 -1
- package/lib/cjs/shared/InstanceLabelSelectClauseFactory.js +0 -30
- package/lib/cjs/shared/InstanceLabelSelectClauseFactory.js.map +0 -1
- package/lib/cjs/shared/Logging.d.ts.map +0 -1
- package/lib/cjs/shared/Logging.js +0 -21
- package/lib/cjs/shared/Logging.js.map +0 -1
- package/lib/cjs/shared/MappedTypes.d.ts +0 -17
- package/lib/cjs/shared/MappedTypes.d.ts.map +0 -1
- package/lib/cjs/shared/MappedTypes.js +0 -7
- package/lib/cjs/shared/MappedTypes.js.map +0 -1
- package/lib/cjs/shared/Metadata.d.ts.map +0 -1
- package/lib/cjs/shared/Metadata.js +0 -56
- package/lib/cjs/shared/Metadata.js.map +0 -1
- package/lib/cjs/shared/Utils.d.ts.map +0 -1
- package/lib/cjs/shared/Utils.js +0 -123
- package/lib/cjs/shared/Utils.js.map +0 -1
- package/lib/cjs/shared/Values.d.ts +0 -121
- package/lib/cjs/shared/Values.d.ts.map +0 -1
- package/lib/cjs/shared/Values.js +0 -118
- package/lib/cjs/shared/Values.js.map +0 -1
- package/lib/cjs/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts +0 -66
- package/lib/cjs/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts.map +0 -1
- package/lib/cjs/shared/ecsql-snippets/ECSqlJoinSnippets.js +0 -171
- package/lib/cjs/shared/ecsql-snippets/ECSqlJoinSnippets.js.map +0 -1
- package/lib/cjs/shared/ecsql-snippets/ECSqlValueSelectorSnippets.d.ts.map +0 -1
- package/lib/cjs/shared/ecsql-snippets/ECSqlValueSelectorSnippets.js +0 -275
- package/lib/cjs/shared/ecsql-snippets/ECSqlValueSelectorSnippets.js.map +0 -1
- package/lib/cjs/shared/ecsql-snippets/index.d.ts.map +0 -1
- package/lib/cjs/shared/ecsql-snippets/index.js +0 -19
- package/lib/cjs/shared/ecsql-snippets/index.js.map +0 -1
- package/lib/cjs/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.d.ts +0 -17
- package/lib/cjs/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.d.ts.map +0 -1
- package/lib/cjs/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.js +0 -54
- package/lib/cjs/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.js.map +0 -1
- package/lib/cjs/shared/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.d.ts.map +0 -1
- package/lib/cjs/shared/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.js +0 -63
- package/lib/cjs/shared/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.js.map +0 -1
- package/lib/cjs/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.d.ts.map +0 -1
- package/lib/cjs/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.js +0 -40
- package/lib/cjs/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.js.map +0 -1
- package/lib/cjs/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.d.ts.map +0 -1
- package/lib/cjs/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.js +0 -10
- package/lib/cjs/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.js.map +0 -1
- package/lib/cjs/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.d.ts.map +0 -1
- package/lib/cjs/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.js +0 -336
- package/lib/cjs/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.js.map +0 -1
- package/lib/cjs/shared/instance-label-factory-impls/Utils.d.ts.map +0 -1
- package/lib/cjs/shared/instance-label-factory-impls/Utils.js +0 -26
- package/lib/cjs/shared/instance-label-factory-impls/Utils.js.map +0 -1
- package/lib/esm/presentation-shared.d.ts.map +0 -1
- package/lib/esm/presentation-shared.js.map +0 -1
- package/lib/esm/shared/ConcatenatedValue.d.ts +0 -46
- package/lib/esm/shared/ConcatenatedValue.d.ts.map +0 -1
- package/lib/esm/shared/ConcatenatedValue.js.map +0 -1
- package/lib/esm/shared/ECSqlCore.d.ts +0 -99
- package/lib/esm/shared/ECSqlCore.d.ts.map +0 -1
- package/lib/esm/shared/ECSqlCore.js +0 -6
- package/lib/esm/shared/ECSqlCore.js.map +0 -1
- package/lib/esm/shared/Event.d.ts +0 -27
- package/lib/esm/shared/Event.d.ts.map +0 -1
- package/lib/esm/shared/Formatting.d.ts +0 -44
- package/lib/esm/shared/Formatting.d.ts.map +0 -1
- package/lib/esm/shared/Formatting.js.map +0 -1
- package/lib/esm/shared/InstanceLabelSelectClauseFactory.d.ts.map +0 -1
- package/lib/esm/shared/InstanceLabelSelectClauseFactory.js.map +0 -1
- package/lib/esm/shared/Logging.d.ts +0 -27
- package/lib/esm/shared/Logging.d.ts.map +0 -1
- package/lib/esm/shared/Logging.js.map +0 -1
- package/lib/esm/shared/MappedTypes.d.ts +0 -17
- package/lib/esm/shared/MappedTypes.d.ts.map +0 -1
- package/lib/esm/shared/MappedTypes.js.map +0 -1
- package/lib/esm/shared/Metadata.d.ts +0 -505
- package/lib/esm/shared/Metadata.d.ts.map +0 -1
- package/lib/esm/shared/Metadata.js.map +0 -1
- package/lib/esm/shared/Utils.d.ts +0 -66
- package/lib/esm/shared/Utils.d.ts.map +0 -1
- package/lib/esm/shared/Utils.js.map +0 -1
- package/lib/esm/shared/Values.d.ts.map +0 -1
- package/lib/esm/shared/Values.js +0 -115
- package/lib/esm/shared/Values.js.map +0 -1
- package/lib/esm/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts +0 -66
- package/lib/esm/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts.map +0 -1
- package/lib/esm/shared/ecsql-snippets/ECSqlJoinSnippets.js +0 -168
- package/lib/esm/shared/ecsql-snippets/ECSqlJoinSnippets.js.map +0 -1
- package/lib/esm/shared/ecsql-snippets/ECSqlValueSelectorSnippets.d.ts +0 -130
- package/lib/esm/shared/ecsql-snippets/ECSqlValueSelectorSnippets.d.ts.map +0 -1
- package/lib/esm/shared/ecsql-snippets/ECSqlValueSelectorSnippets.js.map +0 -1
- package/lib/esm/shared/ecsql-snippets/index.d.ts +0 -3
- package/lib/esm/shared/ecsql-snippets/index.d.ts.map +0 -1
- package/lib/esm/shared/ecsql-snippets/index.js.map +0 -1
- package/lib/esm/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.d.ts.map +0 -1
- package/lib/esm/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.js.map +0 -1
- package/lib/esm/shared/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.d.ts +0 -39
- package/lib/esm/shared/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.d.ts.map +0 -1
- package/lib/esm/shared/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.js.map +0 -1
- package/lib/esm/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.d.ts +0 -12
- package/lib/esm/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.d.ts.map +0 -1
- package/lib/esm/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.js.map +0 -1
- package/lib/esm/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.d.ts +0 -198
- package/lib/esm/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.d.ts.map +0 -1
- package/lib/esm/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.js.map +0 -1
- package/lib/esm/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.d.ts +0 -34
- package/lib/esm/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.d.ts.map +0 -1
- package/lib/esm/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.js.map +0 -1
- package/lib/esm/shared/instance-label-factory-impls/Utils.d.ts +0 -7
- package/lib/esm/shared/instance-label-factory-impls/Utils.d.ts.map +0 -1
- package/lib/esm/shared/instance-label-factory-impls/Utils.js.map +0 -1
- /package/lib/{cjs/shared → shared}/ConcatenatedValue.d.ts +0 -0
- /package/lib/{esm/shared → shared}/ConcatenatedValue.js +0 -0
- /package/lib/{cjs/shared → shared}/Event.d.ts +0 -0
- /package/lib/{esm/shared → shared}/Event.js +0 -0
- /package/lib/{cjs/shared → shared}/Formatting.d.ts +0 -0
- /package/lib/{esm/shared → shared}/Formatting.js +0 -0
- /package/lib/{esm/shared → shared}/InstanceLabelSelectClauseFactory.js +0 -0
- /package/lib/{cjs/shared → shared}/Logging.d.ts +0 -0
- /package/lib/{esm/shared → shared}/Logging.js +0 -0
- /package/lib/{esm/shared → shared}/MappedTypes.js +0 -0
- /package/lib/{cjs/shared → shared}/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.d.ts +0 -0
- /package/lib/{esm/shared → shared}/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.js +0 -0
- /package/lib/{cjs/shared → shared}/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.d.ts +0 -0
- /package/lib/{esm/shared → shared}/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.js +0 -0
- /package/lib/{cjs/shared → shared}/instance-label-factory-impls/Utils.d.ts +0 -0
- /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 {
|
|
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
|
|
31
|
-
const schemaProvider: ECSchemaProvider = createECSchemaProvider(
|
|
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 =
|
|
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
|
-
|
|
40
|
+
// check whether one class derives from another
|
|
41
|
+
const isGeometricElement = await schemaProvider.classDerivesFrom("MySchema.MyClass", "BisCore.GeometricElement");
|
|
42
|
+
```
|
|
44
43
|
|
|
45
|
-
|
|
44
|
+
### `ECClassHierarchyInspector` & `createCachingECClassHierarchyInspector` (deprecated)
|
|
46
45
|
|
|
47
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
336
|
+
const imodelAccess: ECSchemaProvider = getSchemaProvider();
|
|
352
337
|
const labelsFactory = createClassBasedInstanceLabelSelectClauseFactory({
|
|
353
|
-
|
|
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,
|
|
365
|
+
import { createBisInstanceLabelSelectClauseFactory, ECSchemaProvider } from "@itwin/presentation-shared";
|
|
381
366
|
|
|
382
|
-
const
|
|
383
|
-
const labelsFactory = createBisInstanceLabelSelectClauseFactory({
|
|
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 &
|
|
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
|
|
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,
|
|
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 {
|
|
15
|
-
|
|
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":["
|
|
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":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAW9C;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,KAG7C;IACC,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,cAAc,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,iBAAiB,CAAC,SAAS,CAAC;QACjC,KAAK,EAAE,KAAK;QACZ,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YAC5B,yCAAyC;YACzC,IAAI,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzC,IAAI,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YACzC,CAAC;YACD,sFAAsF;YACtF,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,2BAA2B;IACzC,MAAM,UAAU,GAAG,CAAC,sBAAsB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,qBAAqB,CAAC,CAAC;IACjH,OAAO,KAAK,WAAW,KAA0B;QAC/C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;YAChC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;gBACb,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QAED,MAAM,CACJ,OAAO,KAAK,CAAC,KAAK,KAAK,WAAW;YAChC,OAAO,KAAK,CAAC,KAAK,KAAK,SAAS;YAChC,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;YAC/B,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAClC,CAAC;QACF,OAAO,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,KAA0B;IACxD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;IACzC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,sBAAsB,CAAC,KAA0B;IACxD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACtD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,cAAc,EAAE,CAAC;IAClD,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,EAAE,EAAE,qBAAqB,EAAE,CAAC,EAAE,qBAAqB,EAAE,CAAC,EAAE,CAAC,CAAC;IACvG,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,oBAAoB,CAAC,KAA0B;IACtD,SAAS,OAAO,CAAC,YAAoC;QACnD,OAAO,OAAO,YAAY,KAAK,QAAQ;YACrC,CAAC,CAAC,gBAAgB,CAAC,YAAY,CAAC;YAChC,CAAC,CAAC,OAAO,YAAY,KAAK,QAAQ;gBAChC,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;gBACxB,CAAC,CAAC,YAAY,CAAC;IACrB,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC9B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,KAAK,CAAC,YAAY,KAAK,WAAW,EAAE,CAAC;QACvC,OAAO,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,kBAAkB,EAAE,CAAC;IACnD,CAAC;IACD,OAAO,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,cAAc,EAAE,CAAC;AAC/C,CAAC;AAED,SAAS,qBAAqB,CAAC,KAA0B;IACvD,SAAS,eAAe,CAAC,CAAS;QAChC,OAAO,sBAAsB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAE,CAAC;IAC/D,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,IAAI,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;IACrH,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,IAAI,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;IAClF,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -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.
|
|
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"}
|