@itwin/presentation-shared 2.0.0-alpha.9 → 2.0.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 +675 -0
- package/README.md +59 -27
- package/lib/presentation-shared.d.ts +24 -0
- package/lib/presentation-shared.d.ts.map +1 -0
- package/lib/presentation-shared.js +22 -0
- package/lib/presentation-shared.js.map +1 -0
- package/lib/shared/ConcatenatedValue.d.ts.map +1 -0
- package/lib/shared/ConcatenatedValue.js.map +1 -0
- package/lib/{cjs/shared → shared}/ECSqlCore.d.ts +16 -2
- package/lib/shared/ECSqlCore.d.ts.map +1 -0
- package/lib/shared/ECSqlCore.js +37 -0
- package/lib/shared/ECSqlCore.js.map +1 -0
- package/lib/shared/EachValueFrom.d.ts +30 -0
- package/lib/shared/EachValueFrom.d.ts.map +1 -0
- package/lib/shared/EachValueFrom.js +115 -0
- package/lib/shared/EachValueFrom.js.map +1 -0
- package/lib/shared/Event.d.ts.map +1 -0
- package/lib/{esm/shared → shared}/Event.js.map +1 -1
- package/lib/shared/Formatting.d.ts.map +1 -0
- package/lib/{esm/shared → shared}/Formatting.js +10 -6
- package/lib/shared/Formatting.js.map +1 -0
- package/lib/shared/HiddenClasses.d.ts +21 -0
- package/lib/shared/HiddenClasses.d.ts.map +1 -0
- package/lib/shared/HiddenClasses.js +52 -0
- package/lib/shared/HiddenClasses.js.map +1 -0
- package/lib/{cjs/shared → shared}/InstanceLabelSelectClauseFactory.d.ts +3 -63
- package/lib/shared/InstanceLabelSelectClauseFactory.d.ts.map +1 -0
- package/lib/shared/InstanceLabelSelectClauseFactory.js +27 -0
- package/lib/shared/InstanceLabelSelectClauseFactory.js.map +1 -0
- package/lib/shared/Logging.d.ts.map +1 -0
- package/lib/{esm/shared → shared}/Logging.js +2 -1
- package/lib/shared/Logging.js.map +1 -0
- package/lib/shared/MappedTypes.d.ts +55 -0
- package/lib/shared/MappedTypes.d.ts.map +1 -0
- package/lib/shared/MappedTypes.js.map +1 -0
- package/lib/shared/Metadata.d.ts +572 -0
- package/lib/shared/Metadata.d.ts.map +1 -0
- package/lib/{esm/shared → shared}/Metadata.js +7 -3
- package/lib/shared/Metadata.js.map +1 -0
- package/lib/{cjs/shared → shared}/Utils.d.ts +0 -6
- package/lib/shared/Utils.d.ts.map +1 -0
- package/lib/{esm/shared → shared}/Utils.js +16 -21
- package/lib/shared/Utils.js.map +1 -0
- package/lib/shared/Values.d.ts +144 -0
- package/lib/shared/Values.d.ts.map +1 -0
- package/lib/shared/Values.js +121 -0
- package/lib/shared/Values.js.map +1 -0
- package/lib/shared/ecsql-snippets/ECSqlHiddenClassesSnippets.d.ts +40 -0
- package/lib/shared/ecsql-snippets/ECSqlHiddenClassesSnippets.d.ts.map +1 -0
- package/lib/shared/ecsql-snippets/ECSqlHiddenClassesSnippets.js +66 -0
- package/lib/shared/ecsql-snippets/ECSqlHiddenClassesSnippets.js.map +1 -0
- package/lib/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts +174 -0
- package/lib/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts.map +1 -0
- package/lib/shared/ecsql-snippets/ECSqlJoinSnippets.js +177 -0
- package/lib/shared/ecsql-snippets/ECSqlJoinSnippets.js.map +1 -0
- package/lib/{cjs/shared → shared}/ecsql-snippets/ECSqlValueSelectorSnippets.d.ts +9 -1
- package/lib/shared/ecsql-snippets/ECSqlValueSelectorSnippets.d.ts.map +1 -0
- package/lib/{esm/shared → shared}/ecsql-snippets/ECSqlValueSelectorSnippets.js +22 -8
- package/lib/shared/ecsql-snippets/ECSqlValueSelectorSnippets.js.map +1 -0
- package/lib/shared/ecsql-snippets/index.d.ts +4 -0
- package/lib/shared/ecsql-snippets/index.d.ts.map +1 -0
- package/lib/shared/ecsql-snippets/index.js +8 -0
- package/lib/shared/ecsql-snippets/index.js.map +1 -0
- package/lib/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.d.ts +17 -0
- package/lib/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.d.ts.map +1 -0
- package/lib/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.js +48 -0
- package/lib/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.js.map +1 -0
- package/lib/shared/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.d.ts +39 -0
- package/lib/shared/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.d.ts.map +1 -0
- package/lib/shared/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.js +60 -0
- package/lib/shared/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.js.map +1 -0
- package/lib/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.d.ts +12 -0
- package/lib/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.d.ts.map +1 -0
- package/lib/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.js +37 -0
- package/lib/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.js.map +1 -0
- package/lib/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.d.ts +198 -0
- package/lib/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.d.ts.map +1 -0
- package/lib/{esm/shared/ECSqlCore.js → shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.js} +4 -1
- package/lib/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.js.map +1 -0
- package/lib/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.d.ts +34 -0
- package/lib/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.d.ts.map +1 -0
- package/lib/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.js +332 -0
- package/lib/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.js.map +1 -0
- package/lib/shared/instance-label-factory-impls/Utils.d.ts +7 -0
- package/lib/shared/instance-label-factory-impls/Utils.d.ts.map +1 -0
- package/lib/shared/instance-label-factory-impls/Utils.js +21 -0
- package/lib/shared/instance-label-factory-impls/Utils.js.map +1 -0
- package/package.json +22 -31
- package/lib/cjs/package.json +0 -1
- package/lib/cjs/presentation-shared.d.ts +0 -17
- package/lib/cjs/presentation-shared.d.ts.map +0 -1
- package/lib/cjs/presentation-shared.js +0 -71
- package/lib/cjs/presentation-shared.js.map +0 -1
- package/lib/cjs/shared/ConcatenatedValue.d.ts.map +0 -1
- package/lib/cjs/shared/ConcatenatedValue.js +0 -49
- package/lib/cjs/shared/ConcatenatedValue.js.map +0 -1
- package/lib/cjs/shared/ECSqlCore.d.ts.map +0 -1
- package/lib/cjs/shared/ECSqlCore.js +0 -7
- package/lib/cjs/shared/ECSqlCore.js.map +0 -1
- package/lib/cjs/shared/Event.d.ts.map +0 -1
- package/lib/cjs/shared/Event.js +0 -7
- package/lib/cjs/shared/Event.js.map +0 -1
- package/lib/cjs/shared/Formatting.d.ts.map +0 -1
- package/lib/cjs/shared/Formatting.js +0 -114
- package/lib/cjs/shared/Formatting.js.map +0 -1
- package/lib/cjs/shared/InstanceLabelSelectClauseFactory.d.ts.map +0 -1
- package/lib/cjs/shared/InstanceLabelSelectClauseFactory.js +0 -166
- package/lib/cjs/shared/InstanceLabelSelectClauseFactory.js.map +0 -1
- package/lib/cjs/shared/Logging.d.ts.map +0 -1
- package/lib/cjs/shared/Logging.js +0 -20
- package/lib/cjs/shared/Logging.js.map +0 -1
- package/lib/cjs/shared/MappedTypes.d.ts +0 -17
- package/lib/cjs/shared/MappedTypes.d.ts.map +0 -1
- package/lib/cjs/shared/MappedTypes.js +0 -7
- package/lib/cjs/shared/MappedTypes.js.map +0 -1
- package/lib/cjs/shared/Metadata.d.ts +0 -294
- package/lib/cjs/shared/Metadata.d.ts.map +0 -1
- package/lib/cjs/shared/Metadata.js +0 -53
- package/lib/cjs/shared/Metadata.js.map +0 -1
- package/lib/cjs/shared/Utils.d.ts.map +0 -1
- package/lib/cjs/shared/Utils.js +0 -113
- package/lib/cjs/shared/Utils.js.map +0 -1
- package/lib/cjs/shared/Values.d.ts +0 -107
- package/lib/cjs/shared/Values.d.ts.map +0 -1
- package/lib/cjs/shared/Values.js +0 -155
- package/lib/cjs/shared/Values.js.map +0 -1
- package/lib/cjs/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts +0 -51
- package/lib/cjs/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts.map +0 -1
- package/lib/cjs/shared/ecsql-snippets/ECSqlJoinSnippets.js +0 -140
- package/lib/cjs/shared/ecsql-snippets/ECSqlJoinSnippets.js.map +0 -1
- package/lib/cjs/shared/ecsql-snippets/ECSqlValueSelectorSnippets.d.ts.map +0 -1
- package/lib/cjs/shared/ecsql-snippets/ECSqlValueSelectorSnippets.js +0 -260
- package/lib/cjs/shared/ecsql-snippets/ECSqlValueSelectorSnippets.js.map +0 -1
- package/lib/cjs/shared/ecsql-snippets/index.d.ts +0 -3
- package/lib/cjs/shared/ecsql-snippets/index.d.ts.map +0 -1
- package/lib/cjs/shared/ecsql-snippets/index.js +0 -18
- package/lib/cjs/shared/ecsql-snippets/index.js.map +0 -1
- package/lib/esm/presentation-shared.d.ts +0 -17
- package/lib/esm/presentation-shared.d.ts.map +0 -1
- package/lib/esm/presentation-shared.js +0 -14
- package/lib/esm/presentation-shared.js.map +0 -1
- package/lib/esm/shared/ConcatenatedValue.d.ts +0 -46
- package/lib/esm/shared/ConcatenatedValue.d.ts.map +0 -1
- package/lib/esm/shared/ConcatenatedValue.js.map +0 -1
- package/lib/esm/shared/ECSqlCore.d.ts +0 -94
- package/lib/esm/shared/ECSqlCore.d.ts.map +0 -1
- package/lib/esm/shared/ECSqlCore.js.map +0 -1
- package/lib/esm/shared/Event.d.ts +0 -27
- package/lib/esm/shared/Event.d.ts.map +0 -1
- package/lib/esm/shared/Formatting.d.ts +0 -44
- package/lib/esm/shared/Formatting.d.ts.map +0 -1
- package/lib/esm/shared/Formatting.js.map +0 -1
- package/lib/esm/shared/InstanceLabelSelectClauseFactory.d.ts +0 -133
- package/lib/esm/shared/InstanceLabelSelectClauseFactory.d.ts.map +0 -1
- package/lib/esm/shared/InstanceLabelSelectClauseFactory.js +0 -160
- package/lib/esm/shared/InstanceLabelSelectClauseFactory.js.map +0 -1
- package/lib/esm/shared/Logging.d.ts +0 -27
- package/lib/esm/shared/Logging.d.ts.map +0 -1
- package/lib/esm/shared/Logging.js.map +0 -1
- package/lib/esm/shared/MappedTypes.d.ts +0 -17
- package/lib/esm/shared/MappedTypes.d.ts.map +0 -1
- package/lib/esm/shared/MappedTypes.js.map +0 -1
- package/lib/esm/shared/Metadata.d.ts +0 -294
- package/lib/esm/shared/Metadata.d.ts.map +0 -1
- package/lib/esm/shared/Metadata.js.map +0 -1
- package/lib/esm/shared/Utils.d.ts +0 -66
- package/lib/esm/shared/Utils.d.ts.map +0 -1
- package/lib/esm/shared/Utils.js.map +0 -1
- package/lib/esm/shared/Values.d.ts +0 -107
- package/lib/esm/shared/Values.d.ts.map +0 -1
- package/lib/esm/shared/Values.js +0 -152
- package/lib/esm/shared/Values.js.map +0 -1
- package/lib/esm/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts +0 -51
- package/lib/esm/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts.map +0 -1
- package/lib/esm/shared/ecsql-snippets/ECSqlJoinSnippets.js +0 -137
- package/lib/esm/shared/ecsql-snippets/ECSqlJoinSnippets.js.map +0 -1
- package/lib/esm/shared/ecsql-snippets/ECSqlValueSelectorSnippets.d.ts +0 -122
- package/lib/esm/shared/ecsql-snippets/ECSqlValueSelectorSnippets.d.ts.map +0 -1
- package/lib/esm/shared/ecsql-snippets/ECSqlValueSelectorSnippets.js.map +0 -1
- package/lib/esm/shared/ecsql-snippets/index.d.ts +0 -3
- package/lib/esm/shared/ecsql-snippets/index.d.ts.map +0 -1
- package/lib/esm/shared/ecsql-snippets/index.js +0 -7
- package/lib/esm/shared/ecsql-snippets/index.js.map +0 -1
- /package/lib/{cjs/shared → shared}/ConcatenatedValue.d.ts +0 -0
- /package/lib/{esm/shared → shared}/ConcatenatedValue.js +0 -0
- /package/lib/{cjs/shared → shared}/Event.d.ts +0 -0
- /package/lib/{esm/shared → shared}/Event.js +0 -0
- /package/lib/{cjs/shared → shared}/Formatting.d.ts +0 -0
- /package/lib/{cjs/shared → shared}/Logging.d.ts +0 -0
- /package/lib/{esm/shared → shared}/MappedTypes.js +0 -0
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*---------------------------------------------------------------------------------------------
|
|
3
|
-
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
4
|
-
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
5
|
-
*--------------------------------------------------------------------------------------------*/
|
|
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;
|
|
8
|
-
var ECSqlValueSelectorSnippets_js_1 = require("./ECSqlValueSelectorSnippets.js");
|
|
9
|
-
Object.defineProperty(exports, "createRawPropertyValueSelector", { enumerable: true, get: function () { return ECSqlValueSelectorSnippets_js_1.createRawPropertyValueSelector; } });
|
|
10
|
-
Object.defineProperty(exports, "createRawPrimitiveValueSelector", { enumerable: true, get: function () { return ECSqlValueSelectorSnippets_js_1.createRawPrimitiveValueSelector; } });
|
|
11
|
-
Object.defineProperty(exports, "createNullableSelector", { enumerable: true, get: function () { return ECSqlValueSelectorSnippets_js_1.createNullableSelector; } });
|
|
12
|
-
Object.defineProperty(exports, "createConcatenatedValueJsonSelector", { enumerable: true, get: function () { return ECSqlValueSelectorSnippets_js_1.createConcatenatedValueJsonSelector; } });
|
|
13
|
-
Object.defineProperty(exports, "createConcatenatedValueStringSelector", { enumerable: true, get: function () { return ECSqlValueSelectorSnippets_js_1.createConcatenatedValueStringSelector; } });
|
|
14
|
-
Object.defineProperty(exports, "createInstanceKeySelector", { enumerable: true, get: function () { return ECSqlValueSelectorSnippets_js_1.createInstanceKeySelector; } });
|
|
15
|
-
Object.defineProperty(exports, "createPrimitivePropertyValueSelectorProps", { enumerable: true, get: function () { return ECSqlValueSelectorSnippets_js_1.createPrimitivePropertyValueSelectorProps; } });
|
|
16
|
-
var ECSqlJoinSnippets_js_1 = require("./ECSqlJoinSnippets.js");
|
|
17
|
-
Object.defineProperty(exports, "createRelationshipPathJoinClause", { enumerable: true, get: function () { return ECSqlJoinSnippets_js_1.createRelationshipPathJoinClause; } });
|
|
18
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared/ecsql-snippets/index.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;AAEhG,iFAQyC;AAPvC,+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"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import * as ECSql from "./shared/ecsql-snippets/index.js";
|
|
2
|
-
export { ECSql };
|
|
3
|
-
export { ConcatenatedValue, ConcatenatedValuePart } from "./shared/ConcatenatedValue.js";
|
|
4
|
-
export type { ECSqlBinding, ECSqlQueryDef, ECSqlQueryExecutor, ECSqlQueryReaderOptions, ECSqlQueryRow } from "./shared/ECSqlCore.js";
|
|
5
|
-
export type { IPrimitiveValueFormatter } from "./shared/Formatting.js";
|
|
6
|
-
export { createDefaultValueFormatter, formatConcatenatedValue } from "./shared/Formatting.js";
|
|
7
|
-
export type { IInstanceLabelSelectClauseFactory } from "./shared/InstanceLabelSelectClauseFactory.js";
|
|
8
|
-
export { createDefaultInstanceLabelSelectClauseFactory, createClassBasedInstanceLabelSelectClauseFactory, createBisInstanceLabelSelectClauseFactory, parseInstanceLabel, } from "./shared/InstanceLabelSelectClauseFactory.js";
|
|
9
|
-
export type { ILogger, LogFunction, LogLevel } from "./shared/Logging.js";
|
|
10
|
-
export { NOOP_LOGGER } from "./shared/Logging.js";
|
|
11
|
-
export type { ArrayElement, OmitOverUnion, Props } from "./shared/MappedTypes.js";
|
|
12
|
-
export type { EC, ECClassHierarchyInspector, ECSchemaProvider } from "./shared/Metadata.js";
|
|
13
|
-
export { createCachingECClassHierarchyInspector, getClass } from "./shared/Metadata.js";
|
|
14
|
-
export { createMainThreadReleaseOnTimePassedHandler, julianToDateTime, compareFullClassNames, normalizeFullClassName, parseFullClassName, releaseMainThread, trimWhitespace, } from "./shared/Utils.js";
|
|
15
|
-
export { InstanceKey, PrimitiveValue, TypedPrimitiveValue } from "./shared/Values.js";
|
|
16
|
-
export type { Event, RaisableEvent, EventArgs, EventListener } from "./shared/Event.js";
|
|
17
|
-
//# sourceMappingURL=presentation-shared.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"presentation-shared.d.ts","sourceRoot":"","sources":["../../src/presentation-shared.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,kCAAkC,CAAC;AAE1D,OAAO,EAAE,KAAK,EAAE,CAAC;AAEjB,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACzF,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACrI,YAAY,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAC9F,YAAY,EAAE,iCAAiC,EAAE,MAAM,8CAA8C,CAAC;AACtG,OAAO,EACL,6CAA6C,EAC7C,gDAAgD,EAChD,yCAAyC,EACzC,kBAAkB,GACnB,MAAM,8CAA8C,CAAC;AACtD,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAClF,YAAY,EAAE,EAAE,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EAAE,sCAAsC,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,EACL,0CAA0C,EAC1C,gBAAgB,EAChB,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,GACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACtF,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
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 * as ECSql from "./shared/ecsql-snippets/index.js";
|
|
6
|
-
export { ECSql };
|
|
7
|
-
export { ConcatenatedValue, ConcatenatedValuePart } from "./shared/ConcatenatedValue.js";
|
|
8
|
-
export { createDefaultValueFormatter, formatConcatenatedValue } from "./shared/Formatting.js";
|
|
9
|
-
export { createDefaultInstanceLabelSelectClauseFactory, createClassBasedInstanceLabelSelectClauseFactory, createBisInstanceLabelSelectClauseFactory, parseInstanceLabel, } from "./shared/InstanceLabelSelectClauseFactory.js";
|
|
10
|
-
export { NOOP_LOGGER } from "./shared/Logging.js";
|
|
11
|
-
export { createCachingECClassHierarchyInspector, getClass } from "./shared/Metadata.js";
|
|
12
|
-
export { createMainThreadReleaseOnTimePassedHandler, julianToDateTime, compareFullClassNames, normalizeFullClassName, parseFullClassName, releaseMainThread, trimWhitespace, } from "./shared/Utils.js";
|
|
13
|
-
export { InstanceKey, PrimitiveValue, TypedPrimitiveValue } from "./shared/Values.js";
|
|
14
|
-
//# sourceMappingURL=presentation-shared.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"presentation-shared.js","sourceRoot":"","sources":["../../src/presentation-shared.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,KAAK,KAAK,MAAM,kCAAkC,CAAC;AAE1D,OAAO,EAAE,KAAK,EAAE,CAAC;AAEjB,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAGzF,OAAO,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAE9F,OAAO,EACL,6CAA6C,EAC7C,gDAAgD,EAChD,yCAAyC,EACzC,kBAAkB,GACnB,MAAM,8CAA8C,CAAC;AAEtD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGlD,OAAO,EAAE,sCAAsC,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,EACL,0CAA0C,EAC1C,gBAAgB,EAChB,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,GACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import type { TypedPrimitiveValue } from "./Values.js";
|
|
2
|
-
/**
|
|
3
|
-
* A part of a `ConcatenatedValue`, describing one piece of the value. Possible types:
|
|
4
|
-
* - `ConcatenatedValue` describes a nested concatenated value.
|
|
5
|
-
* - `TypedPrimitiveValue` describes a value with its type. Generally the value is formatted
|
|
6
|
-
* according to its type information before concatenating with other parts.
|
|
7
|
-
* - `string` is just concatenated to other parts as-is.
|
|
8
|
-
*
|
|
9
|
-
* @see `ConcatenatedValue`
|
|
10
|
-
* @public
|
|
11
|
-
*/
|
|
12
|
-
export type ConcatenatedValuePart = ConcatenatedValue | TypedPrimitiveValue | string;
|
|
13
|
-
/** @public */
|
|
14
|
-
export declare namespace ConcatenatedValuePart {
|
|
15
|
-
/** @public */
|
|
16
|
-
function isString(part: ConcatenatedValuePart): part is string;
|
|
17
|
-
/** @public */
|
|
18
|
-
function isPrimitive(part: ConcatenatedValuePart): part is TypedPrimitiveValue;
|
|
19
|
-
/** @public */
|
|
20
|
-
function isConcatenatedValue(part: ConcatenatedValuePart): part is ConcatenatedValue;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* A data structure that contains `ConcatenatedValuePart` objects describing
|
|
24
|
-
* pieces that may be formatted and concatenated together.
|
|
25
|
-
*
|
|
26
|
-
* @public
|
|
27
|
-
*/
|
|
28
|
-
export type ConcatenatedValue = ConcatenatedValuePart[];
|
|
29
|
-
/** @public */
|
|
30
|
-
export declare namespace ConcatenatedValue {
|
|
31
|
-
/**
|
|
32
|
-
* Serialize given `ConcatenatedValue` to string using a formatter function. The parts are
|
|
33
|
-
* each formatted individually and then joined together.
|
|
34
|
-
*
|
|
35
|
-
* @public
|
|
36
|
-
*/
|
|
37
|
-
function serialize(props: {
|
|
38
|
-
/** The parts to join. */
|
|
39
|
-
parts: ConcatenatedValue;
|
|
40
|
-
/** Parts formatter to convert each part to string */
|
|
41
|
-
partFormatter: (part: Exclude<ConcatenatedValuePart, ConcatenatedValue>) => Promise<string>;
|
|
42
|
-
/** Optional separator for joining the parts. Defaults to an empty string. */
|
|
43
|
-
separator?: string;
|
|
44
|
-
}): Promise<string>;
|
|
45
|
-
}
|
|
46
|
-
//# sourceMappingURL=ConcatenatedValue.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ConcatenatedValue.d.ts","sourceRoot":"","sources":["../../../src/shared/ConcatenatedValue.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD;;;;;;;;;GASG;AACH,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,GAAG,mBAAmB,GAAG,MAAM,CAAC;AAErF,cAAc;AAEd,yBAAiB,qBAAqB,CAAC;IACrC,cAAc;IACd,SAAgB,QAAQ,CAAC,IAAI,EAAE,qBAAqB,GAAG,IAAI,IAAI,MAAM,CAEpE;IAED,cAAc;IACd,SAAgB,WAAW,CAAC,IAAI,EAAE,qBAAqB,GAAG,IAAI,IAAI,mBAAmB,CAEpF;IAED,cAAc;IACd,SAAgB,mBAAmB,CAAC,IAAI,EAAE,qBAAqB,GAAG,IAAI,IAAI,iBAAiB,CAE1F;CACF;AAED;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG,qBAAqB,EAAE,CAAC;AAExD,cAAc;AAEd,yBAAiB,iBAAiB,CAAC;IACjC;;;;;OAKG;IACH,SAAsB,SAAS,CAAC,KAAK,EAAE;QACrC,yBAAyB;QACzB,KAAK,EAAE,iBAAiB,CAAC;QACzB,qDAAqD;QACrD,aAAa,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5F,6EAA6E;QAC7E,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,MAAM,CAAC,CAYlB;CACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ConcatenatedValue.js","sourceRoot":"","sources":["../../../src/shared/ConcatenatedValue.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAgBhG,cAAc;AACd,2DAA2D;AAC3D,MAAM,KAAW,qBAAqB,CAerC;AAfD,WAAiB,qBAAqB;IACpC,cAAc;IACd,SAAgB,QAAQ,CAAC,IAA2B;QAClD,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC;IAClC,CAAC;IAFe,8BAAQ,WAEvB,CAAA;IAED,cAAc;IACd,SAAgB,WAAW,CAAC,IAA2B;QACrD,OAAO,CAAC,CAAE,IAA4B,CAAC,IAAI,CAAC;IAC9C,CAAC;IAFe,iCAAW,cAE1B,CAAA;IAED,cAAc;IACd,SAAgB,mBAAmB,CAAC,IAA2B;QAC7D,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAFe,yCAAmB,sBAElC,CAAA;AACH,CAAC,EAfgB,qBAAqB,KAArB,qBAAqB,QAerC;AAUD,cAAc;AACd,2DAA2D;AAC3D,MAAM,KAAW,iBAAiB,CA2BjC;AA3BD,WAAiB,iBAAiB;IAChC;;;;;OAKG;IACI,KAAK,UAAU,SAAS,CAAC,KAO/B;QACC,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;QAClD,OAAO,CACL,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YACvB,IAAI,qBAAqB,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpD,OAAO,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC;YAC9D,CAAC;YACD,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC,CAAC,CACH,CACF,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IAC1B,CAAC;IAnBqB,2BAAS,YAmB9B,CAAA;AACH,CAAC,EA3BgB,iBAAiB,KAAjB,iBAAiB,QA2BjC"}
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import type { Id64String } from "@itwin/core-bentley";
|
|
2
|
-
/**
|
|
3
|
-
* Defines an ECSql binding consisting of a value and its type. Necessary to differentiate between numeric
|
|
4
|
-
* types and `Id64String` vs `string`.
|
|
5
|
-
*
|
|
6
|
-
* @public
|
|
7
|
-
*/
|
|
8
|
-
export type ECSqlBinding = {
|
|
9
|
-
type: "boolean";
|
|
10
|
-
value?: boolean;
|
|
11
|
-
} | {
|
|
12
|
-
type: "double" | "int" | "long";
|
|
13
|
-
value?: number;
|
|
14
|
-
} | {
|
|
15
|
-
type: "id";
|
|
16
|
-
value?: Id64String;
|
|
17
|
-
} | {
|
|
18
|
-
type: "idset";
|
|
19
|
-
value?: Id64String[];
|
|
20
|
-
} | {
|
|
21
|
-
type: "string";
|
|
22
|
-
value?: string;
|
|
23
|
-
} | {
|
|
24
|
-
type: "point2d";
|
|
25
|
-
value?: {
|
|
26
|
-
x: number;
|
|
27
|
-
y: number;
|
|
28
|
-
};
|
|
29
|
-
} | {
|
|
30
|
-
type: "point3d";
|
|
31
|
-
value?: {
|
|
32
|
-
x: number;
|
|
33
|
-
y: number;
|
|
34
|
-
z: number;
|
|
35
|
-
};
|
|
36
|
-
};
|
|
37
|
-
/**
|
|
38
|
-
* Defines an ECSQL query and its bindings.
|
|
39
|
-
* @public
|
|
40
|
-
*/
|
|
41
|
-
export interface ECSqlQueryDef {
|
|
42
|
-
/** A list of CTEs used in the query. */
|
|
43
|
-
ctes?: string[];
|
|
44
|
-
/**
|
|
45
|
-
* The ECSQL query to execute.
|
|
46
|
-
* @note In case the query uses CTEs, they should be specified in the `ctes` rather than included in the `ecsql`.
|
|
47
|
-
*/
|
|
48
|
-
ecsql: string;
|
|
49
|
-
/**
|
|
50
|
-
* Values to bind to the query.
|
|
51
|
-
* @see https://www.itwinjs.org/learning/ecsql/#ecsql-parameters
|
|
52
|
-
*/
|
|
53
|
-
bindings?: ECSqlBinding[];
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Defines requested ECSQL result row format.
|
|
57
|
-
* @see [QueryRowFormat](https://www.itwinjs.org/reference/core-common/imodels/queryrowformat/)
|
|
58
|
-
* @public
|
|
59
|
-
*/
|
|
60
|
-
type ECSqlQueryRowFormat = "ECSqlPropertyNames" | "Indexes";
|
|
61
|
-
/**
|
|
62
|
-
* Defines options for ECSQL query reader.
|
|
63
|
-
* @see [QueryOptions](https://www.itwinjs.org/reference/core-common/imodels/queryoptions/)
|
|
64
|
-
* @public
|
|
65
|
-
*/
|
|
66
|
-
export interface ECSqlQueryReaderOptions {
|
|
67
|
-
rowFormat?: ECSqlQueryRowFormat;
|
|
68
|
-
restartToken?: string;
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* Represents a single row of an ECSQL query result.
|
|
72
|
-
* @see [QueryRowProxy](https://www.itwinjs.org/reference/core-common/imodels/queryrowproxy/)
|
|
73
|
-
* @public
|
|
74
|
-
*/
|
|
75
|
-
export interface ECSqlQueryRow {
|
|
76
|
-
[propertyName: string]: any;
|
|
77
|
-
[propertyIndex: number]: any;
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Represents ECSQL query results reader.
|
|
81
|
-
* @see [ECSqlReader](https://www.itwinjs.org/reference/core-common/imodels/ecsqlreader/)
|
|
82
|
-
* @public
|
|
83
|
-
*/
|
|
84
|
-
type ECSqlQueryReader = AsyncIterableIterator<ECSqlQueryRow>;
|
|
85
|
-
/**
|
|
86
|
-
* An interface for something that knows how to create an ECSQL query reader.
|
|
87
|
-
* @see `createECSqlQueryExecutor` in `@itwin/presentation-core-interop`.
|
|
88
|
-
* @public
|
|
89
|
-
*/
|
|
90
|
-
export interface ECSqlQueryExecutor {
|
|
91
|
-
createQueryReader(query: ECSqlQueryDef, config?: ECSqlQueryReaderOptions): ECSqlQueryReader;
|
|
92
|
-
}
|
|
93
|
-
export {};
|
|
94
|
-
//# sourceMappingURL=ECSqlCore.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ECSqlCore.d.ts","sourceRoot":"","sources":["../../../src/shared/ECSqlCore.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GACpB;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,GACD;IACE,IAAI,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACD;IACE,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;CACtB,GACD;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACD;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAClC,GACD;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7C,CAAC;AAEN;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;CAC3B;AAED;;;;GAIG;AACH,KAAK,mBAAmB,GAAG,oBAAoB,GAAG,SAAS,CAAC;AAE5D;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,CAAC,YAAY,EAAE,MAAM,GAAG,GAAG,CAAC;IAC5B,CAAC,aAAa,EAAE,MAAM,GAAG,GAAG,CAAC;CAC9B;AAED;;;;GAIG;AACH,KAAK,gBAAgB,GAAG,qBAAqB,CAAC,aAAa,CAAC,CAAC;AAE7D;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,iBAAiB,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,uBAAuB,GAAG,gBAAgB,CAAC;CAC7F"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ECSqlCore.js","sourceRoot":"","sources":["../../../src/shared/ECSqlCore.ts"],"names":[],"mappings":"AAAA;;;gGAGgG"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import type { Props } from "./MappedTypes.js";
|
|
2
|
-
/**
|
|
3
|
-
* An interface that allows subscribing and unsubscribing listeners that are called upon an event.
|
|
4
|
-
* @public
|
|
5
|
-
*/
|
|
6
|
-
export interface Event<TListener extends (...args: any[]) => void = () => void> {
|
|
7
|
-
addListener: (listener: TListener) => () => void;
|
|
8
|
-
removeListener: (listener: TListener) => void;
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* An `Event` that can be raised.
|
|
12
|
-
* @public
|
|
13
|
-
*/
|
|
14
|
-
export interface RaisableEvent<TListener extends (...args: any[]) => void = () => void> extends Event<TListener> {
|
|
15
|
-
raiseEvent: (...args: Parameters<TListener>) => void;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Returns type of the given `Event` listener.
|
|
19
|
-
* @public
|
|
20
|
-
*/
|
|
21
|
-
export type EventListener<TEvent extends {}> = 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 {}> = Props<EventListener<TEvent>>;
|
|
27
|
-
//# sourceMappingURL=Event.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Event.d.ts","sourceRoot":"","sources":["../../../src/shared/Event.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;;GAGG;AACH,MAAM,WAAW,KAAK,CAAC,SAAS,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,MAAM,IAAI;IAC5E,WAAW,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,MAAM,IAAI,CAAC;IACjD,cAAc,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,IAAI,CAAC;CAC/C;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa,CAAC,SAAS,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,MAAM,IAAI,CAAE,SAAQ,KAAK,CAAC,SAAS,CAAC;IAC9G,UAAU,EAAE,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;CACtD;AAED;;;GAGG;AACH,MAAM,MAAM,aAAa,CAAC,MAAM,SAAS,EAAE,IAAI,MAAM,SAAS,KAAK,CAAC,MAAM,SAAS,CAAC,GAAG,SAAS,GAAG,KAAK,CAAC;AAEzG;;;GAGG;AACH,MAAM,MAAM,SAAS,CAAC,MAAM,SAAS,EAAE,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { ConcatenatedValue } from "./ConcatenatedValue.js";
|
|
2
|
-
import type { TypedPrimitiveValue } from "./Values.js";
|
|
3
|
-
/**
|
|
4
|
-
* A type definition for a function that knows how to create a display string for a typed primitive value.
|
|
5
|
-
* @see `createDefaultValueFormatter`
|
|
6
|
-
* @public
|
|
7
|
-
*/
|
|
8
|
-
export type IPrimitiveValueFormatter = (value: TypedPrimitiveValue) => Promise<string>;
|
|
9
|
-
/**
|
|
10
|
-
* Formats a concatenated value into a string, taking into account different types of `ConcatenatedValuePart` that
|
|
11
|
-
* the value consists of.
|
|
12
|
-
*
|
|
13
|
-
* @public
|
|
14
|
-
*/
|
|
15
|
-
export declare function formatConcatenatedValue(props: {
|
|
16
|
-
value: ConcatenatedValue | string;
|
|
17
|
-
valueFormatter: IPrimitiveValueFormatter;
|
|
18
|
-
}): Promise<string>;
|
|
19
|
-
/**
|
|
20
|
-
* A values' formatter that knows how to format the following types:
|
|
21
|
-
*
|
|
22
|
-
* - `Boolean` values are formatted to either "true" or "false".
|
|
23
|
-
*
|
|
24
|
-
* - `Integer` and `Long` values are rounded to the closest integer.
|
|
25
|
-
*
|
|
26
|
-
* - `Double` values are rounded to 2 decimal places.
|
|
27
|
-
*
|
|
28
|
-
* - `DateTime` values accept 2 formats in addition to `Date`:
|
|
29
|
-
* - if the value is numeric, assume it's a julian day format,
|
|
30
|
-
* - if the value is string, assume it's an ISO 8601 format.
|
|
31
|
-
*
|
|
32
|
-
* If extended type is set to `ShortDate`, the date is formatted as locale date string. Otherwise, it's
|
|
33
|
-
* formatted as locale date + time string.
|
|
34
|
-
*
|
|
35
|
-
* - `Point2d` values are formatted in `(x, y)` format.
|
|
36
|
-
*
|
|
37
|
-
* - `Point3d` values are formatted in `(x, y, z)` format.
|
|
38
|
-
*
|
|
39
|
-
* - `String` and `Id` values are returned as-is.
|
|
40
|
-
*
|
|
41
|
-
* @public
|
|
42
|
-
*/
|
|
43
|
-
export declare function createDefaultValueFormatter(): IPrimitiveValueFormatter;
|
|
44
|
-
//# sourceMappingURL=Formatting.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Formatting.d.ts","sourceRoot":"","sources":["../../../src/shared/Formatting.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,iBAAiB,EAAyB,MAAM,wBAAwB,CAAC;AAGlF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD;;;;GAIG;AACH,MAAM,MAAM,wBAAwB,GAAG,CAAC,KAAK,EAAE,mBAAmB,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAEvF;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAAC,KAAK,EAAE;IAAE,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAAC;IAAC,cAAc,EAAE,wBAAwB,CAAA;CAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAmBrJ;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,2BAA2B,IAAI,wBAAwB,CAatE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Formatting.js","sourceRoot":"","sources":["../../../src/shared/Formatting.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
import type { ConcatenatedValue } from "./ConcatenatedValue.js";
|
|
2
|
-
import type { TypedValueSelectClauseProps } from "./ecsql-snippets/ECSqlValueSelectorSnippets.js";
|
|
3
|
-
import type { EC, ECClassHierarchyInspector } from "./Metadata.js";
|
|
4
|
-
/**
|
|
5
|
-
* Props for `IInstanceLabelSelectClauseFactory.createSelectClause`.
|
|
6
|
-
* @public
|
|
7
|
-
*/
|
|
8
|
-
interface CreateInstanceLabelSelectClauseProps {
|
|
9
|
-
/**
|
|
10
|
-
* Alias of an ECSQL class referring to the target instance whose label should be selected.
|
|
11
|
-
*
|
|
12
|
-
* Example:
|
|
13
|
-
* ```ts
|
|
14
|
-
* const selectClause = `
|
|
15
|
-
* SELECT ${await factory.createSelectClause({ classAlias: "x" })}
|
|
16
|
-
* FROM bis.GeometricElement3d AS x
|
|
17
|
-
* `;
|
|
18
|
-
* ```
|
|
19
|
-
*/
|
|
20
|
-
classAlias: string;
|
|
21
|
-
/**
|
|
22
|
-
* An optional full name of the class whose instance label is to be selected.
|
|
23
|
-
*
|
|
24
|
-
* The attribute's purpose is purely for optimization and `IInstanceLabelSelectClauseFactory` should not
|
|
25
|
-
* rely on this to be set to a leaf class or set at all. However, when this name is provided, some factory
|
|
26
|
-
* implementations may be able to create a more efficient select clause (e.g. drop some pieces of clause
|
|
27
|
-
* that don't apply for given class).
|
|
28
|
-
*/
|
|
29
|
-
className?: EC.FullClassName;
|
|
30
|
-
/**
|
|
31
|
-
* An optional function for concatenating multiple `TypedValueSelectClauseProps`. Selectors' concatenation
|
|
32
|
-
* is used when a label consists of multiple pieces, e.g.:
|
|
33
|
-
* - `[` - string,
|
|
34
|
-
* - `this.PropertyX` - property value selector,
|
|
35
|
-
* - `]` - string.
|
|
36
|
-
*
|
|
37
|
-
* It's concatenator's job to serialize those pieces into a single selector and, depending on the use case,
|
|
38
|
-
* it may do that in multiple ways. For example:
|
|
39
|
-
*
|
|
40
|
-
* - `createConcatenatedValueJsonSelector` serializes parts into a JSON array selector. This allows the array to
|
|
41
|
-
* be parsed after the query is run, where each part can be handled individually without losing its metadata.
|
|
42
|
-
* This is the default value.
|
|
43
|
-
*
|
|
44
|
-
* - `createConcatenatedValueStringSelector` concatenates parts into a string using SQLite's `||` operator. While
|
|
45
|
-
* this way of concatenation looses metadata (thus disabling formatting of the values), it tries to produce the
|
|
46
|
-
* value to be as close as possible to the formatted one. This concatenator may be used to create a label for using
|
|
47
|
-
* in the query `WHERE` clause.
|
|
48
|
-
*
|
|
49
|
-
* @see `createConcatenatedValueJsonSelector`
|
|
50
|
-
* @see `createConcatenatedValueStringSelector`
|
|
51
|
-
*/
|
|
52
|
-
selectorsConcatenator?: (selectors: TypedValueSelectClauseProps[], checkSelector?: string) => string;
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* An interface for a factory that knows how create instance label select clauses.
|
|
56
|
-
* @see `createDefaultInstanceLabelSelectClauseFactory`
|
|
57
|
-
* @see `createClassBasedInstanceLabelSelectClauseFactory`
|
|
58
|
-
* @see `createBisInstanceLabelSelectClauseFactory`
|
|
59
|
-
* @public
|
|
60
|
-
*/
|
|
61
|
-
export interface IInstanceLabelSelectClauseFactory {
|
|
62
|
-
/** Creates a select clause for an instance label. */
|
|
63
|
-
createSelectClause(props: CreateInstanceLabelSelectClauseProps): Promise<string>;
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Parses an instance label from query result into a string or a `ConcatenatedValue`. The latter type of result
|
|
67
|
-
* is expected when label selector is created using `IInstanceLabelSelectClauseFactory.createSelectClause` with
|
|
68
|
-
* `createConcatenatedValueJsonSelector`.
|
|
69
|
-
*
|
|
70
|
-
* @public
|
|
71
|
-
*/
|
|
72
|
-
export declare function parseInstanceLabel(value: string | undefined): ConcatenatedValue | string;
|
|
73
|
-
/**
|
|
74
|
-
* Creates a label select clause in a format `Class label [base36(briefcase id)-base36(local id)]`, where
|
|
75
|
-
* local and briefcase IDs are calculated based on ECInstance ID:
|
|
76
|
-
* - `{briefcase id} = ECInstanceId >> 40`
|
|
77
|
-
* - `{local id} = ECInstanceId & (1 << 40 - 1)`
|
|
78
|
-
*
|
|
79
|
-
* @see https://www.itwinjs.org/presentation/advanced/defaultbisrules/#label-overrides
|
|
80
|
-
* @public
|
|
81
|
-
*/
|
|
82
|
-
export declare function createDefaultInstanceLabelSelectClauseFactory(): IInstanceLabelSelectClauseFactory;
|
|
83
|
-
/**
|
|
84
|
-
* An association of a class and an instance label select clause factory method.
|
|
85
|
-
* @public
|
|
86
|
-
*/
|
|
87
|
-
interface ClassBasedLabelSelectClause {
|
|
88
|
-
/** Full class name */
|
|
89
|
-
className: EC.FullClassName;
|
|
90
|
-
/** A factory method to create an instance label select clause */
|
|
91
|
-
clause: (props: CreateInstanceLabelSelectClauseProps) => Promise<string>;
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* Props for `createClassBasedInstanceLabelSelectClauseFactory`.
|
|
95
|
-
* @public
|
|
96
|
-
*/
|
|
97
|
-
interface ClassBasedInstanceLabelSelectClauseFactoryProps {
|
|
98
|
-
/** Access to ECClass hierarchy in the iModel. */
|
|
99
|
-
classHierarchyInspector: ECClassHierarchyInspector;
|
|
100
|
-
/**
|
|
101
|
-
* A prioritized list of instance label selectors associated to classes they should be applied to.
|
|
102
|
-
*
|
|
103
|
-
* Because the list may contain clauses for classes in the same class hierarchy, and the factory
|
|
104
|
-
* handles them in given order, the order of clauses should be from the most specific class to the
|
|
105
|
-
* most general one.
|
|
106
|
-
*/
|
|
107
|
-
clauses: ClassBasedLabelSelectClause[];
|
|
108
|
-
/**
|
|
109
|
-
* A fallback label clause factory for when class-based factory doesn't produce a label.
|
|
110
|
-
* Defaults to the result of `createDefaultInstanceLabelSelectClauseFactory`.
|
|
111
|
-
*/
|
|
112
|
-
defaultClauseFactory?: IInstanceLabelSelectClauseFactory;
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* Creates an instance label select clause based on its class.
|
|
116
|
-
* @public
|
|
117
|
-
*/
|
|
118
|
-
export declare function createClassBasedInstanceLabelSelectClauseFactory(props: ClassBasedInstanceLabelSelectClauseFactoryProps): IInstanceLabelSelectClauseFactory;
|
|
119
|
-
/**
|
|
120
|
-
* Props for `createBisInstanceLabelSelectClauseFactory`.
|
|
121
|
-
* @public
|
|
122
|
-
*/
|
|
123
|
-
interface BisInstanceLabelSelectClauseFactoryProps {
|
|
124
|
-
classHierarchyInspector: ECClassHierarchyInspector;
|
|
125
|
-
}
|
|
126
|
-
/**
|
|
127
|
-
* Creates a label select clause according to BIS instance label rules.
|
|
128
|
-
* @see https://www.itwinjs.org/presentation/advanced/defaultbisrules/#label-overrides
|
|
129
|
-
* @public
|
|
130
|
-
*/
|
|
131
|
-
export declare function createBisInstanceLabelSelectClauseFactory(props: BisInstanceLabelSelectClauseFactoryProps): IInstanceLabelSelectClauseFactory;
|
|
132
|
-
export {};
|
|
133
|
-
//# sourceMappingURL=InstanceLabelSelectClauseFactory.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"InstanceLabelSelectClauseFactory.d.ts","sourceRoot":"","sources":["../../../src/shared/InstanceLabelSelectClauseFactory.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAClG,OAAO,KAAK,EAAE,EAAE,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAEnE;;;GAGG;AACH,UAAU,oCAAoC;IAC5C;;;;;;;;;;OAUG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC;IAE7B;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,qBAAqB,CAAC,EAAE,CAAC,SAAS,EAAE,2BAA2B,EAAE,EAAE,aAAa,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;CACtG;AAED;;;;;;GAMG;AACH,MAAM,WAAW,iCAAiC;IAChD,qDAAqD;IACrD,kBAAkB,CAAC,KAAK,EAAE,oCAAoC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAClF;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,iBAAiB,GAAG,MAAM,CAaxF;AAED;;;;;;;;GAQG;AACH,wBAAgB,6CAA6C,IAAI,iCAAiC,CAmBjG;AAED;;;GAGG;AACH,UAAU,2BAA2B;IACnC,sBAAsB;IACtB,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC;IAC5B,iEAAiE;IACjE,MAAM,EAAE,CAAC,KAAK,EAAE,oCAAoC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC1E;AAED;;;GAGG;AACH,UAAU,+CAA+C;IACvD,iDAAiD;IACjD,uBAAuB,EAAE,yBAAyB,CAAC;IAEnD;;;;;;OAMG;IACH,OAAO,EAAE,2BAA2B,EAAE,CAAC;IAEvC;;;OAGG;IACH,oBAAoB,CAAC,EAAE,iCAAiC,CAAC;CAC1D;AAED;;;GAGG;AACH,wBAAgB,gDAAgD,CAAC,KAAK,EAAE,+CAA+C,GAAG,iCAAiC,CA0D1J;AAED;;;GAGG;AACH,UAAU,wCAAwC;IAChD,uBAAuB,EAAE,yBAAyB,CAAC;CACpD;AAED;;;;GAIG;AACH,wBAAgB,yCAAyC,CAAC,KAAK,EAAE,wCAAwC,GAAG,iCAAiC,CAuC5I"}
|
|
@@ -1,160 +0,0 @@
|
|
|
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 { createConcatenatedValueJsonSelector, createRawPropertyValueSelector } from "./ecsql-snippets/ECSqlValueSelectorSnippets.js";
|
|
6
|
-
/**
|
|
7
|
-
* Parses an instance label from query result into a string or a `ConcatenatedValue`. The latter type of result
|
|
8
|
-
* is expected when label selector is created using `IInstanceLabelSelectClauseFactory.createSelectClause` with
|
|
9
|
-
* `createConcatenatedValueJsonSelector`.
|
|
10
|
-
*
|
|
11
|
-
* @public
|
|
12
|
-
*/
|
|
13
|
-
export function parseInstanceLabel(value) {
|
|
14
|
-
if (!value) {
|
|
15
|
-
return "";
|
|
16
|
-
}
|
|
17
|
-
if ((value.startsWith("[") && value.endsWith("]")) || (value.startsWith("{") && value.endsWith("}"))) {
|
|
18
|
-
try {
|
|
19
|
-
return JSON.parse(value);
|
|
20
|
-
}
|
|
21
|
-
catch {
|
|
22
|
-
// fall through
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
// not a JSON object/array
|
|
26
|
-
return value;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Creates a label select clause in a format `Class label [base36(briefcase id)-base36(local id)]`, where
|
|
30
|
-
* local and briefcase IDs are calculated based on ECInstance ID:
|
|
31
|
-
* - `{briefcase id} = ECInstanceId >> 40`
|
|
32
|
-
* - `{local id} = ECInstanceId & (1 << 40 - 1)`
|
|
33
|
-
*
|
|
34
|
-
* @see https://www.itwinjs.org/presentation/advanced/defaultbisrules/#label-overrides
|
|
35
|
-
* @public
|
|
36
|
-
*/
|
|
37
|
-
export function createDefaultInstanceLabelSelectClauseFactory() {
|
|
38
|
-
return {
|
|
39
|
-
async createSelectClause(props) {
|
|
40
|
-
return `(
|
|
41
|
-
SELECT
|
|
42
|
-
${concatenate(props, [
|
|
43
|
-
{
|
|
44
|
-
selector: `COALESCE(
|
|
45
|
-
${createRawPropertyValueSelector("c", "DisplayLabel")},
|
|
46
|
-
${createRawPropertyValueSelector("c", "Name")}
|
|
47
|
-
)`,
|
|
48
|
-
},
|
|
49
|
-
...createECInstanceIdSuffixSelectors(props.classAlias),
|
|
50
|
-
])}
|
|
51
|
-
FROM [meta].[ECClassDef] AS [c]
|
|
52
|
-
WHERE [c].[ECInstanceId] = ${createRawPropertyValueSelector(props.classAlias, "ECClassId")}
|
|
53
|
-
)`;
|
|
54
|
-
},
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Creates an instance label select clause based on its class.
|
|
59
|
-
* @public
|
|
60
|
-
*/
|
|
61
|
-
export function createClassBasedInstanceLabelSelectClauseFactory(props) {
|
|
62
|
-
const { classHierarchyInspector, clauses: labelClausesByClass } = props;
|
|
63
|
-
const defaultClauseFactory = props.defaultClauseFactory ?? createDefaultInstanceLabelSelectClauseFactory();
|
|
64
|
-
async function getLabelClausesForClass(queryClassName) {
|
|
65
|
-
const matchingLabelClauses = await Promise.all(labelClausesByClass.map(async (entry) => {
|
|
66
|
-
if (await classHierarchyInspector.classDerivesFrom(entry.className, queryClassName)) {
|
|
67
|
-
// label selector is intended for a more specific class than we're selecting from - need to include it
|
|
68
|
-
// as query results (on polymorphic select) are going to include more specific class instances too
|
|
69
|
-
return entry;
|
|
70
|
-
}
|
|
71
|
-
if (await classHierarchyInspector.classDerivesFrom(queryClassName, entry.className)) {
|
|
72
|
-
// label selector is intended for a base class of what query is selecting - need to include it as
|
|
73
|
-
// we want base class label selectors to apply to subclass instances
|
|
74
|
-
return entry;
|
|
75
|
-
}
|
|
76
|
-
return undefined;
|
|
77
|
-
}));
|
|
78
|
-
function filterNotUndefined(x) {
|
|
79
|
-
return !!x;
|
|
80
|
-
}
|
|
81
|
-
return matchingLabelClauses.filter(filterNotUndefined);
|
|
82
|
-
}
|
|
83
|
-
return {
|
|
84
|
-
async createSelectClause(clauseProps) {
|
|
85
|
-
if (labelClausesByClass.length === 0) {
|
|
86
|
-
return defaultClauseFactory.createSelectClause(clauseProps);
|
|
87
|
-
}
|
|
88
|
-
const labelClausePromises = clauseProps.className ? await getLabelClausesForClass(clauseProps.className) : labelClausesByClass;
|
|
89
|
-
if (labelClausePromises.length === 0) {
|
|
90
|
-
return defaultClauseFactory.createSelectClause(clauseProps);
|
|
91
|
-
}
|
|
92
|
-
const labelClauses = await Promise.all(labelClausePromises.map(async ({ className, clause }) => ({
|
|
93
|
-
className,
|
|
94
|
-
clause: await clause(clauseProps),
|
|
95
|
-
})));
|
|
96
|
-
return `COALESCE(
|
|
97
|
-
${labelClauses
|
|
98
|
-
.map(({ className, clause }) => `
|
|
99
|
-
IIF(
|
|
100
|
-
${createRawPropertyValueSelector(clauseProps.classAlias, "ECClassId")} IS (${className}),
|
|
101
|
-
${clause.trim()},
|
|
102
|
-
NULL
|
|
103
|
-
)
|
|
104
|
-
`.trim())
|
|
105
|
-
.join(", ")},
|
|
106
|
-
${await defaultClauseFactory.createSelectClause(clauseProps)}
|
|
107
|
-
)`;
|
|
108
|
-
},
|
|
109
|
-
};
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* Creates a label select clause according to BIS instance label rules.
|
|
113
|
-
* @see https://www.itwinjs.org/presentation/advanced/defaultbisrules/#label-overrides
|
|
114
|
-
* @public
|
|
115
|
-
*/
|
|
116
|
-
export function createBisInstanceLabelSelectClauseFactory(props) {
|
|
117
|
-
const clauses = [];
|
|
118
|
-
const factory = createClassBasedInstanceLabelSelectClauseFactory({
|
|
119
|
-
classHierarchyInspector: props.classHierarchyInspector,
|
|
120
|
-
clauses,
|
|
121
|
-
});
|
|
122
|
-
clauses.push({
|
|
123
|
-
className: "BisCore.GeometricElement",
|
|
124
|
-
clause: async ({ classAlias, ...rest }) => `
|
|
125
|
-
COALESCE(
|
|
126
|
-
${createRawPropertyValueSelector(classAlias, "CodeValue")},
|
|
127
|
-
${concatenate(rest, [{ selector: createRawPropertyValueSelector(classAlias, "UserLabel") }, ...createECInstanceIdSuffixSelectors(classAlias)], `${createRawPropertyValueSelector(classAlias, "UserLabel")} IS NOT NULL`)}
|
|
128
|
-
)
|
|
129
|
-
`,
|
|
130
|
-
}, {
|
|
131
|
-
className: "BisCore.Element",
|
|
132
|
-
clause: async ({ classAlias }) => `
|
|
133
|
-
COALESCE(
|
|
134
|
-
${createRawPropertyValueSelector(classAlias, "UserLabel")},
|
|
135
|
-
${createRawPropertyValueSelector(classAlias, "CodeValue")}
|
|
136
|
-
)
|
|
137
|
-
`,
|
|
138
|
-
}, {
|
|
139
|
-
className: "BisCore.Model",
|
|
140
|
-
clause: async ({ classAlias, ...rest }) => `(
|
|
141
|
-
SELECT ${await factory.createSelectClause({ ...rest, classAlias: "e", className: "BisCore.Element" })}
|
|
142
|
-
FROM [bis].[Element] AS [e]
|
|
143
|
-
WHERE [e].[ECInstanceId] = ${createRawPropertyValueSelector(classAlias, "ModeledElement", "Id")}
|
|
144
|
-
)`,
|
|
145
|
-
});
|
|
146
|
-
return factory;
|
|
147
|
-
}
|
|
148
|
-
function createECInstanceIdSuffixSelectors(classAlias) {
|
|
149
|
-
return [
|
|
150
|
-
{ value: ` [`, type: "String" },
|
|
151
|
-
{ selector: `CAST(base36(${createRawPropertyValueSelector(classAlias, "ECInstanceId")} >> 40) AS TEXT)` },
|
|
152
|
-
{ value: `-`, type: "String" },
|
|
153
|
-
{ selector: `CAST(base36(${createRawPropertyValueSelector(classAlias, "ECInstanceId")} & ((1 << 40) - 1)) AS TEXT)` },
|
|
154
|
-
{ value: `]`, type: "String" },
|
|
155
|
-
];
|
|
156
|
-
}
|
|
157
|
-
function concatenate(props, selectors, checkSelector) {
|
|
158
|
-
return (props.selectorsConcatenator ?? createConcatenatedValueJsonSelector)(selectors, checkSelector);
|
|
159
|
-
}
|
|
160
|
-
//# sourceMappingURL=InstanceLabelSelectClauseFactory.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"InstanceLabelSelectClauseFactory.js","sourceRoot":"","sources":["../../../src/shared/InstanceLabelSelectClauseFactory.ts"],"names":[],"mappings":"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"}
|