@itwin/presentation-shared 0.1.0 → 0.2.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 +16 -0
- package/README.md +12 -0
- package/lib/cjs/presentation-shared.d.ts +1 -1
- package/lib/cjs/presentation-shared.d.ts.map +1 -1
- package/lib/cjs/presentation-shared.js +3 -1
- package/lib/cjs/presentation-shared.js.map +1 -1
- package/lib/cjs/shared/ECSqlCore.d.ts +1 -0
- package/lib/cjs/shared/ECSqlCore.d.ts.map +1 -1
- package/lib/cjs/shared/Utils.d.ts +24 -0
- package/lib/cjs/shared/Utils.d.ts.map +1 -1
- package/lib/cjs/shared/Utils.js +40 -1
- package/lib/cjs/shared/Utils.js.map +1 -1
- package/lib/esm/presentation-shared.d.ts +1 -1
- package/lib/esm/presentation-shared.d.ts.map +1 -1
- package/lib/esm/presentation-shared.js +1 -1
- package/lib/esm/presentation-shared.js.map +1 -1
- package/lib/esm/shared/ECSqlCore.d.ts +1 -0
- package/lib/esm/shared/ECSqlCore.d.ts.map +1 -1
- package/lib/esm/shared/Utils.d.ts +24 -0
- package/lib/esm/shared/Utils.d.ts.map +1 -1
- package/lib/esm/shared/Utils.js +37 -0
- package/lib/esm/shared/Utils.js.map +1 -1
- package/package.json +8 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# @itwin/presentation-shared
|
|
2
2
|
|
|
3
|
+
## 0.2.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#582](https://github.com/iTwin/presentation/pull/582): Added `restartToken` property to `ECSqlQueryReaderOptions`.
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- [#581](https://github.com/iTwin/presentation/pull/581): Bump `itwinjs-core` dependencies to `^4.6.0`
|
|
12
|
+
|
|
13
|
+
## 0.1.1
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- [#571](https://github.com/iTwin/presentation/pull/571): Added utility functions for releasing main thread: `releaseMainThread` and `createMainThreadReleaseOnTimePassedHandler`.
|
|
18
|
+
|
|
3
19
|
## 0.1.0
|
|
4
20
|
|
|
5
21
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -432,3 +432,15 @@ The package also delivers a number of utility types and functions:
|
|
|
432
432
|
- spaces before closing parentheses and comma,
|
|
433
433
|
- spaces after opening parentheses,
|
|
434
434
|
- spaces at the beginning and end of the string.
|
|
435
|
+
|
|
436
|
+
- `releaseMainThread` - returns a promise that immediately resolves. Awaiting on the returned promise releases the main thread and allows other tasks to run.
|
|
437
|
+
|
|
438
|
+
- `createMainThreadReleaseOnTimePassedHandler` - returns a `releaseMainThread` promise if the given amount of time has passed since the handler was created or the main thread was last released using this handler. Otherwise, returns `undefined`.
|
|
439
|
+
|
|
440
|
+
```ts
|
|
441
|
+
const releaseMainThread = createMainThreadReleaseOnTimePassedHandler();
|
|
442
|
+
for (const value of someVeryLargeArray) {
|
|
443
|
+
await releaseMainThread();
|
|
444
|
+
// do something with value
|
|
445
|
+
}
|
|
446
|
+
```
|
|
@@ -7,7 +7,7 @@ export { IInstanceLabelSelectClauseFactory, createDefaultInstanceLabelSelectClau
|
|
|
7
7
|
export { ILogger, NOOP_LOGGER, LogFunction, LogLevel } from "./shared/Logging";
|
|
8
8
|
export { ArrayElement, OmitOverUnion } from "./shared/MappedTypes";
|
|
9
9
|
export { createCachingECClassHierarchyInspector, EC, getClass, ECClassHierarchyInspector, ECSchemaProvider } from "./shared/Metadata";
|
|
10
|
-
export { normalizeFullClassName, parseFullClassName, trimWhitespace } from "./shared/Utils";
|
|
10
|
+
export { normalizeFullClassName, parseFullClassName, trimWhitespace, releaseMainThread, createMainThreadReleaseOnTimePassedHandler } from "./shared/Utils";
|
|
11
11
|
export { InstanceKey, PrimitiveValue, TypedPrimitiveValue } from "./shared/Values";
|
|
12
12
|
export { Event } from "./shared/Event";
|
|
13
13
|
//# sourceMappingURL=presentation-shared.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presentation-shared.d.ts","sourceRoot":"","sources":["../../src/presentation-shared.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,KAAK,MAAM,yBAAyB,CAAC;AAEjD,OAAO,EAAE,KAAK,EAAE,CAAC;AAEjB,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC7H,OAAO,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AACrH,OAAO,EACL,iCAAiC,EACjC,6CAA6C,EAC7C,gDAAgD,EAChD,yCAAyC,EACzC,kBAAkB,GACnB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,sCAAsC,EAAE,EAAE,EAAE,QAAQ,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACtI,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"presentation-shared.d.ts","sourceRoot":"","sources":["../../src/presentation-shared.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,KAAK,MAAM,yBAAyB,CAAC;AAEjD,OAAO,EAAE,KAAK,EAAE,CAAC;AAEjB,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC7H,OAAO,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AACrH,OAAO,EACL,iCAAiC,EACjC,6CAA6C,EAC7C,gDAAgD,EAChD,yCAAyC,EACzC,kBAAkB,GACnB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,sCAAsC,EAAE,EAAE,EAAE,QAAQ,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACtI,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,cAAc,EAAE,iBAAiB,EAAE,0CAA0C,EAAE,MAAM,gBAAgB,CAAC;AAC3J,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -27,7 +27,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
27
27
|
return result;
|
|
28
28
|
};
|
|
29
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
|
-
exports.TypedPrimitiveValue = exports.PrimitiveValue = exports.InstanceKey = exports.trimWhitespace = exports.parseFullClassName = exports.normalizeFullClassName = exports.getClass = exports.createCachingECClassHierarchyInspector = exports.NOOP_LOGGER = exports.parseInstanceLabel = exports.createBisInstanceLabelSelectClauseFactory = exports.createClassBasedInstanceLabelSelectClauseFactory = exports.createDefaultInstanceLabelSelectClauseFactory = exports.formatConcatenatedValue = exports.createDefaultValueFormatter = exports.ConcatenatedValuePart = exports.ConcatenatedValue = exports.ECSql = void 0;
|
|
30
|
+
exports.TypedPrimitiveValue = exports.PrimitiveValue = exports.InstanceKey = exports.createMainThreadReleaseOnTimePassedHandler = exports.releaseMainThread = exports.trimWhitespace = exports.parseFullClassName = exports.normalizeFullClassName = exports.getClass = exports.createCachingECClassHierarchyInspector = exports.NOOP_LOGGER = exports.parseInstanceLabel = exports.createBisInstanceLabelSelectClauseFactory = exports.createClassBasedInstanceLabelSelectClauseFactory = exports.createDefaultInstanceLabelSelectClauseFactory = exports.formatConcatenatedValue = exports.createDefaultValueFormatter = exports.ConcatenatedValuePart = exports.ConcatenatedValue = exports.ECSql = void 0;
|
|
31
31
|
// eslint-disable-next-line @itwin/no-internal-barrel-imports
|
|
32
32
|
const ECSql = __importStar(require("./shared/ecsql-snippets"));
|
|
33
33
|
exports.ECSql = ECSql;
|
|
@@ -51,6 +51,8 @@ var Utils_1 = require("./shared/Utils");
|
|
|
51
51
|
Object.defineProperty(exports, "normalizeFullClassName", { enumerable: true, get: function () { return Utils_1.normalizeFullClassName; } });
|
|
52
52
|
Object.defineProperty(exports, "parseFullClassName", { enumerable: true, get: function () { return Utils_1.parseFullClassName; } });
|
|
53
53
|
Object.defineProperty(exports, "trimWhitespace", { enumerable: true, get: function () { return Utils_1.trimWhitespace; } });
|
|
54
|
+
Object.defineProperty(exports, "releaseMainThread", { enumerable: true, get: function () { return Utils_1.releaseMainThread; } });
|
|
55
|
+
Object.defineProperty(exports, "createMainThreadReleaseOnTimePassedHandler", { enumerable: true, get: function () { return Utils_1.createMainThreadReleaseOnTimePassedHandler; } });
|
|
54
56
|
var Values_1 = require("./shared/Values");
|
|
55
57
|
Object.defineProperty(exports, "InstanceKey", { enumerable: true, get: function () { return Values_1.InstanceKey; } });
|
|
56
58
|
Object.defineProperty(exports, "PrimitiveValue", { enumerable: true, get: function () { return Values_1.PrimitiveValue; } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presentation-shared.js","sourceRoot":"","sources":["../../src/presentation-shared.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEhG,6DAA6D;AAC7D,+DAAiD;AAExC,sBAAK;AAEd,gEAAsF;AAA7E,sHAAA,iBAAiB,OAAA;AAAE,0HAAA,qBAAqB,OAAA;AAEjD,kDAAqH;AAA5G,yHAAA,2BAA2B,OAAA;AAAE,qHAAA,uBAAuB,OAAA;AAC7D,8FAMmD;AAJjD,iKAAA,6CAA6C,OAAA;AAC7C,oKAAA,gDAAgD,OAAA;AAChD,6JAAA,yCAAyC,OAAA;AACzC,sIAAA,kBAAkB,OAAA;AAEpB,4CAA+E;AAA7D,sGAAA,WAAW,OAAA;AAE7B,8CAAsI;AAA7H,kIAAA,sCAAsC,OAAA;AAAM,oGAAA,QAAQ,OAAA;AAC7D,
|
|
1
|
+
{"version":3,"file":"presentation-shared.js","sourceRoot":"","sources":["../../src/presentation-shared.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEhG,6DAA6D;AAC7D,+DAAiD;AAExC,sBAAK;AAEd,gEAAsF;AAA7E,sHAAA,iBAAiB,OAAA;AAAE,0HAAA,qBAAqB,OAAA;AAEjD,kDAAqH;AAA5G,yHAAA,2BAA2B,OAAA;AAAE,qHAAA,uBAAuB,OAAA;AAC7D,8FAMmD;AAJjD,iKAAA,6CAA6C,OAAA;AAC7C,oKAAA,gDAAgD,OAAA;AAChD,6JAAA,yCAAyC,OAAA;AACzC,sIAAA,kBAAkB,OAAA;AAEpB,4CAA+E;AAA7D,sGAAA,WAAW,OAAA;AAE7B,8CAAsI;AAA7H,kIAAA,sCAAsC,OAAA;AAAM,oGAAA,QAAQ,OAAA;AAC7D,wCAA2J;AAAlJ,+GAAA,sBAAsB,OAAA;AAAE,2GAAA,kBAAkB,OAAA;AAAE,uGAAA,cAAc,OAAA;AAAE,0GAAA,iBAAiB,OAAA;AAAE,mIAAA,0CAA0C,OAAA;AAClI,0CAAmF;AAA1E,qGAAA,WAAW,OAAA;AAAE,wGAAA,cAAc,OAAA;AAAE,6GAAA,mBAAmB,OAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ECSqlCore.d.ts","sourceRoot":"","sources":["../../../src/shared/ECSqlCore.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD;;;;;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;;;GAGG;AACH,KAAK,mBAAmB,GAAG,oBAAoB,GAAG,SAAS,CAAC;AAE5D;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC,SAAS,CAAC,EAAE,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"ECSqlCore.d.ts","sourceRoot":"","sources":["../../../src/shared/ECSqlCore.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD;;;;;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;;;GAGG;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;;;GAGG;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"}
|
|
@@ -23,4 +23,28 @@ export declare function trimWhitespace(str: string): string;
|
|
|
23
23
|
* @beta
|
|
24
24
|
*/
|
|
25
25
|
export declare function trimWhitespace(str: string | undefined): string | undefined;
|
|
26
|
+
/**
|
|
27
|
+
* An utility that returns a promise that immediately resolves. Awaiting on the returned
|
|
28
|
+
* promise releases the main thread and allows other tasks to run.
|
|
29
|
+
*
|
|
30
|
+
* @beta
|
|
31
|
+
*/
|
|
32
|
+
export declare function releaseMainThread(): Promise<void>;
|
|
33
|
+
/**
|
|
34
|
+
* An utility that returns a `releaseMainThread` promise if the given amount of time has passed since the handler
|
|
35
|
+
* was created or the main thread was last released using this handler. Otherwise, returns `undefined`.
|
|
36
|
+
*
|
|
37
|
+
* Example:
|
|
38
|
+
* ```ts
|
|
39
|
+
* const releaseMainThread = createMainThreadReleaseOnTimePassedHandler();
|
|
40
|
+
* for (const value of someVeryLargeArray) {
|
|
41
|
+
* await releaseMainThread();
|
|
42
|
+
* // do something with value
|
|
43
|
+
* }
|
|
44
|
+
* ```
|
|
45
|
+
*
|
|
46
|
+
* @param releaseOnTimePassed The amount of time in milliseconds after which the main thread should be released. Defaults to `40` ms.
|
|
47
|
+
* @beta
|
|
48
|
+
*/
|
|
49
|
+
export declare function createMainThreadReleaseOnTimePassedHandler(releaseOnTimePassed?: number): () => Promise<void> | undefined;
|
|
26
50
|
//# sourceMappingURL=Utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Utils.d.ts","sourceRoot":"","sources":["../../../src/shared/Utils.ts"],"names":[],"mappings":"AAOA;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,MAAM;;;EAIvD;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CASpE;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"}
|
|
1
|
+
{"version":3,"file":"Utils.d.ts","sourceRoot":"","sources":["../../../src/shared/Utils.ts"],"names":[],"mappings":"AAOA;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,MAAM;;;EAIvD;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CASpE;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;AAe5E;;;;;GAKG;AACH,wBAAsB,iBAAiB,kBAEtC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,0CAA0C,CAAC,mBAAmB,SAAK,SAEtE,QAAQ,IAAI,CAAC,GAAG,SAAS,CASrC"}
|
package/lib/cjs/shared/Utils.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
5
5
|
*--------------------------------------------------------------------------------------------*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.trimWhitespace = exports.normalizeFullClassName = exports.parseFullClassName = void 0;
|
|
7
|
+
exports.createMainThreadReleaseOnTimePassedHandler = exports.releaseMainThread = exports.trimWhitespace = exports.normalizeFullClassName = exports.parseFullClassName = void 0;
|
|
8
8
|
const core_bentley_1 = require("@itwin/core-bentley");
|
|
9
9
|
/**
|
|
10
10
|
* An utility to parse schema and class names from full class name, where
|
|
@@ -47,4 +47,43 @@ function trimWhitespace(str) {
|
|
|
47
47
|
.trim(); // remove spaces from beginning and end of the string
|
|
48
48
|
}
|
|
49
49
|
exports.trimWhitespace = trimWhitespace;
|
|
50
|
+
/**
|
|
51
|
+
* An utility that returns a promise that immediately resolves. Awaiting on the returned
|
|
52
|
+
* promise releases the main thread and allows other tasks to run.
|
|
53
|
+
*
|
|
54
|
+
* @beta
|
|
55
|
+
*/
|
|
56
|
+
async function releaseMainThread() {
|
|
57
|
+
return new Promise((resolve) => setTimeout(resolve, 0));
|
|
58
|
+
}
|
|
59
|
+
exports.releaseMainThread = releaseMainThread;
|
|
60
|
+
/**
|
|
61
|
+
* An utility that returns a `releaseMainThread` promise if the given amount of time has passed since the handler
|
|
62
|
+
* was created or the main thread was last released using this handler. Otherwise, returns `undefined`.
|
|
63
|
+
*
|
|
64
|
+
* Example:
|
|
65
|
+
* ```ts
|
|
66
|
+
* const releaseMainThread = createMainThreadReleaseOnTimePassedHandler();
|
|
67
|
+
* for (const value of someVeryLargeArray) {
|
|
68
|
+
* await releaseMainThread();
|
|
69
|
+
* // do something with value
|
|
70
|
+
* }
|
|
71
|
+
* ```
|
|
72
|
+
*
|
|
73
|
+
* @param releaseOnTimePassed The amount of time in milliseconds after which the main thread should be released. Defaults to `40` ms.
|
|
74
|
+
* @beta
|
|
75
|
+
*/
|
|
76
|
+
function createMainThreadReleaseOnTimePassedHandler(releaseOnTimePassed = 40) {
|
|
77
|
+
let start = Date.now();
|
|
78
|
+
return () => {
|
|
79
|
+
const elapsed = Date.now() - start;
|
|
80
|
+
if (elapsed < releaseOnTimePassed) {
|
|
81
|
+
return undefined;
|
|
82
|
+
}
|
|
83
|
+
return releaseMainThread().then(() => {
|
|
84
|
+
start = Date.now();
|
|
85
|
+
});
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
exports.createMainThreadReleaseOnTimePassedHandler = createMainThreadReleaseOnTimePassedHandler;
|
|
50
89
|
//# sourceMappingURL=Utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../../src/shared/Utils.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;AAEhG,sDAA6C;AAE7C;;;;GAIG;AACH,SAAgB,kBAAkB,CAAC,aAAqB;IACtD,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7D,IAAA,qBAAM,EAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,SAAS,EAAE,yBAAyB,CAAC,CAAC;IAC/D,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;AACnC,CAAC;AAJD,gDAIC;AAED;;;;GAIG;AACH,SAAgB,sBAAsB,CAAC,aAAqB;IAC1D,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5C,IAAI,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QACpB,IAAA,qBAAM,EAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC;QACrE,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;IACpD,OAAO,GAAG,UAAU,IAAI,SAAS,EAAE,CAAC;AACtC,CAAC;AATD,wDASC;AAYD,YAAY;AACZ,SAAgB,cAAc,CAAC,GAAuB;IACpD,uBAAuB;IACvB,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;AAXD,wCAWC"}
|
|
1
|
+
{"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../../src/shared/Utils.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;AAEhG,sDAA6C;AAE7C;;;;GAIG;AACH,SAAgB,kBAAkB,CAAC,aAAqB;IACtD,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7D,IAAA,qBAAM,EAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,SAAS,EAAE,yBAAyB,CAAC,CAAC;IAC/D,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;AACnC,CAAC;AAJD,gDAIC;AAED;;;;GAIG;AACH,SAAgB,sBAAsB,CAAC,aAAqB;IAC1D,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5C,IAAI,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QACpB,IAAA,qBAAM,EAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC;QACrE,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;IACpD,OAAO,GAAG,UAAU,IAAI,SAAS,EAAE,CAAC;AACtC,CAAC;AATD,wDASC;AAYD,YAAY;AACZ,SAAgB,cAAc,CAAC,GAAuB;IACpD,uBAAuB;IACvB,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;AAXD,wCAWC;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;AAFD,8CAEC;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;AAXD,gGAWC"}
|
|
@@ -7,7 +7,7 @@ export { IInstanceLabelSelectClauseFactory, createDefaultInstanceLabelSelectClau
|
|
|
7
7
|
export { ILogger, NOOP_LOGGER, LogFunction, LogLevel } from "./shared/Logging";
|
|
8
8
|
export { ArrayElement, OmitOverUnion } from "./shared/MappedTypes";
|
|
9
9
|
export { createCachingECClassHierarchyInspector, EC, getClass, ECClassHierarchyInspector, ECSchemaProvider } from "./shared/Metadata";
|
|
10
|
-
export { normalizeFullClassName, parseFullClassName, trimWhitespace } from "./shared/Utils";
|
|
10
|
+
export { normalizeFullClassName, parseFullClassName, trimWhitespace, releaseMainThread, createMainThreadReleaseOnTimePassedHandler } from "./shared/Utils";
|
|
11
11
|
export { InstanceKey, PrimitiveValue, TypedPrimitiveValue } from "./shared/Values";
|
|
12
12
|
export { Event } from "./shared/Event";
|
|
13
13
|
//# sourceMappingURL=presentation-shared.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presentation-shared.d.ts","sourceRoot":"","sources":["../../src/presentation-shared.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,KAAK,MAAM,yBAAyB,CAAC;AAEjD,OAAO,EAAE,KAAK,EAAE,CAAC;AAEjB,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC7H,OAAO,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AACrH,OAAO,EACL,iCAAiC,EACjC,6CAA6C,EAC7C,gDAAgD,EAChD,yCAAyC,EACzC,kBAAkB,GACnB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,sCAAsC,EAAE,EAAE,EAAE,QAAQ,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACtI,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"presentation-shared.d.ts","sourceRoot":"","sources":["../../src/presentation-shared.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,KAAK,MAAM,yBAAyB,CAAC;AAEjD,OAAO,EAAE,KAAK,EAAE,CAAC;AAEjB,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC7H,OAAO,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AACrH,OAAO,EACL,iCAAiC,EACjC,6CAA6C,EAC7C,gDAAgD,EAChD,yCAAyC,EACzC,kBAAkB,GACnB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,sCAAsC,EAAE,EAAE,EAAE,QAAQ,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACtI,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,cAAc,EAAE,iBAAiB,EAAE,0CAA0C,EAAE,MAAM,gBAAgB,CAAC;AAC3J,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -10,6 +10,6 @@ export { createDefaultValueFormatter, formatConcatenatedValue } from "./shared/F
|
|
|
10
10
|
export { createDefaultInstanceLabelSelectClauseFactory, createClassBasedInstanceLabelSelectClauseFactory, createBisInstanceLabelSelectClauseFactory, parseInstanceLabel, } from "./shared/InstanceLabelSelectClauseFactory";
|
|
11
11
|
export { NOOP_LOGGER } from "./shared/Logging";
|
|
12
12
|
export { createCachingECClassHierarchyInspector, getClass } from "./shared/Metadata";
|
|
13
|
-
export { normalizeFullClassName, parseFullClassName, trimWhitespace } from "./shared/Utils";
|
|
13
|
+
export { normalizeFullClassName, parseFullClassName, trimWhitespace, releaseMainThread, createMainThreadReleaseOnTimePassedHandler } from "./shared/Utils";
|
|
14
14
|
export { InstanceKey, PrimitiveValue, TypedPrimitiveValue } from "./shared/Values";
|
|
15
15
|
//# sourceMappingURL=presentation-shared.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presentation-shared.js","sourceRoot":"","sources":["../../src/presentation-shared.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,6DAA6D;AAC7D,OAAO,KAAK,KAAK,MAAM,yBAAyB,CAAC;AAEjD,OAAO,EAAE,KAAK,EAAE,CAAC;AAEjB,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEtF,OAAO,EAAE,2BAA2B,EAAE,uBAAuB,EAA4B,MAAM,qBAAqB,CAAC;AACrH,OAAO,EAEL,6CAA6C,EAC7C,gDAAgD,EAChD,yCAAyC,EACzC,kBAAkB,GACnB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAW,WAAW,EAAyB,MAAM,kBAAkB,CAAC;AAE/E,OAAO,EAAE,sCAAsC,EAAM,QAAQ,EAA+C,MAAM,mBAAmB,CAAC;AACtI,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"presentation-shared.js","sourceRoot":"","sources":["../../src/presentation-shared.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,6DAA6D;AAC7D,OAAO,KAAK,KAAK,MAAM,yBAAyB,CAAC;AAEjD,OAAO,EAAE,KAAK,EAAE,CAAC;AAEjB,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEtF,OAAO,EAAE,2BAA2B,EAAE,uBAAuB,EAA4B,MAAM,qBAAqB,CAAC;AACrH,OAAO,EAEL,6CAA6C,EAC7C,gDAAgD,EAChD,yCAAyC,EACzC,kBAAkB,GACnB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAW,WAAW,EAAyB,MAAM,kBAAkB,CAAC;AAE/E,OAAO,EAAE,sCAAsC,EAAM,QAAQ,EAA+C,MAAM,mBAAmB,CAAC;AACtI,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,cAAc,EAAE,iBAAiB,EAAE,0CAA0C,EAAE,MAAM,gBAAgB,CAAC;AAC3J,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ECSqlCore.d.ts","sourceRoot":"","sources":["../../../src/shared/ECSqlCore.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD;;;;;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;;;GAGG;AACH,KAAK,mBAAmB,GAAG,oBAAoB,GAAG,SAAS,CAAC;AAE5D;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC,SAAS,CAAC,EAAE,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"ECSqlCore.d.ts","sourceRoot":"","sources":["../../../src/shared/ECSqlCore.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD;;;;;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;;;GAGG;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;;;GAGG;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"}
|
|
@@ -23,4 +23,28 @@ export declare function trimWhitespace(str: string): string;
|
|
|
23
23
|
* @beta
|
|
24
24
|
*/
|
|
25
25
|
export declare function trimWhitespace(str: string | undefined): string | undefined;
|
|
26
|
+
/**
|
|
27
|
+
* An utility that returns a promise that immediately resolves. Awaiting on the returned
|
|
28
|
+
* promise releases the main thread and allows other tasks to run.
|
|
29
|
+
*
|
|
30
|
+
* @beta
|
|
31
|
+
*/
|
|
32
|
+
export declare function releaseMainThread(): Promise<void>;
|
|
33
|
+
/**
|
|
34
|
+
* An utility that returns a `releaseMainThread` promise if the given amount of time has passed since the handler
|
|
35
|
+
* was created or the main thread was last released using this handler. Otherwise, returns `undefined`.
|
|
36
|
+
*
|
|
37
|
+
* Example:
|
|
38
|
+
* ```ts
|
|
39
|
+
* const releaseMainThread = createMainThreadReleaseOnTimePassedHandler();
|
|
40
|
+
* for (const value of someVeryLargeArray) {
|
|
41
|
+
* await releaseMainThread();
|
|
42
|
+
* // do something with value
|
|
43
|
+
* }
|
|
44
|
+
* ```
|
|
45
|
+
*
|
|
46
|
+
* @param releaseOnTimePassed The amount of time in milliseconds after which the main thread should be released. Defaults to `40` ms.
|
|
47
|
+
* @beta
|
|
48
|
+
*/
|
|
49
|
+
export declare function createMainThreadReleaseOnTimePassedHandler(releaseOnTimePassed?: number): () => Promise<void> | undefined;
|
|
26
50
|
//# sourceMappingURL=Utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Utils.d.ts","sourceRoot":"","sources":["../../../src/shared/Utils.ts"],"names":[],"mappings":"AAOA;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,MAAM;;;EAIvD;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CASpE;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"}
|
|
1
|
+
{"version":3,"file":"Utils.d.ts","sourceRoot":"","sources":["../../../src/shared/Utils.ts"],"names":[],"mappings":"AAOA;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,MAAM;;;EAIvD;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CASpE;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;AAe5E;;;;;GAKG;AACH,wBAAsB,iBAAiB,kBAEtC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,0CAA0C,CAAC,mBAAmB,SAAK,SAEtE,QAAQ,IAAI,CAAC,GAAG,SAAS,CASrC"}
|
package/lib/esm/shared/Utils.js
CHANGED
|
@@ -41,4 +41,41 @@ export function trimWhitespace(str) {
|
|
|
41
41
|
.replaceAll(/\s+,/g, ",") // remove spaces before comma
|
|
42
42
|
.trim(); // remove spaces from beginning and end of the string
|
|
43
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* An utility that returns a promise that immediately resolves. Awaiting on the returned
|
|
46
|
+
* promise releases the main thread and allows other tasks to run.
|
|
47
|
+
*
|
|
48
|
+
* @beta
|
|
49
|
+
*/
|
|
50
|
+
export async function releaseMainThread() {
|
|
51
|
+
return new Promise((resolve) => setTimeout(resolve, 0));
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* An utility that returns a `releaseMainThread` promise if the given amount of time has passed since the handler
|
|
55
|
+
* was created or the main thread was last released using this handler. Otherwise, returns `undefined`.
|
|
56
|
+
*
|
|
57
|
+
* Example:
|
|
58
|
+
* ```ts
|
|
59
|
+
* const releaseMainThread = createMainThreadReleaseOnTimePassedHandler();
|
|
60
|
+
* for (const value of someVeryLargeArray) {
|
|
61
|
+
* await releaseMainThread();
|
|
62
|
+
* // do something with value
|
|
63
|
+
* }
|
|
64
|
+
* ```
|
|
65
|
+
*
|
|
66
|
+
* @param releaseOnTimePassed The amount of time in milliseconds after which the main thread should be released. Defaults to `40` ms.
|
|
67
|
+
* @beta
|
|
68
|
+
*/
|
|
69
|
+
export function createMainThreadReleaseOnTimePassedHandler(releaseOnTimePassed = 40) {
|
|
70
|
+
let start = Date.now();
|
|
71
|
+
return () => {
|
|
72
|
+
const elapsed = Date.now() - start;
|
|
73
|
+
if (elapsed < releaseOnTimePassed) {
|
|
74
|
+
return undefined;
|
|
75
|
+
}
|
|
76
|
+
return releaseMainThread().then(() => {
|
|
77
|
+
start = Date.now();
|
|
78
|
+
});
|
|
79
|
+
};
|
|
80
|
+
}
|
|
44
81
|
//# sourceMappingURL=Utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../../src/shared/Utils.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,aAAqB;IACtD,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7D,MAAM,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,SAAS,EAAE,yBAAyB,CAAC,CAAC;IAC/D,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;AACnC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,aAAqB;IAC1D,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5C,IAAI,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QACpB,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC;QACrE,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;IACpD,OAAO,GAAG,UAAU,IAAI,SAAS,EAAE,CAAC;AACtC,CAAC;AAYD,YAAY;AACZ,MAAM,UAAU,cAAc,CAAC,GAAuB;IACpD,uBAAuB;IACvB,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"}
|
|
1
|
+
{"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../../src/shared/Utils.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,aAAqB;IACtD,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7D,MAAM,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,SAAS,EAAE,yBAAyB,CAAC,CAAC;IAC/D,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;AACnC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,aAAqB;IAC1D,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5C,IAAI,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QACpB,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC;QACrE,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;IACpD,OAAO,GAAG,UAAU,IAAI,SAAS,EAAE,CAAC;AACtC,CAAC;AAYD,YAAY;AACZ,MAAM,UAAU,cAAc,CAAC,GAAuB;IACpD,uBAAuB;IACvB,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;AACH,MAAM,CAAC,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,MAAM,UAAU,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"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@itwin/presentation-shared",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "The package contains types and utilities used across different iTwin.js Presentation packages.",
|
|
5
5
|
"license": "MIT",
|
|
6
|
+
"author": {
|
|
7
|
+
"name": "Bentley Systems, Inc.",
|
|
8
|
+
"url": "http://www.bentley.com"
|
|
9
|
+
},
|
|
6
10
|
"repository": {
|
|
7
11
|
"type": "git",
|
|
8
12
|
"url": "https://github.com/iTwin/presentation.git",
|
|
@@ -20,16 +24,16 @@
|
|
|
20
24
|
"module": "lib/esm/presentation-shared.js",
|
|
21
25
|
"types": "lib/cjs/presentation-shared.d.ts",
|
|
22
26
|
"dependencies": {
|
|
23
|
-
"@itwin/core-bentley": "^4.
|
|
27
|
+
"@itwin/core-bentley": "^4.6.0"
|
|
24
28
|
},
|
|
25
29
|
"devDependencies": {
|
|
26
|
-
"@itwin/build-tools": "^4.
|
|
30
|
+
"@itwin/build-tools": "^4.6.0",
|
|
27
31
|
"@itwin/eslint-plugin": "^4.0.0",
|
|
28
32
|
"@types/chai": "^4.3.14",
|
|
29
33
|
"@types/chai-as-promised": "^7.1.8",
|
|
30
34
|
"@types/chai-subset": "^1.3.5",
|
|
31
35
|
"@types/mocha": "^10.0.6",
|
|
32
|
-
"@types/node": "^
|
|
36
|
+
"@types/node": "^20.12.12",
|
|
33
37
|
"@types/sinon": "^17.0.3",
|
|
34
38
|
"@types/sinon-chai": "^3.2.12",
|
|
35
39
|
"chai": "^4.4.1",
|