@itwin/ecschema-rpcinterface-tests 4.1.0-dev.19 → 4.1.0-dev.20

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.
@@ -29848,9 +29848,33 @@ var QueryParamType;
29848
29848
  QueryParamType[QueryParamType["Struct"] = 11] = "Struct";
29849
29849
  })(QueryParamType || (QueryParamType = {}));
29850
29850
  /**
29851
+ * Bind values to an ECSQL query.
29852
+ *
29853
+ * All binding class methods accept an `indexOrName` parameter as a `string | number` type and a value to bind to it.
29854
+ * A binding must be mapped either by a positional index or a string/name. See the examples below.
29855
+ *
29856
+ * @example
29857
+ * Parameter By Index:
29858
+ * ```sql
29859
+ * SELECT a, v FROM test.Foo WHERE a=? AND b=?
29860
+ * ```
29861
+ * The first `?` is index 1 and the second `?` is index 2. The parameter index starts with 1 and not 0.
29862
+ *
29863
+ * @example
29864
+ * Parameter By Name:
29865
+ * ```sql
29866
+ * SELECT a, v FROM test.Foo WHERE a=:name_a AND b=:name_b
29867
+ * ```
29868
+ * Using "name_a" as the `indexOrName` will bind the provided value to `name_a` in the query. And the same goes for
29869
+ * using "name_b" and the `name_b` binding respectively.
29870
+ *
29871
+ * @see
29872
+ * - [ECSQL Parameters]($docs/learning/ECSQL.md#ecsql-parameters)
29873
+ * - [ECSQL Parameter Types]($docs/learning/ECSQLParameterTypes)
29874
+ * - [ECSQL Code Examples]($docs/learning/backend/ECSQLCodeExamples#parameter-bindings)
29875
+ *
29851
29876
  * @public
29852
- * QueryBinder allow to bind values to a ECSQL query.
29853
- * */
29877
+ */
29854
29878
  class QueryBinder {
29855
29879
  constructor() {
29856
29880
  this._args = {};
@@ -30126,7 +30150,9 @@ class QueryBinder {
30126
30150
  }
30127
30151
  return params;
30128
30152
  }
30129
- serialize() { return this._args; }
30153
+ serialize() {
30154
+ return this._args;
30155
+ }
30130
30156
  }
30131
30157
  /** @internal */
30132
30158
  var DbRequestKind;
@@ -31656,7 +31682,9 @@ class PropertyMetaDataMap {
31656
31682
  this._byNoCase.set(property.jsonName.toLowerCase(), property.index);
31657
31683
  }
31658
31684
  }
31659
- get length() { return this.properties.length; }
31685
+ get length() {
31686
+ return this.properties.length;
31687
+ }
31660
31688
  [Symbol.iterator]() {
31661
31689
  return this.properties[Symbol.iterator]();
31662
31690
  }
@@ -31682,9 +31710,33 @@ class PropertyMetaDataMap {
31682
31710
  return undefined;
31683
31711
  }
31684
31712
  }
31685
- /** @beta */
31713
+ /**
31714
+ * Execute ECSQL statements and read the results.
31715
+ *
31716
+ * The query results are returned one row at a time. The format of the row is dictated by the
31717
+ * [[QueryOptions.rowFormat]] specified in the `options` parameter of the constructed ECSqlReader object. Defaults to
31718
+ * [[QueryRowFormat.UseECSqlPropertyIndexes]] when no `rowFormat` is defined.
31719
+ *
31720
+ * There are three primary ways to interact with and read the results:
31721
+ * - Stream them using ECSqlReader as an asynchronous iterator.
31722
+ * - Iterator over them manually using [[ECSqlReader.step]].
31723
+ * - Capture all of the results at once in an array using [[QueryRowProxy.toArray]].
31724
+ *
31725
+ * @see
31726
+ * - [ECSQL Overview]($docs/learning/backend/ExecutingECSQL)
31727
+ * - [ECSQL Row Formats]($docs/learning/ECSQLRowFormat) for more details on how rows are formatted.
31728
+ * - [ECSQL Code Examples]($docs/learning/ECSQLCodeExamples#iterating-over-query-results) for examples of each
31729
+ * of the above ways of interacting with ECSqlReader.
31730
+ *
31731
+ * @note When iterating over the results, the current row will be a [[QueryRowProxy]] object. To get the row as a basic
31732
+ * JavaScript object, call [[QueryRowProxy.toRow]] on it.
31733
+ *
31734
+ * @beta
31735
+ */
31686
31736
  class ECSqlReader {
31687
- /** @internal */
31737
+ /**
31738
+ * @internal
31739
+ */
31688
31740
  constructor(_executor, query, param, options) {
31689
31741
  this._executor = _executor;
31690
31742
  this.query = query;
@@ -31698,6 +31750,7 @@ class ECSqlReader {
31698
31750
  this._param = new _ConcurrentQuery__WEBPACK_IMPORTED_MODULE_1__.QueryBinder().serialize();
31699
31751
  this._lockArgs = false;
31700
31752
  this._stats = { backendCpuTime: 0, backendTotalTime: 0, backendMemUsed: 0, backendRowsReturned: 0, totalTime: 0, retryCount: 0 };
31753
+ this._options = new _ConcurrentQuery__WEBPACK_IMPORTED_MODULE_1__.QueryOptionsBuilder().getOptions();
31701
31754
  this._rowProxy = new Proxy(this, {
31702
31755
  get: (target, key) => {
31703
31756
  if (typeof key === "string") {
@@ -31732,7 +31785,6 @@ class ECSqlReader {
31732
31785
  return keys;
31733
31786
  },
31734
31787
  });
31735
- this._options = new _ConcurrentQuery__WEBPACK_IMPORTED_MODULE_1__.QueryOptionsBuilder().getOptions();
31736
31788
  if (query.trim().length === 0) {
31737
31789
  throw new Error("expecting non-empty ecsql statement");
31738
31790
  }
@@ -31779,21 +31831,70 @@ class ECSqlReader {
31779
31831
  }
31780
31832
  this._done = false;
31781
31833
  }
31782
- get current() { return this._rowProxy; }
31783
- // clear all bindings
31834
+ /**
31835
+ * Get the current row from the query result. The current row is the one most recently stepped-to
31836
+ * (by step() or during iteration).
31837
+ *
31838
+ * Each value from the row can be accessed by index or by name.
31839
+ *
31840
+ * The format of the row is dictated by the [[QueryOptions.rowFormat]] specified in the `options` parameter of the
31841
+ * constructed ECSqlReader object.
31842
+ *
31843
+ * @see
31844
+ * - [[QueryRowFormat]]
31845
+ * - [ECSQL Row Formats]($docs/learning/ECSQLRowFormat)
31846
+ *
31847
+ * @note The current row is be a [[QueryRowProxy]] object. To get the row as a basic JavaScript object, call
31848
+ * [[QueryRowProxy.toRow]] on it.
31849
+ *
31850
+ * @example
31851
+ * ```ts
31852
+ * const reader = iModel.createQueryReader("SELECT ECInstanceId FROM bis.Element");
31853
+ * while (await reader.step()) {
31854
+ * // Both lines below print the same value
31855
+ * console.log(reader.current[0]);
31856
+ * console.log(reader.current.ecinstanceid);
31857
+ * }
31858
+ * ```
31859
+ *
31860
+ * @return The current row as a [[QueryRowProxy]].
31861
+ */
31862
+ get current() {
31863
+ return this._rowProxy;
31864
+ }
31865
+ /**
31866
+ * Clear all bindings.
31867
+ */
31784
31868
  resetBindings() {
31785
31869
  this._param = new _ConcurrentQuery__WEBPACK_IMPORTED_MODULE_1__.QueryBinder().serialize();
31786
31870
  this._lockArgs = false;
31787
31871
  }
31788
- // return if there is any more rows available
31789
- get done() { return this._done; }
31872
+ /**
31873
+ * Returns if there are more rows available.
31874
+ *
31875
+ * @returns `true` if all rows have been stepped through already.<br/>
31876
+ * `false` if there are any yet unaccessed rows.
31877
+ */
31878
+ get done() {
31879
+ return this._done;
31880
+ }
31881
+ /**
31882
+ *
31883
+ */
31790
31884
  getRowInternal() {
31791
31885
  if (this._localRows.length <= this._localOffset)
31792
31886
  throw new Error("no current row");
31793
31887
  return this._localRows[this._localOffset];
31794
31888
  }
31795
- // return performance related statistics for current query.
31796
- get stats() { return this._stats; }
31889
+ /**
31890
+ * Get performance-related statistics for the current query.
31891
+ */
31892
+ get stats() {
31893
+ return this._stats;
31894
+ }
31895
+ /**
31896
+ *
31897
+ */
31797
31898
  async readRows() {
31798
31899
  if (this._globalDone) {
31799
31900
  return [];
@@ -31824,6 +31925,9 @@ class ECSqlReader {
31824
31925
  }
31825
31926
  return resp.data;
31826
31927
  }
31928
+ /**
31929
+ *
31930
+ */
31827
31931
  async runWithRetry(request) {
31828
31932
  const needRetry = (rs) => (rs.status === _ConcurrentQuery__WEBPACK_IMPORTED_MODULE_1__.DbResponseStatus.Partial || rs.status === _ConcurrentQuery__WEBPACK_IMPORTED_MODULE_1__.DbResponseStatus.QueueFull || rs.status === _ConcurrentQuery__WEBPACK_IMPORTED_MODULE_1__.DbResponseStatus.Timeout) && (rs.data.length === 0);
31829
31933
  const updateStats = (rs) => {
@@ -31854,6 +31958,9 @@ class ECSqlReader {
31854
31958
  updateStats(resp);
31855
31959
  return resp;
31856
31960
  }
31961
+ /**
31962
+ *
31963
+ */
31857
31964
  formatCurrentRow(onlyReturnObject = false) {
31858
31965
  if (!onlyReturnObject && this._options.rowFormat === _ConcurrentQuery__WEBPACK_IMPORTED_MODULE_1__.QueryRowFormat.UseECSqlPropertyIndexes) {
31859
31966
  return this.getRowInternal();
@@ -31871,12 +31978,20 @@ class ECSqlReader {
31871
31978
  }
31872
31979
  return formattedRow;
31873
31980
  }
31981
+ /**
31982
+ * Get the metadata for each column in the query result.
31983
+ *
31984
+ * @returns An array of [[QueryPropertyMetaData]].
31985
+ */
31874
31986
  async getMetaData() {
31875
31987
  if (this._props.length === 0) {
31876
31988
  await this.fetchRows();
31877
31989
  }
31878
31990
  return this._props.properties;
31879
31991
  }
31992
+ /**
31993
+ *
31994
+ */
31880
31995
  async fetchRows() {
31881
31996
  this._localOffset = -1;
31882
31997
  this._localRows = await this.readRows();
@@ -31884,6 +31999,12 @@ class ECSqlReader {
31884
31999
  this._done = true;
31885
32000
  }
31886
32001
  }
32002
+ /**
32003
+ * Step to the next row of the query result.
32004
+ *
32005
+ * @returns `true` if a row can be read from `current`.<br/>
32006
+ * `false` if there are no more rows; i.e., all rows have been stepped through already.
32007
+ */
31887
32008
  async step() {
31888
32009
  if (this._done) {
31889
32010
  return false;
@@ -31899,6 +32020,11 @@ class ECSqlReader {
31899
32020
  }
31900
32021
  return true;
31901
32022
  }
32023
+ /**
32024
+ * Get all remaining rows from the query result.
32025
+ *
32026
+ * @returns An array of all remaining rows from the query result.
32027
+ */
31902
32028
  async toArray() {
31903
32029
  const rows = [];
31904
32030
  while (await this.step()) {
@@ -31906,9 +32032,21 @@ class ECSqlReader {
31906
32032
  }
31907
32033
  return rows;
31908
32034
  }
32035
+ /**
32036
+ * Accessor for using ECSqlReader as an asynchronous iterator.
32037
+ *
32038
+ * @returns An asynchronous iterator over the rows returned by the executed ECSQL query.
32039
+ */
31909
32040
  [Symbol.asyncIterator]() {
31910
32041
  return this;
31911
32042
  }
32043
+ /**
32044
+ * Calls step when called as an iterator.
32045
+ *
32046
+ * Returns the row alongside a `done` boolean to indicate if there are any more rows for an iterator to step to.
32047
+ *
32048
+ * @returns An object with the keys: `value` which contains the row and `done` which contains a boolean.
32049
+ */
31912
32050
  async next() {
31913
32051
  if (await this.step()) {
31914
32052
  return {
@@ -80183,7 +80321,7 @@ class IModelConnection extends _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.I
80183
80321
  *
80184
80322
  * See also:
80185
80323
  * - [ECSQL Overview]($docs/learning/backend/ExecutingECSQL)
80186
- * - [Code Examples]($docs/learning/backend/ECSQLCodeExamples)
80324
+ * - [Code Examples]($docs/learning/ECSQLCodeExamples)
80187
80325
  *
80188
80326
  * @param ecsql The ECSQL statement to execute
80189
80327
  * @param params The values to bind to the parameters (if the ECSQL has any).
@@ -80203,7 +80341,7 @@ class IModelConnection extends _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.I
80203
80341
  *
80204
80342
  * See also:
80205
80343
  * - [ECSQL Overview]($docs/learning/backend/ExecutingECSQL)
80206
- * - [Code Examples]($docs/learning/backend/ECSQLCodeExamples)
80344
+ * - [Code Examples]($docs/learning/ECSQLCodeExamples)
80207
80345
  *
80208
80346
  * @param ecsql The ECSQL statement to execute
80209
80347
  * @param params The values to bind to the parameters (if the ECSQL has any).
@@ -80224,7 +80362,7 @@ class IModelConnection extends _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.I
80224
80362
  *
80225
80363
  * See also:
80226
80364
  * - [ECSQL Overview]($docs/learning/backend/ExecutingECSQL)
80227
- * - [Code Examples]($docs/learning/backend/ECSQLCodeExamples)
80365
+ * - [Code Examples]($docs/learning/ECSQLCodeExamples)
80228
80366
  *
80229
80367
  * @param ecsql The ECSQL statement to execute
80230
80368
  * @param token None empty restart token. The previous query with same token would be cancelled. This would cause
@@ -147094,6 +147232,27 @@ class ArcGisUtilities {
147094
147232
  }
147095
147233
  return sources;
147096
147234
  }
147235
+ /**
147236
+ * Parse the URL to check if it represent a valid ArcGIS service
147237
+ * @param url URL to validate.
147238
+ * @param serviceType Service type to validate (i.e FeatureServer, MapServer)
147239
+ * @return Validation Status.
147240
+ */
147241
+ static validateUrl(url, serviceType) {
147242
+ const urlObj = new URL(url.toLowerCase());
147243
+ if (urlObj.pathname.includes("/rest/services/")) {
147244
+ // This seem to be an ArcGIS URL, lets check the service type
147245
+ if (urlObj.pathname.endsWith(`${serviceType.toLowerCase()}`)) {
147246
+ return _internal__WEBPACK_IMPORTED_MODULE_1__.MapLayerSourceStatus.Valid;
147247
+ }
147248
+ else {
147249
+ return _internal__WEBPACK_IMPORTED_MODULE_1__.MapLayerSourceStatus.IncompatibleFormat;
147250
+ }
147251
+ }
147252
+ else {
147253
+ return _internal__WEBPACK_IMPORTED_MODULE_1__.MapLayerSourceStatus.InvalidUrl;
147254
+ }
147255
+ }
147097
147256
  /**
147098
147257
  * Attempt to access an ArcGIS service, and validate its service metadata.
147099
147258
  * @param url URL of the source to validate.
@@ -149971,6 +150130,9 @@ class WmtsMapLayerFormat extends ImageryMapLayerFormat {
149971
150130
  WmtsMapLayerFormat.formatId = "WMTS";
149972
150131
  class ArcGISMapLayerFormat extends ImageryMapLayerFormat {
149973
150132
  static async validateSource(url, userName, password, ignoreCache) {
150133
+ const urlValidation = _internal__WEBPACK_IMPORTED_MODULE_0__.ArcGisUtilities.validateUrl(url, "MapServer");
150134
+ if (urlValidation !== _internal__WEBPACK_IMPORTED_MODULE_0__.MapLayerSourceStatus.Valid)
150135
+ return { status: urlValidation };
149974
150136
  // Some Map service supporting only tiles don't include the 'Map' capabilities, thus we can't make it mandatory.
149975
150137
  return _internal__WEBPACK_IMPORTED_MODULE_0__.ArcGisUtilities.validateSource(url, this.formatId, [], userName, password, ignoreCache);
149976
150138
  }
@@ -150361,6 +150523,9 @@ var MapLayerSourceStatus;
150361
150523
  MapLayerSourceStatus[MapLayerSourceStatus["RequireAuth"] = 5] = "RequireAuth";
150362
150524
  /** Map-layer coordinate system is not supported */
150363
150525
  MapLayerSourceStatus[MapLayerSourceStatus["InvalidCoordinateSystem"] = 6] = "InvalidCoordinateSystem";
150526
+ /** Format is not compatible with the URL provided.
150527
+ */
150528
+ MapLayerSourceStatus[MapLayerSourceStatus["IncompatibleFormat"] = 7] = "IncompatibleFormat";
150364
150529
  })(MapLayerSourceStatus || (MapLayerSourceStatus = {}));
150365
150530
  /** A source for map layers. These may be catalogued for convenient use by users or applications.
150366
150531
  * @public
@@ -284483,7 +284648,7 @@ module.exports = JSON.parse('{"name":"axios","version":"0.21.4","description":"P
284483
284648
  /***/ ((module) => {
284484
284649
 
284485
284650
  "use strict";
284486
- module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"4.1.0-dev.19","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 webpackWorkers && npm run -s copy:workers","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 ES2020 --outDir lib/esm","clean":"rimraf 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:workers":"cpx \\"./lib/workers/webpack/parse-imdl-worker.js\\" ./lib/public/scripts","docs":"betools docs --includes=../../generated-docs/extract --json=../../generated-docs/core/core-frontend/file.json --tsIndexFile=./core-frontend.ts --onlyJson --excludes=webgl/**/*,**/primitives,**/map/*.d.ts,**/tile/*.d.ts,**/*-css.ts","extract-api":"betools extract-api --entry=core-frontend && npm run extract-extension-api","extract-extension-api":"eslint --no-eslintrc -c \\"./node_modules/@itwin/eslint-plugin/dist/configs/extension-exports-config.js\\" \\"./src/**/*.ts\\" 1>&2","lint":"eslint -f visualstudio \\"./src/**/*.ts\\" 1>&2","pseudolocalize":"betools pseudolocalize --englishDir ./src/public/locales/en --out ./public/locales/en-PSEUDO","test":"npm run -s webpackTests && certa -r chrome","cover":"npm -s test","test:debug":"certa -r chrome --debug","webpackTests":"webpack --config ./src/test/utils/webpack.config.js 1>&2 && npm run -s webpackTestWorker","webpackTestWorker":"webpack --config ./src/test/worker/webpack.config.js 1>&2 && cpx \\"./lib/test/test-worker.js\\" ./lib/test","webpackWorkers":"webpack --config ./src/workers/ImdlParser/webpack.config.js 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:^4.1.0-dev.19","@itwin/core-bentley":"workspace:^4.1.0-dev.19","@itwin/core-common":"workspace:^4.1.0-dev.19","@itwin/core-geometry":"workspace:^4.1.0-dev.19","@itwin/core-orbitgt":"workspace:^4.1.0-dev.19","@itwin/core-quantity":"workspace:^4.1.0-dev.19"},"//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":{"@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/certa":"workspace:*","@itwin/eslint-plugin":"^4.0.0-dev.33","@types/chai":"4.3.1","@types/chai-as-promised":"^7","@types/mocha":"^8.2.2","@types/node":"^18.11.5","@types/sinon":"^9.0.0","babel-loader":"~8.2.5","babel-plugin-istanbul":"~6.1.1","chai":"^4.1.2","chai-as-promised":"^7","cpx2":"^3.0.0","eslint":"^8.36.0","glob":"^7.1.2","mocha":"^10.0.0","nyc":"^15.1.0","rimraf":"^3.0.2","sinon":"^9.0.2","source-map-loader":"^4.0.0","typescript":"~5.0.2","webpack":"^5.76.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/object-storage-azure":"^1.5.0","@itwin/cloud-agnostic-core":"^1.5.0","@itwin/object-storage-core":"^1.5.0","@itwin/core-i18n":"workspace:*","@itwin/core-telemetry":"workspace:*","@itwin/webgl-compatibility":"workspace:*","@loaders.gl/core":"^3.1.6","@loaders.gl/draco":"^3.1.6","fuse.js":"^3.3.0","wms-capabilities":"0.4.0","reflect-metadata":"0.1.13"},"nyc":{"extends":"./node_modules/@itwin/build-tools/.nycrc"},"eslintConfig":{"plugins":["@itwin"],"extends":"plugin:@itwin/itwinjs-recommended","rules":{"@itwin/no-internal-barrel-imports":["error",{"required-barrel-modules":["./src/tile/internal.ts"]}],"@itwin/public-extension-exports":["error",{"releaseTags":["public","preview"],"outputApiFile":false}]},"overrides":[{"files":["*.test.ts","*.test.tsx","**/test/**/*.ts"],"rules":{"@itwin/no-internal-barrel-imports":"off"}}]}}');
284651
+ module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"4.1.0-dev.20","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 webpackWorkers && npm run -s copy:workers","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 ES2020 --outDir lib/esm","clean":"rimraf 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:workers":"cpx \\"./lib/workers/webpack/parse-imdl-worker.js\\" ./lib/public/scripts","docs":"betools docs --includes=../../generated-docs/extract --json=../../generated-docs/core/core-frontend/file.json --tsIndexFile=./core-frontend.ts --onlyJson --excludes=webgl/**/*,**/primitives,**/map/*.d.ts,**/tile/*.d.ts,**/*-css.ts","extract-api":"betools extract-api --entry=core-frontend && npm run extract-extension-api","extract-extension-api":"eslint --no-eslintrc -c \\"./node_modules/@itwin/eslint-plugin/dist/configs/extension-exports-config.js\\" \\"./src/**/*.ts\\" 1>&2","lint":"eslint -f visualstudio \\"./src/**/*.ts\\" 1>&2","pseudolocalize":"betools pseudolocalize --englishDir ./src/public/locales/en --out ./public/locales/en-PSEUDO","test":"npm run -s webpackTests && certa -r chrome","cover":"npm -s test","test:debug":"certa -r chrome --debug","webpackTests":"webpack --config ./src/test/utils/webpack.config.js 1>&2 && npm run -s webpackTestWorker","webpackTestWorker":"webpack --config ./src/test/worker/webpack.config.js 1>&2 && cpx \\"./lib/test/test-worker.js\\" ./lib/test","webpackWorkers":"webpack --config ./src/workers/ImdlParser/webpack.config.js 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:^4.1.0-dev.20","@itwin/core-bentley":"workspace:^4.1.0-dev.20","@itwin/core-common":"workspace:^4.1.0-dev.20","@itwin/core-geometry":"workspace:^4.1.0-dev.20","@itwin/core-orbitgt":"workspace:^4.1.0-dev.20","@itwin/core-quantity":"workspace:^4.1.0-dev.20"},"//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":{"@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/certa":"workspace:*","@itwin/eslint-plugin":"^4.0.0-dev.33","@types/chai":"4.3.1","@types/chai-as-promised":"^7","@types/mocha":"^8.2.2","@types/node":"^18.11.5","@types/sinon":"^9.0.0","babel-loader":"~8.2.5","babel-plugin-istanbul":"~6.1.1","chai":"^4.1.2","chai-as-promised":"^7","cpx2":"^3.0.0","eslint":"^8.36.0","glob":"^7.1.2","mocha":"^10.0.0","nyc":"^15.1.0","rimraf":"^3.0.2","sinon":"^9.0.2","source-map-loader":"^4.0.0","typescript":"~5.0.2","webpack":"^5.76.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/object-storage-azure":"^1.5.0","@itwin/cloud-agnostic-core":"^1.5.0","@itwin/object-storage-core":"^1.5.0","@itwin/core-i18n":"workspace:*","@itwin/core-telemetry":"workspace:*","@itwin/webgl-compatibility":"workspace:*","@loaders.gl/core":"^3.1.6","@loaders.gl/draco":"^3.1.6","fuse.js":"^3.3.0","wms-capabilities":"0.4.0","reflect-metadata":"0.1.13"},"nyc":{"extends":"./node_modules/@itwin/build-tools/.nycrc"},"eslintConfig":{"plugins":["@itwin"],"extends":"plugin:@itwin/itwinjs-recommended","rules":{"@itwin/no-internal-barrel-imports":["error",{"required-barrel-modules":["./src/tile/internal.ts"]}],"@itwin/public-extension-exports":["error",{"releaseTags":["public","preview"],"outputApiFile":false}]},"overrides":[{"files":["*.test.ts","*.test.tsx","**/test/**/*.ts"],"rules":{"@itwin/no-internal-barrel-imports":"off"}}]}}');
284487
284652
 
284488
284653
  /***/ })
284489
284654