@itwin/ecschema-rpcinterface-tests 5.0.0-dev.89 → 5.0.0-dev.90

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"_bea9.bundled-tests.js","mappings":";;;;;;;;AAAA","sources":["file:///ignored|C:\\agent\\_work\\1\\s\\common\\temp\\node_modules\\.pnpm\\@loaders.gl+worker-utils@3.1.6\\node_modules\\@loaders.gl\\worker-utils\\dist\\esm\\lib\\library-utils|../node/require-utils.node"],"names":[],"sourceRoot":""}
1
+ {"version":3,"file":"_bea9.bundled-tests.js","mappings":";;;;;;;;AAAA","sources":["file:///ignored|C:\\agent\\_work\\2\\s\\common\\temp\\node_modules\\.pnpm\\@loaders.gl+worker-utils@3.1.6\\node_modules\\@loaders.gl\\worker-utils\\dist\\esm\\lib\\library-utils|../node/require-utils.node"],"names":[],"sourceRoot":""}
@@ -31233,6 +31233,7 @@ var PrimitiveTypeCode;
31233
31233
  })(PrimitiveTypeCode || (PrimitiveTypeCode = {}));
31234
31234
  /** Metadata for a property.
31235
31235
  * @beta
31236
+ * @deprecated in 5.0. Use the `Property` class from @itwin/ecschema-metadata` instead.
31236
31237
  */
31237
31238
  class PropertyMetaData {
31238
31239
  primitiveType;
@@ -31252,7 +31253,9 @@ class PropertyMetaData {
31252
31253
  maxOccurs;
31253
31254
  direction;
31254
31255
  relationshipClass;
31256
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
31255
31257
  customAttributes;
31258
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
31256
31259
  constructor(jsonObj) {
31257
31260
  this.primitiveType = jsonObj.primitiveType;
31258
31261
  if (jsonObj.structName)
@@ -31315,6 +31318,7 @@ class PropertyMetaData {
31315
31318
  }
31316
31319
  /** Metadata for an Entity.
31317
31320
  * @beta
31321
+ * @deprecated in 5.0. Use `EntityClass` class from `@itwin/ecschema-metadata` instead.
31318
31322
  */
31319
31323
  class EntityMetaData {
31320
31324
  /** The Id of the class in the [[IModelDb]] from which the metadata was obtained. */
@@ -31327,9 +31331,12 @@ class EntityMetaData {
31327
31331
  /** The base class that this class is derives from. If more than one, the first is the actual base class and the others are mixins. */
31328
31332
  baseClasses;
31329
31333
  /** The Custom Attributes for this class */
31334
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
31330
31335
  customAttributes;
31331
31336
  /** An object whose properties correspond by name to the properties of this class. */
31337
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
31332
31338
  properties;
31339
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
31333
31340
  constructor(jsonObj) {
31334
31341
  this.classId = jsonObj.classId;
31335
31342
  this.ecclass = jsonObj.ecclass;
@@ -31340,6 +31347,7 @@ class EntityMetaData {
31340
31347
  this.customAttributes = jsonObj.customAttributes;
31341
31348
  this.properties = {};
31342
31349
  for (const propName in jsonObj.properties) { // eslint-disable-line guard-for-in
31350
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
31343
31351
  this.properties[propName] = new PropertyMetaData(jsonObj.properties[propName]);
31344
31352
  }
31345
31353
  }
@@ -60622,12 +60630,16 @@ __webpack_require__.r(__webpack_exports__);
60622
60630
  /* harmony export */ });
60623
60631
  /* harmony import */ var _ECObjects__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ECObjects */ "../../core/ecschema-metadata/lib/esm/ECObjects.js");
60624
60632
  /* harmony import */ var _Exception__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Exception */ "../../core/ecschema-metadata/lib/esm/Exception.js");
60633
+ /* harmony import */ var _Metadata_SchemaItem__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Metadata/SchemaItem */ "../../core/ecschema-metadata/lib/esm/Metadata/SchemaItem.js");
60634
+ /* harmony import */ var _SchemaKey__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./SchemaKey */ "../../core/ecschema-metadata/lib/esm/SchemaKey.js");
60625
60635
  /*---------------------------------------------------------------------------------------------
60626
60636
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
60627
60637
  * See LICENSE.md in the project root for license terms and full copyright notice.
60628
60638
  *--------------------------------------------------------------------------------------------*/
60629
60639
 
60630
60640
 
60641
+
60642
+
60631
60643
  /**
60632
60644
  * @internal
60633
60645
  */
@@ -60930,21 +60942,45 @@ class SchemaContext {
60930
60942
  getCachedSchemaSync(schemaKey, matchType = _ECObjects__WEBPACK_IMPORTED_MODULE_0__.SchemaMatchType.Latest) {
60931
60943
  return this._knownSchemas.getSchemaSync(schemaKey, matchType);
60932
60944
  }
60933
- async getSchemaItem(schemaItemKey, itemConstructor) {
60934
- const schema = await this.getSchema(schemaItemKey.schemaKey, _ECObjects__WEBPACK_IMPORTED_MODULE_0__.SchemaMatchType.Latest);
60935
- if (undefined === schema)
60945
+ async getSchemaItem(schemaNameOrKey, itemNameOrCtor, itemConstructor) {
60946
+ let schemaKey;
60947
+ if (typeof schemaNameOrKey === "string") {
60948
+ const [schemaName, itemName] = _Metadata_SchemaItem__WEBPACK_IMPORTED_MODULE_2__.SchemaItem.parseFullName(schemaNameOrKey);
60949
+ schemaKey = (!schemaName) ? new _SchemaKey__WEBPACK_IMPORTED_MODULE_3__.SchemaKey(itemName) : new _SchemaKey__WEBPACK_IMPORTED_MODULE_3__.SchemaKey(schemaName);
60950
+ }
60951
+ else {
60952
+ schemaKey = schemaNameOrKey.schemaKey;
60953
+ }
60954
+ const schema = await this.getSchema(schemaKey, _ECObjects__WEBPACK_IMPORTED_MODULE_0__.SchemaMatchType.Latest);
60955
+ if (!schema)
60936
60956
  return undefined;
60937
- if (undefined === itemConstructor)
60938
- return schema.getItem(schemaItemKey.name);
60939
- return schema.getItem(schemaItemKey.name, itemConstructor);
60940
- }
60941
- getSchemaItemSync(schemaItemKey, itemConstructor) {
60942
- const schema = this.getSchemaSync(schemaItemKey.schemaKey, _ECObjects__WEBPACK_IMPORTED_MODULE_0__.SchemaMatchType.Latest);
60943
- if (undefined === schema)
60957
+ if (typeof itemNameOrCtor === "string") // Separate schema and item name arguments with/without an itemConstructor
60958
+ return itemConstructor ? schema.getItem(itemNameOrCtor, itemConstructor) : schema.getItem(itemNameOrCtor);
60959
+ if (typeof schemaNameOrKey === "string") // Single schema item full name argument with/without an itemConstructor
60960
+ return itemNameOrCtor ? schema.lookupItem(schemaNameOrKey, itemNameOrCtor) : schema.lookupItem(schemaNameOrKey);
60961
+ // Schema Item Key with/without an itemConstructor
60962
+ return itemNameOrCtor ? schema.getItem(schemaNameOrKey.name, itemNameOrCtor) : schema.getItem(schemaNameOrKey.name);
60963
+ }
60964
+ getSchemaItemSync(schemaNameOrKey, itemNameOrCtor, itemConstructor) {
60965
+ let schemaKey;
60966
+ if (typeof schemaNameOrKey === "string") {
60967
+ const [schemaName, itemName] = _Metadata_SchemaItem__WEBPACK_IMPORTED_MODULE_2__.SchemaItem.parseFullName(schemaNameOrKey);
60968
+ schemaKey = (!schemaName) ? new _SchemaKey__WEBPACK_IMPORTED_MODULE_3__.SchemaKey(itemName) : new _SchemaKey__WEBPACK_IMPORTED_MODULE_3__.SchemaKey(schemaName);
60969
+ }
60970
+ else {
60971
+ schemaKey = schemaNameOrKey.schemaKey;
60972
+ }
60973
+ const schema = this.getSchemaSync(schemaKey, _ECObjects__WEBPACK_IMPORTED_MODULE_0__.SchemaMatchType.Latest);
60974
+ if (!schema)
60944
60975
  return undefined;
60945
- if (undefined === itemConstructor)
60946
- return schema.getItemSync(schemaItemKey.name);
60947
- return schema.getItemSync(schemaItemKey.name, itemConstructor);
60976
+ // Separate schema and item name arguments with/without an itemConstructor
60977
+ if (typeof itemNameOrCtor === "string") {
60978
+ return itemConstructor ? schema.getItemSync(itemNameOrCtor, itemConstructor) : schema.getItemSync(itemNameOrCtor);
60979
+ }
60980
+ if (typeof schemaNameOrKey === "string") // Single schema item full name argument with/without an itemConstructor
60981
+ return itemNameOrCtor ? schema.lookupItemSync(schemaNameOrKey, itemNameOrCtor) : schema.lookupItemSync(schemaNameOrKey);
60982
+ // Schema Item Key with/without an itemConstructor
60983
+ return itemNameOrCtor ? schema.getItemSync(schemaNameOrKey.name, itemNameOrCtor) : schema.getItemSync(schemaNameOrKey.name);
60948
60984
  }
60949
60985
  /**
60950
60986
  * Iterates through the items of each schema known to the context. This includes schemas added to the
@@ -63683,8 +63719,6 @@ class XmlParser extends _AbstractParser__WEBPACK_IMPORTED_MODULE_5__.AbstractPar
63683
63719
  }
63684
63720
  addCAPropertyValues(caClass, propertyElements) {
63685
63721
  const instance = { className: caClass.fullName };
63686
- if (!caClass.properties)
63687
- return instance;
63688
63722
  for (const propertyElement of propertyElements) {
63689
63723
  const value = this.readPropertyValue(propertyElement, caClass);
63690
63724
  if (value !== undefined)
@@ -63931,9 +63965,7 @@ var XmlSerializationUtils;
63931
63965
  const caElement = schemaDoc.createElement(nameAndNamespace[0]);
63932
63966
  if (nameAndNamespace[1])
63933
63967
  caElement.setAttribute("xmlns", nameAndNamespace[1]);
63934
- if (!caClass.properties)
63935
- return caElement;
63936
- for (const property of caClass.properties)
63968
+ for (const property of await caClass.getProperties())
63937
63969
  await writeInstanceProperty(property, customAttribute, caElement, schemaDoc);
63938
63970
  return caElement;
63939
63971
  }
@@ -63999,9 +64031,7 @@ var XmlSerializationUtils;
63999
64031
  */
64000
64032
  async function writeStructProperty(propertyClass, propertyValue, structElement, schemaDoc) {
64001
64033
  const structClass = propertyClass.structClass;
64002
- if (!structClass.properties)
64003
- return;
64004
- for (const propertyMetadata of structClass.properties)
64034
+ for (const propertyMetadata of structClass.getPropertiesSync(true))
64005
64035
  await writeInstanceProperty(propertyMetadata, propertyValue, structElement, schemaDoc);
64006
64036
  }
64007
64037
  XmlSerializationUtils.writeStructProperty = writeStructProperty;
@@ -64664,7 +64694,6 @@ function isSupportedSchemaItemType(value, supported) {
64664
64694
  value === SchemaItemType.CustomAttributeClass ||
64665
64695
  value === SchemaItemType.RelationshipClass)) {
64666
64696
  return true;
64667
- ;
64668
64697
  }
64669
64698
  if (supported === AbstractSchemaItemType.SchemaItem) {
64670
64699
  return true;
@@ -64851,7 +64880,6 @@ class ECClass extends _SchemaItem__WEBPACK_IMPORTED_MODULE_9__.SchemaItem {
64851
64880
  _customAttributes;
64852
64881
  _mergedPropertyCache;
64853
64882
  get modifier() { return this._modifier; }
64854
- get properties() { return this._properties?.values(); }
64855
64883
  get customAttributes() { return this._customAttributes; }
64856
64884
  constructor(schema, name, modifier) {
64857
64885
  super(schema, name);
@@ -64895,6 +64923,7 @@ class ECClass extends _SchemaItem__WEBPACK_IMPORTED_MODULE_9__.SchemaItem {
64895
64923
  if (!this._properties)
64896
64924
  this._properties = new Map();
64897
64925
  this._properties.set(prop.name.toUpperCase(), prop);
64926
+ this.cleanCache();
64898
64927
  return prop;
64899
64928
  }
64900
64929
  /**
@@ -64905,8 +64934,10 @@ class ECClass extends _SchemaItem__WEBPACK_IMPORTED_MODULE_9__.SchemaItem {
64905
64934
  async deleteProperty(name) {
64906
64935
  if (this._properties) {
64907
64936
  const property = await this.getProperty(name);
64908
- if (property)
64937
+ if (property) {
64909
64938
  this._properties.delete(name.toUpperCase());
64939
+ this.cleanCache();
64940
+ }
64910
64941
  }
64911
64942
  }
64912
64943
  /**
@@ -64917,8 +64948,10 @@ class ECClass extends _SchemaItem__WEBPACK_IMPORTED_MODULE_9__.SchemaItem {
64917
64948
  deletePropertySync(name) {
64918
64949
  if (this._properties) {
64919
64950
  const property = this.getPropertySync(name);
64920
- if (property)
64951
+ if (property) {
64921
64952
  this._properties.delete(name.toUpperCase());
64953
+ this.cleanCache();
64954
+ }
64922
64955
  }
64923
64956
  }
64924
64957
  getBaseClassSync() {
@@ -65119,7 +65152,7 @@ class ECClass extends _SchemaItem__WEBPACK_IMPORTED_MODULE_9__.SchemaItem {
65119
65152
  if (this.baseClass !== undefined)
65120
65153
  schemaJson.baseClass = this.baseClass.fullName;
65121
65154
  if (this._properties !== undefined && this._properties.size > 0)
65122
- schemaJson.properties = [...this.properties].map((prop) => prop.toJSON());
65155
+ schemaJson.properties = [...this._properties.values()].map((prop) => prop.toJSON());
65123
65156
  const customAttributes = (0,_CustomAttribute__WEBPACK_IMPORTED_MODULE_6__.serializeCustomAttributes)(this.customAttributes);
65124
65157
  if (customAttributes !== undefined)
65125
65158
  schemaJson.customAttributes = customAttributes;
@@ -65137,8 +65170,8 @@ class ECClass extends _SchemaItem__WEBPACK_IMPORTED_MODULE_9__.SchemaItem {
65137
65170
  baseClassElement.textContent = baseClassName;
65138
65171
  itemElement.appendChild(baseClassElement);
65139
65172
  }
65140
- if (undefined !== this.properties) {
65141
- for (const prop of this.properties) {
65173
+ if (undefined !== this._properties) {
65174
+ for (const prop of this._properties.values()) {
65142
65175
  const propXml = await prop.toXml(schemaXml);
65143
65176
  itemElement.appendChild(propXml);
65144
65177
  }
@@ -65256,52 +65289,71 @@ class ECClass extends _SchemaItem__WEBPACK_IMPORTED_MODULE_9__.SchemaItem {
65256
65289
  }
65257
65290
  }
65258
65291
  }
65259
- async buildPropertyCache(result, existingValues, resetBaseCaches = false) {
65292
+ async buildPropertyCache(result, existingValues) {
65260
65293
  if (!existingValues) {
65261
65294
  existingValues = new Map();
65262
65295
  }
65263
65296
  if (this.baseClass) {
65264
- ECClass.mergeProperties(result, existingValues, await (await this.baseClass).getProperties(resetBaseCaches), false);
65297
+ const baseClass = await this.baseClass;
65298
+ if (baseClass) {
65299
+ ECClass.mergeProperties(result, existingValues, await baseClass.getProperties(), false);
65300
+ }
65265
65301
  }
65266
- if (!this.properties)
65302
+ if (!this._properties)
65267
65303
  return;
65268
- ECClass.mergeProperties(result, existingValues, [...this.properties], true);
65304
+ ECClass.mergeProperties(result, existingValues, [...this._properties.values()], true);
65269
65305
  }
65270
- buildPropertyCacheSync(result, existingValues, resetBaseCaches = false) {
65306
+ buildPropertyCacheSync(result, existingValues) {
65271
65307
  if (!existingValues) {
65272
65308
  existingValues = new Map();
65273
65309
  }
65274
65310
  const baseClass = this.getBaseClassSync();
65275
65311
  if (baseClass) {
65276
- ECClass.mergeProperties(result, existingValues, baseClass.getPropertiesSync(resetBaseCaches), false);
65312
+ ECClass.mergeProperties(result, existingValues, baseClass.getPropertiesSync(), false);
65277
65313
  }
65278
- if (!this.properties)
65314
+ if (!this._properties)
65279
65315
  return;
65280
- ECClass.mergeProperties(result, existingValues, [...this.properties], true);
65316
+ ECClass.mergeProperties(result, existingValues, [...this._properties.values()], true);
65281
65317
  }
65282
65318
  /**
65283
- * Iterates all properties, including the ones merged from base classes and mixins. To obtain only local properties, use the 'properties' field.
65319
+ * Clears all caches on this object. This is called implicitly for this class,
65320
+ * but needs to be called if derived classes have changed.
65321
+ * @internal
65322
+ */
65323
+ cleanCache() {
65324
+ this._mergedPropertyCache = undefined;
65325
+ }
65326
+ /**
65327
+ * Returns the properties on this class and its base classes.
65284
65328
  * Since this is an expensive operation, results will be cached after first call.
65285
- * @param resetCache if true, any previously cached results will be dropped and cache will be rebuilt
65329
+ * @param excludeInherited If true, only properties defined directly on this class will be returned. Defaults to false.
65330
+ * @returns An array of properties, empty array if none exist.
65286
65331
  */
65287
- getPropertiesSync(resetCache = false) {
65288
- if (!this._mergedPropertyCache || resetCache) {
65332
+ getPropertiesSync(excludeInherited) {
65333
+ if (excludeInherited) {
65334
+ return this._properties && this._properties.size > 0 ? this._properties.values() : [];
65335
+ }
65336
+ if (!this._mergedPropertyCache) {
65289
65337
  this._mergedPropertyCache = [];
65290
- this.buildPropertyCacheSync(this._mergedPropertyCache, undefined, resetCache);
65338
+ this.buildPropertyCacheSync(this._mergedPropertyCache, undefined);
65291
65339
  }
65292
65340
  return this._mergedPropertyCache;
65293
65341
  }
65294
65342
  /**
65295
- * Iterates all properties, including the ones merged from base classes and mixins. To obtain only local properties, use the 'properties' field.
65343
+ * Quick way to check whether this class has any local properties without having to use the iterable
65344
+ */
65345
+ get hasLocalProperties() {
65346
+ return this._properties !== undefined && this._properties.size > 0;
65347
+ }
65348
+ /**
65349
+ * Returns the properties on this class and its base classes.
65296
65350
  * Since this is an expensive operation, results will be cached after first call.
65297
- * @param resetCache if true, any previously cached results will be dropped and cache will be rebuilt
65351
+ * @param excludeInherited If true, only properties defined directly on this class will be returned.
65352
+ * @returns An array of properties, empty array if none exist.
65298
65353
  */
65299
- async getProperties(resetCache = false) {
65300
- if (!this._mergedPropertyCache || resetCache) {
65301
- this._mergedPropertyCache = [];
65302
- await this.buildPropertyCache(this._mergedPropertyCache, undefined, resetCache);
65303
- }
65304
- return this._mergedPropertyCache;
65354
+ async getProperties(excludeInherited) {
65355
+ // At the moment we do not lazy load properties, so this is the same as getPropertiesSync
65356
+ return this.getPropertiesSync(excludeInherited);
65305
65357
  }
65306
65358
  /**
65307
65359
  * Retrieve all custom attributes in the current class and its bases
@@ -65897,34 +65949,34 @@ class EntityClass extends _Class__WEBPACK_IMPORTED_MODULE_4__.ECClass {
65897
65949
  }
65898
65950
  return undefined;
65899
65951
  }
65900
- async buildPropertyCache(result, existingValues, resetBaseCaches = false) {
65952
+ async buildPropertyCache(result, existingValues) {
65901
65953
  if (!existingValues) {
65902
65954
  existingValues = new Map();
65903
65955
  }
65904
- if (this.baseClass) {
65905
- _Class__WEBPACK_IMPORTED_MODULE_4__.ECClass.mergeProperties(result, existingValues, await (await this.baseClass).getProperties(resetBaseCaches), false);
65956
+ const baseClass = await this.baseClass;
65957
+ if (baseClass) {
65958
+ _Class__WEBPACK_IMPORTED_MODULE_4__.ECClass.mergeProperties(result, existingValues, await baseClass.getProperties(), false);
65906
65959
  }
65907
65960
  for (const mixin of this.mixins) {
65908
- _Class__WEBPACK_IMPORTED_MODULE_4__.ECClass.mergeProperties(result, existingValues, await (await mixin).getProperties(resetBaseCaches), false);
65961
+ const resolvedMixin = await mixin;
65962
+ _Class__WEBPACK_IMPORTED_MODULE_4__.ECClass.mergeProperties(result, existingValues, await resolvedMixin.getProperties(), false);
65909
65963
  }
65910
- if (!this.properties)
65911
- return;
65912
- _Class__WEBPACK_IMPORTED_MODULE_4__.ECClass.mergeProperties(result, existingValues, [...this.properties], true);
65964
+ const localProps = await this.getProperties(true);
65965
+ _Class__WEBPACK_IMPORTED_MODULE_4__.ECClass.mergeProperties(result, existingValues, localProps, true);
65913
65966
  }
65914
- buildPropertyCacheSync(result, existingValues, resetBaseCaches = false) {
65967
+ buildPropertyCacheSync(result, existingValues) {
65915
65968
  if (!existingValues) {
65916
65969
  existingValues = new Map();
65917
65970
  }
65918
65971
  const baseClass = this.getBaseClassSync();
65919
65972
  if (baseClass) {
65920
- _Class__WEBPACK_IMPORTED_MODULE_4__.ECClass.mergeProperties(result, existingValues, baseClass.getPropertiesSync(resetBaseCaches), false);
65973
+ _Class__WEBPACK_IMPORTED_MODULE_4__.ECClass.mergeProperties(result, existingValues, baseClass.getPropertiesSync(), false);
65921
65974
  }
65922
65975
  for (const mixin of this.getMixinsSync()) {
65923
- _Class__WEBPACK_IMPORTED_MODULE_4__.ECClass.mergeProperties(result, existingValues, mixin.getPropertiesSync(resetBaseCaches), false);
65976
+ _Class__WEBPACK_IMPORTED_MODULE_4__.ECClass.mergeProperties(result, existingValues, mixin.getPropertiesSync(), false);
65924
65977
  }
65925
- if (!this.properties)
65926
- return;
65927
- _Class__WEBPACK_IMPORTED_MODULE_4__.ECClass.mergeProperties(result, existingValues, [...this.properties], true);
65978
+ const localProps = this.getPropertiesSync(true);
65979
+ _Class__WEBPACK_IMPORTED_MODULE_4__.ECClass.mergeProperties(result, existingValues, localProps, true);
65928
65980
  }
65929
65981
  /**
65930
65982
  *
@@ -71211,8 +71263,7 @@ class SchemaUnitProvider {
71211
71263
  // Find units' full name that match given phenomenon param.
71212
71264
  const filteredUnits = [];
71213
71265
  const schemaItems = this._context.getSchemaItems();
71214
- let { value, done } = schemaItems.next();
71215
- while (!done) {
71266
+ for (const value of schemaItems) {
71216
71267
  if (_Metadata_Unit__WEBPACK_IMPORTED_MODULE_5__.Unit.isUnit(value)) {
71217
71268
  const foundPhenomenon = await value.phenomenon;
71218
71269
  if (foundPhenomenon && foundPhenomenon.key.matchesFullName(phenomenon)) {
@@ -71230,7 +71281,6 @@ class SchemaUnitProvider {
71230
71281
  }
71231
71282
  }
71232
71283
  }
71233
- ({ value, done } = schemaItems.next());
71234
71284
  }
71235
71285
  return filteredUnits;
71236
71286
  }
@@ -71344,8 +71394,7 @@ class SchemaUnitProvider {
71344
71394
  async findUnitByDisplayLabel(displayLabel, schemaName, phenomenon, unitSystem) {
71345
71395
  // TODO: Known bug: This only looks through loaded schemas. If schema name is provided, we can attempt to load that schema
71346
71396
  const schemaItems = this._context.getSchemaItems();
71347
- let { value, done } = schemaItems.next();
71348
- while (!done) {
71397
+ for (const value of schemaItems) {
71349
71398
  if (_Metadata_Unit__WEBPACK_IMPORTED_MODULE_5__.Unit.isUnit(value) && value.label?.toLowerCase() === displayLabel) {
71350
71399
  // TODO: this can be optimized. We don't have to await these if we don't want to check for them
71351
71400
  const currPhenomenon = await value.phenomenon;
@@ -71366,7 +71415,6 @@ class SchemaUnitProvider {
71366
71415
  return this.getUnitsProps(value);
71367
71416
  }
71368
71417
  }
71369
- ({ value, done } = schemaItems.next());
71370
71418
  }
71371
71419
  return new _itwin_core_quantity__WEBPACK_IMPORTED_MODULE_1__.BadUnit();
71372
71420
  }
@@ -71456,10 +71504,8 @@ class SchemaWalker {
71456
71504
  await this.traverseClass(schemaItem);
71457
71505
  }
71458
71506
  async traverseClass(ecClass) {
71459
- if (ecClass.properties) {
71460
- for (const property of ecClass.properties) {
71461
- await this._visitorHelper.visitSchemaPart(property);
71462
- }
71507
+ for (const property of await ecClass.getProperties(true)) {
71508
+ await this._visitorHelper.visitSchemaPart(property);
71463
71509
  }
71464
71510
  if (ecClass.schemaItemType === _ECObjects__WEBPACK_IMPORTED_MODULE_0__.SchemaItemType.RelationshipClass) {
71465
71511
  await this._visitorHelper.visitSchemaPart(ecClass.source);
@@ -310903,7 +310949,7 @@ var loadLanguages = instance.loadLanguages;
310903
310949
  /***/ ((module) => {
310904
310950
 
310905
310951
  "use strict";
310906
- module.exports = /*#__PURE__*/JSON.parse('{"name":"@itwin/core-frontend","version":"5.0.0-dev.89","description":"iTwin.js frontend components","main":"lib/cjs/core-frontend.js","module":"lib/esm/core-frontend.js","typings":"lib/cjs/core-frontend","license":"MIT","scripts":{"build":"npm run -s copy:public && npm run -s build:cjs && 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 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","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","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:*"},"//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.6","@vitest/coverage-v8":"^3.0.6","cpx2":"^8.0.0","eslint":"^9.13.0","glob":"^10.3.12","playwright":"~1.47.1","rimraf":"^6.0.1","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/cloud-agnostic-core":"^2.2.4","@itwin/object-storage-core":"^2.3.0","@itwin/core-i18n":"workspace:*","@itwin/webgl-compatibility":"workspace:*","@loaders.gl/core":"^3.1.6","@loaders.gl/draco":"^3.1.6","fuse.js":"^3.3.0","wms-capabilities":"0.4.0"}}');
310952
+ module.exports = /*#__PURE__*/JSON.parse('{"name":"@itwin/core-frontend","version":"5.0.0-dev.90","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 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","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","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:*"},"//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.6","@vitest/coverage-v8":"^3.0.6","cpx2":"^8.0.0","eslint":"^9.13.0","glob":"^10.3.12","playwright":"~1.47.1","rimraf":"^6.0.1","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/cloud-agnostic-core":"^2.2.4","@itwin/object-storage-core":"^2.3.0","@itwin/core-i18n":"workspace:*","@itwin/webgl-compatibility":"workspace:*","@loaders.gl/core":"^3.1.6","@loaders.gl/draco":"^3.1.6","fuse.js":"^3.3.0","wms-capabilities":"0.4.0"}}');
310907
310953
 
310908
310954
  /***/ })
310909
310955