@itwin/core-backend 3.7.8 → 3.7.9

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 (247) hide show
  1. package/CHANGELOG.md +6 -1
  2. package/lib/cjs/AliCloudStorageService.d.ts +23 -23
  3. package/lib/cjs/AliCloudStorageService.js +71 -71
  4. package/lib/cjs/AliCloudStorageService.js.map +1 -1
  5. package/lib/cjs/BackendHubAccess.d.ts +224 -224
  6. package/lib/cjs/BackendHubAccess.js +41 -41
  7. package/lib/cjs/BackendHubAccess.js.map +1 -1
  8. package/lib/cjs/BackendLoggerCategory.d.ts +91 -91
  9. package/lib/cjs/BackendLoggerCategory.js +99 -99
  10. package/lib/cjs/BackendLoggerCategory.js.map +1 -1
  11. package/lib/cjs/BisCoreSchema.d.ts +21 -21
  12. package/lib/cjs/BisCoreSchema.js +60 -60
  13. package/lib/cjs/BisCoreSchema.js.map +1 -1
  14. package/lib/cjs/BriefcaseManager.d.ts +170 -170
  15. package/lib/cjs/BriefcaseManager.js +414 -414
  16. package/lib/cjs/BriefcaseManager.js.map +1 -1
  17. package/lib/cjs/Category.d.ts +153 -153
  18. package/lib/cjs/Category.js +243 -243
  19. package/lib/cjs/Category.js.map +1 -1
  20. package/lib/cjs/ChangeSummaryManager.d.ts +187 -187
  21. package/lib/cjs/ChangeSummaryManager.js +447 -447
  22. package/lib/cjs/ChangeSummaryManager.js.map +1 -1
  23. package/lib/cjs/ChangedElementsDb.d.ts +99 -99
  24. package/lib/cjs/ChangedElementsDb.js +165 -165
  25. package/lib/cjs/ChangedElementsDb.js.map +1 -1
  26. package/lib/cjs/ChangedElementsManager.d.ts +39 -39
  27. package/lib/cjs/ChangedElementsManager.js +88 -88
  28. package/lib/cjs/ChangedElementsManager.js.map +1 -1
  29. package/lib/cjs/CheckpointManager.d.ts +121 -121
  30. package/lib/cjs/CheckpointManager.d.ts.map +1 -1
  31. package/lib/cjs/CheckpointManager.js +363 -356
  32. package/lib/cjs/CheckpointManager.js.map +1 -1
  33. package/lib/cjs/ClassRegistry.d.ts +79 -79
  34. package/lib/cjs/ClassRegistry.js +250 -250
  35. package/lib/cjs/ClassRegistry.js.map +1 -1
  36. package/lib/cjs/CloudSqlite.d.ts +350 -350
  37. package/lib/cjs/CloudSqlite.js +153 -153
  38. package/lib/cjs/CloudSqlite.js.map +1 -1
  39. package/lib/cjs/CloudStorageBackend.d.ts +58 -58
  40. package/lib/cjs/CloudStorageBackend.js +173 -173
  41. package/lib/cjs/CloudStorageBackend.js.map +1 -1
  42. package/lib/cjs/CodeService.d.ts +396 -396
  43. package/lib/cjs/CodeService.js +63 -63
  44. package/lib/cjs/CodeService.js.map +1 -1
  45. package/lib/cjs/CodeSpecs.d.ts +55 -55
  46. package/lib/cjs/CodeSpecs.js +124 -124
  47. package/lib/cjs/CodeSpecs.js.map +1 -1
  48. package/lib/cjs/ConcurrentQuery.d.ts +13 -13
  49. package/lib/cjs/ConcurrentQuery.js +36 -36
  50. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  51. package/lib/cjs/CustomViewState3dCreator.d.ts +21 -21
  52. package/lib/cjs/CustomViewState3dCreator.js +82 -82
  53. package/lib/cjs/CustomViewState3dCreator.js.map +1 -1
  54. package/lib/cjs/DevTools.d.ts +71 -71
  55. package/lib/cjs/DevTools.js +154 -154
  56. package/lib/cjs/DevTools.js.map +1 -1
  57. package/lib/cjs/DisplayStyle.d.ts +106 -106
  58. package/lib/cjs/DisplayStyle.js +256 -256
  59. package/lib/cjs/DisplayStyle.js.map +1 -1
  60. package/lib/cjs/ECDb.d.ts +194 -194
  61. package/lib/cjs/ECDb.js +355 -355
  62. package/lib/cjs/ECDb.js.map +1 -1
  63. package/lib/cjs/ECSchemaXmlContext.d.ts +18 -18
  64. package/lib/cjs/ECSchemaXmlContext.js +41 -41
  65. package/lib/cjs/ECSchemaXmlContext.js.map +1 -1
  66. package/lib/cjs/ECSqlStatement.d.ts +473 -473
  67. package/lib/cjs/ECSqlStatement.js +791 -791
  68. package/lib/cjs/ECSqlStatement.js.map +1 -1
  69. package/lib/cjs/Element.d.ts +1109 -1109
  70. package/lib/cjs/Element.js +1427 -1427
  71. package/lib/cjs/Element.js.map +1 -1
  72. package/lib/cjs/ElementAspect.d.ts +179 -179
  73. package/lib/cjs/ElementAspect.js +211 -211
  74. package/lib/cjs/ElementAspect.js.map +1 -1
  75. package/lib/cjs/ElementGraphics.d.ts +9 -9
  76. package/lib/cjs/ElementGraphics.js +41 -41
  77. package/lib/cjs/ElementGraphics.js.map +1 -1
  78. package/lib/cjs/ElementTreeWalker.d.ts +162 -162
  79. package/lib/cjs/ElementTreeWalker.js +409 -409
  80. package/lib/cjs/ElementTreeWalker.js.map +1 -1
  81. package/lib/cjs/Entity.d.ts +106 -106
  82. package/lib/cjs/Entity.js +134 -134
  83. package/lib/cjs/Entity.js.map +1 -1
  84. package/lib/cjs/EntityReferences.d.ts +49 -49
  85. package/lib/cjs/EntityReferences.js +95 -95
  86. package/lib/cjs/EntityReferences.js.map +1 -1
  87. package/lib/cjs/ExportGraphics.d.ts +317 -317
  88. package/lib/cjs/ExportGraphics.js +208 -208
  89. package/lib/cjs/ExportGraphics.js.map +1 -1
  90. package/lib/cjs/ExternalSource.d.ts +96 -96
  91. package/lib/cjs/ExternalSource.js +131 -131
  92. package/lib/cjs/ExternalSource.js.map +1 -1
  93. package/lib/cjs/GeoCoordConfig.d.ts +19 -19
  94. package/lib/cjs/GeoCoordConfig.js +85 -85
  95. package/lib/cjs/GeoCoordConfig.js.map +1 -1
  96. package/lib/cjs/GeometrySummary.d.ts +4 -4
  97. package/lib/cjs/GeometrySummary.js +380 -380
  98. package/lib/cjs/GeometrySummary.js.map +1 -1
  99. package/lib/cjs/HubMock.d.ts +94 -94
  100. package/lib/cjs/HubMock.js +222 -222
  101. package/lib/cjs/HubMock.js.map +1 -1
  102. package/lib/cjs/IModelCloneContext.d.ts +8 -8
  103. package/lib/cjs/IModelCloneContext.js +15 -15
  104. package/lib/cjs/IModelCloneContext.js.map +1 -1
  105. package/lib/cjs/IModelDb.d.ts +1213 -1213
  106. package/lib/cjs/IModelDb.js +2392 -2392
  107. package/lib/cjs/IModelDb.js.map +1 -1
  108. package/lib/cjs/IModelElementCloneContext.d.ts +89 -89
  109. package/lib/cjs/IModelElementCloneContext.js +159 -159
  110. package/lib/cjs/IModelElementCloneContext.js.map +1 -1
  111. package/lib/cjs/IModelHost.d.ts +370 -369
  112. package/lib/cjs/IModelHost.d.ts.map +1 -1
  113. package/lib/cjs/IModelHost.js +497 -496
  114. package/lib/cjs/IModelHost.js.map +1 -1
  115. package/lib/cjs/IModelJsFs.d.ts +62 -62
  116. package/lib/cjs/IModelJsFs.js +140 -140
  117. package/lib/cjs/IModelJsFs.js.map +1 -1
  118. package/lib/cjs/IpcHost.d.ts +104 -104
  119. package/lib/cjs/IpcHost.js +278 -278
  120. package/lib/cjs/IpcHost.js.map +1 -1
  121. package/lib/cjs/LineStyle.d.ts +311 -311
  122. package/lib/cjs/LineStyle.js +295 -295
  123. package/lib/cjs/LineStyle.js.map +1 -1
  124. package/lib/cjs/LocalHub.d.ts +162 -162
  125. package/lib/cjs/LocalHub.js +585 -585
  126. package/lib/cjs/LocalHub.js.map +1 -1
  127. package/lib/cjs/LocalhostIpcHost.d.ts +21 -21
  128. package/lib/cjs/LocalhostIpcHost.js +81 -81
  129. package/lib/cjs/LocalhostIpcHost.js.map +1 -1
  130. package/lib/cjs/Material.d.ts +131 -131
  131. package/lib/cjs/Material.js +181 -181
  132. package/lib/cjs/Material.js.map +1 -1
  133. package/lib/cjs/Model.d.ts +392 -392
  134. package/lib/cjs/Model.js +485 -485
  135. package/lib/cjs/Model.js.map +1 -1
  136. package/lib/cjs/NativeAppStorage.d.ts +51 -51
  137. package/lib/cjs/NativeAppStorage.js +202 -202
  138. package/lib/cjs/NativeAppStorage.js.map +1 -1
  139. package/lib/cjs/NativeHost.d.ts +52 -52
  140. package/lib/cjs/NativeHost.js +163 -163
  141. package/lib/cjs/NativeHost.js.map +1 -1
  142. package/lib/cjs/NavigationRelationship.d.ts +156 -156
  143. package/lib/cjs/NavigationRelationship.js +225 -225
  144. package/lib/cjs/NavigationRelationship.js.map +1 -1
  145. package/lib/cjs/PromiseMemoizer.d.ts +51 -51
  146. package/lib/cjs/PromiseMemoizer.js +101 -101
  147. package/lib/cjs/PromiseMemoizer.js.map +1 -1
  148. package/lib/cjs/PropertyStore.d.ts +132 -132
  149. package/lib/cjs/PropertyStore.js +11 -11
  150. package/lib/cjs/PropertyStore.js.map +1 -1
  151. package/lib/cjs/Relationship.d.ts +416 -416
  152. package/lib/cjs/Relationship.js +494 -494
  153. package/lib/cjs/Relationship.js.map +1 -1
  154. package/lib/cjs/RpcBackend.d.ts +5 -5
  155. package/lib/cjs/RpcBackend.js +32 -32
  156. package/lib/cjs/RpcBackend.js.map +1 -1
  157. package/lib/cjs/SQLiteDb.d.ts +219 -219
  158. package/lib/cjs/SQLiteDb.js +214 -214
  159. package/lib/cjs/SQLiteDb.js.map +1 -1
  160. package/lib/cjs/Schema.d.ts +55 -55
  161. package/lib/cjs/Schema.js +83 -83
  162. package/lib/cjs/Schema.js.map +1 -1
  163. package/lib/cjs/ServerBasedLocks.d.ts +57 -57
  164. package/lib/cjs/ServerBasedLocks.js +168 -168
  165. package/lib/cjs/ServerBasedLocks.js.map +1 -1
  166. package/lib/cjs/SqliteStatement.d.ts +360 -360
  167. package/lib/cjs/SqliteStatement.js +586 -586
  168. package/lib/cjs/SqliteStatement.js.map +1 -1
  169. package/lib/cjs/Texture.d.ts +58 -58
  170. package/lib/cjs/Texture.js +82 -82
  171. package/lib/cjs/Texture.js.map +1 -1
  172. package/lib/cjs/TileStorage.d.ts +25 -18
  173. package/lib/cjs/TileStorage.d.ts.map +1 -1
  174. package/lib/cjs/TileStorage.js +102 -90
  175. package/lib/cjs/TileStorage.js.map +1 -1
  176. package/lib/cjs/TxnManager.d.ts +202 -202
  177. package/lib/cjs/TxnManager.js +356 -356
  178. package/lib/cjs/TxnManager.js.map +1 -1
  179. package/lib/cjs/ViewDefinition.d.ts +439 -439
  180. package/lib/cjs/ViewDefinition.js +646 -646
  181. package/lib/cjs/ViewDefinition.js.map +1 -1
  182. package/lib/cjs/ViewStateHydrator.d.ts +13 -13
  183. package/lib/cjs/ViewStateHydrator.js +103 -103
  184. package/lib/cjs/ViewStateHydrator.js.map +1 -1
  185. package/lib/cjs/assets/IModelChange.02.00.00.ecschema.xml +90 -90
  186. package/lib/cjs/assets/Settings/Schemas/Cloud.Schema.json +67 -67
  187. package/lib/cjs/assets/Settings/Schemas/Gcs.schema.json +31 -31
  188. package/lib/cjs/assets/Settings/Schemas/Workspace.Schema.json +52 -52
  189. package/lib/cjs/assets/Settings/backend.setting.json5 +138 -138
  190. package/lib/cjs/core-backend.d.ts +184 -184
  191. package/lib/cjs/core-backend.js +204 -204
  192. package/lib/cjs/core-backend.js.map +1 -1
  193. package/lib/cjs/domains/FunctionalElements.d.ts +101 -101
  194. package/lib/cjs/domains/FunctionalElements.js +145 -145
  195. package/lib/cjs/domains/FunctionalElements.js.map +1 -1
  196. package/lib/cjs/domains/FunctionalSchema.d.ts +13 -13
  197. package/lib/cjs/domains/FunctionalSchema.js +40 -40
  198. package/lib/cjs/domains/FunctionalSchema.js.map +1 -1
  199. package/lib/cjs/domains/GenericElements.d.ts +177 -177
  200. package/lib/cjs/domains/GenericElements.js +263 -263
  201. package/lib/cjs/domains/GenericElements.js.map +1 -1
  202. package/lib/cjs/domains/GenericSchema.d.ts +10 -10
  203. package/lib/cjs/domains/GenericSchema.js +28 -28
  204. package/lib/cjs/domains/GenericSchema.js.map +1 -1
  205. package/lib/cjs/rpc/multipart.d.ts +11 -11
  206. package/lib/cjs/rpc/multipart.js +71 -71
  207. package/lib/cjs/rpc/multipart.js.map +1 -1
  208. package/lib/cjs/rpc/tracing.d.ts +28 -28
  209. package/lib/cjs/rpc/tracing.js +74 -74
  210. package/lib/cjs/rpc/tracing.js.map +1 -1
  211. package/lib/cjs/rpc/web/logging.d.ts +9 -9
  212. package/lib/cjs/rpc/web/logging.js +43 -43
  213. package/lib/cjs/rpc/web/logging.js.map +1 -1
  214. package/lib/cjs/rpc/web/request.d.ts +6 -6
  215. package/lib/cjs/rpc/web/request.js +74 -74
  216. package/lib/cjs/rpc/web/request.js.map +1 -1
  217. package/lib/cjs/rpc/web/response.d.ts +6 -6
  218. package/lib/cjs/rpc/web/response.js +106 -106
  219. package/lib/cjs/rpc/web/response.js.map +1 -1
  220. package/lib/cjs/rpc-impl/DevToolsRpcImpl.d.ts +15 -15
  221. package/lib/cjs/rpc-impl/DevToolsRpcImpl.js +32 -32
  222. package/lib/cjs/rpc-impl/DevToolsRpcImpl.js.map +1 -1
  223. package/lib/cjs/rpc-impl/IModelReadRpcImpl.d.ts +47 -47
  224. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js +294 -294
  225. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js.map +1 -1
  226. package/lib/cjs/rpc-impl/IModelTileRpcImpl.d.ts +22 -22
  227. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js +211 -211
  228. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js.map +1 -1
  229. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.d.ts +36 -36
  230. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js +168 -168
  231. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
  232. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.d.ts +16 -16
  233. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js +43 -43
  234. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
  235. package/lib/cjs/rpc-impl/WipRpcImpl.d.ts +15 -15
  236. package/lib/cjs/rpc-impl/WipRpcImpl.js +37 -37
  237. package/lib/cjs/rpc-impl/WipRpcImpl.js.map +1 -1
  238. package/lib/cjs/workspace/Settings.d.ts +186 -186
  239. package/lib/cjs/workspace/Settings.js +155 -155
  240. package/lib/cjs/workspace/Settings.js.map +1 -1
  241. package/lib/cjs/workspace/SettingsSchemas.d.ts +75 -75
  242. package/lib/cjs/workspace/SettingsSchemas.js +191 -191
  243. package/lib/cjs/workspace/SettingsSchemas.js.map +1 -1
  244. package/lib/cjs/workspace/Workspace.d.ts +414 -414
  245. package/lib/cjs/workspace/Workspace.js +543 -543
  246. package/lib/cjs/workspace/Workspace.js.map +1 -1
  247. package/package.json +17 -16
@@ -1,180 +1,180 @@
1
- /** @packageDocumentation
2
- * @module ElementAspects
3
- */
4
- import { ChannelRootAspectProps, ElementAspectProps, EntityReferenceSet, ExternalSourceAspectProps, RelatedElement } from "@itwin/core-common";
5
- import { Entity } from "./Entity";
6
- import { IModelDb } from "./IModelDb";
7
- import { Id64String } from "@itwin/core-bentley";
8
- /** Argument for the `ElementAspect.onXxx` static methods
9
- * @beta
10
- */
11
- export interface OnAspectArg {
12
- /** The iModel for the aspect affected by this event. */
13
- iModel: IModelDb;
14
- }
15
- /** Argument for the `ElementAspect.onXxx` static methods that supply the properties of an aspect to be inserted or updated.
16
- * @beta
17
- */
18
- export interface OnAspectPropsArg extends OnAspectArg {
19
- /** The new properties of the aspect affected by this event. */
20
- props: Readonly<ElementAspectProps>;
21
- }
22
- /** Argument for the `ElementAspect.onXxx` static methods that only supply the Id of the affected aspect.
23
- * @beta
24
- */
25
- export interface OnAspectIdArg extends OnAspectArg {
26
- /** The Id of the aspect affected by this event */
27
- aspectId: Id64String;
28
- }
29
- /** An Element Aspect is a class that defines a set of properties that are related to (and owned by) a single element.
30
- * Semantically, an ElementAspect can be considered part of the Element. Thus, an ElementAspect is deleted if its owning Element is deleted.
31
- * BIS Guideline: Subclass ElementUniqueAspect or ElementMultiAspect rather than subclassing ElementAspect directly.
32
- * @public
33
- */
34
- export declare class ElementAspect extends Entity {
35
- /** @internal */
36
- static get className(): string;
37
- element: RelatedElement;
38
- /** @internal */
39
- constructor(props: ElementAspectProps, iModel: IModelDb);
40
- /** @internal */
41
- toJSON(): ElementAspectProps;
42
- /** Called before a new ElementAspect is inserted.
43
- * @note throw an exception to disallow the insert
44
- * @note If you override this method, you must call super.
45
- * @beta
46
- */
47
- protected static onInsert(_arg: OnAspectPropsArg): void;
48
- /** Called after a new ElementAspect was inserted.
49
- * @note If you override this method, you must call super.
50
- * @beta
51
- */
52
- protected static onInserted(_arg: OnAspectPropsArg): void;
53
- /** Called before an ElementAspect is updated.
54
- * @note throw an exception to disallow the update
55
- * @note If you override this method, you must call super.
56
- * @beta
57
- */
58
- protected static onUpdate(_arg: OnAspectPropsArg): void;
59
- /** Called after an ElementAspect was updated.
60
- * @note If you override this method, you must call super.
61
- * @beta
62
- */
63
- protected static onUpdated(_arg: OnAspectPropsArg): void;
64
- /** Called before an ElementAspect is deleted.
65
- * @note throw an exception to disallow the delete
66
- * @note If you override this method, you must call super.
67
- * @beta
68
- */
69
- protected static onDelete(_arg: OnAspectIdArg): void;
70
- /** Called after an ElementAspect was deleted.
71
- * @note If you override this method, you must call super.
72
- * @beta
73
- */
74
- protected static onDeleted(_arg: OnAspectIdArg): void;
75
- }
76
- /** An Element Unique Aspect is an ElementAspect where there can be only zero or one instance of the Element Aspect class per Element.
77
- * @public
78
- */
79
- export declare class ElementUniqueAspect extends ElementAspect {
80
- /** @internal */
81
- static get className(): string;
82
- }
83
- /** An Element Multi-Aspect is an ElementAspect where there can be **n** instances of the Element Aspect class per Element.
84
- * @public
85
- */
86
- export declare class ElementMultiAspect extends ElementAspect {
87
- /** @internal */
88
- static get className(): string;
89
- }
90
- /** A ChannelRootAspect identifies an Element as the root of a *channel* which is a subset of the overall iModel hierarchy that is independently maintained.
91
- * @note The associated ECClass was added to the BisCore schema in version 1.0.10
92
- * @public
93
- */
94
- export declare class ChannelRootAspect extends ElementUniqueAspect {
95
- /** @internal */
96
- static get className(): string;
97
- /** The owner of the channel */
98
- owner: string;
99
- /** @internal */
100
- constructor(props: ChannelRootAspectProps, iModel: IModelDb);
101
- /** @internal */
102
- toJSON(): ChannelRootAspectProps;
103
- /** Insert a ChannelRootAspect on the specified element. */
104
- static insert(iModel: IModelDb, ownerId: Id64String, ownerDescription: string): void;
105
- }
106
- /** An ElementMultiAspect that stores synchronization information for an Element originating from an external source.
107
- * @note The associated ECClass was added to the BisCore schema in version 1.0.2
108
- * @public
109
- */
110
- export declare class ExternalSourceAspect extends ElementMultiAspect {
111
- /** @internal */
112
- static get className(): string;
113
- /** An element that scopes the combination of `kind` and `identifier` to uniquely identify the object from the external source.
114
- * @note Warning: in a future major release the `scope` property will be optional, since the scope is intended to be potentially invalid.
115
- * all references should treat it as potentially undefined, but we cannot change the type yet since that is a breaking change.
116
- */
117
- scope: RelatedElement;
118
- /** The identifier of the object in the source repository. */
119
- identifier: string;
120
- /** The kind of object within the source repository. */
121
- kind: string;
122
- /** The cryptographic hash (any algorithm) of the source object's content. If defined, it must be guaranteed to change when the source object's content changes. */
123
- checksum?: string;
124
- /** An optional value that is typically a version number or a pseudo version number like last modified time.
125
- * It will be used by the synchronization process to detect that a source object is unchanged so that computing a cryptographic hash can be avoided.
126
- * If present, this value must be guaranteed to change when any of the source object's content changes.
127
- */
128
- version?: string;
129
- /** A place where additional JSON properties can be stored. For example, provenance information or properties relating to the synchronization process.
130
- * @note Warning: in a future major release, the type of `jsonProperties` will be changed to object, and itwin.js will automatically stringify it when writing to the iModel.
131
- * This will be a breaking change, since application code will have to change from supplying a string to supplying an object.
132
- */
133
- jsonProperties?: string;
134
- /** The source of the imported/synchronized object. Should point to an instance of [ExternalSource]($backend). */
135
- source?: RelatedElement;
136
- /** @internal */
137
- constructor(props: ExternalSourceAspectProps, iModel: IModelDb);
138
- /** @deprecated in 3.x. findAllBySource */
139
- static findBySource(iModelDb: IModelDb, scope: Id64String, kind: string, identifier: string): {
140
- elementId?: Id64String;
141
- aspectId?: Id64String;
142
- };
143
- /** Look up the elements that contain one or more ExternalSourceAspect with the specified Scope, Kind, and Identifier.
144
- * The result of this function is an array of all of the ExternalSourceAspects that were found, each associated with the owning element.
145
- * A given element could have more than one ExternalSourceAspect with the given scope, kind, and identifier.
146
- * Also, many elements could have ExternalSourceAspect with the same scope, kind, and identifier.
147
- * Therefore, the result array could have more than one entry with the same elementId.
148
- * Aspects are never shared. Each aspect has its own unique ECInstanceId.
149
- * @param iModelDb The iModel to query
150
- * @param scope The scope of the ExternalSourceAspects to find
151
- * @param kind The kind of the ExternalSourceAspects to find
152
- * @param identifier The identifier of the ExternalSourceAspects to find
153
- * @returns the query results
154
- */
155
- static findAllBySource(iModelDb: IModelDb, scope: Id64String, kind: string, identifier: string): Array<{
156
- elementId: Id64String;
157
- aspectId: Id64String;
158
- }>;
159
- /** @internal */
160
- toJSON(): ExternalSourceAspectProps;
161
- /** @internal */
162
- protected collectReferenceConcreteIds(referenceIds: EntityReferenceSet): void;
163
- }
164
- /** @public */
165
- export declare namespace ExternalSourceAspect {
166
- /** Standard values for the `Kind` property of `ExternalSourceAspect`.
167
- * @public
168
- */
169
- enum Kind {
170
- /** Indicates that the [[ExternalSourceAspect]] is storing [[Element]] provenance */
171
- Element = "Element",
172
- /** Indicates that the [[ExternalSourceAspect]] is storing [[Relationship]] provenance */
173
- Relationship = "Relationship",
174
- /** Indicates that the [[ExternalSourceAspect]] is storing *scope* provenance
175
- * @see [[ExternalSourceAspect.scope]]
176
- */
177
- Scope = "Scope"
178
- }
179
- }
1
+ /** @packageDocumentation
2
+ * @module ElementAspects
3
+ */
4
+ import { ChannelRootAspectProps, ElementAspectProps, EntityReferenceSet, ExternalSourceAspectProps, RelatedElement } from "@itwin/core-common";
5
+ import { Entity } from "./Entity";
6
+ import { IModelDb } from "./IModelDb";
7
+ import { Id64String } from "@itwin/core-bentley";
8
+ /** Argument for the `ElementAspect.onXxx` static methods
9
+ * @beta
10
+ */
11
+ export interface OnAspectArg {
12
+ /** The iModel for the aspect affected by this event. */
13
+ iModel: IModelDb;
14
+ }
15
+ /** Argument for the `ElementAspect.onXxx` static methods that supply the properties of an aspect to be inserted or updated.
16
+ * @beta
17
+ */
18
+ export interface OnAspectPropsArg extends OnAspectArg {
19
+ /** The new properties of the aspect affected by this event. */
20
+ props: Readonly<ElementAspectProps>;
21
+ }
22
+ /** Argument for the `ElementAspect.onXxx` static methods that only supply the Id of the affected aspect.
23
+ * @beta
24
+ */
25
+ export interface OnAspectIdArg extends OnAspectArg {
26
+ /** The Id of the aspect affected by this event */
27
+ aspectId: Id64String;
28
+ }
29
+ /** An Element Aspect is a class that defines a set of properties that are related to (and owned by) a single element.
30
+ * Semantically, an ElementAspect can be considered part of the Element. Thus, an ElementAspect is deleted if its owning Element is deleted.
31
+ * BIS Guideline: Subclass ElementUniqueAspect or ElementMultiAspect rather than subclassing ElementAspect directly.
32
+ * @public
33
+ */
34
+ export declare class ElementAspect extends Entity {
35
+ /** @internal */
36
+ static get className(): string;
37
+ element: RelatedElement;
38
+ /** @internal */
39
+ constructor(props: ElementAspectProps, iModel: IModelDb);
40
+ /** @internal */
41
+ toJSON(): ElementAspectProps;
42
+ /** Called before a new ElementAspect is inserted.
43
+ * @note throw an exception to disallow the insert
44
+ * @note If you override this method, you must call super.
45
+ * @beta
46
+ */
47
+ protected static onInsert(_arg: OnAspectPropsArg): void;
48
+ /** Called after a new ElementAspect was inserted.
49
+ * @note If you override this method, you must call super.
50
+ * @beta
51
+ */
52
+ protected static onInserted(_arg: OnAspectPropsArg): void;
53
+ /** Called before an ElementAspect is updated.
54
+ * @note throw an exception to disallow the update
55
+ * @note If you override this method, you must call super.
56
+ * @beta
57
+ */
58
+ protected static onUpdate(_arg: OnAspectPropsArg): void;
59
+ /** Called after an ElementAspect was updated.
60
+ * @note If you override this method, you must call super.
61
+ * @beta
62
+ */
63
+ protected static onUpdated(_arg: OnAspectPropsArg): void;
64
+ /** Called before an ElementAspect is deleted.
65
+ * @note throw an exception to disallow the delete
66
+ * @note If you override this method, you must call super.
67
+ * @beta
68
+ */
69
+ protected static onDelete(_arg: OnAspectIdArg): void;
70
+ /** Called after an ElementAspect was deleted.
71
+ * @note If you override this method, you must call super.
72
+ * @beta
73
+ */
74
+ protected static onDeleted(_arg: OnAspectIdArg): void;
75
+ }
76
+ /** An Element Unique Aspect is an ElementAspect where there can be only zero or one instance of the Element Aspect class per Element.
77
+ * @public
78
+ */
79
+ export declare class ElementUniqueAspect extends ElementAspect {
80
+ /** @internal */
81
+ static get className(): string;
82
+ }
83
+ /** An Element Multi-Aspect is an ElementAspect where there can be **n** instances of the Element Aspect class per Element.
84
+ * @public
85
+ */
86
+ export declare class ElementMultiAspect extends ElementAspect {
87
+ /** @internal */
88
+ static get className(): string;
89
+ }
90
+ /** A ChannelRootAspect identifies an Element as the root of a *channel* which is a subset of the overall iModel hierarchy that is independently maintained.
91
+ * @note The associated ECClass was added to the BisCore schema in version 1.0.10
92
+ * @public
93
+ */
94
+ export declare class ChannelRootAspect extends ElementUniqueAspect {
95
+ /** @internal */
96
+ static get className(): string;
97
+ /** The owner of the channel */
98
+ owner: string;
99
+ /** @internal */
100
+ constructor(props: ChannelRootAspectProps, iModel: IModelDb);
101
+ /** @internal */
102
+ toJSON(): ChannelRootAspectProps;
103
+ /** Insert a ChannelRootAspect on the specified element. */
104
+ static insert(iModel: IModelDb, ownerId: Id64String, ownerDescription: string): void;
105
+ }
106
+ /** An ElementMultiAspect that stores synchronization information for an Element originating from an external source.
107
+ * @note The associated ECClass was added to the BisCore schema in version 1.0.2
108
+ * @public
109
+ */
110
+ export declare class ExternalSourceAspect extends ElementMultiAspect {
111
+ /** @internal */
112
+ static get className(): string;
113
+ /** An element that scopes the combination of `kind` and `identifier` to uniquely identify the object from the external source.
114
+ * @note Warning: in a future major release the `scope` property will be optional, since the scope is intended to be potentially invalid.
115
+ * all references should treat it as potentially undefined, but we cannot change the type yet since that is a breaking change.
116
+ */
117
+ scope: RelatedElement;
118
+ /** The identifier of the object in the source repository. */
119
+ identifier: string;
120
+ /** The kind of object within the source repository. */
121
+ kind: string;
122
+ /** The cryptographic hash (any algorithm) of the source object's content. If defined, it must be guaranteed to change when the source object's content changes. */
123
+ checksum?: string;
124
+ /** An optional value that is typically a version number or a pseudo version number like last modified time.
125
+ * It will be used by the synchronization process to detect that a source object is unchanged so that computing a cryptographic hash can be avoided.
126
+ * If present, this value must be guaranteed to change when any of the source object's content changes.
127
+ */
128
+ version?: string;
129
+ /** A place where additional JSON properties can be stored. For example, provenance information or properties relating to the synchronization process.
130
+ * @note Warning: in a future major release, the type of `jsonProperties` will be changed to object, and itwin.js will automatically stringify it when writing to the iModel.
131
+ * This will be a breaking change, since application code will have to change from supplying a string to supplying an object.
132
+ */
133
+ jsonProperties?: string;
134
+ /** The source of the imported/synchronized object. Should point to an instance of [ExternalSource]($backend). */
135
+ source?: RelatedElement;
136
+ /** @internal */
137
+ constructor(props: ExternalSourceAspectProps, iModel: IModelDb);
138
+ /** @deprecated in 3.x. findAllBySource */
139
+ static findBySource(iModelDb: IModelDb, scope: Id64String, kind: string, identifier: string): {
140
+ elementId?: Id64String;
141
+ aspectId?: Id64String;
142
+ };
143
+ /** Look up the elements that contain one or more ExternalSourceAspect with the specified Scope, Kind, and Identifier.
144
+ * The result of this function is an array of all of the ExternalSourceAspects that were found, each associated with the owning element.
145
+ * A given element could have more than one ExternalSourceAspect with the given scope, kind, and identifier.
146
+ * Also, many elements could have ExternalSourceAspect with the same scope, kind, and identifier.
147
+ * Therefore, the result array could have more than one entry with the same elementId.
148
+ * Aspects are never shared. Each aspect has its own unique ECInstanceId.
149
+ * @param iModelDb The iModel to query
150
+ * @param scope The scope of the ExternalSourceAspects to find
151
+ * @param kind The kind of the ExternalSourceAspects to find
152
+ * @param identifier The identifier of the ExternalSourceAspects to find
153
+ * @returns the query results
154
+ */
155
+ static findAllBySource(iModelDb: IModelDb, scope: Id64String, kind: string, identifier: string): Array<{
156
+ elementId: Id64String;
157
+ aspectId: Id64String;
158
+ }>;
159
+ /** @internal */
160
+ toJSON(): ExternalSourceAspectProps;
161
+ /** @internal */
162
+ protected collectReferenceConcreteIds(referenceIds: EntityReferenceSet): void;
163
+ }
164
+ /** @public */
165
+ export declare namespace ExternalSourceAspect {
166
+ /** Standard values for the `Kind` property of `ExternalSourceAspect`.
167
+ * @public
168
+ */
169
+ enum Kind {
170
+ /** Indicates that the [[ExternalSourceAspect]] is storing [[Element]] provenance */
171
+ Element = "Element",
172
+ /** Indicates that the [[ExternalSourceAspect]] is storing [[Relationship]] provenance */
173
+ Relationship = "Relationship",
174
+ /** Indicates that the [[ExternalSourceAspect]] is storing *scope* provenance
175
+ * @see [[ExternalSourceAspect.scope]]
176
+ */
177
+ Scope = "Scope"
178
+ }
179
+ }
180
180
  //# sourceMappingURL=ElementAspect.d.ts.map