@itwin/ecschema-rpcinterface-tests 5.13.0-dev.10 → 5.13.0-dev.12
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/lib/dist/bundled-tests.js +126 -35
- package/lib/dist/bundled-tests.js.map +1 -1
- package/lib/dist/core_frontend_lib_esm_ApproximateTerrainHeightsProps_js.bundled-tests.js.map +1 -1
- package/lib/dist/vendors-common_temp_node_modules_pnpm_cross-fetch_4_1_0_node_modules_cross-fetch_dist_browser-44272f.bundled-tests.js.map +1 -1
- package/lib/dist/vendors-common_temp_node_modules_pnpm_loaders_gl_draco_4_3_4__loaders_gl_core_4_3_4_node_modu-4c1fc9.bundled-tests.js.map +1 -1
- package/package.json +16 -16
|
@@ -28324,15 +28324,28 @@ class QueryBinder {
|
|
|
28324
28324
|
* @param indexOrName Specify parameter index or its name used in ECSQL statement.
|
|
28325
28325
|
* @param val @type OrderedId64Iterable value to bind to ECSQL statement.
|
|
28326
28326
|
* @returns @type QueryBinder to allow fluent interface.
|
|
28327
|
+
* @throws an [[ITwinError]] with scope `"itwin-QueryBinder"` and key `"invalid-arguments"` if any entry is not a valid [Id64String]($bentley).
|
|
28327
28328
|
*/
|
|
28328
28329
|
bindIdSet(indexOrName, val) {
|
|
28329
28330
|
this.verify(indexOrName);
|
|
28330
28331
|
const name = String(indexOrName);
|
|
28331
|
-
|
|
28332
|
+
const ids = [];
|
|
28333
|
+
// `string` is an Iterable<string>. In that case assume caller passed a single Id64String, matching CompressedId64Set.sortAndCompress.
|
|
28334
|
+
const iterable = typeof val === "string" ? [val] : val;
|
|
28335
|
+
for (const id of iterable) {
|
|
28336
|
+
if (!_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.Id64.isValidId64(id)) {
|
|
28337
|
+
_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.ITwinError.throwError({
|
|
28338
|
+
message: `QueryBinder.bindIdSet: entry ${JSON.stringify(id)} for parameter "${name}" is not a valid Id64String`,
|
|
28339
|
+
iTwinErrorId: { scope: "itwin-QueryBinder", key: "invalid-arguments" },
|
|
28340
|
+
});
|
|
28341
|
+
}
|
|
28342
|
+
ids.push(id);
|
|
28343
|
+
}
|
|
28344
|
+
_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.OrderedId64Iterable.sortArray(ids);
|
|
28332
28345
|
Object.defineProperty(this._args, name, {
|
|
28333
28346
|
enumerable: true, value: {
|
|
28334
28347
|
type: QueryParamType.IdSet,
|
|
28335
|
-
value: _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.CompressedId64Set.
|
|
28348
|
+
value: _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.CompressedId64Set.compressArray(ids),
|
|
28336
28349
|
},
|
|
28337
28350
|
});
|
|
28338
28351
|
return this;
|
|
@@ -31399,7 +31412,7 @@ var ExternalSourceAttachmentRole;
|
|
|
31399
31412
|
/** The attached [ExternalSource]($backend) models a part of the whole. */
|
|
31400
31413
|
ExternalSourceAttachmentRole[ExternalSourceAttachmentRole["SpecifyPart"] = 1] = "SpecifyPart";
|
|
31401
31414
|
})(ExternalSourceAttachmentRole || (ExternalSourceAttachmentRole = {}));
|
|
31402
|
-
/** The *rank* for a Category
|
|
31415
|
+
/** The *rank* for a [Category]($backend), [SubCategory]($backend), or [DefinitionSet]($backend).
|
|
31403
31416
|
* @public @preview
|
|
31404
31417
|
* @extensions
|
|
31405
31418
|
*/
|
|
@@ -100475,6 +100488,7 @@ class ViewManager {
|
|
|
100475
100488
|
cursor = "default";
|
|
100476
100489
|
_viewports = [];
|
|
100477
100490
|
decorators = [];
|
|
100491
|
+
_selectedViewportChange = Promise.resolve();
|
|
100478
100492
|
_selectedView;
|
|
100479
100493
|
_invalidateScenes = false;
|
|
100480
100494
|
_skipSceneCreation = false;
|
|
@@ -100602,9 +100616,16 @@ class ViewManager {
|
|
|
100602
100616
|
}
|
|
100603
100617
|
/** @internal */
|
|
100604
100618
|
notifySelectedViewportChanged(previous, current) {
|
|
100605
|
-
_IModelApp__WEBPACK_IMPORTED_MODULE_1__.IModelApp.toolAdmin.onSelectedViewportChanged(previous, current)
|
|
100619
|
+
const selectedViewportChange = _IModelApp__WEBPACK_IMPORTED_MODULE_1__.IModelApp.toolAdmin.onSelectedViewportChanged(previous, current)
|
|
100620
|
+
.catch(() => undefined);
|
|
100621
|
+
this._selectedViewportChange = this._selectedViewportChange.then(async () => selectedViewportChange, async () => selectedViewportChange)
|
|
100622
|
+
.then(() => undefined, () => undefined);
|
|
100606
100623
|
this.onSelectedViewportChanged.emit({ previous, current });
|
|
100607
100624
|
}
|
|
100625
|
+
/** @internal */
|
|
100626
|
+
async waitForSelectedViewportChange() {
|
|
100627
|
+
await this._selectedViewportChange;
|
|
100628
|
+
}
|
|
100608
100629
|
/** The "selected view" is the default for certain operations. */
|
|
100609
100630
|
get selectedView() { return this._selectedView; }
|
|
100610
100631
|
/** Get the first opened view. */
|
|
@@ -186431,7 +186452,11 @@ class InteractiveTool extends Tool {
|
|
|
186431
186452
|
async onPostInstall() { }
|
|
186432
186453
|
/** Override Call to reset tool to initial state */
|
|
186433
186454
|
async onReinitialize() { }
|
|
186434
|
-
/** Invoked when the tool becomes no longer active, to perform additional cleanup logic
|
|
186455
|
+
/** Invoked when the tool becomes no longer active, to perform additional cleanup logic.
|
|
186456
|
+
* Cleanup must not assume that the EditCommand associated with the tool is still active: an immediate tool may have finished or
|
|
186457
|
+
* replaced it while this tool remained active. Tools must not start an EditCommand from onCleanup; ToolAdmin owns finishing the active EditCommand during tool cleanup.
|
|
186458
|
+
* @note A ViewTool should never start an EditCommand. An InputCollector may start an EditCommand only if suspending a tool that supports EditManipulators (ex. SelectionTool).
|
|
186459
|
+
*/
|
|
186435
186460
|
async onCleanup() { }
|
|
186436
186461
|
/** Notification of a ViewTool or InputCollector starting and this tool is being suspended.
|
|
186437
186462
|
* @note Applies only to PrimitiveTool and InputCollector, a ViewTool can't be suspended.
|
|
@@ -188605,23 +188630,54 @@ class ToolAdmin {
|
|
|
188605
188630
|
}
|
|
188606
188631
|
/** @internal */
|
|
188607
188632
|
async setPrimitiveTool(newTool) {
|
|
188608
|
-
|
|
188609
|
-
|
|
188610
|
-
|
|
188611
|
-
|
|
188612
|
-
|
|
188633
|
+
return this.setPrimitiveToolInternal(newTool);
|
|
188634
|
+
}
|
|
188635
|
+
async setPrimitiveToolInternal(newTool, pendingFinishCommand) {
|
|
188636
|
+
const oldTool = this._primitiveTool;
|
|
188637
|
+
let ownsOldTool = undefined === oldTool;
|
|
188638
|
+
if (undefined !== oldTool) {
|
|
188639
|
+
let mainError;
|
|
188640
|
+
try {
|
|
188641
|
+
await oldTool.onCleanup();
|
|
188642
|
+
}
|
|
188643
|
+
catch (err) {
|
|
188644
|
+
mainError = (err instanceof Error) ? err : new Error(_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BentleyError.getErrorMessage(err));
|
|
188645
|
+
}
|
|
188646
|
+
try {
|
|
188647
|
+
if (undefined !== pendingFinishCommand)
|
|
188648
|
+
await pendingFinishCommand;
|
|
188649
|
+
else if (undefined !== this._editCommandHandler)
|
|
188650
|
+
await this._editCommandHandler.finishCommand();
|
|
188651
|
+
}
|
|
188652
|
+
catch (err) {
|
|
188653
|
+
// throw finishCommand error if onCleanup succeeded, otherwise log finishCommand failure...
|
|
188654
|
+
if (undefined === mainError)
|
|
188655
|
+
mainError = (err instanceof Error) ? err : new Error(_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BentleyError.getErrorMessage(err));
|
|
188656
|
+
else
|
|
188657
|
+
_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.Logger.logError(`${_common_FrontendLoggerCategory__WEBPACK_IMPORTED_MODULE_4__.FrontendLoggerCategory.Package}.toolAdmin`, err);
|
|
188658
|
+
}
|
|
188659
|
+
finally {
|
|
188660
|
+
// Force-clear stale tool state if either onCleanup or finishCommand failed...
|
|
188661
|
+
ownsOldTool = this._primitiveTool === oldTool;
|
|
188662
|
+
if (ownsOldTool)
|
|
188663
|
+
this._primitiveTool = undefined;
|
|
188664
|
+
}
|
|
188665
|
+
if (undefined !== mainError)
|
|
188666
|
+
throw mainError;
|
|
188613
188667
|
}
|
|
188614
|
-
|
|
188668
|
+
// Do not let a delayed transition overwrite a tool installed by a newer transition.
|
|
188669
|
+
if (ownsOldTool)
|
|
188670
|
+
this._primitiveTool = newTool;
|
|
188615
188671
|
}
|
|
188616
|
-
//
|
|
188617
|
-
|
|
188672
|
+
// Serialize primitive starts and last-viewport cleanup to avoid overlapping transitions.
|
|
188673
|
+
_primitiveToolTransition;
|
|
188618
188674
|
/** @internal */
|
|
188619
188675
|
async startPrimitiveTool(newTool) {
|
|
188620
188676
|
// If another start is in progress wait for it to finish before proceeding.
|
|
188621
|
-
while (undefined !== this.
|
|
188622
|
-
await this.
|
|
188623
|
-
let
|
|
188624
|
-
this.
|
|
188677
|
+
while (undefined !== this._primitiveToolTransition)
|
|
188678
|
+
await this._primitiveToolTransition;
|
|
188679
|
+
let resolveTransition;
|
|
188680
|
+
const transition = this._primitiveToolTransition = new Promise((resolve) => { resolveTransition = resolve; });
|
|
188625
188681
|
try {
|
|
188626
188682
|
_IModelApp__WEBPACK_IMPORTED_MODULE_5__.IModelApp.notifications.outputPrompt("");
|
|
188627
188683
|
await this.exitViewTool();
|
|
@@ -188649,9 +188705,9 @@ class ToolAdmin {
|
|
|
188649
188705
|
this.onActiveToolChanged(activeTool, StartOrResume.Start);
|
|
188650
188706
|
}
|
|
188651
188707
|
finally {
|
|
188652
|
-
|
|
188653
|
-
|
|
188654
|
-
|
|
188708
|
+
resolveTransition?.();
|
|
188709
|
+
if (this._primitiveToolTransition === transition)
|
|
188710
|
+
this._primitiveToolTransition = undefined;
|
|
188655
188711
|
}
|
|
188656
188712
|
}
|
|
188657
188713
|
/** Method used by interactive tools to send updated values to UI components, typically showing tool settings.
|
|
@@ -188898,10 +188954,41 @@ class ToolAdmin {
|
|
|
188898
188954
|
set coordinateLockOverrides(coordLockOvr) { this.toolState.coordLockOvr = coordLockOvr; }
|
|
188899
188955
|
/** @internal */
|
|
188900
188956
|
async callOnCleanup() {
|
|
188901
|
-
|
|
188902
|
-
|
|
188903
|
-
|
|
188904
|
-
|
|
188957
|
+
let pendingFinishCommand;
|
|
188958
|
+
const previousTransition = this._primitiveToolTransition;
|
|
188959
|
+
let resolveTransition;
|
|
188960
|
+
const transition = this._primitiveToolTransition = new Promise((resolve) => { resolveTransition = resolve; });
|
|
188961
|
+
try {
|
|
188962
|
+
// Start the edit-command cleanup before the first await. ViewManager can invoke this method
|
|
188963
|
+
// without awaiting it when the last viewport is dropped.
|
|
188964
|
+
if (undefined !== this._editCommandHandler) {
|
|
188965
|
+
const finishCommand = this._editCommandHandler.finishCommand();
|
|
188966
|
+
// Attach a rejection handler immediately: another cleanup operation may fail before this promise is awaited.
|
|
188967
|
+
pendingFinishCommand = finishCommand.catch((err) => {
|
|
188968
|
+
_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.Logger.logError(`${_common_FrontendLoggerCategory__WEBPACK_IMPORTED_MODULE_4__.FrontendLoggerCategory.Package}.toolAdmin`, err);
|
|
188969
|
+
return "";
|
|
188970
|
+
});
|
|
188971
|
+
}
|
|
188972
|
+
if (undefined !== previousTransition)
|
|
188973
|
+
await previousTransition;
|
|
188974
|
+
if (undefined !== this._viewTool)
|
|
188975
|
+
await this.exitViewTool();
|
|
188976
|
+
if (undefined !== this._inputCollector)
|
|
188977
|
+
await this.exitInputCollector();
|
|
188978
|
+
// Keep cleanup path consistent with other primitive-tool transitions.
|
|
188979
|
+
if (undefined !== this._primitiveTool)
|
|
188980
|
+
await this.setPrimitiveToolInternal(undefined, pendingFinishCommand); // NOTE: ViewManager.setSelectedView will call startDefaultTool if a new view is opened...
|
|
188981
|
+
else if (undefined !== pendingFinishCommand)
|
|
188982
|
+
await pendingFinishCommand;
|
|
188983
|
+
}
|
|
188984
|
+
catch (err) {
|
|
188985
|
+
_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.Logger.logError(`${_common_FrontendLoggerCategory__WEBPACK_IMPORTED_MODULE_4__.FrontendLoggerCategory.Package}.toolAdmin`, err);
|
|
188986
|
+
}
|
|
188987
|
+
finally {
|
|
188988
|
+
resolveTransition?.();
|
|
188989
|
+
if (this._primitiveToolTransition === transition)
|
|
188990
|
+
this._primitiveToolTransition = undefined;
|
|
188991
|
+
}
|
|
188905
188992
|
}
|
|
188906
188993
|
}
|
|
188907
188994
|
/**
|
|
@@ -269892,18 +269979,19 @@ class PolyfaceQuery {
|
|
|
269892
269979
|
*/
|
|
269893
269980
|
static dihedralAngleSummary(source, ignoreBoundaries = false) {
|
|
269894
269981
|
// more info can be found at geometry/internaldocs/Polyface.md
|
|
269982
|
+
// visit all facets and collect normals and edges
|
|
269895
269983
|
const edges = new _IndexedEdgeMatcher__WEBPACK_IMPORTED_MODULE_29__.IndexedEdgeMatcher();
|
|
269896
269984
|
const vertices = source instanceof _Polyface__WEBPACK_IMPORTED_MODULE_34__.Polyface ? source.data.point : undefined;
|
|
269897
269985
|
const visitor = source instanceof _Polyface__WEBPACK_IMPORTED_MODULE_34__.Polyface ? source.createVisitor(1) : source;
|
|
269898
269986
|
visitor.setNumWrap(1);
|
|
269899
|
-
const
|
|
269987
|
+
const facetNormals = [];
|
|
269900
269988
|
let normalCounter = 0;
|
|
269901
269989
|
for (visitor.reset(); visitor.moveToNextFacet();) {
|
|
269902
269990
|
const numEdges = visitor.pointCount - 1;
|
|
269903
269991
|
const normal = _geometry3d_PolygonOps__WEBPACK_IMPORTED_MODULE_14__.PolygonOps.centroidAreaNormal(visitor.point);
|
|
269904
269992
|
if (normal === undefined)
|
|
269905
269993
|
return -2;
|
|
269906
|
-
|
|
269994
|
+
facetNormals.push(normal);
|
|
269907
269995
|
for (let i = 0; i < numEdges; i++) {
|
|
269908
269996
|
const edge = edges.addEdge(visitor.clientPointIndex(i), visitor.clientPointIndex(i + 1), normalCounter);
|
|
269909
269997
|
if (!vertices) // decorate if we don't have vertices to query later
|
|
@@ -269919,21 +270007,24 @@ class PolyfaceQuery {
|
|
|
269919
270007
|
edges.sortAndCollectClusters(manifoldClusters, ignoreBoundaries ? undefined : badClusters, undefined, badClusters);
|
|
269920
270008
|
if (badClusters.length > 0)
|
|
269921
270009
|
return -2;
|
|
269922
|
-
// find angle between facet
|
|
270010
|
+
// find angle between facet normals (dihedral angles)
|
|
269923
270011
|
let numPositive = 0;
|
|
269924
270012
|
let numPlanar = 0;
|
|
269925
270013
|
let numNegative = 0;
|
|
269926
270014
|
const edgeVector = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_12__.Vector3d.create();
|
|
269927
270015
|
for (const cluster of manifoldClusters) {
|
|
269928
270016
|
if (Array.isArray(cluster) && cluster.length === 2) {
|
|
269929
|
-
const sideA = cluster[0];
|
|
269930
|
-
const sideB = cluster[1];
|
|
269931
|
-
if (vertices)
|
|
269932
|
-
vertices.vectorIndexIndex(sideA.startVertex, sideA.endVertex, edgeVector)
|
|
269933
|
-
|
|
270017
|
+
const sideA = cluster[0]; // edge on facetA
|
|
270018
|
+
const sideB = cluster[1]; // edge on facetB
|
|
270019
|
+
if (vertices) {
|
|
270020
|
+
if (!vertices.vectorIndexIndex(sideA.startVertex, sideA.endVertex, edgeVector))
|
|
270021
|
+
return -2;
|
|
270022
|
+
}
|
|
270023
|
+
else {
|
|
269934
270024
|
edgeVector.setFrom(sideA.edgeVector);
|
|
269935
|
-
|
|
269936
|
-
const
|
|
270025
|
+
}
|
|
270026
|
+
const facetNormalA = facetNormals[sideA.facetIndex].direction;
|
|
270027
|
+
const facetNormalB = facetNormals[sideB.facetIndex].direction;
|
|
269937
270028
|
const dihedralAngle = facetNormalA.signedAngleTo(facetNormalB, edgeVector);
|
|
269938
270029
|
if (dihedralAngle.isAlmostZero)
|
|
269939
270030
|
numPlanar++;
|
|
@@ -334369,7 +334460,7 @@ var loadLanguages = instance.loadLanguages;
|
|
|
334369
334460
|
(module) {
|
|
334370
334461
|
|
|
334371
334462
|
"use strict";
|
|
334372
|
-
module.exports = /*#__PURE__*/JSON.parse('{"name":"@itwin/core-frontend","version":"5.13.0-dev.
|
|
334463
|
+
module.exports = /*#__PURE__*/JSON.parse('{"name":"@itwin/core-frontend","version":"5.13.0-dev.12","description":"iTwin.js frontend components","main":"lib/cjs/core-frontend.js","module":"lib/esm/core-frontend.js","typings":"lib/cjs/core-frontend","license":"MIT","scripts":{"build":"npm run -s copy:public && npm run -s build:cjs && npm run -s build:esm && npm run -s build:workers && npm run -s copy:draco","build:cjs":"npm run -s copy:js:cjs && tsc 1>&2 --outDir lib/cjs","build:esm":"npm run -s copy:js:esm && tsc 1>&2 --module ES2022 --outDir lib/esm","clean":"rimraf -g lib .rush/temp/package-deps*.json","copy:public":"cpx \\"./src/public/**/*\\" ./lib/public","copy:js:cjs":"cpx \\"./src/**/*.js\\" ./lib/cjs","copy:js:esm":"cpx \\"./src/**/*.js\\" ./lib/esm","copy:draco":"cpx \\"./node_modules/@loaders.gl/draco/dist/libs/*\\" ./lib/public/scripts","docs":"betools docs --json=../../generated-docs/core/core-frontend/file.json --tsIndexFile=./core-frontend.ts --onlyJson --excludes=webgl/**/*,**/map/*.d.ts,**/tile/*.d.ts,**/*-css.ts && npm run -s extract","extract":"betools extract --fileExt=ts --extractFrom=./src/test/example-code --recursive --out=../../generated-docs/extract","extract-api":"betools extract-api --entry=core-frontend && npm run extract-extension-api","extract-extension-api":"eslint --no-inline-config -c extraction.eslint.config.js \\"./src/**/*.ts\\" 1>&2","lint":"eslint \\"./src/**/*.ts\\" 1>&2","lint-fix":"eslint --fix -f visualstudio \\"./src/**/*.ts\\" 1>&2","lint-deprecation":"eslint --fix -f visualstudio --no-inline-config -c ../../common/config/eslint/eslint.config.deprecation-policy.js \\"./src/**/*.ts\\"","pseudolocalize":"betools pseudolocalize --englishDir ./src/public/locales/en --out ./public/locales/en-PSEUDO","test":"npm run build:test-worker && vitest --run","cover":"npm run build:test-worker && vitest --run","build:test-worker":"vite build --config ./src/test/worker/vite.config.mts 1>&2","build:workers":"rimraf lib/workers/webpack && vite build --config ./src/workers/ImdlParser/vite.config.mts 1>&2"},"repository":{"type":"git","url":"https://github.com/iTwin/itwinjs-core.git","directory":"core/frontend"},"keywords":["Bentley","BIM","iModel","digital-twin","iTwin"],"author":{"name":"Bentley Systems, Inc.","url":"http://www.bentley.com"},"peerDependencies":{"@itwin/appui-abstract":"workspace:*","@itwin/core-bentley":"workspace:*","@itwin/core-common":"workspace:*","@itwin/core-geometry":"workspace:*","@itwin/core-orbitgt":"workspace:*","@itwin/core-quantity":"workspace:*","@itwin/ecschema-metadata":"workspace:*","@itwin/ecschema-rpcinterface-common":"workspace:*"},"//devDependencies":["NOTE: All peerDependencies should also be listed as devDependencies since peerDependencies are not considered by npm install","NOTE: All tools used by scripts in this package must be listed as devDependencies"],"devDependencies":{"@bentley/aec-units-schema":"^1.0.3","@bentley/formats-schema":"^1.0.0","@bentley/units-schema":"^1.0.11","@itwin/appui-abstract":"workspace:*","@itwin/build-tools":"workspace:*","@itwin/core-bentley":"workspace:*","@itwin/core-common":"workspace:*","@itwin/core-geometry":"workspace:*","@itwin/core-orbitgt":"workspace:*","@itwin/core-quantity":"workspace:*","@itwin/ecschema-metadata":"workspace:*","@itwin/ecschema-rpcinterface-common":"workspace:*","@itwin/object-storage-core":"^3.0.4","@itwin/eslint-plugin":"^6.0.0","@types/chai-as-promised":"^7","@types/draco3d":"^1.4.10","@types/node":"~20.17.0","@types/sinon":"^17.0.2","@vitest/browser-playwright":"^4.1.10","@vitest/coverage-v8":"^4.1.10","cpx2":"^8.0.0","eslint":"^9.31.0","playwright":"~1.56.1","rimraf":"^6.0.1","sinon":"^17.0.2","typescript":"~5.6.2","vite":"^6.4.3","vitest":"^4.1.10","vite-multiple-assets":"^1.3.1","vite-plugin-static-copy":"2.2.0"},"//dependencies":["NOTE: these dependencies should be only for things that DO NOT APPEAR IN THE API","NOTE: core-frontend should remain UI technology agnostic, so no react/angular dependencies are allowed"],"dependencies":{"@itwin/core-i18n":"workspace:*","@itwin/webgl-compatibility":"workspace:*","@loaders.gl/core":"~4.3.4","@loaders.gl/draco":"~4.3.4","fuse.js":"^3.3.0","wms-capabilities":"0.4.0"}}');
|
|
334373
334464
|
|
|
334374
334465
|
/***/ }
|
|
334375
334466
|
|