@itwin/core-bentley 5.0.0-dev.11 → 5.0.0-dev.110

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 +61 -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 +83 -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 +83 -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,50 @@
1
1
  /** @packageDocumentation
2
2
  * @module Errors
3
3
  */
4
+ /** Uniquely identifies a specific kind of [[ITwinError]].
5
+ * @beta
6
+ */
7
+ export interface ITwinErrorId {
8
+ /** A "namespace" serving as a qualifier for the [[key]]. It should be specific enough to ensure uniqueness across all applications.
9
+ * For example, all errors originating from a given package should use that package's full name as their scope.
10
+ */
11
+ readonly scope: string;
12
+ /** Uniquely identifies a specific kind of [[ITwinError]] within the [[scope]]. */
13
+ readonly key: string;
14
+ }
15
+ /** The interface that all exceptions thrown by iTwin.js libraries and applications should implement.
16
+ * Specific kinds of `ITwinError`s are identified by an [[ITwinErrorId]] that allows programmers to identify errors when they are caught without relying
17
+ * on specific class hierarchies, which is especially important when errors are marshalled across process boundaries.
18
+ * You can extend `ITwinError` to add properties that provide programmers with additional context for a particular kind of error.
19
+ * When catching errors, programmers can use [[isError]] to determine if the error is of a specific sub-type, and if so access the
20
+ * additional properties.
21
+ * Those additional properties will also be logged as metadata by [[Logger.logException]].
22
+ * @beta
23
+ */
24
+ export interface ITwinError extends Error {
25
+ /** Uniquely identifies the kind of error. */
26
+ readonly iTwinErrorId: ITwinErrorId;
27
+ }
28
+ /** @beta */
29
+ export declare namespace ITwinError {
30
+ /** Instantiate a new `ITwinError` or subtype thereof.
31
+ * @see [[ITwinError.throwError]] to conveniently instantiate and throw the error.
32
+ */
33
+ function create<T extends ITwinError>(args: Omit<T, "name">): T;
34
+ /** Instantiate and immediately throw an `ITwinError`.
35
+ * @see [[ITwinError.create]] to instantiate an error without throwing it.
36
+ */
37
+ function throwError<T extends ITwinError>(args: Omit<T, "name">): never;
38
+ /**
39
+ * Determine whether an error object was thrown by iTwin.js and has a specific scope and key.
40
+ *
41
+ * If the test succeeds, the type of `error` is coerced to `T`
42
+ * @param error The error to ve verified.
43
+ * @param scope value for `error.iTwinErrorId.scope`
44
+ * @param key value for `error.iTwinErrorId.key`
45
+ */
46
+ function isError<T extends ITwinError>(error: unknown, scope: string, key?: string): error is T;
47
+ }
4
48
  /** Standard status code.
5
49
  * This status code should be rarely used.
6
50
  * Prefer to throw an exception to indicate an error, rather than returning a special status code.
@@ -265,6 +309,9 @@ export declare enum GeoServiceStatus {
265
309
  NoDatumConverter = 147459,
266
310
  VerticalDatumConvertError = 147460,
267
311
  CSMapError = 147461,
312
+ /**
313
+ * @deprecated in 5.0. This status is never returned.
314
+ */
268
315
  Pending = 147462
269
316
  }
270
317
  /** Error status from various reality data operations
@@ -290,11 +337,29 @@ interface ErrorProps {
290
337
  stack?: string;
291
338
  metadata?: object;
292
339
  }
293
- /** Base exception class for iTwin.js exceptions.
340
+ /**
341
+ * An [[ITwinError]] that also supplies an `errorNumber`.
342
+ * @note this interface exists *only* for legacy errors derived from `BentleyError`. The concept of "error number" is
343
+ * problematic since it is impossible to enforce across the iTwin.js library, let alone across applications. New code should
344
+ * use `ITwinError` and identify errors with strings instead.
345
+ * @beta */
346
+ export interface LegacyITwinErrorWithNumber extends ITwinError {
347
+ /** a number to identify the error. */
348
+ readonly errorNumber: number;
349
+ /** Logging metadata
350
+ * @note exceptions should *not* include logging data. Logging should be done where exceptions are caught. This member exists
351
+ * only for backwards compatibility.
352
+ */
353
+ loggingMetadata?: object;
354
+ }
355
+ /**
356
+ * Base exception class for legacy iTwin.js errors.
357
+ * For backwards compatibility only. Do not create new subclasses of BentleyError. Instead use [[ITwinError]].
294
358
  * @public
295
359
  */
296
360
  export declare class BentleyError extends Error {
297
361
  errorNumber: number;
362
+ static readonly iTwinErrorScope = "bentley-error";
298
363
  private readonly _metaData;
299
364
  /**
300
365
  * @param errorNumber The a number that identifies of the problem.
@@ -302,6 +367,21 @@ export declare class BentleyError extends Error {
302
367
  * @param metaData metaData about the exception.
303
368
  */
304
369
  constructor(errorNumber: number, message?: string, metaData?: LoggingMetaData);
370
+ /** supply the value for iTwinErrorId */
371
+ get iTwinErrorId(): {
372
+ scope: string;
373
+ key: string;
374
+ };
375
+ /** value for logging metadata */
376
+ get loggingMetadata(): object | undefined;
377
+ /**
378
+ * Determine if an error object implements the `LegacyITwinErrorWithNumber` interface.
379
+ *
380
+ * If the test succeeds, the type of `error` is coerced to `T`
381
+ * @note this method does *not* test that the object is an `instanceOf BentleyError`.
382
+ * @beta
383
+ */
384
+ static isError<T extends LegacyITwinErrorWithNumber>(error: unknown, errorNumber?: number): error is T;
305
385
  /** Returns true if this BentleyError includes (optional) metadata. */
306
386
  get hasMetaData(): boolean;
307
387
  /** get the meta data associated with this BentleyError, if any. */
@@ -310,6 +390,8 @@ export declare class BentleyError extends Error {
310
390
  static getMetaData(metaData: LoggingMetaData): object | undefined;
311
391
  /** This function returns the name of each error status. Override this method to handle more error status codes. */
312
392
  protected _initName(): string;
393
+ /** This function returns the name of each error status. */
394
+ static getErrorKey(errorNumber: number): string;
313
395
  /** Use run-time type checking to safely get a useful string summary of an unknown error value, or `""` if none exists.
314
396
  * @note It's recommended to use this function in `catch` clauses, where a caught value cannot be assumed to be `instanceof Error`
315
397
  * @public
@@ -1 +1 @@
1
- {"version":3,"file":"BentleyError.d.ts","sourceRoot":"","sources":["../../src/BentleyError.ts"],"names":[],"mappings":"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"}
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;