@itwin/core-common 5.13.0-dev.18 → 5.13.0-dev.20
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/CHANGELOG.md +11 -1
- package/lib/cjs/BriefcaseTypes.d.ts +6 -0
- package/lib/cjs/BriefcaseTypes.d.ts.map +1 -1
- package/lib/cjs/BriefcaseTypes.js +6 -0
- package/lib/cjs/BriefcaseTypes.js.map +1 -1
- package/lib/cjs/ChangedEntities.d.ts +14 -1
- package/lib/cjs/ChangedEntities.d.ts.map +1 -1
- package/lib/cjs/ChangedEntities.js.map +1 -1
- package/lib/cjs/Code.js +1 -1
- package/lib/cjs/Code.js.map +1 -1
- package/lib/cjs/ITwinCoreErrors.d.ts +31 -0
- package/lib/cjs/ITwinCoreErrors.d.ts.map +1 -1
- package/lib/cjs/ITwinCoreErrors.js +17 -1
- package/lib/cjs/ITwinCoreErrors.js.map +1 -1
- package/lib/esm/BriefcaseTypes.d.ts +6 -0
- package/lib/esm/BriefcaseTypes.d.ts.map +1 -1
- package/lib/esm/BriefcaseTypes.js +6 -0
- package/lib/esm/BriefcaseTypes.js.map +1 -1
- package/lib/esm/ChangedEntities.d.ts +14 -1
- package/lib/esm/ChangedEntities.d.ts.map +1 -1
- package/lib/esm/ChangedEntities.js.map +1 -1
- package/lib/esm/Code.js +1 -1
- package/lib/esm/Code.js.map +1 -1
- package/lib/esm/ITwinCoreErrors.d.ts +31 -0
- package/lib/esm/ITwinCoreErrors.d.ts.map +1 -1
- package/lib/esm/ITwinCoreErrors.js +16 -0
- package/lib/esm/ITwinCoreErrors.js.map +1 -1
- package/package.json +6 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
# Change Log - @itwin/core-common
|
|
2
2
|
|
|
3
|
-
This log was last generated on Tue,
|
|
3
|
+
This log was last generated on Tue, 25 Aug 2026 21:23:35 GMT and should not be manually modified.
|
|
4
|
+
|
|
5
|
+
## 5.12.5
|
|
6
|
+
Tue, 25 Aug 2026 21:22:08 GMT
|
|
7
|
+
|
|
8
|
+
_Version update only_
|
|
4
9
|
|
|
5
10
|
## 5.12.4
|
|
6
11
|
Tue, 18 Aug 2026 15:45:35 GMT
|
|
@@ -30,6 +35,11 @@ Mon, 03 Aug 2026 12:25:49 GMT
|
|
|
30
35
|
- Added an internal QueryBinder helper to support restoring legacy binding-skip semantics in downstream packages.
|
|
31
36
|
- Added support for backend-to-frontend Ipc invoke calls (IpcHost.invoke/IpcApp.handle).
|
|
32
37
|
|
|
38
|
+
## 5.11.4
|
|
39
|
+
Tue, 25 Aug 2026 19:54:22 GMT
|
|
40
|
+
|
|
41
|
+
_Version update only_
|
|
42
|
+
|
|
33
43
|
## 5.11.3
|
|
34
44
|
Wed, 15 Jul 2026 19:40:44 GMT
|
|
35
45
|
|
|
@@ -23,6 +23,12 @@ export declare enum BriefcaseIdValue {
|
|
|
23
23
|
FirstValid = 2,
|
|
24
24
|
/** All valid iModelHub issued BriefcaseIds will be equal or lower than this */
|
|
25
25
|
LastValid = 16777205,
|
|
26
|
+
/**
|
|
27
|
+
* Briefcase Id reserved for `Element` Ids allocated by SchemaSync reservations.
|
|
28
|
+
* Never assigned to a real briefcase by iModelHub.
|
|
29
|
+
* @internal
|
|
30
|
+
*/
|
|
31
|
+
SchemaSyncElementReserved = 16777206,
|
|
26
32
|
/**
|
|
27
33
|
* The briefcase has not been assigned a unique Id by iModelHub. Only briefcases that have been assigned a unique BriefcaseId may create changesets,
|
|
28
34
|
* because BriefcaseId is used to create unique ElementIds for new elements.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BriefcaseTypes.d.ts","sourceRoot":"","sources":["../../src/BriefcaseTypes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BriefcaseTypes.d.ts","sourceRoot":"","sources":["../../src/BriefcaseTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,6 +22,12 @@ var BriefcaseIdValue;
|
|
|
22
22
|
BriefcaseIdValue[BriefcaseIdValue["FirstValid"] = 2] = "FirstValid";
|
|
23
23
|
/** All valid iModelHub issued BriefcaseIds will be equal or lower than this */
|
|
24
24
|
BriefcaseIdValue[BriefcaseIdValue["LastValid"] = 16777205] = "LastValid";
|
|
25
|
+
/**
|
|
26
|
+
* Briefcase Id reserved for `Element` Ids allocated by SchemaSync reservations.
|
|
27
|
+
* Never assigned to a real briefcase by iModelHub.
|
|
28
|
+
* @internal
|
|
29
|
+
*/
|
|
30
|
+
BriefcaseIdValue[BriefcaseIdValue["SchemaSyncElementReserved"] = 16777206] = "SchemaSyncElementReserved";
|
|
25
31
|
/**
|
|
26
32
|
* The briefcase has not been assigned a unique Id by iModelHub. Only briefcases that have been assigned a unique BriefcaseId may create changesets,
|
|
27
33
|
* because BriefcaseId is used to create unique ElementIds for new elements.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BriefcaseTypes.js","sourceRoot":"","sources":["../../src/BriefcaseTypes.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAaH;;;GAGG;AACH,IAAY,gBAyBX;AAzBD,WAAY,gBAAgB;IAC1B,+CAA+C;IAC/C,sEAAoB,CAAA;IAEpB,gDAAgD;IAChD,4DAAa,CAAA;IAEb,gFAAgF;IAChF,mEAAc,CAAA;IAEd,+EAA+E;IAC/E,wEAAqC,CAAA;IAErC;;;;;;;;;;OAUG;IACH,mEAAc,CAAA;AAChB,CAAC,EAzBW,gBAAgB,gCAAhB,gBAAgB,QAyB3B;AAED;;;GAGG;AACH,IAAY,QAOX;AAPD,WAAY,QAAQ;IAClB,mIAAmI;IACnI,uDAAgB,CAAA;IAChB,0FAA0F;IAC1F,qDAAe,CAAA;IACf,6IAA6I;IAC7I,+CAAY,CAAA;AACd,CAAC,EAPW,QAAQ,wBAAR,QAAQ,QAOnB;AA2ID;;GAEG;AACH,IAAY,aAYX;AAZD,WAAY,aAAa;IACvB,qJAAqJ;IACrJ,mFAAyB,CAAA;IAEzB,iKAAiK;IACjK,yFAA4B,CAAA;IAE5B,sMAAsM;IACtM,uDAAW,CAAA;IAEX,qFAAqF;IACrF,2DAAa,CAAA;AACf,CAAC,EAZW,aAAa,6BAAb,aAAa,QAYxB;AAED;;GAEG;AACH,IAAY,cAMX;AAND,WAAY,cAAc;IACxB,0GAA0G;IAC1G,mDAAQ,CAAA;IAER,qDAAqD;IACrD,yDAAW,CAAA;AACb,CAAC,EANW,cAAc,8BAAd,cAAc,QAMzB;AAgBD;;;;GAIG;AACH,IAAY,WAkBX;AAlBD,WAAY,WAAW;IACrB,sIAAsI;IACtI,qDAAQ,CAAA;IAER;;;OAGG;IACH,mEAAe,CAAA;IAEf,4IAA4I;IAC5I,yEAAkB,CAAA;IAElB,oIAAoI;IACpI,iDAAM,CAAA;IAEN,4FAA4F;IAC5F,iDAAM,CAAA;AACR,CAAC,EAlBW,WAAW,2BAAX,WAAW,QAkBtB","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module iModels\r\n */\r\n\r\nimport { GuidString } from \"@itwin/core-bentley\";\r\nimport { ChangesetIdWithIndex, ChangesetIndexOrId, LocalFileName } from \"./ChangesetProps\";\r\nimport { OpenDbKey } from \"./IModel\";\r\nimport { IModelVersionProps } from \"./IModelVersion\";\r\n\r\n/** The Id assigned to a briefcase by iModelHub, or [[BriefcaseIdValue.Unassigned]] .\r\n * @public\r\n * @extensions\r\n */\r\nexport type BriefcaseId = number;\r\n\r\n/** Values of [[BriefcaseId]] that have special meaning.\r\n * @public\r\n * @extensions\r\n */\r\nexport enum BriefcaseIdValue {\r\n /** Indicates an invalid/illegal BriefcaseId */\r\n Illegal = 0xffffffff,\r\n\r\n /** BriefcaseIds must be less than this value */\r\n Max = 1 << 24,\r\n\r\n /** All valid iModelHub issued BriefcaseIds will be equal or higher than this */\r\n FirstValid = 2,\r\n\r\n /** All valid iModelHub issued BriefcaseIds will be equal or lower than this */\r\n LastValid = BriefcaseIdValue.Max - 11,\r\n\r\n /**\r\n * The briefcase has not been assigned a unique Id by iModelHub. Only briefcases that have been assigned a unique BriefcaseId may create changesets,\r\n * because BriefcaseId is used to create unique ElementIds for new elements.\r\n *\r\n * The `Unassigned` briefcaseId is used for several purposes:\r\n * - **Snapshots**. Snapshot files are immutable copies of an iModel for archival or data exchange purposes. They can neither generate nor accept new changesets.\r\n * - **Checkpoints**. Checkpoints are Snapshots that represent a specific version on an iModel's timeline.\r\n * - **PullOnly**. A local briefcase file that may be used to \"slide\" along a timeline by applying incoming changesets.\r\n * They are always opened readonly except to apply changesets.\r\n * - **Standalone**. Standalone iModels are local files that are not connected to iModelHub, and therefore cannot accept or create changesets.\r\n */\r\n Unassigned = 0,\r\n}\r\n\r\n/** Whether a briefcase is editable or may only accept incoming changesets from iModelHub\r\n * @public\r\n * @extensions\r\n */\r\nexport enum SyncMode {\r\n /** Use a fixed version (i.e. a checkpoint). See [CheckpointManager]($backend) for preferred approach to using checkpoint files. */\r\n FixedVersion = 1,\r\n /** A briefcase that can be edited. A unique briefcaseId must be assigned by iModelHub. */\r\n PullAndPush = 2,\r\n /** use [[BriefcaseIdValue.Unassigned]]. This makes a briefcase that can accept changesets from iModelHub but can never create changesets. */\r\n PullOnly = 3,\r\n}\r\n\r\n/**\r\n * Options to open a previously downloaded briefcase\r\n * @public\r\n */\r\nexport interface OpenBriefcaseOptions {\r\n /** open briefcase Readonly */\r\n readonly openAsReadOnly?: boolean;\r\n}\r\n\r\n/**\r\n * Properties that specify a briefcase within the local briefcase cache.\r\n * @see BriefcaseManager.getFileName\r\n * @public\r\n */\r\nexport interface BriefcaseProps {\r\n /** Id of the iModel */\r\n readonly iModelId: GuidString;\r\n\r\n /** BriefcaseId of the briefcase */\r\n readonly briefcaseId: BriefcaseId;\r\n}\r\n\r\n/** Properties for opening a local briefcase file via [BriefcaseDb.open]($backend)\r\n * @public\r\n */\r\nexport interface OpenBriefcaseProps extends OpenDbKey {\r\n /** the full path to the briefcase file */\r\n readonly fileName: LocalFileName;\r\n /**\r\n * If true, open the briefcase readonly.\r\n * @note Readonly connections always hold a read transaction against the briefcase. That can cause the WAL file size to grow\r\n * unbounded if changes happen while they're open (see [Checkpoint starvation](https://www.sqlite.org/wal.html#avoiding_excessively_large_wal_files))\r\n * It is a good idea to close the readonly connection *before* closing the writeable connection so the WAL file will be deleted.\r\n */\r\n readonly readonly?: boolean;\r\n /** If true, open the briefcase readonly and monitor it for changes originating from another connection.\r\n * When such changes are detected, the default txn will be restarted.\r\n * The restart occurs only after the next iteration of the backend event loop, and will generate events that reflect the changes from the other connection.\r\n * This can be useful in contexts where the read-only connection is displaying a view of the contents of the briefcase while another, non-interactive program\r\n * is adding txns to the briefcase. It may not be reliable if the writable connection is undoing or redoing txns.\r\n * @note This cannot be used with cloud-based briefcases.\r\n */\r\n readonly watchForChanges?: boolean;\r\n}\r\n\r\n/** Properties of a local briefcase file, returned by [BriefcaseManager.getCachedBriefcases]($backend) and [BriefcaseManager.downloadBriefcase]($backend)\r\n * @public\r\n * @extensions\r\n */\r\nexport interface LocalBriefcaseProps {\r\n /** Full path of local file. */\r\n readonly fileName: LocalFileName;\r\n\r\n /** The iTwin containing the iModel. */\r\n readonly iTwinId: GuidString;\r\n\r\n /** The iModelId. */\r\n readonly iModelId: GuidString;\r\n\r\n /** The briefcaseId. */\r\n readonly briefcaseId: BriefcaseId;\r\n\r\n /** The current changesetId.\r\n * @note ChangeSet Ids are string hash values based on the ChangeSet's content and parent.\r\n */\r\n readonly changeset: ChangesetIdWithIndex;\r\n\r\n /** Size of the briefcase file in bytes */\r\n readonly fileSize: number;\r\n}\r\n\r\n/** Properties for downloading a briefcase to a local file, from iModelHub.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface RequestNewBriefcaseProps {\r\n /** iTwin that the iModel belongs to. */\r\n readonly iTwinId: GuidString;\r\n\r\n /** The iModelId for the new briefcase. */\r\n readonly iModelId: GuidString;\r\n\r\n /** Full path of local file to store the briefcase. If undefined, a file will be created in the briefcase cache, and this member will be filled with the full path to the file.\r\n * Callers can use this to open the briefcase after the download completes.\r\n * @note this member is both an input and an output.\r\n */\r\n readonly fileName?: LocalFileName;\r\n\r\n /**\r\n * The BriefcaseId for the new briefcase. If undefined, a new BriefcaseId will be acquired from iModelHub before the download, and is returned in this member.\r\n * @note To download a briefcase that can accept but not create new changesets (sometimes referred to as \"pull only\" briefcases), set this value to [[BriefcaseIdValue.Unassigned]].\r\n * After downloading, you can merely delete unassigned briefcase files when they are no longer needed. Assigned BriefcaseIds should be released (via [BriefcaseManager.releaseBriefcase]($backend) )\r\n * when you are done with them.\r\n * @note this member is both an input and an output.\r\n *\r\n */\r\n briefcaseId?: BriefcaseId;\r\n\r\n /** Id of the change set of the new briefcase. If undefined, use latest. */\r\n asOf?: IModelVersionProps;\r\n\r\n /** A string to represent the device that holds the briefcase. */\r\n deviceName?: string;\r\n}\r\n\r\n/**\r\n * Arguments to open a Checkpoint directly from its cloud container\r\n * @beta\r\n */\r\nexport interface OpenCheckpointArgs {\r\n readonly iTwinId: GuidString;\r\n\r\n /** Id of the iModel */\r\n readonly iModelId: GuidString;\r\n\r\n /** changeset for the checkpoint. If undefined, attempt to open the checkpoint for the latest changeset. */\r\n readonly changeset?: ChangesetIndexOrId;\r\n}\r\n\r\n/**\r\n * Manages the download of a briefcase\r\n * @public\r\n */\r\nexport interface BriefcaseDownloader {\r\n /** Id of the briefcase being downloaded */\r\n readonly briefcaseId: BriefcaseId;\r\n\r\n /** the name of the local file for the briefcase */\r\n readonly fileName: LocalFileName;\r\n\r\n /** Promise that resolves when the download completes. await this to complete the download */\r\n readonly downloadPromise: Promise<void>;\r\n\r\n /** Request cancellation of the download */\r\n readonly requestCancel: () => Promise<boolean>;\r\n}\r\n\r\n/** Option to control the validation and upgrade of domain schemas in the Db\r\n * @beta\r\n */\r\nexport enum DomainOptions {\r\n /** Domain schemas will be validated for any required upgrades. Any errors will be reported back, and cause the application to fail opening the Db */\r\n CheckRequiredUpgrades = 0,\r\n\r\n /** Domain schemas will be validated for any required or optional upgrades. Any errors will be reported back, and cause the application to fail opening the Db */\r\n CheckRecommendedUpgrades = 1,\r\n\r\n /** Domain schemas will be upgraded if necessary. However, only compatible schema upgrades will be allowed - these are typically additions of classes, properties, and changes to custom attributes */\r\n Upgrade = 2,\r\n\r\n /** Domain schemas will neither be validated nor be upgraded. Used only internally */\r\n SkipCheck = 3,\r\n}\r\n\r\n/** Options that control whether a profile upgrade should be performed when opening a Db\r\n * @beta\r\n */\r\nexport enum ProfileOptions {\r\n /** No profile upgrade will be performed. If a profile upgrade was required, opening the file will fail */\r\n None = 0,\r\n\r\n /** Profile upgrade will be performed if necessary */\r\n Upgrade = 1,\r\n}\r\n\r\n/** Arguments to validate and update the profile and domain schemas when opening a Db\r\n * @beta\r\n */\r\nexport interface UpgradeOptions {\r\n /** Option to control the validation and upgrade of domain schemas in the Db */\r\n readonly domain?: DomainOptions;\r\n\r\n /** Options that control whether a profile upgrade should be performed when opening a file */\r\n readonly profile?: ProfileOptions;\r\n\r\n /** Options that will allow data transform during Profile/Domain schema upgrade */\r\n readonly schemaLockHeld?: boolean;\r\n}\r\n\r\n/**\r\n * The state of the schemas in the Db compared with what the current version of the software expects\r\n * Note: The state may vary depending on whether the Db is to be opened ReadOnly or ReadWrite.\r\n * @public\r\n */\r\nexport enum SchemaState {\r\n /** The schemas in the Db are up-to-date, and do not need to be upgraded before opening it with the current version of the software */\r\n UpToDate,\r\n\r\n /** It's required that the schemas in the Db be upgraded before it can be opened with the current version of the software.\r\n * This may happen in read-write scenarios where the application requires a newer version of the schemas to be in place before\r\n * it can write data based on that new schema.\r\n */\r\n UpgradeRequired,\r\n\r\n /** It's recommended, but not necessary that the schemas in the Db be upgraded before opening it with the current version of the software */\r\n UpgradeRecommended,\r\n\r\n /** The schemas in the Db are too old to be opened by the current version of the software. Upgrade using the API is not possible. */\r\n TooOld,\r\n\r\n /** The schemas in the Db are too new to be opened by the current version of the software */\r\n TooNew,\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"BriefcaseTypes.js","sourceRoot":"","sources":["../../src/BriefcaseTypes.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAaH;;;GAGG;AACH,IAAY,gBAgCX;AAhCD,WAAY,gBAAgB;IAC1B,+CAA+C;IAC/C,sEAAoB,CAAA;IAEpB,gDAAgD;IAChD,4DAAa,CAAA;IAEb,gFAAgF;IAChF,mEAAc,CAAA;IAEd,+EAA+E;IAC/E,wEAAqC,CAAA;IAErC;;;;OAIG;IACH,wGAAqD,CAAA;IAErD;;;;;;;;;;OAUG;IACH,mEAAc,CAAA;AAChB,CAAC,EAhCW,gBAAgB,gCAAhB,gBAAgB,QAgC3B;AAED;;;GAGG;AACH,IAAY,QAOX;AAPD,WAAY,QAAQ;IAClB,mIAAmI;IACnI,uDAAgB,CAAA;IAChB,0FAA0F;IAC1F,qDAAe,CAAA;IACf,6IAA6I;IAC7I,+CAAY,CAAA;AACd,CAAC,EAPW,QAAQ,wBAAR,QAAQ,QAOnB;AA2ID;;GAEG;AACH,IAAY,aAYX;AAZD,WAAY,aAAa;IACvB,qJAAqJ;IACrJ,mFAAyB,CAAA;IAEzB,iKAAiK;IACjK,yFAA4B,CAAA;IAE5B,sMAAsM;IACtM,uDAAW,CAAA;IAEX,qFAAqF;IACrF,2DAAa,CAAA;AACf,CAAC,EAZW,aAAa,6BAAb,aAAa,QAYxB;AAED;;GAEG;AACH,IAAY,cAMX;AAND,WAAY,cAAc;IACxB,0GAA0G;IAC1G,mDAAQ,CAAA;IAER,qDAAqD;IACrD,yDAAW,CAAA;AACb,CAAC,EANW,cAAc,8BAAd,cAAc,QAMzB;AAgBD;;;;GAIG;AACH,IAAY,WAkBX;AAlBD,WAAY,WAAW;IACrB,sIAAsI;IACtI,qDAAQ,CAAA;IAER;;;OAGG;IACH,mEAAe,CAAA;IAEf,4IAA4I;IAC5I,yEAAkB,CAAA;IAElB,oIAAoI;IACpI,iDAAM,CAAA;IAEN,4FAA4F;IAC5F,iDAAM,CAAA;AACR,CAAC,EAlBW,WAAW,2BAAX,WAAW,QAkBtB","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module iModels\r\n */\r\n\r\nimport { GuidString } from \"@itwin/core-bentley\";\r\nimport { ChangesetIdWithIndex, ChangesetIndexOrId, LocalFileName } from \"./ChangesetProps\";\r\nimport { OpenDbKey } from \"./IModel\";\r\nimport { IModelVersionProps } from \"./IModelVersion\";\r\n\r\n/** The Id assigned to a briefcase by iModelHub, or [[BriefcaseIdValue.Unassigned]] .\r\n * @public\r\n * @extensions\r\n */\r\nexport type BriefcaseId = number;\r\n\r\n/** Values of [[BriefcaseId]] that have special meaning.\r\n * @public\r\n * @extensions\r\n */\r\nexport enum BriefcaseIdValue {\r\n /** Indicates an invalid/illegal BriefcaseId */\r\n Illegal = 0xffffffff,\r\n\r\n /** BriefcaseIds must be less than this value */\r\n Max = 1 << 24,\r\n\r\n /** All valid iModelHub issued BriefcaseIds will be equal or higher than this */\r\n FirstValid = 2,\r\n\r\n /** All valid iModelHub issued BriefcaseIds will be equal or lower than this */\r\n LastValid = BriefcaseIdValue.Max - 11,\r\n\r\n /**\r\n * Briefcase Id reserved for `Element` Ids allocated by SchemaSync reservations.\r\n * Never assigned to a real briefcase by iModelHub.\r\n * @internal\r\n */\r\n SchemaSyncElementReserved = BriefcaseIdValue.Max - 10,\r\n\r\n /**\r\n * The briefcase has not been assigned a unique Id by iModelHub. Only briefcases that have been assigned a unique BriefcaseId may create changesets,\r\n * because BriefcaseId is used to create unique ElementIds for new elements.\r\n *\r\n * The `Unassigned` briefcaseId is used for several purposes:\r\n * - **Snapshots**. Snapshot files are immutable copies of an iModel for archival or data exchange purposes. They can neither generate nor accept new changesets.\r\n * - **Checkpoints**. Checkpoints are Snapshots that represent a specific version on an iModel's timeline.\r\n * - **PullOnly**. A local briefcase file that may be used to \"slide\" along a timeline by applying incoming changesets.\r\n * They are always opened readonly except to apply changesets.\r\n * - **Standalone**. Standalone iModels are local files that are not connected to iModelHub, and therefore cannot accept or create changesets.\r\n */\r\n Unassigned = 0,\r\n}\r\n\r\n/** Whether a briefcase is editable or may only accept incoming changesets from iModelHub\r\n * @public\r\n * @extensions\r\n */\r\nexport enum SyncMode {\r\n /** Use a fixed version (i.e. a checkpoint). See [CheckpointManager]($backend) for preferred approach to using checkpoint files. */\r\n FixedVersion = 1,\r\n /** A briefcase that can be edited. A unique briefcaseId must be assigned by iModelHub. */\r\n PullAndPush = 2,\r\n /** use [[BriefcaseIdValue.Unassigned]]. This makes a briefcase that can accept changesets from iModelHub but can never create changesets. */\r\n PullOnly = 3,\r\n}\r\n\r\n/**\r\n * Options to open a previously downloaded briefcase\r\n * @public\r\n */\r\nexport interface OpenBriefcaseOptions {\r\n /** open briefcase Readonly */\r\n readonly openAsReadOnly?: boolean;\r\n}\r\n\r\n/**\r\n * Properties that specify a briefcase within the local briefcase cache.\r\n * @see BriefcaseManager.getFileName\r\n * @public\r\n */\r\nexport interface BriefcaseProps {\r\n /** Id of the iModel */\r\n readonly iModelId: GuidString;\r\n\r\n /** BriefcaseId of the briefcase */\r\n readonly briefcaseId: BriefcaseId;\r\n}\r\n\r\n/** Properties for opening a local briefcase file via [BriefcaseDb.open]($backend)\r\n * @public\r\n */\r\nexport interface OpenBriefcaseProps extends OpenDbKey {\r\n /** the full path to the briefcase file */\r\n readonly fileName: LocalFileName;\r\n /**\r\n * If true, open the briefcase readonly.\r\n * @note Readonly connections always hold a read transaction against the briefcase. That can cause the WAL file size to grow\r\n * unbounded if changes happen while they're open (see [Checkpoint starvation](https://www.sqlite.org/wal.html#avoiding_excessively_large_wal_files))\r\n * It is a good idea to close the readonly connection *before* closing the writeable connection so the WAL file will be deleted.\r\n */\r\n readonly readonly?: boolean;\r\n /** If true, open the briefcase readonly and monitor it for changes originating from another connection.\r\n * When such changes are detected, the default txn will be restarted.\r\n * The restart occurs only after the next iteration of the backend event loop, and will generate events that reflect the changes from the other connection.\r\n * This can be useful in contexts where the read-only connection is displaying a view of the contents of the briefcase while another, non-interactive program\r\n * is adding txns to the briefcase. It may not be reliable if the writable connection is undoing or redoing txns.\r\n * @note This cannot be used with cloud-based briefcases.\r\n */\r\n readonly watchForChanges?: boolean;\r\n}\r\n\r\n/** Properties of a local briefcase file, returned by [BriefcaseManager.getCachedBriefcases]($backend) and [BriefcaseManager.downloadBriefcase]($backend)\r\n * @public\r\n * @extensions\r\n */\r\nexport interface LocalBriefcaseProps {\r\n /** Full path of local file. */\r\n readonly fileName: LocalFileName;\r\n\r\n /** The iTwin containing the iModel. */\r\n readonly iTwinId: GuidString;\r\n\r\n /** The iModelId. */\r\n readonly iModelId: GuidString;\r\n\r\n /** The briefcaseId. */\r\n readonly briefcaseId: BriefcaseId;\r\n\r\n /** The current changesetId.\r\n * @note ChangeSet Ids are string hash values based on the ChangeSet's content and parent.\r\n */\r\n readonly changeset: ChangesetIdWithIndex;\r\n\r\n /** Size of the briefcase file in bytes */\r\n readonly fileSize: number;\r\n}\r\n\r\n/** Properties for downloading a briefcase to a local file, from iModelHub.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface RequestNewBriefcaseProps {\r\n /** iTwin that the iModel belongs to. */\r\n readonly iTwinId: GuidString;\r\n\r\n /** The iModelId for the new briefcase. */\r\n readonly iModelId: GuidString;\r\n\r\n /** Full path of local file to store the briefcase. If undefined, a file will be created in the briefcase cache, and this member will be filled with the full path to the file.\r\n * Callers can use this to open the briefcase after the download completes.\r\n * @note this member is both an input and an output.\r\n */\r\n readonly fileName?: LocalFileName;\r\n\r\n /**\r\n * The BriefcaseId for the new briefcase. If undefined, a new BriefcaseId will be acquired from iModelHub before the download, and is returned in this member.\r\n * @note To download a briefcase that can accept but not create new changesets (sometimes referred to as \"pull only\" briefcases), set this value to [[BriefcaseIdValue.Unassigned]].\r\n * After downloading, you can merely delete unassigned briefcase files when they are no longer needed. Assigned BriefcaseIds should be released (via [BriefcaseManager.releaseBriefcase]($backend) )\r\n * when you are done with them.\r\n * @note this member is both an input and an output.\r\n *\r\n */\r\n briefcaseId?: BriefcaseId;\r\n\r\n /** Id of the change set of the new briefcase. If undefined, use latest. */\r\n asOf?: IModelVersionProps;\r\n\r\n /** A string to represent the device that holds the briefcase. */\r\n deviceName?: string;\r\n}\r\n\r\n/**\r\n * Arguments to open a Checkpoint directly from its cloud container\r\n * @beta\r\n */\r\nexport interface OpenCheckpointArgs {\r\n readonly iTwinId: GuidString;\r\n\r\n /** Id of the iModel */\r\n readonly iModelId: GuidString;\r\n\r\n /** changeset for the checkpoint. If undefined, attempt to open the checkpoint for the latest changeset. */\r\n readonly changeset?: ChangesetIndexOrId;\r\n}\r\n\r\n/**\r\n * Manages the download of a briefcase\r\n * @public\r\n */\r\nexport interface BriefcaseDownloader {\r\n /** Id of the briefcase being downloaded */\r\n readonly briefcaseId: BriefcaseId;\r\n\r\n /** the name of the local file for the briefcase */\r\n readonly fileName: LocalFileName;\r\n\r\n /** Promise that resolves when the download completes. await this to complete the download */\r\n readonly downloadPromise: Promise<void>;\r\n\r\n /** Request cancellation of the download */\r\n readonly requestCancel: () => Promise<boolean>;\r\n}\r\n\r\n/** Option to control the validation and upgrade of domain schemas in the Db\r\n * @beta\r\n */\r\nexport enum DomainOptions {\r\n /** Domain schemas will be validated for any required upgrades. Any errors will be reported back, and cause the application to fail opening the Db */\r\n CheckRequiredUpgrades = 0,\r\n\r\n /** Domain schemas will be validated for any required or optional upgrades. Any errors will be reported back, and cause the application to fail opening the Db */\r\n CheckRecommendedUpgrades = 1,\r\n\r\n /** Domain schemas will be upgraded if necessary. However, only compatible schema upgrades will be allowed - these are typically additions of classes, properties, and changes to custom attributes */\r\n Upgrade = 2,\r\n\r\n /** Domain schemas will neither be validated nor be upgraded. Used only internally */\r\n SkipCheck = 3,\r\n}\r\n\r\n/** Options that control whether a profile upgrade should be performed when opening a Db\r\n * @beta\r\n */\r\nexport enum ProfileOptions {\r\n /** No profile upgrade will be performed. If a profile upgrade was required, opening the file will fail */\r\n None = 0,\r\n\r\n /** Profile upgrade will be performed if necessary */\r\n Upgrade = 1,\r\n}\r\n\r\n/** Arguments to validate and update the profile and domain schemas when opening a Db\r\n * @beta\r\n */\r\nexport interface UpgradeOptions {\r\n /** Option to control the validation and upgrade of domain schemas in the Db */\r\n readonly domain?: DomainOptions;\r\n\r\n /** Options that control whether a profile upgrade should be performed when opening a file */\r\n readonly profile?: ProfileOptions;\r\n\r\n /** Options that will allow data transform during Profile/Domain schema upgrade */\r\n readonly schemaLockHeld?: boolean;\r\n}\r\n\r\n/**\r\n * The state of the schemas in the Db compared with what the current version of the software expects\r\n * Note: The state may vary depending on whether the Db is to be opened ReadOnly or ReadWrite.\r\n * @public\r\n */\r\nexport enum SchemaState {\r\n /** The schemas in the Db are up-to-date, and do not need to be upgraded before opening it with the current version of the software */\r\n UpToDate,\r\n\r\n /** It's required that the schemas in the Db be upgraded before it can be opened with the current version of the software.\r\n * This may happen in read-write scenarios where the application requires a newer version of the schemas to be in place before\r\n * it can write data based on that new schema.\r\n */\r\n UpgradeRequired,\r\n\r\n /** It's recommended, but not necessary that the schemas in the Db be upgraded before opening it with the current version of the software */\r\n UpgradeRecommended,\r\n\r\n /** The schemas in the Db are too old to be opened by the current version of the software. Upgrade using the API is not possible. */\r\n TooOld,\r\n\r\n /** The schemas in the Db are too new to be opened by the current version of the software */\r\n TooNew,\r\n}\r\n"]}
|
|
@@ -12,6 +12,18 @@ export interface EntityIdAndClassId {
|
|
|
12
12
|
/** The Id of the entity's ECClass. */
|
|
13
13
|
classId: Id64String;
|
|
14
14
|
}
|
|
15
|
+
/** Metadata describing the ECClass of an entity changed by a transaction.
|
|
16
|
+
* @public
|
|
17
|
+
* @extensions
|
|
18
|
+
*/
|
|
19
|
+
export interface TxnEntityMetadata {
|
|
20
|
+
/** The class's name in "Schema:Class" format. */
|
|
21
|
+
readonly classFullName: string;
|
|
22
|
+
/** Returns `true` if this class is or is derived from the specified class.
|
|
23
|
+
* @note Class names are compared case-sensitively.
|
|
24
|
+
*/
|
|
25
|
+
is(baseClassFullName: string): boolean;
|
|
26
|
+
}
|
|
15
27
|
/** JSON representation of the set of [Element]($backend)s or [Model]($backend)s that were changed by a [Txn]($docs/learning/InteractiveEditing.md).
|
|
16
28
|
* @see [TxnManager.onElementsChanged]($backend) and [TxnManager.onModelsChanged]($backend).
|
|
17
29
|
* @see [BriefcaseTxns.onElementsChanged]($frontend) and [BriefcaseTxns.onModelsChanged]($frontend).
|
|
@@ -26,7 +38,8 @@ export interface ChangedEntities {
|
|
|
26
38
|
/** The ids of entities that were modified during the Txn, including any [Element]($backend)s for which one of their [ElementAspect]($backend)s was changed. */
|
|
27
39
|
updated?: CompressedId64Set;
|
|
28
40
|
}
|
|
29
|
-
/** A collection of [[EntityIdAndClassId]]s
|
|
41
|
+
/** A collection of [[EntityIdAndClassId]]s containing only entity and ECClass Ids.
|
|
42
|
+
* Backend transaction change events use a richer iterable that also exposes ECClass metadata.
|
|
30
43
|
* For efficiency, the iterator supplied by this iterable returns **the same `EntityIdAndClassId` object** on each iteration. Therefore the objects must be copied if you
|
|
31
44
|
* intend to store references to them. For example, to populate an array from the iterable:
|
|
32
45
|
* ```ts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChangedEntities.d.ts","sourceRoot":"","sources":["../../src/ChangedEntities.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEpE;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,uBAAuB;IACvB,EAAE,EAAE,UAAU,CAAC;IACf,sCAAsC;IACtC,OAAO,EAAE,UAAU,CAAC;CACrB;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,4DAA4D;IAC5D,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,+JAA+J;IAC/J,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B;AAED
|
|
1
|
+
{"version":3,"file":"ChangedEntities.d.ts","sourceRoot":"","sources":["../../src/ChangedEntities.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEpE;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,uBAAuB;IACvB,EAAE,EAAE,UAAU,CAAC;IACf,sCAAsC;IACtC,OAAO,EAAE,UAAU,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,iDAAiD;IACjD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,EAAE,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC;CACxC;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,4DAA4D;IAC5D,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,+JAA+J;IAC/J,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,0BAA0B,GAAG,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChangedEntities.js","sourceRoot":"","sources":["../../src/ChangedEntities.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module NativeApp\r\n */\r\n\r\nimport { CompressedId64Set, Id64String } from \"@itwin/core-bentley\";\r\n\r\n/** Describes an [Entity]($backend) and its [ECClass]($docs/bis/guide/references/glossary/#ecclass) by Id.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface EntityIdAndClassId {\r\n /** The entity's Id. */\r\n id: Id64String;\r\n /** The Id of the entity's ECClass. */\r\n classId: Id64String;\r\n}\r\n\r\n/** JSON representation of the set of [Element]($backend)s or [Model]($backend)s that were changed by a [Txn]($docs/learning/InteractiveEditing.md).\r\n * @see [TxnManager.onElementsChanged]($backend) and [TxnManager.onModelsChanged]($backend).\r\n * @see [BriefcaseTxns.onElementsChanged]($frontend) and [BriefcaseTxns.onModelsChanged]($frontend).\r\n * @public\r\n * @extensions\r\n */\r\nexport interface ChangedEntities {\r\n /** The ids of entities that were inserted during the Txn. */\r\n inserted?: CompressedId64Set;\r\n /** The ids of entities that were deleted during the Txn. */\r\n deleted?: CompressedId64Set;\r\n /** The ids of entities that were modified during the Txn, including any [Element]($backend)s for which one of their [ElementAspect]($backend)s was changed. */\r\n updated?: CompressedId64Set;\r\n}\r\n\r\n/** A collection of [[EntityIdAndClassId]]s
|
|
1
|
+
{"version":3,"file":"ChangedEntities.js","sourceRoot":"","sources":["../../src/ChangedEntities.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module NativeApp\r\n */\r\n\r\nimport { CompressedId64Set, Id64String } from \"@itwin/core-bentley\";\r\n\r\n/** Describes an [Entity]($backend) and its [ECClass]($docs/bis/guide/references/glossary/#ecclass) by Id.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface EntityIdAndClassId {\r\n /** The entity's Id. */\r\n id: Id64String;\r\n /** The Id of the entity's ECClass. */\r\n classId: Id64String;\r\n}\r\n\r\n/** Metadata describing the ECClass of an entity changed by a transaction.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface TxnEntityMetadata {\r\n /** The class's name in \"Schema:Class\" format. */\r\n readonly classFullName: string;\r\n\r\n /** Returns `true` if this class is or is derived from the specified class.\r\n * @note Class names are compared case-sensitively.\r\n */\r\n is(baseClassFullName: string): boolean;\r\n}\r\n\r\n/** JSON representation of the set of [Element]($backend)s or [Model]($backend)s that were changed by a [Txn]($docs/learning/InteractiveEditing.md).\r\n * @see [TxnManager.onElementsChanged]($backend) and [TxnManager.onModelsChanged]($backend).\r\n * @see [BriefcaseTxns.onElementsChanged]($frontend) and [BriefcaseTxns.onModelsChanged]($frontend).\r\n * @public\r\n * @extensions\r\n */\r\nexport interface ChangedEntities {\r\n /** The ids of entities that were inserted during the Txn. */\r\n inserted?: CompressedId64Set;\r\n /** The ids of entities that were deleted during the Txn. */\r\n deleted?: CompressedId64Set;\r\n /** The ids of entities that were modified during the Txn, including any [Element]($backend)s for which one of their [ElementAspect]($backend)s was changed. */\r\n updated?: CompressedId64Set;\r\n}\r\n\r\n/** A collection of [[EntityIdAndClassId]]s containing only entity and ECClass Ids.\r\n * Backend transaction change events use a richer iterable that also exposes ECClass metadata.\r\n * For efficiency, the iterator supplied by this iterable returns **the same `EntityIdAndClassId` object** on each iteration. Therefore the objects must be copied if you\r\n * intend to store references to them. For example, to populate an array from the iterable:\r\n * ```ts\r\n * function arrayFromIterable(entities: EntityIdAndClassIdIterable): EntityIdAndClassId[] {\r\n * // NO! return Array.from(entities);\r\n * const array = [];\r\n * for (const entity of entities)\r\n * array.push({...entity});\r\n *\r\n * return array;\r\n * }\r\n * ```\r\n * @public\r\n * @extensions\r\n */\r\nexport type EntityIdAndClassIdIterable = Iterable<Readonly<EntityIdAndClassId>>;\r\n"]}
|
package/lib/cjs/Code.js
CHANGED
|
@@ -39,7 +39,7 @@ class Code {
|
|
|
39
39
|
equals(other) { return Code.equalCodes(this, other); }
|
|
40
40
|
/** @internal */
|
|
41
41
|
static equalCodes(c1, c2) {
|
|
42
|
-
return c1.spec === c2.spec && c1.scope === c2.scope && c1.value === c2.value;
|
|
42
|
+
return c1.spec === c2.spec && c1.scope === c2.scope && (c1.value ?? "").toLowerCase() === (c2.value ?? "").toLowerCase();
|
|
43
43
|
}
|
|
44
44
|
/** Determine whether this Code is valid. */
|
|
45
45
|
static isValid(c) { return core_bentley_1.Id64.isValidId64(c.spec); }
|
package/lib/cjs/Code.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Code.js","sourceRoot":"","sources":["../../src/Code.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,sDAA8E;AAwB9E;;;GAGG;AACH,MAAa,IAAI;IACf,8FAA8F;IACvF,IAAI,CAAa;IACxB,+FAA+F;IACxF,KAAK,CAAa;IACzB;;OAEG;IACH,IAAW,KAAK,KAAK,OAAO,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;IAChD,IAAW,KAAK,CAAC,GAAW,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACpD,MAAM,CAAU;IAExB,YAAY,SAAoB;QAC9B,IAAI,CAAC,IAAI,GAAG,mBAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK,GAAG,wBAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK,GAAG,wBAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;IAED,gEAAgE;IACzD,MAAM,CAAC,WAAW;QACvB,MAAM,EAAE,GAAG,mBAAI,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/C,OAAO,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3C,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAC,IAAU,IAAU,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACxF,MAAM,KAAgB,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACzF,MAAM,CAAC,KAAW,IAAa,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5E,gBAAgB;IACT,MAAM,CAAC,UAAU,CAAC,EAAa,EAAE,EAAa;QACnD,OAAO,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,KAAK,CAAC;IAC/E,CAAC;IACD,4CAA4C;IACrC,MAAM,CAAC,OAAO,CAAC,CAAY,IAAa,OAAO,mBAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjF,0GAA0G;IACnG,MAAM,CAAC,OAAO,CAAC,CAAY,IAAa,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAE9G,QAAQ,KAAa,OAAO,UAAU,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;CAC3F;AArCD,oBAqCC;AAED;;;;;GAKG;AACH,IAAY,WAqIX;AArID,WAAY,WAAW;IACrB;;OAEG;IACH,gDAAiC,CAAA;IACjC,gBAAgB;IAChB,gEAAiD,CAAA;IACjD,gBAAgB;IAChB,kEAAmD,CAAA;IACnD,gBAAgB;IAChB,8DAA+C,CAAA;IAC/C;;OAEG;IACH,wDAAyC,CAAA;IACzC;;OAEG;IACH,wDAAyC,CAAA;IACzC;;OAEG;IACH,kEAAmD,CAAA;IACnD;;OAEG;IACH,wDAAyC,CAAA;IACzC,gBAAgB;IAChB,0CAA2B,CAAA;IAC3B;;OAEG;IACH,gDAAiC,CAAA;IACjC;;OAEG;IACH,sCAAuB,CAAA;IACvB;;OAEG;IACH,sDAAuC,CAAA;IACvC;;;OAGG;IACH,oDAAqC,CAAA;IACrC;;;OAGG;IACH,wEAAyD,CAAA;IACzD;;OAEG;IACH,gDAAiC,CAAA;IACjC;;OAEG;IACH,sDAAuC,CAAA;IACvC;;OAEG;IACH,0CAA2B,CAAA;IAC3B;;OAEG;IACH,8CAA+B,CAAA;IAC/B;;OAEG;IACH,kDAAmC,CAAA;IACnC;;OAEG;IACH,wDAAyC,CAAA;IACzC;;OAEG;IACH,gDAAiC,CAAA;IACjC;;OAEG;IACH,8EAA+D,CAAA;IAC/D;;OAEG;IACH,oDAAqC,CAAA;IACrC;;OAEG;IACH,kCAAmB,CAAA;IACnB;;OAEG;IACH,4CAA6B,CAAA;IAC7B;;OAEG;IACH,sDAAuC,CAAA;IACvC;;OAEG;IACH,sDAAuC,CAAA;IACvC;;OAEG;IACH,8DAA+C,CAAA;IAC/C;;OAEG;IACH,8CAA+B,CAAA;IAC/B;;OAEG;IACH,sCAAuB,CAAA;IACvB;;OAEG;IACH,wDAAyC,CAAA;IACzC;;OAEG;IACH,wDAAyC,CAAA;IACzC,gBAAgB;IAChB,4DAA6C,CAAA;IAC7C;;OAEG;IACH,sCAAuB,CAAA;IACvB;;OAEG;IACH,oDAAqC,CAAA;AACvC,CAAC,EArIW,WAAW,2BAAX,WAAW,QAqItB;AAED;;GAEG;AACH,IAAiB,aAAa,CAyB7B;AAzBD,WAAiB,aAAa;IAC5B;;OAEG;IACH,IAAY,IASX;IATD,WAAY,IAAI;QACd,4EAA4E;QAC5E,2CAAc,CAAA;QACd,kEAAkE;QAClE,iCAAS,CAAA;QACT,oFAAoF;QACpF,iDAAiB,CAAA;QACjB,yFAAyF;QACzF,mDAAkB,CAAA;IACpB,CAAC,EATW,IAAI,GAAJ,kBAAI,KAAJ,kBAAI,QASf;IAED;;;OAGG;IACH,IAAY,gBAKX;IALD,WAAY,gBAAgB;QAC1B,2HAA2H;QAC3H,iEAAa,CAAA;QACb,iHAAiH;QACjH,2EAAkB,CAAA;IACpB,CAAC,EALW,gBAAgB,GAAhB,8BAAgB,KAAhB,8BAAgB,QAK3B;AACH,CAAC,EAzBgB,aAAa,6BAAb,aAAa,QAyB7B;AAuBD;;;;;;GAMG;AACH,MAAa,QAAQ;IACnB,wCAAwC;IACjC,MAAM,CAAS;IACtB,+BAA+B;IACxB,EAAE,CAAa;IACtB,iCAAiC;IAC1B,IAAI,CAAS;IACpB;;;OAGG;IACI,UAAU,CAAqB;IAEtC,YAAoB,MAAc,EAAE,EAAc,EAAE,IAAY,EAAE,UAA+B;QAC/F,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,UAAU,IAAI,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;IACzF,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,MAAM,CAAC,MAAc,EAAE,IAAY,EAAE,SAA6B,EAAE,QAAyC;QACzH,MAAM,KAAK,GAAuB,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC;QACrE,IAAI,QAAQ;YACV,KAAK,CAAC,SAAS,CAAC,aAAa,GAAG,QAAQ,KAAK,aAAa,CAAC,gBAAgB,CAAC,cAAc,CAAC;QAE7F,OAAO,IAAI,QAAQ,CAAC,MAAM,EAAE,mBAAI,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,cAAc,CAAC,MAAc,EAAE,EAAc,EAAE,IAAY,EAAE,UAA+B;QACxG,OAAO,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;IACpD,CAAC;IAED,wDAAwD;IACxD,IAAW,OAAO,KAAc,OAAO,mBAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/D,IAAW,UAAU;QACnB,OAAO,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,aAAa,CAAC;IAC1D,CAAC;IAED,uCAAuC;IACvC,IAAW,SAAS,KAAyB,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACrF,IAAW,SAAS,CAAC,SAA6B,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC;IAEnG;;OAEG;IACH,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC,gBAAgB,CAAC,SAAS,CAAC;IAC5I,CAAC;IACD,IAAW,QAAQ,CAAC,GAAmC;QACrD,IAAI,aAAa,CAAC,gBAAgB,CAAC,cAAc,KAAK,GAAG;YACvD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC;;YAE/C,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,aAAa,GAAG,SAAS,CAAC;IACxD,CAAC;CACF;AA7DD,4BA6DC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Codes\r\n */\r\n\r\nimport { GuidString, Id64, Id64String, JsonUtils } from \"@itwin/core-bentley\";\r\nimport { IModel } from \"./IModel\";\r\n\r\n/**\r\n * The ElementId of the element that defines the scope for a Code value.\r\n * @note For insert or update, you may supply the FederationGuid of the scope element and it will be converted to the ElementId of that element.\r\n * @public\r\n * @extensions\r\n */\r\nexport type CodeScopeProps = Id64String | GuidString;\r\n\r\n/** The parameters that define a Code\r\n * @public\r\n * @extensions\r\n */\r\nexport interface CodeProps {\r\n /** Either the stringified 64-bit Id of the CodeSpec for this code, or the name of the CodeSpec. */\r\n spec: Id64String | string;\r\n /** Either the ElementId or the FederationGuid of the element that provides the scope for this code. */\r\n scope: CodeScopeProps;\r\n /** the value of this code. May be undefined. */\r\n value?: string;\r\n}\r\n\r\n/**\r\n * A three-part structure containing information about the [Code]($docs/bis/guide/fundamentals/codes) of an Element\r\n * @public\r\n */\r\nexport class Code implements CodeProps {\r\n /** The id of the [CodeSpec]($docs/bis/guide/fundamentals/codes.md#codespec) of the Element */\r\n public spec: Id64String;\r\n /** The [CodeScope]($docs/bis/guide/fundamentals/codes.md#codescope-property) of the Element */\r\n public scope: Id64String;\r\n /** The [CodeValue]($docs/bis/guide/fundamentals/codes.md#codevalue-property) of the Element\r\n * @note Leading and trailing whitespace is invalid so is automatically trimmed.\r\n */\r\n public get value() { return this._value ?? \"\"; }\r\n public set value(val: string) { this._value = val?.trim(); }\r\n private _value?: string;\r\n\r\n constructor(codeProps: CodeProps) {\r\n this.spec = Id64.fromJSON(codeProps.spec);\r\n this.scope = JsonUtils.asString(codeProps.scope);\r\n this.value = JsonUtils.asString(codeProps.value);\r\n }\r\n\r\n /** Create an empty, non-unique code with no special meaning. */\r\n public static createEmpty(): Code {\r\n const id = Id64.fromLocalAndBriefcaseIds(1, 0);\r\n return new Code({ spec: id, scope: id });\r\n }\r\n\r\n public static fromJSON(json?: any): Code { return json ? new Code(json) : Code.createEmpty(); }\r\n public toJSON(): CodeProps { return { spec: this.spec, scope: this.scope, value: this.value }; }\r\n public equals(other: Code): boolean { return Code.equalCodes(this, other); }\r\n /** @internal */\r\n public static equalCodes(c1: CodeProps, c2: CodeProps): boolean {\r\n return c1.spec === c2.spec && c1.scope === c2.scope && c1.value === c2.value;\r\n }\r\n /** Determine whether this Code is valid. */\r\n public static isValid(c: CodeProps): boolean { return Id64.isValidId64(c.spec); }\r\n /** Determine if this code is valid but not otherwise meaningful (and therefore not necessarily unique) */\r\n public static isEmpty(c: CodeProps): boolean { return this.isValid(c) && (c.value === undefined || c.value === \"\"); }\r\n\r\n public toString(): string { return `[Code: ${this.spec}, ${this.scope}, ${this.value}]`; }\r\n}\r\n\r\n/** Names of the internal BIS CodeSpecs. These names match those specified by the native library.\r\n * For other domains, the best practice is to include the domain name or alias as part of the CodeSpec name to ensure global uniqueness.\r\n * @public\r\n* @extensions\r\n* @see [CodeSpec]($docs/bis/guide/fundamentals/codes.md#codespec)\r\n */\r\nexport enum BisCodeSpec {\r\n /** The name of the standard [[CodeSpec]] used when creating *empty* codes.\r\n * @see [[Code.createEmpty]]\r\n */\r\n nullCodeSpec = \"bis:NullCodeSpec\",\r\n /** @internal */\r\n annotationFrameStyle = \"bis:AnnotationFrameStyle\",\r\n /** @internal */\r\n annotationLeaderStyle = \"bis:AnnotationLeaderStyle\",\r\n /** @internal */\r\n annotationTextStyle = \"bis:AnnotationTextStyle\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [AuxCoordSystem2d]($backend) elements.\r\n * @see [AuxCoordSystem2d.createCode]($backend)\r\n */\r\n auxCoordSystem2d = \"bis:AuxCoordSystem2d\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [AuxCoordSystem3d]($backend) elements.\r\n * @see [AuxCoordSystem3d.createCode]($backend)\r\n */\r\n auxCoordSystem3d = \"bis:AuxCoordSystem3d\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [AuxCoordSystemSpatial]($backend) elements.\r\n * @see [AuxCoordSystemSpatial.createCode]($backend)\r\n */\r\n auxCoordSystemSpatial = \"bis:AuxCoordSystemSpatial\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [CategorySelector]($backend) elements.\r\n * @see [CategorySelector.createCode]($backend)\r\n */\r\n categorySelector = \"bis:CategorySelector\",\r\n /** @internal */\r\n colorBook = \"bis:ColorBook\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [DisplayStyle]($backend) elements.\r\n * @see [DisplayStyle.createCode]($backend)\r\n */\r\n displayStyle = \"bis:DisplayStyle\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [Drawing]($backend) elements.\r\n * @see [Drawing.createCode]($backend)\r\n */\r\n drawing = \"bis:Drawing\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [DrawingCategory]($backend) elements.\r\n * @see [DrawingCategory.createCode]($backend)\r\n */\r\n drawingCategory = \"bis:DrawingCategory\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [ExternalSource]($backend) elements.\r\n * @note This CodeSpec is not automatically created, so use [ExternalSource.ensureCodeSpec]($backend) to make sure that it exists.\r\n * @see [ExternalSource.createCode]($backend)\r\n */\r\n externalSource = \"bis:ExternalSource\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [ExternalSourceAttachment]($backend) elements.\r\n * @note This CodeSpec is not automatically created, so use [ExternalSourceAttachment.ensureCodeSpec]($backend) to make sure that it exists.\r\n * @see [ExternalSource.createCode]($backend)\r\n */\r\n externalSourceAttachment = \"bis:ExternalSourceAttachment\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [GeometryPart]($backend) elements.\r\n * @see [GeometryPart.createCode]($backend)\r\n */\r\n geometryPart = \"bis:GeometryPart\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [GraphicalType2d]($backend) elements.\r\n * @see [GraphicalType2d.createCode]($backend)\r\n */\r\n graphicalType2d = \"bis:GraphicalType2d\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [LineStyle]($backend) elements.\r\n * @see [LineStyle.createCode]($backend)\r\n */\r\n lineStyle = \"bis:LineStyle\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [LinkElement]($backend) elements.\r\n * @see [LinkElement.createCode]($backend)\r\n */\r\n linkElement = \"bis:LinkElement\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [ModelSelector]($backend) elements.\r\n * @see [ModelSelector.createCode]($backend)\r\n */\r\n modelSelector = \"bis:ModelSelector\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [PhysicalMaterial]($backend) elements.\r\n * @see [PhysicalMaterial.createCode]($backend)\r\n */\r\n physicalMaterial = \"bis:PhysicalMaterial\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [PhysicalType]($backend) elements.\r\n * @see [PhysicalType.createCode]($backend)\r\n */\r\n physicalType = \"bis:PhysicalType\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [InformationPartitionElement]($backend) elements.\r\n * @see [InformationPartitionElement.createCode]($backend)\r\n */\r\n informationPartitionElement = \"bis:InformationPartitionElement\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [RenderMaterialElement]($backend) elements.\r\n * @see [RenderMaterialElement.createCode]($backend)\r\n */\r\n renderMaterial = \"bis:RenderMaterial\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [Sheet]($backend) elements.\r\n * @see [Sheet.createCode]($backend)\r\n */\r\n sheet = \"bis:Sheet\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [SheetIndex]($backend) elements.\r\n * @see [SheetIndex.createCode]($backend)\r\n */\r\n sheetIndex = \"bis:SheetIndex\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [SheetIndexEntry]($backend) elements.\r\n * @see [SheetIndexEntry.createCode]($backend)\r\n */\r\n sheetIndexEntry = \"bis:SheetIndexEntry\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [SpatialCategory]($backend) elements.\r\n * @see [SpatialCategory.createCode]($backend)\r\n */\r\n spatialCategory = \"bis:SpatialCategory\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [SpatialLocationType]($backend) elements.\r\n * @see [SpatialLocationType.createCode]($backend)\r\n */\r\n spatialLocationType = \"bis:SpatialLocationType\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [SubCategory]($backend) elements.\r\n * @see [SubCategory.createCode]($backend)\r\n */\r\n subCategory = \"bis:SubCategory\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [Subject]($backend) elements.\r\n * @see [Subject.createCode]($backend)\r\n */\r\n subject = \"bis:Subject\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [TemplateRecipe2d]($backend) elements.\r\n * @see [TemplateRecipe2d.createCode]($backend)\r\n */\r\n templateRecipe2d = \"bis:TemplateRecipe2d\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [TemplateRecipe3d]($backend) elements.\r\n * @see [TemplateRecipe3d.createCode]($backend)\r\n */\r\n templateRecipe3d = \"bis:TemplateRecipe3d\",\r\n /** @internal */\r\n textAnnotationSeed = \"bis:TextAnnotationSeed\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [Texture]($backend) elements.\r\n * @see [Texture.createCode]($backend)\r\n */\r\n texture = \"bis:Texture\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [ViewDefinition]($backend) elements.\r\n * @see [ViewDefinition.createCode]($backend)\r\n */\r\n viewDefinition = \"bis:ViewDefinition\",\r\n}\r\n\r\n/** The scope of the Code.\r\n * @public\r\n */\r\nexport namespace CodeScopeSpec {\r\n /** The standard ways the CodeScope can be specified.\r\n * @public\r\n */\r\n export enum Type {\r\n /** The Code value must be unique within (at least) the iModel repository */\r\n Repository = 1,\r\n /** The Code value must be unique within the scope of the Model */\r\n Model = 2,\r\n /** The Code value must be unique among other children of the same parent element */\r\n ParentElement = 3,\r\n /** The Code value must be unique among other elements also scoped by the same element */\r\n RelatedElement = 4,\r\n }\r\n\r\n /**\r\n * Requirements for how the CodeScope Element is identified.\r\n * @public\r\n */\r\n export enum ScopeRequirement {\r\n /** The ElementId of CodeScope element identifies its scope. Used for Codes that are unique only within a single iModel. */\r\n ElementId = 1,\r\n /** The FederationGuid of the CodeScope element identifies its scope. Used for Codes that are globally unique. */\r\n FederationGuid = 2,\r\n }\r\n}\r\n\r\n/**\r\n * The JSON properties of a CodeSpec\r\n * @public\r\n */\r\nexport interface CodeSpecProperties {\r\n scopeSpec: {\r\n /** the type of CodeSpec */\r\n type: CodeScopeSpec.Type;\r\n /** If true, the federationGuid of the scope element identifies the scope, for Codes that are globally unique.\r\n * Otherwise, the ElementId of the scopeElement is used, for Codes that are scoped only within a single iModel.\r\n */\r\n fGuidRequired?: boolean;\r\n /** The relationship className (in the form \"schema:class\"), when `type` is `CodeScopeSpec.Type.RelatedElement` */\r\n relationship?: string;\r\n };\r\n spec?: {\r\n isManagedWithDgnDb?: boolean;\r\n };\r\n version?: string;\r\n}\r\n\r\n/** A [Code Specification]($docs/bis/guide/references/glossary#codespec) captures the rules for encoding and decoding significant business information into\r\n * and from a Code (string). This specification is used to generate and validate Codes.\r\n *\r\n * A CodeSpec defines the format of a Code for a certain type of Element in an IModel.\r\n * A CodeSpec can identify an external system that maintains and/or assigns Codes.\r\n * @public\r\n */\r\nexport class CodeSpec {\r\n /** The iModel holding this CodeSpec. */\r\n public iModel: IModel;\r\n /** The id of this CodeSpec. */\r\n public id: Id64String;\r\n /** The name of this CodeSpec. */\r\n public name: string;\r\n /** The JSON properties for this CodeSpec.\r\n * @note Use the getters and setters instead of accessing this directly.\r\n * @internal\r\n */\r\n public properties: CodeSpecProperties;\r\n\r\n private constructor(iModel: IModel, id: Id64String, name: string, properties?: CodeSpecProperties) {\r\n this.iModel = iModel;\r\n this.id = id;\r\n this.name = name;\r\n this.properties = properties ?? { scopeSpec: { type: CodeScopeSpec.Type.Repository } };\r\n }\r\n\r\n /** Create a new CodeSpec from the specified parameters\r\n * > Note: CodeSpec.id will not be valid until inserted\r\n * @see [CodeSpecs.insert]($backend)\r\n */\r\n public static create(iModel: IModel, name: string, scopeType: CodeScopeSpec.Type, scopeReq?: CodeScopeSpec.ScopeRequirement): CodeSpec {\r\n const props: CodeSpecProperties = { scopeSpec: { type: scopeType } };\r\n if (scopeReq)\r\n props.scopeSpec.fGuidRequired = scopeReq === CodeScopeSpec.ScopeRequirement.FederationGuid;\r\n\r\n return new CodeSpec(iModel, Id64.invalid, name, props);\r\n }\r\n\r\n /** Create a new CodeSpec directly from JSON. Used internally by the CodeSpecs.load function.\r\n * @internal\r\n */\r\n public static createFromJson(iModel: IModel, id: Id64String, name: string, properties?: CodeSpecProperties): CodeSpec {\r\n return new CodeSpec(iModel, id, name, properties);\r\n }\r\n\r\n /** Will be true if the id of this CodeSpec is valid. */\r\n public get isValid(): boolean { return Id64.isValid(this.id); }\r\n public get isExternal(): boolean {\r\n return true === this.properties.scopeSpec.fGuidRequired;\r\n }\r\n\r\n /** The scope type of this CodeSpec. */\r\n public get scopeType(): CodeScopeSpec.Type { return this.properties.scopeSpec.type; }\r\n public set scopeType(scopeType: CodeScopeSpec.Type) { this.properties.scopeSpec.type = scopeType; }\r\n\r\n /** Will be `CodeScopeSpec.ScopeRequirement.FederationGuid` if the scoping element is required to have a FederationGuid or\r\n * CodeScopeSpec.ScopeRequirement.ElementId` otherwise (the default).\r\n */\r\n public get scopeReq(): CodeScopeSpec.ScopeRequirement {\r\n return this.properties.scopeSpec.fGuidRequired ? CodeScopeSpec.ScopeRequirement.FederationGuid : CodeScopeSpec.ScopeRequirement.ElementId;\r\n }\r\n public set scopeReq(req: CodeScopeSpec.ScopeRequirement) {\r\n if (CodeScopeSpec.ScopeRequirement.FederationGuid === req)\r\n this.properties.scopeSpec.fGuidRequired = true;\r\n else\r\n this.properties.scopeSpec.fGuidRequired = undefined;\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"Code.js","sourceRoot":"","sources":["../../src/Code.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Codes\r\n */\r\n\r\nimport { GuidString, Id64, Id64String, JsonUtils } from \"@itwin/core-bentley\";\r\nimport { IModel } from \"./IModel\";\r\n\r\n/**\r\n * The ElementId of the element that defines the scope for a Code value.\r\n * @note For insert or update, you may supply the FederationGuid of the scope element and it will be converted to the ElementId of that element.\r\n * @public\r\n * @extensions\r\n */\r\nexport type CodeScopeProps = Id64String | GuidString;\r\n\r\n/** The parameters that define a Code\r\n * @public\r\n * @extensions\r\n */\r\nexport interface CodeProps {\r\n /** Either the stringified 64-bit Id of the CodeSpec for this code, or the name of the CodeSpec. */\r\n spec: Id64String | string;\r\n /** Either the ElementId or the FederationGuid of the element that provides the scope for this code. */\r\n scope: CodeScopeProps;\r\n /** the value of this code. May be undefined. */\r\n value?: string;\r\n}\r\n\r\n/**\r\n * A three-part structure containing information about the [Code]($docs/bis/guide/fundamentals/codes) of an Element\r\n * @public\r\n */\r\nexport class Code implements CodeProps {\r\n /** The id of the [CodeSpec]($docs/bis/guide/fundamentals/codes.md#codespec) of the Element */\r\n public spec: Id64String;\r\n /** The [CodeScope]($docs/bis/guide/fundamentals/codes.md#codescope-property) of the Element */\r\n public scope: Id64String;\r\n /** The [CodeValue]($docs/bis/guide/fundamentals/codes.md#codevalue-property) of the Element\r\n * @note Leading and trailing whitespace is invalid so is automatically trimmed.\r\n */\r\n public get value() { return this._value ?? \"\"; }\r\n public set value(val: string) { this._value = val?.trim(); }\r\n private _value?: string;\r\n\r\n constructor(codeProps: CodeProps) {\r\n this.spec = Id64.fromJSON(codeProps.spec);\r\n this.scope = JsonUtils.asString(codeProps.scope);\r\n this.value = JsonUtils.asString(codeProps.value);\r\n }\r\n\r\n /** Create an empty, non-unique code with no special meaning. */\r\n public static createEmpty(): Code {\r\n const id = Id64.fromLocalAndBriefcaseIds(1, 0);\r\n return new Code({ spec: id, scope: id });\r\n }\r\n\r\n public static fromJSON(json?: any): Code { return json ? new Code(json) : Code.createEmpty(); }\r\n public toJSON(): CodeProps { return { spec: this.spec, scope: this.scope, value: this.value }; }\r\n public equals(other: Code): boolean { return Code.equalCodes(this, other); }\r\n /** @internal */\r\n public static equalCodes(c1: CodeProps, c2: CodeProps): boolean {\r\n return c1.spec === c2.spec && c1.scope === c2.scope && (c1.value ?? \"\").toLowerCase() === (c2.value ?? \"\").toLowerCase();\r\n }\r\n /** Determine whether this Code is valid. */\r\n public static isValid(c: CodeProps): boolean { return Id64.isValidId64(c.spec); }\r\n /** Determine if this code is valid but not otherwise meaningful (and therefore not necessarily unique) */\r\n public static isEmpty(c: CodeProps): boolean { return this.isValid(c) && (c.value === undefined || c.value === \"\"); }\r\n\r\n public toString(): string { return `[Code: ${this.spec}, ${this.scope}, ${this.value}]`; }\r\n}\r\n\r\n/** Names of the internal BIS CodeSpecs. These names match those specified by the native library.\r\n * For other domains, the best practice is to include the domain name or alias as part of the CodeSpec name to ensure global uniqueness.\r\n * @public\r\n* @extensions\r\n* @see [CodeSpec]($docs/bis/guide/fundamentals/codes.md#codespec)\r\n */\r\nexport enum BisCodeSpec {\r\n /** The name of the standard [[CodeSpec]] used when creating *empty* codes.\r\n * @see [[Code.createEmpty]]\r\n */\r\n nullCodeSpec = \"bis:NullCodeSpec\",\r\n /** @internal */\r\n annotationFrameStyle = \"bis:AnnotationFrameStyle\",\r\n /** @internal */\r\n annotationLeaderStyle = \"bis:AnnotationLeaderStyle\",\r\n /** @internal */\r\n annotationTextStyle = \"bis:AnnotationTextStyle\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [AuxCoordSystem2d]($backend) elements.\r\n * @see [AuxCoordSystem2d.createCode]($backend)\r\n */\r\n auxCoordSystem2d = \"bis:AuxCoordSystem2d\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [AuxCoordSystem3d]($backend) elements.\r\n * @see [AuxCoordSystem3d.createCode]($backend)\r\n */\r\n auxCoordSystem3d = \"bis:AuxCoordSystem3d\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [AuxCoordSystemSpatial]($backend) elements.\r\n * @see [AuxCoordSystemSpatial.createCode]($backend)\r\n */\r\n auxCoordSystemSpatial = \"bis:AuxCoordSystemSpatial\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [CategorySelector]($backend) elements.\r\n * @see [CategorySelector.createCode]($backend)\r\n */\r\n categorySelector = \"bis:CategorySelector\",\r\n /** @internal */\r\n colorBook = \"bis:ColorBook\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [DisplayStyle]($backend) elements.\r\n * @see [DisplayStyle.createCode]($backend)\r\n */\r\n displayStyle = \"bis:DisplayStyle\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [Drawing]($backend) elements.\r\n * @see [Drawing.createCode]($backend)\r\n */\r\n drawing = \"bis:Drawing\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [DrawingCategory]($backend) elements.\r\n * @see [DrawingCategory.createCode]($backend)\r\n */\r\n drawingCategory = \"bis:DrawingCategory\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [ExternalSource]($backend) elements.\r\n * @note This CodeSpec is not automatically created, so use [ExternalSource.ensureCodeSpec]($backend) to make sure that it exists.\r\n * @see [ExternalSource.createCode]($backend)\r\n */\r\n externalSource = \"bis:ExternalSource\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [ExternalSourceAttachment]($backend) elements.\r\n * @note This CodeSpec is not automatically created, so use [ExternalSourceAttachment.ensureCodeSpec]($backend) to make sure that it exists.\r\n * @see [ExternalSource.createCode]($backend)\r\n */\r\n externalSourceAttachment = \"bis:ExternalSourceAttachment\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [GeometryPart]($backend) elements.\r\n * @see [GeometryPart.createCode]($backend)\r\n */\r\n geometryPart = \"bis:GeometryPart\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [GraphicalType2d]($backend) elements.\r\n * @see [GraphicalType2d.createCode]($backend)\r\n */\r\n graphicalType2d = \"bis:GraphicalType2d\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [LineStyle]($backend) elements.\r\n * @see [LineStyle.createCode]($backend)\r\n */\r\n lineStyle = \"bis:LineStyle\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [LinkElement]($backend) elements.\r\n * @see [LinkElement.createCode]($backend)\r\n */\r\n linkElement = \"bis:LinkElement\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [ModelSelector]($backend) elements.\r\n * @see [ModelSelector.createCode]($backend)\r\n */\r\n modelSelector = \"bis:ModelSelector\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [PhysicalMaterial]($backend) elements.\r\n * @see [PhysicalMaterial.createCode]($backend)\r\n */\r\n physicalMaterial = \"bis:PhysicalMaterial\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [PhysicalType]($backend) elements.\r\n * @see [PhysicalType.createCode]($backend)\r\n */\r\n physicalType = \"bis:PhysicalType\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [InformationPartitionElement]($backend) elements.\r\n * @see [InformationPartitionElement.createCode]($backend)\r\n */\r\n informationPartitionElement = \"bis:InformationPartitionElement\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [RenderMaterialElement]($backend) elements.\r\n * @see [RenderMaterialElement.createCode]($backend)\r\n */\r\n renderMaterial = \"bis:RenderMaterial\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [Sheet]($backend) elements.\r\n * @see [Sheet.createCode]($backend)\r\n */\r\n sheet = \"bis:Sheet\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [SheetIndex]($backend) elements.\r\n * @see [SheetIndex.createCode]($backend)\r\n */\r\n sheetIndex = \"bis:SheetIndex\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [SheetIndexEntry]($backend) elements.\r\n * @see [SheetIndexEntry.createCode]($backend)\r\n */\r\n sheetIndexEntry = \"bis:SheetIndexEntry\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [SpatialCategory]($backend) elements.\r\n * @see [SpatialCategory.createCode]($backend)\r\n */\r\n spatialCategory = \"bis:SpatialCategory\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [SpatialLocationType]($backend) elements.\r\n * @see [SpatialLocationType.createCode]($backend)\r\n */\r\n spatialLocationType = \"bis:SpatialLocationType\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [SubCategory]($backend) elements.\r\n * @see [SubCategory.createCode]($backend)\r\n */\r\n subCategory = \"bis:SubCategory\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [Subject]($backend) elements.\r\n * @see [Subject.createCode]($backend)\r\n */\r\n subject = \"bis:Subject\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [TemplateRecipe2d]($backend) elements.\r\n * @see [TemplateRecipe2d.createCode]($backend)\r\n */\r\n templateRecipe2d = \"bis:TemplateRecipe2d\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [TemplateRecipe3d]($backend) elements.\r\n * @see [TemplateRecipe3d.createCode]($backend)\r\n */\r\n templateRecipe3d = \"bis:TemplateRecipe3d\",\r\n /** @internal */\r\n textAnnotationSeed = \"bis:TextAnnotationSeed\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [Texture]($backend) elements.\r\n * @see [Texture.createCode]($backend)\r\n */\r\n texture = \"bis:Texture\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [ViewDefinition]($backend) elements.\r\n * @see [ViewDefinition.createCode]($backend)\r\n */\r\n viewDefinition = \"bis:ViewDefinition\",\r\n}\r\n\r\n/** The scope of the Code.\r\n * @public\r\n */\r\nexport namespace CodeScopeSpec {\r\n /** The standard ways the CodeScope can be specified.\r\n * @public\r\n */\r\n export enum Type {\r\n /** The Code value must be unique within (at least) the iModel repository */\r\n Repository = 1,\r\n /** The Code value must be unique within the scope of the Model */\r\n Model = 2,\r\n /** The Code value must be unique among other children of the same parent element */\r\n ParentElement = 3,\r\n /** The Code value must be unique among other elements also scoped by the same element */\r\n RelatedElement = 4,\r\n }\r\n\r\n /**\r\n * Requirements for how the CodeScope Element is identified.\r\n * @public\r\n */\r\n export enum ScopeRequirement {\r\n /** The ElementId of CodeScope element identifies its scope. Used for Codes that are unique only within a single iModel. */\r\n ElementId = 1,\r\n /** The FederationGuid of the CodeScope element identifies its scope. Used for Codes that are globally unique. */\r\n FederationGuid = 2,\r\n }\r\n}\r\n\r\n/**\r\n * The JSON properties of a CodeSpec\r\n * @public\r\n */\r\nexport interface CodeSpecProperties {\r\n scopeSpec: {\r\n /** the type of CodeSpec */\r\n type: CodeScopeSpec.Type;\r\n /** If true, the federationGuid of the scope element identifies the scope, for Codes that are globally unique.\r\n * Otherwise, the ElementId of the scopeElement is used, for Codes that are scoped only within a single iModel.\r\n */\r\n fGuidRequired?: boolean;\r\n /** The relationship className (in the form \"schema:class\"), when `type` is `CodeScopeSpec.Type.RelatedElement` */\r\n relationship?: string;\r\n };\r\n spec?: {\r\n isManagedWithDgnDb?: boolean;\r\n };\r\n version?: string;\r\n}\r\n\r\n/** A [Code Specification]($docs/bis/guide/references/glossary#codespec) captures the rules for encoding and decoding significant business information into\r\n * and from a Code (string). This specification is used to generate and validate Codes.\r\n *\r\n * A CodeSpec defines the format of a Code for a certain type of Element in an IModel.\r\n * A CodeSpec can identify an external system that maintains and/or assigns Codes.\r\n * @public\r\n */\r\nexport class CodeSpec {\r\n /** The iModel holding this CodeSpec. */\r\n public iModel: IModel;\r\n /** The id of this CodeSpec. */\r\n public id: Id64String;\r\n /** The name of this CodeSpec. */\r\n public name: string;\r\n /** The JSON properties for this CodeSpec.\r\n * @note Use the getters and setters instead of accessing this directly.\r\n * @internal\r\n */\r\n public properties: CodeSpecProperties;\r\n\r\n private constructor(iModel: IModel, id: Id64String, name: string, properties?: CodeSpecProperties) {\r\n this.iModel = iModel;\r\n this.id = id;\r\n this.name = name;\r\n this.properties = properties ?? { scopeSpec: { type: CodeScopeSpec.Type.Repository } };\r\n }\r\n\r\n /** Create a new CodeSpec from the specified parameters\r\n * > Note: CodeSpec.id will not be valid until inserted\r\n * @see [CodeSpecs.insert]($backend)\r\n */\r\n public static create(iModel: IModel, name: string, scopeType: CodeScopeSpec.Type, scopeReq?: CodeScopeSpec.ScopeRequirement): CodeSpec {\r\n const props: CodeSpecProperties = { scopeSpec: { type: scopeType } };\r\n if (scopeReq)\r\n props.scopeSpec.fGuidRequired = scopeReq === CodeScopeSpec.ScopeRequirement.FederationGuid;\r\n\r\n return new CodeSpec(iModel, Id64.invalid, name, props);\r\n }\r\n\r\n /** Create a new CodeSpec directly from JSON. Used internally by the CodeSpecs.load function.\r\n * @internal\r\n */\r\n public static createFromJson(iModel: IModel, id: Id64String, name: string, properties?: CodeSpecProperties): CodeSpec {\r\n return new CodeSpec(iModel, id, name, properties);\r\n }\r\n\r\n /** Will be true if the id of this CodeSpec is valid. */\r\n public get isValid(): boolean { return Id64.isValid(this.id); }\r\n public get isExternal(): boolean {\r\n return true === this.properties.scopeSpec.fGuidRequired;\r\n }\r\n\r\n /** The scope type of this CodeSpec. */\r\n public get scopeType(): CodeScopeSpec.Type { return this.properties.scopeSpec.type; }\r\n public set scopeType(scopeType: CodeScopeSpec.Type) { this.properties.scopeSpec.type = scopeType; }\r\n\r\n /** Will be `CodeScopeSpec.ScopeRequirement.FederationGuid` if the scoping element is required to have a FederationGuid or\r\n * CodeScopeSpec.ScopeRequirement.ElementId` otherwise (the default).\r\n */\r\n public get scopeReq(): CodeScopeSpec.ScopeRequirement {\r\n return this.properties.scopeSpec.fGuidRequired ? CodeScopeSpec.ScopeRequirement.FederationGuid : CodeScopeSpec.ScopeRequirement.ElementId;\r\n }\r\n public set scopeReq(req: CodeScopeSpec.ScopeRequirement) {\r\n if (CodeScopeSpec.ScopeRequirement.FederationGuid === req)\r\n this.properties.scopeSpec.fGuidRequired = true;\r\n else\r\n this.properties.scopeSpec.fGuidRequired = undefined;\r\n }\r\n}\r\n"]}
|
|
@@ -193,4 +193,35 @@ export declare namespace ElementError {
|
|
|
193
193
|
/** Determine whether an error object is an ElementError */
|
|
194
194
|
function isError(error: unknown, key?: Key): error is ITwinError;
|
|
195
195
|
}
|
|
196
|
+
/** An error originating from the shared element reservation APIs (see [SynchronousChannel.Reservations]($backend)),
|
|
197
|
+
* used to coordinate simultaneous creation of elements with shared identities across briefcases.
|
|
198
|
+
* @beta
|
|
199
|
+
*/
|
|
200
|
+
export interface ElementReservationError extends ITwinError {
|
|
201
|
+
/** The federationGuid of the element involved in the error, when known. */
|
|
202
|
+
readonly federationGuid?: GuidString;
|
|
203
|
+
}
|
|
204
|
+
/** @beta */
|
|
205
|
+
export declare namespace ElementReservationError {
|
|
206
|
+
/** the ITwinError scope for `ElementReservationError`s. */
|
|
207
|
+
const scope = "itwin-ElementReservation";
|
|
208
|
+
/** Keys that identify `ElementReservationError`s */
|
|
209
|
+
type Key =
|
|
210
|
+
/** A proposed or inserted reservation is invalid: e.g. a malformed federationGuid, an invalid code, an unknown class, or a missing federationGuid. */
|
|
211
|
+
"invalid-reservation" |
|
|
212
|
+
/** The requested reservation conflicts with an existing reservation (a different class or code). */
|
|
213
|
+
"reservation-conflict" |
|
|
214
|
+
/** No reservation exists for the element being inserted; it must be reserved first. */
|
|
215
|
+
"reservation-not-found" |
|
|
216
|
+
/** The element cannot be inserted because the SchemaSync container has un-pushed local changes. */
|
|
217
|
+
"container-has-local-changes" |
|
|
218
|
+
/** The pool of element ids available for reservations has been exhausted. */
|
|
219
|
+
"id-sequence-exhausted" |
|
|
220
|
+
/** The persisted reservation bookkeeping data is corrupt. */
|
|
221
|
+
"corrupt-reservation-data";
|
|
222
|
+
/** Instantiate and throw an ElementReservationError */
|
|
223
|
+
function throwError<T extends ElementReservationError>(key: Key, e: Omit<T, "name" | "iTwinErrorId">): never;
|
|
224
|
+
/** Determine whether an error object is an ElementReservationError */
|
|
225
|
+
function isError(error: unknown, key?: Key): error is ElementReservationError;
|
|
226
|
+
}
|
|
196
227
|
//# sourceMappingURL=ITwinCoreErrors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ITwinCoreErrors.d.ts","sourceRoot":"","sources":["../../src/ITwinCoreErrors.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ITwinCoreErrors.d.ts","sourceRoot":"","sources":["../../src/ITwinCoreErrors.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* @module iModels
|
|
8
8
|
*/
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.ElementError = exports.ServerBasedLocksError = exports.EditTxnError = exports.ChannelControlError = exports.ITwinSettingsError = exports.WorkspaceError = exports.ViewStoreError = exports.CloudSqliteError = exports.SqliteError = void 0;
|
|
10
|
+
exports.ElementReservationError = exports.ElementError = exports.ServerBasedLocksError = exports.EditTxnError = exports.ChannelControlError = exports.ITwinSettingsError = exports.WorkspaceError = exports.ViewStoreError = exports.CloudSqliteError = exports.SqliteError = void 0;
|
|
11
11
|
const core_bentley_1 = require("@itwin/core-bentley");
|
|
12
12
|
/** @beta */
|
|
13
13
|
var SqliteError;
|
|
@@ -155,4 +155,20 @@ var ElementError;
|
|
|
155
155
|
}
|
|
156
156
|
ElementError.isError = isError;
|
|
157
157
|
})(ElementError || (exports.ElementError = ElementError = {}));
|
|
158
|
+
/** @beta */
|
|
159
|
+
var ElementReservationError;
|
|
160
|
+
(function (ElementReservationError) {
|
|
161
|
+
/** the ITwinError scope for `ElementReservationError`s. */
|
|
162
|
+
ElementReservationError.scope = "itwin-ElementReservation";
|
|
163
|
+
/** Instantiate and throw an ElementReservationError */
|
|
164
|
+
function throwError(key, e) {
|
|
165
|
+
core_bentley_1.ITwinError.throwError({ ...e, iTwinErrorId: { scope: ElementReservationError.scope, key } });
|
|
166
|
+
}
|
|
167
|
+
ElementReservationError.throwError = throwError;
|
|
168
|
+
/** Determine whether an error object is an ElementReservationError */
|
|
169
|
+
function isError(error, key) {
|
|
170
|
+
return core_bentley_1.ITwinError.isError(error, ElementReservationError.scope, key);
|
|
171
|
+
}
|
|
172
|
+
ElementReservationError.isError = isError;
|
|
173
|
+
})(ElementReservationError || (exports.ElementReservationError = ElementReservationError = {}));
|
|
158
174
|
//# sourceMappingURL=ITwinCoreErrors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ITwinCoreErrors.js","sourceRoot":"","sources":["../../src/ITwinCoreErrors.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module iModels\r\n */\r\n\r\nimport { GuidString, ITwinError } from \"@itwin/core-bentley\";\r\n\r\n/**\r\n * An error originating from the [SQLiteDb]($backend) API.\r\n * @beta\r\n */\r\nexport interface SqliteError extends ITwinError {\r\n /** The name of the database for this problem. */\r\n dbName: string;\r\n}\r\n\r\n/** @beta */\r\nexport namespace SqliteError {\r\n export const scope = \"itwin-Sqlite\";\r\n export type Key =\r\n \"already-open\" |\r\n \"incompatible-version\" |\r\n \"invalid-versions-property\" |\r\n \"readonly\";\r\n\r\n /** Determine whether an error object is a SqliteError */\r\n export function isError(error: unknown, key?: Key): error is SqliteError {\r\n return ITwinError.isError<SqliteError>(error, scope, key) && typeof error.dbName === \"string\";\r\n }\r\n\r\n /** Instantiate and throw a SqliteError */\r\n export function throwError(key: Key, message: string, dbName: string): never {\r\n ITwinError.throwError<SqliteError>({ iTwinErrorId: { scope, key }, message, dbName });\r\n }\r\n}\r\n\r\n/**\r\n * An error originating from the [CloudSqlite]($backend) API.\r\n * @beta\r\n */\r\nexport interface CloudSqliteError extends ITwinError {\r\n /** The name of the database that generated the error */\r\n readonly dbName?: string;\r\n /** The name of the container associated with the error */\r\n readonly containerId?: string;\r\n}\r\n\r\n/** @beta */\r\nexport namespace CloudSqliteError {\r\n export const scope = \"itwin-CloudSqlite\";\r\n export type Key =\r\n \"already-published\" |\r\n \"copy-error\" |\r\n \"invalid-name\" |\r\n \"no-version-available\" |\r\n \"not-a-function\" |\r\n \"service-not-available\" |\r\n /** The write lock cannot be acquired because it is currently held by somebody else.\r\n * @see WriteLockHeld for details\r\n */\r\n \"write-lock-held\" |\r\n /** The write lock on a container is not held, but is required for this operation */\r\n \"write-lock-not-held\";\r\n\r\n /** thrown when an attempt to acquire the write lock for a container fails because the lock is already held by somebody else (\"write-lock-held\"). */\r\n export interface WriteLockHeld extends CloudSqliteError {\r\n /** @internal */\r\n errorNumber: number;\r\n /** moniker of user currently holding container's lock */\r\n lockedBy: string;\r\n /** time the lock expires */\r\n expires: string;\r\n }\r\n\r\n /** Determine whether an error object is a CloudSqliteError */\r\n export function isError<T extends CloudSqliteError>(error: unknown, key?: Key): error is T {\r\n return ITwinError.isError<T>(error, scope, key);\r\n }\r\n\r\n /** Instantiate and throw a CloudSqliteError */\r\n export function throwError<T extends CloudSqliteError>(key: Key, e: Omit<T, \"name\" | \"iTwinErrorId\">): never {\r\n ITwinError.throwError<CloudSqliteError>({ ...e, iTwinErrorId: { scope, key } });\r\n }\r\n}\r\n\r\n/** Errors thrown by the [ViewStore]($backend) API.\r\n * @beta\r\n */\r\nexport interface ViewStoreError extends ITwinError {\r\n /** The name of the ViewStore that generated the error */\r\n viewStoreName?: string;\r\n}\r\n\r\n/** @beta */\r\nexport namespace ViewStoreError {\r\n export const scope = \"itwin-ViewStore\";\r\n export type Key =\r\n \"invalid-value\" |\r\n \"invalid-member\" |\r\n \"no-owner\" |\r\n \"not-found\" |\r\n \"not-unique\" |\r\n \"no-viewstore\" |\r\n \"group-error\";\r\n\r\n /** Determine whether an error object is a ViewStoreError */\r\n export function isError<T extends ViewStoreError>(error: unknown, key?: Key): error is T {\r\n return ITwinError.isError<T>(error, scope, key);\r\n }\r\n\r\n /** Instantiate and throw a ViewStoreError */\r\n export function throwError<T extends ViewStoreError>(key: Key, e: Omit<T, \"name\" | \"iTwinErrorId\">): never {\r\n ITwinError.throwError<ViewStoreError>({ ...e, iTwinErrorId: { scope, key } });\r\n }\r\n}\r\n\r\n/**\r\n * Errors thrown by the [Workspace]($backend) APIs.\r\n * @beta\r\n */\r\nexport namespace WorkspaceError {\r\n export const scope = \"itwin-Workspace\";\r\n export type Key =\r\n \"already-exists\" |\r\n \"container-exists\" |\r\n \"does-not-exist\" |\r\n \"invalid-name\" |\r\n \"no-cloud-container\" |\r\n \"load-error\" |\r\n \"load-errors\" |\r\n \"resource-exists\" |\r\n \"too-large\" |\r\n \"write-error\";\r\n\r\n /** Determine whether an error object is a WorkspaceError */\r\n export function isError<T extends ITwinError>(error: unknown, key?: Key): error is T {\r\n return ITwinError.isError<T>(error, scope, key);\r\n }\r\n\r\n export function throwError<T extends ITwinError>(key: Key, e: Omit<T, \"name\" | \"iTwinErrorId\">): never {\r\n ITwinError.throwError<ITwinError>({ ...e, iTwinErrorId: { key, scope } });\r\n }\r\n}\r\n\r\n/**\r\n * Errors thrown by iTwin settings container APIs.\r\n * @beta\r\n */\r\nexport interface ITwinSettingsError extends ITwinError {\r\n /** The iTwin associated with this settings error, when available. */\r\n readonly iTwinId?: GuidString;\r\n /** The priority associated with this settings error, when available. */\r\n readonly priority?: number;\r\n}\r\n\r\n/** @beta */\r\nexport namespace ITwinSettingsError {\r\n export const scope = \"itwin-settings\";\r\n export type Key =\r\n \"failed-to-obtain-container-token\" |\r\n \"missing-container-itwinid\" |\r\n \"multiple-itwin-settings-containers\" |\r\n \"no-cloud-container\" |\r\n \"blob-service-unavailable\" |\r\n \"invalid-priority\" |\r\n \"unknown-setting\";\r\n\r\n /** Determine whether an error object is an ITwinSettingsError. */\r\n export function isError(error: unknown, key?: Key): error is ITwinSettingsError {\r\n return ITwinError.isError<ITwinSettingsError>(error, scope, key);\r\n }\r\n\r\n /** Instantiate and throw an ITwinSettingsError. */\r\n export function throwError<T extends ITwinSettingsError>(key: Key, e: Omit<T, \"name\" | \"iTwinErrorId\">): never {\r\n ITwinError.throwError<ITwinSettingsError>({ ...e, iTwinErrorId: { scope, key } });\r\n }\r\n}\r\n\r\n\r\n/** Errors originating from the [ChannelControl]($backend) interface.\r\n * @beta\r\n */\r\nexport interface ChannelControlError extends ITwinError {\r\n /** The channel key that caused the error. */\r\n readonly channelKey: string;\r\n}\r\n\r\n/** @beta */\r\nexport namespace ChannelControlError {\r\n /** the ITwinError scope for `ChannelControlError`s. */\r\n export const scope = \"itwin-ChannelControl\";\r\n\r\n /** Keys that identify `ChannelControlError`s */\r\n export type Key =\r\n /** an attempt to create a channel within an existing channel */\r\n \"may-not-nest\" |\r\n /** an attempt to use a channel that was not \"allowed\" */\r\n \"not-allowed\" |\r\n /** the root channel already exists */\r\n \"root-exists\";\r\n\r\n /** Instantiate and throw a ChannelControlError */\r\n export function throwError(key: Key, message: string, channelKey: string): never {\r\n ITwinError.throwError<ChannelControlError>({ iTwinErrorId: { scope, key }, message, channelKey });\r\n }\r\n /** Determine whether an error object is a ChannelControlError */\r\n export function isError(error: unknown, key?: Key): error is ChannelControlError {\r\n return ITwinError.isError<ChannelControlError>(error, scope, key) && typeof error.channelKey === \"string\";\r\n }\r\n}\r\n\r\n/**\r\n * An error originating from the [EditTxn]($backend) API.\r\n * @beta\r\n */\r\nexport interface EditTxnError extends ITwinError {\r\n /** The iModel key associated with the error. */\r\n readonly iModelKey?: string;\r\n /** The description of the EditTxn that caused the error, if applicable. */\r\n readonly description?: string;\r\n}\r\n\r\n/** @beta */\r\nexport namespace EditTxnError {\r\n /** the ITwinError scope for `EditTxnError`s. */\r\n export const scope = \"itwin-EditTxn\";\r\n\r\n /** Keys that identify `EditTxnError`s */\r\n export type Key =\r\n /** an attempt to start an EditTxn when one is already active */\r\n \"already-active\" |\r\n /** an attempt to modify an iModel through the implicit transaction when explicit transactions are enforced */\r\n \"implicit-txn-write-disallowed\" |\r\n /** an attempt to start an EditTxn when unsaved changes are already present */\r\n \"unsaved-changes\" |\r\n /** an attempt to perform an operation that requires an active EditTxn when none is active */\r\n \"not-active\" |\r\n /** an attempt to use an EditTxn with the wrong iModel */\r\n \"wrong-imodel\";\r\n\r\n /** Instantiate and throw an EditTxnError */\r\n export function throwError(key: Key, message: string, iModelKey?: string, description?: string): never {\r\n ITwinError.throwError<EditTxnError>({ iTwinErrorId: { scope, key }, message, iModelKey, description });\r\n }\r\n\r\n /** Determine whether an error object is an EditTxnError */\r\n export function isError(error: unknown, key?: Key): error is EditTxnError {\r\n return ITwinError.isError<EditTxnError>(error, scope, key);\r\n }\r\n}\r\n\r\n/** Errors originating from the server-based implementation of the [LockControl]($backend) interface.\r\n * @beta\r\n */\r\nexport namespace ServerBasedLocksError {\r\n /** the ITwinError scope for `ServerBasedLocksError`s. */\r\n export const scope = \"itwin-ServerBasedLocks\";\r\n\r\n /** Keys that identify `ServerBasedLocksError`s */\r\n export type Key =\r\n /** The briefcase contains unsaved changes */\r\n \"has-unsaved-changes\" |\r\n /** A SQLite error occurred while reading or writing the \"locks\" database */\r\n \"lock-database-problem\" |\r\n /** The specified Txn ID is not known to the TxnManager */\r\n \"txn-id-not-found\" |\r\n /** Attempted to abandon locks for a Txn that has not yet been reversed */\r\n \"txn-not-reversed\";\r\n\r\n /** Instantiate and throw a ServerBasedLocksError */\r\n export function throwError(key: Key, message: string): never {\r\n ITwinError.throwError<ITwinError>({ iTwinErrorId: { scope, key }, message });\r\n }\r\n /** Determine whether an error object is a ServerBasedLocksError */\r\n export function isError(error: unknown, key?: Key): error is ITwinError {\r\n return ITwinError.isError<ITwinError>(error, scope, key);\r\n }\r\n}\r\n\r\n/** Errors originating from element operations such as [EditTxn.changeElementParent]($backend) and\r\n * [EditTxn.changeElementModel]($backend).\r\n * @beta\r\n */\r\nexport namespace ElementError {\r\n /** the ITwinError scope for `ElementError`s. */\r\n export const scope = \"itwin-Element\";\r\n\r\n /** Keys that identify `ElementError`s */\r\n export type Key =\r\n /** The element's model type does not match the expected model type for the operation */\r\n \"model-type-mismatch\" |\r\n /** Invalid arguments were provided to an element operation */\r\n \"invalid-arguments\";\r\n\r\n /** Instantiate and throw an ElementError */\r\n export function throwError(key: Key, message: string): never {\r\n ITwinError.throwError<ITwinError>({ iTwinErrorId: { scope, key }, message });\r\n }\r\n /** Determine whether an error object is an ElementError */\r\n export function isError(error: unknown, key?: Key): error is ITwinError {\r\n return ITwinError.isError<ITwinError>(error, scope, key);\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"ITwinCoreErrors.js","sourceRoot":"","sources":["../../src/ITwinCoreErrors.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module iModels\r\n */\r\n\r\nimport { GuidString, ITwinError } from \"@itwin/core-bentley\";\r\n\r\n/**\r\n * An error originating from the [SQLiteDb]($backend) API.\r\n * @beta\r\n */\r\nexport interface SqliteError extends ITwinError {\r\n /** The name of the database for this problem. */\r\n dbName: string;\r\n}\r\n\r\n/** @beta */\r\nexport namespace SqliteError {\r\n export const scope = \"itwin-Sqlite\";\r\n export type Key =\r\n \"already-open\" |\r\n \"incompatible-version\" |\r\n \"invalid-versions-property\" |\r\n \"readonly\";\r\n\r\n /** Determine whether an error object is a SqliteError */\r\n export function isError(error: unknown, key?: Key): error is SqliteError {\r\n return ITwinError.isError<SqliteError>(error, scope, key) && typeof error.dbName === \"string\";\r\n }\r\n\r\n /** Instantiate and throw a SqliteError */\r\n export function throwError(key: Key, message: string, dbName: string): never {\r\n ITwinError.throwError<SqliteError>({ iTwinErrorId: { scope, key }, message, dbName });\r\n }\r\n}\r\n\r\n/**\r\n * An error originating from the [CloudSqlite]($backend) API.\r\n * @beta\r\n */\r\nexport interface CloudSqliteError extends ITwinError {\r\n /** The name of the database that generated the error */\r\n readonly dbName?: string;\r\n /** The name of the container associated with the error */\r\n readonly containerId?: string;\r\n}\r\n\r\n/** @beta */\r\nexport namespace CloudSqliteError {\r\n export const scope = \"itwin-CloudSqlite\";\r\n export type Key =\r\n \"already-published\" |\r\n \"copy-error\" |\r\n \"invalid-name\" |\r\n \"no-version-available\" |\r\n \"not-a-function\" |\r\n \"service-not-available\" |\r\n /** The write lock cannot be acquired because it is currently held by somebody else.\r\n * @see WriteLockHeld for details\r\n */\r\n \"write-lock-held\" |\r\n /** The write lock on a container is not held, but is required for this operation */\r\n \"write-lock-not-held\";\r\n\r\n /** thrown when an attempt to acquire the write lock for a container fails because the lock is already held by somebody else (\"write-lock-held\"). */\r\n export interface WriteLockHeld extends CloudSqliteError {\r\n /** @internal */\r\n errorNumber: number;\r\n /** moniker of user currently holding container's lock */\r\n lockedBy: string;\r\n /** time the lock expires */\r\n expires: string;\r\n }\r\n\r\n /** Determine whether an error object is a CloudSqliteError */\r\n export function isError<T extends CloudSqliteError>(error: unknown, key?: Key): error is T {\r\n return ITwinError.isError<T>(error, scope, key);\r\n }\r\n\r\n /** Instantiate and throw a CloudSqliteError */\r\n export function throwError<T extends CloudSqliteError>(key: Key, e: Omit<T, \"name\" | \"iTwinErrorId\">): never {\r\n ITwinError.throwError<CloudSqliteError>({ ...e, iTwinErrorId: { scope, key } });\r\n }\r\n}\r\n\r\n/** Errors thrown by the [ViewStore]($backend) API.\r\n * @beta\r\n */\r\nexport interface ViewStoreError extends ITwinError {\r\n /** The name of the ViewStore that generated the error */\r\n viewStoreName?: string;\r\n}\r\n\r\n/** @beta */\r\nexport namespace ViewStoreError {\r\n export const scope = \"itwin-ViewStore\";\r\n export type Key =\r\n \"invalid-value\" |\r\n \"invalid-member\" |\r\n \"no-owner\" |\r\n \"not-found\" |\r\n \"not-unique\" |\r\n \"no-viewstore\" |\r\n \"group-error\";\r\n\r\n /** Determine whether an error object is a ViewStoreError */\r\n export function isError<T extends ViewStoreError>(error: unknown, key?: Key): error is T {\r\n return ITwinError.isError<T>(error, scope, key);\r\n }\r\n\r\n /** Instantiate and throw a ViewStoreError */\r\n export function throwError<T extends ViewStoreError>(key: Key, e: Omit<T, \"name\" | \"iTwinErrorId\">): never {\r\n ITwinError.throwError<ViewStoreError>({ ...e, iTwinErrorId: { scope, key } });\r\n }\r\n}\r\n\r\n/**\r\n * Errors thrown by the [Workspace]($backend) APIs.\r\n * @beta\r\n */\r\nexport namespace WorkspaceError {\r\n export const scope = \"itwin-Workspace\";\r\n export type Key =\r\n \"already-exists\" |\r\n \"container-exists\" |\r\n \"does-not-exist\" |\r\n \"invalid-name\" |\r\n \"no-cloud-container\" |\r\n \"load-error\" |\r\n \"load-errors\" |\r\n \"resource-exists\" |\r\n \"too-large\" |\r\n \"write-error\";\r\n\r\n /** Determine whether an error object is a WorkspaceError */\r\n export function isError<T extends ITwinError>(error: unknown, key?: Key): error is T {\r\n return ITwinError.isError<T>(error, scope, key);\r\n }\r\n\r\n export function throwError<T extends ITwinError>(key: Key, e: Omit<T, \"name\" | \"iTwinErrorId\">): never {\r\n ITwinError.throwError<ITwinError>({ ...e, iTwinErrorId: { key, scope } });\r\n }\r\n}\r\n\r\n/**\r\n * Errors thrown by iTwin settings container APIs.\r\n * @beta\r\n */\r\nexport interface ITwinSettingsError extends ITwinError {\r\n /** The iTwin associated with this settings error, when available. */\r\n readonly iTwinId?: GuidString;\r\n /** The priority associated with this settings error, when available. */\r\n readonly priority?: number;\r\n}\r\n\r\n/** @beta */\r\nexport namespace ITwinSettingsError {\r\n export const scope = \"itwin-settings\";\r\n export type Key =\r\n \"failed-to-obtain-container-token\" |\r\n \"missing-container-itwinid\" |\r\n \"multiple-itwin-settings-containers\" |\r\n \"no-cloud-container\" |\r\n \"blob-service-unavailable\" |\r\n \"invalid-priority\" |\r\n \"unknown-setting\";\r\n\r\n /** Determine whether an error object is an ITwinSettingsError. */\r\n export function isError(error: unknown, key?: Key): error is ITwinSettingsError {\r\n return ITwinError.isError<ITwinSettingsError>(error, scope, key);\r\n }\r\n\r\n /** Instantiate and throw an ITwinSettingsError. */\r\n export function throwError<T extends ITwinSettingsError>(key: Key, e: Omit<T, \"name\" | \"iTwinErrorId\">): never {\r\n ITwinError.throwError<ITwinSettingsError>({ ...e, iTwinErrorId: { scope, key } });\r\n }\r\n}\r\n\r\n\r\n/** Errors originating from the [ChannelControl]($backend) interface.\r\n * @beta\r\n */\r\nexport interface ChannelControlError extends ITwinError {\r\n /** The channel key that caused the error. */\r\n readonly channelKey: string;\r\n}\r\n\r\n/** @beta */\r\nexport namespace ChannelControlError {\r\n /** the ITwinError scope for `ChannelControlError`s. */\r\n export const scope = \"itwin-ChannelControl\";\r\n\r\n /** Keys that identify `ChannelControlError`s */\r\n export type Key =\r\n /** an attempt to create a channel within an existing channel */\r\n \"may-not-nest\" |\r\n /** an attempt to use a channel that was not \"allowed\" */\r\n \"not-allowed\" |\r\n /** the root channel already exists */\r\n \"root-exists\";\r\n\r\n /** Instantiate and throw a ChannelControlError */\r\n export function throwError(key: Key, message: string, channelKey: string): never {\r\n ITwinError.throwError<ChannelControlError>({ iTwinErrorId: { scope, key }, message, channelKey });\r\n }\r\n /** Determine whether an error object is a ChannelControlError */\r\n export function isError(error: unknown, key?: Key): error is ChannelControlError {\r\n return ITwinError.isError<ChannelControlError>(error, scope, key) && typeof error.channelKey === \"string\";\r\n }\r\n}\r\n\r\n/**\r\n * An error originating from the [EditTxn]($backend) API.\r\n * @beta\r\n */\r\nexport interface EditTxnError extends ITwinError {\r\n /** The iModel key associated with the error. */\r\n readonly iModelKey?: string;\r\n /** The description of the EditTxn that caused the error, if applicable. */\r\n readonly description?: string;\r\n}\r\n\r\n/** @beta */\r\nexport namespace EditTxnError {\r\n /** the ITwinError scope for `EditTxnError`s. */\r\n export const scope = \"itwin-EditTxn\";\r\n\r\n /** Keys that identify `EditTxnError`s */\r\n export type Key =\r\n /** an attempt to start an EditTxn when one is already active */\r\n \"already-active\" |\r\n /** an attempt to modify an iModel through the implicit transaction when explicit transactions are enforced */\r\n \"implicit-txn-write-disallowed\" |\r\n /** an attempt to start an EditTxn when unsaved changes are already present */\r\n \"unsaved-changes\" |\r\n /** an attempt to perform an operation that requires an active EditTxn when none is active */\r\n \"not-active\" |\r\n /** an attempt to use an EditTxn with the wrong iModel */\r\n \"wrong-imodel\";\r\n\r\n /** Instantiate and throw an EditTxnError */\r\n export function throwError(key: Key, message: string, iModelKey?: string, description?: string): never {\r\n ITwinError.throwError<EditTxnError>({ iTwinErrorId: { scope, key }, message, iModelKey, description });\r\n }\r\n\r\n /** Determine whether an error object is an EditTxnError */\r\n export function isError(error: unknown, key?: Key): error is EditTxnError {\r\n return ITwinError.isError<EditTxnError>(error, scope, key);\r\n }\r\n}\r\n\r\n/** Errors originating from the server-based implementation of the [LockControl]($backend) interface.\r\n * @beta\r\n */\r\nexport namespace ServerBasedLocksError {\r\n /** the ITwinError scope for `ServerBasedLocksError`s. */\r\n export const scope = \"itwin-ServerBasedLocks\";\r\n\r\n /** Keys that identify `ServerBasedLocksError`s */\r\n export type Key =\r\n /** The briefcase contains unsaved changes */\r\n \"has-unsaved-changes\" |\r\n /** A SQLite error occurred while reading or writing the \"locks\" database */\r\n \"lock-database-problem\" |\r\n /** The specified Txn ID is not known to the TxnManager */\r\n \"txn-id-not-found\" |\r\n /** Attempted to abandon locks for a Txn that has not yet been reversed */\r\n \"txn-not-reversed\";\r\n\r\n /** Instantiate and throw a ServerBasedLocksError */\r\n export function throwError(key: Key, message: string): never {\r\n ITwinError.throwError<ITwinError>({ iTwinErrorId: { scope, key }, message });\r\n }\r\n /** Determine whether an error object is a ServerBasedLocksError */\r\n export function isError(error: unknown, key?: Key): error is ITwinError {\r\n return ITwinError.isError<ITwinError>(error, scope, key);\r\n }\r\n}\r\n\r\n/** Errors originating from element operations such as [EditTxn.changeElementParent]($backend) and\r\n * [EditTxn.changeElementModel]($backend).\r\n * @beta\r\n */\r\nexport namespace ElementError {\r\n /** the ITwinError scope for `ElementError`s. */\r\n export const scope = \"itwin-Element\";\r\n\r\n /** Keys that identify `ElementError`s */\r\n export type Key =\r\n /** The element's model type does not match the expected model type for the operation */\r\n \"model-type-mismatch\" |\r\n /** Invalid arguments were provided to an element operation */\r\n \"invalid-arguments\";\r\n\r\n /** Instantiate and throw an ElementError */\r\n export function throwError(key: Key, message: string): never {\r\n ITwinError.throwError<ITwinError>({ iTwinErrorId: { scope, key }, message });\r\n }\r\n /** Determine whether an error object is an ElementError */\r\n export function isError(error: unknown, key?: Key): error is ITwinError {\r\n return ITwinError.isError<ITwinError>(error, scope, key);\r\n }\r\n}\r\n\r\n/** An error originating from the shared element reservation APIs (see [SynchronousChannel.Reservations]($backend)),\r\n * used to coordinate simultaneous creation of elements with shared identities across briefcases.\r\n * @beta\r\n */\r\nexport interface ElementReservationError extends ITwinError {\r\n /** The federationGuid of the element involved in the error, when known. */\r\n readonly federationGuid?: GuidString;\r\n}\r\n\r\n/** @beta */\r\nexport namespace ElementReservationError {\r\n /** the ITwinError scope for `ElementReservationError`s. */\r\n export const scope = \"itwin-ElementReservation\";\r\n\r\n /** Keys that identify `ElementReservationError`s */\r\n export type Key =\r\n /** A proposed or inserted reservation is invalid: e.g. a malformed federationGuid, an invalid code, an unknown class, or a missing federationGuid. */\r\n \"invalid-reservation\" |\r\n /** The requested reservation conflicts with an existing reservation (a different class or code). */\r\n \"reservation-conflict\" |\r\n /** No reservation exists for the element being inserted; it must be reserved first. */\r\n \"reservation-not-found\" |\r\n /** The element cannot be inserted because the SchemaSync container has un-pushed local changes. */\r\n \"container-has-local-changes\" |\r\n /** The pool of element ids available for reservations has been exhausted. */\r\n \"id-sequence-exhausted\" |\r\n /** The persisted reservation bookkeeping data is corrupt. */\r\n \"corrupt-reservation-data\";\r\n\r\n /** Instantiate and throw an ElementReservationError */\r\n export function throwError<T extends ElementReservationError>(key: Key, e: Omit<T, \"name\" | \"iTwinErrorId\">): never {\r\n ITwinError.throwError<ElementReservationError>({ ...e, iTwinErrorId: { scope, key } });\r\n }\r\n\r\n /** Determine whether an error object is an ElementReservationError */\r\n export function isError(error: unknown, key?: Key): error is ElementReservationError {\r\n return ITwinError.isError<ElementReservationError>(error, scope, key);\r\n }\r\n}\r\n"]}
|
|
@@ -23,6 +23,12 @@ export declare enum BriefcaseIdValue {
|
|
|
23
23
|
FirstValid = 2,
|
|
24
24
|
/** All valid iModelHub issued BriefcaseIds will be equal or lower than this */
|
|
25
25
|
LastValid = 16777205,
|
|
26
|
+
/**
|
|
27
|
+
* Briefcase Id reserved for `Element` Ids allocated by SchemaSync reservations.
|
|
28
|
+
* Never assigned to a real briefcase by iModelHub.
|
|
29
|
+
* @internal
|
|
30
|
+
*/
|
|
31
|
+
SchemaSyncElementReserved = 16777206,
|
|
26
32
|
/**
|
|
27
33
|
* The briefcase has not been assigned a unique Id by iModelHub. Only briefcases that have been assigned a unique BriefcaseId may create changesets,
|
|
28
34
|
* because BriefcaseId is used to create unique ElementIds for new elements.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BriefcaseTypes.d.ts","sourceRoot":"","sources":["../../src/BriefcaseTypes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BriefcaseTypes.d.ts","sourceRoot":"","sources":["../../src/BriefcaseTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,12 @@ export var BriefcaseIdValue;
|
|
|
19
19
|
BriefcaseIdValue[BriefcaseIdValue["FirstValid"] = 2] = "FirstValid";
|
|
20
20
|
/** All valid iModelHub issued BriefcaseIds will be equal or lower than this */
|
|
21
21
|
BriefcaseIdValue[BriefcaseIdValue["LastValid"] = 16777205] = "LastValid";
|
|
22
|
+
/**
|
|
23
|
+
* Briefcase Id reserved for `Element` Ids allocated by SchemaSync reservations.
|
|
24
|
+
* Never assigned to a real briefcase by iModelHub.
|
|
25
|
+
* @internal
|
|
26
|
+
*/
|
|
27
|
+
BriefcaseIdValue[BriefcaseIdValue["SchemaSyncElementReserved"] = 16777206] = "SchemaSyncElementReserved";
|
|
22
28
|
/**
|
|
23
29
|
* The briefcase has not been assigned a unique Id by iModelHub. Only briefcases that have been assigned a unique BriefcaseId may create changesets,
|
|
24
30
|
* because BriefcaseId is used to create unique ElementIds for new elements.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BriefcaseTypes.js","sourceRoot":"","sources":["../../src/BriefcaseTypes.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAaH;;;GAGG;AACH,MAAM,CAAN,IAAY,gBAyBX;AAzBD,WAAY,gBAAgB;IAC1B,+CAA+C;IAC/C,sEAAoB,CAAA;IAEpB,gDAAgD;IAChD,4DAAa,CAAA;IAEb,gFAAgF;IAChF,mEAAc,CAAA;IAEd,+EAA+E;IAC/E,wEAAqC,CAAA;IAErC;;;;;;;;;;OAUG;IACH,mEAAc,CAAA;AAChB,CAAC,EAzBW,gBAAgB,KAAhB,gBAAgB,QAyB3B;AAED;;;GAGG;AACH,MAAM,CAAN,IAAY,QAOX;AAPD,WAAY,QAAQ;IAClB,mIAAmI;IACnI,uDAAgB,CAAA;IAChB,0FAA0F;IAC1F,qDAAe,CAAA;IACf,6IAA6I;IAC7I,+CAAY,CAAA;AACd,CAAC,EAPW,QAAQ,KAAR,QAAQ,QAOnB;AA2ID;;GAEG;AACH,MAAM,CAAN,IAAY,aAYX;AAZD,WAAY,aAAa;IACvB,qJAAqJ;IACrJ,mFAAyB,CAAA;IAEzB,iKAAiK;IACjK,yFAA4B,CAAA;IAE5B,sMAAsM;IACtM,uDAAW,CAAA;IAEX,qFAAqF;IACrF,2DAAa,CAAA;AACf,CAAC,EAZW,aAAa,KAAb,aAAa,QAYxB;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,cAMX;AAND,WAAY,cAAc;IACxB,0GAA0G;IAC1G,mDAAQ,CAAA;IAER,qDAAqD;IACrD,yDAAW,CAAA;AACb,CAAC,EANW,cAAc,KAAd,cAAc,QAMzB;AAgBD;;;;GAIG;AACH,MAAM,CAAN,IAAY,WAkBX;AAlBD,WAAY,WAAW;IACrB,sIAAsI;IACtI,qDAAQ,CAAA;IAER;;;OAGG;IACH,mEAAe,CAAA;IAEf,4IAA4I;IAC5I,yEAAkB,CAAA;IAElB,oIAAoI;IACpI,iDAAM,CAAA;IAEN,4FAA4F;IAC5F,iDAAM,CAAA;AACR,CAAC,EAlBW,WAAW,KAAX,WAAW,QAkBtB","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module iModels\r\n */\r\n\r\nimport { GuidString } from \"@itwin/core-bentley\";\r\nimport { ChangesetIdWithIndex, ChangesetIndexOrId, LocalFileName } from \"./ChangesetProps\";\r\nimport { OpenDbKey } from \"./IModel\";\r\nimport { IModelVersionProps } from \"./IModelVersion\";\r\n\r\n/** The Id assigned to a briefcase by iModelHub, or [[BriefcaseIdValue.Unassigned]] .\r\n * @public\r\n * @extensions\r\n */\r\nexport type BriefcaseId = number;\r\n\r\n/** Values of [[BriefcaseId]] that have special meaning.\r\n * @public\r\n * @extensions\r\n */\r\nexport enum BriefcaseIdValue {\r\n /** Indicates an invalid/illegal BriefcaseId */\r\n Illegal = 0xffffffff,\r\n\r\n /** BriefcaseIds must be less than this value */\r\n Max = 1 << 24,\r\n\r\n /** All valid iModelHub issued BriefcaseIds will be equal or higher than this */\r\n FirstValid = 2,\r\n\r\n /** All valid iModelHub issued BriefcaseIds will be equal or lower than this */\r\n LastValid = BriefcaseIdValue.Max - 11,\r\n\r\n /**\r\n * The briefcase has not been assigned a unique Id by iModelHub. Only briefcases that have been assigned a unique BriefcaseId may create changesets,\r\n * because BriefcaseId is used to create unique ElementIds for new elements.\r\n *\r\n * The `Unassigned` briefcaseId is used for several purposes:\r\n * - **Snapshots**. Snapshot files are immutable copies of an iModel for archival or data exchange purposes. They can neither generate nor accept new changesets.\r\n * - **Checkpoints**. Checkpoints are Snapshots that represent a specific version on an iModel's timeline.\r\n * - **PullOnly**. A local briefcase file that may be used to \"slide\" along a timeline by applying incoming changesets.\r\n * They are always opened readonly except to apply changesets.\r\n * - **Standalone**. Standalone iModels are local files that are not connected to iModelHub, and therefore cannot accept or create changesets.\r\n */\r\n Unassigned = 0,\r\n}\r\n\r\n/** Whether a briefcase is editable or may only accept incoming changesets from iModelHub\r\n * @public\r\n * @extensions\r\n */\r\nexport enum SyncMode {\r\n /** Use a fixed version (i.e. a checkpoint). See [CheckpointManager]($backend) for preferred approach to using checkpoint files. */\r\n FixedVersion = 1,\r\n /** A briefcase that can be edited. A unique briefcaseId must be assigned by iModelHub. */\r\n PullAndPush = 2,\r\n /** use [[BriefcaseIdValue.Unassigned]]. This makes a briefcase that can accept changesets from iModelHub but can never create changesets. */\r\n PullOnly = 3,\r\n}\r\n\r\n/**\r\n * Options to open a previously downloaded briefcase\r\n * @public\r\n */\r\nexport interface OpenBriefcaseOptions {\r\n /** open briefcase Readonly */\r\n readonly openAsReadOnly?: boolean;\r\n}\r\n\r\n/**\r\n * Properties that specify a briefcase within the local briefcase cache.\r\n * @see BriefcaseManager.getFileName\r\n * @public\r\n */\r\nexport interface BriefcaseProps {\r\n /** Id of the iModel */\r\n readonly iModelId: GuidString;\r\n\r\n /** BriefcaseId of the briefcase */\r\n readonly briefcaseId: BriefcaseId;\r\n}\r\n\r\n/** Properties for opening a local briefcase file via [BriefcaseDb.open]($backend)\r\n * @public\r\n */\r\nexport interface OpenBriefcaseProps extends OpenDbKey {\r\n /** the full path to the briefcase file */\r\n readonly fileName: LocalFileName;\r\n /**\r\n * If true, open the briefcase readonly.\r\n * @note Readonly connections always hold a read transaction against the briefcase. That can cause the WAL file size to grow\r\n * unbounded if changes happen while they're open (see [Checkpoint starvation](https://www.sqlite.org/wal.html#avoiding_excessively_large_wal_files))\r\n * It is a good idea to close the readonly connection *before* closing the writeable connection so the WAL file will be deleted.\r\n */\r\n readonly readonly?: boolean;\r\n /** If true, open the briefcase readonly and monitor it for changes originating from another connection.\r\n * When such changes are detected, the default txn will be restarted.\r\n * The restart occurs only after the next iteration of the backend event loop, and will generate events that reflect the changes from the other connection.\r\n * This can be useful in contexts where the read-only connection is displaying a view of the contents of the briefcase while another, non-interactive program\r\n * is adding txns to the briefcase. It may not be reliable if the writable connection is undoing or redoing txns.\r\n * @note This cannot be used with cloud-based briefcases.\r\n */\r\n readonly watchForChanges?: boolean;\r\n}\r\n\r\n/** Properties of a local briefcase file, returned by [BriefcaseManager.getCachedBriefcases]($backend) and [BriefcaseManager.downloadBriefcase]($backend)\r\n * @public\r\n * @extensions\r\n */\r\nexport interface LocalBriefcaseProps {\r\n /** Full path of local file. */\r\n readonly fileName: LocalFileName;\r\n\r\n /** The iTwin containing the iModel. */\r\n readonly iTwinId: GuidString;\r\n\r\n /** The iModelId. */\r\n readonly iModelId: GuidString;\r\n\r\n /** The briefcaseId. */\r\n readonly briefcaseId: BriefcaseId;\r\n\r\n /** The current changesetId.\r\n * @note ChangeSet Ids are string hash values based on the ChangeSet's content and parent.\r\n */\r\n readonly changeset: ChangesetIdWithIndex;\r\n\r\n /** Size of the briefcase file in bytes */\r\n readonly fileSize: number;\r\n}\r\n\r\n/** Properties for downloading a briefcase to a local file, from iModelHub.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface RequestNewBriefcaseProps {\r\n /** iTwin that the iModel belongs to. */\r\n readonly iTwinId: GuidString;\r\n\r\n /** The iModelId for the new briefcase. */\r\n readonly iModelId: GuidString;\r\n\r\n /** Full path of local file to store the briefcase. If undefined, a file will be created in the briefcase cache, and this member will be filled with the full path to the file.\r\n * Callers can use this to open the briefcase after the download completes.\r\n * @note this member is both an input and an output.\r\n */\r\n readonly fileName?: LocalFileName;\r\n\r\n /**\r\n * The BriefcaseId for the new briefcase. If undefined, a new BriefcaseId will be acquired from iModelHub before the download, and is returned in this member.\r\n * @note To download a briefcase that can accept but not create new changesets (sometimes referred to as \"pull only\" briefcases), set this value to [[BriefcaseIdValue.Unassigned]].\r\n * After downloading, you can merely delete unassigned briefcase files when they are no longer needed. Assigned BriefcaseIds should be released (via [BriefcaseManager.releaseBriefcase]($backend) )\r\n * when you are done with them.\r\n * @note this member is both an input and an output.\r\n *\r\n */\r\n briefcaseId?: BriefcaseId;\r\n\r\n /** Id of the change set of the new briefcase. If undefined, use latest. */\r\n asOf?: IModelVersionProps;\r\n\r\n /** A string to represent the device that holds the briefcase. */\r\n deviceName?: string;\r\n}\r\n\r\n/**\r\n * Arguments to open a Checkpoint directly from its cloud container\r\n * @beta\r\n */\r\nexport interface OpenCheckpointArgs {\r\n readonly iTwinId: GuidString;\r\n\r\n /** Id of the iModel */\r\n readonly iModelId: GuidString;\r\n\r\n /** changeset for the checkpoint. If undefined, attempt to open the checkpoint for the latest changeset. */\r\n readonly changeset?: ChangesetIndexOrId;\r\n}\r\n\r\n/**\r\n * Manages the download of a briefcase\r\n * @public\r\n */\r\nexport interface BriefcaseDownloader {\r\n /** Id of the briefcase being downloaded */\r\n readonly briefcaseId: BriefcaseId;\r\n\r\n /** the name of the local file for the briefcase */\r\n readonly fileName: LocalFileName;\r\n\r\n /** Promise that resolves when the download completes. await this to complete the download */\r\n readonly downloadPromise: Promise<void>;\r\n\r\n /** Request cancellation of the download */\r\n readonly requestCancel: () => Promise<boolean>;\r\n}\r\n\r\n/** Option to control the validation and upgrade of domain schemas in the Db\r\n * @beta\r\n */\r\nexport enum DomainOptions {\r\n /** Domain schemas will be validated for any required upgrades. Any errors will be reported back, and cause the application to fail opening the Db */\r\n CheckRequiredUpgrades = 0,\r\n\r\n /** Domain schemas will be validated for any required or optional upgrades. Any errors will be reported back, and cause the application to fail opening the Db */\r\n CheckRecommendedUpgrades = 1,\r\n\r\n /** Domain schemas will be upgraded if necessary. However, only compatible schema upgrades will be allowed - these are typically additions of classes, properties, and changes to custom attributes */\r\n Upgrade = 2,\r\n\r\n /** Domain schemas will neither be validated nor be upgraded. Used only internally */\r\n SkipCheck = 3,\r\n}\r\n\r\n/** Options that control whether a profile upgrade should be performed when opening a Db\r\n * @beta\r\n */\r\nexport enum ProfileOptions {\r\n /** No profile upgrade will be performed. If a profile upgrade was required, opening the file will fail */\r\n None = 0,\r\n\r\n /** Profile upgrade will be performed if necessary */\r\n Upgrade = 1,\r\n}\r\n\r\n/** Arguments to validate and update the profile and domain schemas when opening a Db\r\n * @beta\r\n */\r\nexport interface UpgradeOptions {\r\n /** Option to control the validation and upgrade of domain schemas in the Db */\r\n readonly domain?: DomainOptions;\r\n\r\n /** Options that control whether a profile upgrade should be performed when opening a file */\r\n readonly profile?: ProfileOptions;\r\n\r\n /** Options that will allow data transform during Profile/Domain schema upgrade */\r\n readonly schemaLockHeld?: boolean;\r\n}\r\n\r\n/**\r\n * The state of the schemas in the Db compared with what the current version of the software expects\r\n * Note: The state may vary depending on whether the Db is to be opened ReadOnly or ReadWrite.\r\n * @public\r\n */\r\nexport enum SchemaState {\r\n /** The schemas in the Db are up-to-date, and do not need to be upgraded before opening it with the current version of the software */\r\n UpToDate,\r\n\r\n /** It's required that the schemas in the Db be upgraded before it can be opened with the current version of the software.\r\n * This may happen in read-write scenarios where the application requires a newer version of the schemas to be in place before\r\n * it can write data based on that new schema.\r\n */\r\n UpgradeRequired,\r\n\r\n /** It's recommended, but not necessary that the schemas in the Db be upgraded before opening it with the current version of the software */\r\n UpgradeRecommended,\r\n\r\n /** The schemas in the Db are too old to be opened by the current version of the software. Upgrade using the API is not possible. */\r\n TooOld,\r\n\r\n /** The schemas in the Db are too new to be opened by the current version of the software */\r\n TooNew,\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"BriefcaseTypes.js","sourceRoot":"","sources":["../../src/BriefcaseTypes.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAaH;;;GAGG;AACH,MAAM,CAAN,IAAY,gBAgCX;AAhCD,WAAY,gBAAgB;IAC1B,+CAA+C;IAC/C,sEAAoB,CAAA;IAEpB,gDAAgD;IAChD,4DAAa,CAAA;IAEb,gFAAgF;IAChF,mEAAc,CAAA;IAEd,+EAA+E;IAC/E,wEAAqC,CAAA;IAErC;;;;OAIG;IACH,wGAAqD,CAAA;IAErD;;;;;;;;;;OAUG;IACH,mEAAc,CAAA;AAChB,CAAC,EAhCW,gBAAgB,KAAhB,gBAAgB,QAgC3B;AAED;;;GAGG;AACH,MAAM,CAAN,IAAY,QAOX;AAPD,WAAY,QAAQ;IAClB,mIAAmI;IACnI,uDAAgB,CAAA;IAChB,0FAA0F;IAC1F,qDAAe,CAAA;IACf,6IAA6I;IAC7I,+CAAY,CAAA;AACd,CAAC,EAPW,QAAQ,KAAR,QAAQ,QAOnB;AA2ID;;GAEG;AACH,MAAM,CAAN,IAAY,aAYX;AAZD,WAAY,aAAa;IACvB,qJAAqJ;IACrJ,mFAAyB,CAAA;IAEzB,iKAAiK;IACjK,yFAA4B,CAAA;IAE5B,sMAAsM;IACtM,uDAAW,CAAA;IAEX,qFAAqF;IACrF,2DAAa,CAAA;AACf,CAAC,EAZW,aAAa,KAAb,aAAa,QAYxB;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,cAMX;AAND,WAAY,cAAc;IACxB,0GAA0G;IAC1G,mDAAQ,CAAA;IAER,qDAAqD;IACrD,yDAAW,CAAA;AACb,CAAC,EANW,cAAc,KAAd,cAAc,QAMzB;AAgBD;;;;GAIG;AACH,MAAM,CAAN,IAAY,WAkBX;AAlBD,WAAY,WAAW;IACrB,sIAAsI;IACtI,qDAAQ,CAAA;IAER;;;OAGG;IACH,mEAAe,CAAA;IAEf,4IAA4I;IAC5I,yEAAkB,CAAA;IAElB,oIAAoI;IACpI,iDAAM,CAAA;IAEN,4FAA4F;IAC5F,iDAAM,CAAA;AACR,CAAC,EAlBW,WAAW,KAAX,WAAW,QAkBtB","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module iModels\r\n */\r\n\r\nimport { GuidString } from \"@itwin/core-bentley\";\r\nimport { ChangesetIdWithIndex, ChangesetIndexOrId, LocalFileName } from \"./ChangesetProps\";\r\nimport { OpenDbKey } from \"./IModel\";\r\nimport { IModelVersionProps } from \"./IModelVersion\";\r\n\r\n/** The Id assigned to a briefcase by iModelHub, or [[BriefcaseIdValue.Unassigned]] .\r\n * @public\r\n * @extensions\r\n */\r\nexport type BriefcaseId = number;\r\n\r\n/** Values of [[BriefcaseId]] that have special meaning.\r\n * @public\r\n * @extensions\r\n */\r\nexport enum BriefcaseIdValue {\r\n /** Indicates an invalid/illegal BriefcaseId */\r\n Illegal = 0xffffffff,\r\n\r\n /** BriefcaseIds must be less than this value */\r\n Max = 1 << 24,\r\n\r\n /** All valid iModelHub issued BriefcaseIds will be equal or higher than this */\r\n FirstValid = 2,\r\n\r\n /** All valid iModelHub issued BriefcaseIds will be equal or lower than this */\r\n LastValid = BriefcaseIdValue.Max - 11,\r\n\r\n /**\r\n * Briefcase Id reserved for `Element` Ids allocated by SchemaSync reservations.\r\n * Never assigned to a real briefcase by iModelHub.\r\n * @internal\r\n */\r\n SchemaSyncElementReserved = BriefcaseIdValue.Max - 10,\r\n\r\n /**\r\n * The briefcase has not been assigned a unique Id by iModelHub. Only briefcases that have been assigned a unique BriefcaseId may create changesets,\r\n * because BriefcaseId is used to create unique ElementIds for new elements.\r\n *\r\n * The `Unassigned` briefcaseId is used for several purposes:\r\n * - **Snapshots**. Snapshot files are immutable copies of an iModel for archival or data exchange purposes. They can neither generate nor accept new changesets.\r\n * - **Checkpoints**. Checkpoints are Snapshots that represent a specific version on an iModel's timeline.\r\n * - **PullOnly**. A local briefcase file that may be used to \"slide\" along a timeline by applying incoming changesets.\r\n * They are always opened readonly except to apply changesets.\r\n * - **Standalone**. Standalone iModels are local files that are not connected to iModelHub, and therefore cannot accept or create changesets.\r\n */\r\n Unassigned = 0,\r\n}\r\n\r\n/** Whether a briefcase is editable or may only accept incoming changesets from iModelHub\r\n * @public\r\n * @extensions\r\n */\r\nexport enum SyncMode {\r\n /** Use a fixed version (i.e. a checkpoint). See [CheckpointManager]($backend) for preferred approach to using checkpoint files. */\r\n FixedVersion = 1,\r\n /** A briefcase that can be edited. A unique briefcaseId must be assigned by iModelHub. */\r\n PullAndPush = 2,\r\n /** use [[BriefcaseIdValue.Unassigned]]. This makes a briefcase that can accept changesets from iModelHub but can never create changesets. */\r\n PullOnly = 3,\r\n}\r\n\r\n/**\r\n * Options to open a previously downloaded briefcase\r\n * @public\r\n */\r\nexport interface OpenBriefcaseOptions {\r\n /** open briefcase Readonly */\r\n readonly openAsReadOnly?: boolean;\r\n}\r\n\r\n/**\r\n * Properties that specify a briefcase within the local briefcase cache.\r\n * @see BriefcaseManager.getFileName\r\n * @public\r\n */\r\nexport interface BriefcaseProps {\r\n /** Id of the iModel */\r\n readonly iModelId: GuidString;\r\n\r\n /** BriefcaseId of the briefcase */\r\n readonly briefcaseId: BriefcaseId;\r\n}\r\n\r\n/** Properties for opening a local briefcase file via [BriefcaseDb.open]($backend)\r\n * @public\r\n */\r\nexport interface OpenBriefcaseProps extends OpenDbKey {\r\n /** the full path to the briefcase file */\r\n readonly fileName: LocalFileName;\r\n /**\r\n * If true, open the briefcase readonly.\r\n * @note Readonly connections always hold a read transaction against the briefcase. That can cause the WAL file size to grow\r\n * unbounded if changes happen while they're open (see [Checkpoint starvation](https://www.sqlite.org/wal.html#avoiding_excessively_large_wal_files))\r\n * It is a good idea to close the readonly connection *before* closing the writeable connection so the WAL file will be deleted.\r\n */\r\n readonly readonly?: boolean;\r\n /** If true, open the briefcase readonly and monitor it for changes originating from another connection.\r\n * When such changes are detected, the default txn will be restarted.\r\n * The restart occurs only after the next iteration of the backend event loop, and will generate events that reflect the changes from the other connection.\r\n * This can be useful in contexts where the read-only connection is displaying a view of the contents of the briefcase while another, non-interactive program\r\n * is adding txns to the briefcase. It may not be reliable if the writable connection is undoing or redoing txns.\r\n * @note This cannot be used with cloud-based briefcases.\r\n */\r\n readonly watchForChanges?: boolean;\r\n}\r\n\r\n/** Properties of a local briefcase file, returned by [BriefcaseManager.getCachedBriefcases]($backend) and [BriefcaseManager.downloadBriefcase]($backend)\r\n * @public\r\n * @extensions\r\n */\r\nexport interface LocalBriefcaseProps {\r\n /** Full path of local file. */\r\n readonly fileName: LocalFileName;\r\n\r\n /** The iTwin containing the iModel. */\r\n readonly iTwinId: GuidString;\r\n\r\n /** The iModelId. */\r\n readonly iModelId: GuidString;\r\n\r\n /** The briefcaseId. */\r\n readonly briefcaseId: BriefcaseId;\r\n\r\n /** The current changesetId.\r\n * @note ChangeSet Ids are string hash values based on the ChangeSet's content and parent.\r\n */\r\n readonly changeset: ChangesetIdWithIndex;\r\n\r\n /** Size of the briefcase file in bytes */\r\n readonly fileSize: number;\r\n}\r\n\r\n/** Properties for downloading a briefcase to a local file, from iModelHub.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface RequestNewBriefcaseProps {\r\n /** iTwin that the iModel belongs to. */\r\n readonly iTwinId: GuidString;\r\n\r\n /** The iModelId for the new briefcase. */\r\n readonly iModelId: GuidString;\r\n\r\n /** Full path of local file to store the briefcase. If undefined, a file will be created in the briefcase cache, and this member will be filled with the full path to the file.\r\n * Callers can use this to open the briefcase after the download completes.\r\n * @note this member is both an input and an output.\r\n */\r\n readonly fileName?: LocalFileName;\r\n\r\n /**\r\n * The BriefcaseId for the new briefcase. If undefined, a new BriefcaseId will be acquired from iModelHub before the download, and is returned in this member.\r\n * @note To download a briefcase that can accept but not create new changesets (sometimes referred to as \"pull only\" briefcases), set this value to [[BriefcaseIdValue.Unassigned]].\r\n * After downloading, you can merely delete unassigned briefcase files when they are no longer needed. Assigned BriefcaseIds should be released (via [BriefcaseManager.releaseBriefcase]($backend) )\r\n * when you are done with them.\r\n * @note this member is both an input and an output.\r\n *\r\n */\r\n briefcaseId?: BriefcaseId;\r\n\r\n /** Id of the change set of the new briefcase. If undefined, use latest. */\r\n asOf?: IModelVersionProps;\r\n\r\n /** A string to represent the device that holds the briefcase. */\r\n deviceName?: string;\r\n}\r\n\r\n/**\r\n * Arguments to open a Checkpoint directly from its cloud container\r\n * @beta\r\n */\r\nexport interface OpenCheckpointArgs {\r\n readonly iTwinId: GuidString;\r\n\r\n /** Id of the iModel */\r\n readonly iModelId: GuidString;\r\n\r\n /** changeset for the checkpoint. If undefined, attempt to open the checkpoint for the latest changeset. */\r\n readonly changeset?: ChangesetIndexOrId;\r\n}\r\n\r\n/**\r\n * Manages the download of a briefcase\r\n * @public\r\n */\r\nexport interface BriefcaseDownloader {\r\n /** Id of the briefcase being downloaded */\r\n readonly briefcaseId: BriefcaseId;\r\n\r\n /** the name of the local file for the briefcase */\r\n readonly fileName: LocalFileName;\r\n\r\n /** Promise that resolves when the download completes. await this to complete the download */\r\n readonly downloadPromise: Promise<void>;\r\n\r\n /** Request cancellation of the download */\r\n readonly requestCancel: () => Promise<boolean>;\r\n}\r\n\r\n/** Option to control the validation and upgrade of domain schemas in the Db\r\n * @beta\r\n */\r\nexport enum DomainOptions {\r\n /** Domain schemas will be validated for any required upgrades. Any errors will be reported back, and cause the application to fail opening the Db */\r\n CheckRequiredUpgrades = 0,\r\n\r\n /** Domain schemas will be validated for any required or optional upgrades. Any errors will be reported back, and cause the application to fail opening the Db */\r\n CheckRecommendedUpgrades = 1,\r\n\r\n /** Domain schemas will be upgraded if necessary. However, only compatible schema upgrades will be allowed - these are typically additions of classes, properties, and changes to custom attributes */\r\n Upgrade = 2,\r\n\r\n /** Domain schemas will neither be validated nor be upgraded. Used only internally */\r\n SkipCheck = 3,\r\n}\r\n\r\n/** Options that control whether a profile upgrade should be performed when opening a Db\r\n * @beta\r\n */\r\nexport enum ProfileOptions {\r\n /** No profile upgrade will be performed. If a profile upgrade was required, opening the file will fail */\r\n None = 0,\r\n\r\n /** Profile upgrade will be performed if necessary */\r\n Upgrade = 1,\r\n}\r\n\r\n/** Arguments to validate and update the profile and domain schemas when opening a Db\r\n * @beta\r\n */\r\nexport interface UpgradeOptions {\r\n /** Option to control the validation and upgrade of domain schemas in the Db */\r\n readonly domain?: DomainOptions;\r\n\r\n /** Options that control whether a profile upgrade should be performed when opening a file */\r\n readonly profile?: ProfileOptions;\r\n\r\n /** Options that will allow data transform during Profile/Domain schema upgrade */\r\n readonly schemaLockHeld?: boolean;\r\n}\r\n\r\n/**\r\n * The state of the schemas in the Db compared with what the current version of the software expects\r\n * Note: The state may vary depending on whether the Db is to be opened ReadOnly or ReadWrite.\r\n * @public\r\n */\r\nexport enum SchemaState {\r\n /** The schemas in the Db are up-to-date, and do not need to be upgraded before opening it with the current version of the software */\r\n UpToDate,\r\n\r\n /** It's required that the schemas in the Db be upgraded before it can be opened with the current version of the software.\r\n * This may happen in read-write scenarios where the application requires a newer version of the schemas to be in place before\r\n * it can write data based on that new schema.\r\n */\r\n UpgradeRequired,\r\n\r\n /** It's recommended, but not necessary that the schemas in the Db be upgraded before opening it with the current version of the software */\r\n UpgradeRecommended,\r\n\r\n /** The schemas in the Db are too old to be opened by the current version of the software. Upgrade using the API is not possible. */\r\n TooOld,\r\n\r\n /** The schemas in the Db are too new to be opened by the current version of the software */\r\n TooNew,\r\n}\r\n"]}
|
|
@@ -12,6 +12,18 @@ export interface EntityIdAndClassId {
|
|
|
12
12
|
/** The Id of the entity's ECClass. */
|
|
13
13
|
classId: Id64String;
|
|
14
14
|
}
|
|
15
|
+
/** Metadata describing the ECClass of an entity changed by a transaction.
|
|
16
|
+
* @public
|
|
17
|
+
* @extensions
|
|
18
|
+
*/
|
|
19
|
+
export interface TxnEntityMetadata {
|
|
20
|
+
/** The class's name in "Schema:Class" format. */
|
|
21
|
+
readonly classFullName: string;
|
|
22
|
+
/** Returns `true` if this class is or is derived from the specified class.
|
|
23
|
+
* @note Class names are compared case-sensitively.
|
|
24
|
+
*/
|
|
25
|
+
is(baseClassFullName: string): boolean;
|
|
26
|
+
}
|
|
15
27
|
/** JSON representation of the set of [Element]($backend)s or [Model]($backend)s that were changed by a [Txn]($docs/learning/InteractiveEditing.md).
|
|
16
28
|
* @see [TxnManager.onElementsChanged]($backend) and [TxnManager.onModelsChanged]($backend).
|
|
17
29
|
* @see [BriefcaseTxns.onElementsChanged]($frontend) and [BriefcaseTxns.onModelsChanged]($frontend).
|
|
@@ -26,7 +38,8 @@ export interface ChangedEntities {
|
|
|
26
38
|
/** The ids of entities that were modified during the Txn, including any [Element]($backend)s for which one of their [ElementAspect]($backend)s was changed. */
|
|
27
39
|
updated?: CompressedId64Set;
|
|
28
40
|
}
|
|
29
|
-
/** A collection of [[EntityIdAndClassId]]s
|
|
41
|
+
/** A collection of [[EntityIdAndClassId]]s containing only entity and ECClass Ids.
|
|
42
|
+
* Backend transaction change events use a richer iterable that also exposes ECClass metadata.
|
|
30
43
|
* For efficiency, the iterator supplied by this iterable returns **the same `EntityIdAndClassId` object** on each iteration. Therefore the objects must be copied if you
|
|
31
44
|
* intend to store references to them. For example, to populate an array from the iterable:
|
|
32
45
|
* ```ts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChangedEntities.d.ts","sourceRoot":"","sources":["../../src/ChangedEntities.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEpE;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,uBAAuB;IACvB,EAAE,EAAE,UAAU,CAAC;IACf,sCAAsC;IACtC,OAAO,EAAE,UAAU,CAAC;CACrB;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,4DAA4D;IAC5D,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,+JAA+J;IAC/J,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B;AAED
|
|
1
|
+
{"version":3,"file":"ChangedEntities.d.ts","sourceRoot":"","sources":["../../src/ChangedEntities.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEpE;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,uBAAuB;IACvB,EAAE,EAAE,UAAU,CAAC;IACf,sCAAsC;IACtC,OAAO,EAAE,UAAU,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,iDAAiD;IACjD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,EAAE,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC;CACxC;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,4DAA4D;IAC5D,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,+JAA+J;IAC/J,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,0BAA0B,GAAG,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChangedEntities.js","sourceRoot":"","sources":["../../src/ChangedEntities.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module NativeApp\r\n */\r\n\r\nimport { CompressedId64Set, Id64String } from \"@itwin/core-bentley\";\r\n\r\n/** Describes an [Entity]($backend) and its [ECClass]($docs/bis/guide/references/glossary/#ecclass) by Id.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface EntityIdAndClassId {\r\n /** The entity's Id. */\r\n id: Id64String;\r\n /** The Id of the entity's ECClass. */\r\n classId: Id64String;\r\n}\r\n\r\n/** JSON representation of the set of [Element]($backend)s or [Model]($backend)s that were changed by a [Txn]($docs/learning/InteractiveEditing.md).\r\n * @see [TxnManager.onElementsChanged]($backend) and [TxnManager.onModelsChanged]($backend).\r\n * @see [BriefcaseTxns.onElementsChanged]($frontend) and [BriefcaseTxns.onModelsChanged]($frontend).\r\n * @public\r\n * @extensions\r\n */\r\nexport interface ChangedEntities {\r\n /** The ids of entities that were inserted during the Txn. */\r\n inserted?: CompressedId64Set;\r\n /** The ids of entities that were deleted during the Txn. */\r\n deleted?: CompressedId64Set;\r\n /** The ids of entities that were modified during the Txn, including any [Element]($backend)s for which one of their [ElementAspect]($backend)s was changed. */\r\n updated?: CompressedId64Set;\r\n}\r\n\r\n/** A collection of [[EntityIdAndClassId]]s
|
|
1
|
+
{"version":3,"file":"ChangedEntities.js","sourceRoot":"","sources":["../../src/ChangedEntities.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module NativeApp\r\n */\r\n\r\nimport { CompressedId64Set, Id64String } from \"@itwin/core-bentley\";\r\n\r\n/** Describes an [Entity]($backend) and its [ECClass]($docs/bis/guide/references/glossary/#ecclass) by Id.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface EntityIdAndClassId {\r\n /** The entity's Id. */\r\n id: Id64String;\r\n /** The Id of the entity's ECClass. */\r\n classId: Id64String;\r\n}\r\n\r\n/** Metadata describing the ECClass of an entity changed by a transaction.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface TxnEntityMetadata {\r\n /** The class's name in \"Schema:Class\" format. */\r\n readonly classFullName: string;\r\n\r\n /** Returns `true` if this class is or is derived from the specified class.\r\n * @note Class names are compared case-sensitively.\r\n */\r\n is(baseClassFullName: string): boolean;\r\n}\r\n\r\n/** JSON representation of the set of [Element]($backend)s or [Model]($backend)s that were changed by a [Txn]($docs/learning/InteractiveEditing.md).\r\n * @see [TxnManager.onElementsChanged]($backend) and [TxnManager.onModelsChanged]($backend).\r\n * @see [BriefcaseTxns.onElementsChanged]($frontend) and [BriefcaseTxns.onModelsChanged]($frontend).\r\n * @public\r\n * @extensions\r\n */\r\nexport interface ChangedEntities {\r\n /** The ids of entities that were inserted during the Txn. */\r\n inserted?: CompressedId64Set;\r\n /** The ids of entities that were deleted during the Txn. */\r\n deleted?: CompressedId64Set;\r\n /** The ids of entities that were modified during the Txn, including any [Element]($backend)s for which one of their [ElementAspect]($backend)s was changed. */\r\n updated?: CompressedId64Set;\r\n}\r\n\r\n/** A collection of [[EntityIdAndClassId]]s containing only entity and ECClass Ids.\r\n * Backend transaction change events use a richer iterable that also exposes ECClass metadata.\r\n * For efficiency, the iterator supplied by this iterable returns **the same `EntityIdAndClassId` object** on each iteration. Therefore the objects must be copied if you\r\n * intend to store references to them. For example, to populate an array from the iterable:\r\n * ```ts\r\n * function arrayFromIterable(entities: EntityIdAndClassIdIterable): EntityIdAndClassId[] {\r\n * // NO! return Array.from(entities);\r\n * const array = [];\r\n * for (const entity of entities)\r\n * array.push({...entity});\r\n *\r\n * return array;\r\n * }\r\n * ```\r\n * @public\r\n * @extensions\r\n */\r\nexport type EntityIdAndClassIdIterable = Iterable<Readonly<EntityIdAndClassId>>;\r\n"]}
|
package/lib/esm/Code.js
CHANGED
|
@@ -36,7 +36,7 @@ export class Code {
|
|
|
36
36
|
equals(other) { return Code.equalCodes(this, other); }
|
|
37
37
|
/** @internal */
|
|
38
38
|
static equalCodes(c1, c2) {
|
|
39
|
-
return c1.spec === c2.spec && c1.scope === c2.scope && c1.value === c2.value;
|
|
39
|
+
return c1.spec === c2.spec && c1.scope === c2.scope && (c1.value ?? "").toLowerCase() === (c2.value ?? "").toLowerCase();
|
|
40
40
|
}
|
|
41
41
|
/** Determine whether this Code is valid. */
|
|
42
42
|
static isValid(c) { return Id64.isValidId64(c.spec); }
|
package/lib/esm/Code.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Code.js","sourceRoot":"","sources":["../../src/Code.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Codes\r\n */\r\n\r\nimport { GuidString, Id64, Id64String, JsonUtils } from \"@itwin/core-bentley\";\r\nimport { IModel } from \"./IModel\";\r\n\r\n/**\r\n * The ElementId of the element that defines the scope for a Code value.\r\n * @note For insert or update, you may supply the FederationGuid of the scope element and it will be converted to the ElementId of that element.\r\n * @public\r\n * @extensions\r\n */\r\nexport type CodeScopeProps = Id64String | GuidString;\r\n\r\n/** The parameters that define a Code\r\n * @public\r\n * @extensions\r\n */\r\nexport interface CodeProps {\r\n /** Either the stringified 64-bit Id of the CodeSpec for this code, or the name of the CodeSpec. */\r\n spec: Id64String | string;\r\n /** Either the ElementId or the FederationGuid of the element that provides the scope for this code. */\r\n scope: CodeScopeProps;\r\n /** the value of this code. May be undefined. */\r\n value?: string;\r\n}\r\n\r\n/**\r\n * A three-part structure containing information about the [Code]($docs/bis/guide/fundamentals/codes) of an Element\r\n * @public\r\n */\r\nexport class Code implements CodeProps {\r\n /** The id of the [CodeSpec]($docs/bis/guide/fundamentals/codes.md#codespec) of the Element */\r\n public spec: Id64String;\r\n /** The [CodeScope]($docs/bis/guide/fundamentals/codes.md#codescope-property) of the Element */\r\n public scope: Id64String;\r\n /** The [CodeValue]($docs/bis/guide/fundamentals/codes.md#codevalue-property) of the Element\r\n * @note Leading and trailing whitespace is invalid so is automatically trimmed.\r\n */\r\n public get value() { return this._value ?? \"\"; }\r\n public set value(val: string) { this._value = val?.trim(); }\r\n private _value?: string;\r\n\r\n constructor(codeProps: CodeProps) {\r\n this.spec = Id64.fromJSON(codeProps.spec);\r\n this.scope = JsonUtils.asString(codeProps.scope);\r\n this.value = JsonUtils.asString(codeProps.value);\r\n }\r\n\r\n /** Create an empty, non-unique code with no special meaning. */\r\n public static createEmpty(): Code {\r\n const id = Id64.fromLocalAndBriefcaseIds(1, 0);\r\n return new Code({ spec: id, scope: id });\r\n }\r\n\r\n public static fromJSON(json?: any): Code { return json ? new Code(json) : Code.createEmpty(); }\r\n public toJSON(): CodeProps { return { spec: this.spec, scope: this.scope, value: this.value }; }\r\n public equals(other: Code): boolean { return Code.equalCodes(this, other); }\r\n /** @internal */\r\n public static equalCodes(c1: CodeProps, c2: CodeProps): boolean {\r\n return c1.spec === c2.spec && c1.scope === c2.scope && c1.value === c2.value;\r\n }\r\n /** Determine whether this Code is valid. */\r\n public static isValid(c: CodeProps): boolean { return Id64.isValidId64(c.spec); }\r\n /** Determine if this code is valid but not otherwise meaningful (and therefore not necessarily unique) */\r\n public static isEmpty(c: CodeProps): boolean { return this.isValid(c) && (c.value === undefined || c.value === \"\"); }\r\n\r\n public toString(): string { return `[Code: ${this.spec}, ${this.scope}, ${this.value}]`; }\r\n}\r\n\r\n/** Names of the internal BIS CodeSpecs. These names match those specified by the native library.\r\n * For other domains, the best practice is to include the domain name or alias as part of the CodeSpec name to ensure global uniqueness.\r\n * @public\r\n* @extensions\r\n* @see [CodeSpec]($docs/bis/guide/fundamentals/codes.md#codespec)\r\n */\r\nexport enum BisCodeSpec {\r\n /** The name of the standard [[CodeSpec]] used when creating *empty* codes.\r\n * @see [[Code.createEmpty]]\r\n */\r\n nullCodeSpec = \"bis:NullCodeSpec\",\r\n /** @internal */\r\n annotationFrameStyle = \"bis:AnnotationFrameStyle\",\r\n /** @internal */\r\n annotationLeaderStyle = \"bis:AnnotationLeaderStyle\",\r\n /** @internal */\r\n annotationTextStyle = \"bis:AnnotationTextStyle\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [AuxCoordSystem2d]($backend) elements.\r\n * @see [AuxCoordSystem2d.createCode]($backend)\r\n */\r\n auxCoordSystem2d = \"bis:AuxCoordSystem2d\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [AuxCoordSystem3d]($backend) elements.\r\n * @see [AuxCoordSystem3d.createCode]($backend)\r\n */\r\n auxCoordSystem3d = \"bis:AuxCoordSystem3d\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [AuxCoordSystemSpatial]($backend) elements.\r\n * @see [AuxCoordSystemSpatial.createCode]($backend)\r\n */\r\n auxCoordSystemSpatial = \"bis:AuxCoordSystemSpatial\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [CategorySelector]($backend) elements.\r\n * @see [CategorySelector.createCode]($backend)\r\n */\r\n categorySelector = \"bis:CategorySelector\",\r\n /** @internal */\r\n colorBook = \"bis:ColorBook\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [DisplayStyle]($backend) elements.\r\n * @see [DisplayStyle.createCode]($backend)\r\n */\r\n displayStyle = \"bis:DisplayStyle\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [Drawing]($backend) elements.\r\n * @see [Drawing.createCode]($backend)\r\n */\r\n drawing = \"bis:Drawing\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [DrawingCategory]($backend) elements.\r\n * @see [DrawingCategory.createCode]($backend)\r\n */\r\n drawingCategory = \"bis:DrawingCategory\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [ExternalSource]($backend) elements.\r\n * @note This CodeSpec is not automatically created, so use [ExternalSource.ensureCodeSpec]($backend) to make sure that it exists.\r\n * @see [ExternalSource.createCode]($backend)\r\n */\r\n externalSource = \"bis:ExternalSource\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [ExternalSourceAttachment]($backend) elements.\r\n * @note This CodeSpec is not automatically created, so use [ExternalSourceAttachment.ensureCodeSpec]($backend) to make sure that it exists.\r\n * @see [ExternalSource.createCode]($backend)\r\n */\r\n externalSourceAttachment = \"bis:ExternalSourceAttachment\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [GeometryPart]($backend) elements.\r\n * @see [GeometryPart.createCode]($backend)\r\n */\r\n geometryPart = \"bis:GeometryPart\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [GraphicalType2d]($backend) elements.\r\n * @see [GraphicalType2d.createCode]($backend)\r\n */\r\n graphicalType2d = \"bis:GraphicalType2d\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [LineStyle]($backend) elements.\r\n * @see [LineStyle.createCode]($backend)\r\n */\r\n lineStyle = \"bis:LineStyle\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [LinkElement]($backend) elements.\r\n * @see [LinkElement.createCode]($backend)\r\n */\r\n linkElement = \"bis:LinkElement\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [ModelSelector]($backend) elements.\r\n * @see [ModelSelector.createCode]($backend)\r\n */\r\n modelSelector = \"bis:ModelSelector\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [PhysicalMaterial]($backend) elements.\r\n * @see [PhysicalMaterial.createCode]($backend)\r\n */\r\n physicalMaterial = \"bis:PhysicalMaterial\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [PhysicalType]($backend) elements.\r\n * @see [PhysicalType.createCode]($backend)\r\n */\r\n physicalType = \"bis:PhysicalType\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [InformationPartitionElement]($backend) elements.\r\n * @see [InformationPartitionElement.createCode]($backend)\r\n */\r\n informationPartitionElement = \"bis:InformationPartitionElement\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [RenderMaterialElement]($backend) elements.\r\n * @see [RenderMaterialElement.createCode]($backend)\r\n */\r\n renderMaterial = \"bis:RenderMaterial\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [Sheet]($backend) elements.\r\n * @see [Sheet.createCode]($backend)\r\n */\r\n sheet = \"bis:Sheet\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [SheetIndex]($backend) elements.\r\n * @see [SheetIndex.createCode]($backend)\r\n */\r\n sheetIndex = \"bis:SheetIndex\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [SheetIndexEntry]($backend) elements.\r\n * @see [SheetIndexEntry.createCode]($backend)\r\n */\r\n sheetIndexEntry = \"bis:SheetIndexEntry\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [SpatialCategory]($backend) elements.\r\n * @see [SpatialCategory.createCode]($backend)\r\n */\r\n spatialCategory = \"bis:SpatialCategory\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [SpatialLocationType]($backend) elements.\r\n * @see [SpatialLocationType.createCode]($backend)\r\n */\r\n spatialLocationType = \"bis:SpatialLocationType\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [SubCategory]($backend) elements.\r\n * @see [SubCategory.createCode]($backend)\r\n */\r\n subCategory = \"bis:SubCategory\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [Subject]($backend) elements.\r\n * @see [Subject.createCode]($backend)\r\n */\r\n subject = \"bis:Subject\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [TemplateRecipe2d]($backend) elements.\r\n * @see [TemplateRecipe2d.createCode]($backend)\r\n */\r\n templateRecipe2d = \"bis:TemplateRecipe2d\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [TemplateRecipe3d]($backend) elements.\r\n * @see [TemplateRecipe3d.createCode]($backend)\r\n */\r\n templateRecipe3d = \"bis:TemplateRecipe3d\",\r\n /** @internal */\r\n textAnnotationSeed = \"bis:TextAnnotationSeed\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [Texture]($backend) elements.\r\n * @see [Texture.createCode]($backend)\r\n */\r\n texture = \"bis:Texture\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [ViewDefinition]($backend) elements.\r\n * @see [ViewDefinition.createCode]($backend)\r\n */\r\n viewDefinition = \"bis:ViewDefinition\",\r\n}\r\n\r\n/** The scope of the Code.\r\n * @public\r\n */\r\nexport namespace CodeScopeSpec {\r\n /** The standard ways the CodeScope can be specified.\r\n * @public\r\n */\r\n export enum Type {\r\n /** The Code value must be unique within (at least) the iModel repository */\r\n Repository = 1,\r\n /** The Code value must be unique within the scope of the Model */\r\n Model = 2,\r\n /** The Code value must be unique among other children of the same parent element */\r\n ParentElement = 3,\r\n /** The Code value must be unique among other elements also scoped by the same element */\r\n RelatedElement = 4,\r\n }\r\n\r\n /**\r\n * Requirements for how the CodeScope Element is identified.\r\n * @public\r\n */\r\n export enum ScopeRequirement {\r\n /** The ElementId of CodeScope element identifies its scope. Used for Codes that are unique only within a single iModel. */\r\n ElementId = 1,\r\n /** The FederationGuid of the CodeScope element identifies its scope. Used for Codes that are globally unique. */\r\n FederationGuid = 2,\r\n }\r\n}\r\n\r\n/**\r\n * The JSON properties of a CodeSpec\r\n * @public\r\n */\r\nexport interface CodeSpecProperties {\r\n scopeSpec: {\r\n /** the type of CodeSpec */\r\n type: CodeScopeSpec.Type;\r\n /** If true, the federationGuid of the scope element identifies the scope, for Codes that are globally unique.\r\n * Otherwise, the ElementId of the scopeElement is used, for Codes that are scoped only within a single iModel.\r\n */\r\n fGuidRequired?: boolean;\r\n /** The relationship className (in the form \"schema:class\"), when `type` is `CodeScopeSpec.Type.RelatedElement` */\r\n relationship?: string;\r\n };\r\n spec?: {\r\n isManagedWithDgnDb?: boolean;\r\n };\r\n version?: string;\r\n}\r\n\r\n/** A [Code Specification]($docs/bis/guide/references/glossary#codespec) captures the rules for encoding and decoding significant business information into\r\n * and from a Code (string). This specification is used to generate and validate Codes.\r\n *\r\n * A CodeSpec defines the format of a Code for a certain type of Element in an IModel.\r\n * A CodeSpec can identify an external system that maintains and/or assigns Codes.\r\n * @public\r\n */\r\nexport class CodeSpec {\r\n /** The iModel holding this CodeSpec. */\r\n public iModel: IModel;\r\n /** The id of this CodeSpec. */\r\n public id: Id64String;\r\n /** The name of this CodeSpec. */\r\n public name: string;\r\n /** The JSON properties for this CodeSpec.\r\n * @note Use the getters and setters instead of accessing this directly.\r\n * @internal\r\n */\r\n public properties: CodeSpecProperties;\r\n\r\n private constructor(iModel: IModel, id: Id64String, name: string, properties?: CodeSpecProperties) {\r\n this.iModel = iModel;\r\n this.id = id;\r\n this.name = name;\r\n this.properties = properties ?? { scopeSpec: { type: CodeScopeSpec.Type.Repository } };\r\n }\r\n\r\n /** Create a new CodeSpec from the specified parameters\r\n * > Note: CodeSpec.id will not be valid until inserted\r\n * @see [CodeSpecs.insert]($backend)\r\n */\r\n public static create(iModel: IModel, name: string, scopeType: CodeScopeSpec.Type, scopeReq?: CodeScopeSpec.ScopeRequirement): CodeSpec {\r\n const props: CodeSpecProperties = { scopeSpec: { type: scopeType } };\r\n if (scopeReq)\r\n props.scopeSpec.fGuidRequired = scopeReq === CodeScopeSpec.ScopeRequirement.FederationGuid;\r\n\r\n return new CodeSpec(iModel, Id64.invalid, name, props);\r\n }\r\n\r\n /** Create a new CodeSpec directly from JSON. Used internally by the CodeSpecs.load function.\r\n * @internal\r\n */\r\n public static createFromJson(iModel: IModel, id: Id64String, name: string, properties?: CodeSpecProperties): CodeSpec {\r\n return new CodeSpec(iModel, id, name, properties);\r\n }\r\n\r\n /** Will be true if the id of this CodeSpec is valid. */\r\n public get isValid(): boolean { return Id64.isValid(this.id); }\r\n public get isExternal(): boolean {\r\n return true === this.properties.scopeSpec.fGuidRequired;\r\n }\r\n\r\n /** The scope type of this CodeSpec. */\r\n public get scopeType(): CodeScopeSpec.Type { return this.properties.scopeSpec.type; }\r\n public set scopeType(scopeType: CodeScopeSpec.Type) { this.properties.scopeSpec.type = scopeType; }\r\n\r\n /** Will be `CodeScopeSpec.ScopeRequirement.FederationGuid` if the scoping element is required to have a FederationGuid or\r\n * CodeScopeSpec.ScopeRequirement.ElementId` otherwise (the default).\r\n */\r\n public get scopeReq(): CodeScopeSpec.ScopeRequirement {\r\n return this.properties.scopeSpec.fGuidRequired ? CodeScopeSpec.ScopeRequirement.FederationGuid : CodeScopeSpec.ScopeRequirement.ElementId;\r\n }\r\n public set scopeReq(req: CodeScopeSpec.ScopeRequirement) {\r\n if (CodeScopeSpec.ScopeRequirement.FederationGuid === req)\r\n this.properties.scopeSpec.fGuidRequired = true;\r\n else\r\n this.properties.scopeSpec.fGuidRequired = undefined;\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"Code.js","sourceRoot":"","sources":["../../src/Code.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAc,IAAI,EAAc,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAwB9E;;;GAGG;AACH,MAAM,OAAO,IAAI;IACf,8FAA8F;IACvF,IAAI,CAAa;IACxB,+FAA+F;IACxF,KAAK,CAAa;IACzB;;OAEG;IACH,IAAW,KAAK,KAAK,OAAO,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;IAChD,IAAW,KAAK,CAAC,GAAW,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACpD,MAAM,CAAU;IAExB,YAAY,SAAoB;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;IAED,gEAAgE;IACzD,MAAM,CAAC,WAAW;QACvB,MAAM,EAAE,GAAG,IAAI,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/C,OAAO,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3C,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAC,IAAU,IAAU,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACxF,MAAM,KAAgB,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACzF,MAAM,CAAC,KAAW,IAAa,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5E,gBAAgB;IACT,MAAM,CAAC,UAAU,CAAC,EAAa,EAAE,EAAa;QACnD,OAAO,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC3H,CAAC;IACD,4CAA4C;IACrC,MAAM,CAAC,OAAO,CAAC,CAAY,IAAa,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjF,0GAA0G;IACnG,MAAM,CAAC,OAAO,CAAC,CAAY,IAAa,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAE9G,QAAQ,KAAa,OAAO,UAAU,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;CAC3F;AAED;;;;;GAKG;AACH,MAAM,CAAN,IAAY,WAqIX;AArID,WAAY,WAAW;IACrB;;OAEG;IACH,gDAAiC,CAAA;IACjC,gBAAgB;IAChB,gEAAiD,CAAA;IACjD,gBAAgB;IAChB,kEAAmD,CAAA;IACnD,gBAAgB;IAChB,8DAA+C,CAAA;IAC/C;;OAEG;IACH,wDAAyC,CAAA;IACzC;;OAEG;IACH,wDAAyC,CAAA;IACzC;;OAEG;IACH,kEAAmD,CAAA;IACnD;;OAEG;IACH,wDAAyC,CAAA;IACzC,gBAAgB;IAChB,0CAA2B,CAAA;IAC3B;;OAEG;IACH,gDAAiC,CAAA;IACjC;;OAEG;IACH,sCAAuB,CAAA;IACvB;;OAEG;IACH,sDAAuC,CAAA;IACvC;;;OAGG;IACH,oDAAqC,CAAA;IACrC;;;OAGG;IACH,wEAAyD,CAAA;IACzD;;OAEG;IACH,gDAAiC,CAAA;IACjC;;OAEG;IACH,sDAAuC,CAAA;IACvC;;OAEG;IACH,0CAA2B,CAAA;IAC3B;;OAEG;IACH,8CAA+B,CAAA;IAC/B;;OAEG;IACH,kDAAmC,CAAA;IACnC;;OAEG;IACH,wDAAyC,CAAA;IACzC;;OAEG;IACH,gDAAiC,CAAA;IACjC;;OAEG;IACH,8EAA+D,CAAA;IAC/D;;OAEG;IACH,oDAAqC,CAAA;IACrC;;OAEG;IACH,kCAAmB,CAAA;IACnB;;OAEG;IACH,4CAA6B,CAAA;IAC7B;;OAEG;IACH,sDAAuC,CAAA;IACvC;;OAEG;IACH,sDAAuC,CAAA;IACvC;;OAEG;IACH,8DAA+C,CAAA;IAC/C;;OAEG;IACH,8CAA+B,CAAA;IAC/B;;OAEG;IACH,sCAAuB,CAAA;IACvB;;OAEG;IACH,wDAAyC,CAAA;IACzC;;OAEG;IACH,wDAAyC,CAAA;IACzC,gBAAgB;IAChB,4DAA6C,CAAA;IAC7C;;OAEG;IACH,sCAAuB,CAAA;IACvB;;OAEG;IACH,oDAAqC,CAAA;AACvC,CAAC,EArIW,WAAW,KAAX,WAAW,QAqItB;AAED;;GAEG;AACH,MAAM,KAAW,aAAa,CAyB7B;AAzBD,WAAiB,aAAa;IAC5B;;OAEG;IACH,IAAY,IASX;IATD,WAAY,IAAI;QACd,4EAA4E;QAC5E,2CAAc,CAAA;QACd,kEAAkE;QAClE,iCAAS,CAAA;QACT,oFAAoF;QACpF,iDAAiB,CAAA;QACjB,yFAAyF;QACzF,mDAAkB,CAAA;IACpB,CAAC,EATW,IAAI,GAAJ,kBAAI,KAAJ,kBAAI,QASf;IAED;;;OAGG;IACH,IAAY,gBAKX;IALD,WAAY,gBAAgB;QAC1B,2HAA2H;QAC3H,iEAAa,CAAA;QACb,iHAAiH;QACjH,2EAAkB,CAAA;IACpB,CAAC,EALW,gBAAgB,GAAhB,8BAAgB,KAAhB,8BAAgB,QAK3B;AACH,CAAC,EAzBgB,aAAa,KAAb,aAAa,QAyB7B;AAuBD;;;;;;GAMG;AACH,MAAM,OAAO,QAAQ;IACnB,wCAAwC;IACjC,MAAM,CAAS;IACtB,+BAA+B;IACxB,EAAE,CAAa;IACtB,iCAAiC;IAC1B,IAAI,CAAS;IACpB;;;OAGG;IACI,UAAU,CAAqB;IAEtC,YAAoB,MAAc,EAAE,EAAc,EAAE,IAAY,EAAE,UAA+B;QAC/F,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,UAAU,IAAI,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;IACzF,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,MAAM,CAAC,MAAc,EAAE,IAAY,EAAE,SAA6B,EAAE,QAAyC;QACzH,MAAM,KAAK,GAAuB,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC;QACrE,IAAI,QAAQ;YACV,KAAK,CAAC,SAAS,CAAC,aAAa,GAAG,QAAQ,KAAK,aAAa,CAAC,gBAAgB,CAAC,cAAc,CAAC;QAE7F,OAAO,IAAI,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,cAAc,CAAC,MAAc,EAAE,EAAc,EAAE,IAAY,EAAE,UAA+B;QACxG,OAAO,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;IACpD,CAAC;IAED,wDAAwD;IACxD,IAAW,OAAO,KAAc,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/D,IAAW,UAAU;QACnB,OAAO,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,aAAa,CAAC;IAC1D,CAAC;IAED,uCAAuC;IACvC,IAAW,SAAS,KAAyB,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACrF,IAAW,SAAS,CAAC,SAA6B,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC;IAEnG;;OAEG;IACH,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC,gBAAgB,CAAC,SAAS,CAAC;IAC5I,CAAC;IACD,IAAW,QAAQ,CAAC,GAAmC;QACrD,IAAI,aAAa,CAAC,gBAAgB,CAAC,cAAc,KAAK,GAAG;YACvD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC;;YAE/C,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,aAAa,GAAG,SAAS,CAAC;IACxD,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Codes\r\n */\r\n\r\nimport { GuidString, Id64, Id64String, JsonUtils } from \"@itwin/core-bentley\";\r\nimport { IModel } from \"./IModel\";\r\n\r\n/**\r\n * The ElementId of the element that defines the scope for a Code value.\r\n * @note For insert or update, you may supply the FederationGuid of the scope element and it will be converted to the ElementId of that element.\r\n * @public\r\n * @extensions\r\n */\r\nexport type CodeScopeProps = Id64String | GuidString;\r\n\r\n/** The parameters that define a Code\r\n * @public\r\n * @extensions\r\n */\r\nexport interface CodeProps {\r\n /** Either the stringified 64-bit Id of the CodeSpec for this code, or the name of the CodeSpec. */\r\n spec: Id64String | string;\r\n /** Either the ElementId or the FederationGuid of the element that provides the scope for this code. */\r\n scope: CodeScopeProps;\r\n /** the value of this code. May be undefined. */\r\n value?: string;\r\n}\r\n\r\n/**\r\n * A three-part structure containing information about the [Code]($docs/bis/guide/fundamentals/codes) of an Element\r\n * @public\r\n */\r\nexport class Code implements CodeProps {\r\n /** The id of the [CodeSpec]($docs/bis/guide/fundamentals/codes.md#codespec) of the Element */\r\n public spec: Id64String;\r\n /** The [CodeScope]($docs/bis/guide/fundamentals/codes.md#codescope-property) of the Element */\r\n public scope: Id64String;\r\n /** The [CodeValue]($docs/bis/guide/fundamentals/codes.md#codevalue-property) of the Element\r\n * @note Leading and trailing whitespace is invalid so is automatically trimmed.\r\n */\r\n public get value() { return this._value ?? \"\"; }\r\n public set value(val: string) { this._value = val?.trim(); }\r\n private _value?: string;\r\n\r\n constructor(codeProps: CodeProps) {\r\n this.spec = Id64.fromJSON(codeProps.spec);\r\n this.scope = JsonUtils.asString(codeProps.scope);\r\n this.value = JsonUtils.asString(codeProps.value);\r\n }\r\n\r\n /** Create an empty, non-unique code with no special meaning. */\r\n public static createEmpty(): Code {\r\n const id = Id64.fromLocalAndBriefcaseIds(1, 0);\r\n return new Code({ spec: id, scope: id });\r\n }\r\n\r\n public static fromJSON(json?: any): Code { return json ? new Code(json) : Code.createEmpty(); }\r\n public toJSON(): CodeProps { return { spec: this.spec, scope: this.scope, value: this.value }; }\r\n public equals(other: Code): boolean { return Code.equalCodes(this, other); }\r\n /** @internal */\r\n public static equalCodes(c1: CodeProps, c2: CodeProps): boolean {\r\n return c1.spec === c2.spec && c1.scope === c2.scope && (c1.value ?? \"\").toLowerCase() === (c2.value ?? \"\").toLowerCase();\r\n }\r\n /** Determine whether this Code is valid. */\r\n public static isValid(c: CodeProps): boolean { return Id64.isValidId64(c.spec); }\r\n /** Determine if this code is valid but not otherwise meaningful (and therefore not necessarily unique) */\r\n public static isEmpty(c: CodeProps): boolean { return this.isValid(c) && (c.value === undefined || c.value === \"\"); }\r\n\r\n public toString(): string { return `[Code: ${this.spec}, ${this.scope}, ${this.value}]`; }\r\n}\r\n\r\n/** Names of the internal BIS CodeSpecs. These names match those specified by the native library.\r\n * For other domains, the best practice is to include the domain name or alias as part of the CodeSpec name to ensure global uniqueness.\r\n * @public\r\n* @extensions\r\n* @see [CodeSpec]($docs/bis/guide/fundamentals/codes.md#codespec)\r\n */\r\nexport enum BisCodeSpec {\r\n /** The name of the standard [[CodeSpec]] used when creating *empty* codes.\r\n * @see [[Code.createEmpty]]\r\n */\r\n nullCodeSpec = \"bis:NullCodeSpec\",\r\n /** @internal */\r\n annotationFrameStyle = \"bis:AnnotationFrameStyle\",\r\n /** @internal */\r\n annotationLeaderStyle = \"bis:AnnotationLeaderStyle\",\r\n /** @internal */\r\n annotationTextStyle = \"bis:AnnotationTextStyle\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [AuxCoordSystem2d]($backend) elements.\r\n * @see [AuxCoordSystem2d.createCode]($backend)\r\n */\r\n auxCoordSystem2d = \"bis:AuxCoordSystem2d\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [AuxCoordSystem3d]($backend) elements.\r\n * @see [AuxCoordSystem3d.createCode]($backend)\r\n */\r\n auxCoordSystem3d = \"bis:AuxCoordSystem3d\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [AuxCoordSystemSpatial]($backend) elements.\r\n * @see [AuxCoordSystemSpatial.createCode]($backend)\r\n */\r\n auxCoordSystemSpatial = \"bis:AuxCoordSystemSpatial\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [CategorySelector]($backend) elements.\r\n * @see [CategorySelector.createCode]($backend)\r\n */\r\n categorySelector = \"bis:CategorySelector\",\r\n /** @internal */\r\n colorBook = \"bis:ColorBook\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [DisplayStyle]($backend) elements.\r\n * @see [DisplayStyle.createCode]($backend)\r\n */\r\n displayStyle = \"bis:DisplayStyle\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [Drawing]($backend) elements.\r\n * @see [Drawing.createCode]($backend)\r\n */\r\n drawing = \"bis:Drawing\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [DrawingCategory]($backend) elements.\r\n * @see [DrawingCategory.createCode]($backend)\r\n */\r\n drawingCategory = \"bis:DrawingCategory\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [ExternalSource]($backend) elements.\r\n * @note This CodeSpec is not automatically created, so use [ExternalSource.ensureCodeSpec]($backend) to make sure that it exists.\r\n * @see [ExternalSource.createCode]($backend)\r\n */\r\n externalSource = \"bis:ExternalSource\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [ExternalSourceAttachment]($backend) elements.\r\n * @note This CodeSpec is not automatically created, so use [ExternalSourceAttachment.ensureCodeSpec]($backend) to make sure that it exists.\r\n * @see [ExternalSource.createCode]($backend)\r\n */\r\n externalSourceAttachment = \"bis:ExternalSourceAttachment\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [GeometryPart]($backend) elements.\r\n * @see [GeometryPart.createCode]($backend)\r\n */\r\n geometryPart = \"bis:GeometryPart\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [GraphicalType2d]($backend) elements.\r\n * @see [GraphicalType2d.createCode]($backend)\r\n */\r\n graphicalType2d = \"bis:GraphicalType2d\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [LineStyle]($backend) elements.\r\n * @see [LineStyle.createCode]($backend)\r\n */\r\n lineStyle = \"bis:LineStyle\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [LinkElement]($backend) elements.\r\n * @see [LinkElement.createCode]($backend)\r\n */\r\n linkElement = \"bis:LinkElement\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [ModelSelector]($backend) elements.\r\n * @see [ModelSelector.createCode]($backend)\r\n */\r\n modelSelector = \"bis:ModelSelector\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [PhysicalMaterial]($backend) elements.\r\n * @see [PhysicalMaterial.createCode]($backend)\r\n */\r\n physicalMaterial = \"bis:PhysicalMaterial\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [PhysicalType]($backend) elements.\r\n * @see [PhysicalType.createCode]($backend)\r\n */\r\n physicalType = \"bis:PhysicalType\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [InformationPartitionElement]($backend) elements.\r\n * @see [InformationPartitionElement.createCode]($backend)\r\n */\r\n informationPartitionElement = \"bis:InformationPartitionElement\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [RenderMaterialElement]($backend) elements.\r\n * @see [RenderMaterialElement.createCode]($backend)\r\n */\r\n renderMaterial = \"bis:RenderMaterial\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [Sheet]($backend) elements.\r\n * @see [Sheet.createCode]($backend)\r\n */\r\n sheet = \"bis:Sheet\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [SheetIndex]($backend) elements.\r\n * @see [SheetIndex.createCode]($backend)\r\n */\r\n sheetIndex = \"bis:SheetIndex\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [SheetIndexEntry]($backend) elements.\r\n * @see [SheetIndexEntry.createCode]($backend)\r\n */\r\n sheetIndexEntry = \"bis:SheetIndexEntry\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [SpatialCategory]($backend) elements.\r\n * @see [SpatialCategory.createCode]($backend)\r\n */\r\n spatialCategory = \"bis:SpatialCategory\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [SpatialLocationType]($backend) elements.\r\n * @see [SpatialLocationType.createCode]($backend)\r\n */\r\n spatialLocationType = \"bis:SpatialLocationType\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [SubCategory]($backend) elements.\r\n * @see [SubCategory.createCode]($backend)\r\n */\r\n subCategory = \"bis:SubCategory\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [Subject]($backend) elements.\r\n * @see [Subject.createCode]($backend)\r\n */\r\n subject = \"bis:Subject\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [TemplateRecipe2d]($backend) elements.\r\n * @see [TemplateRecipe2d.createCode]($backend)\r\n */\r\n templateRecipe2d = \"bis:TemplateRecipe2d\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [TemplateRecipe3d]($backend) elements.\r\n * @see [TemplateRecipe3d.createCode]($backend)\r\n */\r\n templateRecipe3d = \"bis:TemplateRecipe3d\",\r\n /** @internal */\r\n textAnnotationSeed = \"bis:TextAnnotationSeed\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [Texture]($backend) elements.\r\n * @see [Texture.createCode]($backend)\r\n */\r\n texture = \"bis:Texture\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [ViewDefinition]($backend) elements.\r\n * @see [ViewDefinition.createCode]($backend)\r\n */\r\n viewDefinition = \"bis:ViewDefinition\",\r\n}\r\n\r\n/** The scope of the Code.\r\n * @public\r\n */\r\nexport namespace CodeScopeSpec {\r\n /** The standard ways the CodeScope can be specified.\r\n * @public\r\n */\r\n export enum Type {\r\n /** The Code value must be unique within (at least) the iModel repository */\r\n Repository = 1,\r\n /** The Code value must be unique within the scope of the Model */\r\n Model = 2,\r\n /** The Code value must be unique among other children of the same parent element */\r\n ParentElement = 3,\r\n /** The Code value must be unique among other elements also scoped by the same element */\r\n RelatedElement = 4,\r\n }\r\n\r\n /**\r\n * Requirements for how the CodeScope Element is identified.\r\n * @public\r\n */\r\n export enum ScopeRequirement {\r\n /** The ElementId of CodeScope element identifies its scope. Used for Codes that are unique only within a single iModel. */\r\n ElementId = 1,\r\n /** The FederationGuid of the CodeScope element identifies its scope. Used for Codes that are globally unique. */\r\n FederationGuid = 2,\r\n }\r\n}\r\n\r\n/**\r\n * The JSON properties of a CodeSpec\r\n * @public\r\n */\r\nexport interface CodeSpecProperties {\r\n scopeSpec: {\r\n /** the type of CodeSpec */\r\n type: CodeScopeSpec.Type;\r\n /** If true, the federationGuid of the scope element identifies the scope, for Codes that are globally unique.\r\n * Otherwise, the ElementId of the scopeElement is used, for Codes that are scoped only within a single iModel.\r\n */\r\n fGuidRequired?: boolean;\r\n /** The relationship className (in the form \"schema:class\"), when `type` is `CodeScopeSpec.Type.RelatedElement` */\r\n relationship?: string;\r\n };\r\n spec?: {\r\n isManagedWithDgnDb?: boolean;\r\n };\r\n version?: string;\r\n}\r\n\r\n/** A [Code Specification]($docs/bis/guide/references/glossary#codespec) captures the rules for encoding and decoding significant business information into\r\n * and from a Code (string). This specification is used to generate and validate Codes.\r\n *\r\n * A CodeSpec defines the format of a Code for a certain type of Element in an IModel.\r\n * A CodeSpec can identify an external system that maintains and/or assigns Codes.\r\n * @public\r\n */\r\nexport class CodeSpec {\r\n /** The iModel holding this CodeSpec. */\r\n public iModel: IModel;\r\n /** The id of this CodeSpec. */\r\n public id: Id64String;\r\n /** The name of this CodeSpec. */\r\n public name: string;\r\n /** The JSON properties for this CodeSpec.\r\n * @note Use the getters and setters instead of accessing this directly.\r\n * @internal\r\n */\r\n public properties: CodeSpecProperties;\r\n\r\n private constructor(iModel: IModel, id: Id64String, name: string, properties?: CodeSpecProperties) {\r\n this.iModel = iModel;\r\n this.id = id;\r\n this.name = name;\r\n this.properties = properties ?? { scopeSpec: { type: CodeScopeSpec.Type.Repository } };\r\n }\r\n\r\n /** Create a new CodeSpec from the specified parameters\r\n * > Note: CodeSpec.id will not be valid until inserted\r\n * @see [CodeSpecs.insert]($backend)\r\n */\r\n public static create(iModel: IModel, name: string, scopeType: CodeScopeSpec.Type, scopeReq?: CodeScopeSpec.ScopeRequirement): CodeSpec {\r\n const props: CodeSpecProperties = { scopeSpec: { type: scopeType } };\r\n if (scopeReq)\r\n props.scopeSpec.fGuidRequired = scopeReq === CodeScopeSpec.ScopeRequirement.FederationGuid;\r\n\r\n return new CodeSpec(iModel, Id64.invalid, name, props);\r\n }\r\n\r\n /** Create a new CodeSpec directly from JSON. Used internally by the CodeSpecs.load function.\r\n * @internal\r\n */\r\n public static createFromJson(iModel: IModel, id: Id64String, name: string, properties?: CodeSpecProperties): CodeSpec {\r\n return new CodeSpec(iModel, id, name, properties);\r\n }\r\n\r\n /** Will be true if the id of this CodeSpec is valid. */\r\n public get isValid(): boolean { return Id64.isValid(this.id); }\r\n public get isExternal(): boolean {\r\n return true === this.properties.scopeSpec.fGuidRequired;\r\n }\r\n\r\n /** The scope type of this CodeSpec. */\r\n public get scopeType(): CodeScopeSpec.Type { return this.properties.scopeSpec.type; }\r\n public set scopeType(scopeType: CodeScopeSpec.Type) { this.properties.scopeSpec.type = scopeType; }\r\n\r\n /** Will be `CodeScopeSpec.ScopeRequirement.FederationGuid` if the scoping element is required to have a FederationGuid or\r\n * CodeScopeSpec.ScopeRequirement.ElementId` otherwise (the default).\r\n */\r\n public get scopeReq(): CodeScopeSpec.ScopeRequirement {\r\n return this.properties.scopeSpec.fGuidRequired ? CodeScopeSpec.ScopeRequirement.FederationGuid : CodeScopeSpec.ScopeRequirement.ElementId;\r\n }\r\n public set scopeReq(req: CodeScopeSpec.ScopeRequirement) {\r\n if (CodeScopeSpec.ScopeRequirement.FederationGuid === req)\r\n this.properties.scopeSpec.fGuidRequired = true;\r\n else\r\n this.properties.scopeSpec.fGuidRequired = undefined;\r\n }\r\n}\r\n"]}
|
|
@@ -193,4 +193,35 @@ export declare namespace ElementError {
|
|
|
193
193
|
/** Determine whether an error object is an ElementError */
|
|
194
194
|
function isError(error: unknown, key?: Key): error is ITwinError;
|
|
195
195
|
}
|
|
196
|
+
/** An error originating from the shared element reservation APIs (see [SynchronousChannel.Reservations]($backend)),
|
|
197
|
+
* used to coordinate simultaneous creation of elements with shared identities across briefcases.
|
|
198
|
+
* @beta
|
|
199
|
+
*/
|
|
200
|
+
export interface ElementReservationError extends ITwinError {
|
|
201
|
+
/** The federationGuid of the element involved in the error, when known. */
|
|
202
|
+
readonly federationGuid?: GuidString;
|
|
203
|
+
}
|
|
204
|
+
/** @beta */
|
|
205
|
+
export declare namespace ElementReservationError {
|
|
206
|
+
/** the ITwinError scope for `ElementReservationError`s. */
|
|
207
|
+
const scope = "itwin-ElementReservation";
|
|
208
|
+
/** Keys that identify `ElementReservationError`s */
|
|
209
|
+
type Key =
|
|
210
|
+
/** A proposed or inserted reservation is invalid: e.g. a malformed federationGuid, an invalid code, an unknown class, or a missing federationGuid. */
|
|
211
|
+
"invalid-reservation" |
|
|
212
|
+
/** The requested reservation conflicts with an existing reservation (a different class or code). */
|
|
213
|
+
"reservation-conflict" |
|
|
214
|
+
/** No reservation exists for the element being inserted; it must be reserved first. */
|
|
215
|
+
"reservation-not-found" |
|
|
216
|
+
/** The element cannot be inserted because the SchemaSync container has un-pushed local changes. */
|
|
217
|
+
"container-has-local-changes" |
|
|
218
|
+
/** The pool of element ids available for reservations has been exhausted. */
|
|
219
|
+
"id-sequence-exhausted" |
|
|
220
|
+
/** The persisted reservation bookkeeping data is corrupt. */
|
|
221
|
+
"corrupt-reservation-data";
|
|
222
|
+
/** Instantiate and throw an ElementReservationError */
|
|
223
|
+
function throwError<T extends ElementReservationError>(key: Key, e: Omit<T, "name" | "iTwinErrorId">): never;
|
|
224
|
+
/** Determine whether an error object is an ElementReservationError */
|
|
225
|
+
function isError(error: unknown, key?: Key): error is ElementReservationError;
|
|
226
|
+
}
|
|
196
227
|
//# sourceMappingURL=ITwinCoreErrors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ITwinCoreErrors.d.ts","sourceRoot":"","sources":["../../src/ITwinCoreErrors.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ITwinCoreErrors.d.ts","sourceRoot":"","sources":["../../src/ITwinCoreErrors.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE7D;;;GAGG;AACH,MAAM,WAAW,WAAY,SAAQ,UAAU;IAC7C,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,YAAY;AACZ,yBAAiB,WAAW,CAAC;IACpB,MAAM,KAAK,iBAAiB,CAAC;IACpC,KAAY,GAAG,GACb,cAAc,GACd,sBAAsB,GACtB,2BAA2B,GAC3B,UAAU,CAAC;IAEb,yDAAyD;IACzD,SAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,IAAI,WAAW,CAEvE;IAED,0CAA0C;IAC1C,SAAgB,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,KAAK,CAE3E;CACF;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAiB,SAAQ,UAAU;IAClD,wDAAwD;IACxD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,0DAA0D;IAC1D,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,YAAY;AACZ,yBAAiB,gBAAgB,CAAC;IACzB,MAAM,KAAK,sBAAsB,CAAC;IACzC,KAAY,GAAG,GACb,mBAAmB,GACnB,YAAY,GACZ,cAAc,GACd,sBAAsB,GACtB,gBAAgB,GAChB,uBAAuB;IACvB;;OAEG;IACH,iBAAiB;IACjB,oFAAoF;IACpF,qBAAqB,CAAC;IAExB,qJAAqJ;IACrJ,UAAiB,aAAc,SAAQ,gBAAgB;QACrD,gBAAgB;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,yDAAyD;QACzD,QAAQ,EAAE,MAAM,CAAC;QACjB,4BAA4B;QAC5B,OAAO,EAAE,MAAM,CAAC;KACjB;IAED,8DAA8D;IAC9D,SAAgB,OAAO,CAAC,CAAC,SAAS,gBAAgB,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,IAAI,CAAC,CAEzF;IAED,+CAA+C;IAC/C,SAAgB,UAAU,CAAC,CAAC,SAAS,gBAAgB,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC,GAAG,KAAK,CAE3G;CACF;AAED;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD,yDAAyD;IACzD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,YAAY;AACZ,yBAAiB,cAAc,CAAC;IACvB,MAAM,KAAK,oBAAoB,CAAC;IACvC,KAAY,GAAG,GACb,eAAe,GACf,gBAAgB,GAChB,UAAU,GACV,WAAW,GACX,YAAY,GACZ,cAAc,GACd,aAAa,CAAC;IAEhB,4DAA4D;IAC5D,SAAgB,OAAO,CAAC,CAAC,SAAS,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,IAAI,CAAC,CAEvF;IAED,6CAA6C;IAC7C,SAAgB,UAAU,CAAC,CAAC,SAAS,cAAc,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC,GAAG,KAAK,CAEzG;CACF;AAED;;;GAGG;AACH,yBAAiB,cAAc,CAAC;IACvB,MAAM,KAAK,oBAAoB,CAAC;IACvC,KAAY,GAAG,GACb,gBAAgB,GAChB,kBAAkB,GAClB,gBAAgB,GAChB,cAAc,GACd,oBAAoB,GACpB,YAAY,GACZ,aAAa,GACb,iBAAiB,GACjB,WAAW,GACX,aAAa,CAAC;IAEhB,4DAA4D;IAC5D,SAAgB,OAAO,CAAC,CAAC,SAAS,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,IAAI,CAAC,CAEnF;IAED,SAAgB,UAAU,CAAC,CAAC,SAAS,UAAU,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC,GAAG,KAAK,CAErG;CACF;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAmB,SAAQ,UAAU;IACpD,qEAAqE;IACrE,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC;IAC9B,wEAAwE;IACxE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,YAAY;AACZ,yBAAiB,kBAAkB,CAAC;IAC3B,MAAM,KAAK,mBAAmB,CAAC;IACtC,KAAY,GAAG,GACb,kCAAkC,GAClC,2BAA2B,GAC3B,oCAAoC,GACpC,oBAAoB,GACpB,0BAA0B,GAC1B,kBAAkB,GAClB,iBAAiB,CAAC;IAEpB,kEAAkE;IAClE,SAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,IAAI,kBAAkB,CAE9E;IAED,mDAAmD;IACnD,SAAgB,UAAU,CAAC,CAAC,SAAS,kBAAkB,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC,GAAG,KAAK,CAE7G;CACF;AAGD;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,UAAU;IACrD,6CAA6C;IAC7C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,YAAY;AACZ,yBAAiB,mBAAmB,CAAC;IACnC,uDAAuD;IAChD,MAAM,KAAK,yBAAyB,CAAC;IAE5C,gDAAgD;IAChD,KAAY,GAAG;IACb,gEAAgE;IAChE,cAAc;IACd,yDAAyD;IACzD,aAAa;IACb,sCAAsC;IACtC,aAAa,CAAC;IAEhB,kDAAkD;IAClD,SAAgB,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,KAAK,CAE/E;IACD,iEAAiE;IACjE,SAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,IAAI,mBAAmB,CAE/E;CACF;AAED;;;GAGG;AACH,MAAM,WAAW,YAAa,SAAQ,UAAU;IAC9C,gDAAgD;IAChD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,2EAA2E;IAC3E,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,YAAY;AACZ,yBAAiB,YAAY,CAAC;IAC5B,gDAAgD;IACzC,MAAM,KAAK,kBAAkB,CAAC;IAErC,yCAAyC;IACzC,KAAY,GAAG;IACb,gEAAgE;IAChE,gBAAgB;IAChB,8GAA8G;IAC9G,+BAA+B;IAC/B,8EAA8E;IAC9E,iBAAiB;IACjB,6FAA6F;IAC7F,YAAY;IACZ,yDAAyD;IACzD,cAAc,CAAC;IAEjB,4CAA4C;IAC5C,SAAgB,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,KAAK,CAErG;IAED,2DAA2D;IAC3D,SAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,IAAI,YAAY,CAExE;CACF;AAED;;GAEG;AACH,yBAAiB,qBAAqB,CAAC;IACrC,yDAAyD;IAClD,MAAM,KAAK,2BAA2B,CAAC;IAE9C,kDAAkD;IAClD,KAAY,GAAG;IACb,6CAA6C;IAC7C,qBAAqB;IACrB,4EAA4E;IAC5E,uBAAuB;IACvB,0DAA0D;IAC1D,kBAAkB;IAClB,0EAA0E;IAC1E,kBAAkB,CAAC;IAErB,oDAAoD;IACpD,SAAgB,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,CAE3D;IACD,mEAAmE;IACnE,SAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,IAAI,UAAU,CAEtE;CACF;AAED;;;GAGG;AACH,yBAAiB,YAAY,CAAC;IAC5B,gDAAgD;IACzC,MAAM,KAAK,kBAAkB,CAAC;IAErC,yCAAyC;IACzC,KAAY,GAAG;IACb,wFAAwF;IACxF,qBAAqB;IACrB,8DAA8D;IAC9D,mBAAmB,CAAC;IAEtB,4CAA4C;IAC5C,SAAgB,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,CAE3D;IACD,2DAA2D;IAC3D,SAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,IAAI,UAAU,CAEtE;CACF;AAED;;;GAGG;AACH,MAAM,WAAW,uBAAwB,SAAQ,UAAU;IACzD,2EAA2E;IAC3E,QAAQ,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC;CACtC;AAED,YAAY;AACZ,yBAAiB,uBAAuB,CAAC;IACvC,2DAA2D;IACpD,MAAM,KAAK,6BAA6B,CAAC;IAEhD,oDAAoD;IACpD,KAAY,GAAG;IACb,sJAAsJ;IACtJ,qBAAqB;IACrB,oGAAoG;IACpG,sBAAsB;IACtB,uFAAuF;IACvF,uBAAuB;IACvB,mGAAmG;IACnG,6BAA6B;IAC7B,6EAA6E;IAC7E,uBAAuB;IACvB,6DAA6D;IAC7D,0BAA0B,CAAC;IAE7B,uDAAuD;IACvD,SAAgB,UAAU,CAAC,CAAC,SAAS,uBAAuB,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC,GAAG,KAAK,CAElH;IAED,sEAAsE;IACtE,SAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,IAAI,uBAAuB,CAEnF;CACF"}
|
|
@@ -152,4 +152,20 @@ export var ElementError;
|
|
|
152
152
|
}
|
|
153
153
|
ElementError.isError = isError;
|
|
154
154
|
})(ElementError || (ElementError = {}));
|
|
155
|
+
/** @beta */
|
|
156
|
+
export var ElementReservationError;
|
|
157
|
+
(function (ElementReservationError) {
|
|
158
|
+
/** the ITwinError scope for `ElementReservationError`s. */
|
|
159
|
+
ElementReservationError.scope = "itwin-ElementReservation";
|
|
160
|
+
/** Instantiate and throw an ElementReservationError */
|
|
161
|
+
function throwError(key, e) {
|
|
162
|
+
ITwinError.throwError({ ...e, iTwinErrorId: { scope: ElementReservationError.scope, key } });
|
|
163
|
+
}
|
|
164
|
+
ElementReservationError.throwError = throwError;
|
|
165
|
+
/** Determine whether an error object is an ElementReservationError */
|
|
166
|
+
function isError(error, key) {
|
|
167
|
+
return ITwinError.isError(error, ElementReservationError.scope, key);
|
|
168
|
+
}
|
|
169
|
+
ElementReservationError.isError = isError;
|
|
170
|
+
})(ElementReservationError || (ElementReservationError = {}));
|
|
155
171
|
//# sourceMappingURL=ITwinCoreErrors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ITwinCoreErrors.js","sourceRoot":"","sources":["../../src/ITwinCoreErrors.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module iModels\r\n */\r\n\r\nimport { GuidString, ITwinError } from \"@itwin/core-bentley\";\r\n\r\n/**\r\n * An error originating from the [SQLiteDb]($backend) API.\r\n * @beta\r\n */\r\nexport interface SqliteError extends ITwinError {\r\n /** The name of the database for this problem. */\r\n dbName: string;\r\n}\r\n\r\n/** @beta */\r\nexport namespace SqliteError {\r\n export const scope = \"itwin-Sqlite\";\r\n export type Key =\r\n \"already-open\" |\r\n \"incompatible-version\" |\r\n \"invalid-versions-property\" |\r\n \"readonly\";\r\n\r\n /** Determine whether an error object is a SqliteError */\r\n export function isError(error: unknown, key?: Key): error is SqliteError {\r\n return ITwinError.isError<SqliteError>(error, scope, key) && typeof error.dbName === \"string\";\r\n }\r\n\r\n /** Instantiate and throw a SqliteError */\r\n export function throwError(key: Key, message: string, dbName: string): never {\r\n ITwinError.throwError<SqliteError>({ iTwinErrorId: { scope, key }, message, dbName });\r\n }\r\n}\r\n\r\n/**\r\n * An error originating from the [CloudSqlite]($backend) API.\r\n * @beta\r\n */\r\nexport interface CloudSqliteError extends ITwinError {\r\n /** The name of the database that generated the error */\r\n readonly dbName?: string;\r\n /** The name of the container associated with the error */\r\n readonly containerId?: string;\r\n}\r\n\r\n/** @beta */\r\nexport namespace CloudSqliteError {\r\n export const scope = \"itwin-CloudSqlite\";\r\n export type Key =\r\n \"already-published\" |\r\n \"copy-error\" |\r\n \"invalid-name\" |\r\n \"no-version-available\" |\r\n \"not-a-function\" |\r\n \"service-not-available\" |\r\n /** The write lock cannot be acquired because it is currently held by somebody else.\r\n * @see WriteLockHeld for details\r\n */\r\n \"write-lock-held\" |\r\n /** The write lock on a container is not held, but is required for this operation */\r\n \"write-lock-not-held\";\r\n\r\n /** thrown when an attempt to acquire the write lock for a container fails because the lock is already held by somebody else (\"write-lock-held\"). */\r\n export interface WriteLockHeld extends CloudSqliteError {\r\n /** @internal */\r\n errorNumber: number;\r\n /** moniker of user currently holding container's lock */\r\n lockedBy: string;\r\n /** time the lock expires */\r\n expires: string;\r\n }\r\n\r\n /** Determine whether an error object is a CloudSqliteError */\r\n export function isError<T extends CloudSqliteError>(error: unknown, key?: Key): error is T {\r\n return ITwinError.isError<T>(error, scope, key);\r\n }\r\n\r\n /** Instantiate and throw a CloudSqliteError */\r\n export function throwError<T extends CloudSqliteError>(key: Key, e: Omit<T, \"name\" | \"iTwinErrorId\">): never {\r\n ITwinError.throwError<CloudSqliteError>({ ...e, iTwinErrorId: { scope, key } });\r\n }\r\n}\r\n\r\n/** Errors thrown by the [ViewStore]($backend) API.\r\n * @beta\r\n */\r\nexport interface ViewStoreError extends ITwinError {\r\n /** The name of the ViewStore that generated the error */\r\n viewStoreName?: string;\r\n}\r\n\r\n/** @beta */\r\nexport namespace ViewStoreError {\r\n export const scope = \"itwin-ViewStore\";\r\n export type Key =\r\n \"invalid-value\" |\r\n \"invalid-member\" |\r\n \"no-owner\" |\r\n \"not-found\" |\r\n \"not-unique\" |\r\n \"no-viewstore\" |\r\n \"group-error\";\r\n\r\n /** Determine whether an error object is a ViewStoreError */\r\n export function isError<T extends ViewStoreError>(error: unknown, key?: Key): error is T {\r\n return ITwinError.isError<T>(error, scope, key);\r\n }\r\n\r\n /** Instantiate and throw a ViewStoreError */\r\n export function throwError<T extends ViewStoreError>(key: Key, e: Omit<T, \"name\" | \"iTwinErrorId\">): never {\r\n ITwinError.throwError<ViewStoreError>({ ...e, iTwinErrorId: { scope, key } });\r\n }\r\n}\r\n\r\n/**\r\n * Errors thrown by the [Workspace]($backend) APIs.\r\n * @beta\r\n */\r\nexport namespace WorkspaceError {\r\n export const scope = \"itwin-Workspace\";\r\n export type Key =\r\n \"already-exists\" |\r\n \"container-exists\" |\r\n \"does-not-exist\" |\r\n \"invalid-name\" |\r\n \"no-cloud-container\" |\r\n \"load-error\" |\r\n \"load-errors\" |\r\n \"resource-exists\" |\r\n \"too-large\" |\r\n \"write-error\";\r\n\r\n /** Determine whether an error object is a WorkspaceError */\r\n export function isError<T extends ITwinError>(error: unknown, key?: Key): error is T {\r\n return ITwinError.isError<T>(error, scope, key);\r\n }\r\n\r\n export function throwError<T extends ITwinError>(key: Key, e: Omit<T, \"name\" | \"iTwinErrorId\">): never {\r\n ITwinError.throwError<ITwinError>({ ...e, iTwinErrorId: { key, scope } });\r\n }\r\n}\r\n\r\n/**\r\n * Errors thrown by iTwin settings container APIs.\r\n * @beta\r\n */\r\nexport interface ITwinSettingsError extends ITwinError {\r\n /** The iTwin associated with this settings error, when available. */\r\n readonly iTwinId?: GuidString;\r\n /** The priority associated with this settings error, when available. */\r\n readonly priority?: number;\r\n}\r\n\r\n/** @beta */\r\nexport namespace ITwinSettingsError {\r\n export const scope = \"itwin-settings\";\r\n export type Key =\r\n \"failed-to-obtain-container-token\" |\r\n \"missing-container-itwinid\" |\r\n \"multiple-itwin-settings-containers\" |\r\n \"no-cloud-container\" |\r\n \"blob-service-unavailable\" |\r\n \"invalid-priority\" |\r\n \"unknown-setting\";\r\n\r\n /** Determine whether an error object is an ITwinSettingsError. */\r\n export function isError(error: unknown, key?: Key): error is ITwinSettingsError {\r\n return ITwinError.isError<ITwinSettingsError>(error, scope, key);\r\n }\r\n\r\n /** Instantiate and throw an ITwinSettingsError. */\r\n export function throwError<T extends ITwinSettingsError>(key: Key, e: Omit<T, \"name\" | \"iTwinErrorId\">): never {\r\n ITwinError.throwError<ITwinSettingsError>({ ...e, iTwinErrorId: { scope, key } });\r\n }\r\n}\r\n\r\n\r\n/** Errors originating from the [ChannelControl]($backend) interface.\r\n * @beta\r\n */\r\nexport interface ChannelControlError extends ITwinError {\r\n /** The channel key that caused the error. */\r\n readonly channelKey: string;\r\n}\r\n\r\n/** @beta */\r\nexport namespace ChannelControlError {\r\n /** the ITwinError scope for `ChannelControlError`s. */\r\n export const scope = \"itwin-ChannelControl\";\r\n\r\n /** Keys that identify `ChannelControlError`s */\r\n export type Key =\r\n /** an attempt to create a channel within an existing channel */\r\n \"may-not-nest\" |\r\n /** an attempt to use a channel that was not \"allowed\" */\r\n \"not-allowed\" |\r\n /** the root channel already exists */\r\n \"root-exists\";\r\n\r\n /** Instantiate and throw a ChannelControlError */\r\n export function throwError(key: Key, message: string, channelKey: string): never {\r\n ITwinError.throwError<ChannelControlError>({ iTwinErrorId: { scope, key }, message, channelKey });\r\n }\r\n /** Determine whether an error object is a ChannelControlError */\r\n export function isError(error: unknown, key?: Key): error is ChannelControlError {\r\n return ITwinError.isError<ChannelControlError>(error, scope, key) && typeof error.channelKey === \"string\";\r\n }\r\n}\r\n\r\n/**\r\n * An error originating from the [EditTxn]($backend) API.\r\n * @beta\r\n */\r\nexport interface EditTxnError extends ITwinError {\r\n /** The iModel key associated with the error. */\r\n readonly iModelKey?: string;\r\n /** The description of the EditTxn that caused the error, if applicable. */\r\n readonly description?: string;\r\n}\r\n\r\n/** @beta */\r\nexport namespace EditTxnError {\r\n /** the ITwinError scope for `EditTxnError`s. */\r\n export const scope = \"itwin-EditTxn\";\r\n\r\n /** Keys that identify `EditTxnError`s */\r\n export type Key =\r\n /** an attempt to start an EditTxn when one is already active */\r\n \"already-active\" |\r\n /** an attempt to modify an iModel through the implicit transaction when explicit transactions are enforced */\r\n \"implicit-txn-write-disallowed\" |\r\n /** an attempt to start an EditTxn when unsaved changes are already present */\r\n \"unsaved-changes\" |\r\n /** an attempt to perform an operation that requires an active EditTxn when none is active */\r\n \"not-active\" |\r\n /** an attempt to use an EditTxn with the wrong iModel */\r\n \"wrong-imodel\";\r\n\r\n /** Instantiate and throw an EditTxnError */\r\n export function throwError(key: Key, message: string, iModelKey?: string, description?: string): never {\r\n ITwinError.throwError<EditTxnError>({ iTwinErrorId: { scope, key }, message, iModelKey, description });\r\n }\r\n\r\n /** Determine whether an error object is an EditTxnError */\r\n export function isError(error: unknown, key?: Key): error is EditTxnError {\r\n return ITwinError.isError<EditTxnError>(error, scope, key);\r\n }\r\n}\r\n\r\n/** Errors originating from the server-based implementation of the [LockControl]($backend) interface.\r\n * @beta\r\n */\r\nexport namespace ServerBasedLocksError {\r\n /** the ITwinError scope for `ServerBasedLocksError`s. */\r\n export const scope = \"itwin-ServerBasedLocks\";\r\n\r\n /** Keys that identify `ServerBasedLocksError`s */\r\n export type Key =\r\n /** The briefcase contains unsaved changes */\r\n \"has-unsaved-changes\" |\r\n /** A SQLite error occurred while reading or writing the \"locks\" database */\r\n \"lock-database-problem\" |\r\n /** The specified Txn ID is not known to the TxnManager */\r\n \"txn-id-not-found\" |\r\n /** Attempted to abandon locks for a Txn that has not yet been reversed */\r\n \"txn-not-reversed\";\r\n\r\n /** Instantiate and throw a ServerBasedLocksError */\r\n export function throwError(key: Key, message: string): never {\r\n ITwinError.throwError<ITwinError>({ iTwinErrorId: { scope, key }, message });\r\n }\r\n /** Determine whether an error object is a ServerBasedLocksError */\r\n export function isError(error: unknown, key?: Key): error is ITwinError {\r\n return ITwinError.isError<ITwinError>(error, scope, key);\r\n }\r\n}\r\n\r\n/** Errors originating from element operations such as [EditTxn.changeElementParent]($backend) and\r\n * [EditTxn.changeElementModel]($backend).\r\n * @beta\r\n */\r\nexport namespace ElementError {\r\n /** the ITwinError scope for `ElementError`s. */\r\n export const scope = \"itwin-Element\";\r\n\r\n /** Keys that identify `ElementError`s */\r\n export type Key =\r\n /** The element's model type does not match the expected model type for the operation */\r\n \"model-type-mismatch\" |\r\n /** Invalid arguments were provided to an element operation */\r\n \"invalid-arguments\";\r\n\r\n /** Instantiate and throw an ElementError */\r\n export function throwError(key: Key, message: string): never {\r\n ITwinError.throwError<ITwinError>({ iTwinErrorId: { scope, key }, message });\r\n }\r\n /** Determine whether an error object is an ElementError */\r\n export function isError(error: unknown, key?: Key): error is ITwinError {\r\n return ITwinError.isError<ITwinError>(error, scope, key);\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"ITwinCoreErrors.js","sourceRoot":"","sources":["../../src/ITwinCoreErrors.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module iModels\r\n */\r\n\r\nimport { GuidString, ITwinError } from \"@itwin/core-bentley\";\r\n\r\n/**\r\n * An error originating from the [SQLiteDb]($backend) API.\r\n * @beta\r\n */\r\nexport interface SqliteError extends ITwinError {\r\n /** The name of the database for this problem. */\r\n dbName: string;\r\n}\r\n\r\n/** @beta */\r\nexport namespace SqliteError {\r\n export const scope = \"itwin-Sqlite\";\r\n export type Key =\r\n \"already-open\" |\r\n \"incompatible-version\" |\r\n \"invalid-versions-property\" |\r\n \"readonly\";\r\n\r\n /** Determine whether an error object is a SqliteError */\r\n export function isError(error: unknown, key?: Key): error is SqliteError {\r\n return ITwinError.isError<SqliteError>(error, scope, key) && typeof error.dbName === \"string\";\r\n }\r\n\r\n /** Instantiate and throw a SqliteError */\r\n export function throwError(key: Key, message: string, dbName: string): never {\r\n ITwinError.throwError<SqliteError>({ iTwinErrorId: { scope, key }, message, dbName });\r\n }\r\n}\r\n\r\n/**\r\n * An error originating from the [CloudSqlite]($backend) API.\r\n * @beta\r\n */\r\nexport interface CloudSqliteError extends ITwinError {\r\n /** The name of the database that generated the error */\r\n readonly dbName?: string;\r\n /** The name of the container associated with the error */\r\n readonly containerId?: string;\r\n}\r\n\r\n/** @beta */\r\nexport namespace CloudSqliteError {\r\n export const scope = \"itwin-CloudSqlite\";\r\n export type Key =\r\n \"already-published\" |\r\n \"copy-error\" |\r\n \"invalid-name\" |\r\n \"no-version-available\" |\r\n \"not-a-function\" |\r\n \"service-not-available\" |\r\n /** The write lock cannot be acquired because it is currently held by somebody else.\r\n * @see WriteLockHeld for details\r\n */\r\n \"write-lock-held\" |\r\n /** The write lock on a container is not held, but is required for this operation */\r\n \"write-lock-not-held\";\r\n\r\n /** thrown when an attempt to acquire the write lock for a container fails because the lock is already held by somebody else (\"write-lock-held\"). */\r\n export interface WriteLockHeld extends CloudSqliteError {\r\n /** @internal */\r\n errorNumber: number;\r\n /** moniker of user currently holding container's lock */\r\n lockedBy: string;\r\n /** time the lock expires */\r\n expires: string;\r\n }\r\n\r\n /** Determine whether an error object is a CloudSqliteError */\r\n export function isError<T extends CloudSqliteError>(error: unknown, key?: Key): error is T {\r\n return ITwinError.isError<T>(error, scope, key);\r\n }\r\n\r\n /** Instantiate and throw a CloudSqliteError */\r\n export function throwError<T extends CloudSqliteError>(key: Key, e: Omit<T, \"name\" | \"iTwinErrorId\">): never {\r\n ITwinError.throwError<CloudSqliteError>({ ...e, iTwinErrorId: { scope, key } });\r\n }\r\n}\r\n\r\n/** Errors thrown by the [ViewStore]($backend) API.\r\n * @beta\r\n */\r\nexport interface ViewStoreError extends ITwinError {\r\n /** The name of the ViewStore that generated the error */\r\n viewStoreName?: string;\r\n}\r\n\r\n/** @beta */\r\nexport namespace ViewStoreError {\r\n export const scope = \"itwin-ViewStore\";\r\n export type Key =\r\n \"invalid-value\" |\r\n \"invalid-member\" |\r\n \"no-owner\" |\r\n \"not-found\" |\r\n \"not-unique\" |\r\n \"no-viewstore\" |\r\n \"group-error\";\r\n\r\n /** Determine whether an error object is a ViewStoreError */\r\n export function isError<T extends ViewStoreError>(error: unknown, key?: Key): error is T {\r\n return ITwinError.isError<T>(error, scope, key);\r\n }\r\n\r\n /** Instantiate and throw a ViewStoreError */\r\n export function throwError<T extends ViewStoreError>(key: Key, e: Omit<T, \"name\" | \"iTwinErrorId\">): never {\r\n ITwinError.throwError<ViewStoreError>({ ...e, iTwinErrorId: { scope, key } });\r\n }\r\n}\r\n\r\n/**\r\n * Errors thrown by the [Workspace]($backend) APIs.\r\n * @beta\r\n */\r\nexport namespace WorkspaceError {\r\n export const scope = \"itwin-Workspace\";\r\n export type Key =\r\n \"already-exists\" |\r\n \"container-exists\" |\r\n \"does-not-exist\" |\r\n \"invalid-name\" |\r\n \"no-cloud-container\" |\r\n \"load-error\" |\r\n \"load-errors\" |\r\n \"resource-exists\" |\r\n \"too-large\" |\r\n \"write-error\";\r\n\r\n /** Determine whether an error object is a WorkspaceError */\r\n export function isError<T extends ITwinError>(error: unknown, key?: Key): error is T {\r\n return ITwinError.isError<T>(error, scope, key);\r\n }\r\n\r\n export function throwError<T extends ITwinError>(key: Key, e: Omit<T, \"name\" | \"iTwinErrorId\">): never {\r\n ITwinError.throwError<ITwinError>({ ...e, iTwinErrorId: { key, scope } });\r\n }\r\n}\r\n\r\n/**\r\n * Errors thrown by iTwin settings container APIs.\r\n * @beta\r\n */\r\nexport interface ITwinSettingsError extends ITwinError {\r\n /** The iTwin associated with this settings error, when available. */\r\n readonly iTwinId?: GuidString;\r\n /** The priority associated with this settings error, when available. */\r\n readonly priority?: number;\r\n}\r\n\r\n/** @beta */\r\nexport namespace ITwinSettingsError {\r\n export const scope = \"itwin-settings\";\r\n export type Key =\r\n \"failed-to-obtain-container-token\" |\r\n \"missing-container-itwinid\" |\r\n \"multiple-itwin-settings-containers\" |\r\n \"no-cloud-container\" |\r\n \"blob-service-unavailable\" |\r\n \"invalid-priority\" |\r\n \"unknown-setting\";\r\n\r\n /** Determine whether an error object is an ITwinSettingsError. */\r\n export function isError(error: unknown, key?: Key): error is ITwinSettingsError {\r\n return ITwinError.isError<ITwinSettingsError>(error, scope, key);\r\n }\r\n\r\n /** Instantiate and throw an ITwinSettingsError. */\r\n export function throwError<T extends ITwinSettingsError>(key: Key, e: Omit<T, \"name\" | \"iTwinErrorId\">): never {\r\n ITwinError.throwError<ITwinSettingsError>({ ...e, iTwinErrorId: { scope, key } });\r\n }\r\n}\r\n\r\n\r\n/** Errors originating from the [ChannelControl]($backend) interface.\r\n * @beta\r\n */\r\nexport interface ChannelControlError extends ITwinError {\r\n /** The channel key that caused the error. */\r\n readonly channelKey: string;\r\n}\r\n\r\n/** @beta */\r\nexport namespace ChannelControlError {\r\n /** the ITwinError scope for `ChannelControlError`s. */\r\n export const scope = \"itwin-ChannelControl\";\r\n\r\n /** Keys that identify `ChannelControlError`s */\r\n export type Key =\r\n /** an attempt to create a channel within an existing channel */\r\n \"may-not-nest\" |\r\n /** an attempt to use a channel that was not \"allowed\" */\r\n \"not-allowed\" |\r\n /** the root channel already exists */\r\n \"root-exists\";\r\n\r\n /** Instantiate and throw a ChannelControlError */\r\n export function throwError(key: Key, message: string, channelKey: string): never {\r\n ITwinError.throwError<ChannelControlError>({ iTwinErrorId: { scope, key }, message, channelKey });\r\n }\r\n /** Determine whether an error object is a ChannelControlError */\r\n export function isError(error: unknown, key?: Key): error is ChannelControlError {\r\n return ITwinError.isError<ChannelControlError>(error, scope, key) && typeof error.channelKey === \"string\";\r\n }\r\n}\r\n\r\n/**\r\n * An error originating from the [EditTxn]($backend) API.\r\n * @beta\r\n */\r\nexport interface EditTxnError extends ITwinError {\r\n /** The iModel key associated with the error. */\r\n readonly iModelKey?: string;\r\n /** The description of the EditTxn that caused the error, if applicable. */\r\n readonly description?: string;\r\n}\r\n\r\n/** @beta */\r\nexport namespace EditTxnError {\r\n /** the ITwinError scope for `EditTxnError`s. */\r\n export const scope = \"itwin-EditTxn\";\r\n\r\n /** Keys that identify `EditTxnError`s */\r\n export type Key =\r\n /** an attempt to start an EditTxn when one is already active */\r\n \"already-active\" |\r\n /** an attempt to modify an iModel through the implicit transaction when explicit transactions are enforced */\r\n \"implicit-txn-write-disallowed\" |\r\n /** an attempt to start an EditTxn when unsaved changes are already present */\r\n \"unsaved-changes\" |\r\n /** an attempt to perform an operation that requires an active EditTxn when none is active */\r\n \"not-active\" |\r\n /** an attempt to use an EditTxn with the wrong iModel */\r\n \"wrong-imodel\";\r\n\r\n /** Instantiate and throw an EditTxnError */\r\n export function throwError(key: Key, message: string, iModelKey?: string, description?: string): never {\r\n ITwinError.throwError<EditTxnError>({ iTwinErrorId: { scope, key }, message, iModelKey, description });\r\n }\r\n\r\n /** Determine whether an error object is an EditTxnError */\r\n export function isError(error: unknown, key?: Key): error is EditTxnError {\r\n return ITwinError.isError<EditTxnError>(error, scope, key);\r\n }\r\n}\r\n\r\n/** Errors originating from the server-based implementation of the [LockControl]($backend) interface.\r\n * @beta\r\n */\r\nexport namespace ServerBasedLocksError {\r\n /** the ITwinError scope for `ServerBasedLocksError`s. */\r\n export const scope = \"itwin-ServerBasedLocks\";\r\n\r\n /** Keys that identify `ServerBasedLocksError`s */\r\n export type Key =\r\n /** The briefcase contains unsaved changes */\r\n \"has-unsaved-changes\" |\r\n /** A SQLite error occurred while reading or writing the \"locks\" database */\r\n \"lock-database-problem\" |\r\n /** The specified Txn ID is not known to the TxnManager */\r\n \"txn-id-not-found\" |\r\n /** Attempted to abandon locks for a Txn that has not yet been reversed */\r\n \"txn-not-reversed\";\r\n\r\n /** Instantiate and throw a ServerBasedLocksError */\r\n export function throwError(key: Key, message: string): never {\r\n ITwinError.throwError<ITwinError>({ iTwinErrorId: { scope, key }, message });\r\n }\r\n /** Determine whether an error object is a ServerBasedLocksError */\r\n export function isError(error: unknown, key?: Key): error is ITwinError {\r\n return ITwinError.isError<ITwinError>(error, scope, key);\r\n }\r\n}\r\n\r\n/** Errors originating from element operations such as [EditTxn.changeElementParent]($backend) and\r\n * [EditTxn.changeElementModel]($backend).\r\n * @beta\r\n */\r\nexport namespace ElementError {\r\n /** the ITwinError scope for `ElementError`s. */\r\n export const scope = \"itwin-Element\";\r\n\r\n /** Keys that identify `ElementError`s */\r\n export type Key =\r\n /** The element's model type does not match the expected model type for the operation */\r\n \"model-type-mismatch\" |\r\n /** Invalid arguments were provided to an element operation */\r\n \"invalid-arguments\";\r\n\r\n /** Instantiate and throw an ElementError */\r\n export function throwError(key: Key, message: string): never {\r\n ITwinError.throwError<ITwinError>({ iTwinErrorId: { scope, key }, message });\r\n }\r\n /** Determine whether an error object is an ElementError */\r\n export function isError(error: unknown, key?: Key): error is ITwinError {\r\n return ITwinError.isError<ITwinError>(error, scope, key);\r\n }\r\n}\r\n\r\n/** An error originating from the shared element reservation APIs (see [SynchronousChannel.Reservations]($backend)),\r\n * used to coordinate simultaneous creation of elements with shared identities across briefcases.\r\n * @beta\r\n */\r\nexport interface ElementReservationError extends ITwinError {\r\n /** The federationGuid of the element involved in the error, when known. */\r\n readonly federationGuid?: GuidString;\r\n}\r\n\r\n/** @beta */\r\nexport namespace ElementReservationError {\r\n /** the ITwinError scope for `ElementReservationError`s. */\r\n export const scope = \"itwin-ElementReservation\";\r\n\r\n /** Keys that identify `ElementReservationError`s */\r\n export type Key =\r\n /** A proposed or inserted reservation is invalid: e.g. a malformed federationGuid, an invalid code, an unknown class, or a missing federationGuid. */\r\n \"invalid-reservation\" |\r\n /** The requested reservation conflicts with an existing reservation (a different class or code). */\r\n \"reservation-conflict\" |\r\n /** No reservation exists for the element being inserted; it must be reserved first. */\r\n \"reservation-not-found\" |\r\n /** The element cannot be inserted because the SchemaSync container has un-pushed local changes. */\r\n \"container-has-local-changes\" |\r\n /** The pool of element ids available for reservations has been exhausted. */\r\n \"id-sequence-exhausted\" |\r\n /** The persisted reservation bookkeeping data is corrupt. */\r\n \"corrupt-reservation-data\";\r\n\r\n /** Instantiate and throw an ElementReservationError */\r\n export function throwError<T extends ElementReservationError>(key: Key, e: Omit<T, \"name\" | \"iTwinErrorId\">): never {\r\n ITwinError.throwError<ElementReservationError>({ ...e, iTwinErrorId: { scope, key } });\r\n }\r\n\r\n /** Determine whether an error object is an ElementReservationError */\r\n export function isError(error: unknown, key?: Key): error is ElementReservationError {\r\n return ITwinError.isError<ElementReservationError>(error, scope, key);\r\n }\r\n}\r\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@itwin/core-common",
|
|
3
|
-
"version": "5.13.0-dev.
|
|
3
|
+
"version": "5.13.0-dev.20",
|
|
4
4
|
"description": "iTwin.js components common to frontend and backend",
|
|
5
5
|
"main": "lib/cjs/core-common.js",
|
|
6
6
|
"module": "lib/esm/core-common.js",
|
|
@@ -27,8 +27,8 @@
|
|
|
27
27
|
"js-base64": "^3.6.1"
|
|
28
28
|
},
|
|
29
29
|
"peerDependencies": {
|
|
30
|
-
"@itwin/core-bentley": "5.13.0-dev.
|
|
31
|
-
"@itwin/core-geometry": "5.13.0-dev.
|
|
30
|
+
"@itwin/core-bentley": "5.13.0-dev.20",
|
|
31
|
+
"@itwin/core-geometry": "5.13.0-dev.20"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"@itwin/eslint-plugin": "^6.0.0",
|
|
@@ -40,9 +40,9 @@
|
|
|
40
40
|
"rimraf": "^6.0.1",
|
|
41
41
|
"typescript": "~5.6.2",
|
|
42
42
|
"vitest": "^4.1.10",
|
|
43
|
-
"@itwin/build-tools": "5.13.0-dev.
|
|
44
|
-
"@itwin/core-
|
|
45
|
-
"@itwin/core-
|
|
43
|
+
"@itwin/build-tools": "5.13.0-dev.20",
|
|
44
|
+
"@itwin/core-geometry": "5.13.0-dev.20",
|
|
45
|
+
"@itwin/core-bentley": "5.13.0-dev.20"
|
|
46
46
|
},
|
|
47
47
|
"scripts": {
|
|
48
48
|
"build": "npm run -s build:cjs && npm run -s build:esm",
|