@itwin/core-bentley 5.0.0-dev.10 → 5.0.0-dev.102

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 (142) hide show
  1. package/CHANGELOG.md +56 -1
  2. package/lib/cjs/BeEvent.js +3 -7
  3. package/lib/cjs/BeEvent.js.map +1 -1
  4. package/lib/cjs/BentleyError.d.ts +84 -1
  5. package/lib/cjs/BentleyError.d.ts.map +1 -1
  6. package/lib/cjs/BentleyError.js +72 -11
  7. package/lib/cjs/BentleyError.js.map +1 -1
  8. package/lib/cjs/ByteStream.d.ts +3 -22
  9. package/lib/cjs/ByteStream.d.ts.map +1 -1
  10. package/lib/cjs/ByteStream.js +7 -21
  11. package/lib/cjs/ByteStream.js.map +1 -1
  12. package/lib/cjs/Compare.d.ts +15 -0
  13. package/lib/cjs/Compare.d.ts.map +1 -1
  14. package/lib/cjs/Compare.js +48 -0
  15. package/lib/cjs/Compare.js.map +1 -1
  16. package/lib/cjs/CompressedId64Set.js +6 -3
  17. package/lib/cjs/CompressedId64Set.js.map +1 -1
  18. package/lib/cjs/Dictionary.js +8 -3
  19. package/lib/cjs/Dictionary.js.map +1 -1
  20. package/lib/cjs/Disposable.d.ts +18 -0
  21. package/lib/cjs/Disposable.d.ts.map +1 -1
  22. package/lib/cjs/Disposable.js +25 -25
  23. package/lib/cjs/Disposable.js.map +1 -1
  24. package/lib/cjs/Id.d.ts +0 -4
  25. package/lib/cjs/Id.d.ts.map +1 -1
  26. package/lib/cjs/Id.js +9 -11
  27. package/lib/cjs/Id.js.map +1 -1
  28. package/lib/cjs/IndexMap.js +6 -1
  29. package/lib/cjs/IndexMap.js.map +1 -1
  30. package/lib/cjs/JsonUtils.d.ts +4 -0
  31. package/lib/cjs/JsonUtils.d.ts.map +1 -1
  32. package/lib/cjs/JsonUtils.js +6 -1
  33. package/lib/cjs/JsonUtils.js.map +1 -1
  34. package/lib/cjs/LRUMap.js +16 -0
  35. package/lib/cjs/LRUMap.js.map +1 -1
  36. package/lib/cjs/Logger.d.ts +26 -3
  37. package/lib/cjs/Logger.d.ts.map +1 -1
  38. package/lib/cjs/Logger.js +33 -9
  39. package/lib/cjs/Logger.js.map +1 -1
  40. package/lib/cjs/ObservableSet.js +6 -6
  41. package/lib/cjs/ObservableSet.js.map +1 -1
  42. package/lib/cjs/OneAtATimeAction.js +9 -0
  43. package/lib/cjs/OneAtATimeAction.js.map +1 -1
  44. package/lib/cjs/OrderedSet.js +1 -0
  45. package/lib/cjs/OrderedSet.js.map +1 -1
  46. package/lib/cjs/PriorityQueue.js +3 -1
  47. package/lib/cjs/PriorityQueue.js.map +1 -1
  48. package/lib/cjs/SortedArray.js +4 -1
  49. package/lib/cjs/SortedArray.js.map +1 -1
  50. package/lib/cjs/StatusCategory.js +42 -105
  51. package/lib/cjs/StatusCategory.js.map +1 -1
  52. package/lib/cjs/Time.js +5 -0
  53. package/lib/cjs/Time.js.map +1 -1
  54. package/lib/cjs/Tracing.js +2 -0
  55. package/lib/cjs/Tracing.js.map +1 -1
  56. package/lib/cjs/TupleKeyedMap.js +2 -2
  57. package/lib/cjs/TupleKeyedMap.js.map +1 -1
  58. package/lib/cjs/TypedArrayBuilder.js +8 -0
  59. package/lib/cjs/TypedArrayBuilder.js.map +1 -1
  60. package/lib/cjs/UnexpectedErrors.js +10 -12
  61. package/lib/cjs/UnexpectedErrors.js.map +1 -1
  62. package/lib/cjs/YieldManager.js +3 -1
  63. package/lib/cjs/YieldManager.js.map +1 -1
  64. package/lib/cjs/internal/cross-package.d.ts +0 -1
  65. package/lib/cjs/internal/cross-package.d.ts.map +1 -1
  66. package/lib/cjs/internal/cross-package.js +1 -3
  67. package/lib/cjs/internal/cross-package.js.map +1 -1
  68. package/lib/esm/BeEvent.js +3 -7
  69. package/lib/esm/BeEvent.js.map +1 -1
  70. package/lib/esm/BentleyError.d.ts +84 -1
  71. package/lib/esm/BentleyError.d.ts.map +1 -1
  72. package/lib/esm/BentleyError.js +71 -10
  73. package/lib/esm/BentleyError.js.map +1 -1
  74. package/lib/esm/ByteStream.d.ts +3 -22
  75. package/lib/esm/ByteStream.d.ts.map +1 -1
  76. package/lib/esm/ByteStream.js +7 -21
  77. package/lib/esm/ByteStream.js.map +1 -1
  78. package/lib/esm/Compare.d.ts +15 -0
  79. package/lib/esm/Compare.d.ts.map +1 -1
  80. package/lib/esm/Compare.js +46 -0
  81. package/lib/esm/Compare.js.map +1 -1
  82. package/lib/esm/CompressedId64Set.js +6 -3
  83. package/lib/esm/CompressedId64Set.js.map +1 -1
  84. package/lib/esm/Dictionary.js +8 -3
  85. package/lib/esm/Dictionary.js.map +1 -1
  86. package/lib/esm/Disposable.d.ts +18 -0
  87. package/lib/esm/Disposable.d.ts.map +1 -1
  88. package/lib/esm/Disposable.js +24 -25
  89. package/lib/esm/Disposable.js.map +1 -1
  90. package/lib/esm/Id.d.ts +0 -4
  91. package/lib/esm/Id.d.ts.map +1 -1
  92. package/lib/esm/Id.js +9 -11
  93. package/lib/esm/Id.js.map +1 -1
  94. package/lib/esm/IndexMap.js +6 -1
  95. package/lib/esm/IndexMap.js.map +1 -1
  96. package/lib/esm/JsonUtils.d.ts +4 -0
  97. package/lib/esm/JsonUtils.d.ts.map +1 -1
  98. package/lib/esm/JsonUtils.js +6 -1
  99. package/lib/esm/JsonUtils.js.map +1 -1
  100. package/lib/esm/LRUMap.js +16 -0
  101. package/lib/esm/LRUMap.js.map +1 -1
  102. package/lib/esm/Logger.d.ts +26 -3
  103. package/lib/esm/Logger.d.ts.map +1 -1
  104. package/lib/esm/Logger.js +33 -9
  105. package/lib/esm/Logger.js.map +1 -1
  106. package/lib/esm/ObservableSet.js +6 -6
  107. package/lib/esm/ObservableSet.js.map +1 -1
  108. package/lib/esm/OneAtATimeAction.js +9 -0
  109. package/lib/esm/OneAtATimeAction.js.map +1 -1
  110. package/lib/esm/OrderedSet.js +1 -0
  111. package/lib/esm/OrderedSet.js.map +1 -1
  112. package/lib/esm/PriorityQueue.js +3 -1
  113. package/lib/esm/PriorityQueue.js.map +1 -1
  114. package/lib/esm/SortedArray.js +4 -1
  115. package/lib/esm/SortedArray.js.map +1 -1
  116. package/lib/esm/StatusCategory.js +42 -105
  117. package/lib/esm/StatusCategory.js.map +1 -1
  118. package/lib/esm/Time.js +5 -0
  119. package/lib/esm/Time.js.map +1 -1
  120. package/lib/esm/Tracing.js +2 -0
  121. package/lib/esm/Tracing.js.map +1 -1
  122. package/lib/esm/TupleKeyedMap.js +2 -2
  123. package/lib/esm/TupleKeyedMap.js.map +1 -1
  124. package/lib/esm/TypedArrayBuilder.js +8 -0
  125. package/lib/esm/TypedArrayBuilder.js.map +1 -1
  126. package/lib/esm/UnexpectedErrors.js +10 -12
  127. package/lib/esm/UnexpectedErrors.js.map +1 -1
  128. package/lib/esm/YieldManager.js +3 -1
  129. package/lib/esm/YieldManager.js.map +1 -1
  130. package/lib/esm/internal/cross-package.d.ts +0 -1
  131. package/lib/esm/internal/cross-package.d.ts.map +1 -1
  132. package/lib/esm/internal/cross-package.js +0 -1
  133. package/lib/esm/internal/cross-package.js.map +1 -1
  134. package/package.json +8 -8
  135. package/lib/cjs/internal/staticLoggerMetadata.d.ts +0 -11
  136. package/lib/cjs/internal/staticLoggerMetadata.d.ts.map +0 -1
  137. package/lib/cjs/internal/staticLoggerMetadata.js +0 -17
  138. package/lib/cjs/internal/staticLoggerMetadata.js.map +0 -1
  139. package/lib/esm/internal/staticLoggerMetadata.d.ts +0 -11
  140. package/lib/esm/internal/staticLoggerMetadata.d.ts.map +0 -1
  141. package/lib/esm/internal/staticLoggerMetadata.js +0 -14
  142. package/lib/esm/internal/staticLoggerMetadata.js.map +0 -1
@@ -1,6 +1,51 @@
1
1
  /** @packageDocumentation
2
2
  * @module Errors
3
3
  */
4
+ import { Optional } from "./UtilityTypes";
5
+ /** Uniquely identifies a specific kind of [[ITwinError]].
6
+ * @beta
7
+ */
8
+ export interface ITwinErrorId {
9
+ /** A "namespace" serving as a qualifier for the [[key]]. It should be specific enough to ensure uniqueness across all applications.
10
+ * For example, all errors originating from a given package should use that package's full name as their scope.
11
+ */
12
+ readonly scope: string;
13
+ /** Uniquely identifies a specific kind of [[ITwinError]] within the [[scope]]. */
14
+ readonly key: string;
15
+ }
16
+ /** The interface that all exceptions thrown by iTwin.js libraries and applications should implement.
17
+ * Specific kinds of `ITwinError`s are identified by an [[ITwinErrorId]] that allows programmers to identify errors when they are caught without relying
18
+ * on specific class hierarchies, which is especially important when errors are marshalled across process boundaries.
19
+ * You can extend `ITwinError` to add properties that provide programmers with additional context for a particular kind of error.
20
+ * When catching errors, programmers can use [[isError]] to determine if the error is of a specific sub-type, and if so access the
21
+ * additional properties.
22
+ * Those additional properties will also be logged as metadata by [[Logger.logException]].
23
+ * @beta
24
+ */
25
+ export interface ITwinError extends Error {
26
+ /** Uniquely identifies the kind of error. */
27
+ readonly iTwinErrorId: ITwinErrorId;
28
+ }
29
+ /** @beta */
30
+ export declare namespace ITwinError {
31
+ /** Instantiate a new `ITwinError` or subtype thereof.
32
+ * @see [[ITwinError.throwError]] to conveniently instantiate and throw the error.
33
+ */
34
+ function create<T extends ITwinError>(args: Optional<T, "name">): T;
35
+ /** Instantiate and immediately throw an `ITwinError`.
36
+ * @see [[ITwinError.create]] to instantiate an error without throwing it.
37
+ */
38
+ function throwError<T extends ITwinError>(args: Optional<T, "name">): never;
39
+ /**
40
+ * Determine whether an error object was thrown by iTwin.js and has a specific scope and key.
41
+ *
42
+ * If the test succeeds, the type of `error` is coerced to `T`
43
+ * @param error The error to ve verified.
44
+ * @param scope value for `error.iTwinErrorId.scope`
45
+ * @param key value for `error.iTwinErrorId.key`
46
+ */
47
+ function isError<T extends ITwinError>(error: unknown, scope: string, key?: string): error is T;
48
+ }
4
49
  /** Standard status code.
5
50
  * This status code should be rarely used.
6
51
  * Prefer to throw an exception to indicate an error, rather than returning a special status code.
@@ -265,6 +310,9 @@ export declare enum GeoServiceStatus {
265
310
  NoDatumConverter = 147459,
266
311
  VerticalDatumConvertError = 147460,
267
312
  CSMapError = 147461,
313
+ /**
314
+ * @deprecated in 5.0. This status is never returned.
315
+ */
268
316
  Pending = 147462
269
317
  }
270
318
  /** Error status from various reality data operations
@@ -290,11 +338,29 @@ interface ErrorProps {
290
338
  stack?: string;
291
339
  metadata?: object;
292
340
  }
293
- /** Base exception class for iTwin.js exceptions.
341
+ /**
342
+ * An [[ITwinError]] that also supplies an `errorNumber`.
343
+ * @note this interface exists *only* for legacy errors derived from `BentleyError`. The concept of "error number" is
344
+ * problematic since it is impossible to enforce across the iTwin.js library, let alone across applications. New code should
345
+ * use `ITwinError` and identify errors with strings instead.
346
+ * @beta */
347
+ export interface LegacyITwinErrorWithNumber extends ITwinError {
348
+ /** a number to identify the error. */
349
+ readonly errorNumber: number;
350
+ /** Logging metadata
351
+ * @note exceptions should *not* include logging data. Logging should be done where exceptions are caught. This member exists
352
+ * only for backwards compatibility.
353
+ */
354
+ loggingMetadata?: object;
355
+ }
356
+ /**
357
+ * Base exception class for legacy iTwin.js errors.
358
+ * For backwards compatibility only. Do not create new subclasses of BentleyError. Instead use [[ITwinError]].
294
359
  * @public
295
360
  */
296
361
  export declare class BentleyError extends Error {
297
362
  errorNumber: number;
363
+ static readonly iTwinErrorScope = "bentley-error";
298
364
  private readonly _metaData;
299
365
  /**
300
366
  * @param errorNumber The a number that identifies of the problem.
@@ -302,6 +368,21 @@ export declare class BentleyError extends Error {
302
368
  * @param metaData metaData about the exception.
303
369
  */
304
370
  constructor(errorNumber: number, message?: string, metaData?: LoggingMetaData);
371
+ /** supply the value for iTwinErrorId */
372
+ get iTwinErrorId(): {
373
+ scope: string;
374
+ key: string;
375
+ };
376
+ /** value for logging metadata */
377
+ get loggingMetadata(): object | undefined;
378
+ /**
379
+ * Determine if an error object implements the `LegacyITwinErrorWithNumber` interface.
380
+ *
381
+ * If the test succeeds, the type of `error` is coerced to `T`
382
+ * @note this method does *not* test that the object is an `instanceOf BentleyError`.
383
+ * @beta
384
+ */
385
+ static isError<T extends LegacyITwinErrorWithNumber>(error: unknown, errorNumber?: number): error is T;
305
386
  /** Returns true if this BentleyError includes (optional) metadata. */
306
387
  get hasMetaData(): boolean;
307
388
  /** get the meta data associated with this BentleyError, if any. */
@@ -310,6 +391,8 @@ export declare class BentleyError extends Error {
310
391
  static getMetaData(metaData: LoggingMetaData): object | undefined;
311
392
  /** This function returns the name of each error status. Override this method to handle more error status codes. */
312
393
  protected _initName(): string;
394
+ /** This function returns the name of each error status. */
395
+ static getErrorKey(errorNumber: number): string;
313
396
  /** Use run-time type checking to safely get a useful string summary of an unknown error value, or `""` if none exists.
314
397
  * @note It's recommended to use this function in `catch` clauses, where a caught value cannot be assumed to be `instanceof Error`
315
398
  * @public
@@ -1 +1 @@
1
- {"version":3,"file":"BentleyError.d.ts","sourceRoot":"","sources":["../../src/BentleyError.ts"],"names":[],"mappings":"AAIA;;GAEG;AAKH;;;;;GAKG;AACH,oBAAY,aAAa;IACvB,OAAO,IAAS;IAChB,KAAK,QAAS;CACf;AAED;;;GAGG;AACH,oBAAY,YAAY;IACtB,iBAAiB,QAAU;IAC3B,OAAO,IAAI;IACX,aAAa,QAAwB;IACrC,WAAW,QAAwB;IACnC,MAAM,QAAwB;IAC9B,UAAU,QAAwB;IAClC,QAAQ,QAAwB;IAChC,UAAU,QAAwB;IAClC,SAAS,QAAwB;IACjC,UAAU,QAAwB;IAClC,eAAe,QAAwB;IACvC,kBAAkB,QAAyB;IAC3C,aAAa,QAAyB;IACtC,aAAa,QAAyB;IACtC,oBAAoB,QAAyB;IAC7C,iBAAiB,QAAyB;IAC1C,YAAY,QAAyB;IACrC,aAAa,QAAyB;IACtC,oBAAoB,QAAyB;IAC7C,QAAQ,QAAyB;IACjC,oBAAoB,QAAyB;IAC7C,eAAe,QAAyB;IACxC,WAAW,QAAyB;IACpC,eAAe,QAAyB;IACxC,SAAS,QAAyB;IAClC,WAAW,QAAyB;IACpC,aAAa,QAAyB;IACtC,qBAAqB,QAAyB;IAC9C,mBAAmB,QAAyB;IAC5C,WAAW,QAAyB;IACpC,YAAY,QAAyB;IACrC,WAAW,QAAyB;IACpC,aAAa,QAAyB;IACtC,cAAc,QAAyB;IACvC,SAAS,QAAyB;IAClC,UAAU,QAAyB;IACnC,mBAAmB,QAAyB;IAC5C,UAAU,QAAyB;IACnC,QAAQ,QAAyB;IACjC,OAAO,QAAyB;IAChC,eAAe,QAAyB;IACxC,eAAe,QAAyB;IACxC,aAAa,QAAyB;IACtC,aAAa,QAAyB;IACtC,mBAAmB,QAAyB;IAC5C,SAAS,QAAyB;IAClC,QAAQ,QAAyB;IACjC,cAAc,QAAyB;IACvC,sBAAsB,QAAyB;IAC/C,WAAW,QAAyB;IACpC,iBAAiB,QAAyB;IAC1C,YAAY,QAAyB;IACrC,aAAa,QAAyB;IACtC,aAAa,QAAyB;IACtC,gBAAgB,QAAyB;IACzC,aAAa,QAAyB;IACtC,aAAa,QAAyB;IACtC,YAAY,QAAyB;IACrC,UAAU,QAAyB;IACnC,UAAU,QAAyB;IACnC,WAAW,QAAyB;IACpC,WAAW,QAAyB;IACpC,YAAY,QAAyB;IACrC,YAAY,QAAyB;IACrC,UAAU,QAAyB;IACnC,mBAAmB,QAAyB;IAC5C,aAAa,QAAyB;IACtC,aAAa,QAAyB;IACtC,SAAS,QAAyB;IAClC,aAAa,QAAyB;IACtC,gBAAgB,QAAyB;IACzC,eAAe,QAAyB;IACxC,OAAO,QAAyB;CACjC;AAED;;GAEG;AACH,oBAAY,eAAe;IACzB,qBAAqB,SAAU;IAC/B,aAAa,SAAwB;IACrC,cAAc,SAA4B;IAC1C,YAAY,SAA4B;IACxC,UAAU,SAA4B;IACtC,YAAY,SAA4B;IACxC,eAAe,SAA4B;IAC3C,kBAAkB,SAA4B;IAC9C,iBAAiB,SAA4B;IAC7C,yBAAyB,SAA4B;CACtD;AAED;;GAEG;AACH,oBAAY,kBAAkB;IAC5B,OAAO,IAAI;IACX,wBAAwB,SAAU;IAClC,6GAA6G;IAC7G,mBAAmB,SAA2B;CAC/C;AAED;;GAEG;AACH,oBAAY,eAAe;IACzB,OAAO,IAAI;IACX,oBAAoB,QAAU;IAC9B,mEAAmE;IACnE,UAAU,QAA2B;IACrC,6EAA6E;IAC7E,wBAAwB,QAA2B;IACnD,mFAAmF;IACnF,qBAAqB,QAA2B;IAChD,iEAAiE;IACjE,YAAY,QAA2B;IACvC,qFAAqF;IACrF,cAAc,QAA2B;IACzC,mEAAmE;IACnE,eAAe,QAA2B;IAC1C,sFAAsF;IACtF,qBAAqB,QAA2B;IAChD,4BAA4B;IAC5B,SAAS,QAA2B;IACpC,yCAAyC;IACzC,cAAc,QAA2B;IACzC,0FAA0F;IAC1F,oBAAoB,QAA4B;IAChD,wFAAwF;IACxF,mBAAmB,QAA4B;IAC/C,6EAA6E;IAC7E,sBAAsB,QAA4B;IAClD,oDAAoD;IACpD,qBAAqB,QAA4B;IACjD,8BAA8B;IAC9B,cAAc,QAA4B;IAC1C,2DAA2D;IAC3D,cAAc,QAA4B;IAC1C,iFAAiF;IACjF,cAAc,QAA4B;IAC1C,oDAAoD;IACpD,WAAW,QAA4B;IACvC,6CAA6C;IAC7C,UAAU,QAA4B;IACtC,mDAAmD;IACnD,iBAAiB,QAA4B;IAC7C,8GAA8G;IAC9G,wBAAwB,QAA4B;IACpD,kDAAkD;IAClD,+BAA+B,QAA4B;IAC3D,4HAA4H;IAC5H,0BAA0B,QAA4B;IACtD,kDAAkD;IAClD,uBAAuB,QAA4B;IACnD,iDAAiD;IACjD,qBAAqB,QAA4B;IACjD,uEAAuE;IACvE,uBAAuB,QAA4B;IACnD,2CAA2C;IAC3C,iBAAiB,QAA4B;CAC9C;AAED;;GAEG;AACH,oBAAY,UAAU;IACpB,kBAAkB;IAClB,OAAO,IAAI;IACX,kCAAkC;IAClC,IAAI,QAAU;IACd,sBAAsB;IACtB,WAAW,QAAU;IACrB,wBAAwB;IACxB,WAAW,QAAU;IACrB,wBAAwB;IACxB,WAAW,QAAU;CACtB;AAED;;GAEG;AACH,oBAAY,eAAe;IACzB,OAAO,IAAI;IACX,mBAAmB,SAAU;IAC7B,+BAA+B,SAAU;IACzC,OAAO,SAA0B;IACjC,yBAAyB,SAA0B;IACnD,uBAAuB,SAA0B;IACjD,yBAAyB,SAA0B;IACnD,qBAAqB,SAA0B;IAC/C,gBAAgB,SAA0B;IAC1C,qBAAqB,SAA0B;IAC/C,4BAA4B,SAA0B;IACtD,kBAAkB,SAA0B;IAC5C,sBAAsB,SAA2B;IACjD,qBAAqB,SAA2B;IAChD,iBAAiB,SAA2B;IAC5C,sBAAsB,SAA2B;IACjD,wBAAwB,SAA2B;IACnD,eAAe,SAA2B;IAC1C,cAAc,SAA2B;IACzC,gCAAgC,SAA2B;IAC3D,yCAAyC,SAA2B;IACpE,yBAAyB,SAA2B;IACpD,cAAc,SAA2B;IACzC,UAAU,SAA2B;IACrC,UAAU,SAA2B;IACrC,mBAAmB,SAA2B;IAC9C,kBAAkB,SAA2B;IAC7C,gBAAgB,SAA2B;IAC3C,iBAAiB,SAA2B;IAC5C,gBAAgB,SAA2B;IAC3C,2BAA2B,SAA2B;IACtD,gBAAgB,SAA2B;IAC3C,8BAA8B,SAA2B;IACzD,gBAAgB,SAA2B;IAC3C,qBAAqB,SAA2B;IAChD,6BAA6B,SAA2B;IACxD,8BAA8B,SAA2B;IACzD,qBAAqB,SAA2B;IAChD,2BAA2B,SAA2B;IACtD,uBAAuB,SAA2B;IAClD,0BAA0B,SAA2B;IACrD,oBAAoB,SAA2B;IAC/C,mBAAmB,SAA2B;IAC9C,kBAAkB,SAA2B;IAC7C,oBAAoB,SAA2B;IAE/C,uBAAuB,SAA2B;IAClD,4BAA4B,SAA2B;IAEvD,2BAA2B,SAA2B;IACtD,uBAAuB,SAA2B;IAClD,iBAAiB,SAA2B;IAE5C,qBAAqB,SAA2B;IAEhD,uBAAuB,SAA2B;IAClD,sBAAsB,SAA2B;IAGjD,sBAAsB,SAAsC;IAC5D,oBAAoB,SAAsC;IAC1D,uBAAuB,SAAsC;IAC7D,qBAAqB,SAAsC;IAC3D,iBAAiB,SAAsC;IACvD,YAAY,SAAsC;IAClD,qBAAqB,SAAsC;CAC5D;AAED;;GAEG;AACH,oBAAY,gBAAgB;IAC1B,OAAO,IAAI;IACX,qBAAqB,SAAU;IAE/B,aAAa,QAA6B;IAE1C,gBAAgB,SAA4B;IAC5C,uBAAuB,SAA4B;IACnD,gBAAgB,SAA4B;IAC5C,yBAAyB,SAA4B;IACrD,UAAU,SAA4B;IACtC,OAAO,SAA4B;CACpC;AAED;;GAEG;AACH,oBAAY,iBAAiB;IAC3B,OAAO,IAAI;IACX,sBAAsB,SAAU;IAChC,WAAW,SAA6B;CACzC;AAED;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,MAAM,GAAG,SAAS,CAAC;AAE3D;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,mBAAmB,GAAG,MAAM,GAAG,SAAS,CAAC;AAMvE,UAAU,UAAU;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,KAAK;IAQX,WAAW,EAAE,MAAM;IAP7C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAE5C;;;;OAIG;gBACuB,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,eAAe;IAO3F,sEAAsE;IACtE,IAAW,WAAW,IAAI,OAAO,CAAyC;IAE1E,mEAAmE;IAC5D,WAAW,IAAI,MAAM,GAAG,SAAS;IAIxC,4EAA4E;WAC9D,WAAW,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS;IAIxE,mHAAmH;IACnH,SAAS,CAAC,SAAS,IAAI,MAAM;IA0R7B;;;OAGG;WACW,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM;IAsBrD;;;OAGG;WACW,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS;IAO/D;;;;OAIG;WACW,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS;IAUlE;;;;OAIG;WACW,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU;CAexD"}
1
+ {"version":3,"file":"BentleyError.d.ts","sourceRoot":"","sources":["../../src/BentleyError.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,41 @@
7
7
  */
8
8
  import { DbResult } from "./BeSQLite";
9
9
  import { RepositoryStatus } from "./internal/RepositoryStatus";
10
+ import { JsonUtils } from "./JsonUtils";
11
+ /** @beta */
12
+ export var ITwinError;
13
+ (function (ITwinError) {
14
+ /** Instantiate a new `ITwinError` or subtype thereof.
15
+ * @see [[ITwinError.throwError]] to conveniently instantiate and throw the error.
16
+ */
17
+ function create(args) {
18
+ const err = new Error(args.message);
19
+ Object.assign(err, args);
20
+ err.name = args.iTwinErrorId.key; // helpful because this is used by `toString` for Error class
21
+ return err;
22
+ }
23
+ ITwinError.create = create;
24
+ /** Instantiate and immediately throw an `ITwinError`.
25
+ * @see [[ITwinError.create]] to instantiate an error without throwing it.
26
+ */
27
+ function throwError(args) {
28
+ throw create(args);
29
+ }
30
+ ITwinError.throwError = throwError;
31
+ /**
32
+ * Determine whether an error object was thrown by iTwin.js and has a specific scope and key.
33
+ *
34
+ * If the test succeeds, the type of `error` is coerced to `T`
35
+ * @param error The error to ve verified.
36
+ * @param scope value for `error.iTwinErrorId.scope`
37
+ * @param key value for `error.iTwinErrorId.key`
38
+ */
39
+ function isError(error, scope, key) {
40
+ return JsonUtils.isObject(error) && "iTwinErrorId" in error && JsonUtils.isObject(error.iTwinErrorId)
41
+ && error.iTwinErrorId.scope === scope && (undefined === key || error.iTwinErrorId.key === key);
42
+ }
43
+ ITwinError.isError = isError;
44
+ })(ITwinError || (ITwinError = {}));
10
45
  /** Standard status code.
11
46
  * This status code should be rarely used.
12
47
  * Prefer to throw an exception to indicate an error, rather than returning a special status code.
@@ -282,6 +317,9 @@ export var GeoServiceStatus;
282
317
  GeoServiceStatus[GeoServiceStatus["NoDatumConverter"] = 147459] = "NoDatumConverter";
283
318
  GeoServiceStatus[GeoServiceStatus["VerticalDatumConvertError"] = 147460] = "VerticalDatumConvertError";
284
319
  GeoServiceStatus[GeoServiceStatus["CSMapError"] = 147461] = "CSMapError";
320
+ /**
321
+ * @deprecated in 5.0. This status is never returned.
322
+ */
285
323
  GeoServiceStatus[GeoServiceStatus["Pending"] = 147462] = "Pending";
286
324
  })(GeoServiceStatus || (GeoServiceStatus = {}));
287
325
  /** Error status from various reality data operations
@@ -293,13 +331,15 @@ export var RealityDataStatus;
293
331
  RealityDataStatus[RealityDataStatus["REALITYDATA_ERROR_BASE"] = 151552] = "REALITYDATA_ERROR_BASE";
294
332
  RealityDataStatus[RealityDataStatus["InvalidData"] = 151553] = "InvalidData";
295
333
  })(RealityDataStatus || (RealityDataStatus = {}));
296
- function isObject(obj) {
297
- return typeof obj === "object" && obj !== null;
298
- }
299
- /** Base exception class for iTwin.js exceptions.
334
+ /**
335
+ * Base exception class for legacy iTwin.js errors.
336
+ * For backwards compatibility only. Do not create new subclasses of BentleyError. Instead use [[ITwinError]].
300
337
  * @public
301
338
  */
302
339
  export class BentleyError extends Error {
340
+ errorNumber;
341
+ static iTwinErrorScope = "bentley-error";
342
+ _metaData;
303
343
  /**
304
344
  * @param errorNumber The a number that identifies of the problem.
305
345
  * @param message message that describes the problem (should not be localized).
@@ -312,6 +352,23 @@ export class BentleyError extends Error {
312
352
  this._metaData = metaData;
313
353
  this.name = this._initName();
314
354
  }
355
+ /** supply the value for iTwinErrorId */
356
+ get iTwinErrorId() {
357
+ return { scope: BentleyError.iTwinErrorScope, key: this.name };
358
+ }
359
+ /** value for logging metadata */
360
+ get loggingMetadata() { return this.getMetaData(); }
361
+ /**
362
+ * Determine if an error object implements the `LegacyITwinErrorWithNumber` interface.
363
+ *
364
+ * If the test succeeds, the type of `error` is coerced to `T`
365
+ * @note this method does *not* test that the object is an `instanceOf BentleyError`.
366
+ * @beta
367
+ */
368
+ static isError(error, errorNumber) {
369
+ return ITwinError.isError(error, BentleyError.iTwinErrorScope) &&
370
+ typeof error.errorNumber === "number" && (errorNumber === undefined || error.errorNumber === errorNumber);
371
+ }
315
372
  /** Returns true if this BentleyError includes (optional) metadata. */
316
373
  get hasMetaData() { return undefined !== this._metaData; }
317
374
  /** get the meta data associated with this BentleyError, if any. */
@@ -324,7 +381,11 @@ export class BentleyError extends Error {
324
381
  }
325
382
  /** This function returns the name of each error status. Override this method to handle more error status codes. */
326
383
  _initName() {
327
- switch (this.errorNumber) {
384
+ return BentleyError.getErrorKey(this.errorNumber);
385
+ }
386
+ /** This function returns the name of each error status. */
387
+ static getErrorKey(errorNumber) {
388
+ switch (errorNumber) {
328
389
  case IModelStatus.AlreadyLoaded: return "Already Loaded";
329
390
  case IModelStatus.AlreadyOpen: return "Already Open";
330
391
  case IModelStatus.BadArg: return "Bad Arg";
@@ -591,7 +652,7 @@ export class BentleyError extends Error {
591
652
  case GeoServiceStatus.NoDatumConverter: return "No datum converter";
592
653
  case GeoServiceStatus.VerticalDatumConvertError: return "Vertical datum convert error";
593
654
  case GeoServiceStatus.CSMapError: return "CSMap error";
594
- case GeoServiceStatus.Pending: return "Pending";
655
+ case GeoServiceStatus.Pending: return "Pending"; // eslint-disable-line @typescript-eslint/no-deprecated
595
656
  case RealityDataStatus.InvalidData: return "Invalid or unknown data";
596
657
  case DbResult.BE_SQLITE_OK:
597
658
  case DbResult.BE_SQLITE_ROW:
@@ -599,7 +660,7 @@ export class BentleyError extends Error {
599
660
  case BentleyStatus.SUCCESS:
600
661
  return "Success";
601
662
  default:
602
- return `Error (${this.errorNumber})`;
663
+ return `Error (${errorNumber})`;
603
664
  }
604
665
  }
605
666
  /** Use run-time type checking to safely get a useful string summary of an unknown error value, or `""` if none exists.
@@ -611,7 +672,7 @@ export class BentleyError extends Error {
611
672
  return error;
612
673
  if (error instanceof Error)
613
674
  return error.toString();
614
- if (isObject(error)) {
675
+ if (JsonUtils.isObject(error)) {
615
676
  if (typeof error.message === "string")
616
677
  return error.message;
617
678
  if (typeof error.msg === "string")
@@ -627,7 +688,7 @@ export class BentleyError extends Error {
627
688
  * @public
628
689
  */
629
690
  static getErrorStack(error) {
630
- if (isObject(error) && typeof error.stack === "string")
691
+ if (JsonUtils.isObject(error) && typeof error.stack === "string")
631
692
  return error.stack;
632
693
  return undefined;
633
694
  }
@@ -637,7 +698,7 @@ export class BentleyError extends Error {
637
698
  * @public
638
699
  */
639
700
  static getErrorMetadata(error) {
640
- if (isObject(error) && typeof error.getMetaData === "function") {
701
+ if (JsonUtils.isObject(error) && typeof error.getMetaData === "function") {
641
702
  const metadata = error.getMetaData();
642
703
  if (typeof metadata === "object" && metadata !== null)
643
704
  return metadata;