@itwin/ecschema-rpcinterface-tests 4.11.0-dev.2 → 4.11.0-dev.4

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.
@@ -3741,9 +3741,9 @@ class UserOperations extends _base_internal__WEBPACK_IMPORTED_MODULE_0__.Operati
3741
3741
 
3742
3742
  /***/ }),
3743
3743
 
3744
- /***/ "../../common/temp/node_modules/.pnpm/@itwin+itwins-client@1.2.0/node_modules/@itwin/itwins-client/lib/esm/BaseClient.js":
3744
+ /***/ "../../common/temp/node_modules/.pnpm/@itwin+itwins-client@1.6.1/node_modules/@itwin/itwins-client/lib/esm/BaseClient.js":
3745
3745
  /*!*******************************************************************************************************************************!*\
3746
- !*** ../../common/temp/node_modules/.pnpm/@itwin+itwins-client@1.2.0/node_modules/@itwin/itwins-client/lib/esm/BaseClient.js ***!
3746
+ !*** ../../common/temp/node_modules/.pnpm/@itwin+itwins-client@1.6.1/node_modules/@itwin/itwins-client/lib/esm/BaseClient.js ***!
3747
3747
  \*******************************************************************************************************************************/
3748
3748
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3749
3749
 
@@ -3752,8 +3752,7 @@ __webpack_require__.r(__webpack_exports__);
3752
3752
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3753
3753
  /* harmony export */ "BaseClient": () => (/* binding */ BaseClient)
3754
3754
  /* harmony export */ });
3755
- /* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! axios */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/index.js");
3756
- /* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(axios__WEBPACK_IMPORTED_MODULE_0__);
3755
+ /* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! axios */ "../../common/temp/node_modules/.pnpm/axios@1.7.4/node_modules/axios/lib/axios.js");
3757
3756
 
3758
3757
  class BaseClient {
3759
3758
  constructor(url) {
@@ -3771,21 +3770,26 @@ class BaseClient {
3771
3770
  }
3772
3771
  }
3773
3772
  /**
3774
- * Sends a basic API request
3775
- * @param accessToken The client access token string
3776
- * @param method The method type of the request (ex. GET, POST, DELETE, etc.)
3777
- * @param url The url of the request
3778
- * @param data (Optional) The payload of the request
3779
- * @param property (Optional) The target property (ex. iTwins, repositories, etc.)
3780
- * @param headers (Optional) Extra request headers.
3781
- */
3773
+ * Sends a basic API request
3774
+ * @param accessToken The client access token string
3775
+ * @param method The method type of the request (ex. GET, POST, DELETE, etc.)
3776
+ * @param url The url of the request
3777
+ * @param data (Optional) The payload of the request
3778
+ * @param property (Optional) The target property (ex. iTwins, repositories, etc.)
3779
+ * @param headers (Optional) Extra request headers.
3780
+ */
3782
3781
  async sendGenericAPIRequest(accessToken, method, url, data, property, headers) {
3782
+ // TODO: Change any response
3783
3783
  const requestOptions = this.getRequestOptions(accessToken, method, url, data, headers);
3784
3784
  try {
3785
- const response = await axios__WEBPACK_IMPORTED_MODULE_0___default()(requestOptions);
3785
+ const response = await (0,axios__WEBPACK_IMPORTED_MODULE_0__["default"])(requestOptions);
3786
3786
  return {
3787
3787
  status: response.status,
3788
- data: response.data.error || response.data === "" ? undefined : property ? response.data[property] : response.data,
3788
+ data: response.data.error || response.data === ""
3789
+ ? undefined
3790
+ : property
3791
+ ? response.data[property]
3792
+ : response.data,
3789
3793
  error: response.data.error,
3790
3794
  };
3791
3795
  }
@@ -3800,13 +3804,13 @@ class BaseClient {
3800
3804
  }
3801
3805
  }
3802
3806
  /**
3803
- * Build the request methods, headers, and other options
3804
- * @param accessTokenString The client access token string
3805
- * @param method The method type of the request (ex. GET, POST, DELETE, etc.)
3806
- * @param url The url of the request
3807
- * @param data (Optional) The payload of the request
3808
- * @param headers (Optional) Extra request headers.
3809
- */
3807
+ * Build the request methods, headers, and other options
3808
+ * @param accessTokenString The client access token string
3809
+ * @param method The method type of the request (ex. GET, POST, DELETE, etc.)
3810
+ * @param url The url of the request
3811
+ * @param data (Optional) The payload of the request
3812
+ * @param headers (Optional) Extra request headers.
3813
+ */
3810
3814
  getRequestOptions(accessTokenString, method, url, data, headers = {}) {
3811
3815
  return {
3812
3816
  method,
@@ -3827,10 +3831,19 @@ class BaseClient {
3827
3831
  * @param queryArg Object container queryable properties
3828
3832
  * @returns query string with AccessControlQueryArg applied, which should be appended to a url
3829
3833
  */
3830
- getQueryString(queryArg) {
3834
+ getQueryStringArgBase(queryArg, subClass) {
3831
3835
  let queryString = "";
3832
- if (queryArg.search) {
3833
- queryString += `&$search=${queryArg.search}`;
3836
+ if (queryArg && queryArg.subClass) {
3837
+ queryString += `subClass=${queryArg.subClass}`;
3838
+ }
3839
+ else if (subClass) {
3840
+ queryString += `subClass=${subClass}`;
3841
+ }
3842
+ if (!queryArg) {
3843
+ return queryString;
3844
+ }
3845
+ if (queryArg.includeInactive) {
3846
+ queryString += `&includeInactive=${queryArg.includeInactive}`;
3834
3847
  }
3835
3848
  if (queryArg.top) {
3836
3849
  queryString += `&$top=${queryArg.top}`;
@@ -3838,14 +3851,40 @@ class BaseClient {
3838
3851
  if (queryArg.skip) {
3839
3852
  queryString += `&$skip=${queryArg.skip}`;
3840
3853
  }
3854
+ if (queryArg.status) {
3855
+ queryString += `&status=${queryArg.status}`;
3856
+ }
3857
+ if (queryArg.type) {
3858
+ queryString += `&type=${queryArg.type}`;
3859
+ }
3860
+ // trim & from start of string
3861
+ queryString.replace(/^&+/, "");
3862
+ return queryString;
3863
+ }
3864
+ /**
3865
+ * Build a query to be appended to a URL
3866
+ * @param queryArg Object container queryable properties
3867
+ * @returns query string with AccessControlQueryArg applied, which should be appended to a url
3868
+ */
3869
+ getQueryStringArg(queryArg, subClass) {
3870
+ let queryString = this.getQueryStringArgBase(queryArg, subClass);
3871
+ if (!queryArg) {
3872
+ return queryString;
3873
+ }
3874
+ if (queryArg.search) {
3875
+ queryString += `&$search=${queryArg.search}`;
3876
+ }
3841
3877
  if (queryArg.displayName) {
3842
3878
  queryString += `&displayName=${queryArg.displayName}`;
3843
3879
  }
3844
3880
  if (queryArg.number) {
3845
3881
  queryString += `&number=${queryArg.number}`;
3846
3882
  }
3847
- if (queryArg.type) {
3848
- queryString += `&type=${queryArg.type}`;
3883
+ if (queryArg.parentId) {
3884
+ queryString += `&parentId=${queryArg.parentId}`;
3885
+ }
3886
+ if (queryArg.iTwinAccountId) {
3887
+ queryString += `&iTwinAccountId=${queryArg.iTwinAccountId}`;
3849
3888
  }
3850
3889
  // trim & from start of string
3851
3890
  queryString.replace(/^&+/, "");
@@ -3857,9 +3896,11 @@ class BaseClient {
3857
3896
  * @returns query string with RepositoriesQueryArg applied, which should be appended to a url
3858
3897
  */
3859
3898
  getRepositoryQueryString(queryArg) {
3899
+ if (!queryArg)
3900
+ return "";
3860
3901
  let queryString = "";
3861
3902
  if (queryArg.class) {
3862
- queryString += `?class=${queryArg.class}`;
3903
+ queryString += `class=${queryArg.class}`;
3863
3904
  }
3864
3905
  if (queryArg.subClass) {
3865
3906
  queryString += `&subClass=${queryArg.subClass}`;
@@ -3873,9 +3914,9 @@ class BaseClient {
3873
3914
 
3874
3915
  /***/ }),
3875
3916
 
3876
- /***/ "../../common/temp/node_modules/.pnpm/@itwin+itwins-client@1.2.0/node_modules/@itwin/itwins-client/lib/esm/iTwinsAccessProps.js":
3917
+ /***/ "../../common/temp/node_modules/.pnpm/@itwin+itwins-client@1.6.1/node_modules/@itwin/itwins-client/lib/esm/iTwinsAccessProps.js":
3877
3918
  /*!**************************************************************************************************************************************!*\
3878
- !*** ../../common/temp/node_modules/.pnpm/@itwin+itwins-client@1.2.0/node_modules/@itwin/itwins-client/lib/esm/iTwinsAccessProps.js ***!
3919
+ !*** ../../common/temp/node_modules/.pnpm/@itwin+itwins-client@1.6.1/node_modules/@itwin/itwins-client/lib/esm/iTwinsAccessProps.js ***!
3879
3920
  \**************************************************************************************************************************************/
3880
3921
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3881
3922
 
@@ -3899,6 +3940,9 @@ var ITwinSubClass;
3899
3940
  ITwinSubClass["Account"] = "Account";
3900
3941
  ITwinSubClass["Asset"] = "Asset";
3901
3942
  ITwinSubClass["Project"] = "Project";
3943
+ ITwinSubClass["Portfolio"] = "Portfolio";
3944
+ ITwinSubClass["Program"] = "Program";
3945
+ ITwinSubClass["WorkPackage"] = "WorkPackage";
3902
3946
  })(ITwinSubClass || (ITwinSubClass = {}));
3903
3947
  var ITwinClass;
3904
3948
  (function (ITwinClass) {
@@ -3925,9 +3969,9 @@ var RepositorySubClass;
3925
3969
 
3926
3970
  /***/ }),
3927
3971
 
3928
- /***/ "../../common/temp/node_modules/.pnpm/@itwin+itwins-client@1.2.0/node_modules/@itwin/itwins-client/lib/esm/iTwinsClient.js":
3972
+ /***/ "../../common/temp/node_modules/.pnpm/@itwin+itwins-client@1.6.1/node_modules/@itwin/itwins-client/lib/esm/iTwinsClient.js":
3929
3973
  /*!*********************************************************************************************************************************!*\
3930
- !*** ../../common/temp/node_modules/.pnpm/@itwin+itwins-client@1.2.0/node_modules/@itwin/itwins-client/lib/esm/iTwinsClient.js ***!
3974
+ !*** ../../common/temp/node_modules/.pnpm/@itwin+itwins-client@1.6.1/node_modules/@itwin/itwins-client/lib/esm/iTwinsClient.js ***!
3931
3975
  \*********************************************************************************************************************************/
3932
3976
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3933
3977
 
@@ -3936,7 +3980,7 @@ __webpack_require__.r(__webpack_exports__);
3936
3980
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3937
3981
  /* harmony export */ "ITwinsAccessClient": () => (/* binding */ ITwinsAccessClient)
3938
3982
  /* harmony export */ });
3939
- /* harmony import */ var _BaseClient__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BaseClient */ "../../common/temp/node_modules/.pnpm/@itwin+itwins-client@1.2.0/node_modules/@itwin/itwins-client/lib/esm/BaseClient.js");
3983
+ /* harmony import */ var _BaseClient__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BaseClient */ "../../common/temp/node_modules/.pnpm/@itwin+itwins-client@1.6.1/node_modules/@itwin/itwins-client/lib/esm/BaseClient.js");
3940
3984
 
3941
3985
  /** Client API to access the itwins service.
3942
3986
  * @beta
@@ -3947,15 +3991,21 @@ class ITwinsAccessClient extends _BaseClient__WEBPACK_IMPORTED_MODULE_0__.BaseCl
3947
3991
  }
3948
3992
  /** Get itwins accessible to the user
3949
3993
  * @param accessToken The client access token string
3950
- * @param subClass Required parameter to search a specific iTwin subClass
3994
+ * @param subClass Optional parameter to search a specific iTwin subClass
3951
3995
  * @param arg Optional query arguments, for paging, searching, and filtering
3952
3996
  * @returns Array of projects, may be empty
3953
3997
  */
3954
- async queryAsync(accessToken, subClass, arg) {
3955
- const headers = this.getResultModeHeaders(arg && arg.resultMode);
3956
- let url = `${this._baseUrl}?subClass=${subClass}`;
3957
- if (arg)
3958
- url += this.getQueryString(arg);
3998
+ async queryAsync(accessToken,
3999
+ /**
4000
+ * @deprecated in 2.0 This property is deprecated, and will be removed in the next major release. Please use `arg` to provide subClass instead.
4001
+ */
4002
+ subClass, arg) {
4003
+ const headers = this.getHeaders(arg);
4004
+ let url = this._baseUrl;
4005
+ // eslint-disable-next-line deprecation/deprecation
4006
+ const query = this.getQueryStringArg(arg, subClass);
4007
+ if (query !== "")
4008
+ url += `?${query}`;
3959
4009
  return this.sendGenericAPIRequest(accessToken, "GET", url, undefined, "iTwins", headers);
3960
4010
  }
3961
4011
  /** Create a new iTwin
@@ -4014,8 +4064,10 @@ class ITwinsAccessClient extends _BaseClient__WEBPACK_IMPORTED_MODULE_0__.BaseCl
4014
4064
  */
4015
4065
  async queryRepositoriesAsync(accessToken, iTwinId, arg) {
4016
4066
  let url = `${this._baseUrl}/${iTwinId}/repositories`;
4017
- if (arg)
4018
- url += this.getRepositoryQueryString(arg);
4067
+ const query = this.getRepositoryQueryString(arg);
4068
+ if (query !== "") {
4069
+ url += `?${query}`;
4070
+ }
4019
4071
  return this.sendGenericAPIRequest(accessToken, "GET", url, undefined, "repositories");
4020
4072
  }
4021
4073
  /** Get itwin accessible to the user
@@ -4031,28 +4083,40 @@ class ITwinsAccessClient extends _BaseClient__WEBPACK_IMPORTED_MODULE_0__.BaseCl
4031
4083
  }
4032
4084
  /** Get itwins accessible to the user
4033
4085
  * @param accessToken The client access token string
4034
- * @param subClass Required parameter to search a specific iTwin subClass
4086
+ * @param subClass Optional parameter to search a specific iTwin subClass
4035
4087
  * @param arg Optional query arguments, for paging, searching, and filtering
4036
4088
  * @returns Array of projects, may be empty
4037
4089
  */
4038
- async queryFavoritesAsync(accessToken, subClass, arg) {
4039
- const headers = this.getResultModeHeaders(arg && arg.resultMode);
4040
- let url = `${this._baseUrl}/favorites?subClass=${subClass}`;
4041
- if (arg)
4042
- url += this.getQueryString(arg);
4090
+ async queryFavoritesAsync(accessToken,
4091
+ /**
4092
+ * @deprecated in 2.0 This property is deprecated, and will be removed in the next major release. Please use `arg` to provide subClass instead.
4093
+ */
4094
+ subClass, arg) {
4095
+ const headers = this.getHeaders(arg);
4096
+ let url = `${this._baseUrl}/favorites`;
4097
+ // eslint-disable-next-line deprecation/deprecation
4098
+ const query = this.getQueryStringArgBase(arg, subClass);
4099
+ if (query !== "")
4100
+ url += `?${query}`;
4043
4101
  return this.sendGenericAPIRequest(accessToken, "GET", url, undefined, "iTwins", headers);
4044
4102
  }
4045
4103
  /** Get itwins accessible to the user
4046
4104
  * @param accessToken The client access token string
4047
- * @param subClass Required parameter to search a specific iTwin subClass
4105
+ * @param subClass Optional parameter to search a specific iTwin subClass
4048
4106
  * @param arg Optional query arguments, for paging, searching, and filtering
4049
4107
  * @returns Array of projects, may be empty
4050
4108
  */
4051
- async queryRecentsAsync(accessToken, subClass, arg) {
4052
- const headers = this.getResultModeHeaders(arg && arg.resultMode);
4053
- let url = `${this._baseUrl}/recents?subClass=${subClass}`;
4054
- if (arg)
4055
- url += this.getQueryString(arg);
4109
+ async queryRecentsAsync(accessToken,
4110
+ /**
4111
+ * @deprecated in 2.0 This property is deprecated, and will be removed in the next major release. Please use `arg` to provide subClass instead.
4112
+ */
4113
+ subClass, arg) {
4114
+ const headers = this.getHeaders(arg);
4115
+ let url = `${this._baseUrl}/recents`;
4116
+ // eslint-disable-next-line deprecation/deprecation
4117
+ const query = this.getQueryStringArgBase(arg, subClass);
4118
+ if (query !== "")
4119
+ url += `?${query}`;
4056
4120
  return this.sendGenericAPIRequest(accessToken, "GET", url, undefined, "iTwins", headers);
4057
4121
  }
4058
4122
  /** Get primary account accessible to the user
@@ -4062,6 +4126,28 @@ class ITwinsAccessClient extends _BaseClient__WEBPACK_IMPORTED_MODULE_0__.BaseCl
4062
4126
  const url = `${this._baseUrl}/myprimaryaccount`;
4063
4127
  return this.sendGenericAPIRequest(accessToken, "GET", url, undefined, "iTwin");
4064
4128
  }
4129
+ /**
4130
+ * Gets the Account for the specified iTwin.
4131
+ * @param accessToken The client access token string
4132
+ * @param iTwinId The id of the iTwin
4133
+ * @returns Account
4134
+ */
4135
+ async getAccountAsync(accessToken, iTwinId, resultMode) {
4136
+ const headers = this.getResultModeHeaders(resultMode);
4137
+ const url = `${this._baseUrl}/${iTwinId}/account`;
4138
+ return this.sendGenericAPIRequest(accessToken, "GET", url, undefined, "iTwin", headers);
4139
+ }
4140
+ /**
4141
+ * Format headers from query arguments
4142
+ * @param arg (Optional) iTwin query arguments
4143
+ * @protected
4144
+ */
4145
+ getHeaders(arg) {
4146
+ return {
4147
+ ...this.getQueryScopeHeaders(arg && arg.queryScope),
4148
+ ...this.getResultModeHeaders(arg && arg.resultMode),
4149
+ };
4150
+ }
4065
4151
  /**
4066
4152
  * Format result mode parameter into a headers entry
4067
4153
  * @param resultMode (Optional) iTwin result mode
@@ -4072,14 +4158,24 @@ class ITwinsAccessClient extends _BaseClient__WEBPACK_IMPORTED_MODULE_0__.BaseCl
4072
4158
  prefer: `return=${resultMode}`,
4073
4159
  };
4074
4160
  }
4161
+ /**
4162
+ * Format query scope parameter into a headers entry
4163
+ * @param queryScope (Optional) iTwin query scope
4164
+ * @protected
4165
+ */
4166
+ getQueryScopeHeaders(queryScope = "memberOfItwin") {
4167
+ return {
4168
+ "x-itwin-query-scope": queryScope,
4169
+ };
4170
+ }
4075
4171
  }
4076
4172
 
4077
4173
 
4078
4174
  /***/ }),
4079
4175
 
4080
- /***/ "../../common/temp/node_modules/.pnpm/@itwin+itwins-client@1.2.0/node_modules/@itwin/itwins-client/lib/esm/itwins-client.js":
4176
+ /***/ "../../common/temp/node_modules/.pnpm/@itwin+itwins-client@1.6.1/node_modules/@itwin/itwins-client/lib/esm/itwins-client.js":
4081
4177
  /*!**********************************************************************************************************************************!*\
4082
- !*** ../../common/temp/node_modules/.pnpm/@itwin+itwins-client@1.2.0/node_modules/@itwin/itwins-client/lib/esm/itwins-client.js ***!
4178
+ !*** ../../common/temp/node_modules/.pnpm/@itwin+itwins-client@1.6.1/node_modules/@itwin/itwins-client/lib/esm/itwins-client.js ***!
4083
4179
  \**********************************************************************************************************************************/
4084
4180
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
4085
4181
 
@@ -4092,8 +4188,8 @@ __webpack_require__.r(__webpack_exports__);
4092
4188
  /* harmony export */ "RepositoryClass": () => (/* reexport safe */ _iTwinsAccessProps__WEBPACK_IMPORTED_MODULE_1__.RepositoryClass),
4093
4189
  /* harmony export */ "RepositorySubClass": () => (/* reexport safe */ _iTwinsAccessProps__WEBPACK_IMPORTED_MODULE_1__.RepositorySubClass)
4094
4190
  /* harmony export */ });
4095
- /* harmony import */ var _iTwinsClient__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./iTwinsClient */ "../../common/temp/node_modules/.pnpm/@itwin+itwins-client@1.2.0/node_modules/@itwin/itwins-client/lib/esm/iTwinsClient.js");
4096
- /* harmony import */ var _iTwinsAccessProps__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iTwinsAccessProps */ "../../common/temp/node_modules/.pnpm/@itwin+itwins-client@1.2.0/node_modules/@itwin/itwins-client/lib/esm/iTwinsAccessProps.js");
4191
+ /* harmony import */ var _iTwinsClient__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./iTwinsClient */ "../../common/temp/node_modules/.pnpm/@itwin+itwins-client@1.6.1/node_modules/@itwin/itwins-client/lib/esm/iTwinsClient.js");
4192
+ /* harmony import */ var _iTwinsAccessProps__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iTwinsAccessProps */ "../../common/temp/node_modules/.pnpm/@itwin+itwins-client@1.6.1/node_modules/@itwin/itwins-client/lib/esm/iTwinsAccessProps.js");
4097
4193
  /*---------------------------------------------------------------------------------------------
4098
4194
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4099
4195
  * See LICENSE.md in the project root for license terms and full copyright notice.
@@ -4111,9 +4207,9 @@ __webpack_require__.r(__webpack_exports__);
4111
4207
 
4112
4208
  /***/ }),
4113
4209
 
4114
- /***/ "../../common/temp/node_modules/.pnpm/@itwin+oidc-signin-tool@4.3.7_67wltvhdskk2oee2c3z2o4tfly/node_modules/@itwin/oidc-signin-tool/lib/cjs/TestFrontendAuthorizationClient.js":
4210
+ /***/ "../../common/temp/node_modules/.pnpm/@itwin+oidc-signin-tool@4.4.1_67wltvhdskk2oee2c3z2o4tfly/node_modules/@itwin/oidc-signin-tool/lib/cjs/TestFrontendAuthorizationClient.js":
4115
4211
  /*!*************************************************************************************************************************************************************************************!*\
4116
- !*** ../../common/temp/node_modules/.pnpm/@itwin+oidc-signin-tool@4.3.7_67wltvhdskk2oee2c3z2o4tfly/node_modules/@itwin/oidc-signin-tool/lib/cjs/TestFrontendAuthorizationClient.js ***!
4212
+ !*** ../../common/temp/node_modules/.pnpm/@itwin+oidc-signin-tool@4.4.1_67wltvhdskk2oee2c3z2o4tfly/node_modules/@itwin/oidc-signin-tool/lib/cjs/TestFrontendAuthorizationClient.js ***!
4117
4213
  \*************************************************************************************************************************************************************************************/
4118
4214
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4119
4215
 
@@ -4168,9 +4264,9 @@ exports.TestFrontendAuthorizationClient = TestFrontendAuthorizationClient;
4168
4264
 
4169
4265
  /***/ }),
4170
4266
 
4171
- /***/ "../../common/temp/node_modules/.pnpm/@itwin+oidc-signin-tool@4.3.7_67wltvhdskk2oee2c3z2o4tfly/node_modules/@itwin/oidc-signin-tool/lib/cjs/TestUsers.js":
4267
+ /***/ "../../common/temp/node_modules/.pnpm/@itwin+oidc-signin-tool@4.4.1_67wltvhdskk2oee2c3z2o4tfly/node_modules/@itwin/oidc-signin-tool/lib/cjs/TestUsers.js":
4172
4268
  /*!***************************************************************************************************************************************************************!*\
4173
- !*** ../../common/temp/node_modules/.pnpm/@itwin+oidc-signin-tool@4.3.7_67wltvhdskk2oee2c3z2o4tfly/node_modules/@itwin/oidc-signin-tool/lib/cjs/TestUsers.js ***!
4269
+ !*** ../../common/temp/node_modules/.pnpm/@itwin+oidc-signin-tool@4.4.1_67wltvhdskk2oee2c3z2o4tfly/node_modules/@itwin/oidc-signin-tool/lib/cjs/TestUsers.js ***!
4174
4270
  \***************************************************************************************************************************************************************/
4175
4271
  /***/ ((__unused_webpack_module, exports) => {
4176
4272
 
@@ -4256,16 +4352,16 @@ exports.TestUsers = TestUsers;
4256
4352
 
4257
4353
  /***/ }),
4258
4354
 
4259
- /***/ "../../common/temp/node_modules/.pnpm/@itwin+oidc-signin-tool@4.3.7_67wltvhdskk2oee2c3z2o4tfly/node_modules/@itwin/oidc-signin-tool/lib/cjs/certa/certaCommon.js":
4355
+ /***/ "../../common/temp/node_modules/.pnpm/@itwin+oidc-signin-tool@4.4.1_67wltvhdskk2oee2c3z2o4tfly/node_modules/@itwin/oidc-signin-tool/lib/cjs/certa/certaCommon.js":
4260
4356
  /*!***********************************************************************************************************************************************************************!*\
4261
- !*** ../../common/temp/node_modules/.pnpm/@itwin+oidc-signin-tool@4.3.7_67wltvhdskk2oee2c3z2o4tfly/node_modules/@itwin/oidc-signin-tool/lib/cjs/certa/certaCommon.js ***!
4357
+ !*** ../../common/temp/node_modules/.pnpm/@itwin+oidc-signin-tool@4.4.1_67wltvhdskk2oee2c3z2o4tfly/node_modules/@itwin/oidc-signin-tool/lib/cjs/certa/certaCommon.js ***!
4262
4358
  \***********************************************************************************************************************************************************************/
4263
4359
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4264
4360
 
4265
4361
  "use strict";
4266
4362
 
4267
4363
  Object.defineProperty(exports, "__esModule", ({ value: true }));
4268
- exports.getAccessTokenFromBackend = exports.getTokenCallbackName = void 0;
4364
+ exports.getServiceAuthTokenFromBackend = exports.getAccessTokenFromBackend = exports.getServiceAuthTokenCallbackName = exports.getTokenCallbackName = void 0;
4269
4365
  /*---------------------------------------------------------------------------------------------
4270
4366
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4271
4367
  * See LICENSE.md in the project root for license terms and full copyright notice.
@@ -4273,6 +4369,7 @@ exports.getAccessTokenFromBackend = exports.getTokenCallbackName = void 0;
4273
4369
  const CallbackUtils_1 = __webpack_require__(/*! @itwin/certa/lib/utils/CallbackUtils */ "../../tools/certa/lib/utils/CallbackUtils.js");
4274
4370
  // Shared by both the frontend and backend side of the tests
4275
4371
  exports.getTokenCallbackName = "getToken";
4372
+ exports.getServiceAuthTokenCallbackName = "getServiceAuthToken";
4276
4373
  /**
4277
4374
  * Retrieves an access token from the backend using the specified user credentials.
4278
4375
  */
@@ -4281,13 +4378,21 @@ async function getAccessTokenFromBackend(user, oidcConfig) {
4281
4378
  return accessToken;
4282
4379
  }
4283
4380
  exports.getAccessTokenFromBackend = getAccessTokenFromBackend;
4381
+ /**
4382
+ * Retrieves a service authorization token from the backend.
4383
+ */
4384
+ async function getServiceAuthTokenFromBackend(oidcConfig) {
4385
+ const accessToken = await (0, CallbackUtils_1.executeBackendCallback)(exports.getServiceAuthTokenCallbackName, oidcConfig);
4386
+ return accessToken;
4387
+ }
4388
+ exports.getServiceAuthTokenFromBackend = getServiceAuthTokenFromBackend;
4284
4389
  //# sourceMappingURL=certaCommon.js.map
4285
4390
 
4286
4391
  /***/ }),
4287
4392
 
4288
- /***/ "../../common/temp/node_modules/.pnpm/@itwin+oidc-signin-tool@4.3.7_67wltvhdskk2oee2c3z2o4tfly/node_modules/@itwin/oidc-signin-tool/lib/cjs/frontend.js":
4393
+ /***/ "../../common/temp/node_modules/.pnpm/@itwin+oidc-signin-tool@4.4.1_67wltvhdskk2oee2c3z2o4tfly/node_modules/@itwin/oidc-signin-tool/lib/cjs/frontend.js":
4289
4394
  /*!**************************************************************************************************************************************************************!*\
4290
- !*** ../../common/temp/node_modules/.pnpm/@itwin+oidc-signin-tool@4.3.7_67wltvhdskk2oee2c3z2o4tfly/node_modules/@itwin/oidc-signin-tool/lib/cjs/frontend.js ***!
4395
+ !*** ../../common/temp/node_modules/.pnpm/@itwin+oidc-signin-tool@4.4.1_67wltvhdskk2oee2c3z2o4tfly/node_modules/@itwin/oidc-signin-tool/lib/cjs/frontend.js ***!
4291
4396
  \**************************************************************************************************************************************************************/
4292
4397
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
4293
4398
 
@@ -4312,9 +4417,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
4312
4417
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
4313
4418
  };
4314
4419
  Object.defineProperty(exports, "__esModule", ({ value: true }));
4315
- __exportStar(__webpack_require__(/*! ./TestUsers */ "../../common/temp/node_modules/.pnpm/@itwin+oidc-signin-tool@4.3.7_67wltvhdskk2oee2c3z2o4tfly/node_modules/@itwin/oidc-signin-tool/lib/cjs/TestUsers.js"), exports);
4316
- __exportStar(__webpack_require__(/*! ./TestFrontendAuthorizationClient */ "../../common/temp/node_modules/.pnpm/@itwin+oidc-signin-tool@4.3.7_67wltvhdskk2oee2c3z2o4tfly/node_modules/@itwin/oidc-signin-tool/lib/cjs/TestFrontendAuthorizationClient.js"), exports);
4317
- __exportStar(__webpack_require__(/*! ./certa/certaCommon */ "../../common/temp/node_modules/.pnpm/@itwin+oidc-signin-tool@4.3.7_67wltvhdskk2oee2c3z2o4tfly/node_modules/@itwin/oidc-signin-tool/lib/cjs/certa/certaCommon.js"), exports);
4420
+ __exportStar(__webpack_require__(/*! ./TestUsers */ "../../common/temp/node_modules/.pnpm/@itwin+oidc-signin-tool@4.4.1_67wltvhdskk2oee2c3z2o4tfly/node_modules/@itwin/oidc-signin-tool/lib/cjs/TestUsers.js"), exports);
4421
+ __exportStar(__webpack_require__(/*! ./TestFrontendAuthorizationClient */ "../../common/temp/node_modules/.pnpm/@itwin+oidc-signin-tool@4.4.1_67wltvhdskk2oee2c3z2o4tfly/node_modules/@itwin/oidc-signin-tool/lib/cjs/TestFrontendAuthorizationClient.js"), exports);
4422
+ __exportStar(__webpack_require__(/*! ./certa/certaCommon */ "../../common/temp/node_modules/.pnpm/@itwin+oidc-signin-tool@4.4.1_67wltvhdskk2oee2c3z2o4tfly/node_modules/@itwin/oidc-signin-tool/lib/cjs/certa/certaCommon.js"), exports);
4318
4423
  //# sourceMappingURL=frontend.js.map
4319
4424
 
4320
4425
  /***/ }),
@@ -4443,2160 +4548,6 @@ AssertionError.prototype.toJSON = function (stack) {
4443
4548
  };
4444
4549
 
4445
4550
 
4446
- /***/ }),
4447
-
4448
- /***/ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/index.js":
4449
- /*!*************************************************************************************!*\
4450
- !*** ../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/index.js ***!
4451
- \*************************************************************************************/
4452
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
4453
-
4454
- module.exports = __webpack_require__(/*! ./lib/axios */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/axios.js");
4455
-
4456
- /***/ }),
4457
-
4458
- /***/ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/adapters/xhr.js":
4459
- /*!************************************************************************************************!*\
4460
- !*** ../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/adapters/xhr.js ***!
4461
- \************************************************************************************************/
4462
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
4463
-
4464
- "use strict";
4465
-
4466
-
4467
- var utils = __webpack_require__(/*! ./../utils */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/utils.js");
4468
- var settle = __webpack_require__(/*! ./../core/settle */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/core/settle.js");
4469
- var cookies = __webpack_require__(/*! ./../helpers/cookies */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/helpers/cookies.js");
4470
- var buildURL = __webpack_require__(/*! ./../helpers/buildURL */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/helpers/buildURL.js");
4471
- var buildFullPath = __webpack_require__(/*! ../core/buildFullPath */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/core/buildFullPath.js");
4472
- var parseHeaders = __webpack_require__(/*! ./../helpers/parseHeaders */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/helpers/parseHeaders.js");
4473
- var isURLSameOrigin = __webpack_require__(/*! ./../helpers/isURLSameOrigin */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/helpers/isURLSameOrigin.js");
4474
- var createError = __webpack_require__(/*! ../core/createError */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/core/createError.js");
4475
- var defaults = __webpack_require__(/*! ../defaults */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/defaults.js");
4476
- var Cancel = __webpack_require__(/*! ../cancel/Cancel */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/cancel/Cancel.js");
4477
-
4478
- module.exports = function xhrAdapter(config) {
4479
- return new Promise(function dispatchXhrRequest(resolve, reject) {
4480
- var requestData = config.data;
4481
- var requestHeaders = config.headers;
4482
- var responseType = config.responseType;
4483
- var onCanceled;
4484
- function done() {
4485
- if (config.cancelToken) {
4486
- config.cancelToken.unsubscribe(onCanceled);
4487
- }
4488
-
4489
- if (config.signal) {
4490
- config.signal.removeEventListener('abort', onCanceled);
4491
- }
4492
- }
4493
-
4494
- if (utils.isFormData(requestData)) {
4495
- delete requestHeaders['Content-Type']; // Let the browser set it
4496
- }
4497
-
4498
- var request = new XMLHttpRequest();
4499
-
4500
- // HTTP basic authentication
4501
- if (config.auth) {
4502
- var username = config.auth.username || '';
4503
- var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';
4504
- requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);
4505
- }
4506
-
4507
- var fullPath = buildFullPath(config.baseURL, config.url);
4508
- request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);
4509
-
4510
- // Set the request timeout in MS
4511
- request.timeout = config.timeout;
4512
-
4513
- function onloadend() {
4514
- if (!request) {
4515
- return;
4516
- }
4517
- // Prepare the response
4518
- var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;
4519
- var responseData = !responseType || responseType === 'text' || responseType === 'json' ?
4520
- request.responseText : request.response;
4521
- var response = {
4522
- data: responseData,
4523
- status: request.status,
4524
- statusText: request.statusText,
4525
- headers: responseHeaders,
4526
- config: config,
4527
- request: request
4528
- };
4529
-
4530
- settle(function _resolve(value) {
4531
- resolve(value);
4532
- done();
4533
- }, function _reject(err) {
4534
- reject(err);
4535
- done();
4536
- }, response);
4537
-
4538
- // Clean up request
4539
- request = null;
4540
- }
4541
-
4542
- if ('onloadend' in request) {
4543
- // Use onloadend if available
4544
- request.onloadend = onloadend;
4545
- } else {
4546
- // Listen for ready state to emulate onloadend
4547
- request.onreadystatechange = function handleLoad() {
4548
- if (!request || request.readyState !== 4) {
4549
- return;
4550
- }
4551
-
4552
- // The request errored out and we didn't get a response, this will be
4553
- // handled by onerror instead
4554
- // With one exception: request that using file: protocol, most browsers
4555
- // will return status as 0 even though it's a successful request
4556
- if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {
4557
- return;
4558
- }
4559
- // readystate handler is calling before onerror or ontimeout handlers,
4560
- // so we should call onloadend on the next 'tick'
4561
- setTimeout(onloadend);
4562
- };
4563
- }
4564
-
4565
- // Handle browser request cancellation (as opposed to a manual cancellation)
4566
- request.onabort = function handleAbort() {
4567
- if (!request) {
4568
- return;
4569
- }
4570
-
4571
- reject(createError('Request aborted', config, 'ECONNABORTED', request));
4572
-
4573
- // Clean up request
4574
- request = null;
4575
- };
4576
-
4577
- // Handle low level network errors
4578
- request.onerror = function handleError() {
4579
- // Real errors are hidden from us by the browser
4580
- // onerror should only fire if it's a network error
4581
- reject(createError('Network Error', config, null, request));
4582
-
4583
- // Clean up request
4584
- request = null;
4585
- };
4586
-
4587
- // Handle timeout
4588
- request.ontimeout = function handleTimeout() {
4589
- var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';
4590
- var transitional = config.transitional || defaults.transitional;
4591
- if (config.timeoutErrorMessage) {
4592
- timeoutErrorMessage = config.timeoutErrorMessage;
4593
- }
4594
- reject(createError(
4595
- timeoutErrorMessage,
4596
- config,
4597
- transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED',
4598
- request));
4599
-
4600
- // Clean up request
4601
- request = null;
4602
- };
4603
-
4604
- // Add xsrf header
4605
- // This is only done if running in a standard browser environment.
4606
- // Specifically not if we're in a web worker, or react-native.
4607
- if (utils.isStandardBrowserEnv()) {
4608
- // Add xsrf header
4609
- var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?
4610
- cookies.read(config.xsrfCookieName) :
4611
- undefined;
4612
-
4613
- if (xsrfValue) {
4614
- requestHeaders[config.xsrfHeaderName] = xsrfValue;
4615
- }
4616
- }
4617
-
4618
- // Add headers to the request
4619
- if ('setRequestHeader' in request) {
4620
- utils.forEach(requestHeaders, function setRequestHeader(val, key) {
4621
- if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {
4622
- // Remove Content-Type if data is undefined
4623
- delete requestHeaders[key];
4624
- } else {
4625
- // Otherwise add header to the request
4626
- request.setRequestHeader(key, val);
4627
- }
4628
- });
4629
- }
4630
-
4631
- // Add withCredentials to request if needed
4632
- if (!utils.isUndefined(config.withCredentials)) {
4633
- request.withCredentials = !!config.withCredentials;
4634
- }
4635
-
4636
- // Add responseType to request if needed
4637
- if (responseType && responseType !== 'json') {
4638
- request.responseType = config.responseType;
4639
- }
4640
-
4641
- // Handle progress if needed
4642
- if (typeof config.onDownloadProgress === 'function') {
4643
- request.addEventListener('progress', config.onDownloadProgress);
4644
- }
4645
-
4646
- // Not all browsers support upload events
4647
- if (typeof config.onUploadProgress === 'function' && request.upload) {
4648
- request.upload.addEventListener('progress', config.onUploadProgress);
4649
- }
4650
-
4651
- if (config.cancelToken || config.signal) {
4652
- // Handle cancellation
4653
- // eslint-disable-next-line func-names
4654
- onCanceled = function(cancel) {
4655
- if (!request) {
4656
- return;
4657
- }
4658
- reject(!cancel || (cancel && cancel.type) ? new Cancel('canceled') : cancel);
4659
- request.abort();
4660
- request = null;
4661
- };
4662
-
4663
- config.cancelToken && config.cancelToken.subscribe(onCanceled);
4664
- if (config.signal) {
4665
- config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);
4666
- }
4667
- }
4668
-
4669
- if (!requestData) {
4670
- requestData = null;
4671
- }
4672
-
4673
- // Send the request
4674
- request.send(requestData);
4675
- });
4676
- };
4677
-
4678
-
4679
- /***/ }),
4680
-
4681
- /***/ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/axios.js":
4682
- /*!*****************************************************************************************!*\
4683
- !*** ../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/axios.js ***!
4684
- \*****************************************************************************************/
4685
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
4686
-
4687
- "use strict";
4688
-
4689
-
4690
- var utils = __webpack_require__(/*! ./utils */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/utils.js");
4691
- var bind = __webpack_require__(/*! ./helpers/bind */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/helpers/bind.js");
4692
- var Axios = __webpack_require__(/*! ./core/Axios */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/core/Axios.js");
4693
- var mergeConfig = __webpack_require__(/*! ./core/mergeConfig */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/core/mergeConfig.js");
4694
- var defaults = __webpack_require__(/*! ./defaults */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/defaults.js");
4695
-
4696
- /**
4697
- * Create an instance of Axios
4698
- *
4699
- * @param {Object} defaultConfig The default config for the instance
4700
- * @return {Axios} A new instance of Axios
4701
- */
4702
- function createInstance(defaultConfig) {
4703
- var context = new Axios(defaultConfig);
4704
- var instance = bind(Axios.prototype.request, context);
4705
-
4706
- // Copy axios.prototype to instance
4707
- utils.extend(instance, Axios.prototype, context);
4708
-
4709
- // Copy context to instance
4710
- utils.extend(instance, context);
4711
-
4712
- // Factory for creating new instances
4713
- instance.create = function create(instanceConfig) {
4714
- return createInstance(mergeConfig(defaultConfig, instanceConfig));
4715
- };
4716
-
4717
- return instance;
4718
- }
4719
-
4720
- // Create the default instance to be exported
4721
- var axios = createInstance(defaults);
4722
-
4723
- // Expose Axios class to allow class inheritance
4724
- axios.Axios = Axios;
4725
-
4726
- // Expose Cancel & CancelToken
4727
- axios.Cancel = __webpack_require__(/*! ./cancel/Cancel */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/cancel/Cancel.js");
4728
- axios.CancelToken = __webpack_require__(/*! ./cancel/CancelToken */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/cancel/CancelToken.js");
4729
- axios.isCancel = __webpack_require__(/*! ./cancel/isCancel */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/cancel/isCancel.js");
4730
- axios.VERSION = (__webpack_require__(/*! ./env/data */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/env/data.js").version);
4731
-
4732
- // Expose all/spread
4733
- axios.all = function all(promises) {
4734
- return Promise.all(promises);
4735
- };
4736
- axios.spread = __webpack_require__(/*! ./helpers/spread */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/helpers/spread.js");
4737
-
4738
- // Expose isAxiosError
4739
- axios.isAxiosError = __webpack_require__(/*! ./helpers/isAxiosError */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/helpers/isAxiosError.js");
4740
-
4741
- module.exports = axios;
4742
-
4743
- // Allow use of default import syntax in TypeScript
4744
- module.exports["default"] = axios;
4745
-
4746
-
4747
- /***/ }),
4748
-
4749
- /***/ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/cancel/Cancel.js":
4750
- /*!*************************************************************************************************!*\
4751
- !*** ../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/cancel/Cancel.js ***!
4752
- \*************************************************************************************************/
4753
- /***/ ((module) => {
4754
-
4755
- "use strict";
4756
-
4757
-
4758
- /**
4759
- * A `Cancel` is an object that is thrown when an operation is canceled.
4760
- *
4761
- * @class
4762
- * @param {string=} message The message.
4763
- */
4764
- function Cancel(message) {
4765
- this.message = message;
4766
- }
4767
-
4768
- Cancel.prototype.toString = function toString() {
4769
- return 'Cancel' + (this.message ? ': ' + this.message : '');
4770
- };
4771
-
4772
- Cancel.prototype.__CANCEL__ = true;
4773
-
4774
- module.exports = Cancel;
4775
-
4776
-
4777
- /***/ }),
4778
-
4779
- /***/ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/cancel/CancelToken.js":
4780
- /*!******************************************************************************************************!*\
4781
- !*** ../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/cancel/CancelToken.js ***!
4782
- \******************************************************************************************************/
4783
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
4784
-
4785
- "use strict";
4786
-
4787
-
4788
- var Cancel = __webpack_require__(/*! ./Cancel */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/cancel/Cancel.js");
4789
-
4790
- /**
4791
- * A `CancelToken` is an object that can be used to request cancellation of an operation.
4792
- *
4793
- * @class
4794
- * @param {Function} executor The executor function.
4795
- */
4796
- function CancelToken(executor) {
4797
- if (typeof executor !== 'function') {
4798
- throw new TypeError('executor must be a function.');
4799
- }
4800
-
4801
- var resolvePromise;
4802
-
4803
- this.promise = new Promise(function promiseExecutor(resolve) {
4804
- resolvePromise = resolve;
4805
- });
4806
-
4807
- var token = this;
4808
-
4809
- // eslint-disable-next-line func-names
4810
- this.promise.then(function(cancel) {
4811
- if (!token._listeners) return;
4812
-
4813
- var i;
4814
- var l = token._listeners.length;
4815
-
4816
- for (i = 0; i < l; i++) {
4817
- token._listeners[i](cancel);
4818
- }
4819
- token._listeners = null;
4820
- });
4821
-
4822
- // eslint-disable-next-line func-names
4823
- this.promise.then = function(onfulfilled) {
4824
- var _resolve;
4825
- // eslint-disable-next-line func-names
4826
- var promise = new Promise(function(resolve) {
4827
- token.subscribe(resolve);
4828
- _resolve = resolve;
4829
- }).then(onfulfilled);
4830
-
4831
- promise.cancel = function reject() {
4832
- token.unsubscribe(_resolve);
4833
- };
4834
-
4835
- return promise;
4836
- };
4837
-
4838
- executor(function cancel(message) {
4839
- if (token.reason) {
4840
- // Cancellation has already been requested
4841
- return;
4842
- }
4843
-
4844
- token.reason = new Cancel(message);
4845
- resolvePromise(token.reason);
4846
- });
4847
- }
4848
-
4849
- /**
4850
- * Throws a `Cancel` if cancellation has been requested.
4851
- */
4852
- CancelToken.prototype.throwIfRequested = function throwIfRequested() {
4853
- if (this.reason) {
4854
- throw this.reason;
4855
- }
4856
- };
4857
-
4858
- /**
4859
- * Subscribe to the cancel signal
4860
- */
4861
-
4862
- CancelToken.prototype.subscribe = function subscribe(listener) {
4863
- if (this.reason) {
4864
- listener(this.reason);
4865
- return;
4866
- }
4867
-
4868
- if (this._listeners) {
4869
- this._listeners.push(listener);
4870
- } else {
4871
- this._listeners = [listener];
4872
- }
4873
- };
4874
-
4875
- /**
4876
- * Unsubscribe from the cancel signal
4877
- */
4878
-
4879
- CancelToken.prototype.unsubscribe = function unsubscribe(listener) {
4880
- if (!this._listeners) {
4881
- return;
4882
- }
4883
- var index = this._listeners.indexOf(listener);
4884
- if (index !== -1) {
4885
- this._listeners.splice(index, 1);
4886
- }
4887
- };
4888
-
4889
- /**
4890
- * Returns an object that contains a new `CancelToken` and a function that, when called,
4891
- * cancels the `CancelToken`.
4892
- */
4893
- CancelToken.source = function source() {
4894
- var cancel;
4895
- var token = new CancelToken(function executor(c) {
4896
- cancel = c;
4897
- });
4898
- return {
4899
- token: token,
4900
- cancel: cancel
4901
- };
4902
- };
4903
-
4904
- module.exports = CancelToken;
4905
-
4906
-
4907
- /***/ }),
4908
-
4909
- /***/ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/cancel/isCancel.js":
4910
- /*!***************************************************************************************************!*\
4911
- !*** ../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/cancel/isCancel.js ***!
4912
- \***************************************************************************************************/
4913
- /***/ ((module) => {
4914
-
4915
- "use strict";
4916
-
4917
-
4918
- module.exports = function isCancel(value) {
4919
- return !!(value && value.__CANCEL__);
4920
- };
4921
-
4922
-
4923
- /***/ }),
4924
-
4925
- /***/ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/core/Axios.js":
4926
- /*!**********************************************************************************************!*\
4927
- !*** ../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/core/Axios.js ***!
4928
- \**********************************************************************************************/
4929
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
4930
-
4931
- "use strict";
4932
-
4933
-
4934
- var utils = __webpack_require__(/*! ./../utils */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/utils.js");
4935
- var buildURL = __webpack_require__(/*! ../helpers/buildURL */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/helpers/buildURL.js");
4936
- var InterceptorManager = __webpack_require__(/*! ./InterceptorManager */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/core/InterceptorManager.js");
4937
- var dispatchRequest = __webpack_require__(/*! ./dispatchRequest */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/core/dispatchRequest.js");
4938
- var mergeConfig = __webpack_require__(/*! ./mergeConfig */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/core/mergeConfig.js");
4939
- var validator = __webpack_require__(/*! ../helpers/validator */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/helpers/validator.js");
4940
-
4941
- var validators = validator.validators;
4942
- /**
4943
- * Create a new instance of Axios
4944
- *
4945
- * @param {Object} instanceConfig The default config for the instance
4946
- */
4947
- function Axios(instanceConfig) {
4948
- this.defaults = instanceConfig;
4949
- this.interceptors = {
4950
- request: new InterceptorManager(),
4951
- response: new InterceptorManager()
4952
- };
4953
- }
4954
-
4955
- /**
4956
- * Dispatch a request
4957
- *
4958
- * @param {Object} config The config specific for this request (merged with this.defaults)
4959
- */
4960
- Axios.prototype.request = function request(configOrUrl, config) {
4961
- /*eslint no-param-reassign:0*/
4962
- // Allow for axios('example/url'[, config]) a la fetch API
4963
- if (typeof configOrUrl === 'string') {
4964
- config = config || {};
4965
- config.url = configOrUrl;
4966
- } else {
4967
- config = configOrUrl || {};
4968
- }
4969
-
4970
- if (!config.url) {
4971
- throw new Error('Provided config url is not valid');
4972
- }
4973
-
4974
- config = mergeConfig(this.defaults, config);
4975
-
4976
- // Set config.method
4977
- if (config.method) {
4978
- config.method = config.method.toLowerCase();
4979
- } else if (this.defaults.method) {
4980
- config.method = this.defaults.method.toLowerCase();
4981
- } else {
4982
- config.method = 'get';
4983
- }
4984
-
4985
- var transitional = config.transitional;
4986
-
4987
- if (transitional !== undefined) {
4988
- validator.assertOptions(transitional, {
4989
- silentJSONParsing: validators.transitional(validators.boolean),
4990
- forcedJSONParsing: validators.transitional(validators.boolean),
4991
- clarifyTimeoutError: validators.transitional(validators.boolean)
4992
- }, false);
4993
- }
4994
-
4995
- // filter out skipped interceptors
4996
- var requestInterceptorChain = [];
4997
- var synchronousRequestInterceptors = true;
4998
- this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {
4999
- if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {
5000
- return;
5001
- }
5002
-
5003
- synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;
5004
-
5005
- requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);
5006
- });
5007
-
5008
- var responseInterceptorChain = [];
5009
- this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {
5010
- responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);
5011
- });
5012
-
5013
- var promise;
5014
-
5015
- if (!synchronousRequestInterceptors) {
5016
- var chain = [dispatchRequest, undefined];
5017
-
5018
- Array.prototype.unshift.apply(chain, requestInterceptorChain);
5019
- chain = chain.concat(responseInterceptorChain);
5020
-
5021
- promise = Promise.resolve(config);
5022
- while (chain.length) {
5023
- promise = promise.then(chain.shift(), chain.shift());
5024
- }
5025
-
5026
- return promise;
5027
- }
5028
-
5029
-
5030
- var newConfig = config;
5031
- while (requestInterceptorChain.length) {
5032
- var onFulfilled = requestInterceptorChain.shift();
5033
- var onRejected = requestInterceptorChain.shift();
5034
- try {
5035
- newConfig = onFulfilled(newConfig);
5036
- } catch (error) {
5037
- onRejected(error);
5038
- break;
5039
- }
5040
- }
5041
-
5042
- try {
5043
- promise = dispatchRequest(newConfig);
5044
- } catch (error) {
5045
- return Promise.reject(error);
5046
- }
5047
-
5048
- while (responseInterceptorChain.length) {
5049
- promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());
5050
- }
5051
-
5052
- return promise;
5053
- };
5054
-
5055
- Axios.prototype.getUri = function getUri(config) {
5056
- if (!config.url) {
5057
- throw new Error('Provided config url is not valid');
5058
- }
5059
- config = mergeConfig(this.defaults, config);
5060
- return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\?/, '');
5061
- };
5062
-
5063
- // Provide aliases for supported request methods
5064
- utils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {
5065
- /*eslint func-names:0*/
5066
- Axios.prototype[method] = function(url, config) {
5067
- return this.request(mergeConfig(config || {}, {
5068
- method: method,
5069
- url: url,
5070
- data: (config || {}).data
5071
- }));
5072
- };
5073
- });
5074
-
5075
- utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {
5076
- /*eslint func-names:0*/
5077
- Axios.prototype[method] = function(url, data, config) {
5078
- return this.request(mergeConfig(config || {}, {
5079
- method: method,
5080
- url: url,
5081
- data: data
5082
- }));
5083
- };
5084
- });
5085
-
5086
- module.exports = Axios;
5087
-
5088
-
5089
- /***/ }),
5090
-
5091
- /***/ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/core/InterceptorManager.js":
5092
- /*!***********************************************************************************************************!*\
5093
- !*** ../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/core/InterceptorManager.js ***!
5094
- \***********************************************************************************************************/
5095
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
5096
-
5097
- "use strict";
5098
-
5099
-
5100
- var utils = __webpack_require__(/*! ./../utils */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/utils.js");
5101
-
5102
- function InterceptorManager() {
5103
- this.handlers = [];
5104
- }
5105
-
5106
- /**
5107
- * Add a new interceptor to the stack
5108
- *
5109
- * @param {Function} fulfilled The function to handle `then` for a `Promise`
5110
- * @param {Function} rejected The function to handle `reject` for a `Promise`
5111
- *
5112
- * @return {Number} An ID used to remove interceptor later
5113
- */
5114
- InterceptorManager.prototype.use = function use(fulfilled, rejected, options) {
5115
- this.handlers.push({
5116
- fulfilled: fulfilled,
5117
- rejected: rejected,
5118
- synchronous: options ? options.synchronous : false,
5119
- runWhen: options ? options.runWhen : null
5120
- });
5121
- return this.handlers.length - 1;
5122
- };
5123
-
5124
- /**
5125
- * Remove an interceptor from the stack
5126
- *
5127
- * @param {Number} id The ID that was returned by `use`
5128
- */
5129
- InterceptorManager.prototype.eject = function eject(id) {
5130
- if (this.handlers[id]) {
5131
- this.handlers[id] = null;
5132
- }
5133
- };
5134
-
5135
- /**
5136
- * Iterate over all the registered interceptors
5137
- *
5138
- * This method is particularly useful for skipping over any
5139
- * interceptors that may have become `null` calling `eject`.
5140
- *
5141
- * @param {Function} fn The function to call for each interceptor
5142
- */
5143
- InterceptorManager.prototype.forEach = function forEach(fn) {
5144
- utils.forEach(this.handlers, function forEachHandler(h) {
5145
- if (h !== null) {
5146
- fn(h);
5147
- }
5148
- });
5149
- };
5150
-
5151
- module.exports = InterceptorManager;
5152
-
5153
-
5154
- /***/ }),
5155
-
5156
- /***/ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/core/buildFullPath.js":
5157
- /*!******************************************************************************************************!*\
5158
- !*** ../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/core/buildFullPath.js ***!
5159
- \******************************************************************************************************/
5160
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
5161
-
5162
- "use strict";
5163
-
5164
-
5165
- var isAbsoluteURL = __webpack_require__(/*! ../helpers/isAbsoluteURL */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/helpers/isAbsoluteURL.js");
5166
- var combineURLs = __webpack_require__(/*! ../helpers/combineURLs */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/helpers/combineURLs.js");
5167
-
5168
- /**
5169
- * Creates a new URL by combining the baseURL with the requestedURL,
5170
- * only when the requestedURL is not already an absolute URL.
5171
- * If the requestURL is absolute, this function returns the requestedURL untouched.
5172
- *
5173
- * @param {string} baseURL The base URL
5174
- * @param {string} requestedURL Absolute or relative URL to combine
5175
- * @returns {string} The combined full path
5176
- */
5177
- module.exports = function buildFullPath(baseURL, requestedURL) {
5178
- if (baseURL && !isAbsoluteURL(requestedURL)) {
5179
- return combineURLs(baseURL, requestedURL);
5180
- }
5181
- return requestedURL;
5182
- };
5183
-
5184
-
5185
- /***/ }),
5186
-
5187
- /***/ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/core/createError.js":
5188
- /*!****************************************************************************************************!*\
5189
- !*** ../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/core/createError.js ***!
5190
- \****************************************************************************************************/
5191
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
5192
-
5193
- "use strict";
5194
-
5195
-
5196
- var enhanceError = __webpack_require__(/*! ./enhanceError */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/core/enhanceError.js");
5197
-
5198
- /**
5199
- * Create an Error with the specified message, config, error code, request and response.
5200
- *
5201
- * @param {string} message The error message.
5202
- * @param {Object} config The config.
5203
- * @param {string} [code] The error code (for example, 'ECONNABORTED').
5204
- * @param {Object} [request] The request.
5205
- * @param {Object} [response] The response.
5206
- * @returns {Error} The created error.
5207
- */
5208
- module.exports = function createError(message, config, code, request, response) {
5209
- var error = new Error(message);
5210
- return enhanceError(error, config, code, request, response);
5211
- };
5212
-
5213
-
5214
- /***/ }),
5215
-
5216
- /***/ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/core/dispatchRequest.js":
5217
- /*!********************************************************************************************************!*\
5218
- !*** ../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/core/dispatchRequest.js ***!
5219
- \********************************************************************************************************/
5220
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
5221
-
5222
- "use strict";
5223
-
5224
-
5225
- var utils = __webpack_require__(/*! ./../utils */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/utils.js");
5226
- var transformData = __webpack_require__(/*! ./transformData */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/core/transformData.js");
5227
- var isCancel = __webpack_require__(/*! ../cancel/isCancel */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/cancel/isCancel.js");
5228
- var defaults = __webpack_require__(/*! ../defaults */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/defaults.js");
5229
- var Cancel = __webpack_require__(/*! ../cancel/Cancel */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/cancel/Cancel.js");
5230
-
5231
- /**
5232
- * Throws a `Cancel` if cancellation has been requested.
5233
- */
5234
- function throwIfCancellationRequested(config) {
5235
- if (config.cancelToken) {
5236
- config.cancelToken.throwIfRequested();
5237
- }
5238
-
5239
- if (config.signal && config.signal.aborted) {
5240
- throw new Cancel('canceled');
5241
- }
5242
- }
5243
-
5244
- /**
5245
- * Dispatch a request to the server using the configured adapter.
5246
- *
5247
- * @param {object} config The config that is to be used for the request
5248
- * @returns {Promise} The Promise to be fulfilled
5249
- */
5250
- module.exports = function dispatchRequest(config) {
5251
- throwIfCancellationRequested(config);
5252
-
5253
- // Ensure headers exist
5254
- config.headers = config.headers || {};
5255
-
5256
- // Transform request data
5257
- config.data = transformData.call(
5258
- config,
5259
- config.data,
5260
- config.headers,
5261
- config.transformRequest
5262
- );
5263
-
5264
- // Flatten headers
5265
- config.headers = utils.merge(
5266
- config.headers.common || {},
5267
- config.headers[config.method] || {},
5268
- config.headers
5269
- );
5270
-
5271
- utils.forEach(
5272
- ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],
5273
- function cleanHeaderConfig(method) {
5274
- delete config.headers[method];
5275
- }
5276
- );
5277
-
5278
- var adapter = config.adapter || defaults.adapter;
5279
-
5280
- return adapter(config).then(function onAdapterResolution(response) {
5281
- throwIfCancellationRequested(config);
5282
-
5283
- // Transform response data
5284
- response.data = transformData.call(
5285
- config,
5286
- response.data,
5287
- response.headers,
5288
- config.transformResponse
5289
- );
5290
-
5291
- return response;
5292
- }, function onAdapterRejection(reason) {
5293
- if (!isCancel(reason)) {
5294
- throwIfCancellationRequested(config);
5295
-
5296
- // Transform response data
5297
- if (reason && reason.response) {
5298
- reason.response.data = transformData.call(
5299
- config,
5300
- reason.response.data,
5301
- reason.response.headers,
5302
- config.transformResponse
5303
- );
5304
- }
5305
- }
5306
-
5307
- return Promise.reject(reason);
5308
- });
5309
- };
5310
-
5311
-
5312
- /***/ }),
5313
-
5314
- /***/ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/core/enhanceError.js":
5315
- /*!*****************************************************************************************************!*\
5316
- !*** ../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/core/enhanceError.js ***!
5317
- \*****************************************************************************************************/
5318
- /***/ ((module) => {
5319
-
5320
- "use strict";
5321
-
5322
-
5323
- /**
5324
- * Update an Error with the specified config, error code, and response.
5325
- *
5326
- * @param {Error} error The error to update.
5327
- * @param {Object} config The config.
5328
- * @param {string} [code] The error code (for example, 'ECONNABORTED').
5329
- * @param {Object} [request] The request.
5330
- * @param {Object} [response] The response.
5331
- * @returns {Error} The error.
5332
- */
5333
- module.exports = function enhanceError(error, config, code, request, response) {
5334
- error.config = config;
5335
- if (code) {
5336
- error.code = code;
5337
- }
5338
-
5339
- error.request = request;
5340
- error.response = response;
5341
- error.isAxiosError = true;
5342
-
5343
- error.toJSON = function toJSON() {
5344
- return {
5345
- // Standard
5346
- message: this.message,
5347
- name: this.name,
5348
- // Microsoft
5349
- description: this.description,
5350
- number: this.number,
5351
- // Mozilla
5352
- fileName: this.fileName,
5353
- lineNumber: this.lineNumber,
5354
- columnNumber: this.columnNumber,
5355
- stack: this.stack,
5356
- // Axios
5357
- config: this.config,
5358
- code: this.code,
5359
- status: this.response && this.response.status ? this.response.status : null
5360
- };
5361
- };
5362
- return error;
5363
- };
5364
-
5365
-
5366
- /***/ }),
5367
-
5368
- /***/ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/core/mergeConfig.js":
5369
- /*!****************************************************************************************************!*\
5370
- !*** ../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/core/mergeConfig.js ***!
5371
- \****************************************************************************************************/
5372
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
5373
-
5374
- "use strict";
5375
-
5376
-
5377
- var utils = __webpack_require__(/*! ../utils */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/utils.js");
5378
-
5379
- /**
5380
- * Config-specific merge-function which creates a new config-object
5381
- * by merging two configuration objects together.
5382
- *
5383
- * @param {Object} config1
5384
- * @param {Object} config2
5385
- * @returns {Object} New object resulting from merging config2 to config1
5386
- */
5387
- module.exports = function mergeConfig(config1, config2) {
5388
- // eslint-disable-next-line no-param-reassign
5389
- config2 = config2 || {};
5390
- var config = {};
5391
-
5392
- function getMergedValue(target, source) {
5393
- if (utils.isPlainObject(target) && utils.isPlainObject(source)) {
5394
- return utils.merge(target, source);
5395
- } else if (utils.isPlainObject(source)) {
5396
- return utils.merge({}, source);
5397
- } else if (utils.isArray(source)) {
5398
- return source.slice();
5399
- }
5400
- return source;
5401
- }
5402
-
5403
- // eslint-disable-next-line consistent-return
5404
- function mergeDeepProperties(prop) {
5405
- if (!utils.isUndefined(config2[prop])) {
5406
- return getMergedValue(config1[prop], config2[prop]);
5407
- } else if (!utils.isUndefined(config1[prop])) {
5408
- return getMergedValue(undefined, config1[prop]);
5409
- }
5410
- }
5411
-
5412
- // eslint-disable-next-line consistent-return
5413
- function valueFromConfig2(prop) {
5414
- if (!utils.isUndefined(config2[prop])) {
5415
- return getMergedValue(undefined, config2[prop]);
5416
- }
5417
- }
5418
-
5419
- // eslint-disable-next-line consistent-return
5420
- function defaultToConfig2(prop) {
5421
- if (!utils.isUndefined(config2[prop])) {
5422
- return getMergedValue(undefined, config2[prop]);
5423
- } else if (!utils.isUndefined(config1[prop])) {
5424
- return getMergedValue(undefined, config1[prop]);
5425
- }
5426
- }
5427
-
5428
- // eslint-disable-next-line consistent-return
5429
- function mergeDirectKeys(prop) {
5430
- if (prop in config2) {
5431
- return getMergedValue(config1[prop], config2[prop]);
5432
- } else if (prop in config1) {
5433
- return getMergedValue(undefined, config1[prop]);
5434
- }
5435
- }
5436
-
5437
- var mergeMap = {
5438
- 'url': valueFromConfig2,
5439
- 'method': valueFromConfig2,
5440
- 'data': valueFromConfig2,
5441
- 'baseURL': defaultToConfig2,
5442
- 'transformRequest': defaultToConfig2,
5443
- 'transformResponse': defaultToConfig2,
5444
- 'paramsSerializer': defaultToConfig2,
5445
- 'timeout': defaultToConfig2,
5446
- 'timeoutMessage': defaultToConfig2,
5447
- 'withCredentials': defaultToConfig2,
5448
- 'adapter': defaultToConfig2,
5449
- 'responseType': defaultToConfig2,
5450
- 'xsrfCookieName': defaultToConfig2,
5451
- 'xsrfHeaderName': defaultToConfig2,
5452
- 'onUploadProgress': defaultToConfig2,
5453
- 'onDownloadProgress': defaultToConfig2,
5454
- 'decompress': defaultToConfig2,
5455
- 'maxContentLength': defaultToConfig2,
5456
- 'maxBodyLength': defaultToConfig2,
5457
- 'transport': defaultToConfig2,
5458
- 'httpAgent': defaultToConfig2,
5459
- 'httpsAgent': defaultToConfig2,
5460
- 'cancelToken': defaultToConfig2,
5461
- 'socketPath': defaultToConfig2,
5462
- 'responseEncoding': defaultToConfig2,
5463
- 'validateStatus': mergeDirectKeys
5464
- };
5465
-
5466
- utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {
5467
- var merge = mergeMap[prop] || mergeDeepProperties;
5468
- var configValue = merge(prop);
5469
- (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);
5470
- });
5471
-
5472
- return config;
5473
- };
5474
-
5475
-
5476
- /***/ }),
5477
-
5478
- /***/ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/core/settle.js":
5479
- /*!***********************************************************************************************!*\
5480
- !*** ../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/core/settle.js ***!
5481
- \***********************************************************************************************/
5482
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
5483
-
5484
- "use strict";
5485
-
5486
-
5487
- var createError = __webpack_require__(/*! ./createError */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/core/createError.js");
5488
-
5489
- /**
5490
- * Resolve or reject a Promise based on response status.
5491
- *
5492
- * @param {Function} resolve A function that resolves the promise.
5493
- * @param {Function} reject A function that rejects the promise.
5494
- * @param {object} response The response.
5495
- */
5496
- module.exports = function settle(resolve, reject, response) {
5497
- var validateStatus = response.config.validateStatus;
5498
- if (!response.status || !validateStatus || validateStatus(response.status)) {
5499
- resolve(response);
5500
- } else {
5501
- reject(createError(
5502
- 'Request failed with status code ' + response.status,
5503
- response.config,
5504
- null,
5505
- response.request,
5506
- response
5507
- ));
5508
- }
5509
- };
5510
-
5511
-
5512
- /***/ }),
5513
-
5514
- /***/ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/core/transformData.js":
5515
- /*!******************************************************************************************************!*\
5516
- !*** ../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/core/transformData.js ***!
5517
- \******************************************************************************************************/
5518
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
5519
-
5520
- "use strict";
5521
-
5522
-
5523
- var utils = __webpack_require__(/*! ./../utils */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/utils.js");
5524
- var defaults = __webpack_require__(/*! ./../defaults */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/defaults.js");
5525
-
5526
- /**
5527
- * Transform the data for a request or a response
5528
- *
5529
- * @param {Object|String} data The data to be transformed
5530
- * @param {Array} headers The headers for the request or response
5531
- * @param {Array|Function} fns A single function or Array of functions
5532
- * @returns {*} The resulting transformed data
5533
- */
5534
- module.exports = function transformData(data, headers, fns) {
5535
- var context = this || defaults;
5536
- /*eslint no-param-reassign:0*/
5537
- utils.forEach(fns, function transform(fn) {
5538
- data = fn.call(context, data, headers);
5539
- });
5540
-
5541
- return data;
5542
- };
5543
-
5544
-
5545
- /***/ }),
5546
-
5547
- /***/ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/defaults.js":
5548
- /*!********************************************************************************************!*\
5549
- !*** ../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/defaults.js ***!
5550
- \********************************************************************************************/
5551
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
5552
-
5553
- "use strict";
5554
-
5555
-
5556
- var utils = __webpack_require__(/*! ./utils */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/utils.js");
5557
- var normalizeHeaderName = __webpack_require__(/*! ./helpers/normalizeHeaderName */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/helpers/normalizeHeaderName.js");
5558
- var enhanceError = __webpack_require__(/*! ./core/enhanceError */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/core/enhanceError.js");
5559
-
5560
- var DEFAULT_CONTENT_TYPE = {
5561
- 'Content-Type': 'application/x-www-form-urlencoded'
5562
- };
5563
-
5564
- function setContentTypeIfUnset(headers, value) {
5565
- if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {
5566
- headers['Content-Type'] = value;
5567
- }
5568
- }
5569
-
5570
- function getDefaultAdapter() {
5571
- var adapter;
5572
- if (typeof XMLHttpRequest !== 'undefined') {
5573
- // For browsers use XHR adapter
5574
- adapter = __webpack_require__(/*! ./adapters/xhr */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/adapters/xhr.js");
5575
- } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {
5576
- // For node use HTTP adapter
5577
- adapter = __webpack_require__(/*! ./adapters/http */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/adapters/xhr.js");
5578
- }
5579
- return adapter;
5580
- }
5581
-
5582
- function stringifySafely(rawValue, parser, encoder) {
5583
- if (utils.isString(rawValue)) {
5584
- try {
5585
- (parser || JSON.parse)(rawValue);
5586
- return utils.trim(rawValue);
5587
- } catch (e) {
5588
- if (e.name !== 'SyntaxError') {
5589
- throw e;
5590
- }
5591
- }
5592
- }
5593
-
5594
- return (encoder || JSON.stringify)(rawValue);
5595
- }
5596
-
5597
- var defaults = {
5598
-
5599
- transitional: {
5600
- silentJSONParsing: true,
5601
- forcedJSONParsing: true,
5602
- clarifyTimeoutError: false
5603
- },
5604
-
5605
- adapter: getDefaultAdapter(),
5606
-
5607
- transformRequest: [function transformRequest(data, headers) {
5608
- normalizeHeaderName(headers, 'Accept');
5609
- normalizeHeaderName(headers, 'Content-Type');
5610
-
5611
- if (utils.isFormData(data) ||
5612
- utils.isArrayBuffer(data) ||
5613
- utils.isBuffer(data) ||
5614
- utils.isStream(data) ||
5615
- utils.isFile(data) ||
5616
- utils.isBlob(data)
5617
- ) {
5618
- return data;
5619
- }
5620
- if (utils.isArrayBufferView(data)) {
5621
- return data.buffer;
5622
- }
5623
- if (utils.isURLSearchParams(data)) {
5624
- setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');
5625
- return data.toString();
5626
- }
5627
- if (utils.isObject(data) || (headers && headers['Content-Type'] === 'application/json')) {
5628
- setContentTypeIfUnset(headers, 'application/json');
5629
- return stringifySafely(data);
5630
- }
5631
- return data;
5632
- }],
5633
-
5634
- transformResponse: [function transformResponse(data) {
5635
- var transitional = this.transitional || defaults.transitional;
5636
- var silentJSONParsing = transitional && transitional.silentJSONParsing;
5637
- var forcedJSONParsing = transitional && transitional.forcedJSONParsing;
5638
- var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';
5639
-
5640
- if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {
5641
- try {
5642
- return JSON.parse(data);
5643
- } catch (e) {
5644
- if (strictJSONParsing) {
5645
- if (e.name === 'SyntaxError') {
5646
- throw enhanceError(e, this, 'E_JSON_PARSE');
5647
- }
5648
- throw e;
5649
- }
5650
- }
5651
- }
5652
-
5653
- return data;
5654
- }],
5655
-
5656
- /**
5657
- * A timeout in milliseconds to abort a request. If set to 0 (default) a
5658
- * timeout is not created.
5659
- */
5660
- timeout: 0,
5661
-
5662
- xsrfCookieName: 'XSRF-TOKEN',
5663
- xsrfHeaderName: 'X-XSRF-TOKEN',
5664
-
5665
- maxContentLength: -1,
5666
- maxBodyLength: -1,
5667
-
5668
- validateStatus: function validateStatus(status) {
5669
- return status >= 200 && status < 300;
5670
- },
5671
-
5672
- headers: {
5673
- common: {
5674
- 'Accept': 'application/json, text/plain, */*'
5675
- }
5676
- }
5677
- };
5678
-
5679
- utils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {
5680
- defaults.headers[method] = {};
5681
- });
5682
-
5683
- utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {
5684
- defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);
5685
- });
5686
-
5687
- module.exports = defaults;
5688
-
5689
-
5690
- /***/ }),
5691
-
5692
- /***/ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/env/data.js":
5693
- /*!********************************************************************************************!*\
5694
- !*** ../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/env/data.js ***!
5695
- \********************************************************************************************/
5696
- /***/ ((module) => {
5697
-
5698
- module.exports = {
5699
- "version": "0.25.0"
5700
- };
5701
-
5702
- /***/ }),
5703
-
5704
- /***/ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/helpers/bind.js":
5705
- /*!************************************************************************************************!*\
5706
- !*** ../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/helpers/bind.js ***!
5707
- \************************************************************************************************/
5708
- /***/ ((module) => {
5709
-
5710
- "use strict";
5711
-
5712
-
5713
- module.exports = function bind(fn, thisArg) {
5714
- return function wrap() {
5715
- var args = new Array(arguments.length);
5716
- for (var i = 0; i < args.length; i++) {
5717
- args[i] = arguments[i];
5718
- }
5719
- return fn.apply(thisArg, args);
5720
- };
5721
- };
5722
-
5723
-
5724
- /***/ }),
5725
-
5726
- /***/ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/helpers/buildURL.js":
5727
- /*!****************************************************************************************************!*\
5728
- !*** ../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/helpers/buildURL.js ***!
5729
- \****************************************************************************************************/
5730
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
5731
-
5732
- "use strict";
5733
-
5734
-
5735
- var utils = __webpack_require__(/*! ./../utils */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/utils.js");
5736
-
5737
- function encode(val) {
5738
- return encodeURIComponent(val).
5739
- replace(/%3A/gi, ':').
5740
- replace(/%24/g, '$').
5741
- replace(/%2C/gi, ',').
5742
- replace(/%20/g, '+').
5743
- replace(/%5B/gi, '[').
5744
- replace(/%5D/gi, ']');
5745
- }
5746
-
5747
- /**
5748
- * Build a URL by appending params to the end
5749
- *
5750
- * @param {string} url The base of the url (e.g., http://www.google.com)
5751
- * @param {object} [params] The params to be appended
5752
- * @returns {string} The formatted url
5753
- */
5754
- module.exports = function buildURL(url, params, paramsSerializer) {
5755
- /*eslint no-param-reassign:0*/
5756
- if (!params) {
5757
- return url;
5758
- }
5759
-
5760
- var serializedParams;
5761
- if (paramsSerializer) {
5762
- serializedParams = paramsSerializer(params);
5763
- } else if (utils.isURLSearchParams(params)) {
5764
- serializedParams = params.toString();
5765
- } else {
5766
- var parts = [];
5767
-
5768
- utils.forEach(params, function serialize(val, key) {
5769
- if (val === null || typeof val === 'undefined') {
5770
- return;
5771
- }
5772
-
5773
- if (utils.isArray(val)) {
5774
- key = key + '[]';
5775
- } else {
5776
- val = [val];
5777
- }
5778
-
5779
- utils.forEach(val, function parseValue(v) {
5780
- if (utils.isDate(v)) {
5781
- v = v.toISOString();
5782
- } else if (utils.isObject(v)) {
5783
- v = JSON.stringify(v);
5784
- }
5785
- parts.push(encode(key) + '=' + encode(v));
5786
- });
5787
- });
5788
-
5789
- serializedParams = parts.join('&');
5790
- }
5791
-
5792
- if (serializedParams) {
5793
- var hashmarkIndex = url.indexOf('#');
5794
- if (hashmarkIndex !== -1) {
5795
- url = url.slice(0, hashmarkIndex);
5796
- }
5797
-
5798
- url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;
5799
- }
5800
-
5801
- return url;
5802
- };
5803
-
5804
-
5805
- /***/ }),
5806
-
5807
- /***/ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/helpers/combineURLs.js":
5808
- /*!*******************************************************************************************************!*\
5809
- !*** ../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/helpers/combineURLs.js ***!
5810
- \*******************************************************************************************************/
5811
- /***/ ((module) => {
5812
-
5813
- "use strict";
5814
-
5815
-
5816
- /**
5817
- * Creates a new URL by combining the specified URLs
5818
- *
5819
- * @param {string} baseURL The base URL
5820
- * @param {string} relativeURL The relative URL
5821
- * @returns {string} The combined URL
5822
- */
5823
- module.exports = function combineURLs(baseURL, relativeURL) {
5824
- return relativeURL
5825
- ? baseURL.replace(/\/+$/, '') + '/' + relativeURL.replace(/^\/+/, '')
5826
- : baseURL;
5827
- };
5828
-
5829
-
5830
- /***/ }),
5831
-
5832
- /***/ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/helpers/cookies.js":
5833
- /*!***************************************************************************************************!*\
5834
- !*** ../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/helpers/cookies.js ***!
5835
- \***************************************************************************************************/
5836
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
5837
-
5838
- "use strict";
5839
-
5840
-
5841
- var utils = __webpack_require__(/*! ./../utils */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/utils.js");
5842
-
5843
- module.exports = (
5844
- utils.isStandardBrowserEnv() ?
5845
-
5846
- // Standard browser envs support document.cookie
5847
- (function standardBrowserEnv() {
5848
- return {
5849
- write: function write(name, value, expires, path, domain, secure) {
5850
- var cookie = [];
5851
- cookie.push(name + '=' + encodeURIComponent(value));
5852
-
5853
- if (utils.isNumber(expires)) {
5854
- cookie.push('expires=' + new Date(expires).toGMTString());
5855
- }
5856
-
5857
- if (utils.isString(path)) {
5858
- cookie.push('path=' + path);
5859
- }
5860
-
5861
- if (utils.isString(domain)) {
5862
- cookie.push('domain=' + domain);
5863
- }
5864
-
5865
- if (secure === true) {
5866
- cookie.push('secure');
5867
- }
5868
-
5869
- document.cookie = cookie.join('; ');
5870
- },
5871
-
5872
- read: function read(name) {
5873
- var match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)'));
5874
- return (match ? decodeURIComponent(match[3]) : null);
5875
- },
5876
-
5877
- remove: function remove(name) {
5878
- this.write(name, '', Date.now() - 86400000);
5879
- }
5880
- };
5881
- })() :
5882
-
5883
- // Non standard browser env (web workers, react-native) lack needed support.
5884
- (function nonStandardBrowserEnv() {
5885
- return {
5886
- write: function write() {},
5887
- read: function read() { return null; },
5888
- remove: function remove() {}
5889
- };
5890
- })()
5891
- );
5892
-
5893
-
5894
- /***/ }),
5895
-
5896
- /***/ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/helpers/isAbsoluteURL.js":
5897
- /*!*********************************************************************************************************!*\
5898
- !*** ../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/helpers/isAbsoluteURL.js ***!
5899
- \*********************************************************************************************************/
5900
- /***/ ((module) => {
5901
-
5902
- "use strict";
5903
-
5904
-
5905
- /**
5906
- * Determines whether the specified URL is absolute
5907
- *
5908
- * @param {string} url The URL to test
5909
- * @returns {boolean} True if the specified URL is absolute, otherwise false
5910
- */
5911
- module.exports = function isAbsoluteURL(url) {
5912
- // A URL is considered absolute if it begins with "<scheme>://" or "//" (protocol-relative URL).
5913
- // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed
5914
- // by any combination of letters, digits, plus, period, or hyphen.
5915
- return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url);
5916
- };
5917
-
5918
-
5919
- /***/ }),
5920
-
5921
- /***/ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/helpers/isAxiosError.js":
5922
- /*!********************************************************************************************************!*\
5923
- !*** ../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/helpers/isAxiosError.js ***!
5924
- \********************************************************************************************************/
5925
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
5926
-
5927
- "use strict";
5928
-
5929
-
5930
- var utils = __webpack_require__(/*! ./../utils */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/utils.js");
5931
-
5932
- /**
5933
- * Determines whether the payload is an error thrown by Axios
5934
- *
5935
- * @param {*} payload The value to test
5936
- * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false
5937
- */
5938
- module.exports = function isAxiosError(payload) {
5939
- return utils.isObject(payload) && (payload.isAxiosError === true);
5940
- };
5941
-
5942
-
5943
- /***/ }),
5944
-
5945
- /***/ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/helpers/isURLSameOrigin.js":
5946
- /*!***********************************************************************************************************!*\
5947
- !*** ../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/helpers/isURLSameOrigin.js ***!
5948
- \***********************************************************************************************************/
5949
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
5950
-
5951
- "use strict";
5952
-
5953
-
5954
- var utils = __webpack_require__(/*! ./../utils */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/utils.js");
5955
-
5956
- module.exports = (
5957
- utils.isStandardBrowserEnv() ?
5958
-
5959
- // Standard browser envs have full support of the APIs needed to test
5960
- // whether the request URL is of the same origin as current location.
5961
- (function standardBrowserEnv() {
5962
- var msie = /(msie|trident)/i.test(navigator.userAgent);
5963
- var urlParsingNode = document.createElement('a');
5964
- var originURL;
5965
-
5966
- /**
5967
- * Parse a URL to discover it's components
5968
- *
5969
- * @param {String} url The URL to be parsed
5970
- * @returns {Object}
5971
- */
5972
- function resolveURL(url) {
5973
- var href = url;
5974
-
5975
- if (msie) {
5976
- // IE needs attribute set twice to normalize properties
5977
- urlParsingNode.setAttribute('href', href);
5978
- href = urlParsingNode.href;
5979
- }
5980
-
5981
- urlParsingNode.setAttribute('href', href);
5982
-
5983
- // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils
5984
- return {
5985
- href: urlParsingNode.href,
5986
- protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',
5987
- host: urlParsingNode.host,
5988
- search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '',
5989
- hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',
5990
- hostname: urlParsingNode.hostname,
5991
- port: urlParsingNode.port,
5992
- pathname: (urlParsingNode.pathname.charAt(0) === '/') ?
5993
- urlParsingNode.pathname :
5994
- '/' + urlParsingNode.pathname
5995
- };
5996
- }
5997
-
5998
- originURL = resolveURL(window.location.href);
5999
-
6000
- /**
6001
- * Determine if a URL shares the same origin as the current location
6002
- *
6003
- * @param {String} requestURL The URL to test
6004
- * @returns {boolean} True if URL shares the same origin, otherwise false
6005
- */
6006
- return function isURLSameOrigin(requestURL) {
6007
- var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;
6008
- return (parsed.protocol === originURL.protocol &&
6009
- parsed.host === originURL.host);
6010
- };
6011
- })() :
6012
-
6013
- // Non standard browser envs (web workers, react-native) lack needed support.
6014
- (function nonStandardBrowserEnv() {
6015
- return function isURLSameOrigin() {
6016
- return true;
6017
- };
6018
- })()
6019
- );
6020
-
6021
-
6022
- /***/ }),
6023
-
6024
- /***/ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/helpers/normalizeHeaderName.js":
6025
- /*!***************************************************************************************************************!*\
6026
- !*** ../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/helpers/normalizeHeaderName.js ***!
6027
- \***************************************************************************************************************/
6028
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
6029
-
6030
- "use strict";
6031
-
6032
-
6033
- var utils = __webpack_require__(/*! ../utils */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/utils.js");
6034
-
6035
- module.exports = function normalizeHeaderName(headers, normalizedName) {
6036
- utils.forEach(headers, function processHeader(value, name) {
6037
- if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {
6038
- headers[normalizedName] = value;
6039
- delete headers[name];
6040
- }
6041
- });
6042
- };
6043
-
6044
-
6045
- /***/ }),
6046
-
6047
- /***/ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/helpers/parseHeaders.js":
6048
- /*!********************************************************************************************************!*\
6049
- !*** ../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/helpers/parseHeaders.js ***!
6050
- \********************************************************************************************************/
6051
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
6052
-
6053
- "use strict";
6054
-
6055
-
6056
- var utils = __webpack_require__(/*! ./../utils */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/utils.js");
6057
-
6058
- // Headers whose duplicates are ignored by node
6059
- // c.f. https://nodejs.org/api/http.html#http_message_headers
6060
- var ignoreDuplicateOf = [
6061
- 'age', 'authorization', 'content-length', 'content-type', 'etag',
6062
- 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',
6063
- 'last-modified', 'location', 'max-forwards', 'proxy-authorization',
6064
- 'referer', 'retry-after', 'user-agent'
6065
- ];
6066
-
6067
- /**
6068
- * Parse headers into an object
6069
- *
6070
- * ```
6071
- * Date: Wed, 27 Aug 2014 08:58:49 GMT
6072
- * Content-Type: application/json
6073
- * Connection: keep-alive
6074
- * Transfer-Encoding: chunked
6075
- * ```
6076
- *
6077
- * @param {String} headers Headers needing to be parsed
6078
- * @returns {Object} Headers parsed into an object
6079
- */
6080
- module.exports = function parseHeaders(headers) {
6081
- var parsed = {};
6082
- var key;
6083
- var val;
6084
- var i;
6085
-
6086
- if (!headers) { return parsed; }
6087
-
6088
- utils.forEach(headers.split('\n'), function parser(line) {
6089
- i = line.indexOf(':');
6090
- key = utils.trim(line.substr(0, i)).toLowerCase();
6091
- val = utils.trim(line.substr(i + 1));
6092
-
6093
- if (key) {
6094
- if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {
6095
- return;
6096
- }
6097
- if (key === 'set-cookie') {
6098
- parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);
6099
- } else {
6100
- parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;
6101
- }
6102
- }
6103
- });
6104
-
6105
- return parsed;
6106
- };
6107
-
6108
-
6109
- /***/ }),
6110
-
6111
- /***/ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/helpers/spread.js":
6112
- /*!**************************************************************************************************!*\
6113
- !*** ../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/helpers/spread.js ***!
6114
- \**************************************************************************************************/
6115
- /***/ ((module) => {
6116
-
6117
- "use strict";
6118
-
6119
-
6120
- /**
6121
- * Syntactic sugar for invoking a function and expanding an array for arguments.
6122
- *
6123
- * Common use case would be to use `Function.prototype.apply`.
6124
- *
6125
- * ```js
6126
- * function f(x, y, z) {}
6127
- * var args = [1, 2, 3];
6128
- * f.apply(null, args);
6129
- * ```
6130
- *
6131
- * With `spread` this example can be re-written.
6132
- *
6133
- * ```js
6134
- * spread(function(x, y, z) {})([1, 2, 3]);
6135
- * ```
6136
- *
6137
- * @param {Function} callback
6138
- * @returns {Function}
6139
- */
6140
- module.exports = function spread(callback) {
6141
- return function wrap(arr) {
6142
- return callback.apply(null, arr);
6143
- };
6144
- };
6145
-
6146
-
6147
- /***/ }),
6148
-
6149
- /***/ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/helpers/validator.js":
6150
- /*!*****************************************************************************************************!*\
6151
- !*** ../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/helpers/validator.js ***!
6152
- \*****************************************************************************************************/
6153
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
6154
-
6155
- "use strict";
6156
-
6157
-
6158
- var VERSION = (__webpack_require__(/*! ../env/data */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/env/data.js").version);
6159
-
6160
- var validators = {};
6161
-
6162
- // eslint-disable-next-line func-names
6163
- ['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {
6164
- validators[type] = function validator(thing) {
6165
- return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;
6166
- };
6167
- });
6168
-
6169
- var deprecatedWarnings = {};
6170
-
6171
- /**
6172
- * Transitional option validator
6173
- * @param {function|boolean?} validator - set to false if the transitional option has been removed
6174
- * @param {string?} version - deprecated version / removed since version
6175
- * @param {string?} message - some message with additional info
6176
- * @returns {function}
6177
- */
6178
- validators.transitional = function transitional(validator, version, message) {
6179
- function formatMessage(opt, desc) {
6180
- return '[Axios v' + VERSION + '] Transitional option \'' + opt + '\'' + desc + (message ? '. ' + message : '');
6181
- }
6182
-
6183
- // eslint-disable-next-line func-names
6184
- return function(value, opt, opts) {
6185
- if (validator === false) {
6186
- throw new Error(formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')));
6187
- }
6188
-
6189
- if (version && !deprecatedWarnings[opt]) {
6190
- deprecatedWarnings[opt] = true;
6191
- // eslint-disable-next-line no-console
6192
- console.warn(
6193
- formatMessage(
6194
- opt,
6195
- ' has been deprecated since v' + version + ' and will be removed in the near future'
6196
- )
6197
- );
6198
- }
6199
-
6200
- return validator ? validator(value, opt, opts) : true;
6201
- };
6202
- };
6203
-
6204
- /**
6205
- * Assert object's properties type
6206
- * @param {object} options
6207
- * @param {object} schema
6208
- * @param {boolean?} allowUnknown
6209
- */
6210
-
6211
- function assertOptions(options, schema, allowUnknown) {
6212
- if (typeof options !== 'object') {
6213
- throw new TypeError('options must be an object');
6214
- }
6215
- var keys = Object.keys(options);
6216
- var i = keys.length;
6217
- while (i-- > 0) {
6218
- var opt = keys[i];
6219
- var validator = schema[opt];
6220
- if (validator) {
6221
- var value = options[opt];
6222
- var result = value === undefined || validator(value, opt, options);
6223
- if (result !== true) {
6224
- throw new TypeError('option ' + opt + ' must be ' + result);
6225
- }
6226
- continue;
6227
- }
6228
- if (allowUnknown !== true) {
6229
- throw Error('Unknown option ' + opt);
6230
- }
6231
- }
6232
- }
6233
-
6234
- module.exports = {
6235
- assertOptions: assertOptions,
6236
- validators: validators
6237
- };
6238
-
6239
-
6240
- /***/ }),
6241
-
6242
- /***/ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/utils.js":
6243
- /*!*****************************************************************************************!*\
6244
- !*** ../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/utils.js ***!
6245
- \*****************************************************************************************/
6246
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
6247
-
6248
- "use strict";
6249
-
6250
-
6251
- var bind = __webpack_require__(/*! ./helpers/bind */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/lib/helpers/bind.js");
6252
-
6253
- // utils is a library of generic helper functions non-specific to axios
6254
-
6255
- var toString = Object.prototype.toString;
6256
-
6257
- /**
6258
- * Determine if a value is an Array
6259
- *
6260
- * @param {Object} val The value to test
6261
- * @returns {boolean} True if value is an Array, otherwise false
6262
- */
6263
- function isArray(val) {
6264
- return Array.isArray(val);
6265
- }
6266
-
6267
- /**
6268
- * Determine if a value is undefined
6269
- *
6270
- * @param {Object} val The value to test
6271
- * @returns {boolean} True if the value is undefined, otherwise false
6272
- */
6273
- function isUndefined(val) {
6274
- return typeof val === 'undefined';
6275
- }
6276
-
6277
- /**
6278
- * Determine if a value is a Buffer
6279
- *
6280
- * @param {Object} val The value to test
6281
- * @returns {boolean} True if value is a Buffer, otherwise false
6282
- */
6283
- function isBuffer(val) {
6284
- return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)
6285
- && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);
6286
- }
6287
-
6288
- /**
6289
- * Determine if a value is an ArrayBuffer
6290
- *
6291
- * @param {Object} val The value to test
6292
- * @returns {boolean} True if value is an ArrayBuffer, otherwise false
6293
- */
6294
- function isArrayBuffer(val) {
6295
- return toString.call(val) === '[object ArrayBuffer]';
6296
- }
6297
-
6298
- /**
6299
- * Determine if a value is a FormData
6300
- *
6301
- * @param {Object} val The value to test
6302
- * @returns {boolean} True if value is an FormData, otherwise false
6303
- */
6304
- function isFormData(val) {
6305
- return toString.call(val) === '[object FormData]';
6306
- }
6307
-
6308
- /**
6309
- * Determine if a value is a view on an ArrayBuffer
6310
- *
6311
- * @param {Object} val The value to test
6312
- * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false
6313
- */
6314
- function isArrayBufferView(val) {
6315
- var result;
6316
- if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {
6317
- result = ArrayBuffer.isView(val);
6318
- } else {
6319
- result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));
6320
- }
6321
- return result;
6322
- }
6323
-
6324
- /**
6325
- * Determine if a value is a String
6326
- *
6327
- * @param {Object} val The value to test
6328
- * @returns {boolean} True if value is a String, otherwise false
6329
- */
6330
- function isString(val) {
6331
- return typeof val === 'string';
6332
- }
6333
-
6334
- /**
6335
- * Determine if a value is a Number
6336
- *
6337
- * @param {Object} val The value to test
6338
- * @returns {boolean} True if value is a Number, otherwise false
6339
- */
6340
- function isNumber(val) {
6341
- return typeof val === 'number';
6342
- }
6343
-
6344
- /**
6345
- * Determine if a value is an Object
6346
- *
6347
- * @param {Object} val The value to test
6348
- * @returns {boolean} True if value is an Object, otherwise false
6349
- */
6350
- function isObject(val) {
6351
- return val !== null && typeof val === 'object';
6352
- }
6353
-
6354
- /**
6355
- * Determine if a value is a plain Object
6356
- *
6357
- * @param {Object} val The value to test
6358
- * @return {boolean} True if value is a plain Object, otherwise false
6359
- */
6360
- function isPlainObject(val) {
6361
- if (toString.call(val) !== '[object Object]') {
6362
- return false;
6363
- }
6364
-
6365
- var prototype = Object.getPrototypeOf(val);
6366
- return prototype === null || prototype === Object.prototype;
6367
- }
6368
-
6369
- /**
6370
- * Determine if a value is a Date
6371
- *
6372
- * @param {Object} val The value to test
6373
- * @returns {boolean} True if value is a Date, otherwise false
6374
- */
6375
- function isDate(val) {
6376
- return toString.call(val) === '[object Date]';
6377
- }
6378
-
6379
- /**
6380
- * Determine if a value is a File
6381
- *
6382
- * @param {Object} val The value to test
6383
- * @returns {boolean} True if value is a File, otherwise false
6384
- */
6385
- function isFile(val) {
6386
- return toString.call(val) === '[object File]';
6387
- }
6388
-
6389
- /**
6390
- * Determine if a value is a Blob
6391
- *
6392
- * @param {Object} val The value to test
6393
- * @returns {boolean} True if value is a Blob, otherwise false
6394
- */
6395
- function isBlob(val) {
6396
- return toString.call(val) === '[object Blob]';
6397
- }
6398
-
6399
- /**
6400
- * Determine if a value is a Function
6401
- *
6402
- * @param {Object} val The value to test
6403
- * @returns {boolean} True if value is a Function, otherwise false
6404
- */
6405
- function isFunction(val) {
6406
- return toString.call(val) === '[object Function]';
6407
- }
6408
-
6409
- /**
6410
- * Determine if a value is a Stream
6411
- *
6412
- * @param {Object} val The value to test
6413
- * @returns {boolean} True if value is a Stream, otherwise false
6414
- */
6415
- function isStream(val) {
6416
- return isObject(val) && isFunction(val.pipe);
6417
- }
6418
-
6419
- /**
6420
- * Determine if a value is a URLSearchParams object
6421
- *
6422
- * @param {Object} val The value to test
6423
- * @returns {boolean} True if value is a URLSearchParams object, otherwise false
6424
- */
6425
- function isURLSearchParams(val) {
6426
- return toString.call(val) === '[object URLSearchParams]';
6427
- }
6428
-
6429
- /**
6430
- * Trim excess whitespace off the beginning and end of a string
6431
- *
6432
- * @param {String} str The String to trim
6433
- * @returns {String} The String freed of excess whitespace
6434
- */
6435
- function trim(str) {
6436
- return str.trim ? str.trim() : str.replace(/^\s+|\s+$/g, '');
6437
- }
6438
-
6439
- /**
6440
- * Determine if we're running in a standard browser environment
6441
- *
6442
- * This allows axios to run in a web worker, and react-native.
6443
- * Both environments support XMLHttpRequest, but not fully standard globals.
6444
- *
6445
- * web workers:
6446
- * typeof window -> undefined
6447
- * typeof document -> undefined
6448
- *
6449
- * react-native:
6450
- * navigator.product -> 'ReactNative'
6451
- * nativescript
6452
- * navigator.product -> 'NativeScript' or 'NS'
6453
- */
6454
- function isStandardBrowserEnv() {
6455
- if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||
6456
- navigator.product === 'NativeScript' ||
6457
- navigator.product === 'NS')) {
6458
- return false;
6459
- }
6460
- return (
6461
- typeof window !== 'undefined' &&
6462
- typeof document !== 'undefined'
6463
- );
6464
- }
6465
-
6466
- /**
6467
- * Iterate over an Array or an Object invoking a function for each item.
6468
- *
6469
- * If `obj` is an Array callback will be called passing
6470
- * the value, index, and complete array for each item.
6471
- *
6472
- * If 'obj' is an Object callback will be called passing
6473
- * the value, key, and complete object for each property.
6474
- *
6475
- * @param {Object|Array} obj The object to iterate
6476
- * @param {Function} fn The callback to invoke for each item
6477
- */
6478
- function forEach(obj, fn) {
6479
- // Don't bother if no value provided
6480
- if (obj === null || typeof obj === 'undefined') {
6481
- return;
6482
- }
6483
-
6484
- // Force an array if not already something iterable
6485
- if (typeof obj !== 'object') {
6486
- /*eslint no-param-reassign:0*/
6487
- obj = [obj];
6488
- }
6489
-
6490
- if (isArray(obj)) {
6491
- // Iterate over array values
6492
- for (var i = 0, l = obj.length; i < l; i++) {
6493
- fn.call(null, obj[i], i, obj);
6494
- }
6495
- } else {
6496
- // Iterate over object keys
6497
- for (var key in obj) {
6498
- if (Object.prototype.hasOwnProperty.call(obj, key)) {
6499
- fn.call(null, obj[key], key, obj);
6500
- }
6501
- }
6502
- }
6503
- }
6504
-
6505
- /**
6506
- * Accepts varargs expecting each argument to be an object, then
6507
- * immutably merges the properties of each object and returns result.
6508
- *
6509
- * When multiple objects contain the same key the later object in
6510
- * the arguments list will take precedence.
6511
- *
6512
- * Example:
6513
- *
6514
- * ```js
6515
- * var result = merge({foo: 123}, {foo: 456});
6516
- * console.log(result.foo); // outputs 456
6517
- * ```
6518
- *
6519
- * @param {Object} obj1 Object to merge
6520
- * @returns {Object} Result of all merge properties
6521
- */
6522
- function merge(/* obj1, obj2, obj3, ... */) {
6523
- var result = {};
6524
- function assignValue(val, key) {
6525
- if (isPlainObject(result[key]) && isPlainObject(val)) {
6526
- result[key] = merge(result[key], val);
6527
- } else if (isPlainObject(val)) {
6528
- result[key] = merge({}, val);
6529
- } else if (isArray(val)) {
6530
- result[key] = val.slice();
6531
- } else {
6532
- result[key] = val;
6533
- }
6534
- }
6535
-
6536
- for (var i = 0, l = arguments.length; i < l; i++) {
6537
- forEach(arguments[i], assignValue);
6538
- }
6539
- return result;
6540
- }
6541
-
6542
- /**
6543
- * Extends object a by mutably adding to it the properties of object b.
6544
- *
6545
- * @param {Object} a The object to be extended
6546
- * @param {Object} b The object to copy properties from
6547
- * @param {Object} thisArg The object to bind function to
6548
- * @return {Object} The resulting value of object a
6549
- */
6550
- function extend(a, b, thisArg) {
6551
- forEach(b, function assignValue(val, key) {
6552
- if (thisArg && typeof val === 'function') {
6553
- a[key] = bind(val, thisArg);
6554
- } else {
6555
- a[key] = val;
6556
- }
6557
- });
6558
- return a;
6559
- }
6560
-
6561
- /**
6562
- * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)
6563
- *
6564
- * @param {string} content with BOM
6565
- * @return {string} content value without BOM
6566
- */
6567
- function stripBOM(content) {
6568
- if (content.charCodeAt(0) === 0xFEFF) {
6569
- content = content.slice(1);
6570
- }
6571
- return content;
6572
- }
6573
-
6574
- module.exports = {
6575
- isArray: isArray,
6576
- isArrayBuffer: isArrayBuffer,
6577
- isBuffer: isBuffer,
6578
- isFormData: isFormData,
6579
- isArrayBufferView: isArrayBufferView,
6580
- isString: isString,
6581
- isNumber: isNumber,
6582
- isObject: isObject,
6583
- isPlainObject: isPlainObject,
6584
- isUndefined: isUndefined,
6585
- isDate: isDate,
6586
- isFile: isFile,
6587
- isBlob: isBlob,
6588
- isFunction: isFunction,
6589
- isStream: isStream,
6590
- isURLSearchParams: isURLSearchParams,
6591
- isStandardBrowserEnv: isStandardBrowserEnv,
6592
- forEach: forEach,
6593
- merge: merge,
6594
- extend: extend,
6595
- trim: trim,
6596
- stripBOM: stripBOM
6597
- };
6598
-
6599
-
6600
4551
  /***/ }),
6601
4552
 
6602
4553
  /***/ "../../common/temp/node_modules/.pnpm/chai@4.3.10/node_modules/chai/index.js":
@@ -29839,6 +27790,7 @@ var QueryRowFormat;
29839
27790
  QueryRowFormat[QueryRowFormat["UseECSqlPropertyIndexes"] = 1] = "UseECSqlPropertyIndexes";
29840
27791
  /** Each row is an object in which each non-null column value can be accessed by a [remapped property name]($docs/learning/ECSqlRowFormat.md).
29841
27792
  * This format is backwards-compatible with the format produced by iTwin.js 2.x. Null values are omitted.
27793
+ * @depreacted in 4.11. Switch to UseECSqlPropertyIndexes for best performance, and UseECSqlPropertyNames if you want a JSON object as the result.
29842
27794
  */
29843
27795
  QueryRowFormat[QueryRowFormat["UseJsPropertyNames"] = 2] = "UseJsPropertyNames";
29844
27796
  })(QueryRowFormat || (QueryRowFormat = {}));
@@ -29908,8 +27860,10 @@ class QueryOptionsBuilder {
29908
27860
  * If set ECClassId, SourceECClassId and TargetECClassId system properties will return qualified name of class instead of a @typedef Id64String.
29909
27861
  * @param val A boolean value.
29910
27862
  * @returns @type QueryOptionsBuilder for fluent interface.
27863
+ * @deprecated in 4.11 Use ecsql function ec_classname to get class name instead.
29911
27864
  */
29912
27865
  setConvertClassIdsToNames(val) {
27866
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
29913
27867
  this._options.convertClassIdsToClassNames = val;
29914
27868
  return this;
29915
27869
  }
@@ -29941,6 +27895,16 @@ class QueryOptionsBuilder {
29941
27895
  this._options.delay = val;
29942
27896
  return this;
29943
27897
  }
27898
+ /**
27899
+ * @internal
27900
+ * Use for testing internal logic. This parameter is ignored by default unless concurrent query is configure to not ignore it.
27901
+ * @param val Testing arguments.
27902
+ * @returns @type QueryOptionsBuilder for fluent interface.
27903
+ */
27904
+ setTestingArgs(val) {
27905
+ this._options.testingArgs = val;
27906
+ return this;
27907
+ }
29944
27908
  }
29945
27909
  /** @beta */
29946
27910
  class BlobOptionsBuilder {
@@ -30350,6 +28314,7 @@ var DbResponseStatus;
30350
28314
  DbResponseStatus[DbResponseStatus["Partial"] = 3] = "Partial";
30351
28315
  DbResponseStatus[DbResponseStatus["Timeout"] = 4] = "Timeout";
30352
28316
  DbResponseStatus[DbResponseStatus["QueueFull"] = 5] = "QueueFull";
28317
+ DbResponseStatus[DbResponseStatus["ShuttingDown"] = 6] = "ShuttingDown";
30353
28318
  DbResponseStatus[DbResponseStatus["Error"] = 100] = "Error";
30354
28319
  DbResponseStatus[DbResponseStatus["Error_ECSql_PreparedFailed"] = 101] = "Error_ECSql_PreparedFailed";
30355
28320
  DbResponseStatus[DbResponseStatus["Error_ECSql_StepFailed"] = 102] = "Error_ECSql_StepFailed";
@@ -32281,7 +30246,7 @@ class ECSqlReader {
32281
30246
  this._props = new PropertyMetaDataMap([]);
32282
30247
  this._param = new _ConcurrentQuery__WEBPACK_IMPORTED_MODULE_1__.QueryBinder().serialize();
32283
30248
  this._lockArgs = false;
32284
- this._stats = { backendCpuTime: 0, backendTotalTime: 0, backendMemUsed: 0, backendRowsReturned: 0, totalTime: 0, retryCount: 0 };
30249
+ this._stats = { backendCpuTime: 0, backendTotalTime: 0, backendMemUsed: 0, backendRowsReturned: 0, totalTime: 0, retryCount: 0, prepareTime: 0 };
32285
30250
  this._options = new _ConcurrentQuery__WEBPACK_IMPORTED_MODULE_1__.QueryOptionsBuilder().getOptions();
32286
30251
  this._rowProxy = new Proxy(this, {
32287
30252
  get: (target, key) => {
@@ -32461,11 +30426,12 @@ class ECSqlReader {
32461
30426
  * @internal
32462
30427
  */
32463
30428
  async runWithRetry(request) {
32464
- 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 === undefined || rs.data.length === 0);
30429
+ 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.status === _ConcurrentQuery__WEBPACK_IMPORTED_MODULE_1__.DbResponseStatus.ShuttingDown) && (rs.data === undefined || rs.data.length === 0);
32465
30430
  const updateStats = (rs) => {
32466
30431
  this._stats.backendCpuTime += rs.stats.cpuTime;
32467
30432
  this._stats.backendTotalTime += rs.stats.totalTime;
32468
30433
  this._stats.backendMemUsed += rs.stats.memUsed;
30434
+ this._stats.prepareTime += rs.stats.prepareTime;
32469
30435
  this._stats.backendRowsReturned += (rs.data === undefined) ? 0 : rs.data.length;
32470
30436
  };
32471
30437
  const execQuery = async (req) => {
@@ -32917,7 +30883,7 @@ class RelatedElement {
32917
30883
  if ((typeof json === "object") && ("id" in json)) {
32918
30884
  const r = RelatedElement.fromJSON(json);
32919
30885
  if (r === undefined)
32920
- throw new _IModelError__WEBPACK_IMPORTED_MODULE_1__.IModelError(_IModelError__WEBPACK_IMPORTED_MODULE_1__.IModelStatus.BadArg, "Problem parsing Id64 from json");
30886
+ throw new _IModelError__WEBPACK_IMPORTED_MODULE_1__.IModelError(_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.IModelStatus.BadArg, "Problem parsing Id64 from json");
32921
30887
  return r.id;
32922
30888
  }
32923
30889
  return _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.Id64.fromJSON(json);
@@ -41589,7 +39555,7 @@ async function handleNotFound(request, status, dispatch) {
41589
39555
  let resubmitted = false;
41590
39556
  _rpc_core_RpcRequest__WEBPACK_IMPORTED_MODULE_2__.RpcRequest.notFoundHandlers.raiseEvent(request, status.responseValue, async () => {
41591
39557
  if (resubmitted) {
41592
- throw new _IModelError__WEBPACK_IMPORTED_MODULE_5__.IModelError(_IModelError__WEBPACK_IMPORTED_MODULE_5__.BentleyStatus.ERROR, `Already resubmitted using this handler.`);
39558
+ throw new _IModelError__WEBPACK_IMPORTED_MODULE_5__.IModelError(_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_7__.BentleyStatus.ERROR, `Already resubmitted using this handler.`);
41593
39559
  }
41594
39560
  resubmitted = true;
41595
39561
  try {
@@ -55593,7 +53559,7 @@ class IModelReadRpcInterface extends _RpcInterface__WEBPACK_IMPORTED_MODULE_0__.
55593
53559
  async cancelSnap(_iModelToken, _sessionId) { return this.forward(arguments); }
55594
53560
  async getGeometryContainment(_iModelToken, _props) { return this.forward(arguments); }
55595
53561
  async getMassProperties(_iModelToken, _props) { return this.forward(arguments); }
55596
- async getMassPropertiesPerCandidate(_iModelToken, _props) { return this.forward(arguments); }
53562
+ async getMassPropertiesPerCandidate(_iModelToken, _props) { return this.forward(arguments); } // eslint-disable-line @typescript-eslint/no-deprecated
55597
53563
  async getIModelCoordinatesFromGeoCoordinates(_iModelToken, _props) { return this.forward(arguments); }
55598
53564
  async getGeoCoordinatesFromIModelCoordinates(_iModelToken, _props) { return this.forward(arguments); }
55599
53565
  async getGeometrySummary(_iModelToken, _props) { return this.forward(arguments); }
@@ -56709,7 +54675,8 @@ __webpack_require__.r(__webpack_exports__);
56709
54675
  /* harmony export */ "RpcMarshaling": () => (/* binding */ RpcMarshaling),
56710
54676
  /* harmony export */ "RpcSerializedValue": () => (/* binding */ RpcSerializedValue)
56711
54677
  /* harmony export */ });
56712
- /* harmony import */ var _IModelError__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../IModelError */ "../../core/common/lib/esm/IModelError.js");
54678
+ /* harmony import */ var _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @itwin/core-bentley */ "../../core/bentley/lib/esm/core-bentley.js");
54679
+ /* harmony import */ var _IModelError__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../IModelError */ "../../core/common/lib/esm/IModelError.js");
56713
54680
  /*---------------------------------------------------------------------------------------------
56714
54681
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
56715
54682
  * See LICENSE.md in the project root for license terms and full copyright notice.
@@ -56718,6 +54685,7 @@ __webpack_require__.r(__webpack_exports__);
56718
54685
  * @module RpcInterface
56719
54686
  */
56720
54687
 
54688
+
56721
54689
  // cspell:ignore unmarshal
56722
54690
  /* eslint-disable @typescript-eslint/no-deprecated */
56723
54691
  function isBuffer(val) {
@@ -56769,7 +54737,7 @@ class RpcMarshaling {
56769
54737
  }
56770
54738
  catch (error) {
56771
54739
  if (error instanceof SyntaxError)
56772
- throw new _IModelError__WEBPACK_IMPORTED_MODULE_0__.IModelError(_IModelError__WEBPACK_IMPORTED_MODULE_0__.BentleyStatus.ERROR, `Invalid JSON: "${value.objects}"`);
54740
+ throw new _IModelError__WEBPACK_IMPORTED_MODULE_1__.IModelError(_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BentleyStatus.ERROR, `Invalid JSON: "${value.objects}"`);
56773
54741
  throw error;
56774
54742
  }
56775
54743
  marshalingTarget = undefined;
@@ -56829,7 +54797,7 @@ class WireFormat {
56829
54797
  }
56830
54798
  static unmarshalBinary(value) {
56831
54799
  if (value.index >= marshalingTarget.data.length) {
56832
- throw new _IModelError__WEBPACK_IMPORTED_MODULE_0__.IModelError(_IModelError__WEBPACK_IMPORTED_MODULE_0__.BentleyStatus.ERROR, `Cannot unmarshal missing binary value.`);
54800
+ throw new _IModelError__WEBPACK_IMPORTED_MODULE_1__.IModelError(_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BentleyStatus.ERROR, `Cannot unmarshal missing binary value.`);
56833
54801
  }
56834
54802
  if (value.chunks === 0) {
56835
54803
  return new Uint8Array();
@@ -58584,7 +56552,8 @@ __webpack_require__.r(__webpack_exports__);
58584
56552
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
58585
56553
  /* harmony export */ "RpcMultipart": () => (/* binding */ RpcMultipart)
58586
56554
  /* harmony export */ });
58587
- /* harmony import */ var _IModelError__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../IModelError */ "../../core/common/lib/esm/IModelError.js");
56555
+ /* harmony import */ var _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @itwin/core-bentley */ "../../core/bentley/lib/esm/core-bentley.js");
56556
+ /* harmony import */ var _IModelError__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../IModelError */ "../../core/common/lib/esm/IModelError.js");
58588
56557
  /*---------------------------------------------------------------------------------------------
58589
56558
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
58590
56559
  * See LICENSE.md in the project root for license terms and full copyright notice.
@@ -58593,6 +56562,7 @@ __webpack_require__.r(__webpack_exports__);
58593
56562
  * @module RpcInterface
58594
56563
  */
58595
56564
 
56565
+
58596
56566
  /** Support for transporting RPC values using the HTTP multipart content type.
58597
56567
  * @internal
58598
56568
  */
@@ -58622,10 +56592,10 @@ class RpcMultipart {
58622
56592
  /** @internal */
58623
56593
  RpcMultipart.platform = {
58624
56594
  createStream(_value) {
58625
- throw new _IModelError__WEBPACK_IMPORTED_MODULE_0__.IModelError(_IModelError__WEBPACK_IMPORTED_MODULE_0__.BentleyStatus.ERROR, "Not bound.");
56595
+ throw new _IModelError__WEBPACK_IMPORTED_MODULE_1__.IModelError(_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BentleyStatus.ERROR, "Not bound.");
58626
56596
  },
58627
56597
  async parseRequest(_req) {
58628
- throw new _IModelError__WEBPACK_IMPORTED_MODULE_0__.IModelError(_IModelError__WEBPACK_IMPORTED_MODULE_0__.BentleyStatus.ERROR, "Not bound.");
56598
+ throw new _IModelError__WEBPACK_IMPORTED_MODULE_1__.IModelError(_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BentleyStatus.ERROR, "Not bound.");
58629
56599
  },
58630
56600
  appendToForm(i, form, value) {
58631
56601
  form.append(`data-${i}`, new Blob([value.data[i]], { type: "application/octet-stream" }));
@@ -71794,10 +69764,18 @@ class Flags {
71794
69764
  this.animateRotation = false;
71795
69765
  }
71796
69766
  }
71797
- /** @internal */
69767
+ /** AccuDraw value round off settings. Allows dynamic distance and angle values to be rounded to the nearest increment of the specified units value(s).
69768
+ * @public
69769
+ */
71798
69770
  class RoundOff {
71799
69771
  constructor() {
69772
+ /** Whether rounding is to be applied to the corresponding dynamic distance or angle value.
69773
+ * @note To be considered active, units must also specify at least one increment value.
69774
+ */
71800
69775
  this.active = false;
69776
+ /** Round off increment value(s), meters for distance round off, and radians for angle round off.
69777
+ * @note When multiple values are specified, rounding is based on smallest discernable value at current view zoom.
69778
+ */
71801
69779
  this.units = new Set();
71802
69780
  }
71803
69781
  }
@@ -71964,6 +69942,10 @@ class AccuDraw {
71964
69942
  if (wasActive !== this.isActive)
71965
69943
  this.onCompassDisplayChange(wasActive ? "hide" : "show");
71966
69944
  }
69945
+ /** Get distance round off settings */
69946
+ get distanceRoundOff() { return this._distanceRoundOff; }
69947
+ /** Get angle round off settings */
69948
+ get angleRoundOff() { return this._angleRoundOff; }
71967
69949
  /** @internal */
71968
69950
  onInitialized() { this.enableForSession(); }
71969
69951
  /** @internal */
@@ -72007,6 +69989,15 @@ class AccuDraw {
72007
69989
  if (CurrentState.Inactive === this.currentState)
72008
69990
  this.currentState = CurrentState.Deactivated;
72009
69991
  }
69992
+ /** Whether to show Z input field in 3d. Sub-classes can override to restrict AccuDraw to 2d input when working in overlays where
69993
+ * depth is not important.
69994
+ * @note Intended to be used in conjunction with ViewState.allow3dManipulations returning false to also disable 3d rotation and
69995
+ * ToolAdmin.acsPlaneSnapLock set to true for projecting snapped points to the view's ACS plane.
69996
+ * @see [[ViewState.allow3dManipulations]][[ToolAdmin.acsPlaneSnapLock]]
69997
+ */
69998
+ is3dCompass(viewport) {
69999
+ return viewport.view.is3d();
70000
+ }
72010
70001
  /** Change current compass input mode to either polar or rectangular */
72011
70002
  setCompassMode(mode) {
72012
70003
  if (mode === this.compassMode)
@@ -72163,7 +70154,7 @@ class AccuDraw {
72163
70154
  isZLocked(vp) {
72164
70155
  if (this._fieldLocked[ItemField.Z_Item])
72165
70156
  return true;
72166
- if (vp.isSnapAdjustmentRequired) // && TentativeOrAccuSnap.isHot())
70157
+ if (vp.isSnapAdjustmentRequired && _AccuSnap__WEBPACK_IMPORTED_MODULE_3__.TentativeOrAccuSnap.isHot)
72167
70158
  return true;
72168
70159
  return false;
72169
70160
  }
@@ -72593,11 +70584,17 @@ class AccuDraw {
72593
70584
  stringFromAngle(angle) {
72594
70585
  if (this.isBearingMode && this.flags.bearingFixToPlane2D) {
72595
70586
  const point = _itwin_core_geometry__WEBPACK_IMPORTED_MODULE_1__.Vector3d.create(this.axes.x.x, this.axes.x.y, 0.0);
70587
+ const matrix = _itwin_core_geometry__WEBPACK_IMPORTED_MODULE_1__.Matrix3d.createRows(this.axes.x, this.axes.y, this.axes.z);
70588
+ if (matrix.determinant() < 0)
70589
+ angle = -angle; // Account for left handed rotations...
72596
70590
  point.normalizeInPlace();
72597
70591
  let adjustment = Math.acos(point.x);
72598
70592
  if (point.y < 0.0)
72599
70593
  adjustment = -adjustment;
72600
- angle += adjustment;
70594
+ angle += adjustment; // This is the angle measured from design x...
70595
+ angle = (Math.PI / 2) - angle; // Account for bearing direction convention...
70596
+ if (angle < 0)
70597
+ angle = (Math.PI * 2) + angle; // Negative bearings aren't valid?
72601
70598
  }
72602
70599
  const formatterSpec = this.getAngleFormatter();
72603
70600
  let formattedValue = angle.toString();
@@ -72637,7 +70634,10 @@ class AccuDraw {
72637
70634
  case ItemField.ANGLE_Item:
72638
70635
  parseResult = this.stringToAngle(input);
72639
70636
  if (_itwin_core_quantity__WEBPACK_IMPORTED_MODULE_13__.Parser.isParsedQuantity(parseResult)) {
72640
- this._angle = parseResult.value;
70637
+ if (this.isBearingMode && this.flags.bearingFixToPlane2D)
70638
+ this._angle = (Math.PI / 2) - parseResult.value;
70639
+ else
70640
+ this._angle = parseResult.value;
72641
70641
  break;
72642
70642
  }
72643
70643
  return _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BentleyStatus.ERROR;
@@ -72723,11 +70723,18 @@ class AccuDraw {
72723
70723
  inVec.crossProduct(yVec, normalVec);
72724
70724
  return true;
72725
70725
  }
70726
+ _acosWithLimitCheck(value) {
70727
+ if (value >= 1.0)
70728
+ return 0.0;
70729
+ if (value <= -1.0)
70730
+ return Math.PI;
70731
+ return Math.acos(value);
70732
+ }
72726
70733
  handleDegeneratePolarCase() {
72727
70734
  if (!(this.locked & LockedStates.DIST_BM))
72728
70735
  this._distance = 0.0;
72729
70736
  if (this.locked & LockedStates.VEC_BM) {
72730
- this._angle = Math.acos(this.vector.dotProduct(this.axes.x));
70737
+ this._angle = this._acosWithLimitCheck(this.vector.dotProduct(this.axes.x));
72731
70738
  }
72732
70739
  else if (this.locked & LockedStates.Y_BM) {
72733
70740
  this.vector.setFrom(this.axes.y);
@@ -72741,7 +70748,7 @@ class AccuDraw {
72741
70748
  }
72742
70749
  else {
72743
70750
  // use last good vector
72744
- this._angle = Math.acos(this.vector.dotProduct(this.axes.x));
70751
+ this._angle = this._acosWithLimitCheck(this.vector.dotProduct(this.axes.x));
72745
70752
  }
72746
70753
  this.origin.plusScaled(this.vector, this._distance, this.point);
72747
70754
  }
@@ -83090,7 +81097,7 @@ class IModelApp {
83090
81097
  else {
83091
81098
  key = { scope: "BentleyStatus", val: _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_2__.BentleyStatus[status] };
83092
81099
  if (!key.val)
83093
- key = { scope: "IModelStatus", val: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.IModelStatus[status] };
81100
+ key = { scope: "IModelStatus", val: _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_2__.IModelStatus[status] };
83094
81101
  if (!key.val)
83095
81102
  key = { scope: "DbResult", val: _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_2__.DbResult[status] };
83096
81103
  if (!key.val)
@@ -83391,7 +81398,7 @@ class IModelConnection extends _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.I
83391
81398
  for await (const row of this.createQueryReader(`select count(*) from (${ecsql})`, params)) {
83392
81399
  return row[0];
83393
81400
  }
83394
- throw new _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.IModelError(_itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.DbResult.BE_SQLITE_ERROR, "Failed to get row count");
81401
+ throw new _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.IModelError(_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.DbResult.BE_SQLITE_ERROR, "Failed to get row count");
83395
81402
  }
83396
81403
  /** Cancel any previous query with same token and run execute the current specified query.
83397
81404
  * The result of the query is async iterator over the rows. The iterator will get next page automatically once rows in current page has been read.
@@ -83466,13 +81473,13 @@ class IModelConnection extends _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.I
83466
81473
  }
83467
81474
  return undefined;
83468
81475
  }
83469
- /** Request element mass properties from the backend.
83470
- * @note For better performance use [[getMassPropertiesPerCandidate]] when called from a loop with identical operations and a single candidate per iteration.
83471
- */
81476
+ /** Request element mass properties from the backend. */
83472
81477
  async getMassProperties(requestProps) {
83473
81478
  return _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.IModelReadRpcInterface.getClientForRouting(this.routingContext.token).getMassProperties(this.getRpcProps(), requestProps);
83474
81479
  }
83475
- /** Request mass properties for multiple elements from the backend. */
81480
+ /** Request mass properties for multiple elements from the backend.
81481
+ * @deprecated in 4.11. Use [[IModelConnection.getMassProperties]].
81482
+ */
83476
81483
  async getMassPropertiesPerCandidate(requestProps) {
83477
81484
  return _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.IModelReadRpcInterface.getClientForRouting(this.routingContext.token).getMassPropertiesPerCandidate(this.getRpcProps(), requestProps);
83478
81485
  }
@@ -83836,7 +81843,7 @@ class SnapshotConnection extends IModelConnection {
83836
81843
  async getDictionaryModel() {
83837
81844
  const res = await this._iModel.models.queryProps({ from: "bis.DictionaryModel", wantPrivate: true });
83838
81845
  if (res.length !== 1 || res[0].id === undefined)
83839
- throw new _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.IModelError(_itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.IModelStatus.BadModel, "bis.DictionaryModel");
81846
+ throw new _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.IModelError(_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.IModelStatus.BadModel, "bis.DictionaryModel");
83840
81847
  return res[0].id;
83841
81848
  }
83842
81849
  /** Get a batch of [[ModelProps]] given a list of Model ids. */
@@ -84096,11 +82103,11 @@ class SnapshotConnection extends IModelConnection {
84096
82103
  */
84097
82104
  async getById(codeSpecId) {
84098
82105
  if (!_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.Id64.isValid(codeSpecId))
84099
- throw new _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.IModelError(_itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.IModelStatus.InvalidId, "Invalid codeSpecId", () => ({ codeSpecId }));
82106
+ throw new _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.IModelError(_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.IModelStatus.InvalidId, "Invalid codeSpecId", () => ({ codeSpecId }));
84100
82107
  await this._loadAllCodeSpecs(); // ensure all codeSpecs have been downloaded
84101
82108
  const found = this._loaded.find((codeSpec) => codeSpec.id === codeSpecId);
84102
82109
  if (!found)
84103
- throw new _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.IModelError(_itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.IModelStatus.NotFound, "CodeSpec not found");
82110
+ throw new _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.IModelError(_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.IModelStatus.NotFound, "CodeSpec not found");
84104
82111
  return found;
84105
82112
  }
84106
82113
  /** Look up a CodeSpec by name.
@@ -84112,7 +82119,7 @@ class SnapshotConnection extends IModelConnection {
84112
82119
  await this._loadAllCodeSpecs(); // ensure all codeSpecs have been downloaded
84113
82120
  const found = this._loaded.find((codeSpec) => codeSpec.name === name);
84114
82121
  if (!found)
84115
- throw new _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.IModelError(_itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.IModelStatus.NotFound, "CodeSpec not found");
82122
+ throw new _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.IModelError(_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.IModelStatus.NotFound, "CodeSpec not found");
84116
82123
  return found;
84117
82124
  }
84118
82125
  }
@@ -84206,7 +82213,7 @@ class SnapshotConnection extends IModelConnection {
84206
82213
  const className = viewProps.viewDefinitionProps.classFullName;
84207
82214
  const ctor = await this._iModel.findClassFor(className, undefined);
84208
82215
  if (undefined === ctor)
84209
- throw new _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.IModelError(_itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.IModelStatus.WrongClass, "Invalid ViewState class", () => viewProps);
82216
+ throw new _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.IModelError(_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.IModelStatus.WrongClass, "Invalid ViewState class", () => viewProps);
84210
82217
  const viewState = ctor.createFromProps(viewProps, this._iModel);
84211
82218
  await viewState.load(); // loads models for ModelSelector
84212
82219
  return viewState;
@@ -84262,7 +82269,8 @@ __webpack_require__.r(__webpack_exports__);
84262
82269
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
84263
82270
  /* harmony export */ "IModelRoutingContext": () => (/* binding */ IModelRoutingContext)
84264
82271
  /* harmony export */ });
84265
- /* harmony import */ var _itwin_core_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @itwin/core-common */ "../../core/common/lib/esm/core-common.js");
82272
+ /* harmony import */ var _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @itwin/core-bentley */ "../../core/bentley/lib/esm/core-bentley.js");
82273
+ /* harmony import */ var _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @itwin/core-common */ "../../core/common/lib/esm/core-common.js");
84266
82274
  /*---------------------------------------------------------------------------------------------
84267
82275
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
84268
82276
  * See LICENSE.md in the project root for license terms and full copyright notice.
@@ -84271,6 +82279,7 @@ __webpack_require__.r(__webpack_exports__);
84271
82279
  * @module IModelConnection
84272
82280
  */
84273
82281
 
82282
+
84274
82283
  /**
84275
82284
  * Controls the RPC routing for an iModel connection.
84276
82285
  * @public
@@ -84288,7 +82297,7 @@ class IModelRoutingContext {
84288
82297
  }
84289
82298
  route(handler) {
84290
82299
  if (IModelRoutingContext.current) {
84291
- throw new _itwin_core_common__WEBPACK_IMPORTED_MODULE_0__.IModelError(_itwin_core_common__WEBPACK_IMPORTED_MODULE_0__.BentleyStatus.ERROR, "Concurrent use is not supported.");
82300
+ throw new _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.IModelError(_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BentleyStatus.ERROR, "Concurrent use is not supported.");
84292
82301
  }
84293
82302
  IModelRoutingContext._current = this;
84294
82303
  const value = handler();
@@ -84296,7 +82305,7 @@ class IModelRoutingContext {
84296
82305
  return value;
84297
82306
  }
84298
82307
  }
84299
- IModelRoutingContext.default = new IModelRoutingContext(_itwin_core_common__WEBPACK_IMPORTED_MODULE_0__.RpcRoutingToken["default"]);
82308
+ IModelRoutingContext.default = new IModelRoutingContext(_itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.RpcRoutingToken["default"]);
84300
82309
 
84301
82310
 
84302
82311
  /***/ }),
@@ -84481,9 +82490,10 @@ __webpack_require__.r(__webpack_exports__);
84481
82490
  /* harmony export */ "IpcApp": () => (/* binding */ IpcApp),
84482
82491
  /* harmony export */ "NotificationHandler": () => (/* binding */ NotificationHandler)
84483
82492
  /* harmony export */ });
84484
- /* harmony import */ var _itwin_core_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @itwin/core-common */ "../../core/common/lib/esm/core-common.js");
84485
- /* harmony import */ var _IModelApp__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./IModelApp */ "../../core/frontend/lib/esm/IModelApp.js");
84486
- /* harmony import */ var _common_internal_Symbols__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./common/internal/Symbols */ "../../core/frontend/lib/esm/common/internal/Symbols.js");
82493
+ /* harmony import */ var _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @itwin/core-bentley */ "../../core/bentley/lib/esm/core-bentley.js");
82494
+ /* harmony import */ var _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @itwin/core-common */ "../../core/common/lib/esm/core-common.js");
82495
+ /* harmony import */ var _IModelApp__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./IModelApp */ "../../core/frontend/lib/esm/IModelApp.js");
82496
+ /* harmony import */ var _common_internal_Symbols__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./common/internal/Symbols */ "../../core/frontend/lib/esm/common/internal/Symbols.js");
84487
82497
  /*---------------------------------------------------------------------------------------------
84488
82498
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
84489
82499
  * See LICENSE.md in the project root for license terms and full copyright notice.
@@ -84494,6 +82504,7 @@ __webpack_require__.r(__webpack_exports__);
84494
82504
 
84495
82505
 
84496
82506
 
82507
+
84497
82508
  /**
84498
82509
  * The frontend of apps with a dedicated backend that can use [Ipc]($docs/learning/IpcInterface.md).
84499
82510
  * @public
@@ -84512,7 +82523,7 @@ class IpcApp {
84512
82523
  * @note Ipc is only supported if [[isValid]] is true.
84513
82524
  */
84514
82525
  static addListener(channel, handler) {
84515
- return this.ipc.addListener((0,_itwin_core_common__WEBPACK_IMPORTED_MODULE_0__.iTwinChannel)(channel), handler);
82526
+ return this.ipc.addListener((0,_itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.iTwinChannel)(channel), handler);
84516
82527
  }
84517
82528
  /**
84518
82529
  * Remove a previously registered listener
@@ -84520,7 +82531,7 @@ class IpcApp {
84520
82531
  * @param listener The function passed to [[addListener]]
84521
82532
  */
84522
82533
  static removeListener(channel, listener) {
84523
- this.ipc.removeListener((0,_itwin_core_common__WEBPACK_IMPORTED_MODULE_0__.iTwinChannel)(channel), listener);
82534
+ this.ipc.removeListener((0,_itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.iTwinChannel)(channel), listener);
84524
82535
  }
84525
82536
  /**
84526
82537
  * Send a message to the backend via `channel` and expect a result asynchronously. The handler must be established on the backend via [[BackendIpc.handle]]
@@ -84533,7 +82544,7 @@ class IpcApp {
84533
82544
  * primitive types and `ArrayBuffers` are allowed.
84534
82545
  */
84535
82546
  static async invoke(channel, ...args) {
84536
- return this.ipc.invoke((0,_itwin_core_common__WEBPACK_IMPORTED_MODULE_0__.iTwinChannel)(channel), ...args);
82547
+ return this.ipc.invoke((0,_itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.iTwinChannel)(channel), ...args);
84537
82548
  }
84538
82549
  /**
84539
82550
  * Send a message over the socket.
@@ -84543,7 +82554,7 @@ class IpcApp {
84543
82554
  * primitive types and `ArrayBuffers` are allowed.
84544
82555
  */
84545
82556
  static send(channel, ...data) {
84546
- return this.ipc.send((0,_itwin_core_common__WEBPACK_IMPORTED_MODULE_0__.iTwinChannel)(channel), ...data);
82557
+ return this.ipc.send((0,_itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.iTwinChannel)(channel), ...data);
84547
82558
  }
84548
82559
  /**
84549
82560
  * Call a method on the backend through an Ipc channel.
@@ -84556,7 +82567,7 @@ class IpcApp {
84556
82567
  * @note Ipc is only supported if [[isValid]] is true.
84557
82568
  * @internal Use [[makeIpcProxy]] for a type-safe interface.
84558
82569
  */
84559
- static async [_common_internal_Symbols__WEBPACK_IMPORTED_MODULE_2__._callIpcChannel](channelName, methodName, ...args) {
82570
+ static async [_common_internal_Symbols__WEBPACK_IMPORTED_MODULE_3__._callIpcChannel](channelName, methodName, ...args) {
84560
82571
  const retVal = (await this.invoke(channelName, methodName, ...args));
84561
82572
  if (undefined !== retVal.iTwinError) {
84562
82573
  const error = new Error();
@@ -84566,7 +82577,7 @@ class IpcApp {
84566
82577
  throw error;
84567
82578
  }
84568
82579
  else if (undefined !== retVal.error) {
84569
- const err = new _itwin_core_common__WEBPACK_IMPORTED_MODULE_0__.BackendError(retVal.error.errorNumber, retVal.error.name, retVal.error.message);
82580
+ const err = new _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.BackendError(retVal.error.errorNumber, retVal.error.name, retVal.error.message);
84570
82581
  err.stack = retVal.error.stack;
84571
82582
  throw err;
84572
82583
  }
@@ -84576,7 +82587,7 @@ class IpcApp {
84576
82587
  * @deprecated in 4.8. Use [[makeIpcProxy]] for a type-safe interface.
84577
82588
  */
84578
82589
  static async callIpcChannel(channelName, methodName, ...args) {
84579
- return this[_common_internal_Symbols__WEBPACK_IMPORTED_MODULE_2__._callIpcChannel](channelName, methodName, ...args);
82590
+ return this[_common_internal_Symbols__WEBPACK_IMPORTED_MODULE_3__._callIpcChannel](channelName, methodName, ...args);
84580
82591
  }
84581
82592
  /** Create a type safe Proxy object to make IPC calls to a registered backend interface.
84582
82593
  * @param channelName the channel registered by the backend handler.
@@ -84584,7 +82595,7 @@ class IpcApp {
84584
82595
  static makeIpcProxy(channelName) {
84585
82596
  return new Proxy({}, {
84586
82597
  get(_target, methodName) {
84587
- return async (...args) => IpcApp[_common_internal_Symbols__WEBPACK_IMPORTED_MODULE_2__._callIpcChannel](channelName, methodName, ...args);
82598
+ return async (...args) => IpcApp[_common_internal_Symbols__WEBPACK_IMPORTED_MODULE_3__._callIpcChannel](channelName, methodName, ...args);
84588
82599
  },
84589
82600
  });
84590
82601
  }
@@ -84595,29 +82606,29 @@ class IpcApp {
84595
82606
  static makeIpcFunctionProxy(channelName, functionName) {
84596
82607
  return new Proxy({}, {
84597
82608
  get(_target, methodName) {
84598
- return async (...args) => IpcApp[_common_internal_Symbols__WEBPACK_IMPORTED_MODULE_2__._callIpcChannel](channelName, functionName, methodName, ...args);
82609
+ return async (...args) => IpcApp[_common_internal_Symbols__WEBPACK_IMPORTED_MODULE_3__._callIpcChannel](channelName, functionName, methodName, ...args);
84599
82610
  },
84600
82611
  });
84601
82612
  }
84602
82613
  /** @deprecated in 3.x. use [[appFunctionIpc]] */
84603
82614
  static async callIpcHost(methodName, ...args) {
84604
- return this[_common_internal_Symbols__WEBPACK_IMPORTED_MODULE_2__._callIpcChannel](_itwin_core_common__WEBPACK_IMPORTED_MODULE_0__.ipcAppChannels.functions, methodName, ...args);
82615
+ return this[_common_internal_Symbols__WEBPACK_IMPORTED_MODULE_3__._callIpcChannel](_itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.ipcAppChannels.functions, methodName, ...args);
84605
82616
  }
84606
82617
  /** start an IpcApp.
84607
82618
  * @note this should not be called directly. It is called by NativeApp.startup */
84608
82619
  static async startup(ipc, opts) {
84609
82620
  this._ipc = ipc;
84610
82621
  IpcAppNotifyHandler.register(); // receives notifications from backend
84611
- await _IModelApp__WEBPACK_IMPORTED_MODULE_1__.IModelApp.startup(opts?.iModelApp);
82622
+ await _IModelApp__WEBPACK_IMPORTED_MODULE_2__.IModelApp.startup(opts?.iModelApp);
84612
82623
  }
84613
82624
  /** @internal */
84614
82625
  static async shutdown() {
84615
82626
  this._ipc = undefined;
84616
- await _IModelApp__WEBPACK_IMPORTED_MODULE_1__.IModelApp.shutdown();
82627
+ await _IModelApp__WEBPACK_IMPORTED_MODULE_2__.IModelApp.shutdown();
84617
82628
  }
84618
82629
  }
84619
82630
  /** A Proxy to call one of the [IpcAppFunctions]($common) functions via IPC. */
84620
- IpcApp.appFunctionIpc = IpcApp.makeIpcProxy(_itwin_core_common__WEBPACK_IMPORTED_MODULE_0__.ipcAppChannels.functions);
82631
+ IpcApp.appFunctionIpc = IpcApp.makeIpcProxy(_itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.ipcAppChannels.functions);
84621
82632
  /**
84622
82633
  * Base class for all implementations of an Ipc notification response interface. This class is implemented on your frontend to supply
84623
82634
  * methods to receive notifications from your backend.
@@ -84637,7 +82648,7 @@ class NotificationHandler {
84637
82648
  return IpcApp.addListener(this.channelName, (_evt, funcName, ...args) => {
84638
82649
  const func = this[funcName];
84639
82650
  if (typeof func !== "function")
84640
- throw new _itwin_core_common__WEBPACK_IMPORTED_MODULE_0__.IModelError(_itwin_core_common__WEBPACK_IMPORTED_MODULE_0__.IModelStatus.FunctionNotFound, `Method "${this.constructor.name}.${funcName}" not found on NotificationHandler registered for channel: ${this.channelName}`);
82651
+ throw new _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.IModelError(_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.IModelStatus.FunctionNotFound, `Method "${this.constructor.name}.${funcName}" not found on NotificationHandler registered for channel: ${this.channelName}`);
84641
82652
  func.call(this, ...args);
84642
82653
  });
84643
82654
  }
@@ -84653,7 +82664,7 @@ class NotificationHandler {
84653
82664
  }
84654
82665
  /** IpcApp notifications from backend */
84655
82666
  class IpcAppNotifyHandler extends NotificationHandler {
84656
- get channelName() { return _itwin_core_common__WEBPACK_IMPORTED_MODULE_0__.ipcAppChannels.appNotify; }
82667
+ get channelName() { return _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.ipcAppChannels.appNotify; }
84657
82668
  notifyApp() { }
84658
82669
  }
84659
82670
 
@@ -102022,7 +100033,7 @@ class MeshBuilderMap extends _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.Di
102022
100033
  const { displayParams, isDisjoint, isPlanar, strokes } = strokePrimitive;
102023
100034
  const type = isDisjoint ? _MeshPrimitive__WEBPACK_IMPORTED_MODULE_2__.MeshPrimitiveType.Point : _MeshPrimitive__WEBPACK_IMPORTED_MODULE_2__.MeshPrimitiveType.Polyline;
102024
100035
  const builder = this.getBuilder(displayParams, type, false, isPlanar);
102025
- builder.addStrokePointLists(strokes, isDisjoint, displayParams.fillColor.tbgr, feature);
100036
+ builder.addStrokePointLists(strokes, isDisjoint, displayParams.lineColor.tbgr, feature);
102026
100037
  }
102027
100038
  getBuilder(displayParams, type, hasNormals, isPlanar) {
102028
100039
  const { facetAreaTolerance, tolerance, is2d, range } = this;
@@ -105143,6 +103154,9 @@ __webpack_require__.r(__webpack_exports__);
105143
103154
  /* harmony export */ "AccuDrawChangeModeTool": () => (/* reexport safe */ _tools_AccuDrawTool__WEBPACK_IMPORTED_MODULE_105__.AccuDrawChangeModeTool),
105144
103155
  /* harmony export */ "AccuDrawFlags": () => (/* reexport safe */ _AccuDraw__WEBPACK_IMPORTED_MODULE_0__.AccuDrawFlags),
105145
103156
  /* harmony export */ "AccuDrawHintBuilder": () => (/* reexport safe */ _AccuDraw__WEBPACK_IMPORTED_MODULE_0__.AccuDrawHintBuilder),
103157
+ /* harmony export */ "AccuDrawRotate90AboutXTool": () => (/* reexport safe */ _tools_AccuDrawTool__WEBPACK_IMPORTED_MODULE_105__.AccuDrawRotate90AboutXTool),
103158
+ /* harmony export */ "AccuDrawRotate90AboutYTool": () => (/* reexport safe */ _tools_AccuDrawTool__WEBPACK_IMPORTED_MODULE_105__.AccuDrawRotate90AboutYTool),
103159
+ /* harmony export */ "AccuDrawRotate90AboutZTool": () => (/* reexport safe */ _tools_AccuDrawTool__WEBPACK_IMPORTED_MODULE_105__.AccuDrawRotate90AboutZTool),
105146
103160
  /* harmony export */ "AccuDrawRotateAxesTool": () => (/* reexport safe */ _tools_AccuDrawTool__WEBPACK_IMPORTED_MODULE_105__.AccuDrawRotateAxesTool),
105147
103161
  /* harmony export */ "AccuDrawRotateCycleTool": () => (/* reexport safe */ _tools_AccuDrawTool__WEBPACK_IMPORTED_MODULE_105__.AccuDrawRotateCycleTool),
105148
103162
  /* harmony export */ "AccuDrawRotateElementTool": () => (/* reexport safe */ _tools_AccuDrawTool__WEBPACK_IMPORTED_MODULE_105__.AccuDrawRotateElementTool),
@@ -105660,6 +103674,7 @@ __webpack_require__.r(__webpack_exports__);
105660
103674
  /* harmony export */ "readGltfGraphics": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.readGltfGraphics),
105661
103675
  /* harmony export */ "readGltfTemplate": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.readGltfTemplate),
105662
103676
  /* harmony export */ "readImdlContent": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.readImdlContent),
103677
+ /* harmony export */ "readPntsColors": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.readPntsColors),
105663
103678
  /* harmony export */ "readPointCloudTileContent": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.readPointCloudTileContent),
105664
103679
  /* harmony export */ "registerWorker": () => (/* reexport safe */ _workers_RegisterWorker__WEBPACK_IMPORTED_MODULE_120__.registerWorker),
105665
103680
  /* harmony export */ "setBasicAuthorization": () => (/* reexport safe */ _request_utils__WEBPACK_IMPORTED_MODULE_125__.setBasicAuthorization),
@@ -120486,6 +118501,19 @@ class PlanarClassifier extends _RenderPlanarClassifier__WEBPACK_IMPORTED_MODULE_
120486
118501
  const prevProjMatrix = target.uniforms.frustum.projectionMatrix;
120487
118502
  target.uniforms.frustum.changeProjectionMatrix(PlanarClassifier._postProjectionMatrix.multiplyMatrixMatrix(prevProjMatrix));
120488
118503
  target.uniforms.branch.changeRenderPlan(vf, target.plan.is3d, target.plan.hline);
118504
+ const addCmds = (oldCmds, newCmds) => {
118505
+ if (undefined === newCmds)
118506
+ return oldCmds;
118507
+ if (newCmds.length > 50000) {
118508
+ // This method is slower for smaller array sizes, but when the size of newCmds gets larger it's performance is ok.
118509
+ return oldCmds.concat(newCmds);
118510
+ }
118511
+ else {
118512
+ // This method runs faster, but gets a stack overflow when the size of newCmds is too large.
118513
+ oldCmds.push(...newCmds);
118514
+ return oldCmds;
118515
+ }
118516
+ };
120489
118517
  const renderCommands = this._renderCommands;
120490
118518
  const getDrawCommands = (graphics) => {
120491
118519
  this._batchState.reset();
@@ -120495,14 +118523,14 @@ class PlanarClassifier extends _RenderPlanarClassifier__WEBPACK_IMPORTED_MODULE_
120495
118523
  // When using Display.ElementColor, the color and transparency come from the classifier geometry. Therefore we may need to draw the classified geometry
120496
118524
  // in a different pass - or both passes - depending on the transparency of the classifiers.
120497
118525
  // NB: "Outside" geometry by definition cannot take color/transparency from element...
120498
- const cmds = renderCommands.getCommands(3 /* RenderPass.OpaquePlanar */);
118526
+ let cmds = renderCommands.getCommands(3 /* RenderPass.OpaquePlanar */);
120499
118527
  // NB: We don't strictly require the classifier geometry to be planar, and sometimes (e.g., "planar" polyface/bspsurf) we do not detect planarity.
120500
- cmds.push(...renderCommands.getCommands(5 /* RenderPass.OpaqueGeneral */));
120501
- cmds.push(...renderCommands.getCommands(2 /* RenderPass.OpaqueLinear */));
118528
+ cmds = addCmds(cmds, renderCommands.getCommands(5 /* RenderPass.OpaqueGeneral */));
118529
+ cmds = addCmds(cmds, renderCommands.getCommands(2 /* RenderPass.OpaqueLinear */));
120502
118530
  this._anyOpaque = cmds.length > 0;
120503
118531
  const transCmds = renderCommands.getCommands(8 /* RenderPass.Translucent */);
120504
118532
  if (transCmds.length > 0) {
120505
- cmds.push(...transCmds);
118533
+ cmds = addCmds(cmds, renderCommands.getCommands(8 /* RenderPass.Translucent */));
120506
118534
  this._anyTranslucent = true;
120507
118535
  }
120508
118536
  return cmds;
@@ -147109,6 +145137,7 @@ class OrbitGtTreeReference extends _internal__WEBPACK_IMPORTED_MODULE_9__.Realit
147109
145137
  "use strict";
147110
145138
  __webpack_require__.r(__webpack_exports__);
147111
145139
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
145140
+ /* harmony export */ "readPntsColors": () => (/* binding */ readPntsColors),
147112
145141
  /* harmony export */ "readPointCloudTileContent": () => (/* binding */ readPointCloudTileContent)
147113
145142
  /* harmony export */ });
147114
145143
  /* harmony import */ var _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @itwin/core-bentley */ "../../core/bentley/lib/esm/core-bentley.js");
@@ -147134,13 +145163,13 @@ function readPntsColors(stream, dataOffset, pnts) {
147134
145163
  if (pnts.RGB)
147135
145164
  return new Uint8Array(stream.arrayBuffer, dataOffset + pnts.RGB.byteOffset, nComponents);
147136
145165
  if (pnts.RGBA) {
147137
- // ###TODO support point cloud transparency.
145166
+ // ###TODO We currently don't support transparency for point clouds, so convert RGBA to RGB by stripping out the alpha channel.
147138
145167
  const rgb = new Uint8Array(nComponents);
147139
- const rgba = new Uint8Array(stream.arrayBuffer, dataOffset + pnts.RGBA.byteOffset, nComponents);
147140
- for (let i = 0; i < nComponents; i += 4) {
147141
- rgb[i + 0] = rgba[i + 0];
147142
- rgb[i + 1] = rgba[i + 1];
147143
- rgb[i + 2] = rgba[i + 2];
145168
+ const rgba = new Uint8Array(stream.arrayBuffer, dataOffset + pnts.RGBA.byteOffset, 4 * nPts);
145169
+ for (let i = 0; i < nPts; i++) {
145170
+ rgb[i * 3 + 0] = rgba[i * 4 + 0];
145171
+ rgb[i * 3 + 1] = rgba[i * 4 + 1];
145172
+ rgb[i * 3 + 2] = rgba[i * 4 + 2];
147144
145173
  }
147145
145174
  return rgb;
147146
145175
  }
@@ -153761,6 +151790,7 @@ __webpack_require__.r(__webpack_exports__);
153761
151790
  /* harmony export */ "readGltfGraphics": () => (/* reexport safe */ _GltfReader__WEBPACK_IMPORTED_MODULE_30__.readGltfGraphics),
153762
151791
  /* harmony export */ "readGltfTemplate": () => (/* reexport safe */ _GltfReader__WEBPACK_IMPORTED_MODULE_30__.readGltfTemplate),
153763
151792
  /* harmony export */ "readImdlContent": () => (/* reexport safe */ _ImdlReader__WEBPACK_IMPORTED_MODULE_33__.readImdlContent),
151793
+ /* harmony export */ "readPntsColors": () => (/* reexport safe */ _PntsReader__WEBPACK_IMPORTED_MODULE_75__.readPntsColors),
153764
151794
  /* harmony export */ "readPointCloudTileContent": () => (/* reexport safe */ _PntsReader__WEBPACK_IMPORTED_MODULE_75__.readPointCloudTileContent),
153765
151795
  /* harmony export */ "tileTreeReferenceFromRenderGraphic": () => (/* reexport safe */ _RenderGraphicTileTree__WEBPACK_IMPORTED_MODULE_77__.tileTreeReferenceFromRenderGraphic)
153766
151796
  /* harmony export */ });
@@ -154242,6 +152272,7 @@ __webpack_require__.r(__webpack_exports__);
154242
152272
  /** @packageDocumentation
154243
152273
  * @module Tiles
154244
152274
  */
152275
+ const restServicesSubPath = "/rest/services/";
154245
152276
  /**
154246
152277
  * Class representing an ArcGIS error code.
154247
152278
  * @internal
@@ -154348,9 +152379,10 @@ class ArcGisUtilities {
154348
152379
  */
154349
152380
  static validateUrl(url, serviceType) {
154350
152381
  const urlObj = new URL(url.toLowerCase());
154351
- if (urlObj.pathname.includes("/rest/services/")) {
152382
+ const restServicesPos = urlObj.pathname.search(restServicesSubPath);
152383
+ if (restServicesPos !== -1) {
154352
152384
  // This seem to be an ArcGIS URL, lets check the service type
154353
- if (urlObj.pathname.endsWith(`${serviceType.toLowerCase()}`)) {
152385
+ if (urlObj.pathname.includes(serviceType.toLowerCase(), restServicesPos + restServicesSubPath.length)) {
154354
152386
  return _internal__WEBPACK_IMPORTED_MODULE_1__.MapLayerSourceStatus.Valid;
154355
152387
  }
154356
152388
  else {
@@ -155653,7 +153685,7 @@ class ArcGISMapLayerImageryProvider extends _internal__WEBPACK_IMPORTED_MODULE_2
155653
153685
  async initialize() {
155654
153686
  const metadata = await this.getServiceJson();
155655
153687
  if (metadata?.content === undefined)
155656
- throw new _itwin_core_common__WEBPACK_IMPORTED_MODULE_0__.ServerError(_itwin_core_common__WEBPACK_IMPORTED_MODULE_0__.IModelStatus.ValidationFailed, "");
153688
+ throw new _itwin_core_common__WEBPACK_IMPORTED_MODULE_0__.ServerError(_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_5__.IModelStatus.ValidationFailed, "");
155657
153689
  const json = metadata.content;
155658
153690
  if (json?.error?.code === _internal__WEBPACK_IMPORTED_MODULE_2__.ArcGisErrorCode.TokenRequired
155659
153691
  || json?.error?.code === _internal__WEBPACK_IMPORTED_MODULE_2__.ArcGisErrorCode.InvalidToken
@@ -155682,7 +153714,7 @@ class ArcGISMapLayerImageryProvider extends _internal__WEBPACK_IMPORTED_MODULE_2
155682
153714
  this._usesCachedTiles = false;
155683
153715
  }
155684
153716
  else {
155685
- throw new _itwin_core_common__WEBPACK_IMPORTED_MODULE_0__.ServerError(_itwin_core_common__WEBPACK_IMPORTED_MODULE_0__.IModelStatus.ValidationFailed, "Invalid coordinate system");
153717
+ throw new _itwin_core_common__WEBPACK_IMPORTED_MODULE_0__.ServerError(_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_5__.IModelStatus.ValidationFailed, "Invalid coordinate system");
155686
153718
  }
155687
153719
  }
155688
153720
  }
@@ -156869,7 +154901,7 @@ class WmtsMapLayerImageryProvider extends _internal__WEBPACK_IMPORTED_MODULE_2__
156869
154901
  this.initCartoRange();
156870
154902
  this.initDisplayedLayer();
156871
154903
  if (this._preferredLayerTileMatrixSet.size === 0 || this._preferredLayerStyle.size === 0)
156872
- throw new _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.ServerError(_itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.IModelStatus.ValidationFailed, "");
154904
+ throw new _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.ServerError(_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.IModelStatus.ValidationFailed, "");
156873
154905
  }
156874
154906
  catch (error) {
156875
154907
  // Don't throw error if unauthorized status:
@@ -156879,7 +154911,7 @@ class WmtsMapLayerImageryProvider extends _internal__WEBPACK_IMPORTED_MODULE_2__
156879
154911
  this.setStatus(_internal__WEBPACK_IMPORTED_MODULE_2__.MapLayerImageryProviderStatus.RequireAuth);
156880
154912
  }
156881
154913
  else {
156882
- throw new _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.ServerError(_itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.IModelStatus.ValidationFailed, "");
154914
+ throw new _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.ServerError(_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.IModelStatus.ValidationFailed, "");
156883
154915
  }
156884
154916
  }
156885
154917
  }
@@ -162234,6 +160266,9 @@ WmtsCapabilities._capabilitiesCache = new Map();
162234
160266
  __webpack_require__.r(__webpack_exports__);
162235
160267
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
162236
160268
  /* harmony export */ "AccuDrawChangeModeTool": () => (/* binding */ AccuDrawChangeModeTool),
160269
+ /* harmony export */ "AccuDrawRotate90AboutXTool": () => (/* binding */ AccuDrawRotate90AboutXTool),
160270
+ /* harmony export */ "AccuDrawRotate90AboutYTool": () => (/* binding */ AccuDrawRotate90AboutYTool),
160271
+ /* harmony export */ "AccuDrawRotate90AboutZTool": () => (/* binding */ AccuDrawRotate90AboutZTool),
162237
160272
  /* harmony export */ "AccuDrawRotateAxesTool": () => (/* binding */ AccuDrawRotateAxesTool),
162238
160273
  /* harmony export */ "AccuDrawRotateCycleTool": () => (/* binding */ AccuDrawRotateCycleTool),
162239
160274
  /* harmony export */ "AccuDrawRotateElementTool": () => (/* binding */ AccuDrawRotateElementTool),
@@ -162419,7 +160454,7 @@ class AccuDrawShortcuts {
162419
160454
  accudraw.onFieldValueChange(index);
162420
160455
  }
162421
160456
  const vp = accudraw.currentView;
162422
- const is3d = vp ? vp.view.is3d() : false;
160457
+ const is3d = vp ? accudraw.is3dCompass(vp) : false;
162423
160458
  const isPolar = (_AccuDraw__WEBPACK_IMPORTED_MODULE_2__.CompassMode.Polar === accudraw.compassMode);
162424
160459
  switch (index) {
162425
160460
  case _AccuDraw__WEBPACK_IMPORTED_MODULE_2__.ItemField.DIST_Item:
@@ -163155,7 +161190,7 @@ class AccuDrawShortcuts {
163155
161190
  return false;
163156
161191
  }
163157
161192
  }
163158
- /** @internal */
161193
+ /** @beta */
163159
161194
  class AccuDrawSessionToggleTool extends _Tool__WEBPACK_IMPORTED_MODULE_7__.Tool {
163160
161195
  async run() {
163161
161196
  AccuDrawShortcuts.sessionToggle();
@@ -163163,7 +161198,7 @@ class AccuDrawSessionToggleTool extends _Tool__WEBPACK_IMPORTED_MODULE_7__.Tool
163163
161198
  }
163164
161199
  }
163165
161200
  AccuDrawSessionToggleTool.toolId = "AccuDraw.SessionToggle";
163166
- /** @internal */
161201
+ /** @beta */
163167
161202
  class AccuDrawSuspendToggleTool extends _Tool__WEBPACK_IMPORTED_MODULE_7__.Tool {
163168
161203
  async run() {
163169
161204
  AccuDrawShortcuts.suspendToggle();
@@ -163171,7 +161206,7 @@ class AccuDrawSuspendToggleTool extends _Tool__WEBPACK_IMPORTED_MODULE_7__.Tool
163171
161206
  }
163172
161207
  }
163173
161208
  AccuDrawSuspendToggleTool.toolId = "AccuDraw.SuspendToggle";
163174
- /** @internal */
161209
+ /** @beta */
163175
161210
  class AccuDrawSetOriginTool extends _Tool__WEBPACK_IMPORTED_MODULE_7__.Tool {
163176
161211
  async run() {
163177
161212
  AccuDrawShortcuts.setOrigin();
@@ -163179,7 +161214,7 @@ class AccuDrawSetOriginTool extends _Tool__WEBPACK_IMPORTED_MODULE_7__.Tool {
163179
161214
  }
163180
161215
  }
163181
161216
  AccuDrawSetOriginTool.toolId = "AccuDraw.SetOrigin";
163182
- /** @internal */
161217
+ /** @beta */
163183
161218
  class AccuDrawSetLockSmartTool extends _Tool__WEBPACK_IMPORTED_MODULE_7__.Tool {
163184
161219
  async run() {
163185
161220
  AccuDrawShortcuts.lockSmart();
@@ -163187,7 +161222,7 @@ class AccuDrawSetLockSmartTool extends _Tool__WEBPACK_IMPORTED_MODULE_7__.Tool {
163187
161222
  }
163188
161223
  }
163189
161224
  AccuDrawSetLockSmartTool.toolId = "AccuDraw.LockSmart";
163190
- /** @internal */
161225
+ /** @beta */
163191
161226
  class AccuDrawSetLockIndexTool extends _Tool__WEBPACK_IMPORTED_MODULE_7__.Tool {
163192
161227
  async run() {
163193
161228
  AccuDrawShortcuts.lockIndex();
@@ -163195,7 +161230,7 @@ class AccuDrawSetLockIndexTool extends _Tool__WEBPACK_IMPORTED_MODULE_7__.Tool {
163195
161230
  }
163196
161231
  }
163197
161232
  AccuDrawSetLockIndexTool.toolId = "AccuDraw.LockIndex";
163198
- /** @internal */
161233
+ /** @beta */
163199
161234
  class AccuDrawSetLockXTool extends _Tool__WEBPACK_IMPORTED_MODULE_7__.Tool {
163200
161235
  async run() {
163201
161236
  AccuDrawShortcuts.lockX();
@@ -163203,7 +161238,7 @@ class AccuDrawSetLockXTool extends _Tool__WEBPACK_IMPORTED_MODULE_7__.Tool {
163203
161238
  }
163204
161239
  }
163205
161240
  AccuDrawSetLockXTool.toolId = "AccuDraw.LockX";
163206
- /** @internal */
161241
+ /** @beta */
163207
161242
  class AccuDrawSetLockYTool extends _Tool__WEBPACK_IMPORTED_MODULE_7__.Tool {
163208
161243
  async run() {
163209
161244
  AccuDrawShortcuts.lockY();
@@ -163211,7 +161246,7 @@ class AccuDrawSetLockYTool extends _Tool__WEBPACK_IMPORTED_MODULE_7__.Tool {
163211
161246
  }
163212
161247
  }
163213
161248
  AccuDrawSetLockYTool.toolId = "AccuDraw.LockY";
163214
- /** @internal */
161249
+ /** @beta */
163215
161250
  class AccuDrawSetLockZTool extends _Tool__WEBPACK_IMPORTED_MODULE_7__.Tool {
163216
161251
  async run() {
163217
161252
  AccuDrawShortcuts.lockZ();
@@ -163219,7 +161254,7 @@ class AccuDrawSetLockZTool extends _Tool__WEBPACK_IMPORTED_MODULE_7__.Tool {
163219
161254
  }
163220
161255
  }
163221
161256
  AccuDrawSetLockZTool.toolId = "AccuDraw.LockZ";
163222
- /** @internal */
161257
+ /** @beta */
163223
161258
  class AccuDrawSetLockDistanceTool extends _Tool__WEBPACK_IMPORTED_MODULE_7__.Tool {
163224
161259
  async run() {
163225
161260
  AccuDrawShortcuts.lockDistance();
@@ -163227,7 +161262,7 @@ class AccuDrawSetLockDistanceTool extends _Tool__WEBPACK_IMPORTED_MODULE_7__.Too
163227
161262
  }
163228
161263
  }
163229
161264
  AccuDrawSetLockDistanceTool.toolId = "AccuDraw.LockDistance";
163230
- /** @internal */
161265
+ /** @beta */
163231
161266
  class AccuDrawSetLockAngleTool extends _Tool__WEBPACK_IMPORTED_MODULE_7__.Tool {
163232
161267
  async run() {
163233
161268
  AccuDrawShortcuts.lockAngle();
@@ -163235,7 +161270,7 @@ class AccuDrawSetLockAngleTool extends _Tool__WEBPACK_IMPORTED_MODULE_7__.Tool {
163235
161270
  }
163236
161271
  }
163237
161272
  AccuDrawSetLockAngleTool.toolId = "AccuDraw.LockAngle";
163238
- /** @internal */
161273
+ /** @beta */
163239
161274
  class AccuDrawChangeModeTool extends _Tool__WEBPACK_IMPORTED_MODULE_7__.Tool {
163240
161275
  async run() {
163241
161276
  AccuDrawShortcuts.changeCompassMode();
@@ -163243,7 +161278,7 @@ class AccuDrawChangeModeTool extends _Tool__WEBPACK_IMPORTED_MODULE_7__.Tool {
163243
161278
  }
163244
161279
  }
163245
161280
  AccuDrawChangeModeTool.toolId = "AccuDraw.ChangeMode";
163246
- /** @internal */
161281
+ /** @beta */
163247
161282
  class AccuDrawRotateCycleTool extends _Tool__WEBPACK_IMPORTED_MODULE_7__.Tool {
163248
161283
  async run() {
163249
161284
  AccuDrawShortcuts.rotateCycle();
@@ -163251,7 +161286,7 @@ class AccuDrawRotateCycleTool extends _Tool__WEBPACK_IMPORTED_MODULE_7__.Tool {
163251
161286
  }
163252
161287
  }
163253
161288
  AccuDrawRotateCycleTool.toolId = "AccuDraw.RotateCycle";
163254
- /** @internal */
161289
+ /** @beta */
163255
161290
  class AccuDrawRotateTopTool extends _Tool__WEBPACK_IMPORTED_MODULE_7__.Tool {
163256
161291
  async run() {
163257
161292
  AccuDrawShortcuts.setStandardRotation(_AccuDraw__WEBPACK_IMPORTED_MODULE_2__.RotationMode.Top);
@@ -163259,7 +161294,7 @@ class AccuDrawRotateTopTool extends _Tool__WEBPACK_IMPORTED_MODULE_7__.Tool {
163259
161294
  }
163260
161295
  }
163261
161296
  AccuDrawRotateTopTool.toolId = "AccuDraw.RotateTop";
163262
- /** @internal */
161297
+ /** @beta */
163263
161298
  class AccuDrawRotateFrontTool extends _Tool__WEBPACK_IMPORTED_MODULE_7__.Tool {
163264
161299
  async run() {
163265
161300
  AccuDrawShortcuts.setStandardRotation(_AccuDraw__WEBPACK_IMPORTED_MODULE_2__.RotationMode.Front);
@@ -163267,7 +161302,7 @@ class AccuDrawRotateFrontTool extends _Tool__WEBPACK_IMPORTED_MODULE_7__.Tool {
163267
161302
  }
163268
161303
  }
163269
161304
  AccuDrawRotateFrontTool.toolId = "AccuDraw.RotateFront";
163270
- /** @internal */
161305
+ /** @beta */
163271
161306
  class AccuDrawRotateSideTool extends _Tool__WEBPACK_IMPORTED_MODULE_7__.Tool {
163272
161307
  async run() {
163273
161308
  AccuDrawShortcuts.setStandardRotation(_AccuDraw__WEBPACK_IMPORTED_MODULE_2__.RotationMode.Side);
@@ -163275,7 +161310,7 @@ class AccuDrawRotateSideTool extends _Tool__WEBPACK_IMPORTED_MODULE_7__.Tool {
163275
161310
  }
163276
161311
  }
163277
161312
  AccuDrawRotateSideTool.toolId = "AccuDraw.RotateSide";
163278
- /** @internal */
161313
+ /** @beta */
163279
161314
  class AccuDrawRotateViewTool extends _Tool__WEBPACK_IMPORTED_MODULE_7__.Tool {
163280
161315
  async run() {
163281
161316
  AccuDrawShortcuts.setStandardRotation(_AccuDraw__WEBPACK_IMPORTED_MODULE_2__.RotationMode.View);
@@ -163283,6 +161318,30 @@ class AccuDrawRotateViewTool extends _Tool__WEBPACK_IMPORTED_MODULE_7__.Tool {
163283
161318
  }
163284
161319
  }
163285
161320
  AccuDrawRotateViewTool.toolId = "AccuDraw.RotateView";
161321
+ /** @beta */
161322
+ class AccuDrawRotate90AboutXTool extends _Tool__WEBPACK_IMPORTED_MODULE_7__.Tool {
161323
+ async run() {
161324
+ AccuDrawShortcuts.rotate90(0);
161325
+ return true;
161326
+ }
161327
+ }
161328
+ AccuDrawRotate90AboutXTool.toolId = "AccuDraw.Rotate90AboutX";
161329
+ /** @beta */
161330
+ class AccuDrawRotate90AboutYTool extends _Tool__WEBPACK_IMPORTED_MODULE_7__.Tool {
161331
+ async run() {
161332
+ AccuDrawShortcuts.rotate90(1);
161333
+ return true;
161334
+ }
161335
+ }
161336
+ AccuDrawRotate90AboutYTool.toolId = "AccuDraw.Rotate90AboutY";
161337
+ /** @beta */
161338
+ class AccuDrawRotate90AboutZTool extends _Tool__WEBPACK_IMPORTED_MODULE_7__.Tool {
161339
+ async run() {
161340
+ AccuDrawShortcuts.rotate90(2);
161341
+ return true;
161342
+ }
161343
+ }
161344
+ AccuDrawRotate90AboutZTool.toolId = "AccuDraw.Rotate90AboutZ";
163286
161345
  /** @internal */
163287
161346
  class AccuDrawShortcutsTool extends _Tool__WEBPACK_IMPORTED_MODULE_7__.InputCollector {
163288
161347
  constructor() {
@@ -163346,15 +161405,18 @@ class AccuDrawShortcutsTool extends _Tool__WEBPACK_IMPORTED_MODULE_7__.InputColl
163346
161405
  onManipulationStart() { }
163347
161406
  onManipulationComplete() { return _AccuDraw__WEBPACK_IMPORTED_MODULE_2__.AccuDrawFlags.SetRMatrix; }
163348
161407
  }
163349
- /** @internal */
161408
+ /** @beta */
163350
161409
  class AccuDrawRotateAxesTool extends AccuDrawShortcutsTool {
163351
161410
  static get maxArgs() { return 1; }
163352
161411
  constructor(aboutCurrentZ = true) {
163353
161412
  super();
163354
161413
  this.aboutCurrentZ = aboutCurrentZ;
163355
161414
  }
161415
+ /** @internal */
163356
161416
  get allowShortcut() { return _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.accuDraw.isActive; } // Require compass to already be active for this shortcut...
161417
+ /** @internal */
163357
161418
  get wantActivateOnStart() { return true; } // State is demoted to inactive when a tool install, still need this...
161419
+ /** @internal */
163358
161420
  get wantManipulationImmediate() {
163359
161421
  if (_AccuSnap__WEBPACK_IMPORTED_MODULE_3__.TentativeOrAccuSnap.isHot)
163360
161422
  return true;
@@ -163363,11 +161425,13 @@ class AccuDrawRotateAxesTool extends AccuDrawShortcutsTool {
163363
161425
  return accudraw.getFieldLock(_AccuDraw__WEBPACK_IMPORTED_MODULE_2__.ItemField.ANGLE_Item);
163364
161426
  return accudraw.getFieldLock(_AccuDraw__WEBPACK_IMPORTED_MODULE_2__.ItemField.X_Item) && accudraw.getFieldLock(_AccuDraw__WEBPACK_IMPORTED_MODULE_2__.ItemField.Y_Item);
163365
161427
  }
161428
+ /** @internal */
163366
161429
  onManipulationStart() {
163367
161430
  if (this.aboutCurrentZ)
163368
161431
  _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.accuDraw.changeBaseRotationMode(_AccuDraw__WEBPACK_IMPORTED_MODULE_2__.RotationMode.Context); // Establish current orientation as base for when defining compass rotation by x axis...
163369
161432
  _Tool__WEBPACK_IMPORTED_MODULE_7__.CoreTools.outputPromptByKey("AccuDraw.RotateAxes.Prompts.FirstPoint");
163370
161433
  }
161434
+ /** @internal */
163371
161435
  doManipulation(ev, isMotion) {
163372
161436
  const vp = ev ? ev.viewport : _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.accuDraw.currentView;
163373
161437
  if (!vp)
@@ -163390,24 +161454,29 @@ class AccuDrawRotateAxesTool extends AccuDrawShortcutsTool {
163390
161454
  }
163391
161455
  }
163392
161456
  AccuDrawRotateAxesTool.toolId = "AccuDraw.RotateAxes";
163393
- /** @internal */
161457
+ /** @beta */
163394
161458
  class AccuDrawRotateElementTool extends AccuDrawShortcutsTool {
163395
161459
  constructor() {
163396
161460
  super(...arguments);
163397
161461
  this._moveOrigin = !_IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.accuDraw.isActive || _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.tentativePoint.isActive; // Preserve current origin if AccuDraw already active and not tentative snap...
163398
161462
  }
161463
+ /** @internal */
163399
161464
  get wantActivateOnStart() { return true; }
161465
+ /** @internal */
163400
161466
  get wantManipulationImmediate() { return _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.tentativePoint.isSnapped; }
161467
+ /** @internal */
163401
161468
  onManipulationStart() {
163402
161469
  _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.accuDraw.setContext(_AccuDraw__WEBPACK_IMPORTED_MODULE_2__.AccuDrawFlags.FixedOrigin); // Don't move compass when updateOrientation returns false...
163403
161470
  _Tool__WEBPACK_IMPORTED_MODULE_7__.CoreTools.outputPromptByKey("AccuDraw.RotateElement.Prompts.FirstPoint");
163404
161471
  }
161472
+ /** @internal */
163405
161473
  onManipulationComplete() {
163406
161474
  let ignoreFlags = _AccuDraw__WEBPACK_IMPORTED_MODULE_2__.AccuDrawFlags.SetRMatrix | _AccuDraw__WEBPACK_IMPORTED_MODULE_2__.AccuDrawFlags.Disable; // If AccuDraw wasn't active when the shortcut started, let it remain active for suspended tool when shortcut completes...
163407
161475
  if (this._moveOrigin)
163408
161476
  ignoreFlags |= _AccuDraw__WEBPACK_IMPORTED_MODULE_2__.AccuDrawFlags.SetOrigin;
163409
161477
  return ignoreFlags;
163410
161478
  }
161479
+ /** @internal */
163411
161480
  updateOrientation(snap, viewport, _isMotion) {
163412
161481
  const accudraw = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.accuDraw;
163413
161482
  const rMatrix = _AccuDraw__WEBPACK_IMPORTED_MODULE_2__.AccuDraw.getSnapRotation(snap, viewport);
@@ -163417,6 +161486,7 @@ class AccuDrawRotateElementTool extends AccuDrawShortcutsTool {
163417
161486
  accudraw.setContext(_AccuDraw__WEBPACK_IMPORTED_MODULE_2__.AccuDrawFlags.SetRMatrix | _AccuDraw__WEBPACK_IMPORTED_MODULE_2__.AccuDrawFlags.AlwaysSetOrigin, point, rMatrix);
163418
161487
  return true;
163419
161488
  }
161489
+ /** @internal */
163420
161490
  doManipulation(ev, isMotion) {
163421
161491
  const viewport = ev ? ev.viewport : _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.accuDraw.currentView;
163422
161492
  if (!viewport)
@@ -163432,9 +161502,11 @@ class AccuDrawRotateElementTool extends AccuDrawShortcutsTool {
163432
161502
  }
163433
161503
  }
163434
161504
  AccuDrawRotateElementTool.toolId = "AccuDraw.RotateElement";
163435
- /** @internal */
161505
+ /** @beta */
163436
161506
  class AccuDrawRotatePerpendicularTool extends AccuDrawRotateElementTool {
161507
+ /** @internal */
163437
161508
  get wantExitOnDataButtonUp() { return true; } // Complete on button up since button down clears tentative...
161509
+ /** @internal */
163438
161510
  onManipulationComplete() {
163439
161511
  if (undefined !== this._location) {
163440
161512
  // Use tentative to hold adjusted snap location for suspended tool...
@@ -163444,6 +161516,7 @@ class AccuDrawRotatePerpendicularTool extends AccuDrawRotateElementTool {
163444
161516
  }
163445
161517
  return _AccuDraw__WEBPACK_IMPORTED_MODULE_2__.AccuDrawFlags.SetRMatrix | _AccuDraw__WEBPACK_IMPORTED_MODULE_2__.AccuDrawFlags.Disable;
163446
161518
  }
161519
+ /** @internal */
163447
161520
  updateOrientation(snap, viewport, isMotion) {
163448
161521
  const curve = snap.getCurvePrimitive();
163449
161522
  if (undefined === curve)
@@ -163481,14 +161554,16 @@ class AccuDrawRotatePerpendicularTool extends AccuDrawRotateElementTool {
163481
161554
  }
163482
161555
  }
163483
161556
  AccuDrawRotatePerpendicularTool.toolId = "AccuDraw.RotatePerpendicular";
163484
- /** @internal */
161557
+ /** @beta */
163485
161558
  class DefineACSByElementTool extends AccuDrawShortcutsTool {
163486
161559
  constructor() {
163487
161560
  super(...arguments);
163488
161561
  this._origin = _itwin_core_geometry__WEBPACK_IMPORTED_MODULE_1__.Point3d.create();
163489
161562
  this._rMatrix = _itwin_core_geometry__WEBPACK_IMPORTED_MODULE_1__.Matrix3d.createIdentity();
163490
161563
  }
161564
+ /** @internal */
163491
161565
  onManipulationStart() { _Tool__WEBPACK_IMPORTED_MODULE_7__.CoreTools.outputPromptByKey("AccuDraw.DefineACSByElement.Prompts.FirstPoint"); }
161566
+ /** @internal */
163492
161567
  updateOrientation(snap, vp) {
163493
161568
  const rMatrix = _AccuDraw__WEBPACK_IMPORTED_MODULE_2__.AccuDraw.getSnapRotation(snap, vp);
163494
161569
  if (undefined === rMatrix)
@@ -163497,6 +161572,7 @@ class DefineACSByElementTool extends AccuDrawShortcutsTool {
163497
161572
  this._rMatrix = rMatrix;
163498
161573
  return true;
163499
161574
  }
161575
+ /** @internal */
163500
161576
  doManipulation(ev, isMotion) {
163501
161577
  const vp = ev ? ev.viewport : undefined;
163502
161578
  if (!vp)
@@ -163515,6 +161591,7 @@ class DefineACSByElementTool extends AccuDrawShortcutsTool {
163515
161591
  AccuDrawShortcuts.rotateToACS();
163516
161592
  return true;
163517
161593
  }
161594
+ /** @internal */
163518
161595
  decorate(context) {
163519
161596
  const vp = context.viewport;
163520
161597
  if (!this._acs)
@@ -163525,12 +161602,13 @@ class DefineACSByElementTool extends AccuDrawShortcutsTool {
163525
161602
  }
163526
161603
  }
163527
161604
  DefineACSByElementTool.toolId = "AccuDraw.DefineACSByElement";
163528
- /** @internal */
161605
+ /** @beta */
163529
161606
  class DefineACSByPointsTool extends AccuDrawShortcutsTool {
163530
161607
  constructor() {
163531
161608
  super(...arguments);
163532
161609
  this._points = [];
163533
161610
  }
161611
+ /** @internal */
163534
161612
  onManipulationStart() {
163535
161613
  if (!_IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.tentativePoint.isActive) {
163536
161614
  _Tool__WEBPACK_IMPORTED_MODULE_7__.CoreTools.outputPromptByKey("AccuDraw.DefineACSByPoints.Prompts.FirstPoint");
@@ -163542,6 +161620,7 @@ class DefineACSByPointsTool extends AccuDrawShortcutsTool {
163542
161620
  this._points.push(origin);
163543
161621
  _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.tentativePoint.clear(true);
163544
161622
  }
161623
+ /** @internal */
163545
161624
  doManipulation(ev, isMotion) {
163546
161625
  if (!ev || !ev.viewport)
163547
161626
  return false;
@@ -163561,6 +161640,7 @@ class DefineACSByPointsTool extends AccuDrawShortcutsTool {
163561
161640
  _Tool__WEBPACK_IMPORTED_MODULE_7__.CoreTools.outputPromptByKey(`AccuDraw.DefineACSByPoints.Prompts${1 === this._points.length ? ".SecondPoint" : ".NextPoint"}`);
163562
161641
  return false;
163563
161642
  }
161643
+ /** @internal */
163564
161644
  decorate(context) {
163565
161645
  const tmpPoints = [];
163566
161646
  this._points.forEach((pt) => tmpPoints.push(pt));
@@ -163590,11 +161670,12 @@ __webpack_require__.r(__webpack_exports__);
163590
161670
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
163591
161671
  /* harmony export */ "AccuDrawViewportUI": () => (/* binding */ AccuDrawViewportUI)
163592
161672
  /* harmony export */ });
163593
- /* harmony import */ var _AccuDraw__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../AccuDraw */ "../../core/frontend/lib/esm/AccuDraw.js");
163594
- /* harmony import */ var _common_ViewRect__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../common/ViewRect */ "../../core/frontend/lib/esm/common/ViewRect.js");
163595
- /* harmony import */ var _IModelApp__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../IModelApp */ "../../core/frontend/lib/esm/IModelApp.js");
163596
- /* harmony import */ var _AccuDrawTool__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./AccuDrawTool */ "../../core/frontend/lib/esm/tools/AccuDrawTool.js");
163597
- /* harmony import */ var _Tool__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Tool */ "../../core/frontend/lib/esm/tools/Tool.js");
161673
+ /* harmony import */ var _itwin_core_quantity__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @itwin/core-quantity */ "../../core/quantity/lib/esm/core-quantity.js");
161674
+ /* harmony import */ var _AccuDraw__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../AccuDraw */ "../../core/frontend/lib/esm/AccuDraw.js");
161675
+ /* harmony import */ var _common_ViewRect__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/ViewRect */ "../../core/frontend/lib/esm/common/ViewRect.js");
161676
+ /* harmony import */ var _IModelApp__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../IModelApp */ "../../core/frontend/lib/esm/IModelApp.js");
161677
+ /* harmony import */ var _AccuDrawTool__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./AccuDrawTool */ "../../core/frontend/lib/esm/tools/AccuDrawTool.js");
161678
+ /* harmony import */ var _Tool__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Tool */ "../../core/frontend/lib/esm/tools/Tool.js");
163598
161679
  /*---------------------------------------------------------------------------------------------
163599
161680
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
163600
161681
  * See LICENSE.md in the project root for license terms and full copyright notice.
@@ -163607,10 +161688,11 @@ __webpack_require__.r(__webpack_exports__);
163607
161688
 
163608
161689
 
163609
161690
 
161691
+
163610
161692
  /** Provides an in viewport user interface for AccuDraw that can optionally follow the cursor or remain at a fixed location.
163611
161693
  * @beta
163612
161694
  */
163613
- class AccuDrawViewportUI extends _AccuDraw__WEBPACK_IMPORTED_MODULE_0__.AccuDraw {
161695
+ class AccuDrawViewportUI extends _AccuDraw__WEBPACK_IMPORTED_MODULE_1__.AccuDraw {
163614
161696
  /** Create a new instance of this class to set as [[IModelAppOptions.accuDraw]] for this session. */
163615
161697
  constructor() {
163616
161698
  super();
@@ -163638,56 +161720,124 @@ class AccuDrawViewportUI extends _AccuDraw__WEBPACK_IMPORTED_MODULE_0__.AccuDraw
163638
161720
  if (!this.isActive)
163639
161721
  return;
163640
161722
  // Shouldn't need to call IModelApp.toolAdmin.simulateMotionEvent() in this case...
163641
- const ev = new _Tool__WEBPACK_IMPORTED_MODULE_4__.BeButtonEvent();
163642
- _IModelApp__WEBPACK_IMPORTED_MODULE_2__.IModelApp.toolAdmin.fillEventFromCursorLocation(ev);
161723
+ const ev = new _Tool__WEBPACK_IMPORTED_MODULE_5__.BeButtonEvent();
161724
+ _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.toolAdmin.fillEventFromCursorLocation(ev);
163643
161725
  this.updateControls(ev);
163644
161726
  }
163645
161727
  suspendToolTips() {
163646
- if (!AccuDrawViewportUI.controlProps.suspendLocateToolTip || undefined === (this._toolTipsSuspended = (_IModelApp__WEBPACK_IMPORTED_MODULE_2__.IModelApp.accuSnap.userSettings.toolTip ? true : undefined)))
161728
+ if (!AccuDrawViewportUI.controlProps.suspendLocateToolTip || undefined === (this._toolTipsSuspended = (_IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.accuSnap.userSettings.toolTip ? true : undefined)))
163647
161729
  return;
163648
- _IModelApp__WEBPACK_IMPORTED_MODULE_2__.IModelApp.accuSnap.userSettings.toolTip = false;
163649
- _IModelApp__WEBPACK_IMPORTED_MODULE_2__.IModelApp.notifications.clearToolTip();
161730
+ _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.accuSnap.userSettings.toolTip = false;
161731
+ _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.notifications.clearToolTip();
163650
161732
  }
163651
161733
  unsuspendToolTips() {
163652
161734
  if (undefined === this._toolTipsSuspended)
163653
161735
  return;
163654
- _IModelApp__WEBPACK_IMPORTED_MODULE_2__.IModelApp.accuSnap.userSettings.toolTip = true;
161736
+ _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.accuSnap.userSettings.toolTip = true;
163655
161737
  this._toolTipsSuspended = undefined;
163656
161738
  }
163657
161739
  setDynamicKeyinStatus(item) {
163658
161740
  // This does nothing if keyin status is already dynamic...
163659
- _AccuDrawTool__WEBPACK_IMPORTED_MODULE_3__.AccuDrawShortcuts.itemFieldCompletedInput(item);
161741
+ _AccuDrawTool__WEBPACK_IMPORTED_MODULE_4__.AccuDrawShortcuts.itemFieldCompletedInput(item);
163660
161742
  }
163661
161743
  setPartialKeyinStatus(item, selectAll) {
163662
161744
  if (!this.isDynamicKeyinStatus(item))
163663
161745
  return;
163664
- _AccuDrawTool__WEBPACK_IMPORTED_MODULE_3__.AccuDrawShortcuts.itemFieldNewInput(item);
161746
+ _AccuDrawTool__WEBPACK_IMPORTED_MODULE_4__.AccuDrawShortcuts.itemFieldNewInput(item);
163665
161747
  if (undefined === this._controls || !selectAll)
163666
161748
  return;
163667
161749
  const itemField = this._controls.itemFields[item];
163668
161750
  itemField.setSelectionRange(0, itemField.value.length);
163669
161751
  }
161752
+ makeParserHappy(value, isAngle) {
161753
+ // TODO: Work around for default length parser not accepting output formatted with dash separator, ex. 20'-6"...
161754
+ const parserSpec = (isAngle ? undefined : this.getLengthParser());
161755
+ if (undefined === parserSpec)
161756
+ return value;
161757
+ return (_itwin_core_quantity__WEBPACK_IMPORTED_MODULE_0__.FormatType.Fractional === parserSpec.format.type && -1 !== value.indexOf("'-") ? value.replaceAll("'-", "':") : value);
161758
+ }
161759
+ evaluateExpression(operator, operandA, operandB) {
161760
+ switch (operator) {
161761
+ case "+":
161762
+ return operandA + operandB;
161763
+ case "-":
161764
+ return operandA - operandB;
161765
+ case "*":
161766
+ return operandA * operandB;
161767
+ case "/":
161768
+ return operandA / operandB;
161769
+ default:
161770
+ return operandA;
161771
+ }
161772
+ }
161773
+ parseExpression(currentValue, isAngle) {
161774
+ if (undefined === this._expression)
161775
+ return undefined; // Not an expression...
161776
+ // Attempt to parse and apply operation to current value...
161777
+ const operator = currentValue.lastIndexOf(this._expression.operator);
161778
+ if (-1 === operator) {
161779
+ this._expression = undefined; // Operator has been edited out of string, parse current value...
161780
+ return undefined;
161781
+ }
161782
+ const parserSpec = (isAngle ? this.getAngleParser() : this.getLengthParser());
161783
+ const formatterSpec = (isAngle ? this.getAngleFormatter() : this.getLengthFormatter());
161784
+ if (undefined === parserSpec || undefined === formatterSpec)
161785
+ return undefined; // Nothing to do...
161786
+ const operandAStr = currentValue.substring(0, operator);
161787
+ const parseResultA = parserSpec.parseToQuantityValue(this.makeParserHappy(operandAStr, isAngle));
161788
+ if (!_itwin_core_quantity__WEBPACK_IMPORTED_MODULE_0__.Parser.isParsedQuantity(parseResultA))
161789
+ return undefined; // First operand isn't valid, try to parse current value (which is also likely to fail)...
161790
+ const operandBStr = currentValue.substring(operator + this._expression.operator.length);
161791
+ const operatorKey = this._expression.operator[1];
161792
+ const isNumber = ("*" === operatorKey || "/" === operatorKey); // Treat as number for */ and quantity for +-...
161793
+ let operandB;
161794
+ if (isNumber) {
161795
+ operandB = parseFloat(operandBStr);
161796
+ if (Number.isNaN(operandB))
161797
+ return operandAStr; // Second operand is invalid number, set value to first operand which is valid...
161798
+ }
161799
+ else {
161800
+ const parseResultB = parserSpec.parseToQuantityValue(this.makeParserHappy(operandBStr, isAngle));
161801
+ if (!_itwin_core_quantity__WEBPACK_IMPORTED_MODULE_0__.Parser.isParsedQuantity(parseResultB))
161802
+ return operandAStr; // Second operand is invalid quantity, set value to first operand which is valid...
161803
+ operandB = parseResultB.value;
161804
+ }
161805
+ const operandA = parseResultA.value;
161806
+ const newValue = this.evaluateExpression(operatorKey, operandA, operandB);
161807
+ const newValueStr = _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.quantityFormatter.formatQuantity(newValue, formatterSpec);
161808
+ return newValueStr;
161809
+ }
163670
161810
  async processPartialInput(item) {
163671
161811
  if (undefined === this._controls)
163672
161812
  return;
163673
161813
  const itemField = this._controls.itemFields[item];
163674
- if (0 !== itemField.value.length)
163675
- return this.processFieldInput(item, itemField.value, false);
163676
- this.updateFieldLock(item, false);
163677
- _IModelApp__WEBPACK_IMPORTED_MODULE_2__.IModelApp.toolAdmin.simulateMotionEvent();
161814
+ const currentValue = itemField.value;
161815
+ // If current value has been deleted, unlock field and refresh for current cursor location...
161816
+ if (0 === currentValue.length) {
161817
+ this.updateFieldLock(item, false);
161818
+ _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.toolAdmin.simulateMotionEvent();
161819
+ return;
161820
+ }
161821
+ const isAngle = (_AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.ANGLE_Item === item);
161822
+ const expressionValue = this.parseExpression(currentValue, isAngle);
161823
+ return this.processFieldInput(item, this.makeParserHappy(expressionValue ?? currentValue, isAngle), false);
163678
161824
  }
163679
161825
  async acceptPartialInput(item, forward) {
163680
161826
  if (undefined === this._controls)
163681
161827
  return;
161828
+ const itemField = this._controls.itemFields[item];
161829
+ const currentValue = itemField.value;
161830
+ const isAngle = (_AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.ANGLE_Item === item);
161831
+ const expressionValue = this.parseExpression(currentValue, isAngle);
163682
161832
  if (undefined === forward)
163683
- return _AccuDrawTool__WEBPACK_IMPORTED_MODULE_3__.AccuDrawShortcuts.itemFieldAcceptInput(item, this._controls.itemFields[item].value);
163684
- return _AccuDrawTool__WEBPACK_IMPORTED_MODULE_3__.AccuDrawShortcuts.itemFieldNavigate(item, this._controls.itemFields[item].value, forward);
161833
+ return _AccuDrawTool__WEBPACK_IMPORTED_MODULE_4__.AccuDrawShortcuts.itemFieldAcceptInput(item, this.makeParserHappy(expressionValue ?? currentValue, isAngle));
161834
+ return _AccuDrawTool__WEBPACK_IMPORTED_MODULE_4__.AccuDrawShortcuts.itemFieldNavigate(item, this.makeParserHappy(expressionValue ?? currentValue, isAngle), forward);
163685
161835
  }
163686
161836
  acceptSavedValue(item, next) {
163687
161837
  if (next)
163688
- _AccuDrawTool__WEBPACK_IMPORTED_MODULE_3__.AccuDrawShortcuts.chooseNextValue(item);
161838
+ _AccuDrawTool__WEBPACK_IMPORTED_MODULE_4__.AccuDrawShortcuts.chooseNextValue(item);
163689
161839
  else
163690
- _AccuDrawTool__WEBPACK_IMPORTED_MODULE_3__.AccuDrawShortcuts.choosePreviousValue(item);
161840
+ _AccuDrawTool__WEBPACK_IMPORTED_MODULE_4__.AccuDrawShortcuts.choosePreviousValue(item);
163691
161841
  }
163692
161842
  doFocusHome(ev, isDown, _item) {
163693
161843
  ev.preventDefault();
@@ -163695,7 +161845,7 @@ class AccuDrawViewportUI extends _AccuDraw__WEBPACK_IMPORTED_MODULE_0__.AccuDraw
163695
161845
  return;
163696
161846
  ev.stopPropagation();
163697
161847
  this.setFocusHome();
163698
- _IModelApp__WEBPACK_IMPORTED_MODULE_2__.IModelApp.viewManager.invalidateDecorationsAllViews();
161848
+ _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.viewManager.invalidateDecorationsAllViews();
163699
161849
  }
163700
161850
  async doChooseSavedValue(ev, isDown, item, next) {
163701
161851
  ev.preventDefault();
@@ -163766,33 +161916,97 @@ class AccuDrawViewportUI extends _AccuDraw__WEBPACK_IMPORTED_MODULE_0__.AccuDraw
163766
161916
  return false;
163767
161917
  }
163768
161918
  doProcessOverrideKey(ev, isDown, item) {
163769
- if (undefined === this._controls)
161919
+ if (undefined === this._controls || !AccuDrawViewportUI.controlProps.simplifiedInput)
163770
161920
  return false;
163771
161921
  switch (ev.key) {
163772
161922
  case "^":
163773
- return this.processReplacementKey(ev, isDown, item, (_AccuDraw__WEBPACK_IMPORTED_MODULE_0__.ItemField.ANGLE_Item === item ? "°" : ""), false); // Easier "°" input...
161923
+ return this.processReplacementKey(ev, isDown, item, (_AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.ANGLE_Item === item ? "°" : ""), false); // Easier "°" input...
163774
161924
  case ";":
163775
- return this.processReplacementKey(ev, isDown, item, (_AccuDraw__WEBPACK_IMPORTED_MODULE_0__.ItemField.ANGLE_Item === item ? "°" : ":"), false); // Easier ":" input still useful w/o MU:SU:PU?
161925
+ return this.processReplacementKey(ev, isDown, item, (_AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.ANGLE_Item === item ? "°" : ":"), false); // Easier ":" input still useful w/o MU:SU:PU?
163776
161926
  case ".":
163777
161927
  return this.processRepeatedKey(ev, isDown, item, ":"); // Still useful replacing ".." with ":" for numeric keypad users w/o MU:SU:PU?
163778
161928
  default:
163779
161929
  return false;
163780
161930
  }
163781
161931
  }
163782
- async doProcessUnhandledKey(ev, _isDown) {
163783
- ev.preventDefault();
161932
+ doProcessExpressionKey(ev, isDown, item) {
161933
+ if (undefined === this._controls || !AccuDrawViewportUI.controlProps.mathOperations)
161934
+ return false;
161935
+ const itemField = this._controls.itemFields[item];
161936
+ const currentValue = itemField.value;
161937
+ switch (ev.key) {
161938
+ case "ArrowLeft":
161939
+ case "ArrowRight":
161940
+ if (undefined === this._expression || !isDown || this.isDynamicKeyinStatus(item) || !itemField.selectionStart)
161941
+ break;
161942
+ const moveLeft = ("ArrowLeft" === ev.key);
161943
+ const operatorPosIns = currentValue.lastIndexOf(this._expression.operator);
161944
+ if (itemField.selectionStart !== (moveLeft ? operatorPosIns + this._expression.operator.length : operatorPosIns))
161945
+ break;
161946
+ // Treat expression operator string as a single character when moving the text insertion cursor...
161947
+ itemField.selectionStart = itemField.selectionEnd = (moveLeft ? operatorPosIns : operatorPosIns + this._expression.operator.length);
161948
+ ev.preventDefault();
161949
+ return true;
161950
+ case "Backspace":
161951
+ case "Delete":
161952
+ if (undefined === this._expression || !isDown || this.isDynamicKeyinStatus(item) || !itemField.selectionStart)
161953
+ break;
161954
+ const deleteBefore = ("Backspace" === ev.key);
161955
+ const operatorPosDel = currentValue.lastIndexOf(this._expression.operator);
161956
+ if (itemField.selectionStart !== (deleteBefore ? operatorPosDel + this._expression.operator.length : operatorPosDel))
161957
+ break;
161958
+ // Treat expression operator string as single character for delete...
161959
+ itemField.value = currentValue.substring(0, operatorPosDel);
161960
+ itemField.selectionStart = itemField.selectionEnd = itemField.value.length;
161961
+ this._expression = undefined;
161962
+ ev.preventDefault();
161963
+ return true;
161964
+ case " ":
161965
+ if (!isDown || !this.isDynamicKeyinStatus(item))
161966
+ break;
161967
+ this.setPartialKeyinStatus(item, false); // Replacing current w/space isn't useful, append to end to support + or - more conveniently...
161968
+ return true;
161969
+ case "+":
161970
+ case "-":
161971
+ case "*":
161972
+ case "/":
161973
+ if (!isDown || undefined !== this._expression)
161974
+ break;
161975
+ if (!currentValue.length || !itemField.selectionStart || itemField.selectionStart !== currentValue.length)
161976
+ break;
161977
+ const haveSpace = (" " === currentValue[itemField.selectionStart - 1]);
161978
+ const requireSpace = ("+" === ev.key || "-" === ev.key); // These are valid for 1st character to replace current value...
161979
+ if (!(requireSpace ? haveSpace : (haveSpace || this.isDynamicKeyinStatus(item))))
161980
+ break;
161981
+ const operator = ` ${ev.key} `;
161982
+ const expression = `${currentValue + (haveSpace ? operator.substring(1) : operator)}`;
161983
+ itemField.value = expression;
161984
+ itemField.selectionStart = itemField.selectionEnd = itemField.value.length;
161985
+ this._expression = { item, operator };
161986
+ this.setPartialKeyinStatus(item, false);
161987
+ ev.preventDefault();
161988
+ return true;
161989
+ }
161990
+ return false;
163784
161991
  }
163785
161992
  async doProcessKey(ev, isDown, item) {
163786
- // Make sure a potentially valid input field value is rejected when any qualifier other than shift is active...
163787
- if (ev.ctrlKey || ev.altKey || ev.metaKey || !this.itemFieldInputIsValid(ev.key, item))
163788
- return this.doProcessUnhandledKey(ev, isDown);
161993
+ if (!this.itemFieldInputIsValid(ev.key, item)) {
161994
+ ev.preventDefault(); // Ignore potential shortcuts...
161995
+ return;
161996
+ }
163789
161997
  if (this.doProcessOverrideKey(ev, isDown, item))
163790
161998
  return;
161999
+ if (this.doProcessExpressionKey(ev, isDown, item))
162000
+ return;
163791
162001
  if (isDown)
163792
162002
  return this.setPartialKeyinStatus(item, true);
163793
162003
  return this.processPartialInput(item);
163794
162004
  }
163795
162005
  async onKeyboardEvent(ev, isDown) {
162006
+ if (ev.ctrlKey || ev.altKey || ev.metaKey) {
162007
+ ev.preventDefault(); // Ignore qualifiers other than shift...
162008
+ return;
162009
+ }
163796
162010
  switch (ev.key) {
163797
162011
  case "Escape":
163798
162012
  return this.doFocusHome(ev, isDown, this._focusItem);
@@ -163812,14 +162026,19 @@ class AccuDrawViewportUI extends _AccuDraw__WEBPACK_IMPORTED_MODULE_0__.AccuDraw
163812
162026
  return this.doNavigate(ev, isDown, this._focusItem, false);
163813
162027
  case "Enter":
163814
162028
  return this.doAcceptInput(ev, isDown, this._focusItem);
163815
- case "ArrowLeft":
163816
- case "ArrowRight":
163817
162029
  case "Home":
163818
162030
  case "End":
163819
162031
  case "Insert":
163820
162032
  return this.doNewInput(ev, isDown, this._focusItem);
162033
+ case "ArrowLeft":
162034
+ case "ArrowRight":
162035
+ if (this.doProcessExpressionKey(ev, isDown, this._focusItem))
162036
+ return;
162037
+ return this.doNewInput(ev, isDown, this._focusItem);
163821
162038
  case "Backspace":
163822
162039
  case "Delete":
162040
+ if (this.doProcessExpressionKey(ev, isDown, this._focusItem))
162041
+ return;
163823
162042
  return this.doDeleteInput(ev, isDown, this._focusItem);
163824
162043
  default:
163825
162044
  return this.doProcessKey(ev, isDown, this._focusItem);
@@ -163844,7 +162063,10 @@ class AccuDrawViewportUI extends _AccuDraw__WEBPACK_IMPORTED_MODULE_0__.AccuDraw
163844
162063
  return div;
163845
162064
  }
163846
162065
  updateItemFieldKeyinStatus(itemField, item) {
163847
- itemField.style.caretColor = this.isDynamicKeyinStatus(item) ? itemField.style.backgroundColor : itemField.style.color;
162066
+ const isDynamic = this.isDynamicKeyinStatus(item);
162067
+ if (isDynamic && item === this._expression?.item)
162068
+ this._expression = undefined; // Only valid when entering partial input...
162069
+ itemField.style.caretColor = isDynamic ? itemField.style.backgroundColor : itemField.style.color;
163848
162070
  }
163849
162071
  updateItemFieldValue(itemField, item) {
163850
162072
  const value = this.getFormattedValueByIndex(item);
@@ -163890,19 +162112,19 @@ class AccuDrawViewportUI extends _AccuDraw__WEBPACK_IMPORTED_MODULE_0__.AccuDraw
163890
162112
  itemLock.contentEditable = "false";
163891
162113
  itemLock.disabled = true; // Don't receive focus...
163892
162114
  switch (item) {
163893
- case _AccuDraw__WEBPACK_IMPORTED_MODULE_0__.ItemField.DIST_Item:
162115
+ case _AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.DIST_Item:
163894
162116
  itemLock.innerHTML = "\u21A6"; // right arrow from bar...
163895
162117
  break;
163896
- case _AccuDraw__WEBPACK_IMPORTED_MODULE_0__.ItemField.ANGLE_Item:
162118
+ case _AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.ANGLE_Item:
163897
162119
  itemLock.innerHTML = "\u2221"; // measured angle...
163898
162120
  break;
163899
- case _AccuDraw__WEBPACK_IMPORTED_MODULE_0__.ItemField.X_Item:
162121
+ case _AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.X_Item:
163900
162122
  itemLock.innerHTML = "X";
163901
162123
  break;
163902
- case _AccuDraw__WEBPACK_IMPORTED_MODULE_0__.ItemField.Y_Item:
162124
+ case _AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.Y_Item:
163903
162125
  itemLock.innerHTML = "Y";
163904
162126
  break;
163905
- case _AccuDraw__WEBPACK_IMPORTED_MODULE_0__.ItemField.Z_Item:
162127
+ case _AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.Z_Item:
163906
162128
  itemLock.innerHTML = "Z";
163907
162129
  break;
163908
162130
  }
@@ -163910,58 +162132,68 @@ class AccuDrawViewportUI extends _AccuDraw__WEBPACK_IMPORTED_MODULE_0__.AccuDraw
163910
162132
  this.initializeItemStyle(style, true);
163911
162133
  this.updateItemFieldLock(itemLock, item);
163912
162134
  const button = AccuDrawViewportUI.controlProps.button;
163913
- style.paddingLeft = style.paddingRight = button.padding;
162135
+ style.paddingLeft = style.paddingRight = "0";
163914
162136
  style.marginLeft = style.marginRight = button.margin;
163915
162137
  style.outlineWidth = button.outlineWidth;
163916
162138
  return itemLock;
163917
162139
  }
162140
+ /** Use to override the position of the controls in the supplied view. */
162141
+ modifyControlRect(_rect, _vp) { }
162142
+ /** Return the ViewRect currently occupied by the controls in the supplied view. */
162143
+ currentControlRect(vp) {
162144
+ if (undefined === this._controls || this._controls.overlay.parentElement !== vp.vpDiv)
162145
+ return undefined;
162146
+ const viewRect = vp.vpDiv.getBoundingClientRect();
162147
+ const elemRect = this._controls.div.getBoundingClientRect();
162148
+ const controlRect = new _common_ViewRect__WEBPACK_IMPORTED_MODULE_2__.ViewRect(elemRect.left - viewRect.left, elemRect.top - viewRect.top, elemRect.right - viewRect.left, elemRect.bottom - viewRect.top);
162149
+ return controlRect;
162150
+ }
163918
162151
  updateControlVisibility(isPolar, is3d) {
163919
162152
  if (undefined === this._controls)
163920
162153
  return;
163921
- this._controls.itemFields[_AccuDraw__WEBPACK_IMPORTED_MODULE_0__.ItemField.ANGLE_Item].hidden = !isPolar;
163922
- this._controls.itemLocks[_AccuDraw__WEBPACK_IMPORTED_MODULE_0__.ItemField.ANGLE_Item].hidden = !isPolar;
163923
- this._controls.itemFields[_AccuDraw__WEBPACK_IMPORTED_MODULE_0__.ItemField.DIST_Item].hidden = !isPolar;
163924
- this._controls.itemLocks[_AccuDraw__WEBPACK_IMPORTED_MODULE_0__.ItemField.DIST_Item].hidden = !isPolar;
163925
- this._controls.itemFields[_AccuDraw__WEBPACK_IMPORTED_MODULE_0__.ItemField.X_Item].hidden = isPolar;
163926
- this._controls.itemLocks[_AccuDraw__WEBPACK_IMPORTED_MODULE_0__.ItemField.X_Item].hidden = isPolar;
163927
- this._controls.itemFields[_AccuDraw__WEBPACK_IMPORTED_MODULE_0__.ItemField.Y_Item].hidden = isPolar;
163928
- this._controls.itemLocks[_AccuDraw__WEBPACK_IMPORTED_MODULE_0__.ItemField.Y_Item].hidden = isPolar;
162154
+ this._controls.itemFields[_AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.ANGLE_Item].hidden = !isPolar;
162155
+ this._controls.itemLocks[_AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.ANGLE_Item].hidden = !isPolar;
162156
+ this._controls.itemFields[_AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.DIST_Item].hidden = !isPolar;
162157
+ this._controls.itemLocks[_AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.DIST_Item].hidden = !isPolar;
162158
+ this._controls.itemFields[_AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.X_Item].hidden = isPolar;
162159
+ this._controls.itemLocks[_AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.X_Item].hidden = isPolar;
162160
+ this._controls.itemFields[_AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.Y_Item].hidden = isPolar;
162161
+ this._controls.itemLocks[_AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.Y_Item].hidden = isPolar;
163929
162162
  if (undefined === is3d)
163930
162163
  return;
163931
- this._controls.itemFields[_AccuDraw__WEBPACK_IMPORTED_MODULE_0__.ItemField.Z_Item].hidden = !is3d;
163932
- this._controls.itemLocks[_AccuDraw__WEBPACK_IMPORTED_MODULE_0__.ItemField.Z_Item].hidden = !is3d;
162164
+ this._controls.itemFields[_AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.Z_Item].hidden = !is3d;
162165
+ this._controls.itemLocks[_AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.Z_Item].hidden = !is3d;
163933
162166
  }
163934
162167
  updateControls(ev) {
163935
162168
  const vp = ev.viewport;
163936
162169
  if (undefined === vp || !this.isActive)
163937
162170
  return;
163938
162171
  if (undefined !== this._controls && this._controls.overlay.parentElement !== vp.vpDiv)
163939
- this.removeControls(); // TODO: View valid for active tool? Preserve partial input?
162172
+ this.removeControls(); // Could be enhanced to save/restore partial input of currently focused item...
162173
+ const props = AccuDrawViewportUI.controlProps;
163940
162174
  if (undefined === this._controls) {
163941
162175
  const overlay = vp.addNewDiv("accudraw-overlay", true, 35);
163942
162176
  const div = this.createControlDiv();
163943
- const is3dLayout = vp.view.is3d();
163944
- const isHorizontalLayout = AccuDrawViewportUI.controlProps.horizontalArrangement;
162177
+ const is3dLayout = this.is3dCompass(vp);
162178
+ const isHorizontalLayout = props.horizontalArrangement;
163945
162179
  overlay.appendChild(div);
163946
162180
  const createFieldAndLock = (item) => {
163947
162181
  const itemField = itemFields[item] = this.createItemField(item);
163948
162182
  itemField.style.top = isHorizontalLayout ? "0" : `${rowOffset}px`;
163949
162183
  itemField.style.left = isHorizontalLayout ? `${columnOffset}px` : "0";
163950
162184
  div.appendChild(itemField);
163951
- if (is3dLayout || _AccuDraw__WEBPACK_IMPORTED_MODULE_0__.ItemField.Z_Item !== item)
163952
- rowOffset += itemField.offsetHeight * AccuDrawViewportUI.controlProps.rowSpacingFactor;
162185
+ if (is3dLayout || _AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.Z_Item !== item)
162186
+ rowOffset += itemField.offsetHeight * props.rowSpacingFactor;
163953
162187
  itemWidth = itemField.offsetWidth;
163954
162188
  itemHeight = itemField.offsetHeight;
163955
162189
  const itemLock = itemLocks[item] = this.createItemFieldLock(item);
163956
162190
  itemLock.style.top = itemField.style.top;
163957
162191
  itemLock.style.left = isHorizontalLayout ? `${columnOffset + itemWidth}px` : `${itemWidth}px`;
162192
+ itemLock.style.width = itemLock.style.height = `${itemHeight}px`; // Make square of same height as text field...
163958
162193
  div.appendChild(itemLock);
163959
- if (0 === lockWidth)
163960
- lockWidth = itemLock.offsetWidth;
163961
- else
163962
- itemLock.style.width = `${lockWidth}px`;
163963
- if (is3dLayout || _AccuDraw__WEBPACK_IMPORTED_MODULE_0__.ItemField.Z_Item !== item)
163964
- columnOffset += (itemWidth + lockWidth) * AccuDrawViewportUI.controlProps.columnSpacingFactor;
162194
+ lockWidth = itemLock.offsetWidth;
162195
+ if (is3dLayout || _AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.Z_Item !== item)
162196
+ columnOffset += (itemWidth + lockWidth) * props.columnSpacingFactor;
163965
162197
  };
163966
162198
  let rowOffset = 0;
163967
162199
  let columnOffset = 0;
@@ -163970,32 +162202,33 @@ class AccuDrawViewportUI extends _AccuDraw__WEBPACK_IMPORTED_MODULE_0__.AccuDraw
163970
162202
  let lockWidth = 0;
163971
162203
  const itemFields = [];
163972
162204
  const itemLocks = [];
163973
- createFieldAndLock(_AccuDraw__WEBPACK_IMPORTED_MODULE_0__.ItemField.DIST_Item);
163974
- createFieldAndLock(_AccuDraw__WEBPACK_IMPORTED_MODULE_0__.ItemField.ANGLE_Item);
162205
+ createFieldAndLock(_AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.DIST_Item);
162206
+ createFieldAndLock(_AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.ANGLE_Item);
163975
162207
  rowOffset = 0;
163976
162208
  columnOffset = 0;
163977
- createFieldAndLock(_AccuDraw__WEBPACK_IMPORTED_MODULE_0__.ItemField.X_Item);
163978
- createFieldAndLock(_AccuDraw__WEBPACK_IMPORTED_MODULE_0__.ItemField.Y_Item);
163979
- createFieldAndLock(_AccuDraw__WEBPACK_IMPORTED_MODULE_0__.ItemField.Z_Item); // Both polar and rectangular modes support Z in 3d views...
162209
+ createFieldAndLock(_AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.X_Item);
162210
+ createFieldAndLock(_AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.Y_Item);
162211
+ createFieldAndLock(_AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.Z_Item); // Both polar and rectangular modes support Z in 3d views...
163980
162212
  div.style.width = isHorizontalLayout ? `${columnOffset}px` : `${itemWidth + lockWidth + 5}px`;
163981
- div.style.height = isHorizontalLayout ? `${itemHeight * AccuDrawViewportUI.controlProps.rowSpacingFactor}px` : `${rowOffset}px`;
162213
+ div.style.height = isHorizontalLayout ? `${itemHeight * props.rowSpacingFactor}px` : `${rowOffset}px`;
163982
162214
  this._controls = { overlay, div, itemFields, itemLocks };
163983
- this.updateControlVisibility(_AccuDraw__WEBPACK_IMPORTED_MODULE_0__.CompassMode.Polar === this.compassMode, vp.view.is3d());
162215
+ this.updateControlVisibility(_AccuDraw__WEBPACK_IMPORTED_MODULE_1__.CompassMode.Polar === this.compassMode, this.is3dCompass(vp));
163984
162216
  this.setFocusItem(this._focusItem);
163985
162217
  this.suspendToolTips();
163986
162218
  vp.onChangeView.addOnce(() => this.removeControls()); // Clear on view change/closure...
163987
162219
  }
163988
162220
  const viewRect = vp.viewRect;
163989
162221
  const position = vp.worldToView(ev.point);
163990
- if (AccuDrawViewportUI.controlProps.fixedLocation) {
162222
+ if (props.fixedLocation) {
163991
162223
  position.x = (viewRect.left + ((viewRect.width - this._controls.div.offsetWidth) * 0.5));
163992
162224
  position.y = (viewRect.bottom - this._controls.div.offsetHeight);
163993
162225
  }
163994
162226
  else {
163995
- position.x += Math.floor(vp.pixelsFromInches(0.4)) + 0.5;
163996
- position.y += Math.floor(vp.pixelsFromInches(0.1)) + 0.5;
162227
+ position.x += Math.floor(vp.pixelsFromInches(props.cursorOffset.x)) + 0.5;
162228
+ position.y += Math.floor(vp.pixelsFromInches(props.cursorOffset.y)) + 0.5;
163997
162229
  }
163998
- const controlRect = new _common_ViewRect__WEBPACK_IMPORTED_MODULE_1__.ViewRect(position.x, position.y, position.x + this._controls.div.offsetWidth, position.y + this._controls.div.offsetHeight);
162230
+ const controlRect = new _common_ViewRect__WEBPACK_IMPORTED_MODULE_2__.ViewRect(position.x, position.y, position.x + this._controls.div.offsetWidth, position.y + this._controls.div.offsetHeight);
162231
+ this.modifyControlRect(controlRect, vp);
163999
162232
  if (!controlRect.isContained(viewRect))
164000
162233
  return; // Keep showing at last valid location...
164001
162234
  this._controls.div.style.left = `${controlRect.left}px`;
@@ -164063,7 +162296,7 @@ class AccuDrawViewportUI extends _AccuDraw__WEBPACK_IMPORTED_MODULE_0__.AccuDraw
164063
162296
  * Used to show or hide the input fields that are applicable to the current mode.
164064
162297
  */
164065
162298
  onCompassModeChange() {
164066
- this.updateControlVisibility(_AccuDraw__WEBPACK_IMPORTED_MODULE_0__.CompassMode.Polar === this.compassMode);
162299
+ this.updateControlVisibility(_AccuDraw__WEBPACK_IMPORTED_MODULE_1__.CompassMode.Polar === this.compassMode);
164067
162300
  this.setFocusItem(this.defaultFocusItem());
164068
162301
  }
164069
162302
  /** Change notification for when the supplied input field switches between dynamic and partial input.
@@ -164113,6 +162346,12 @@ AccuDrawViewportUI.controlProps = {
164113
162346
  fixedLocation: false,
164114
162347
  /** Layout controls in a single row horizontally instead of in columns vertically as an option when using fixed location. */
164115
162348
  horizontalArrangement: false,
162349
+ /** When controls follow the cursor, the X and Y offsets applied to the current point to position the top left (values in inches based on screen DPI) */
162350
+ cursorOffset: { x: .4, y: .1 },
162351
+ /** Replace "^", ";", and ".." with "°" or ":" for easier input. */
162352
+ simplifiedInput: true,
162353
+ /** Enable simple math operations not supported by quantity parser. */
162354
+ mathOperations: true,
164116
162355
  /** Number of visible characters to show in text input fields. */
164117
162356
  fieldSize: 12,
164118
162357
  /** Row spacing of text input fields for vertical arrangement. */
@@ -164138,8 +162377,6 @@ AccuDrawViewportUI.controlProps = {
164138
162377
  button: {
164139
162378
  /** Background color of locked buttons. */
164140
162379
  pressedColor: "rgba(50, 50, 50, 0.75)",
164141
- /** Padding to use on left and right of label and affects overall width. */
164142
- padding: "0.25em",
164143
162380
  /** Margin to use on left and right to position relative to text input field. */
164144
162381
  margin: "0.25em",
164145
162382
  /** Width of border outline. */
@@ -168653,7 +166890,7 @@ class MeasureElementTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.Pr
168653
166890
  candidates,
168654
166891
  };
168655
166892
  const result = await this.iModel.getMassProperties(requestProps);
168656
- if (_itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.BentleyStatus.SUCCESS !== result.status)
166893
+ if (_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BentleyStatus.SUCCESS !== result.status)
168657
166894
  return;
168658
166895
  const toolTip = await this.getMarkerToolTip(result);
168659
166896
  const point = _itwin_core_geometry__WEBPACK_IMPORTED_MODULE_1__.Point3d.fromJSON(result.centroid);
@@ -168677,7 +166914,7 @@ class MeasureElementTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.Pr
168677
166914
  result = await this.iModel.getMassProperties(requestProps);
168678
166915
  this._checkedIds.set(hit.sourceId, result);
168679
166916
  }
168680
- return (_itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.BentleyStatus.SUCCESS === result.status ? _ElementLocateManager__WEBPACK_IMPORTED_MODULE_4__.LocateFilterStatus.Accept : _ElementLocateManager__WEBPACK_IMPORTED_MODULE_4__.LocateFilterStatus.Reject);
166917
+ return (_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BentleyStatus.SUCCESS === result.status ? _ElementLocateManager__WEBPACK_IMPORTED_MODULE_4__.LocateFilterStatus.Accept : _ElementLocateManager__WEBPACK_IMPORTED_MODULE_4__.LocateFilterStatus.Reject);
168681
166918
  }
168682
166919
  /** @internal */
168683
166920
  async onReinitialize() {
@@ -289662,7 +287899,20 @@ class Parser {
289662
287899
  }
289663
287900
  else {
289664
287901
  // not processing a number
289665
- if (isOperator(charCode)) {
287902
+ const isCharOperator = isOperator(charCode);
287903
+ const isSpacer = charCode === format.spacerOrDefault.charCodeAt(0) && charCode !== _Constants__WEBPACK_IMPORTED_MODULE_0__.QuantityConstants.CHAR_SPACE;
287904
+ if (isSpacer && i > 0 && i < str.length - 1) {
287905
+ const prevCharCode = str.charCodeAt(i - 1);
287906
+ if (isCharOperator && prevCharCode !== _Constants__WEBPACK_IMPORTED_MODULE_0__.QuantityConstants.CHAR_SPACE) {
287907
+ // ignore spacer if it's not at the start or end, not whitespace, and is not in front of a whitespace
287908
+ continue;
287909
+ }
287910
+ }
287911
+ if (wipToken.length === 0 && charCode === _Constants__WEBPACK_IMPORTED_MODULE_0__.QuantityConstants.CHAR_SPACE) {
287912
+ // Don't add space when the wip token is empty.
287913
+ continue;
287914
+ }
287915
+ if (isCharOperator) {
289666
287916
  if (wipToken.length > 0) {
289667
287917
  // There is a token is progress, process it now, before adding the new operator token.
289668
287918
  tokens.push(new ParseToken(wipToken));
@@ -289671,10 +287921,6 @@ class Parser {
289671
287921
  tokens.push(new ParseToken(str[i])); // Push an Operator Token in the list.
289672
287922
  continue;
289673
287923
  }
289674
- if (wipToken.length === 0 && charCode === _Constants__WEBPACK_IMPORTED_MODULE_0__.QuantityConstants.CHAR_SPACE) {
289675
- // Don't add space when the wip token is empty.
289676
- continue;
289677
- }
289678
287924
  wipToken = wipToken.concat(str[i]);
289679
287925
  }
289680
287926
  }
@@ -289906,10 +288152,7 @@ class Parser {
289906
288152
  let value = sign * tokenPair[0].value;
289907
288153
  let conversion;
289908
288154
  if (tokenPair.length === 2 && tokenPair[1].isString) {
289909
- const spacer = format.spacerOrDefault;
289910
- if (tokenPair[1].value !== spacer) { // ignore spacer
289911
- conversion = Parser.tryFindUnitConversion(tokenPair[1].value, unitsConversions, defaultUnit);
289912
- }
288155
+ conversion = Parser.tryFindUnitConversion(tokenPair[1].value, unitsConversions, defaultUnit);
289913
288156
  }
289914
288157
  if (!conversion) {
289915
288158
  if (compositeUnitIndex > 0 && format.units && format.units.length > compositeUnitIndex) {
@@ -291413,7 +289656,7 @@ exports.IModelSession = void 0;
291413
289656
  const chai_1 = __webpack_require__(/*! chai */ "../../common/temp/node_modules/.pnpm/chai@4.3.10/node_modules/chai/index.js");
291414
289657
  const core_frontend_1 = __webpack_require__(/*! @itwin/core-frontend */ "../../core/frontend/lib/esm/core-frontend.js");
291415
289658
  const imodels_client_management_1 = __webpack_require__(/*! @itwin/imodels-client-management */ "../../common/temp/node_modules/.pnpm/@itwin+imodels-client-management@5.8.1/node_modules/@itwin/imodels-client-management/lib/esm/index.js");
291416
- const itwins_client_1 = __webpack_require__(/*! @itwin/itwins-client */ "../../common/temp/node_modules/.pnpm/@itwin+itwins-client@1.2.0/node_modules/@itwin/itwins-client/lib/esm/itwins-client.js");
289659
+ const itwins_client_1 = __webpack_require__(/*! @itwin/itwins-client */ "../../common/temp/node_modules/.pnpm/@itwin+itwins-client@1.6.1/node_modules/@itwin/itwins-client/lib/esm/itwins-client.js");
291417
289660
  const imodels_access_frontend_1 = __webpack_require__(/*! @itwin/imodels-access-frontend */ "../../common/temp/node_modules/.pnpm/@itwin+imodels-access-frontend@5.2.1_ueafa4slb6ohrhyf7kbp6egmha/node_modules/@itwin/imodels-access-frontend/lib/esm/index.js");
291418
289661
  class IModelSession {
291419
289662
  constructor(iModelId, iTwinId, changesetId) {
@@ -291501,7 +289744,7 @@ exports.TestContext = void 0;
291501
289744
  const chai_1 = __webpack_require__(/*! chai */ "../../common/temp/node_modules/.pnpm/chai@4.3.10/node_modules/chai/index.js");
291502
289745
  const core_bentley_1 = __webpack_require__(/*! @itwin/core-bentley */ "../../core/bentley/lib/esm/core-bentley.js");
291503
289746
  const core_frontend_1 = __webpack_require__(/*! @itwin/core-frontend */ "../../core/frontend/lib/esm/core-frontend.js");
291504
- const frontend_1 = __webpack_require__(/*! @itwin/oidc-signin-tool/lib/cjs/frontend */ "../../common/temp/node_modules/.pnpm/@itwin+oidc-signin-tool@4.3.7_67wltvhdskk2oee2c3z2o4tfly/node_modules/@itwin/oidc-signin-tool/lib/cjs/frontend.js");
289747
+ const frontend_1 = __webpack_require__(/*! @itwin/oidc-signin-tool/lib/cjs/frontend */ "../../common/temp/node_modules/.pnpm/@itwin+oidc-signin-tool@4.4.1_67wltvhdskk2oee2c3z2o4tfly/node_modules/@itwin/oidc-signin-tool/lib/cjs/frontend.js");
291505
289748
  const Settings_1 = __webpack_require__(/*! ../../common/Settings */ "./lib/common/Settings.js");
291506
289749
  const SideChannels_1 = __webpack_require__(/*! ../../common/SideChannels */ "./lib/common/SideChannels.js");
291507
289750
  const IModelSession_1 = __webpack_require__(/*! ./IModelSession */ "./lib/frontend/setup/IModelSession.js");
@@ -305519,7 +303762,7 @@ var loadLanguages = instance.loadLanguages;
305519
303762
  /***/ ((module) => {
305520
303763
 
305521
303764
  "use strict";
305522
- module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"4.11.0-dev.2","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 --json=../../generated-docs/core/core-frontend/file.json --tsIndexFile=./core-frontend.ts --onlyJson --excludes=webgl/**/*,**/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-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","pseudolocalize":"betools pseudolocalize --englishDir ./src/public/locales/en --out ./public/locales/en-PSEUDO","test":"npm run webpackTestWorker && vitest --run","cover":"npm run webpackTestWorker && vitest --run --coverage","test:debug":"vitest --run","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.11.0-dev.2","@itwin/core-bentley":"workspace:^4.11.0-dev.2","@itwin/core-common":"workspace:^4.11.0-dev.2","@itwin/core-geometry":"workspace:^4.11.0-dev.2","@itwin/core-orbitgt":"workspace:^4.11.0-dev.2","@itwin/core-quantity":"workspace:^4.11.0-dev.2"},"//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/eslint-plugin":"5.0.0-dev.1","@types/chai-as-promised":"^7","@vitest/browser":"^2.1.0","@vitest/coverage-v8":"^2.1.0","babel-loader":"~8.2.5","babel-plugin-istanbul":"~6.1.1","cpx2":"^3.0.0","eslint":"^9.13.0","glob":"^10.3.12","playwright":"~1.47.1","rimraf":"^3.0.2","source-map-loader":"^4.0.0","typescript":"~5.6.2","typemoq":"^2.1.0","vitest":"^2.1.0","vite-multiple-assets":"^1.3.1","vite-plugin-static-copy":"1.0.6","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/cloud-agnostic-core":"^2.2.4","@itwin/object-storage-core":"^2.2.5","@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","meshoptimizer":"~0.20.0","wms-capabilities":"0.4.0"}}');
303765
+ module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"4.11.0-dev.4","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 --json=../../generated-docs/core/core-frontend/file.json --tsIndexFile=./core-frontend.ts --onlyJson --excludes=webgl/**/*,**/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-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","pseudolocalize":"betools pseudolocalize --englishDir ./src/public/locales/en --out ./public/locales/en-PSEUDO","test":"npm run webpackTestWorker && vitest --run","cover":"npm run webpackTestWorker && vitest --run","test:debug":"vitest --run","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.11.0-dev.4","@itwin/core-bentley":"workspace:^4.11.0-dev.4","@itwin/core-common":"workspace:^4.11.0-dev.4","@itwin/core-geometry":"workspace:^4.11.0-dev.4","@itwin/core-orbitgt":"workspace:^4.11.0-dev.4","@itwin/core-quantity":"workspace:^4.11.0-dev.4"},"//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/eslint-plugin":"5.0.0-dev.1","@types/chai-as-promised":"^7","@vitest/browser":"^3.0.5","@vitest/coverage-v8":"^3.0.5","cpx2":"^3.0.0","eslint":"^9.13.0","glob":"^10.3.12","playwright":"~1.47.1","rimraf":"^3.0.2","source-map-loader":"^4.0.0","typescript":"~5.6.2","typemoq":"^2.1.0","vitest":"^3.0.5","vite-multiple-assets":"^1.3.1","vite-plugin-static-copy":"1.0.6","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/cloud-agnostic-core":"^2.2.4","@itwin/object-storage-core":"^2.3.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","meshoptimizer":"~0.20.0","wms-capabilities":"0.4.0"}}');
305523
303766
 
305524
303767
  /***/ })
305525
303768