Skip to content
Draft
Show file tree
Hide file tree
Changes from 130 commits
Commits
Show all changes
140 commits
Select commit Hold shift + click to select a range
a55c0ed
update ci
aruniverse Feb 10, 2025
395b14f
Upgrade core dependencies to 5.0 (#225)
pmconne Feb 10, 2025
6ebbb4a
Merge branch 'main' into itwinjs-v5
aruniverse Feb 10, 2025
b831fd1
Merge branch 'main' into itwinjs-v5
pachhaibipin May 8, 2025
3d70107
WIP- updating to 5.x
pachhaibipin May 9, 2025
0fcca08
passing build
anmolshres98 May 9, 2025
646cf6d
remove cmnt
pachhaibipin May 13, 2025
70ec6d8
extract row as object
pachhaibipin May 14, 2025
0e2c80c
update latest itjs rc + other deps
anmolshres98 May 19, 2025
902cd87
disableThinnedNativeInstanceWorkflow = true
anmolshres98 May 20, 2025
867b607
format
anmolshres98 May 20, 2025
73017a9
replace hubAccess.queryChangeset() with Briefcase manager
pachhaibipin May 21, 2025
b077dbb
Version bump [skip actions]
imodeljs-admin May 27, 2025
cde2d17
latest rc
anmolshres98 May 27, 2025
7f780d7
2.0.0-dev.0
anmolshres98 May 27, 2025
45d5bd1
Version bump [skip actions]
imodeljs-admin May 27, 2025
b292c28
swap `IModelHost[_hubAccess]` with `BriefcaseManager`
anmolshres98 May 27, 2025
1ef96d0
Version bump [skip actions]
imodeljs-admin May 27, 2025
bc67e9a
rc - 5.0.0-dev.116
anmolshres98 May 28, 2025
c5accff
fix so not throwing in 5.x itjs core-backend
anmolshres98 Jun 2, 2025
640d9e4
Version bump [skip actions]
imodeljs-admin Jun 2, 2025
7576435
itjs 5.0 official
anmolshres98 Jun 16, 2025
0813ad5
Version bump [skip actions]
imodeljs-admin Jun 16, 2025
028d92f
compile w/ latest 5.1
aruniverse Jul 10, 2025
07e83c3
update to 5.2
aruniverse Oct 2, 2025
8ede14e
Merge branch 'main' into itwinjs-v5
aruniverse Oct 2, 2025
674dc94
extract-api
aruniverse Oct 2, 2025
33bcb58
bump husky
aruniverse Oct 2, 2025
92ecd1f
bump lint-staged
aruniverse Oct 2, 2025
8879229
got linter working
aruniverse Oct 2, 2025
d7cb3de
shrink scope for now
aruniverse Oct 2, 2025
eaa2e4f
non null assertion lint
DanRod1999 Oct 10, 2025
ea8b35c
wip 5.x changes
DanRod1999 Oct 14, 2025
f57a105
pass at deprecated apis; fonts need to be reviewed in core, api is co…
aruniverse Oct 16, 2025
608378a
^5.2.0
DanRod1999 Oct 21, 2025
f061c1d
Merge branch 'itwinjs-v5' of https://github.com/iTwin/imodel-transfor…
DanRod1999 Oct 21, 2025
9884750
Add a fall back if extentsWithOutliers is undefined
MichaelSwigerAtBentley Oct 22, 2025
fbec227
Correct non-null assertions
MichaelSwigerAtBentley Oct 23, 2025
cc7c3fa
Bump to Node 22
MichaelSwigerAtBentley Oct 23, 2025
317d98d
Revert "pass at deprecated apis; fonts need to be reviewed in core, a…
DanRod1999 Oct 27, 2025
674c9e0
5.2.4
DanRod1999 Oct 28, 2025
b5b57e4
modify query for substation
DanRod1999 Oct 28, 2025
28e0999
update all packages to latest 5.2
DanRod1999 Oct 28, 2025
0d9f822
Version bump [skip actions]
imodeljs-admin Oct 28, 2025
ac070b6
skip codes with non standard spaces test
DanRod1999 Oct 29, 2025
294689a
Merge branch 'itwinjs-v5' of https://github.com/iTwin/imodel-transfor…
DanRod1999 Oct 29, 2025
6c79e8a
Fix infinite loop change processing bug in 5.0 branch (#275)
mindaugasdirg Oct 30, 2025
a893069
substation test optimizations
DanRod1999 Oct 30, 2025
25c91fe
Merge branch 'main' into itwinjs-v5
DanRod1999 Oct 30, 2025
4540d92
dev.4
DanRod1999 Oct 30, 2025
a9423db
Merge branch 'substation-schema-caching' into itwinjs-v5
DanRod1999 Oct 31, 2025
16441a2
modify log levels
DanRod1999 Oct 31, 2025
2246bed
remove eslint ignore deprecated comments
DanRod1999 Nov 12, 2025
dbed9e5
replace fontMap apis
DanRod1999 Nov 12, 2025
94e2d36
forEach()
DanRod1999 Nov 17, 2025
84dcc0e
replace getMetaData
DanRod1999 Nov 19, 2025
c0a3aec
remove uneeded helper
DanRod1999 Nov 20, 2025
104adac
lint cleanup
DanRod1999 Nov 20, 2025
e3f33b6
wip replace withPreparedStatement() in tests
DanRod1999 Nov 25, 2025
d30a5c1
clean up unused defines
DanRod1999 Jan 26, 2026
7ddaf09
replace with prepared statements calls in funcs that are already async
DanRod1999 Jan 27, 2026
b9fb6ac
missed a few async calls
DanRod1999 Jan 27, 2026
d5c62dc
convert onExportElement to async
DanRod1999 Jan 28, 2026
da6a5f9
clean up comments
DanRod1999 Jan 28, 2026
5af9c75
async _queryProvenanceForRelationship and _queryProvenanceForElement
DanRod1999 Jan 29, 2026
442a1ee
async _queryTargetRelId() and _getRelClassId()
DanRod1999 Jan 29, 2026
0c28db0
replace queryElemFedGuid() with getFederationGuidFromId().
DanRod1999 Jan 29, 2026
5fe7350
async forEachTrackedElement
DanRod1999 Jan 29, 2026
76b5f48
async onDeleteModel() and initScopeProvenance()
DanRod1999 Jan 29, 2026
4aa5e3c
async initRelationshipProvenanceOptions()
DanRod1999 Jan 30, 2026
8d8477c
async findTargetEntityId(), caused changes in onTransformElement and …
DanRod1999 Jan 30, 2026
9609282
remove commented out code
DanRod1999 Jan 30, 2026
7a38c5e
bump dev ver
DanRod1999 Jan 30, 2026
0e9e2e4
Version bump [skip actions]
imodeljs-admin Jan 30, 2026
f6807e4
wip iModelTransformerUtils.ts remove deprecated
DanRod1999 Feb 2, 2026
0307b6f
IModelTransformerutils.ts remove all deprecated usage
DanRod1999 Feb 2, 2026
0b00a19
Catalog.test.ts remove deprecated
DanRod1999 Feb 4, 2026
2eaa70f
IModelTransformer.test.ts remove deprecated
DanRod1999 Feb 5, 2026
d78611a
remove deprecated detectElementDeletes detectRelationshipDeletes
DanRod1999 Feb 5, 2026
7e55519
async queryElemFedGuid but deprecate?
DanRod1999 Feb 5, 2026
9a2694a
wip async queryScopeExternalSourceAspect(), failed test when resolvin…
DanRod1999 Feb 6, 2026
a3215b7
IModelTransformerHub.test.ts no deprecated
DanRod1999 Feb 9, 2026
083d0e4
EntityUnifier.exists() async
DanRod1999 Feb 9, 2026
d1d979e
TimelineTestUtils.ts deprecations
DanRod1999 Feb 9, 2026
fe41021
ElementUtils.ts createQueryReader()
DanRod1999 Feb 10, 2026
4d9595d
Transformer.test.ts fix deprecated
DanRod1999 Feb 10, 2026
b9a5f95
test-app transformer.ts async
DanRod1999 Feb 11, 2026
bd954b6
missed 1 isntance of withPreparedStatement in findTargetEntityId
DanRod1999 Feb 11, 2026
36b4793
cleanup
DanRod1999 Feb 11, 2026
371808a
lint
DanRod1999 Feb 11, 2026
3079717
stop using setDefaultView
DanRod1999 Feb 11, 2026
5874f7d
Version bump [skip actions]
imodeljs-admin Feb 11, 2026
b199bba
test app usePrimaryConn
DanRod1999 Feb 16, 2026
16dd4b5
usePrimaryConn: true
DanRod1999 Feb 16, 2026
5543519
Merge branch 'itwinjs-v5' of https://github.com/iTwin/imodel-transfor…
DanRod1999 Feb 16, 2026
5d13822
wip review comments
DanRod1999 Feb 16, 2026
2e42ead
copilot comments
DanRod1999 Feb 16, 2026
3beb981
fix query, use schema context for exportSchemas
DanRod1999 Feb 18, 2026
9eeeed6
update itjs version and fix clone element change
DanRod1999 Feb 18, 2026
72e1fd5
cleanup and bump test app
DanRod1999 Feb 19, 2026
bdfbbec
update perf pkgs
DanRod1999 Feb 19, 2026
ada154d
Version bump [skip actions]
imodeljs-admin Feb 19, 2026
5334be1
EntityUnifier.exists() perf regression
DanRod1999 Feb 24, 2026
ce7fb39
skip perf
DanRod1999 Feb 24, 2026
21804c2
Merge branch 'itwinjs-v5' of https://github.com/iTwin/imodel-transfor…
DanRod1999 Feb 24, 2026
17f34be
Version bump [skip actions]
imodeljs-admin Feb 25, 2026
c94b055
second perf test
DanRod1999 Mar 5, 2026
d74ed8c
make on insert, delete, update element async
DanRod1999 Mar 6, 2026
127d653
wip aquire locks
DanRod1999 Mar 6, 2026
a392891
async model and elementAspect apis
DanRod1999 Mar 9, 2026
9300b18
wip basic test for performing transformation with locks
DanRod1999 Mar 10, 2026
3c806a9
test delete workflows
DanRod1999 Mar 10, 2026
d1ebb6c
Update packages/transformer/src/IModelTransformer.ts
DanRod1999 Mar 10, 2026
9158e5e
Update packages/transformer/src/IModelTransformer.ts
DanRod1999 Mar 10, 2026
77b935b
Update packages/transformer/src/IModelImporter.ts
DanRod1999 Mar 10, 2026
cba99db
Update common/api/imodel-transformer.api.md
DanRod1999 Mar 10, 2026
d7c863e
fix typo
DanRod1999 Mar 10, 2026
6c0499b
copilot comments
DanRod1999 Mar 11, 2026
1f11941
fix bad async foreach
DanRod1999 Mar 11, 2026
6fc5d2d
skip perf tests
DanRod1999 Mar 25, 2026
59d70bf
remove detectElementsDelete test
DanRod1999 Mar 30, 2026
5e2c22b
Fix regression bug for code values with trailing whitespaces (#290)
JulijaRamoskiene Apr 13, 2026
706b30e
Version bump [skip actions]
imodeljs-admin Apr 13, 2026
4aa54e3
Do not update project extentents when outlier is null (#291)
DanRod1999 Apr 13, 2026
b1cef75
Version bump [skip actions]
imodeljs-admin Apr 13, 2026
904d3b8
remove last withPreparedStatement
DanRod1999 Apr 14, 2026
ce6f62d
Merge branch 'itwinjs-v5' into dan/make-async-to-aquire-locks
DanRod1999 Apr 14, 2026
758b970
bump packages to dev ver 5.9.0-dev.9
DanRod1999 Apr 14, 2026
83927f4
update packages
DanRod1999 Apr 14, 2026
7ae456e
Merge remote-tracking branch 'origin/main' into itwinjs-v5
Copilot Apr 14, 2026
944e6d6
abandon locks on failed transformation
DanRod1999 Apr 14, 2026
40ef871
keith breaking change
DanRod1999 Apr 15, 2026
b47a843
address copilot comments
DanRod1999 Apr 15, 2026
cd263bf
Make callback functions async (#292)
DanRod1999 Apr 21, 2026
3b6dbe9
update dev verrsion
DanRod1999 Apr 21, 2026
671aeaa
Merge branch 'itwinjs-v5' into dan/make-async-to-aquire-locks
DanRod1999 Apr 21, 2026
fa05680
Version bump [skip actions]
imodeljs-admin Apr 27, 2026
e618afa
update package vers
DanRod1999 May 6, 2026
ebd266b
Merge branch 'itwinjs-v5' of https://github.com/iTwin/imodel-transfor…
DanRod1999 May 6, 2026
00ba0e8
Merge branch 'itwinjs-v5' into dan/make-async-to-aquire-locks
DanRod1999 May 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 10 additions & 8 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,14 @@ name: CI

on:
pull_request:
branches: [ "main" ]
branches: [ "main", "itwinjs-v5" ]
workflow_dispatch:

jobs:
check-change-files:
if: github.bas_ref == 'main'
runs-on: ubuntu-latest
name: Check change files
name: Check change files

steps:
- name: Checkout
Expand All @@ -21,10 +22,10 @@ jobs:
with:
version: 9.14.2

- name: Use Node.js 20
- name: Use Node.js 22
uses: actions/setup-node@v3
with:
node-version: 20.18.1
node-version: 22.12.0
cache: 'pnpm'

- name: Install dependencies
Expand All @@ -48,10 +49,10 @@ jobs:
with:
version: 9.14.2

- name: Use Node.js 20
- name: Use Node.js 22
uses: actions/setup-node@v3
with:
node-version: 20.18.1
node-version: 22.12.0
cache: 'pnpm'

- id: set-matrix
Expand Down Expand Up @@ -104,10 +105,10 @@ jobs:
with:
version: 9.14.2

- name: Use Node.js 20
- name: Use Node.js 22
uses: actions/setup-node@v3
with:
node-version: 20.18.1
node-version: 22.12.0
cache: 'pnpm'

- name: Force dependency resolution
Expand Down Expand Up @@ -161,6 +162,7 @@ jobs:
CORE_VERSION: ${{ matrix.version }}

- name: Lint
if: github.ref == 'refs/heads/main'
run: pnpm run lint

- name: Build
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/extract-api.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,10 @@ jobs:
with:
version: 9.14.2

- name: Use Node.js 20
- name: Use Node.js 22
uses: actions/setup-node@v3
with:
node-version: 20.18.1
node-version: 22.12.0
cache: 'pnpm'

- name: Pnpm install
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/release-dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,10 @@ jobs:
with:
version: 9.14.2

- name: Use Node.js 20
- name: Use Node.js 22
uses: actions/setup-node@v3
with:
node-version: 20.18.1
node-version: 22.12.0
registry-url: https://registry.npmjs.org/

- name: Install dependencies
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@ jobs:
with:
version: 9.14.2

- name: Use Node.js 20
- name: Use Node.js 22
uses: actions/setup-node@v3
with:
node-version: 20.18.1
node-version: 22.12.0
registry-url: https://registry.npmjs.org/

- name: Install dependencies
Expand Down
5 changes: 1 addition & 4 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -1,4 +1 @@
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"

npm run pre-commit
lint-staged
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"type": "major",
"comment": "Upgrade to iTwin.js 5.0.",
"packageName": "@itwin/imodel-transformer",
"email": "22944042+pmconne@users.noreply.github.com",
"dependentChangeType": "patch"
}
122 changes: 62 additions & 60 deletions common/api/imodel-transformer.api.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ import { EntityProps } from '@itwin/core-common';
import { EntityReference } from '@itwin/core-common';
import { ExternalSourceAspect } from '@itwin/core-backend';
import { ExternalSourceAspectProps } from '@itwin/core-common';
import { FontFamilyDescriptor } from '@itwin/core-common';
import { FontProps } from '@itwin/core-common';
import { Helmert2DWithZOffset } from '@itwin/core-common';
import { Id64Arg } from '@itwin/core-bentley';
Expand Down Expand Up @@ -149,6 +150,8 @@ export class IModelExporter {
exportCodeSpecByName(codeSpecName: string): Promise<void>;
exportCodeSpecs(): Promise<void>;
exportElement(elementId: Id64String): Promise<void>;
exportFontByFontFamilyDescriptor(fontFamily: FontFamilyDescriptor): Promise<void>;
exportFontByFontProps(fontProps: FontProps): Promise<void>;
exportFontByName(fontName: string): Promise<void>;
exportFontByNumber(fontNumber: number): Promise<void>;
exportFonts(): Promise<void>;
Expand All @@ -175,15 +178,15 @@ export class IModelExporter {
// @beta
export abstract class IModelExportHandler {
onDeleteElement(_elementId: Id64String): void;
onDeleteModel(_modelId: Id64String): void;
onDeleteModel(_modelId: Id64String): Promise<void>;
onDeleteRelationship(_relInstanceId: Id64String): void;
onExportCodeSpec(_codeSpec: CodeSpec, _isUpdate: boolean | undefined): void;
onExportElement(_element: Element_2, _isUpdate: boolean | undefined): void;
onExportElementMultiAspects(_aspects: ElementMultiAspect[]): void;
onExportElementUniqueAspect(_aspect: ElementUniqueAspect, _isUpdate: boolean | undefined): void;
onExportElement(_element: Element_2, _isUpdate: boolean | undefined): Promise<void>;
onExportElementMultiAspects(_aspects: ElementMultiAspect[]): Promise<void>;
onExportElementUniqueAspect(_aspect: ElementUniqueAspect, _isUpdate: boolean | undefined): Promise<void>;
onExportFont(_font: FontProps, _isUpdate: boolean | undefined): void;
onExportModel(_model: Model, _isUpdate: boolean | undefined): void;
onExportRelationship(_relationship: Relationship, _isUpdate: boolean | undefined): void;
onExportModel(_model: Model, _isUpdate: boolean | undefined): Promise<void>;
onExportRelationship(_relationship: Relationship, _isUpdate: boolean | undefined): Promise<void>;
onExportSchema(_schema: Schema): Promise<void | ExportSchemaResult>;
onProgress(): Promise<void>;
onSkipElement(_elementId: Id64String): void;
Expand All @@ -200,30 +203,30 @@ export abstract class IModelExportHandler {
export class IModelImporter {
constructor(targetDb: IModelDb, options?: IModelImportOptions);
computeProjectExtents(): void;
deleteElement(elementId: Id64String): void;
deleteModel(modelId: Id64String): void;
deleteElement(elementId: Id64String): Promise<void>;
deleteModel(modelId: Id64String): Promise<void>;
deleteRelationship(relationshipProps: RelationshipPropsForDelete): void;
readonly doNotUpdateElementIds: Set<string>;
finalize(): void;
importElement(elementProps: ElementProps): Id64String;
importElement(elementProps: ElementProps): Promise<Id64String>;
importElementMultiAspects(aspectPropsArray: ElementAspectProps[],
filterFunc?: (a: ElementMultiAspect) => boolean): Id64String[];
importElementUniqueAspect(aspectProps: ElementAspectProps): Id64String;
importModel(modelProps: ModelProps): void;
filterFunc?: (a: ElementMultiAspect) => boolean): Promise<Id64String[]>;
importElementUniqueAspect(aspectProps: ElementAspectProps): Promise<Id64String>;
importModel(modelProps: ModelProps): Promise<void>;
importRelationship(relationshipProps: RelationshipProps): Id64String;
markElementToUpdateDuringPreserveIds(elementId: Id64String): void;
protected onDeleteElement(elementId: Id64String): void;
protected onDeleteElementAspect(targetElementAspect: ElementAspect): void;
protected onDeleteModel(modelId: Id64String): void;
protected onDeleteElement(elementId: Id64String): Promise<void>;
protected onDeleteElementAspect(targetElementAspect: ElementAspect): Promise<void>;
protected onDeleteModel(modelId: Id64String): Promise<void>;
protected onDeleteRelationship(relationshipProps: RelationshipPropsForDelete): void;
protected onInsertElement(elementProps: ElementProps): Id64String;
protected onInsertElementAspect(aspectProps: ElementAspectProps): Id64String;
protected onInsertModel(modelProps: ModelProps): Id64String;
protected onInsertElement(elementProps: ElementProps): Promise<Id64String>;
protected onInsertElementAspect(aspectProps: ElementAspectProps): Promise<Id64String>;
protected onInsertModel(modelProps: ModelProps): Promise<Id64String>;
protected onInsertRelationship(relationshipProps: RelationshipProps): Id64String;
protected onProgress(): void;
protected onUpdateElement(elementProps: ElementProps): void;
protected onUpdateElementAspect(aspectProps: ElementAspectProps): void;
protected onUpdateModel(modelProps: ModelProps): void;
protected onUpdateElement(elementProps: ElementProps): Promise<void>;
protected onUpdateElementAspect(aspectProps: ElementAspectProps): Promise<void>;
protected onUpdateModel(modelProps: ModelProps): Promise<void>;
protected onUpdateRelationship(relationshipProps: RelationshipProps): void;
optimizeGeometry(options: OptimizeGeometryOptions): void;
readonly options: Required<IModelImportOptions>;
Expand All @@ -233,6 +236,7 @@ export class IModelImporter {

// @beta
export interface IModelImportOptions {
acquireElementLocks?: boolean;
autoExtendProjectExtents?: boolean | {
excludeOutliers: boolean;
};
Expand All @@ -250,18 +254,14 @@ export class IModelTransformer extends IModelExportHandler {
calculateTransformFromHelmertTransforms(): Transform | undefined;
combineElements(sourceElementIds: Id64Array, targetElementId: Id64String): void;
// (undocumented)
protected completePartiallyCommittedAspects(): void;
protected completePartiallyCommittedAspects(): Promise<void>;
// (undocumented)
protected completePartiallyCommittedElements(): void;
protected completePartiallyCommittedElements(): Promise<void>;
readonly context: IModelCloneContext;
// (undocumented)
static convertHelmertToTransform(helmert: Helmert2DWithZOffset | undefined): Transform;
// @deprecated
detectElementDeletes(): Promise<void>;
// @deprecated
detectRelationshipDeletes(): Promise<void>;
static determineSyncType(sourceDb: IModelDb, targetDb: IModelDb,
targetScopeElementId: Id64String): "forward" | "reverse";
targetScopeElementId: Id64String): Promise<"forward" | "reverse">;
dispose(): void;
protected _elementsWithExplicitlyTrackedProvenance: Set<string>;
readonly exporter: IModelExporter;
Expand All @@ -272,11 +272,17 @@ export class IModelTransformer extends IModelExportHandler {
isReverseSynchronization: boolean;
fn: (sourceElementId: Id64String, targetElementId: Id64String) => void;
skipPropagateChangesToRootElements: boolean;
}): void;
protected get hasDefinitionContainerDeletionFeature(): boolean;
}): Promise<void>;
// (undocumented)
getIsForwardSynchronization(): Promise<boolean>;
// (undocumented)
getIsReverseSynchronization(): Promise<boolean>;
getProvenanceDb(): Promise<IModelDb>;
getProvenanceSourceDb(): Promise<IModelDb>;
protected getSynchronizationVersion(): Promise<ChangesetIndexAndId>;
protected hasElementChanged(sourceElement: Element_2): boolean;
readonly importer: IModelImporter;
initElementProvenance(sourceElementId: Id64String, targetElementId: Id64String): ExternalSourceAspectProps;
initElementProvenance(sourceElementId: Id64String, targetElementId: Id64String): Promise<ExternalSourceAspectProps>;
static initElementProvenanceOptions(sourceElementId: Id64String, targetElementId: Id64String, args: {
sourceDb: IModelDb;
targetDb: IModelDb;
Expand All @@ -291,27 +297,23 @@ export class IModelTransformer extends IModelExportHandler {
isReverseSynchronization: boolean;
targetScopeElementId: Id64String;
forceOldRelationshipProvenanceMethod: boolean;
}): ExternalSourceAspectProps;
protected initScopeProvenance(): void;
// (undocumented)
get isForwardSynchronization(): boolean;
// (undocumented)
get isReverseSynchronization(): boolean;
}): Promise<ExternalSourceAspectProps>;
protected initScopeProvenance(): Promise<void>;
// (undocumented)
static noEsaSyncDirectionErrorMessage: string;
onDeleteElement(sourceElementId: Id64String): void;
onDeleteModel(sourceModelId: Id64String): void;
onDeleteRelationship(sourceRelInstanceId: Id64String): void;
onDeleteElement(sourceElementId: Id64String): Promise<void>;
onDeleteModel(sourceModelId: Id64String): Promise<void>;
onDeleteRelationship(sourceRelInstanceId: Id64String): Promise<void>;
onExportCodeSpec(sourceCodeSpec: CodeSpec): void;
onExportElement(sourceElement: Element_2): void;
onExportElementMultiAspects(sourceAspects: ElementMultiAspect[]): void;
onExportElementUniqueAspect(sourceAspect: ElementUniqueAspect): void;
onExportElement(sourceElement: Element_2): Promise<void>;
onExportElementMultiAspects(sourceAspects: ElementMultiAspect[]): Promise<void>;
onExportElementUniqueAspect(sourceAspect: ElementUniqueAspect): Promise<void>;
onExportFont(font: FontProps, _isUpdate: boolean | undefined): void;
onExportModel(sourceModel: Model): void;
onExportRelationship(sourceRelationship: Relationship): void;
onExportModel(sourceModel: Model): Promise<void>;
onExportRelationship(sourceRelationship: Relationship): Promise<void>;
onExportSchema(schema: ECSchemaMetaData.Schema): Promise<void | ExportSchemaResult>;
onTransformElement(sourceElement: Element_2): ElementProps;
protected onTransformElementAspect(sourceElementAspect: ElementAspect): ElementAspectProps;
onTransformElement(sourceElement: Element_2): Promise<ElementProps>;
protected onTransformElementAspect(sourceElementAspect: ElementAspect): Promise<ElementAspectProps>;
onTransformModel(sourceModel: Model, targetModeledElementId: Id64String): ModelProps;
protected onTransformRelationship(sourceRelationship: Relationship): RelationshipProps;
// (undocumented)
Expand All @@ -331,15 +333,13 @@ export class IModelTransformer extends IModelExportHandler {
processRelationships(baseRelClassFullName: string): Promise<void>;
processSchemas(): Promise<void>;
processSubject(sourceSubjectId: Id64String, targetSubjectId: Id64String): Promise<void>;
get provenanceDb(): IModelDb;
static get provenanceElementAspectClasses(): (typeof Entity)[];
static get provenanceElementClasses(): (typeof Entity)[];
get provenanceSourceDb(): IModelDb;
static queryScopeExternalSourceAspect(dbToQuery: IModelDb, aspectProps: ExternalSourceAspectProps): {
static queryScopeExternalSourceAspect(dbToQuery: IModelDb, aspectProps: ExternalSourceAspectProps): Promise<{
aspectId: Id64String;
version?: string;
jsonProperties?: string;
} | undefined;
} | undefined>;
protected _schemaExportDir: string;
protected shouldDetectDeletes(): boolean;
shouldExportCodeSpec(_sourceCodeSpec: CodeSpec): boolean;
Expand All @@ -349,18 +349,18 @@ export class IModelTransformer extends IModelExportHandler {
shouldExportRelationship(_sourceRelationship: Relationship): boolean;
shouldExportSchema(schemaKey: ECSchemaMetaData.SchemaKey): boolean;
readonly sourceDb: IModelDb;
protected get synchronizationVersion(): ChangesetIndexAndId;
readonly targetDb: IModelDb;
get targetScopeElementId(): Id64String;
// (undocumented)
protected tryGetProvenanceScopeAspect(): ExternalSourceAspect | undefined;
updateSynchronizationVersion({ initializeReverseSyncVersion, }?: {
protected tryGetProvenanceScopeAspect(): Promise<ExternalSourceAspect | undefined>;
updateSynchronizationVersion(input?: {
initializeReverseSyncVersion?: boolean | undefined;
}): void;
}): Promise<void>;
}

// @beta
export interface IModelTransformOptions {
acquireElementLocks?: boolean;
argsForProcessChanges?: ProcessChangesOptions;
branchRelationshipDataBehavior?: "unsafe-migrate" | "reject";
cloneUsingBinaryGeometry?: boolean;
Expand Down Expand Up @@ -440,21 +440,23 @@ export interface TargetScopeProvenanceJsonProps {
// @beta
export class TemplateModelCloner extends IModelTransformer {
constructor(sourceDb: IModelDb, targetDb?: IModelDb);
onTransformElement(sourceElement: Element_2): ElementProps;
onTransformElement(sourceElement: Element_2): Promise<ElementProps>;
placeTemplate2d(sourceTemplateModelId: Id64String, targetModelId: Id64String, placement: Placement2d): Promise<Map<Id64String, Id64String>>;
placeTemplate3d(sourceTemplateModelId: Id64String, targetModelId: Id64String, placement: Placement3d): Promise<Map<Id64String, Id64String>>;
}

// @public
export enum TransformerLoggerCategory {
// (undocumented)
ECReferenceTypesCache = "imodel-transformer.ECReferenceTypesCache",
// @beta
IModelCloneContext = "core-backend.IModelCloneContext",
IModelCloneContext = "imodel-transformer.IModelCloneContext",
// @beta
IModelExporter = "core-backend.IModelExporter",
IModelExporter = "imodel-transformer.IModelExporter",
// @beta
IModelImporter = "core-backend.IModelImporter",
IModelImporter = "imodel-transformer.IModelImporter",
// @beta
IModelTransformer = "core-backend.IModelTransformer"
IModelTransformer = "imodel-transformer.IModelTransformer"
}

// (No @packageDocumentation comment for this package)
Expand Down
Loading