@itwin/rpcinterface-full-stack-tests 3.3.0-dev.86 → 3.3.0-dev.89

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.
@@ -1 +1 @@
1
- {"version":3,"file":"_c41d.bundled-tests.js","mappings":";;;;;;;;AAAA","sources":["file:///ignored|D:\\vsts_a\\1147\\s\\common\\temp\\node_modules\\.pnpm\\@loaders.gl+worker-utils@3.2.5\\node_modules\\@loaders.gl\\worker-utils\\dist\\esm\\lib\\library-utils|../node/require-utils.node"],"names":[],"sourceRoot":""}
1
+ {"version":3,"file":"_c41d.bundled-tests.js","mappings":";;;;;;;;AAAA","sources":["file:///ignored|D:\\vsts_b\\89\\s\\common\\temp\\node_modules\\.pnpm\\@loaders.gl+worker-utils@3.2.5\\node_modules\\@loaders.gl\\worker-utils\\dist\\esm\\lib\\library-utils|../node/require-utils.node"],"names":[],"sourceRoot":""}
@@ -86797,6 +86797,7 @@ class IpcWebSocketBackend extends IpcWebSocket {
86797
86797
  constructor() {
86798
86798
  super();
86799
86799
  this._handlers = new Map();
86800
+ this._processingQueue = [];
86800
86801
  IpcWebSocket.receivers.add(async (e, m) => this.dispatch(e, m));
86801
86802
  }
86802
86803
  send(channel, ...data) {
@@ -86810,22 +86811,35 @@ class IpcWebSocketBackend extends IpcWebSocket {
86810
86811
  };
86811
86812
  }
86812
86813
  async dispatch(_evt, message) {
86813
- if (message.type !== IpcWebSocketMessageType.Invoke || !message.method)
86814
+ if (message.type !== IpcWebSocketMessageType.Invoke)
86814
86815
  return;
86815
- const handler = this._handlers.get(message.channel);
86816
- if (!handler)
86816
+ this._processingQueue.push(message);
86817
+ await this.processMessages();
86818
+ }
86819
+ async processMessages() {
86820
+ if (this._processing || !this._processingQueue.length) {
86817
86821
  return;
86818
- let args = message.data;
86819
- if (typeof (args) === "undefined")
86820
- args = [];
86821
- const response = await handler({}, message.method, ...args);
86822
- IpcWebSocket.transport.send({
86823
- type: IpcWebSocketMessageType.Response,
86824
- channel: message.channel,
86825
- response: message.request,
86826
- data: response,
86827
- sequence: -1,
86828
- });
86822
+ }
86823
+ const message = this._processingQueue.shift();
86824
+ if (message && message.method) {
86825
+ const handler = this._handlers.get(message.channel);
86826
+ if (handler) {
86827
+ this._processing = message;
86828
+ let args = message.data;
86829
+ if (typeof (args) === "undefined")
86830
+ args = [];
86831
+ const response = await handler({}, message.method, ...args);
86832
+ IpcWebSocket.transport.send({
86833
+ type: IpcWebSocketMessageType.Response,
86834
+ channel: message.channel,
86835
+ response: message.request,
86836
+ data: response,
86837
+ sequence: -1,
86838
+ });
86839
+ this._processing = undefined;
86840
+ }
86841
+ }
86842
+ await this.processMessages();
86829
86843
  }
86830
86844
  }
86831
86845
 
@@ -89925,6 +89939,9 @@ class BentleyCloudRpcProtocol extends _WebAppRpcProtocol__WEBPACK_IMPORTED_MODUL
89925
89939
  const components = url.pathname.split("/").filter((x) => x); // filter out empty segments
89926
89940
  const operationComponent = components.slice(-1)[0];
89927
89941
  const encodedRequest = url.searchParams.get("parameters") || "";
89942
+ // The encodedRequest should be base64 - fail now if any other characters detected.
89943
+ if (/[^A-z0-9=+\/]/.test(encodedRequest))
89944
+ throw new _IModelError__WEBPACK_IMPORTED_MODULE_1__.IModelError(_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BentleyStatus.ERROR, `Invalid request: Malformed URL parameters detected.`);
89928
89945
  const firstHyphen = operationComponent.indexOf("-");
89929
89946
  const lastHyphen = operationComponent.lastIndexOf("-");
89930
89947
  const interfaceDefinition = operationComponent.slice(0, firstHyphen);
@@ -90316,11 +90333,13 @@ __webpack_require__.r(__webpack_exports__);
90316
90333
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
90317
90334
  /* harmony export */ "WebAppRpcProtocol": () => (/* binding */ WebAppRpcProtocol)
90318
90335
  /* harmony export */ });
90319
- /* harmony import */ var _core_RpcConstants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/RpcConstants */ "../../core/common/lib/esm/rpc/core/RpcConstants.js");
90320
- /* harmony import */ var _core_RpcProtocol__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/RpcProtocol */ "../../core/common/lib/esm/rpc/core/RpcProtocol.js");
90321
- /* harmony import */ var _OpenAPI__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./OpenAPI */ "../../core/common/lib/esm/rpc/web/OpenAPI.js");
90322
- /* harmony import */ var _WebAppRpcLogging__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./WebAppRpcLogging */ "../../core/common/lib/esm/rpc/web/WebAppRpcLogging.js");
90323
- /* harmony import */ var _WebAppRpcRequest__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./WebAppRpcRequest */ "../../core/common/lib/esm/rpc/web/WebAppRpcRequest.js");
90336
+ /* harmony import */ var _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @itwin/core-bentley */ "../../core/bentley/lib/esm/core-bentley.js");
90337
+ /* harmony import */ var _CommonLoggerCategory__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../CommonLoggerCategory */ "../../core/common/lib/esm/CommonLoggerCategory.js");
90338
+ /* harmony import */ var _core_RpcConstants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core/RpcConstants */ "../../core/common/lib/esm/rpc/core/RpcConstants.js");
90339
+ /* harmony import */ var _core_RpcProtocol__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../core/RpcProtocol */ "../../core/common/lib/esm/rpc/core/RpcProtocol.js");
90340
+ /* harmony import */ var _OpenAPI__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./OpenAPI */ "../../core/common/lib/esm/rpc/web/OpenAPI.js");
90341
+ /* harmony import */ var _WebAppRpcLogging__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./WebAppRpcLogging */ "../../core/common/lib/esm/rpc/web/WebAppRpcLogging.js");
90342
+ /* harmony import */ var _WebAppRpcRequest__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./WebAppRpcRequest */ "../../core/common/lib/esm/rpc/web/WebAppRpcRequest.js");
90324
90343
  /*---------------------------------------------------------------------------------------------
90325
90344
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
90326
90345
  * See LICENSE.md in the project root for license terms and full copyright notice.
@@ -90333,10 +90352,12 @@ __webpack_require__.r(__webpack_exports__);
90333
90352
 
90334
90353
 
90335
90354
 
90355
+
90356
+
90336
90357
  /** The HTTP application protocol.
90337
90358
  * @internal
90338
90359
  */
90339
- class WebAppRpcProtocol extends _core_RpcProtocol__WEBPACK_IMPORTED_MODULE_1__.RpcProtocol {
90360
+ class WebAppRpcProtocol extends _core_RpcProtocol__WEBPACK_IMPORTED_MODULE_3__.RpcProtocol {
90340
90361
  /** Constructs an HTTP protocol. */
90341
90362
  constructor(configuration) {
90342
90363
  super(configuration);
@@ -90344,9 +90365,9 @@ class WebAppRpcProtocol extends _core_RpcProtocol__WEBPACK_IMPORTED_MODULE_1__.R
90344
90365
  /** An optional prefix for RPC operation URI paths. */
90345
90366
  this.pathPrefix = "";
90346
90367
  /** The RPC request class for this protocol. */
90347
- this.requestType = _WebAppRpcRequest__WEBPACK_IMPORTED_MODULE_4__.WebAppRpcRequest;
90368
+ this.requestType = _WebAppRpcRequest__WEBPACK_IMPORTED_MODULE_6__.WebAppRpcRequest;
90348
90369
  this.supportsStatusCategory = true;
90349
- this.events.addListener(_WebAppRpcLogging__WEBPACK_IMPORTED_MODULE_3__.WebAppRpcLogging.logProtocolEvent);
90370
+ this.events.addListener(_WebAppRpcLogging__WEBPACK_IMPORTED_MODULE_5__.WebAppRpcLogging.logProtocolEvent);
90350
90371
  }
90351
90372
  /** Convenience handler for an RPC operation get request for an HTTP server. */
90352
90373
  async handleOperationGetRequest(req, res) {
@@ -90354,9 +90375,19 @@ class WebAppRpcProtocol extends _core_RpcProtocol__WEBPACK_IMPORTED_MODULE_1__.R
90354
90375
  }
90355
90376
  /** Convenience handler for an RPC operation post request for an HTTP server. */
90356
90377
  async handleOperationPostRequest(req, res) {
90357
- const request = await _WebAppRpcRequest__WEBPACK_IMPORTED_MODULE_4__.WebAppRpcRequest.parseRequest(this, req);
90378
+ let request;
90379
+ try {
90380
+ request = await _WebAppRpcRequest__WEBPACK_IMPORTED_MODULE_6__.WebAppRpcRequest.parseRequest(this, req);
90381
+ }
90382
+ catch (error) {
90383
+ const message = _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BentleyError.getErrorMessage(error);
90384
+ _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.Logger.logError(_CommonLoggerCategory__WEBPACK_IMPORTED_MODULE_1__.CommonLoggerCategory.RpcInterfaceBackend, `Failed to parse request: ${message}`, _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BentleyError.getErrorMetadata(error));
90385
+ res.status(400);
90386
+ res.send(JSON.stringify({ message, isError: true }));
90387
+ return;
90388
+ }
90358
90389
  const fulfillment = await this.fulfill(request);
90359
- await _WebAppRpcRequest__WEBPACK_IMPORTED_MODULE_4__.WebAppRpcRequest.sendResponse(this, request, fulfillment, req, res);
90390
+ await _WebAppRpcRequest__WEBPACK_IMPORTED_MODULE_6__.WebAppRpcRequest.sendResponse(this, request, fulfillment, req, res);
90360
90391
  }
90361
90392
  /** Convenience handler for an OpenAPI description request for an HTTP server. */
90362
90393
  handleOpenApiDescriptionRequest(_req, res) {
@@ -90366,45 +90397,45 @@ class WebAppRpcProtocol extends _core_RpcProtocol__WEBPACK_IMPORTED_MODULE_1__.R
90366
90397
  /** Converts an HTTP content type value to an RPC content type value. */
90367
90398
  static computeContentType(httpType) {
90368
90399
  if (!httpType)
90369
- return _core_RpcConstants__WEBPACK_IMPORTED_MODULE_0__.RpcContentType.Unknown;
90370
- if (httpType.indexOf(_core_RpcConstants__WEBPACK_IMPORTED_MODULE_0__.WEB_RPC_CONSTANTS.ANY_TEXT) === 0) {
90371
- return _core_RpcConstants__WEBPACK_IMPORTED_MODULE_0__.RpcContentType.Text;
90400
+ return _core_RpcConstants__WEBPACK_IMPORTED_MODULE_2__.RpcContentType.Unknown;
90401
+ if (httpType.indexOf(_core_RpcConstants__WEBPACK_IMPORTED_MODULE_2__.WEB_RPC_CONSTANTS.ANY_TEXT) === 0) {
90402
+ return _core_RpcConstants__WEBPACK_IMPORTED_MODULE_2__.RpcContentType.Text;
90372
90403
  }
90373
- else if (httpType.indexOf(_core_RpcConstants__WEBPACK_IMPORTED_MODULE_0__.WEB_RPC_CONSTANTS.BINARY) === 0) {
90374
- return _core_RpcConstants__WEBPACK_IMPORTED_MODULE_0__.RpcContentType.Binary;
90404
+ else if (httpType.indexOf(_core_RpcConstants__WEBPACK_IMPORTED_MODULE_2__.WEB_RPC_CONSTANTS.BINARY) === 0) {
90405
+ return _core_RpcConstants__WEBPACK_IMPORTED_MODULE_2__.RpcContentType.Binary;
90375
90406
  }
90376
- else if (httpType.indexOf(_core_RpcConstants__WEBPACK_IMPORTED_MODULE_0__.WEB_RPC_CONSTANTS.MULTIPART) === 0) {
90377
- return _core_RpcConstants__WEBPACK_IMPORTED_MODULE_0__.RpcContentType.Multipart;
90407
+ else if (httpType.indexOf(_core_RpcConstants__WEBPACK_IMPORTED_MODULE_2__.WEB_RPC_CONSTANTS.MULTIPART) === 0) {
90408
+ return _core_RpcConstants__WEBPACK_IMPORTED_MODULE_2__.RpcContentType.Multipart;
90378
90409
  }
90379
90410
  else {
90380
- return _core_RpcConstants__WEBPACK_IMPORTED_MODULE_0__.RpcContentType.Unknown;
90411
+ return _core_RpcConstants__WEBPACK_IMPORTED_MODULE_2__.RpcContentType.Unknown;
90381
90412
  }
90382
90413
  }
90383
90414
  /** Supplies the status corresponding to a protocol-specific code value. */
90384
90415
  getStatus(code) {
90385
90416
  switch (code) {
90386
- case 404: return _core_RpcConstants__WEBPACK_IMPORTED_MODULE_0__.RpcRequestStatus.NotFound;
90387
- case 202: return _core_RpcConstants__WEBPACK_IMPORTED_MODULE_0__.RpcRequestStatus.Pending;
90388
- case 200: return _core_RpcConstants__WEBPACK_IMPORTED_MODULE_0__.RpcRequestStatus.Resolved;
90389
- case 500: return _core_RpcConstants__WEBPACK_IMPORTED_MODULE_0__.RpcRequestStatus.Rejected;
90390
- case 204: return _core_RpcConstants__WEBPACK_IMPORTED_MODULE_0__.RpcRequestStatus.NoContent;
90391
- case 502: return _core_RpcConstants__WEBPACK_IMPORTED_MODULE_0__.RpcRequestStatus.BadGateway;
90392
- case 503: return _core_RpcConstants__WEBPACK_IMPORTED_MODULE_0__.RpcRequestStatus.ServiceUnavailable;
90393
- case 504: return _core_RpcConstants__WEBPACK_IMPORTED_MODULE_0__.RpcRequestStatus.GatewayTimeout;
90394
- default: return _core_RpcConstants__WEBPACK_IMPORTED_MODULE_0__.RpcRequestStatus.Unknown;
90417
+ case 404: return _core_RpcConstants__WEBPACK_IMPORTED_MODULE_2__.RpcRequestStatus.NotFound;
90418
+ case 202: return _core_RpcConstants__WEBPACK_IMPORTED_MODULE_2__.RpcRequestStatus.Pending;
90419
+ case 200: return _core_RpcConstants__WEBPACK_IMPORTED_MODULE_2__.RpcRequestStatus.Resolved;
90420
+ case 500: return _core_RpcConstants__WEBPACK_IMPORTED_MODULE_2__.RpcRequestStatus.Rejected;
90421
+ case 204: return _core_RpcConstants__WEBPACK_IMPORTED_MODULE_2__.RpcRequestStatus.NoContent;
90422
+ case 502: return _core_RpcConstants__WEBPACK_IMPORTED_MODULE_2__.RpcRequestStatus.BadGateway;
90423
+ case 503: return _core_RpcConstants__WEBPACK_IMPORTED_MODULE_2__.RpcRequestStatus.ServiceUnavailable;
90424
+ case 504: return _core_RpcConstants__WEBPACK_IMPORTED_MODULE_2__.RpcRequestStatus.GatewayTimeout;
90425
+ default: return _core_RpcConstants__WEBPACK_IMPORTED_MODULE_2__.RpcRequestStatus.Unknown;
90395
90426
  }
90396
90427
  }
90397
90428
  /** Supplies the protocol-specific code corresponding to a status value. */
90398
90429
  getCode(status) {
90399
90430
  switch (status) {
90400
- case _core_RpcConstants__WEBPACK_IMPORTED_MODULE_0__.RpcRequestStatus.NotFound: return 404;
90401
- case _core_RpcConstants__WEBPACK_IMPORTED_MODULE_0__.RpcRequestStatus.Pending: return 202;
90402
- case _core_RpcConstants__WEBPACK_IMPORTED_MODULE_0__.RpcRequestStatus.Resolved: return 200;
90403
- case _core_RpcConstants__WEBPACK_IMPORTED_MODULE_0__.RpcRequestStatus.Rejected: return 500;
90404
- case _core_RpcConstants__WEBPACK_IMPORTED_MODULE_0__.RpcRequestStatus.NoContent: return 204;
90405
- case _core_RpcConstants__WEBPACK_IMPORTED_MODULE_0__.RpcRequestStatus.BadGateway: return 502;
90406
- case _core_RpcConstants__WEBPACK_IMPORTED_MODULE_0__.RpcRequestStatus.ServiceUnavailable: return 503;
90407
- case _core_RpcConstants__WEBPACK_IMPORTED_MODULE_0__.RpcRequestStatus.GatewayTimeout: return 504;
90431
+ case _core_RpcConstants__WEBPACK_IMPORTED_MODULE_2__.RpcRequestStatus.NotFound: return 404;
90432
+ case _core_RpcConstants__WEBPACK_IMPORTED_MODULE_2__.RpcRequestStatus.Pending: return 202;
90433
+ case _core_RpcConstants__WEBPACK_IMPORTED_MODULE_2__.RpcRequestStatus.Resolved: return 200;
90434
+ case _core_RpcConstants__WEBPACK_IMPORTED_MODULE_2__.RpcRequestStatus.Rejected: return 500;
90435
+ case _core_RpcConstants__WEBPACK_IMPORTED_MODULE_2__.RpcRequestStatus.NoContent: return 204;
90436
+ case _core_RpcConstants__WEBPACK_IMPORTED_MODULE_2__.RpcRequestStatus.BadGateway: return 502;
90437
+ case _core_RpcConstants__WEBPACK_IMPORTED_MODULE_2__.RpcRequestStatus.ServiceUnavailable: return 503;
90438
+ case _core_RpcConstants__WEBPACK_IMPORTED_MODULE_2__.RpcRequestStatus.GatewayTimeout: return 504;
90408
90439
  default: return 501;
90409
90440
  }
90410
90441
  }
@@ -90415,7 +90446,7 @@ class WebAppRpcProtocol extends _core_RpcProtocol__WEBPACK_IMPORTED_MODULE_1__.R
90415
90446
  /** An OpenAPI-compatible description of this protocol.
90416
90447
  * @internal
90417
90448
  */
90418
- get openAPIDescription() { return new _OpenAPI__WEBPACK_IMPORTED_MODULE_2__.RpcOpenAPIDescription(this); }
90449
+ get openAPIDescription() { return new _OpenAPI__WEBPACK_IMPORTED_MODULE_4__.RpcOpenAPIDescription(this); }
90419
90450
  }
90420
90451
 
90421
90452
 
@@ -90516,7 +90547,7 @@ class WebAppRpcRequest extends _core_RpcRequest__WEBPACK_IMPORTED_MODULE_6__.Rpc
90516
90547
  }
90517
90548
  }
90518
90549
  if (!request.id) {
90519
- throw new _IModelError__WEBPACK_IMPORTED_MODULE_2__.IModelError(_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BentleyStatus.ERROR, `Invalid request.`);
90550
+ throw new _IModelError__WEBPACK_IMPORTED_MODULE_2__.IModelError(_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BentleyStatus.ERROR, `Invalid request: Missing required activity ID.`);
90520
90551
  }
90521
90552
  return request;
90522
90553
  }
@@ -136605,8 +136636,6 @@ class RealityMeshGeometry extends _CachedGeometry__WEBPACK_IMPORTED_MODULE_7__.I
136605
136636
  }
136606
136637
  get techniqueId() { return 7 /* RealityMesh */; }
136607
136638
  getPass(target) {
136608
- if (target.isDrawingShadowMap)
136609
- return "none";
136610
136639
  if (this._baseIsTransparent || (target.wantThematicDisplay && target.uniforms.thematic.wantIsoLines))
136611
136640
  return "translucent";
136612
136641
  return "opaque";
@@ -163029,6 +163058,7 @@ class RealityTileTree extends _internal__WEBPACK_IMPORTED_MODULE_6__.TileTree {
163029
163058
  const preloadDebugBuilder = (debugControl && debugControl.displayRealityTilePreload) ? args.context.createSceneGraphicBuilder() : undefined;
163030
163059
  const graphicTypeBranches = new Map();
163031
163060
  const selectedTiles = this.selectRealityTiles(args, displayedTileDescendants, preloadDebugBuilder);
163061
+ args.processSelectedTiles(selectedTiles);
163032
163062
  let sortIndices;
163033
163063
  if (!this.parentsAndChildrenExclusive) {
163034
163064
  sortIndices = selectedTiles.map((_x, i) => i);
@@ -243623,7 +243653,7 @@ class PolyfaceBuilder extends _geometry3d_GeometryHandler__WEBPACK_IMPORTED_MODU
243623
243653
  * * Circular or elliptical pipe cross sections can be specified by supplying either a radius, a pair of semi-axis lengths, or a full Arc3d.
243624
243654
  * * For semi-axis length input, x corresponds to an ellipse local axis nominally situated parallel to the xy-plane.
243625
243655
  * * The center of Arc3d input is translated to the centerline start point to act as initial cross section.
243626
- * @param centerline centerline of pipe
243656
+ * @param centerline centerline of pipe. If curved, it will be stroked using the builder's StrokeOptions.
243627
243657
  * @param sectionData circle radius, ellipse semi-axis lengths, or full Arc3d
243628
243658
  * @param numFacetAround how many equal parameter-space chords around each section
243629
243659
  */
@@ -243642,7 +243672,7 @@ class PolyfaceBuilder extends _geometry3d_GeometryHandler__WEBPACK_IMPORTED_MODU
243642
243672
  }
243643
243673
  else if (centerline instanceof _curve_GeometryQuery__WEBPACK_IMPORTED_MODULE_32__.GeometryQuery) {
243644
243674
  const linestring = _curve_LineString3d__WEBPACK_IMPORTED_MODULE_11__.LineString3d.create();
243645
- centerline.emitStrokes(linestring);
243675
+ centerline.emitStrokes(linestring, this._options);
243646
243676
  this.addMiteredPipesFromPoints(linestring.packedPoints, sectionData, numFacetAround);
243647
243677
  }
243648
243678
  }
@@ -254686,6 +254716,26 @@ class Sample {
254686
254716
  }
254687
254717
  return result;
254688
254718
  }
254719
+ /** Create various orders of non-rational B-spline curves with helical poles */
254720
+ static createBsplineCurveHelices(radius, height, numTurns, numSamplesPerTurn) {
254721
+ const pts = [];
254722
+ const zDelta = (height / numTurns) / numSamplesPerTurn;
254723
+ const aDelta = 2 * Math.PI / numSamplesPerTurn;
254724
+ for (let iTurn = 0; iTurn < numTurns; ++iTurn) {
254725
+ for (let iSample = 0; iSample < numSamplesPerTurn; iSample++) {
254726
+ pts.push(_geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Point3d.create(radius * Math.cos(iSample * aDelta), radius * Math.sin(iSample * aDelta), pts.length * zDelta));
254727
+ }
254728
+ }
254729
+ const result = [];
254730
+ for (const order of [2, 3, 4, 9, 16, 25]) {
254731
+ if (order > pts.length)
254732
+ continue;
254733
+ const curve = _bspline_BSplineCurve__WEBPACK_IMPORTED_MODULE_9__.BSplineCurve3d.createUniformKnots(pts, order);
254734
+ if (curve !== undefined)
254735
+ result.push(curve);
254736
+ }
254737
+ return result;
254738
+ }
254689
254739
  /** Create weighted bsplines for circular arcs.
254690
254740
  */
254691
254741
  static createBspline3dHArcs() {
@@ -287059,7 +287109,7 @@ class TestContext {
287059
287109
  this.initializeRpcInterfaces({ title: this.settings.Backend.name, version: this.settings.Backend.version });
287060
287110
  const iModelClient = new imodels_client_management_1.IModelsClient({ api: { baseUrl: `https://${(_a = process.env.IMJS_URL_PREFIX) !== null && _a !== void 0 ? _a : ""}api.bentley.com/imodels` } });
287061
287111
  await core_frontend_1.NoRenderApp.startup({
287062
- applicationVersion: "3.3.0-dev.86",
287112
+ applicationVersion: "3.3.0-dev.89",
287063
287113
  applicationId: this.settings.gprid,
287064
287114
  authorizationClient: new frontend_1.TestFrontendAuthorizationClient(this.adminUserAccessToken),
287065
287115
  hubAccess: new imodels_access_frontend_1.FrontendIModelsAccess(iModelClient),
@@ -305516,7 +305566,7 @@ module.exports = JSON.parse('{"name":"axios","version":"0.21.4","description":"P
305516
305566
  /***/ ((module) => {
305517
305567
 
305518
305568
  "use strict";
305519
- module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"3.3.0-dev.86","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","build:ci":"npm run -s build && npm run -s build:esm","build:cjs":"tsc 1>&2 --outDir lib/cjs","build:esm":"tsc 1>&2 --module ES2020 --outDir lib/esm","clean":"rimraf lib .rush/temp/package-deps*.json","copy:public":"cpx \\"./src/public/**/*\\" ./lib/public","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 \\"../../tools/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"},"repository":{"type":"git","url":"https://github.com/iTwin/itwinjs-core/tree/master/core/frontend"},"keywords":["Bentley","BIM","iModel","digital-twin","iTwin"],"author":{"name":"Bentley Systems, Inc.","url":"http://www.bentley.com"},"peerDependencies":{"@itwin/appui-abstract":"workspace:^3.3.0-dev.86","@itwin/core-bentley":"workspace:^3.3.0-dev.86","@itwin/core-common":"workspace:^3.3.0-dev.86","@itwin/core-geometry":"workspace:^3.3.0-dev.86","@itwin/core-orbitgt":"workspace:^3.3.0-dev.86","@itwin/core-quantity":"workspace:^3.3.0-dev.86","@itwin/webgl-compatibility":"workspace:^3.3.0-dev.86"},"//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":"workspace:*","@itwin/webgl-compatibility":"workspace:*","@types/chai":"4.3.1","@types/chai-as-promised":"^7","@types/deep-assign":"^0.1.0","@types/lodash":"^4.14.0","@types/mocha":"^8.2.2","@types/node":"16.11.7","@types/qs":"^6.5.0","@types/semver":"^7.3.9","@types/superagent":"^4.1.14","@types/sinon":"^9.0.0","chai":"^4.1.2","chai-as-promised":"^7","cpx2":"^3.0.0","eslint":"^7.11.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":"~4.4.0","webpack":"^5.64.4"},"//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/core-telemetry":"workspace:*","@loaders.gl/core":"^3.1.6","@loaders.gl/draco":"^3.1.6","deep-assign":"^2.0.0","fuse.js":"^3.3.0","lodash":"^4.17.10","qs":"^6.5.1","semver":"^7.3.5","superagent":"7.1.3","wms-capabilities":"0.4.0","xml-js":"~1.6.11"},"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"}}]}}');
305569
+ module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"3.3.0-dev.89","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","build:ci":"npm run -s build && npm run -s build:esm","build:cjs":"tsc 1>&2 --outDir lib/cjs","build:esm":"tsc 1>&2 --module ES2020 --outDir lib/esm","clean":"rimraf lib .rush/temp/package-deps*.json","copy:public":"cpx \\"./src/public/**/*\\" ./lib/public","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 \\"../../tools/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"},"repository":{"type":"git","url":"https://github.com/iTwin/itwinjs-core/tree/master/core/frontend"},"keywords":["Bentley","BIM","iModel","digital-twin","iTwin"],"author":{"name":"Bentley Systems, Inc.","url":"http://www.bentley.com"},"peerDependencies":{"@itwin/appui-abstract":"workspace:^3.3.0-dev.89","@itwin/core-bentley":"workspace:^3.3.0-dev.89","@itwin/core-common":"workspace:^3.3.0-dev.89","@itwin/core-geometry":"workspace:^3.3.0-dev.89","@itwin/core-orbitgt":"workspace:^3.3.0-dev.89","@itwin/core-quantity":"workspace:^3.3.0-dev.89","@itwin/webgl-compatibility":"workspace:^3.3.0-dev.89"},"//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":"workspace:*","@itwin/webgl-compatibility":"workspace:*","@types/chai":"4.3.1","@types/chai-as-promised":"^7","@types/deep-assign":"^0.1.0","@types/lodash":"^4.14.0","@types/mocha":"^8.2.2","@types/node":"16.11.7","@types/qs":"^6.5.0","@types/semver":"^7.3.9","@types/superagent":"^4.1.14","@types/sinon":"^9.0.0","chai":"^4.1.2","chai-as-promised":"^7","cpx2":"^3.0.0","eslint":"^7.11.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":"~4.4.0","webpack":"^5.64.4"},"//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/core-telemetry":"workspace:*","@loaders.gl/core":"^3.1.6","@loaders.gl/draco":"^3.1.6","deep-assign":"^2.0.0","fuse.js":"^3.3.0","lodash":"^4.17.10","qs":"^6.5.1","semver":"^7.3.5","superagent":"7.1.3","wms-capabilities":"0.4.0","xml-js":"~1.6.11"},"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"}}]}}');
305520
305570
 
305521
305571
  /***/ }),
305522
305572