@itwin/core-backend 3.3.0-dev.9 → 3.3.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 (102) hide show
  1. package/CHANGELOG.md +62 -1
  2. package/lib/cjs/BackendHubAccess.d.ts +32 -15
  3. package/lib/cjs/BackendHubAccess.d.ts.map +1 -1
  4. package/lib/cjs/BackendHubAccess.js.map +1 -1
  5. package/lib/cjs/BisCoreSchema.d.ts +1 -1
  6. package/lib/cjs/BisCoreSchema.js +1 -1
  7. package/lib/cjs/BisCoreSchema.js.map +1 -1
  8. package/lib/cjs/BriefcaseManager.d.ts +10 -11
  9. package/lib/cjs/BriefcaseManager.d.ts.map +1 -1
  10. package/lib/cjs/BriefcaseManager.js +10 -11
  11. package/lib/cjs/BriefcaseManager.js.map +1 -1
  12. package/lib/cjs/CheckpointManager.d.ts +28 -6
  13. package/lib/cjs/CheckpointManager.d.ts.map +1 -1
  14. package/lib/cjs/CheckpointManager.js +117 -22
  15. package/lib/cjs/CheckpointManager.js.map +1 -1
  16. package/lib/cjs/ClassRegistry.js +6 -6
  17. package/lib/cjs/ClassRegistry.js.map +1 -1
  18. package/lib/cjs/CodeSpecs.d.ts +1 -1
  19. package/lib/cjs/CodeSpecs.js +1 -1
  20. package/lib/cjs/CodeSpecs.js.map +1 -1
  21. package/lib/cjs/DisplayStyle.d.ts +2 -2
  22. package/lib/cjs/DisplayStyle.d.ts.map +1 -1
  23. package/lib/cjs/DisplayStyle.js +14 -17
  24. package/lib/cjs/DisplayStyle.js.map +1 -1
  25. package/lib/cjs/Element.d.ts +36 -25
  26. package/lib/cjs/Element.d.ts.map +1 -1
  27. package/lib/cjs/Element.js +54 -39
  28. package/lib/cjs/Element.js.map +1 -1
  29. package/lib/cjs/GeoCoordConfig.d.ts +14 -0
  30. package/lib/cjs/GeoCoordConfig.d.ts.map +1 -0
  31. package/lib/cjs/GeoCoordConfig.js +74 -0
  32. package/lib/cjs/GeoCoordConfig.js.map +1 -0
  33. package/lib/cjs/HubMock.d.ts +94 -0
  34. package/lib/cjs/HubMock.d.ts.map +1 -0
  35. package/lib/cjs/HubMock.js +191 -0
  36. package/lib/cjs/HubMock.js.map +1 -0
  37. package/lib/cjs/IModelDb.d.ts +26 -15
  38. package/lib/cjs/IModelDb.d.ts.map +1 -1
  39. package/lib/cjs/IModelDb.js +44 -35
  40. package/lib/cjs/IModelDb.js.map +1 -1
  41. package/lib/cjs/IModelHost.d.ts +75 -33
  42. package/lib/cjs/IModelHost.d.ts.map +1 -1
  43. package/lib/cjs/IModelHost.js +66 -80
  44. package/lib/cjs/IModelHost.js.map +1 -1
  45. package/lib/cjs/IpcHost.d.ts +2 -2
  46. package/lib/cjs/IpcHost.d.ts.map +1 -1
  47. package/lib/cjs/IpcHost.js +1 -1
  48. package/lib/cjs/IpcHost.js.map +1 -1
  49. package/lib/cjs/LocalHub.d.ts +163 -0
  50. package/lib/cjs/LocalHub.d.ts.map +1 -0
  51. package/lib/cjs/LocalHub.js +588 -0
  52. package/lib/cjs/LocalHub.js.map +1 -0
  53. package/lib/cjs/LocalhostIpcHost.d.ts +2 -2
  54. package/lib/cjs/LocalhostIpcHost.d.ts.map +1 -1
  55. package/lib/cjs/LocalhostIpcHost.js +16 -0
  56. package/lib/cjs/LocalhostIpcHost.js.map +1 -1
  57. package/lib/cjs/RpcBackend.d.ts +3 -1
  58. package/lib/cjs/RpcBackend.d.ts.map +1 -1
  59. package/lib/cjs/RpcBackend.js +27 -3
  60. package/lib/cjs/RpcBackend.js.map +1 -1
  61. package/lib/cjs/SQLiteDb.d.ts +139 -30
  62. package/lib/cjs/SQLiteDb.d.ts.map +1 -1
  63. package/lib/cjs/SQLiteDb.js +111 -38
  64. package/lib/cjs/SQLiteDb.js.map +1 -1
  65. package/lib/cjs/SqliteStatement.d.ts +8 -0
  66. package/lib/cjs/SqliteStatement.d.ts.map +1 -1
  67. package/lib/cjs/SqliteStatement.js +10 -0
  68. package/lib/cjs/SqliteStatement.js.map +1 -1
  69. package/lib/cjs/ViewDefinition.d.ts +6 -6
  70. package/lib/cjs/ViewDefinition.d.ts.map +1 -1
  71. package/lib/cjs/ViewDefinition.js +20 -20
  72. package/lib/cjs/ViewDefinition.js.map +1 -1
  73. package/lib/cjs/assets/Settings/Schemas/Cloud.Schema.json +68 -0
  74. package/lib/cjs/assets/Settings/Schemas/Gcs.schema.json +22 -0
  75. package/lib/cjs/assets/Settings/Schemas/Workspace.Schema.json +53 -0
  76. package/lib/cjs/assets/Settings/backend.setting.json5 +139 -0
  77. package/lib/cjs/core-backend.d.ts +9 -7
  78. package/lib/cjs/core-backend.d.ts.map +1 -1
  79. package/lib/cjs/core-backend.js +9 -7
  80. package/lib/cjs/core-backend.js.map +1 -1
  81. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.d.ts +1 -1
  82. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.d.ts.map +1 -1
  83. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js +8 -12
  84. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
  85. package/lib/cjs/workspace/Settings.d.ts +8 -3
  86. package/lib/cjs/workspace/Settings.d.ts.map +1 -1
  87. package/lib/cjs/workspace/Settings.js +9 -0
  88. package/lib/cjs/workspace/Settings.js.map +1 -1
  89. package/lib/cjs/workspace/SettingsSchemas.d.ts +76 -0
  90. package/lib/cjs/workspace/SettingsSchemas.d.ts.map +1 -0
  91. package/lib/cjs/workspace/SettingsSchemas.js +192 -0
  92. package/lib/cjs/workspace/SettingsSchemas.js.map +1 -0
  93. package/lib/cjs/workspace/Workspace.d.ts +240 -144
  94. package/lib/cjs/workspace/Workspace.d.ts.map +1 -1
  95. package/lib/cjs/workspace/Workspace.js +258 -95
  96. package/lib/cjs/workspace/Workspace.js.map +1 -1
  97. package/package.json +26 -21
  98. package/lib/cjs/assets/Settings.schema.json +0 -25
  99. package/lib/cjs/workspace/SettingsSpecRegistry.d.ts +0 -68
  100. package/lib/cjs/workspace/SettingsSpecRegistry.d.ts.map +0 -1
  101. package/lib/cjs/workspace/SettingsSpecRegistry.js +0 -122
  102. package/lib/cjs/workspace/SettingsSpecRegistry.js.map +0 -1
@@ -11,8 +11,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
11
11
  exports.FolderLink = exports.UrlLink = exports.LinkElement = exports.GroupInformationElement = exports.SpatialLocationPartition = exports.PhysicalPartition = exports.LinkPartition = exports.InformationRecordPartition = exports.GraphicalPartition3d = exports.GroupInformationPartition = exports.DocumentPartition = exports.DefinitionPartition = exports.InformationPartitionElement = exports.TemplateRecipe2d = exports.GraphicalType2d = exports.TemplateRecipe3d = exports.SpatialLocationType = exports.PhysicalType = exports.RecipeDefinitionElement = exports.TypeDefinitionElement = exports.DefinitionGroup = exports.DefinitionContainer = exports.DefinitionSet = exports.DefinitionElement = exports.InformationRecordElement = exports.Sheet = exports.SheetTemplate = exports.SheetBorderTemplate = exports.SectionDrawing = exports.Drawing = exports.Document = exports.Subject = exports.InformationReferenceElement = exports.DriverBundleElement = exports.InformationContentElement = exports.SectionDrawingLocation = exports.VolumeElement = exports.SpatialLocationElement = exports.PhysicalElement = exports.SpatialElement = exports.TextAnnotation3d = exports.TextAnnotation2d = exports.DrawingGraphic = exports.AnnotationElement2d = exports.GraphicalElement2d = exports.GeometricElement2d = exports.GraphicalElement3d = exports.GeometricElement3d = exports.GeometricElement = exports.Element = void 0;
12
12
  exports.RenderTimeline = exports.LineStyle = exports.GeometryPart = exports.RoleElement = exports.EmbeddedFileLink = exports.RepositoryLink = void 0;
13
13
  const core_bentley_1 = require("@itwin/core-bentley");
14
- const core_geometry_1 = require("@itwin/core-geometry");
15
14
  const core_common_1 = require("@itwin/core-common");
15
+ const core_geometry_1 = require("@itwin/core-geometry");
16
16
  const Entity_1 = require("./Entity");
17
17
  const Model_1 = require("./Model");
18
18
  const NavigationRelationship_1 = require("./NavigationRelationship");
@@ -28,7 +28,7 @@ const NavigationRelationship_1 = require("./NavigationRelationship");
28
28
  * uniqueness of id, code, and federationGuid.
29
29
  *
30
30
  * See:
31
- * * [Element Fundamentals]($docs/bis/intro/element-fundamentals.md)
31
+ * * [Element Fundamentals]($docs/bis/guide/fundamentals/element-fundamentals.md)
32
32
  * * [Working with schemas and elements in TypeScript]($docs/learning/backend/SchemasAndElementsInTypeScript.md)
33
33
  * * [Creating elements]($docs/learning/backend/CreateElements.md)
34
34
  * @public
@@ -225,31 +225,46 @@ class Element extends Entity_1.Entity {
225
225
  val.jsonProperties = this.jsonProperties;
226
226
  return val;
227
227
  }
228
- /** Collect the Ids of this element's *predecessors* at this level of the class hierarchy.
229
- * A *predecessor* is an element that had to be inserted before this element could have been inserted.
230
- * This is important for cloning operations but can be useful in other situations as well.
231
- * @param predecessorIds The Id64Set to populate with predecessor Ids.
232
- * @note In order to clone/transform an element, all predecessor elements must have been previously cloned and remapped within the [IModelCloneContext]($backend).
233
- * @note This should be overridden (with `super` called) at each level the class hierarchy that introduces predecessors.
234
- * @see getPredecessorIds
228
+ /** Collect the Ids of this element's *references* at this level of the class hierarchy.
229
+ * @deprecated use [[collectReferenceIds]] instead, the use of the term *predecessors* was confusing and became inaccurate when the transformer could handle cycles
235
230
  * @beta
236
231
  */
237
232
  collectPredecessorIds(predecessorIds) {
238
- predecessorIds.add(this.model); // The modeledElement is a predecessor
233
+ return this.collectReferenceIds(predecessorIds);
234
+ }
235
+ /** Collect the Ids of this entity's *references* at this level of the class hierarchy.
236
+ * A *reference* is any entity referenced by this entity's EC Data
237
+ * This is important for cloning operations but can be useful in other situations as well.
238
+ * @param referenceIds The Id64Set to populate with reference Ids.
239
+ * @note In order to clone/transform an entity, all referenced elements must have been previously cloned and remapped within the [IModelCloneContext]($backend).
240
+ * @note This should be overridden (with `super` called) at each level the class hierarchy that introduces references.
241
+ * @see getReferenceIds
242
+ * @beta
243
+ */
244
+ collectReferenceIds(referenceIds) {
245
+ referenceIds.add(this.model); // The modeledElement is a reference
239
246
  if (this.code.scope && core_bentley_1.Id64.isValidId64(this.code.scope))
240
- predecessorIds.add(this.code.scope); // The element that scopes the code is a predecessor
247
+ referenceIds.add(this.code.scope); // The element that scopes the code is a reference
241
248
  if (this.parent)
242
- predecessorIds.add(this.parent.id); // A parent element is a predecessor
249
+ referenceIds.add(this.parent.id); // A parent element is a reference
243
250
  }
244
- /** Get the Ids of this element's *predecessors*. A *predecessor* is an element that had to be inserted before this element could have been inserted.
251
+ /** Get the Ids of this element's *references*. A *reference* is any element whose id is stored in the EC data of this element
245
252
  * This is important for cloning operations but can be useful in other situations as well.
246
- * @see collectPredecessorIds
247
253
  * @beta
254
+ * @deprecated use [[getReferenceIds]] instead, the use of the term *predecessors* was confusing and became inaccurate when the transformer could handle cycles
248
255
  */
249
256
  getPredecessorIds() {
250
- const predecessorIds = new Set();
251
- this.collectPredecessorIds(predecessorIds);
252
- return predecessorIds;
257
+ return this.getReferenceIds();
258
+ }
259
+ /** Get the Ids of this element's *references*. A *reference* is an element that this element references.
260
+ * This is important for cloning operations but can be useful in other situations as well.
261
+ * @see collectReferenceIds
262
+ * @beta
263
+ */
264
+ getReferenceIds() {
265
+ const referenceIds = new Set();
266
+ this.collectReferenceIds(referenceIds);
267
+ return referenceIds;
253
268
  }
254
269
  /** Get the class metadata for this element. */
255
270
  getClassMetaData() { return this.iModel.classMetaDataRegistry.find(this.classFullName); }
@@ -290,7 +305,7 @@ exports.Element = Element;
290
305
  /** A *required reference* is an element that had to be inserted before this element could have been inserted.
291
306
  * This is the list of property keys on this element that store references to those elements
292
307
  * @note This should be overridden (with `super` called) at each level the class hierarchy that introduces required references.
293
- * @note any property listed here must be added to the predecessor ids in [[collectPredecessorIds]]
308
+ * @note any property listed here must be added to the reference ids in [[collectReferenceIds]]
294
309
  * @beta
295
310
  */
296
311
  Element.requiredReferenceKeys = ["parent", "model"];
@@ -322,9 +337,9 @@ class GeometricElement extends (_b = Element) {
322
337
  return val;
323
338
  }
324
339
  /** @internal */
325
- collectPredecessorIds(predecessorIds) {
326
- super.collectPredecessorIds(predecessorIds);
327
- predecessorIds.add(this.category);
340
+ collectReferenceIds(referenceIds) {
341
+ super.collectReferenceIds(referenceIds);
342
+ referenceIds.add(this.category);
328
343
  // TODO: GeometryPartIds?
329
344
  }
330
345
  }
@@ -356,10 +371,10 @@ class GeometricElement3d extends GeometricElement {
356
371
  return val;
357
372
  }
358
373
  /** @internal */
359
- collectPredecessorIds(predecessorIds) {
360
- super.collectPredecessorIds(predecessorIds);
374
+ collectReferenceIds(referenceIds) {
375
+ super.collectReferenceIds(referenceIds);
361
376
  if (undefined !== this.typeDefinition) {
362
- predecessorIds.add(this.typeDefinition.id);
377
+ referenceIds.add(this.typeDefinition.id);
363
378
  }
364
379
  }
365
380
  }
@@ -397,10 +412,10 @@ class GeometricElement2d extends GeometricElement {
397
412
  return val;
398
413
  }
399
414
  /** @internal */
400
- collectPredecessorIds(predecessorIds) {
401
- super.collectPredecessorIds(predecessorIds);
415
+ collectReferenceIds(referenceIds) {
416
+ super.collectReferenceIds(referenceIds);
402
417
  if (undefined !== this.typeDefinition) {
403
- predecessorIds.add(this.typeDefinition.id);
418
+ referenceIds.add(this.typeDefinition.id);
404
419
  }
405
420
  }
406
421
  }
@@ -729,10 +744,10 @@ class SheetTemplate extends Document {
729
744
  /** @internal */
730
745
  static get className() { return "SheetTemplate"; }
731
746
  /** @internal */
732
- collectPredecessorIds(predecessorIds) {
733
- super.collectPredecessorIds(predecessorIds);
747
+ collectReferenceIds(referenceIds) {
748
+ super.collectReferenceIds(referenceIds);
734
749
  if (undefined !== this.border) {
735
- predecessorIds.add(this.border);
750
+ referenceIds.add(this.border);
736
751
  }
737
752
  }
738
753
  }
@@ -752,10 +767,10 @@ class Sheet extends Document {
752
767
  /** @internal */
753
768
  static get className() { return "Sheet"; }
754
769
  /** @internal */
755
- collectPredecessorIds(predecessorIds) {
756
- super.collectPredecessorIds(predecessorIds);
770
+ collectReferenceIds(referenceIds) {
771
+ super.collectReferenceIds(referenceIds);
757
772
  if (undefined !== this.sheetTemplate) {
758
- predecessorIds.add(this.sheetTemplate);
773
+ referenceIds.add(this.sheetTemplate);
759
774
  }
760
775
  }
761
776
  /** Create a Code for a Sheet given a name that is meant to be unique within the scope of the specified DocumentListModel.
@@ -888,10 +903,10 @@ class TypeDefinitionElement extends DefinitionElement {
888
903
  /** @internal */
889
904
  static get className() { return "TypeDefinitionElement"; }
890
905
  /** @internal */
891
- collectPredecessorIds(predecessorIds) {
892
- super.collectPredecessorIds(predecessorIds);
906
+ collectReferenceIds(referenceIds) {
907
+ super.collectReferenceIds(referenceIds);
893
908
  if (undefined !== this.recipe) {
894
- predecessorIds.add(this.recipe.id);
909
+ referenceIds.add(this.recipe.id);
895
910
  }
896
911
  }
897
912
  }
@@ -1081,7 +1096,7 @@ class TemplateRecipe2d extends RecipeDefinitionElement {
1081
1096
  exports.TemplateRecipe2d = TemplateRecipe2d;
1082
1097
  /** An abstract base class for elements that establishes a particular modeling perspective for its parent Subject.
1083
1098
  * Instances are always sub-modeled by a specialization of Model of the appropriate modeling perspective.
1084
- * @see [iModel Information Hierarchy]($docs/bis/intro/top-of-the-world), [[Subject]], [[Model]]
1099
+ * @see [iModel Information Hierarchy]($docs/bis/guide/data-organization/top-of-the-world), [[Subject]], [[Model]]
1085
1100
  * @public
1086
1101
  */
1087
1102
  class InformationPartitionElement extends InformationContentElement {
@@ -1361,8 +1376,8 @@ class RenderTimeline extends InformationRecordElement {
1361
1376
  }
1362
1377
  }
1363
1378
  /** @alpha */
1364
- collectPredecessorIds(ids) {
1365
- super.collectPredecessorIds(ids);
1379
+ collectReferenceIds(ids) {
1380
+ super.collectReferenceIds(ids);
1366
1381
  const script = core_common_1.RenderSchedule.Script.fromJSON(this.scriptProps);
1367
1382
  script === null || script === void 0 ? void 0 : script.discloseIds(ids);
1368
1383
  }