@itwin/rpcinterface-full-stack-tests 5.6.0-dev.3 → 5.6.0-dev.5

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.
@@ -344503,7 +344503,7 @@ class TestContext {
344503
344503
  this.initializeRpcInterfaces({ title: this.settings.Backend.name, version: this.settings.Backend.version });
344504
344504
  const iModelClient = new imodels_client_management_1.IModelsClient({ api: { baseUrl: `https://${process.env.IMJS_URL_PREFIX ?? ""}api.bentley.com/imodels` } });
344505
344505
  await core_frontend_1.NoRenderApp.startup({
344506
- applicationVersion: "5.6.0-dev.3",
344506
+ applicationVersion: "5.6.0-dev.5",
344507
344507
  applicationId: this.settings.gprid,
344508
344508
  authorizationClient: new frontend_1.TestFrontendAuthorizationClient(this.serviceAuthToken),
344509
344509
  hubAccess: new imodels_access_frontend_1.FrontendIModelsAccess(iModelClient),
@@ -354091,6 +354091,10 @@ function traverseContentItemArrayFieldValue(visitor, fieldHierarchy, mergedField
354091
354091
  return;
354092
354092
  }
354093
354093
  try {
354094
+ if (fieldHierarchy.field.isPropertiesField() && fieldHierarchy.field.isArrayPropertiesField()) {
354095
+ parentFieldName = combineFieldNames(fieldHierarchy.field.name, parentFieldName);
354096
+ fieldHierarchy = { field: fieldHierarchy.field.itemsField, childFields: [] };
354097
+ }
354094
354098
  const itemType = valueType.memberType;
354095
354099
  rawValues.forEach((_, i) => {
354096
354100
  traverseContentItemFieldValue(visitor, fieldHierarchy, mergedFieldNames, itemType, parentFieldName, rawValues[i], displayValues[i]);
@@ -354107,9 +354111,9 @@ function traverseContentItemStructFieldValue(visitor, fieldHierarchy, mergedFiel
354107
354111
  return;
354108
354112
  }
354109
354113
  try {
354110
- if (fieldHierarchy.field.isNestedContentField()) {
354111
- parentFieldName = combineFieldNames(fieldHierarchy.field.name, parentFieldName);
354112
- }
354114
+ // `fieldHierarchy.field` is either a nested content field or a struct property field - either way,
354115
+ // we want to combine its name into the parent field name
354116
+ parentFieldName = combineFieldNames(fieldHierarchy.field.name, parentFieldName);
354113
354117
  valueType.members.forEach((memberDescription) => {
354114
354118
  let memberField = fieldHierarchy.childFields.find((f) => f.field.name === memberDescription.name);
354115
354119
  if (!memberField) {
@@ -354925,6 +354929,8 @@ exports.Field = Field;
354925
354929
  * @public
354926
354930
  */
354927
354931
  class PropertiesField extends Field {
354932
+ #parentStructField;
354933
+ #parentArrayField;
354928
354934
  /** A list of properties this field is created from */
354929
354935
  properties;
354930
354936
  constructor(categoryOrProps, name, label, type, isReadonly, priority, properties, editor, renderer) {
@@ -354945,6 +354951,45 @@ class PropertiesField extends Field {
354945
354951
  super(props);
354946
354952
  this.properties = props.properties;
354947
354953
  }
354954
+ /**
354955
+ * Sets provided [[NestedContentField]] as parent of this field.
354956
+ * @throws [[PresentationError]] if this field already has `parentArrayField` or `parentStructField`.
354957
+ */
354958
+ rebuildParentship(parentField) {
354959
+ if (parentField && (this.parentStructField || this.parentArrayField)) {
354960
+ throw new Error_js_1.PresentationError(Error_js_1.PresentationStatus.InvalidArgument, `A field may only have one of: parent field, struct field or array field.`);
354961
+ }
354962
+ super.rebuildParentship(parentField);
354963
+ }
354964
+ /**
354965
+ * Returns parent struct field that this field is part of, or sets the provided [[StructPropertiesField]]
354966
+ * as `parentStructField` of this field.
354967
+ *
354968
+ * @throws [[PresentationError]] if this field already has `parentArrayField` or `parent`.
354969
+ */
354970
+ get parentStructField() {
354971
+ return this.#parentStructField;
354972
+ }
354973
+ set parentStructField(field) {
354974
+ if (this.parent || this.parentArrayField) {
354975
+ throw new Error_js_1.PresentationError(Error_js_1.PresentationStatus.InvalidArgument, `A field may only have one of: parent field, struct field or array field.`);
354976
+ }
354977
+ this.#parentStructField = field;
354978
+ }
354979
+ /** Returns parent array field that this field is part of, or sets the provided [[ArrayPropertiesField]]
354980
+ * as `parentArrayField` of this field.
354981
+ *
354982
+ * @throws [[PresentationError]] if this field already has `parentStructField` or `parent`.
354983
+ */
354984
+ get parentArrayField() {
354985
+ return this.#parentArrayField;
354986
+ }
354987
+ set parentArrayField(field) {
354988
+ if (this.parent || this.parentStructField) {
354989
+ throw new Error_js_1.PresentationError(Error_js_1.PresentationStatus.InvalidArgument, `A field may only have one of: parent field, struct field or array field.`);
354990
+ }
354991
+ this.#parentArrayField = field;
354992
+ }
354948
354993
  /** Is this a an array property field */
354949
354994
  isArrayPropertiesField() {
354950
354995
  return false;
@@ -355071,7 +355116,7 @@ exports.PropertiesField = PropertiesField;
355071
355116
  * @public
355072
355117
  */
355073
355118
  class ArrayPropertiesField extends PropertiesField {
355074
- itemsField;
355119
+ #itemsField;
355075
355120
  constructor(categoryOrProps, name, label, type, itemsField, isReadonly, priority, properties, editor, renderer) {
355076
355121
  /* c8 ignore next 15 */
355077
355122
  const props = "category" in categoryOrProps
@@ -355091,11 +355136,23 @@ class ArrayPropertiesField extends PropertiesField {
355091
355136
  super(props);
355092
355137
  this.itemsField = props.itemsField;
355093
355138
  }
355139
+ /** Returns or sets the array items field. When setting, updates `parentArrayField` of the items field to this field. */
355140
+ get itemsField() {
355141
+ return this.#itemsField;
355142
+ }
355143
+ set itemsField(field) {
355144
+ this.#itemsField = field;
355145
+ this.#itemsField.parentArrayField = this;
355146
+ }
355094
355147
  isArrayPropertiesField() {
355095
355148
  return true;
355096
355149
  }
355150
+ /** Get array item field if it matches the given name, or `undefined` if not. */
355151
+ getFieldByName(name) {
355152
+ return this.#itemsField.name === name ? this.#itemsField : undefined;
355153
+ }
355097
355154
  clone() {
355098
- const clone = new ArrayPropertiesField(this);
355155
+ const clone = new ArrayPropertiesField({ ...this, itemsField: this.itemsField.clone() });
355099
355156
  clone.rebuildParentship(this.parent);
355100
355157
  return clone;
355101
355158
  }
@@ -355149,7 +355206,7 @@ exports.ArrayPropertiesField = ArrayPropertiesField;
355149
355206
  * @public
355150
355207
  */
355151
355208
  class StructPropertiesField extends PropertiesField {
355152
- memberFields;
355209
+ #memberFields;
355153
355210
  constructor(categoryOrProps, name, label, type, memberFields, isReadonly, priority, properties, editor, renderer) {
355154
355211
  /* c8 ignore next 15 */
355155
355212
  const props = "category" in categoryOrProps
@@ -355169,11 +355226,23 @@ class StructPropertiesField extends PropertiesField {
355169
355226
  super(props);
355170
355227
  this.memberFields = props.memberFields;
355171
355228
  }
355229
+ /** Returns or sets the struct member fields. When setting, updates `parentStructField` of each member field to this field. */
355230
+ get memberFields() {
355231
+ return this.#memberFields;
355232
+ }
355233
+ set memberFields(fields) {
355234
+ this.#memberFields = fields;
355235
+ this.#memberFields.forEach((field) => (field.parentStructField = this));
355236
+ }
355172
355237
  isStructPropertiesField() {
355173
355238
  return true;
355174
355239
  }
355240
+ /** Get a member field by its name. */
355241
+ getFieldByName(name) {
355242
+ return (0, exports.getFieldByName)(this.#memberFields, name, false);
355243
+ }
355175
355244
  clone() {
355176
- const clone = new StructPropertiesField(this);
355245
+ const clone = new StructPropertiesField({ ...this, memberFields: this.memberFields.map((f) => f.clone()) });
355177
355246
  clone.rebuildParentship(this.parent);
355178
355247
  return clone;
355179
355248
  }
@@ -371127,7 +371196,7 @@ var loadLanguages = instance.loadLanguages;
371127
371196
  /***/ ((module) => {
371128
371197
 
371129
371198
  "use strict";
371130
- module.exports = /*#__PURE__*/JSON.parse('{"name":"@itwin/core-frontend","version":"5.6.0-dev.3","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 && npm run -s copy:draco","build:cjs":"npm run -s copy:js:cjs && tsc 1>&2 --outDir lib/cjs","build:esm":"npm run -s copy:js:esm && tsc 1>&2 --module ES2022 --outDir lib/esm","clean":"rimraf -g lib .rush/temp/package-deps*.json","copy:public":"cpx \\"./src/public/**/*\\" ./lib/public","copy:js:cjs":"cpx \\"./src/**/*.js\\" ./lib/cjs","copy:js:esm":"cpx \\"./src/**/*.js\\" ./lib/esm","copy:workers":"cpx \\"./lib/workers/webpack/parse-imdl-worker.js\\" ./lib/public/scripts","copy:draco":"cpx \\"./node_modules/@loaders.gl/draco/dist/libs/*\\" ./lib/public/scripts","docs":"betools docs --json=../../generated-docs/core/core-frontend/file.json --tsIndexFile=./core-frontend.ts --onlyJson --excludes=webgl/**/*,**/map/*.d.ts,**/tile/*.d.ts,**/*-css.ts","extract-api":"betools extract-api --entry=core-frontend && npm run extract-extension-api","extract-extension-api":"eslint --no-inline-config -c extraction.eslint.config.js \\"./src/**/*.ts\\" 1>&2","lint":"eslint \\"./src/**/*.ts\\" 1>&2","lint-fix":"eslint --fix -f visualstudio \\"./src/**/*.ts\\" 1>&2","lint-deprecation":"eslint --fix -f visualstudio --no-inline-config -c ../../common/config/eslint/eslint.config.deprecation-policy.js \\"./src/**/*.ts\\"","pseudolocalize":"betools pseudolocalize --englishDir ./src/public/locales/en --out ./public/locales/en-PSEUDO","test":"npm run webpackTestWorker && vitest --run","cover":"npm run webpackTestWorker && 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:*","@itwin/core-bentley":"workspace:*","@itwin/core-common":"workspace:*","@itwin/core-geometry":"workspace:*","@itwin/core-orbitgt":"workspace:*","@itwin/core-quantity":"workspace:*","@itwin/ecschema-metadata":"workspace:*","@itwin/ecschema-rpcinterface-common":"workspace:*"},"//devDependencies":["NOTE: All peerDependencies should also be listed as devDependencies since peerDependencies are not considered by npm install","NOTE: All tools used by scripts in this package must be listed as devDependencies"],"devDependencies":{"@itwin/appui-abstract":"workspace:*","@itwin/build-tools":"workspace:*","@itwin/core-bentley":"workspace:*","@itwin/core-common":"workspace:*","@itwin/core-geometry":"workspace:*","@itwin/core-orbitgt":"workspace:*","@itwin/core-quantity":"workspace:*","@itwin/ecschema-metadata":"workspace:*","@itwin/ecschema-rpcinterface-common":"workspace:*","@itwin/object-storage-core":"^3.0.4","@itwin/eslint-plugin":"5.2.2-dev.2","@types/chai-as-promised":"^7","@types/draco3d":"^1.4.10","@types/sinon":"^17.0.2","@vitest/browser":"^3.0.6","@vitest/coverage-v8":"^3.0.6","cpx2":"^8.0.0","eslint":"^9.31.0","glob":"^10.5.0","playwright":"~1.56.1","rimraf":"^6.0.1","sinon":"^17.0.2","source-map-loader":"^5.0.0","typescript":"~5.6.2","typemoq":"^2.1.0","vitest":"^3.0.6","vite-multiple-assets":"^1.3.1","vite-plugin-static-copy":"2.2.0","webpack":"^5.97.1"},"//dependencies":["NOTE: these dependencies should be only for things that DO NOT APPEAR IN THE API","NOTE: core-frontend should remain UI technology agnostic, so no react/angular dependencies are allowed"],"dependencies":{"@itwin/core-i18n":"workspace:*","@itwin/webgl-compatibility":"workspace:*","@loaders.gl/draco":"^4.3.4","fuse.js":"^3.3.0","wms-capabilities":"0.4.0"}}');
371199
+ module.exports = /*#__PURE__*/JSON.parse('{"name":"@itwin/core-frontend","version":"5.6.0-dev.5","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 && npm run -s copy:draco","build:cjs":"npm run -s copy:js:cjs && tsc 1>&2 --outDir lib/cjs","build:esm":"npm run -s copy:js:esm && tsc 1>&2 --module ES2022 --outDir lib/esm","clean":"rimraf -g lib .rush/temp/package-deps*.json","copy:public":"cpx \\"./src/public/**/*\\" ./lib/public","copy:js:cjs":"cpx \\"./src/**/*.js\\" ./lib/cjs","copy:js:esm":"cpx \\"./src/**/*.js\\" ./lib/esm","copy:workers":"cpx \\"./lib/workers/webpack/parse-imdl-worker.js\\" ./lib/public/scripts","copy:draco":"cpx \\"./node_modules/@loaders.gl/draco/dist/libs/*\\" ./lib/public/scripts","docs":"betools docs --json=../../generated-docs/core/core-frontend/file.json --tsIndexFile=./core-frontend.ts --onlyJson --excludes=webgl/**/*,**/map/*.d.ts,**/tile/*.d.ts,**/*-css.ts","extract-api":"betools extract-api --entry=core-frontend && npm run extract-extension-api","extract-extension-api":"eslint --no-inline-config -c extraction.eslint.config.js \\"./src/**/*.ts\\" 1>&2","lint":"eslint \\"./src/**/*.ts\\" 1>&2","lint-fix":"eslint --fix -f visualstudio \\"./src/**/*.ts\\" 1>&2","lint-deprecation":"eslint --fix -f visualstudio --no-inline-config -c ../../common/config/eslint/eslint.config.deprecation-policy.js \\"./src/**/*.ts\\"","pseudolocalize":"betools pseudolocalize --englishDir ./src/public/locales/en --out ./public/locales/en-PSEUDO","test":"npm run webpackTestWorker && vitest --run","cover":"npm run webpackTestWorker && 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:*","@itwin/core-bentley":"workspace:*","@itwin/core-common":"workspace:*","@itwin/core-geometry":"workspace:*","@itwin/core-orbitgt":"workspace:*","@itwin/core-quantity":"workspace:*","@itwin/ecschema-metadata":"workspace:*","@itwin/ecschema-rpcinterface-common":"workspace:*"},"//devDependencies":["NOTE: All peerDependencies should also be listed as devDependencies since peerDependencies are not considered by npm install","NOTE: All tools used by scripts in this package must be listed as devDependencies"],"devDependencies":{"@itwin/appui-abstract":"workspace:*","@itwin/build-tools":"workspace:*","@itwin/core-bentley":"workspace:*","@itwin/core-common":"workspace:*","@itwin/core-geometry":"workspace:*","@itwin/core-orbitgt":"workspace:*","@itwin/core-quantity":"workspace:*","@itwin/ecschema-metadata":"workspace:*","@itwin/ecschema-rpcinterface-common":"workspace:*","@itwin/object-storage-core":"^3.0.4","@itwin/eslint-plugin":"5.2.2-dev.2","@types/chai-as-promised":"^7","@types/draco3d":"^1.4.10","@types/sinon":"^17.0.2","@vitest/browser":"^3.0.6","@vitest/coverage-v8":"^3.0.6","cpx2":"^8.0.0","eslint":"^9.31.0","glob":"^10.5.0","playwright":"~1.56.1","rimraf":"^6.0.1","sinon":"^17.0.2","source-map-loader":"^5.0.0","typescript":"~5.6.2","typemoq":"^2.1.0","vitest":"^3.0.6","vite-multiple-assets":"^1.3.1","vite-plugin-static-copy":"2.2.0","webpack":"^5.97.1"},"//dependencies":["NOTE: these dependencies should be only for things that DO NOT APPEAR IN THE API","NOTE: core-frontend should remain UI technology agnostic, so no react/angular dependencies are allowed"],"dependencies":{"@itwin/core-i18n":"workspace:*","@itwin/webgl-compatibility":"workspace:*","@loaders.gl/draco":"^4.3.4","fuse.js":"^3.3.0","wms-capabilities":"0.4.0"}}');
371131
371200
 
371132
371201
  /***/ }),
371133
371202