@mnaoumov/typescript-lib 0.0.0 → 1.0.1

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 (182) hide show
  1. package/@types/debug/package.json +4 -0
  2. package/LICENSE +21 -0
  3. package/README.md +15 -1
  4. package/dist/lib/cjs/@types/debug.d.cts +21 -0
  5. package/dist/lib/cjs/abort-controller.cjs +144 -0
  6. package/dist/lib/cjs/abort-controller.d.cts +136 -0
  7. package/dist/lib/cjs/aggregate-error.cjs +40 -0
  8. package/dist/lib/cjs/aggregate-error.d.cts +24 -0
  9. package/dist/lib/cjs/array-buffer.cjs +38 -0
  10. package/dist/lib/cjs/array-buffer.d.cts +16 -0
  11. package/dist/lib/cjs/array.cjs +76 -0
  12. package/dist/lib/cjs/array.d.cts +46 -0
  13. package/dist/lib/cjs/async-events.cjs +408 -0
  14. package/dist/lib/cjs/async-events.d.cts +456 -0
  15. package/dist/lib/cjs/async-operation-hook.cjs +55 -0
  16. package/dist/lib/cjs/async-operation-hook.d.cts +59 -0
  17. package/dist/lib/cjs/async.cjs +463 -0
  18. package/dist/lib/cjs/async.d.cts +415 -0
  19. package/dist/lib/cjs/beeper.cjs +68 -0
  20. package/dist/lib/cjs/beeper.d.cts +21 -0
  21. package/dist/lib/cjs/blob.cjs +102 -0
  22. package/dist/lib/cjs/blob.d.cts +60 -0
  23. package/dist/lib/cjs/bytes.cjs +56 -0
  24. package/dist/lib/cjs/bytes.d.cts +17 -0
  25. package/dist/lib/cjs/debug-controller.cjs +22 -0
  26. package/dist/lib/cjs/debug-controller.d.cts +87 -0
  27. package/dist/lib/cjs/debug.cjs +204 -0
  28. package/dist/lib/cjs/debug.d.cts +66 -0
  29. package/dist/lib/cjs/desktop-zip-extractor.cjs +157 -0
  30. package/dist/lib/cjs/desktop-zip-extractor.d.cts +96 -0
  31. package/dist/lib/cjs/disposable.cjs +364 -0
  32. package/dist/lib/cjs/disposable.d.cts +387 -0
  33. package/dist/lib/cjs/enum.cjs +42 -0
  34. package/dist/lib/cjs/enum.d.cts +24 -0
  35. package/dist/lib/cjs/error.cjs +239 -0
  36. package/dist/lib/cjs/error.d.cts +182 -0
  37. package/dist/lib/cjs/function.cjs +83 -0
  38. package/dist/lib/cjs/function.d.cts +128 -0
  39. package/dist/lib/cjs/html-element.cjs +283 -0
  40. package/dist/lib/cjs/html-element.d.cts +200 -0
  41. package/dist/lib/cjs/index.cjs +137 -0
  42. package/dist/lib/cjs/index.d.cts +33 -0
  43. package/dist/lib/cjs/jpeg-metadata.cjs +170 -0
  44. package/dist/lib/cjs/jpeg-metadata.d.cts +42 -0
  45. package/dist/lib/cjs/library-references.d.cts +2 -0
  46. package/dist/lib/cjs/library.cjs +100 -0
  47. package/dist/lib/cjs/library.d.cts +96 -0
  48. package/dist/lib/cjs/object-utils.cjs +559 -0
  49. package/dist/lib/cjs/object-utils.d.cts +298 -0
  50. package/dist/lib/cjs/path.cjs +171 -0
  51. package/dist/lib/cjs/path.d.cts +155 -0
  52. package/dist/lib/cjs/reg-exp.cjs +196 -0
  53. package/dist/lib/cjs/reg-exp.d.cts +87 -0
  54. package/dist/lib/cjs/string.cjs +268 -0
  55. package/dist/lib/cjs/string.d.cts +362 -0
  56. package/dist/lib/cjs/transformers/date-transformer.cjs +71 -0
  57. package/dist/lib/cjs/transformers/date-transformer.d.cts +39 -0
  58. package/dist/lib/cjs/transformers/group-transformer.cjs +115 -0
  59. package/dist/lib/cjs/transformers/group-transformer.d.cts +70 -0
  60. package/dist/lib/cjs/transformers/index.cjs +65 -0
  61. package/dist/lib/cjs/transformers/index.d.cts +9 -0
  62. package/dist/lib/cjs/transformers/map-transformer.cjs +71 -0
  63. package/dist/lib/cjs/transformers/map-transformer.d.cts +41 -0
  64. package/dist/lib/cjs/transformers/set-transformer.cjs +71 -0
  65. package/dist/lib/cjs/transformers/set-transformer.d.cts +39 -0
  66. package/dist/lib/cjs/transformers/skip-private-property-transformer.cjs +69 -0
  67. package/dist/lib/cjs/transformers/skip-private-property-transformer.d.cts +36 -0
  68. package/dist/lib/cjs/transformers/transformer.cjs +112 -0
  69. package/dist/lib/cjs/transformers/transformer.d.cts +70 -0
  70. package/dist/lib/cjs/transformers/two-way-map-transformer.cjs +72 -0
  71. package/dist/lib/cjs/transformers/two-way-map-transformer.d.cts +42 -0
  72. package/dist/lib/cjs/transformers/typed-transformer.cjs +36 -0
  73. package/dist/lib/cjs/transformers/typed-transformer.d.cts +39 -0
  74. package/dist/lib/cjs/two-way-map.cjs +150 -0
  75. package/dist/lib/cjs/two-way-map.d.cts +101 -0
  76. package/dist/lib/cjs/type-guards.cjs +70 -0
  77. package/dist/lib/cjs/type-guards.d.cts +84 -0
  78. package/dist/lib/cjs/type.cjs +63 -0
  79. package/dist/lib/cjs/type.d.cts +122 -0
  80. package/dist/lib/cjs/typescript-lib-state.cjs +68 -0
  81. package/dist/lib/cjs/typescript-lib-state.d.cts +56 -0
  82. package/dist/lib/cjs/url.cjs +78 -0
  83. package/dist/lib/cjs/url.d.cts +74 -0
  84. package/dist/lib/cjs/value-provider.cjs +42 -0
  85. package/dist/lib/cjs/value-provider.d.cts +29 -0
  86. package/dist/lib/cjs/value-wrapper.cjs +86 -0
  87. package/dist/lib/cjs/value-wrapper.d.cts +47 -0
  88. package/dist/lib/esm/@types/debug.d.mts +21 -0
  89. package/dist/lib/esm/abort-controller.d.mts +136 -0
  90. package/dist/lib/esm/abort-controller.mjs +115 -0
  91. package/dist/lib/esm/aggregate-error.d.mts +24 -0
  92. package/dist/lib/esm/aggregate-error.mjs +16 -0
  93. package/dist/lib/esm/array-buffer.d.mts +16 -0
  94. package/dist/lib/esm/array-buffer.mjs +14 -0
  95. package/dist/lib/esm/array.d.mts +46 -0
  96. package/dist/lib/esm/array.mjs +49 -0
  97. package/dist/lib/esm/async-events.d.mts +456 -0
  98. package/dist/lib/esm/async-events.mjs +383 -0
  99. package/dist/lib/esm/async-operation-hook.d.mts +59 -0
  100. package/dist/lib/esm/async-operation-hook.mjs +27 -0
  101. package/dist/lib/esm/async.d.mts +415 -0
  102. package/dist/lib/esm/async.mjs +435 -0
  103. package/dist/lib/esm/beeper.d.mts +21 -0
  104. package/dist/lib/esm/beeper.mjs +44 -0
  105. package/dist/lib/esm/blob.d.mts +60 -0
  106. package/dist/lib/esm/blob.mjs +77 -0
  107. package/dist/lib/esm/bytes.d.mts +17 -0
  108. package/dist/lib/esm/bytes.mjs +32 -0
  109. package/dist/lib/esm/debug-controller.d.mts +87 -0
  110. package/dist/lib/esm/debug-controller.mjs +6 -0
  111. package/dist/lib/esm/debug.d.mts +66 -0
  112. package/dist/lib/esm/debug.mjs +168 -0
  113. package/dist/lib/esm/desktop-zip-extractor.d.mts +96 -0
  114. package/dist/lib/esm/desktop-zip-extractor.mjs +136 -0
  115. package/dist/lib/esm/disposable.d.mts +387 -0
  116. package/dist/lib/esm/disposable.mjs +324 -0
  117. package/dist/lib/esm/enum.d.mts +24 -0
  118. package/dist/lib/esm/enum.mjs +17 -0
  119. package/dist/lib/esm/error.d.mts +182 -0
  120. package/dist/lib/esm/error.mjs +204 -0
  121. package/dist/lib/esm/function.d.mts +128 -0
  122. package/dist/lib/esm/function.mjs +52 -0
  123. package/dist/lib/esm/html-element.d.mts +200 -0
  124. package/dist/lib/esm/html-element.mjs +247 -0
  125. package/dist/lib/esm/index.d.mts +33 -0
  126. package/dist/lib/esm/index.mjs +72 -0
  127. package/dist/lib/esm/jpeg-metadata.d.mts +42 -0
  128. package/dist/lib/esm/jpeg-metadata.mjs +145 -0
  129. package/dist/lib/esm/library-references.d.mts +2 -0
  130. package/dist/lib/esm/library.d.mts +96 -0
  131. package/dist/lib/esm/library.mjs +74 -0
  132. package/dist/lib/esm/object-utils.d.mts +298 -0
  133. package/dist/lib/esm/object-utils.mjs +523 -0
  134. package/dist/lib/esm/path.d.mts +155 -0
  135. package/dist/lib/esm/path.mjs +122 -0
  136. package/dist/lib/esm/reg-exp.d.mts +87 -0
  137. package/dist/lib/esm/reg-exp.mjs +169 -0
  138. package/dist/lib/esm/string.d.mts +362 -0
  139. package/dist/lib/esm/string.mjs +230 -0
  140. package/dist/lib/esm/transformers/date-transformer.d.mts +39 -0
  141. package/dist/lib/esm/transformers/date-transformer.mjs +47 -0
  142. package/dist/lib/esm/transformers/group-transformer.d.mts +70 -0
  143. package/dist/lib/esm/transformers/group-transformer.mjs +94 -0
  144. package/dist/lib/esm/transformers/index.d.mts +9 -0
  145. package/dist/lib/esm/transformers/index.mjs +24 -0
  146. package/dist/lib/esm/transformers/map-transformer.d.mts +41 -0
  147. package/dist/lib/esm/transformers/map-transformer.mjs +47 -0
  148. package/dist/lib/esm/transformers/set-transformer.d.mts +39 -0
  149. package/dist/lib/esm/transformers/set-transformer.mjs +47 -0
  150. package/dist/lib/esm/transformers/skip-private-property-transformer.d.mts +36 -0
  151. package/dist/lib/esm/transformers/skip-private-property-transformer.mjs +45 -0
  152. package/dist/lib/esm/transformers/transformer.d.mts +70 -0
  153. package/dist/lib/esm/transformers/transformer.mjs +88 -0
  154. package/dist/lib/esm/transformers/two-way-map-transformer.d.mts +42 -0
  155. package/dist/lib/esm/transformers/two-way-map-transformer.mjs +48 -0
  156. package/dist/lib/esm/transformers/typed-transformer.d.mts +39 -0
  157. package/dist/lib/esm/transformers/typed-transformer.mjs +12 -0
  158. package/dist/lib/esm/two-way-map.d.mts +101 -0
  159. package/dist/lib/esm/two-way-map.mjs +126 -0
  160. package/dist/lib/esm/type-guards.d.mts +84 -0
  161. package/dist/lib/esm/type-guards.mjs +41 -0
  162. package/dist/lib/esm/type.d.mts +122 -0
  163. package/dist/lib/esm/type.mjs +39 -0
  164. package/dist/lib/esm/typescript-lib-state.d.mts +56 -0
  165. package/dist/lib/esm/typescript-lib-state.mjs +40 -0
  166. package/dist/lib/esm/url.d.mts +74 -0
  167. package/dist/lib/esm/url.mjs +50 -0
  168. package/dist/lib/esm/value-provider.d.mts +29 -0
  169. package/dist/lib/esm/value-provider.mjs +18 -0
  170. package/dist/lib/esm/value-wrapper.d.mts +47 -0
  171. package/dist/lib/esm/value-wrapper.mjs +62 -0
  172. package/package.json +153 -13
  173. package/transformers/date-transformer/package.json +6 -0
  174. package/transformers/group-transformer/package.json +6 -0
  175. package/transformers/index/package.json +6 -0
  176. package/transformers/map-transformer/package.json +6 -0
  177. package/transformers/package.json +6 -0
  178. package/transformers/set-transformer/package.json +6 -0
  179. package/transformers/skip-private-property-transformer/package.json +6 -0
  180. package/transformers/transformer/package.json +6 -0
  181. package/transformers/two-way-map-transformer/package.json +6 -0
  182. package/transformers/typed-transformer/package.json +6 -0
@@ -0,0 +1,60 @@
1
+ /// <reference path="./library-references.d.cts" />
2
+ /// <reference lib="dom" />
3
+ /**
4
+ * @file
5
+ *
6
+ * Contains utility functions for Blob objects.
7
+ */
8
+ /**
9
+ * Options for {@link blobToJpegArrayBuffer}.
10
+ */
11
+ export interface BlobToJpegArrayBufferOptions {
12
+ /**
13
+ * Whether to carry the source image's metadata segments (EXIF, GPS, XMP, ICC profile) into the
14
+ * re-encoded JPEG. Only has an effect when the source is a JPEG. Defaults to `false`, which is the
15
+ * behavior a canvas re-encode has always had.
16
+ */
17
+ readonly shouldPreserveMetadata?: boolean | undefined;
18
+ }
19
+ /**
20
+ * Converts a {@link Blob} object to an {@link ArrayBuffer}.
21
+ *
22
+ * @param blob - The Blob object to convert.
23
+ * @returns A {@link Promise} that resolves to an {@link ArrayBuffer}.
24
+ */
25
+ export declare function blobToArrayBuffer(blob: Blob): Promise<ArrayBuffer>;
26
+ /**
27
+ * Converts a {@link Blob} object to a data URL.
28
+ *
29
+ * @param blob - The Blob object to convert.
30
+ * @returns A {@link Promise} that resolves to a data URL.
31
+ */
32
+ export declare function blobToDataUrl(blob: Blob): Promise<string>;
33
+ /**
34
+ * Converts a {@link Blob} object to a JPEG ArrayBuffer with the specified quality.
35
+ *
36
+ * The conversion is a canvas re-encode, which keeps only the pixels — EXIF, GPS, XMP and the ICC
37
+ * profile are dropped by construction. Pass {@link BlobToJpegArrayBufferOptions.shouldPreserveMetadata}
38
+ * to carry those segments across from the source, which works only when the source is itself a JPEG:
39
+ * nothing else stores them in a form that can be copied verbatim.
40
+ *
41
+ * @param blob - The Blob object to convert.
42
+ * @param jpegQuality - The quality of the JPEG image (0 to 1).
43
+ * @param options - Conversion options.
44
+ * @returns A {@link Promise} that resolves to an {@link ArrayBuffer}.
45
+ */
46
+ export declare function blobToJpegArrayBuffer(blob: Blob, jpegQuality: number, options?: BlobToJpegArrayBufferOptions): Promise<ArrayBuffer>;
47
+ /**
48
+ * Converts a base64 encoded string to an {@link ArrayBuffer}.
49
+ *
50
+ * @param dataUrl - The data URL to convert.
51
+ * @returns The decoded ArrayBuffer.
52
+ */
53
+ export declare function dataUrlToArrayBuffer(dataUrl: string): ArrayBuffer;
54
+ /**
55
+ * Checks if a given file is an image.
56
+ *
57
+ * @param file - The file to check.
58
+ * @returns `true` if the file is an image, `false` otherwise.
59
+ */
60
+ export declare function isImageFile(file: File): boolean;
@@ -0,0 +1,56 @@
1
+ /*
2
+ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
+ if you want to view the source, please visit the github repository of this plugin
4
+ */
5
+
6
+ "use strict";
7
+ var __defProp = Object.defineProperty;
8
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
9
+ var __getOwnPropNames = Object.getOwnPropertyNames;
10
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
11
+ var __export = (target, all) => {
12
+ for (var name in all)
13
+ __defProp(target, name, { get: all[name], enumerable: true });
14
+ };
15
+ var __copyProps = (to, from, except, desc) => {
16
+ if (from && typeof from === "object" || typeof from === "function") {
17
+ for (let key of __getOwnPropNames(from))
18
+ if (!__hasOwnProp.call(to, key) && key !== except)
19
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
20
+ }
21
+ return to;
22
+ };
23
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
24
+ var bytes_exports = {};
25
+ __export(bytes_exports, {
26
+ formatBytes: () => formatBytes
27
+ });
28
+ module.exports = __toCommonJS(bytes_exports);
29
+ const BYTES_PER_UNIT = 1024;
30
+ const DECIMALS = 1;
31
+ const UNITS = [
32
+ "B",
33
+ "KB",
34
+ "MB",
35
+ "GB",
36
+ "TB"
37
+ ];
38
+ function formatBytes(bytes) {
39
+ let size = bytes;
40
+ let unit = UNITS[0];
41
+ let isInBytes = true;
42
+ for (const largerUnit of UNITS.slice(1)) {
43
+ if (size < BYTES_PER_UNIT) {
44
+ break;
45
+ }
46
+ size /= BYTES_PER_UNIT;
47
+ unit = largerUnit;
48
+ isInBytes = false;
49
+ }
50
+ return `${isInBytes ? String(size) : size.toFixed(DECIMALS)} ${unit}`;
51
+ }
52
+ // Annotate the CommonJS export names for ESM import in node:
53
+ 0 && (module.exports = {
54
+ formatBytes
55
+ });
56
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2J5dGVzLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogQ29udGFpbnMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIGJ5dGUgY291bnRzLlxuICovXG5cbmNvbnN0IEJZVEVTX1BFUl9VTklUID0gMTAyNDtcbmNvbnN0IERFQ0lNQUxTID0gMTtcbmNvbnN0IFVOSVRTID0gW1xuICAnQicsXG4gICdLQicsXG4gICdNQicsXG4gICdHQicsXG4gICdUQidcbl0gYXMgY29uc3Q7XG5cbi8qKlxuICogUmVuZGVycyBhIGJ5dGUgY291bnQgdGhlIHdheSBhIGZpbGUgbWFuYWdlciBkb2VzLCBzbyBhIHJ1bm5pbmcgdG90YWwgYW5zd2VycyBcImlzIHRoaXMgZ2V0dGluZyBodWdlP1wiIGF0XG4gKiBhIGdsYW5jZS5cbiAqXG4gKiBQYXN0IHRoZSBsYXJnZXN0IHVuaXQgdGhlIG51bWJlciBrZWVwcyBncm93aW5nIHJhdGhlciB0aGFuIHN0YXJ0aW5nIG92ZXIsIGJlY2F1c2UgdW5kZXItcmVwb3J0aW5nIGEgc2l6ZVxuICogYnkgYSBmYWN0b3Igb2YgMTAyNCBpcyB3b3JzZSB0aGFuIGFuIHVuZ2Fpbmx5IG51bWJlci5cbiAqXG4gKiBAcGFyYW0gYnl0ZXMgLSBUaGUgbnVtYmVyIG9mIGJ5dGVzLlxuICogQHJldHVybnMgVGhlIGZvcm1hdHRlZCBzaXplLCBlLmcuIGAxLjQgTUJgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0Qnl0ZXMoYnl0ZXM6IG51bWJlcik6IHN0cmluZyB7XG4gIGxldCBzaXplID0gYnl0ZXM7XG4gIGxldCB1bml0OiBzdHJpbmcgPSBVTklUU1swXTtcbiAgbGV0IGlzSW5CeXRlcyA9IHRydWU7XG5cbiAgZm9yIChjb25zdCBsYXJnZXJVbml0IG9mIFVOSVRTLnNsaWNlKDEpKSB7XG4gICAgaWYgKHNpemUgPCBCWVRFU19QRVJfVU5JVCkge1xuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgc2l6ZSAvPSBCWVRFU19QRVJfVU5JVDtcbiAgICB1bml0ID0gbGFyZ2VyVW5pdDtcbiAgICBpc0luQnl0ZXMgPSBmYWxzZTtcbiAgfVxuXG4gIC8vIFdob2xlIGJ5dGVzIG5ldmVyIHdhbnQgYSBkZWNpbWFsIHBvaW50OiBgODE3IEJgLCBub3QgYDgxNy4wIEJgLlxuICByZXR1cm4gYCR7aXNJbkJ5dGVzID8gU3RyaW5nKHNpemUpIDogc2l6ZS50b0ZpeGVkKERFQ0lNQUxTKX0gJHt1bml0fWA7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQSxNQUFNLGlCQUFpQjtBQUN2QixNQUFNLFdBQVc7QUFDakIsTUFBTSxRQUFRO0FBQUEsRUFDWjtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFDRjtBQVlPLFNBQVMsWUFBWSxPQUF1QjtBQUNqRCxNQUFJLE9BQU87QUFDWCxNQUFJLE9BQWUsTUFBTSxDQUFDO0FBQzFCLE1BQUksWUFBWTtBQUVoQixhQUFXLGNBQWMsTUFBTSxNQUFNLENBQUMsR0FBRztBQUN2QyxRQUFJLE9BQU8sZ0JBQWdCO0FBQ3pCO0FBQUEsSUFDRjtBQUVBLFlBQVE7QUFDUixXQUFPO0FBQ1AsZ0JBQVk7QUFBQSxFQUNkO0FBR0EsU0FBTyxHQUFHLFlBQVksT0FBTyxJQUFJLElBQUksS0FBSyxRQUFRLFFBQVEsQ0FBQyxJQUFJLElBQUk7QUFDckU7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -0,0 +1,17 @@
1
+ /// <reference path="./library-references.d.cts" />
2
+ /**
3
+ * @file
4
+ *
5
+ * Contains utility functions for byte counts.
6
+ */
7
+ /**
8
+ * Renders a byte count the way a file manager does, so a running total answers "is this getting huge?" at
9
+ * a glance.
10
+ *
11
+ * Past the largest unit the number keeps growing rather than starting over, because under-reporting a size
12
+ * by a factor of 1024 is worse than an ungainly number.
13
+ *
14
+ * @param bytes - The number of bytes.
15
+ * @returns The formatted size, e.g. `1.4 MB`.
16
+ */
17
+ export declare function formatBytes(bytes: number): string;
@@ -0,0 +1,22 @@
1
+ /*
2
+ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
+ if you want to view the source, please visit the github repository of this plugin
4
+ */
5
+
6
+ "use strict";
7
+ var __defProp = Object.defineProperty;
8
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
9
+ var __getOwnPropNames = Object.getOwnPropertyNames;
10
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
+ var debug_controller_exports = {};
21
+ module.exports = __toCommonJS(debug_controller_exports);
22
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2RlYnVnLWNvbnRyb2xsZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBQcm92aWRlcyB0aGUgaW50ZXJmYWNlIGZvciBjb250cm9sbGluZyBkZWJ1ZyBvdXRwdXQgdGhyb3VnaCBuYW1lc3BhY2UgbWFuYWdlbWVudC5cbiAqXG4gKiBEZWJ1ZyBuYW1lc3BhY2VzIGZvbGxvdyB0aGUgcGF0dGVybiAnbG9yZW0nLCBgbG9yZW06aXBzdW1gLCBgbG9yZW06aXBzdW06ZG9sb3JgLCBldGMsIGFuZCBjYW4gdXNlIHdpbGRjYXJkcyAoYCpgKS5cbiAqXG4gKiBAZXhhbXBsZVxuICogLSBgbG9yZW06KmAgbWF0Y2hlcyBhbGwgc3VibW9kdWxlcyBvZiAnbG9yZW0nXG4gKiAtIGAqOmlwc3VtYCBtYXRjaGVzIGFsbCBwbHVnaW5zJyBgaXBzdW1gIHN1Ym1vZHVsZXNcbiAqIC0gYCpgIG1hdGNoZXMgZXZlcnl0aGluZ1xuICpcbiAqIFNwZWNpYWwgc3ludGF4OlxuICogLSBOYW1lc3BhY2VzIHByZWZpeGVkIHdpdGggJy0nIGFyZSBleHBsaWNpdGx5IGRpc2FibGVkXG4gKiAtIE11bHRpcGxlIG5hbWVzcGFjZXMgY2FuIGJlIGNvbWJpbmVkIHdpdGggY29tbWFzOiBgbG9yZW0sLWxvcmVtOmlwc3VtLGRvbG9yOipgXG4gKlxuICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9tbmFvdW1vdi5kZXYvb2JzaWRpYW4tZGV2LXV0aWxzL2d1aWRlcy9kZWJ1Z2dpbmcvfVxuICovXG5cbi8qIHY4IGlnbm9yZSBzdGFydCAtLSBJbnRlcmZhY2Utb25seSBtb2R1bGU7IG5vIHJ1bnRpbWUgY29kZSB0byB0ZXN0LiAqL1xuXG4vKipcbiAqIENvbnRyb2xzIGRlYnVnIG91dHB1dCBieSBtYW5hZ2luZyBkZWJ1ZyBuYW1lc3BhY2VzLlxuICogRXhwb3NlZCBnbG9iYWxseSBhcyBgd2luZG93LkRFQlVHYC5cbiAqXG4gKiBAcmVtYXJrc1xuICogRGVidWcgc2V0dGluZ3MgcGVyc2lzdCBhY3Jvc3MgcGx1Z2luIHJlbG9hZHMgaW4gbG9jYWxTdG9yYWdlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERlYnVnQ29udHJvbGxlciB7XG4gIC8qKlxuICAgKiBEaXNhYmxlIHNwZWNpZmljIGRlYnVnIG5hbWVzcGFjZXMuIERpc2FibGVkIG5hbWVzcGFjZXMgdGFrZSBwcmVjZWRlbmNlXG4gICAqIG92ZXIgZW5hYmxlZCBvbmVzIHdoZW4gdGhlcmUncyBhIGNvbmZsaWN0LlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIHdpbmRvdy5ERUJVRy5kaXNhYmxlKCdmb28tYmFyJyk7IC8vIGhpZGUgYWxsIGRlYnVnIG1lc3NhZ2VzIGZyb20gdGhlIGBmb28tYmFyYCBwbHVnaW5cbiAgICogd2luZG93LkRFQlVHLmRpc2FibGUoJ2Zvby1iYXI6KicpOyAvLyBoaWRlIGFsbCBkZWJ1ZyBtZXNzYWdlcyBmcm9tIHRoZSBgZm9vLWJhcmAgcGx1Z2luIHN1Ym1vZHVsZXNcbiAgICogd2luZG93LkRFQlVHLmRpc2FibGUoWydmb28tYmFyJywgJ2Jhei1xdXgnXSk7IC8vIGRpc2FibGUgbXVsdGlwbGUgbmFtZXNwYWNlc1xuICAgKiB3aW5kb3cuREVCVUcuZGlzYWJsZSgnZm9vLWJhcixiYXotcXV4Jyk7IC8vIGRpc2FibGUgbXVsdGlwbGUgbmFtZXNwYWNlcyB1c2luZyBjb21tYS1zZXBhcmF0ZWQgc3RyaW5nXG4gICAqIHdpbmRvdy5ERUJVRy5kaXNhYmxlKCcqJyk7IC8vIGRpc2FibGUgYWxsIGRlYnVnIG1lc3NhZ2VzXG4gICAqIGBgYFxuICAgKlxuICAgKiBAcGFyYW0gbmFtZXNwYWNlcyAtIFNpbmdsZSBuYW1lc3BhY2Ugc3RyaW5nIG9yIGFycmF5IG9mIG5hbWVzcGFjZSBzdHJpbmdzIHRvIGRpc2FibGVcbiAgICovXG4gIGRpc2FibGU6IChuYW1lc3BhY2VzOiBzdHJpbmcgfCBzdHJpbmdbXSkgPT4gdm9pZDtcblxuICAvKipcbiAgICogRW5hYmxlIHNwZWNpZmljIGRlYnVnIG5hbWVzcGFjZXMuIE5vdGUgdGhhdCBleHBsaWNpdGx5IGRpc2FibGVkXG4gICAqIG5hbWVzcGFjZXMgKHByZWZpeGVkIHdpdGggJy0nKSB3aWxsIHJlbWFpbiBkaXNhYmxlZC5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiB3aW5kb3cuREVCVUcuZW5hYmxlKCdmb28tYmFyJyk7IC8vIHNob3cgYWxsIGRlYnVnIG1lc3NhZ2VzIGZyb20gdGhlIGBmb28tYmFyYCBwbHVnaW5cbiAgICogd2luZG93LkRFQlVHLmVuYWJsZSgnZm9vLWJhcjpvYnNpZGlhbi1kZXYtdXRpbHM6KicpOyAvLyBzaG93IGFsbCBkZWJ1ZyBtZXNzYWdlcyBmcm9tIHRoZSBgb2JzaWRpYW4tZGV2LXV0aWxzYCBsaWJyYXJ5IHdpdGhpbiB0aGUgYGZvby1iYXJgIHBsdWdpblxuICAgKiB3aW5kb3cuREVCVUcuZW5hYmxlKCdmb28tYmFyOionKTsgLy8gc2hvdyBhbGwgZGVidWcgbWVzc2FnZXMgZnJvbSB0aGUgYGZvby1iYXJgIHBsdWdpbiBhbmQgaXRzIHN1Ym1vZHVsZXNcbiAgICogd2luZG93LkRFQlVHLmVuYWJsZSgnKjpvYnNpZGlhbi1kZXYtdXRpbHM6KicpOyAvLyBzaG93IGFsbCBkZWJ1ZyBtZXNzYWdlcyBmb3IgdGhlIGBvYnNpZGlhbi1kZXYtdXRpbHNgIGxpYnJhcnkgd2l0aGluIGFueSBwbHVnaW5cbiAgICogd2luZG93LkRFQlVHLmVuYWJsZShbJ2Zvby1iYXInLCAnYmF6LXF1eCddKTsgLy8gZW5hYmxlIG11bHRpcGxlIG5hbWVzcGFjZXNcbiAgICogd2luZG93LkRFQlVHLmVuYWJsZSgnZm9vLWJhcixiYXotcXV4Jyk7IC8vIGVuYWJsZSBtdWx0aXBsZSBuYW1lc3BhY2VzIHVzaW5nIGNvbW1hLXNlcGFyYXRlZCBzdHJpbmdcbiAgICogd2luZG93LkRFQlVHLmVuYWJsZSgnKicpOyAvLyBzaG93IGFsbCBkZWJ1ZyBtZXNzYWdlc1xuICAgKiBgYGBcbiAgICpcbiAgICogQHBhcmFtIG5hbWVzcGFjZXMgLSBTaW5nbGUgbmFtZXNwYWNlIHN0cmluZyBvciBhcnJheSBvZiBuYW1lc3BhY2Ugc3RyaW5ncyB0byBlbmFibGVcbiAgICovXG4gIGVuYWJsZTogKG5hbWVzcGFjZXM6IHN0cmluZyB8IHN0cmluZ1tdKSA9PiB2b2lkO1xuXG4gIC8qKlxuICAgKiBHZXQgY3VycmVudGx5IGNvbmZpZ3VyZWQgZGVidWcgbmFtZXNwYWNlcy5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiB3aW5kb3cuREVCVUcuZ2V0KCk7IC8vIHJldHVybnMgWydmb28tYmFyJywgJ2Jhei1xdXg6KicsICctbG9yZW0taXBzdW0nXVxuICAgKiBgYGBcbiAgICpcbiAgICogQHJldHVybnMgQXJyYXkgb2YgZW5hYmxlZCBhbmQgZGlzYWJsZWQgKHByZWZpeGVkIHdpdGggYC1gKSBkZWJ1ZyBuYW1lc3BhY2VzXG4gICAqL1xuICBnZXQ6ICgpID0+IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBTZXQgZGVidWcgbmFtZXNwYWNlcywgcmVwbGFjaW5nIGFsbCBwcmV2aW91cyBjb25maWd1cmF0aW9ucy5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiB3aW5kb3cuREVCVUcuc2V0KFsnZm9vLWJhcicsICdiYXotcXV4OionLCAnLWxvcmVtLWlwc3VtJ10pOyAvLyBFbmFibGUgJ2Zvby1iYXInIGFuZCAnYmF6LXF1eDoqJywgZXhwbGljaXRseSBkaXNhYmxlICdsb3JlbS1pcHN1bSdcbiAgICogd2luZG93LkRFQlVHLnNldCgnZm9vLWJhcixiYXotcXV4OiosLWxvcmVtLWlwc3VtJyk7IC8vIFNhbWUgdGhpbmcgdXNpbmcgY29tbWEtc2VwYXJhdGVkIHN0cmluZ1xuICAgKiB3aW5kb3cuREVCVUcuc2V0KCcqJyk7IC8vIEVuYWJsZSBhbGwgZGVidWcgbWVzc2FnZXNcbiAgICogd2luZG93LkRFQlVHLnNldCgnJyk7IC8vIERpc2FibGUgYWxsIGRlYnVnIG1lc3NhZ2VzXG4gICAqIGBgYFxuICAgKlxuICAgKiBAcGFyYW0gbmFtZXNwYWNlcyAtIFN0cmluZyBvciBhcnJheSBvZiBuYW1lc3BhY2UgcGF0dGVybnNcbiAgICovXG4gIHNldDogKG5hbWVzcGFjZXM6IHN0cmluZyB8IHN0cmluZ1tdKSA9PiB2b2lkO1xufVxuXG4vKiB2OCBpZ25vcmUgc3RvcCAqL1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -0,0 +1,87 @@
1
+ /// <reference path="./library-references.d.cts" />
2
+ /**
3
+ * @file
4
+ *
5
+ * Provides the interface for controlling debug output through namespace management.
6
+ *
7
+ * Debug namespaces follow the pattern 'lorem', `lorem:ipsum`, `lorem:ipsum:dolor`, etc, and can use wildcards (`*`).
8
+ *
9
+ * @example
10
+ * - `lorem:*` matches all submodules of 'lorem'
11
+ * - `*:ipsum` matches all plugins' `ipsum` submodules
12
+ * - `*` matches everything
13
+ *
14
+ * Special syntax:
15
+ * - Namespaces prefixed with '-' are explicitly disabled
16
+ * - Multiple namespaces can be combined with commas: `lorem,-lorem:ipsum,dolor:*`
17
+ *
18
+ * @see {@link https://mnaoumov.dev/obsidian-dev-utils/guides/debugging/}
19
+ */
20
+ /**
21
+ * Controls debug output by managing debug namespaces.
22
+ * Exposed globally as `window.DEBUG`.
23
+ *
24
+ * @remarks
25
+ * Debug settings persist across plugin reloads in localStorage.
26
+ */
27
+ export interface DebugController {
28
+ /**
29
+ * Disable specific debug namespaces. Disabled namespaces take precedence
30
+ * over enabled ones when there's a conflict.
31
+ *
32
+ * @example
33
+ * ```typescript
34
+ * window.DEBUG.disable('foo-bar'); // hide all debug messages from the `foo-bar` plugin
35
+ * window.DEBUG.disable('foo-bar:*'); // hide all debug messages from the `foo-bar` plugin submodules
36
+ * window.DEBUG.disable(['foo-bar', 'baz-qux']); // disable multiple namespaces
37
+ * window.DEBUG.disable('foo-bar,baz-qux'); // disable multiple namespaces using comma-separated string
38
+ * window.DEBUG.disable('*'); // disable all debug messages
39
+ * ```
40
+ *
41
+ * @param namespaces - Single namespace string or array of namespace strings to disable
42
+ */
43
+ disable: (namespaces: string | string[]) => void;
44
+ /**
45
+ * Enable specific debug namespaces. Note that explicitly disabled
46
+ * namespaces (prefixed with '-') will remain disabled.
47
+ *
48
+ * @example
49
+ * ```typescript
50
+ * window.DEBUG.enable('foo-bar'); // show all debug messages from the `foo-bar` plugin
51
+ * window.DEBUG.enable('foo-bar:obsidian-dev-utils:*'); // show all debug messages from the `obsidian-dev-utils` library within the `foo-bar` plugin
52
+ * window.DEBUG.enable('foo-bar:*'); // show all debug messages from the `foo-bar` plugin and its submodules
53
+ * window.DEBUG.enable('*:obsidian-dev-utils:*'); // show all debug messages for the `obsidian-dev-utils` library within any plugin
54
+ * window.DEBUG.enable(['foo-bar', 'baz-qux']); // enable multiple namespaces
55
+ * window.DEBUG.enable('foo-bar,baz-qux'); // enable multiple namespaces using comma-separated string
56
+ * window.DEBUG.enable('*'); // show all debug messages
57
+ * ```
58
+ *
59
+ * @param namespaces - Single namespace string or array of namespace strings to enable
60
+ */
61
+ enable: (namespaces: string | string[]) => void;
62
+ /**
63
+ * Get currently configured debug namespaces.
64
+ *
65
+ * @example
66
+ * ```typescript
67
+ * window.DEBUG.get(); // returns ['foo-bar', 'baz-qux:*', '-lorem-ipsum']
68
+ * ```
69
+ *
70
+ * @returns Array of enabled and disabled (prefixed with `-`) debug namespaces
71
+ */
72
+ get: () => string[];
73
+ /**
74
+ * Set debug namespaces, replacing all previous configurations.
75
+ *
76
+ * @example
77
+ * ```typescript
78
+ * window.DEBUG.set(['foo-bar', 'baz-qux:*', '-lorem-ipsum']); // Enable 'foo-bar' and 'baz-qux:*', explicitly disable 'lorem-ipsum'
79
+ * window.DEBUG.set('foo-bar,baz-qux:*,-lorem-ipsum'); // Same thing using comma-separated string
80
+ * window.DEBUG.set('*'); // Enable all debug messages
81
+ * window.DEBUG.set(''); // Disable all debug messages
82
+ * ```
83
+ *
84
+ * @param namespaces - String or array of namespace patterns
85
+ */
86
+ set: (namespaces: string | string[]) => void;
87
+ }
@@ -0,0 +1,204 @@
1
+ /*
2
+ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
+ if you want to view the source, please visit the github repository of this plugin
4
+ */
5
+ (function () {
6
+ function ensureBrowserProcess() {
7
+ const browserProcess = {
8
+ browser: true,
9
+ cwd() {
10
+ return "/";
11
+ },
12
+ env: {},
13
+ platform: "android"
14
+ };
15
+ const existingProcess = globalThis.process;
16
+ if (!existingProcess) {
17
+ globalThis.process = browserProcess;
18
+ return;
19
+ }
20
+ if (existingProcess.versions?.node) {
21
+ return;
22
+ }
23
+ const existingProcessRecord = existingProcess;
24
+ for (const [key, value] of Object.entries(browserProcess)) {
25
+ existingProcessRecord[key] ??= value;
26
+ }
27
+ existingProcessRecord["browser"] = true;
28
+ }
29
+
30
+ ensureBrowserProcess();
31
+ })();
32
+
33
+ "use strict";
34
+ var __create = Object.create;
35
+ var __defProp = Object.defineProperty;
36
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
37
+ var __getOwnPropNames = Object.getOwnPropertyNames;
38
+ var __getProtoOf = Object.getPrototypeOf;
39
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
40
+ var __export = (target, all) => {
41
+ for (var name in all)
42
+ __defProp(target, name, { get: all[name], enumerable: true });
43
+ };
44
+ var __copyProps = (to, from, except, desc) => {
45
+ if (from && typeof from === "object" || typeof from === "function") {
46
+ for (let key of __getOwnPropNames(from))
47
+ if (!__hasOwnProp.call(to, key) && key !== except)
48
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
49
+ }
50
+ return to;
51
+ };
52
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
53
+ // If the importer is in node compatibility mode or this is not an ESM
54
+ // file that has been converted to a CommonJS file using a Babel-
55
+ // compatible transform (i.e. "__esModule" has not been set), then set
56
+ // "default" to the CommonJS "module.exports" for node compatibility.
57
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
58
+ mod
59
+ ));
60
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
61
+ var debug_exports = {};
62
+ __export(debug_exports, {
63
+ enableLibraryDebuggers: () => enableLibraryDebuggers,
64
+ getDebugController: () => getDebugController,
65
+ getDebugger: () => getDebugger,
66
+ getLibDebugger: () => getLibDebugger,
67
+ printWithStackTrace: () => printWithStackTrace,
68
+ showInitialDebugMessage: () => showInitialDebugMessage
69
+ });
70
+ module.exports = __toCommonJS(debug_exports);
71
+ var import_debug = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('debug')), 1);
72
+ var import_error = require('./error.cjs');
73
+ var import_library = require('./library.cjs');
74
+ var import_typescript_lib_state = require('./typescript-lib-state.cjs');
75
+ const NAMESPACE_SEPARATOR = ",";
76
+ const NEGATED_NAMESPACE_PREFIX = "-";
77
+ function enableLibraryDebuggers() {
78
+ enableNamespaces([import_library.Library.debugNamespace, `${import_library.Library.debugNamespace}:*`]);
79
+ }
80
+ function getDebugController() {
81
+ return {
82
+ disable: disableNamespaces,
83
+ enable: enableNamespaces,
84
+ get: getNamespaces,
85
+ set: setNamespaces
86
+ };
87
+ }
88
+ function getDebugger(namespace, framesToSkip = 0) {
89
+ const key = `${namespace}:${String(framesToSkip)}`;
90
+ const debuggersMap = (0, import_typescript_lib_state.getTypescriptLibState)("debuggers", /* @__PURE__ */ new Map()).value;
91
+ let debuggerEx = debuggersMap.get(key);
92
+ if (!debuggerEx) {
93
+ debuggerEx = getSharedDebugLibInstance()(namespace);
94
+ debuggerEx.log = (message, ...$arguments) => {
95
+ logWithCaller({
96
+ $arguments,
97
+ framesToSkip,
98
+ message,
99
+ namespace
100
+ });
101
+ };
102
+ debuggersMap.set(key, debuggerEx);
103
+ }
104
+ return debuggerEx;
105
+ }
106
+ function getLibDebugger(namespace) {
107
+ return getDebugger(`${import_library.Library.debugPrefixNamespace}${import_library.Library.debugNamespace}:${namespace}`);
108
+ }
109
+ function printWithStackTrace(params) {
110
+ const {
111
+ $arguments,
112
+ debuggerInstance,
113
+ message,
114
+ stackTrace
115
+ } = params;
116
+ if (!import_library.Library.shouldPrintStackTrace) {
117
+ debuggerInstance(message, ...$arguments);
118
+ return;
119
+ }
120
+ debuggerInstance(message, ...$arguments, "\n\n---\nContext stack trace:\n", makeStackTraceError(stackTrace));
121
+ }
122
+ function showInitialDebugMessage(pluginId) {
123
+ const isEnabled = getSharedDebugLibInstance().enabled(pluginId);
124
+ const state = isEnabled ? "enabled" : "disabled";
125
+ const changeAction = isEnabled ? "disable" : "enable";
126
+ const namespaces = getNamespaces();
127
+ setNamespaces(pluginId);
128
+ getDebugger(pluginId)(
129
+ `Debug messages for plugin ${pluginId} are ${state}.${formatGuideReference(` how to ${changeAction} them`)}`
130
+ );
131
+ setNamespaces(namespaces);
132
+ }
133
+ function disableNamespaces(namespaces) {
134
+ const set = new Set(getNamespaces());
135
+ for (const namespace of toArray(namespaces)) {
136
+ if (namespace.startsWith(NEGATED_NAMESPACE_PREFIX)) {
137
+ continue;
138
+ }
139
+ const negatedNamespace = NEGATED_NAMESPACE_PREFIX + namespace;
140
+ set.delete(namespace);
141
+ set.add(negatedNamespace);
142
+ }
143
+ setNamespaces([...set]);
144
+ }
145
+ function enableNamespaces(namespaces) {
146
+ const set = new Set(getNamespaces());
147
+ for (const namespace of toArray(namespaces)) {
148
+ if (!namespace.startsWith(NEGATED_NAMESPACE_PREFIX)) {
149
+ const negatedNamespace = NEGATED_NAMESPACE_PREFIX + namespace;
150
+ set.delete(negatedNamespace);
151
+ }
152
+ set.add(namespace);
153
+ }
154
+ setNamespaces([...set]);
155
+ }
156
+ function formatGuideReference(suffix) {
157
+ return import_library.Library.debugGuideUrl ? ` See ${import_library.Library.debugGuideUrl}${suffix}.` : "";
158
+ }
159
+ function getNamespaces() {
160
+ return toArray(getSharedDebugLibInstance().load() ?? "");
161
+ }
162
+ function getSharedDebugLibInstance() {
163
+ return (0, import_typescript_lib_state.getTypescriptLibState)("debug", import_debug.default).value;
164
+ }
165
+ function logWithCaller(params) {
166
+ const {
167
+ $arguments,
168
+ framesToSkip,
169
+ message,
170
+ namespace
171
+ } = params;
172
+ if (!getSharedDebugLibInstance().enabled(namespace)) {
173
+ return;
174
+ }
175
+ if (!import_library.Library.shouldPrintStackTrace) {
176
+ console.debug(message, ...$arguments);
177
+ return;
178
+ }
179
+ const CALLER_FRAME_INDEX = 3;
180
+ console.debug(message, ...$arguments, "\n\n---\nLogger stack trace:\n", makeStackTraceError((0, import_error.getStackTrace)(CALLER_FRAME_INDEX + framesToSkip)));
181
+ }
182
+ function makeStackTraceError(stackTrace) {
183
+ return new import_error.CustomStackTraceError({
184
+ cause: void 0,
185
+ message: `Debug mode: intentional placeholder error.${formatGuideReference("")}`,
186
+ stackTrace
187
+ });
188
+ }
189
+ function setNamespaces(namespaces) {
190
+ getSharedDebugLibInstance().enable(toArray(namespaces).join(NAMESPACE_SEPARATOR));
191
+ }
192
+ function toArray(namespaces) {
193
+ return typeof namespaces === "string" ? namespaces.split(NAMESPACE_SEPARATOR).filter(Boolean) : namespaces.flatMap((namespace) => toArray(namespace));
194
+ }
195
+ // Annotate the CommonJS export names for ESM import in node:
196
+ 0 && (module.exports = {
197
+ enableLibraryDebuggers,
198
+ getDebugController,
199
+ getDebugger,
200
+ getLibDebugger,
201
+ printWithStackTrace,
202
+ showInitialDebugMessage
203
+ });
204
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZWJ1Zy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBmaWxlXG4gKlxuICogQ29udGFpbnMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIGRlYnVnZ2luZy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IERlYnVnZ2VyIH0gZnJvbSAnZGVidWcnO1xuXG5pbXBvcnQgZGVidWcgZnJvbSAnZGVidWcnO1xuXG5pbXBvcnQgdHlwZSB7IERlYnVnQ29udHJvbGxlciB9IGZyb20gJy4vZGVidWctY29udHJvbGxlci50cyc7XG5cbmltcG9ydCB7XG4gIEN1c3RvbVN0YWNrVHJhY2VFcnJvcixcbiAgZ2V0U3RhY2tUcmFjZVxufSBmcm9tICcuL2Vycm9yLnRzJztcbmltcG9ydCB7IExpYnJhcnkgfSBmcm9tICcuL2xpYnJhcnkudHMnO1xuaW1wb3J0IHsgZ2V0VHlwZXNjcmlwdExpYlN0YXRlIH0gZnJvbSAnLi90eXBlc2NyaXB0LWxpYi1zdGF0ZS50cyc7XG5cbmNvbnN0IE5BTUVTUEFDRV9TRVBBUkFUT1IgPSAnLCc7XG5jb25zdCBORUdBVEVEX05BTUVTUEFDRV9QUkVGSVggPSAnLSc7XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIHByaW50V2l0aFN0YWNrVHJhY2V9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByaW50V2l0aFN0YWNrVHJhY2VQYXJhbXMge1xuICAvKipcbiAgICogVGhlIGFyZ3VtZW50cyB0byBwcmludC5cbiAgICovXG4gIHJlYWRvbmx5ICRhcmd1bWVudHM6IHVua25vd25bXTtcblxuICAvKipcbiAgICogVGhlIGRlYnVnZ2VyIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVidWdnZXJJbnN0YW5jZTogRGVidWdnZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBtZXNzYWdlIHRvIHByaW50LlxuICAgKi9cbiAgcmVhZG9ubHkgbWVzc2FnZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc3RhY2sgdHJhY2UgdG8gcHJpbnQuXG4gICAqL1xuICByZWFkb25seSBzdGFja1RyYWNlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIGxvZ1dpdGhDYWxsZXJ9LlxuICovXG5pbnRlcmZhY2UgTG9nV2l0aENhbGxlclBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgYXJndW1lbnRzIHRvIHByaW50LlxuICAgKi9cbiAgcmVhZG9ubHkgJGFyZ3VtZW50czogdW5rbm93bltdO1xuXG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIGZyYW1lcyB0byBza2lwIGluIHRoZSBzdGFjayB0cmFjZS5cbiAgICovXG4gIHJlYWRvbmx5IGZyYW1lc1RvU2tpcDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgbWVzc2FnZSB0byBwcmludC5cbiAgICovXG4gIHJlYWRvbmx5IG1lc3NhZ2U6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWVzcGFjZSBmb3IgdGhlIGRlYnVnZ2VyIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZXNwYWNlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogRW5hYmxlcyB0aGUgZGVidWdnZXJzIGZvciB0aGUgbGlicmFyeSAodW5kZXIgaXRzIGRlYnVnIG5hbWVzcGFjZSwgc2VlIGBMaWJyYXJ5LmRlYnVnTmFtZXNwYWNlYCkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlbmFibGVMaWJyYXJ5RGVidWdnZXJzKCk6IHZvaWQge1xuICBlbmFibGVOYW1lc3BhY2VzKFtMaWJyYXJ5LmRlYnVnTmFtZXNwYWNlLCBgJHtMaWJyYXJ5LmRlYnVnTmFtZXNwYWNlfToqYF0pO1xufVxuXG4vKipcbiAqIFJldHVybnMgYSBkZWJ1ZyBjb250cm9sbGVyLlxuICpcbiAqIEByZXR1cm5zIEEgZGVidWcgY29udHJvbGxlci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldERlYnVnQ29udHJvbGxlcigpOiBEZWJ1Z0NvbnRyb2xsZXIge1xuICByZXR1cm4ge1xuICAgIGRpc2FibGU6IGRpc2FibGVOYW1lc3BhY2VzLFxuICAgIGVuYWJsZTogZW5hYmxlTmFtZXNwYWNlcyxcbiAgICBnZXQ6IGdldE5hbWVzcGFjZXMsXG4gICAgc2V0OiBzZXROYW1lc3BhY2VzXG4gIH07XG59XG5cbi8qKlxuICogUmV0dXJucyBhIGRlYnVnZ2VyIGluc3RhbmNlIHdpdGggYSBsb2cgZnVuY3Rpb24gdGhhdCBpbmNsdWRlcyB0aGUgY2FsbGVyJ3MgZmlsZSBuYW1lIGFuZCBsaW5lIG51bWJlci5cbiAqXG4gKiBAcGFyYW0gbmFtZXNwYWNlIC0gVGhlIG5hbWVzcGFjZSBmb3IgdGhlIGRlYnVnZ2VyIGluc3RhbmNlLlxuICogQHBhcmFtIGZyYW1lc1RvU2tpcCAtIFRoZSBudW1iZXIgb2YgZnJhbWVzIHRvIHNraXAgaW4gdGhlIHN0YWNrIHRyYWNlLlxuICogQHJldHVybnMgQSBkZWJ1Z2dlciBpbnN0YW5jZSB3aXRoIGEgbG9nIGZ1bmN0aW9uIHRoYXQgaW5jbHVkZXMgdGhlIGNhbGxlcidzIGZpbGUgbmFtZSBhbmQgbGluZSBudW1iZXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXREZWJ1Z2dlcihuYW1lc3BhY2U6IHN0cmluZywgZnJhbWVzVG9Ta2lwID0gMCk6IERlYnVnZ2VyIHtcbiAgY29uc3Qga2V5ID0gYCR7bmFtZXNwYWNlfToke1N0cmluZyhmcmFtZXNUb1NraXApfWA7XG4gIGNvbnN0IGRlYnVnZ2Vyc01hcCA9IGdldFR5cGVzY3JpcHRMaWJTdGF0ZSgnZGVidWdnZXJzJywgbmV3IE1hcDxzdHJpbmcsIERlYnVnZ2VyPigpKS52YWx1ZTtcbiAgbGV0IGRlYnVnZ2VyRXggPSBkZWJ1Z2dlcnNNYXAuZ2V0KGtleSk7XG4gIGlmICghZGVidWdnZXJFeCkge1xuICAgIGRlYnVnZ2VyRXggPSBnZXRTaGFyZWREZWJ1Z0xpYkluc3RhbmNlKCkobmFtZXNwYWNlKTtcbiAgICBkZWJ1Z2dlckV4LmxvZyA9IChtZXNzYWdlOiBzdHJpbmcsIC4uLiRhcmd1bWVudHM6IHVua25vd25bXSk6IHZvaWQgPT4ge1xuICAgICAgbG9nV2l0aENhbGxlcih7XG4gICAgICAgICRhcmd1bWVudHMsXG4gICAgICAgIGZyYW1lc1RvU2tpcCxcbiAgICAgICAgbWVzc2FnZSxcbiAgICAgICAgbmFtZXNwYWNlXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgZGVidWdnZXJzTWFwLnNldChrZXksIGRlYnVnZ2VyRXgpO1xuICB9XG5cbiAgcmV0dXJuIGRlYnVnZ2VyRXg7XG59XG5cbi8qKlxuICogUmV0dXJucyBhIGRlYnVnZ2VyIGluc3RhbmNlIGZvciB0aGUgbGlicmFyeSAodW5kZXIgaXRzIGRlYnVnIG5hbWVzcGFjZSwgc2VlIGBMaWJyYXJ5LmRlYnVnTmFtZXNwYWNlYCkuXG4gKlxuICogQHBhcmFtIG5hbWVzcGFjZSAtIFRoZSBuYW1lc3BhY2UgZm9yIHRoZSBkZWJ1Z2dlciBpbnN0YW5jZS5cbiAqIEByZXR1cm5zIEEgZGVidWdnZXIgaW5zdGFuY2UgZm9yIHRoZSBsaWJyYXJ5ICh1bmRlciBpdHMgZGVidWcgbmFtZXNwYWNlLCBzZWUgYExpYnJhcnkuZGVidWdOYW1lc3BhY2VgKS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldExpYkRlYnVnZ2VyKG5hbWVzcGFjZTogc3RyaW5nKTogRGVidWdnZXIge1xuICByZXR1cm4gZ2V0RGVidWdnZXIoYCR7TGlicmFyeS5kZWJ1Z1ByZWZpeE5hbWVzcGFjZX0ke0xpYnJhcnkuZGVidWdOYW1lc3BhY2V9OiR7bmFtZXNwYWNlfWApO1xufVxuXG4vKipcbiAqIFByaW50cyBhIG1lc3NhZ2Ugd2l0aCBhIHN0YWNrIHRyYWNlLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgcHJpbnRpbmcgdGhlIG1lc3NhZ2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcmludFdpdGhTdGFja1RyYWNlKHBhcmFtczogUHJpbnRXaXRoU3RhY2tUcmFjZVBhcmFtcyk6IHZvaWQge1xuICBjb25zdCB7XG4gICAgJGFyZ3VtZW50cyxcbiAgICBkZWJ1Z2dlckluc3RhbmNlLFxuICAgIG1lc3NhZ2UsXG4gICAgc3RhY2tUcmFjZVxuICB9ID0gcGFyYW1zO1xuICBpZiAoIUxpYnJhcnkuc2hvdWxkUHJpbnRTdGFja1RyYWNlKSB7XG4gICAgZGVidWdnZXJJbnN0YW5jZShtZXNzYWdlLCAuLi4kYXJndW1lbnRzKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBkZWJ1Z2dlckluc3RhbmNlKG1lc3NhZ2UsIC4uLiRhcmd1bWVudHMsICdcXG5cXG4tLS1cXG5Db250ZXh0IHN0YWNrIHRyYWNlOlxcbicsIG1ha2VTdGFja1RyYWNlRXJyb3Ioc3RhY2tUcmFjZSkpO1xufVxuXG4vKipcbiAqIFNob3dzIGFuIGluaXRpYWwgZGVidWcgbWVzc2FnZS5cbiAqXG4gKiBAcGFyYW0gcGx1Z2luSWQgLSBUaGUgcGx1Z2luIElELlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2hvd0luaXRpYWxEZWJ1Z01lc3NhZ2UocGx1Z2luSWQ6IHN0cmluZyk6IHZvaWQge1xuICBjb25zdCBpc0VuYWJsZWQgPSBnZXRTaGFyZWREZWJ1Z0xpYkluc3RhbmNlKCkuZW5hYmxlZChwbHVnaW5JZCk7XG4gIGNvbnN0IHN0YXRlID0gaXNFbmFibGVkID8gJ2VuYWJsZWQnIDogJ2Rpc2FibGVkJztcbiAgY29uc3QgY2hhbmdlQWN0aW9uID0gaXNFbmFibGVkID8gJ2Rpc2FibGUnIDogJ2VuYWJsZSc7XG4gIGNvbnN0IG5hbWVzcGFjZXMgPSBnZXROYW1lc3BhY2VzKCk7XG4gIHNldE5hbWVzcGFjZXMocGx1Z2luSWQpO1xuICBnZXREZWJ1Z2dlcihwbHVnaW5JZCkoXG4gICAgYERlYnVnIG1lc3NhZ2VzIGZvciBwbHVnaW4gJHtwbHVnaW5JZH0gYXJlICR7c3RhdGV9LiR7Zm9ybWF0R3VpZGVSZWZlcmVuY2UoYCBob3cgdG8gJHtjaGFuZ2VBY3Rpb259IHRoZW1gKX1gXG4gICk7XG4gIHNldE5hbWVzcGFjZXMobmFtZXNwYWNlcyk7XG59XG5cbmZ1bmN0aW9uIGRpc2FibGVOYW1lc3BhY2VzKG5hbWVzcGFjZXM6IHN0cmluZyB8IHN0cmluZ1tdKTogdm9pZCB7XG4gIGNvbnN0IHNldCA9IG5ldyBTZXQoZ2V0TmFtZXNwYWNlcygpKTtcbiAgZm9yIChjb25zdCBuYW1lc3BhY2Ugb2YgdG9BcnJheShuYW1lc3BhY2VzKSkge1xuICAgIGlmIChuYW1lc3BhY2Uuc3RhcnRzV2l0aChORUdBVEVEX05BTUVTUEFDRV9QUkVGSVgpKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgY29uc3QgbmVnYXRlZE5hbWVzcGFjZSA9IE5FR0FURURfTkFNRVNQQUNFX1BSRUZJWCArIG5hbWVzcGFjZTtcbiAgICBzZXQuZGVsZXRlKG5hbWVzcGFjZSk7XG4gICAgc2V0LmFkZChuZWdhdGVkTmFtZXNwYWNlKTtcbiAgfVxuICBzZXROYW1lc3BhY2VzKFsuLi5zZXRdKTtcbn1cblxuZnVuY3Rpb24gZW5hYmxlTmFtZXNwYWNlcyhuYW1lc3BhY2VzOiBzdHJpbmcgfCBzdHJpbmdbXSk6IHZvaWQge1xuICBjb25zdCBzZXQgPSBuZXcgU2V0KGdldE5hbWVzcGFjZXMoKSk7XG4gIGZvciAoY29uc3QgbmFtZXNwYWNlIG9mIHRvQXJyYXkobmFtZXNwYWNlcykpIHtcbiAgICBpZiAoIW5hbWVzcGFjZS5zdGFydHNXaXRoKE5FR0FURURfTkFNRVNQQUNFX1BSRUZJWCkpIHtcbiAgICAgIGNvbnN0IG5lZ2F0ZWROYW1lc3BhY2UgPSBORUdBVEVEX05BTUVTUEFDRV9QUkVGSVggKyBuYW1lc3BhY2U7XG4gICAgICBzZXQuZGVsZXRlKG5lZ2F0ZWROYW1lc3BhY2UpO1xuICAgIH1cbiAgICBzZXQuYWRkKG5hbWVzcGFjZSk7XG4gIH1cbiAgc2V0TmFtZXNwYWNlcyhbLi4uc2V0XSk7XG59XG5cbmZ1bmN0aW9uIGZvcm1hdEd1aWRlUmVmZXJlbmNlKHN1ZmZpeDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIExpYnJhcnkuZGVidWdHdWlkZVVybCA/IGAgU2VlICR7TGlicmFyeS5kZWJ1Z0d1aWRlVXJsfSR7c3VmZml4fS5gIDogJyc7XG59XG5cbmZ1bmN0aW9uIGdldE5hbWVzcGFjZXMoKTogc3RyaW5nW10ge1xuICByZXR1cm4gdG9BcnJheShnZXRTaGFyZWREZWJ1Z0xpYkluc3RhbmNlKCkubG9hZCgpID8/ICcnKTtcbn1cblxuZnVuY3Rpb24gZ2V0U2hhcmVkRGVidWdMaWJJbnN0YW5jZSgpOiB0eXBlb2YgZGVidWcge1xuICByZXR1cm4gZ2V0VHlwZXNjcmlwdExpYlN0YXRlKCdkZWJ1ZycsIGRlYnVnKS52YWx1ZTtcbn1cblxuZnVuY3Rpb24gbG9nV2l0aENhbGxlcihwYXJhbXM6IExvZ1dpdGhDYWxsZXJQYXJhbXMpOiB2b2lkIHtcbiAgY29uc3Qge1xuICAgICRhcmd1bWVudHMsXG4gICAgZnJhbWVzVG9Ta2lwLFxuICAgIG1lc3NhZ2UsXG4gICAgbmFtZXNwYWNlXG4gIH0gPSBwYXJhbXM7XG4gIGlmICghZ2V0U2hhcmVkRGVidWdMaWJJbnN0YW5jZSgpLmVuYWJsZWQobmFtZXNwYWNlKSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmICghTGlicmFyeS5zaG91bGRQcmludFN0YWNrVHJhY2UpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZSAtLSBWYWxpZCB1c2FnZS5cbiAgICBjb25zb2xlLmRlYnVnKG1lc3NhZ2UsIC4uLiRhcmd1bWVudHMpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgY2FsbGVyIGlzIDMgZnJhbWVzIGFib3ZlIHRoaXMgb25lLCBiZWNhdXNlIHRoZSBjYWxsIHN0YWNrIGlzIGFzIGZvbGxvd3M6XG4gICAqXG4gICAqIDA6IGxvZ1dpdGhDYWxsZXJcbiAgICogMTogZGVidWdJbnN0YW5jZS5sb2dcbiAgICogMjogZGVidWdcbiAgICogMzogZnVuY3Rpb25OYW1lICh0aGUgY2FsbGVyKVxuICAgKlxuICAgKiBgZ2V0U3RhY2tUcmFjZWAgZHJvcHMgaXRzIG93biBmcmFtZSBhbmQsIG9uIGFuIGVuZ2luZSB0aGF0IHdyaXRlcyBvbmUsIHRoZSBgRXJyb3JgIGhlYWRlciBsaW5lLlxuICAgKi9cbiAgY29uc3QgQ0FMTEVSX0ZSQU1FX0lOREVYID0gMztcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZSAtLSBWYWxpZCB1c2FnZS5cbiAgY29uc29sZS5kZWJ1ZyhtZXNzYWdlLCAuLi4kYXJndW1lbnRzLCAnXFxuXFxuLS0tXFxuTG9nZ2VyIHN0YWNrIHRyYWNlOlxcbicsIG1ha2VTdGFja1RyYWNlRXJyb3IoZ2V0U3RhY2tUcmFjZShDQUxMRVJfRlJBTUVfSU5ERVggKyBmcmFtZXNUb1NraXApKSk7XG59XG5cbmZ1bmN0aW9uIG1ha2VTdGFja1RyYWNlRXJyb3Ioc3RhY2tUcmFjZTogc3RyaW5nKTogQ3VzdG9tU3RhY2tUcmFjZUVycm9yIHtcbiAgcmV0dXJuIG5ldyBDdXN0b21TdGFja1RyYWNlRXJyb3Ioe1xuICAgIGNhdXNlOiB1bmRlZmluZWQsXG4gICAgbWVzc2FnZTogYERlYnVnIG1vZGU6IGludGVudGlvbmFsIHBsYWNlaG9sZGVyIGVycm9yLiR7Zm9ybWF0R3VpZGVSZWZlcmVuY2UoJycpfWAsXG4gICAgc3RhY2tUcmFjZVxuICB9KTtcbn1cblxuLyoqXG4gKiBTZXRzIHRoZSBuYW1lc3BhY2VzIHRvIGVuYWJsZS5cbiAqXG4gKiBAcGFyYW0gbmFtZXNwYWNlcyAtIFRoZSBuYW1lc3BhY2VzIHRvIGVuYWJsZS5cbiAqL1xuZnVuY3Rpb24gc2V0TmFtZXNwYWNlcyhuYW1lc3BhY2VzOiBzdHJpbmcgfCBzdHJpbmdbXSk6IHZvaWQge1xuICBnZXRTaGFyZWREZWJ1Z0xpYkluc3RhbmNlKCkuZW5hYmxlKHRvQXJyYXkobmFtZXNwYWNlcykuam9pbihOQU1FU1BBQ0VfU0VQQVJBVE9SKSk7XG59XG5cbmZ1bmN0aW9uIHRvQXJyYXkobmFtZXNwYWNlczogc3RyaW5nIHwgc3RyaW5nW10pOiBzdHJpbmdbXSB7XG4gIHJldHVybiB0eXBlb2YgbmFtZXNwYWNlcyA9PT0gJ3N0cmluZycgPyBuYW1lc3BhY2VzLnNwbGl0KE5BTUVTUEFDRV9TRVBBUkFUT1IpLmZpbHRlcihCb29sZWFuKSA6IG5hbWVzcGFjZXMuZmxhdE1hcCgobmFtZXNwYWNlKSA9PiB0b0FycmF5KG5hbWVzcGFjZSkpO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVFBLG1CQUFrQjtBQUlsQixtQkFHTztBQUNQLHFCQUF3QjtBQUN4QixrQ0FBc0M7QUFFdEMsTUFBTSxzQkFBc0I7QUFDNUIsTUFBTSwyQkFBMkI7QUF1RDFCLFNBQVMseUJBQStCO0FBQzdDLG1CQUFpQixDQUFDLHVCQUFRLGdCQUFnQixHQUFHLHVCQUFRLGNBQWMsSUFBSSxDQUFDO0FBQzFFO0FBT08sU0FBUyxxQkFBc0M7QUFDcEQsU0FBTztBQUFBLElBQ0wsU0FBUztBQUFBLElBQ1QsUUFBUTtBQUFBLElBQ1IsS0FBSztBQUFBLElBQ0wsS0FBSztBQUFBLEVBQ1A7QUFDRjtBQVNPLFNBQVMsWUFBWSxXQUFtQixlQUFlLEdBQWE7QUFDekUsUUFBTSxNQUFNLEdBQUcsU0FBUyxJQUFJLE9BQU8sWUFBWSxDQUFDO0FBQ2hELFFBQU0sbUJBQWUsbURBQXNCLGFBQWEsb0JBQUksSUFBc0IsQ0FBQyxFQUFFO0FBQ3JGLE1BQUksYUFBYSxhQUFhLElBQUksR0FBRztBQUNyQyxNQUFJLENBQUMsWUFBWTtBQUNmLGlCQUFhLDBCQUEwQixFQUFFLFNBQVM7QUFDbEQsZUFBVyxNQUFNLENBQUMsWUFBb0IsZUFBZ0M7QUFDcEUsb0JBQWM7QUFBQSxRQUNaO0FBQUEsUUFDQTtBQUFBLFFBQ0E7QUFBQSxRQUNBO0FBQUEsTUFDRixDQUFDO0FBQUEsSUFDSDtBQUVBLGlCQUFhLElBQUksS0FBSyxVQUFVO0FBQUEsRUFDbEM7QUFFQSxTQUFPO0FBQ1Q7QUFRTyxTQUFTLGVBQWUsV0FBNkI7QUFDMUQsU0FBTyxZQUFZLEdBQUcsdUJBQVEsb0JBQW9CLEdBQUcsdUJBQVEsY0FBYyxJQUFJLFNBQVMsRUFBRTtBQUM1RjtBQU9PLFNBQVMsb0JBQW9CLFFBQXlDO0FBQzNFLFFBQU07QUFBQSxJQUNKO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsRUFDRixJQUFJO0FBQ0osTUFBSSxDQUFDLHVCQUFRLHVCQUF1QjtBQUNsQyxxQkFBaUIsU0FBUyxHQUFHLFVBQVU7QUFDdkM7QUFBQSxFQUNGO0FBRUEsbUJBQWlCLFNBQVMsR0FBRyxZQUFZLG1DQUFtQyxvQkFBb0IsVUFBVSxDQUFDO0FBQzdHO0FBT08sU0FBUyx3QkFBd0IsVUFBd0I7QUFDOUQsUUFBTSxZQUFZLDBCQUEwQixFQUFFLFFBQVEsUUFBUTtBQUM5RCxRQUFNLFFBQVEsWUFBWSxZQUFZO0FBQ3RDLFFBQU0sZUFBZSxZQUFZLFlBQVk7QUFDN0MsUUFBTSxhQUFhLGNBQWM7QUFDakMsZ0JBQWMsUUFBUTtBQUN0QixjQUFZLFFBQVE7QUFBQSxJQUNsQiw2QkFBNkIsUUFBUSxRQUFRLEtBQUssSUFBSSxxQkFBcUIsV0FBVyxZQUFZLE9BQU8sQ0FBQztBQUFBLEVBQzVHO0FBQ0EsZ0JBQWMsVUFBVTtBQUMxQjtBQUVBLFNBQVMsa0JBQWtCLFlBQXFDO0FBQzlELFFBQU0sTUFBTSxJQUFJLElBQUksY0FBYyxDQUFDO0FBQ25DLGFBQVcsYUFBYSxRQUFRLFVBQVUsR0FBRztBQUMzQyxRQUFJLFVBQVUsV0FBVyx3QkFBd0IsR0FBRztBQUNsRDtBQUFBLElBQ0Y7QUFDQSxVQUFNLG1CQUFtQiwyQkFBMkI7QUFDcEQsUUFBSSxPQUFPLFNBQVM7QUFDcEIsUUFBSSxJQUFJLGdCQUFnQjtBQUFBLEVBQzFCO0FBQ0EsZ0JBQWMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztBQUN4QjtBQUVBLFNBQVMsaUJBQWlCLFlBQXFDO0FBQzdELFFBQU0sTUFBTSxJQUFJLElBQUksY0FBYyxDQUFDO0FBQ25DLGFBQVcsYUFBYSxRQUFRLFVBQVUsR0FBRztBQUMzQyxRQUFJLENBQUMsVUFBVSxXQUFXLHdCQUF3QixHQUFHO0FBQ25ELFlBQU0sbUJBQW1CLDJCQUEyQjtBQUNwRCxVQUFJLE9BQU8sZ0JBQWdCO0FBQUEsSUFDN0I7QUFDQSxRQUFJLElBQUksU0FBUztBQUFBLEVBQ25CO0FBQ0EsZ0JBQWMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztBQUN4QjtBQUVBLFNBQVMscUJBQXFCLFFBQXdCO0FBQ3BELFNBQU8sdUJBQVEsZ0JBQWdCLFFBQVEsdUJBQVEsYUFBYSxHQUFHLE1BQU0sTUFBTTtBQUM3RTtBQUVBLFNBQVMsZ0JBQTBCO0FBQ2pDLFNBQU8sUUFBUSwwQkFBMEIsRUFBRSxLQUFLLEtBQUssRUFBRTtBQUN6RDtBQUVBLFNBQVMsNEJBQTBDO0FBQ2pELGFBQU8sbURBQXNCLFNBQVMsYUFBQUEsT0FBSyxFQUFFO0FBQy9DO0FBRUEsU0FBUyxjQUFjLFFBQW1DO0FBQ3hELFFBQU07QUFBQSxJQUNKO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsRUFDRixJQUFJO0FBQ0osTUFBSSxDQUFDLDBCQUEwQixFQUFFLFFBQVEsU0FBUyxHQUFHO0FBQ25EO0FBQUEsRUFDRjtBQUVBLE1BQUksQ0FBQyx1QkFBUSx1QkFBdUI7QUFFbEMsWUFBUSxNQUFNLFNBQVMsR0FBRyxVQUFVO0FBQ3BDO0FBQUEsRUFDRjtBQVlBLFFBQU0scUJBQXFCO0FBRzNCLFVBQVEsTUFBTSxTQUFTLEdBQUcsWUFBWSxrQ0FBa0Msd0JBQW9CLDRCQUFjLHFCQUFxQixZQUFZLENBQUMsQ0FBQztBQUMvSTtBQUVBLFNBQVMsb0JBQW9CLFlBQTJDO0FBQ3RFLFNBQU8sSUFBSSxtQ0FBc0I7QUFBQSxJQUMvQixPQUFPO0FBQUEsSUFDUCxTQUFTLDZDQUE2QyxxQkFBcUIsRUFBRSxDQUFDO0FBQUEsSUFDOUU7QUFBQSxFQUNGLENBQUM7QUFDSDtBQU9BLFNBQVMsY0FBYyxZQUFxQztBQUMxRCw0QkFBMEIsRUFBRSxPQUFPLFFBQVEsVUFBVSxFQUFFLEtBQUssbUJBQW1CLENBQUM7QUFDbEY7QUFFQSxTQUFTLFFBQVEsWUFBeUM7QUFDeEQsU0FBTyxPQUFPLGVBQWUsV0FBVyxXQUFXLE1BQU0sbUJBQW1CLEVBQUUsT0FBTyxPQUFPLElBQUksV0FBVyxRQUFRLENBQUMsY0FBYyxRQUFRLFNBQVMsQ0FBQztBQUN0SjsiLCJuYW1lcyI6WyJkZWJ1ZyJdfQ==
@@ -0,0 +1,66 @@
1
+ /// <reference path="./library-references.d.cts" />
2
+ /**
3
+ * @file
4
+ *
5
+ * Contains utility functions for debugging.
6
+ */
7
+ import type { Debugger } from 'debug' with { 'resolution-mode': 'import' };
8
+ import type { DebugController } from './debug-controller.cjs';
9
+ /**
10
+ * Parameters for {@link printWithStackTrace}.
11
+ */
12
+ export interface PrintWithStackTraceParams {
13
+ /**
14
+ * The arguments to print.
15
+ */
16
+ readonly $arguments: unknown[];
17
+ /**
18
+ * The debugger instance.
19
+ */
20
+ readonly debuggerInstance: Debugger;
21
+ /**
22
+ * The message to print.
23
+ */
24
+ readonly message: string;
25
+ /**
26
+ * The stack trace to print.
27
+ */
28
+ readonly stackTrace: string;
29
+ }
30
+ /**
31
+ * Enables the debuggers for the library (under its debug namespace, see `Library.debugNamespace`).
32
+ */
33
+ export declare function enableLibraryDebuggers(): void;
34
+ /**
35
+ * Returns a debug controller.
36
+ *
37
+ * @returns A debug controller.
38
+ */
39
+ export declare function getDebugController(): DebugController;
40
+ /**
41
+ * Returns a debugger instance with a log function that includes the caller's file name and line number.
42
+ *
43
+ * @param namespace - The namespace for the debugger instance.
44
+ * @param framesToSkip - The number of frames to skip in the stack trace.
45
+ * @returns A debugger instance with a log function that includes the caller's file name and line number.
46
+ */
47
+ export declare function getDebugger(namespace: string, framesToSkip?: number): Debugger;
48
+ /**
49
+ * Returns a debugger instance for the library (under its debug namespace, see `Library.debugNamespace`).
50
+ *
51
+ * @param namespace - The namespace for the debugger instance.
52
+ * @returns A debugger instance for the library (under its debug namespace, see `Library.debugNamespace`).
53
+ */
54
+ export declare function getLibDebugger(namespace: string): Debugger;
55
+ /**
56
+ * Prints a message with a stack trace.
57
+ *
58
+ * @param params - The parameters for printing the message.
59
+ */
60
+ export declare function printWithStackTrace(params: PrintWithStackTraceParams): void;
61
+ /**
62
+ * Shows an initial debug message.
63
+ *
64
+ * @param pluginId - The plugin ID.
65
+ */
66
+ export declare function showInitialDebugMessage(pluginId: string): void;