@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.
- package/@types/debug/package.json +4 -0
- package/LICENSE +21 -0
- package/README.md +15 -1
- package/dist/lib/cjs/@types/debug.d.cts +21 -0
- package/dist/lib/cjs/abort-controller.cjs +144 -0
- package/dist/lib/cjs/abort-controller.d.cts +136 -0
- package/dist/lib/cjs/aggregate-error.cjs +40 -0
- package/dist/lib/cjs/aggregate-error.d.cts +24 -0
- package/dist/lib/cjs/array-buffer.cjs +38 -0
- package/dist/lib/cjs/array-buffer.d.cts +16 -0
- package/dist/lib/cjs/array.cjs +76 -0
- package/dist/lib/cjs/array.d.cts +46 -0
- package/dist/lib/cjs/async-events.cjs +408 -0
- package/dist/lib/cjs/async-events.d.cts +456 -0
- package/dist/lib/cjs/async-operation-hook.cjs +55 -0
- package/dist/lib/cjs/async-operation-hook.d.cts +59 -0
- package/dist/lib/cjs/async.cjs +463 -0
- package/dist/lib/cjs/async.d.cts +415 -0
- package/dist/lib/cjs/beeper.cjs +68 -0
- package/dist/lib/cjs/beeper.d.cts +21 -0
- package/dist/lib/cjs/blob.cjs +102 -0
- package/dist/lib/cjs/blob.d.cts +60 -0
- package/dist/lib/cjs/bytes.cjs +56 -0
- package/dist/lib/cjs/bytes.d.cts +17 -0
- package/dist/lib/cjs/debug-controller.cjs +22 -0
- package/dist/lib/cjs/debug-controller.d.cts +87 -0
- package/dist/lib/cjs/debug.cjs +204 -0
- package/dist/lib/cjs/debug.d.cts +66 -0
- package/dist/lib/cjs/desktop-zip-extractor.cjs +157 -0
- package/dist/lib/cjs/desktop-zip-extractor.d.cts +96 -0
- package/dist/lib/cjs/disposable.cjs +364 -0
- package/dist/lib/cjs/disposable.d.cts +387 -0
- package/dist/lib/cjs/enum.cjs +42 -0
- package/dist/lib/cjs/enum.d.cts +24 -0
- package/dist/lib/cjs/error.cjs +239 -0
- package/dist/lib/cjs/error.d.cts +182 -0
- package/dist/lib/cjs/function.cjs +83 -0
- package/dist/lib/cjs/function.d.cts +128 -0
- package/dist/lib/cjs/html-element.cjs +283 -0
- package/dist/lib/cjs/html-element.d.cts +200 -0
- package/dist/lib/cjs/index.cjs +137 -0
- package/dist/lib/cjs/index.d.cts +33 -0
- package/dist/lib/cjs/jpeg-metadata.cjs +170 -0
- package/dist/lib/cjs/jpeg-metadata.d.cts +42 -0
- package/dist/lib/cjs/library-references.d.cts +2 -0
- package/dist/lib/cjs/library.cjs +100 -0
- package/dist/lib/cjs/library.d.cts +96 -0
- package/dist/lib/cjs/object-utils.cjs +559 -0
- package/dist/lib/cjs/object-utils.d.cts +298 -0
- package/dist/lib/cjs/path.cjs +171 -0
- package/dist/lib/cjs/path.d.cts +155 -0
- package/dist/lib/cjs/reg-exp.cjs +196 -0
- package/dist/lib/cjs/reg-exp.d.cts +87 -0
- package/dist/lib/cjs/string.cjs +268 -0
- package/dist/lib/cjs/string.d.cts +362 -0
- package/dist/lib/cjs/transformers/date-transformer.cjs +71 -0
- package/dist/lib/cjs/transformers/date-transformer.d.cts +39 -0
- package/dist/lib/cjs/transformers/group-transformer.cjs +115 -0
- package/dist/lib/cjs/transformers/group-transformer.d.cts +70 -0
- package/dist/lib/cjs/transformers/index.cjs +65 -0
- package/dist/lib/cjs/transformers/index.d.cts +9 -0
- package/dist/lib/cjs/transformers/map-transformer.cjs +71 -0
- package/dist/lib/cjs/transformers/map-transformer.d.cts +41 -0
- package/dist/lib/cjs/transformers/set-transformer.cjs +71 -0
- package/dist/lib/cjs/transformers/set-transformer.d.cts +39 -0
- package/dist/lib/cjs/transformers/skip-private-property-transformer.cjs +69 -0
- package/dist/lib/cjs/transformers/skip-private-property-transformer.d.cts +36 -0
- package/dist/lib/cjs/transformers/transformer.cjs +112 -0
- package/dist/lib/cjs/transformers/transformer.d.cts +70 -0
- package/dist/lib/cjs/transformers/two-way-map-transformer.cjs +72 -0
- package/dist/lib/cjs/transformers/two-way-map-transformer.d.cts +42 -0
- package/dist/lib/cjs/transformers/typed-transformer.cjs +36 -0
- package/dist/lib/cjs/transformers/typed-transformer.d.cts +39 -0
- package/dist/lib/cjs/two-way-map.cjs +150 -0
- package/dist/lib/cjs/two-way-map.d.cts +101 -0
- package/dist/lib/cjs/type-guards.cjs +70 -0
- package/dist/lib/cjs/type-guards.d.cts +84 -0
- package/dist/lib/cjs/type.cjs +63 -0
- package/dist/lib/cjs/type.d.cts +122 -0
- package/dist/lib/cjs/typescript-lib-state.cjs +68 -0
- package/dist/lib/cjs/typescript-lib-state.d.cts +56 -0
- package/dist/lib/cjs/url.cjs +78 -0
- package/dist/lib/cjs/url.d.cts +74 -0
- package/dist/lib/cjs/value-provider.cjs +42 -0
- package/dist/lib/cjs/value-provider.d.cts +29 -0
- package/dist/lib/cjs/value-wrapper.cjs +86 -0
- package/dist/lib/cjs/value-wrapper.d.cts +47 -0
- package/dist/lib/esm/@types/debug.d.mts +21 -0
- package/dist/lib/esm/abort-controller.d.mts +136 -0
- package/dist/lib/esm/abort-controller.mjs +115 -0
- package/dist/lib/esm/aggregate-error.d.mts +24 -0
- package/dist/lib/esm/aggregate-error.mjs +16 -0
- package/dist/lib/esm/array-buffer.d.mts +16 -0
- package/dist/lib/esm/array-buffer.mjs +14 -0
- package/dist/lib/esm/array.d.mts +46 -0
- package/dist/lib/esm/array.mjs +49 -0
- package/dist/lib/esm/async-events.d.mts +456 -0
- package/dist/lib/esm/async-events.mjs +383 -0
- package/dist/lib/esm/async-operation-hook.d.mts +59 -0
- package/dist/lib/esm/async-operation-hook.mjs +27 -0
- package/dist/lib/esm/async.d.mts +415 -0
- package/dist/lib/esm/async.mjs +435 -0
- package/dist/lib/esm/beeper.d.mts +21 -0
- package/dist/lib/esm/beeper.mjs +44 -0
- package/dist/lib/esm/blob.d.mts +60 -0
- package/dist/lib/esm/blob.mjs +77 -0
- package/dist/lib/esm/bytes.d.mts +17 -0
- package/dist/lib/esm/bytes.mjs +32 -0
- package/dist/lib/esm/debug-controller.d.mts +87 -0
- package/dist/lib/esm/debug-controller.mjs +6 -0
- package/dist/lib/esm/debug.d.mts +66 -0
- package/dist/lib/esm/debug.mjs +168 -0
- package/dist/lib/esm/desktop-zip-extractor.d.mts +96 -0
- package/dist/lib/esm/desktop-zip-extractor.mjs +136 -0
- package/dist/lib/esm/disposable.d.mts +387 -0
- package/dist/lib/esm/disposable.mjs +324 -0
- package/dist/lib/esm/enum.d.mts +24 -0
- package/dist/lib/esm/enum.mjs +17 -0
- package/dist/lib/esm/error.d.mts +182 -0
- package/dist/lib/esm/error.mjs +204 -0
- package/dist/lib/esm/function.d.mts +128 -0
- package/dist/lib/esm/function.mjs +52 -0
- package/dist/lib/esm/html-element.d.mts +200 -0
- package/dist/lib/esm/html-element.mjs +247 -0
- package/dist/lib/esm/index.d.mts +33 -0
- package/dist/lib/esm/index.mjs +72 -0
- package/dist/lib/esm/jpeg-metadata.d.mts +42 -0
- package/dist/lib/esm/jpeg-metadata.mjs +145 -0
- package/dist/lib/esm/library-references.d.mts +2 -0
- package/dist/lib/esm/library.d.mts +96 -0
- package/dist/lib/esm/library.mjs +74 -0
- package/dist/lib/esm/object-utils.d.mts +298 -0
- package/dist/lib/esm/object-utils.mjs +523 -0
- package/dist/lib/esm/path.d.mts +155 -0
- package/dist/lib/esm/path.mjs +122 -0
- package/dist/lib/esm/reg-exp.d.mts +87 -0
- package/dist/lib/esm/reg-exp.mjs +169 -0
- package/dist/lib/esm/string.d.mts +362 -0
- package/dist/lib/esm/string.mjs +230 -0
- package/dist/lib/esm/transformers/date-transformer.d.mts +39 -0
- package/dist/lib/esm/transformers/date-transformer.mjs +47 -0
- package/dist/lib/esm/transformers/group-transformer.d.mts +70 -0
- package/dist/lib/esm/transformers/group-transformer.mjs +94 -0
- package/dist/lib/esm/transformers/index.d.mts +9 -0
- package/dist/lib/esm/transformers/index.mjs +24 -0
- package/dist/lib/esm/transformers/map-transformer.d.mts +41 -0
- package/dist/lib/esm/transformers/map-transformer.mjs +47 -0
- package/dist/lib/esm/transformers/set-transformer.d.mts +39 -0
- package/dist/lib/esm/transformers/set-transformer.mjs +47 -0
- package/dist/lib/esm/transformers/skip-private-property-transformer.d.mts +36 -0
- package/dist/lib/esm/transformers/skip-private-property-transformer.mjs +45 -0
- package/dist/lib/esm/transformers/transformer.d.mts +70 -0
- package/dist/lib/esm/transformers/transformer.mjs +88 -0
- package/dist/lib/esm/transformers/two-way-map-transformer.d.mts +42 -0
- package/dist/lib/esm/transformers/two-way-map-transformer.mjs +48 -0
- package/dist/lib/esm/transformers/typed-transformer.d.mts +39 -0
- package/dist/lib/esm/transformers/typed-transformer.mjs +12 -0
- package/dist/lib/esm/two-way-map.d.mts +101 -0
- package/dist/lib/esm/two-way-map.mjs +126 -0
- package/dist/lib/esm/type-guards.d.mts +84 -0
- package/dist/lib/esm/type-guards.mjs +41 -0
- package/dist/lib/esm/type.d.mts +122 -0
- package/dist/lib/esm/type.mjs +39 -0
- package/dist/lib/esm/typescript-lib-state.d.mts +56 -0
- package/dist/lib/esm/typescript-lib-state.mjs +40 -0
- package/dist/lib/esm/url.d.mts +74 -0
- package/dist/lib/esm/url.mjs +50 -0
- package/dist/lib/esm/value-provider.d.mts +29 -0
- package/dist/lib/esm/value-provider.mjs +18 -0
- package/dist/lib/esm/value-wrapper.d.mts +47 -0
- package/dist/lib/esm/value-wrapper.mjs +62 -0
- package/package.json +153 -13
- package/transformers/date-transformer/package.json +6 -0
- package/transformers/group-transformer/package.json +6 -0
- package/transformers/index/package.json +6 -0
- package/transformers/map-transformer/package.json +6 -0
- package/transformers/package.json +6 -0
- package/transformers/set-transformer/package.json +6 -0
- package/transformers/skip-private-property-transformer/package.json +6 -0
- package/transformers/transformer/package.json +6 -0
- package/transformers/two-way-map-transformer/package.json +6 -0
- 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/ICcnKTtcbn1cblxuZnVuY3Rpb24gZ2V0U2hhcmVkRGVidWdMaWJJbnN0YW5jZSgpOiB0eXBlb2YgZGVidWcge1xuICByZXR1cm4gZ2V0VHlwZXNjcmlwdExpYlN0YXRlKCdkZWJ1ZycsIGRlYnVnKS52YWx1ZTtcbn1cblxuZnVuY3Rpb24gbG9nV2l0aENhbGxlcihwYXJhbXM6IExvZ1dpdGhDYWxsZXJQYXJhbXMpOiB2b2lkIHtcbiAgY29uc3Qge1xuICAgICRhcmd1bWVudHMsXG4gICAgZnJhbWVzVG9Ta2lwLFxuICAgIG1lc3NhZ2UsXG4gICAgbmFtZXNwYWNlXG4gIH0gPSBwYXJhbXM7XG4gIGlmICghZ2V0U2hhcmVkRGVidWdMaWJJbnN0YW5jZSgpLmVuYWJsZWQobmFtZXNwYWNlKSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmICghTGlicmFyeS5zaG91bGRQcmludFN0YWNrVHJhY2UpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZSAtLSBWYWxpZCB1c2FnZS5cbiAgICBjb25zb2xlLmRlYnVnKG1lc3NhZ2UsIC4uLiRhcmd1bWVudHMpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgY2FsbGVyIGlzIDMgZnJhbWVzIGFib3ZlIHRoaXMgb25lLCBiZWNhdXNlIHRoZSBjYWxsIHN0YWNrIGlzIGFzIGZvbGxvd3M6XG4gICAqXG4gICAqIDA6IGxvZ1dpdGhDYWxsZXJcbiAgICogMTogZGVidWdJbnN0YW5jZS5sb2dcbiAgICogMjogZGVidWdcbiAgICogMzogZnVuY3Rpb25OYW1lICh0aGUgY2FsbGVyKVxuICAgKlxuICAgKiBgZ2V0U3RhY2tUcmFjZWAgZHJvcHMgaXRzIG93biBmcmFtZSBhbmQsIG9uIGFuIGVuZ2luZSB0aGF0IHdyaXRlcyBvbmUsIHRoZSBgRXJyb3JgIGhlYWRlciBsaW5lLlxuICAgKi9cbiAgY29uc3QgQ0FMTEVSX0ZSQU1FX0lOREVYID0gMztcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZSAtLSBWYWxpZCB1c2FnZS5cbiAgY29uc29sZS5kZWJ1ZyhtZXNzYWdlLCAuLi4kYXJndW1lbnRzLCAnXFxuXFxuLS0tXFxuTG9nZ2VyIHN0YWNrIHRyYWNlOlxcbicsIG1ha2VTdGFja1RyYWNlRXJyb3IoZ2V0U3RhY2tUcmFjZShDQUxMRVJfRlJBTUVfSU5ERVggKyBmcmFtZXNUb1NraXApKSk7XG59XG5cbmZ1bmN0aW9uIG1ha2VTdGFja1RyYWNlRXJyb3Ioc3RhY2tUcmFjZTogc3RyaW5nKTogQ3VzdG9tU3RhY2tUcmFjZUVycm9yIHtcbiAgcmV0dXJuIG5ldyBDdXN0b21TdGFja1RyYWNlRXJyb3Ioe1xuICAgIGNhdXNlOiB1bmRlZmluZWQsXG4gICAgbWVzc2FnZTogYERlYnVnIG1vZGU6IGludGVudGlvbmFsIHBsYWNlaG9sZGVyIGVycm9yLiR7Zm9ybWF0R3VpZGVSZWZlcmVuY2UoJycpfWAsXG4gICAgc3RhY2tUcmFjZVxuICB9KTtcbn1cblxuLyoqXG4gKiBTZXRzIHRoZSBuYW1lc3BhY2VzIHRvIGVuYWJsZS5cbiAqXG4gKiBAcGFyYW0gbmFtZXNwYWNlcyAtIFRoZSBuYW1lc3BhY2VzIHRvIGVuYWJsZS5cbiAqL1xuZnVuY3Rpb24gc2V0TmFtZXNwYWNlcyhuYW1lc3BhY2VzOiBzdHJpbmcgfCBzdHJpbmdbXSk6IHZvaWQge1xuICBnZXRTaGFyZWREZWJ1Z0xpYkluc3RhbmNlKCkuZW5hYmxlKHRvQXJyYXkobmFtZXNwYWNlcykuam9pbihOQU1FU1BBQ0VfU0VQQVJBVE9SKSk7XG59XG5cbmZ1bmN0aW9uIHRvQXJyYXkobmFtZXNwYWNlczogc3RyaW5nIHwgc3RyaW5nW10pOiBzdHJpbmdbXSB7XG4gIHJldHVybiB0eXBlb2YgbmFtZXNwYWNlcyA9PT0gJ3N0cmluZycgPyBuYW1lc3BhY2VzLnNwbGl0KE5BTUVTUEFDRV9TRVBBUkFUT1IpLmZpbHRlcihCb29sZWFuKSA6IG5hbWVzcGFjZXMuZmxhdE1hcCgobmFtZXNwYWNlKSA9PiB0b0FycmF5KG5hbWVzcGFjZSkpO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVFBLG1CQUFrQjtBQUlsQixtQkFHTztBQUNQLHFCQUF3QjtBQUN4QixrQ0FBc0M7QUFFdEMsTUFBTSxzQkFBc0I7QUFDNUIsTUFBTSwyQkFBMkI7QUF1RDFCLFNBQVMseUJBQStCO0FBQzdDLG1CQUFpQixDQUFDLHVCQUFRLGdCQUFnQixHQUFHLHVCQUFRLGNBQWMsSUFBSSxDQUFDO0FBQzFFO0FBT08sU0FBUyxxQkFBc0M7QUFDcEQsU0FBTztBQUFBLElBQ0wsU0FBUztBQUFBLElBQ1QsUUFBUTtBQUFBLElBQ1IsS0FBSztBQUFBLElBQ0wsS0FBSztBQUFBLEVBQ1A7QUFDRjtBQVNPLFNBQVMsWUFBWSxXQUFtQixlQUFlLEdBQWE7QUFDekUsUUFBTSxNQUFNLEdBQUcsU0FBUyxJQUFJLE9BQU8sWUFBWSxDQUFDO0FBQ2hELFFBQU0sbUJBQWUsbURBQXNCLGFBQWEsb0JBQUksSUFBc0IsQ0FBQyxFQUFFO0FBQ3JGLE1BQUksYUFBYSxhQUFhLElBQUksR0FBRztBQUNyQyxNQUFJLENBQUMsWUFBWTtBQUNmLGlCQUFhLDBCQUEwQixFQUFFLFNBQVM7QUFDbEQsZUFBVyxNQUFNLENBQUMsWUFBb0IsZUFBZ0M7QUFDcEUsb0JBQWM7QUFBQSxRQUNaO0FBQUEsUUFDQTtBQUFBLFFBQ0E7QUFBQSxRQUNBO0FBQUEsTUFDRixDQUFDO0FBQUEsSUFDSDtBQUVBLGlCQUFhLElBQUksS0FBSyxVQUFVO0FBQUEsRUFDbEM7QUFFQSxTQUFPO0FBQ1Q7QUFRTyxTQUFTLGVBQWUsV0FBNkI7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
|
|
@@ -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;
|