@itwin/core-bentley 5.0.0-dev.56 → 5.0.0-dev.57

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.
Files changed (89) hide show
  1. package/lib/cjs/BeEvent.js +3 -7
  2. package/lib/cjs/BeEvent.js.map +1 -1
  3. package/lib/cjs/BentleyError.js +2 -0
  4. package/lib/cjs/BentleyError.js.map +1 -1
  5. package/lib/cjs/ByteStream.js +3 -1
  6. package/lib/cjs/ByteStream.js.map +1 -1
  7. package/lib/cjs/CompressedId64Set.js +6 -3
  8. package/lib/cjs/CompressedId64Set.js.map +1 -1
  9. package/lib/cjs/Dictionary.js +8 -3
  10. package/lib/cjs/Dictionary.js.map +1 -1
  11. package/lib/cjs/Disposable.js +2 -0
  12. package/lib/cjs/Disposable.js.map +1 -1
  13. package/lib/cjs/Id.js +5 -4
  14. package/lib/cjs/Id.js.map +1 -1
  15. package/lib/cjs/IndexMap.js +6 -1
  16. package/lib/cjs/IndexMap.js.map +1 -1
  17. package/lib/cjs/LRUMap.js +16 -0
  18. package/lib/cjs/LRUMap.js.map +1 -1
  19. package/lib/cjs/Logger.js +13 -4
  20. package/lib/cjs/Logger.js.map +1 -1
  21. package/lib/cjs/ObservableSet.js +6 -6
  22. package/lib/cjs/ObservableSet.js.map +1 -1
  23. package/lib/cjs/OneAtATimeAction.js +9 -0
  24. package/lib/cjs/OneAtATimeAction.js.map +1 -1
  25. package/lib/cjs/OrderedSet.js +1 -0
  26. package/lib/cjs/OrderedSet.js.map +1 -1
  27. package/lib/cjs/PriorityQueue.js +3 -1
  28. package/lib/cjs/PriorityQueue.js.map +1 -1
  29. package/lib/cjs/SortedArray.js +4 -1
  30. package/lib/cjs/SortedArray.js.map +1 -1
  31. package/lib/cjs/StatusCategory.js +41 -104
  32. package/lib/cjs/StatusCategory.js.map +1 -1
  33. package/lib/cjs/Time.js +5 -0
  34. package/lib/cjs/Time.js.map +1 -1
  35. package/lib/cjs/Tracing.js +2 -0
  36. package/lib/cjs/Tracing.js.map +1 -1
  37. package/lib/cjs/TupleKeyedMap.js +2 -2
  38. package/lib/cjs/TupleKeyedMap.js.map +1 -1
  39. package/lib/cjs/TypedArrayBuilder.js +8 -0
  40. package/lib/cjs/TypedArrayBuilder.js.map +1 -1
  41. package/lib/cjs/UnexpectedErrors.js +6 -6
  42. package/lib/cjs/UnexpectedErrors.js.map +1 -1
  43. package/lib/cjs/YieldManager.js +3 -1
  44. package/lib/cjs/YieldManager.js.map +1 -1
  45. package/lib/esm/BeEvent.js +3 -7
  46. package/lib/esm/BeEvent.js.map +1 -1
  47. package/lib/esm/BentleyError.js +2 -0
  48. package/lib/esm/BentleyError.js.map +1 -1
  49. package/lib/esm/ByteStream.js +3 -1
  50. package/lib/esm/ByteStream.js.map +1 -1
  51. package/lib/esm/CompressedId64Set.js +6 -3
  52. package/lib/esm/CompressedId64Set.js.map +1 -1
  53. package/lib/esm/Dictionary.js +8 -3
  54. package/lib/esm/Dictionary.js.map +1 -1
  55. package/lib/esm/Disposable.js +2 -0
  56. package/lib/esm/Disposable.js.map +1 -1
  57. package/lib/esm/Id.js +5 -4
  58. package/lib/esm/Id.js.map +1 -1
  59. package/lib/esm/IndexMap.js +6 -1
  60. package/lib/esm/IndexMap.js.map +1 -1
  61. package/lib/esm/LRUMap.js +16 -0
  62. package/lib/esm/LRUMap.js.map +1 -1
  63. package/lib/esm/Logger.js +13 -4
  64. package/lib/esm/Logger.js.map +1 -1
  65. package/lib/esm/ObservableSet.js +6 -6
  66. package/lib/esm/ObservableSet.js.map +1 -1
  67. package/lib/esm/OneAtATimeAction.js +9 -0
  68. package/lib/esm/OneAtATimeAction.js.map +1 -1
  69. package/lib/esm/OrderedSet.js +1 -0
  70. package/lib/esm/OrderedSet.js.map +1 -1
  71. package/lib/esm/PriorityQueue.js +3 -1
  72. package/lib/esm/PriorityQueue.js.map +1 -1
  73. package/lib/esm/SortedArray.js +4 -1
  74. package/lib/esm/SortedArray.js.map +1 -1
  75. package/lib/esm/StatusCategory.js +41 -104
  76. package/lib/esm/StatusCategory.js.map +1 -1
  77. package/lib/esm/Time.js +5 -0
  78. package/lib/esm/Time.js.map +1 -1
  79. package/lib/esm/Tracing.js +2 -0
  80. package/lib/esm/Tracing.js.map +1 -1
  81. package/lib/esm/TupleKeyedMap.js +2 -2
  82. package/lib/esm/TupleKeyedMap.js.map +1 -1
  83. package/lib/esm/TypedArrayBuilder.js +8 -0
  84. package/lib/esm/TypedArrayBuilder.js.map +1 -1
  85. package/lib/esm/UnexpectedErrors.js +6 -6
  86. package/lib/esm/UnexpectedErrors.js.map +1 -1
  87. package/lib/esm/YieldManager.js +3 -1
  88. package/lib/esm/YieldManager.js.map +1 -1
  89. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"TypedArrayBuilder.js","sourceRoot":"","sources":["../../src/TypedArrayBuilder.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAGH,qCAAkC;AA2BlC;;;;;;;;;;;;;GAaG;AACH,MAAa,iBAAiB;IAU5B,sFAAsF;IACtF,YAAsB,WAA2B,EAAE,OAAkC;QACnF,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,KAAK,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,eAAe,IAAI,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,YAAY,IAAI,GAAG,CAAC,CAAC;QAChE,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;IACnB,CAAC;IAED,qDAAqD;IACrD,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,6FAA6F;IAC7F,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACI,EAAE,CAAC,KAAa;QACrB,IAAI,KAAK,GAAG,CAAC;YACX,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QAE9B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAChC,IAAA,eAAM,EAAC,KAAK,KAAK,SAAS,EAAE,qBAAqB,CAAC,CAAC;QACnD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;OAOG;IACI,cAAc,CAAC,WAAmB;QACvC,IAAI,IAAI,CAAC,QAAQ,IAAI,WAAW;YAC9B,OAAO,IAAI,CAAC,QAAQ,CAAC;QAEvB,IAAA,eAAM,EAAC,IAAI,CAAC,YAAY,IAAI,GAAG,CAAC,CAAC;QACjC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAChD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAE5B,IAAA,eAAM,EAAC,IAAI,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,yDAAyD;IAClD,IAAI,CAAC,KAAa;QACvB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;QAChC,EAAE,IAAI,CAAC,OAAO,CAAC;IACjB,CAAC;IAED,uEAAuE;IAChE,MAAM,CAAC,MAAS;QACrB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC9C,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC/B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACI,YAAY,CAAC,qBAAqB,GAAG,KAAK;QAC/C,IAAI,qBAAqB;YACvB,OAAO,IAAI,CAAC,KAAK,CAAC;QAEpB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACrD,IAAA,eAAM,EAAC,QAAQ,YAAY,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9C,IAAA,eAAM,EAAC,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9C,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AA3FD,8CA2FC;AAED;;GAEG;AACH,MAAa,iBAAkB,SAAQ,iBAA6B;IAClE,6CAA6C;IAC7C,YAAmB,OAAkC;QACnD,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC7B,CAAC;CACF;AALD,8CAKC;AAED;;GAEG;AACH,MAAa,kBAAmB,SAAQ,iBAA8B;IACpE,6CAA6C;IAC7C,YAAmB,OAAkC;QACnD,KAAK,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC9B,CAAC;CACF;AALD,gDAKC;AAED;;GAEG;AACH,MAAa,kBAAmB,SAAQ,iBAA8B;IACpE,6CAA6C;IAC7C,YAAmB,OAAkC;QACnD,KAAK,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED,gEAAgE;IACzD,YAAY,CAAC,qBAAqB,GAAG,KAAK;QAC/C,IAAI,qBAAqB;YACvB,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAE3C,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/D,CAAC;CACF;AAbD,gDAaC;AAaD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAa,gBAAiB,SAAQ,iBAA4B;IAChE,YAAmB,OAAiC;QAClD,KAAK,CAAC,OAAO,EAAE,WAAW,IAAI,UAAU,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,IAAW,eAAe;QACxB,OAAO,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC;IACtC,CAAC;IAED;;;OAGG;IACO,qBAAqB,CAAC,SAA2B;QACzD,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QAC7C,IAAA,eAAM,EAAC,eAAe,KAAK,CAAC,IAAI,eAAe,KAAK,CAAC,IAAI,eAAe,KAAK,CAAC,CAAC,CAAC;QAChF,IAAI,eAAe,IAAI,CAAC;YACtB,OAAO;QAET,IAAI,kBAAkB,GAAG,eAAe,CAAC;QACzC,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;YAC9B,IAAI,KAAK,GAAG,MAAM,EAAE,CAAC;gBACnB,kBAAkB,GAAG,CAAC,CAAC;gBACvB,MAAM;YACR,CAAC;iBAAM,IAAI,KAAK,GAAG,IAAI,EAAE,CAAC;gBACxB,kBAAkB,GAAG,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QAED,IAAI,kBAAkB,IAAI,eAAe;YACvC,OAAO;QAET,IAAI,CAAC,YAAY,GAAG,kBAAkB,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,kBAAkB,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACnH,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;IAED,sCAAsC;IACtB,IAAI,CAAC,KAAa;QAChC,IAAI,CAAC,qBAAqB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IAED,wCAAwC;IACxB,MAAM,CAAC,MAAiB;QACtC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACnC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;CACF;AAlDD,4CAkDC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Collections\n */\n\nimport { Constructor } from \"./UtilityTypes\";\nimport { assert } from \"./Assert\";\n\n/** Options used to construct a [[TypedArrayBuilder]].\n * @public\n */\nexport interface TypedArrayBuilderOptions {\n /** Controls how much additional memory is allocated when the TypedArray needs to be resized to accomodate more elements.\n * [[TypedArrayBuilder.ensureCapacity]] multiplies the required capacity by this factor to determine the new capacity.\n * Default: 1.5\n * Minimum: 1.0, which causes the TypedArray to allocate exactly the space it needs each time it is resized.\n */\n growthFactor?: number;\n /** The number of elements to allocate memory for in the TypedArray when creating the builder.\n * If you know the minimum number of elements you intend to add to the builder, you should specify that as the\n * initial capacity to avoid reallocations when populating the array.\n * Default: 0.\n * Minimum: 0.\n */\n initialCapacity?: number;\n}\n\n/** A [TypedArray](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray) containing unsigned 8-, 16-, or 32-bit integers.\n * @see [[UintArrayBuilder]] to construct such an array.\n * @public\n */\nexport type UintArray = Uint8Array | Uint16Array | Uint32Array;\n\n/** Incrementally builds a [TypedArray](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray) of unsigned 8-, 16-, or 32-bit integers.\n * Sometimes you wish to populate a `TypedArray`, but you don't know how many elements you will need.\n * `TypedArray` requires you to specify the size upon construction, and does not permit you to change the size later.\n *\n * `TypedArrayBuilder` manages a `TypedArray`, permitting you to [[push]] and [[append]] elements to it. It exposes two \"size\" properties\":\n * - [[capacity]], the number of elements it has currently allocated space for - i.e., the length of the underlying TypedArray; and\n * - [[length]], the number of elements that have so far been added to it, which is never bigger than [[capacity]].\n * When [[capacity]] is exceeded, a new, bigger TypedArray is allocated and the contents of the previous array are copied over to it.\n *\n * Once you've finished adding elements, you can obtain the finished `TypedArray` via [[toTypedArray]].\n * @see [[Uint8ArrayBuilder]], [[Uint16ArrayBuilder]], and [[Uint32ArrayBuilder]] to build specific types of arrays.\n * @see [[UintArrayBuilder]] when you don't know the maximum number of bytes required for each element in the array.\n * @public\n */\nexport class TypedArrayBuilder<T extends UintArray> {\n /** The constructor for the specific type of array being populated. */\n protected _constructor: Constructor<T>;\n /** The underlying typed array, to be reallocated and copied when its capacity is exceeded. */\n protected _data: T;\n /** The number of elements added to the array so far. */\n protected _length: number;\n /** Multiplier applied to required capacity by [[ensureCapacity]]. */\n public readonly growthFactor: number;\n\n /** Constructs a new builder from the specified options, with a [[length]] of zero. */\n protected constructor(constructor: Constructor<T>, options?: TypedArrayBuilderOptions) {\n this._constructor = constructor;\n this._data = new constructor(options?.initialCapacity ?? 0);\n this.growthFactor = Math.max(1.0, options?.growthFactor ?? 1.5);\n this._length = 0;\n }\n\n /** The number of elements currently in the array. */\n public get length(): number {\n return this._length;\n }\n\n /** The number of elements that can fit into the memory currently allocated for the array. */\n public get capacity(): number {\n return this._data.length;\n }\n\n /** Like [TypedArray.at](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/at),\n * returns the element at the specified index, with negative integers counting back from the end of the array.\n * @note It is your responsibility to ensure the index falls within the bounds of the array.\n */\n public at(index: number): number {\n if (index < 0)\n index = this.length - index;\n\n const value = this._data[index];\n assert(value !== undefined, \"index out of bounds\");\n return value;\n }\n\n /** Ensure that [[capacity]] is at least equal to `newCapacity`.\n * This is used internally by methods like [[push]] and [[append]] to ensure the array has room for the element(s) to be added.\n * It can also be useful when you know you intend to add some number of additional elements, to minimize reallocations.\n *\n * If `newCapacity` is not greater than the current [[capacity]], this function does nothing.\n * Otherwise, it allocates a new `TypedArray` with room for `newCapacity * growthFactor` elements, and copies the contents of the previous `TypedArray` into it.\n * [[length]] remains unchanged; [[capacity]] reflects the size of the new TypeArray.\n */\n public ensureCapacity(newCapacity: number): number {\n if (this.capacity >= newCapacity)\n return this.capacity;\n\n assert(this.growthFactor >= 1.0);\n newCapacity = Math.ceil(newCapacity * this.growthFactor);\n const prevData = this._data;\n this._data = new this._constructor(newCapacity);\n this._data.set(prevData, 0);\n\n assert(this.capacity === newCapacity);\n return this.capacity;\n }\n\n /** Append the specified value, resizing if necessary. */\n public push(value: number): void {\n this.ensureCapacity(this.length + 1);\n this._data[this.length] = value;\n ++this._length;\n }\n\n /** Append an array of values, resizing (at most once) if necessary. */\n public append(values: T): void {\n const newLength = this.length + values.length;\n this.ensureCapacity(newLength);\n this._data.set(values, this.length);\n this._length = newLength;\n }\n\n /** Obtain the finished array.\n * @param includeUnusedCapacity If true, the length of the returned array will be equal to [[capacity]], with extra bytes initialized to zero; otherwise, the\n * returned array's length will be equal to [[length]].\n */\n public toTypedArray(includeUnusedCapacity = false): T {\n if (includeUnusedCapacity)\n return this._data;\n\n const subarray = this._data.subarray(0, this.length);\n assert(subarray instanceof this._constructor);\n assert(subarray.buffer === this._data.buffer);\n return subarray;\n }\n}\n\n/** A [[TypedArrayBuilder]] for producing a [Uint8Array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array).\n * @public\n */\nexport class Uint8ArrayBuilder extends TypedArrayBuilder<Uint8Array> {\n /** See [[TypedArrayBuilder]] constructor. */\n public constructor(options?: TypedArrayBuilderOptions) {\n super(Uint8Array, options);\n }\n}\n\n/** A [[TypedArrayBuilder]] for producing a [Uint16Array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint16Array).\n * @public\n */\nexport class Uint16ArrayBuilder extends TypedArrayBuilder<Uint16Array> {\n /** See [[TypedArrayBuilder]] constructor. */\n public constructor(options?: TypedArrayBuilderOptions) {\n super(Uint16Array, options);\n }\n}\n\n/** A [[TypedArrayBuilder]] for producing a [Uint32Array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint32Array).\n * @public\n */\nexport class Uint32ArrayBuilder extends TypedArrayBuilder<Uint32Array> {\n /** See [[TypedArrayBuilder]] constructor. */\n public constructor(options?: TypedArrayBuilderOptions) {\n super(Uint32Array, options);\n }\n\n /** Obtain a view of the finished array as an array of bytes. */\n public toUint8Array(includeUnusedCapacity = false): Uint8Array {\n if (includeUnusedCapacity)\n return new Uint8Array(this._data.buffer);\n\n return new Uint8Array(this._data.buffer, 0, this.length * 4);\n }\n}\n\n/** Options used to construct a [[UintArrayBuilder]].\n * @public\n */\nexport interface UintArrayBuilderOptions extends TypedArrayBuilderOptions {\n /** The type of the initial empty `TypedArray` created by the builder. For example, if you know that you will be adding values larger than\n * 255 to the array, specify `{ initialType: Uint16Array }` to avoid replacing the otherwise default `Uint8Array` when the first such value is added.\n * Default: `Uint8Array`.\n */\n initialType?: typeof Uint8Array | typeof Uint16Array | typeof Uint32Array;\n}\n\n/** A [[TypedArrayBuilder]] that can populate a [[UintArray]] with the minimum\n * [bytes per element](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/BYTES_PER_ELEMENT) required.\n *\n * By default, the underlying array is a `Uint8Array`, though this can be configured via [[UintArrayBuilderOptions.initialType]].\n * As values are added to the array, if the bytes per element supported by the underlying array is too small to hold one of the new values, the array is\n * reallocated to a type large enough to hold all of the new values. For example, the following produces a `Uint8Array` because all values are less than 256:\n *\n * ```ts\n * const builder = new UintArrayBuilder();\n * builder.append([1, 2, 254, 255]);\n * const array = builder.toTypedArray();\n * assert(array instanceof Uint8Array);\n * ```\n *\n * However, the following produces a `Uint16Array` because one of the values is larger than 255 but none are larger than 65,535:\n *\n * ```ts\n * const builder = new UintArrayBuilder();\n * builder.append([1, 255, 257, 65535]);\n * const array = builder.toTypedArray();\n * assert(array instanceof Uint16Array);\n * ```\n *\n * @see [[Uint8ArrayBuilder]], [[Uint16ArrayBuilder]], or [[Uint32ArrayBuilder]] if you know the number of bytes you want to allocate for each element in the array.\n * @public\n */\nexport class UintArrayBuilder extends TypedArrayBuilder<UintArray> {\n public constructor(options?: UintArrayBuilderOptions) {\n super(options?.initialType ?? Uint8Array, options);\n }\n\n /** The number of bytes (1, 2, or 4) currently allocated per element by the underlying array.\n * This may change as larger values are added to the array.\n */\n public get bytesPerElement(): number {\n return this._data.BYTES_PER_ELEMENT;\n }\n\n /** Ensures that the underlying array is of a type that can contain the largest value in `newValues`.\n * For example, if `_data` is a `Uint16Array` and `newValues` contains any value(s) larger than 65,535, it will be replaced with a `Uint32Array`.\n * This method is invoked by [[push]] and [[append]].\n */\n protected ensureBytesPerElement(newValues: Iterable<number>): void {\n const curBytesPerElem = this.bytesPerElement;\n assert(curBytesPerElem === 1 || curBytesPerElem === 2 || curBytesPerElem === 4);\n if (curBytesPerElem >= 4)\n return;\n\n let neededBytesPerElem = curBytesPerElem;\n for (const value of newValues) {\n if (value > 0xffff) {\n neededBytesPerElem = 4;\n break;\n } else if (value > 0xff) {\n neededBytesPerElem = 2;\n }\n }\n\n if (neededBytesPerElem <= curBytesPerElem)\n return;\n\n this._constructor = neededBytesPerElem === 1 ? Uint8Array : (neededBytesPerElem === 2 ? Uint16Array : Uint32Array);\n this._data = new this._constructor(this._data);\n }\n\n /** See [[TypedArrayBuilder.push]]. */\n public override push(value: number): void {\n this.ensureBytesPerElement([value]);\n super.push(value);\n }\n\n /** See [[TypedArrayBuilder.append]]. */\n public override append(values: UintArray): void {\n this.ensureBytesPerElement(values);\n super.append(values);\n }\n}\n"]}
1
+ {"version":3,"file":"TypedArrayBuilder.js","sourceRoot":"","sources":["../../src/TypedArrayBuilder.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Collections\n */\n\nimport { Constructor } from \"./UtilityTypes\";\nimport { assert } from \"./Assert\";\n\n/** Options used to construct a [[TypedArrayBuilder]].\n * @public\n */\nexport interface TypedArrayBuilderOptions {\n /** Controls how much additional memory is allocated when the TypedArray needs to be resized to accomodate more elements.\n * [[TypedArrayBuilder.ensureCapacity]] multiplies the required capacity by this factor to determine the new capacity.\n * Default: 1.5\n * Minimum: 1.0, which causes the TypedArray to allocate exactly the space it needs each time it is resized.\n */\n growthFactor?: number;\n /** The number of elements to allocate memory for in the TypedArray when creating the builder.\n * If you know the minimum number of elements you intend to add to the builder, you should specify that as the\n * initial capacity to avoid reallocations when populating the array.\n * Default: 0.\n * Minimum: 0.\n */\n initialCapacity?: number;\n}\n\n/** A [TypedArray](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray) containing unsigned 8-, 16-, or 32-bit integers.\n * @see [[UintArrayBuilder]] to construct such an array.\n * @public\n */\nexport type UintArray = Uint8Array | Uint16Array | Uint32Array;\n\n/** Incrementally builds a [TypedArray](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray) of unsigned 8-, 16-, or 32-bit integers.\n * Sometimes you wish to populate a `TypedArray`, but you don't know how many elements you will need.\n * `TypedArray` requires you to specify the size upon construction, and does not permit you to change the size later.\n *\n * `TypedArrayBuilder` manages a `TypedArray`, permitting you to [[push]] and [[append]] elements to it. It exposes two \"size\" properties\":\n * - [[capacity]], the number of elements it has currently allocated space for - i.e., the length of the underlying TypedArray; and\n * - [[length]], the number of elements that have so far been added to it, which is never bigger than [[capacity]].\n * When [[capacity]] is exceeded, a new, bigger TypedArray is allocated and the contents of the previous array are copied over to it.\n *\n * Once you've finished adding elements, you can obtain the finished `TypedArray` via [[toTypedArray]].\n * @see [[Uint8ArrayBuilder]], [[Uint16ArrayBuilder]], and [[Uint32ArrayBuilder]] to build specific types of arrays.\n * @see [[UintArrayBuilder]] when you don't know the maximum number of bytes required for each element in the array.\n * @public\n */\nexport class TypedArrayBuilder<T extends UintArray> {\n /** The constructor for the specific type of array being populated. */\n protected _constructor: Constructor<T>;\n /** The underlying typed array, to be reallocated and copied when its capacity is exceeded. */\n protected _data: T;\n /** The number of elements added to the array so far. */\n protected _length: number;\n /** Multiplier applied to required capacity by [[ensureCapacity]]. */\n public readonly growthFactor: number;\n\n /** Constructs a new builder from the specified options, with a [[length]] of zero. */\n protected constructor(constructor: Constructor<T>, options?: TypedArrayBuilderOptions) {\n this._constructor = constructor;\n this._data = new constructor(options?.initialCapacity ?? 0);\n this.growthFactor = Math.max(1.0, options?.growthFactor ?? 1.5);\n this._length = 0;\n }\n\n /** The number of elements currently in the array. */\n public get length(): number {\n return this._length;\n }\n\n /** The number of elements that can fit into the memory currently allocated for the array. */\n public get capacity(): number {\n return this._data.length;\n }\n\n /** Like [TypedArray.at](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/at),\n * returns the element at the specified index, with negative integers counting back from the end of the array.\n * @note It is your responsibility to ensure the index falls within the bounds of the array.\n */\n public at(index: number): number {\n if (index < 0)\n index = this.length - index;\n\n const value = this._data[index];\n assert(value !== undefined, \"index out of bounds\");\n return value;\n }\n\n /** Ensure that [[capacity]] is at least equal to `newCapacity`.\n * This is used internally by methods like [[push]] and [[append]] to ensure the array has room for the element(s) to be added.\n * It can also be useful when you know you intend to add some number of additional elements, to minimize reallocations.\n *\n * If `newCapacity` is not greater than the current [[capacity]], this function does nothing.\n * Otherwise, it allocates a new `TypedArray` with room for `newCapacity * growthFactor` elements, and copies the contents of the previous `TypedArray` into it.\n * [[length]] remains unchanged; [[capacity]] reflects the size of the new TypeArray.\n */\n public ensureCapacity(newCapacity: number): number {\n if (this.capacity >= newCapacity)\n return this.capacity;\n\n assert(this.growthFactor >= 1.0);\n newCapacity = Math.ceil(newCapacity * this.growthFactor);\n const prevData = this._data;\n this._data = new this._constructor(newCapacity);\n this._data.set(prevData, 0);\n\n assert(this.capacity === newCapacity);\n return this.capacity;\n }\n\n /** Append the specified value, resizing if necessary. */\n public push(value: number): void {\n this.ensureCapacity(this.length + 1);\n this._data[this.length] = value;\n ++this._length;\n }\n\n /** Append an array of values, resizing (at most once) if necessary. */\n public append(values: T): void {\n const newLength = this.length + values.length;\n this.ensureCapacity(newLength);\n this._data.set(values, this.length);\n this._length = newLength;\n }\n\n /** Obtain the finished array.\n * @param includeUnusedCapacity If true, the length of the returned array will be equal to [[capacity]], with extra bytes initialized to zero; otherwise, the\n * returned array's length will be equal to [[length]].\n */\n public toTypedArray(includeUnusedCapacity = false): T {\n if (includeUnusedCapacity)\n return this._data;\n\n const subarray = this._data.subarray(0, this.length);\n assert(subarray instanceof this._constructor);\n assert(subarray.buffer === this._data.buffer);\n return subarray;\n }\n}\n\n/** A [[TypedArrayBuilder]] for producing a [Uint8Array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array).\n * @public\n */\nexport class Uint8ArrayBuilder extends TypedArrayBuilder<Uint8Array> {\n /** See [[TypedArrayBuilder]] constructor. */\n public constructor(options?: TypedArrayBuilderOptions) {\n super(Uint8Array, options);\n }\n}\n\n/** A [[TypedArrayBuilder]] for producing a [Uint16Array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint16Array).\n * @public\n */\nexport class Uint16ArrayBuilder extends TypedArrayBuilder<Uint16Array> {\n /** See [[TypedArrayBuilder]] constructor. */\n public constructor(options?: TypedArrayBuilderOptions) {\n super(Uint16Array, options);\n }\n}\n\n/** A [[TypedArrayBuilder]] for producing a [Uint32Array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint32Array).\n * @public\n */\nexport class Uint32ArrayBuilder extends TypedArrayBuilder<Uint32Array> {\n /** See [[TypedArrayBuilder]] constructor. */\n public constructor(options?: TypedArrayBuilderOptions) {\n super(Uint32Array, options);\n }\n\n /** Obtain a view of the finished array as an array of bytes. */\n public toUint8Array(includeUnusedCapacity = false): Uint8Array {\n if (includeUnusedCapacity)\n return new Uint8Array(this._data.buffer);\n\n return new Uint8Array(this._data.buffer, 0, this.length * 4);\n }\n}\n\n/** Options used to construct a [[UintArrayBuilder]].\n * @public\n */\nexport interface UintArrayBuilderOptions extends TypedArrayBuilderOptions {\n /** The type of the initial empty `TypedArray` created by the builder. For example, if you know that you will be adding values larger than\n * 255 to the array, specify `{ initialType: Uint16Array }` to avoid replacing the otherwise default `Uint8Array` when the first such value is added.\n * Default: `Uint8Array`.\n */\n initialType?: typeof Uint8Array | typeof Uint16Array | typeof Uint32Array;\n}\n\n/** A [[TypedArrayBuilder]] that can populate a [[UintArray]] with the minimum\n * [bytes per element](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/BYTES_PER_ELEMENT) required.\n *\n * By default, the underlying array is a `Uint8Array`, though this can be configured via [[UintArrayBuilderOptions.initialType]].\n * As values are added to the array, if the bytes per element supported by the underlying array is too small to hold one of the new values, the array is\n * reallocated to a type large enough to hold all of the new values. For example, the following produces a `Uint8Array` because all values are less than 256:\n *\n * ```ts\n * const builder = new UintArrayBuilder();\n * builder.append([1, 2, 254, 255]);\n * const array = builder.toTypedArray();\n * assert(array instanceof Uint8Array);\n * ```\n *\n * However, the following produces a `Uint16Array` because one of the values is larger than 255 but none are larger than 65,535:\n *\n * ```ts\n * const builder = new UintArrayBuilder();\n * builder.append([1, 255, 257, 65535]);\n * const array = builder.toTypedArray();\n * assert(array instanceof Uint16Array);\n * ```\n *\n * @see [[Uint8ArrayBuilder]], [[Uint16ArrayBuilder]], or [[Uint32ArrayBuilder]] if you know the number of bytes you want to allocate for each element in the array.\n * @public\n */\nexport class UintArrayBuilder extends TypedArrayBuilder<UintArray> {\n public constructor(options?: UintArrayBuilderOptions) {\n super(options?.initialType ?? Uint8Array, options);\n }\n\n /** The number of bytes (1, 2, or 4) currently allocated per element by the underlying array.\n * This may change as larger values are added to the array.\n */\n public get bytesPerElement(): number {\n return this._data.BYTES_PER_ELEMENT;\n }\n\n /** Ensures that the underlying array is of a type that can contain the largest value in `newValues`.\n * For example, if `_data` is a `Uint16Array` and `newValues` contains any value(s) larger than 65,535, it will be replaced with a `Uint32Array`.\n * This method is invoked by [[push]] and [[append]].\n */\n protected ensureBytesPerElement(newValues: Iterable<number>): void {\n const curBytesPerElem = this.bytesPerElement;\n assert(curBytesPerElem === 1 || curBytesPerElem === 2 || curBytesPerElem === 4);\n if (curBytesPerElem >= 4)\n return;\n\n let neededBytesPerElem = curBytesPerElem;\n for (const value of newValues) {\n if (value > 0xffff) {\n neededBytesPerElem = 4;\n break;\n } else if (value > 0xff) {\n neededBytesPerElem = 2;\n }\n }\n\n if (neededBytesPerElem <= curBytesPerElem)\n return;\n\n this._constructor = neededBytesPerElem === 1 ? Uint8Array : (neededBytesPerElem === 2 ? Uint16Array : Uint32Array);\n this._data = new this._constructor(this._data);\n }\n\n /** See [[TypedArrayBuilder.push]]. */\n public override push(value: number): void {\n this.ensureBytesPerElement([value]);\n super.push(value);\n }\n\n /** See [[TypedArrayBuilder.append]]. */\n public override append(values: UintArray): void {\n this.ensureBytesPerElement(values);\n super.append(values);\n }\n}\n"]}
@@ -18,15 +18,15 @@ const Logger_1 = require("./Logger");
18
18
  */
19
19
  class UnexpectedErrors {
20
20
  /** handler for re-throwing exceptions directly */
21
- static { this.reThrowImmediate = (e) => { throw e; }; }
21
+ static reThrowImmediate = (e) => { throw e; };
22
22
  /** handler for re-throwing exceptions from an asynchronous interval (so the current call stack is not aborted) */
23
- static { this.reThrowDeferred = (e) => setTimeout(() => { throw e; }, 0); }
23
+ static reThrowDeferred = (e) => setTimeout(() => { throw e; }, 0);
24
24
  /** handler for logging exception to console */
25
- static { this.consoleLog = (e) => console.error(e); } // eslint-disable-line no-console
25
+ static consoleLog = (e) => console.error(e); // eslint-disable-line no-console
26
26
  /** handler for logging exception with [[Logger]] */
27
- static { this.errorLog = (e) => Logger_1.Logger.logException("unhandled", e); }
28
- static { this._telemetry = []; }
29
- static { this._handler = this.errorLog; } // default to error logging
27
+ static errorLog = (e) => Logger_1.Logger.logException("unhandled", e);
28
+ static _telemetry = [];
29
+ static _handler = this.errorLog; // default to error logging
30
30
  constructor() { } // this is a singleton
31
31
  /** Add a "telemetry tracker" for unexpected errors. Useful for tracking/reporting errors without changing handler.
32
32
  * @returns a method to remove the tracker
@@ -1 +1 @@
1
- {"version":3,"file":"UnexpectedErrors.js","sourceRoot":"","sources":["../../src/UnexpectedErrors.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,qCAAkC;AAOlC;;;;;;GAMG;AACH,MAAa,gBAAgB;IAC3B,kDAAkD;aAC3B,qBAAgB,GAAG,CAAC,CAAM,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,kHAAkH;aAC3F,oBAAe,GAAG,CAAC,CAAM,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvF,+CAA+C;aACxB,eAAU,GAAG,CAAC,CAAM,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAC,iCAAiC;IACnG,oDAAoD;aAC7B,aAAQ,GAAG,CAAC,CAAM,EAAE,EAAE,CAAC,eAAM,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;aAEnE,eAAU,GAAwB,EAAE,CAAC;aACrC,aAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAC,2BAA2B;IACpE,gBAAwB,CAAC,CAAC,sBAAsB;IAEhD;;OAEG;IACI,MAAM,CAAC,YAAY,CAAC,OAA0B;QACnD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9B,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,MAAM,CAAC,KAAU,EAAE,eAAe,GAAG,IAAI;QACrD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACrB,IAAI,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;gBACpC,IAAI,CAAC;oBACH,SAAS,CAAC,KAAK,CAAC,CAAC;gBACnB,CAAC;gBAAC,MAAM,CAAC;oBACP,wCAAwC;gBAC1C,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,UAAU,CAAC,OAA0B;QACjD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,OAAO,UAAU,CAAC;IACpB,CAAC;;AAhDH,4CAiDC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Errors\n */\n\nimport { Logger } from \"./Logger\";\n\n/** A function to be notified when an unexpected error happens\n * @public\n */\nexport type OnUnexpectedError = (error: any) => void;\n\n/**\n * Utility for handling/reporting unexpected runtime errors. This class establishes a global handler for\n * unexpected errors, and programmers should use its `handle` method when they occur. Generally, unexpected\n * errors should not cause program termination, and should instead be logged and swallowed. However, for\n * development/debugging, it can be helpful to re-throw exceptions so they are not missed.\n * @public\n */\nexport class UnexpectedErrors {\n /** handler for re-throwing exceptions directly */\n public static readonly reThrowImmediate = (e: any) => { throw e; };\n /** handler for re-throwing exceptions from an asynchronous interval (so the current call stack is not aborted) */\n public static readonly reThrowDeferred = (e: any) => setTimeout(() => { throw e; }, 0);\n /** handler for logging exception to console */\n public static readonly consoleLog = (e: any) => console.error(e); // eslint-disable-line no-console\n /** handler for logging exception with [[Logger]] */\n public static readonly errorLog = (e: any) => Logger.logException(\"unhandled\", e);\n\n private static _telemetry: OnUnexpectedError[] = [];\n private static _handler = this.errorLog; // default to error logging\n private constructor() { } // this is a singleton\n\n /** Add a \"telemetry tracker\" for unexpected errors. Useful for tracking/reporting errors without changing handler.\n * @returns a method to remove the tracker\n */\n public static addTelemetry(tracker: OnUnexpectedError): () => void {\n this._telemetry.push(tracker);\n return () => this._telemetry.splice(this._telemetry.indexOf(tracker), 1);\n }\n\n /** call this method when an unexpected error happens so the global handler can process it.\n * @param error the unexpected error\n * @param notifyTelemetry if false, don't notify telemetry trackers. Use this for exceptions from third-party code, for example.\n */\n public static handle(error: any, notifyTelemetry = true): void {\n this._handler(error);\n if (notifyTelemetry) {\n this._telemetry.forEach((telemetry) => {\n try {\n telemetry(error);\n } catch {\n // ignore errors from telemetry trackers\n }\n });\n }\n }\n\n /** establish a new global *unexpected error* handler.\n * @param handler the new global handler. You may provide your own function or use one of the static members of this class.\n * The default is [[errorLog]].\n * @returns the previous handler. Useful to temporarily change the handler.\n */\n public static setHandler(handler: OnUnexpectedError): OnUnexpectedError {\n const oldHandler = this._handler;\n this._handler = handler;\n return oldHandler;\n }\n}\n"]}
1
+ {"version":3,"file":"UnexpectedErrors.js","sourceRoot":"","sources":["../../src/UnexpectedErrors.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,qCAAkC;AAOlC;;;;;;GAMG;AACH,MAAa,gBAAgB;IAC3B,kDAAkD;IAC3C,MAAM,CAAU,gBAAgB,GAAG,CAAC,CAAM,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,kHAAkH;IAC3G,MAAM,CAAU,eAAe,GAAG,CAAC,CAAM,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvF,+CAA+C;IACxC,MAAM,CAAU,UAAU,GAAG,CAAC,CAAM,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,iCAAiC;IACnG,oDAAoD;IAC7C,MAAM,CAAU,QAAQ,GAAG,CAAC,CAAM,EAAE,EAAE,CAAC,eAAM,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAE1E,MAAM,CAAC,UAAU,GAAwB,EAAE,CAAC;IAC5C,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,2BAA2B;IACpE,gBAAwB,CAAC,CAAC,sBAAsB;IAEhD;;OAEG;IACI,MAAM,CAAC,YAAY,CAAC,OAA0B;QACnD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9B,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,MAAM,CAAC,KAAU,EAAE,eAAe,GAAG,IAAI;QACrD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACrB,IAAI,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;gBACpC,IAAI,CAAC;oBACH,SAAS,CAAC,KAAK,CAAC,CAAC;gBACnB,CAAC;gBAAC,MAAM,CAAC;oBACP,wCAAwC;gBAC1C,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,UAAU,CAAC,OAA0B;QACjD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,OAAO,UAAU,CAAC;IACpB,CAAC;;AAhDH,4CAiDC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Errors\n */\n\nimport { Logger } from \"./Logger\";\n\n/** A function to be notified when an unexpected error happens\n * @public\n */\nexport type OnUnexpectedError = (error: any) => void;\n\n/**\n * Utility for handling/reporting unexpected runtime errors. This class establishes a global handler for\n * unexpected errors, and programmers should use its `handle` method when they occur. Generally, unexpected\n * errors should not cause program termination, and should instead be logged and swallowed. However, for\n * development/debugging, it can be helpful to re-throw exceptions so they are not missed.\n * @public\n */\nexport class UnexpectedErrors {\n /** handler for re-throwing exceptions directly */\n public static readonly reThrowImmediate = (e: any) => { throw e; };\n /** handler for re-throwing exceptions from an asynchronous interval (so the current call stack is not aborted) */\n public static readonly reThrowDeferred = (e: any) => setTimeout(() => { throw e; }, 0);\n /** handler for logging exception to console */\n public static readonly consoleLog = (e: any) => console.error(e); // eslint-disable-line no-console\n /** handler for logging exception with [[Logger]] */\n public static readonly errorLog = (e: any) => Logger.logException(\"unhandled\", e);\n\n private static _telemetry: OnUnexpectedError[] = [];\n private static _handler = this.errorLog; // default to error logging\n private constructor() { } // this is a singleton\n\n /** Add a \"telemetry tracker\" for unexpected errors. Useful for tracking/reporting errors without changing handler.\n * @returns a method to remove the tracker\n */\n public static addTelemetry(tracker: OnUnexpectedError): () => void {\n this._telemetry.push(tracker);\n return () => this._telemetry.splice(this._telemetry.indexOf(tracker), 1);\n }\n\n /** call this method when an unexpected error happens so the global handler can process it.\n * @param error the unexpected error\n * @param notifyTelemetry if false, don't notify telemetry trackers. Use this for exceptions from third-party code, for example.\n */\n public static handle(error: any, notifyTelemetry = true): void {\n this._handler(error);\n if (notifyTelemetry) {\n this._telemetry.forEach((telemetry) => {\n try {\n telemetry(error);\n } catch {\n // ignore errors from telemetry trackers\n }\n });\n }\n }\n\n /** establish a new global *unexpected error* handler.\n * @param handler the new global handler. You may provide your own function or use one of the static members of this class.\n * The default is [[errorLog]].\n * @returns the previous handler. Useful to temporarily change the handler.\n */\n public static setHandler(handler: OnUnexpectedError): OnUnexpectedError {\n const oldHandler = this._handler;\n this._handler = handler;\n return oldHandler;\n }\n}\n"]}
@@ -20,11 +20,13 @@ const defaultYieldManagerOptions = {
20
20
  * @public
21
21
  */
22
22
  class YieldManager {
23
+ /** Options controlling the yield behavior. */
24
+ options;
25
+ _counter = 0;
23
26
  /** Constructor.
24
27
  * @param options Options customizing the yield behavior. Omitted properties are assigned their default values.
25
28
  */
26
29
  constructor(options = {}) {
27
- this._counter = 0;
28
30
  this.options = { ...defaultYieldManagerOptions, ...options };
29
31
  }
30
32
  /** Increment the iteration counter, yielding control and resetting the counter if [[options.iterationsBeforeYield]] is exceeded. */
@@ -1 +1 @@
1
- {"version":3,"file":"YieldManager.js","sourceRoot":"","sources":["../../src/YieldManager.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAYH,MAAM,0BAA0B,GAAkC;IAChE,qBAAqB,EAAE,IAAI;CAC5B,CAAC;AAEF;;;;;;;GAOG;AACH,MAAa,YAAY;IAKvB;;OAEG;IACH,YAAmB,UAA+B,EAAE;QAL5C,aAAQ,GAAG,CAAC,CAAC;QAMnB,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,0BAA0B,EAAE,GAAG,OAAO,EAAE,CAAC;IAC/D,CAAC;IAED,oIAAoI;IAC7H,KAAK,CAAC,UAAU;QACrB,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC;QACzE,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,WAAW;QACvB,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;CACF;AAvBD,oCAuBC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Utils\n */\n\n/** Options supplied to a [[YieldManager]].\n * @public\n */\nexport interface YieldManagerOptions {\n /** The number of times [[YieldManager.allowYield]] must be called to trigger an actual yield.\n * Default: 1000.\n */\n iterationsBeforeYield?: number;\n}\n\nconst defaultYieldManagerOptions: Required<YieldManagerOptions> = {\n iterationsBeforeYield: 1000,\n};\n\n/** Provides a mechanism by which a loop can be made to periodically yield control back to the browser/node environment.\n * This can alleviate [performance and memory consumption issues](https://github.com/nodejs/node-addon-api/issues/1140).\n * It maintains a count of the number of iterations that have occurred since the last yield.\n * The constructor specifies how many iterations of the loop are permitted before yielding.\n * The loop should `await` [[allowYield]] on each iteration.\n * [[allowYield]] will yield (and reset the iteration counter) if the counter exceeds the specified maximum.\n * @public\n */\nexport class YieldManager {\n /** Options controlling the yield behavior. */\n public readonly options: Readonly<Required<YieldManagerOptions>>;\n private _counter = 0;\n\n /** Constructor.\n * @param options Options customizing the yield behavior. Omitted properties are assigned their default values.\n */\n public constructor(options: YieldManagerOptions = {}) {\n this.options = { ...defaultYieldManagerOptions, ...options };\n }\n\n /** Increment the iteration counter, yielding control and resetting the counter if [[options.iterationsBeforeYield]] is exceeded. */\n public async allowYield() {\n this._counter = (this._counter + 1) % this.options.iterationsBeforeYield;\n if (this._counter === 0) {\n await this.actualYield();\n }\n }\n\n private async actualYield() {\n await new Promise((r) => setTimeout(r, 0));\n }\n}\n"]}
1
+ {"version":3,"file":"YieldManager.js","sourceRoot":"","sources":["../../src/YieldManager.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAYH,MAAM,0BAA0B,GAAkC;IAChE,qBAAqB,EAAE,IAAI;CAC5B,CAAC;AAEF;;;;;;;GAOG;AACH,MAAa,YAAY;IACvB,8CAA8C;IAC9B,OAAO,CAA0C;IACzD,QAAQ,GAAG,CAAC,CAAC;IAErB;;OAEG;IACH,YAAmB,UAA+B,EAAE;QAClD,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,0BAA0B,EAAE,GAAG,OAAO,EAAE,CAAC;IAC/D,CAAC;IAED,oIAAoI;IAC7H,KAAK,CAAC,UAAU;QACrB,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC;QACzE,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,WAAW;QACvB,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;CACF;AAvBD,oCAuBC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Utils\n */\n\n/** Options supplied to a [[YieldManager]].\n * @public\n */\nexport interface YieldManagerOptions {\n /** The number of times [[YieldManager.allowYield]] must be called to trigger an actual yield.\n * Default: 1000.\n */\n iterationsBeforeYield?: number;\n}\n\nconst defaultYieldManagerOptions: Required<YieldManagerOptions> = {\n iterationsBeforeYield: 1000,\n};\n\n/** Provides a mechanism by which a loop can be made to periodically yield control back to the browser/node environment.\n * This can alleviate [performance and memory consumption issues](https://github.com/nodejs/node-addon-api/issues/1140).\n * It maintains a count of the number of iterations that have occurred since the last yield.\n * The constructor specifies how many iterations of the loop are permitted before yielding.\n * The loop should `await` [[allowYield]] on each iteration.\n * [[allowYield]] will yield (and reset the iteration counter) if the counter exceeds the specified maximum.\n * @public\n */\nexport class YieldManager {\n /** Options controlling the yield behavior. */\n public readonly options: Readonly<Required<YieldManagerOptions>>;\n private _counter = 0;\n\n /** Constructor.\n * @param options Options customizing the yield behavior. Omitted properties are assigned their default values.\n */\n public constructor(options: YieldManagerOptions = {}) {\n this.options = { ...defaultYieldManagerOptions, ...options };\n }\n\n /** Increment the iteration counter, yielding control and resetting the counter if [[options.iterationsBeforeYield]] is exceeded. */\n public async allowYield() {\n this._counter = (this._counter + 1) % this.options.iterationsBeforeYield;\n if (this._counter === 0) {\n await this.actualYield();\n }\n }\n\n private async actualYield() {\n await new Promise((r) => setTimeout(r, 0));\n }\n}\n"]}
@@ -13,10 +13,8 @@ import { UnexpectedErrors } from "./UnexpectedErrors";
13
13
  * @public
14
14
  */
15
15
  export class BeEvent {
16
- constructor() {
17
- this._listeners = [];
18
- this._insideRaiseEvent = false;
19
- }
16
+ _listeners = [];
17
+ _insideRaiseEvent = false;
20
18
  /** The number of listeners currently subscribed to the event. */
21
19
  get numberOfListeners() { return this._listeners.length; }
22
20
  /**
@@ -125,9 +123,7 @@ export class BeUiEvent extends BeEvent {
125
123
  * @public
126
124
  */
127
125
  export class BeEventList {
128
- constructor() {
129
- this._events = {};
130
- }
126
+ _events = {};
131
127
  /**
132
128
  * Gets the event associated with the specified name, creating the event if it does not already exist.
133
129
  * @param name The name of the event.
@@ -1 +1 @@
1
- {"version":3,"file":"BeEvent.js","sourceRoot":"","sources":["../../src/BeEvent.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Events\n */\n\nimport { UnexpectedErrors } from \"./UnexpectedErrors\";\n\n/** A function invoked when a BeEvent is raised.\n * @public\n */\nexport type Listener = (...arg: any[]) => void;\n\ninterface EventContext {\n listener: Listener | undefined;\n scope: any;\n once: boolean;\n}\n\n/**\n * Manages a set of *listeners* for a particular event and notifies them when the event is raised.\n * This class is usually instantiated inside of a container class and\n * exposed as a property for others to *subscribe* via [[BeEvent.addListener]].\n * @public\n */\nexport class BeEvent<T extends Listener> {\n private _listeners: EventContext[] = [];\n private _insideRaiseEvent: boolean = false;\n\n /** The number of listeners currently subscribed to the event. */\n public get numberOfListeners() { return this._listeners.length; }\n\n /**\n * Registers a Listener to be executed whenever this event is raised.\n * @param listener The function to be executed when the event is raised.\n * @param scope An optional object scope to serve as the 'this' pointer when listener is invoked.\n * @returns A function that will remove this event listener.\n * @see [[BeEvent.raiseEvent]], [[BeEvent.removeListener]]\n */\n public addListener(listener: T, scope?: any): () => void {\n this._listeners.push({ listener, scope, once: false });\n return () => this.removeListener(listener, scope);\n }\n\n /**\n * Registers a callback function to be executed *only once* when the event is raised.\n * @param listener The function to be executed once when the event is raised.\n * @param scope An optional object scope to serve as the `this` pointer in which the listener function will execute.\n * @returns A function that will remove this event listener.\n * @see [[BeEvent.raiseEvent]], [[BeEvent.removeListener]]\n */\n public addOnce(listener: T, scope?: any): () => void {\n this._listeners.push({ listener, scope, once: true });\n return () => this.removeListener(listener, scope);\n }\n\n /**\n * Un-register a previously registered listener.\n * @param listener The listener to be unregistered.\n * @param scope The scope that was originally passed to addListener.\n * @returns 'true' if the listener was removed; 'false' if the listener and scope are not registered with the event.\n * @see [[BeEvent.raiseEvent]], [[BeEvent.addListener]]\n */\n public removeListener(listener: T, scope?: any): boolean {\n const listeners = this._listeners;\n\n for (let i = 0; i < listeners.length; ++i) {\n const context = listeners[i];\n if (context.listener === listener && context.scope === scope) {\n if (this._insideRaiseEvent) {\n context.listener = undefined;\n } else {\n listeners.splice(i, 1);\n }\n return true;\n }\n }\n return false;\n }\n\n /**\n * Raises the event by calling each registered listener with the supplied arguments.\n * @param args This method takes any number of parameters and passes them through to the listeners.\n * @see [[BeEvent.removeListener]], [[BeEvent.addListener]]\n */\n public raiseEvent(...args: Parameters<T>) {\n this._insideRaiseEvent = true;\n\n const listeners = this._listeners;\n const length = listeners.length;\n let dropped = false;\n\n for (let i = 0; i < length; ++i) {\n const context = listeners[i];\n if (!context.listener) {\n dropped = true;\n } else {\n try {\n context.listener.apply(context.scope, args);\n } catch (e) {\n UnexpectedErrors.handle(e);\n }\n if (context.once) {\n context.listener = undefined;\n dropped = true;\n }\n }\n }\n\n // if we had dropped listeners, remove them now\n if (dropped)\n this._listeners = this._listeners.filter((ctx) => ctx.listener !== undefined);\n\n this._insideRaiseEvent = false;\n }\n\n /** Determine whether this BeEvent has a specified listener registered.\n * @param listener The listener to check.\n * @param scope optional scope argument to match call to addListener\n */\n public has(listener: T, scope?: any): boolean {\n for (const ctx of this._listeners) {\n if (ctx.listener === listener && ctx.scope === scope) {\n return true;\n }\n }\n return false;\n }\n\n /** Clear all Listeners from this BeEvent. */\n public clear(): void { this._listeners.length = 0; }\n}\n\n/** Specialization of BeEvent for events that take a single strongly typed argument, primarily used for UI events.\n * @public\n */\nexport class BeUiEvent<TEventArgs> extends BeEvent<(args: TEventArgs) => void> {\n /** Raises event with single strongly typed argument. */\n public emit(args: TEventArgs): void { this.raiseEvent(args); }\n}\n\n/**\n * A list of BeEvent objects, accessible by an event name.\n * This class may be used instead of explicitly declaring each BeEvent as a member of a containing class.\n * @public\n */\nexport class BeEventList<T extends Listener> {\n private _events: { [name: string]: BeEvent<T> | undefined } = {};\n\n /**\n * Gets the event associated with the specified name, creating the event if it does not already exist.\n * @param name The name of the event.\n */\n public get(name: string): BeEvent<T> {\n let event = this._events[name];\n if (event)\n return event;\n\n event = new BeEvent();\n this._events[name] = event;\n return event;\n }\n\n /**\n * Removes the event associated with a name.\n * @param name The name of the event.\n */\n public remove(name: string): void {\n this._events[name] = undefined;\n }\n}\n\n/**\n * Retrieves the type of the callback function for an event type like [[BeEvent]].\n * For example:\n * ```ts\n * const event = new BeEvent<(x: number, y: string) => void>();\n * const callback: ListenerType<typeof event> = (x, y) => {\n * console.log(`${x}, ${y}`);\n * };\n * ```\n *\n * @public\n */\nexport type ListenerType<TEvent extends {\n addListener(listener: Listener): () => void;\n}> =\n TEvent extends {\n addListener(listener: infer TListener): () => void;\n } ? TListener : never;\n"]}
1
+ {"version":3,"file":"BeEvent.js","sourceRoot":"","sources":["../../src/BeEvent.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Events\n */\n\nimport { UnexpectedErrors } from \"./UnexpectedErrors\";\n\n/** A function invoked when a BeEvent is raised.\n * @public\n */\nexport type Listener = (...arg: any[]) => void;\n\ninterface EventContext {\n listener: Listener | undefined;\n scope: any;\n once: boolean;\n}\n\n/**\n * Manages a set of *listeners* for a particular event and notifies them when the event is raised.\n * This class is usually instantiated inside of a container class and\n * exposed as a property for others to *subscribe* via [[BeEvent.addListener]].\n * @public\n */\nexport class BeEvent<T extends Listener> {\n private _listeners: EventContext[] = [];\n private _insideRaiseEvent: boolean = false;\n\n /** The number of listeners currently subscribed to the event. */\n public get numberOfListeners() { return this._listeners.length; }\n\n /**\n * Registers a Listener to be executed whenever this event is raised.\n * @param listener The function to be executed when the event is raised.\n * @param scope An optional object scope to serve as the 'this' pointer when listener is invoked.\n * @returns A function that will remove this event listener.\n * @see [[BeEvent.raiseEvent]], [[BeEvent.removeListener]]\n */\n public addListener(listener: T, scope?: any): () => void {\n this._listeners.push({ listener, scope, once: false });\n return () => this.removeListener(listener, scope);\n }\n\n /**\n * Registers a callback function to be executed *only once* when the event is raised.\n * @param listener The function to be executed once when the event is raised.\n * @param scope An optional object scope to serve as the `this` pointer in which the listener function will execute.\n * @returns A function that will remove this event listener.\n * @see [[BeEvent.raiseEvent]], [[BeEvent.removeListener]]\n */\n public addOnce(listener: T, scope?: any): () => void {\n this._listeners.push({ listener, scope, once: true });\n return () => this.removeListener(listener, scope);\n }\n\n /**\n * Un-register a previously registered listener.\n * @param listener The listener to be unregistered.\n * @param scope The scope that was originally passed to addListener.\n * @returns 'true' if the listener was removed; 'false' if the listener and scope are not registered with the event.\n * @see [[BeEvent.raiseEvent]], [[BeEvent.addListener]]\n */\n public removeListener(listener: T, scope?: any): boolean {\n const listeners = this._listeners;\n\n for (let i = 0; i < listeners.length; ++i) {\n const context = listeners[i];\n if (context.listener === listener && context.scope === scope) {\n if (this._insideRaiseEvent) {\n context.listener = undefined;\n } else {\n listeners.splice(i, 1);\n }\n return true;\n }\n }\n return false;\n }\n\n /**\n * Raises the event by calling each registered listener with the supplied arguments.\n * @param args This method takes any number of parameters and passes them through to the listeners.\n * @see [[BeEvent.removeListener]], [[BeEvent.addListener]]\n */\n public raiseEvent(...args: Parameters<T>) {\n this._insideRaiseEvent = true;\n\n const listeners = this._listeners;\n const length = listeners.length;\n let dropped = false;\n\n for (let i = 0; i < length; ++i) {\n const context = listeners[i];\n if (!context.listener) {\n dropped = true;\n } else {\n try {\n context.listener.apply(context.scope, args);\n } catch (e) {\n UnexpectedErrors.handle(e);\n }\n if (context.once) {\n context.listener = undefined;\n dropped = true;\n }\n }\n }\n\n // if we had dropped listeners, remove them now\n if (dropped)\n this._listeners = this._listeners.filter((ctx) => ctx.listener !== undefined);\n\n this._insideRaiseEvent = false;\n }\n\n /** Determine whether this BeEvent has a specified listener registered.\n * @param listener The listener to check.\n * @param scope optional scope argument to match call to addListener\n */\n public has(listener: T, scope?: any): boolean {\n for (const ctx of this._listeners) {\n if (ctx.listener === listener && ctx.scope === scope) {\n return true;\n }\n }\n return false;\n }\n\n /** Clear all Listeners from this BeEvent. */\n public clear(): void { this._listeners.length = 0; }\n}\n\n/** Specialization of BeEvent for events that take a single strongly typed argument, primarily used for UI events.\n * @public\n */\nexport class BeUiEvent<TEventArgs> extends BeEvent<(args: TEventArgs) => void> {\n /** Raises event with single strongly typed argument. */\n public emit(args: TEventArgs): void { this.raiseEvent(args); }\n}\n\n/**\n * A list of BeEvent objects, accessible by an event name.\n * This class may be used instead of explicitly declaring each BeEvent as a member of a containing class.\n * @public\n */\nexport class BeEventList<T extends Listener> {\n private _events: { [name: string]: BeEvent<T> | undefined } = {};\n\n /**\n * Gets the event associated with the specified name, creating the event if it does not already exist.\n * @param name The name of the event.\n */\n public get(name: string): BeEvent<T> {\n let event = this._events[name];\n if (event)\n return event;\n\n event = new BeEvent();\n this._events[name] = event;\n return event;\n }\n\n /**\n * Removes the event associated with a name.\n * @param name The name of the event.\n */\n public remove(name: string): void {\n this._events[name] = undefined;\n }\n}\n\n/**\n * Retrieves the type of the callback function for an event type like [[BeEvent]].\n * For example:\n * ```ts\n * const event = new BeEvent<(x: number, y: string) => void>();\n * const callback: ListenerType<typeof event> = (x, y) => {\n * console.log(`${x}, ${y}`);\n * };\n * ```\n *\n * @public\n */\nexport type ListenerType<TEvent extends {\n addListener(listener: Listener): () => void;\n}> =\n TEvent extends {\n addListener(listener: infer TListener): () => void;\n } ? TListener : never;\n"]}
@@ -300,6 +300,8 @@ function isObject(obj) {
300
300
  * @public
301
301
  */
302
302
  export class BentleyError extends Error {
303
+ errorNumber;
304
+ _metaData;
303
305
  /**
304
306
  * @param errorNumber The a number that identifies of the problem.
305
307
  * @param message message that describes the problem (should not be localized).
@@ -1 +1 @@
1
- {"version":3,"file":"BentleyError.js","sourceRoot":"","sources":["../../src/BentleyError.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Errors\n */\n\nimport { DbResult } from \"./BeSQLite\";\nimport { RepositoryStatus } from \"./internal/RepositoryStatus\";\n\n/** Standard status code.\n * This status code should be rarely used.\n * Prefer to throw an exception to indicate an error, rather than returning a special status code.\n * If a status code is to be returned, prefer to return a more specific error status type such as IModelStatus or DbResult.\n * @public\n */\nexport enum BentleyStatus {\n SUCCESS = 0x0000,\n ERROR = 0x8000,\n}\n\n/** Status codes that are used in conjunction with [[BentleyError]].\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.\n * @public\n */\nexport enum IModelStatus {\n IMODEL_ERROR_BASE = 0x10000,\n Success = 0,\n AlreadyLoaded = IMODEL_ERROR_BASE + 1,\n AlreadyOpen = IMODEL_ERROR_BASE + 2,\n BadArg = IMODEL_ERROR_BASE + 3,\n BadElement = IMODEL_ERROR_BASE + 4,\n BadModel = IMODEL_ERROR_BASE + 5,\n BadRequest = IMODEL_ERROR_BASE + 6,\n BadSchema = IMODEL_ERROR_BASE + 7,\n CannotUndo = IMODEL_ERROR_BASE + 8,\n CodeNotReserved = IMODEL_ERROR_BASE + 9,\n DeletionProhibited = IMODEL_ERROR_BASE + 10,\n DuplicateCode = IMODEL_ERROR_BASE + 11,\n DuplicateName = IMODEL_ERROR_BASE + 12,\n ElementBlockedChange = IMODEL_ERROR_BASE + 13,\n FileAlreadyExists = IMODEL_ERROR_BASE + 14,\n FileNotFound = IMODEL_ERROR_BASE + 15,\n FileNotLoaded = IMODEL_ERROR_BASE + 16,\n ForeignKeyConstraint = IMODEL_ERROR_BASE + 17,\n IdExists = IMODEL_ERROR_BASE + 18,\n InDynamicTransaction = IMODEL_ERROR_BASE + 19,\n InvalidCategory = IMODEL_ERROR_BASE + 20,\n InvalidCode = IMODEL_ERROR_BASE + 21,\n InvalidCodeSpec = IMODEL_ERROR_BASE + 22,\n InvalidId = IMODEL_ERROR_BASE + 23,\n InvalidName = IMODEL_ERROR_BASE + 24,\n InvalidParent = IMODEL_ERROR_BASE + 25,\n InvalidProfileVersion = IMODEL_ERROR_BASE + 26,\n IsCreatingChangeSet = IMODEL_ERROR_BASE + 27,\n LockNotHeld = IMODEL_ERROR_BASE + 28,\n Mismatch2d3d = IMODEL_ERROR_BASE + 29,\n MismatchGcs = IMODEL_ERROR_BASE + 30,\n MissingDomain = IMODEL_ERROR_BASE + 31,\n MissingHandler = IMODEL_ERROR_BASE + 32,\n MissingId = IMODEL_ERROR_BASE + 33,\n NoGeometry = IMODEL_ERROR_BASE + 34,\n NoMultiTxnOperation = IMODEL_ERROR_BASE + 35,\n NotEnabled = IMODEL_ERROR_BASE + 37,\n NotFound = IMODEL_ERROR_BASE + 38,\n NotOpen = IMODEL_ERROR_BASE + 39,\n NotOpenForWrite = IMODEL_ERROR_BASE + 40,\n NotSameUnitBase = IMODEL_ERROR_BASE + 41,\n NothingToRedo = IMODEL_ERROR_BASE + 42,\n NothingToUndo = IMODEL_ERROR_BASE + 43,\n ParentBlockedChange = IMODEL_ERROR_BASE + 44,\n ReadError = IMODEL_ERROR_BASE + 45,\n ReadOnly = IMODEL_ERROR_BASE + 46,\n ReadOnlyDomain = IMODEL_ERROR_BASE + 47,\n RepositoryManagerError = IMODEL_ERROR_BASE + 48,\n SQLiteError = IMODEL_ERROR_BASE + 49,\n TransactionActive = IMODEL_ERROR_BASE + 50,\n UnitsMissing = IMODEL_ERROR_BASE + 51,\n UnknownFormat = IMODEL_ERROR_BASE + 52,\n UpgradeFailed = IMODEL_ERROR_BASE + 53,\n ValidationFailed = IMODEL_ERROR_BASE + 54,\n VersionTooNew = IMODEL_ERROR_BASE + 55,\n VersionTooOld = IMODEL_ERROR_BASE + 56,\n ViewNotFound = IMODEL_ERROR_BASE + 57,\n WriteError = IMODEL_ERROR_BASE + 58,\n WrongClass = IMODEL_ERROR_BASE + 59,\n WrongIModel = IMODEL_ERROR_BASE + 60,\n WrongDomain = IMODEL_ERROR_BASE + 61,\n WrongElement = IMODEL_ERROR_BASE + 62,\n WrongHandler = IMODEL_ERROR_BASE + 63,\n WrongModel = IMODEL_ERROR_BASE + 64,\n ConstraintNotUnique = IMODEL_ERROR_BASE + 65,\n NoGeoLocation = IMODEL_ERROR_BASE + 66,\n ServerTimeout = IMODEL_ERROR_BASE + 67,\n NoContent = IMODEL_ERROR_BASE + 68,\n NotRegistered = IMODEL_ERROR_BASE + 69,\n FunctionNotFound = IMODEL_ERROR_BASE + 70,\n NoActiveCommand = IMODEL_ERROR_BASE + 71,\n Aborted = IMODEL_ERROR_BASE + 72,\n}\n\n/** Error statuses produced by various briefcase operations, typically encountered as the `errorNumber` of an [IModelError]($common).\n * @public\n */\nexport enum BriefcaseStatus {\n BRIEFCASE_STATUS_BASE = 0x20000,\n CannotAcquire = BRIEFCASE_STATUS_BASE,\n CannotDownload = BRIEFCASE_STATUS_BASE + 1,\n CannotUpload = BRIEFCASE_STATUS_BASE + 2,\n CannotCopy = BRIEFCASE_STATUS_BASE + 3,\n CannotDelete = BRIEFCASE_STATUS_BASE + 4,\n VersionNotFound = BRIEFCASE_STATUS_BASE + 5,\n CannotApplyChanges = BRIEFCASE_STATUS_BASE + 6,\n DownloadCancelled = BRIEFCASE_STATUS_BASE + 7,\n ContainsDeletedChangeSets = BRIEFCASE_STATUS_BASE + 8,\n}\n\n/** RpcInterface status codes\n * @beta\n */\nexport enum RpcInterfaceStatus {\n Success = 0,\n RPC_INTERFACE_ERROR_BASE = 0x21000,\n /** The RpcInterface implemented by the server is incompatible with the interface requested by the client. */\n IncompatibleVersion = RPC_INTERFACE_ERROR_BASE,\n}\n\n/** Error statuses produced by various Changeset operations, typically encountered as the `errorNumber` of an [IModelError]($common).\n * @public\n */\nexport enum ChangeSetStatus { // Note: Values must be kept in sync with ChangeSetStatus in DgnPlatform\n Success = 0,\n CHANGESET_ERROR_BASE = 0x16000,\n /** Error applying a change set when reversing or reinstating it */\n ApplyError = CHANGESET_ERROR_BASE + 1,\n /** Change tracking has not been enabled. The ChangeSet API mandates this. */\n ChangeTrackingNotEnabled = CHANGESET_ERROR_BASE + 2,\n /** Contents of the change stream are corrupted and does not match the ChangeSet */\n CorruptedChangeStream = CHANGESET_ERROR_BASE + 3,\n /** File containing the changes to the change set is not found */\n FileNotFound = CHANGESET_ERROR_BASE + 4,\n /** Error writing the contents of the change set to the backing change stream file */\n FileWriteError = CHANGESET_ERROR_BASE + 5,\n /** Cannot perform the operation since the Db has local changes */\n HasLocalChanges = CHANGESET_ERROR_BASE + 6,\n /** Cannot perform the operation since current transaction has uncommitted changes */\n HasUncommittedChanges = CHANGESET_ERROR_BASE + 7,\n /** Invalid ChangeSet Id */\n InvalidId = CHANGESET_ERROR_BASE + 8,\n /** Invalid version of the change set */\n InvalidVersion = CHANGESET_ERROR_BASE + 9,\n /** Cannot perform the operation since system is in the middle of a dynamic transaction */\n InDynamicTransaction = CHANGESET_ERROR_BASE + 10,\n /** Cannot perform operation since system is in the middle of a creating a change set */\n IsCreatingChangeSet = CHANGESET_ERROR_BASE + 11,\n /** Cannot perform operation since the system is not creating a change set */\n IsNotCreatingChangeSet = CHANGESET_ERROR_BASE + 12,\n /** Error propagating the changes after the merge */\n MergePropagationError = CHANGESET_ERROR_BASE + 13,\n /** No change sets to merge */\n NothingToMerge = CHANGESET_ERROR_BASE + 14,\n /** No transactions are available to create a change set */\n NoTransactions = CHANGESET_ERROR_BASE + 15,\n /** Parent change set of the Db does not match the parent id of the change set */\n ParentMismatch = CHANGESET_ERROR_BASE + 16,\n /** Error performing a SQLite operation on the Db */\n SQLiteError = CHANGESET_ERROR_BASE + 17,\n /** ChangeSet originated in a different Db */\n WrongDgnDb = CHANGESET_ERROR_BASE + 18,\n /** Could not open the DgnDb to merge change set */\n CouldNotOpenDgnDb = CHANGESET_ERROR_BASE + 19,\n /** Cannot merge changes in in an open DgnDb. Close the DgnDb, and process the operation when it is opened. */\n MergeSchemaChangesOnOpen = CHANGESET_ERROR_BASE + 20,\n /** Cannot reverse or reinstate schema changes. */\n ReverseOrReinstateSchemaChanges = CHANGESET_ERROR_BASE + 21,\n /** Cannot process changes schema changes in an open DgnDb. Close the DgnDb, and process the operation when it is opened. */\n ProcessSchemaChangesOnOpen = CHANGESET_ERROR_BASE + 22,\n /** Cannot merge changes into a Readonly DgnDb. */\n CannotMergeIntoReadonly = CHANGESET_ERROR_BASE + 23,\n /** Cannot merge changes into a Master DgnDb. */\n CannotMergeIntoMaster = CHANGESET_ERROR_BASE + 24,\n /** Cannot merge changes into a DgnDb that has reversed change sets. */\n CannotMergeIntoReversed = CHANGESET_ERROR_BASE + 25,\n /** ChangeSet(s) download was cancelled. */\n DownloadCancelled = CHANGESET_ERROR_BASE + 26,\n}\n\n/** Status from returned HTTP status code\n * @beta\n */\nexport enum HttpStatus {\n /** 2xx Success */\n Success = 0,\n /** 1xx Informational responses */\n Info = 0x17001,\n /** 3xx Redirection */\n Redirection = 0x17002,\n /** 4xx Client errors */\n ClientError = 0x17003,\n /** 5xx Server errors */\n ServerError = 0x17004,\n}\n\n/** Statuses produced by APIs that interact with iModelHub, typically encountered as the `errorNumber` of an [IModelError]($common).\n * @public\n */\nexport enum IModelHubStatus {\n Success = 0,\n IMODELHUBERROR_BASE = 0x19000,\n IMODELHUBERROR_REQUESTERRORBASE = 0x19100,\n Unknown = IMODELHUBERROR_BASE + 1,\n MissingRequiredProperties = IMODELHUBERROR_BASE + 2,\n InvalidPropertiesValues = IMODELHUBERROR_BASE + 3,\n UserDoesNotHavePermission = IMODELHUBERROR_BASE + 4,\n UserDoesNotHaveAccess = IMODELHUBERROR_BASE + 5,\n InvalidBriefcase = IMODELHUBERROR_BASE + 6,\n BriefcaseDoesNotExist = IMODELHUBERROR_BASE + 7,\n BriefcaseDoesNotBelongToUser = IMODELHUBERROR_BASE + 8,\n AnotherUserPushing = IMODELHUBERROR_BASE + 9,\n ChangeSetAlreadyExists = IMODELHUBERROR_BASE + 10,\n ChangeSetDoesNotExist = IMODELHUBERROR_BASE + 11,\n FileIsNotUploaded = IMODELHUBERROR_BASE + 12,\n iModelIsNotInitialized = IMODELHUBERROR_BASE + 13,\n ChangeSetPointsToBadSeed = IMODELHUBERROR_BASE + 14,\n OperationFailed = IMODELHUBERROR_BASE + 15,\n PullIsRequired = IMODELHUBERROR_BASE + 16,\n MaximumNumberOfBriefcasesPerUser = IMODELHUBERROR_BASE + 17,\n MaximumNumberOfBriefcasesPerUserPerMinute = IMODELHUBERROR_BASE + 18,\n DatabaseTemporarilyLocked = IMODELHUBERROR_BASE + 19,\n iModelIsLocked = IMODELHUBERROR_BASE + 20,\n CodesExist = IMODELHUBERROR_BASE + 21,\n LocksExist = IMODELHUBERROR_BASE + 22,\n iModelAlreadyExists = IMODELHUBERROR_BASE + 23,\n iModelDoesNotExist = IMODELHUBERROR_BASE + 24,\n FileDoesNotExist = IMODELHUBERROR_BASE + 25,\n FileAlreadyExists = IMODELHUBERROR_BASE + 26,\n LockDoesNotExist = IMODELHUBERROR_BASE + 27,\n LockOwnedByAnotherBriefcase = IMODELHUBERROR_BASE + 28,\n CodeStateInvalid = IMODELHUBERROR_BASE + 29,\n CodeReservedByAnotherBriefcase = IMODELHUBERROR_BASE + 30,\n CodeDoesNotExist = IMODELHUBERROR_BASE + 31,\n EventTypeDoesNotExist = IMODELHUBERROR_BASE + 32,\n EventSubscriptionDoesNotExist = IMODELHUBERROR_BASE + 33,\n EventSubscriptionAlreadyExists = IMODELHUBERROR_BASE + 34,\n ITwinIdIsNotSpecified = IMODELHUBERROR_BASE + 35,\n FailedToGetITwinPermissions = IMODELHUBERROR_BASE + 36,\n FailedToGetITwinMembers = IMODELHUBERROR_BASE + 37,\n ChangeSetAlreadyHasVersion = IMODELHUBERROR_BASE + 38,\n VersionAlreadyExists = IMODELHUBERROR_BASE + 39,\n JobSchedulingFailed = IMODELHUBERROR_BASE + 40,\n ConflictsAggregate = IMODELHUBERROR_BASE + 41,\n FailedToGetITwinById = IMODELHUBERROR_BASE + 42,\n\n DatabaseOperationFailed = IMODELHUBERROR_BASE + 43,\n SeedFileInitializationFailed = IMODELHUBERROR_BASE + 44,\n\n FailedToGetAssetPermissions = IMODELHUBERROR_BASE + 45,\n FailedToGetAssetMembers = IMODELHUBERROR_BASE + 46,\n ITwinDoesNotExist = IMODELHUBERROR_BASE + 47,\n\n LockChunkDoesNotExist = IMODELHUBERROR_BASE + 49,\n\n CheckpointAlreadyExists = IMODELHUBERROR_BASE + 50,\n CheckpointDoesNotExist = IMODELHUBERROR_BASE + 51,\n\n // Errors that are returned for incorrect iModelHub request.\n UndefinedArgumentError = IMODELHUBERROR_REQUESTERRORBASE + 1,\n InvalidArgumentError = IMODELHUBERROR_REQUESTERRORBASE + 2,\n MissingDownloadUrlError = IMODELHUBERROR_REQUESTERRORBASE + 3,\n NotSupportedInBrowser = IMODELHUBERROR_REQUESTERRORBASE + 4,\n FileHandlerNotSet = IMODELHUBERROR_REQUESTERRORBASE + 5,\n FileNotFound = IMODELHUBERROR_REQUESTERRORBASE + 6,\n InitializationTimeout = IMODELHUBERROR_REQUESTERRORBASE + 7,\n}\n\n/** GeoServiceStatus errors\n * @public\n */\nexport enum GeoServiceStatus {\n Success = 0,\n GEOSERVICESTATUS_BASE = 0x24000,\n // Error mapped from 'IModelStatus'\n NoGeoLocation = IModelStatus.NoGeoLocation,\n // Following errors are mapped from 'GeoCoordStatus'\n OutOfUsefulRange = GEOSERVICESTATUS_BASE + 1,\n OutOfMathematicalDomain = GEOSERVICESTATUS_BASE + 2,\n NoDatumConverter = GEOSERVICESTATUS_BASE + 3,\n VerticalDatumConvertError = GEOSERVICESTATUS_BASE + 4,\n CSMapError = GEOSERVICESTATUS_BASE + 5,\n Pending = GEOSERVICESTATUS_BASE + 6,\n}\n\n/** Error status from various reality data operations\n * @alpha\n */\nexport enum RealityDataStatus {\n Success = 0,\n REALITYDATA_ERROR_BASE = 0x25000,\n InvalidData = REALITYDATA_ERROR_BASE + 1,\n}\n\n/** A function that returns a metadata object for a [[BentleyError]].\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.\n * @public\n */\nexport type GetMetaDataFunction = () => object | undefined;\n\n/** Optional metadata attached to a [[BentleyError]]. May either be an object or a function that returns an object.\n * If this exception is logged and metadata is present, the metaData object is attached to the log entry via `JSON.stringify`\n * @public\n */\nexport type LoggingMetaData = GetMetaDataFunction | object | undefined;\n\nfunction isObject(obj: unknown): obj is { [key: string]: unknown } {\n return typeof obj === \"object\" && obj !== null;\n}\n\ninterface ErrorProps {\n message: string;\n stack?: string;\n metadata?: object;\n}\n\n/** Base exception class for iTwin.js exceptions.\n * @public\n */\nexport class BentleyError extends Error {\n private readonly _metaData: LoggingMetaData;\n\n /**\n * @param errorNumber The a number that identifies of the problem.\n * @param message message that describes the problem (should not be localized).\n * @param metaData metaData about the exception.\n */\n public constructor(public errorNumber: number, message?: string, metaData?: LoggingMetaData) {\n super(message);\n this.errorNumber = errorNumber;\n this._metaData = metaData;\n this.name = this._initName();\n }\n\n /** Returns true if this BentleyError includes (optional) metadata. */\n public get hasMetaData(): boolean { return undefined !== this._metaData; }\n\n /** get the meta data associated with this BentleyError, if any. */\n public getMetaData(): object | undefined {\n return BentleyError.getMetaData(this._metaData);\n }\n\n /** get the metadata object associated with an ExceptionMetaData, if any. */\n public static getMetaData(metaData: LoggingMetaData): object | undefined {\n return (typeof metaData === \"function\") ? metaData() : metaData;\n }\n\n /** This function returns the name of each error status. Override this method to handle more error status codes. */\n protected _initName(): string {\n switch (this.errorNumber) {\n case IModelStatus.AlreadyLoaded: return \"Already Loaded\";\n case IModelStatus.AlreadyOpen: return \"Already Open\";\n case IModelStatus.BadArg: return \"Bad Arg\";\n case IModelStatus.BadElement: return \"Bad Element\";\n case IModelStatus.BadModel: return \"Bad Model\";\n case IModelStatus.BadRequest: return \"Bad Request\";\n case IModelStatus.BadSchema: return \"Bad Schema\";\n case IModelStatus.CannotUndo: return \"Can not Undo\";\n case IModelStatus.CodeNotReserved: return \"Code Not Reserved\";\n case IModelStatus.DeletionProhibited: return \"Deletion Prohibited\";\n case IModelStatus.DuplicateCode: return \"Duplicate Code\";\n case IModelStatus.DuplicateName: return \"Duplicate Name\";\n case IModelStatus.ElementBlockedChange: return \"Element Blocked Change\";\n case IModelStatus.FileAlreadyExists: return \"File Already Exists\";\n case IModelStatus.FileNotFound: return \"File Not Found\";\n case IModelStatus.FileNotLoaded: return \"File Not Loaded\";\n case IModelStatus.ForeignKeyConstraint: return \"ForeignKey Constraint\";\n case IModelStatus.IdExists: return \"Id Exists\";\n case IModelStatus.InDynamicTransaction: return \"InDynamicTransaction\";\n case IModelStatus.InvalidCategory: return \"Invalid Category\";\n case IModelStatus.InvalidCode: return \"Invalid Code\";\n case IModelStatus.InvalidCodeSpec: return \"Invalid CodeSpec\";\n case IModelStatus.InvalidId: return \"Invalid Id\";\n case IModelStatus.InvalidName: return \"Invalid Name\";\n case IModelStatus.InvalidParent: return \"Invalid Parent\";\n case IModelStatus.InvalidProfileVersion: return \"Invalid Profile Version\";\n case IModelStatus.IsCreatingChangeSet: return \"IsCreatingChangeSet\";\n case IModelStatus.LockNotHeld: return \"Lock Not Held\";\n case IModelStatus.Mismatch2d3d: return \"Mismatch 2d3d\";\n case IModelStatus.MismatchGcs: return \"Mismatch Gcs\";\n case IModelStatus.MissingDomain: return \"Missing Domain\";\n case IModelStatus.MissingHandler: return \"Missing Handler\";\n case IModelStatus.MissingId: return \"Missing Id\";\n case IModelStatus.NoGeometry: return \"No Geometry\";\n case IModelStatus.NoMultiTxnOperation: return \"NoMultiTxnOperation\";\n case IModelStatus.NotEnabled: return \"Not Enabled\";\n case IModelStatus.NotFound: return \"Not Found\";\n case IModelStatus.NotOpen: return \"Not Open\";\n case IModelStatus.NotOpenForWrite: return \"Not Open For Write\";\n case IModelStatus.NotSameUnitBase: return \"Not Same Unit Base\";\n case IModelStatus.NothingToRedo: return \"Nothing To Redo\";\n case IModelStatus.NothingToUndo: return \"Nothing To Undo\";\n case IModelStatus.ParentBlockedChange: return \"Parent Blocked Change\";\n case IModelStatus.ReadError: return \"Read Error\";\n case IModelStatus.ReadOnly: return \"ReadOnly\";\n case IModelStatus.ReadOnlyDomain: return \"ReadOnlyDomain\";\n case IModelStatus.RepositoryManagerError: return \"RepositoryManagerError\";\n case IModelStatus.SQLiteError: return \"SQLiteError\";\n case IModelStatus.TransactionActive: return \"Transaction Active\";\n case IModelStatus.UnitsMissing: return \"Units Missing\";\n case IModelStatus.UnknownFormat: return \"Unknown Format\";\n case IModelStatus.UpgradeFailed: return \"Upgrade Failed\";\n case IModelStatus.ValidationFailed: return \"Validation Failed\";\n case IModelStatus.VersionTooNew: return \"Version Too New\";\n case IModelStatus.VersionTooOld: return \"Version Too Old\";\n case IModelStatus.ViewNotFound: return \"View Not Found\";\n case IModelStatus.WriteError: return \"Write Error\";\n case IModelStatus.WrongClass: return \"Wrong Class\";\n case IModelStatus.WrongIModel: return \"Wrong IModel\";\n case IModelStatus.WrongDomain: return \"Wrong Domain\";\n case IModelStatus.WrongElement: return \"Wrong Element\";\n case IModelStatus.WrongHandler: return \"Wrong Handler\";\n case IModelStatus.WrongModel: return \"Wrong Model\";\n case DbResult.BE_SQLITE_ERROR: return \"BE_SQLITE_ERROR\";\n case DbResult.BE_SQLITE_INTERNAL: return \"BE_SQLITE_INTERNAL\";\n case DbResult.BE_SQLITE_PERM: return \"BE_SQLITE_PERM\";\n case DbResult.BE_SQLITE_ABORT: return \"BE_SQLITE_ABORT\";\n case DbResult.BE_SQLITE_BUSY: return \"Db is busy\";\n case DbResult.BE_SQLITE_LOCKED: return \"Db is Locked\";\n case DbResult.BE_SQLITE_NOMEM: return \"BE_SQLITE_NOMEM\";\n case DbResult.BE_SQLITE_READONLY: return \"Readonly\";\n case DbResult.BE_SQLITE_INTERRUPT: return \"BE_SQLITE_INTERRUPT\";\n case DbResult.BE_SQLITE_IOERR: return \"BE_SQLITE_IOERR\";\n case DbResult.BE_SQLITE_CORRUPT: return \"BE_SQLITE_CORRUPT\";\n case DbResult.BE_SQLITE_NOTFOUND: return \"Not Found\";\n case DbResult.BE_SQLITE_FULL: return \"BE_SQLITE_FULL\";\n case DbResult.BE_SQLITE_CANTOPEN: return \"Can't open\";\n case DbResult.BE_SQLITE_PROTOCOL: return \"BE_SQLITE_PROTOCOL\";\n case DbResult.BE_SQLITE_EMPTY: return \"BE_SQLITE_EMPTY\";\n case DbResult.BE_SQLITE_SCHEMA: return \"BE_SQLITE_SCHEMA\";\n case DbResult.BE_SQLITE_TOOBIG: return \"BE_SQLITE_TOOBIG\";\n case DbResult.BE_SQLITE_MISMATCH: return \"BE_SQLITE_MISMATCH\";\n case DbResult.BE_SQLITE_MISUSE: return \"BE_SQLITE_MISUSE\";\n case DbResult.BE_SQLITE_NOLFS: return \"BE_SQLITE_NOLFS\";\n case DbResult.BE_SQLITE_AUTH: return \"BE_SQLITE_AUTH\";\n case DbResult.BE_SQLITE_FORMAT: return \"BE_SQLITE_FORMAT\";\n case DbResult.BE_SQLITE_RANGE: return \"BE_SQLITE_RANGE\";\n case DbResult.BE_SQLITE_NOTADB: return \"Not a Database\";\n case DbResult.BE_SQLITE_IOERR_READ: return \"BE_SQLITE_IOERR_READ\";\n case DbResult.BE_SQLITE_IOERR_SHORT_READ: return \"BE_SQLITE_IOERR_SHORT_READ\";\n case DbResult.BE_SQLITE_IOERR_WRITE: return \"BE_SQLITE_IOERR_WRITE\";\n case DbResult.BE_SQLITE_IOERR_FSYNC: return \"BE_SQLITE_IOERR_FSYNC\";\n case DbResult.BE_SQLITE_IOERR_DIR_FSYNC: return \"BE_SQLITE_IOERR_DIR_FSYNC\";\n case DbResult.BE_SQLITE_IOERR_TRUNCATE: return \"BE_SQLITE_IOERR_TRUNCATE\";\n case DbResult.BE_SQLITE_IOERR_FSTAT: return \"BE_SQLITE_IOERR_FSTAT\";\n case DbResult.BE_SQLITE_IOERR_UNLOCK: return \"BE_SQLITE_IOERR_UNLOCK\";\n case DbResult.BE_SQLITE_IOERR_RDLOCK: return \"BE_SQLITE_IOERR_RDLOCK\";\n case DbResult.BE_SQLITE_IOERR_DELETE: return \"BE_SQLITE_IOERR_DELETE\";\n case DbResult.BE_SQLITE_IOERR_BLOCKED: return \"BE_SQLITE_IOERR_BLOCKED\";\n case DbResult.BE_SQLITE_IOERR_NOMEM: return \"BE_SQLITE_IOERR_NOMEM\";\n case DbResult.BE_SQLITE_IOERR_ACCESS: return \"BE_SQLITE_IOERR_ACCESS\";\n case DbResult.BE_SQLITE_IOERR_CHECKRESERVEDLOCK: return \"BE_SQLITE_IOERR_CHECKRESERVEDLOCK\";\n case DbResult.BE_SQLITE_IOERR_LOCK: return \"BE_SQLITE_IOERR_LOCK\";\n case DbResult.BE_SQLITE_IOERR_CLOSE: return \"BE_SQLITE_IOERR_CLOSE\";\n case DbResult.BE_SQLITE_IOERR_DIR_CLOSE: return \"BE_SQLITE_IOERR_DIR_CLOSE\";\n case DbResult.BE_SQLITE_IOERR_SHMOPEN: return \"BE_SQLITE_IOERR_SHMOPEN\";\n case DbResult.BE_SQLITE_IOERR_SHMSIZE: return \"BE_SQLITE_IOERR_SHMSIZE\";\n case DbResult.BE_SQLITE_IOERR_SHMLOCK: return \"BE_SQLITE_IOERR_SHMLOCK\";\n case DbResult.BE_SQLITE_IOERR_SHMMAP: return \"BE_SQLITE_IOERR_SHMMAP\";\n case DbResult.BE_SQLITE_IOERR_SEEK: return \"BE_SQLITE_IOERR_SEEK\";\n case DbResult.BE_SQLITE_IOERR_DELETE_NOENT: return \"BE_SQLITE_IOERR_DELETE_NOENT\";\n\n case DbResult.BE_SQLITE_ERROR_DataTransformRequired: return \"Schema update require to transform data\";\n case DbResult.BE_SQLITE_ERROR_FileExists: return \"File Exists\";\n case DbResult.BE_SQLITE_ERROR_AlreadyOpen: return \"Already Open\";\n case DbResult.BE_SQLITE_ERROR_NoPropertyTable: return \"No Property Table\";\n case DbResult.BE_SQLITE_ERROR_FileNotFound: return \"File Not Found\";\n case DbResult.BE_SQLITE_ERROR_NoTxnActive: return \"No Txn Active\";\n case DbResult.BE_SQLITE_ERROR_BadDbProfile: return \"Bad Db Profile\";\n case DbResult.BE_SQLITE_ERROR_InvalidProfileVersion: return \"Invalid Profile Version\";\n case DbResult.BE_SQLITE_ERROR_ProfileUpgradeFailed: return \"Profile Upgrade Failed\";\n case DbResult.BE_SQLITE_ERROR_ProfileTooOldForReadWrite: return \"Profile Too Old For ReadWrite\";\n case DbResult.BE_SQLITE_ERROR_ProfileTooOld: return \"Profile Too Old\";\n case DbResult.BE_SQLITE_ERROR_ProfileTooNewForReadWrite: return \"Profile Too New For ReadWrite\";\n case DbResult.BE_SQLITE_ERROR_ProfileTooNew: return \"Profile Too New\";\n case DbResult.BE_SQLITE_ERROR_ChangeTrackError: return \"ChangeTrack Error\";\n case DbResult.BE_SQLITE_ERROR_InvalidChangeSetVersion: return \"Invalid ChangeSet Version\";\n case DbResult.BE_SQLITE_ERROR_SchemaUpgradeRequired: return \"Schema Upgrade Required\";\n case DbResult.BE_SQLITE_ERROR_SchemaTooNew: return \"Schema Too New\";\n case DbResult.BE_SQLITE_ERROR_SchemaTooOld: return \"Schema Too Old\";\n case DbResult.BE_SQLITE_ERROR_SchemaLockFailed: return \"Schema Lock Failed\";\n case DbResult.BE_SQLITE_ERROR_SchemaUpgradeFailed: return \"Schema Upgrade Failed\";\n case DbResult.BE_SQLITE_ERROR_SchemaImportFailed: return \"Schema Import Failed\";\n case DbResult.BE_SQLITE_ERROR_CouldNotAcquireLocksOrCodes: return \"Could Not Acquire Locks Or Codes\";\n case DbResult.BE_SQLITE_ERROR_SchemaUpgradeRecommended: return \"Recommended that the schemas found in the database be upgraded\";\n case DbResult.BE_SQLITE_LOCKED_SHAREDCACHE: return \"BE_SQLITE_LOCKED_SHAREDCACHE\";\n case DbResult.BE_SQLITE_BUSY_RECOVERY: return \"BE_SQLITE_BUSY_RECOVERY\";\n case DbResult.BE_SQLITE_CANTOPEN_NOTEMPDIR: return \"SQLite No Temp Dir\";\n case DbResult.BE_SQLITE_CANTOPEN_ISDIR: return \"BE_SQLITE_CANTOPEN_ISDIR\";\n case DbResult.BE_SQLITE_CANTOPEN_FULLPATH: return \"BE_SQLITE_CANTOPEN_FULLPATH\";\n case DbResult.BE_SQLITE_CORRUPT_VTAB: return \"BE_SQLITE_CORRUPT_VTAB\";\n case DbResult.BE_SQLITE_READONLY_RECOVERY: return \"BE_SQLITE_READONLY_RECOVERY\";\n case DbResult.BE_SQLITE_READONLY_CANTLOCK: return \"BE_SQLITE_READONLY_CANTLOCK\";\n case DbResult.BE_SQLITE_READONLY_ROLLBACK: return \"BE_SQLITE_READONLY_ROLLBACK\";\n case DbResult.BE_SQLITE_ABORT_ROLLBACK: return \"BE_SQLITE_ABORT_ROLLBACK\";\n case DbResult.BE_SQLITE_CONSTRAINT_CHECK: return \"BE_SQLITE_CONSTRAINT_CHECK\";\n case DbResult.BE_SQLITE_CONSTRAINT_COMMITHOOK: return \"CommitHook Constraint Error\";\n case DbResult.BE_SQLITE_CONSTRAINT_FOREIGNKEY: return \"Foreign Key Constraint Error\";\n case DbResult.BE_SQLITE_CONSTRAINT_FUNCTION: return \"Function Constraint Error\";\n case DbResult.BE_SQLITE_CONSTRAINT_NOTNULL: return \"NotNull Constraint Error\";\n case DbResult.BE_SQLITE_CONSTRAINT_PRIMARYKEY: return \"Primary Key Constraint Error\";\n case DbResult.BE_SQLITE_CONSTRAINT_TRIGGER: return \"Trigger Constraint Error\";\n case DbResult.BE_SQLITE_CONSTRAINT_UNIQUE: return \"Unique Constraint Error\";\n case DbResult.BE_SQLITE_CONSTRAINT_VTAB: return \"VTable Constraint Error\";\n case BentleyStatus.ERROR: return \"Error\";\n case BriefcaseStatus.CannotAcquire: return \"CannotAcquire\";\n case BriefcaseStatus.CannotDownload: return \"CannotDownload\";\n case BriefcaseStatus.CannotCopy: return \"CannotCopy\";\n case BriefcaseStatus.CannotDelete: return \"CannotDelete\";\n case BriefcaseStatus.VersionNotFound: return \"VersionNotFound\";\n case BriefcaseStatus.DownloadCancelled: return \"DownloadCancelled\";\n case BriefcaseStatus.ContainsDeletedChangeSets: return \"ContainsDeletedChangeSets\";\n case RpcInterfaceStatus.IncompatibleVersion: return \"RpcInterfaceStatus.IncompatibleVersion\";\n case ChangeSetStatus.ApplyError: return \"Error applying a change set\";\n case ChangeSetStatus.ChangeTrackingNotEnabled: return \"Change tracking has not been enabled. The ChangeSet API mandates this\";\n case ChangeSetStatus.CorruptedChangeStream: return \"Contents of the change stream are corrupted and does not match the ChangeSet\";\n case ChangeSetStatus.FileNotFound: return \"File containing the changes was not found\";\n case ChangeSetStatus.FileWriteError: return \"Error writing the contents of the change set to the backing change stream file\";\n case ChangeSetStatus.HasLocalChanges: return \"Cannot perform the operation since the Db has local changes\";\n case ChangeSetStatus.HasUncommittedChanges: return \"Cannot perform the operation since current transaction has uncommitted changes\";\n case ChangeSetStatus.InvalidId: return \"Invalid ChangeSet Id\";\n case ChangeSetStatus.InvalidVersion: return \"Invalid version of the change set\";\n case ChangeSetStatus.InDynamicTransaction: return \"Cannot perform the operation since system is in the middle of a dynamic transaction\";\n case ChangeSetStatus.IsCreatingChangeSet: return \"Cannot perform operation since system is in the middle of a creating a change set\";\n case ChangeSetStatus.IsNotCreatingChangeSet: return \"Cannot perform operation since the system is not creating a change set\";\n case ChangeSetStatus.MergePropagationError: return \"Error propagating the changes after the merge\";\n case ChangeSetStatus.NothingToMerge: return \"No change sets to merge\";\n case ChangeSetStatus.NoTransactions: return \"No transactions are available to create a change set\";\n case ChangeSetStatus.ParentMismatch: return \"Parent change set of the Db does not match the parent id of the change set\";\n case ChangeSetStatus.SQLiteError: return \"Error performing a SQLite operation on the Db\";\n case ChangeSetStatus.WrongDgnDb: return \"ChangeSet originated in a different Db\";\n case ChangeSetStatus.CouldNotOpenDgnDb: return \"Could not open the DgnDb to merge change set\";\n case ChangeSetStatus.MergeSchemaChangesOnOpen: return \"Cannot merge changes in in an open DgnDb. Close the DgnDb, and process the operation when it is opened\";\n case ChangeSetStatus.ReverseOrReinstateSchemaChanges: return \"Cannot reverse or reinstate schema changes.\";\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\";\n case ChangeSetStatus.CannotMergeIntoReadonly: return \"Cannot merge changes into a Readonly DgnDb\";\n case ChangeSetStatus.CannotMergeIntoMaster: return \"Cannot merge changes into a Master DgnDb\";\n case ChangeSetStatus.CannotMergeIntoReversed: return \"Cannot merge changes into a DgnDb that has reversed change sets\";\n case ChangeSetStatus.DownloadCancelled: return \"ChangeSet(s) download was cancelled.\";\n case RepositoryStatus.ServerUnavailable: return \"ServerUnavailable\";\n case RepositoryStatus.LockAlreadyHeld: return \"LockAlreadyHeld\";\n case RepositoryStatus.SyncError: return \"SyncError\";\n case RepositoryStatus.InvalidResponse: return \"InvalidResponse\";\n case RepositoryStatus.PendingTransactions: return \"PendingTransactions\";\n case RepositoryStatus.LockUsed: return \"LockUsed\";\n case RepositoryStatus.CannotCreateChangeSet: return \"CannotCreateChangeSet\";\n case RepositoryStatus.InvalidRequest: return \"InvalidRequest\";\n case RepositoryStatus.ChangeSetRequired: return \"ChangeSetRequired\";\n case RepositoryStatus.CodeUnavailable: return \"CodeUnavailable\";\n case RepositoryStatus.CodeNotReserved: return \"CodeNotReserved\";\n case RepositoryStatus.CodeUsed: return \"CodeUsed\";\n case RepositoryStatus.LockNotHeld: return \"LockNotHeld\";\n case RepositoryStatus.RepositoryIsLocked: return \"RepositoryIsLocked\";\n case RepositoryStatus.ChannelConstraintViolation: return \"ChannelConstraintViolation\";\n case HttpStatus.Info: return \"HTTP Info\";\n case HttpStatus.Redirection: return \"HTTP Redirection\";\n case HttpStatus.ClientError: return \"HTTP Client error\";\n case HttpStatus.ServerError: return \"HTTP Server error\";\n case IModelHubStatus.Unknown: return \"Unknown error\";\n case IModelHubStatus.MissingRequiredProperties: return \"Missing required properties\";\n case IModelHubStatus.InvalidPropertiesValues: return \"Invalid properties values\";\n case IModelHubStatus.UserDoesNotHavePermission: return \"User does not have permission\";\n case IModelHubStatus.UserDoesNotHaveAccess: return \"User does not have access\";\n case IModelHubStatus.InvalidBriefcase: return \"Invalid briefcase\";\n case IModelHubStatus.BriefcaseDoesNotExist: return \"Briefcase does not exist\";\n case IModelHubStatus.BriefcaseDoesNotBelongToUser: return \"Briefcase does not belong to user\";\n case IModelHubStatus.AnotherUserPushing: return \"Another user pushing\";\n case IModelHubStatus.ChangeSetAlreadyExists: return \"ChangeSet already exists\";\n case IModelHubStatus.ChangeSetDoesNotExist: return \"ChangeSet does not exist\";\n case IModelHubStatus.FileIsNotUploaded: return \"File is not uploaded\";\n case IModelHubStatus.iModelIsNotInitialized: return \"iModel is not initialized\";\n case IModelHubStatus.ChangeSetPointsToBadSeed: return \"ChangeSet points to a bad seed file\";\n case IModelHubStatus.OperationFailed: return \"iModelHub operation has failed\";\n case IModelHubStatus.PullIsRequired: return \"Pull is required\";\n case IModelHubStatus.MaximumNumberOfBriefcasesPerUser: return \"Limit of briefcases per user was reached\";\n case IModelHubStatus.MaximumNumberOfBriefcasesPerUserPerMinute: return \"Limit of briefcases per user per minute was reached\";\n case IModelHubStatus.DatabaseTemporarilyLocked: return \"Database is temporarily locked\";\n case IModelHubStatus.iModelIsLocked: return \"iModel is locked\";\n case IModelHubStatus.CodesExist: return \"Code already exists\";\n case IModelHubStatus.LocksExist: return \"Lock already exists\";\n case IModelHubStatus.iModelAlreadyExists: return \"iModel already exists\";\n case IModelHubStatus.iModelDoesNotExist: return \"iModel does not exist\";\n case IModelHubStatus.LockDoesNotExist: return \"Lock does not exist\";\n case IModelHubStatus.LockChunkDoesNotExist: return \"Lock chunk does not exist\";\n case IModelHubStatus.LockOwnedByAnotherBriefcase: return \"Lock is owned by another briefcase\";\n case IModelHubStatus.CodeStateInvalid: return \"Code state is invalid\";\n case IModelHubStatus.CodeReservedByAnotherBriefcase: return \"Code is reserved by another briefcase\";\n case IModelHubStatus.CodeDoesNotExist: return \"Code does not exist\";\n case IModelHubStatus.FileDoesNotExist: return \"File does not exist\";\n case IModelHubStatus.FileAlreadyExists: return \"File already exists\";\n case IModelHubStatus.EventTypeDoesNotExist: return \"Event type does not exist\";\n case IModelHubStatus.EventSubscriptionDoesNotExist: return \"Event subscription does not exist\";\n case IModelHubStatus.EventSubscriptionAlreadyExists: return \"Event subscription already exists\";\n case IModelHubStatus.ITwinIdIsNotSpecified: return \"ITwin Id is not specified\";\n case IModelHubStatus.FailedToGetITwinPermissions: return \"Failed to get iTwin permissions\";\n case IModelHubStatus.FailedToGetITwinMembers: return \"Failed to get iTwin members\";\n case IModelHubStatus.FailedToGetAssetPermissions: return \"Failed to get asset permissions\";\n case IModelHubStatus.FailedToGetAssetMembers: return \"Failed to get asset members\";\n case IModelHubStatus.ChangeSetAlreadyHasVersion: return \"ChangeSet already has version\";\n case IModelHubStatus.VersionAlreadyExists: return \"Version already exists\";\n case IModelHubStatus.JobSchedulingFailed: return \"Failed to schedule a background job\";\n case IModelHubStatus.ConflictsAggregate: return \"Codes or locks are owned by another briefcase\";\n case IModelHubStatus.FailedToGetITwinById: return \"Failed to query iTwin by its id\";\n case IModelHubStatus.DatabaseOperationFailed: return \"Database operation has failed\";\n case IModelHubStatus.ITwinDoesNotExist: return \"ITwin does not exist\";\n case IModelHubStatus.UndefinedArgumentError: return \"Undefined argument\";\n case IModelHubStatus.InvalidArgumentError: return \"Invalid argument\";\n case IModelHubStatus.MissingDownloadUrlError: return \"Missing download url\";\n case IModelHubStatus.NotSupportedInBrowser: return \"Not supported in browser\";\n case IModelHubStatus.FileHandlerNotSet: return \"File handler is not set\";\n case IModelHubStatus.FileNotFound: return \"File not found\";\n case GeoServiceStatus.NoGeoLocation: return \"No GeoLocation\";\n case GeoServiceStatus.OutOfUsefulRange: return \"Out of useful range\";\n case GeoServiceStatus.OutOfMathematicalDomain: return \"Out of mathematical domain\";\n case GeoServiceStatus.NoDatumConverter: return \"No datum converter\";\n case GeoServiceStatus.VerticalDatumConvertError: return \"Vertical datum convert error\";\n case GeoServiceStatus.CSMapError: return \"CSMap error\";\n case GeoServiceStatus.Pending: return \"Pending\";\n case RealityDataStatus.InvalidData: return \"Invalid or unknown data\";\n case DbResult.BE_SQLITE_OK:\n case DbResult.BE_SQLITE_ROW:\n case DbResult.BE_SQLITE_DONE:\n case BentleyStatus.SUCCESS:\n return \"Success\";\n\n default:\n return `Error (${this.errorNumber})`;\n }\n }\n\n /** Use run-time type checking to safely get a useful string summary of an unknown error value, or `\"\"` if none exists.\n * @note It's recommended to use this function in `catch` clauses, where a caught value cannot be assumed to be `instanceof Error`\n * @public\n */\n public static getErrorMessage(error: unknown): string {\n if (typeof error === \"string\")\n return error;\n\n if (error instanceof Error)\n return error.toString();\n\n if (isObject(error)) {\n if (typeof error.message === \"string\")\n return error.message;\n\n if (typeof error.msg === \"string\")\n return error.msg;\n\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\n if (error.toString() !== \"[object Object]\")\n return error.toString(); // eslint-disable-line @typescript-eslint/no-base-to-string\n }\n\n return \"\";\n }\n\n /** Use run-time type checking to safely get the call stack of an unknown error value, if possible.\n * @note It's recommended to use this function in `catch` clauses, where a caught value cannot be assumed to be `instanceof Error`\n * @public\n */\n public static getErrorStack(error: unknown): string | undefined {\n if (isObject(error) && typeof error.stack === \"string\")\n return error.stack;\n\n return undefined;\n }\n\n /** Use run-time type checking to safely get the metadata with an unknown error value, if possible.\n * @note It's recommended to use this function in `catch` clauses, where a caught value cannot be assumed to be `instanceof BentleyError`\n * @see [[BentleyError.getMetaData]]\n * @public\n */\n public static getErrorMetadata(error: unknown): object | undefined {\n if (isObject(error) && typeof error.getMetaData === \"function\") {\n const metadata = error.getMetaData();\n if (typeof metadata === \"object\" && metadata !== null)\n return metadata;\n }\n\n return undefined;\n }\n\n /** Returns a new `ErrorProps` object representing an unknown error value. Useful for logging or wrapping/re-throwing caught errors.\n * @note Unlike `Error` objects (which lose messages and call stacks when serialized to JSON), objects\n * returned by this are plain old JavaScript objects, and can be easily logged/serialized to JSON.\n * @public\n */\n public static getErrorProps(error: unknown): ErrorProps {\n const serialized: ErrorProps = {\n message: BentleyError.getErrorMessage(error),\n };\n\n const stack = BentleyError.getErrorStack(error);\n if (stack)\n serialized.stack = stack;\n\n const metadata = BentleyError.getErrorMetadata(error);\n if (metadata)\n serialized.metadata = metadata;\n\n return serialized;\n }\n}\n\n"]}
1
+ {"version":3,"file":"BentleyError.js","sourceRoot":"","sources":["../../src/BentleyError.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Errors\n */\n\nimport { DbResult } from \"./BeSQLite\";\nimport { RepositoryStatus } from \"./internal/RepositoryStatus\";\n\n/** Standard status code.\n * This status code should be rarely used.\n * Prefer to throw an exception to indicate an error, rather than returning a special status code.\n * If a status code is to be returned, prefer to return a more specific error status type such as IModelStatus or DbResult.\n * @public\n */\nexport enum BentleyStatus {\n SUCCESS = 0x0000,\n ERROR = 0x8000,\n}\n\n/** Status codes that are used in conjunction with [[BentleyError]].\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.\n * @public\n */\nexport enum IModelStatus {\n IMODEL_ERROR_BASE = 0x10000,\n Success = 0,\n AlreadyLoaded = IMODEL_ERROR_BASE + 1,\n AlreadyOpen = IMODEL_ERROR_BASE + 2,\n BadArg = IMODEL_ERROR_BASE + 3,\n BadElement = IMODEL_ERROR_BASE + 4,\n BadModel = IMODEL_ERROR_BASE + 5,\n BadRequest = IMODEL_ERROR_BASE + 6,\n BadSchema = IMODEL_ERROR_BASE + 7,\n CannotUndo = IMODEL_ERROR_BASE + 8,\n CodeNotReserved = IMODEL_ERROR_BASE + 9,\n DeletionProhibited = IMODEL_ERROR_BASE + 10,\n DuplicateCode = IMODEL_ERROR_BASE + 11,\n DuplicateName = IMODEL_ERROR_BASE + 12,\n ElementBlockedChange = IMODEL_ERROR_BASE + 13,\n FileAlreadyExists = IMODEL_ERROR_BASE + 14,\n FileNotFound = IMODEL_ERROR_BASE + 15,\n FileNotLoaded = IMODEL_ERROR_BASE + 16,\n ForeignKeyConstraint = IMODEL_ERROR_BASE + 17,\n IdExists = IMODEL_ERROR_BASE + 18,\n InDynamicTransaction = IMODEL_ERROR_BASE + 19,\n InvalidCategory = IMODEL_ERROR_BASE + 20,\n InvalidCode = IMODEL_ERROR_BASE + 21,\n InvalidCodeSpec = IMODEL_ERROR_BASE + 22,\n InvalidId = IMODEL_ERROR_BASE + 23,\n InvalidName = IMODEL_ERROR_BASE + 24,\n InvalidParent = IMODEL_ERROR_BASE + 25,\n InvalidProfileVersion = IMODEL_ERROR_BASE + 26,\n IsCreatingChangeSet = IMODEL_ERROR_BASE + 27,\n LockNotHeld = IMODEL_ERROR_BASE + 28,\n Mismatch2d3d = IMODEL_ERROR_BASE + 29,\n MismatchGcs = IMODEL_ERROR_BASE + 30,\n MissingDomain = IMODEL_ERROR_BASE + 31,\n MissingHandler = IMODEL_ERROR_BASE + 32,\n MissingId = IMODEL_ERROR_BASE + 33,\n NoGeometry = IMODEL_ERROR_BASE + 34,\n NoMultiTxnOperation = IMODEL_ERROR_BASE + 35,\n NotEnabled = IMODEL_ERROR_BASE + 37,\n NotFound = IMODEL_ERROR_BASE + 38,\n NotOpen = IMODEL_ERROR_BASE + 39,\n NotOpenForWrite = IMODEL_ERROR_BASE + 40,\n NotSameUnitBase = IMODEL_ERROR_BASE + 41,\n NothingToRedo = IMODEL_ERROR_BASE + 42,\n NothingToUndo = IMODEL_ERROR_BASE + 43,\n ParentBlockedChange = IMODEL_ERROR_BASE + 44,\n ReadError = IMODEL_ERROR_BASE + 45,\n ReadOnly = IMODEL_ERROR_BASE + 46,\n ReadOnlyDomain = IMODEL_ERROR_BASE + 47,\n RepositoryManagerError = IMODEL_ERROR_BASE + 48,\n SQLiteError = IMODEL_ERROR_BASE + 49,\n TransactionActive = IMODEL_ERROR_BASE + 50,\n UnitsMissing = IMODEL_ERROR_BASE + 51,\n UnknownFormat = IMODEL_ERROR_BASE + 52,\n UpgradeFailed = IMODEL_ERROR_BASE + 53,\n ValidationFailed = IMODEL_ERROR_BASE + 54,\n VersionTooNew = IMODEL_ERROR_BASE + 55,\n VersionTooOld = IMODEL_ERROR_BASE + 56,\n ViewNotFound = IMODEL_ERROR_BASE + 57,\n WriteError = IMODEL_ERROR_BASE + 58,\n WrongClass = IMODEL_ERROR_BASE + 59,\n WrongIModel = IMODEL_ERROR_BASE + 60,\n WrongDomain = IMODEL_ERROR_BASE + 61,\n WrongElement = IMODEL_ERROR_BASE + 62,\n WrongHandler = IMODEL_ERROR_BASE + 63,\n WrongModel = IMODEL_ERROR_BASE + 64,\n ConstraintNotUnique = IMODEL_ERROR_BASE + 65,\n NoGeoLocation = IMODEL_ERROR_BASE + 66,\n ServerTimeout = IMODEL_ERROR_BASE + 67,\n NoContent = IMODEL_ERROR_BASE + 68,\n NotRegistered = IMODEL_ERROR_BASE + 69,\n FunctionNotFound = IMODEL_ERROR_BASE + 70,\n NoActiveCommand = IMODEL_ERROR_BASE + 71,\n Aborted = IMODEL_ERROR_BASE + 72,\n}\n\n/** Error statuses produced by various briefcase operations, typically encountered as the `errorNumber` of an [IModelError]($common).\n * @public\n */\nexport enum BriefcaseStatus {\n BRIEFCASE_STATUS_BASE = 0x20000,\n CannotAcquire = BRIEFCASE_STATUS_BASE,\n CannotDownload = BRIEFCASE_STATUS_BASE + 1,\n CannotUpload = BRIEFCASE_STATUS_BASE + 2,\n CannotCopy = BRIEFCASE_STATUS_BASE + 3,\n CannotDelete = BRIEFCASE_STATUS_BASE + 4,\n VersionNotFound = BRIEFCASE_STATUS_BASE + 5,\n CannotApplyChanges = BRIEFCASE_STATUS_BASE + 6,\n DownloadCancelled = BRIEFCASE_STATUS_BASE + 7,\n ContainsDeletedChangeSets = BRIEFCASE_STATUS_BASE + 8,\n}\n\n/** RpcInterface status codes\n * @beta\n */\nexport enum RpcInterfaceStatus {\n Success = 0,\n RPC_INTERFACE_ERROR_BASE = 0x21000,\n /** The RpcInterface implemented by the server is incompatible with the interface requested by the client. */\n IncompatibleVersion = RPC_INTERFACE_ERROR_BASE,\n}\n\n/** Error statuses produced by various Changeset operations, typically encountered as the `errorNumber` of an [IModelError]($common).\n * @public\n */\nexport enum ChangeSetStatus { // Note: Values must be kept in sync with ChangeSetStatus in DgnPlatform\n Success = 0,\n CHANGESET_ERROR_BASE = 0x16000,\n /** Error applying a change set when reversing or reinstating it */\n ApplyError = CHANGESET_ERROR_BASE + 1,\n /** Change tracking has not been enabled. The ChangeSet API mandates this. */\n ChangeTrackingNotEnabled = CHANGESET_ERROR_BASE + 2,\n /** Contents of the change stream are corrupted and does not match the ChangeSet */\n CorruptedChangeStream = CHANGESET_ERROR_BASE + 3,\n /** File containing the changes to the change set is not found */\n FileNotFound = CHANGESET_ERROR_BASE + 4,\n /** Error writing the contents of the change set to the backing change stream file */\n FileWriteError = CHANGESET_ERROR_BASE + 5,\n /** Cannot perform the operation since the Db has local changes */\n HasLocalChanges = CHANGESET_ERROR_BASE + 6,\n /** Cannot perform the operation since current transaction has uncommitted changes */\n HasUncommittedChanges = CHANGESET_ERROR_BASE + 7,\n /** Invalid ChangeSet Id */\n InvalidId = CHANGESET_ERROR_BASE + 8,\n /** Invalid version of the change set */\n InvalidVersion = CHANGESET_ERROR_BASE + 9,\n /** Cannot perform the operation since system is in the middle of a dynamic transaction */\n InDynamicTransaction = CHANGESET_ERROR_BASE + 10,\n /** Cannot perform operation since system is in the middle of a creating a change set */\n IsCreatingChangeSet = CHANGESET_ERROR_BASE + 11,\n /** Cannot perform operation since the system is not creating a change set */\n IsNotCreatingChangeSet = CHANGESET_ERROR_BASE + 12,\n /** Error propagating the changes after the merge */\n MergePropagationError = CHANGESET_ERROR_BASE + 13,\n /** No change sets to merge */\n NothingToMerge = CHANGESET_ERROR_BASE + 14,\n /** No transactions are available to create a change set */\n NoTransactions = CHANGESET_ERROR_BASE + 15,\n /** Parent change set of the Db does not match the parent id of the change set */\n ParentMismatch = CHANGESET_ERROR_BASE + 16,\n /** Error performing a SQLite operation on the Db */\n SQLiteError = CHANGESET_ERROR_BASE + 17,\n /** ChangeSet originated in a different Db */\n WrongDgnDb = CHANGESET_ERROR_BASE + 18,\n /** Could not open the DgnDb to merge change set */\n CouldNotOpenDgnDb = CHANGESET_ERROR_BASE + 19,\n /** Cannot merge changes in in an open DgnDb. Close the DgnDb, and process the operation when it is opened. */\n MergeSchemaChangesOnOpen = CHANGESET_ERROR_BASE + 20,\n /** Cannot reverse or reinstate schema changes. */\n ReverseOrReinstateSchemaChanges = CHANGESET_ERROR_BASE + 21,\n /** Cannot process changes schema changes in an open DgnDb. Close the DgnDb, and process the operation when it is opened. */\n ProcessSchemaChangesOnOpen = CHANGESET_ERROR_BASE + 22,\n /** Cannot merge changes into a Readonly DgnDb. */\n CannotMergeIntoReadonly = CHANGESET_ERROR_BASE + 23,\n /** Cannot merge changes into a Master DgnDb. */\n CannotMergeIntoMaster = CHANGESET_ERROR_BASE + 24,\n /** Cannot merge changes into a DgnDb that has reversed change sets. */\n CannotMergeIntoReversed = CHANGESET_ERROR_BASE + 25,\n /** ChangeSet(s) download was cancelled. */\n DownloadCancelled = CHANGESET_ERROR_BASE + 26,\n}\n\n/** Status from returned HTTP status code\n * @beta\n */\nexport enum HttpStatus {\n /** 2xx Success */\n Success = 0,\n /** 1xx Informational responses */\n Info = 0x17001,\n /** 3xx Redirection */\n Redirection = 0x17002,\n /** 4xx Client errors */\n ClientError = 0x17003,\n /** 5xx Server errors */\n ServerError = 0x17004,\n}\n\n/** Statuses produced by APIs that interact with iModelHub, typically encountered as the `errorNumber` of an [IModelError]($common).\n * @public\n */\nexport enum IModelHubStatus {\n Success = 0,\n IMODELHUBERROR_BASE = 0x19000,\n IMODELHUBERROR_REQUESTERRORBASE = 0x19100,\n Unknown = IMODELHUBERROR_BASE + 1,\n MissingRequiredProperties = IMODELHUBERROR_BASE + 2,\n InvalidPropertiesValues = IMODELHUBERROR_BASE + 3,\n UserDoesNotHavePermission = IMODELHUBERROR_BASE + 4,\n UserDoesNotHaveAccess = IMODELHUBERROR_BASE + 5,\n InvalidBriefcase = IMODELHUBERROR_BASE + 6,\n BriefcaseDoesNotExist = IMODELHUBERROR_BASE + 7,\n BriefcaseDoesNotBelongToUser = IMODELHUBERROR_BASE + 8,\n AnotherUserPushing = IMODELHUBERROR_BASE + 9,\n ChangeSetAlreadyExists = IMODELHUBERROR_BASE + 10,\n ChangeSetDoesNotExist = IMODELHUBERROR_BASE + 11,\n FileIsNotUploaded = IMODELHUBERROR_BASE + 12,\n iModelIsNotInitialized = IMODELHUBERROR_BASE + 13,\n ChangeSetPointsToBadSeed = IMODELHUBERROR_BASE + 14,\n OperationFailed = IMODELHUBERROR_BASE + 15,\n PullIsRequired = IMODELHUBERROR_BASE + 16,\n MaximumNumberOfBriefcasesPerUser = IMODELHUBERROR_BASE + 17,\n MaximumNumberOfBriefcasesPerUserPerMinute = IMODELHUBERROR_BASE + 18,\n DatabaseTemporarilyLocked = IMODELHUBERROR_BASE + 19,\n iModelIsLocked = IMODELHUBERROR_BASE + 20,\n CodesExist = IMODELHUBERROR_BASE + 21,\n LocksExist = IMODELHUBERROR_BASE + 22,\n iModelAlreadyExists = IMODELHUBERROR_BASE + 23,\n iModelDoesNotExist = IMODELHUBERROR_BASE + 24,\n FileDoesNotExist = IMODELHUBERROR_BASE + 25,\n FileAlreadyExists = IMODELHUBERROR_BASE + 26,\n LockDoesNotExist = IMODELHUBERROR_BASE + 27,\n LockOwnedByAnotherBriefcase = IMODELHUBERROR_BASE + 28,\n CodeStateInvalid = IMODELHUBERROR_BASE + 29,\n CodeReservedByAnotherBriefcase = IMODELHUBERROR_BASE + 30,\n CodeDoesNotExist = IMODELHUBERROR_BASE + 31,\n EventTypeDoesNotExist = IMODELHUBERROR_BASE + 32,\n EventSubscriptionDoesNotExist = IMODELHUBERROR_BASE + 33,\n EventSubscriptionAlreadyExists = IMODELHUBERROR_BASE + 34,\n ITwinIdIsNotSpecified = IMODELHUBERROR_BASE + 35,\n FailedToGetITwinPermissions = IMODELHUBERROR_BASE + 36,\n FailedToGetITwinMembers = IMODELHUBERROR_BASE + 37,\n ChangeSetAlreadyHasVersion = IMODELHUBERROR_BASE + 38,\n VersionAlreadyExists = IMODELHUBERROR_BASE + 39,\n JobSchedulingFailed = IMODELHUBERROR_BASE + 40,\n ConflictsAggregate = IMODELHUBERROR_BASE + 41,\n FailedToGetITwinById = IMODELHUBERROR_BASE + 42,\n\n DatabaseOperationFailed = IMODELHUBERROR_BASE + 43,\n SeedFileInitializationFailed = IMODELHUBERROR_BASE + 44,\n\n FailedToGetAssetPermissions = IMODELHUBERROR_BASE + 45,\n FailedToGetAssetMembers = IMODELHUBERROR_BASE + 46,\n ITwinDoesNotExist = IMODELHUBERROR_BASE + 47,\n\n LockChunkDoesNotExist = IMODELHUBERROR_BASE + 49,\n\n CheckpointAlreadyExists = IMODELHUBERROR_BASE + 50,\n CheckpointDoesNotExist = IMODELHUBERROR_BASE + 51,\n\n // Errors that are returned for incorrect iModelHub request.\n UndefinedArgumentError = IMODELHUBERROR_REQUESTERRORBASE + 1,\n InvalidArgumentError = IMODELHUBERROR_REQUESTERRORBASE + 2,\n MissingDownloadUrlError = IMODELHUBERROR_REQUESTERRORBASE + 3,\n NotSupportedInBrowser = IMODELHUBERROR_REQUESTERRORBASE + 4,\n FileHandlerNotSet = IMODELHUBERROR_REQUESTERRORBASE + 5,\n FileNotFound = IMODELHUBERROR_REQUESTERRORBASE + 6,\n InitializationTimeout = IMODELHUBERROR_REQUESTERRORBASE + 7,\n}\n\n/** GeoServiceStatus errors\n * @public\n */\nexport enum GeoServiceStatus {\n Success = 0,\n GEOSERVICESTATUS_BASE = 0x24000,\n // Error mapped from 'IModelStatus'\n NoGeoLocation = IModelStatus.NoGeoLocation,\n // Following errors are mapped from 'GeoCoordStatus'\n OutOfUsefulRange = GEOSERVICESTATUS_BASE + 1,\n OutOfMathematicalDomain = GEOSERVICESTATUS_BASE + 2,\n NoDatumConverter = GEOSERVICESTATUS_BASE + 3,\n VerticalDatumConvertError = GEOSERVICESTATUS_BASE + 4,\n CSMapError = GEOSERVICESTATUS_BASE + 5,\n Pending = GEOSERVICESTATUS_BASE + 6,\n}\n\n/** Error status from various reality data operations\n * @alpha\n */\nexport enum RealityDataStatus {\n Success = 0,\n REALITYDATA_ERROR_BASE = 0x25000,\n InvalidData = REALITYDATA_ERROR_BASE + 1,\n}\n\n/** A function that returns a metadata object for a [[BentleyError]].\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.\n * @public\n */\nexport type GetMetaDataFunction = () => object | undefined;\n\n/** Optional metadata attached to a [[BentleyError]]. May either be an object or a function that returns an object.\n * If this exception is logged and metadata is present, the metaData object is attached to the log entry via `JSON.stringify`\n * @public\n */\nexport type LoggingMetaData = GetMetaDataFunction | object | undefined;\n\nfunction isObject(obj: unknown): obj is { [key: string]: unknown } {\n return typeof obj === \"object\" && obj !== null;\n}\n\ninterface ErrorProps {\n message: string;\n stack?: string;\n metadata?: object;\n}\n\n/** Base exception class for iTwin.js exceptions.\n * @public\n */\nexport class BentleyError extends Error {\n private readonly _metaData: LoggingMetaData;\n\n /**\n * @param errorNumber The a number that identifies of the problem.\n * @param message message that describes the problem (should not be localized).\n * @param metaData metaData about the exception.\n */\n public constructor(public errorNumber: number, message?: string, metaData?: LoggingMetaData) {\n super(message);\n this.errorNumber = errorNumber;\n this._metaData = metaData;\n this.name = this._initName();\n }\n\n /** Returns true if this BentleyError includes (optional) metadata. */\n public get hasMetaData(): boolean { return undefined !== this._metaData; }\n\n /** get the meta data associated with this BentleyError, if any. */\n public getMetaData(): object | undefined {\n return BentleyError.getMetaData(this._metaData);\n }\n\n /** get the metadata object associated with an ExceptionMetaData, if any. */\n public static getMetaData(metaData: LoggingMetaData): object | undefined {\n return (typeof metaData === \"function\") ? metaData() : metaData;\n }\n\n /** This function returns the name of each error status. Override this method to handle more error status codes. */\n protected _initName(): string {\n switch (this.errorNumber) {\n case IModelStatus.AlreadyLoaded: return \"Already Loaded\";\n case IModelStatus.AlreadyOpen: return \"Already Open\";\n case IModelStatus.BadArg: return \"Bad Arg\";\n case IModelStatus.BadElement: return \"Bad Element\";\n case IModelStatus.BadModel: return \"Bad Model\";\n case IModelStatus.BadRequest: return \"Bad Request\";\n case IModelStatus.BadSchema: return \"Bad Schema\";\n case IModelStatus.CannotUndo: return \"Can not Undo\";\n case IModelStatus.CodeNotReserved: return \"Code Not Reserved\";\n case IModelStatus.DeletionProhibited: return \"Deletion Prohibited\";\n case IModelStatus.DuplicateCode: return \"Duplicate Code\";\n case IModelStatus.DuplicateName: return \"Duplicate Name\";\n case IModelStatus.ElementBlockedChange: return \"Element Blocked Change\";\n case IModelStatus.FileAlreadyExists: return \"File Already Exists\";\n case IModelStatus.FileNotFound: return \"File Not Found\";\n case IModelStatus.FileNotLoaded: return \"File Not Loaded\";\n case IModelStatus.ForeignKeyConstraint: return \"ForeignKey Constraint\";\n case IModelStatus.IdExists: return \"Id Exists\";\n case IModelStatus.InDynamicTransaction: return \"InDynamicTransaction\";\n case IModelStatus.InvalidCategory: return \"Invalid Category\";\n case IModelStatus.InvalidCode: return \"Invalid Code\";\n case IModelStatus.InvalidCodeSpec: return \"Invalid CodeSpec\";\n case IModelStatus.InvalidId: return \"Invalid Id\";\n case IModelStatus.InvalidName: return \"Invalid Name\";\n case IModelStatus.InvalidParent: return \"Invalid Parent\";\n case IModelStatus.InvalidProfileVersion: return \"Invalid Profile Version\";\n case IModelStatus.IsCreatingChangeSet: return \"IsCreatingChangeSet\";\n case IModelStatus.LockNotHeld: return \"Lock Not Held\";\n case IModelStatus.Mismatch2d3d: return \"Mismatch 2d3d\";\n case IModelStatus.MismatchGcs: return \"Mismatch Gcs\";\n case IModelStatus.MissingDomain: return \"Missing Domain\";\n case IModelStatus.MissingHandler: return \"Missing Handler\";\n case IModelStatus.MissingId: return \"Missing Id\";\n case IModelStatus.NoGeometry: return \"No Geometry\";\n case IModelStatus.NoMultiTxnOperation: return \"NoMultiTxnOperation\";\n case IModelStatus.NotEnabled: return \"Not Enabled\";\n case IModelStatus.NotFound: return \"Not Found\";\n case IModelStatus.NotOpen: return \"Not Open\";\n case IModelStatus.NotOpenForWrite: return \"Not Open For Write\";\n case IModelStatus.NotSameUnitBase: return \"Not Same Unit Base\";\n case IModelStatus.NothingToRedo: return \"Nothing To Redo\";\n case IModelStatus.NothingToUndo: return \"Nothing To Undo\";\n case IModelStatus.ParentBlockedChange: return \"Parent Blocked Change\";\n case IModelStatus.ReadError: return \"Read Error\";\n case IModelStatus.ReadOnly: return \"ReadOnly\";\n case IModelStatus.ReadOnlyDomain: return \"ReadOnlyDomain\";\n case IModelStatus.RepositoryManagerError: return \"RepositoryManagerError\";\n case IModelStatus.SQLiteError: return \"SQLiteError\";\n case IModelStatus.TransactionActive: return \"Transaction Active\";\n case IModelStatus.UnitsMissing: return \"Units Missing\";\n case IModelStatus.UnknownFormat: return \"Unknown Format\";\n case IModelStatus.UpgradeFailed: return \"Upgrade Failed\";\n case IModelStatus.ValidationFailed: return \"Validation Failed\";\n case IModelStatus.VersionTooNew: return \"Version Too New\";\n case IModelStatus.VersionTooOld: return \"Version Too Old\";\n case IModelStatus.ViewNotFound: return \"View Not Found\";\n case IModelStatus.WriteError: return \"Write Error\";\n case IModelStatus.WrongClass: return \"Wrong Class\";\n case IModelStatus.WrongIModel: return \"Wrong IModel\";\n case IModelStatus.WrongDomain: return \"Wrong Domain\";\n case IModelStatus.WrongElement: return \"Wrong Element\";\n case IModelStatus.WrongHandler: return \"Wrong Handler\";\n case IModelStatus.WrongModel: return \"Wrong Model\";\n case DbResult.BE_SQLITE_ERROR: return \"BE_SQLITE_ERROR\";\n case DbResult.BE_SQLITE_INTERNAL: return \"BE_SQLITE_INTERNAL\";\n case DbResult.BE_SQLITE_PERM: return \"BE_SQLITE_PERM\";\n case DbResult.BE_SQLITE_ABORT: return \"BE_SQLITE_ABORT\";\n case DbResult.BE_SQLITE_BUSY: return \"Db is busy\";\n case DbResult.BE_SQLITE_LOCKED: return \"Db is Locked\";\n case DbResult.BE_SQLITE_NOMEM: return \"BE_SQLITE_NOMEM\";\n case DbResult.BE_SQLITE_READONLY: return \"Readonly\";\n case DbResult.BE_SQLITE_INTERRUPT: return \"BE_SQLITE_INTERRUPT\";\n case DbResult.BE_SQLITE_IOERR: return \"BE_SQLITE_IOERR\";\n case DbResult.BE_SQLITE_CORRUPT: return \"BE_SQLITE_CORRUPT\";\n case DbResult.BE_SQLITE_NOTFOUND: return \"Not Found\";\n case DbResult.BE_SQLITE_FULL: return \"BE_SQLITE_FULL\";\n case DbResult.BE_SQLITE_CANTOPEN: return \"Can't open\";\n case DbResult.BE_SQLITE_PROTOCOL: return \"BE_SQLITE_PROTOCOL\";\n case DbResult.BE_SQLITE_EMPTY: return \"BE_SQLITE_EMPTY\";\n case DbResult.BE_SQLITE_SCHEMA: return \"BE_SQLITE_SCHEMA\";\n case DbResult.BE_SQLITE_TOOBIG: return \"BE_SQLITE_TOOBIG\";\n case DbResult.BE_SQLITE_MISMATCH: return \"BE_SQLITE_MISMATCH\";\n case DbResult.BE_SQLITE_MISUSE: return \"BE_SQLITE_MISUSE\";\n case DbResult.BE_SQLITE_NOLFS: return \"BE_SQLITE_NOLFS\";\n case DbResult.BE_SQLITE_AUTH: return \"BE_SQLITE_AUTH\";\n case DbResult.BE_SQLITE_FORMAT: return \"BE_SQLITE_FORMAT\";\n case DbResult.BE_SQLITE_RANGE: return \"BE_SQLITE_RANGE\";\n case DbResult.BE_SQLITE_NOTADB: return \"Not a Database\";\n case DbResult.BE_SQLITE_IOERR_READ: return \"BE_SQLITE_IOERR_READ\";\n case DbResult.BE_SQLITE_IOERR_SHORT_READ: return \"BE_SQLITE_IOERR_SHORT_READ\";\n case DbResult.BE_SQLITE_IOERR_WRITE: return \"BE_SQLITE_IOERR_WRITE\";\n case DbResult.BE_SQLITE_IOERR_FSYNC: return \"BE_SQLITE_IOERR_FSYNC\";\n case DbResult.BE_SQLITE_IOERR_DIR_FSYNC: return \"BE_SQLITE_IOERR_DIR_FSYNC\";\n case DbResult.BE_SQLITE_IOERR_TRUNCATE: return \"BE_SQLITE_IOERR_TRUNCATE\";\n case DbResult.BE_SQLITE_IOERR_FSTAT: return \"BE_SQLITE_IOERR_FSTAT\";\n case DbResult.BE_SQLITE_IOERR_UNLOCK: return \"BE_SQLITE_IOERR_UNLOCK\";\n case DbResult.BE_SQLITE_IOERR_RDLOCK: return \"BE_SQLITE_IOERR_RDLOCK\";\n case DbResult.BE_SQLITE_IOERR_DELETE: return \"BE_SQLITE_IOERR_DELETE\";\n case DbResult.BE_SQLITE_IOERR_BLOCKED: return \"BE_SQLITE_IOERR_BLOCKED\";\n case DbResult.BE_SQLITE_IOERR_NOMEM: return \"BE_SQLITE_IOERR_NOMEM\";\n case DbResult.BE_SQLITE_IOERR_ACCESS: return \"BE_SQLITE_IOERR_ACCESS\";\n case DbResult.BE_SQLITE_IOERR_CHECKRESERVEDLOCK: return \"BE_SQLITE_IOERR_CHECKRESERVEDLOCK\";\n case DbResult.BE_SQLITE_IOERR_LOCK: return \"BE_SQLITE_IOERR_LOCK\";\n case DbResult.BE_SQLITE_IOERR_CLOSE: return \"BE_SQLITE_IOERR_CLOSE\";\n case DbResult.BE_SQLITE_IOERR_DIR_CLOSE: return \"BE_SQLITE_IOERR_DIR_CLOSE\";\n case DbResult.BE_SQLITE_IOERR_SHMOPEN: return \"BE_SQLITE_IOERR_SHMOPEN\";\n case DbResult.BE_SQLITE_IOERR_SHMSIZE: return \"BE_SQLITE_IOERR_SHMSIZE\";\n case DbResult.BE_SQLITE_IOERR_SHMLOCK: return \"BE_SQLITE_IOERR_SHMLOCK\";\n case DbResult.BE_SQLITE_IOERR_SHMMAP: return \"BE_SQLITE_IOERR_SHMMAP\";\n case DbResult.BE_SQLITE_IOERR_SEEK: return \"BE_SQLITE_IOERR_SEEK\";\n case DbResult.BE_SQLITE_IOERR_DELETE_NOENT: return \"BE_SQLITE_IOERR_DELETE_NOENT\";\n\n case DbResult.BE_SQLITE_ERROR_DataTransformRequired: return \"Schema update require to transform data\";\n case DbResult.BE_SQLITE_ERROR_FileExists: return \"File Exists\";\n case DbResult.BE_SQLITE_ERROR_AlreadyOpen: return \"Already Open\";\n case DbResult.BE_SQLITE_ERROR_NoPropertyTable: return \"No Property Table\";\n case DbResult.BE_SQLITE_ERROR_FileNotFound: return \"File Not Found\";\n case DbResult.BE_SQLITE_ERROR_NoTxnActive: return \"No Txn Active\";\n case DbResult.BE_SQLITE_ERROR_BadDbProfile: return \"Bad Db Profile\";\n case DbResult.BE_SQLITE_ERROR_InvalidProfileVersion: return \"Invalid Profile Version\";\n case DbResult.BE_SQLITE_ERROR_ProfileUpgradeFailed: return \"Profile Upgrade Failed\";\n case DbResult.BE_SQLITE_ERROR_ProfileTooOldForReadWrite: return \"Profile Too Old For ReadWrite\";\n case DbResult.BE_SQLITE_ERROR_ProfileTooOld: return \"Profile Too Old\";\n case DbResult.BE_SQLITE_ERROR_ProfileTooNewForReadWrite: return \"Profile Too New For ReadWrite\";\n case DbResult.BE_SQLITE_ERROR_ProfileTooNew: return \"Profile Too New\";\n case DbResult.BE_SQLITE_ERROR_ChangeTrackError: return \"ChangeTrack Error\";\n case DbResult.BE_SQLITE_ERROR_InvalidChangeSetVersion: return \"Invalid ChangeSet Version\";\n case DbResult.BE_SQLITE_ERROR_SchemaUpgradeRequired: return \"Schema Upgrade Required\";\n case DbResult.BE_SQLITE_ERROR_SchemaTooNew: return \"Schema Too New\";\n case DbResult.BE_SQLITE_ERROR_SchemaTooOld: return \"Schema Too Old\";\n case DbResult.BE_SQLITE_ERROR_SchemaLockFailed: return \"Schema Lock Failed\";\n case DbResult.BE_SQLITE_ERROR_SchemaUpgradeFailed: return \"Schema Upgrade Failed\";\n case DbResult.BE_SQLITE_ERROR_SchemaImportFailed: return \"Schema Import Failed\";\n case DbResult.BE_SQLITE_ERROR_CouldNotAcquireLocksOrCodes: return \"Could Not Acquire Locks Or Codes\";\n case DbResult.BE_SQLITE_ERROR_SchemaUpgradeRecommended: return \"Recommended that the schemas found in the database be upgraded\";\n case DbResult.BE_SQLITE_LOCKED_SHAREDCACHE: return \"BE_SQLITE_LOCKED_SHAREDCACHE\";\n case DbResult.BE_SQLITE_BUSY_RECOVERY: return \"BE_SQLITE_BUSY_RECOVERY\";\n case DbResult.BE_SQLITE_CANTOPEN_NOTEMPDIR: return \"SQLite No Temp Dir\";\n case DbResult.BE_SQLITE_CANTOPEN_ISDIR: return \"BE_SQLITE_CANTOPEN_ISDIR\";\n case DbResult.BE_SQLITE_CANTOPEN_FULLPATH: return \"BE_SQLITE_CANTOPEN_FULLPATH\";\n case DbResult.BE_SQLITE_CORRUPT_VTAB: return \"BE_SQLITE_CORRUPT_VTAB\";\n case DbResult.BE_SQLITE_READONLY_RECOVERY: return \"BE_SQLITE_READONLY_RECOVERY\";\n case DbResult.BE_SQLITE_READONLY_CANTLOCK: return \"BE_SQLITE_READONLY_CANTLOCK\";\n case DbResult.BE_SQLITE_READONLY_ROLLBACK: return \"BE_SQLITE_READONLY_ROLLBACK\";\n case DbResult.BE_SQLITE_ABORT_ROLLBACK: return \"BE_SQLITE_ABORT_ROLLBACK\";\n case DbResult.BE_SQLITE_CONSTRAINT_CHECK: return \"BE_SQLITE_CONSTRAINT_CHECK\";\n case DbResult.BE_SQLITE_CONSTRAINT_COMMITHOOK: return \"CommitHook Constraint Error\";\n case DbResult.BE_SQLITE_CONSTRAINT_FOREIGNKEY: return \"Foreign Key Constraint Error\";\n case DbResult.BE_SQLITE_CONSTRAINT_FUNCTION: return \"Function Constraint Error\";\n case DbResult.BE_SQLITE_CONSTRAINT_NOTNULL: return \"NotNull Constraint Error\";\n case DbResult.BE_SQLITE_CONSTRAINT_PRIMARYKEY: return \"Primary Key Constraint Error\";\n case DbResult.BE_SQLITE_CONSTRAINT_TRIGGER: return \"Trigger Constraint Error\";\n case DbResult.BE_SQLITE_CONSTRAINT_UNIQUE: return \"Unique Constraint Error\";\n case DbResult.BE_SQLITE_CONSTRAINT_VTAB: return \"VTable Constraint Error\";\n case BentleyStatus.ERROR: return \"Error\";\n case BriefcaseStatus.CannotAcquire: return \"CannotAcquire\";\n case BriefcaseStatus.CannotDownload: return \"CannotDownload\";\n case BriefcaseStatus.CannotCopy: return \"CannotCopy\";\n case BriefcaseStatus.CannotDelete: return \"CannotDelete\";\n case BriefcaseStatus.VersionNotFound: return \"VersionNotFound\";\n case BriefcaseStatus.DownloadCancelled: return \"DownloadCancelled\";\n case BriefcaseStatus.ContainsDeletedChangeSets: return \"ContainsDeletedChangeSets\";\n case RpcInterfaceStatus.IncompatibleVersion: return \"RpcInterfaceStatus.IncompatibleVersion\";\n case ChangeSetStatus.ApplyError: return \"Error applying a change set\";\n case ChangeSetStatus.ChangeTrackingNotEnabled: return \"Change tracking has not been enabled. The ChangeSet API mandates this\";\n case ChangeSetStatus.CorruptedChangeStream: return \"Contents of the change stream are corrupted and does not match the ChangeSet\";\n case ChangeSetStatus.FileNotFound: return \"File containing the changes was not found\";\n case ChangeSetStatus.FileWriteError: return \"Error writing the contents of the change set to the backing change stream file\";\n case ChangeSetStatus.HasLocalChanges: return \"Cannot perform the operation since the Db has local changes\";\n case ChangeSetStatus.HasUncommittedChanges: return \"Cannot perform the operation since current transaction has uncommitted changes\";\n case ChangeSetStatus.InvalidId: return \"Invalid ChangeSet Id\";\n case ChangeSetStatus.InvalidVersion: return \"Invalid version of the change set\";\n case ChangeSetStatus.InDynamicTransaction: return \"Cannot perform the operation since system is in the middle of a dynamic transaction\";\n case ChangeSetStatus.IsCreatingChangeSet: return \"Cannot perform operation since system is in the middle of a creating a change set\";\n case ChangeSetStatus.IsNotCreatingChangeSet: return \"Cannot perform operation since the system is not creating a change set\";\n case ChangeSetStatus.MergePropagationError: return \"Error propagating the changes after the merge\";\n case ChangeSetStatus.NothingToMerge: return \"No change sets to merge\";\n case ChangeSetStatus.NoTransactions: return \"No transactions are available to create a change set\";\n case ChangeSetStatus.ParentMismatch: return \"Parent change set of the Db does not match the parent id of the change set\";\n case ChangeSetStatus.SQLiteError: return \"Error performing a SQLite operation on the Db\";\n case ChangeSetStatus.WrongDgnDb: return \"ChangeSet originated in a different Db\";\n case ChangeSetStatus.CouldNotOpenDgnDb: return \"Could not open the DgnDb to merge change set\";\n case ChangeSetStatus.MergeSchemaChangesOnOpen: return \"Cannot merge changes in in an open DgnDb. Close the DgnDb, and process the operation when it is opened\";\n case ChangeSetStatus.ReverseOrReinstateSchemaChanges: return \"Cannot reverse or reinstate schema changes.\";\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\";\n case ChangeSetStatus.CannotMergeIntoReadonly: return \"Cannot merge changes into a Readonly DgnDb\";\n case ChangeSetStatus.CannotMergeIntoMaster: return \"Cannot merge changes into a Master DgnDb\";\n case ChangeSetStatus.CannotMergeIntoReversed: return \"Cannot merge changes into a DgnDb that has reversed change sets\";\n case ChangeSetStatus.DownloadCancelled: return \"ChangeSet(s) download was cancelled.\";\n case RepositoryStatus.ServerUnavailable: return \"ServerUnavailable\";\n case RepositoryStatus.LockAlreadyHeld: return \"LockAlreadyHeld\";\n case RepositoryStatus.SyncError: return \"SyncError\";\n case RepositoryStatus.InvalidResponse: return \"InvalidResponse\";\n case RepositoryStatus.PendingTransactions: return \"PendingTransactions\";\n case RepositoryStatus.LockUsed: return \"LockUsed\";\n case RepositoryStatus.CannotCreateChangeSet: return \"CannotCreateChangeSet\";\n case RepositoryStatus.InvalidRequest: return \"InvalidRequest\";\n case RepositoryStatus.ChangeSetRequired: return \"ChangeSetRequired\";\n case RepositoryStatus.CodeUnavailable: return \"CodeUnavailable\";\n case RepositoryStatus.CodeNotReserved: return \"CodeNotReserved\";\n case RepositoryStatus.CodeUsed: return \"CodeUsed\";\n case RepositoryStatus.LockNotHeld: return \"LockNotHeld\";\n case RepositoryStatus.RepositoryIsLocked: return \"RepositoryIsLocked\";\n case RepositoryStatus.ChannelConstraintViolation: return \"ChannelConstraintViolation\";\n case HttpStatus.Info: return \"HTTP Info\";\n case HttpStatus.Redirection: return \"HTTP Redirection\";\n case HttpStatus.ClientError: return \"HTTP Client error\";\n case HttpStatus.ServerError: return \"HTTP Server error\";\n case IModelHubStatus.Unknown: return \"Unknown error\";\n case IModelHubStatus.MissingRequiredProperties: return \"Missing required properties\";\n case IModelHubStatus.InvalidPropertiesValues: return \"Invalid properties values\";\n case IModelHubStatus.UserDoesNotHavePermission: return \"User does not have permission\";\n case IModelHubStatus.UserDoesNotHaveAccess: return \"User does not have access\";\n case IModelHubStatus.InvalidBriefcase: return \"Invalid briefcase\";\n case IModelHubStatus.BriefcaseDoesNotExist: return \"Briefcase does not exist\";\n case IModelHubStatus.BriefcaseDoesNotBelongToUser: return \"Briefcase does not belong to user\";\n case IModelHubStatus.AnotherUserPushing: return \"Another user pushing\";\n case IModelHubStatus.ChangeSetAlreadyExists: return \"ChangeSet already exists\";\n case IModelHubStatus.ChangeSetDoesNotExist: return \"ChangeSet does not exist\";\n case IModelHubStatus.FileIsNotUploaded: return \"File is not uploaded\";\n case IModelHubStatus.iModelIsNotInitialized: return \"iModel is not initialized\";\n case IModelHubStatus.ChangeSetPointsToBadSeed: return \"ChangeSet points to a bad seed file\";\n case IModelHubStatus.OperationFailed: return \"iModelHub operation has failed\";\n case IModelHubStatus.PullIsRequired: return \"Pull is required\";\n case IModelHubStatus.MaximumNumberOfBriefcasesPerUser: return \"Limit of briefcases per user was reached\";\n case IModelHubStatus.MaximumNumberOfBriefcasesPerUserPerMinute: return \"Limit of briefcases per user per minute was reached\";\n case IModelHubStatus.DatabaseTemporarilyLocked: return \"Database is temporarily locked\";\n case IModelHubStatus.iModelIsLocked: return \"iModel is locked\";\n case IModelHubStatus.CodesExist: return \"Code already exists\";\n case IModelHubStatus.LocksExist: return \"Lock already exists\";\n case IModelHubStatus.iModelAlreadyExists: return \"iModel already exists\";\n case IModelHubStatus.iModelDoesNotExist: return \"iModel does not exist\";\n case IModelHubStatus.LockDoesNotExist: return \"Lock does not exist\";\n case IModelHubStatus.LockChunkDoesNotExist: return \"Lock chunk does not exist\";\n case IModelHubStatus.LockOwnedByAnotherBriefcase: return \"Lock is owned by another briefcase\";\n case IModelHubStatus.CodeStateInvalid: return \"Code state is invalid\";\n case IModelHubStatus.CodeReservedByAnotherBriefcase: return \"Code is reserved by another briefcase\";\n case IModelHubStatus.CodeDoesNotExist: return \"Code does not exist\";\n case IModelHubStatus.FileDoesNotExist: return \"File does not exist\";\n case IModelHubStatus.FileAlreadyExists: return \"File already exists\";\n case IModelHubStatus.EventTypeDoesNotExist: return \"Event type does not exist\";\n case IModelHubStatus.EventSubscriptionDoesNotExist: return \"Event subscription does not exist\";\n case IModelHubStatus.EventSubscriptionAlreadyExists: return \"Event subscription already exists\";\n case IModelHubStatus.ITwinIdIsNotSpecified: return \"ITwin Id is not specified\";\n case IModelHubStatus.FailedToGetITwinPermissions: return \"Failed to get iTwin permissions\";\n case IModelHubStatus.FailedToGetITwinMembers: return \"Failed to get iTwin members\";\n case IModelHubStatus.FailedToGetAssetPermissions: return \"Failed to get asset permissions\";\n case IModelHubStatus.FailedToGetAssetMembers: return \"Failed to get asset members\";\n case IModelHubStatus.ChangeSetAlreadyHasVersion: return \"ChangeSet already has version\";\n case IModelHubStatus.VersionAlreadyExists: return \"Version already exists\";\n case IModelHubStatus.JobSchedulingFailed: return \"Failed to schedule a background job\";\n case IModelHubStatus.ConflictsAggregate: return \"Codes or locks are owned by another briefcase\";\n case IModelHubStatus.FailedToGetITwinById: return \"Failed to query iTwin by its id\";\n case IModelHubStatus.DatabaseOperationFailed: return \"Database operation has failed\";\n case IModelHubStatus.ITwinDoesNotExist: return \"ITwin does not exist\";\n case IModelHubStatus.UndefinedArgumentError: return \"Undefined argument\";\n case IModelHubStatus.InvalidArgumentError: return \"Invalid argument\";\n case IModelHubStatus.MissingDownloadUrlError: return \"Missing download url\";\n case IModelHubStatus.NotSupportedInBrowser: return \"Not supported in browser\";\n case IModelHubStatus.FileHandlerNotSet: return \"File handler is not set\";\n case IModelHubStatus.FileNotFound: return \"File not found\";\n case GeoServiceStatus.NoGeoLocation: return \"No GeoLocation\";\n case GeoServiceStatus.OutOfUsefulRange: return \"Out of useful range\";\n case GeoServiceStatus.OutOfMathematicalDomain: return \"Out of mathematical domain\";\n case GeoServiceStatus.NoDatumConverter: return \"No datum converter\";\n case GeoServiceStatus.VerticalDatumConvertError: return \"Vertical datum convert error\";\n case GeoServiceStatus.CSMapError: return \"CSMap error\";\n case GeoServiceStatus.Pending: return \"Pending\";\n case RealityDataStatus.InvalidData: return \"Invalid or unknown data\";\n case DbResult.BE_SQLITE_OK:\n case DbResult.BE_SQLITE_ROW:\n case DbResult.BE_SQLITE_DONE:\n case BentleyStatus.SUCCESS:\n return \"Success\";\n\n default:\n return `Error (${this.errorNumber})`;\n }\n }\n\n /** Use run-time type checking to safely get a useful string summary of an unknown error value, or `\"\"` if none exists.\n * @note It's recommended to use this function in `catch` clauses, where a caught value cannot be assumed to be `instanceof Error`\n * @public\n */\n public static getErrorMessage(error: unknown): string {\n if (typeof error === \"string\")\n return error;\n\n if (error instanceof Error)\n return error.toString();\n\n if (isObject(error)) {\n if (typeof error.message === \"string\")\n return error.message;\n\n if (typeof error.msg === \"string\")\n return error.msg;\n\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\n if (error.toString() !== \"[object Object]\")\n return error.toString(); // eslint-disable-line @typescript-eslint/no-base-to-string\n }\n\n return \"\";\n }\n\n /** Use run-time type checking to safely get the call stack of an unknown error value, if possible.\n * @note It's recommended to use this function in `catch` clauses, where a caught value cannot be assumed to be `instanceof Error`\n * @public\n */\n public static getErrorStack(error: unknown): string | undefined {\n if (isObject(error) && typeof error.stack === \"string\")\n return error.stack;\n\n return undefined;\n }\n\n /** Use run-time type checking to safely get the metadata with an unknown error value, if possible.\n * @note It's recommended to use this function in `catch` clauses, where a caught value cannot be assumed to be `instanceof BentleyError`\n * @see [[BentleyError.getMetaData]]\n * @public\n */\n public static getErrorMetadata(error: unknown): object | undefined {\n if (isObject(error) && typeof error.getMetaData === \"function\") {\n const metadata = error.getMetaData();\n if (typeof metadata === \"object\" && metadata !== null)\n return metadata;\n }\n\n return undefined;\n }\n\n /** Returns a new `ErrorProps` object representing an unknown error value. Useful for logging or wrapping/re-throwing caught errors.\n * @note Unlike `Error` objects (which lose messages and call stacks when serialized to JSON), objects\n * returned by this are plain old JavaScript objects, and can be easily logged/serialized to JSON.\n * @public\n */\n public static getErrorProps(error: unknown): ErrorProps {\n const serialized: ErrorProps = {\n message: BentleyError.getErrorMessage(error),\n };\n\n const stack = BentleyError.getErrorStack(error);\n if (stack)\n serialized.stack = stack;\n\n const metadata = BentleyError.getErrorMetadata(error);\n if (metadata)\n serialized.metadata = metadata;\n\n return serialized;\n }\n}\n\n"]}
@@ -15,6 +15,9 @@ import { Id64 } from "./Id";
15
15
  * @public
16
16
  */
17
17
  export class ByteStream {
18
+ _view;
19
+ _byteOffset;
20
+ _curPos = 0;
18
21
  /** Construct a new ByteStream with the read position set to the beginning.
19
22
  * @param buffer The underlying buffer from which data is to be extracted.
20
23
  * @param subView If defined, specifies the subset of the underlying buffer's data to use.
@@ -29,7 +32,6 @@ export class ByteStream {
29
32
  * For both of the above reasons, this constructor is private, and [[fromUint8Array]] or [[fromArrayBuffer]] should be used to create a ByteStream.
30
33
  */
31
34
  constructor(buffer, subView) {
32
- this._curPos = 0;
33
35
  if (undefined !== subView) {
34
36
  this._view = new DataView(buffer, subView.byteOffset, subView.byteLength);
35
37
  this._byteOffset = subView.byteOffset;