@itwin/presentation-shared 0.1.0
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 +7 -0
- package/LICENSE.md +9 -0
- package/README.md +434 -0
- package/lib/cjs/presentation-shared.d.ts +13 -0
- package/lib/cjs/presentation-shared.d.ts.map +1 -0
- package/lib/cjs/presentation-shared.js +58 -0
- package/lib/cjs/presentation-shared.js.map +1 -0
- package/lib/cjs/shared/ConcatenatedValue.d.ts +47 -0
- package/lib/cjs/shared/ConcatenatedValue.d.ts.map +1 -0
- package/lib/cjs/shared/ConcatenatedValue.js +45 -0
- package/lib/cjs/shared/ConcatenatedValue.js.map +1 -0
- package/lib/cjs/shared/ECSqlCore.d.ts +91 -0
- package/lib/cjs/shared/ECSqlCore.d.ts.map +1 -0
- package/lib/cjs/shared/ECSqlCore.js +7 -0
- package/lib/cjs/shared/ECSqlCore.js.map +1 -0
- package/lib/cjs/shared/Event.d.ts +9 -0
- package/lib/cjs/shared/Event.d.ts.map +1 -0
- package/lib/cjs/shared/Event.js +7 -0
- package/lib/cjs/shared/Event.js.map +1 -0
- package/lib/cjs/shared/Formatting.d.ts +39 -0
- package/lib/cjs/shared/Formatting.d.ts.map +1 -0
- package/lib/cjs/shared/Formatting.js +132 -0
- package/lib/cjs/shared/Formatting.js.map +1 -0
- package/lib/cjs/shared/InstanceLabelSelectClauseFactory.d.ts +129 -0
- package/lib/cjs/shared/InstanceLabelSelectClauseFactory.d.ts.map +1 -0
- package/lib/cjs/shared/InstanceLabelSelectClauseFactory.js +167 -0
- package/lib/cjs/shared/InstanceLabelSelectClauseFactory.js.map +1 -0
- package/lib/cjs/shared/InternalUtils.d.ts +3 -0
- package/lib/cjs/shared/InternalUtils.d.ts.map +1 -0
- package/lib/cjs/shared/InternalUtils.js +14 -0
- package/lib/cjs/shared/InternalUtils.js.map +1 -0
- package/lib/cjs/shared/Logging.d.ts +27 -0
- package/lib/cjs/shared/Logging.d.ts.map +1 -0
- package/lib/cjs/shared/Logging.js +20 -0
- package/lib/cjs/shared/Logging.js.map +1 -0
- package/lib/cjs/shared/MappedTypes.d.ts +11 -0
- package/lib/cjs/shared/MappedTypes.d.ts.map +1 -0
- package/lib/cjs/shared/MappedTypes.js +7 -0
- package/lib/cjs/shared/MappedTypes.js.map +1 -0
- package/lib/cjs/shared/Metadata.d.ts +268 -0
- package/lib/cjs/shared/Metadata.d.ts.map +1 -0
- package/lib/cjs/shared/Metadata.js +54 -0
- package/lib/cjs/shared/Metadata.js.map +1 -0
- package/lib/cjs/shared/Utils.d.ts +26 -0
- package/lib/cjs/shared/Utils.d.ts.map +1 -0
- package/lib/cjs/shared/Utils.js +50 -0
- package/lib/cjs/shared/Utils.js.map +1 -0
- package/lib/cjs/shared/Values.d.ts +119 -0
- package/lib/cjs/shared/Values.d.ts.map +1 -0
- package/lib/cjs/shared/Values.js +156 -0
- package/lib/cjs/shared/Values.js.map +1 -0
- package/lib/cjs/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts +48 -0
- package/lib/cjs/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts.map +1 -0
- package/lib/cjs/shared/ecsql-snippets/ECSqlJoinSnippets.js +139 -0
- package/lib/cjs/shared/ecsql-snippets/ECSqlJoinSnippets.js.map +1 -0
- package/lib/cjs/shared/ecsql-snippets/ECSqlValueSelectorSnippets.d.ts +116 -0
- package/lib/cjs/shared/ecsql-snippets/ECSqlValueSelectorSnippets.d.ts.map +1 -0
- package/lib/cjs/shared/ecsql-snippets/ECSqlValueSelectorSnippets.js +244 -0
- package/lib/cjs/shared/ecsql-snippets/ECSqlValueSelectorSnippets.js.map +1 -0
- package/lib/cjs/shared/ecsql-snippets/index.d.ts +3 -0
- package/lib/cjs/shared/ecsql-snippets/index.d.ts.map +1 -0
- package/lib/cjs/shared/ecsql-snippets/index.js +16 -0
- package/lib/cjs/shared/ecsql-snippets/index.js.map +1 -0
- package/lib/esm/presentation-shared.d.ts +13 -0
- package/lib/esm/presentation-shared.d.ts.map +1 -0
- package/lib/esm/presentation-shared.js +15 -0
- package/lib/esm/presentation-shared.js.map +1 -0
- package/lib/esm/shared/ConcatenatedValue.d.ts +47 -0
- package/lib/esm/shared/ConcatenatedValue.d.ts.map +1 -0
- package/lib/esm/shared/ConcatenatedValue.js +42 -0
- package/lib/esm/shared/ConcatenatedValue.js.map +1 -0
- package/lib/esm/shared/ECSqlCore.d.ts +91 -0
- package/lib/esm/shared/ECSqlCore.d.ts.map +1 -0
- package/lib/esm/shared/ECSqlCore.js +6 -0
- package/lib/esm/shared/ECSqlCore.js.map +1 -0
- package/lib/esm/shared/Event.d.ts +9 -0
- package/lib/esm/shared/Event.d.ts.map +1 -0
- package/lib/esm/shared/Event.js +6 -0
- package/lib/esm/shared/Event.js.map +1 -0
- package/lib/esm/shared/Formatting.d.ts +39 -0
- package/lib/esm/shared/Formatting.d.ts.map +1 -0
- package/lib/esm/shared/Formatting.js +127 -0
- package/lib/esm/shared/Formatting.js.map +1 -0
- package/lib/esm/shared/InstanceLabelSelectClauseFactory.d.ts +129 -0
- package/lib/esm/shared/InstanceLabelSelectClauseFactory.d.ts.map +1 -0
- package/lib/esm/shared/InstanceLabelSelectClauseFactory.js +160 -0
- package/lib/esm/shared/InstanceLabelSelectClauseFactory.js.map +1 -0
- package/lib/esm/shared/InternalUtils.d.ts +3 -0
- package/lib/esm/shared/InternalUtils.d.ts.map +1 -0
- package/lib/esm/shared/InternalUtils.js +10 -0
- package/lib/esm/shared/InternalUtils.js.map +1 -0
- package/lib/esm/shared/Logging.d.ts +27 -0
- package/lib/esm/shared/Logging.d.ts.map +1 -0
- package/lib/esm/shared/Logging.js +17 -0
- package/lib/esm/shared/Logging.js.map +1 -0
- package/lib/esm/shared/MappedTypes.d.ts +11 -0
- package/lib/esm/shared/MappedTypes.d.ts.map +1 -0
- package/lib/esm/shared/MappedTypes.js +6 -0
- package/lib/esm/shared/MappedTypes.js.map +1 -0
- package/lib/esm/shared/Metadata.d.ts +268 -0
- package/lib/esm/shared/Metadata.d.ts.map +1 -0
- package/lib/esm/shared/Metadata.js +49 -0
- package/lib/esm/shared/Metadata.js.map +1 -0
- package/lib/esm/shared/Utils.d.ts +26 -0
- package/lib/esm/shared/Utils.d.ts.map +1 -0
- package/lib/esm/shared/Utils.js +44 -0
- package/lib/esm/shared/Utils.js.map +1 -0
- package/lib/esm/shared/Values.d.ts +119 -0
- package/lib/esm/shared/Values.d.ts.map +1 -0
- package/lib/esm/shared/Values.js +153 -0
- package/lib/esm/shared/Values.js.map +1 -0
- package/lib/esm/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts +48 -0
- package/lib/esm/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts.map +1 -0
- package/lib/esm/shared/ecsql-snippets/ECSqlJoinSnippets.js +135 -0
- package/lib/esm/shared/ecsql-snippets/ECSqlJoinSnippets.js.map +1 -0
- package/lib/esm/shared/ecsql-snippets/ECSqlValueSelectorSnippets.d.ts +116 -0
- package/lib/esm/shared/ecsql-snippets/ECSqlValueSelectorSnippets.d.ts.map +1 -0
- package/lib/esm/shared/ecsql-snippets/ECSqlValueSelectorSnippets.js +236 -0
- package/lib/esm/shared/ecsql-snippets/ECSqlValueSelectorSnippets.js.map +1 -0
- package/lib/esm/shared/ecsql-snippets/index.d.ts +3 -0
- package/lib/esm/shared/ecsql-snippets/index.d.ts.map +1 -0
- package/lib/esm/shared/ecsql-snippets/index.js +7 -0
- package/lib/esm/shared/ecsql-snippets/index.js.map +1 -0
- package/package.json +59 -0
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
import { Id64 } from "@itwin/core-bentley";
|
|
6
|
+
import { PrimitiveValue } from "../Values";
|
|
7
|
+
/** @internal */
|
|
8
|
+
// eslint-disable-next-line @typescript-eslint/no-redeclare
|
|
9
|
+
export var TypedValueSelectClauseProps;
|
|
10
|
+
(function (TypedValueSelectClauseProps) {
|
|
11
|
+
/** @internal */
|
|
12
|
+
function isPropertySelector(props) {
|
|
13
|
+
return !!props.propertyName;
|
|
14
|
+
}
|
|
15
|
+
TypedValueSelectClauseProps.isPropertySelector = isPropertySelector;
|
|
16
|
+
/** @internal */
|
|
17
|
+
function isPrimitiveValue(props) {
|
|
18
|
+
return !!props.value;
|
|
19
|
+
}
|
|
20
|
+
TypedValueSelectClauseProps.isPrimitiveValue = isPrimitiveValue;
|
|
21
|
+
/** @internal */
|
|
22
|
+
function isPrimitiveValueSelector(props) {
|
|
23
|
+
return !!props.selector;
|
|
24
|
+
}
|
|
25
|
+
TypedValueSelectClauseProps.isPrimitiveValueSelector = isPrimitiveValueSelector;
|
|
26
|
+
})(TypedValueSelectClauseProps || (TypedValueSelectClauseProps = {}));
|
|
27
|
+
/**
|
|
28
|
+
* Creates an ECSQL selector for raw property value, or, optionally - it's component. Example result:
|
|
29
|
+
* `[classAlias].[propertyName].[componentName]`.
|
|
30
|
+
*
|
|
31
|
+
* @beta
|
|
32
|
+
*/
|
|
33
|
+
export function createRawPropertyValueSelector(classAlias, propertyName, componentName) {
|
|
34
|
+
let propertySelector = `[${classAlias}].[${propertyName}]`;
|
|
35
|
+
if (componentName) {
|
|
36
|
+
propertySelector += `.[${componentName}]`;
|
|
37
|
+
}
|
|
38
|
+
return propertySelector;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Creates an ECSQL selector for a raw primitive value.
|
|
42
|
+
* - `undefined` is selected as `NULL`.
|
|
43
|
+
* - `Date` values are selected in julian day format.
|
|
44
|
+
* - `Point2d` and `Point3d` values are selected as serialized JSON objects, e.g. `{ x: 1, y: 2, z: 3 }`.
|
|
45
|
+
* - Other kinds of values are selected as-is.
|
|
46
|
+
*
|
|
47
|
+
* @beta
|
|
48
|
+
*/
|
|
49
|
+
export function createRawPrimitiveValueSelector(value) {
|
|
50
|
+
if (value === undefined) {
|
|
51
|
+
return "NULL";
|
|
52
|
+
}
|
|
53
|
+
if (value instanceof Date) {
|
|
54
|
+
return `julianday('${value.toISOString()}')`;
|
|
55
|
+
}
|
|
56
|
+
if (PrimitiveValue.isPoint3d(value)) {
|
|
57
|
+
return `json_object('x', ${value.x}, 'y', ${value.y}, 'z', ${value.z})`;
|
|
58
|
+
}
|
|
59
|
+
if (PrimitiveValue.isPoint2d(value)) {
|
|
60
|
+
return `json_object('x', ${value.x}, 'y', ${value.y})`;
|
|
61
|
+
}
|
|
62
|
+
switch (typeof value) {
|
|
63
|
+
case "string":
|
|
64
|
+
return Id64.isId64(value) ? value : `'${value}'`;
|
|
65
|
+
case "number":
|
|
66
|
+
return value.toString();
|
|
67
|
+
case "boolean":
|
|
68
|
+
return value ? "TRUE" : "FALSE";
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Creates a clause for returning `NULL` when `checkSelector` returns a falsy value, or result of `valueSelector`
|
|
73
|
+
* otherwise. Example result: `IIF(CHECK_SELECTOR, VALUE_SELECTOR, NULL)`.
|
|
74
|
+
*
|
|
75
|
+
* @note In SQL `NULL` is not considered falsy, so when checking for `NULL` values, the `checkSelector` should
|
|
76
|
+
* be like `{selector} IS NOT NULL` rather than just `${selector}`.
|
|
77
|
+
*
|
|
78
|
+
* @beta
|
|
79
|
+
*/
|
|
80
|
+
export function createNullableSelector(props) {
|
|
81
|
+
return `IIF(${props.checkSelector}, ${props.valueSelector}, NULL)`;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Create an ECSQL selector combined of multiple typed value selectors in a form of a JSON array. This allows handling results
|
|
85
|
+
* of each value selector individually when parsing query result.
|
|
86
|
+
*
|
|
87
|
+
* Example result: `json_array(VALUE_SELECTOR_1, VALUE_SELECTOR_2, ...)`.
|
|
88
|
+
*
|
|
89
|
+
* Optionally, the function also accepts a `checkSelector` argument, which can be used to make the selector return
|
|
90
|
+
* `NULL` result when the argument selector results in `NULL`. Example result with `checkSelector`:
|
|
91
|
+
* `IIF(CHECK_SELECTOR, json_array(VALUE_SELECTOR_1, VALUE_SELECTOR_2, ...), NULL)`.
|
|
92
|
+
*
|
|
93
|
+
* @note The resulting JSON is of `ConcatenatedValue` type and it's recommended to use `ConcatenatedValue.serialize` to
|
|
94
|
+
* handle each individual part.
|
|
95
|
+
*
|
|
96
|
+
* @see `ConcatenatedValue`
|
|
97
|
+
*
|
|
98
|
+
* @beta
|
|
99
|
+
*/
|
|
100
|
+
export function createConcatenatedValueJsonSelector(selectors, checkSelector) {
|
|
101
|
+
const combinedSelectors = `json_array(${selectors.map((sel) => createTypedValueJsonSelector(sel)).join(", ")})`;
|
|
102
|
+
if (checkSelector) {
|
|
103
|
+
return createNullableSelector({ checkSelector, valueSelector: combinedSelectors });
|
|
104
|
+
}
|
|
105
|
+
return combinedSelectors;
|
|
106
|
+
}
|
|
107
|
+
function createTypedValueJsonSelector(props) {
|
|
108
|
+
if (TypedValueSelectClauseProps.isPropertySelector(props)) {
|
|
109
|
+
if (props.specialType) {
|
|
110
|
+
// eslint-disable-next-line @typescript-eslint/no-shadow
|
|
111
|
+
const [valueSelector, typeOverride] = createSpecialPropertyValueJsonSelector(props.propertyClassAlias, props.propertyName, props.specialType);
|
|
112
|
+
return createTypedValueJsonSelector({ selector: valueSelector, type: typeOverride });
|
|
113
|
+
}
|
|
114
|
+
return `
|
|
115
|
+
json_object(
|
|
116
|
+
'className', '${props.propertyClassName}',
|
|
117
|
+
'propertyName', '${props.propertyName}',
|
|
118
|
+
'value', ${createRawPropertyValueSelector(props.propertyClassAlias, props.propertyName)}
|
|
119
|
+
)
|
|
120
|
+
`;
|
|
121
|
+
}
|
|
122
|
+
if (TypedValueSelectClauseProps.isPrimitiveValueSelector(props)) {
|
|
123
|
+
if (props.type) {
|
|
124
|
+
return `
|
|
125
|
+
json_object(
|
|
126
|
+
'value', ${props.selector},
|
|
127
|
+
'type', '${props.type}'
|
|
128
|
+
)
|
|
129
|
+
`;
|
|
130
|
+
}
|
|
131
|
+
return props.selector;
|
|
132
|
+
}
|
|
133
|
+
return `
|
|
134
|
+
json_object(
|
|
135
|
+
'value', ${createPrimitiveValueJsonSelector(props.value)},
|
|
136
|
+
'type', '${props.type}'
|
|
137
|
+
)
|
|
138
|
+
`;
|
|
139
|
+
}
|
|
140
|
+
function createSpecialPropertyValueJsonSelector(classAlias, propertyName, specialType) {
|
|
141
|
+
const propertySelector = `[${classAlias}].[${propertyName}]`;
|
|
142
|
+
switch (specialType) {
|
|
143
|
+
case "Navigation":
|
|
144
|
+
return [`${propertySelector}.[Id]`, "Id"];
|
|
145
|
+
case "Guid":
|
|
146
|
+
return [`GuidToStr(${propertySelector})`, "String"];
|
|
147
|
+
case "Point2d":
|
|
148
|
+
return [`json_object('x', ${propertySelector}.[x], 'y', ${propertySelector}.[y])`, "Point2d"];
|
|
149
|
+
case "Point3d":
|
|
150
|
+
return [`json_object('x', ${propertySelector}.[x], 'y', ${propertySelector}.[y], 'z', ${propertySelector}.[z])`, "Point3d"];
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
function createPrimitiveValueJsonSelector(value) {
|
|
154
|
+
if (value instanceof Date) {
|
|
155
|
+
return `'${value.toISOString()}'`;
|
|
156
|
+
}
|
|
157
|
+
if (PrimitiveValue.isPoint3d(value)) {
|
|
158
|
+
return `json_object('x', ${value.x}, 'y', ${value.y}, 'z', ${value.z})`;
|
|
159
|
+
}
|
|
160
|
+
if (PrimitiveValue.isPoint2d(value)) {
|
|
161
|
+
return `json_object('x', ${value.x}, 'y', ${value.y})`;
|
|
162
|
+
}
|
|
163
|
+
switch (typeof value) {
|
|
164
|
+
case "string":
|
|
165
|
+
return Id64.isId64(value) ? value : `'${value}'`;
|
|
166
|
+
case "number":
|
|
167
|
+
return value.toString();
|
|
168
|
+
case "boolean":
|
|
169
|
+
return value ? "TRUE" : "FALSE";
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Create an ECSQL selector combined of multiple typed value selectors in a form of a string.
|
|
174
|
+
*
|
|
175
|
+
* Example result: `VALUE_SELECTOR_1 || VALUE_SELECTOR_2 || ...`.
|
|
176
|
+
*
|
|
177
|
+
* Optionally, the function also accepts a `checkSelector` argument, which can be used to make the selector return
|
|
178
|
+
* `NULL` result when `checkSelector` results in a falsy value. Example result with `checkSelector`:
|
|
179
|
+
* `IIF(CHECK_SELECTOR, VALUE_SELECTOR_1 || VALUE_SELECTOR_2 || ..., NULL)`.
|
|
180
|
+
*
|
|
181
|
+
* @note Not all types of `TypedValueSelectClauseProps` can be serialized to a user-friendly string, e.g. when
|
|
182
|
+
* selecting a numeric value with units, this function is going to select the raw value. To create properly formatted
|
|
183
|
+
* concatenated values:
|
|
184
|
+
* 1. They should be selected with `createConcatenatedValueJsonSelector`, which returns a serialized JSON object.
|
|
185
|
+
* 2. The JSON should be parsed from resulting string and passed to `ConcatenatedValue.serialize`, which additionally
|
|
186
|
+
* takes a formatter. One can be created using `createDefaultValueFormatter`.
|
|
187
|
+
*
|
|
188
|
+
* @beta
|
|
189
|
+
*/
|
|
190
|
+
export function createConcatenatedValueStringSelector(selectors, checkSelector) {
|
|
191
|
+
const combinedSelectors = selectors.length ? selectors.map((sel) => createTypedValueStringSelector(sel)).join(" || ") : "''";
|
|
192
|
+
if (checkSelector) {
|
|
193
|
+
return createNullableSelector({ checkSelector, valueSelector: combinedSelectors });
|
|
194
|
+
}
|
|
195
|
+
return combinedSelectors;
|
|
196
|
+
}
|
|
197
|
+
function createTypedValueStringSelector(props) {
|
|
198
|
+
if (TypedValueSelectClauseProps.isPropertySelector(props)) {
|
|
199
|
+
if (props.specialType) {
|
|
200
|
+
// eslint-disable-next-line @typescript-eslint/no-shadow
|
|
201
|
+
const [valueSelector, typeOverride] = createSpecialPropertyValueStringSelector(props.propertyClassAlias, props.propertyName, props.specialType);
|
|
202
|
+
return createTypedValueStringSelector({ selector: valueSelector, type: typeOverride });
|
|
203
|
+
}
|
|
204
|
+
return createRawPropertyValueSelector(props.propertyClassAlias, props.propertyName);
|
|
205
|
+
}
|
|
206
|
+
if (TypedValueSelectClauseProps.isPrimitiveValueSelector(props)) {
|
|
207
|
+
return props.selector;
|
|
208
|
+
}
|
|
209
|
+
return createPrimitiveValueStringSelector(props.value);
|
|
210
|
+
}
|
|
211
|
+
function createSpecialPropertyValueStringSelector(classAlias, propertyName, specialType) {
|
|
212
|
+
const propertySelector = createRawPropertyValueSelector(classAlias, propertyName);
|
|
213
|
+
switch (specialType) {
|
|
214
|
+
case "Navigation":
|
|
215
|
+
return [`CAST(${propertySelector}.[Id] AS TEXT)`, "Id"];
|
|
216
|
+
case "Guid":
|
|
217
|
+
return [`GuidToStr(${propertySelector})`, "String"];
|
|
218
|
+
case "Point2d":
|
|
219
|
+
return [`'(' || ${propertySelector}.[x] || ', ' || ${propertySelector}.[y] || ')'`, "Point2d"];
|
|
220
|
+
case "Point3d":
|
|
221
|
+
return [`'(' || ${propertySelector}.[x] || ', ' || ${propertySelector}.[y] || ', ' || ${propertySelector}.[z] || ')'`, "Point3d"];
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
function createPrimitiveValueStringSelector(value) {
|
|
225
|
+
if (value instanceof Date) {
|
|
226
|
+
return `'${value.toLocaleString()}'`;
|
|
227
|
+
}
|
|
228
|
+
if (PrimitiveValue.isPoint3d(value)) {
|
|
229
|
+
return `'(${value.x}, ${value.y}, ${value.z})'`;
|
|
230
|
+
}
|
|
231
|
+
if (PrimitiveValue.isPoint2d(value)) {
|
|
232
|
+
return `'(${value.x}, ${value.y})'`;
|
|
233
|
+
}
|
|
234
|
+
return `'${value.toString()}'`;
|
|
235
|
+
}
|
|
236
|
+
//# sourceMappingURL=ECSqlValueSelectorSnippets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ECSqlValueSelectorSnippets.js","sourceRoot":"","sources":["../../../../src/shared/ecsql-snippets/ECSqlValueSelectorSnippets.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { createRawPropertyValueSelector, createRawPrimitiveValueSelector, createNullableSelector, createConcatenatedValueJsonSelector, createConcatenatedValueStringSelector, } from "./ECSqlValueSelectorSnippets";
|
|
2
|
+
export { createRelationshipPathJoinClause } from "./ECSqlJoinSnippets";
|
|
3
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared/ecsql-snippets/index.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,8BAA8B,EAC9B,+BAA+B,EAC/B,sBAAsB,EACtB,mCAAmC,EACnC,qCAAqC,GACtC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
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
|
+
export { createRawPropertyValueSelector, createRawPrimitiveValueSelector, createNullableSelector, createConcatenatedValueJsonSelector, createConcatenatedValueStringSelector, } from "./ECSqlValueSelectorSnippets";
|
|
6
|
+
export { createRelationshipPathJoinClause } from "./ECSqlJoinSnippets";
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared/ecsql-snippets/index.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EACL,8BAA8B,EAC9B,+BAA+B,EAC/B,sBAAsB,EACtB,mCAAmC,EACnC,qCAAqC,GACtC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@itwin/presentation-shared",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "The package contains types and utilities used across different iTwin.js Presentation packages.",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "https://github.com/iTwin/presentation.git",
|
|
9
|
+
"directory": "packages/shared"
|
|
10
|
+
},
|
|
11
|
+
"keywords": [
|
|
12
|
+
"Bentley",
|
|
13
|
+
"EC",
|
|
14
|
+
"ECSQL",
|
|
15
|
+
"iModel",
|
|
16
|
+
"iTwin.js",
|
|
17
|
+
"Presentation"
|
|
18
|
+
],
|
|
19
|
+
"main": "lib/cjs/presentation-shared.js",
|
|
20
|
+
"module": "lib/esm/presentation-shared.js",
|
|
21
|
+
"types": "lib/cjs/presentation-shared.d.ts",
|
|
22
|
+
"dependencies": {
|
|
23
|
+
"@itwin/core-bentley": "^4.5.2"
|
|
24
|
+
},
|
|
25
|
+
"devDependencies": {
|
|
26
|
+
"@itwin/build-tools": "^4.5.2",
|
|
27
|
+
"@itwin/eslint-plugin": "^4.0.0",
|
|
28
|
+
"@types/chai": "^4.3.14",
|
|
29
|
+
"@types/chai-as-promised": "^7.1.8",
|
|
30
|
+
"@types/chai-subset": "^1.3.5",
|
|
31
|
+
"@types/mocha": "^10.0.6",
|
|
32
|
+
"@types/node": "^18.19.31",
|
|
33
|
+
"@types/sinon": "^17.0.3",
|
|
34
|
+
"@types/sinon-chai": "^3.2.12",
|
|
35
|
+
"chai": "^4.4.1",
|
|
36
|
+
"chai-as-promised": "^7.1.1",
|
|
37
|
+
"chai-subset": "^1.6.0",
|
|
38
|
+
"eslint": "^8.57.0",
|
|
39
|
+
"mocha": "^10.4.0",
|
|
40
|
+
"nyc": "^15.1.0",
|
|
41
|
+
"rimraf": "^5.0.5",
|
|
42
|
+
"sinon": "^17.0.1",
|
|
43
|
+
"sinon-chai": "^3.7.0",
|
|
44
|
+
"typescript": "~5.4.5",
|
|
45
|
+
"presentation-test-utilities": "^0.0.0"
|
|
46
|
+
},
|
|
47
|
+
"scripts": {
|
|
48
|
+
"build": "npm run -s build:cjs && npm run -s build:esm",
|
|
49
|
+
"build:cjs": "tsc -p tsconfig.cjs.json",
|
|
50
|
+
"build:esm": "tsc -p tsconfig.esm.json",
|
|
51
|
+
"build:watch": "npm run -s build:cjs -- -w",
|
|
52
|
+
"clean": "rimraf lib temp",
|
|
53
|
+
"cover": "nyc npm -s test",
|
|
54
|
+
"lint": "eslint \"./src/**/*.ts\"",
|
|
55
|
+
"test": "mocha --enable-source-maps --config ./.mocharc.json \"./lib/cjs/test/**/*.test.js\"",
|
|
56
|
+
"extract-api": "betools extract-api --entry=presentation-shared --apiReportFolder=./api --apiReportTempFolder=./api/temp --apiSummaryFolder=./api",
|
|
57
|
+
"check-internal": "node ../../scripts/checkInternal.js --apiSummary ./api/presentation-shared.api.md"
|
|
58
|
+
}
|
|
59
|
+
}
|