@itwin/imodel-transformer 2.0.0-dev.7 → 2.0.0-dev.70
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/README.md +13 -27
- package/lib/cjs/Algo.d.ts +0 -4
- package/lib/cjs/Algo.d.ts.map +1 -1
- package/lib/cjs/Algo.js +0 -11
- package/lib/cjs/Algo.js.map +1 -1
- package/lib/cjs/BigMap.d.ts.map +1 -1
- package/lib/cjs/BigMap.js.map +1 -1
- package/lib/cjs/BranchProvenanceInitializer.d.ts.map +1 -1
- package/lib/cjs/BranchProvenanceInitializer.js +26 -26
- package/lib/cjs/BranchProvenanceInitializer.js.map +1 -1
- package/lib/cjs/ChangedElementForest.d.ts +14 -0
- package/lib/cjs/ChangedElementForest.d.ts.map +1 -0
- package/lib/cjs/ChangedElementForest.js +86 -0
- package/lib/cjs/ChangedElementForest.js.map +1 -0
- package/lib/cjs/ChangesetScanner.d.ts +141 -0
- package/lib/cjs/ChangesetScanner.d.ts.map +1 -0
- package/lib/cjs/ChangesetScanner.js +187 -0
- package/lib/cjs/ChangesetScanner.js.map +1 -0
- package/lib/cjs/ECReferenceTypesCache.d.ts +0 -4
- package/lib/cjs/ECReferenceTypesCache.d.ts.map +1 -1
- package/lib/cjs/ECReferenceTypesCache.js +61 -111
- package/lib/cjs/ECReferenceTypesCache.js.map +1 -1
- package/lib/cjs/ECSqlReaderAsyncIterableIteratorAdapter.d.ts.map +1 -1
- package/lib/cjs/ECSqlReaderAsyncIterableIteratorAdapter.js.map +1 -1
- package/lib/cjs/ElementAspectCleanup.d.ts +16 -0
- package/lib/cjs/ElementAspectCleanup.d.ts.map +1 -0
- package/lib/cjs/ElementAspectCleanup.js +87 -0
- package/lib/cjs/ElementAspectCleanup.js.map +1 -0
- package/lib/cjs/ElementAspectExportCoordinator.d.ts +44 -0
- package/lib/cjs/ElementAspectExportCoordinator.d.ts.map +1 -0
- package/lib/cjs/ElementAspectExportCoordinator.js +148 -0
- package/lib/cjs/ElementAspectExportCoordinator.js.map +1 -0
- package/lib/cjs/ElementAspectExportProcessor.d.ts +44 -0
- package/lib/cjs/ElementAspectExportProcessor.d.ts.map +1 -0
- package/lib/cjs/ElementAspectExportProcessor.js +152 -0
- package/lib/cjs/ElementAspectExportProcessor.js.map +1 -0
- package/lib/cjs/ElementBulkDelete.d.ts +30 -0
- package/lib/cjs/ElementBulkDelete.d.ts.map +1 -0
- package/lib/cjs/ElementBulkDelete.js +358 -0
- package/lib/cjs/ElementBulkDelete.js.map +1 -0
- package/lib/cjs/EntityExistenceCache.d.ts +43 -0
- package/lib/cjs/EntityExistenceCache.d.ts.map +1 -0
- package/lib/cjs/EntityExistenceCache.js +91 -0
- package/lib/cjs/EntityExistenceCache.js.map +1 -0
- package/lib/cjs/EntityUnifier.d.ts +7 -7
- package/lib/cjs/EntityUnifier.d.ts.map +1 -1
- package/lib/cjs/EntityUnifier.js +55 -24
- package/lib/cjs/EntityUnifier.js.map +1 -1
- package/lib/cjs/IModelCloneContext.d.ts +9 -3
- package/lib/cjs/IModelCloneContext.d.ts.map +1 -1
- package/lib/cjs/IModelCloneContext.js +56 -22
- package/lib/cjs/IModelCloneContext.js.map +1 -1
- package/lib/cjs/IModelExporter.d.ts +171 -43
- package/lib/cjs/IModelExporter.d.ts.map +1 -1
- package/lib/cjs/IModelExporter.js +946 -247
- package/lib/cjs/IModelExporter.js.map +1 -1
- package/lib/cjs/IModelImporter.d.ts +75 -30
- package/lib/cjs/IModelImporter.d.ts.map +1 -1
- package/lib/cjs/IModelImporter.js +292 -132
- package/lib/cjs/IModelImporter.js.map +1 -1
- package/lib/cjs/IModelTransformContext.d.ts +54 -0
- package/lib/cjs/IModelTransformContext.d.ts.map +1 -0
- package/lib/cjs/IModelTransformContext.js +3 -0
- package/lib/cjs/IModelTransformContext.js.map +1 -0
- package/lib/cjs/IModelTransformer.d.ts +180 -206
- package/lib/cjs/IModelTransformer.d.ts.map +1 -1
- package/lib/cjs/IModelTransformer.js +811 -1278
- package/lib/cjs/IModelTransformer.js.map +1 -1
- package/lib/cjs/IModelTransformerError.d.ts +84 -0
- package/lib/cjs/IModelTransformerError.d.ts.map +1 -0
- package/lib/cjs/IModelTransformerError.js +93 -0
- package/lib/cjs/IModelTransformerError.js.map +1 -0
- package/lib/cjs/ProvenanceManager.d.ts +177 -0
- package/lib/cjs/ProvenanceManager.d.ts.map +1 -0
- package/lib/cjs/ProvenanceManager.js +719 -0
- package/lib/cjs/ProvenanceManager.js.map +1 -0
- package/lib/cjs/SourceClassKinds.d.ts +22 -0
- package/lib/cjs/SourceClassKinds.d.ts.map +1 -0
- package/lib/cjs/SourceClassKinds.js +60 -0
- package/lib/cjs/SourceClassKinds.js.map +1 -0
- package/lib/cjs/SyncTypeResolver.d.ts +32 -0
- package/lib/cjs/SyncTypeResolver.d.ts.map +1 -0
- package/lib/cjs/SyncTypeResolver.js +92 -0
- package/lib/cjs/SyncTypeResolver.js.map +1 -0
- package/lib/cjs/TransformerLoggerCategory.d.ts +1 -1
- package/lib/cjs/TransformerLoggerCategory.js +1 -1
- package/lib/cjs/TransformerLoggerCategory.js.map +1 -1
- package/lib/cjs/TransformerPackageMetadata.d.ts +8 -0
- package/lib/cjs/TransformerPackageMetadata.d.ts.map +1 -0
- package/lib/cjs/TransformerPackageMetadata.js +47 -0
- package/lib/cjs/TransformerPackageMetadata.js.map +1 -0
- package/lib/cjs/imodel-transformer.d.ts +28 -0
- package/lib/cjs/imodel-transformer.d.ts.map +1 -1
- package/lib/cjs/imodel-transformer.js +61 -34
- package/lib/cjs/imodel-transformer.js.map +1 -1
- package/lib/cjs/schema-processing/DynamicSchemaUnionStrategy.d.ts +29 -0
- package/lib/cjs/schema-processing/DynamicSchemaUnionStrategy.d.ts.map +1 -0
- package/lib/cjs/schema-processing/DynamicSchemaUnionStrategy.js +212 -0
- package/lib/cjs/schema-processing/DynamicSchemaUnionStrategy.js.map +1 -0
- package/lib/cjs/schema-processing/SchemaProcessingCoordinator.d.ts +25 -0
- package/lib/cjs/schema-processing/SchemaProcessingCoordinator.d.ts.map +1 -0
- package/lib/cjs/schema-processing/SchemaProcessingCoordinator.js +196 -0
- package/lib/cjs/schema-processing/SchemaProcessingCoordinator.js.map +1 -0
- package/lib/cjs/schema-processing/SchemaProcessingStrategy.d.ts +59 -0
- package/lib/cjs/schema-processing/SchemaProcessingStrategy.d.ts.map +1 -0
- package/lib/cjs/schema-processing/SchemaProcessingStrategy.js +28 -0
- package/lib/cjs/schema-processing/SchemaProcessingStrategy.js.map +1 -0
- package/lib/cjs/schema-processing.d.ts +7 -0
- package/lib/cjs/schema-processing.d.ts.map +1 -0
- package/lib/cjs/schema-processing.js +27 -0
- package/lib/cjs/schema-processing.js.map +1 -0
- package/package.json +70 -57
- package/lib/cjs/DetachedExportElementAspectsStrategy.d.ts +0 -16
- package/lib/cjs/DetachedExportElementAspectsStrategy.d.ts.map +0 -1
- package/lib/cjs/DetachedExportElementAspectsStrategy.js +0 -106
- package/lib/cjs/DetachedExportElementAspectsStrategy.js.map +0 -1
- package/lib/cjs/ElementCascadingDeleter.d.ts +0 -22
- package/lib/cjs/ElementCascadingDeleter.d.ts.map +0 -1
- package/lib/cjs/ElementCascadingDeleter.js +0 -57
- package/lib/cjs/ElementCascadingDeleter.js.map +0 -1
- package/lib/cjs/EntityMap.d.ts +0 -26
- package/lib/cjs/EntityMap.d.ts.map +0 -1
- package/lib/cjs/EntityMap.js +0 -54
- package/lib/cjs/EntityMap.js.map +0 -1
- package/lib/cjs/ExportElementAspectsStrategy.d.ts +0 -35
- package/lib/cjs/ExportElementAspectsStrategy.d.ts.map +0 -1
- package/lib/cjs/ExportElementAspectsStrategy.js +0 -52
- package/lib/cjs/ExportElementAspectsStrategy.js.map +0 -1
- package/lib/cjs/ExportElementAspectsWithElementsStrategy.d.ts +0 -12
- package/lib/cjs/ExportElementAspectsWithElementsStrategy.d.ts.map +0 -1
- package/lib/cjs/ExportElementAspectsWithElementsStrategy.js +0 -47
- package/lib/cjs/ExportElementAspectsWithElementsStrategy.js.map +0 -1
|
@@ -1,10 +1,23 @@
|
|
|
1
1
|
/** @packageDocumentation
|
|
2
2
|
* @module iModels
|
|
3
3
|
*/
|
|
4
|
-
import { Id64String } from "@itwin/core-bentley";
|
|
4
|
+
import { DbResult, Id64String, ITwinError } from "@itwin/core-bentley";
|
|
5
5
|
import { ElementAspectProps, ElementProps, EntityProps, ModelProps } from "@itwin/core-common";
|
|
6
|
-
import { ElementAspect, ElementMultiAspect, Entity, IModelDb, RelationshipProps } from "@itwin/core-backend";
|
|
6
|
+
import { BulkDeleteElementsStatus, EditTxn, ElementAspect, ElementMultiAspect, Entity, IModelDb, RelationshipProps } from "@itwin/core-backend";
|
|
7
7
|
import type { RelationshipPropsForDelete } from "./IModelTransformer";
|
|
8
|
+
import { ElementAspectCleanup } from "./ElementAspectCleanup";
|
|
9
|
+
import { EntityExistenceCache } from "./EntityExistenceCache";
|
|
10
|
+
/** Error thrown when native bulk deletion fails to delete one or more requested element trees.
|
|
11
|
+
* @beta
|
|
12
|
+
*/
|
|
13
|
+
export interface ElementBulkDeleteError extends ITwinError {
|
|
14
|
+
/** Status returned by the native bulk-delete operation. */
|
|
15
|
+
readonly status: BulkDeleteElementsStatus;
|
|
16
|
+
/** SQLite status returned by the native delete statement. */
|
|
17
|
+
readonly sqlDeleteStatus: DbResult;
|
|
18
|
+
/** Target roots that the native operation did not delete. */
|
|
19
|
+
readonly failedIds: ReadonlySet<Id64String>;
|
|
20
|
+
}
|
|
8
21
|
/** Options provided to [[IModelImporter.optimizeGeometry]] specifying post-processing optimizations to be applied to the iModel's geometry.
|
|
9
22
|
* @beta
|
|
10
23
|
*/
|
|
@@ -48,6 +61,19 @@ export interface IModelImportOptions {
|
|
|
48
61
|
export declare class IModelImporter {
|
|
49
62
|
/** The read/write target iModel. */
|
|
50
63
|
readonly targetDb: IModelDb;
|
|
64
|
+
/** The [[EditTxn]] used for write operations on the target iModel.
|
|
65
|
+
* @beta
|
|
66
|
+
*/
|
|
67
|
+
protected readonly _editTxn: EditTxn;
|
|
68
|
+
/** The [[EditTxn]] used for write operations on the target iModel.
|
|
69
|
+
* @beta
|
|
70
|
+
*/
|
|
71
|
+
get editTxn(): EditTxn;
|
|
72
|
+
private readonly _elementAspectCleanup;
|
|
73
|
+
/** Deletes replaceable ElementAspects through this importer's customized deletion callback.
|
|
74
|
+
* @internal
|
|
75
|
+
*/
|
|
76
|
+
get elementAspectCleanup(): ElementAspectCleanup;
|
|
51
77
|
/** resolved initialization options for the importer
|
|
52
78
|
* @beta
|
|
53
79
|
*/
|
|
@@ -61,6 +87,7 @@ export declare class IModelImporter {
|
|
|
61
87
|
* To resolve code values to their intended values call [[IModelImporter.resolveDuplicateCodeValues]].
|
|
62
88
|
*/
|
|
63
89
|
private _duplicateCodeValueMap;
|
|
90
|
+
private readonly _entityExistenceCaches;
|
|
64
91
|
/**
|
|
65
92
|
* A set of elementIds that the transformer adds to while exporting elements to indicate that the element already exists in the target.
|
|
66
93
|
* Defaults to an empty set.
|
|
@@ -74,9 +101,10 @@ export declare class IModelImporter {
|
|
|
74
101
|
* @note This set should stay small, as right after the transformer pushes to it, the importer will remove from the set.
|
|
75
102
|
*/
|
|
76
103
|
private _elementsToUpdateDuringPreserveIds;
|
|
77
|
-
/** The set of elements that
|
|
78
|
-
* Defaults to an empty set.
|
|
104
|
+
/** The set of target elements that this importer must not directly update or request for deletion.
|
|
105
|
+
* Defaults to an empty set and is populated by consumers or custom transformers.
|
|
79
106
|
* @note Adding an element to this set is typically necessary when remapping a source element to one that already exists in the target and already has the desired properties.
|
|
107
|
+
* @note Deletion protection applies only when the exact element ID is passed to [[deleteElement]] or [[deleteElements]]. It does not protect the element from deletion through a parent, containing model, or other cascading dependency. Consumers that need to preserve such an element must also add every requested deletion root whose cascade would delete it.
|
|
80
108
|
*/
|
|
81
109
|
readonly doNotUpdateElementIds: Set<string>;
|
|
82
110
|
/** This set is ONLY used for elements that are always present even in an "empty" iModel. We will use this set to filter out changes to root elements if [[IModelTransformOptions.skipPropagateChangesToRootElements]] is false. */
|
|
@@ -88,10 +116,18 @@ export declare class IModelImporter {
|
|
|
88
116
|
/** */
|
|
89
117
|
private _modelPropertiesToIgnore;
|
|
90
118
|
/** Construct a new IModelImporter
|
|
91
|
-
* @param
|
|
119
|
+
* @param editTxn The [[EditTxn]] to use for write operations on the target iModel. The target db is derived from `editTxn.iModel`.
|
|
92
120
|
* @param options The options that specify how the import should be done.
|
|
93
121
|
*/
|
|
94
|
-
constructor(
|
|
122
|
+
constructor(editTxn: EditTxn, options?: IModelImportOptions);
|
|
123
|
+
/** Register a transformation-scoped existence cache for delete invalidation.
|
|
124
|
+
* @internal
|
|
125
|
+
*/
|
|
126
|
+
registerEntityExistenceCache(cache: EntityExistenceCache): void;
|
|
127
|
+
/** Stop invalidating a transformation-scoped existence cache.
|
|
128
|
+
* @internal
|
|
129
|
+
*/
|
|
130
|
+
unregisterEntityExistenceCache(cache: EntityExistenceCache): void;
|
|
95
131
|
/**
|
|
96
132
|
* Checks [[IModelImportOptions.skipPropagateChangesToRootElements]], [[IModelImporter.rootElementIds]], and [[IModelImporter.doNotUpdateElementIds]] and returns true for 'do not update', false for do 'update'.
|
|
97
133
|
*/
|
|
@@ -101,15 +137,15 @@ export declare class IModelImporter {
|
|
|
101
137
|
*/
|
|
102
138
|
markElementToUpdateDuringPreserveIds(elementId: Id64String): void;
|
|
103
139
|
/** Import the specified ModelProps (either as an insert or an update) into the target iModel. */
|
|
104
|
-
importModel(modelProps: ModelProps): void
|
|
140
|
+
importModel(modelProps: ModelProps): Promise<void>;
|
|
105
141
|
/** Create a new Model from the specified ModelProps and insert it into the target iModel.
|
|
106
142
|
* @note A subclass may override this method to customize insert behavior but should call `super.onInsertModel`.
|
|
107
143
|
*/
|
|
108
|
-
protected onInsertModel(modelProps: ModelProps): Id64String
|
|
144
|
+
protected onInsertModel(modelProps: ModelProps): Promise<Id64String>;
|
|
109
145
|
/** Update an existing Model in the target iModel from the specified ModelProps.
|
|
110
146
|
* @note A subclass may override this method to customize update behavior but should call `super.onUpdateModel`.
|
|
111
147
|
*/
|
|
112
|
-
protected onUpdateModel(modelProps: ModelProps): void
|
|
148
|
+
protected onUpdateModel(modelProps: ModelProps): Promise<void>;
|
|
113
149
|
/** Format a Model for the Logger. */
|
|
114
150
|
private formatModelForLogger;
|
|
115
151
|
/**
|
|
@@ -118,23 +154,31 @@ export declare class IModelImporter {
|
|
|
118
154
|
*/
|
|
119
155
|
private tryUpdateElement;
|
|
120
156
|
/** Import the specified ElementProps (either as an insert or an update) into the target iModel. */
|
|
121
|
-
importElement(elementProps: ElementProps): Id64String
|
|
157
|
+
importElement(elementProps: ElementProps): Promise<Id64String>;
|
|
122
158
|
/** Create a new Element from the specified ElementProps and insert it into the target iModel.
|
|
123
159
|
* @returns The Id of the newly inserted Element.
|
|
124
160
|
* @note A subclass may override this method to customize insert behavior but should call `super.onInsertElement`.
|
|
125
161
|
*/
|
|
126
|
-
protected onInsertElement(elementProps: ElementProps): Id64String
|
|
162
|
+
protected onInsertElement(elementProps: ElementProps): Promise<Id64String>;
|
|
127
163
|
/** Update an existing Element in the target iModel from the specified ElementProps.
|
|
128
164
|
* @note A subclass may override this method to customize update behavior but should call `super.onUpdateElement`.
|
|
129
165
|
*/
|
|
130
|
-
protected onUpdateElement(elementProps: ElementProps): void
|
|
131
|
-
/**
|
|
132
|
-
|
|
133
|
-
|
|
166
|
+
protected onUpdateElement(elementProps: ElementProps): Promise<void>;
|
|
167
|
+
/** Deletes one target element tree through [[deleteElements]]. */
|
|
168
|
+
deleteElement(elementId: Id64String): Promise<void>;
|
|
169
|
+
/** Adds roots required by code-scope dependencies, then deletes the target element trees in as few native operations as their references allow.
|
|
170
|
+
* Usually one native operation is enough. When a tree contains a definition, such as a category, that another deleted element uses, the elements that use it are deleted first.
|
|
171
|
+
* Elements that something outside the deleted trees still references are kept, with a warning, and the rest are deleted.
|
|
172
|
+
* @note An override must call `super.onDeleteElements` once to perform the deletion.
|
|
173
|
+
*/
|
|
174
|
+
protected onDeleteElements(elementIds: ReadonlySet<Id64String>): Promise<void>;
|
|
175
|
+
private deleteElementRoots;
|
|
176
|
+
/** Deletes target element trees, using one native operation unless references between the trees require more.
|
|
177
|
+
* Requested roots in [[doNotUpdateElementIds]] are skipped. This does not prevent an element in that set from being deleted as part of another root's cascade.
|
|
178
|
+
* Elements that something outside the deleted trees still references are kept, along with their child elements and sub-models and the elements that contain them. A warning lists them.
|
|
179
|
+
* @throws [[ElementBulkDeleteError]] if a native operation fails for any root, for example because geometry outside the deleted trees uses a geometry part in them, or because of a reference in a domain schema. The transformer does not check those references first. Deletions from that and earlier native operations stay pending in the caller-owned transaction. Abandon the transaction before retrying.
|
|
134
180
|
*/
|
|
135
|
-
|
|
136
|
-
/** Delete the specified Element from the target iModel. */
|
|
137
|
-
deleteElement(elementId: Id64String): void;
|
|
181
|
+
deleteElements(elementIds: ReadonlySet<Id64String>): Promise<void>;
|
|
138
182
|
/** Delete the specified Model from the target iModel.
|
|
139
183
|
* @note A subclass may override this method to customize delete behavior but should call `super.onDeleteModel`.
|
|
140
184
|
*/
|
|
@@ -144,7 +188,7 @@ export declare class IModelImporter {
|
|
|
144
188
|
/** Format an Element for the Logger. */
|
|
145
189
|
private formatElementForLogger;
|
|
146
190
|
/** Import an ElementUniqueAspect into the target iModel. */
|
|
147
|
-
importElementUniqueAspect(aspectProps: ElementAspectProps): Id64String
|
|
191
|
+
importElementUniqueAspect(aspectProps: ElementAspectProps): Promise<Id64String>;
|
|
148
192
|
/** Import the collection of ElementMultiAspects into the target iModel.
|
|
149
193
|
* @param aspectPropsArray The ElementMultiAspects to import
|
|
150
194
|
* @param filterFunc Optional filter func that is used to exclude target ElementMultiAspects that were added during iModel transformation from the update detection logic.
|
|
@@ -153,38 +197,38 @@ export declare class IModelImporter {
|
|
|
153
197
|
*/
|
|
154
198
|
importElementMultiAspects(aspectPropsArray: ElementAspectProps[],
|
|
155
199
|
/** caller must use this to enforce any aspects added by IModelTransformer are not considered for update */
|
|
156
|
-
filterFunc?: (a: ElementMultiAspect) => boolean): Id64String[]
|
|
200
|
+
filterFunc?: (a: ElementMultiAspect) => boolean): Promise<Id64String[]>;
|
|
157
201
|
/** Insert the ElementAspect into the target iModel.
|
|
158
202
|
* @note A subclass may override this method to customize insert behavior but should call `super.onInsertElementAspect`.
|
|
159
203
|
*/
|
|
160
|
-
protected onInsertElementAspect(aspectProps: ElementAspectProps): Id64String
|
|
204
|
+
protected onInsertElementAspect(aspectProps: ElementAspectProps): Promise<Id64String>;
|
|
161
205
|
/** Update the ElementAspect within the target iModel.
|
|
162
206
|
* @note A subclass may override this method to customize update behavior but should call `super.onUpdateElementAspect`.
|
|
163
207
|
*/
|
|
164
|
-
protected onUpdateElementAspect(aspectProps: ElementAspectProps): void
|
|
208
|
+
protected onUpdateElementAspect(aspectProps: ElementAspectProps): Promise<void>;
|
|
165
209
|
/** Delete the specified ElementAspect from the target iModel.
|
|
166
210
|
* @note A subclass may override this method to customize delete behavior but should call `super.onDeleteElementAspect`.
|
|
167
211
|
*/
|
|
168
|
-
protected onDeleteElementAspect(targetElementAspect: ElementAspect): void
|
|
212
|
+
protected onDeleteElementAspect(targetElementAspect: ElementAspect): Promise<void>;
|
|
169
213
|
/** Format an ElementAspect for the Logger. */
|
|
170
214
|
private formatElementAspectForLogger;
|
|
171
215
|
/** Import the specified RelationshipProps (either as an insert or an update) into the target iModel.
|
|
172
216
|
* @returns The instance Id of the inserted or updated Relationship.
|
|
173
217
|
*/
|
|
174
|
-
importRelationship(relationshipProps: RelationshipProps): Id64String
|
|
218
|
+
importRelationship(relationshipProps: RelationshipProps): Promise<Id64String>;
|
|
175
219
|
/** Create a new Relationship from the specified RelationshipProps and insert it into the target iModel.
|
|
176
220
|
* @returns The instance Id of the newly inserted relationship.
|
|
177
221
|
* @note A subclass may override this method to customize insert behavior but should call `super.onInsertRelationship`.
|
|
178
222
|
*/
|
|
179
|
-
protected onInsertRelationship(relationshipProps: RelationshipProps): Id64String
|
|
223
|
+
protected onInsertRelationship(relationshipProps: RelationshipProps): Promise<Id64String>;
|
|
180
224
|
/** Update an existing Relationship in the target iModel from the specified RelationshipProps.
|
|
181
225
|
* @note A subclass may override this method to customize update behavior but should call `super.onUpdateRelationship`.
|
|
182
226
|
*/
|
|
183
|
-
protected onUpdateRelationship(relationshipProps: RelationshipProps): void
|
|
227
|
+
protected onUpdateRelationship(relationshipProps: RelationshipProps): Promise<void>;
|
|
184
228
|
/** Delete the specified Relationship from the target iModel. */
|
|
185
|
-
protected onDeleteRelationship(relationshipProps: RelationshipPropsForDelete): void
|
|
229
|
+
protected onDeleteRelationship(relationshipProps: RelationshipPropsForDelete): Promise<void>;
|
|
186
230
|
/** Delete the specified Relationship from the target iModel. */
|
|
187
|
-
deleteRelationship(relationshipProps: RelationshipPropsForDelete): void
|
|
231
|
+
deleteRelationship(relationshipProps: RelationshipPropsForDelete): Promise<void>;
|
|
188
232
|
/** Format a Relationship for the Logger. */
|
|
189
233
|
private formatRelationshipForLogger;
|
|
190
234
|
/** Tracks incremental progress */
|
|
@@ -192,7 +236,7 @@ export declare class IModelImporter {
|
|
|
192
236
|
/** This method is called when IModelImporter has made incremental progress based on the [[progressInterval]] setting.
|
|
193
237
|
* @note A subclass may override this method to report custom progress but should call `super.onProgress`.
|
|
194
238
|
*/
|
|
195
|
-
protected onProgress(): void
|
|
239
|
+
protected onProgress(): Promise<void>;
|
|
196
240
|
/** Optionally compute the projectExtents for the target iModel depending on the options for this IModelImporter.
|
|
197
241
|
* @note This method is automatically called from [IModelTransformer.process]($transformer).
|
|
198
242
|
* @see [IModelDb.computeProjectExtents]($backend), [[autoExtendProjectExtents]]
|
|
@@ -208,7 +252,8 @@ export declare class IModelImporter {
|
|
|
208
252
|
* Needs to be called to perform necessary cleanup operations.
|
|
209
253
|
* By not calling `finalize` there is a risk that data imported into targetDb will not be as expected.
|
|
210
254
|
*
|
|
211
|
-
* @note
|
|
255
|
+
* @note [[IModelTransformer.process]] invokes this method automatically. Call it explicitly after
|
|
256
|
+
* composing the transformer's lower-level subset processing methods.
|
|
212
257
|
*/
|
|
213
258
|
finalize(): void;
|
|
214
259
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IModelImporter.d.ts","sourceRoot":"","sources":["../../src/IModelImporter.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,
|
|
1
|
+
{"version":3,"file":"IModelImporter.d.ts","sourceRoot":"","sources":["../../src/IModelImporter.ts"],"names":[],"mappings":"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"}
|