@itwin/core-backend 5.15.0-dev.13 → 5.15.0-dev.15
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.
- package/lib/cjs/BriefcaseManager.d.ts +2 -1
- package/lib/cjs/BriefcaseManager.d.ts.map +1 -1
- package/lib/cjs/BriefcaseManager.js +39 -9
- package/lib/cjs/BriefcaseManager.js.map +1 -1
- package/lib/cjs/ChangeUnifier.d.ts +82 -0
- package/lib/cjs/ChangeUnifier.d.ts.map +1 -0
- package/lib/cjs/ChangeUnifier.js +163 -0
- package/lib/cjs/ChangeUnifier.js.map +1 -0
- package/lib/cjs/ChangesetReader.d.ts +21 -2
- package/lib/cjs/ChangesetReader.d.ts.map +1 -1
- package/lib/cjs/ChangesetReader.js +37 -1
- package/lib/cjs/ChangesetReader.js.map +1 -1
- package/lib/cjs/ECDb.d.ts +1 -0
- package/lib/cjs/ECDb.d.ts.map +1 -1
- package/lib/cjs/ECDb.js +4 -1
- package/lib/cjs/ECDb.js.map +1 -1
- package/lib/cjs/IModelDb.d.ts +6 -1
- package/lib/cjs/IModelDb.d.ts.map +1 -1
- package/lib/cjs/IModelDb.js +16 -5
- package/lib/cjs/IModelDb.js.map +1 -1
- package/lib/cjs/NativeHost.d.ts.map +1 -1
- package/lib/cjs/NativeHost.js +5 -1
- package/lib/cjs/NativeHost.js.map +1 -1
- package/lib/cjs/Relationship.d.ts +28 -0
- package/lib/cjs/Relationship.d.ts.map +1 -1
- package/lib/cjs/Relationship.js +78 -0
- package/lib/cjs/Relationship.js.map +1 -1
- package/lib/cjs/SchemaSync.d.ts.map +1 -1
- package/lib/cjs/SchemaSync.js +1 -0
- package/lib/cjs/SchemaSync.js.map +1 -1
- package/lib/cjs/TxnManager.d.ts +126 -89
- package/lib/cjs/TxnManager.d.ts.map +1 -1
- package/lib/cjs/TxnManager.js +109 -75
- package/lib/cjs/TxnManager.js.map +1 -1
- package/lib/cjs/annotations/LeaderGeometry.d.ts.map +1 -1
- package/lib/cjs/annotations/LeaderGeometry.js +3 -0
- package/lib/cjs/annotations/LeaderGeometry.js.map +1 -1
- package/lib/cjs/core-backend.d.ts +1 -0
- package/lib/cjs/core-backend.d.ts.map +1 -1
- package/lib/cjs/core-backend.js +1 -0
- package/lib/cjs/core-backend.js.map +1 -1
- package/lib/cjs/internal/BriefcaseUtils.d.ts +19 -0
- package/lib/cjs/internal/BriefcaseUtils.d.ts.map +1 -0
- package/lib/cjs/internal/BriefcaseUtils.js +65 -0
- package/lib/cjs/internal/BriefcaseUtils.js.map +1 -0
- package/lib/cjs/internal/QueryMetadataCache.d.ts +44 -0
- package/lib/cjs/internal/QueryMetadataCache.d.ts.map +1 -0
- package/lib/cjs/internal/QueryMetadataCache.js +107 -0
- package/lib/cjs/internal/QueryMetadataCache.js.map +1 -0
- package/lib/cjs/internal/Symbols.d.ts +6 -0
- package/lib/cjs/internal/Symbols.d.ts.map +1 -1
- package/lib/cjs/internal/Symbols.js +7 -1
- package/lib/cjs/internal/Symbols.js.map +1 -1
- package/lib/esm/BriefcaseManager.d.ts +2 -1
- package/lib/esm/BriefcaseManager.d.ts.map +1 -1
- package/lib/esm/BriefcaseManager.js +40 -10
- package/lib/esm/BriefcaseManager.js.map +1 -1
- package/lib/esm/ChangeUnifier.d.ts +82 -0
- package/lib/esm/ChangeUnifier.d.ts.map +1 -0
- package/lib/esm/ChangeUnifier.js +159 -0
- package/lib/esm/ChangeUnifier.js.map +1 -0
- package/lib/esm/ChangesetReader.d.ts +21 -2
- package/lib/esm/ChangesetReader.d.ts.map +1 -1
- package/lib/esm/ChangesetReader.js +38 -2
- package/lib/esm/ChangesetReader.js.map +1 -1
- package/lib/esm/ECDb.d.ts +1 -0
- package/lib/esm/ECDb.d.ts.map +1 -1
- package/lib/esm/ECDb.js +4 -1
- package/lib/esm/ECDb.js.map +1 -1
- package/lib/esm/IModelDb.d.ts +6 -1
- package/lib/esm/IModelDb.d.ts.map +1 -1
- package/lib/esm/IModelDb.js +17 -6
- package/lib/esm/IModelDb.js.map +1 -1
- package/lib/esm/NativeHost.d.ts.map +1 -1
- package/lib/esm/NativeHost.js +5 -1
- package/lib/esm/NativeHost.js.map +1 -1
- package/lib/esm/Relationship.d.ts +28 -0
- package/lib/esm/Relationship.d.ts.map +1 -1
- package/lib/esm/Relationship.js +78 -0
- package/lib/esm/Relationship.js.map +1 -1
- package/lib/esm/SchemaSync.d.ts.map +1 -1
- package/lib/esm/SchemaSync.js +1 -0
- package/lib/esm/SchemaSync.js.map +1 -1
- package/lib/esm/TxnManager.d.ts +126 -89
- package/lib/esm/TxnManager.d.ts.map +1 -1
- package/lib/esm/TxnManager.js +110 -76
- package/lib/esm/TxnManager.js.map +1 -1
- package/lib/esm/annotations/LeaderGeometry.d.ts.map +1 -1
- package/lib/esm/annotations/LeaderGeometry.js +3 -0
- package/lib/esm/annotations/LeaderGeometry.js.map +1 -1
- package/lib/esm/core-backend.d.ts +1 -0
- package/lib/esm/core-backend.d.ts.map +1 -1
- package/lib/esm/core-backend.js +1 -0
- package/lib/esm/core-backend.js.map +1 -1
- package/lib/esm/internal/BriefcaseUtils.d.ts +19 -0
- package/lib/esm/internal/BriefcaseUtils.d.ts.map +1 -0
- package/lib/esm/internal/BriefcaseUtils.js +61 -0
- package/lib/esm/internal/BriefcaseUtils.js.map +1 -0
- package/lib/esm/internal/QueryMetadataCache.d.ts +44 -0
- package/lib/esm/internal/QueryMetadataCache.d.ts.map +1 -0
- package/lib/esm/internal/QueryMetadataCache.js +103 -0
- package/lib/esm/internal/QueryMetadataCache.js.map +1 -0
- package/lib/esm/internal/Symbols.d.ts +6 -0
- package/lib/esm/internal/Symbols.d.ts.map +1 -1
- package/lib/esm/internal/Symbols.js +6 -0
- package/lib/esm/internal/Symbols.js.map +1 -1
- package/lib/esm/test/annotations/LeaderGeometry.test.js +15 -1
- package/lib/esm/test/annotations/LeaderGeometry.test.js.map +1 -1
- package/lib/esm/test/ecdb/ConcurrentQuery.test.js +35 -16
- package/lib/esm/test/ecdb/ConcurrentQuery.test.js.map +1 -1
- package/lib/esm/test/ecdb/QueryMetadataCache.test.d.ts +2 -0
- package/lib/esm/test/ecdb/QueryMetadataCache.test.d.ts.map +1 -0
- package/lib/esm/test/ecdb/QueryMetadataCache.test.js +630 -0
- package/lib/esm/test/ecdb/QueryMetadataCache.test.js.map +1 -0
- package/lib/esm/test/element/RelationshipBatchLookup.test.d.ts +2 -0
- package/lib/esm/test/element/RelationshipBatchLookup.test.d.ts.map +1 -0
- package/lib/esm/test/element/RelationshipBatchLookup.test.js +202 -0
- package/lib/esm/test/element/RelationshipBatchLookup.test.js.map +1 -0
- package/lib/esm/test/hubaccess/BriefcaseManager.test.js +187 -1
- package/lib/esm/test/hubaccess/BriefcaseManager.test.js.map +1 -1
- package/lib/esm/test/standalone/BriefcaseManagerDelete.test.d.ts +2 -0
- package/lib/esm/test/standalone/BriefcaseManagerDelete.test.d.ts.map +1 -0
- package/lib/esm/test/standalone/BriefcaseManagerDelete.test.js +159 -0
- package/lib/esm/test/standalone/BriefcaseManagerDelete.test.js.map +1 -0
- package/lib/esm/test/standalone/ChangeUnifier.test.d.ts +2 -0
- package/lib/esm/test/standalone/ChangeUnifier.test.d.ts.map +1 -0
- package/lib/esm/test/standalone/ChangeUnifier.test.js +732 -0
- package/lib/esm/test/standalone/ChangeUnifier.test.js.map +1 -0
- package/package.json +17 -17
package/lib/cjs/TxnManager.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/** @packageDocumentation
|
|
2
2
|
* @module iModels
|
|
3
3
|
*/
|
|
4
|
-
import { BeEvent, DbConflictResolution, DbResult, Id64String, IModelStatus } from "@itwin/core-bentley";
|
|
4
|
+
import { BeAsyncEvent, BeEvent, DbConflictResolution, DbResult, Id64String, IModelStatus } from "@itwin/core-bentley";
|
|
5
5
|
import { ChangesetIdWithIndex, ChangesetIndexAndId, ChangesetProps, EntityIdAndClassId, EntityIdAndClassIdIterable, ModelGeometryChangesProps, ModelIdAndGeometryGuid, ReinstateTxnArgs, ReverseTxnArgs, TxnEntityMetadata, TxnProps } from "@itwin/core-common";
|
|
6
6
|
import { BriefcaseDb } from "./IModelDb";
|
|
7
7
|
import { RelationshipProps } from "./Relationship";
|
|
@@ -81,27 +81,28 @@ export interface ChangeInstanceKey {
|
|
|
81
81
|
}
|
|
82
82
|
/** Strictly for tests. @internal */
|
|
83
83
|
export declare function setMaxEntitiesPerEvent(max: number): number;
|
|
84
|
-
/**
|
|
85
|
-
*
|
|
86
|
-
*
|
|
84
|
+
/** The mode in which changes are recorded by the [[TxnManager]].
|
|
85
|
+
* - `"direct"`: changes are made directly by the application. This is the default.
|
|
86
|
+
* - `"indirect"`: changes are recorded as indirect, typically because they are derived from other changes (for example during [[TxnManager.withIndirectTxnMode]]).
|
|
87
|
+
* @beta
|
|
87
88
|
*/
|
|
88
89
|
export type TxnMode = "direct" | "indirect";
|
|
89
90
|
/**
|
|
90
91
|
* Manages the process of merging and rebasing local changes (transactions) in a [[BriefcaseDb]].
|
|
91
92
|
*
|
|
92
93
|
* The `RebaseManager` coordinates the rebase of local transactions when pulling and merging changes from other sources,
|
|
93
|
-
* such as remote repositories or other users. It
|
|
94
|
-
*
|
|
95
|
-
* and tracking the current merge/rebase state.
|
|
94
|
+
* such as remote repositories or other users. It manages the rebase workflow, including resuming or aborting rebases,
|
|
95
|
+
* invoking a custom [[RebaseHandler]] for each rebased transaction, and tracking the current merge/rebase state.
|
|
96
96
|
*
|
|
97
97
|
* Key responsibilities:
|
|
98
98
|
* - Orchestrates the rebase of local transactions after a pull/merge operation.
|
|
99
|
-
* - Allows registration and removal of custom conflict handlers to resolve changeset conflicts during rebase.
|
|
100
99
|
* - Provides methods to check the current merge/rebase state.
|
|
101
100
|
* - Raises events before and after each transaction is rebased.
|
|
102
101
|
* - Ensures changes are saved or aborted appropriately based on the outcome of the rebase process.
|
|
103
102
|
*
|
|
104
|
-
*
|
|
103
|
+
* Obtain the instance for a briefcase via [[TxnManager.rebaser]].
|
|
104
|
+
*
|
|
105
|
+
* @beta
|
|
105
106
|
*/
|
|
106
107
|
export declare class RebaseManager {
|
|
107
108
|
private _iModel;
|
|
@@ -110,51 +111,51 @@ export declare class RebaseManager {
|
|
|
110
111
|
private _aborting;
|
|
111
112
|
private _disposed;
|
|
112
113
|
/** Event raised before pull merge process begins.
|
|
113
|
-
* @
|
|
114
|
+
* @beta
|
|
114
115
|
*/
|
|
115
116
|
readonly onPullMergeBegin: BeEvent<(changeset: ChangesetIdWithIndex) => void>;
|
|
116
117
|
/** Event raised before a rebase operation begins.
|
|
117
|
-
* @
|
|
118
|
+
* @beta
|
|
118
119
|
*/
|
|
119
120
|
readonly onRebaseBegin: BeEvent<(txns: TxnProps[]) => void>;
|
|
120
121
|
/** Event raised before a transaction is rebased.
|
|
121
|
-
* @
|
|
122
|
+
* @beta
|
|
122
123
|
*/
|
|
123
124
|
readonly onRebaseTxnBegin: BeEvent<(txnProps: TxnProps) => void>;
|
|
124
125
|
/** Event raised after a transaction is rebased.
|
|
125
|
-
* @
|
|
126
|
+
* @beta
|
|
126
127
|
*/
|
|
127
128
|
readonly onRebaseTxnEnd: BeEvent<(txnProps: TxnProps) => void>;
|
|
128
129
|
/** Event raised after a rebase operation ends.
|
|
129
|
-
* @
|
|
130
|
+
* @beta
|
|
130
131
|
*/
|
|
131
132
|
readonly onRebaseEnd: BeEvent<(txns: TxnProps[]) => void>;
|
|
132
133
|
/** Event raised after pull merge process ends.
|
|
133
|
-
* @
|
|
134
|
+
* @beta
|
|
134
135
|
*/
|
|
135
136
|
readonly onPullMergeEnd: BeEvent<(changeset: ChangesetIdWithIndex) => void>;
|
|
136
137
|
/** Event raised before applying incoming changes.
|
|
137
|
-
* @
|
|
138
|
+
* @beta
|
|
138
139
|
*/
|
|
139
140
|
readonly onApplyIncomingChangesBegin: BeEvent<(changesets: ChangesetProps[]) => void>;
|
|
140
141
|
/** Event raised after applying incoming changes.
|
|
141
|
-
* @
|
|
142
|
+
* @beta
|
|
142
143
|
*/
|
|
143
144
|
readonly onApplyIncomingChangesEnd: BeEvent<(changes: ChangesetProps[]) => void>;
|
|
144
145
|
/** Event raised before reversing local changes.
|
|
145
|
-
|
|
146
|
+
* @beta
|
|
146
147
|
*/
|
|
147
148
|
readonly onReverseLocalChangesBegin: BeEvent<() => void>;
|
|
148
149
|
/** Event raised after reversing local changes.
|
|
149
|
-
* @
|
|
150
|
+
* @beta
|
|
150
151
|
*/
|
|
151
152
|
readonly onReverseLocalChangesEnd: BeEvent<(txns: TxnProps[]) => void>;
|
|
152
153
|
/** Event raised before downloading changesets.
|
|
153
|
-
* @
|
|
154
|
+
* @beta
|
|
154
155
|
*/
|
|
155
156
|
readonly onDownloadChangesetsBegin: BeEvent<() => void>;
|
|
156
157
|
/** Event raised after downloading changesets.
|
|
157
|
-
* @
|
|
158
|
+
* @beta
|
|
158
159
|
*/
|
|
159
160
|
readonly onDownloadChangesetsEnd: BeEvent<() => void>;
|
|
160
161
|
/** @internal */
|
|
@@ -181,11 +182,12 @@ export declare class RebaseManager {
|
|
|
181
182
|
notifyRebaseTxnBegin(txnProps: TxnProps): void;
|
|
182
183
|
/** @internal */
|
|
183
184
|
notifyRebaseTxnEnd(txnProps: TxnProps): void;
|
|
185
|
+
/** @alpha */
|
|
184
186
|
constructor(_iModel: BriefcaseDb);
|
|
185
187
|
/** Disposes of this RebaseManager, clearing all event listeners.
|
|
186
188
|
* Also calls [[RebaseHandler.dispose]] on the registered custom handler, if any.
|
|
187
189
|
* Subsequent calls are ignored.
|
|
188
|
-
* @
|
|
190
|
+
* @beta
|
|
189
191
|
*/
|
|
190
192
|
dispose(): void;
|
|
191
193
|
/**
|
|
@@ -193,19 +195,22 @@ export declare class RebaseManager {
|
|
|
193
195
|
* on top of the latest pulled changes from the remote source.
|
|
194
196
|
*
|
|
195
197
|
* This method performs the following steps:
|
|
196
|
-
* 1. Begins the rebase
|
|
197
|
-
* 2.
|
|
198
|
-
* -
|
|
199
|
-
* -
|
|
200
|
-
* -
|
|
201
|
-
* -
|
|
202
|
-
*
|
|
203
|
-
*
|
|
204
|
-
* 4. Drops any restore point associated with the pull-merge operation.
|
|
198
|
+
* 1. Begins the rebase and raises [[RebaseManager.onRebaseBegin]].
|
|
199
|
+
* 2. For each local transaction that needs to be rebased:
|
|
200
|
+
* - Raises [[RebaseManager.onRebaseTxnBegin]].
|
|
201
|
+
* - Reinstates the transaction's local changes, unless the custom [[RebaseHandler]]'s `shouldReinstate` returns `false`.
|
|
202
|
+
* - Calls [[RebaseHandler.recompute]] if a custom handler was set via [[RebaseManager.setCustomHandler]].
|
|
203
|
+
* - Updates the transaction with the resulting changes and raises [[RebaseManager.onRebaseTxnEnd]].
|
|
204
|
+
* 3. Ends the rebase, raises [[RebaseManager.onRebaseEnd]], and saves changes if the iModel is not read-only.
|
|
205
|
+
* 4. Drops the pull/merge restore point, if any, and raises [[RebaseManager.onPullMergeEnd]].
|
|
205
206
|
*
|
|
206
|
-
* If an error occurs
|
|
207
|
+
* If an error occurs, only the changes of the transaction currently being rebased are abandoned and the error is rethrown.
|
|
208
|
+
* The rebase remains in progress: call `resume` again to retry, or [[RebaseManager.abort]] to roll back the pull/merge.
|
|
209
|
+
* If the pull/merge used semantic rebase (see [[IModelHostOptions.useSemanticRebase]]), retrying with `resume` is not supported;
|
|
210
|
+
* use [[RebaseManager.abort]] if [[RebaseManager.canAbort]] returns `true`.
|
|
207
211
|
*
|
|
208
|
-
* @throws
|
|
212
|
+
* @throws Error if a transaction cannot be found or if any step in the rebase process fails.
|
|
213
|
+
* @beta
|
|
209
214
|
*/
|
|
210
215
|
resume(): Promise<void>;
|
|
211
216
|
/**
|
|
@@ -226,88 +231,95 @@ export declare class RebaseManager {
|
|
|
226
231
|
* If an error occurs during the process, the rebase is aborted and the error is rethrown.
|
|
227
232
|
*
|
|
228
233
|
* @throws {Error} If a transaction cannot be found or if any step in the rebase process fails.
|
|
234
|
+
* @internal
|
|
229
235
|
*/
|
|
230
236
|
resumeSemantic(): Promise<void>;
|
|
231
237
|
/**
|
|
232
238
|
* Checks if the transaction is a schema change and if it was a noop change during rebase, purges the local folder for that txn
|
|
233
239
|
* @param txnProps
|
|
234
|
-
* @internal
|
|
235
240
|
*/
|
|
236
241
|
private purgeSchemaFolderForNoopSchemaChange;
|
|
237
242
|
/**
|
|
238
243
|
* Reinstantes the semantic changeset data for the given txnProps, both schema as well as data changesets
|
|
239
244
|
* @param txnProps
|
|
240
245
|
* @throws IModelError if local folder for transaction does not exist
|
|
241
|
-
* @internal
|
|
242
246
|
*/
|
|
243
247
|
private reinstateSemanticChangeSet;
|
|
244
248
|
/**
|
|
245
249
|
* Applies instance patch during rebase
|
|
246
250
|
* @param instance
|
|
247
|
-
* @internal
|
|
248
251
|
*/
|
|
249
252
|
private applyInstancePatch;
|
|
250
253
|
/**
|
|
251
|
-
* Determines whether the
|
|
254
|
+
* Determines whether the in-progress pull/merge can be rolled back via [[RebaseManager.abort]].
|
|
252
255
|
*
|
|
253
|
-
*
|
|
254
|
-
*
|
|
256
|
+
* A pull/merge can be aborted only while it is in progress (see [[RebaseManager.inProgress]]) and a pull/merge restore point exists.
|
|
257
|
+
* The restore point is created at the start of a pull/merge only if the briefcase has pending local transactions, none of which
|
|
258
|
+
* contain schema changes, and [[IModelHostOptions.disableRestorePointOnPullMerge]] is not set.
|
|
255
259
|
*
|
|
256
|
-
* @returns
|
|
260
|
+
* @returns `true` if a pull/merge is in progress and its restore point exists; otherwise, `false`.
|
|
261
|
+
* @beta
|
|
257
262
|
*/
|
|
258
263
|
canAbort(): boolean;
|
|
259
264
|
/**
|
|
260
|
-
* Aborts the
|
|
261
|
-
*
|
|
265
|
+
* Aborts the in-progress pull/merge, restoring the briefcase to the state it was in before the pull began,
|
|
266
|
+
* including its parent changeset and local transactions. Any unsaved changes are discarded first.
|
|
262
267
|
*
|
|
263
|
-
*
|
|
264
|
-
* to the state saved at the restore point named by `BriefcaseManager.PULL_MERGE_RESTORE_POINT_NAME`.
|
|
265
|
-
* If no restore point is available, an error is thrown.
|
|
268
|
+
* [[RebaseManager.isAborting]] is `true` while the restore is running.
|
|
266
269
|
*
|
|
267
270
|
* @returns A promise that resolves when the restore operation is complete.
|
|
268
|
-
* @throws
|
|
271
|
+
* @throws Error if the pull/merge cannot be aborted (see [[RebaseManager.canAbort]]).
|
|
272
|
+
* @beta
|
|
269
273
|
*/
|
|
270
274
|
abort(): Promise<void>;
|
|
271
275
|
/**
|
|
272
|
-
* Sets the
|
|
276
|
+
* Sets the [[RebaseHandler]] invoked for each local transaction while it is rebased during a pull/merge.
|
|
277
|
+
*
|
|
278
|
+
* Only one handler can be set. Setting a new handler replaces the previous one, logs a warning, and does not call
|
|
279
|
+
* [[RebaseHandler.dispose]] on the replaced handler.
|
|
273
280
|
*
|
|
274
|
-
* @param handler - The
|
|
281
|
+
* @param handler - The handler that decides whether to reinstate, and how to recompute, each rebased transaction.
|
|
282
|
+
* @beta
|
|
275
283
|
*/
|
|
276
284
|
setCustomHandler(handler: RebaseHandler): void;
|
|
277
285
|
/**
|
|
278
|
-
* Determines whether
|
|
279
|
-
* @returns
|
|
286
|
+
* Determines whether a pull/merge is currently in progress. Same as `this.isRebasing || this.isMerging`.
|
|
287
|
+
* @returns `true` if the briefcase is currently merging or rebasing changes; otherwise, `false`.
|
|
288
|
+
* @beta
|
|
280
289
|
*/
|
|
281
290
|
inProgress(): boolean;
|
|
282
291
|
/**
|
|
283
|
-
* Indicates whether
|
|
292
|
+
* Indicates whether [[RebaseManager.abort]] is currently rolling back a pull/merge.
|
|
284
293
|
*
|
|
285
|
-
* @returns `true`
|
|
294
|
+
* @returns `true` while an abort is in progress; otherwise, `false`.
|
|
295
|
+
* @beta
|
|
286
296
|
*/
|
|
287
297
|
get isAborting(): boolean;
|
|
288
298
|
/**
|
|
289
|
-
* Indicates whether the
|
|
290
|
-
*
|
|
291
|
-
* This property checks the internal native database's merge stage to determine if a rebase operation is in progress.
|
|
299
|
+
* Indicates whether the pull/merge is in the rebasing stage, in which local transactions are being reinstated
|
|
300
|
+
* on top of the incoming changesets.
|
|
292
301
|
*
|
|
293
|
-
* @returns `true` if the
|
|
302
|
+
* @returns `true` if the briefcase is currently rebasing local changes; otherwise, `false`.
|
|
303
|
+
* @beta
|
|
294
304
|
*/
|
|
295
305
|
get isRebasing(): boolean;
|
|
296
306
|
/**
|
|
297
|
-
* Indicates whether the
|
|
307
|
+
* Indicates whether the pull/merge is in the merging stage, in which incoming changesets are being applied.
|
|
298
308
|
*
|
|
299
|
-
* @returns `true` if the
|
|
309
|
+
* @returns `true` if the briefcase is currently merging incoming changes; otherwise, `false`.
|
|
310
|
+
* @beta
|
|
300
311
|
*/
|
|
301
312
|
get isMerging(): boolean;
|
|
302
313
|
/**
|
|
303
|
-
* Attempts to resolve a changeset conflict by invoking
|
|
314
|
+
* Attempts to resolve a changeset conflict by invoking the handlers registered via [[RebaseManager.addConflictHandler]].
|
|
304
315
|
*
|
|
305
|
-
*
|
|
306
|
-
*
|
|
307
|
-
*
|
|
316
|
+
* Called during rebase for conflicts not already resolved by the built-in rules. Handlers are invoked from most recently
|
|
317
|
+
* to least recently added; the first handler that returns a resolution wins. If no handler resolves the conflict,
|
|
318
|
+
* returns `undefined` and the default resolution is applied.
|
|
308
319
|
*
|
|
309
320
|
* @param args - The arguments describing the changeset conflict to resolve.
|
|
310
321
|
* @returns The conflict resolution provided by a handler, or `undefined` if no handler resolves the conflict.
|
|
322
|
+
* @internal
|
|
311
323
|
*/
|
|
312
324
|
onConflict(args: RebaseChangesetConflictArgs): DbConflictResolution | undefined;
|
|
313
325
|
/**
|
|
@@ -321,18 +333,20 @@ export declare class RebaseManager {
|
|
|
321
333
|
* @remarks
|
|
322
334
|
* Conflict handlers are used during changeset rebase operations to resolve conflicts.
|
|
323
335
|
* Each handler must have a unique `id`. Attempting to register a handler with a duplicate `id` will result in an error.
|
|
336
|
+
* The most recently added handler is invoked first. A handler should return `undefined` to defer to the next handler.
|
|
337
|
+
* A handler must not throw; if it does, the transaction being rebased is aborted.
|
|
338
|
+
* @internal
|
|
324
339
|
*/
|
|
325
340
|
addConflictHandler(args: {
|
|
326
341
|
id: string;
|
|
327
342
|
handler: (args: RebaseChangesetConflictArgs) => DbConflictResolution | undefined;
|
|
328
343
|
}): void;
|
|
329
344
|
/**
|
|
330
|
-
* Removes a conflict handler
|
|
345
|
+
* Removes a conflict handler previously registered via [[RebaseManager.addConflictHandler]].
|
|
346
|
+
* If no handler with the given `id` is registered, the method does nothing.
|
|
331
347
|
*
|
|
332
348
|
* @param id - The unique identifier of the conflict handler to remove.
|
|
333
|
-
*
|
|
334
|
-
* If the handler with the specified `id` exists in the list, it will be removed.
|
|
335
|
-
* If no handler with the given `id` is found, the method does nothing.
|
|
349
|
+
* @internal
|
|
336
350
|
*/
|
|
337
351
|
removeConflictHandler(id: string): void;
|
|
338
352
|
}
|
|
@@ -347,7 +361,9 @@ export declare class TxnManager {
|
|
|
347
361
|
private _withIndirectChangeRefCounter;
|
|
348
362
|
/** @internal */
|
|
349
363
|
get isDisposed(): boolean;
|
|
350
|
-
/**
|
|
364
|
+
/** Manages rebasing local changes onto incoming changesets during pull/merge.
|
|
365
|
+
* @beta
|
|
366
|
+
*/
|
|
351
367
|
readonly rebaser: RebaseManager;
|
|
352
368
|
/** @internal */
|
|
353
369
|
constructor(_iModel: BriefcaseDb);
|
|
@@ -402,25 +418,25 @@ export declare class TxnManager {
|
|
|
402
418
|
_onChangesPulled(changeset: ChangesetIndexAndId): void;
|
|
403
419
|
private _onRebaseLocalTxnConflict;
|
|
404
420
|
/**
|
|
405
|
-
* @alpha
|
|
406
421
|
* Retrieves the txn properties for a given txn ID.
|
|
407
422
|
*
|
|
408
423
|
* @param id - The unique identifier of the transaction.
|
|
409
424
|
* @returns The properties of the transaction if found; otherwise, `undefined`.
|
|
425
|
+
* @beta
|
|
410
426
|
*/
|
|
411
427
|
getTxnProps(id: TxnIdString): TxnProps | undefined;
|
|
412
428
|
/**
|
|
413
|
-
*
|
|
414
|
-
* Iterates over all transactions in the sequence, yielding each transaction's properties.
|
|
429
|
+
* Iterates over all transactions, from first to last, yielding each transaction's properties.
|
|
415
430
|
*
|
|
416
|
-
* @
|
|
431
|
+
* @returns A generator yielding the [[TxnProps]] of each transaction.
|
|
432
|
+
* @beta
|
|
417
433
|
*/
|
|
418
434
|
queryTxns(): Generator<TxnProps>;
|
|
419
435
|
/**
|
|
420
|
-
*
|
|
421
|
-
* Retrieves the properties of the last saved txn via `IModelDb.saveChanges()`, if available.
|
|
436
|
+
* Retrieves the properties of the most recently saved txn (for example via [[EditTxn.saveChanges]]), if any.
|
|
422
437
|
*
|
|
423
438
|
* @returns The properties of the last saved txn, or `undefined` if none exist.
|
|
439
|
+
* @beta
|
|
424
440
|
*/
|
|
425
441
|
getLastSavedTxnProps(): TxnProps | undefined;
|
|
426
442
|
/** Dependency handlers may call method this to report a validation error.
|
|
@@ -489,6 +505,20 @@ export declare class TxnManager {
|
|
|
489
505
|
* @see [[BriefcaseDb.pullChanges]].
|
|
490
506
|
*/
|
|
491
507
|
readonly onChangesPulled: BeEvent<(parentChangeset: ChangesetIndexAndId) => void>;
|
|
508
|
+
/**
|
|
509
|
+
* Event raised before pushing changes to iModelHub. This is the final chance to perform any validation or
|
|
510
|
+
* cancellation before the changes are sent. If a listener throws or returns a promise that rejects, the
|
|
511
|
+
* push operation will be aborted. Listeners are allowed to make additional changes to the iModel if necessary,
|
|
512
|
+
* and those changes will be included in the push (if it proceeds).
|
|
513
|
+
*
|
|
514
|
+
* If the push is happening as part of [[BriefcaseManager.pullMergePush]], and the listener throws or returns
|
|
515
|
+
* a promise that rejects with an [[IModelError]] with an `errorNumber` of [[IModelHubStatus.PullIsRequired]],
|
|
516
|
+
* then another pull will be attempted, following by another pre-push validation attempt. This will continue
|
|
517
|
+
* as necessary up to the retry limit.
|
|
518
|
+
* @see [[BriefcaseDb.pushChanges]].
|
|
519
|
+
* @beta
|
|
520
|
+
*/
|
|
521
|
+
readonly onPrePushValidation: BeAsyncEvent<() => Promise<void>>;
|
|
492
522
|
/** Event raised after changes are pushed to iModelHub.
|
|
493
523
|
* @see [[BriefcaseDb.pushChanges]].
|
|
494
524
|
*/
|
|
@@ -710,48 +740,55 @@ export declare class TxnManager {
|
|
|
710
740
|
*/
|
|
711
741
|
getChangeTrackingMemoryUsed(): number;
|
|
712
742
|
/**
|
|
713
|
-
* @alpha
|
|
714
743
|
* Get the current transaction mode.
|
|
715
|
-
* @returns The current
|
|
744
|
+
* @returns The current [[TxnMode]], either `"direct"` or `"indirect"`.
|
|
745
|
+
* @beta
|
|
716
746
|
*/
|
|
717
747
|
getMode(): TxnMode;
|
|
718
748
|
/**
|
|
719
|
-
*
|
|
720
|
-
*
|
|
749
|
+
* Synchronously execute a series of changes with the [[TxnMode]] set to `"indirect"`, so they are recorded as indirect changes.
|
|
750
|
+
* Calls may be nested; the mode reverts to `"direct"` when the outermost call returns or throws.
|
|
751
|
+
* This method does not save changes.
|
|
721
752
|
* @param callback The function containing the changes to make.
|
|
753
|
+
* @beta
|
|
722
754
|
*/
|
|
723
755
|
withIndirectTxnMode(callback: () => void): void;
|
|
724
756
|
/**
|
|
725
|
-
*
|
|
726
|
-
*
|
|
757
|
+
* Asynchronously execute a series of changes with the [[TxnMode]] set to `"indirect"`, so they are recorded as indirect changes.
|
|
758
|
+
* Calls may be nested with each other and with [[TxnManager.withIndirectTxnMode]]; the mode reverts to `"direct"` when the
|
|
759
|
+
* outermost call completes or rejects. While the returned promise is pending, all changes to this iModel, including those made by
|
|
760
|
+
* other concurrent code, are recorded as indirect. This method does not save changes.
|
|
727
761
|
* @param callback The function containing the changes to make.
|
|
762
|
+
* @beta
|
|
728
763
|
*/
|
|
729
764
|
withIndirectTxnModeAsync(callback: () => Promise<void>): Promise<void>;
|
|
730
765
|
}
|
|
731
766
|
/**
|
|
732
|
-
*
|
|
733
|
-
* @
|
|
767
|
+
* Customizes how each local transaction is rebased during a pull/merge. Register it via [[RebaseManager.setCustomHandler]].
|
|
768
|
+
* @beta
|
|
734
769
|
*/
|
|
735
770
|
export interface RebaseHandler {
|
|
736
771
|
/**
|
|
737
|
-
* Determine whether a transaction should be reinstated during a rebase operation.
|
|
738
|
-
*
|
|
739
|
-
*
|
|
740
|
-
* @
|
|
772
|
+
* Determine whether the local changes of a transaction should be reinstated during a rebase operation.
|
|
773
|
+
* Called for each rebased transaction before [[RebaseHandler.recompute]]. If no handler is set, changes are always reinstated.
|
|
774
|
+
* @param txn The transaction being rebased.
|
|
775
|
+
* @returns `true` to reinstate the transaction's original local changes; `false` to discard them.
|
|
741
776
|
*/
|
|
742
777
|
shouldReinstate(txn: TxnProps): boolean;
|
|
743
778
|
/**
|
|
744
|
-
* Recompute the changes for a given transaction.
|
|
745
|
-
*
|
|
779
|
+
* Recompute the changes for a given transaction. Called for each rebased transaction after its local changes were
|
|
780
|
+
* reinstated or discarded according to [[RebaseHandler.shouldReinstate]]. Changes made to the iModel here are folded into that transaction.
|
|
781
|
+
* Throwing an error abandons the changes of this transaction and fails the pull/merge; see [[RebaseManager.resume]].
|
|
782
|
+
* @param txn The transaction being rebased.
|
|
746
783
|
*
|
|
747
|
-
* @
|
|
784
|
+
* @beta
|
|
748
785
|
*/
|
|
749
786
|
recompute(txn: TxnProps): Promise<void>;
|
|
750
787
|
/**
|
|
751
788
|
* Called when the owning [[RebaseManager]] is disposed (e.g. when the iModel is closed).
|
|
752
789
|
* Override this method to unsubscribe from events or release resources held by this handler.
|
|
753
790
|
*
|
|
754
|
-
* @
|
|
791
|
+
* @beta
|
|
755
792
|
*/
|
|
756
793
|
dispose?(): void;
|
|
757
794
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TxnManager.d.ts","sourceRoot":"","sources":["../../src/TxnManager.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,EACG,OAAO,EAAmD,oBAAoB,EAAE,QAAQ,EAAmB,UAAU,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"TxnManager.d.ts","sourceRoot":"","sources":["../../src/TxnManager.ts"],"names":[],"mappings":"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"}
|