@itwin/presentation-shared 2.0.0-alpha.1 → 2.0.0-alpha.11
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 +296 -1
- package/README.md +27 -9
- package/lib/cjs/presentation-shared.d.ts +18 -10
- package/lib/cjs/presentation-shared.d.ts.map +1 -1
- package/lib/cjs/presentation-shared.js +11 -6
- package/lib/cjs/presentation-shared.js.map +1 -1
- package/lib/cjs/shared/ConcatenatedValue.d.ts +1 -1
- package/lib/cjs/shared/ConcatenatedValue.d.ts.map +1 -1
- package/lib/cjs/shared/ECSqlCore.d.ts +7 -2
- package/lib/cjs/shared/ECSqlCore.d.ts.map +1 -1
- package/lib/cjs/shared/Event.d.ts +20 -2
- package/lib/cjs/shared/Event.d.ts.map +1 -1
- package/lib/cjs/shared/Formatting.d.ts +1 -1
- package/lib/cjs/shared/Formatting.d.ts.map +1 -1
- package/lib/cjs/shared/Formatting.js +10 -6
- package/lib/cjs/shared/Formatting.js.map +1 -1
- package/lib/cjs/shared/InstanceLabelSelectClauseFactory.d.ts +5 -65
- package/lib/cjs/shared/InstanceLabelSelectClauseFactory.d.ts.map +1 -1
- package/lib/cjs/shared/InstanceLabelSelectClauseFactory.js +0 -136
- package/lib/cjs/shared/InstanceLabelSelectClauseFactory.js.map +1 -1
- package/lib/cjs/shared/Logging.js +2 -1
- package/lib/cjs/shared/Logging.js.map +1 -1
- package/lib/cjs/shared/MappedTypes.d.ts +3 -13
- package/lib/cjs/shared/MappedTypes.d.ts.map +1 -1
- package/lib/cjs/shared/Metadata.d.ts +225 -11
- package/lib/cjs/shared/Metadata.d.ts.map +1 -1
- package/lib/cjs/shared/Metadata.js +4 -1
- package/lib/cjs/shared/Metadata.js.map +1 -1
- package/lib/cjs/shared/Utils.d.ts +12 -1
- package/lib/cjs/shared/Utils.d.ts.map +1 -1
- package/lib/cjs/shared/Utils.js +37 -11
- package/lib/cjs/shared/Utils.js.map +1 -1
- package/lib/cjs/shared/Values.d.ts +27 -13
- package/lib/cjs/shared/Values.d.ts.map +1 -1
- package/lib/cjs/shared/Values.js +13 -51
- package/lib/cjs/shared/Values.js.map +1 -1
- package/lib/cjs/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts +20 -5
- package/lib/cjs/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts.map +1 -1
- package/lib/cjs/shared/ecsql-snippets/ECSqlJoinSnippets.js +56 -25
- package/lib/cjs/shared/ecsql-snippets/ECSqlJoinSnippets.js.map +1 -1
- package/lib/cjs/shared/ecsql-snippets/ECSqlValueSelectorSnippets.d.ts +12 -3
- package/lib/cjs/shared/ecsql-snippets/ECSqlValueSelectorSnippets.d.ts.map +1 -1
- package/lib/cjs/shared/ecsql-snippets/ECSqlValueSelectorSnippets.js +21 -6
- package/lib/cjs/shared/ecsql-snippets/ECSqlValueSelectorSnippets.js.map +1 -1
- package/lib/cjs/shared/ecsql-snippets/index.d.ts +1 -1
- package/lib/cjs/shared/ecsql-snippets/index.d.ts.map +1 -1
- package/lib/cjs/shared/ecsql-snippets/index.js +2 -1
- package/lib/cjs/shared/ecsql-snippets/index.js.map +1 -1
- package/lib/cjs/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.d.ts +17 -0
- package/lib/cjs/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.d.ts.map +1 -0
- package/lib/cjs/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.js +54 -0
- package/lib/cjs/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.js.map +1 -0
- package/lib/cjs/shared/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.d.ts +39 -0
- package/lib/cjs/shared/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.d.ts.map +1 -0
- package/lib/cjs/shared/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.js +63 -0
- package/lib/cjs/shared/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.js.map +1 -0
- package/lib/cjs/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.d.ts +12 -0
- package/lib/cjs/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.d.ts.map +1 -0
- package/lib/cjs/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.js +40 -0
- package/lib/cjs/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.js.map +1 -0
- package/lib/cjs/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.d.ts +198 -0
- package/lib/cjs/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.d.ts.map +1 -0
- package/lib/cjs/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.js +10 -0
- package/lib/cjs/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.js.map +1 -0
- package/lib/cjs/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.d.ts +34 -0
- package/lib/cjs/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.d.ts.map +1 -0
- package/lib/cjs/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.js +336 -0
- package/lib/cjs/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.js.map +1 -0
- package/lib/cjs/shared/instance-label-factory-impls/Utils.d.ts +7 -0
- package/lib/cjs/shared/instance-label-factory-impls/Utils.d.ts.map +1 -0
- package/lib/cjs/shared/instance-label-factory-impls/Utils.js +26 -0
- package/lib/cjs/shared/instance-label-factory-impls/Utils.js.map +1 -0
- package/lib/esm/presentation-shared.d.ts +18 -10
- package/lib/esm/presentation-shared.d.ts.map +1 -1
- package/lib/esm/presentation-shared.js +7 -4
- package/lib/esm/presentation-shared.js.map +1 -1
- package/lib/esm/shared/ConcatenatedValue.d.ts +1 -1
- package/lib/esm/shared/ConcatenatedValue.d.ts.map +1 -1
- package/lib/esm/shared/ECSqlCore.d.ts +7 -2
- package/lib/esm/shared/ECSqlCore.d.ts.map +1 -1
- package/lib/esm/shared/Event.d.ts +20 -2
- package/lib/esm/shared/Event.d.ts.map +1 -1
- package/lib/esm/shared/Formatting.d.ts +1 -1
- package/lib/esm/shared/Formatting.d.ts.map +1 -1
- package/lib/esm/shared/Formatting.js +10 -6
- package/lib/esm/shared/Formatting.js.map +1 -1
- package/lib/esm/shared/InstanceLabelSelectClauseFactory.d.ts +5 -65
- package/lib/esm/shared/InstanceLabelSelectClauseFactory.d.ts.map +1 -1
- package/lib/esm/shared/InstanceLabelSelectClauseFactory.js +0 -133
- package/lib/esm/shared/InstanceLabelSelectClauseFactory.js.map +1 -1
- package/lib/esm/shared/Logging.js +2 -1
- package/lib/esm/shared/Logging.js.map +1 -1
- package/lib/esm/shared/MappedTypes.d.ts +3 -13
- package/lib/esm/shared/MappedTypes.d.ts.map +1 -1
- package/lib/esm/shared/Metadata.d.ts +225 -11
- package/lib/esm/shared/Metadata.d.ts.map +1 -1
- package/lib/esm/shared/Metadata.js +4 -1
- package/lib/esm/shared/Metadata.js.map +1 -1
- package/lib/esm/shared/Utils.d.ts +12 -1
- package/lib/esm/shared/Utils.d.ts.map +1 -1
- package/lib/esm/shared/Utils.js +36 -11
- package/lib/esm/shared/Utils.js.map +1 -1
- package/lib/esm/shared/Values.d.ts +27 -13
- package/lib/esm/shared/Values.d.ts.map +1 -1
- package/lib/esm/shared/Values.js +13 -51
- package/lib/esm/shared/Values.js.map +1 -1
- package/lib/esm/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts +20 -5
- package/lib/esm/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts.map +1 -1
- package/lib/esm/shared/ecsql-snippets/ECSqlJoinSnippets.js +56 -25
- package/lib/esm/shared/ecsql-snippets/ECSqlJoinSnippets.js.map +1 -1
- package/lib/esm/shared/ecsql-snippets/ECSqlValueSelectorSnippets.d.ts +12 -3
- package/lib/esm/shared/ecsql-snippets/ECSqlValueSelectorSnippets.d.ts.map +1 -1
- package/lib/esm/shared/ecsql-snippets/ECSqlValueSelectorSnippets.js +20 -6
- package/lib/esm/shared/ecsql-snippets/ECSqlValueSelectorSnippets.js.map +1 -1
- package/lib/esm/shared/ecsql-snippets/index.d.ts +1 -1
- package/lib/esm/shared/ecsql-snippets/index.d.ts.map +1 -1
- package/lib/esm/shared/ecsql-snippets/index.js +1 -1
- package/lib/esm/shared/ecsql-snippets/index.js.map +1 -1
- package/lib/esm/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.d.ts +17 -0
- package/lib/esm/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.d.ts.map +1 -0
- package/lib/esm/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.js +51 -0
- package/lib/esm/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.js.map +1 -0
- package/lib/esm/shared/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.d.ts +39 -0
- package/lib/esm/shared/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.d.ts.map +1 -0
- package/lib/esm/shared/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.js +60 -0
- package/lib/esm/shared/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.js.map +1 -0
- package/lib/esm/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.d.ts +12 -0
- package/lib/esm/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.d.ts.map +1 -0
- package/lib/esm/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.js +37 -0
- package/lib/esm/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.js.map +1 -0
- package/lib/esm/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.d.ts +198 -0
- package/lib/esm/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.d.ts.map +1 -0
- package/lib/esm/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.js +9 -0
- package/lib/esm/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.js.map +1 -0
- package/lib/esm/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.d.ts +34 -0
- package/lib/esm/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.d.ts.map +1 -0
- package/lib/esm/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.js +333 -0
- package/lib/esm/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.js.map +1 -0
- package/lib/esm/shared/instance-label-factory-impls/Utils.d.ts +7 -0
- package/lib/esm/shared/instance-label-factory-impls/Utils.d.ts.map +1 -0
- package/lib/esm/shared/instance-label-factory-impls/Utils.js +21 -0
- package/lib/esm/shared/instance-label-factory-impls/Utils.js.map +1 -0
- package/package.json +16 -24
package/lib/cjs/shared/Values.js
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.TypedPrimitiveValue = exports.PrimitiveValue = exports.InstanceKey = void 0;
|
|
8
8
|
const core_bentley_1 = require("@itwin/core-bentley");
|
|
9
|
+
const Utils_js_1 = require("./Utils.js");
|
|
9
10
|
/** @public */
|
|
10
11
|
var InstanceKey;
|
|
11
12
|
(function (InstanceKey) {
|
|
@@ -14,7 +15,7 @@ var InstanceKey;
|
|
|
14
15
|
* @public
|
|
15
16
|
*/
|
|
16
17
|
function equals(lhs, rhs) {
|
|
17
|
-
return lhs
|
|
18
|
+
return compare(lhs, rhs) === 0;
|
|
18
19
|
}
|
|
19
20
|
InstanceKey.equals = equals;
|
|
20
21
|
/**
|
|
@@ -25,7 +26,7 @@ var InstanceKey;
|
|
|
25
26
|
*- `positive value` if lhs key is more than rhs key
|
|
26
27
|
*/
|
|
27
28
|
function compare(lhs, rhs) {
|
|
28
|
-
const classNameCompareResult = (0, core_bentley_1.compareStrings)(lhs.className, rhs.className);
|
|
29
|
+
const classNameCompareResult = (0, core_bentley_1.compareStrings)((0, Utils_js_1.normalizeFullClassName)(lhs.className).toLocaleLowerCase(), (0, Utils_js_1.normalizeFullClassName)(rhs.className).toLocaleLowerCase());
|
|
29
30
|
if (classNameCompareResult !== 0) {
|
|
30
31
|
return classNameCompareResult;
|
|
31
32
|
}
|
|
@@ -46,8 +47,7 @@ var PrimitiveValue;
|
|
|
46
47
|
if (typeof value !== "object") {
|
|
47
48
|
return false;
|
|
48
49
|
}
|
|
49
|
-
|
|
50
|
-
return pt.x !== undefined && pt.y !== undefined;
|
|
50
|
+
return "x" in value && "y" in value;
|
|
51
51
|
}
|
|
52
52
|
PrimitiveValue.isPoint2d = isPoint2d;
|
|
53
53
|
/**
|
|
@@ -58,8 +58,7 @@ var PrimitiveValue;
|
|
|
58
58
|
if (typeof value !== "object") {
|
|
59
59
|
return false;
|
|
60
60
|
}
|
|
61
|
-
|
|
62
|
-
return pt.x !== undefined && pt.y !== undefined && pt.z !== undefined;
|
|
61
|
+
return "x" in value && "y" in value && "z" in value;
|
|
63
62
|
}
|
|
64
63
|
PrimitiveValue.isPoint3d = isPoint3d;
|
|
65
64
|
})(PrimitiveValue || (exports.PrimitiveValue = PrimitiveValue = {}));
|
|
@@ -74,78 +73,41 @@ var TypedPrimitiveValue;
|
|
|
74
73
|
*/
|
|
75
74
|
function create(value, type, koqName, extendedType) {
|
|
76
75
|
switch (type) {
|
|
76
|
+
case "Double":
|
|
77
77
|
case "Integer":
|
|
78
78
|
case "Long":
|
|
79
79
|
if (typeof value === "number") {
|
|
80
|
-
return {
|
|
81
|
-
type,
|
|
82
|
-
extendedType,
|
|
83
|
-
value,
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
break;
|
|
87
|
-
case "Double":
|
|
88
|
-
if (typeof value === "number") {
|
|
89
|
-
return {
|
|
90
|
-
type,
|
|
91
|
-
koqName,
|
|
92
|
-
extendedType,
|
|
93
|
-
value,
|
|
94
|
-
};
|
|
80
|
+
return { type, koqName, extendedType, value };
|
|
95
81
|
}
|
|
96
82
|
break;
|
|
97
83
|
case "Boolean":
|
|
98
84
|
if (typeof value === "boolean") {
|
|
99
|
-
return {
|
|
100
|
-
type,
|
|
101
|
-
extendedType,
|
|
102
|
-
value,
|
|
103
|
-
};
|
|
85
|
+
return { type, extendedType, value };
|
|
104
86
|
}
|
|
105
87
|
break;
|
|
106
88
|
case "Id":
|
|
107
89
|
if (typeof value === "string" && core_bentley_1.Id64.isId64(value)) {
|
|
108
|
-
return {
|
|
109
|
-
type,
|
|
110
|
-
extendedType,
|
|
111
|
-
value,
|
|
112
|
-
};
|
|
90
|
+
return { type, extendedType, value };
|
|
113
91
|
}
|
|
114
92
|
break;
|
|
115
93
|
case "String":
|
|
116
94
|
if (typeof value === "string") {
|
|
117
|
-
return {
|
|
118
|
-
type,
|
|
119
|
-
extendedType,
|
|
120
|
-
value,
|
|
121
|
-
};
|
|
95
|
+
return { type, extendedType, value };
|
|
122
96
|
}
|
|
123
97
|
break;
|
|
124
98
|
case "DateTime":
|
|
125
99
|
if (typeof value === "string" || typeof value === "number" || value instanceof Date) {
|
|
126
|
-
return {
|
|
127
|
-
type,
|
|
128
|
-
extendedType,
|
|
129
|
-
value,
|
|
130
|
-
};
|
|
100
|
+
return { type, extendedType, value };
|
|
131
101
|
}
|
|
132
102
|
break;
|
|
133
103
|
case "Point3d":
|
|
134
104
|
if (PrimitiveValue.isPoint3d(value)) {
|
|
135
|
-
return {
|
|
136
|
-
type,
|
|
137
|
-
extendedType,
|
|
138
|
-
value,
|
|
139
|
-
};
|
|
105
|
+
return { type, extendedType, value };
|
|
140
106
|
}
|
|
141
107
|
break;
|
|
142
108
|
case "Point2d":
|
|
143
109
|
if (PrimitiveValue.isPoint2d(value)) {
|
|
144
|
-
return {
|
|
145
|
-
type,
|
|
146
|
-
extendedType,
|
|
147
|
-
value,
|
|
148
|
-
};
|
|
110
|
+
return { type, extendedType, value };
|
|
149
111
|
}
|
|
150
112
|
break;
|
|
151
113
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Values.js","sourceRoot":"","sources":["../../../src/shared/Values.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;AAEhG,
|
|
1
|
+
{"version":3,"file":"Values.js","sourceRoot":"","sources":["../../../src/shared/Values.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { ECSqlBinding } from "../ECSqlCore.js";
|
|
2
|
+
import type { ECSchemaProvider, RelationshipPath, RelationshipPathStep } from "../Metadata.js";
|
|
2
3
|
/**
|
|
3
4
|
* Describes a single JOIN step from source to target through a relationship.
|
|
4
5
|
* @public
|
|
@@ -25,6 +26,12 @@ interface CreateRelationshipPathJoinClauseProps {
|
|
|
25
26
|
/**
|
|
26
27
|
* Creates an ECSQL JOIN snippet for given relationships' path.
|
|
27
28
|
*
|
|
29
|
+
* When a step specifies `instanceFilter`, its resolved expression is appended as an `AND`
|
|
30
|
+
* condition to the target class JOIN's `ON` clause. In the outer-join case the condition also
|
|
31
|
+
* appears on the `INNER JOIN` inside the subquery so the pre-joined subquery is already
|
|
32
|
+
* filtered. Bindings declared in `instanceFilter.bindings` across all steps are collected
|
|
33
|
+
* and returned alongside the SQL string.
|
|
34
|
+
*
|
|
28
35
|
* Possible results:
|
|
29
36
|
* - When the relationship is represented by a navigation property on either source or target:
|
|
30
37
|
* ```SQL
|
|
@@ -32,20 +39,28 @@ interface CreateRelationshipPathJoinClauseProps {
|
|
|
32
39
|
* ```
|
|
33
40
|
* - When outer joining through a non-navigation-property relationship:
|
|
34
41
|
* ```SQL
|
|
35
|
-
*
|
|
42
|
+
* OUTER JOIN (
|
|
36
43
|
* SELECT [relationship_alias].*
|
|
37
44
|
* FROM [relationship_schema_name].[relationship_class_name] [relationship_alias]
|
|
38
45
|
* INNER JOIN [target_schema_name].[target_class_name] [target_alias] ON [target_alias].[ECInstanceId] = [relationship_alias].[TargetECInstanceId]
|
|
39
|
-
* ) [relationship_alias]
|
|
40
|
-
*
|
|
46
|
+
* ) [relationship_alias] ON [relationship_alias].[SourceECInstanceId] = [source_alias].[ECInstanceId]
|
|
47
|
+
* OUTER JOIN [target_schema_name].[target_class_name] [target_alias] ON [target_alias].[ECInstanceId] = [relationship_alias].[TargetECInstanceId]
|
|
41
48
|
* ```
|
|
42
49
|
* - When inner joining through a non-navigation-property relationship:
|
|
43
50
|
* ```SQL
|
|
44
51
|
* INNER JOIN [relationship_schema_name].[relationship_class_name] [relationship_alias] ON [relationship_alias].[SourceECInstanceId] = [source_alias].[ECInstanceId]
|
|
45
52
|
* INNER JOIN [target_schema_name].[target_class_name] [target_alias] ON [target_alias].[ECInstanceId] = [relationship_alias].[TargetECInstanceId]
|
|
46
53
|
* ```
|
|
54
|
+
*
|
|
55
|
+
* @returns An object containing:
|
|
56
|
+
* - `joins`: the ECSQL JOIN clause string to embed in a query.
|
|
57
|
+
* - `bindings`: ECSQL parameter bindings collected from `instanceFilter.bindings` across all steps,
|
|
58
|
+
* or `undefined` if no step specified any bindings.
|
|
47
59
|
* @public
|
|
48
60
|
*/
|
|
49
|
-
export declare function createRelationshipPathJoinClause(props: CreateRelationshipPathJoinClauseProps): Promise<
|
|
61
|
+
export declare function createRelationshipPathJoinClause(props: CreateRelationshipPathJoinClauseProps): Promise<{
|
|
62
|
+
joins: string;
|
|
63
|
+
bindings?: Record<string, ECSqlBinding>;
|
|
64
|
+
}>;
|
|
50
65
|
export {};
|
|
51
66
|
//# sourceMappingURL=ECSqlJoinSnippets.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ECSqlJoinSnippets.d.ts","sourceRoot":"","sources":["../../../../src/shared/ecsql-snippets/ECSqlJoinSnippets.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ECSqlJoinSnippets.d.ts","sourceRoot":"","sources":["../../../../src/shared/ecsql-snippets/ECSqlJoinSnippets.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAM,gBAAgB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEnG;;;GAGG;AACH,UAAU,wBAAyB,SAAQ,oBAAoB;IAC7D,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;CAC9B;AAED;;;GAGG;AACH,KAAK,oBAAoB,GAAG,gBAAgB,CAAC,wBAAwB,CAAC,CAAC;AAEvE;;;GAGG;AACH,UAAU,qCAAqC;IAC7C,cAAc,EAAE,gBAAgB,CAAC;IACjC,IAAI,EAAE,oBAAoB,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAsB,gCAAgC,CACpD,KAAK,EAAE,qCAAqC,GAC3C,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;CAAE,CAAC,CA0ErE"}
|
|
@@ -10,6 +10,12 @@ const ECSqlValueSelectorSnippets_js_1 = require("./ECSqlValueSelectorSnippets.js
|
|
|
10
10
|
/**
|
|
11
11
|
* Creates an ECSQL JOIN snippet for given relationships' path.
|
|
12
12
|
*
|
|
13
|
+
* When a step specifies `instanceFilter`, its resolved expression is appended as an `AND`
|
|
14
|
+
* condition to the target class JOIN's `ON` clause. In the outer-join case the condition also
|
|
15
|
+
* appears on the `INNER JOIN` inside the subquery so the pre-joined subquery is already
|
|
16
|
+
* filtered. Bindings declared in `instanceFilter.bindings` across all steps are collected
|
|
17
|
+
* and returned alongside the SQL string.
|
|
18
|
+
*
|
|
13
19
|
* Possible results:
|
|
14
20
|
* - When the relationship is represented by a navigation property on either source or target:
|
|
15
21
|
* ```SQL
|
|
@@ -17,33 +23,48 @@ const ECSqlValueSelectorSnippets_js_1 = require("./ECSqlValueSelectorSnippets.js
|
|
|
17
23
|
* ```
|
|
18
24
|
* - When outer joining through a non-navigation-property relationship:
|
|
19
25
|
* ```SQL
|
|
20
|
-
*
|
|
26
|
+
* OUTER JOIN (
|
|
21
27
|
* SELECT [relationship_alias].*
|
|
22
28
|
* FROM [relationship_schema_name].[relationship_class_name] [relationship_alias]
|
|
23
29
|
* INNER JOIN [target_schema_name].[target_class_name] [target_alias] ON [target_alias].[ECInstanceId] = [relationship_alias].[TargetECInstanceId]
|
|
24
|
-
* ) [relationship_alias]
|
|
25
|
-
*
|
|
30
|
+
* ) [relationship_alias] ON [relationship_alias].[SourceECInstanceId] = [source_alias].[ECInstanceId]
|
|
31
|
+
* OUTER JOIN [target_schema_name].[target_class_name] [target_alias] ON [target_alias].[ECInstanceId] = [relationship_alias].[TargetECInstanceId]
|
|
26
32
|
* ```
|
|
27
33
|
* - When inner joining through a non-navigation-property relationship:
|
|
28
34
|
* ```SQL
|
|
29
35
|
* INNER JOIN [relationship_schema_name].[relationship_class_name] [relationship_alias] ON [relationship_alias].[SourceECInstanceId] = [source_alias].[ECInstanceId]
|
|
30
36
|
* INNER JOIN [target_schema_name].[target_class_name] [target_alias] ON [target_alias].[ECInstanceId] = [relationship_alias].[TargetECInstanceId]
|
|
31
37
|
* ```
|
|
38
|
+
*
|
|
39
|
+
* @returns An object containing:
|
|
40
|
+
* - `joins`: the ECSQL JOIN clause string to embed in a query.
|
|
41
|
+
* - `bindings`: ECSQL parameter bindings collected from `instanceFilter.bindings` across all steps,
|
|
42
|
+
* or `undefined` if no step specified any bindings.
|
|
32
43
|
* @public
|
|
33
44
|
*/
|
|
34
45
|
async function createRelationshipPathJoinClause(props) {
|
|
35
46
|
if (props.path.length === 0) {
|
|
36
|
-
return "";
|
|
47
|
+
return { joins: "" };
|
|
37
48
|
}
|
|
38
49
|
let prev = {
|
|
39
50
|
alias: props.path[0].sourceAlias,
|
|
40
51
|
joinPropertyName: "ECInstanceId",
|
|
41
52
|
className: props.path[0].sourceClassName,
|
|
42
53
|
};
|
|
43
|
-
let
|
|
54
|
+
let joins = "";
|
|
55
|
+
const bindings = {};
|
|
44
56
|
for (const stepDef of props.path) {
|
|
45
57
|
const step = await getRelationshipPathStepClasses(props.schemaProvider, stepDef);
|
|
46
58
|
const navigationProperty = await getNavigationProperty(step);
|
|
59
|
+
const filterCondition = resolveInstanceFilterCondition(step);
|
|
60
|
+
if (step.instanceFilter?.bindings) {
|
|
61
|
+
for (const [key, value] of Object.entries(step.instanceFilter.bindings)) {
|
|
62
|
+
if (key in bindings) {
|
|
63
|
+
throw new Error(`Binding key "${key}" is used in multiple steps of the relationship path. Each binding key must be unique across all steps.`);
|
|
64
|
+
}
|
|
65
|
+
bindings[key] = value;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
47
68
|
if (navigationProperty) {
|
|
48
69
|
const isNavigationPropertyForward = navigationProperty.direction === "Forward";
|
|
49
70
|
const relationshipJoinPropertyNames = isNavigationPropertyForward === !step.relationshipReverse
|
|
@@ -55,53 +76,57 @@ async function createRelationshipPathJoinClause(props) {
|
|
|
55
76
|
this: (0, ECSqlValueSelectorSnippets_js_1.createRawPropertyValueSelector)(step.targetAlias, navigationProperty.name, "Id"),
|
|
56
77
|
next: (0, ECSqlValueSelectorSnippets_js_1.createRawPropertyValueSelector)(prev.alias, prev.joinPropertyName),
|
|
57
78
|
};
|
|
58
|
-
|
|
79
|
+
joins += `
|
|
59
80
|
${getJoinClause(step.joinType)} ${getClassSelectClause(step.target, step.targetAlias)}
|
|
60
|
-
ON ${relationshipJoinPropertyNames.this} = ${relationshipJoinPropertyNames.next}
|
|
81
|
+
ON ${relationshipJoinPropertyNames.this} = ${relationshipJoinPropertyNames.next}${filterCondition}
|
|
61
82
|
`;
|
|
62
|
-
prev = {
|
|
63
|
-
alias: step.targetAlias,
|
|
64
|
-
className: step.target.fullName,
|
|
65
|
-
joinPropertyName: "ECInstanceId",
|
|
66
|
-
};
|
|
83
|
+
prev = { alias: step.targetAlias, className: step.target.fullName, joinPropertyName: "ECInstanceId" };
|
|
67
84
|
}
|
|
68
85
|
else {
|
|
69
86
|
const relationshipJoinPropertyNames = !step.relationshipReverse
|
|
70
87
|
? { this: "SourceECInstanceId", next: "TargetECInstanceId" }
|
|
71
88
|
: { this: "TargetECInstanceId", next: "SourceECInstanceId" };
|
|
72
89
|
if (step.joinType === "outer") {
|
|
73
|
-
|
|
90
|
+
joins += `
|
|
74
91
|
${getJoinClause("outer")} (
|
|
75
92
|
SELECT [${step.relationshipAlias}].*
|
|
76
93
|
FROM ${getClassSelectClause(step.relationship, step.relationshipAlias)}
|
|
77
94
|
${getJoinClause("inner")} ${getClassSelectClause(step.target, step.targetAlias)}
|
|
78
95
|
ON ${(0, ECSqlValueSelectorSnippets_js_1.createRawPropertyValueSelector)(step.targetAlias, "ECInstanceId")}
|
|
79
|
-
= ${(0, ECSqlValueSelectorSnippets_js_1.createRawPropertyValueSelector)(step.relationshipAlias, relationshipJoinPropertyNames.next)}
|
|
96
|
+
= ${(0, ECSqlValueSelectorSnippets_js_1.createRawPropertyValueSelector)(step.relationshipAlias, relationshipJoinPropertyNames.next)}${filterCondition}
|
|
80
97
|
) [${step.relationshipAlias}]
|
|
81
98
|
ON ${(0, ECSqlValueSelectorSnippets_js_1.createRawPropertyValueSelector)(step.relationshipAlias, relationshipJoinPropertyNames.this)}
|
|
82
99
|
= ${(0, ECSqlValueSelectorSnippets_js_1.createRawPropertyValueSelector)(prev.alias, prev.joinPropertyName)}
|
|
83
100
|
`;
|
|
84
101
|
}
|
|
85
102
|
else {
|
|
86
|
-
|
|
103
|
+
joins += `
|
|
87
104
|
${getJoinClause("inner")} ${getClassSelectClause(step.relationship, step.relationshipAlias)}
|
|
88
105
|
ON ${(0, ECSqlValueSelectorSnippets_js_1.createRawPropertyValueSelector)(step.relationshipAlias, relationshipJoinPropertyNames.this)}
|
|
89
106
|
= ${(0, ECSqlValueSelectorSnippets_js_1.createRawPropertyValueSelector)(prev.alias, prev.joinPropertyName)}
|
|
90
107
|
`;
|
|
91
108
|
}
|
|
92
|
-
|
|
109
|
+
joins += `
|
|
93
110
|
${getJoinClause(step.joinType)} ${getClassSelectClause(step.target, step.targetAlias)}
|
|
94
111
|
ON ${(0, ECSqlValueSelectorSnippets_js_1.createRawPropertyValueSelector)(step.targetAlias, "ECInstanceId")}
|
|
95
|
-
= ${(0, ECSqlValueSelectorSnippets_js_1.createRawPropertyValueSelector)(step.relationshipAlias, relationshipJoinPropertyNames.next)}
|
|
112
|
+
= ${(0, ECSqlValueSelectorSnippets_js_1.createRawPropertyValueSelector)(step.relationshipAlias, relationshipJoinPropertyNames.next)}${filterCondition}
|
|
96
113
|
`;
|
|
97
|
-
prev = {
|
|
98
|
-
alias: step.targetAlias,
|
|
99
|
-
className: step.target.fullName,
|
|
100
|
-
joinPropertyName: "ECInstanceId",
|
|
101
|
-
};
|
|
114
|
+
prev = { alias: step.targetAlias, className: step.target.fullName, joinPropertyName: "ECInstanceId" };
|
|
102
115
|
}
|
|
103
116
|
}
|
|
104
|
-
return
|
|
117
|
+
return { joins, bindings: Object.keys(bindings).length > 0 ? bindings : undefined };
|
|
118
|
+
}
|
|
119
|
+
function resolveInstanceFilterCondition(step) {
|
|
120
|
+
if (!step.instanceFilter) {
|
|
121
|
+
return "";
|
|
122
|
+
}
|
|
123
|
+
const { expression, targetAlias = "this", relationshipAlias = "rel" } = step.instanceFilter;
|
|
124
|
+
const resolvedExpression = expression
|
|
125
|
+
.replaceAll(`[${targetAlias}].`, `[${step.targetAlias}].`)
|
|
126
|
+
.replaceAll(`${targetAlias}.`, `[${step.targetAlias}].`)
|
|
127
|
+
.replaceAll(`[${relationshipAlias}].`, `[${step.relationshipAlias}].`)
|
|
128
|
+
.replaceAll(`${relationshipAlias}.`, `[${step.relationshipAlias}].`);
|
|
129
|
+
return ` AND (${resolvedExpression})`;
|
|
105
130
|
}
|
|
106
131
|
async function getRelationshipPathStepClasses(schemaProvider, step) {
|
|
107
132
|
const { sourceClassName, relationshipName, targetClassName, ...rest } = step;
|
|
@@ -116,12 +141,18 @@ async function getNavigationProperty(step) {
|
|
|
116
141
|
const source = !step.relationshipReverse ? step.source : step.target;
|
|
117
142
|
const target = !step.relationshipReverse ? step.target : step.source;
|
|
118
143
|
for (const prop of await source.getProperties()) {
|
|
119
|
-
|
|
144
|
+
/* v8 ignore else -- @preserve */
|
|
145
|
+
if (prop.isNavigation() &&
|
|
146
|
+
prop.direction === "Forward" &&
|
|
147
|
+
(await prop.relationshipClass).fullName === step.relationship.fullName) {
|
|
120
148
|
return prop;
|
|
121
149
|
}
|
|
122
150
|
}
|
|
123
151
|
for (const prop of await target.getProperties()) {
|
|
124
|
-
|
|
152
|
+
/* v8 ignore else -- @preserve */
|
|
153
|
+
if (prop.isNavigation() &&
|
|
154
|
+
prop.direction === "Backward" &&
|
|
155
|
+
(await prop.relationshipClass).fullName === step.relationship.fullName) {
|
|
125
156
|
return prop;
|
|
126
157
|
}
|
|
127
158
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ECSqlJoinSnippets.js","sourceRoot":"","sources":["../../../../src/shared/ecsql-snippets/ECSqlJoinSnippets.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;
|
|
1
|
+
{"version":3,"file":"ECSqlJoinSnippets.js","sourceRoot":"","sources":["../../../../src/shared/ecsql-snippets/ECSqlJoinSnippets.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { PrimitiveValue } from "../Values.js";
|
|
2
|
+
import type { EC, ECSchemaProvider, PrimitiveValueType } from "../Metadata.js";
|
|
3
|
+
import type { TypedPrimitiveValue } from "../Values.js";
|
|
3
4
|
/**
|
|
4
5
|
* Props for selecting a `TypedPrimitiveValue` using given ECSQL selector.
|
|
5
6
|
* @public
|
|
@@ -37,7 +38,7 @@ export declare function createPrimitivePropertyValueSelectorProps({ schemaProvid
|
|
|
37
38
|
/** Access to schema information. */
|
|
38
39
|
schemaProvider: ECSchemaProvider;
|
|
39
40
|
/** Full class name of the property. Format: `SchemaName.ClassName`. */
|
|
40
|
-
propertyClassName:
|
|
41
|
+
propertyClassName: EC.FullClassName;
|
|
41
42
|
/** Query alias of the class that contains the property. */
|
|
42
43
|
propertyClassAlias: string;
|
|
43
44
|
/** Name of the property to create `TypedPrimitiveValue` for. */
|
|
@@ -60,6 +61,14 @@ export declare function createRawPropertyValueSelector(classAlias: string, prope
|
|
|
60
61
|
* @public
|
|
61
62
|
*/
|
|
62
63
|
export declare function createRawPrimitiveValueSelector(value: PrimitiveValue | undefined): string;
|
|
64
|
+
/**
|
|
65
|
+
* Converts a full class name (`SchemaName.ClassName` or `SchemaName:ClassName`) into a
|
|
66
|
+
* bracket-quoted ECSQL class selector: `[SchemaName].[ClassName]`.
|
|
67
|
+
*
|
|
68
|
+
* @throws Error if the provided full class name is not valid.
|
|
69
|
+
* @public
|
|
70
|
+
*/
|
|
71
|
+
export declare function createClassSelector(fullClassName: EC.FullClassName): string;
|
|
63
72
|
/**
|
|
64
73
|
* Creates an ECSQL selector that results in a stringified `InstanceKey` object.
|
|
65
74
|
* @public
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ECSqlValueSelectorSnippets.d.ts","sourceRoot":"","sources":["../../../../src/shared/ecsql-snippets/ECSqlValueSelectorSnippets.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ECSqlValueSelectorSnippets.d.ts","sourceRoot":"","sources":["../../../../src/shared/ecsql-snippets/ECSqlValueSelectorSnippets.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,KAAK,EAAE,EAAE,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC/E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExD;;;GAGG;AACH,KAAK,gCAAgC,GAAG;IACtC,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,CACA;IACE,+CAA+C;IAC/C,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB,GACD;IAAE,IAAI,EAAE,OAAO,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GACtE;IAAE,IAAI,EAAE,OAAO,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAC3F,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,2BAA2B,GAAG,mBAAmB,GAAG,gCAAgC,CAAC;AAEjG,cAAc;AAEd,yBAAiB,2BAA2B,CAAC;IAC3C,SAAgB,gBAAgB,CAAC,KAAK,EAAE,2BAA2B,GAAG,KAAK,IAAI,mBAAmB,CAEjG;IACD,SAAgB,wBAAwB,CACtC,KAAK,EAAE,2BAA2B,GACjC,KAAK,IAAI,gCAAgC,CAE3C;CACF;AAED;;;;GAIG;AACH,wBAAsB,yCAAyC,CAAC,EAC9D,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,GACb,EAAE;IACD,oCAAoC;IACpC,cAAc,EAAE,gBAAgB,CAAC;IACjC,uEAAuE;IACvE,iBAAiB,EAAE,EAAE,CAAC,aAAa,CAAC;IACpC,2DAA2D;IAC3D,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gEAAgE;IAChE,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,OAAO,CAAC,gCAAgC,CAAC,CAsD5C;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC5C,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,aAAa,CAAC,EAAE,MAAM,GACrB,MAAM,CAMR;AAED;;;;;;;;GAQG;AACH,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,cAAc,GAAG,SAAS,UAqBhF;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,EAAE,CAAC,aAAa,GAAG,MAAM,CAG3E;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,UAIjE;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAEtG;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mCAAmC,CAAC,SAAS,EAAE,2BAA2B,EAAE,EAAE,aAAa,CAAC,EAAE,MAAM,UAMnH;AA2CD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qCAAqC,CACnD,SAAS,EAAE,2BAA2B,EAAE,EACxC,aAAa,CAAC,EAAE,MAAM,UASvB"}
|
|
@@ -8,12 +8,14 @@ exports.TypedValueSelectClauseProps = void 0;
|
|
|
8
8
|
exports.createPrimitivePropertyValueSelectorProps = createPrimitivePropertyValueSelectorProps;
|
|
9
9
|
exports.createRawPropertyValueSelector = createRawPropertyValueSelector;
|
|
10
10
|
exports.createRawPrimitiveValueSelector = createRawPrimitiveValueSelector;
|
|
11
|
+
exports.createClassSelector = createClassSelector;
|
|
11
12
|
exports.createInstanceKeySelector = createInstanceKeySelector;
|
|
12
13
|
exports.createNullableSelector = createNullableSelector;
|
|
13
14
|
exports.createConcatenatedValueJsonSelector = createConcatenatedValueJsonSelector;
|
|
14
15
|
exports.createConcatenatedValueStringSelector = createConcatenatedValueStringSelector;
|
|
15
16
|
const core_bentley_1 = require("@itwin/core-bentley");
|
|
16
17
|
const Metadata_js_1 = require("../Metadata.js");
|
|
18
|
+
const Utils_js_1 = require("../Utils.js");
|
|
17
19
|
const Values_js_1 = require("../Values.js");
|
|
18
20
|
/** @public */
|
|
19
21
|
// eslint-disable-next-line @typescript-eslint/no-redeclare
|
|
@@ -60,27 +62,27 @@ async function createPrimitivePropertyValueSelectorProps({ schemaProvider, prope
|
|
|
60
62
|
return {
|
|
61
63
|
selector: `json_object('x', ${propertySelector}.[x], 'y', ${propertySelector}.[y])`,
|
|
62
64
|
type: "Point2d",
|
|
63
|
-
...(extendedType ? { extendedType } : /*
|
|
65
|
+
...(extendedType ? { extendedType } : /* v8 ignore next */ {}),
|
|
64
66
|
};
|
|
65
67
|
case "Point3d":
|
|
66
68
|
return {
|
|
67
69
|
selector: `json_object('x', ${propertySelector}.[x], 'y', ${propertySelector}.[y], 'z', ${propertySelector}.[z])`,
|
|
68
70
|
type: "Point3d",
|
|
69
|
-
...(extendedType ? { extendedType } : /*
|
|
71
|
+
...(extendedType ? { extendedType } : /* v8 ignore next */ {}),
|
|
70
72
|
};
|
|
71
73
|
case "Double":
|
|
72
74
|
const koqName = (await property.kindOfQuantity)?.fullName;
|
|
73
75
|
return {
|
|
74
76
|
selector: propertySelector,
|
|
75
77
|
type: "Double",
|
|
76
|
-
...(extendedType ? { extendedType } : /*
|
|
77
|
-
...(koqName ? { koqName } : /*
|
|
78
|
+
...(extendedType ? { extendedType } : /* v8 ignore next */ {}),
|
|
79
|
+
...(koqName ? { koqName } : /* v8 ignore next */ {}),
|
|
78
80
|
};
|
|
79
81
|
}
|
|
80
82
|
return {
|
|
81
83
|
selector: propertySelector,
|
|
82
84
|
type: propertyValueType,
|
|
83
|
-
...(extendedType ? { extendedType } : /*
|
|
85
|
+
...(extendedType ? { extendedType } : /* v8 ignore next */ {}),
|
|
84
86
|
};
|
|
85
87
|
}
|
|
86
88
|
/**
|
|
@@ -127,6 +129,17 @@ function createRawPrimitiveValueSelector(value) {
|
|
|
127
129
|
return value ? "TRUE" : "FALSE";
|
|
128
130
|
}
|
|
129
131
|
}
|
|
132
|
+
/**
|
|
133
|
+
* Converts a full class name (`SchemaName.ClassName` or `SchemaName:ClassName`) into a
|
|
134
|
+
* bracket-quoted ECSQL class selector: `[SchemaName].[ClassName]`.
|
|
135
|
+
*
|
|
136
|
+
* @throws Error if the provided full class name is not valid.
|
|
137
|
+
* @public
|
|
138
|
+
*/
|
|
139
|
+
function createClassSelector(fullClassName) {
|
|
140
|
+
const { schemaName, className } = (0, Utils_js_1.parseFullClassName)(fullClassName);
|
|
141
|
+
return `[${schemaName}].[${className}]`;
|
|
142
|
+
}
|
|
130
143
|
/**
|
|
131
144
|
* Creates an ECSQL selector that results in a stringified `InstanceKey` object.
|
|
132
145
|
* @public
|
|
@@ -233,7 +246,9 @@ function createPrimitiveValueJsonSelector(value) {
|
|
|
233
246
|
* @public
|
|
234
247
|
*/
|
|
235
248
|
function createConcatenatedValueStringSelector(selectors, checkSelector) {
|
|
236
|
-
const combinedSelectors = selectors.length
|
|
249
|
+
const combinedSelectors = selectors.length
|
|
250
|
+
? selectors.map((sel) => createTypedValueStringSelector(sel)).join(" || ")
|
|
251
|
+
: "''";
|
|
237
252
|
if (checkSelector) {
|
|
238
253
|
return createNullableSelector({ checkSelector, valueSelector: combinedSelectors });
|
|
239
254
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ECSqlValueSelectorSnippets.js","sourceRoot":"","sources":["../../../../src/shared/ecsql-snippets/ECSqlValueSelectorSnippets.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;
|
|
1
|
+
{"version":3,"file":"ECSqlValueSelectorSnippets.js","sourceRoot":"","sources":["../../../../src/shared/ecsql-snippets/ECSqlValueSelectorSnippets.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { createRawPropertyValueSelector, createRawPrimitiveValueSelector, createNullableSelector, createConcatenatedValueJsonSelector, createConcatenatedValueStringSelector, createInstanceKeySelector, createPrimitivePropertyValueSelectorProps, } from "./ECSqlValueSelectorSnippets.js";
|
|
1
|
+
export { createClassSelector, createRawPropertyValueSelector, createRawPrimitiveValueSelector, createNullableSelector, createConcatenatedValueJsonSelector, createConcatenatedValueStringSelector, createInstanceKeySelector, createPrimitivePropertyValueSelectorProps, } from "./ECSqlValueSelectorSnippets.js";
|
|
2
2
|
export { createRelationshipPathJoinClause } from "./ECSqlJoinSnippets.js";
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared/ecsql-snippets/index.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,8BAA8B,EAC9B,+BAA+B,EAC/B,sBAAsB,EACtB,mCAAmC,EACnC,qCAAqC,EACrC,yBAAyB,EACzB,yCAAyC,GAC1C,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,gCAAgC,EAAE,MAAM,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared/ecsql-snippets/index.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,mBAAmB,EACnB,8BAA8B,EAC9B,+BAA+B,EAC/B,sBAAsB,EACtB,mCAAmC,EACnC,qCAAqC,EACrC,yBAAyB,EACzB,yCAAyC,GAC1C,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,gCAAgC,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -4,8 +4,9 @@
|
|
|
4
4
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
5
5
|
*--------------------------------------------------------------------------------------------*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.createRelationshipPathJoinClause = exports.createPrimitivePropertyValueSelectorProps = exports.createInstanceKeySelector = exports.createConcatenatedValueStringSelector = exports.createConcatenatedValueJsonSelector = exports.createNullableSelector = exports.createRawPrimitiveValueSelector = exports.createRawPropertyValueSelector = void 0;
|
|
7
|
+
exports.createRelationshipPathJoinClause = exports.createPrimitivePropertyValueSelectorProps = exports.createInstanceKeySelector = exports.createConcatenatedValueStringSelector = exports.createConcatenatedValueJsonSelector = exports.createNullableSelector = exports.createRawPrimitiveValueSelector = exports.createRawPropertyValueSelector = exports.createClassSelector = void 0;
|
|
8
8
|
var ECSqlValueSelectorSnippets_js_1 = require("./ECSqlValueSelectorSnippets.js");
|
|
9
|
+
Object.defineProperty(exports, "createClassSelector", { enumerable: true, get: function () { return ECSqlValueSelectorSnippets_js_1.createClassSelector; } });
|
|
9
10
|
Object.defineProperty(exports, "createRawPropertyValueSelector", { enumerable: true, get: function () { return ECSqlValueSelectorSnippets_js_1.createRawPropertyValueSelector; } });
|
|
10
11
|
Object.defineProperty(exports, "createRawPrimitiveValueSelector", { enumerable: true, get: function () { return ECSqlValueSelectorSnippets_js_1.createRawPrimitiveValueSelector; } });
|
|
11
12
|
Object.defineProperty(exports, "createNullableSelector", { enumerable: true, get: function () { return ECSqlValueSelectorSnippets_js_1.createNullableSelector; } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared/ecsql-snippets/index.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;AAEhG,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared/ecsql-snippets/index.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;AAEhG,iFASyC;AARvC,oIAAA,mBAAmB,OAAA;AACnB,+IAAA,8BAA8B,OAAA;AAC9B,gJAAA,+BAA+B,OAAA;AAC/B,uIAAA,sBAAsB,OAAA;AACtB,oJAAA,mCAAmC,OAAA;AACnC,sJAAA,qCAAqC,OAAA;AACrC,0IAAA,yBAAyB,OAAA;AACzB,0JAAA,yCAAyC,OAAA;AAE3C,+DAA0E;AAAjE,wIAAA,gCAAgC,OAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { IInstanceLabelSelectClauseFactory } from "../InstanceLabelSelectClauseFactory.js";
|
|
2
|
+
import type { ECClassHierarchyInspector } from "../Metadata.js";
|
|
3
|
+
/**
|
|
4
|
+
* Props for `createBisInstanceLabelSelectClauseFactory`.
|
|
5
|
+
* @public
|
|
6
|
+
*/
|
|
7
|
+
interface BisInstanceLabelSelectClauseFactoryProps {
|
|
8
|
+
classHierarchyInspector: ECClassHierarchyInspector;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Creates a label select clause according to BIS instance label rules.
|
|
12
|
+
* @see https://www.itwinjs.org/presentation/advanced/defaultbisrules/#label-overrides
|
|
13
|
+
* @public
|
|
14
|
+
*/
|
|
15
|
+
export declare function createBisInstanceLabelSelectClauseFactory(props: BisInstanceLabelSelectClauseFactoryProps): IInstanceLabelSelectClauseFactory;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=BisInstanceLabelSelectClauseFactory.d.ts.map
|
package/lib/cjs/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BisInstanceLabelSelectClauseFactory.d.ts","sourceRoot":"","sources":["../../../../src/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,wCAAwC,CAAC;AAChG,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAGhE;;;GAGG;AACH,UAAU,wCAAwC;IAChD,uBAAuB,EAAE,yBAAyB,CAAC;CACpD;AAED;;;;GAIG;AACH,wBAAgB,yCAAyC,CACvD,KAAK,EAAE,wCAAwC,GAC9C,iCAAiC,CA6CnC"}
|