@itwin/core-frontend 5.12.0-dev.8 → 5.12.0

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.
Files changed (82) hide show
  1. package/CHANGELOG.md +23 -1
  2. package/lib/cjs/AccuDraw.d.ts.map +1 -1
  3. package/lib/cjs/AccuDraw.js +10 -9
  4. package/lib/cjs/AccuDraw.js.map +1 -1
  5. package/lib/cjs/AuxCoordSys.d.ts +11 -4
  6. package/lib/cjs/AuxCoordSys.d.ts.map +1 -1
  7. package/lib/cjs/AuxCoordSys.js +12 -6
  8. package/lib/cjs/AuxCoordSys.js.map +1 -1
  9. package/lib/cjs/BriefcaseConnection.js +1 -1
  10. package/lib/cjs/BriefcaseConnection.js.map +1 -1
  11. package/lib/cjs/DrawingViewState.d.ts.map +1 -1
  12. package/lib/cjs/DrawingViewState.js +3 -4
  13. package/lib/cjs/DrawingViewState.js.map +1 -1
  14. package/lib/cjs/EntityState.js +1 -1
  15. package/lib/cjs/EntityState.js.map +1 -1
  16. package/lib/cjs/IModelConnection.d.ts +20 -7
  17. package/lib/cjs/IModelConnection.d.ts.map +1 -1
  18. package/lib/cjs/IModelConnection.js +66 -77
  19. package/lib/cjs/IModelConnection.js.map +1 -1
  20. package/lib/cjs/IpcApp.d.ts +37 -0
  21. package/lib/cjs/IpcApp.d.ts.map +1 -1
  22. package/lib/cjs/IpcApp.js +56 -26
  23. package/lib/cjs/IpcApp.js.map +1 -1
  24. package/lib/cjs/ViewCreator2d.d.ts.map +1 -1
  25. package/lib/cjs/ViewCreator2d.js +7 -9
  26. package/lib/cjs/ViewCreator2d.js.map +1 -1
  27. package/lib/cjs/common/gltf/GltfSchema.d.ts +7 -0
  28. package/lib/cjs/common/gltf/GltfSchema.d.ts.map +1 -1
  29. package/lib/cjs/common/gltf/GltfSchema.js.map +1 -1
  30. package/lib/cjs/tile/GltfReader.d.ts.map +1 -1
  31. package/lib/cjs/tile/GltfReader.js +3 -0
  32. package/lib/cjs/tile/GltfReader.js.map +1 -1
  33. package/lib/cjs/tile/TileRequestChannel.js.map +1 -1
  34. package/lib/cjs/tools/AccuDrawTool.d.ts +20 -3
  35. package/lib/cjs/tools/AccuDrawTool.d.ts.map +1 -1
  36. package/lib/cjs/tools/AccuDrawTool.js +108 -58
  37. package/lib/cjs/tools/AccuDrawTool.js.map +1 -1
  38. package/lib/cjs/tools/ElementSetTool.d.ts.map +1 -1
  39. package/lib/cjs/tools/ElementSetTool.js +1 -2
  40. package/lib/cjs/tools/ElementSetTool.js.map +1 -1
  41. package/lib/esm/AccuDraw.d.ts.map +1 -1
  42. package/lib/esm/AccuDraw.js +11 -10
  43. package/lib/esm/AccuDraw.js.map +1 -1
  44. package/lib/esm/AuxCoordSys.d.ts +11 -4
  45. package/lib/esm/AuxCoordSys.d.ts.map +1 -1
  46. package/lib/esm/AuxCoordSys.js +13 -7
  47. package/lib/esm/AuxCoordSys.js.map +1 -1
  48. package/lib/esm/BriefcaseConnection.js +1 -1
  49. package/lib/esm/BriefcaseConnection.js.map +1 -1
  50. package/lib/esm/DrawingViewState.d.ts.map +1 -1
  51. package/lib/esm/DrawingViewState.js +3 -4
  52. package/lib/esm/DrawingViewState.js.map +1 -1
  53. package/lib/esm/EntityState.js +1 -1
  54. package/lib/esm/EntityState.js.map +1 -1
  55. package/lib/esm/IModelConnection.d.ts +20 -7
  56. package/lib/esm/IModelConnection.d.ts.map +1 -1
  57. package/lib/esm/IModelConnection.js +67 -78
  58. package/lib/esm/IModelConnection.js.map +1 -1
  59. package/lib/esm/IpcApp.d.ts +37 -0
  60. package/lib/esm/IpcApp.d.ts.map +1 -1
  61. package/lib/esm/IpcApp.js +56 -27
  62. package/lib/esm/IpcApp.js.map +1 -1
  63. package/lib/esm/ViewCreator2d.d.ts.map +1 -1
  64. package/lib/esm/ViewCreator2d.js +7 -9
  65. package/lib/esm/ViewCreator2d.js.map +1 -1
  66. package/lib/esm/common/gltf/GltfSchema.d.ts +7 -0
  67. package/lib/esm/common/gltf/GltfSchema.d.ts.map +1 -1
  68. package/lib/esm/common/gltf/GltfSchema.js.map +1 -1
  69. package/lib/esm/tile/GltfReader.d.ts.map +1 -1
  70. package/lib/esm/tile/GltfReader.js +3 -0
  71. package/lib/esm/tile/GltfReader.js.map +1 -1
  72. package/lib/esm/tile/TileRequestChannel.js.map +1 -1
  73. package/lib/esm/tools/AccuDrawTool.d.ts +20 -3
  74. package/lib/esm/tools/AccuDrawTool.d.ts.map +1 -1
  75. package/lib/esm/tools/AccuDrawTool.js +109 -59
  76. package/lib/esm/tools/AccuDrawTool.js.map +1 -1
  77. package/lib/esm/tools/ElementSetTool.d.ts.map +1 -1
  78. package/lib/esm/tools/ElementSetTool.js +1 -2
  79. package/lib/esm/tools/ElementSetTool.js.map +1 -1
  80. package/lib/public/scripts/parse-imdl-worker.js +1 -1
  81. package/lib/workers/webpack/parse-imdl-worker.js +1 -1
  82. package/package.json +24 -24
@@ -1 +1 @@
1
- {"version":3,"file":"EntityState.js","sourceRoot":"","sources":["../../src/EntityState.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ElementState\n */\n\nimport { GuidString, Id64, Id64String } from \"@itwin/core-bentley\";\nimport { Code, ElementProps, EntityProps, RelatedElement } from \"@itwin/core-common\";\nimport { IModelConnection } from \"./IModelConnection\";\n\n/** The \"state\" of an Entity as represented in a web browser. Every subclass of EntityState handles one BIS class.\n * @public\n * @extensions\n */\nexport class EntityState implements EntityProps {\n /** The name of the BIS schema for this class.\n * @note Subclasses from other than the BisCore domain must override the static member \"schemaName\" with their schema name.\n */\n public static get schemaName() { return \"BisCore\"; }\n\n private get _ctor(): typeof EntityState { return this.constructor as typeof EntityState; }\n\n /** The name of the BIS class associated with this class.\n * @note Every subclass of EntityState **MUST** override this method to identify its BIS class.\n * Failure to do so will ordinarily result in an error when the class is registered, since there may only\n * be one JavaScript class for a given BIS class (usually the errant class will collide with its superclass.)\n */\n public static get className() { return \"Entity\"; }\n\n /** The name of the BIS class associated with this class. */\n public get className(): string { return this._ctor.className; }\n\n /** The Id of this Entity. May be invalid if the Entity has not yet been saved in the database. */\n public readonly id: Id64String;\n /** The iModel from which this Entity was loaded */\n public readonly iModel: IModelConnection;\n /** The full class name in the form \"schema:class\". */\n public readonly classFullName: string;\n /** Optional [json properties]($docs/bis/guide/fundamentals/element-fundamentals.md#jsonproperties) of this Entity. */\n public readonly jsonProperties: { [key: string]: any };\n\n /** Constructor for EntityState\n * @param props the properties of the Entity for this EntityState\n * @param iModel the iModel from which this EntityState is to be constructed\n * @param _state source EntityState for clone\n */\n constructor(props: EntityProps, iModel: IModelConnection, _state?: EntityState) {\n this.classFullName = props.classFullName ? props.classFullName : this._ctor.classFullName;\n this.iModel = iModel;\n this.id = Id64.fromJSON(props.id);\n this.jsonProperties = props.jsonProperties ? JSON.parse(JSON.stringify(props.jsonProperties)) : {}; // make sure we have our own copy\n }\n\n /** @internal */\n public toJSON(): EntityProps {\n const val: any = {};\n val.classFullName = this.classFullName;\n if (Id64.isValid(this.id))\n val.id = this.id;\n if (this.jsonProperties && Object.keys(this.jsonProperties).length > 0)\n val.jsonProperties = this.jsonProperties;\n return val;\n }\n\n /** Return true if this EntityState is equal to another one. */\n public equals(other: this): boolean { return JSON.stringify(this.toJSON()) === JSON.stringify(other.toJSON()); }\n\n /** Make an independent copy of this EntityState */\n public clone(iModel?: IModelConnection): this { return new this._ctor(this.toJSON(), iModel ? iModel : this.iModel, this) as this; }\n\n /** Get full BIS class name of this Entity in the form \"SchemaName:ClassName\". */\n public static get classFullName(): string { return `${this.schemaName}:${this.className}`; }\n}\n\n/** The \"state\" of an Element as represented in a web browser.\n * @public\n * @extensions\n */\nexport class ElementState extends EntityState implements ElementProps {\n public static override get className() { return \"Element\"; }\n\n /** The ModelId of the [Model]($docs/bis/guide/fundamentals/model-fundamentals.md) containing this element */\n public readonly model: Id64String;\n /** The [Code]($docs/bis/guide/fundamentals/codes.md) for this element */\n public readonly code: Code;\n /** The parent Element of this, or undefined if no parent. */\n public readonly parent?: RelatedElement;\n /** A [FederationGuid]($docs/bis/guide/fundamentals/element-fundamentals.md#federationguid) assigned to this element by some other federated database */\n public readonly federationGuid?: GuidString;\n /** A [user-assigned label]($docs/bis/guide/fundamentals/element-fundamentals.md#userlabel) for this element. */\n public readonly userLabel?: string;\n\n constructor(props: ElementProps, iModel: IModelConnection) {\n super(props, iModel);\n this.code = Code.fromJSON(props.code);\n this.model = RelatedElement.idFromJson(props.model);\n this.parent = RelatedElement.fromJSON(props.parent);\n if (undefined !== props.federationGuid)\n this.federationGuid = props.federationGuid;\n if (undefined !== props.userLabel)\n this.userLabel = props.userLabel;\n }\n\n /** Obtain this element's JSON representation. Subclasses of ElementState typically override this method with a more\n * specific return type.\n */\n public override toJSON(): ElementProps {\n const val = super.toJSON() as ElementProps;\n if (Id64.isValid(this.code.spec))\n val.code = this.code;\n\n val.model = this.model;\n val.parent = this.parent;\n val.federationGuid = this.federationGuid;\n val.userLabel = this.userLabel;\n return val;\n }\n}\n"]}
1
+ {"version":3,"file":"EntityState.js","sourceRoot":"","sources":["../../src/EntityState.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAc,IAAI,EAAc,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,IAAI,EAA6B,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGrF;;;GAGG;AACH,MAAM,OAAO,WAAW;IACtB;;OAEG;IACI,MAAM,KAAK,UAAU,KAAK,OAAO,SAAS,CAAC,CAAC,CAAC;IAEpD,IAAY,KAAK,KAAyB,OAAO,IAAI,CAAC,WAAiC,CAAC,CAAC,CAAC;IAE1F;;;;OAIG;IACI,MAAM,KAAK,SAAS,KAAK,OAAO,QAAQ,CAAC,CAAC,CAAC;IAElD,4DAA4D;IAC5D,IAAW,SAAS,KAAa,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IAE/D,kGAAkG;IAClF,EAAE,CAAa;IAC/B,mDAAmD;IACnC,MAAM,CAAmB;IACzC,sDAAsD;IACtC,aAAa,CAAS;IACtC,sHAAsH;IACtG,cAAc,CAAyB;IAEvD;;;;OAIG;IACH,YAAY,KAAkB,EAAE,MAAwB,EAAE,MAAoB;QAC5E,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;QAC1F,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,iCAAiC;IACvI,CAAC;IAED,gBAAgB;IACT,MAAM;QACX,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QACvC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QACnB,IAAI,IAAI,CAAC,cAAc,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC;YACpE,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC3C,OAAO,GAAG,CAAC;IACb,CAAC;IAED,+DAA+D;IACxD,MAAM,CAAC,KAAW,IAAa,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IAEhH,mDAAmD;IAC5C,KAAK,CAAC,MAAyB,IAAU,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAS,CAAC,CAAC,CAAC;IAEpI,kFAAkF;IAC3E,MAAM,KAAK,aAAa,KAAa,OAAO,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;CAC7F;AAED;;;GAGG;AACH,MAAM,OAAO,YAAa,SAAQ,WAAW;IACpC,MAAM,KAAc,SAAS,KAAK,OAAO,SAAS,CAAC,CAAC,CAAC;IAE5D,6GAA6G;IAC7F,KAAK,CAAa;IAClC,yEAAyE;IACzD,IAAI,CAAO;IAC3B,6DAA6D;IAC7C,MAAM,CAAkB;IACxC,wJAAwJ;IACxI,cAAc,CAAc;IAC5C,gHAAgH;IAChG,SAAS,CAAU;IAEnC,YAAY,KAAmB,EAAE,MAAwB;QACvD,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,GAAG,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,SAAS,KAAK,KAAK,CAAC,cAAc;YACpC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;QAC7C,IAAI,SAAS,KAAK,KAAK,CAAC,SAAS;YAC/B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IACrC,CAAC;IAED;;OAEG;IACa,MAAM;QACpB,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,EAAkB,CAAC;QAC3C,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YAC9B,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,mDAAmD;QAEpF,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACvB,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACzB,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QACzC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAC/B,OAAO,GAAG,CAAC;IACb,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ElementState\n */\n\nimport { GuidString, Id64, Id64String } from \"@itwin/core-bentley\";\nimport { Code, ElementProps, EntityProps, RelatedElement } from \"@itwin/core-common\";\nimport { IModelConnection } from \"./IModelConnection\";\n\n/** The \"state\" of an Entity as represented in a web browser. Every subclass of EntityState handles one BIS class.\n * @public\n * @extensions\n */\nexport class EntityState implements EntityProps {\n /** The name of the BIS schema for this class.\n * @note Subclasses from other than the BisCore domain must override the static member \"schemaName\" with their schema name.\n */\n public static get schemaName() { return \"BisCore\"; }\n\n private get _ctor(): typeof EntityState { return this.constructor as typeof EntityState; }\n\n /** The name of the BIS class associated with this class.\n * @note Every subclass of EntityState **MUST** override this method to identify its BIS class.\n * Failure to do so will ordinarily result in an error when the class is registered, since there may only\n * be one JavaScript class for a given BIS class (usually the errant class will collide with its superclass.)\n */\n public static get className() { return \"Entity\"; }\n\n /** The name of the BIS class associated with this class. */\n public get className(): string { return this._ctor.className; }\n\n /** The Id of this Entity. May be invalid if the Entity has not yet been saved in the database. */\n public readonly id: Id64String;\n /** The iModel from which this Entity was loaded */\n public readonly iModel: IModelConnection;\n /** The full class name in the form \"schema:class\". */\n public readonly classFullName: string;\n /** Optional [json properties]($docs/bis/guide/fundamentals/element-fundamentals.md#jsonproperties) of this Entity. */\n public readonly jsonProperties: { [key: string]: any };\n\n /** Constructor for EntityState\n * @param props the properties of the Entity for this EntityState\n * @param iModel the iModel from which this EntityState is to be constructed\n * @param _state source EntityState for clone\n */\n constructor(props: EntityProps, iModel: IModelConnection, _state?: EntityState) {\n this.classFullName = props.classFullName ? props.classFullName : this._ctor.classFullName;\n this.iModel = iModel;\n this.id = Id64.fromJSON(props.id);\n this.jsonProperties = props.jsonProperties ? JSON.parse(JSON.stringify(props.jsonProperties)) : {}; // make sure we have our own copy\n }\n\n /** @internal */\n public toJSON(): EntityProps {\n const val: any = {};\n val.classFullName = this.classFullName;\n if (Id64.isValid(this.id))\n val.id = this.id;\n if (this.jsonProperties && Object.keys(this.jsonProperties).length > 0)\n val.jsonProperties = this.jsonProperties;\n return val;\n }\n\n /** Return true if this EntityState is equal to another one. */\n public equals(other: this): boolean { return JSON.stringify(this.toJSON()) === JSON.stringify(other.toJSON()); }\n\n /** Make an independent copy of this EntityState */\n public clone(iModel?: IModelConnection): this { return new this._ctor(this.toJSON(), iModel ? iModel : this.iModel, this) as this; }\n\n /** Get full BIS class name of this Entity in the form \"SchemaName:ClassName\". */\n public static get classFullName(): string { return `${this.schemaName}:${this.className}`; }\n}\n\n/** The \"state\" of an Element as represented in a web browser.\n * @public\n * @extensions\n */\nexport class ElementState extends EntityState implements ElementProps {\n public static override get className() { return \"Element\"; }\n\n /** The ModelId of the [Model]($docs/bis/guide/fundamentals/model-fundamentals.md) containing this element */\n public readonly model: Id64String;\n /** The [Code]($docs/bis/guide/fundamentals/codes.md) for this element */\n public readonly code: Code;\n /** The parent Element of this, or undefined if no parent. */\n public readonly parent?: RelatedElement;\n /** A [FederationGuid]($docs/bis/guide/fundamentals/element-fundamentals.md#federationguid) assigned to this element by some other federated database */\n public readonly federationGuid?: GuidString;\n /** A [user-assigned label]($docs/bis/guide/fundamentals/element-fundamentals.md#userlabel) for this element. */\n public readonly userLabel?: string;\n\n constructor(props: ElementProps, iModel: IModelConnection) {\n super(props, iModel);\n this.code = Code.fromJSON(props.code);\n this.model = RelatedElement.idFromJson(props.model);\n this.parent = RelatedElement.fromJSON(props.parent);\n if (undefined !== props.federationGuid)\n this.federationGuid = props.federationGuid;\n if (undefined !== props.userLabel)\n this.userLabel = props.userLabel;\n }\n\n /** Obtain this element's JSON representation. Subclasses of ElementState typically override this method with a more\n * specific return type.\n */\n public override toJSON(): ElementProps {\n const val = super.toJSON() as ElementProps;\n if (Id64.isValid(this.code.spec))\n val.code = this.code.toJSON(); // Ensure _value with get accessor is serialized...\n\n val.model = this.model;\n val.parent = this.parent;\n val.federationGuid = this.federationGuid;\n val.userLabel = this.userLabel;\n return val;\n }\n}\n"]}
@@ -15,7 +15,7 @@ import { SubCategoriesCache } from "./SubCategoriesCache";
15
15
  import { Tiles } from "./Tiles";
16
16
  import { ViewState } from "./ViewState";
17
17
  import { _requestSnap } from "./common/internal/Symbols";
18
- import { SchemaContext, SchemaView } from "@itwin/ecschema-metadata";
18
+ import { type GetSchemaViewArgs, SchemaContext, SchemaView } from "@itwin/ecschema-metadata";
19
19
  /** The properties for creating a [Blank IModelConnection]($docs/learning/frontend/BlankConnection)
20
20
  * @public
21
21
  */
@@ -118,7 +118,7 @@ export declare abstract class IModelConnection extends IModel {
118
118
  */
119
119
  fontMap?: FontMap;
120
120
  private _schemaContext?;
121
- private _schemasPromise?;
121
+ private _schemaViewManager?;
122
122
  /** Load the FontMap for this IModelConnection.
123
123
  * @returns Returns a Promise<FontMap> that is fulfilled when the FontMap member of this IModelConnection is valid.
124
124
  * @deprecated in 5.0.0 - might be removed in next major version. If you need font Ids on the front-end for some reason, write an Ipc method that queries [IModelDb.fonts]($backend).
@@ -320,17 +320,21 @@ export declare abstract class IModelConnection extends IModel {
320
320
  get schemaContext(): SchemaContext;
321
321
  /** Get the schema view for this iModel. The view is built lazily on
322
322
  * first call by fetching compact binary schema data via `PRAGMA schema_view` through
323
- * the existing queryRows RPC (ConcurrentQuery). Subsequent calls return the cached view.
324
- * Multiple concurrent callers share a single in-flight fetch.
323
+ * the existing queryRows RPC (ConcurrentQuery).
325
324
  *
326
325
  * The returned `SchemaView` is a lightweight, read-only, synchronous API for
327
326
  * navigating schema metadata - classes, properties, relationships, enumerations, etc.
328
327
  * It is the recommended default for runtime read-only metadata access and is significantly
329
328
  * faster and lower-memory than [[schemaContext]]. Use [[schemaContext]] for custom-attribute
330
329
  * deserialization or anywhere you need the full ecschema-metadata object graph.
330
+ *
331
+ * Every call shares one accumulating view instance and concurrent calls are serialized, so a
332
+ * caller never observes a partially loaded view. The instance is discarded once the connection
333
+ * detects that schemas changed, for example after [[BriefcaseConnection.pullChanges]]; the next
334
+ * call builds a new one. See [GetSchemaViewArgs]($ecschema-metadata) for the arguments.
331
335
  * @beta
332
336
  */
333
- getSchemaView(): Promise<SchemaView>;
337
+ getSchemaView(args?: GetSchemaViewArgs): Promise<SchemaView>;
334
338
  /**
335
339
  * Checks whether the iModel's schemas have changed since the current cached [[SchemaView]] was
336
340
  * built, and discards the cache only if they have.
@@ -341,7 +345,7 @@ export declare abstract class IModelConnection extends IModel {
341
345
  * returns only the new changeset id, not the list of applied changesets with their types.
342
346
  * Unconditionally discarding the cached [[SchemaView]] after every such operation would cause
343
347
  * unnecessary reloads in the common case where schemas are unchanged. This method avoids that
344
- * cost by fetching a lightweight schema checksum via `PRAGMA checksum(ecdb_schema)` and
348
+ * cost by fetching a lightweight schema token via `PRAGMA checksum(schema_token)` and
345
349
  * comparing it against the token stored in the cached view. Only when the token differs is the
346
350
  * cache discarded.
347
351
  *
@@ -350,7 +354,16 @@ export declare abstract class IModelConnection extends IModel {
350
354
  * @internal
351
355
  */
352
356
  protected invalidateSchemaViewIfChanged(): Promise<void>;
353
- private _fetchSchemas;
357
+ /** The [SchemaViewDataProvider]($ecschema-metadata) backing this iModel's [[getSchemaView]]: the
358
+ * transport-specific half of schema-view loading, issued through the queryRows RPC
359
+ * (ConcurrentQuery). The frontend *pins* the blob format version in both pragmas, because the
360
+ * backend it talks to can be older or newer; the pin makes it return a blob this code can parse,
361
+ * or fail cleanly.
362
+ */
363
+ private _createSchemaViewDataProvider;
364
+ /** Fetch one schema-view blob (full or fragment). Both `PRAGMA schema_view` and
365
+ * `PRAGMA schema_view_fragment` return a single row with the same columns. */
366
+ private _fetchSchemaBlob;
354
367
  }
355
368
  /** A connection that exists without an iModel. Useful for connecting to Reality Data services.
356
369
  * @note This class exists because our display system requires an IModelConnection type even if only reality data is drawn.
@@ -1 +1 @@
1
- {"version":3,"file":"IModelConnection.d.ts","sourceRoot":"","sources":["../../src/IModelConnection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IModelConnection.d.ts","sourceRoot":"","sources":["../../src/IModelConnection.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,7 @@ import { Tiles } from "./Tiles";
19
19
  import { ViewState } from "./ViewState";
20
20
  import { _requestSnap } from "./common/internal/Symbols";
21
21
  import { IpcApp } from "./IpcApp";
22
- import { SchemaContext, SchemaView, schemaViewFormatVersion } from "@itwin/ecschema-metadata";
22
+ import { SchemaContext, SchemaManifest, schemaViewFormatVersion, SchemaViewManager } from "@itwin/ecschema-metadata";
23
23
  import { ECSchemaRpcLocater, RpcIncrementalSchemaLocater } from '@itwin/ecschema-rpcinterface-common';
24
24
  const loggerCategory = FrontendLoggerCategory.IModelConnection;
25
25
  /** A connection to a [IModelDb]($backend) hosted on the backend.
@@ -104,7 +104,9 @@ export class IModelConnection extends IModel {
104
104
  */
105
105
  fontMap; // eslint-disable-line @typescript-eslint/no-deprecated
106
106
  _schemaContext;
107
- _schemasPromise;
107
+ // Created lazily on the first getSchemaView call. Owns the SchemaView's lifetime and does all its
108
+ // data access through the SchemaViewDataProvider implemented below.
109
+ _schemaViewManager;
108
110
  /** Load the FontMap for this IModelConnection.
109
111
  * @returns Returns a Promise<FontMap> that is fulfilled when the FontMap member of this IModelConnection is valid.
110
112
  * @deprecated in 5.0.0 - might be removed in next major version. If you need font Ids on the front-end for some reason, write an Ipc method that queries [IModelDb.fonts]($backend).
@@ -532,33 +534,23 @@ export class IModelConnection extends IModel {
532
534
  }
533
535
  /** Get the schema view for this iModel. The view is built lazily on
534
536
  * first call by fetching compact binary schema data via `PRAGMA schema_view` through
535
- * the existing queryRows RPC (ConcurrentQuery). Subsequent calls return the cached view.
536
- * Multiple concurrent callers share a single in-flight fetch.
537
+ * the existing queryRows RPC (ConcurrentQuery).
537
538
  *
538
539
  * The returned `SchemaView` is a lightweight, read-only, synchronous API for
539
540
  * navigating schema metadata - classes, properties, relationships, enumerations, etc.
540
541
  * It is the recommended default for runtime read-only metadata access and is significantly
541
542
  * faster and lower-memory than [[schemaContext]]. Use [[schemaContext]] for custom-attribute
542
543
  * deserialization or anywhere you need the full ecschema-metadata object graph.
544
+ *
545
+ * Every call shares one accumulating view instance and concurrent calls are serialized, so a
546
+ * caller never observes a partially loaded view. The instance is discarded once the connection
547
+ * detects that schemas changed, for example after [[BriefcaseConnection.pullChanges]]; the next
548
+ * call builds a new one. See [GetSchemaViewArgs]($ecschema-metadata) for the arguments.
543
549
  * @beta
544
550
  */
545
- async getSchemaView() {
546
- if (this._schemasPromise) {
547
- const ctx = await this._schemasPromise;
548
- if (!ctx.isOutdated)
549
- return ctx;
550
- }
551
- // Capture the in-flight promise locally so the rejection handler only clears
552
- // `_schemasPromise` if it still points at this build. A concurrent invalidation +
553
- // re-fetch could otherwise replace the field before our fetch fails, and a naive
554
- // `_schemasPromise = undefined` would clobber that newer reference.
555
- const inflight = this._fetchSchemas();
556
- this._schemasPromise = inflight;
557
- inflight.catch(() => {
558
- if (this._schemasPromise === inflight)
559
- this._schemasPromise = undefined;
560
- });
561
- return inflight;
551
+ async getSchemaView(args) {
552
+ this._schemaViewManager ??= new SchemaViewManager(this._createSchemaViewDataProvider());
553
+ return this._schemaViewManager.getSchemaView(args);
562
554
  }
563
555
  /**
564
556
  * Checks whether the iModel's schemas have changed since the current cached [[SchemaView]] was
@@ -570,7 +562,7 @@ export class IModelConnection extends IModel {
570
562
  * returns only the new changeset id, not the list of applied changesets with their types.
571
563
  * Unconditionally discarding the cached [[SchemaView]] after every such operation would cause
572
564
  * unnecessary reloads in the common case where schemas are unchanged. This method avoids that
573
- * cost by fetching a lightweight schema checksum via `PRAGMA checksum(ecdb_schema)` and
565
+ * cost by fetching a lightweight schema token via `PRAGMA checksum(schema_token)` and
574
566
  * comparing it against the token stored in the cached view. Only when the token differs is the
575
567
  * cache discarded.
576
568
  *
@@ -579,61 +571,59 @@ export class IModelConnection extends IModel {
579
571
  * @internal
580
572
  */
581
573
  async invalidateSchemaViewIfChanged() {
582
- if (!this._schemasPromise)
583
- return;
584
- const existingPromise = this._schemasPromise;
585
- let existing;
586
- try {
587
- existing = await existingPromise;
588
- }
589
- catch {
590
- // The cached promise itself failed; drop it so the next getSchemaView() retries.
591
- if (this._schemasPromise === existingPromise)
592
- this._schemasPromise = undefined;
593
- return;
594
- }
595
- if (!existing.schemaToken)
596
- return;
597
- try {
598
- const reader = this.createQueryReader("PRAGMA checksum(ecdb_schema)");
599
- const result = await reader.next();
600
- if (result.done)
601
- throw new Error("PRAGMA checksum(ecdb_schema) returned no rows");
602
- const liveToken = result.value.sha3_256;
603
- if (liveToken !== existing.schemaToken) {
604
- if (this._schemasPromise === existingPromise)
605
- this._schemasPromise = undefined;
606
- existing.markOutdated();
607
- }
608
- }
609
- catch {
610
- // The checksum check is called right after operations that may have changed schemas
611
- // (e.g., pullChanges). If we cannot verify the cached view is still current, drop it
612
- // rather than risk returning stale metadata indefinitely. The next getSchemaView() call
613
- // will reload. We also mark the existing view outdated so any retained references can
614
- // observe the invalidation.
615
- if (this._schemasPromise === existingPromise) {
616
- this._schemasPromise = undefined;
617
- existing.markOutdated();
618
- }
619
- }
574
+ await this._schemaViewManager?.invalidateIfChanged();
575
+ }
576
+ /** The [SchemaViewDataProvider]($ecschema-metadata) backing this iModel's [[getSchemaView]]: the
577
+ * transport-specific half of schema-view loading, issued through the queryRows RPC
578
+ * (ConcurrentQuery). The frontend *pins* the blob format version in both pragmas, because the
579
+ * backend it talks to can be older or newer; the pin makes it return a blob this code can parse,
580
+ * or fail cleanly.
581
+ */
582
+ _createSchemaViewDataProvider() {
583
+ return {
584
+ fetchFullBlob: async () => this._fetchSchemaBlob(`PRAGMA schema_view(${schemaViewFormatVersion})`),
585
+ // Names are ECNames, so a comma can never occur in one. Native re-validates each token as an
586
+ // ECName and fails the pragma on an unknown name. The `v<N>;` prefix pins the format version.
587
+ fetchFragmentBlob: async (schemaNames) => this._fetchSchemaBlob(`PRAGMA schema_view_fragment('v${schemaViewFormatVersion};${schemaNames.join(",")}')`),
588
+ fetchManifest: async () => {
589
+ const schemaRows = [];
590
+ const schemaSql = "SELECT ECInstanceId, Name, VersionMajor, VersionWrite, VersionMinor FROM meta.ECSchemaDef";
591
+ for await (const row of this.createQueryReader(schemaSql)) {
592
+ // ECInstanceId arrives as a hex Id64String. `ec_` metadata rowids carry no briefcase
593
+ // prefix, so the local id is the full value.
594
+ schemaRows.push({ ecInstanceId: Id64.getLocalId(row[0]), name: row[1], versionMajor: row[2], versionWrite: row[3], versionMinor: row[4] });
595
+ }
596
+ const referenceRows = [];
597
+ const referenceSql = "SELECT SourceECInstanceId, TargetECInstanceId FROM meta.SchemaHasSchemaReferences";
598
+ for await (const row of this.createQueryReader(referenceSql))
599
+ referenceRows.push({ sourceECInstanceId: Id64.getLocalId(row[0]), targetECInstanceId: Id64.getLocalId(row[1]) });
600
+ return SchemaManifest.fromRows(schemaRows, referenceRows);
601
+ },
602
+ fetchSchemaToken: async () => {
603
+ const reader = this.createQueryReader("PRAGMA checksum(schema_token)");
604
+ const result = await reader.next();
605
+ if (result.done)
606
+ throw new IModelError(IModelStatus.BadRequest, "PRAGMA checksum(schema_token) returned no rows");
607
+ return result.value.sha3_256;
608
+ },
609
+ };
620
610
  }
621
- async _fetchSchemas() {
622
- // PRAGMA returns exactly one row with format, formatVersion, data (binary), schemaToken.
623
- // Important: only call reader.next() once - do NOT use `for await` on PRAGMA results.
624
- // ConcurrentQuery wraps regular ECSQL in LIMIT/OFFSET for pagination but skips this for
625
- // PRAGMAs. If the serialized result exceeds the memory threshold, the response is marked
626
- // "Partial", and a `for await` loop would re-issue the same PRAGMA forever since PRAGMAs
627
- // don't support OFFSET-based pagination.
628
- const reader = this.createQueryReader(`PRAGMA schema_view(${schemaViewFormatVersion})`);
611
+ /** Fetch one schema-view blob (full or fragment). Both `PRAGMA schema_view` and
612
+ * `PRAGMA schema_view_fragment` return a single row with the same columns. */
613
+ async _fetchSchemaBlob(pragma) {
614
+ // Only call reader.next() once - do NOT use `for await` on PRAGMA results. ConcurrentQuery wraps
615
+ // regular ECSQL in LIMIT/OFFSET for pagination but skips this for PRAGMAs; if the serialized
616
+ // result exceeds the memory threshold, the response is marked "Partial", and a `for await` loop
617
+ // would re-issue the same PRAGMA forever since PRAGMAs don't support OFFSET-based pagination.
618
+ const reader = this.createQueryReader(pragma);
629
619
  const result = await reader.next();
630
620
  if (result.done)
631
- throw new IModelError(IModelStatus.BadRequest, "PRAGMA schema_view returned no rows");
621
+ throw new IModelError(IModelStatus.BadRequest, `${pragma} returned no rows`);
632
622
  const data = result.value.data;
633
623
  const token = result.value.schemaToken;
634
624
  if (data === undefined || data === null)
635
- throw new IModelError(IModelStatus.BadRequest, "PRAGMA schema_view returned null data column");
636
- return SchemaView.fromBinary(data, token ?? "");
625
+ throw new IModelError(IModelStatus.BadRequest, `${pragma} returned null data column`);
626
+ return { data, schemaToken: token ?? "" };
637
627
  }
638
628
  }
639
629
  /** A connection that exists without an iModel. Useful for connecting to Reality Data services.
@@ -1094,24 +1084,24 @@ export class SnapshotConnection extends IModelConnection {
1094
1084
  return [];
1095
1085
  const select3d = `
1096
1086
  SELECT
1097
- ECInstanceId,
1087
+ ECInstanceId as id,
1098
1088
  Origin.x as x, Origin.y as y, Origin.z as z,
1099
1089
  BBoxLow.x as lx, BBoxLow.y as ly, BBoxLow.z as lz,
1100
1090
  BBoxHigh.x as hx, BBoxHigh.y as hy, BBoxHigh.z as hz,
1101
- Yaw, Pitch, Roll,
1102
- NULL as Rotation
1091
+ Yaw as yaw, Pitch as pitch, Roll as roll,
1092
+ NULL as rotation
1103
1093
  FROM bis.GeometricElement3d
1104
1094
  WHERE Origin IS NOT NULL AND BBoxLow IS NOT NULL AND BBoxHigh IS NOT NULL`;
1105
1095
  // Note: For the UNION ALL statement, the column aliases in select2d are ignored - so they
1106
1096
  // must match those in select3d.
1107
1097
  const select2d = `
1108
1098
  SELECT
1109
- ECInstanceId,
1099
+ ECInstanceId as id,
1110
1100
  Origin.x as x, Origin.y as y, NULL as z,
1111
1101
  BBoxLow.x as lx, BBoxLow.y as ly, NULL as lz,
1112
1102
  BBoxHigh.x as hx, BBoxHigh.y as hy, NULL as hz,
1113
1103
  NULL as yaw, NULL as pitch, NULL as roll,
1114
- Rotation
1104
+ Rotation as rotation
1115
1105
  FROM bis.GeometricElement2d
1116
1106
  WHERE Origin IS NOT NULL AND BBoxLow IS NOT NULL AND BBoxHigh IS NOT NULL`;
1117
1107
  const idCriterion = `ECInstanceId IN (${ids.join(",")})`;
@@ -1133,8 +1123,7 @@ export class SnapshotConnection extends IModelConnection {
1133
1123
  break;
1134
1124
  }
1135
1125
  const placements = new Array();
1136
- // eslint-disable-next-line @typescript-eslint/no-deprecated
1137
- for await (const queryRow of this._iModel.createQueryReader(ecsql, undefined, { rowFormat: QueryRowFormat.UseJsPropertyNames })) {
1126
+ for await (const queryRow of this._iModel.createQueryReader(ecsql, undefined, { rowFormat: QueryRowFormat.UseECSqlPropertyNames })) {
1138
1127
  const row = queryRow.toRow();
1139
1128
  const origin = [row.x, row.y, row.z];
1140
1129
  const bbox = {