@itwin/core-bentley 3.6.0-dev.62 → 3.6.0-dev.66
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/lib/cjs/BeSQLite.d.ts +2 -0
- package/lib/cjs/BeSQLite.d.ts.map +1 -1
- package/lib/cjs/BeSQLite.js +2 -0
- package/lib/cjs/BeSQLite.js.map +1 -1
- package/lib/cjs/BentleyError.d.ts.map +1 -1
- package/lib/cjs/BentleyError.js +1 -0
- package/lib/cjs/BentleyError.js.map +1 -1
- package/lib/cjs/Id.d.ts +4 -0
- package/lib/cjs/Id.d.ts.map +1 -1
- package/lib/cjs/Id.js +6 -0
- package/lib/cjs/Id.js.map +1 -1
- package/lib/esm/BeSQLite.d.ts +2 -0
- package/lib/esm/BeSQLite.d.ts.map +1 -1
- package/lib/esm/BeSQLite.js +2 -0
- package/lib/esm/BeSQLite.js.map +1 -1
- package/lib/esm/BentleyError.d.ts.map +1 -1
- package/lib/esm/BentleyError.js +1 -0
- package/lib/esm/BentleyError.js.map +1 -1
- package/lib/esm/Id.d.ts +4 -0
- package/lib/esm/Id.d.ts.map +1 -1
- package/lib/esm/Id.js +6 -0
- package/lib/esm/Id.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BentleyError.js","sourceRoot":"","sources":["../../src/BentleyError.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 Errors\r\n */\r\n\r\nimport { DbResult } from \"./BeSQLite\";\r\n\r\n/** Standard status code.\r\n * This status code should be rarely used.\r\n * Prefer to throw an exception to indicate an error, rather than returning a special status code.\r\n * If a status code is to be returned, prefer to return a more specific error status type such as IModelStatus or DbResult.\r\n * @public\r\n */\r\nexport enum BentleyStatus {\r\n SUCCESS = 0x0000,\r\n ERROR = 0x8000,\r\n}\r\n\r\n/** Status codes that are used in conjunction with [[BentleyError]].\r\n * Error status codes are divided into separate ranges for different kinds of errors. All known ranges at least should be defined here, to avoid collisions.\r\n * @public\r\n */\r\nexport enum IModelStatus {\r\n IMODEL_ERROR_BASE = 0x10000,\r\n Success = 0,\r\n AlreadyLoaded = IMODEL_ERROR_BASE + 1,\r\n AlreadyOpen = IMODEL_ERROR_BASE + 2,\r\n BadArg = IMODEL_ERROR_BASE + 3,\r\n BadElement = IMODEL_ERROR_BASE + 4,\r\n BadModel = IMODEL_ERROR_BASE + 5,\r\n BadRequest = IMODEL_ERROR_BASE + 6,\r\n BadSchema = IMODEL_ERROR_BASE + 7,\r\n CannotUndo = IMODEL_ERROR_BASE + 8,\r\n CodeNotReserved = IMODEL_ERROR_BASE + 9,\r\n DeletionProhibited = IMODEL_ERROR_BASE + 10,\r\n DuplicateCode = IMODEL_ERROR_BASE + 11,\r\n DuplicateName = IMODEL_ERROR_BASE + 12,\r\n ElementBlockedChange = IMODEL_ERROR_BASE + 13,\r\n FileAlreadyExists = IMODEL_ERROR_BASE + 14,\r\n FileNotFound = IMODEL_ERROR_BASE + 15,\r\n FileNotLoaded = IMODEL_ERROR_BASE + 16,\r\n ForeignKeyConstraint = IMODEL_ERROR_BASE + 17,\r\n IdExists = IMODEL_ERROR_BASE + 18,\r\n InDynamicTransaction = IMODEL_ERROR_BASE + 19,\r\n InvalidCategory = IMODEL_ERROR_BASE + 20,\r\n InvalidCode = IMODEL_ERROR_BASE + 21,\r\n InvalidCodeSpec = IMODEL_ERROR_BASE + 22,\r\n InvalidId = IMODEL_ERROR_BASE + 23,\r\n InvalidName = IMODEL_ERROR_BASE + 24,\r\n InvalidParent = IMODEL_ERROR_BASE + 25,\r\n InvalidProfileVersion = IMODEL_ERROR_BASE + 26,\r\n IsCreatingChangeSet = IMODEL_ERROR_BASE + 27,\r\n LockNotHeld = IMODEL_ERROR_BASE + 28,\r\n Mismatch2d3d = IMODEL_ERROR_BASE + 29,\r\n MismatchGcs = IMODEL_ERROR_BASE + 30,\r\n MissingDomain = IMODEL_ERROR_BASE + 31,\r\n MissingHandler = IMODEL_ERROR_BASE + 32,\r\n MissingId = IMODEL_ERROR_BASE + 33,\r\n NoGeometry = IMODEL_ERROR_BASE + 34,\r\n NoMultiTxnOperation = IMODEL_ERROR_BASE + 35,\r\n NotEnabled = IMODEL_ERROR_BASE + 37,\r\n NotFound = IMODEL_ERROR_BASE + 38,\r\n NotOpen = IMODEL_ERROR_BASE + 39,\r\n NotOpenForWrite = IMODEL_ERROR_BASE + 40,\r\n NotSameUnitBase = IMODEL_ERROR_BASE + 41,\r\n NothingToRedo = IMODEL_ERROR_BASE + 42,\r\n NothingToUndo = IMODEL_ERROR_BASE + 43,\r\n ParentBlockedChange = IMODEL_ERROR_BASE + 44,\r\n ReadError = IMODEL_ERROR_BASE + 45,\r\n ReadOnly = IMODEL_ERROR_BASE + 46,\r\n ReadOnlyDomain = IMODEL_ERROR_BASE + 47,\r\n RepositoryManagerError = IMODEL_ERROR_BASE + 48,\r\n SQLiteError = IMODEL_ERROR_BASE + 49,\r\n TransactionActive = IMODEL_ERROR_BASE + 50,\r\n UnitsMissing = IMODEL_ERROR_BASE + 51,\r\n UnknownFormat = IMODEL_ERROR_BASE + 52,\r\n UpgradeFailed = IMODEL_ERROR_BASE + 53,\r\n ValidationFailed = IMODEL_ERROR_BASE + 54,\r\n VersionTooNew = IMODEL_ERROR_BASE + 55,\r\n VersionTooOld = IMODEL_ERROR_BASE + 56,\r\n ViewNotFound = IMODEL_ERROR_BASE + 57,\r\n WriteError = IMODEL_ERROR_BASE + 58,\r\n WrongClass = IMODEL_ERROR_BASE + 59,\r\n WrongIModel = IMODEL_ERROR_BASE + 60,\r\n WrongDomain = IMODEL_ERROR_BASE + 61,\r\n WrongElement = IMODEL_ERROR_BASE + 62,\r\n WrongHandler = IMODEL_ERROR_BASE + 63,\r\n WrongModel = IMODEL_ERROR_BASE + 64,\r\n ConstraintNotUnique = IMODEL_ERROR_BASE + 65,\r\n NoGeoLocation = IMODEL_ERROR_BASE + 66,\r\n ServerTimeout = IMODEL_ERROR_BASE + 67,\r\n NoContent = IMODEL_ERROR_BASE + 68,\r\n NotRegistered = IMODEL_ERROR_BASE + 69,\r\n FunctionNotFound = IMODEL_ERROR_BASE + 70,\r\n NoActiveCommand = IMODEL_ERROR_BASE + 71,\r\n}\r\n\r\n/** Error statuses produced by various briefcase operations, typically encountered as the `errorNumber` of an [IModelError]($common).\r\n * @public\r\n */\r\nexport enum BriefcaseStatus {\r\n BRIEFCASE_STATUS_BASE = 0x20000,\r\n CannotAcquire = BRIEFCASE_STATUS_BASE,\r\n CannotDownload = BRIEFCASE_STATUS_BASE + 1,\r\n CannotUpload = BRIEFCASE_STATUS_BASE + 2,\r\n CannotCopy = BRIEFCASE_STATUS_BASE + 3,\r\n CannotDelete = BRIEFCASE_STATUS_BASE + 4,\r\n VersionNotFound = BRIEFCASE_STATUS_BASE + 5,\r\n CannotApplyChanges = BRIEFCASE_STATUS_BASE + 6,\r\n DownloadCancelled = BRIEFCASE_STATUS_BASE + 7,\r\n ContainsDeletedChangeSets = BRIEFCASE_STATUS_BASE + 8,\r\n}\r\n\r\n/** RpcInterface status codes\r\n * @beta\r\n */\r\nexport enum RpcInterfaceStatus {\r\n Success = 0,\r\n RPC_INTERFACE_ERROR_BASE = 0x21000,\r\n /** The RpcInterface implemented by the server is incompatible with the interface requested by the client. */\r\n IncompatibleVersion = RPC_INTERFACE_ERROR_BASE,\r\n}\r\n\r\n/** Error statuses produced by various Changeset operations, typically encountered as the `errorNumber` of an [IModelError]($common).\r\n * @public\r\n */\r\nexport enum ChangeSetStatus { // Note: Values must be kept in sync with ChangeSetStatus in DgnPlatform\r\n Success = 0,\r\n CHANGESET_ERROR_BASE = 0x16000,\r\n /** Error applying a change set when reversing or reinstating it */\r\n ApplyError = CHANGESET_ERROR_BASE + 1,\r\n /** Change tracking has not been enabled. The ChangeSet API mandates this. */\r\n ChangeTrackingNotEnabled = CHANGESET_ERROR_BASE + 2,\r\n /** Contents of the change stream are corrupted and does not match the ChangeSet */\r\n CorruptedChangeStream = CHANGESET_ERROR_BASE + 3,\r\n /** File containing the changes to the change set is not found */\r\n FileNotFound = CHANGESET_ERROR_BASE + 4,\r\n /** Error writing the contents of the change set to the backing change stream file */\r\n FileWriteError = CHANGESET_ERROR_BASE + 5,\r\n /** Cannot perform the operation since the Db has local changes */\r\n HasLocalChanges = CHANGESET_ERROR_BASE + 6,\r\n /** Cannot perform the operation since current transaction has uncommitted changes */\r\n HasUncommittedChanges = CHANGESET_ERROR_BASE + 7,\r\n /** Invalid ChangeSet Id */\r\n InvalidId = CHANGESET_ERROR_BASE + 8,\r\n /** Invalid version of the change set */\r\n InvalidVersion = CHANGESET_ERROR_BASE + 9,\r\n /** Cannot perform the operation since system is in the middle of a dynamic transaction */\r\n InDynamicTransaction = CHANGESET_ERROR_BASE + 10,\r\n /** Cannot perform operation since system is in the middle of a creating a change set */\r\n IsCreatingChangeSet = CHANGESET_ERROR_BASE + 11,\r\n /** Cannot perform operation since the system is not creating a change set */\r\n IsNotCreatingChangeSet = CHANGESET_ERROR_BASE + 12,\r\n /** Error propagating the changes after the merge */\r\n MergePropagationError = CHANGESET_ERROR_BASE + 13,\r\n /** No change sets to merge */\r\n NothingToMerge = CHANGESET_ERROR_BASE + 14,\r\n /** No transactions are available to create a change set */\r\n NoTransactions = CHANGESET_ERROR_BASE + 15,\r\n /** Parent change set of the Db does not match the parent id of the change set */\r\n ParentMismatch = CHANGESET_ERROR_BASE + 16,\r\n /** Error performing a SQLite operation on the Db */\r\n SQLiteError = CHANGESET_ERROR_BASE + 17,\r\n /** ChangeSet originated in a different Db */\r\n WrongDgnDb = CHANGESET_ERROR_BASE + 18,\r\n /** Could not open the DgnDb to merge change set */\r\n CouldNotOpenDgnDb = CHANGESET_ERROR_BASE + 19,\r\n /** Cannot merge changes in in an open DgnDb. Close the DgnDb, and process the operation when it is opened. */\r\n MergeSchemaChangesOnOpen = CHANGESET_ERROR_BASE + 20,\r\n /** Cannot reverse or reinstate schema changes. */\r\n ReverseOrReinstateSchemaChanges = CHANGESET_ERROR_BASE + 21,\r\n /** Cannot process changes schema changes in an open DgnDb. Close the DgnDb, and process the operation when it is opened. */\r\n ProcessSchemaChangesOnOpen = CHANGESET_ERROR_BASE + 22,\r\n /** Cannot merge changes into a Readonly DgnDb. */\r\n CannotMergeIntoReadonly = CHANGESET_ERROR_BASE + 23,\r\n /** Cannot merge changes into a Master DgnDb. */\r\n CannotMergeIntoMaster = CHANGESET_ERROR_BASE + 24,\r\n /** Cannot merge changes into a DgnDb that has reversed change sets. */\r\n CannotMergeIntoReversed = CHANGESET_ERROR_BASE + 25,\r\n /** ChangeSet(s) download was cancelled. */\r\n DownloadCancelled = CHANGESET_ERROR_BASE + 26,\r\n}\r\n\r\n/** Return codes for methods which perform repository management operations\r\n * @internal\r\n */\r\nexport enum RepositoryStatus {\r\n Success = 0,\r\n /** The repository server did not respond to a request */\r\n ServerUnavailable = 0x15001,\r\n /** A requested lock was already held by another briefcase */\r\n LockAlreadyHeld = 0x15002,\r\n /** Failed to sync briefcase manager with server */\r\n SyncError = 0x15003,\r\n /** Response from server not understood */\r\n InvalidResponse = 0x15004,\r\n /** An operation requires local changes to be committed or abandoned */\r\n PendingTransactions = 0x15005,\r\n /** A lock cannot be relinquished because the associated object has been modified */\r\n LockUsed = 0x15006,\r\n /** An operation required creation of a ChangeSet, which failed */\r\n CannotCreateChangeSet = 0x15007,\r\n /** Request to server not understood */\r\n InvalidRequest = 0x15008,\r\n /** A change set committed to the server must be integrated into the briefcase before the operation can be completed */\r\n ChangeSetRequired = 0x15009,\r\n /** A requested DgnCode is reserved by another briefcase or in use */\r\n CodeUnavailable = 0x1500A,\r\n /** A DgnCode cannot be released because it has not been reserved by the requesting briefcase */\r\n CodeNotReserved = 0x1500B,\r\n /** A DgnCode cannot be relinquished because it has been used locally */\r\n CodeUsed = 0x1500C,\r\n /** A required lock is not held by this briefcase */\r\n LockNotHeld = 0x1500D,\r\n /** Repository is currently locked, no changes allowed */\r\n RepositoryIsLocked = 0x1500E,\r\n /** Channel write constraint violation, such as an attempt to write outside the designated channel. */\r\n ChannelConstraintViolation = 0x1500F,\r\n}\r\n\r\n/** Status from returned HTTP status code\r\n * @beta\r\n */\r\nexport enum HttpStatus {\r\n /** 2xx Success */\r\n Success = 0,\r\n /** 1xx Informational responses */\r\n Info = 0x17001,\r\n /** 3xx Redirection */\r\n Redirection = 0x17002,\r\n /** 4xx Client errors */\r\n ClientError = 0x17003,\r\n /** 5xx Server errors */\r\n ServerError = 0x17004,\r\n}\r\n\r\n/** Statuses produced by APIs that interact with iModelHub, typically encountered as the `errorNumber` of an [IModelError]($common).\r\n * @public\r\n */\r\nexport enum IModelHubStatus {\r\n Success = 0,\r\n IMODELHUBERROR_BASE = 0x19000,\r\n IMODELHUBERROR_REQUESTERRORBASE = 0x19100,\r\n Unknown = IMODELHUBERROR_BASE + 1,\r\n MissingRequiredProperties = IMODELHUBERROR_BASE + 2,\r\n InvalidPropertiesValues = IMODELHUBERROR_BASE + 3,\r\n UserDoesNotHavePermission = IMODELHUBERROR_BASE + 4,\r\n UserDoesNotHaveAccess = IMODELHUBERROR_BASE + 5,\r\n InvalidBriefcase = IMODELHUBERROR_BASE + 6,\r\n BriefcaseDoesNotExist = IMODELHUBERROR_BASE + 7,\r\n BriefcaseDoesNotBelongToUser = IMODELHUBERROR_BASE + 8,\r\n AnotherUserPushing = IMODELHUBERROR_BASE + 9,\r\n ChangeSetAlreadyExists = IMODELHUBERROR_BASE + 10,\r\n ChangeSetDoesNotExist = IMODELHUBERROR_BASE + 11,\r\n FileIsNotUploaded = IMODELHUBERROR_BASE + 12,\r\n iModelIsNotInitialized = IMODELHUBERROR_BASE + 13,\r\n ChangeSetPointsToBadSeed = IMODELHUBERROR_BASE + 14,\r\n OperationFailed = IMODELHUBERROR_BASE + 15,\r\n PullIsRequired = IMODELHUBERROR_BASE + 16,\r\n MaximumNumberOfBriefcasesPerUser = IMODELHUBERROR_BASE + 17,\r\n MaximumNumberOfBriefcasesPerUserPerMinute = IMODELHUBERROR_BASE + 18,\r\n DatabaseTemporarilyLocked = IMODELHUBERROR_BASE + 19,\r\n iModelIsLocked = IMODELHUBERROR_BASE + 20,\r\n CodesExist = IMODELHUBERROR_BASE + 21,\r\n LocksExist = IMODELHUBERROR_BASE + 22,\r\n iModelAlreadyExists = IMODELHUBERROR_BASE + 23,\r\n iModelDoesNotExist = IMODELHUBERROR_BASE + 24,\r\n FileDoesNotExist = IMODELHUBERROR_BASE + 25,\r\n FileAlreadyExists = IMODELHUBERROR_BASE + 26,\r\n LockDoesNotExist = IMODELHUBERROR_BASE + 27,\r\n LockOwnedByAnotherBriefcase = IMODELHUBERROR_BASE + 28,\r\n CodeStateInvalid = IMODELHUBERROR_BASE + 29,\r\n CodeReservedByAnotherBriefcase = IMODELHUBERROR_BASE + 30,\r\n CodeDoesNotExist = IMODELHUBERROR_BASE + 31,\r\n EventTypeDoesNotExist = IMODELHUBERROR_BASE + 32,\r\n EventSubscriptionDoesNotExist = IMODELHUBERROR_BASE + 33,\r\n EventSubscriptionAlreadyExists = IMODELHUBERROR_BASE + 34,\r\n ITwinIdIsNotSpecified = IMODELHUBERROR_BASE + 35,\r\n FailedToGetITwinPermissions = IMODELHUBERROR_BASE + 36,\r\n FailedToGetITwinMembers = IMODELHUBERROR_BASE + 37,\r\n ChangeSetAlreadyHasVersion = IMODELHUBERROR_BASE + 38,\r\n VersionAlreadyExists = IMODELHUBERROR_BASE + 39,\r\n JobSchedulingFailed = IMODELHUBERROR_BASE + 40,\r\n ConflictsAggregate = IMODELHUBERROR_BASE + 41,\r\n FailedToGetITwinById = IMODELHUBERROR_BASE + 42,\r\n\r\n DatabaseOperationFailed = IMODELHUBERROR_BASE + 43,\r\n SeedFileInitializationFailed = IMODELHUBERROR_BASE + 44,\r\n\r\n FailedToGetAssetPermissions = IMODELHUBERROR_BASE + 45,\r\n FailedToGetAssetMembers = IMODELHUBERROR_BASE + 46,\r\n ITwinDoesNotExist = IMODELHUBERROR_BASE + 47,\r\n\r\n LockChunkDoesNotExist = IMODELHUBERROR_BASE + 49,\r\n\r\n CheckpointAlreadyExists = IMODELHUBERROR_BASE + 50,\r\n CheckpointDoesNotExist = IMODELHUBERROR_BASE + 51,\r\n\r\n // Errors that are returned for incorrect iModelHub request.\r\n UndefinedArgumentError = IMODELHUBERROR_REQUESTERRORBASE + 1,\r\n InvalidArgumentError = IMODELHUBERROR_REQUESTERRORBASE + 2,\r\n MissingDownloadUrlError = IMODELHUBERROR_REQUESTERRORBASE + 3,\r\n NotSupportedInBrowser = IMODELHUBERROR_REQUESTERRORBASE + 4,\r\n FileHandlerNotSet = IMODELHUBERROR_REQUESTERRORBASE + 5,\r\n FileNotFound = IMODELHUBERROR_REQUESTERRORBASE + 6,\r\n InitializationTimeout = IMODELHUBERROR_REQUESTERRORBASE + 7,\r\n}\r\n\r\n/** GeoServiceStatus errors\r\n * @public\r\n */\r\nexport enum GeoServiceStatus {\r\n Success = 0,\r\n GEOSERVICESTATUS_BASE = 0x24000,\r\n // Error mapped from 'IModelStatus'\r\n NoGeoLocation = IModelStatus.NoGeoLocation,\r\n // Following errors are mapped from 'GeoCoordStatus'\r\n OutOfUsefulRange = GEOSERVICESTATUS_BASE + 1,\r\n OutOfMathematicalDomain = GEOSERVICESTATUS_BASE + 2,\r\n NoDatumConverter = GEOSERVICESTATUS_BASE + 3,\r\n VerticalDatumConvertError = GEOSERVICESTATUS_BASE + 4,\r\n CSMapError = GEOSERVICESTATUS_BASE + 5,\r\n Pending = GEOSERVICESTATUS_BASE + 6,\r\n}\r\n\r\n/** Error status from various reality data operations\r\n * @alpha\r\n */\r\nexport enum RealityDataStatus {\r\n Success = 0,\r\n REALITYDATA_ERROR_BASE = 0x25000,\r\n InvalidData = REALITYDATA_ERROR_BASE + 1,\r\n}\r\n\r\n/** When you want to associate an explanatory message with an error status value.\r\n * @internal\r\n */\r\nexport interface StatusCodeWithMessage<ErrorCodeType> {\r\n status: ErrorCodeType;\r\n message: string;\r\n}\r\n\r\n/** A function that returns a metadata object for a [[BentleyError]].\r\n * This is generally used for logging. However not every exception is logged, so use this if the metadata for an exception is expensive to create.\r\n * @public\r\n */\r\nexport type GetMetaDataFunction = () => object | undefined;\r\n\r\n/** Optional metadata attached to a [[BentleyError]]. May either be an object or a function that returns an object.\r\n * If this exception is logged and metadata is present, the metaData object is attached to the log entry via `JSON.stringify`\r\n * @public\r\n */\r\nexport type LoggingMetaData = GetMetaDataFunction | object | undefined;\r\n\r\nfunction isObject(obj: unknown): obj is { [key: string]: unknown } {\r\n return typeof obj === \"object\" && obj !== null;\r\n}\r\n\r\ninterface ErrorProps {\r\n message: string;\r\n stack?: string;\r\n metadata?: object;\r\n}\r\n\r\n/** Base exception class for iTwin.js exceptions.\r\n * @public\r\n */\r\nexport class BentleyError extends Error {\r\n private readonly _metaData: LoggingMetaData;\r\n\r\n /**\r\n * @param errorNumber The a number that identifies of the problem.\r\n * @param message message that describes the problem (should not be localized).\r\n * @param metaData metaData about the exception.\r\n */\r\n public constructor(public errorNumber: number, message?: string, metaData?: LoggingMetaData) {\r\n super(message);\r\n this.errorNumber = errorNumber;\r\n this._metaData = metaData;\r\n this.name = this._initName();\r\n }\r\n\r\n /** Returns true if this BentleyError includes (optional) metadata. */\r\n public get hasMetaData(): boolean { return undefined !== this._metaData; }\r\n\r\n /** get the meta data associated with this BentleyError, if any. */\r\n public getMetaData(): object | undefined {\r\n return BentleyError.getMetaData(this._metaData);\r\n }\r\n\r\n /** get the metadata object associated with an ExceptionMetaData, if any. */\r\n public static getMetaData(metaData: LoggingMetaData): object | undefined {\r\n return (typeof metaData === \"function\") ? metaData() : metaData;\r\n }\r\n\r\n /** This function returns the name of each error status. Override this method to handle more error status codes. */\r\n protected _initName(): string {\r\n switch (this.errorNumber) {\r\n case IModelStatus.AlreadyLoaded: return \"Already Loaded\";\r\n case IModelStatus.AlreadyOpen: return \"Already Open\";\r\n case IModelStatus.BadArg: return \"Bad Arg\";\r\n case IModelStatus.BadElement: return \"Bad Element\";\r\n case IModelStatus.BadModel: return \"Bad Model\";\r\n case IModelStatus.BadRequest: return \"Bad Request\";\r\n case IModelStatus.BadSchema: return \"Bad Schema\";\r\n case IModelStatus.CannotUndo: return \"Can not Undo\";\r\n case IModelStatus.CodeNotReserved: return \"Code Not Reserved\";\r\n case IModelStatus.DeletionProhibited: return \"Deletion Prohibited\";\r\n case IModelStatus.DuplicateCode: return \"Duplicate Code\";\r\n case IModelStatus.DuplicateName: return \"Duplicate Name\";\r\n case IModelStatus.ElementBlockedChange: return \"Element Blocked Change\";\r\n case IModelStatus.FileAlreadyExists: return \"File Already Exists\";\r\n case IModelStatus.FileNotFound: return \"File Not Found\";\r\n case IModelStatus.FileNotLoaded: return \"File Not Loaded\";\r\n case IModelStatus.ForeignKeyConstraint: return \"ForeignKey Constraint\";\r\n case IModelStatus.IdExists: return \"Id Exists\";\r\n case IModelStatus.InDynamicTransaction: return \"InDynamicTransaction\";\r\n case IModelStatus.InvalidCategory: return \"Invalid Category\";\r\n case IModelStatus.InvalidCode: return \"Invalid Code\";\r\n case IModelStatus.InvalidCodeSpec: return \"Invalid CodeSpec\";\r\n case IModelStatus.InvalidId: return \"Invalid Id\";\r\n case IModelStatus.InvalidName: return \"Invalid Name\";\r\n case IModelStatus.InvalidParent: return \"Invalid Parent\";\r\n case IModelStatus.InvalidProfileVersion: return \"Invalid Profile Version\";\r\n case IModelStatus.IsCreatingChangeSet: return \"IsCreatingChangeSet\";\r\n case IModelStatus.LockNotHeld: return \"Lock Not Held\";\r\n case IModelStatus.Mismatch2d3d: return \"Mismatch 2d3d\";\r\n case IModelStatus.MismatchGcs: return \"Mismatch Gcs\";\r\n case IModelStatus.MissingDomain: return \"Missing Domain\";\r\n case IModelStatus.MissingHandler: return \"Missing Handler\";\r\n case IModelStatus.MissingId: return \"Missing Id\";\r\n case IModelStatus.NoGeometry: return \"No Geometry\";\r\n case IModelStatus.NoMultiTxnOperation: return \"NoMultiTxnOperation\";\r\n case IModelStatus.NotEnabled: return \"Not Enabled\";\r\n case IModelStatus.NotFound: return \"Not Found\";\r\n case IModelStatus.NotOpen: return \"Not Open\";\r\n case IModelStatus.NotOpenForWrite: return \"Not Open For Write\";\r\n case IModelStatus.NotSameUnitBase: return \"Not Same Unit Base\";\r\n case IModelStatus.NothingToRedo: return \"Nothing To Redo\";\r\n case IModelStatus.NothingToUndo: return \"Nothing To Undo\";\r\n case IModelStatus.ParentBlockedChange: return \"Parent Blocked Change\";\r\n case IModelStatus.ReadError: return \"Read Error\";\r\n case IModelStatus.ReadOnly: return \"ReadOnly\";\r\n case IModelStatus.ReadOnlyDomain: return \"ReadOnlyDomain\";\r\n case IModelStatus.RepositoryManagerError: return \"RepositoryManagerError\";\r\n case IModelStatus.SQLiteError: return \"SQLiteError\";\r\n case IModelStatus.TransactionActive: return \"Transaction Active\";\r\n case IModelStatus.UnitsMissing: return \"Units Missing\";\r\n case IModelStatus.UnknownFormat: return \"Unknown Format\";\r\n case IModelStatus.UpgradeFailed: return \"Upgrade Failed\";\r\n case IModelStatus.ValidationFailed: return \"Validation Failed\";\r\n case IModelStatus.VersionTooNew: return \"Version Too New\";\r\n case IModelStatus.VersionTooOld: return \"Version Too Old\";\r\n case IModelStatus.ViewNotFound: return \"View Not Found\";\r\n case IModelStatus.WriteError: return \"Write Error\";\r\n case IModelStatus.WrongClass: return \"Wrong Class\";\r\n case IModelStatus.WrongIModel: return \"Wrong IModel\";\r\n case IModelStatus.WrongDomain: return \"Wrong Domain\";\r\n case IModelStatus.WrongElement: return \"Wrong Element\";\r\n case IModelStatus.WrongHandler: return \"Wrong Handler\";\r\n case IModelStatus.WrongModel: return \"Wrong Model\";\r\n case DbResult.BE_SQLITE_ERROR: return \"BE_SQLITE_ERROR\";\r\n case DbResult.BE_SQLITE_INTERNAL: return \"BE_SQLITE_INTERNAL\";\r\n case DbResult.BE_SQLITE_PERM: return \"BE_SQLITE_PERM\";\r\n case DbResult.BE_SQLITE_ABORT: return \"BE_SQLITE_ABORT\";\r\n case DbResult.BE_SQLITE_BUSY: return \"Db is busy\";\r\n case DbResult.BE_SQLITE_LOCKED: return \"Db is Locked\";\r\n case DbResult.BE_SQLITE_NOMEM: return \"BE_SQLITE_NOMEM\";\r\n case DbResult.BE_SQLITE_READONLY: return \"Readonly\";\r\n case DbResult.BE_SQLITE_INTERRUPT: return \"BE_SQLITE_INTERRUPT\";\r\n case DbResult.BE_SQLITE_IOERR: return \"BE_SQLITE_IOERR\";\r\n case DbResult.BE_SQLITE_CORRUPT: return \"BE_SQLITE_CORRUPT\";\r\n case DbResult.BE_SQLITE_NOTFOUND: return \"Not Found\";\r\n case DbResult.BE_SQLITE_FULL: return \"BE_SQLITE_FULL\";\r\n case DbResult.BE_SQLITE_CANTOPEN: return \"Can't open\";\r\n case DbResult.BE_SQLITE_PROTOCOL: return \"BE_SQLITE_PROTOCOL\";\r\n case DbResult.BE_SQLITE_EMPTY: return \"BE_SQLITE_EMPTY\";\r\n case DbResult.BE_SQLITE_SCHEMA: return \"BE_SQLITE_SCHEMA\";\r\n case DbResult.BE_SQLITE_TOOBIG: return \"BE_SQLITE_TOOBIG\";\r\n case DbResult.BE_SQLITE_MISMATCH: return \"BE_SQLITE_MISMATCH\";\r\n case DbResult.BE_SQLITE_MISUSE: return \"BE_SQLITE_MISUSE\";\r\n case DbResult.BE_SQLITE_NOLFS: return \"BE_SQLITE_NOLFS\";\r\n case DbResult.BE_SQLITE_AUTH: return \"BE_SQLITE_AUTH\";\r\n case DbResult.BE_SQLITE_FORMAT: return \"BE_SQLITE_FORMAT\";\r\n case DbResult.BE_SQLITE_RANGE: return \"BE_SQLITE_RANGE\";\r\n case DbResult.BE_SQLITE_NOTADB: return \"Not a Database\";\r\n case DbResult.BE_SQLITE_IOERR_READ: return \"BE_SQLITE_IOERR_READ\";\r\n case DbResult.BE_SQLITE_IOERR_SHORT_READ: return \"BE_SQLITE_IOERR_SHORT_READ\";\r\n case DbResult.BE_SQLITE_IOERR_WRITE: return \"BE_SQLITE_IOERR_WRITE\";\r\n case DbResult.BE_SQLITE_IOERR_FSYNC: return \"BE_SQLITE_IOERR_FSYNC\";\r\n case DbResult.BE_SQLITE_IOERR_DIR_FSYNC: return \"BE_SQLITE_IOERR_DIR_FSYNC\";\r\n case DbResult.BE_SQLITE_IOERR_TRUNCATE: return \"BE_SQLITE_IOERR_TRUNCATE\";\r\n case DbResult.BE_SQLITE_IOERR_FSTAT: return \"BE_SQLITE_IOERR_FSTAT\";\r\n case DbResult.BE_SQLITE_IOERR_UNLOCK: return \"BE_SQLITE_IOERR_UNLOCK\";\r\n case DbResult.BE_SQLITE_IOERR_RDLOCK: return \"BE_SQLITE_IOERR_RDLOCK\";\r\n case DbResult.BE_SQLITE_IOERR_DELETE: return \"BE_SQLITE_IOERR_DELETE\";\r\n case DbResult.BE_SQLITE_IOERR_BLOCKED: return \"BE_SQLITE_IOERR_BLOCKED\";\r\n case DbResult.BE_SQLITE_IOERR_NOMEM: return \"BE_SQLITE_IOERR_NOMEM\";\r\n case DbResult.BE_SQLITE_IOERR_ACCESS: return \"BE_SQLITE_IOERR_ACCESS\";\r\n case DbResult.BE_SQLITE_IOERR_CHECKRESERVEDLOCK: return \"BE_SQLITE_IOERR_CHECKRESERVEDLOCK\";\r\n case DbResult.BE_SQLITE_IOERR_LOCK: return \"BE_SQLITE_IOERR_LOCK\";\r\n case DbResult.BE_SQLITE_IOERR_CLOSE: return \"BE_SQLITE_IOERR_CLOSE\";\r\n case DbResult.BE_SQLITE_IOERR_DIR_CLOSE: return \"BE_SQLITE_IOERR_DIR_CLOSE\";\r\n case DbResult.BE_SQLITE_IOERR_SHMOPEN: return \"BE_SQLITE_IOERR_SHMOPEN\";\r\n case DbResult.BE_SQLITE_IOERR_SHMSIZE: return \"BE_SQLITE_IOERR_SHMSIZE\";\r\n case DbResult.BE_SQLITE_IOERR_SHMLOCK: return \"BE_SQLITE_IOERR_SHMLOCK\";\r\n case DbResult.BE_SQLITE_IOERR_SHMMAP: return \"BE_SQLITE_IOERR_SHMMAP\";\r\n case DbResult.BE_SQLITE_IOERR_SEEK: return \"BE_SQLITE_IOERR_SEEK\";\r\n case DbResult.BE_SQLITE_IOERR_DELETE_NOENT: return \"BE_SQLITE_IOERR_DELETE_NOENT\";\r\n case DbResult.BE_SQLITE_ERROR_FileExists: return \"File Exists\";\r\n case DbResult.BE_SQLITE_ERROR_AlreadyOpen: return \"Already Open\";\r\n case DbResult.BE_SQLITE_ERROR_NoPropertyTable: return \"No Property Table\";\r\n case DbResult.BE_SQLITE_ERROR_FileNotFound: return \"File Not Found\";\r\n case DbResult.BE_SQLITE_ERROR_NoTxnActive: return \"No Txn Active\";\r\n case DbResult.BE_SQLITE_ERROR_BadDbProfile: return \"Bad Db Profile\";\r\n case DbResult.BE_SQLITE_ERROR_InvalidProfileVersion: return \"Invalid Profile Version\";\r\n case DbResult.BE_SQLITE_ERROR_ProfileUpgradeFailed: return \"Profile Upgrade Failed\";\r\n case DbResult.BE_SQLITE_ERROR_ProfileTooOldForReadWrite: return \"Profile Too Old For ReadWrite\";\r\n case DbResult.BE_SQLITE_ERROR_ProfileTooOld: return \"Profile Too Old\";\r\n case DbResult.BE_SQLITE_ERROR_ProfileTooNewForReadWrite: return \"Profile Too New For ReadWrite\";\r\n case DbResult.BE_SQLITE_ERROR_ProfileTooNew: return \"Profile Too New\";\r\n case DbResult.BE_SQLITE_ERROR_ChangeTrackError: return \"ChangeTrack Error\";\r\n case DbResult.BE_SQLITE_ERROR_InvalidChangeSetVersion: return \"Invalid ChangeSet Version\";\r\n case DbResult.BE_SQLITE_ERROR_SchemaUpgradeRequired: return \"Schema Upgrade Required\";\r\n case DbResult.BE_SQLITE_ERROR_SchemaTooNew: return \"Schema Too New\";\r\n case DbResult.BE_SQLITE_ERROR_SchemaTooOld: return \"Schema Too Old\";\r\n case DbResult.BE_SQLITE_ERROR_SchemaLockFailed: return \"Schema Lock Failed\";\r\n case DbResult.BE_SQLITE_ERROR_SchemaUpgradeFailed: return \"Schema Upgrade Failed\";\r\n case DbResult.BE_SQLITE_ERROR_SchemaImportFailed: return \"Schema Import Failed\";\r\n case DbResult.BE_SQLITE_ERROR_CouldNotAcquireLocksOrCodes: return \"Could Not Acquire Locks Or Codes\";\r\n case DbResult.BE_SQLITE_ERROR_SchemaUpgradeRecommended: return \"Recommended that the schemas found in the database be upgraded\";\r\n case DbResult.BE_SQLITE_LOCKED_SHAREDCACHE: return \"BE_SQLITE_LOCKED_SHAREDCACHE\";\r\n case DbResult.BE_SQLITE_BUSY_RECOVERY: return \"BE_SQLITE_BUSY_RECOVERY\";\r\n case DbResult.BE_SQLITE_CANTOPEN_NOTEMPDIR: return \"SQLite No Temp Dir\";\r\n case DbResult.BE_SQLITE_CANTOPEN_ISDIR: return \"BE_SQLITE_CANTOPEN_ISDIR\";\r\n case DbResult.BE_SQLITE_CANTOPEN_FULLPATH: return \"BE_SQLITE_CANTOPEN_FULLPATH\";\r\n case DbResult.BE_SQLITE_CORRUPT_VTAB: return \"BE_SQLITE_CORRUPT_VTAB\";\r\n case DbResult.BE_SQLITE_READONLY_RECOVERY: return \"BE_SQLITE_READONLY_RECOVERY\";\r\n case DbResult.BE_SQLITE_READONLY_CANTLOCK: return \"BE_SQLITE_READONLY_CANTLOCK\";\r\n case DbResult.BE_SQLITE_READONLY_ROLLBACK: return \"BE_SQLITE_READONLY_ROLLBACK\";\r\n case DbResult.BE_SQLITE_ABORT_ROLLBACK: return \"BE_SQLITE_ABORT_ROLLBACK\";\r\n case DbResult.BE_SQLITE_CONSTRAINT_CHECK: return \"BE_SQLITE_CONSTRAINT_CHECK\";\r\n case DbResult.BE_SQLITE_CONSTRAINT_COMMITHOOK: return \"CommitHook Constraint Error\";\r\n case DbResult.BE_SQLITE_CONSTRAINT_FOREIGNKEY: return \"Foreign Key Constraint Error\";\r\n case DbResult.BE_SQLITE_CONSTRAINT_FUNCTION: return \"Function Constraint Error\";\r\n case DbResult.BE_SQLITE_CONSTRAINT_NOTNULL: return \"NotNull Constraint Error\";\r\n case DbResult.BE_SQLITE_CONSTRAINT_PRIMARYKEY: return \"Primary Key Constraint Error\";\r\n case DbResult.BE_SQLITE_CONSTRAINT_TRIGGER: return \"Trigger Constraint Error\";\r\n case DbResult.BE_SQLITE_CONSTRAINT_UNIQUE: return \"Unique Constraint Error\";\r\n case DbResult.BE_SQLITE_CONSTRAINT_VTAB: return \"VTable Constraint Error\";\r\n case BentleyStatus.ERROR: return \"Error\";\r\n case BriefcaseStatus.CannotAcquire: return \"CannotAcquire\";\r\n case BriefcaseStatus.CannotDownload: return \"CannotDownload\";\r\n case BriefcaseStatus.CannotCopy: return \"CannotCopy\";\r\n case BriefcaseStatus.CannotDelete: return \"CannotDelete\";\r\n case BriefcaseStatus.VersionNotFound: return \"VersionNotFound\";\r\n case BriefcaseStatus.DownloadCancelled: return \"DownloadCancelled\";\r\n case BriefcaseStatus.ContainsDeletedChangeSets: return \"ContainsDeletedChangeSets\";\r\n case RpcInterfaceStatus.IncompatibleVersion: return \"RpcInterfaceStatus.IncompatibleVersion\";\r\n case ChangeSetStatus.ApplyError: return \"Error applying a change set\";\r\n case ChangeSetStatus.ChangeTrackingNotEnabled: return \"Change tracking has not been enabled. The ChangeSet API mandates this\";\r\n case ChangeSetStatus.CorruptedChangeStream: return \"Contents of the change stream are corrupted and does not match the ChangeSet\";\r\n case ChangeSetStatus.FileNotFound: return \"File containing the changes was not found\";\r\n case ChangeSetStatus.FileWriteError: return \"Error writing the contents of the change set to the backing change stream file\";\r\n case ChangeSetStatus.HasLocalChanges: return \"Cannot perform the operation since the Db has local changes\";\r\n case ChangeSetStatus.HasUncommittedChanges: return \"Cannot perform the operation since current transaction has uncommitted changes\";\r\n case ChangeSetStatus.InvalidId: return \"Invalid ChangeSet Id\";\r\n case ChangeSetStatus.InvalidVersion: return \"Invalid version of the change set\";\r\n case ChangeSetStatus.InDynamicTransaction: return \"Cannot perform the operation since system is in the middle of a dynamic transaction\";\r\n case ChangeSetStatus.IsCreatingChangeSet: return \"Cannot perform operation since system is in the middle of a creating a change set\";\r\n case ChangeSetStatus.IsNotCreatingChangeSet: return \"Cannot perform operation since the system is not creating a change set\";\r\n case ChangeSetStatus.MergePropagationError: return \"Error propagating the changes after the merge\";\r\n case ChangeSetStatus.NothingToMerge: return \"No change sets to merge\";\r\n case ChangeSetStatus.NoTransactions: return \"No transactions are available to create a change set\";\r\n case ChangeSetStatus.ParentMismatch: return \"Parent change set of the Db does not match the parent id of the change set\";\r\n case ChangeSetStatus.SQLiteError: return \"Error performing a SQLite operation on the Db\";\r\n case ChangeSetStatus.WrongDgnDb: return \"ChangeSet originated in a different Db\";\r\n case ChangeSetStatus.CouldNotOpenDgnDb: return \"Could not open the DgnDb to merge change set\";\r\n case ChangeSetStatus.MergeSchemaChangesOnOpen: return \"Cannot merge changes in in an open DgnDb. Close the DgnDb, and process the operation when it is opened\";\r\n case ChangeSetStatus.ReverseOrReinstateSchemaChanges: return \"Cannot reverse or reinstate schema changes.\";\r\n case ChangeSetStatus.ProcessSchemaChangesOnOpen: return \"Cannot process changes schema changes in an open DgnDb. Close the DgnDb, and process the operation when it is opened\";\r\n case ChangeSetStatus.CannotMergeIntoReadonly: return \"Cannot merge changes into a Readonly DgnDb\";\r\n case ChangeSetStatus.CannotMergeIntoMaster: return \"Cannot merge changes into a Master DgnDb\";\r\n case ChangeSetStatus.CannotMergeIntoReversed: return \"Cannot merge changes into a DgnDb that has reversed change sets\";\r\n case ChangeSetStatus.DownloadCancelled: return \"ChangeSet(s) download was cancelled.\";\r\n case RepositoryStatus.ServerUnavailable: return \"ServerUnavailable\";\r\n case RepositoryStatus.LockAlreadyHeld: return \"LockAlreadyHeld\";\r\n case RepositoryStatus.SyncError: return \"SyncError\";\r\n case RepositoryStatus.InvalidResponse: return \"InvalidResponse\";\r\n case RepositoryStatus.PendingTransactions: return \"PendingTransactions\";\r\n case RepositoryStatus.LockUsed: return \"LockUsed\";\r\n case RepositoryStatus.CannotCreateChangeSet: return \"CannotCreateChangeSet\";\r\n case RepositoryStatus.InvalidRequest: return \"InvalidRequest\";\r\n case RepositoryStatus.ChangeSetRequired: return \"ChangeSetRequired\";\r\n case RepositoryStatus.CodeUnavailable: return \"CodeUnavailable\";\r\n case RepositoryStatus.CodeNotReserved: return \"CodeNotReserved\";\r\n case RepositoryStatus.CodeUsed: return \"CodeUsed\";\r\n case RepositoryStatus.LockNotHeld: return \"LockNotHeld\";\r\n case RepositoryStatus.RepositoryIsLocked: return \"RepositoryIsLocked\";\r\n case RepositoryStatus.ChannelConstraintViolation: return \"ChannelConstraintViolation\";\r\n case HttpStatus.Info: return \"HTTP Info\";\r\n case HttpStatus.Redirection: return \"HTTP Redirection\";\r\n case HttpStatus.ClientError: return \"HTTP Client error\";\r\n case HttpStatus.ServerError: return \"HTTP Server error\";\r\n case IModelHubStatus.Unknown: return \"Unknown error\";\r\n case IModelHubStatus.MissingRequiredProperties: return \"Missing required properties\";\r\n case IModelHubStatus.InvalidPropertiesValues: return \"Invalid properties values\";\r\n case IModelHubStatus.UserDoesNotHavePermission: return \"User does not have permission\";\r\n case IModelHubStatus.UserDoesNotHaveAccess: return \"User does not have access\";\r\n case IModelHubStatus.InvalidBriefcase: return \"Invalid briefcase\";\r\n case IModelHubStatus.BriefcaseDoesNotExist: return \"Briefcase does not exist\";\r\n case IModelHubStatus.BriefcaseDoesNotBelongToUser: return \"Briefcase does not belong to user\";\r\n case IModelHubStatus.AnotherUserPushing: return \"Another user pushing\";\r\n case IModelHubStatus.ChangeSetAlreadyExists: return \"ChangeSet already exists\";\r\n case IModelHubStatus.ChangeSetDoesNotExist: return \"ChangeSet does not exist\";\r\n case IModelHubStatus.FileIsNotUploaded: return \"File is not uploaded\";\r\n case IModelHubStatus.iModelIsNotInitialized: return \"iModel is not initialized\";\r\n case IModelHubStatus.ChangeSetPointsToBadSeed: return \"ChangeSet points to a bad seed file\";\r\n case IModelHubStatus.OperationFailed: return \"iModelHub operation has failed\";\r\n case IModelHubStatus.PullIsRequired: return \"Pull is required\";\r\n case IModelHubStatus.MaximumNumberOfBriefcasesPerUser: return \"Limit of briefcases per user was reached\";\r\n case IModelHubStatus.MaximumNumberOfBriefcasesPerUserPerMinute: return \"Limit of briefcases per user per minute was reached\";\r\n case IModelHubStatus.DatabaseTemporarilyLocked: return \"Database is temporarily locked\";\r\n case IModelHubStatus.iModelIsLocked: return \"iModel is locked\";\r\n case IModelHubStatus.CodesExist: return \"Code already exists\";\r\n case IModelHubStatus.LocksExist: return \"Lock already exists\";\r\n case IModelHubStatus.iModelAlreadyExists: return \"iModel already exists\";\r\n case IModelHubStatus.iModelDoesNotExist: return \"iModel does not exist\";\r\n case IModelHubStatus.LockDoesNotExist: return \"Lock does not exist\";\r\n case IModelHubStatus.LockChunkDoesNotExist: return \"Lock chunk does not exist\";\r\n case IModelHubStatus.LockOwnedByAnotherBriefcase: return \"Lock is owned by another briefcase\";\r\n case IModelHubStatus.CodeStateInvalid: return \"Code state is invalid\";\r\n case IModelHubStatus.CodeReservedByAnotherBriefcase: return \"Code is reserved by another briefcase\";\r\n case IModelHubStatus.CodeDoesNotExist: return \"Code does not exist\";\r\n case IModelHubStatus.FileDoesNotExist: return \"File does not exist\";\r\n case IModelHubStatus.FileAlreadyExists: return \"File already exists\";\r\n case IModelHubStatus.EventTypeDoesNotExist: return \"Event type does not exist\";\r\n case IModelHubStatus.EventSubscriptionDoesNotExist: return \"Event subscription does not exist\";\r\n case IModelHubStatus.EventSubscriptionAlreadyExists: return \"Event subscription already exists\";\r\n case IModelHubStatus.ITwinIdIsNotSpecified: return \"ITwin Id is not specified\";\r\n case IModelHubStatus.FailedToGetITwinPermissions: return \"Failed to get iTwin permissions\";\r\n case IModelHubStatus.FailedToGetITwinMembers: return \"Failed to get iTwin members\";\r\n case IModelHubStatus.FailedToGetAssetPermissions: return \"Failed to get asset permissions\";\r\n case IModelHubStatus.FailedToGetAssetMembers: return \"Failed to get asset members\";\r\n case IModelHubStatus.ChangeSetAlreadyHasVersion: return \"ChangeSet already has version\";\r\n case IModelHubStatus.VersionAlreadyExists: return \"Version already exists\";\r\n case IModelHubStatus.JobSchedulingFailed: return \"Failed to schedule a background job\";\r\n case IModelHubStatus.ConflictsAggregate: return \"Codes or locks are owned by another briefcase\";\r\n case IModelHubStatus.FailedToGetITwinById: return \"Failed to query iTwin by its id\";\r\n case IModelHubStatus.DatabaseOperationFailed: return \"Database operation has failed\";\r\n case IModelHubStatus.ITwinDoesNotExist: return \"ITwin does not exist\";\r\n case IModelHubStatus.UndefinedArgumentError: return \"Undefined argument\";\r\n case IModelHubStatus.InvalidArgumentError: return \"Invalid argument\";\r\n case IModelHubStatus.MissingDownloadUrlError: return \"Missing download url\";\r\n case IModelHubStatus.NotSupportedInBrowser: return \"Not supported in browser\";\r\n case IModelHubStatus.FileHandlerNotSet: return \"File handler is not set\";\r\n case IModelHubStatus.FileNotFound: return \"File not found\";\r\n case GeoServiceStatus.NoGeoLocation: return \"No GeoLocation\";\r\n case GeoServiceStatus.OutOfUsefulRange: return \"Out of useful range\";\r\n case GeoServiceStatus.OutOfMathematicalDomain: return \"Out of mathematical domain\";\r\n case GeoServiceStatus.NoDatumConverter: return \"No datum converter\";\r\n case GeoServiceStatus.VerticalDatumConvertError: return \"Vertical datum convert error\";\r\n case GeoServiceStatus.CSMapError: return \"CSMap error\";\r\n case GeoServiceStatus.Pending: return \"Pending\";\r\n case RealityDataStatus.InvalidData: return \"Invalid or unknown data\";\r\n case IModelStatus.Success:\r\n case DbResult.BE_SQLITE_OK:\r\n case DbResult.BE_SQLITE_ROW:\r\n case DbResult.BE_SQLITE_DONE:\r\n case BentleyStatus.SUCCESS:\r\n return \"Success\";\r\n\r\n default:\r\n return `Error (${this.errorNumber})`;\r\n }\r\n }\r\n\r\n /** Use run-time type checking to safely get a useful string summary of an unknown error value, or `\"\"` if none exists.\r\n * @note It's recommended to use this function in `catch` clauses, where a caught value cannot be assumed to be `instanceof Error`\r\n * @public\r\n */\r\n public static getErrorMessage(error: unknown): string {\r\n if (typeof error === \"string\")\r\n return error;\r\n\r\n if (error instanceof Error)\r\n return error.toString();\r\n\r\n if (isObject(error)) {\r\n if (typeof error.message === \"string\")\r\n return error.message;\r\n\r\n if (typeof error.msg === \"string\")\r\n return error.msg;\r\n\r\n if (error.toString() !== \"[object Object]\")\r\n return error.toString();\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n /** Use run-time type checking to safely get the call stack of an unknown error value, if possible.\r\n * @note It's recommended to use this function in `catch` clauses, where a caught value cannot be assumed to be `instanceof Error`\r\n * @public\r\n */\r\n public static getErrorStack(error: unknown): string | undefined {\r\n if (isObject(error) && typeof error.stack === \"string\")\r\n return error.stack;\r\n\r\n return undefined;\r\n }\r\n\r\n /** Use run-time type checking to safely get the metadata with an unknown error value, if possible.\r\n * @note It's recommended to use this function in `catch` clauses, where a caught value cannot be assumed to be `instanceof BentleyError`\r\n * @see [[BentleyError.getMetaData]]\r\n * @public\r\n */\r\n public static getErrorMetadata(error: unknown): object | undefined {\r\n if (isObject(error) && typeof error.getMetaData === \"function\") {\r\n const metadata = error.getMetaData();\r\n if (typeof metadata === \"object\" && metadata !== null)\r\n return metadata;\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n /** Returns a new `ErrorProps` object representing an unknown error value. Useful for logging or wrapping/re-throwing caught errors.\r\n * @note Unlike `Error` objects (which lose messages and call stacks when serialized to JSON), objects\r\n * returned by this are plain old JavaScript objects, and can be easily logged/serialized to JSON.\r\n * @public\r\n */\r\n public static getErrorProps(error: unknown): ErrorProps {\r\n const serialized: ErrorProps = {\r\n message: BentleyError.getErrorMessage(error),\r\n };\r\n\r\n const stack = BentleyError.getErrorStack(error);\r\n if (stack)\r\n serialized.stack = stack;\r\n\r\n const metadata = BentleyError.getErrorMetadata(error);\r\n if (metadata)\r\n serialized.metadata = metadata;\r\n\r\n return serialized;\r\n }\r\n}\r\n\r\n"]}
|
|
1
|
+
{"version":3,"file":"BentleyError.js","sourceRoot":"","sources":["../../src/BentleyError.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 Errors\r\n */\r\n\r\nimport { DbResult } from \"./BeSQLite\";\r\n\r\n/** Standard status code.\r\n * This status code should be rarely used.\r\n * Prefer to throw an exception to indicate an error, rather than returning a special status code.\r\n * If a status code is to be returned, prefer to return a more specific error status type such as IModelStatus or DbResult.\r\n * @public\r\n */\r\nexport enum BentleyStatus {\r\n SUCCESS = 0x0000,\r\n ERROR = 0x8000,\r\n}\r\n\r\n/** Status codes that are used in conjunction with [[BentleyError]].\r\n * Error status codes are divided into separate ranges for different kinds of errors. All known ranges at least should be defined here, to avoid collisions.\r\n * @public\r\n */\r\nexport enum IModelStatus {\r\n IMODEL_ERROR_BASE = 0x10000,\r\n Success = 0,\r\n AlreadyLoaded = IMODEL_ERROR_BASE + 1,\r\n AlreadyOpen = IMODEL_ERROR_BASE + 2,\r\n BadArg = IMODEL_ERROR_BASE + 3,\r\n BadElement = IMODEL_ERROR_BASE + 4,\r\n BadModel = IMODEL_ERROR_BASE + 5,\r\n BadRequest = IMODEL_ERROR_BASE + 6,\r\n BadSchema = IMODEL_ERROR_BASE + 7,\r\n CannotUndo = IMODEL_ERROR_BASE + 8,\r\n CodeNotReserved = IMODEL_ERROR_BASE + 9,\r\n DeletionProhibited = IMODEL_ERROR_BASE + 10,\r\n DuplicateCode = IMODEL_ERROR_BASE + 11,\r\n DuplicateName = IMODEL_ERROR_BASE + 12,\r\n ElementBlockedChange = IMODEL_ERROR_BASE + 13,\r\n FileAlreadyExists = IMODEL_ERROR_BASE + 14,\r\n FileNotFound = IMODEL_ERROR_BASE + 15,\r\n FileNotLoaded = IMODEL_ERROR_BASE + 16,\r\n ForeignKeyConstraint = IMODEL_ERROR_BASE + 17,\r\n IdExists = IMODEL_ERROR_BASE + 18,\r\n InDynamicTransaction = IMODEL_ERROR_BASE + 19,\r\n InvalidCategory = IMODEL_ERROR_BASE + 20,\r\n InvalidCode = IMODEL_ERROR_BASE + 21,\r\n InvalidCodeSpec = IMODEL_ERROR_BASE + 22,\r\n InvalidId = IMODEL_ERROR_BASE + 23,\r\n InvalidName = IMODEL_ERROR_BASE + 24,\r\n InvalidParent = IMODEL_ERROR_BASE + 25,\r\n InvalidProfileVersion = IMODEL_ERROR_BASE + 26,\r\n IsCreatingChangeSet = IMODEL_ERROR_BASE + 27,\r\n LockNotHeld = IMODEL_ERROR_BASE + 28,\r\n Mismatch2d3d = IMODEL_ERROR_BASE + 29,\r\n MismatchGcs = IMODEL_ERROR_BASE + 30,\r\n MissingDomain = IMODEL_ERROR_BASE + 31,\r\n MissingHandler = IMODEL_ERROR_BASE + 32,\r\n MissingId = IMODEL_ERROR_BASE + 33,\r\n NoGeometry = IMODEL_ERROR_BASE + 34,\r\n NoMultiTxnOperation = IMODEL_ERROR_BASE + 35,\r\n NotEnabled = IMODEL_ERROR_BASE + 37,\r\n NotFound = IMODEL_ERROR_BASE + 38,\r\n NotOpen = IMODEL_ERROR_BASE + 39,\r\n NotOpenForWrite = IMODEL_ERROR_BASE + 40,\r\n NotSameUnitBase = IMODEL_ERROR_BASE + 41,\r\n NothingToRedo = IMODEL_ERROR_BASE + 42,\r\n NothingToUndo = IMODEL_ERROR_BASE + 43,\r\n ParentBlockedChange = IMODEL_ERROR_BASE + 44,\r\n ReadError = IMODEL_ERROR_BASE + 45,\r\n ReadOnly = IMODEL_ERROR_BASE + 46,\r\n ReadOnlyDomain = IMODEL_ERROR_BASE + 47,\r\n RepositoryManagerError = IMODEL_ERROR_BASE + 48,\r\n SQLiteError = IMODEL_ERROR_BASE + 49,\r\n TransactionActive = IMODEL_ERROR_BASE + 50,\r\n UnitsMissing = IMODEL_ERROR_BASE + 51,\r\n UnknownFormat = IMODEL_ERROR_BASE + 52,\r\n UpgradeFailed = IMODEL_ERROR_BASE + 53,\r\n ValidationFailed = IMODEL_ERROR_BASE + 54,\r\n VersionTooNew = IMODEL_ERROR_BASE + 55,\r\n VersionTooOld = IMODEL_ERROR_BASE + 56,\r\n ViewNotFound = IMODEL_ERROR_BASE + 57,\r\n WriteError = IMODEL_ERROR_BASE + 58,\r\n WrongClass = IMODEL_ERROR_BASE + 59,\r\n WrongIModel = IMODEL_ERROR_BASE + 60,\r\n WrongDomain = IMODEL_ERROR_BASE + 61,\r\n WrongElement = IMODEL_ERROR_BASE + 62,\r\n WrongHandler = IMODEL_ERROR_BASE + 63,\r\n WrongModel = IMODEL_ERROR_BASE + 64,\r\n ConstraintNotUnique = IMODEL_ERROR_BASE + 65,\r\n NoGeoLocation = IMODEL_ERROR_BASE + 66,\r\n ServerTimeout = IMODEL_ERROR_BASE + 67,\r\n NoContent = IMODEL_ERROR_BASE + 68,\r\n NotRegistered = IMODEL_ERROR_BASE + 69,\r\n FunctionNotFound = IMODEL_ERROR_BASE + 70,\r\n NoActiveCommand = IMODEL_ERROR_BASE + 71,\r\n}\r\n\r\n/** Error statuses produced by various briefcase operations, typically encountered as the `errorNumber` of an [IModelError]($common).\r\n * @public\r\n */\r\nexport enum BriefcaseStatus {\r\n BRIEFCASE_STATUS_BASE = 0x20000,\r\n CannotAcquire = BRIEFCASE_STATUS_BASE,\r\n CannotDownload = BRIEFCASE_STATUS_BASE + 1,\r\n CannotUpload = BRIEFCASE_STATUS_BASE + 2,\r\n CannotCopy = BRIEFCASE_STATUS_BASE + 3,\r\n CannotDelete = BRIEFCASE_STATUS_BASE + 4,\r\n VersionNotFound = BRIEFCASE_STATUS_BASE + 5,\r\n CannotApplyChanges = BRIEFCASE_STATUS_BASE + 6,\r\n DownloadCancelled = BRIEFCASE_STATUS_BASE + 7,\r\n ContainsDeletedChangeSets = BRIEFCASE_STATUS_BASE + 8,\r\n}\r\n\r\n/** RpcInterface status codes\r\n * @beta\r\n */\r\nexport enum RpcInterfaceStatus {\r\n Success = 0,\r\n RPC_INTERFACE_ERROR_BASE = 0x21000,\r\n /** The RpcInterface implemented by the server is incompatible with the interface requested by the client. */\r\n IncompatibleVersion = RPC_INTERFACE_ERROR_BASE,\r\n}\r\n\r\n/** Error statuses produced by various Changeset operations, typically encountered as the `errorNumber` of an [IModelError]($common).\r\n * @public\r\n */\r\nexport enum ChangeSetStatus { // Note: Values must be kept in sync with ChangeSetStatus in DgnPlatform\r\n Success = 0,\r\n CHANGESET_ERROR_BASE = 0x16000,\r\n /** Error applying a change set when reversing or reinstating it */\r\n ApplyError = CHANGESET_ERROR_BASE + 1,\r\n /** Change tracking has not been enabled. The ChangeSet API mandates this. */\r\n ChangeTrackingNotEnabled = CHANGESET_ERROR_BASE + 2,\r\n /** Contents of the change stream are corrupted and does not match the ChangeSet */\r\n CorruptedChangeStream = CHANGESET_ERROR_BASE + 3,\r\n /** File containing the changes to the change set is not found */\r\n FileNotFound = CHANGESET_ERROR_BASE + 4,\r\n /** Error writing the contents of the change set to the backing change stream file */\r\n FileWriteError = CHANGESET_ERROR_BASE + 5,\r\n /** Cannot perform the operation since the Db has local changes */\r\n HasLocalChanges = CHANGESET_ERROR_BASE + 6,\r\n /** Cannot perform the operation since current transaction has uncommitted changes */\r\n HasUncommittedChanges = CHANGESET_ERROR_BASE + 7,\r\n /** Invalid ChangeSet Id */\r\n InvalidId = CHANGESET_ERROR_BASE + 8,\r\n /** Invalid version of the change set */\r\n InvalidVersion = CHANGESET_ERROR_BASE + 9,\r\n /** Cannot perform the operation since system is in the middle of a dynamic transaction */\r\n InDynamicTransaction = CHANGESET_ERROR_BASE + 10,\r\n /** Cannot perform operation since system is in the middle of a creating a change set */\r\n IsCreatingChangeSet = CHANGESET_ERROR_BASE + 11,\r\n /** Cannot perform operation since the system is not creating a change set */\r\n IsNotCreatingChangeSet = CHANGESET_ERROR_BASE + 12,\r\n /** Error propagating the changes after the merge */\r\n MergePropagationError = CHANGESET_ERROR_BASE + 13,\r\n /** No change sets to merge */\r\n NothingToMerge = CHANGESET_ERROR_BASE + 14,\r\n /** No transactions are available to create a change set */\r\n NoTransactions = CHANGESET_ERROR_BASE + 15,\r\n /** Parent change set of the Db does not match the parent id of the change set */\r\n ParentMismatch = CHANGESET_ERROR_BASE + 16,\r\n /** Error performing a SQLite operation on the Db */\r\n SQLiteError = CHANGESET_ERROR_BASE + 17,\r\n /** ChangeSet originated in a different Db */\r\n WrongDgnDb = CHANGESET_ERROR_BASE + 18,\r\n /** Could not open the DgnDb to merge change set */\r\n CouldNotOpenDgnDb = CHANGESET_ERROR_BASE + 19,\r\n /** Cannot merge changes in in an open DgnDb. Close the DgnDb, and process the operation when it is opened. */\r\n MergeSchemaChangesOnOpen = CHANGESET_ERROR_BASE + 20,\r\n /** Cannot reverse or reinstate schema changes. */\r\n ReverseOrReinstateSchemaChanges = CHANGESET_ERROR_BASE + 21,\r\n /** Cannot process changes schema changes in an open DgnDb. Close the DgnDb, and process the operation when it is opened. */\r\n ProcessSchemaChangesOnOpen = CHANGESET_ERROR_BASE + 22,\r\n /** Cannot merge changes into a Readonly DgnDb. */\r\n CannotMergeIntoReadonly = CHANGESET_ERROR_BASE + 23,\r\n /** Cannot merge changes into a Master DgnDb. */\r\n CannotMergeIntoMaster = CHANGESET_ERROR_BASE + 24,\r\n /** Cannot merge changes into a DgnDb that has reversed change sets. */\r\n CannotMergeIntoReversed = CHANGESET_ERROR_BASE + 25,\r\n /** ChangeSet(s) download was cancelled. */\r\n DownloadCancelled = CHANGESET_ERROR_BASE + 26,\r\n}\r\n\r\n/** Return codes for methods which perform repository management operations\r\n * @internal\r\n */\r\nexport enum RepositoryStatus {\r\n Success = 0,\r\n /** The repository server did not respond to a request */\r\n ServerUnavailable = 0x15001,\r\n /** A requested lock was already held by another briefcase */\r\n LockAlreadyHeld = 0x15002,\r\n /** Failed to sync briefcase manager with server */\r\n SyncError = 0x15003,\r\n /** Response from server not understood */\r\n InvalidResponse = 0x15004,\r\n /** An operation requires local changes to be committed or abandoned */\r\n PendingTransactions = 0x15005,\r\n /** A lock cannot be relinquished because the associated object has been modified */\r\n LockUsed = 0x15006,\r\n /** An operation required creation of a ChangeSet, which failed */\r\n CannotCreateChangeSet = 0x15007,\r\n /** Request to server not understood */\r\n InvalidRequest = 0x15008,\r\n /** A change set committed to the server must be integrated into the briefcase before the operation can be completed */\r\n ChangeSetRequired = 0x15009,\r\n /** A requested DgnCode is reserved by another briefcase or in use */\r\n CodeUnavailable = 0x1500A,\r\n /** A DgnCode cannot be released because it has not been reserved by the requesting briefcase */\r\n CodeNotReserved = 0x1500B,\r\n /** A DgnCode cannot be relinquished because it has been used locally */\r\n CodeUsed = 0x1500C,\r\n /** A required lock is not held by this briefcase */\r\n LockNotHeld = 0x1500D,\r\n /** Repository is currently locked, no changes allowed */\r\n RepositoryIsLocked = 0x1500E,\r\n /** Channel write constraint violation, such as an attempt to write outside the designated channel. */\r\n ChannelConstraintViolation = 0x1500F,\r\n}\r\n\r\n/** Status from returned HTTP status code\r\n * @beta\r\n */\r\nexport enum HttpStatus {\r\n /** 2xx Success */\r\n Success = 0,\r\n /** 1xx Informational responses */\r\n Info = 0x17001,\r\n /** 3xx Redirection */\r\n Redirection = 0x17002,\r\n /** 4xx Client errors */\r\n ClientError = 0x17003,\r\n /** 5xx Server errors */\r\n ServerError = 0x17004,\r\n}\r\n\r\n/** Statuses produced by APIs that interact with iModelHub, typically encountered as the `errorNumber` of an [IModelError]($common).\r\n * @public\r\n */\r\nexport enum IModelHubStatus {\r\n Success = 0,\r\n IMODELHUBERROR_BASE = 0x19000,\r\n IMODELHUBERROR_REQUESTERRORBASE = 0x19100,\r\n Unknown = IMODELHUBERROR_BASE + 1,\r\n MissingRequiredProperties = IMODELHUBERROR_BASE + 2,\r\n InvalidPropertiesValues = IMODELHUBERROR_BASE + 3,\r\n UserDoesNotHavePermission = IMODELHUBERROR_BASE + 4,\r\n UserDoesNotHaveAccess = IMODELHUBERROR_BASE + 5,\r\n InvalidBriefcase = IMODELHUBERROR_BASE + 6,\r\n BriefcaseDoesNotExist = IMODELHUBERROR_BASE + 7,\r\n BriefcaseDoesNotBelongToUser = IMODELHUBERROR_BASE + 8,\r\n AnotherUserPushing = IMODELHUBERROR_BASE + 9,\r\n ChangeSetAlreadyExists = IMODELHUBERROR_BASE + 10,\r\n ChangeSetDoesNotExist = IMODELHUBERROR_BASE + 11,\r\n FileIsNotUploaded = IMODELHUBERROR_BASE + 12,\r\n iModelIsNotInitialized = IMODELHUBERROR_BASE + 13,\r\n ChangeSetPointsToBadSeed = IMODELHUBERROR_BASE + 14,\r\n OperationFailed = IMODELHUBERROR_BASE + 15,\r\n PullIsRequired = IMODELHUBERROR_BASE + 16,\r\n MaximumNumberOfBriefcasesPerUser = IMODELHUBERROR_BASE + 17,\r\n MaximumNumberOfBriefcasesPerUserPerMinute = IMODELHUBERROR_BASE + 18,\r\n DatabaseTemporarilyLocked = IMODELHUBERROR_BASE + 19,\r\n iModelIsLocked = IMODELHUBERROR_BASE + 20,\r\n CodesExist = IMODELHUBERROR_BASE + 21,\r\n LocksExist = IMODELHUBERROR_BASE + 22,\r\n iModelAlreadyExists = IMODELHUBERROR_BASE + 23,\r\n iModelDoesNotExist = IMODELHUBERROR_BASE + 24,\r\n FileDoesNotExist = IMODELHUBERROR_BASE + 25,\r\n FileAlreadyExists = IMODELHUBERROR_BASE + 26,\r\n LockDoesNotExist = IMODELHUBERROR_BASE + 27,\r\n LockOwnedByAnotherBriefcase = IMODELHUBERROR_BASE + 28,\r\n CodeStateInvalid = IMODELHUBERROR_BASE + 29,\r\n CodeReservedByAnotherBriefcase = IMODELHUBERROR_BASE + 30,\r\n CodeDoesNotExist = IMODELHUBERROR_BASE + 31,\r\n EventTypeDoesNotExist = IMODELHUBERROR_BASE + 32,\r\n EventSubscriptionDoesNotExist = IMODELHUBERROR_BASE + 33,\r\n EventSubscriptionAlreadyExists = IMODELHUBERROR_BASE + 34,\r\n ITwinIdIsNotSpecified = IMODELHUBERROR_BASE + 35,\r\n FailedToGetITwinPermissions = IMODELHUBERROR_BASE + 36,\r\n FailedToGetITwinMembers = IMODELHUBERROR_BASE + 37,\r\n ChangeSetAlreadyHasVersion = IMODELHUBERROR_BASE + 38,\r\n VersionAlreadyExists = IMODELHUBERROR_BASE + 39,\r\n JobSchedulingFailed = IMODELHUBERROR_BASE + 40,\r\n ConflictsAggregate = IMODELHUBERROR_BASE + 41,\r\n FailedToGetITwinById = IMODELHUBERROR_BASE + 42,\r\n\r\n DatabaseOperationFailed = IMODELHUBERROR_BASE + 43,\r\n SeedFileInitializationFailed = IMODELHUBERROR_BASE + 44,\r\n\r\n FailedToGetAssetPermissions = IMODELHUBERROR_BASE + 45,\r\n FailedToGetAssetMembers = IMODELHUBERROR_BASE + 46,\r\n ITwinDoesNotExist = IMODELHUBERROR_BASE + 47,\r\n\r\n LockChunkDoesNotExist = IMODELHUBERROR_BASE + 49,\r\n\r\n CheckpointAlreadyExists = IMODELHUBERROR_BASE + 50,\r\n CheckpointDoesNotExist = IMODELHUBERROR_BASE + 51,\r\n\r\n // Errors that are returned for incorrect iModelHub request.\r\n UndefinedArgumentError = IMODELHUBERROR_REQUESTERRORBASE + 1,\r\n InvalidArgumentError = IMODELHUBERROR_REQUESTERRORBASE + 2,\r\n MissingDownloadUrlError = IMODELHUBERROR_REQUESTERRORBASE + 3,\r\n NotSupportedInBrowser = IMODELHUBERROR_REQUESTERRORBASE + 4,\r\n FileHandlerNotSet = IMODELHUBERROR_REQUESTERRORBASE + 5,\r\n FileNotFound = IMODELHUBERROR_REQUESTERRORBASE + 6,\r\n InitializationTimeout = IMODELHUBERROR_REQUESTERRORBASE + 7,\r\n}\r\n\r\n/** GeoServiceStatus errors\r\n * @public\r\n */\r\nexport enum GeoServiceStatus {\r\n Success = 0,\r\n GEOSERVICESTATUS_BASE = 0x24000,\r\n // Error mapped from 'IModelStatus'\r\n NoGeoLocation = IModelStatus.NoGeoLocation,\r\n // Following errors are mapped from 'GeoCoordStatus'\r\n OutOfUsefulRange = GEOSERVICESTATUS_BASE + 1,\r\n OutOfMathematicalDomain = GEOSERVICESTATUS_BASE + 2,\r\n NoDatumConverter = GEOSERVICESTATUS_BASE + 3,\r\n VerticalDatumConvertError = GEOSERVICESTATUS_BASE + 4,\r\n CSMapError = GEOSERVICESTATUS_BASE + 5,\r\n Pending = GEOSERVICESTATUS_BASE + 6,\r\n}\r\n\r\n/** Error status from various reality data operations\r\n * @alpha\r\n */\r\nexport enum RealityDataStatus {\r\n Success = 0,\r\n REALITYDATA_ERROR_BASE = 0x25000,\r\n InvalidData = REALITYDATA_ERROR_BASE + 1,\r\n}\r\n\r\n/** When you want to associate an explanatory message with an error status value.\r\n * @internal\r\n */\r\nexport interface StatusCodeWithMessage<ErrorCodeType> {\r\n status: ErrorCodeType;\r\n message: string;\r\n}\r\n\r\n/** A function that returns a metadata object for a [[BentleyError]].\r\n * This is generally used for logging. However not every exception is logged, so use this if the metadata for an exception is expensive to create.\r\n * @public\r\n */\r\nexport type GetMetaDataFunction = () => object | undefined;\r\n\r\n/** Optional metadata attached to a [[BentleyError]]. May either be an object or a function that returns an object.\r\n * If this exception is logged and metadata is present, the metaData object is attached to the log entry via `JSON.stringify`\r\n * @public\r\n */\r\nexport type LoggingMetaData = GetMetaDataFunction | object | undefined;\r\n\r\nfunction isObject(obj: unknown): obj is { [key: string]: unknown } {\r\n return typeof obj === \"object\" && obj !== null;\r\n}\r\n\r\ninterface ErrorProps {\r\n message: string;\r\n stack?: string;\r\n metadata?: object;\r\n}\r\n\r\n/** Base exception class for iTwin.js exceptions.\r\n * @public\r\n */\r\nexport class BentleyError extends Error {\r\n private readonly _metaData: LoggingMetaData;\r\n\r\n /**\r\n * @param errorNumber The a number that identifies of the problem.\r\n * @param message message that describes the problem (should not be localized).\r\n * @param metaData metaData about the exception.\r\n */\r\n public constructor(public errorNumber: number, message?: string, metaData?: LoggingMetaData) {\r\n super(message);\r\n this.errorNumber = errorNumber;\r\n this._metaData = metaData;\r\n this.name = this._initName();\r\n }\r\n\r\n /** Returns true if this BentleyError includes (optional) metadata. */\r\n public get hasMetaData(): boolean { return undefined !== this._metaData; }\r\n\r\n /** get the meta data associated with this BentleyError, if any. */\r\n public getMetaData(): object | undefined {\r\n return BentleyError.getMetaData(this._metaData);\r\n }\r\n\r\n /** get the metadata object associated with an ExceptionMetaData, if any. */\r\n public static getMetaData(metaData: LoggingMetaData): object | undefined {\r\n return (typeof metaData === \"function\") ? metaData() : metaData;\r\n }\r\n\r\n /** This function returns the name of each error status. Override this method to handle more error status codes. */\r\n protected _initName(): string {\r\n switch (this.errorNumber) {\r\n case IModelStatus.AlreadyLoaded: return \"Already Loaded\";\r\n case IModelStatus.AlreadyOpen: return \"Already Open\";\r\n case IModelStatus.BadArg: return \"Bad Arg\";\r\n case IModelStatus.BadElement: return \"Bad Element\";\r\n case IModelStatus.BadModel: return \"Bad Model\";\r\n case IModelStatus.BadRequest: return \"Bad Request\";\r\n case IModelStatus.BadSchema: return \"Bad Schema\";\r\n case IModelStatus.CannotUndo: return \"Can not Undo\";\r\n case IModelStatus.CodeNotReserved: return \"Code Not Reserved\";\r\n case IModelStatus.DeletionProhibited: return \"Deletion Prohibited\";\r\n case IModelStatus.DuplicateCode: return \"Duplicate Code\";\r\n case IModelStatus.DuplicateName: return \"Duplicate Name\";\r\n case IModelStatus.ElementBlockedChange: return \"Element Blocked Change\";\r\n case IModelStatus.FileAlreadyExists: return \"File Already Exists\";\r\n case IModelStatus.FileNotFound: return \"File Not Found\";\r\n case IModelStatus.FileNotLoaded: return \"File Not Loaded\";\r\n case IModelStatus.ForeignKeyConstraint: return \"ForeignKey Constraint\";\r\n case IModelStatus.IdExists: return \"Id Exists\";\r\n case IModelStatus.InDynamicTransaction: return \"InDynamicTransaction\";\r\n case IModelStatus.InvalidCategory: return \"Invalid Category\";\r\n case IModelStatus.InvalidCode: return \"Invalid Code\";\r\n case IModelStatus.InvalidCodeSpec: return \"Invalid CodeSpec\";\r\n case IModelStatus.InvalidId: return \"Invalid Id\";\r\n case IModelStatus.InvalidName: return \"Invalid Name\";\r\n case IModelStatus.InvalidParent: return \"Invalid Parent\";\r\n case IModelStatus.InvalidProfileVersion: return \"Invalid Profile Version\";\r\n case IModelStatus.IsCreatingChangeSet: return \"IsCreatingChangeSet\";\r\n case IModelStatus.LockNotHeld: return \"Lock Not Held\";\r\n case IModelStatus.Mismatch2d3d: return \"Mismatch 2d3d\";\r\n case IModelStatus.MismatchGcs: return \"Mismatch Gcs\";\r\n case IModelStatus.MissingDomain: return \"Missing Domain\";\r\n case IModelStatus.MissingHandler: return \"Missing Handler\";\r\n case IModelStatus.MissingId: return \"Missing Id\";\r\n case IModelStatus.NoGeometry: return \"No Geometry\";\r\n case IModelStatus.NoMultiTxnOperation: return \"NoMultiTxnOperation\";\r\n case IModelStatus.NotEnabled: return \"Not Enabled\";\r\n case IModelStatus.NotFound: return \"Not Found\";\r\n case IModelStatus.NotOpen: return \"Not Open\";\r\n case IModelStatus.NotOpenForWrite: return \"Not Open For Write\";\r\n case IModelStatus.NotSameUnitBase: return \"Not Same Unit Base\";\r\n case IModelStatus.NothingToRedo: return \"Nothing To Redo\";\r\n case IModelStatus.NothingToUndo: return \"Nothing To Undo\";\r\n case IModelStatus.ParentBlockedChange: return \"Parent Blocked Change\";\r\n case IModelStatus.ReadError: return \"Read Error\";\r\n case IModelStatus.ReadOnly: return \"ReadOnly\";\r\n case IModelStatus.ReadOnlyDomain: return \"ReadOnlyDomain\";\r\n case IModelStatus.RepositoryManagerError: return \"RepositoryManagerError\";\r\n case IModelStatus.SQLiteError: return \"SQLiteError\";\r\n case IModelStatus.TransactionActive: return \"Transaction Active\";\r\n case IModelStatus.UnitsMissing: return \"Units Missing\";\r\n case IModelStatus.UnknownFormat: return \"Unknown Format\";\r\n case IModelStatus.UpgradeFailed: return \"Upgrade Failed\";\r\n case IModelStatus.ValidationFailed: return \"Validation Failed\";\r\n case IModelStatus.VersionTooNew: return \"Version Too New\";\r\n case IModelStatus.VersionTooOld: return \"Version Too Old\";\r\n case IModelStatus.ViewNotFound: return \"View Not Found\";\r\n case IModelStatus.WriteError: return \"Write Error\";\r\n case IModelStatus.WrongClass: return \"Wrong Class\";\r\n case IModelStatus.WrongIModel: return \"Wrong IModel\";\r\n case IModelStatus.WrongDomain: return \"Wrong Domain\";\r\n case IModelStatus.WrongElement: return \"Wrong Element\";\r\n case IModelStatus.WrongHandler: return \"Wrong Handler\";\r\n case IModelStatus.WrongModel: return \"Wrong Model\";\r\n case DbResult.BE_SQLITE_ERROR: return \"BE_SQLITE_ERROR\";\r\n case DbResult.BE_SQLITE_INTERNAL: return \"BE_SQLITE_INTERNAL\";\r\n case DbResult.BE_SQLITE_PERM: return \"BE_SQLITE_PERM\";\r\n case DbResult.BE_SQLITE_ABORT: return \"BE_SQLITE_ABORT\";\r\n case DbResult.BE_SQLITE_BUSY: return \"Db is busy\";\r\n case DbResult.BE_SQLITE_LOCKED: return \"Db is Locked\";\r\n case DbResult.BE_SQLITE_NOMEM: return \"BE_SQLITE_NOMEM\";\r\n case DbResult.BE_SQLITE_READONLY: return \"Readonly\";\r\n case DbResult.BE_SQLITE_INTERRUPT: return \"BE_SQLITE_INTERRUPT\";\r\n case DbResult.BE_SQLITE_IOERR: return \"BE_SQLITE_IOERR\";\r\n case DbResult.BE_SQLITE_CORRUPT: return \"BE_SQLITE_CORRUPT\";\r\n case DbResult.BE_SQLITE_NOTFOUND: return \"Not Found\";\r\n case DbResult.BE_SQLITE_FULL: return \"BE_SQLITE_FULL\";\r\n case DbResult.BE_SQLITE_CANTOPEN: return \"Can't open\";\r\n case DbResult.BE_SQLITE_PROTOCOL: return \"BE_SQLITE_PROTOCOL\";\r\n case DbResult.BE_SQLITE_EMPTY: return \"BE_SQLITE_EMPTY\";\r\n case DbResult.BE_SQLITE_SCHEMA: return \"BE_SQLITE_SCHEMA\";\r\n case DbResult.BE_SQLITE_TOOBIG: return \"BE_SQLITE_TOOBIG\";\r\n case DbResult.BE_SQLITE_MISMATCH: return \"BE_SQLITE_MISMATCH\";\r\n case DbResult.BE_SQLITE_MISUSE: return \"BE_SQLITE_MISUSE\";\r\n case DbResult.BE_SQLITE_NOLFS: return \"BE_SQLITE_NOLFS\";\r\n case DbResult.BE_SQLITE_AUTH: return \"BE_SQLITE_AUTH\";\r\n case DbResult.BE_SQLITE_FORMAT: return \"BE_SQLITE_FORMAT\";\r\n case DbResult.BE_SQLITE_RANGE: return \"BE_SQLITE_RANGE\";\r\n case DbResult.BE_SQLITE_NOTADB: return \"Not a Database\";\r\n case DbResult.BE_SQLITE_IOERR_READ: return \"BE_SQLITE_IOERR_READ\";\r\n case DbResult.BE_SQLITE_IOERR_SHORT_READ: return \"BE_SQLITE_IOERR_SHORT_READ\";\r\n case DbResult.BE_SQLITE_IOERR_WRITE: return \"BE_SQLITE_IOERR_WRITE\";\r\n case DbResult.BE_SQLITE_IOERR_FSYNC: return \"BE_SQLITE_IOERR_FSYNC\";\r\n case DbResult.BE_SQLITE_IOERR_DIR_FSYNC: return \"BE_SQLITE_IOERR_DIR_FSYNC\";\r\n case DbResult.BE_SQLITE_IOERR_TRUNCATE: return \"BE_SQLITE_IOERR_TRUNCATE\";\r\n case DbResult.BE_SQLITE_IOERR_FSTAT: return \"BE_SQLITE_IOERR_FSTAT\";\r\n case DbResult.BE_SQLITE_IOERR_UNLOCK: return \"BE_SQLITE_IOERR_UNLOCK\";\r\n case DbResult.BE_SQLITE_IOERR_RDLOCK: return \"BE_SQLITE_IOERR_RDLOCK\";\r\n case DbResult.BE_SQLITE_IOERR_DELETE: return \"BE_SQLITE_IOERR_DELETE\";\r\n case DbResult.BE_SQLITE_IOERR_BLOCKED: return \"BE_SQLITE_IOERR_BLOCKED\";\r\n case DbResult.BE_SQLITE_IOERR_NOMEM: return \"BE_SQLITE_IOERR_NOMEM\";\r\n case DbResult.BE_SQLITE_IOERR_ACCESS: return \"BE_SQLITE_IOERR_ACCESS\";\r\n case DbResult.BE_SQLITE_IOERR_CHECKRESERVEDLOCK: return \"BE_SQLITE_IOERR_CHECKRESERVEDLOCK\";\r\n case DbResult.BE_SQLITE_IOERR_LOCK: return \"BE_SQLITE_IOERR_LOCK\";\r\n case DbResult.BE_SQLITE_IOERR_CLOSE: return \"BE_SQLITE_IOERR_CLOSE\";\r\n case DbResult.BE_SQLITE_IOERR_DIR_CLOSE: return \"BE_SQLITE_IOERR_DIR_CLOSE\";\r\n case DbResult.BE_SQLITE_IOERR_SHMOPEN: return \"BE_SQLITE_IOERR_SHMOPEN\";\r\n case DbResult.BE_SQLITE_IOERR_SHMSIZE: return \"BE_SQLITE_IOERR_SHMSIZE\";\r\n case DbResult.BE_SQLITE_IOERR_SHMLOCK: return \"BE_SQLITE_IOERR_SHMLOCK\";\r\n case DbResult.BE_SQLITE_IOERR_SHMMAP: return \"BE_SQLITE_IOERR_SHMMAP\";\r\n case DbResult.BE_SQLITE_IOERR_SEEK: return \"BE_SQLITE_IOERR_SEEK\";\r\n case DbResult.BE_SQLITE_IOERR_DELETE_NOENT: return \"BE_SQLITE_IOERR_DELETE_NOENT\";\r\n\r\n case DbResult.BE_SQLITE_ERROR_DataTransformRequired: return \"Schema update require to transform data\";\r\n case DbResult.BE_SQLITE_ERROR_FileExists: return \"File Exists\";\r\n case DbResult.BE_SQLITE_ERROR_AlreadyOpen: return \"Already Open\";\r\n case DbResult.BE_SQLITE_ERROR_NoPropertyTable: return \"No Property Table\";\r\n case DbResult.BE_SQLITE_ERROR_FileNotFound: return \"File Not Found\";\r\n case DbResult.BE_SQLITE_ERROR_NoTxnActive: return \"No Txn Active\";\r\n case DbResult.BE_SQLITE_ERROR_BadDbProfile: return \"Bad Db Profile\";\r\n case DbResult.BE_SQLITE_ERROR_InvalidProfileVersion: return \"Invalid Profile Version\";\r\n case DbResult.BE_SQLITE_ERROR_ProfileUpgradeFailed: return \"Profile Upgrade Failed\";\r\n case DbResult.BE_SQLITE_ERROR_ProfileTooOldForReadWrite: return \"Profile Too Old For ReadWrite\";\r\n case DbResult.BE_SQLITE_ERROR_ProfileTooOld: return \"Profile Too Old\";\r\n case DbResult.BE_SQLITE_ERROR_ProfileTooNewForReadWrite: return \"Profile Too New For ReadWrite\";\r\n case DbResult.BE_SQLITE_ERROR_ProfileTooNew: return \"Profile Too New\";\r\n case DbResult.BE_SQLITE_ERROR_ChangeTrackError: return \"ChangeTrack Error\";\r\n case DbResult.BE_SQLITE_ERROR_InvalidChangeSetVersion: return \"Invalid ChangeSet Version\";\r\n case DbResult.BE_SQLITE_ERROR_SchemaUpgradeRequired: return \"Schema Upgrade Required\";\r\n case DbResult.BE_SQLITE_ERROR_SchemaTooNew: return \"Schema Too New\";\r\n case DbResult.BE_SQLITE_ERROR_SchemaTooOld: return \"Schema Too Old\";\r\n case DbResult.BE_SQLITE_ERROR_SchemaLockFailed: return \"Schema Lock Failed\";\r\n case DbResult.BE_SQLITE_ERROR_SchemaUpgradeFailed: return \"Schema Upgrade Failed\";\r\n case DbResult.BE_SQLITE_ERROR_SchemaImportFailed: return \"Schema Import Failed\";\r\n case DbResult.BE_SQLITE_ERROR_CouldNotAcquireLocksOrCodes: return \"Could Not Acquire Locks Or Codes\";\r\n case DbResult.BE_SQLITE_ERROR_SchemaUpgradeRecommended: return \"Recommended that the schemas found in the database be upgraded\";\r\n case DbResult.BE_SQLITE_LOCKED_SHAREDCACHE: return \"BE_SQLITE_LOCKED_SHAREDCACHE\";\r\n case DbResult.BE_SQLITE_BUSY_RECOVERY: return \"BE_SQLITE_BUSY_RECOVERY\";\r\n case DbResult.BE_SQLITE_CANTOPEN_NOTEMPDIR: return \"SQLite No Temp Dir\";\r\n case DbResult.BE_SQLITE_CANTOPEN_ISDIR: return \"BE_SQLITE_CANTOPEN_ISDIR\";\r\n case DbResult.BE_SQLITE_CANTOPEN_FULLPATH: return \"BE_SQLITE_CANTOPEN_FULLPATH\";\r\n case DbResult.BE_SQLITE_CORRUPT_VTAB: return \"BE_SQLITE_CORRUPT_VTAB\";\r\n case DbResult.BE_SQLITE_READONLY_RECOVERY: return \"BE_SQLITE_READONLY_RECOVERY\";\r\n case DbResult.BE_SQLITE_READONLY_CANTLOCK: return \"BE_SQLITE_READONLY_CANTLOCK\";\r\n case DbResult.BE_SQLITE_READONLY_ROLLBACK: return \"BE_SQLITE_READONLY_ROLLBACK\";\r\n case DbResult.BE_SQLITE_ABORT_ROLLBACK: return \"BE_SQLITE_ABORT_ROLLBACK\";\r\n case DbResult.BE_SQLITE_CONSTRAINT_CHECK: return \"BE_SQLITE_CONSTRAINT_CHECK\";\r\n case DbResult.BE_SQLITE_CONSTRAINT_COMMITHOOK: return \"CommitHook Constraint Error\";\r\n case DbResult.BE_SQLITE_CONSTRAINT_FOREIGNKEY: return \"Foreign Key Constraint Error\";\r\n case DbResult.BE_SQLITE_CONSTRAINT_FUNCTION: return \"Function Constraint Error\";\r\n case DbResult.BE_SQLITE_CONSTRAINT_NOTNULL: return \"NotNull Constraint Error\";\r\n case DbResult.BE_SQLITE_CONSTRAINT_PRIMARYKEY: return \"Primary Key Constraint Error\";\r\n case DbResult.BE_SQLITE_CONSTRAINT_TRIGGER: return \"Trigger Constraint Error\";\r\n case DbResult.BE_SQLITE_CONSTRAINT_UNIQUE: return \"Unique Constraint Error\";\r\n case DbResult.BE_SQLITE_CONSTRAINT_VTAB: return \"VTable Constraint Error\";\r\n case BentleyStatus.ERROR: return \"Error\";\r\n case BriefcaseStatus.CannotAcquire: return \"CannotAcquire\";\r\n case BriefcaseStatus.CannotDownload: return \"CannotDownload\";\r\n case BriefcaseStatus.CannotCopy: return \"CannotCopy\";\r\n case BriefcaseStatus.CannotDelete: return \"CannotDelete\";\r\n case BriefcaseStatus.VersionNotFound: return \"VersionNotFound\";\r\n case BriefcaseStatus.DownloadCancelled: return \"DownloadCancelled\";\r\n case BriefcaseStatus.ContainsDeletedChangeSets: return \"ContainsDeletedChangeSets\";\r\n case RpcInterfaceStatus.IncompatibleVersion: return \"RpcInterfaceStatus.IncompatibleVersion\";\r\n case ChangeSetStatus.ApplyError: return \"Error applying a change set\";\r\n case ChangeSetStatus.ChangeTrackingNotEnabled: return \"Change tracking has not been enabled. The ChangeSet API mandates this\";\r\n case ChangeSetStatus.CorruptedChangeStream: return \"Contents of the change stream are corrupted and does not match the ChangeSet\";\r\n case ChangeSetStatus.FileNotFound: return \"File containing the changes was not found\";\r\n case ChangeSetStatus.FileWriteError: return \"Error writing the contents of the change set to the backing change stream file\";\r\n case ChangeSetStatus.HasLocalChanges: return \"Cannot perform the operation since the Db has local changes\";\r\n case ChangeSetStatus.HasUncommittedChanges: return \"Cannot perform the operation since current transaction has uncommitted changes\";\r\n case ChangeSetStatus.InvalidId: return \"Invalid ChangeSet Id\";\r\n case ChangeSetStatus.InvalidVersion: return \"Invalid version of the change set\";\r\n case ChangeSetStatus.InDynamicTransaction: return \"Cannot perform the operation since system is in the middle of a dynamic transaction\";\r\n case ChangeSetStatus.IsCreatingChangeSet: return \"Cannot perform operation since system is in the middle of a creating a change set\";\r\n case ChangeSetStatus.IsNotCreatingChangeSet: return \"Cannot perform operation since the system is not creating a change set\";\r\n case ChangeSetStatus.MergePropagationError: return \"Error propagating the changes after the merge\";\r\n case ChangeSetStatus.NothingToMerge: return \"No change sets to merge\";\r\n case ChangeSetStatus.NoTransactions: return \"No transactions are available to create a change set\";\r\n case ChangeSetStatus.ParentMismatch: return \"Parent change set of the Db does not match the parent id of the change set\";\r\n case ChangeSetStatus.SQLiteError: return \"Error performing a SQLite operation on the Db\";\r\n case ChangeSetStatus.WrongDgnDb: return \"ChangeSet originated in a different Db\";\r\n case ChangeSetStatus.CouldNotOpenDgnDb: return \"Could not open the DgnDb to merge change set\";\r\n case ChangeSetStatus.MergeSchemaChangesOnOpen: return \"Cannot merge changes in in an open DgnDb. Close the DgnDb, and process the operation when it is opened\";\r\n case ChangeSetStatus.ReverseOrReinstateSchemaChanges: return \"Cannot reverse or reinstate schema changes.\";\r\n case ChangeSetStatus.ProcessSchemaChangesOnOpen: return \"Cannot process changes schema changes in an open DgnDb. Close the DgnDb, and process the operation when it is opened\";\r\n case ChangeSetStatus.CannotMergeIntoReadonly: return \"Cannot merge changes into a Readonly DgnDb\";\r\n case ChangeSetStatus.CannotMergeIntoMaster: return \"Cannot merge changes into a Master DgnDb\";\r\n case ChangeSetStatus.CannotMergeIntoReversed: return \"Cannot merge changes into a DgnDb that has reversed change sets\";\r\n case ChangeSetStatus.DownloadCancelled: return \"ChangeSet(s) download was cancelled.\";\r\n case RepositoryStatus.ServerUnavailable: return \"ServerUnavailable\";\r\n case RepositoryStatus.LockAlreadyHeld: return \"LockAlreadyHeld\";\r\n case RepositoryStatus.SyncError: return \"SyncError\";\r\n case RepositoryStatus.InvalidResponse: return \"InvalidResponse\";\r\n case RepositoryStatus.PendingTransactions: return \"PendingTransactions\";\r\n case RepositoryStatus.LockUsed: return \"LockUsed\";\r\n case RepositoryStatus.CannotCreateChangeSet: return \"CannotCreateChangeSet\";\r\n case RepositoryStatus.InvalidRequest: return \"InvalidRequest\";\r\n case RepositoryStatus.ChangeSetRequired: return \"ChangeSetRequired\";\r\n case RepositoryStatus.CodeUnavailable: return \"CodeUnavailable\";\r\n case RepositoryStatus.CodeNotReserved: return \"CodeNotReserved\";\r\n case RepositoryStatus.CodeUsed: return \"CodeUsed\";\r\n case RepositoryStatus.LockNotHeld: return \"LockNotHeld\";\r\n case RepositoryStatus.RepositoryIsLocked: return \"RepositoryIsLocked\";\r\n case RepositoryStatus.ChannelConstraintViolation: return \"ChannelConstraintViolation\";\r\n case HttpStatus.Info: return \"HTTP Info\";\r\n case HttpStatus.Redirection: return \"HTTP Redirection\";\r\n case HttpStatus.ClientError: return \"HTTP Client error\";\r\n case HttpStatus.ServerError: return \"HTTP Server error\";\r\n case IModelHubStatus.Unknown: return \"Unknown error\";\r\n case IModelHubStatus.MissingRequiredProperties: return \"Missing required properties\";\r\n case IModelHubStatus.InvalidPropertiesValues: return \"Invalid properties values\";\r\n case IModelHubStatus.UserDoesNotHavePermission: return \"User does not have permission\";\r\n case IModelHubStatus.UserDoesNotHaveAccess: return \"User does not have access\";\r\n case IModelHubStatus.InvalidBriefcase: return \"Invalid briefcase\";\r\n case IModelHubStatus.BriefcaseDoesNotExist: return \"Briefcase does not exist\";\r\n case IModelHubStatus.BriefcaseDoesNotBelongToUser: return \"Briefcase does not belong to user\";\r\n case IModelHubStatus.AnotherUserPushing: return \"Another user pushing\";\r\n case IModelHubStatus.ChangeSetAlreadyExists: return \"ChangeSet already exists\";\r\n case IModelHubStatus.ChangeSetDoesNotExist: return \"ChangeSet does not exist\";\r\n case IModelHubStatus.FileIsNotUploaded: return \"File is not uploaded\";\r\n case IModelHubStatus.iModelIsNotInitialized: return \"iModel is not initialized\";\r\n case IModelHubStatus.ChangeSetPointsToBadSeed: return \"ChangeSet points to a bad seed file\";\r\n case IModelHubStatus.OperationFailed: return \"iModelHub operation has failed\";\r\n case IModelHubStatus.PullIsRequired: return \"Pull is required\";\r\n case IModelHubStatus.MaximumNumberOfBriefcasesPerUser: return \"Limit of briefcases per user was reached\";\r\n case IModelHubStatus.MaximumNumberOfBriefcasesPerUserPerMinute: return \"Limit of briefcases per user per minute was reached\";\r\n case IModelHubStatus.DatabaseTemporarilyLocked: return \"Database is temporarily locked\";\r\n case IModelHubStatus.iModelIsLocked: return \"iModel is locked\";\r\n case IModelHubStatus.CodesExist: return \"Code already exists\";\r\n case IModelHubStatus.LocksExist: return \"Lock already exists\";\r\n case IModelHubStatus.iModelAlreadyExists: return \"iModel already exists\";\r\n case IModelHubStatus.iModelDoesNotExist: return \"iModel does not exist\";\r\n case IModelHubStatus.LockDoesNotExist: return \"Lock does not exist\";\r\n case IModelHubStatus.LockChunkDoesNotExist: return \"Lock chunk does not exist\";\r\n case IModelHubStatus.LockOwnedByAnotherBriefcase: return \"Lock is owned by another briefcase\";\r\n case IModelHubStatus.CodeStateInvalid: return \"Code state is invalid\";\r\n case IModelHubStatus.CodeReservedByAnotherBriefcase: return \"Code is reserved by another briefcase\";\r\n case IModelHubStatus.CodeDoesNotExist: return \"Code does not exist\";\r\n case IModelHubStatus.FileDoesNotExist: return \"File does not exist\";\r\n case IModelHubStatus.FileAlreadyExists: return \"File already exists\";\r\n case IModelHubStatus.EventTypeDoesNotExist: return \"Event type does not exist\";\r\n case IModelHubStatus.EventSubscriptionDoesNotExist: return \"Event subscription does not exist\";\r\n case IModelHubStatus.EventSubscriptionAlreadyExists: return \"Event subscription already exists\";\r\n case IModelHubStatus.ITwinIdIsNotSpecified: return \"ITwin Id is not specified\";\r\n case IModelHubStatus.FailedToGetITwinPermissions: return \"Failed to get iTwin permissions\";\r\n case IModelHubStatus.FailedToGetITwinMembers: return \"Failed to get iTwin members\";\r\n case IModelHubStatus.FailedToGetAssetPermissions: return \"Failed to get asset permissions\";\r\n case IModelHubStatus.FailedToGetAssetMembers: return \"Failed to get asset members\";\r\n case IModelHubStatus.ChangeSetAlreadyHasVersion: return \"ChangeSet already has version\";\r\n case IModelHubStatus.VersionAlreadyExists: return \"Version already exists\";\r\n case IModelHubStatus.JobSchedulingFailed: return \"Failed to schedule a background job\";\r\n case IModelHubStatus.ConflictsAggregate: return \"Codes or locks are owned by another briefcase\";\r\n case IModelHubStatus.FailedToGetITwinById: return \"Failed to query iTwin by its id\";\r\n case IModelHubStatus.DatabaseOperationFailed: return \"Database operation has failed\";\r\n case IModelHubStatus.ITwinDoesNotExist: return \"ITwin does not exist\";\r\n case IModelHubStatus.UndefinedArgumentError: return \"Undefined argument\";\r\n case IModelHubStatus.InvalidArgumentError: return \"Invalid argument\";\r\n case IModelHubStatus.MissingDownloadUrlError: return \"Missing download url\";\r\n case IModelHubStatus.NotSupportedInBrowser: return \"Not supported in browser\";\r\n case IModelHubStatus.FileHandlerNotSet: return \"File handler is not set\";\r\n case IModelHubStatus.FileNotFound: return \"File not found\";\r\n case GeoServiceStatus.NoGeoLocation: return \"No GeoLocation\";\r\n case GeoServiceStatus.OutOfUsefulRange: return \"Out of useful range\";\r\n case GeoServiceStatus.OutOfMathematicalDomain: return \"Out of mathematical domain\";\r\n case GeoServiceStatus.NoDatumConverter: return \"No datum converter\";\r\n case GeoServiceStatus.VerticalDatumConvertError: return \"Vertical datum convert error\";\r\n case GeoServiceStatus.CSMapError: return \"CSMap error\";\r\n case GeoServiceStatus.Pending: return \"Pending\";\r\n case RealityDataStatus.InvalidData: return \"Invalid or unknown data\";\r\n case IModelStatus.Success:\r\n case DbResult.BE_SQLITE_OK:\r\n case DbResult.BE_SQLITE_ROW:\r\n case DbResult.BE_SQLITE_DONE:\r\n case BentleyStatus.SUCCESS:\r\n return \"Success\";\r\n\r\n default:\r\n return `Error (${this.errorNumber})`;\r\n }\r\n }\r\n\r\n /** Use run-time type checking to safely get a useful string summary of an unknown error value, or `\"\"` if none exists.\r\n * @note It's recommended to use this function in `catch` clauses, where a caught value cannot be assumed to be `instanceof Error`\r\n * @public\r\n */\r\n public static getErrorMessage(error: unknown): string {\r\n if (typeof error === \"string\")\r\n return error;\r\n\r\n if (error instanceof Error)\r\n return error.toString();\r\n\r\n if (isObject(error)) {\r\n if (typeof error.message === \"string\")\r\n return error.message;\r\n\r\n if (typeof error.msg === \"string\")\r\n return error.msg;\r\n\r\n if (error.toString() !== \"[object Object]\")\r\n return error.toString();\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n /** Use run-time type checking to safely get the call stack of an unknown error value, if possible.\r\n * @note It's recommended to use this function in `catch` clauses, where a caught value cannot be assumed to be `instanceof Error`\r\n * @public\r\n */\r\n public static getErrorStack(error: unknown): string | undefined {\r\n if (isObject(error) && typeof error.stack === \"string\")\r\n return error.stack;\r\n\r\n return undefined;\r\n }\r\n\r\n /** Use run-time type checking to safely get the metadata with an unknown error value, if possible.\r\n * @note It's recommended to use this function in `catch` clauses, where a caught value cannot be assumed to be `instanceof BentleyError`\r\n * @see [[BentleyError.getMetaData]]\r\n * @public\r\n */\r\n public static getErrorMetadata(error: unknown): object | undefined {\r\n if (isObject(error) && typeof error.getMetaData === \"function\") {\r\n const metadata = error.getMetaData();\r\n if (typeof metadata === \"object\" && metadata !== null)\r\n return metadata;\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n /** Returns a new `ErrorProps` object representing an unknown error value. Useful for logging or wrapping/re-throwing caught errors.\r\n * @note Unlike `Error` objects (which lose messages and call stacks when serialized to JSON), objects\r\n * returned by this are plain old JavaScript objects, and can be easily logged/serialized to JSON.\r\n * @public\r\n */\r\n public static getErrorProps(error: unknown): ErrorProps {\r\n const serialized: ErrorProps = {\r\n message: BentleyError.getErrorMessage(error),\r\n };\r\n\r\n const stack = BentleyError.getErrorStack(error);\r\n if (stack)\r\n serialized.stack = stack;\r\n\r\n const metadata = BentleyError.getErrorMetadata(error);\r\n if (metadata)\r\n serialized.metadata = metadata;\r\n\r\n return serialized;\r\n }\r\n}\r\n\r\n"]}
|
package/lib/esm/Id.d.ts
CHANGED
|
@@ -250,6 +250,10 @@ export declare class TransientIdSequence {
|
|
|
250
250
|
get next(): Id64String;
|
|
251
251
|
/** Generate and return the next transient Id64String in the sequence. */
|
|
252
252
|
getNext(): Id64String;
|
|
253
|
+
/** Preview the transient Id64String that will be returned by the next call to [[getNext]].
|
|
254
|
+
* This is primarily useful for tests.
|
|
255
|
+
*/
|
|
256
|
+
peekNext(): Id64String;
|
|
253
257
|
}
|
|
254
258
|
/**
|
|
255
259
|
* The Guid namespace provides facilities for working with GUID strings using the "8-4-4-4-12" pattern.
|
package/lib/esm/Id.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Id.d.ts","sourceRoot":"","sources":["../../src/Id.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Id.d.ts","sourceRoot":"","sources":["../../src/Id.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/Id.js
CHANGED
|
@@ -572,6 +572,12 @@ export class TransientIdSequence {
|
|
|
572
572
|
getNext() {
|
|
573
573
|
return Id64.fromLocalAndBriefcaseIds(++this._localId, 0xffffff);
|
|
574
574
|
}
|
|
575
|
+
/** Preview the transient Id64String that will be returned by the next call to [[getNext]].
|
|
576
|
+
* This is primarily useful for tests.
|
|
577
|
+
*/
|
|
578
|
+
peekNext() {
|
|
579
|
+
return Id64.fromLocalAndBriefcaseIds(this._localId + 1, 0xffffff);
|
|
580
|
+
}
|
|
575
581
|
}
|
|
576
582
|
/**
|
|
577
583
|
* The Guid namespace provides facilities for working with GUID strings using the "8-4-4-4-12" pattern.
|
package/lib/esm/Id.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Id.js","sourceRoot":"","sources":["../../src/Id.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 Ids\r\n */\r\n\r\n/** A string containing a well-formed string representation of an [Id64]($core-bentley).\r\n * See [Working with Ids]($docs/learning/common/Id64.md).\r\n * @public\r\n */\r\nexport type Id64String = string;\r\n\r\n/** A string containing a well-formed string representation of a [Guid]($core-bentley).\r\n * @public\r\n */\r\nexport type GuidString = string;\r\n\r\n/** A set of [[Id64String]]s.\r\n * @public\r\n */\r\nexport type Id64Set = Set<Id64String>;\r\n\r\n/** An array of [[Id64String]]s.\r\n * @public\r\n */\r\nexport type Id64Array = Id64String[];\r\n\r\n/** Used as an argument to a function that can accept one or more [[Id64String]]s.\r\n * @public\r\n */\r\nexport type Id64Arg = Id64String | Id64Set | Id64Array;\r\n\r\nfunction toHex(str: string): number {\r\n const v = parseInt(str, 16);\r\n return Number.isNaN(v) ? 0 : v;\r\n}\r\n\r\nfunction isLowerCaseNonZeroHexDigit(str: string, index: number) {\r\n return isLowerCaseHexDigit(str, index, false);\r\n}\r\n\r\nfunction isLowerCaseHexDigit(str: string, index: number, allowZero: boolean = true): boolean {\r\n const charCode = str.charCodeAt(index);\r\n const minDecimalDigit = allowZero ? 0x30 : 0x31; // '0' or '1'...\r\n return (charCode >= minDecimalDigit && charCode <= 0x39) || (charCode >= 0x61 && charCode <= 0x66); // '0'-'9, 'a' -'f'\r\n}\r\n\r\nfunction isValidHexString(id: string, startIndex: number, len: number) {\r\n if (len === 0)\r\n return false;\r\n\r\n // No leading zeroes...\r\n if (!isLowerCaseNonZeroHexDigit(id, startIndex))\r\n return false;\r\n\r\n // ...followed by len-1 lowercase hexadecimal digits.\r\n for (let i = 1; i < len; i++)\r\n if (!isLowerCaseHexDigit(id, startIndex + i))\r\n return false;\r\n\r\n return true;\r\n}\r\n\r\n/**\r\n * The Id64 namespace provides facilities for working with 64-bit identifiers. These Ids are stored as 64-bit integers inside an [[IModelDb]], but must be represented\r\n * as strings in JavaScript because JavaScript does not intrinsically support 64-bit integers.\r\n *\r\n * The [[Id64String]] type alias is used to indicate function arguments, return types, and variables which are known to contain a well-formed representation of a 64-bit Id.\r\n *\r\n * See [Working with Ids]($docs/learning/common/Id64.md) for a detailed description and code examples.\r\n * @public\r\n */\r\nexport namespace Id64 {\r\n /** Extract the \"local\" Id portion of an Id64String, contained in the lower 40 bits of the 64-bit value. */\r\n export function getLocalId(id: Id64String): number {\r\n if (isInvalid(id))\r\n return 0;\r\n\r\n const len = id.length;\r\n const start = (len > 12) ? (len - 10) : 2;\r\n return toHex(id.slice(start));\r\n }\r\n\r\n /** Extract the briefcase Id portion of an Id64String, contained in the upper 24 bits of the 64-bit value. */\r\n export function getBriefcaseId(id: Id64String): number {\r\n if (isInvalid(id))\r\n return 0;\r\n\r\n const len = id.length;\r\n return (len <= 12) ? 0 : toHex(id.slice(2, len - 10));\r\n }\r\n\r\n /** Create an Id64String from its JSON representation.\r\n * @param prop The JSON representation of an Id.\r\n * @returns A well-formed Id string.\r\n * @note if the input is undefined, the result is \"0\", indicating an invalid Id.\r\n * @note if the input is not undefined, the result is the same as that of [[Id64.fromString]].\r\n */\r\n export function fromJSON(prop?: string): Id64String {\r\n return typeof prop === \"string\" ? Id64.fromString(prop) : Id64.invalid;\r\n }\r\n\r\n /** Given a string value, attempt to normalize it into a well-formed Id string.\r\n * If the input is already a well-formed Id string, it is returned unmodified.\r\n * Otherwise, the input is trimmed of leading and trailing whitespace, converted to lowercase, and an attempt is made to parse it as a 64-bit hexadecimal integer.\r\n * If parsing succeeds the normalized result is returned; otherwise the result is \"0\", indicating an invalid Id.\r\n *\r\n * For a description of \"well-formed\", see [Working with Ids]($docs/learning/common/Id64.md).\r\n */\r\n export function fromString(val: string): Id64String {\r\n // NB: in case this is called from JavaScript, we must check the run-time type...\r\n if (typeof val !== \"string\")\r\n return invalid;\r\n\r\n // Skip the common case in which the input is already a well-formed Id string\r\n if (Id64.isId64(val))\r\n return val;\r\n\r\n // Attempt to normalize the input into a well-formed Id string\r\n val = val.toLowerCase().trim();\r\n const len = val.length;\r\n if (len < 2 || val[0] !== \"0\" || val[1] !== \"x\")\r\n return invalid;\r\n\r\n let low = 0;\r\n let high = 0;\r\n let start = 2;\r\n if (len > 12) {\r\n start = (len - 10);\r\n high = toHex(val.slice(2, start));\r\n }\r\n\r\n low = toHex(val.slice(start));\r\n return fromLocalAndBriefcaseIds(low, high);\r\n }\r\n\r\n // Used when constructing local ID portion of Id64String. Performance optimization.\r\n const _localIdPrefixByLocalIdLength = [ // eslint-disable-line @typescript-eslint/naming-convention\r\n \"0000000000\",\r\n \"000000000\",\r\n \"00000000\",\r\n \"0000000\",\r\n \"000000\",\r\n \"00000\",\r\n \"0000\",\r\n \"000\",\r\n \"00\",\r\n \"0\",\r\n \"\",\r\n ];\r\n\r\n /** Produce an Id string from a local and briefcase Id.\r\n * @param localId The non-zero local Id as an unsigned 40-bit integer.\r\n * @param briefcaseId The briefcase Id as an unsigned 24-bit integer.\r\n * @returns an Id64String containing the hexadecimal string representation of the unsigned 64-bit integer which would result from the\r\n * operation `localId | (briefcaseId << 40)`, or an invalid Id \"0\" if the inputs are invalid.\r\n */\r\n export function fromLocalAndBriefcaseIds(localId: number, briefcaseId: number): Id64String {\r\n // NB: Yes, we must check the run-time type...\r\n if (typeof localId !== \"number\" || typeof briefcaseId !== \"number\")\r\n return invalid;\r\n\r\n localId = Math.floor(localId);\r\n if (0 === localId)\r\n return invalid;\r\n\r\n briefcaseId = Math.floor(briefcaseId);\r\n const lowStr = localId.toString(16);\r\n return `0x${(briefcaseId === 0) ? lowStr : (briefcaseId.toString(16) + (_localIdPrefixByLocalIdLength[lowStr.length] + lowStr))}`;\r\n }\r\n\r\n // Used as a buffer when converting a pair of 32-bit integers to an Id64String. Significant performance optimization.\r\n const scratchCharCodes = [\r\n 0x30, // \"0\"\r\n 0x78, // \"x\"\r\n 0x30, // \"0\"\r\n 0x30,\r\n 0x30,\r\n 0x30,\r\n 0x30,\r\n 0x30,\r\n 0x30,\r\n 0x30,\r\n 0x30,\r\n 0x30,\r\n 0x30,\r\n 0x30,\r\n 0x30,\r\n 0x30,\r\n 0x30,\r\n 0x30,\r\n ];\r\n\r\n // Convert 4-bit unsigned integer to char code representing lower-case hexadecimal digit.\r\n function uint4ToCharCode(uint4: number): number {\r\n return uint4 + (uint4 < 10 ? 0x30 : 0x57);\r\n }\r\n\r\n // Convert char code representing lower-case hexadecimal digit to 4-bit unsigned integer.\r\n function charCodeToUint4(char: number): number {\r\n return char - (char >= 0x57 ? 0x57 : 0x30);\r\n }\r\n\r\n // Convert a substring to a uint32. This is twice as fast as using Number.parseInt().\r\n function substringToUint32(id: Id64String, start: number, end: number): number {\r\n let uint32 = 0;\r\n for (let i = start; i < end; i++) {\r\n const uint4 = charCodeToUint4(id.charCodeAt(i));\r\n const shift = (end - i - 1) << 2;\r\n const mask = uint4 << shift;\r\n uint32 = (uint32 | mask) >>> 0; // >>> 0 to force unsigned because javascript\r\n }\r\n\r\n return uint32;\r\n }\r\n\r\n /** Create an Id64String from a pair of unsigned 32-bit integers.\r\n * @param lowBytes The lower 4 bytes of the Id\r\n * @param highBytes The upper 4 bytes of the Id\r\n * @returns an Id64String containing the hexadecimal string representation of the unsigned 64-bit integer which would result from the\r\n * operation `lowBytes | (highBytes << 32)`.\r\n * @see [[Id64.fromUint32PairObject]] if you have a [[Id64.Uint32Pair]] object.\r\n */\r\n export function fromUint32Pair(lowBytes: number, highBytes: number): Id64String {\r\n const localIdLow = lowBytes >>> 0;\r\n const localIdHigh = (highBytes & 0x000000ff) * (0xffffffff + 1); // aka (highBytes & 0xff) << 32\r\n const localId = localIdLow + localIdHigh; // aka localIdLow | localIdHigh\r\n if (0 === localId)\r\n return invalid;\r\n\r\n // Need to omit or preserve leading zeroes...\r\n const buffer = scratchCharCodes;\r\n let index = 2;\r\n for (let i = 7; i >= 0; i--) {\r\n const shift = i << 2;\r\n const mask = 0xf << shift;\r\n const uint4 = (highBytes & mask) >>> shift;\r\n if (index > 2 || 0 !== uint4)\r\n buffer[index++] = uint4ToCharCode(uint4);\r\n }\r\n\r\n for (let i = 7; i >= 0; i--) {\r\n const shift = i << 2;\r\n const mask = 0xf << shift;\r\n const uint4 = (lowBytes & mask) >>> shift;\r\n if (index > 2 || 0 !== uint4)\r\n buffer[index++] = uint4ToCharCode(uint4);\r\n }\r\n\r\n if (buffer.length !== index)\r\n buffer.length = index;\r\n\r\n return String.fromCharCode(...scratchCharCodes);\r\n }\r\n\r\n /** Create an Id64String from a [[Id64.Uint32Pair]].\r\n * @see [[Id64.fromUint32Pair]].\r\n */\r\n export function fromUint32PairObject(pair: Uint32Pair): Id64String {\r\n return fromUint32Pair(pair.lower, pair.upper);\r\n }\r\n\r\n /** Returns true if the inputs represent two halves of a valid 64-bit Id.\r\n * @see [[Id64.Uint32Pair]].\r\n */\r\n export function isValidUint32Pair(lowBytes: number, highBytes: number): boolean {\r\n // Detect local ID of zero\r\n return 0 !== lowBytes || 0 !== (highBytes & 0x000000ff);\r\n }\r\n\r\n /** Represents an [[Id64]] as a pair of unsigned 32-bit integers. Because Javascript lacks efficient support for 64-bit integers,\r\n * this representation can be useful in performance-sensitive code like the render loop.\r\n * @see [[Id64.getUint32Pair]] to convert an [[Id64String]] to a Uint32Pair.\r\n * @see [[Id64.fromUint32Pair]] to convert a Uint32Pair to an [[Id64String]].\r\n * @see [[Id64.Uint32Set]] and [[Id64.Uint32Map]] for collections based on Uint32Pairs.\r\n */\r\n export interface Uint32Pair {\r\n /** The lower 4 bytes of the 64-bit integer. */\r\n lower: number;\r\n /** The upper 4 bytes of the 64-bit integer. */\r\n upper: number;\r\n }\r\n\r\n /** Convert an Id64String to a 64-bit unsigned integer represented as a pair of unsigned 32-bit integers.\r\n * @param id The well-formed string representation of a 64-bit Id.\r\n * @param out Used as the return value if supplied; otherwise a new object is returned.\r\n * @returns An object containing the parsed lower and upper 32-bit integers comprising the 64-bit Id.\r\n */\r\n export function getUint32Pair(id: Id64String, out?: Uint32Pair): Uint32Pair {\r\n if (!out)\r\n out = { lower: 0, upper: 0 };\r\n\r\n out.lower = getLowerUint32(id);\r\n out.upper = getUpperUint32(id);\r\n return out;\r\n }\r\n\r\n /** Extract an unsigned 32-bit integer from the lower 4 bytes of an Id64String. */\r\n export function getLowerUint32(id: Id64String): number {\r\n if (isInvalid(id))\r\n return 0;\r\n\r\n const end = id.length;\r\n const start = end > 10 ? end - 8 : 2;\r\n return substringToUint32(id, start, end);\r\n }\r\n\r\n /** Extract an unsigned 32-bit integer from the upper 4 bytes of an Id64String. */\r\n export function getUpperUint32(id: Id64String): number {\r\n const len = id.length;\r\n if (len <= 10 || isInvalid(id))\r\n return 0;\r\n\r\n return substringToUint32(id, 2, len - 8);\r\n }\r\n\r\n /** Convert an [[Id64Arg]] into an [[Id64Set]].\r\n *\r\n * This method can be used by functions that accept an Id64Arg to conveniently process the value(s). For example:\r\n * ```ts\r\n * public addCategories(arg: Id64Arg) { Id64.toIdSet(arg).forEach((id) => this.categories.add(id)); }\r\n * ```\r\n *\r\n * Alternatively, to avoid allocating a new Id64Set, use [[Id64.iterable]].\r\n *\r\n * @param arg The Ids to convert to an Id64Set.\r\n * @param makeCopy If true, and the input is already an Id64Set, returns a deep copy of the input.\r\n * @returns An Id64Set containing the set of [[Id64String]]s represented by the Id64Arg.\r\n */\r\n export function toIdSet(arg: Id64Arg, makeCopy: boolean = false): Id64Set {\r\n if (arg instanceof Set)\r\n return makeCopy ? new Set<string>(arg) : arg;\r\n\r\n const ids = new Set<Id64String>();\r\n if (typeof arg === \"string\")\r\n ids.add(arg);\r\n else if (Array.isArray(arg)) {\r\n arg.forEach((id: Id64String) => {\r\n if (typeof id === \"string\")\r\n ids.add(id);\r\n });\r\n }\r\n\r\n return ids;\r\n }\r\n\r\n /** Obtain iterator over the specified Ids.\r\n * @see [[Id64.iterable]].\r\n */\r\n export function* iterator(ids: Id64Arg): Iterator<Id64String> {\r\n if (typeof ids === \"string\") {\r\n yield ids;\r\n } else {\r\n for (const id of ids)\r\n yield id;\r\n }\r\n }\r\n\r\n /** Obtain an iterable over the specified Ids. Example usage:\r\n * ```ts\r\n * const ids = [\"0x123\", \"0xfed\"];\r\n * for (const id of Id64.iterable(ids))\r\n * console.log(id);\r\n * ```\r\n */\r\n export function iterable(ids: Id64Arg): Iterable<Id64String> {\r\n return {\r\n [Symbol.iterator]: () => iterator(ids),\r\n };\r\n }\r\n\r\n /** Return the first [[Id64String]] of an [[Id64Arg]]. */\r\n export function getFirst(arg: Id64Arg): Id64String {\r\n return typeof arg === \"string\" ? arg : (Array.isArray(arg) ? arg[0] : arg.values().next().value);\r\n }\r\n\r\n /** Return the number of [[Id64String]]s represented by an [[Id64Arg]]. */\r\n export function sizeOf(arg: Id64Arg): number {\r\n return typeof arg === \"string\" ? 1 : (Array.isArray(arg) ? arg.length : arg.size);\r\n }\r\n\r\n /** Returns true if the [[Id64Arg]] contains the specified Id. */\r\n export function has(arg: Id64Arg, id: Id64String): boolean {\r\n if (typeof arg === \"string\")\r\n return arg === id;\r\n if (Array.isArray(arg))\r\n return -1 !== arg.indexOf(id);\r\n\r\n return arg.has(id);\r\n }\r\n\r\n /** The string representation of an invalid Id. */\r\n export const invalid = \"0\";\r\n\r\n /** Determine if the supplied id string represents a transient Id.\r\n * @param id A well-formed Id string.\r\n * @returns true if the Id represents a transient Id.\r\n * @note This method assumes the input is a well-formed Id string.\r\n * @see [[Id64.isTransientId64]]\r\n * @see [[TransientIdSequence]]\r\n */\r\n export function isTransient(id: Id64String): boolean {\r\n // A transient Id is of the format \"0xffffffxxxxxxxxxx\" where the leading 6 digits indicate an invalid briefcase Id.\r\n return 18 === id.length && id.startsWith(\"0xffffff\");\r\n }\r\n\r\n /** Determine if the input is a well-formed [[Id64String]] and represents a transient Id.\r\n * @see [[Id64.isTransient]]\r\n * @see [[Id64.isId64]]\r\n * @see [[TransientIdSequence]]\r\n */\r\n export function isTransientId64(id: string): boolean {\r\n return isValidId64(id) && isTransient(id);\r\n }\r\n\r\n /** Determine if the input is a well-formed [[Id64String]].\r\n *\r\n * For a description of \"well-formed\", see [Working with Ids]($docs/learning/common/Id64.md).\r\n * @see [[Id64.isValidId64]]\r\n */\r\n export function isId64(id: string): boolean {\r\n const len = id.length;\r\n if (0 === len || 18 < len)\r\n return false;\r\n\r\n if (\"0\" !== id[0])\r\n return false;\r\n\r\n // Well-formed invalid Id: \"0\"\r\n if (1 === len)\r\n return true;\r\n\r\n // Valid Ids begin with \"0x\" followed by at least one lower-case hexadecimal digit.\r\n if (2 === len || \"x\" !== id[1])\r\n return false;\r\n\r\n // If briefcase Id is present, it occupies at least one digit, followed by 10 digits for local Id\r\n let localIdStart = 2;\r\n if (len > 12) {\r\n localIdStart = len - 10;\r\n\r\n // Verify briefcase Id\r\n if (!isValidHexString(id, 2, localIdStart - 2))\r\n return false;\r\n\r\n // Skip leading zeroes in local Id\r\n for (let i = localIdStart; i < len; i++) {\r\n if (0x30 !== id.charCodeAt(i)) // '0'\r\n break;\r\n else\r\n localIdStart++;\r\n }\r\n\r\n if (localIdStart >= len)\r\n return false;\r\n }\r\n\r\n return isValidHexString(id, localIdStart, len - localIdStart);\r\n }\r\n\r\n /** Returns true if the input is not equal to the representation of an invalid Id.\r\n * @note This method assumes the input is a well-formed Id string.\r\n * @see [[Id64.isInvalid]]\r\n * @see [[Id64.isValidId64]]\r\n */\r\n export function isValid(id: Id64String): boolean {\r\n return Id64.invalid !== id;\r\n }\r\n\r\n /** Returns true if the input is a well-formed [[Id64String]] representing a valid Id.\r\n * @see [[Id64.isValid]]\r\n * @see [[Id64.isId64]]\r\n */\r\n export function isValidId64(id: string): boolean {\r\n return Id64.invalid !== id && Id64.isId64(id);\r\n }\r\n\r\n /** Returns true if the input is a well-formed [[Id64String]] representing an invalid Id.\r\n * @see [[Id64.isValid]]\r\n */\r\n export function isInvalid(id: Id64String): boolean {\r\n return Id64.invalid === id;\r\n }\r\n\r\n /** A specialized replacement for Set<Id64String> optimized for performance-critical code which represents large sets of [[Id64]]s as pairs of\r\n * 32-bit integers.\r\n * The internal representation is a Map<number, Set<number>> where the Map key is the upper 4 bytes of the IDs and the Set elements are the lower 4 bytes of the IDs.\r\n * Because the upper 4 bytes store the 24-bit briefcase ID plus the upper 8 bits of the local ID, there will be a very small distribution of unique Map keys.\r\n * To further optimize this data type, the following assumptions are made regarding the { lower, upper } inputs, and no validation is performed to confirm them:\r\n * - The inputs are unsigned 32-bit integers;\r\n * - The inputs represent a valid Id64String (e.g., local ID is not zero).\r\n * @see [[Id64.Uint32Map]] for a similarly-optimized replacement for Map<Id64String, T>\r\n * @public\r\n */\r\n export class Uint32Set {\r\n protected readonly _map = new Map<number, Set<number>>();\r\n\r\n /** Construct a new Uint32Set.\r\n * @param ids If supplied, all of the specified Ids will be added to the new set.\r\n */\r\n public constructor(ids?: Id64Arg) {\r\n if (undefined !== ids)\r\n this.addIds(ids);\r\n }\r\n\r\n /** Remove all contents of this set. */\r\n public clear(): void {\r\n this._map.clear();\r\n }\r\n\r\n /** Add an Id to the set. */\r\n public addId(id: Id64String): void {\r\n this.add(Id64.getLowerUint32(id), Id64.getUpperUint32(id));\r\n }\r\n\r\n /** Add any number of Ids to the set. */\r\n public addIds(ids: Id64Arg): void {\r\n for (const id of Id64.iterable(ids))\r\n this.addId(id);\r\n }\r\n\r\n /** Returns true if the set contains the specified Id. */\r\n public hasId(id: Id64String): boolean { return this.has(Id64.getLowerUint32(id), Id64.getUpperUint32(id)); }\r\n\r\n /** Add an Id to the set. */\r\n public add(low: number, high: number): void {\r\n let set = this._map.get(high);\r\n if (undefined === set) {\r\n set = new Set<number>();\r\n this._map.set(high, set);\r\n }\r\n\r\n set.add(low);\r\n }\r\n\r\n /** Remove an Id from the set. */\r\n public deleteId(id: Id64String): void {\r\n this.delete(Id64.getLowerUint32(id), Id64.getUpperUint32(id));\r\n }\r\n\r\n /** Remove any number of Ids from the set. */\r\n public deleteIds(ids: Id64Arg): void {\r\n for (const id of Id64.iterable(ids))\r\n this.deleteId(id);\r\n }\r\n\r\n /** Remove an Id from the set. */\r\n public delete(low: number, high: number): void {\r\n const set = this._map.get(high);\r\n if (undefined !== set)\r\n set.delete(low);\r\n }\r\n\r\n /** Returns true if the set contains the specified Id. */\r\n public has(low: number, high: number): boolean {\r\n const set = this._map.get(high);\r\n return undefined !== set && set.has(low);\r\n }\r\n\r\n /** Returns true if the set contains the Id specified by `pair`. */\r\n public hasPair(pair: Uint32Pair): boolean {\r\n return this.has(pair.lower, pair.upper);\r\n }\r\n\r\n /** Returns true if the set contains no Ids. */\r\n public get isEmpty(): boolean { return 0 === this._map.size; }\r\n\r\n /** Returns the number of Ids contained in the set. */\r\n public get size(): number {\r\n let size = 0;\r\n for (const entry of this._map)\r\n size += entry[1].size;\r\n\r\n return size;\r\n }\r\n\r\n /** Populates and returns an array of all Ids contained in the set. */\r\n public toId64Array(): Id64Array {\r\n const ids: Id64Array = [];\r\n for (const entry of this._map)\r\n for (const low of entry[1])\r\n ids.push(Id64.fromUint32Pair(low, entry[0]));\r\n\r\n return ids;\r\n }\r\n\r\n /** Populates and returns a set of all Ids contained in the set. */\r\n public toId64Set(): Id64Set {\r\n const ids = new Set<string>();\r\n for (const entry of this._map)\r\n for (const low of entry[1])\r\n ids.add(Id64.fromUint32Pair(low, entry[0]));\r\n\r\n return ids;\r\n }\r\n\r\n /** Execute a function against each Id in this set. */\r\n public forEach(func: (lo: number, hi: number) => void): void {\r\n for (const entry of this._map)\r\n for (const lo of entry[1])\r\n func(lo, entry[0]);\r\n }\r\n }\r\n\r\n /** A specialized replacement for Map<Id64String, T> optimized for performance-critical code.\r\n * @see [[Id64.Uint32Set]] for implementation details.\r\n * @public\r\n */\r\n export class Uint32Map<T> {\r\n protected readonly _map = new Map<number, Map<number, T>>();\r\n\r\n /** Remove all entries from the map. */\r\n public clear(): void { this._map.clear(); }\r\n /** Find an entry in the map by Id. */\r\n public getById(id: Id64String): T | undefined { return this.get(Id64.getLowerUint32(id), Id64.getUpperUint32(id)); }\r\n /** Set an entry in the map by Id. */\r\n public setById(id: Id64String, value: T): void { this.set(Id64.getLowerUint32(id), Id64.getUpperUint32(id), value); }\r\n\r\n /** Set an entry in the map by Id components. */\r\n public set(low: number, high: number, value: T): void {\r\n let map = this._map.get(high);\r\n if (undefined === map) {\r\n map = new Map<number, T>();\r\n this._map.set(high, map);\r\n }\r\n\r\n map.set(low, value);\r\n }\r\n\r\n /** Get an entry from the map by Id components. */\r\n public get(low: number, high: number): T | undefined {\r\n const map = this._map.get(high);\r\n return undefined !== map ? map.get(low) : undefined;\r\n }\r\n\r\n /** Returns true if the map contains no entries. */\r\n public get isEmpty(): boolean { return 0 === this._map.size; }\r\n /** Returns the number of entries in the map. */\r\n public get size(): number {\r\n let size = 0;\r\n for (const entry of this._map)\r\n size += entry[1].size;\r\n\r\n return size;\r\n }\r\n\r\n /** Execute a function against each entry in this map. */\r\n public forEach(func: (lo: number, hi: number, value: T) => void): void {\r\n for (const outerEntry of this._map)\r\n for (const innerEntry of outerEntry[1])\r\n func(innerEntry[0], outerEntry[0], innerEntry[1]);\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Generates unique [[Id64String]] values in sequence, which are guaranteed not to conflict with Ids associated with persistent elements or models.\r\n * This is useful for associating stable, non-persistent identifiers with things like [Decorator]($frontend)s.\r\n * A TransientIdSequence can generate a maximum of (2^40)-2 unique Ids.\r\n * @public\r\n */\r\nexport class TransientIdSequence {\r\n private _localId: number = 0;\r\n\r\n /** Generate and return the next transient Id64String in the sequence.\r\n * @deprecated in 3.x. Use [[getNext]].\r\n */\r\n public get next(): Id64String {\r\n return this.getNext();\r\n }\r\n\r\n /** Generate and return the next transient Id64String in the sequence. */\r\n public getNext(): Id64String {\r\n return Id64.fromLocalAndBriefcaseIds(++this._localId, 0xffffff);\r\n }\r\n}\r\n\r\n/**\r\n * The Guid namespace provides facilities for working with GUID strings using the \"8-4-4-4-12\" pattern.\r\n *\r\n * The [[GuidString]] type alias is used to indicate function arguments, return types, and variables which are known to\r\n * be in the GUID format.\r\n * @public\r\n */\r\nexport namespace Guid {\r\n const uuidPattern = new RegExp(\"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$\");\r\n\r\n /** Represents the empty Guid 00000000-0000-0000-0000-000000000000 */\r\n export const empty: GuidString = \"00000000-0000-0000-0000-000000000000\";\r\n\r\n /** Determine whether the input string is \"guid-like\". That is, it follows the 8-4-4-4-12 pattern. This does not enforce\r\n * that the string is actually in valid UUID format.\r\n */\r\n export function isGuid(value: string): boolean {\r\n return uuidPattern.test(value);\r\n }\r\n\r\n /** Determine whether the input string is a valid V4 Guid string */\r\n export function isV4Guid(value: string): boolean {\r\n return /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/.test(value);\r\n }\r\n\r\n /** Create a new V4 Guid value */\r\n export function createValue(): GuidString {\r\n // https://stackoverflow.com/questions/105034/create-guid-uuid-in-javascript\r\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, (c) => {\r\n const r = Math.random() * 16 | 0;\r\n const v = c === \"x\" ? r : (r & 0x3 | 0x8);\r\n return v.toString(16);\r\n });\r\n }\r\n\r\n /**\r\n * Normalize a Guid string if possible. Normalization consists of:\r\n * - Convert all characters to lower case\r\n * - Trim any leading or trailing whitespace\r\n * - Convert to the standard Guid format \"8-4-4-4-12\", repositioning the '-' characters as necessary, presuming there are exactly 32 hexadecimal digits.\r\n * @param value Input value that represents a Guid\r\n * @returns Normalized representation of the Guid string. If the normalization fails, return the *original* value unmodified (Note: it is *not* a valid Guid)\r\n */\r\n export function normalize(value: GuidString): GuidString {\r\n const lowerValue = value.toLowerCase().trim();\r\n\r\n // Return if it's already formatted to be a Guid\r\n if (isGuid(lowerValue))\r\n return lowerValue;\r\n\r\n // Remove any existing \"-\" characters and position them properly, if there remains exactly 32 hexadecimal digits\r\n const noDashValue = lowerValue.replace(/-/g, \"\");\r\n const noDashPattern = /^([0-9a-f]{8})([0-9a-f]{4})([0-9a-f]{4})([0-9a-f]{4})([0-9a-f]{12})$/;\r\n if (noDashPattern.test(noDashValue)) {\r\n return noDashValue.replace(noDashPattern,\r\n (_match: string, p1: string, p2: string, p3: string, p4: string, p5: string) =>\r\n `${p1}-${p2}-${p3}-${p4}-${p5}`);\r\n }\r\n\r\n // Return unmodified string - (note: it is *not* a valid Guid)\r\n return value;\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"Id.js","sourceRoot":"","sources":["../../src/Id.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 Ids\r\n */\r\n\r\n/** A string containing a well-formed string representation of an [Id64]($core-bentley).\r\n * See [Working with Ids]($docs/learning/common/Id64.md).\r\n * @public\r\n */\r\nexport type Id64String = string;\r\n\r\n/** A string containing a well-formed string representation of a [Guid]($core-bentley).\r\n * @public\r\n */\r\nexport type GuidString = string;\r\n\r\n/** A set of [[Id64String]]s.\r\n * @public\r\n */\r\nexport type Id64Set = Set<Id64String>;\r\n\r\n/** An array of [[Id64String]]s.\r\n * @public\r\n */\r\nexport type Id64Array = Id64String[];\r\n\r\n/** Used as an argument to a function that can accept one or more [[Id64String]]s.\r\n * @public\r\n */\r\nexport type Id64Arg = Id64String | Id64Set | Id64Array;\r\n\r\nfunction toHex(str: string): number {\r\n const v = parseInt(str, 16);\r\n return Number.isNaN(v) ? 0 : v;\r\n}\r\n\r\nfunction isLowerCaseNonZeroHexDigit(str: string, index: number) {\r\n return isLowerCaseHexDigit(str, index, false);\r\n}\r\n\r\nfunction isLowerCaseHexDigit(str: string, index: number, allowZero: boolean = true): boolean {\r\n const charCode = str.charCodeAt(index);\r\n const minDecimalDigit = allowZero ? 0x30 : 0x31; // '0' or '1'...\r\n return (charCode >= minDecimalDigit && charCode <= 0x39) || (charCode >= 0x61 && charCode <= 0x66); // '0'-'9, 'a' -'f'\r\n}\r\n\r\nfunction isValidHexString(id: string, startIndex: number, len: number) {\r\n if (len === 0)\r\n return false;\r\n\r\n // No leading zeroes...\r\n if (!isLowerCaseNonZeroHexDigit(id, startIndex))\r\n return false;\r\n\r\n // ...followed by len-1 lowercase hexadecimal digits.\r\n for (let i = 1; i < len; i++)\r\n if (!isLowerCaseHexDigit(id, startIndex + i))\r\n return false;\r\n\r\n return true;\r\n}\r\n\r\n/**\r\n * The Id64 namespace provides facilities for working with 64-bit identifiers. These Ids are stored as 64-bit integers inside an [[IModelDb]], but must be represented\r\n * as strings in JavaScript because JavaScript does not intrinsically support 64-bit integers.\r\n *\r\n * The [[Id64String]] type alias is used to indicate function arguments, return types, and variables which are known to contain a well-formed representation of a 64-bit Id.\r\n *\r\n * See [Working with Ids]($docs/learning/common/Id64.md) for a detailed description and code examples.\r\n * @public\r\n */\r\nexport namespace Id64 {\r\n /** Extract the \"local\" Id portion of an Id64String, contained in the lower 40 bits of the 64-bit value. */\r\n export function getLocalId(id: Id64String): number {\r\n if (isInvalid(id))\r\n return 0;\r\n\r\n const len = id.length;\r\n const start = (len > 12) ? (len - 10) : 2;\r\n return toHex(id.slice(start));\r\n }\r\n\r\n /** Extract the briefcase Id portion of an Id64String, contained in the upper 24 bits of the 64-bit value. */\r\n export function getBriefcaseId(id: Id64String): number {\r\n if (isInvalid(id))\r\n return 0;\r\n\r\n const len = id.length;\r\n return (len <= 12) ? 0 : toHex(id.slice(2, len - 10));\r\n }\r\n\r\n /** Create an Id64String from its JSON representation.\r\n * @param prop The JSON representation of an Id.\r\n * @returns A well-formed Id string.\r\n * @note if the input is undefined, the result is \"0\", indicating an invalid Id.\r\n * @note if the input is not undefined, the result is the same as that of [[Id64.fromString]].\r\n */\r\n export function fromJSON(prop?: string): Id64String {\r\n return typeof prop === \"string\" ? Id64.fromString(prop) : Id64.invalid;\r\n }\r\n\r\n /** Given a string value, attempt to normalize it into a well-formed Id string.\r\n * If the input is already a well-formed Id string, it is returned unmodified.\r\n * Otherwise, the input is trimmed of leading and trailing whitespace, converted to lowercase, and an attempt is made to parse it as a 64-bit hexadecimal integer.\r\n * If parsing succeeds the normalized result is returned; otherwise the result is \"0\", indicating an invalid Id.\r\n *\r\n * For a description of \"well-formed\", see [Working with Ids]($docs/learning/common/Id64.md).\r\n */\r\n export function fromString(val: string): Id64String {\r\n // NB: in case this is called from JavaScript, we must check the run-time type...\r\n if (typeof val !== \"string\")\r\n return invalid;\r\n\r\n // Skip the common case in which the input is already a well-formed Id string\r\n if (Id64.isId64(val))\r\n return val;\r\n\r\n // Attempt to normalize the input into a well-formed Id string\r\n val = val.toLowerCase().trim();\r\n const len = val.length;\r\n if (len < 2 || val[0] !== \"0\" || val[1] !== \"x\")\r\n return invalid;\r\n\r\n let low = 0;\r\n let high = 0;\r\n let start = 2;\r\n if (len > 12) {\r\n start = (len - 10);\r\n high = toHex(val.slice(2, start));\r\n }\r\n\r\n low = toHex(val.slice(start));\r\n return fromLocalAndBriefcaseIds(low, high);\r\n }\r\n\r\n // Used when constructing local ID portion of Id64String. Performance optimization.\r\n const _localIdPrefixByLocalIdLength = [ // eslint-disable-line @typescript-eslint/naming-convention\r\n \"0000000000\",\r\n \"000000000\",\r\n \"00000000\",\r\n \"0000000\",\r\n \"000000\",\r\n \"00000\",\r\n \"0000\",\r\n \"000\",\r\n \"00\",\r\n \"0\",\r\n \"\",\r\n ];\r\n\r\n /** Produce an Id string from a local and briefcase Id.\r\n * @param localId The non-zero local Id as an unsigned 40-bit integer.\r\n * @param briefcaseId The briefcase Id as an unsigned 24-bit integer.\r\n * @returns an Id64String containing the hexadecimal string representation of the unsigned 64-bit integer which would result from the\r\n * operation `localId | (briefcaseId << 40)`, or an invalid Id \"0\" if the inputs are invalid.\r\n */\r\n export function fromLocalAndBriefcaseIds(localId: number, briefcaseId: number): Id64String {\r\n // NB: Yes, we must check the run-time type...\r\n if (typeof localId !== \"number\" || typeof briefcaseId !== \"number\")\r\n return invalid;\r\n\r\n localId = Math.floor(localId);\r\n if (0 === localId)\r\n return invalid;\r\n\r\n briefcaseId = Math.floor(briefcaseId);\r\n const lowStr = localId.toString(16);\r\n return `0x${(briefcaseId === 0) ? lowStr : (briefcaseId.toString(16) + (_localIdPrefixByLocalIdLength[lowStr.length] + lowStr))}`;\r\n }\r\n\r\n // Used as a buffer when converting a pair of 32-bit integers to an Id64String. Significant performance optimization.\r\n const scratchCharCodes = [\r\n 0x30, // \"0\"\r\n 0x78, // \"x\"\r\n 0x30, // \"0\"\r\n 0x30,\r\n 0x30,\r\n 0x30,\r\n 0x30,\r\n 0x30,\r\n 0x30,\r\n 0x30,\r\n 0x30,\r\n 0x30,\r\n 0x30,\r\n 0x30,\r\n 0x30,\r\n 0x30,\r\n 0x30,\r\n 0x30,\r\n ];\r\n\r\n // Convert 4-bit unsigned integer to char code representing lower-case hexadecimal digit.\r\n function uint4ToCharCode(uint4: number): number {\r\n return uint4 + (uint4 < 10 ? 0x30 : 0x57);\r\n }\r\n\r\n // Convert char code representing lower-case hexadecimal digit to 4-bit unsigned integer.\r\n function charCodeToUint4(char: number): number {\r\n return char - (char >= 0x57 ? 0x57 : 0x30);\r\n }\r\n\r\n // Convert a substring to a uint32. This is twice as fast as using Number.parseInt().\r\n function substringToUint32(id: Id64String, start: number, end: number): number {\r\n let uint32 = 0;\r\n for (let i = start; i < end; i++) {\r\n const uint4 = charCodeToUint4(id.charCodeAt(i));\r\n const shift = (end - i - 1) << 2;\r\n const mask = uint4 << shift;\r\n uint32 = (uint32 | mask) >>> 0; // >>> 0 to force unsigned because javascript\r\n }\r\n\r\n return uint32;\r\n }\r\n\r\n /** Create an Id64String from a pair of unsigned 32-bit integers.\r\n * @param lowBytes The lower 4 bytes of the Id\r\n * @param highBytes The upper 4 bytes of the Id\r\n * @returns an Id64String containing the hexadecimal string representation of the unsigned 64-bit integer which would result from the\r\n * operation `lowBytes | (highBytes << 32)`.\r\n * @see [[Id64.fromUint32PairObject]] if you have a [[Id64.Uint32Pair]] object.\r\n */\r\n export function fromUint32Pair(lowBytes: number, highBytes: number): Id64String {\r\n const localIdLow = lowBytes >>> 0;\r\n const localIdHigh = (highBytes & 0x000000ff) * (0xffffffff + 1); // aka (highBytes & 0xff) << 32\r\n const localId = localIdLow + localIdHigh; // aka localIdLow | localIdHigh\r\n if (0 === localId)\r\n return invalid;\r\n\r\n // Need to omit or preserve leading zeroes...\r\n const buffer = scratchCharCodes;\r\n let index = 2;\r\n for (let i = 7; i >= 0; i--) {\r\n const shift = i << 2;\r\n const mask = 0xf << shift;\r\n const uint4 = (highBytes & mask) >>> shift;\r\n if (index > 2 || 0 !== uint4)\r\n buffer[index++] = uint4ToCharCode(uint4);\r\n }\r\n\r\n for (let i = 7; i >= 0; i--) {\r\n const shift = i << 2;\r\n const mask = 0xf << shift;\r\n const uint4 = (lowBytes & mask) >>> shift;\r\n if (index > 2 || 0 !== uint4)\r\n buffer[index++] = uint4ToCharCode(uint4);\r\n }\r\n\r\n if (buffer.length !== index)\r\n buffer.length = index;\r\n\r\n return String.fromCharCode(...scratchCharCodes);\r\n }\r\n\r\n /** Create an Id64String from a [[Id64.Uint32Pair]].\r\n * @see [[Id64.fromUint32Pair]].\r\n */\r\n export function fromUint32PairObject(pair: Uint32Pair): Id64String {\r\n return fromUint32Pair(pair.lower, pair.upper);\r\n }\r\n\r\n /** Returns true if the inputs represent two halves of a valid 64-bit Id.\r\n * @see [[Id64.Uint32Pair]].\r\n */\r\n export function isValidUint32Pair(lowBytes: number, highBytes: number): boolean {\r\n // Detect local ID of zero\r\n return 0 !== lowBytes || 0 !== (highBytes & 0x000000ff);\r\n }\r\n\r\n /** Represents an [[Id64]] as a pair of unsigned 32-bit integers. Because Javascript lacks efficient support for 64-bit integers,\r\n * this representation can be useful in performance-sensitive code like the render loop.\r\n * @see [[Id64.getUint32Pair]] to convert an [[Id64String]] to a Uint32Pair.\r\n * @see [[Id64.fromUint32Pair]] to convert a Uint32Pair to an [[Id64String]].\r\n * @see [[Id64.Uint32Set]] and [[Id64.Uint32Map]] for collections based on Uint32Pairs.\r\n */\r\n export interface Uint32Pair {\r\n /** The lower 4 bytes of the 64-bit integer. */\r\n lower: number;\r\n /** The upper 4 bytes of the 64-bit integer. */\r\n upper: number;\r\n }\r\n\r\n /** Convert an Id64String to a 64-bit unsigned integer represented as a pair of unsigned 32-bit integers.\r\n * @param id The well-formed string representation of a 64-bit Id.\r\n * @param out Used as the return value if supplied; otherwise a new object is returned.\r\n * @returns An object containing the parsed lower and upper 32-bit integers comprising the 64-bit Id.\r\n */\r\n export function getUint32Pair(id: Id64String, out?: Uint32Pair): Uint32Pair {\r\n if (!out)\r\n out = { lower: 0, upper: 0 };\r\n\r\n out.lower = getLowerUint32(id);\r\n out.upper = getUpperUint32(id);\r\n return out;\r\n }\r\n\r\n /** Extract an unsigned 32-bit integer from the lower 4 bytes of an Id64String. */\r\n export function getLowerUint32(id: Id64String): number {\r\n if (isInvalid(id))\r\n return 0;\r\n\r\n const end = id.length;\r\n const start = end > 10 ? end - 8 : 2;\r\n return substringToUint32(id, start, end);\r\n }\r\n\r\n /** Extract an unsigned 32-bit integer from the upper 4 bytes of an Id64String. */\r\n export function getUpperUint32(id: Id64String): number {\r\n const len = id.length;\r\n if (len <= 10 || isInvalid(id))\r\n return 0;\r\n\r\n return substringToUint32(id, 2, len - 8);\r\n }\r\n\r\n /** Convert an [[Id64Arg]] into an [[Id64Set]].\r\n *\r\n * This method can be used by functions that accept an Id64Arg to conveniently process the value(s). For example:\r\n * ```ts\r\n * public addCategories(arg: Id64Arg) { Id64.toIdSet(arg).forEach((id) => this.categories.add(id)); }\r\n * ```\r\n *\r\n * Alternatively, to avoid allocating a new Id64Set, use [[Id64.iterable]].\r\n *\r\n * @param arg The Ids to convert to an Id64Set.\r\n * @param makeCopy If true, and the input is already an Id64Set, returns a deep copy of the input.\r\n * @returns An Id64Set containing the set of [[Id64String]]s represented by the Id64Arg.\r\n */\r\n export function toIdSet(arg: Id64Arg, makeCopy: boolean = false): Id64Set {\r\n if (arg instanceof Set)\r\n return makeCopy ? new Set<string>(arg) : arg;\r\n\r\n const ids = new Set<Id64String>();\r\n if (typeof arg === \"string\")\r\n ids.add(arg);\r\n else if (Array.isArray(arg)) {\r\n arg.forEach((id: Id64String) => {\r\n if (typeof id === \"string\")\r\n ids.add(id);\r\n });\r\n }\r\n\r\n return ids;\r\n }\r\n\r\n /** Obtain iterator over the specified Ids.\r\n * @see [[Id64.iterable]].\r\n */\r\n export function* iterator(ids: Id64Arg): Iterator<Id64String> {\r\n if (typeof ids === \"string\") {\r\n yield ids;\r\n } else {\r\n for (const id of ids)\r\n yield id;\r\n }\r\n }\r\n\r\n /** Obtain an iterable over the specified Ids. Example usage:\r\n * ```ts\r\n * const ids = [\"0x123\", \"0xfed\"];\r\n * for (const id of Id64.iterable(ids))\r\n * console.log(id);\r\n * ```\r\n */\r\n export function iterable(ids: Id64Arg): Iterable<Id64String> {\r\n return {\r\n [Symbol.iterator]: () => iterator(ids),\r\n };\r\n }\r\n\r\n /** Return the first [[Id64String]] of an [[Id64Arg]]. */\r\n export function getFirst(arg: Id64Arg): Id64String {\r\n return typeof arg === \"string\" ? arg : (Array.isArray(arg) ? arg[0] : arg.values().next().value);\r\n }\r\n\r\n /** Return the number of [[Id64String]]s represented by an [[Id64Arg]]. */\r\n export function sizeOf(arg: Id64Arg): number {\r\n return typeof arg === \"string\" ? 1 : (Array.isArray(arg) ? arg.length : arg.size);\r\n }\r\n\r\n /** Returns true if the [[Id64Arg]] contains the specified Id. */\r\n export function has(arg: Id64Arg, id: Id64String): boolean {\r\n if (typeof arg === \"string\")\r\n return arg === id;\r\n if (Array.isArray(arg))\r\n return -1 !== arg.indexOf(id);\r\n\r\n return arg.has(id);\r\n }\r\n\r\n /** The string representation of an invalid Id. */\r\n export const invalid = \"0\";\r\n\r\n /** Determine if the supplied id string represents a transient Id.\r\n * @param id A well-formed Id string.\r\n * @returns true if the Id represents a transient Id.\r\n * @note This method assumes the input is a well-formed Id string.\r\n * @see [[Id64.isTransientId64]]\r\n * @see [[TransientIdSequence]]\r\n */\r\n export function isTransient(id: Id64String): boolean {\r\n // A transient Id is of the format \"0xffffffxxxxxxxxxx\" where the leading 6 digits indicate an invalid briefcase Id.\r\n return 18 === id.length && id.startsWith(\"0xffffff\");\r\n }\r\n\r\n /** Determine if the input is a well-formed [[Id64String]] and represents a transient Id.\r\n * @see [[Id64.isTransient]]\r\n * @see [[Id64.isId64]]\r\n * @see [[TransientIdSequence]]\r\n */\r\n export function isTransientId64(id: string): boolean {\r\n return isValidId64(id) && isTransient(id);\r\n }\r\n\r\n /** Determine if the input is a well-formed [[Id64String]].\r\n *\r\n * For a description of \"well-formed\", see [Working with Ids]($docs/learning/common/Id64.md).\r\n * @see [[Id64.isValidId64]]\r\n */\r\n export function isId64(id: string): boolean {\r\n const len = id.length;\r\n if (0 === len || 18 < len)\r\n return false;\r\n\r\n if (\"0\" !== id[0])\r\n return false;\r\n\r\n // Well-formed invalid Id: \"0\"\r\n if (1 === len)\r\n return true;\r\n\r\n // Valid Ids begin with \"0x\" followed by at least one lower-case hexadecimal digit.\r\n if (2 === len || \"x\" !== id[1])\r\n return false;\r\n\r\n // If briefcase Id is present, it occupies at least one digit, followed by 10 digits for local Id\r\n let localIdStart = 2;\r\n if (len > 12) {\r\n localIdStart = len - 10;\r\n\r\n // Verify briefcase Id\r\n if (!isValidHexString(id, 2, localIdStart - 2))\r\n return false;\r\n\r\n // Skip leading zeroes in local Id\r\n for (let i = localIdStart; i < len; i++) {\r\n if (0x30 !== id.charCodeAt(i)) // '0'\r\n break;\r\n else\r\n localIdStart++;\r\n }\r\n\r\n if (localIdStart >= len)\r\n return false;\r\n }\r\n\r\n return isValidHexString(id, localIdStart, len - localIdStart);\r\n }\r\n\r\n /** Returns true if the input is not equal to the representation of an invalid Id.\r\n * @note This method assumes the input is a well-formed Id string.\r\n * @see [[Id64.isInvalid]]\r\n * @see [[Id64.isValidId64]]\r\n */\r\n export function isValid(id: Id64String): boolean {\r\n return Id64.invalid !== id;\r\n }\r\n\r\n /** Returns true if the input is a well-formed [[Id64String]] representing a valid Id.\r\n * @see [[Id64.isValid]]\r\n * @see [[Id64.isId64]]\r\n */\r\n export function isValidId64(id: string): boolean {\r\n return Id64.invalid !== id && Id64.isId64(id);\r\n }\r\n\r\n /** Returns true if the input is a well-formed [[Id64String]] representing an invalid Id.\r\n * @see [[Id64.isValid]]\r\n */\r\n export function isInvalid(id: Id64String): boolean {\r\n return Id64.invalid === id;\r\n }\r\n\r\n /** A specialized replacement for Set<Id64String> optimized for performance-critical code which represents large sets of [[Id64]]s as pairs of\r\n * 32-bit integers.\r\n * The internal representation is a Map<number, Set<number>> where the Map key is the upper 4 bytes of the IDs and the Set elements are the lower 4 bytes of the IDs.\r\n * Because the upper 4 bytes store the 24-bit briefcase ID plus the upper 8 bits of the local ID, there will be a very small distribution of unique Map keys.\r\n * To further optimize this data type, the following assumptions are made regarding the { lower, upper } inputs, and no validation is performed to confirm them:\r\n * - The inputs are unsigned 32-bit integers;\r\n * - The inputs represent a valid Id64String (e.g., local ID is not zero).\r\n * @see [[Id64.Uint32Map]] for a similarly-optimized replacement for Map<Id64String, T>\r\n * @public\r\n */\r\n export class Uint32Set {\r\n protected readonly _map = new Map<number, Set<number>>();\r\n\r\n /** Construct a new Uint32Set.\r\n * @param ids If supplied, all of the specified Ids will be added to the new set.\r\n */\r\n public constructor(ids?: Id64Arg) {\r\n if (undefined !== ids)\r\n this.addIds(ids);\r\n }\r\n\r\n /** Remove all contents of this set. */\r\n public clear(): void {\r\n this._map.clear();\r\n }\r\n\r\n /** Add an Id to the set. */\r\n public addId(id: Id64String): void {\r\n this.add(Id64.getLowerUint32(id), Id64.getUpperUint32(id));\r\n }\r\n\r\n /** Add any number of Ids to the set. */\r\n public addIds(ids: Id64Arg): void {\r\n for (const id of Id64.iterable(ids))\r\n this.addId(id);\r\n }\r\n\r\n /** Returns true if the set contains the specified Id. */\r\n public hasId(id: Id64String): boolean { return this.has(Id64.getLowerUint32(id), Id64.getUpperUint32(id)); }\r\n\r\n /** Add an Id to the set. */\r\n public add(low: number, high: number): void {\r\n let set = this._map.get(high);\r\n if (undefined === set) {\r\n set = new Set<number>();\r\n this._map.set(high, set);\r\n }\r\n\r\n set.add(low);\r\n }\r\n\r\n /** Remove an Id from the set. */\r\n public deleteId(id: Id64String): void {\r\n this.delete(Id64.getLowerUint32(id), Id64.getUpperUint32(id));\r\n }\r\n\r\n /** Remove any number of Ids from the set. */\r\n public deleteIds(ids: Id64Arg): void {\r\n for (const id of Id64.iterable(ids))\r\n this.deleteId(id);\r\n }\r\n\r\n /** Remove an Id from the set. */\r\n public delete(low: number, high: number): void {\r\n const set = this._map.get(high);\r\n if (undefined !== set)\r\n set.delete(low);\r\n }\r\n\r\n /** Returns true if the set contains the specified Id. */\r\n public has(low: number, high: number): boolean {\r\n const set = this._map.get(high);\r\n return undefined !== set && set.has(low);\r\n }\r\n\r\n /** Returns true if the set contains the Id specified by `pair`. */\r\n public hasPair(pair: Uint32Pair): boolean {\r\n return this.has(pair.lower, pair.upper);\r\n }\r\n\r\n /** Returns true if the set contains no Ids. */\r\n public get isEmpty(): boolean { return 0 === this._map.size; }\r\n\r\n /** Returns the number of Ids contained in the set. */\r\n public get size(): number {\r\n let size = 0;\r\n for (const entry of this._map)\r\n size += entry[1].size;\r\n\r\n return size;\r\n }\r\n\r\n /** Populates and returns an array of all Ids contained in the set. */\r\n public toId64Array(): Id64Array {\r\n const ids: Id64Array = [];\r\n for (const entry of this._map)\r\n for (const low of entry[1])\r\n ids.push(Id64.fromUint32Pair(low, entry[0]));\r\n\r\n return ids;\r\n }\r\n\r\n /** Populates and returns a set of all Ids contained in the set. */\r\n public toId64Set(): Id64Set {\r\n const ids = new Set<string>();\r\n for (const entry of this._map)\r\n for (const low of entry[1])\r\n ids.add(Id64.fromUint32Pair(low, entry[0]));\r\n\r\n return ids;\r\n }\r\n\r\n /** Execute a function against each Id in this set. */\r\n public forEach(func: (lo: number, hi: number) => void): void {\r\n for (const entry of this._map)\r\n for (const lo of entry[1])\r\n func(lo, entry[0]);\r\n }\r\n }\r\n\r\n /** A specialized replacement for Map<Id64String, T> optimized for performance-critical code.\r\n * @see [[Id64.Uint32Set]] for implementation details.\r\n * @public\r\n */\r\n export class Uint32Map<T> {\r\n protected readonly _map = new Map<number, Map<number, T>>();\r\n\r\n /** Remove all entries from the map. */\r\n public clear(): void { this._map.clear(); }\r\n /** Find an entry in the map by Id. */\r\n public getById(id: Id64String): T | undefined { return this.get(Id64.getLowerUint32(id), Id64.getUpperUint32(id)); }\r\n /** Set an entry in the map by Id. */\r\n public setById(id: Id64String, value: T): void { this.set(Id64.getLowerUint32(id), Id64.getUpperUint32(id), value); }\r\n\r\n /** Set an entry in the map by Id components. */\r\n public set(low: number, high: number, value: T): void {\r\n let map = this._map.get(high);\r\n if (undefined === map) {\r\n map = new Map<number, T>();\r\n this._map.set(high, map);\r\n }\r\n\r\n map.set(low, value);\r\n }\r\n\r\n /** Get an entry from the map by Id components. */\r\n public get(low: number, high: number): T | undefined {\r\n const map = this._map.get(high);\r\n return undefined !== map ? map.get(low) : undefined;\r\n }\r\n\r\n /** Returns true if the map contains no entries. */\r\n public get isEmpty(): boolean { return 0 === this._map.size; }\r\n /** Returns the number of entries in the map. */\r\n public get size(): number {\r\n let size = 0;\r\n for (const entry of this._map)\r\n size += entry[1].size;\r\n\r\n return size;\r\n }\r\n\r\n /** Execute a function against each entry in this map. */\r\n public forEach(func: (lo: number, hi: number, value: T) => void): void {\r\n for (const outerEntry of this._map)\r\n for (const innerEntry of outerEntry[1])\r\n func(innerEntry[0], outerEntry[0], innerEntry[1]);\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Generates unique [[Id64String]] values in sequence, which are guaranteed not to conflict with Ids associated with persistent elements or models.\r\n * This is useful for associating stable, non-persistent identifiers with things like [Decorator]($frontend)s.\r\n * A TransientIdSequence can generate a maximum of (2^40)-2 unique Ids.\r\n * @public\r\n */\r\nexport class TransientIdSequence {\r\n private _localId: number = 0;\r\n\r\n /** Generate and return the next transient Id64String in the sequence.\r\n * @deprecated in 3.x. Use [[getNext]].\r\n */\r\n public get next(): Id64String {\r\n return this.getNext();\r\n }\r\n\r\n /** Generate and return the next transient Id64String in the sequence. */\r\n public getNext(): Id64String {\r\n return Id64.fromLocalAndBriefcaseIds(++this._localId, 0xffffff);\r\n }\r\n\r\n /** Preview the transient Id64String that will be returned by the next call to [[getNext]].\r\n * This is primarily useful for tests.\r\n */\r\n public peekNext(): Id64String {\r\n return Id64.fromLocalAndBriefcaseIds(this._localId + 1, 0xffffff);\r\n }\r\n}\r\n\r\n/**\r\n * The Guid namespace provides facilities for working with GUID strings using the \"8-4-4-4-12\" pattern.\r\n *\r\n * The [[GuidString]] type alias is used to indicate function arguments, return types, and variables which are known to\r\n * be in the GUID format.\r\n * @public\r\n */\r\nexport namespace Guid {\r\n const uuidPattern = new RegExp(\"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$\");\r\n\r\n /** Represents the empty Guid 00000000-0000-0000-0000-000000000000 */\r\n export const empty: GuidString = \"00000000-0000-0000-0000-000000000000\";\r\n\r\n /** Determine whether the input string is \"guid-like\". That is, it follows the 8-4-4-4-12 pattern. This does not enforce\r\n * that the string is actually in valid UUID format.\r\n */\r\n export function isGuid(value: string): boolean {\r\n return uuidPattern.test(value);\r\n }\r\n\r\n /** Determine whether the input string is a valid V4 Guid string */\r\n export function isV4Guid(value: string): boolean {\r\n return /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/.test(value);\r\n }\r\n\r\n /** Create a new V4 Guid value */\r\n export function createValue(): GuidString {\r\n // https://stackoverflow.com/questions/105034/create-guid-uuid-in-javascript\r\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, (c) => {\r\n const r = Math.random() * 16 | 0;\r\n const v = c === \"x\" ? r : (r & 0x3 | 0x8);\r\n return v.toString(16);\r\n });\r\n }\r\n\r\n /**\r\n * Normalize a Guid string if possible. Normalization consists of:\r\n * - Convert all characters to lower case\r\n * - Trim any leading or trailing whitespace\r\n * - Convert to the standard Guid format \"8-4-4-4-12\", repositioning the '-' characters as necessary, presuming there are exactly 32 hexadecimal digits.\r\n * @param value Input value that represents a Guid\r\n * @returns Normalized representation of the Guid string. If the normalization fails, return the *original* value unmodified (Note: it is *not* a valid Guid)\r\n */\r\n export function normalize(value: GuidString): GuidString {\r\n const lowerValue = value.toLowerCase().trim();\r\n\r\n // Return if it's already formatted to be a Guid\r\n if (isGuid(lowerValue))\r\n return lowerValue;\r\n\r\n // Remove any existing \"-\" characters and position them properly, if there remains exactly 32 hexadecimal digits\r\n const noDashValue = lowerValue.replace(/-/g, \"\");\r\n const noDashPattern = /^([0-9a-f]{8})([0-9a-f]{4})([0-9a-f]{4})([0-9a-f]{4})([0-9a-f]{12})$/;\r\n if (noDashPattern.test(noDashValue)) {\r\n return noDashValue.replace(noDashPattern,\r\n (_match: string, p1: string, p2: string, p3: string, p4: string, p5: string) =>\r\n `${p1}-${p2}-${p3}-${p4}-${p5}`);\r\n }\r\n\r\n // Return unmodified string - (note: it is *not* a valid Guid)\r\n return value;\r\n }\r\n}\r\n"]}
|