@itwin/presentation-shared 2.0.0-alpha.1 → 2.0.0-alpha.10
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 +176 -1
- package/README.md +27 -9
- package/lib/cjs/presentation-shared.d.ts +16 -8
- package/lib/cjs/presentation-shared.d.ts.map +1 -1
- package/lib/cjs/presentation-shared.js +10 -4
- 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 +1 -1
- 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 +13 -10
- 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 +25 -11
- package/lib/cjs/shared/Utils.js.map +1 -1
- package/lib/cjs/shared/Values.d.ts +3 -3
- package/lib/cjs/shared/Values.d.ts.map +1 -1
- package/lib/cjs/shared/Values.js +13 -47
- package/lib/cjs/shared/Values.js.map +1 -1
- package/lib/cjs/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts +1 -1
- package/lib/cjs/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts.map +1 -1
- package/lib/cjs/shared/ecsql-snippets/ECSqlJoinSnippets.js +10 -12
- package/lib/cjs/shared/ecsql-snippets/ECSqlJoinSnippets.js.map +1 -1
- package/lib/cjs/shared/ecsql-snippets/ECSqlValueSelectorSnippets.d.ts +4 -3
- package/lib/cjs/shared/ecsql-snippets/ECSqlValueSelectorSnippets.d.ts.map +1 -1
- package/lib/cjs/shared/ecsql-snippets/ECSqlValueSelectorSnippets.js +8 -6
- package/lib/cjs/shared/ecsql-snippets/ECSqlValueSelectorSnippets.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 +51 -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 +39 -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 +335 -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 +6 -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 +24 -0
- package/lib/cjs/shared/instance-label-factory-impls/Utils.js.map +1 -0
- package/lib/esm/presentation-shared.d.ts +16 -8
- package/lib/esm/presentation-shared.d.ts.map +1 -1
- package/lib/esm/presentation-shared.js +6 -2
- 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 +1 -1
- 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 +13 -10
- 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 +24 -11
- package/lib/esm/shared/Utils.js.map +1 -1
- package/lib/esm/shared/Values.d.ts +3 -3
- package/lib/esm/shared/Values.d.ts.map +1 -1
- package/lib/esm/shared/Values.js +13 -47
- package/lib/esm/shared/Values.js.map +1 -1
- package/lib/esm/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts +1 -1
- package/lib/esm/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts.map +1 -1
- package/lib/esm/shared/ecsql-snippets/ECSqlJoinSnippets.js +10 -12
- package/lib/esm/shared/ecsql-snippets/ECSqlJoinSnippets.js.map +1 -1
- package/lib/esm/shared/ecsql-snippets/ECSqlValueSelectorSnippets.d.ts +4 -3
- package/lib/esm/shared/ecsql-snippets/ECSqlValueSelectorSnippets.d.ts.map +1 -1
- package/lib/esm/shared/ecsql-snippets/ECSqlValueSelectorSnippets.js +8 -6
- package/lib/esm/shared/ecsql-snippets/ECSqlValueSelectorSnippets.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 +48 -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 +36 -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 +332 -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 +6 -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 +20 -0
- package/lib/esm/shared/instance-label-factory-impls/Utils.js.map +1 -0
- package/package.json +14 -22
|
@@ -5,10 +5,6 @@
|
|
|
5
5
|
*--------------------------------------------------------------------------------------------*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.parseInstanceLabel = parseInstanceLabel;
|
|
8
|
-
exports.createDefaultInstanceLabelSelectClauseFactory = createDefaultInstanceLabelSelectClauseFactory;
|
|
9
|
-
exports.createClassBasedInstanceLabelSelectClauseFactory = createClassBasedInstanceLabelSelectClauseFactory;
|
|
10
|
-
exports.createBisInstanceLabelSelectClauseFactory = createBisInstanceLabelSelectClauseFactory;
|
|
11
|
-
const ECSqlValueSelectorSnippets_js_1 = require("./ecsql-snippets/ECSqlValueSelectorSnippets.js");
|
|
12
8
|
/**
|
|
13
9
|
* Parses an instance label from query result into a string or a `ConcatenatedValue`. The latter type of result
|
|
14
10
|
* is expected when label selector is created using `IInstanceLabelSelectClauseFactory.createSelectClause` with
|
|
@@ -31,136 +27,4 @@ function parseInstanceLabel(value) {
|
|
|
31
27
|
// not a JSON object/array
|
|
32
28
|
return value;
|
|
33
29
|
}
|
|
34
|
-
/**
|
|
35
|
-
* Creates a label select clause in a format `Class label [base36(briefcase id)-base36(local id)]`, where
|
|
36
|
-
* local and briefcase IDs are calculated based on ECInstance ID:
|
|
37
|
-
* - `{briefcase id} = ECInstanceId >> 40`
|
|
38
|
-
* - `{local id} = ECInstanceId & (1 << 40 - 1)`
|
|
39
|
-
*
|
|
40
|
-
* @see https://www.itwinjs.org/presentation/advanced/defaultbisrules/#label-overrides
|
|
41
|
-
* @public
|
|
42
|
-
*/
|
|
43
|
-
function createDefaultInstanceLabelSelectClauseFactory() {
|
|
44
|
-
return {
|
|
45
|
-
async createSelectClause(props) {
|
|
46
|
-
return `(
|
|
47
|
-
SELECT
|
|
48
|
-
${concatenate(props, [
|
|
49
|
-
{
|
|
50
|
-
selector: `COALESCE(
|
|
51
|
-
${(0, ECSqlValueSelectorSnippets_js_1.createRawPropertyValueSelector)("c", "DisplayLabel")},
|
|
52
|
-
${(0, ECSqlValueSelectorSnippets_js_1.createRawPropertyValueSelector)("c", "Name")}
|
|
53
|
-
)`,
|
|
54
|
-
},
|
|
55
|
-
...createECInstanceIdSuffixSelectors(props.classAlias),
|
|
56
|
-
])}
|
|
57
|
-
FROM [meta].[ECClassDef] AS [c]
|
|
58
|
-
WHERE [c].[ECInstanceId] = ${(0, ECSqlValueSelectorSnippets_js_1.createRawPropertyValueSelector)(props.classAlias, "ECClassId")}
|
|
59
|
-
)`;
|
|
60
|
-
},
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Creates an instance label select clause based on its class.
|
|
65
|
-
* @public
|
|
66
|
-
*/
|
|
67
|
-
function createClassBasedInstanceLabelSelectClauseFactory(props) {
|
|
68
|
-
const { classHierarchyInspector, clauses: labelClausesByClass } = props;
|
|
69
|
-
const defaultClauseFactory = props.defaultClauseFactory ?? createDefaultInstanceLabelSelectClauseFactory();
|
|
70
|
-
async function getLabelClausesForClass(queryClassName) {
|
|
71
|
-
const matchingLabelClauses = await Promise.all(labelClausesByClass.map(async (entry) => {
|
|
72
|
-
if (await classHierarchyInspector.classDerivesFrom(entry.className, queryClassName)) {
|
|
73
|
-
// label selector is intended for a more specific class than we're selecting from - need to include it
|
|
74
|
-
// as query results (on polymorphic select) are going to include more specific class instances too
|
|
75
|
-
return entry;
|
|
76
|
-
}
|
|
77
|
-
if (await classHierarchyInspector.classDerivesFrom(queryClassName, entry.className)) {
|
|
78
|
-
// label selector is intended for a base class of what query is selecting - need to include it as
|
|
79
|
-
// we want base class label selectors to apply to subclass instances
|
|
80
|
-
return entry;
|
|
81
|
-
}
|
|
82
|
-
return undefined;
|
|
83
|
-
}));
|
|
84
|
-
function filterNotUndefined(x) {
|
|
85
|
-
return !!x;
|
|
86
|
-
}
|
|
87
|
-
return matchingLabelClauses.filter(filterNotUndefined);
|
|
88
|
-
}
|
|
89
|
-
return {
|
|
90
|
-
async createSelectClause(clauseProps) {
|
|
91
|
-
if (labelClausesByClass.length === 0) {
|
|
92
|
-
return defaultClauseFactory.createSelectClause(clauseProps);
|
|
93
|
-
}
|
|
94
|
-
const labelClausePromises = clauseProps.className ? await getLabelClausesForClass(clauseProps.className) : labelClausesByClass;
|
|
95
|
-
if (labelClausePromises.length === 0) {
|
|
96
|
-
return defaultClauseFactory.createSelectClause(clauseProps);
|
|
97
|
-
}
|
|
98
|
-
const labelClauses = await Promise.all(labelClausePromises.map(async ({ className, clause }) => ({
|
|
99
|
-
className,
|
|
100
|
-
clause: await clause(clauseProps),
|
|
101
|
-
})));
|
|
102
|
-
return `COALESCE(
|
|
103
|
-
${labelClauses
|
|
104
|
-
.map(({ className, clause }) => `
|
|
105
|
-
IIF(
|
|
106
|
-
${(0, ECSqlValueSelectorSnippets_js_1.createRawPropertyValueSelector)(clauseProps.classAlias, "ECClassId")} IS (${className}),
|
|
107
|
-
${clause.trim()},
|
|
108
|
-
NULL
|
|
109
|
-
)
|
|
110
|
-
`.trim())
|
|
111
|
-
.join(", ")},
|
|
112
|
-
${await defaultClauseFactory.createSelectClause(clauseProps)}
|
|
113
|
-
)`;
|
|
114
|
-
},
|
|
115
|
-
};
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* Creates a label select clause according to BIS instance label rules.
|
|
119
|
-
* @see https://www.itwinjs.org/presentation/advanced/defaultbisrules/#label-overrides
|
|
120
|
-
* @public
|
|
121
|
-
*/
|
|
122
|
-
function createBisInstanceLabelSelectClauseFactory(props) {
|
|
123
|
-
const clauses = [];
|
|
124
|
-
const factory = createClassBasedInstanceLabelSelectClauseFactory({
|
|
125
|
-
classHierarchyInspector: props.classHierarchyInspector,
|
|
126
|
-
clauses,
|
|
127
|
-
});
|
|
128
|
-
clauses.push({
|
|
129
|
-
className: "BisCore.GeometricElement",
|
|
130
|
-
clause: async ({ classAlias, ...rest }) => `
|
|
131
|
-
COALESCE(
|
|
132
|
-
${(0, ECSqlValueSelectorSnippets_js_1.createRawPropertyValueSelector)(classAlias, "CodeValue")},
|
|
133
|
-
${concatenate(rest, [{ selector: (0, ECSqlValueSelectorSnippets_js_1.createRawPropertyValueSelector)(classAlias, "UserLabel") }, ...createECInstanceIdSuffixSelectors(classAlias)], `${(0, ECSqlValueSelectorSnippets_js_1.createRawPropertyValueSelector)(classAlias, "UserLabel")} IS NOT NULL`)}
|
|
134
|
-
)
|
|
135
|
-
`,
|
|
136
|
-
}, {
|
|
137
|
-
className: "BisCore.Element",
|
|
138
|
-
clause: async ({ classAlias }) => `
|
|
139
|
-
COALESCE(
|
|
140
|
-
${(0, ECSqlValueSelectorSnippets_js_1.createRawPropertyValueSelector)(classAlias, "UserLabel")},
|
|
141
|
-
${(0, ECSqlValueSelectorSnippets_js_1.createRawPropertyValueSelector)(classAlias, "CodeValue")}
|
|
142
|
-
)
|
|
143
|
-
`,
|
|
144
|
-
}, {
|
|
145
|
-
className: "BisCore.Model",
|
|
146
|
-
clause: async ({ classAlias, ...rest }) => `(
|
|
147
|
-
SELECT ${await factory.createSelectClause({ ...rest, classAlias: "e", className: "BisCore.Element" })}
|
|
148
|
-
FROM [bis].[Element] AS [e]
|
|
149
|
-
WHERE [e].[ECInstanceId] = ${(0, ECSqlValueSelectorSnippets_js_1.createRawPropertyValueSelector)(classAlias, "ModeledElement", "Id")}
|
|
150
|
-
)`,
|
|
151
|
-
});
|
|
152
|
-
return factory;
|
|
153
|
-
}
|
|
154
|
-
function createECInstanceIdSuffixSelectors(classAlias) {
|
|
155
|
-
return [
|
|
156
|
-
{ value: ` [`, type: "String" },
|
|
157
|
-
{ selector: `CAST(base36(${(0, ECSqlValueSelectorSnippets_js_1.createRawPropertyValueSelector)(classAlias, "ECInstanceId")} >> 40) AS TEXT)` },
|
|
158
|
-
{ value: `-`, type: "String" },
|
|
159
|
-
{ selector: `CAST(base36(${(0, ECSqlValueSelectorSnippets_js_1.createRawPropertyValueSelector)(classAlias, "ECInstanceId")} & ((1 << 40) - 1)) AS TEXT)` },
|
|
160
|
-
{ value: `]`, type: "String" },
|
|
161
|
-
];
|
|
162
|
-
}
|
|
163
|
-
function concatenate(props, selectors, checkSelector) {
|
|
164
|
-
return (props.selectorsConcatenator ?? ECSqlValueSelectorSnippets_js_1.createConcatenatedValueJsonSelector)(selectors, checkSelector);
|
|
165
|
-
}
|
|
166
30
|
//# sourceMappingURL=InstanceLabelSelectClauseFactory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InstanceLabelSelectClauseFactory.js","sourceRoot":"","sources":["../../../src/shared/InstanceLabelSelectClauseFactory.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;
|
|
1
|
+
{"version":3,"file":"InstanceLabelSelectClauseFactory.js","sourceRoot":"","sources":["../../../src/shared/InstanceLabelSelectClauseFactory.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;AA8EhG,gDAaC;AApBD;;;;;;GAMG;AACH,SAAgB,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"}
|
|
@@ -9,7 +9,7 @@ exports.NOOP_LOGGER = void 0;
|
|
|
9
9
|
* A logger implementation that does nothing.
|
|
10
10
|
* @public
|
|
11
11
|
*/
|
|
12
|
-
/*
|
|
12
|
+
/* v8 ignore start */
|
|
13
13
|
exports.NOOP_LOGGER = {
|
|
14
14
|
isEnabled: () => false,
|
|
15
15
|
logError: () => { },
|
|
@@ -17,4 +17,5 @@ exports.NOOP_LOGGER = {
|
|
|
17
17
|
logInfo: () => { },
|
|
18
18
|
logTrace: () => { },
|
|
19
19
|
};
|
|
20
|
+
/* v8 ignore stop */
|
|
20
21
|
//# sourceMappingURL=Logging.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Logging.js","sourceRoot":"","sources":["../../../src/shared/Logging.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;AA0BhG;;;GAGG;AACH,
|
|
1
|
+
{"version":3,"file":"Logging.js","sourceRoot":"","sources":["../../../src/shared/Logging.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;AA0BhG;;;GAGG;AACH,qBAAqB;AACR,QAAA,WAAW,GAAY;IAClC,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK;IACtB,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC;IAClB,UAAU,EAAE,GAAG,EAAE,GAAE,CAAC;IACpB,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;IACjB,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC;CACnB,CAAC;AACF,oBAAoB"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { Event } from "./Event.js";
|
|
2
1
|
/**
|
|
3
2
|
* An utility `Omit` type which works with union types.
|
|
4
3
|
* @public
|
|
@@ -10,18 +9,9 @@ export type OmitOverUnion<T, K extends PropertyKey> = T extends T ? Omit<T, K> :
|
|
|
10
9
|
*/
|
|
11
10
|
export type ArrayElement<ArrayType extends readonly unknown[]> = ArrayType extends readonly (infer ElementType)[] ? ElementType : never;
|
|
12
11
|
/**
|
|
13
|
-
* Returns type of
|
|
12
|
+
* Returns type of `TFunc` parameter, when `TFunc` accepts exactly one object argument
|
|
13
|
+
* that can also be `undefined` / optional.
|
|
14
14
|
* @public
|
|
15
15
|
*/
|
|
16
|
-
export type Props<TFunc extends (...args: any[]) => any> = Parameters<TFunc>[
|
|
17
|
-
/**
|
|
18
|
-
* Returns type of the given `Event` listener.
|
|
19
|
-
* @public
|
|
20
|
-
*/
|
|
21
|
-
export type EventListener<TEvent extends Event> = TEvent extends Event<infer TListener> ? TListener : never;
|
|
22
|
-
/**
|
|
23
|
-
* Returns type of the given `Event` arguments.
|
|
24
|
-
* @public
|
|
25
|
-
*/
|
|
26
|
-
export type EventArgs<TEvent extends Event> = Props<EventListener<TEvent>>;
|
|
16
|
+
export type Props<TFunc extends (...args: any[]) => any> = Parameters<TFunc> extends [infer TProps] ? Exclude<TProps, undefined> extends object ? TProps : never : Parameters<TFunc> extends [(infer TProps)?] ? Exclude<TProps, undefined> extends object ? TProps | undefined : never : never;
|
|
27
17
|
//# sourceMappingURL=MappedTypes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MappedTypes.d.ts","sourceRoot":"","sources":["../../../src/shared/MappedTypes.ts"],"names":[],"mappings":"AAKA
|
|
1
|
+
{"version":3,"file":"MappedTypes.d.ts","sourceRoot":"","sources":["../../../src/shared/MappedTypes.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,CAAC,SAAS,WAAW,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;AAEvF;;;GAGG;AACH,MAAM,MAAM,YAAY,CAAC,SAAS,SAAS,SAAS,OAAO,EAAE,IAAI,SAAS,SAAS,SAAS,CAAC,MAAM,WAAW,CAAC,EAAE,GAC7G,WAAW,GACX,KAAK,CAAC;AAEV;;;;GAIG;AACH,MAAM,MAAM,KAAK,CAAC,KAAK,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,IACrD,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,MAAM,CAAC,GACpC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,MAAM,GACvC,MAAM,GACN,KAAK,GACP,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC,GACzC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,MAAM,GACvC,MAAM,GAAG,SAAS,GAClB,KAAK,GACP,KAAK,CAAC"}
|
|
@@ -13,7 +13,7 @@ export interface ECSchemaProvider {
|
|
|
13
13
|
* @public
|
|
14
14
|
*/
|
|
15
15
|
export interface ECClassHierarchyInspector {
|
|
16
|
-
classDerivesFrom(derivedClassFullName:
|
|
16
|
+
classDerivesFrom(derivedClassFullName: EC.FullClassName, candidateBaseClassFullName: EC.FullClassName): Promise<boolean> | boolean;
|
|
17
17
|
}
|
|
18
18
|
/**
|
|
19
19
|
* Creates a new `ECClassHierarchyInspector` that caches results of `derivesFrom` calls.
|
|
@@ -31,6 +31,9 @@ export declare function createCachingECClassHierarchyInspector(props: {
|
|
|
31
31
|
* @see `ECSchemaProvider`
|
|
32
32
|
*/
|
|
33
33
|
export declare namespace EC {
|
|
34
|
+
type FullClassNameDotNotation = `${string}.${string}`;
|
|
35
|
+
type FullClassNameColonNotation = `${string}:${string}`;
|
|
36
|
+
type FullClassName = FullClassNameColonNotation | FullClassNameDotNotation;
|
|
34
37
|
/**
|
|
35
38
|
* Represents an ECSchema that contains classes, relationships, etc.
|
|
36
39
|
* @see https://www.itwinjs.org/reference/ecschema-metadata/metadata/schema/
|
|
@@ -48,7 +51,7 @@ export declare namespace EC {
|
|
|
48
51
|
*/
|
|
49
52
|
interface SchemaItem {
|
|
50
53
|
schema: Schema;
|
|
51
|
-
fullName:
|
|
54
|
+
fullName: FullClassName;
|
|
52
55
|
name: string;
|
|
53
56
|
label?: string;
|
|
54
57
|
}
|
|
@@ -109,7 +112,7 @@ export declare namespace EC {
|
|
|
109
112
|
* @public
|
|
110
113
|
*/
|
|
111
114
|
interface RelationshipConstraint {
|
|
112
|
-
multiplicity
|
|
115
|
+
multiplicity: RelationshipConstraintMultiplicity;
|
|
113
116
|
polymorphic: boolean;
|
|
114
117
|
abstractConstraint: Promise<EntityClass | Mixin | RelationshipClass | undefined>;
|
|
115
118
|
}
|
|
@@ -241,8 +244,8 @@ export declare namespace EC {
|
|
|
241
244
|
* @public
|
|
242
245
|
*/
|
|
243
246
|
interface CustomAttributeSet {
|
|
244
|
-
[Symbol.iterator]: () => IterableIterator<[
|
|
245
|
-
get(className:
|
|
247
|
+
[Symbol.iterator]: () => IterableIterator<[FullClassName, CustomAttribute]>;
|
|
248
|
+
get(className: FullClassName): CustomAttribute | undefined;
|
|
246
249
|
}
|
|
247
250
|
/**
|
|
248
251
|
* Defines a custom attribute that may be applied to a class or property.
|
|
@@ -250,7 +253,7 @@ export declare namespace EC {
|
|
|
250
253
|
* @public
|
|
251
254
|
*/
|
|
252
255
|
interface CustomAttribute {
|
|
253
|
-
className:
|
|
256
|
+
className: FullClassName;
|
|
254
257
|
[propName: string]: any;
|
|
255
258
|
}
|
|
256
259
|
}
|
|
@@ -265,11 +268,11 @@ export type PrimitiveValueType = "Id" | Exclude<EC.PrimitiveType, "Binary" | "IG
|
|
|
265
268
|
*/
|
|
266
269
|
export interface RelationshipPathStep {
|
|
267
270
|
/** Full name of the source ECClass */
|
|
268
|
-
sourceClassName:
|
|
271
|
+
sourceClassName: EC.FullClassName;
|
|
269
272
|
/** Full name of the target ECClass */
|
|
270
|
-
targetClassName:
|
|
273
|
+
targetClassName: EC.FullClassName;
|
|
271
274
|
/** Full name of the ECRelationshipClass */
|
|
272
|
-
relationshipName:
|
|
275
|
+
relationshipName: EC.FullClassName;
|
|
273
276
|
/**
|
|
274
277
|
* Indicates that the relationship direction be reversed. This should be set to `true` when step direction
|
|
275
278
|
* doesn't match relationship direction, e.g. relationship is from source `A` to target `B` and the step
|
|
@@ -287,5 +290,5 @@ export type RelationshipPath<TStep extends RelationshipPathStep = RelationshipPa
|
|
|
287
290
|
* @throws Error if the schema or class is not found.
|
|
288
291
|
* @public
|
|
289
292
|
*/
|
|
290
|
-
export declare function getClass(schemaProvider: ECSchemaProvider, fullClassName:
|
|
293
|
+
export declare function getClass(schemaProvider: ECSchemaProvider, fullClassName: EC.FullClassName): Promise<EC.Class>;
|
|
291
294
|
//# sourceMappingURL=Metadata.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Metadata.d.ts","sourceRoot":"","sources":["../../../src/shared/Metadata.ts"],"names":[],"mappings":"AAQA;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAC/D;AAED;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACxC,gBAAgB,
|
|
1
|
+
{"version":3,"file":"Metadata.d.ts","sourceRoot":"","sources":["../../../src/shared/Metadata.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,7 +22,10 @@ function createCachingECClassHierarchyInspector(props) {
|
|
|
22
22
|
const cacheKey = createCacheKey(derivedClassFullName, candidateBaseClassFullName);
|
|
23
23
|
let result = map.get(cacheKey);
|
|
24
24
|
if (result === undefined) {
|
|
25
|
-
result = Promise.all([
|
|
25
|
+
result = Promise.all([
|
|
26
|
+
getClass(props.schemaProvider, derivedClassFullName),
|
|
27
|
+
getClass(props.schemaProvider, candidateBaseClassFullName),
|
|
28
|
+
]).then(async ([derivedClass, baseClass]) => {
|
|
26
29
|
const resolvedResult = await derivedClass.is(baseClass);
|
|
27
30
|
map.set(cacheKey, resolvedResult);
|
|
28
31
|
return resolvedResult;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Metadata.js","sourceRoot":"","sources":["../../../src/shared/Metadata.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;
|
|
1
|
+
{"version":3,"file":"Metadata.js","sourceRoot":"","sources":["../../../src/shared/Metadata.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;AA+BhG,wFA+BC;AAiTD,4BAWC;AAxXD,sDAA6C;AAC7C,yCAAgD;AAwBhD;;;GAGG;AACH,SAAgB,sCAAsC,CAAC,KAKtD;IACC,MAAM,GAAG,GAAG,IAAI,qBAAM,CAAqC,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;IACjF,SAAS,cAAc,CAAC,gBAAkC,EAAE,aAA+B;QACzF,OAAO,GAAG,gBAAgB,IAAI,aAAa,EAAE,CAAC;IAChD,CAAC;IACD,OAAO;QACL,gBAAgB,CACd,oBAAsC,EACtC,0BAA4C;YAE5C,MAAM,QAAQ,GAAG,cAAc,CAAC,oBAAoB,EAAE,0BAA0B,CAAC,CAAC;YAClF,IAAI,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC/B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;oBACnB,QAAQ,CAAC,KAAK,CAAC,cAAc,EAAE,oBAAoB,CAAC;oBACpD,QAAQ,CAAC,KAAK,CAAC,cAAc,EAAE,0BAA0B,CAAC;iBAC3D,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC,EAAE,EAAE;oBAC1C,MAAM,cAAc,GAAG,MAAM,YAAY,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;oBACxD,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;oBAClC,OAAO,cAAc,CAAC;gBACxB,CAAC,CAAC,CAAC;gBACH,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC5B,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC;AACJ,CAAC;AA4SD;;;;GAIG;AACI,KAAK,UAAU,QAAQ,CAAC,cAAgC,EAAE,aAA+B;IAC9F,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,IAAA,6BAAkB,EAAC,aAAa,CAAC,CAAC;IACpE,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAC1D,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,WAAW,UAAU,cAAc,CAAC,CAAC;IACvD,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACrD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,UAAU,SAAS,0BAA0B,UAAU,IAAI,CAAC,CAAC;IAC/E,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
import type { EC } from "./Metadata.js";
|
|
1
2
|
/**
|
|
2
3
|
* An utility to parse schema and class names from full class name, where
|
|
3
4
|
* schema and class names are separated by either `:` or `.`.
|
|
5
|
+
*
|
|
6
|
+
* @throws Error if the provided full class name is not valid.
|
|
4
7
|
* @public
|
|
5
8
|
*/
|
|
6
9
|
export declare function parseFullClassName(fullClassName: string): {
|
|
@@ -10,9 +13,17 @@ export declare function parseFullClassName(fullClassName: string): {
|
|
|
10
13
|
/**
|
|
11
14
|
* An utility to normalize full class name from either `SchemaName:ClassName` or
|
|
12
15
|
* `SchemaName.ClassName` to always use the dot format.
|
|
16
|
+
*
|
|
17
|
+
* @throws Error if the provided full class name is not valid.
|
|
18
|
+
* @public
|
|
19
|
+
*/
|
|
20
|
+
export declare function normalizeFullClassName(fullClassName: string): EC.FullClassNameDotNotation;
|
|
21
|
+
/**
|
|
22
|
+
* An utility that compares two full class names in a case insensitive way, ignoring different
|
|
23
|
+
* supported schema-class name separators (`.` or `:`).
|
|
13
24
|
* @public
|
|
14
25
|
*/
|
|
15
|
-
export declare function
|
|
26
|
+
export declare function compareFullClassNames(lhs: EC.FullClassName, rhs: EC.FullClassName): number;
|
|
16
27
|
/**
|
|
17
28
|
* An utility to remove all extra whitespace from a given string.
|
|
18
29
|
* @public
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Utils.d.ts","sourceRoot":"","sources":["../../../src/shared/Utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Utils.d.ts","sourceRoot":"","sources":["../../../src/shared/Utils.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAExC;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,MAAM;;;EAMvD;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,MAAM,GAAG,EAAE,CAAC,wBAAwB,CAGzF;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE,EAAE,CAAC,aAAa,GAAG,MAAM,CAS1F;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;AACpD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;AAc5E;;;;;GAKG;AACH,wBAAsB,iBAAiB,kBAEtC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,0CAA0C,CAAC,mBAAmB,SAAK,SAEtE,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CASrC;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAGzD"}
|
package/lib/cjs/shared/Utils.js
CHANGED
|
@@ -6,39 +6,53 @@
|
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.parseFullClassName = parseFullClassName;
|
|
8
8
|
exports.normalizeFullClassName = normalizeFullClassName;
|
|
9
|
+
exports.compareFullClassNames = compareFullClassNames;
|
|
9
10
|
exports.trimWhitespace = trimWhitespace;
|
|
10
11
|
exports.releaseMainThread = releaseMainThread;
|
|
11
12
|
exports.createMainThreadReleaseOnTimePassedHandler = createMainThreadReleaseOnTimePassedHandler;
|
|
12
13
|
exports.julianToDateTime = julianToDateTime;
|
|
13
|
-
const core_bentley_1 = require("@itwin/core-bentley");
|
|
14
14
|
/**
|
|
15
15
|
* An utility to parse schema and class names from full class name, where
|
|
16
16
|
* schema and class names are separated by either `:` or `.`.
|
|
17
|
+
*
|
|
18
|
+
* @throws Error if the provided full class name is not valid.
|
|
17
19
|
* @public
|
|
18
20
|
*/
|
|
19
21
|
function parseFullClassName(fullClassName) {
|
|
20
|
-
const [schemaName, className] = fullClassName.split(/[\.:]/);
|
|
21
|
-
|
|
22
|
+
const [schemaName, className, ...rest] = fullClassName.split(/[\.:]/);
|
|
23
|
+
if (!schemaName || !className || rest.length > 0) {
|
|
24
|
+
throw new Error(`Invalid full class name: ${fullClassName}`);
|
|
25
|
+
}
|
|
22
26
|
return { schemaName, className };
|
|
23
27
|
}
|
|
24
28
|
/**
|
|
25
29
|
* An utility to normalize full class name from either `SchemaName:ClassName` or
|
|
26
30
|
* `SchemaName.ClassName` to always use the dot format.
|
|
31
|
+
*
|
|
32
|
+
* @throws Error if the provided full class name is not valid.
|
|
27
33
|
* @public
|
|
28
34
|
*/
|
|
29
35
|
function normalizeFullClassName(fullClassName) {
|
|
30
|
-
const
|
|
31
|
-
if (-1 === colonPos) {
|
|
32
|
-
(0, core_bentley_1.assert)(fullClassName.indexOf(".") !== -1, "Invalid full class name");
|
|
33
|
-
return fullClassName;
|
|
34
|
-
}
|
|
35
|
-
const schemaName = fullClassName.slice(0, colonPos);
|
|
36
|
-
const className = fullClassName.slice(colonPos + 1);
|
|
36
|
+
const { schemaName, className } = parseFullClassName(fullClassName);
|
|
37
37
|
return `${schemaName}.${className}`;
|
|
38
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* An utility that compares two full class names in a case insensitive way, ignoring different
|
|
41
|
+
* supported schema-class name separators (`.` or `:`).
|
|
42
|
+
* @public
|
|
43
|
+
*/
|
|
44
|
+
function compareFullClassNames(lhs, rhs) {
|
|
45
|
+
const parsed = { lhs: parseFullClassName(lhs), rhs: parseFullClassName(rhs) };
|
|
46
|
+
const schemaCompare = parsed.lhs.schemaName
|
|
47
|
+
.toLocaleLowerCase()
|
|
48
|
+
.localeCompare(parsed.rhs.schemaName.toLocaleLowerCase());
|
|
49
|
+
if (schemaCompare !== 0) {
|
|
50
|
+
return schemaCompare;
|
|
51
|
+
}
|
|
52
|
+
return parsed.lhs.className.toLocaleLowerCase().localeCompare(parsed.rhs.className.toLocaleLowerCase());
|
|
53
|
+
}
|
|
39
54
|
/** @public */
|
|
40
55
|
function trimWhitespace(str) {
|
|
41
|
-
/* c8 ignore next 3 */
|
|
42
56
|
if (!str) {
|
|
43
57
|
return str;
|
|
44
58
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../../src/shared/Utils.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;
|
|
1
|
+
{"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../../src/shared/Utils.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;AAWhG,gDAMC;AASD,wDAGC;AAOD,sDASC;AAaD,wCAUC;AAQD,8CAEC;AAkBD,gGAWC;AAMD,4CAGC;AAhHD;;;;;;GAMG;AACH,SAAgB,kBAAkB,CAAC,aAAqB;IACtD,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACtE,IAAI,CAAC,UAAU,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CAAC,4BAA4B,aAAa,EAAE,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;AACnC,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,sBAAsB,CAAC,aAAqB;IAC1D,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAC;IACpE,OAAO,GAAG,UAAU,IAAI,SAAS,EAAE,CAAC;AACtC,CAAC;AAED;;;;GAIG;AACH,SAAgB,qBAAqB,CAAC,GAAqB,EAAE,GAAqB;IAChF,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,kBAAkB,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;IAC9E,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU;SACxC,iBAAiB,EAAE;SACnB,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAC5D,IAAI,aAAa,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,OAAO,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC,CAAC;AAC1G,CAAC;AAYD,cAAc;AACd,SAAgB,cAAc,CAAC,GAAuB;IACpD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,GAAG;SACP,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,qDAAqD;SAC9E,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,0CAA0C;SACpE,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,2CAA2C;SACrE,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,6BAA6B;SACtD,IAAI,EAAE,CAAC,CAAC,qDAAqD;AAClE,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,iBAAiB;IACrC,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,0CAA0C,CAAC,mBAAmB,GAAG,EAAE;IACjF,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,OAAO,GAA8B,EAAE;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;QACnC,IAAI,OAAO,GAAG,mBAAmB,EAAE,CAAC;YAClC,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,iBAAiB,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;YACnC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAgB,gBAAgB,CAAC,UAAkB;IACjD,MAAM,MAAM,GAAG,CAAC,UAAU,GAAG,SAAS,CAAC,GAAG,QAAQ,CAAC;IACnD,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;AAC1B,CAAC"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { Id64String } from "@itwin/core-bentley";
|
|
2
|
-
import { PrimitiveValueType } from "./Metadata.js";
|
|
1
|
+
import type { Id64String } from "@itwin/core-bentley";
|
|
2
|
+
import type { EC, PrimitiveValueType } from "./Metadata.js";
|
|
3
3
|
/**
|
|
4
4
|
* A data structure uniquely identifying an ECInstance in an iModel.
|
|
5
5
|
* @public
|
|
6
6
|
*/
|
|
7
7
|
export interface InstanceKey {
|
|
8
8
|
/** Full class name in format `SchemaName.ClassName` */
|
|
9
|
-
className:
|
|
9
|
+
className: EC.FullClassName;
|
|
10
10
|
/** ECInstance ID */
|
|
11
11
|
id: Id64String;
|
|
12
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Values.d.ts","sourceRoot":"","sources":["../../../src/shared/Values.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Values.d.ts","sourceRoot":"","sources":["../../../src/shared/Values.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,EAAE,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAE5D;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,uDAAuD;IACvD,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC;IAC5B,oBAAoB;IACpB,EAAE,EAAE,UAAU,CAAC;CAChB;AAED,cAAc;AACd,yBAAiB,WAAW,CAAC;IAC3B;;;OAGG;IACH,SAAgB,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAElE;IACD;;;;;;OAMG;IACH,SAAgB,OAAO,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,GAAG,MAAM,CASlE;CACF;AAED;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,OAAO,GAAG,OAAO,CAAC;AAE/F,cAAc;AAEd,yBAAiB,cAAc,CAAC;IAC9B;;;;OAIG;IACH,SAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,KAAK,IAAI,OAAO,CAKjE;IAED;;;OAGG;IACH,SAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,KAAK,IAAI,OAAO,CAKjE;CACF;AAED;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAC9B;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAAA;CAAE,GAC3C;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GACnC;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,GACjC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GACjC;IACE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC9B,IAAI,EAAE,UAAU,CAAC;CAClB,GACD;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GACnC;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,SAAS,CAAA;CAAE,CACtC,GAAG;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9B,cAAc;AAEd,yBAAiB,mBAAmB,CAAC;IACnC;;;;OAIG;IACH,SAAgB,MAAM,CACpB,KAAK,EAAE,cAAc,EACrB,IAAI,EAAE,kBAAkB,EACxB,OAAO,CAAC,EAAE,MAAM,EAChB,YAAY,CAAC,EAAE,MAAM,GACpB,mBAAmB,CA6CrB;CACF"}
|
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 = {}));
|
|
@@ -77,75 +76,42 @@ var TypedPrimitiveValue;
|
|
|
77
76
|
case "Integer":
|
|
78
77
|
case "Long":
|
|
79
78
|
if (typeof value === "number") {
|
|
80
|
-
return {
|
|
81
|
-
type,
|
|
82
|
-
extendedType,
|
|
83
|
-
value,
|
|
84
|
-
};
|
|
79
|
+
return { type, extendedType, value };
|
|
85
80
|
}
|
|
86
81
|
break;
|
|
87
82
|
case "Double":
|
|
88
83
|
if (typeof value === "number") {
|
|
89
|
-
return {
|
|
90
|
-
type,
|
|
91
|
-
koqName,
|
|
92
|
-
extendedType,
|
|
93
|
-
value,
|
|
94
|
-
};
|
|
84
|
+
return { type, koqName, extendedType, value };
|
|
95
85
|
}
|
|
96
86
|
break;
|
|
97
87
|
case "Boolean":
|
|
98
88
|
if (typeof value === "boolean") {
|
|
99
|
-
return {
|
|
100
|
-
type,
|
|
101
|
-
extendedType,
|
|
102
|
-
value,
|
|
103
|
-
};
|
|
89
|
+
return { type, extendedType, value };
|
|
104
90
|
}
|
|
105
91
|
break;
|
|
106
92
|
case "Id":
|
|
107
93
|
if (typeof value === "string" && core_bentley_1.Id64.isId64(value)) {
|
|
108
|
-
return {
|
|
109
|
-
type,
|
|
110
|
-
extendedType,
|
|
111
|
-
value,
|
|
112
|
-
};
|
|
94
|
+
return { type, extendedType, value };
|
|
113
95
|
}
|
|
114
96
|
break;
|
|
115
97
|
case "String":
|
|
116
98
|
if (typeof value === "string") {
|
|
117
|
-
return {
|
|
118
|
-
type,
|
|
119
|
-
extendedType,
|
|
120
|
-
value,
|
|
121
|
-
};
|
|
99
|
+
return { type, extendedType, value };
|
|
122
100
|
}
|
|
123
101
|
break;
|
|
124
102
|
case "DateTime":
|
|
125
103
|
if (typeof value === "string" || typeof value === "number" || value instanceof Date) {
|
|
126
|
-
return {
|
|
127
|
-
type,
|
|
128
|
-
extendedType,
|
|
129
|
-
value,
|
|
130
|
-
};
|
|
104
|
+
return { type, extendedType, value };
|
|
131
105
|
}
|
|
132
106
|
break;
|
|
133
107
|
case "Point3d":
|
|
134
108
|
if (PrimitiveValue.isPoint3d(value)) {
|
|
135
|
-
return {
|
|
136
|
-
type,
|
|
137
|
-
extendedType,
|
|
138
|
-
value,
|
|
139
|
-
};
|
|
109
|
+
return { type, extendedType, value };
|
|
140
110
|
}
|
|
141
111
|
break;
|
|
142
112
|
case "Point2d":
|
|
143
113
|
if (PrimitiveValue.isPoint2d(value)) {
|
|
144
|
-
return {
|
|
145
|
-
type,
|
|
146
|
-
extendedType,
|
|
147
|
-
value,
|
|
148
|
-
};
|
|
114
|
+
return { type, extendedType, value };
|
|
149
115
|
}
|
|
150
116
|
break;
|
|
151
117
|
}
|