@itwin/imodel-transformer 0.4.18-fedguidopt.6 → 1.0.0-dev.10

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 (65) hide show
  1. package/CHANGELOG.md +9 -1
  2. package/lib/cjs/Algo.d.ts +7 -0
  3. package/lib/cjs/Algo.d.ts.map +1 -1
  4. package/lib/cjs/Algo.js +10 -4
  5. package/lib/cjs/Algo.js.map +1 -1
  6. package/lib/cjs/BigMap.d.ts +6 -1
  7. package/lib/cjs/BigMap.d.ts.map +1 -1
  8. package/lib/cjs/BigMap.js +29 -3
  9. package/lib/cjs/BigMap.js.map +1 -1
  10. package/lib/cjs/BranchProvenanceInitializer.d.ts.map +1 -1
  11. package/lib/cjs/BranchProvenanceInitializer.js +15 -4
  12. package/lib/cjs/BranchProvenanceInitializer.js.map +1 -1
  13. package/lib/cjs/DetachedExportElementAspectsStrategy.d.ts.map +1 -1
  14. package/lib/cjs/DetachedExportElementAspectsStrategy.js +12 -5
  15. package/lib/cjs/DetachedExportElementAspectsStrategy.js.map +1 -1
  16. package/lib/cjs/ECReferenceTypesCache.d.ts.map +1 -1
  17. package/lib/cjs/ECReferenceTypesCache.js +32 -18
  18. package/lib/cjs/ECReferenceTypesCache.js.map +1 -1
  19. package/lib/cjs/ECSqlReaderAsyncIterableIteratorAdapter.d.ts +1 -1
  20. package/lib/cjs/ECSqlReaderAsyncIterableIteratorAdapter.d.ts.map +1 -1
  21. package/lib/cjs/ECSqlReaderAsyncIterableIteratorAdapter.js +7 -5
  22. package/lib/cjs/ECSqlReaderAsyncIterableIteratorAdapter.js.map +1 -1
  23. package/lib/cjs/ElementCascadingDeleter.d.ts +3 -3
  24. package/lib/cjs/ElementCascadingDeleter.d.ts.map +1 -1
  25. package/lib/cjs/ElementCascadingDeleter.js +9 -7
  26. package/lib/cjs/ElementCascadingDeleter.js.map +1 -1
  27. package/lib/cjs/EntityMap.d.ts.map +1 -1
  28. package/lib/cjs/EntityMap.js.map +1 -1
  29. package/lib/cjs/EntityUnifier.d.ts +5 -0
  30. package/lib/cjs/EntityUnifier.d.ts.map +1 -1
  31. package/lib/cjs/EntityUnifier.js +22 -35
  32. package/lib/cjs/EntityUnifier.js.map +1 -1
  33. package/lib/cjs/ExportElementAspectsStrategy.d.ts.map +1 -1
  34. package/lib/cjs/ExportElementAspectsStrategy.js +5 -4
  35. package/lib/cjs/ExportElementAspectsStrategy.js.map +1 -1
  36. package/lib/cjs/ExportElementAspectsWithElementsStrategy.d.ts.map +1 -1
  37. package/lib/cjs/ExportElementAspectsWithElementsStrategy.js +9 -5
  38. package/lib/cjs/ExportElementAspectsWithElementsStrategy.js.map +1 -1
  39. package/lib/cjs/IModelCloneContext.d.ts +1 -4
  40. package/lib/cjs/IModelCloneContext.d.ts.map +1 -1
  41. package/lib/cjs/IModelCloneContext.js +37 -41
  42. package/lib/cjs/IModelCloneContext.js.map +1 -1
  43. package/lib/cjs/IModelExporter.d.ts +69 -73
  44. package/lib/cjs/IModelExporter.d.ts.map +1 -1
  45. package/lib/cjs/IModelExporter.js +240 -176
  46. package/lib/cjs/IModelExporter.js.map +1 -1
  47. package/lib/cjs/IModelImporter.d.ts +17 -65
  48. package/lib/cjs/IModelImporter.d.ts.map +1 -1
  49. package/lib/cjs/IModelImporter.js +79 -109
  50. package/lib/cjs/IModelImporter.js.map +1 -1
  51. package/lib/cjs/IModelTransformer.d.ts +151 -121
  52. package/lib/cjs/IModelTransformer.d.ts.map +1 -1
  53. package/lib/cjs/IModelTransformer.js +809 -751
  54. package/lib/cjs/IModelTransformer.js.map +1 -1
  55. package/lib/cjs/PendingReferenceMap.d.ts.map +1 -1
  56. package/lib/cjs/PendingReferenceMap.js +12 -6
  57. package/lib/cjs/PendingReferenceMap.js.map +1 -1
  58. package/lib/cjs/TransformerLoggerCategory.d.ts +2 -2
  59. package/lib/cjs/TransformerLoggerCategory.d.ts.map +1 -1
  60. package/lib/cjs/TransformerLoggerCategory.js +5 -5
  61. package/lib/cjs/TransformerLoggerCategory.js.map +1 -1
  62. package/lib/cjs/transformer.d.ts.map +1 -1
  63. package/lib/cjs/transformer.js +15 -10
  64. package/lib/cjs/transformer.js.map +1 -1
  65. package/package.json +22 -18
@@ -1,6 +1,6 @@
1
1
  import { AccessToken, Id64Array, Id64String } from "@itwin/core-bentley";
2
2
  import * as ECSchemaMetaData from "@itwin/ecschema-metadata";
3
- import { Element, ElementAspect, ElementMultiAspect, ElementUniqueAspect, Entity, ExternalSourceAspect, IModelDb, Model, Relationship, RelationshipProps, SQLiteDb } from "@itwin/core-backend";
3
+ import { Element, ElementAspect, ElementMultiAspect, ElementUniqueAspect, Entity, ExternalSourceAspect, IModelDb, Model, Relationship, RelationshipProps } from "@itwin/core-backend";
4
4
  import { ChangesetIndexAndId, CodeSpec, ElementAspectProps, ElementProps, EntityReference, EntityReferenceSet, ExternalSourceAspectProps, FontProps, ModelProps, Placement2d, Placement3d } from "@itwin/core-common";
5
5
  import { ExportChangesOptions, ExportSchemaResult, IModelExporter, IModelExportHandler } from "./IModelExporter";
6
6
  import { IModelImporter, OptimizeGeometryOptions } from "./IModelImporter";
@@ -39,6 +39,7 @@ export interface IModelTransformOptions {
39
39
  * The most common example is to first synchronize master to branch, make changes to the branch, and then reverse directions to synchronize from branch to master.
40
40
  * This means that the provenance on the (current) source is used instead.
41
41
  * @note This also means that only [[IModelTransformer.processChanges]] can detect deletes.
42
+ * @deprecated in 1.x this option is ignored and the transformer now detects synchronization direction using the target scope element
42
43
  */
43
44
  isReverseSynchronization?: boolean;
44
45
  /** Flag that indicates whether or not the transformation process needs to consider the source geometry before cloning/transforming.
@@ -69,20 +70,6 @@ export interface IModelTransformOptions {
69
70
  * @beta
70
71
  */
71
72
  preserveElementIdsForFiltering?: boolean;
72
- /** The behavior to use when an element reference (id) is found stored as a reference on an element in the source,
73
- * but the referenced element does not actually exist in the source.
74
- * It is possible to craft an iModel with dangling references/invalidated relationships by, e.g., deleting certain
75
- * elements without fixing up references.
76
- *
77
- * @note "reject" will throw an error and reject the transformation upon finding this case.
78
- * @note "ignore" passes the issue down to consuming applications, iModels that have invalid element references
79
- * like this can cause errors, and you should consider adding custom logic in your transformer to remove the
80
- * reference depending on your use case.
81
- * @default "reject"
82
- * @beta
83
- * @deprecated in 3.x. use [[danglingReferencesBehavior]] instead, the use of the term *predecessors* was confusing and became inaccurate when the transformer could handle cycles
84
- */
85
- danglingPredecessorsBehavior?: "reject" | "ignore";
86
73
  /** The behavior to use when an element reference (id) is found stored as a reference on an element in the source,
87
74
  * but the referenced element does not actually exist in the source.
88
75
  * It is possible to craft an iModel with dangling references/invalidated relationships by, e.g., deleting certain
@@ -123,6 +110,34 @@ export interface IModelTransformOptions {
123
110
  * @default false
124
111
  */
125
112
  ignoreMissingChangesetsInSynchronizations?: boolean;
113
+ /**
114
+ * Do not error out if a scoping ESA @see ExternalSourceAspectProps is found without a version or jsonProperties defined on that scoping ESA.
115
+ * If true, the version and jsonproperties will be properly set on the scoping ESA @see TargetScopeProvenanceJsonProps after the transformer is complete.
116
+ * These properties not being defined are a sign that this branching relationship was created with an older version of the transformer, and setting this option to 'unsafe-migrate' is not without risk.
117
+ * Depending on the state of the branching relationship at the time of using this option, some data may be lost.
118
+ * @note This should only need to be set to 'unsafe-migrate' at most once for a branching relationship. For future transformations on the branching relationship, the @see TargetScopeProvenanceJsonProps will be present.
119
+ * @default "reject"
120
+ */
121
+ branchRelationshipDataBehavior?: "unsafe-migrate" | "reject";
122
+ /**
123
+ * The forward sync 'version' to set on the scoping ESA @see ExternalSourceAspectProps upon startup, if the version property on the scoping ESA is undefined or empty string.
124
+ * @note This option is not without risk! You must also set @see branchRelationshipDataBehavior to "unsafe-migrate".
125
+ * @note This value is ignored if the version property on the scoping ESA is NOT undefined or empty string.
126
+ * @default ""
127
+ */
128
+ unsafeFallbackSyncVersion?: string;
129
+ /**
130
+ * The reverse sync version to set on the scoping ESA @see TargetScopeProvenanceJsonProps upon startup, if the reverseSync property on the scoping ESA is undefined or empty string.
131
+ * @note This option is not without risk! You must also set @see branchRelationshipDataBehavior to "unsafe-migrate".
132
+ * @note This value is ignored if the reverseSyncVersion property on the scoping ESA is NOT undefined or empty string.
133
+ * @default ""
134
+ */
135
+ unsafeFallbackReverseSyncVersion?: string;
136
+ /**
137
+ * Skip propagating changes made to the root subject, dictionaryModel and IModelImporter._realityDataSourceLinkPartitionStaticId (0xe)
138
+ * @default false
139
+ */
140
+ skipPropagateChangesToRootElements?: boolean;
126
141
  }
127
142
  /**
128
143
  * A container for tracking the state of a partially committed entity and finalizing it when it's ready to be fully committed
@@ -152,8 +167,19 @@ declare class PartiallyCommittedEntity {
152
167
  * @beta
153
168
  */
154
169
  export interface TargetScopeProvenanceJsonProps {
170
+ /** An array of changeset indices to ignore when doing a reverse sync. This array gets appended to during a forward sync and cleared
171
+ * during a reverse sync. Since a forward sync pushes a changeset to the branch db, the changeset pushed to the branch db
172
+ * by the forward sync isn't considered part of the changes made on the branch db and therefore doesn't need to be synced back to master
173
+ * during a forward sync.
174
+ */
155
175
  pendingReverseSyncChangesetIndices: number[];
176
+ /** An array of changeset indices to ignore when doing a forward sync. This array gets appended to during a reverse sync and cleared
177
+ * during a forward sync. Since a reverse sync pushes a changeset to the master db, the changeset pushed to the master db
178
+ * by the reverse sync isn't considered part of the changes made on the master db and therefore doesn't need to be synced back to the branch
179
+ * during a forward sync.
180
+ */
156
181
  pendingSyncChangesetIndices: number[];
182
+ /** the latest changesetid/index reverse synced into master */
157
183
  reverseSyncVersion: string;
158
184
  }
159
185
  /** Arguments you can pass to [[IModelTransformer.initialize]]
@@ -175,14 +201,18 @@ export interface InitOptions {
175
201
  /**
176
202
  * Arguments for [[IModelTransformer.processChanges]]
177
203
  */
178
- export interface ProcessChangesOptions extends ExportChangesOptions {
204
+ export type ProcessChangesOptions = ExportChangesOptions & {
179
205
  /** how to call saveChanges on the target. Must call targetDb.saveChanges, should not edit the iModel */
180
206
  saveTargetChanges?: (transformer: IModelTransformer) => Promise<void>;
181
- }
207
+ };
182
208
  /** Arguments you can pass to [[IModelTransformer.initExternalSourceAspects]]
183
209
  * @deprecated in 0.1.0. Use [[InitOptions]] (and [[IModelTransformer.initialize]]) instead.
184
210
  */
185
211
  export type InitFromExternalSourceAspectsArgs = InitOptions;
212
+ export interface RelationshipPropsForDelete {
213
+ id: Id64String;
214
+ classFullName: string;
215
+ }
186
216
  /** Base class used to transform a source iModel into a different target iModel.
187
217
  * @see [iModel Transformation and Data Exchange]($docs/learning/transformer/index.md), [IModelExporter]($transformer), [IModelImporter]($transformer)
188
218
  * @beta
@@ -200,6 +230,7 @@ export declare class IModelTransformer extends IModelExportHandler {
200
230
  readonly targetDb: IModelDb;
201
231
  /** The IModelTransformContext for this IModelTransformer. */
202
232
  readonly context: IModelCloneContext;
233
+ private _syncType?;
203
234
  /** The Id of the Element in the **target** iModel that represents the **source** repository as a whole and scopes its [ExternalSourceAspect]($backend) instances. */
204
235
  get targetScopeElementId(): Id64String;
205
236
  /** map of (unprocessed element, referencing processed element) pairs to the partially committed element that needs the reference resolved
@@ -211,12 +242,47 @@ export declare class IModelTransformer extends IModelExportHandler {
211
242
  protected _partiallyCommittedEntities: EntityMap<PartiallyCommittedEntity>;
212
243
  /** the options that were used to initialize this transformer */
213
244
  private readonly _options;
245
+ /** @see hasDefinitionContainerDeletionFeature */
246
+ private _hasDefinitionContainerDeletionFeature?;
214
247
  private _isSynchronization;
215
- private get _isReverseSynchronization();
216
- private get _isForwardSynchronization();
248
+ /**
249
+ * A private variable meant to be set by tests which have an outdated way of setting up transforms. In all synchronizations today we expect to find an ESA in the branch db which describes the master -> branch relationship.
250
+ * The exception to this is the first transform aka the provenance initializing transform which requires that the master imodel and the branch imodel are identical at the time of provenance initialization.
251
+ * A couple ofoutdated tests run their first transform providing a source and targetdb that are slightly different which is no longer supported. In order to not remove these tests which are still providing value
252
+ * this private property on the IModelTransformer exists.
253
+ */
254
+ private _allowNoScopingESA;
255
+ static noEsaSyncDirectionErrorMessage: string;
256
+ /**
257
+ * Queries for an esa which matches the props in the provided aspectProps.
258
+ * @param dbToQuery db to run the query on for scope external source
259
+ * @param aspectProps aspectProps to search for @see ExternalSourceAspectProps
260
+ */
261
+ static queryScopeExternalSourceAspect(dbToQuery: IModelDb, aspectProps: ExternalSourceAspectProps): {
262
+ aspectId: Id64String;
263
+ version?: string;
264
+ /** stringified json */
265
+ jsonProperties?: string;
266
+ } | undefined;
267
+ /**
268
+ * Determines the sync direction "forward" or "reverse" of a given sourceDb and targetDb by looking for the scoping ESA.
269
+ * If the sourceDb's iModelId is found as the identifier of the expected scoping ESA in the targetDb, then it is a forward synchronization.
270
+ * If the targetDb's iModelId is found as the identifier of the expected scoping ESA in the sourceDb, then it is a reverse synchronization.
271
+ * @throws if no scoping ESA can be found in either the sourceDb or targetDb which describes a master branch relationship between the two databases.
272
+ * @returns "forward" or "reverse"
273
+ */
274
+ static determineSyncType(sourceDb: IModelDb, targetDb: IModelDb,
275
+ /** @see [[IModelTransformOptions.targetScopeElementId]] */
276
+ targetScopeElementId: Id64String): "forward" | "reverse";
277
+ private determineSyncType;
278
+ get isReverseSynchronization(): boolean;
279
+ get isForwardSynchronization(): boolean;
217
280
  private _changesetRanges;
218
- /** Set if it can be determined whether this is the first source --> target synchronization. */
219
- private _isFirstSynchronization?;
281
+ /**
282
+ * Set if the transformer is being used to perform the provenance initialization step of a fork initialization.
283
+ * In general don't use the transformer for that, prefer [[BranchProvenanceInitializer.initializeBranchProvenance]]
284
+ */
285
+ private _isProvenanceInitTransform?;
220
286
  /** The element classes that are considered to define provenance in the iModel */
221
287
  static get provenanceElementClasses(): (typeof Entity)[];
222
288
  /** The element aspect classes that are considered to define provenance in the iModel */
@@ -231,6 +297,10 @@ export declare class IModelTransformer extends IModelExportHandler {
231
297
  * @param options The options that specify how the transformation should be done.
232
298
  */
233
299
  constructor(source: IModelDb | IModelExporter, target: IModelDb | IModelImporter, options?: IModelTransformOptions);
300
+ /** validates that the importer set on the transformer has the same values for its shared options as the transformer.
301
+ * @note This expects that the importer is already set on the transformer.
302
+ */
303
+ private validateSharedOptionsMatch;
234
304
  /** Dispose any native resources associated with this IModelTransformer. */
235
305
  dispose(): void;
236
306
  /** Log current settings that affect IModelTransformer's behavior. */
@@ -280,17 +350,23 @@ export declare class IModelTransformer extends IModelExportHandler {
280
350
  */
281
351
  private _startingChangesetIndices;
282
352
  private _cachedSynchronizationVersion;
283
- /** the changeset in the scoping element's source version found for this transformation
284
- * @note: the version depends on whether this is a reverse synchronization or not, as
285
- * it is stored separately for both synchronization directions.
286
- * @note: must call [[initScopeProvenance]] before using this property.
287
- * @note: empty string and -1 for changeset and index if it has never been transformed or was transformed before federation guid update (pre 1.x).
353
+ /**
354
+ * As of itwinjs 4.6.0, definitionContainers are now deleted as if they were DefinitionPartitions as opposed to Definitions.
355
+ * This variable being true will be used to special case the deletion of DefinitionContainers the same way DefinitionPartitions are deleted.
356
+ */
357
+ protected get hasDefinitionContainerDeletionFeature(): boolean;
358
+ /**
359
+ * We cache the synchronization version to avoid querying the target scoping ESA multiple times.
360
+ * If the target scoping ESA is ever updated we need to clear any potentially cached sync version otherwise we will get stale values.
361
+ * Sets this._cachedSynchronizationVersion to undefined.
288
362
  */
289
- private get _synchronizationVersion();
363
+ private clearCachedSynchronizationVersion;
290
364
  /** the changeset in the scoping element's source version found for this transformation
291
- * @note: the version depends on whether this is a reverse synchronization or not, as
365
+ * @note the version depends on whether this is a reverse synchronization or not, as
292
366
  * it is stored separately for both synchronization directions.
293
- * @note: empty string and -1 for changeset and index if it has never been transformed, or was transformed before federation guid update (pre 1.x).
367
+ * @note empty string and -1 for changeset and index if it has never been transformed
368
+ * @note empty string and -1 for changeset and index if it was transformed before federation guid update (pre 1.x) and @see [[IModelTransformOptions.branchRelationshipDataBehavior]] === "unsafe-migrate".
369
+ * @throws if the version is not found in a preexisting scope aspect and @see [[IModelTransformOptions.branchRelationshipDataBehavior]] !== "unsafe-migrate"
294
370
  */
295
371
  protected get synchronizationVersion(): ChangesetIndexAndId;
296
372
  /**
@@ -305,11 +381,8 @@ export declare class IModelTransformer extends IModelExportHandler {
305
381
  * if this was a [BriefcaseDb]($backend)
306
382
  */
307
383
  protected initScopeProvenance(): void;
308
- /**
309
- * @returns the id and version of an aspect with the given element, scope, kind, and identifier
310
- * May also return a reverseSyncVersion from json properties if requested
311
- */
312
- private queryScopeExternalSource;
384
+ /** Returns true if a change was made to the aspectProps. */
385
+ private handleUnsafeMigrate;
313
386
  /**
314
387
  * Iterate all matching federation guids and ExternalSourceAspects in the provenance iModel (target unless reverse sync)
315
388
  * and call a function for each one.
@@ -322,21 +395,24 @@ export declare class IModelTransformer extends IModelExportHandler {
322
395
  targetScopeElementId: Id64String;
323
396
  isReverseSynchronization: boolean;
324
397
  fn: (sourceElementId: Id64String, targetElementId: Id64String) => void;
398
+ skipPropagateChangesToRootElements: boolean;
325
399
  }): void;
326
400
  private forEachTrackedElement;
327
- /** Initialize the source to target Element mapping from ExternalSourceAspects in the target iModel.
328
- * @note This method is called from all `process*` functions and should never need to be called directly.
329
- * @deprecated in 3.x. call [[initialize]] instead, it does the same thing among other initialization
330
- * @note Passing an [[InitFromExternalSourceAspectsArgs]] is required when processing changes, to remap any elements that may have been deleted.
331
- * You must await the returned promise as well in this case. The synchronous behavior has not changed but is deprecated and won't process everything.
332
- */
333
- initFromExternalSourceAspects(args?: InitOptions): void | Promise<void>;
334
401
  /**
335
- * Scan changesets for deleted entities, if in a reverse synchronization, provenance has
336
- * already been deleted, so we must scan for that as well.
402
+ * Queries the provenanceDb for an ESA whose identifier is equal to the provided 'entityInProvenanceSourceId'.
403
+ * The identifier on the ESA is the id of the element in the [[IModelTransformer.provenanceSourceDb]]
404
+ * Therefore it only makes sense to call this function when you have an id in the provenanceSourceDb.
405
+ * @param entityInProvenanceSourceId
406
+ * @returns the elementId that the ESA is stored on, esa.Element.Id
337
407
  */
338
- private remapDeletedSourceEntities;
339
408
  private _queryProvenanceForElement;
409
+ /**
410
+ * Queries the provenanceDb for an ESA whose identifier is equal to the provided 'entityInProvenanceSourceId'.
411
+ * The identifier on the ESA is the id of the relationship in the [[IModelTransformer.provenanceSourceDb]]
412
+ * Therefore it only makes sense to call this function when you have an id in the provenanceSourceDb.
413
+ * @param entityInProvenanceSourceId
414
+ * @returns
415
+ */
340
416
  private _queryProvenanceForRelationship;
341
417
  private _queryTargetRelId;
342
418
  private _targetClassNameToClassIdCache;
@@ -344,6 +420,7 @@ export declare class IModelTransformer extends IModelExportHandler {
344
420
  private _getRelClassId;
345
421
  private _queryElemIdByFedGuid;
346
422
  /** Returns `true` if *brute force* delete detections should be run.
423
+ * @note This is only called if [[IModelTransformOptions.forceExternalSourceAspectProvenance]] option is true
347
424
  * @note Not relevant for processChanges when change history is known.
348
425
  */
349
426
  protected shouldDetectDeletes(): boolean;
@@ -352,7 +429,7 @@ export declare class IModelTransformer extends IModelExportHandler {
352
429
  * in the source iModel.
353
430
  * @deprecated in 1.x. Do not use this. // FIXME<MIKE>: how to better explain this?
354
431
  * This method is only called during [[processAll]] when the option
355
- * [[IModelTransformerOptions.forceExternalSourceAspectProvenance]] is enabled. It is not
432
+ * [[IModelTransformOptions.forceExternalSourceAspectProvenance]] is enabled. It is not
356
433
  * necessary when using [[processChanges]] since changeset information is sufficient.
357
434
  * @note you do not need to call this directly unless processing a subset of an iModel.
358
435
  * @throws [[IModelError]] If the required provenance information is not available to detect deletes.
@@ -371,13 +448,11 @@ export declare class IModelTransformer extends IModelExportHandler {
371
448
  onTransformElement(sourceElement: Element): ElementProps;
372
449
  private _hasElementChangedCache?;
373
450
  private _deletedSourceRelationshipData?;
374
- private _cacheSourceChanges;
375
451
  /** Returns true if a change within sourceElement is detected.
376
452
  * @param sourceElement The Element from the source iModel
377
- * @param targetElementId The Element from the target iModel to compare against.
378
453
  * @note A subclass can override this method to provide custom change detection behavior.
379
454
  */
380
- protected hasElementChanged(sourceElement: Element, _targetElementId: Id64String): boolean;
455
+ protected hasElementChanged(sourceElement: Element): boolean;
381
456
  private static transformCallbackFor;
382
457
  /** callback to perform when a partial element says it's ready to be completed
383
458
  * transforms the source element with all references now valid, then updates the partial element with the results
@@ -450,10 +525,10 @@ export declare class IModelTransformer extends IModelExportHandler {
450
525
  * @deprecated in 3.x. This method is no longer necessary since the transformer no longer needs to defer elements
451
526
  */
452
527
  processDeferredElements(_numRetries?: number): Promise<void>;
453
- /** called at the end ([[finalizeTransformation]]) of a transformation,
528
+ /** called at the end of a transformation,
454
529
  * updates the target scope element to say that transformation up through the
455
530
  * source's changeset has been performed. Also stores all changesets that occurred
456
- * during the transformation as "pending synchronization changeset indices"
531
+ * during the transformation as "pending synchronization changeset indices" @see TargetScopeProvenanceJsonProps
457
532
  *
458
533
  * You generally should not call this function yourself and use [[processChanges]] instead.
459
534
  * It is public for unsupported use cases of custom synchronization transforms.
@@ -535,8 +610,8 @@ export declare class IModelTransformer extends IModelExportHandler {
535
610
  */
536
611
  processSchemas(): Promise<void>;
537
612
  /** Cause all fonts to be exported from the source iModel and imported into the target iModel.
538
- * @note This method is called from [[processChanges]] and [[processAll]], so it only needs to be called directly when processing a subset of an iModel.
539
- */
613
+ * @note This method is called from [[processChanges]] and [[processAll]], so it only needs to be called directly when processing a subset of an iModel.
614
+ */
540
615
  processFonts(): Promise<void>;
541
616
  /** Override of [IModelExportHandler.onExportFont]($transformer) that imports a font into the target iModel when it is exported from the source iModel. */
542
617
  onExportFont(font: FontProps, _isUpdate: boolean | undefined): void;
@@ -558,9 +633,9 @@ export declare class IModelTransformer extends IModelExportHandler {
558
633
  processSubject(sourceSubjectId: Id64String, targetSubjectId: Id64String): Promise<void>;
559
634
  /** state to prevent reinitialization, @see [[initialize]] */
560
635
  private _initialized;
561
- /** length === 0 when _changeDataState = "no-change", length > 0 means "has-changes", otherwise undefined */
562
- private _changeSummaryIds?;
563
636
  private _sourceChangeDataState;
637
+ /** length === 0 when _changeDataState = "no-change", length > 0 means "has-changes", otherwise undefined */
638
+ private _csFileProps?;
564
639
  /**
565
640
  * Initialize prerequisites of processing, you must initialize with an [[InitOptions]] if you
566
641
  * are intending to process changes, but prefer using [[processChanges]] explicitly since it calls this.
@@ -568,88 +643,43 @@ export declare class IModelTransformer extends IModelExportHandler {
568
643
  * Overriders must call `super.initialize()` first
569
644
  */
570
645
  initialize(args?: InitOptions): Promise<void>;
646
+ /**
647
+ * Reads all the changeset files in the private member of the transformer: _csFileProps and does two things with these changesets.
648
+ * Finds the corresponding target entity for any deleted source entities and remaps the sourceId to the targetId.
649
+ * Populates this._hasElementChangedCache with a set of elementIds that have been updated or inserted into the database.
650
+ * This function returns early if csFileProps is undefined or is of length 0.
651
+ * @returns void
652
+ */
653
+ private processChangesets;
654
+ /**
655
+ * Helper function for processChangesets. Remaps the id of element deleted found in the 'change' to an element in the targetDb.
656
+ * @param change the change to process, must be of changeType "Deleted"
657
+ * @param mapOfDeletedElemIdToScopeEsas a map of elementIds to changedECInstances (which are ESAs). the elementId is not the id of the esa itself, but the elementid that the esa was stored on before the esa's deletion.
658
+ * All ESAs in this map are part of the transformer's scope / ESA data and are tracked in case the ESA is deleted in the target.
659
+ * @param isRelationship is relationship or not
660
+ * @param alreadyImportedElementInserts used to handle entity recreation and not delete already handled element inserts.
661
+ * @param alreadyImportedModelInserts used to handle entity recreation and not delete already handled model inserts.
662
+ * @returns void
663
+ */
664
+ private processDeletedOp;
571
665
  private _tryInitChangesetData;
572
666
  /** Export everything from the source iModel and import the transformed entities into the target iModel.
573
- * @note [[processSchemas]] is not called automatically since the target iModel may want a different collection of schemas.
574
- */
667
+ * @note [[processSchemas]] is not called automatically since the target iModel may want a different collection of schemas.
668
+ */
575
669
  processAll(): Promise<void>;
576
670
  /** previous provenance, either a federation guid, a `${sourceFedGuid}/${targetFedGuid}` pair, or required aspect props */
577
671
  private _lastProvenanceEntityInfo;
578
672
  private markLastProvenance;
579
- /** @internal the name of the table where javascript state of the transformer is serialized in transformer state dumps */
580
- static readonly jsStateTable = "TransformerJsState";
581
- /** @internal the name of the table where the target state heuristics is serialized in transformer state dumps */
582
- static readonly lastProvenanceEntityInfoTable = "LastProvenanceEntityInfo";
583
- /**
584
- * Load the state of the active transformation from an open SQLiteDb
585
- * You can override this if you'd like to load from custom tables in the resumable dump state, but you should call
586
- * this super implementation
587
- * @note the SQLiteDb must be open
588
- */
589
- protected loadStateFromDb(db: SQLiteDb): void;
590
- /**
591
- * @deprecated in 0.1.x, this is buggy, and it is now equivalently efficient to simply restart the transformation
592
- * from the original changeset
593
- *
594
- * Return a new transformer instance with the same remappings state as saved from a previous [[IModelTransformer.saveStateToFile]] call.
595
- * This allows you to "resume" an iModel transformation, you will have to call [[IModelTransformer.processChanges]]/[[IModelTransformer.processAll]]
596
- * again but the remapping state will cause already mapped elements to be skipped.
597
- * To "resume" an iModel Transformation you need:
598
- * - the sourceDb at the same changeset
599
- * - the same targetDb in the state in which it was before
600
- * @param statePath the path to the serialized state of the transformer, use [[IModelTransformer.saveStateToFile]] to get this from an existing transformer instance
601
- * @param constructorArgs remaining arguments that you would normally pass to the Transformer subclass you are using, usually (sourceDb, targetDb)
602
- * @note custom transformers with custom state may need to override this method in order to handle loading their own custom state somewhere
603
- */
604
- static resumeTransformation<SubClass extends new (...a: any[]) => IModelTransformer = typeof IModelTransformer>(this: SubClass, statePath: string, ...constructorArgs: ConstructorParameters<SubClass>): InstanceType<SubClass>;
605
- /**
606
- * You may override this to store arbitrary json state in a transformer state dump, useful for some resumptions
607
- * @see [[IModelTransformer.saveStateToFile]]
608
- */
609
- protected getAdditionalStateJson(): any;
610
- /**
611
- * You may override this to load arbitrary json state in a transformer state dump, useful for some resumptions
612
- * @see [[IModelTransformer.loadStateFromFile]]
613
- */
614
- protected loadAdditionalStateJson(_additionalState: any): void;
615
- /**
616
- * Save the state of the active transformation to an open SQLiteDb
617
- * You can override this if you'd like to write custom tables to the resumable dump state, but you should call
618
- * this super implementation
619
- * @note the SQLiteDb must be open
620
- */
621
- protected saveStateToDb(db: SQLiteDb): void;
622
- /**
623
- * @deprecated in 0.1.x, this is buggy, and it is now equivalently efficient to simply restart the transformation
624
- * from the original changeset
625
- *
626
- * Save the state of the active transformation to a file path, if a file at the path already exists, it will be overwritten
627
- * This state can be used by [[IModelTransformer.resumeTransformation]] to resume a transformation from this point.
628
- * The serialization format is a custom sqlite database.
629
- * @note custom transformers with custom state may override [[IModelTransformer.saveStateToDb]] or [[IModelTransformer.getAdditionalStateJson]]
630
- * and [[IModelTransformer.loadStateFromDb]] (with a super call) or [[IModelTransformer.loadAdditionalStateJson]]
631
- * if they have custom state that needs to be stored with
632
- * potentially inside the same sqlite file in separate tables
633
- */
634
- saveStateToFile(nativeStatePath: string): void;
635
673
  /** Export changes from the source iModel and import the transformed entities into the target iModel.
636
674
  * Inserts, updates, and deletes are determined by inspecting the changeset(s).
637
675
  * @note the transformer assumes that you saveChanges after processing changes. You should not
638
676
  * modify the iModel after processChanges until saveChanges, failure to do so may result in corrupted
639
677
  * data loss in future branch operations
640
- * @param accessToken A valid access token string
641
- * @param startChangesetId Include changes from this changeset up through and including the current changeset.
642
- * @note if no startChangesetId or startChangeset option is provided, the next unsynchronized changeset
678
+ * @note if no startChangesetId or startChangeset option is provided as part of the ProcessChangesOptions, the next unsynchronized changeset
643
679
  * will automatically be determined and used
644
680
  * @note To form a range of versions to process, set `startChangesetId` for the start (inclusive) of the desired range and open the source iModel as of the end (inclusive) of the desired range.
645
681
  */
646
682
  processChanges(options: ProcessChangesOptions): Promise<void>;
647
- /**
648
- * @deprecated in 0.1.x, use a single [[ProcessChangesOptions]] object instead
649
- * This overload follows the older behavior of defaulting an undefined startChangesetId to the
650
- * current changeset.
651
- */
652
- processChanges(accessToken: AccessToken, startChangesetId?: string): Promise<void>;
653
683
  /** Changeset data must be initialized in order to build correct changeOptions.
654
684
  * Call [[IModelTransformer.initialize]] for initialization of synchronization provenance data
655
685
  */
@@ -1 +1 @@
1
- {"version":3,"file":"IModelTransformer.d.ts","sourceRoot":"","sources":["../../src/IModelTransformer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IModelTransformer.d.ts","sourceRoot":"","sources":["../../src/IModelTransformer.ts"],"names":[],"mappings":"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"}