@itwin/imodel-transformer 2.0.0-dev.62 → 2.0.0-dev.64

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.
@@ -28,7 +28,5 @@ export declare class SyncTypeResolver {
28
28
  static determineSyncType(sourceDb: IModelDb, targetDb: IModelDb, targetScopeElementId: Id64String): Promise<"forward" | "reverse">;
29
29
  /** Returns the sync type, lazily resolving it on first call. */
30
30
  getSyncType(): Promise<SyncType>;
31
- private getIsReverseSynchronization;
32
- private getIsForwardSynchronization;
33
31
  }
34
32
  //# sourceMappingURL=SyncTypeResolver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SyncTypeResolver.d.ts","sourceRoot":"","sources":["../../src/SyncTypeResolver.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAc,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAGL,QAAQ,EACT,MAAM,qBAAqB,CAAC;AAS7B,gBAAgB;AAChB,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;AAE1D;;;;;GAKG;AACH,qBAAa,gBAAgB;IAC3B,OAAc,8BAA8B,SAC8L;IAE1O,OAAO,CAAC,SAAS,CAAC,CAAW;IAC7B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAa;IACnD,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAU;IACrD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAU;IAE3C,YACE,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,oBAAoB,EAAE,UAAU,EAChC,yBAAyB,GAAE,OAAe,EAC1C,eAAe,GAAE,OAAe,EAOjC;IAED;;;;;;;OAOG;IACH,OAAoB,iBAAiB,CACnC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,oBAAoB,EAAE,UAAU,GAC/B,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CA0ChC;IAED,gEAAgE;IACnD,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC,CAe5C;YAEa,2BAA2B;YAI3B,2BAA2B;CAG1C"}
1
+ {"version":3,"file":"SyncTypeResolver.d.ts","sourceRoot":"","sources":["../../src/SyncTypeResolver.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAc,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAGL,QAAQ,EACT,MAAM,qBAAqB,CAAC;AAS7B,gBAAgB;AAChB,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;AAE1D;;;;;GAKG;AACH,qBAAa,gBAAgB;IAC3B,OAAc,8BAA8B,SAC8L;IAE1O,OAAO,CAAC,SAAS,CAAC,CAAW;IAC7B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAa;IACnD,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAU;IACrD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAU;IAE3C,YACE,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,oBAAoB,EAAE,UAAU,EAChC,yBAAyB,GAAE,OAAe,EAC1C,eAAe,GAAE,OAAe,EAOjC;IAED;;;;;;;OAOG;IACH,OAAoB,iBAAiB,CACnC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,oBAAoB,EAAE,UAAU,GAC/B,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CA0ChC;IAED,gEAAgE;IACnD,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC,CAe5C;CACF"}
@@ -87,12 +87,6 @@ class SyncTypeResolver {
87
87
  }
88
88
  return this._syncType;
89
89
  }
90
- async getIsReverseSynchronization() {
91
- return (await this.getSyncType()) === "reverse";
92
- }
93
- async getIsForwardSynchronization() {
94
- return (await this.getSyncType()) === "forward";
95
- }
96
90
  }
97
91
  exports.SyncTypeResolver = SyncTypeResolver;
98
92
  //# sourceMappingURL=SyncTypeResolver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SyncTypeResolver.js","sourceRoot":"","sources":["../../src/SyncTypeResolver.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nimport { Id64String, ITwinError } from \"@itwin/core-bentley\";\nimport {\n ElementOwnsExternalSourceAspects,\n ExternalSourceAspect,\n IModelDb,\n} from \"@itwin/core-backend\";\nimport { IModel } from \"@itwin/core-common\";\nimport type { TargetScopeProvenanceJsonProps } from \"./IModelTransformer\";\nimport { ProvenanceManager } from \"./ProvenanceManager\";\nimport {\n IModelTransformerError,\n IModelTransformerErrorScope,\n} from \"./IModelTransformerError\";\n\n/** @internal */\nexport type SyncType = \"not-sync\" | \"forward\" | \"reverse\";\n\n/**\n * Encapsulates sync direction determination logic.\n * Given a source and target iModel, resolves whether the transformation is\n * a forward sync, reverse sync, or not a sync at all.\n * @internal\n */\nexport class SyncTypeResolver {\n public static noEsaSyncDirectionErrorMessage =\n \"Couldn't find an external source aspect to determine sync direction. This often means that the master->branch relationship has not been established. Consider running the transformer with wasSourceIModelCopiedToTarget set to true.\";\n\n private _syncType?: SyncType;\n private readonly _sourceDb: IModelDb;\n private readonly _targetDb: IModelDb;\n private readonly _targetScopeElementId: Id64String;\n private readonly _isProvenanceInitTransform: boolean;\n private readonly _isSyncTransform: boolean;\n\n public constructor(\n sourceDb: IModelDb,\n targetDb: IModelDb,\n targetScopeElementId: Id64String,\n isProvenanceInitTransform: boolean = false,\n isSyncTransform: boolean = false\n ) {\n this._sourceDb = sourceDb;\n this._targetDb = targetDb;\n this._targetScopeElementId = targetScopeElementId;\n this._isProvenanceInitTransform = isProvenanceInitTransform;\n this._isSyncTransform = isSyncTransform;\n }\n\n /**\n * Determines the sync direction \"forward\" or \"reverse\" of a given sourceDb and targetDb by looking for the scoping ESA.\n * If the sourceDb's iModelId is found as the identifier of the expected scoping ESA in the targetDb, then it is a forward synchronization.\n * If the targetDb's iModelId is found as the identifier of the expected scoping ESA in the sourceDb, then it is a reverse synchronization.\n * @note This is a standalone utility that does not depend on instance state.\n * @throws if no scoping ESA can be found in either the sourceDb or targetDb which describes a master branch relationship between the two databases.\n * @returns \"forward\" or \"reverse\"\n */\n public static async determineSyncType(\n sourceDb: IModelDb,\n targetDb: IModelDb,\n targetScopeElementId: Id64String\n ): Promise<\"forward\" | \"reverse\"> {\n const aspectProps = {\n id: undefined as string | undefined,\n version: undefined as string | undefined,\n classFullName: ExternalSourceAspect.classFullName,\n element: {\n id: targetScopeElementId,\n relClassName: ElementOwnsExternalSourceAspects.classFullName,\n },\n scope: { id: IModel.rootSubjectId },\n identifier: sourceDb.iModelId,\n kind: ExternalSourceAspect.Kind.Scope,\n jsonProperties: undefined as TargetScopeProvenanceJsonProps | undefined,\n };\n // First check if the targetDb is the branch (branch is the provenanceDb)\n const esaPropsFromTargetDb =\n await ProvenanceManager.queryScopeExternalSourceAspect(\n targetDb,\n aspectProps\n );\n if (esaPropsFromTargetDb !== undefined) {\n return \"forward\";\n }\n\n // Now check if the sourceDb is the branch\n aspectProps.identifier = targetDb.iModelId;\n const esaPropsFromSourceDb =\n await ProvenanceManager.queryScopeExternalSourceAspect(\n sourceDb,\n aspectProps\n );\n\n if (esaPropsFromSourceDb !== undefined) {\n return \"reverse\";\n }\n ITwinError.throwError({\n iTwinErrorId: {\n scope: IModelTransformerErrorScope,\n key: IModelTransformerError.SynchronizationTypeNotDetermined,\n },\n message: SyncTypeResolver.noEsaSyncDirectionErrorMessage,\n });\n }\n\n /** Returns the sync type, lazily resolving it on first call. */\n public async getSyncType(): Promise<SyncType> {\n if (this._syncType === undefined) {\n if (this._isProvenanceInitTransform) {\n this._syncType = \"forward\";\n } else if (!this._isSyncTransform) {\n this._syncType = \"not-sync\";\n } else {\n this._syncType = await SyncTypeResolver.determineSyncType(\n this._sourceDb,\n this._targetDb,\n this._targetScopeElementId\n );\n }\n }\n return this._syncType;\n }\n\n private async getIsReverseSynchronization(): Promise<boolean> {\n return (await this.getSyncType()) === \"reverse\";\n }\n\n private async getIsForwardSynchronization(): Promise<boolean> {\n return (await this.getSyncType()) === \"forward\";\n }\n}\n"]}
1
+ {"version":3,"file":"SyncTypeResolver.js","sourceRoot":"","sources":["../../src/SyncTypeResolver.ts"],"names":[],"mappings":";;;AAAA;;;gGAGgG;AAChG,sDAA6D;AAC7D,sDAI6B;AAC7B,oDAA4C;AAE5C,2DAAwD;AACxD,qEAGkC;AAKlC;;;;;GAKG;AACH;IACS,MAAM,CAAC,8BAA8B,GAC1C,uOAAuO,CAAC;IAElO,SAAS,CAAY;IACZ,SAAS,CAAW;IACpB,SAAS,CAAW;IACpB,qBAAqB,CAAa;IAClC,0BAA0B,CAAU;IACpC,gBAAgB,CAAU;IAE3C,YACE,QAAkB,EAClB,QAAkB,EAClB,oBAAgC,EAChC,yBAAyB,GAAY,KAAK,EAC1C,eAAe,GAAY,KAAK;QAEhC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,qBAAqB,GAAG,oBAAoB,CAAC;QAClD,IAAI,CAAC,0BAA0B,GAAG,yBAAyB,CAAC;QAC5D,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;IAC1C,CAAC;IAED;;;;;;;OAOG;IACI,MAAM,CAAC,KAAK,CAAC,iBAAiB,CACnC,QAAkB,EAClB,QAAkB,EAClB,oBAAgC;QAEhC,MAAM,WAAW,GAAG;YAClB,EAAE,EAAE,SAA+B;YACnC,OAAO,EAAE,SAA+B;YACxC,aAAa,EAAE,mCAAoB,CAAC,aAAa;YACjD,OAAO,EAAE;gBACP,EAAE,EAAE,oBAAoB;gBACxB,YAAY,EAAE,+CAAgC,CAAC,aAAa;aAC7D;YACD,KAAK,EAAE,EAAE,EAAE,EAAE,oBAAM,CAAC,aAAa,EAAE;YACnC,UAAU,EAAE,QAAQ,CAAC,QAAQ;YAC7B,IAAI,EAAE,mCAAoB,CAAC,IAAI,CAAC,KAAK;YACrC,cAAc,EAAE,SAAuD;SACxE,CAAC;QACF,yEAAyE;QACzE,MAAM,oBAAoB,GACxB,MAAM,qCAAiB,CAAC,8BAA8B,CACpD,QAAQ,EACR,WAAW,CACZ,CAAC;QACJ,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;YACvC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,0CAA0C;QAC1C,WAAW,CAAC,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC;QAC3C,MAAM,oBAAoB,GACxB,MAAM,qCAAiB,CAAC,8BAA8B,CACpD,QAAQ,EACR,WAAW,CACZ,CAAC;QAEJ,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;YACvC,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,yBAAU,CAAC,UAAU,CAAC;YACpB,YAAY,EAAE;gBACZ,KAAK,EAAE,oDAA2B;gBAClC,GAAG,EAAE,+CAAsB,CAAC,gCAAgC;aAC7D;YACD,OAAO,EAAE,gBAAgB,CAAC,8BAA8B;SACzD,CAAC,CAAC;IACL,CAAC;IAED,gEAAgE;IACzD,KAAK,CAAC,WAAW;QACtB,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,IAAI,CAAC,0BAA0B,EAAE,CAAC;gBACpC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC7B,CAAC;iBAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAClC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,SAAS,GAAG,MAAM,gBAAgB,CAAC,iBAAiB,CACvD,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,qBAAqB,CAC3B,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nimport { Id64String, ITwinError } from \"@itwin/core-bentley\";\nimport {\n ElementOwnsExternalSourceAspects,\n ExternalSourceAspect,\n IModelDb,\n} from \"@itwin/core-backend\";\nimport { IModel } from \"@itwin/core-common\";\nimport type { TargetScopeProvenanceJsonProps } from \"./IModelTransformer\";\nimport { ProvenanceManager } from \"./ProvenanceManager\";\nimport {\n IModelTransformerError,\n IModelTransformerErrorScope,\n} from \"./IModelTransformerError\";\n\n/** @internal */\nexport type SyncType = \"not-sync\" | \"forward\" | \"reverse\";\n\n/**\n * Encapsulates sync direction determination logic.\n * Given a source and target iModel, resolves whether the transformation is\n * a forward sync, reverse sync, or not a sync at all.\n * @internal\n */\nexport class SyncTypeResolver {\n public static noEsaSyncDirectionErrorMessage =\n \"Couldn't find an external source aspect to determine sync direction. This often means that the master->branch relationship has not been established. Consider running the transformer with wasSourceIModelCopiedToTarget set to true.\";\n\n private _syncType?: SyncType;\n private readonly _sourceDb: IModelDb;\n private readonly _targetDb: IModelDb;\n private readonly _targetScopeElementId: Id64String;\n private readonly _isProvenanceInitTransform: boolean;\n private readonly _isSyncTransform: boolean;\n\n public constructor(\n sourceDb: IModelDb,\n targetDb: IModelDb,\n targetScopeElementId: Id64String,\n isProvenanceInitTransform: boolean = false,\n isSyncTransform: boolean = false\n ) {\n this._sourceDb = sourceDb;\n this._targetDb = targetDb;\n this._targetScopeElementId = targetScopeElementId;\n this._isProvenanceInitTransform = isProvenanceInitTransform;\n this._isSyncTransform = isSyncTransform;\n }\n\n /**\n * Determines the sync direction \"forward\" or \"reverse\" of a given sourceDb and targetDb by looking for the scoping ESA.\n * If the sourceDb's iModelId is found as the identifier of the expected scoping ESA in the targetDb, then it is a forward synchronization.\n * If the targetDb's iModelId is found as the identifier of the expected scoping ESA in the sourceDb, then it is a reverse synchronization.\n * @note This is a standalone utility that does not depend on instance state.\n * @throws if no scoping ESA can be found in either the sourceDb or targetDb which describes a master branch relationship between the two databases.\n * @returns \"forward\" or \"reverse\"\n */\n public static async determineSyncType(\n sourceDb: IModelDb,\n targetDb: IModelDb,\n targetScopeElementId: Id64String\n ): Promise<\"forward\" | \"reverse\"> {\n const aspectProps = {\n id: undefined as string | undefined,\n version: undefined as string | undefined,\n classFullName: ExternalSourceAspect.classFullName,\n element: {\n id: targetScopeElementId,\n relClassName: ElementOwnsExternalSourceAspects.classFullName,\n },\n scope: { id: IModel.rootSubjectId },\n identifier: sourceDb.iModelId,\n kind: ExternalSourceAspect.Kind.Scope,\n jsonProperties: undefined as TargetScopeProvenanceJsonProps | undefined,\n };\n // First check if the targetDb is the branch (branch is the provenanceDb)\n const esaPropsFromTargetDb =\n await ProvenanceManager.queryScopeExternalSourceAspect(\n targetDb,\n aspectProps\n );\n if (esaPropsFromTargetDb !== undefined) {\n return \"forward\";\n }\n\n // Now check if the sourceDb is the branch\n aspectProps.identifier = targetDb.iModelId;\n const esaPropsFromSourceDb =\n await ProvenanceManager.queryScopeExternalSourceAspect(\n sourceDb,\n aspectProps\n );\n\n if (esaPropsFromSourceDb !== undefined) {\n return \"reverse\";\n }\n ITwinError.throwError({\n iTwinErrorId: {\n scope: IModelTransformerErrorScope,\n key: IModelTransformerError.SynchronizationTypeNotDetermined,\n },\n message: SyncTypeResolver.noEsaSyncDirectionErrorMessage,\n });\n }\n\n /** Returns the sync type, lazily resolving it on first call. */\n public async getSyncType(): Promise<SyncType> {\n if (this._syncType === undefined) {\n if (this._isProvenanceInitTransform) {\n this._syncType = \"forward\";\n } else if (!this._isSyncTransform) {\n this._syncType = \"not-sync\";\n } else {\n this._syncType = await SyncTypeResolver.determineSyncType(\n this._sourceDb,\n this._targetDb,\n this._targetScopeElementId\n );\n }\n }\n return this._syncType;\n }\n}\n"]}
@@ -42,6 +42,6 @@ const path = __importStar(require("node:path"));
42
42
  const packageRoot = path.basename(__dirname) === "src"
43
43
  ? path.resolve(__dirname, "..")
44
44
  : path.resolve(__dirname, "../..");
45
- // eslint-disable-next-line @typescript-eslint/no-var-requires, @typescript-eslint/no-require-imports
45
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
46
46
  exports.transformerPackageMetadata = require(path.join(packageRoot, "package.json"));
47
47
  //# sourceMappingURL=TransformerPackageMetadata.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TransformerPackageMetadata.js","sourceRoot":"","sources":["../../src/TransformerPackageMetadata.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEhG,MAAY,IAAI,sCAAkB;AAQlC,MAAM,WAAW,GACf,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,KAAK;IAChC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC;IAC/B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAEvC,qGAAqG;AACxF,QAAA,0BAA0B,GAAG,OAAO,CAC/C,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CACT,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport * as path from \"node:path\";\n\ninterface TransformerPackageMetadata {\n name: string;\n version: string;\n peerDependencies: Record<string, string>;\n}\n\nconst packageRoot =\n path.basename(__dirname) === \"src\"\n ? path.resolve(__dirname, \"..\")\n : path.resolve(__dirname, \"../..\");\n\n// eslint-disable-next-line @typescript-eslint/no-var-requires, @typescript-eslint/no-require-imports\nexport const transformerPackageMetadata = require(\n path.join(packageRoot, \"package.json\")\n) as TransformerPackageMetadata;\n"]}
1
+ {"version":3,"file":"TransformerPackageMetadata.js","sourceRoot":"","sources":["../../src/TransformerPackageMetadata.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEhG,MAAY,IAAI,sCAAkB;AAQlC,MAAM,WAAW,GACf,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,KAAK;IAChC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC;IAC/B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAEvC,iEAAiE;AACpD,QAAA,0BAA0B,GAAG,OAAO,CAC/C,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CACT,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport * as path from \"node:path\";\n\ninterface TransformerPackageMetadata {\n name: string;\n version: string;\n peerDependencies: Record<string, string>;\n}\n\nconst packageRoot =\n path.basename(__dirname) === \"src\"\n ? path.resolve(__dirname, \"..\")\n : path.resolve(__dirname, \"../..\");\n\n// eslint-disable-next-line @typescript-eslint/no-require-imports\nexport const transformerPackageMetadata = require(\n path.join(packageRoot, \"package.json\")\n) as TransformerPackageMetadata;\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@itwin/imodel-transformer",
3
- "version": "2.0.0-dev.62",
3
+ "version": "2.0.0-dev.64",
4
4
  "description": "API for exporting an iModel's parts and also importing them into another iModel",
5
5
  "main": "lib/cjs/imodel-transformer.js",
6
6
  "typings": "lib/cjs/imodel-transformer.d.ts",
@@ -31,7 +31,7 @@
31
31
  "scripts": {
32
32
  "build": "npm run -s typecheck && npm run -s build:cjs && npm run -s extract-api",
33
33
  "build:cjs": "tsc -p tsconfig.build.json 1>&2 --outDir lib/cjs",
34
- "clean": "rimraf lib",
34
+ "clean": "node ../../scripts/rm.js lib",
35
35
  "docs": "npm run -s docs:extract && npm run -s docs:reference && npm run -s docs:changelog",
36
36
  "docs:changelog": "node scripts/copyChangelog.js",
37
37
  "# env var is workaround, need to contribute a better rush-less root-package.json detector to betools": "",
@@ -41,11 +41,11 @@
41
41
  "extract-api": "npm run -s extract-api:root && npm run -s extract-api:schema-processing",
42
42
  "extract-api:root": "betools extract-api --entry=imodel-transformer --apiReportFolder=../../common/api --apiReportTempFolder=../../common/api/temp --apiSummaryFolder=../../common/api/summary",
43
43
  "extract-api:schema-processing": "betools extract-api --entry=schema-processing --apiReportFolder=../../common/api --apiReportTempFolder=../../common/api/temp --apiSummaryFolder=../../common/api/summary",
44
- "lint": "eslint -f visualstudio --quiet \"./src/**/*.ts\" 1>&2",
45
- "lint:no-tests": "eslint -f visualstudio --quiet \"./src/*.ts\" 1>&2",
46
- "lint:fix": "eslint --fix -f visualstudio --quiet \"./src/**/*.ts\" 1>&2",
44
+ "lint": "eslint --quiet \"./src/**/*.ts\" 1>&2",
45
+ "lint:no-tests": "eslint --quiet \"./src/*.ts\" 1>&2",
46
+ "lint:fix": "eslint --fix --quiet \"./src/**/*.ts\" 1>&2",
47
47
  "format": "prettier \"./src/**/*.ts\" --write",
48
- "lint:with-warnings": "eslint -f visualstudio \"./src/**/*.ts\" 1>&2",
48
+ "lint:with-warnings": "eslint \"./src/**/*.ts\" 1>&2",
49
49
  "test": "vitest run",
50
50
  "typecheck": "tsc -p tsconfig.json --noEmit --incremental false 1>&2",
51
51
  "no-internal-report": "no-internal-report src/**/*.ts"
@@ -93,7 +93,7 @@
93
93
  },
94
94
  "//devDependencies": [
95
95
  "NOTE: All peerDependencies should also be listed as devDependencies since peerDependencies are not considered by npm install",
96
- "NOTE: All tools used by scripts in this package must be listed as devDependencies"
96
+ "NOTE: All tools used by scripts in this package must be listed as devDependencies, except ESLint and Prettier tooling, which the workspace root declares"
97
97
  ],
98
98
  "devDependencies": {
99
99
  "@itwin/build-tools": "^5.13.0",
@@ -105,20 +105,11 @@
105
105
  "@itwin/ecschema-editing": "5.13.0",
106
106
  "@itwin/ecschema-locaters": "5.13.0",
107
107
  "@itwin/ecschema-metadata": "^5.13.0",
108
- "@itwin/eslint-plugin": "^6.1.0",
109
108
  "@itwin/imodel-transformer-test-utils": "0.0.0",
110
- "@types/node": "^22.18.8",
111
- "@types/node-fetch": "^2.6.13",
109
+ "@types/node": "^22.18.12",
112
110
  "@types/semver": "^7.7.1",
113
- "@typescript-eslint/parser": "^8.64.0",
114
111
  "@vitest/coverage-v8": "4.1.10",
115
112
  "cross-env": "^5.2.1",
116
- "eslint": "^9.36.0",
117
- "eslint-config-prettier": "^9.1.2",
118
- "js-base64": "^3.7.8",
119
- "npm-run-all": "^4.1.5",
120
- "prettier": "^3.6.2",
121
- "rimraf": "^3.0.2",
122
113
  "@typescript/native": "npm:typescript@~7.0.2",
123
114
  "typescript": "npm:@typescript/typescript6@~6.0.2",
124
115
  "vitest": "4.1.10"
@@ -1,26 +0,0 @@
1
- /** @packageDocumentation
2
- * @module Utils
3
- */
4
- import { EntityReference } from "@itwin/core-common";
5
- import { ConcreteEntity } from "@itwin/core-backend";
6
- /** @internal */
7
- export type EntityKey = EntityReference;
8
- /** @internal */
9
- export declare class EntityMap<V> {
10
- private _map;
11
- static makeKey(entity: ConcreteEntity): EntityKey;
12
- clear(): void;
13
- has(entity: ConcreteEntity): boolean;
14
- set(entity: ConcreteEntity, val: V): EntityMap<V>;
15
- setByKey(k: EntityKey, val: V): EntityMap<V>;
16
- get(entity: ConcreteEntity): V | undefined;
17
- getByKey(k: EntityKey): V | undefined;
18
- delete(entity: ConcreteEntity): boolean;
19
- deleteByKey(k: EntityKey): boolean;
20
- keys(): MapIterator<string>;
21
- values(): MapIterator<V>;
22
- entries(): MapIterator<[string, V]>;
23
- [Symbol.iterator](): MapIterator<[string, V]>;
24
- get size(): number;
25
- }
26
- //# sourceMappingURL=EntityMap.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EntityMap.d.ts","sourceRoot":"","sources":["../../src/EntityMap.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAoB,MAAM,qBAAqB,CAAC;AAGvE,gBAAgB;AAChB,MAAM,MAAM,SAAS,GAAG,eAAe,CAAC;AAExC,gBAAgB;AAChB,qBAAa,SAAS,CAAC,CAAC;IACtB,OAAO,CAAC,IAAI,CAAmB;IAE/B,OAAc,OAAO,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS,CAEvD;IAEM,KAAK,IAAI,IAAI,CAEnB;IAEM,GAAG,CAAC,MAAM,EAAE,cAAc,WAEhC;IAEM,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAEvD;IAEM,QAAQ,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAGlD;IAEM,GAAG,CAAC,MAAM,EAAE,cAAc,GAAG,CAAC,GAAG,SAAS,CAEhD;IAEM,QAAQ,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,GAAG,SAAS,CAE3C;IAEM,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAE7C;IAEM,WAAW,CAAC,CAAC,EAAE,SAAS,GAAG,OAAO,CAExC;IAEM,IAAI,wBAEV;IAEM,MAAM,mBAEZ;IAEM,OAAO,6BAEb;IAEM,CAAC,MAAM,CAAC,QAAQ,CAAC,6BAEvB;IAED,IAAW,IAAI,WAEd;CACF"}
@@ -1,54 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EntityMap = void 0;
4
- const core_backend_1 = require("@itwin/core-backend");
5
- const BigMap_1 = require("./BigMap");
6
- /** @internal */
7
- class EntityMap {
8
- _map = new BigMap_1.BigMap();
9
- static makeKey(entity) {
10
- return core_backend_1.EntityReferences.from(entity);
11
- }
12
- clear() {
13
- return this._map.clear();
14
- }
15
- has(entity) {
16
- return this._map.has(EntityMap.makeKey(entity));
17
- }
18
- set(entity, val) {
19
- return this.setByKey(EntityMap.makeKey(entity), val);
20
- }
21
- setByKey(k, val) {
22
- this._map.set(k, val);
23
- return this;
24
- }
25
- get(entity) {
26
- return this.getByKey(EntityMap.makeKey(entity));
27
- }
28
- getByKey(k) {
29
- return this._map.get(k);
30
- }
31
- delete(entity) {
32
- return this.deleteByKey(EntityMap.makeKey(entity));
33
- }
34
- deleteByKey(k) {
35
- return this._map.delete(k);
36
- }
37
- keys() {
38
- return this._map.keys();
39
- }
40
- values() {
41
- return this._map.values();
42
- }
43
- entries() {
44
- return this._map.entries();
45
- }
46
- [Symbol.iterator]() {
47
- return this._map[Symbol.iterator]();
48
- }
49
- get size() {
50
- return this._map.size;
51
- }
52
- }
53
- exports.EntityMap = EntityMap;
54
- //# sourceMappingURL=EntityMap.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EntityMap.js","sourceRoot":"","sources":["../../src/EntityMap.ts"],"names":[],"mappings":";;;AAQA,sDAAuE;AACvE,qCAAkC;AAKlC,gBAAgB;AAChB;IACU,IAAI,GAAG,IAAI,eAAM,EAAK,CAAC;IAExB,MAAM,CAAC,OAAO,CAAC,MAAsB;QAC1C,OAAO,+BAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAEM,KAAK;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAEM,GAAG,CAAC,MAAsB;QAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAClD,CAAC;IAEM,GAAG,CAAC,MAAsB,EAAE,GAAM;QACvC,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;IACvD,CAAC;IAEM,QAAQ,CAAC,CAAY,EAAE,GAAM;QAClC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,GAAG,CAAC,MAAsB;QAC/B,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAClD,CAAC;IAEM,QAAQ,CAAC,CAAY;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;IAEM,MAAM,CAAC,MAAsB;QAClC,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACrD,CAAC;IAEM,WAAW,CAAC,CAAY;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IAEM,IAAI;QACT,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAEM,OAAO;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEM,CAAC,MAAM,CAAC,QAAQ,CAAC;QACtB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;IACtC,CAAC;IAED,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACxB,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Utils\n */\nimport { EntityReference } from \"@itwin/core-common\";\nimport { ConcreteEntity, EntityReferences } from \"@itwin/core-backend\";\nimport { BigMap } from \"./BigMap\";\n\n/** @internal */\nexport type EntityKey = EntityReference;\n\n/** @internal */\nexport class EntityMap<V> {\n private _map = new BigMap<V>();\n\n public static makeKey(entity: ConcreteEntity): EntityKey {\n return EntityReferences.from(entity);\n }\n\n public clear(): void {\n return this._map.clear();\n }\n\n public has(entity: ConcreteEntity) {\n return this._map.has(EntityMap.makeKey(entity));\n }\n\n public set(entity: ConcreteEntity, val: V): EntityMap<V> {\n return this.setByKey(EntityMap.makeKey(entity), val);\n }\n\n public setByKey(k: EntityKey, val: V): EntityMap<V> {\n this._map.set(k, val);\n return this;\n }\n\n public get(entity: ConcreteEntity): V | undefined {\n return this.getByKey(EntityMap.makeKey(entity));\n }\n\n public getByKey(k: EntityKey): V | undefined {\n return this._map.get(k);\n }\n\n public delete(entity: ConcreteEntity): boolean {\n return this.deleteByKey(EntityMap.makeKey(entity));\n }\n\n public deleteByKey(k: EntityKey): boolean {\n return this._map.delete(k);\n }\n\n public keys() {\n return this._map.keys();\n }\n\n public values() {\n return this._map.values();\n }\n\n public entries() {\n return this._map.entries();\n }\n\n public [Symbol.iterator]() {\n return this._map[Symbol.iterator]();\n }\n\n public get size() {\n return this._map.size;\n }\n}\n"]}