@simplysm/core-common 13.0.69 → 13.0.71
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/README.md +66 -267
- package/dist/common.types.d.ts +14 -14
- package/dist/errors/argument-error.d.ts +10 -10
- package/dist/errors/argument-error.d.ts.map +1 -1
- package/dist/errors/argument-error.js +2 -2
- package/dist/errors/argument-error.js.map +1 -1
- package/dist/errors/not-implemented-error.d.ts +8 -8
- package/dist/errors/not-implemented-error.js +2 -2
- package/dist/errors/not-implemented-error.js.map +1 -1
- package/dist/errors/sd-error.d.ts +10 -10
- package/dist/errors/sd-error.d.ts.map +1 -1
- package/dist/errors/timeout-error.d.ts +10 -10
- package/dist/errors/timeout-error.js +3 -3
- package/dist/errors/timeout-error.js.map +1 -1
- package/dist/extensions/arr-ext.d.ts +2 -2
- package/dist/extensions/arr-ext.helpers.d.ts +8 -8
- package/dist/extensions/arr-ext.helpers.js +1 -1
- package/dist/extensions/arr-ext.helpers.js.map +1 -1
- package/dist/extensions/arr-ext.js +13 -13
- package/dist/extensions/arr-ext.js.map +1 -1
- package/dist/extensions/arr-ext.types.d.ts +57 -57
- package/dist/extensions/arr-ext.types.d.ts.map +1 -1
- package/dist/extensions/map-ext.d.ts +16 -16
- package/dist/extensions/set-ext.d.ts +11 -11
- package/dist/features/debounce-queue.d.ts +17 -15
- package/dist/features/debounce-queue.d.ts.map +1 -1
- package/dist/features/debounce-queue.js +6 -6
- package/dist/features/debounce-queue.js.map +1 -1
- package/dist/features/event-emitter.d.ts +20 -20
- package/dist/features/event-emitter.js +17 -17
- package/dist/features/serial-queue.d.ts +11 -11
- package/dist/features/serial-queue.js +5 -5
- package/dist/features/serial-queue.js.map +1 -1
- package/dist/globals.d.ts +4 -4
- package/dist/types/date-only.d.ts +64 -64
- package/dist/types/date-only.d.ts.map +1 -1
- package/dist/types/date-only.js +63 -63
- package/dist/types/date-time.d.ts +37 -37
- package/dist/types/date-time.d.ts.map +1 -1
- package/dist/types/date-time.js +54 -37
- package/dist/types/date-time.js.map +1 -1
- package/dist/types/lazy-gc-map.d.ts +26 -26
- package/dist/types/lazy-gc-map.d.ts.map +1 -1
- package/dist/types/lazy-gc-map.js +26 -26
- package/dist/types/lazy-gc-map.js.map +1 -1
- package/dist/types/time.d.ts +25 -25
- package/dist/types/time.d.ts.map +1 -1
- package/dist/types/time.js +25 -25
- package/dist/types/time.js.map +1 -1
- package/dist/types/uuid.d.ts +11 -11
- package/dist/types/uuid.d.ts.map +1 -1
- package/dist/types/uuid.js +12 -12
- package/dist/types/uuid.js.map +1 -1
- package/dist/utils/bytes.d.ts +17 -17
- package/dist/utils/bytes.js +4 -4
- package/dist/utils/bytes.js.map +1 -1
- package/dist/utils/date-format.d.ts +45 -45
- package/dist/utils/date-format.js +1 -1
- package/dist/utils/date-format.js.map +1 -1
- package/dist/utils/error.d.ts +4 -4
- package/dist/utils/json.d.ts +17 -17
- package/dist/utils/json.js +3 -3
- package/dist/utils/json.js.map +1 -1
- package/dist/utils/num.d.ts +23 -23
- package/dist/utils/obj.d.ts +111 -111
- package/dist/utils/obj.d.ts.map +1 -1
- package/dist/utils/obj.js +3 -3
- package/dist/utils/obj.js.map +1 -1
- package/dist/utils/path.d.ts +10 -10
- package/dist/utils/primitive.d.ts +5 -5
- package/dist/utils/primitive.js +1 -1
- package/dist/utils/primitive.js.map +1 -1
- package/dist/utils/str.d.ts +46 -46
- package/dist/utils/str.d.ts.map +1 -1
- package/dist/utils/str.js +5 -5
- package/dist/utils/str.js.map +1 -1
- package/dist/utils/template-strings.d.ts +26 -26
- package/dist/utils/transferable.d.ts +18 -18
- package/dist/utils/transferable.js +1 -1
- package/dist/utils/transferable.js.map +1 -1
- package/dist/utils/wait.d.ts +9 -9
- package/dist/utils/xml.d.ts +13 -13
- package/dist/utils/xml.d.ts.map +1 -1
- package/dist/utils/xml.js +1 -0
- package/dist/utils/xml.js.map +1 -1
- package/dist/zip/sd-zip.d.ts +22 -22
- package/dist/zip/sd-zip.js +16 -16
- package/package.json +4 -4
- package/src/common.types.ts +17 -17
- package/src/errors/argument-error.ts +15 -15
- package/src/errors/not-implemented-error.ts +9 -9
- package/src/errors/sd-error.ts +12 -12
- package/src/errors/timeout-error.ts +12 -12
- package/src/extensions/arr-ext.helpers.ts +10 -10
- package/src/extensions/arr-ext.ts +57 -57
- package/src/extensions/arr-ext.types.ts +59 -59
- package/src/extensions/map-ext.ts +16 -16
- package/src/extensions/set-ext.ts +11 -11
- package/src/features/debounce-queue.ts +21 -19
- package/src/features/event-emitter.ts +25 -25
- package/src/features/serial-queue.ts +13 -13
- package/src/globals.ts +4 -4
- package/src/index.ts +1 -1
- package/src/types/date-only.ts +83 -83
- package/src/types/date-time.ts +64 -44
- package/src/types/lazy-gc-map.ts +45 -45
- package/src/types/time.ts +34 -34
- package/src/types/uuid.ts +17 -17
- package/src/utils/bytes.ts +35 -35
- package/src/utils/date-format.ts +65 -65
- package/src/utils/error.ts +4 -4
- package/src/utils/json.ts +39 -39
- package/src/utils/num.ts +23 -23
- package/src/utils/obj.ts +138 -138
- package/src/utils/path.ts +10 -10
- package/src/utils/primitive.ts +6 -6
- package/src/utils/str.ts +260 -261
- package/src/utils/template-strings.ts +29 -29
- package/src/utils/transferable.ts +284 -284
- package/src/utils/wait.ts +10 -10
- package/src/utils/xml.ts +20 -19
- package/src/zip/sd-zip.ts +25 -25
- package/tests/errors/errors.spec.ts +80 -0
- package/tests/extensions/array-extension.spec.ts +796 -0
- package/tests/extensions/map-extension.spec.ts +147 -0
- package/tests/extensions/set-extension.spec.ts +74 -0
- package/tests/types/date-only.spec.ts +638 -0
- package/tests/types/date-time.spec.ts +391 -0
- package/tests/types/lazy-gc-map.spec.ts +692 -0
- package/tests/types/time.spec.ts +559 -0
- package/tests/types/uuid.spec.ts +74 -0
- package/tests/utils/bytes-utils.spec.ts +230 -0
- package/tests/utils/date-format.spec.ts +373 -0
- package/tests/utils/debounce-queue.spec.ts +272 -0
- package/tests/utils/json.spec.ts +486 -0
- package/tests/utils/number.spec.ts +157 -0
- package/tests/utils/object.spec.ts +829 -0
- package/tests/utils/path.spec.ts +78 -0
- package/tests/utils/primitive.spec.ts +43 -0
- package/tests/utils/sd-event-emitter.spec.ts +216 -0
- package/tests/utils/serial-queue.spec.ts +365 -0
- package/tests/utils/string.spec.ts +281 -0
- package/tests/utils/template-strings.spec.ts +57 -0
- package/tests/utils/transferable.spec.ts +703 -0
- package/tests/utils/wait.spec.ts +145 -0
- package/tests/utils/xml.spec.ts +146 -0
- package/tests/zip/sd-zip.spec.ts +238 -0
- package/docs/extensions.md +0 -503
- package/docs/features.md +0 -109
- package/docs/types.md +0 -486
- package/docs/utils.md +0 -780
package/dist/types/time.js
CHANGED
|
@@ -20,23 +20,23 @@ class Time {
|
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
/**
|
|
23
|
-
*
|
|
23
|
+
* Parse a string to create Time instance
|
|
24
24
|
*
|
|
25
|
-
* @param str
|
|
26
|
-
* @returns
|
|
27
|
-
* @throws ArgumentError
|
|
25
|
+
* @param str Time string
|
|
26
|
+
* @returns Parsed Time instance
|
|
27
|
+
* @throws ArgumentError If unsupported format
|
|
28
28
|
*
|
|
29
29
|
* @example
|
|
30
30
|
* Time.parse("10:30:00") // HH:mm:ss
|
|
31
31
|
* Time.parse("10:30:00.123") // HH:mm:ss.fff
|
|
32
|
-
* Time.parse("
|
|
33
|
-
* Time.parse("2025-01-15T10:30:00") // ISO 8601 (
|
|
32
|
+
* Time.parse("AM 10:30:00") // AM/PM HH:mm:ss
|
|
33
|
+
* Time.parse("2025-01-15T10:30:00") // ISO 8601 (extract time part only)
|
|
34
34
|
*/
|
|
35
35
|
static parse(str) {
|
|
36
|
-
const match1 = /(
|
|
36
|
+
const match1 = /(AM|PM) ([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2})(\.([0-9]{1,3}))?$/i.exec(str);
|
|
37
37
|
if (match1 != null) {
|
|
38
38
|
const rawHour = Number(match1[2]);
|
|
39
|
-
const isPM = match1[1] === "
|
|
39
|
+
const isPM = match1[1].toUpperCase() === "PM";
|
|
40
40
|
const hour = convert12To24(rawHour, isPM);
|
|
41
41
|
return new Time(
|
|
42
42
|
hour,
|
|
@@ -67,11 +67,11 @@ class Time {
|
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
69
|
throw new ArgumentError(
|
|
70
|
-
|
|
70
|
+
`Failed to parse time format. Supported formats: 'HH:mm:ss', 'HH:mm:ss.fff', 'AM/PM HH:mm:ss', ISO 8601`,
|
|
71
71
|
{ input: str }
|
|
72
72
|
);
|
|
73
73
|
}
|
|
74
|
-
//#region Getters (
|
|
74
|
+
//#region Getters (read-only)
|
|
75
75
|
get hour() {
|
|
76
76
|
return Math.floor(this._tick / (60 * 60 * 1e3));
|
|
77
77
|
}
|
|
@@ -87,60 +87,60 @@ class Time {
|
|
|
87
87
|
get tick() {
|
|
88
88
|
return this._tick;
|
|
89
89
|
}
|
|
90
|
-
/**
|
|
90
|
+
/** Whether time is set correctly */
|
|
91
91
|
get isValid() {
|
|
92
92
|
return !Number.isNaN(this._tick);
|
|
93
93
|
}
|
|
94
94
|
//#endregion
|
|
95
|
-
//#region
|
|
96
|
-
/**
|
|
95
|
+
//#region Immutable transformation methods (returns new instance)
|
|
96
|
+
/** Return new instance with specified hour */
|
|
97
97
|
setHour(hour) {
|
|
98
98
|
return new Time(hour, this.minute, this.second, this.millisecond);
|
|
99
99
|
}
|
|
100
|
-
/**
|
|
100
|
+
/** Return new instance with specified minute */
|
|
101
101
|
setMinute(minute) {
|
|
102
102
|
return new Time(this.hour, minute, this.second, this.millisecond);
|
|
103
103
|
}
|
|
104
|
-
/**
|
|
104
|
+
/** Return new instance with specified second */
|
|
105
105
|
setSecond(second) {
|
|
106
106
|
return new Time(this.hour, this.minute, second, this.millisecond);
|
|
107
107
|
}
|
|
108
|
-
/**
|
|
108
|
+
/** Return new instance with specified millisecond */
|
|
109
109
|
setMillisecond(millisecond) {
|
|
110
110
|
return new Time(this.hour, this.minute, this.second, millisecond);
|
|
111
111
|
}
|
|
112
112
|
//#endregion
|
|
113
|
-
//#region
|
|
114
|
-
/**
|
|
113
|
+
//#region Arithmetic methods (returns new instance)
|
|
114
|
+
/** Return new instance with specified hours added (24-hour wraparound) */
|
|
115
115
|
addHours(hours) {
|
|
116
116
|
let newTick = (this._tick + hours * 60 * 60 * 1e3) % Time.MS_PER_DAY;
|
|
117
117
|
if (newTick < 0) newTick += Time.MS_PER_DAY;
|
|
118
118
|
return new Time(newTick);
|
|
119
119
|
}
|
|
120
|
-
/**
|
|
120
|
+
/** Return new instance with specified minutes added (24-hour wraparound) */
|
|
121
121
|
addMinutes(minutes) {
|
|
122
122
|
let newTick = (this._tick + minutes * 60 * 1e3) % Time.MS_PER_DAY;
|
|
123
123
|
if (newTick < 0) newTick += Time.MS_PER_DAY;
|
|
124
124
|
return new Time(newTick);
|
|
125
125
|
}
|
|
126
|
-
/**
|
|
126
|
+
/** Return new instance with specified seconds added (24-hour wraparound) */
|
|
127
127
|
addSeconds(seconds) {
|
|
128
128
|
let newTick = (this._tick + seconds * 1e3) % Time.MS_PER_DAY;
|
|
129
129
|
if (newTick < 0) newTick += Time.MS_PER_DAY;
|
|
130
130
|
return new Time(newTick);
|
|
131
131
|
}
|
|
132
|
-
/**
|
|
132
|
+
/** Return new instance with specified milliseconds added (24-hour wraparound) */
|
|
133
133
|
addMilliseconds(milliseconds) {
|
|
134
134
|
let newTick = (this._tick + milliseconds) % Time.MS_PER_DAY;
|
|
135
135
|
if (newTick < 0) newTick += Time.MS_PER_DAY;
|
|
136
136
|
return new Time(newTick);
|
|
137
137
|
}
|
|
138
138
|
//#endregion
|
|
139
|
-
//#region
|
|
139
|
+
//#region Formatting
|
|
140
140
|
/**
|
|
141
|
-
*
|
|
142
|
-
* @param format
|
|
143
|
-
* @see dtFormat
|
|
141
|
+
* Convert to string with specified format
|
|
142
|
+
* @param format Format string
|
|
143
|
+
* @see dtFormat for supported format strings
|
|
144
144
|
*/
|
|
145
145
|
toFormatString(formatStr) {
|
|
146
146
|
return formatDate(formatStr, {
|
package/dist/types/time.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/types/time.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAS,qBAAqB;AAC9B,SAAS,eAAe,kBAAkB;AAanC,MAAM,KAAK;AAAA,EAChB,OAAwB,aAAa,KAAK,KAAK,KAAK;AAAA,EAEnC;AAAA,EAUjB,YAAY,MAAsB,MAAe,MAAe,MAAe;AAC7E,QAAI,SAAS,QAAW;AACtB,YAAM,MAAM,oBAAI,KAAK;AACrB,WAAK,SACF,IAAI,gBAAgB,IACnB,IAAI,WAAW,IAAI,MACnB,IAAI,WAAW,IAAI,KAAK,MACxB,IAAI,SAAS,IAAI,KAAK,KAAK,OAC7B,KAAK;AAAA,IACT,WAAW,SAAS,QAAW;AAC7B,UAAI,SACA,QAAQ,MAAM,QAAQ,KAAK,MAAO,OAAO,KAAK,MAAQ,OAAkB,KAAK,KAAK,OACpF,KAAK;AACP,UAAI,OAAO,EAAG,SAAQ,KAAK;AAC3B,WAAK,QAAQ;AAAA,IACf,WAAW,gBAAgB,MAAM;AAC/B,WAAK,SACF,KAAK,gBAAgB,IACpB,KAAK,WAAW,IAAI,MACpB,KAAK,WAAW,IAAI,KAAK,MACzB,KAAK,SAAS,IAAI,KAAK,KAAK,OAC9B,KAAK;AAAA,IACT,OAAO;AACL,UAAI,OAAO,OAAO,KAAK;AACvB,UAAI,OAAO,EAAG,SAAQ,KAAK;AAC3B,WAAK,QAAQ;AAAA,IACf;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAeA,OAAO,MAAM,KAAmB;AAC9B,UAAM,SAAS,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/types/uuid.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { Bytes } from "../common.types";
|
|
2
2
|
/**
|
|
3
|
-
* UUID v4
|
|
3
|
+
* UUID v4 class
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* Generates cryptographically secure UUIDs based on crypto.getRandomValues. (Chrome 79+, Node.js compatible)
|
|
6
6
|
*
|
|
7
7
|
* @example
|
|
8
8
|
* const id = Uuid.new();
|
|
@@ -11,25 +11,25 @@ import type { Bytes } from "../common.types";
|
|
|
11
11
|
export declare class Uuid {
|
|
12
12
|
private static readonly _hexTable;
|
|
13
13
|
private static readonly _uuidRegex;
|
|
14
|
-
/** 16
|
|
14
|
+
/** Convert 16-byte array to UUID string */
|
|
15
15
|
private static _bytesToUuidStr;
|
|
16
|
-
/**
|
|
16
|
+
/** Create new UUID v4 instance */
|
|
17
17
|
static new(): Uuid;
|
|
18
18
|
/**
|
|
19
|
-
* 16
|
|
20
|
-
* @param bytes 16
|
|
21
|
-
* @throws {ArgumentError}
|
|
19
|
+
* Create UUID from 16-byte Uint8Array
|
|
20
|
+
* @param bytes 16-byte array
|
|
21
|
+
* @throws {ArgumentError} If byte size is not 16
|
|
22
22
|
*/
|
|
23
23
|
static fromBytes(bytes: Bytes): Uuid;
|
|
24
24
|
private readonly _uuid;
|
|
25
25
|
/**
|
|
26
|
-
* @param uuid UUID
|
|
27
|
-
* @throws {ArgumentError}
|
|
26
|
+
* @param uuid UUID string (format: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)
|
|
27
|
+
* @throws {ArgumentError} If format is invalid
|
|
28
28
|
*/
|
|
29
29
|
constructor(uuid: string);
|
|
30
|
-
/** UUID
|
|
30
|
+
/** Convert UUID to string */
|
|
31
31
|
toString(): string;
|
|
32
|
-
/** UUID
|
|
32
|
+
/** Convert UUID to 16-byte Uint8Array */
|
|
33
33
|
toBytes(): Bytes;
|
|
34
34
|
}
|
|
35
35
|
//# sourceMappingURL=uuid.d.ts.map
|
package/dist/types/uuid.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uuid.d.ts","sourceRoot":"","sources":["../../src/types/uuid.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAG7C;;;;;;;;GAQG;AACH,qBAAa,IAAI;IAEf,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAE/B;IAEF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CACkC;IAEpE,
|
|
1
|
+
{"version":3,"file":"uuid.d.ts","sourceRoot":"","sources":["../../src/types/uuid.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAG7C;;;;;;;;GAQG;AACH,qBAAa,IAAI;IAEf,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAE/B;IAEF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CACkC;IAEpE,2CAA2C;IAC3C,OAAO,CAAC,MAAM,CAAC,eAAe;IA0B9B,kCAAkC;IAClC,MAAM,CAAC,GAAG,IAAI,IAAI;IAWlB;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAQpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAE/B;;;OAGG;gBACS,IAAI,EAAE,MAAM;IAOxB,6BAA6B;IAC7B,QAAQ,IAAI,MAAM;IAIlB,yCAAyC;IACzC,OAAO,IAAI,KAAK;CAuBjB"}
|
package/dist/types/uuid.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { ArgumentError } from "../errors/argument-error.js";
|
|
2
2
|
class Uuid {
|
|
3
|
-
//
|
|
3
|
+
// Pre-calculate hex strings for 0x00 ~ 0xFF (256 entries)
|
|
4
4
|
static _hexTable = Array.from(
|
|
5
5
|
{ length: 256 },
|
|
6
6
|
(_, i) => i.toString(16).padStart(2, "0")
|
|
7
7
|
);
|
|
8
8
|
static _uuidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
9
|
-
/** 16
|
|
9
|
+
/** Convert 16-byte array to UUID string */
|
|
10
10
|
static _bytesToUuidStr(bytes) {
|
|
11
11
|
const h = Uuid._hexTable;
|
|
12
12
|
return h[bytes[0]] + h[bytes[1]] + h[bytes[2]] + h[bytes[3]] + "-" + h[bytes[4]] + h[bytes[5]] + "-" + h[bytes[6]] + h[bytes[7]] + "-" + h[bytes[8]] + h[bytes[9]] + "-" + h[bytes[10]] + h[bytes[11]] + h[bytes[12]] + h[bytes[13]] + h[bytes[14]] + h[bytes[15]];
|
|
13
13
|
}
|
|
14
|
-
/**
|
|
14
|
+
/** Create new UUID v4 instance */
|
|
15
15
|
static new() {
|
|
16
16
|
const bytes = new Uint8Array(16);
|
|
17
17
|
crypto.getRandomValues(bytes);
|
|
@@ -20,32 +20,32 @@ class Uuid {
|
|
|
20
20
|
return new Uuid(Uuid._bytesToUuidStr(bytes));
|
|
21
21
|
}
|
|
22
22
|
/**
|
|
23
|
-
* 16
|
|
24
|
-
* @param bytes 16
|
|
25
|
-
* @throws {ArgumentError}
|
|
23
|
+
* Create UUID from 16-byte Uint8Array
|
|
24
|
+
* @param bytes 16-byte array
|
|
25
|
+
* @throws {ArgumentError} If byte size is not 16
|
|
26
26
|
*/
|
|
27
27
|
static fromBytes(bytes) {
|
|
28
28
|
if (bytes.length !== 16) {
|
|
29
|
-
throw new ArgumentError("UUID
|
|
29
|
+
throw new ArgumentError("UUID byte size must be 16.", { length: bytes.length });
|
|
30
30
|
}
|
|
31
31
|
return new Uuid(Uuid._bytesToUuidStr(bytes));
|
|
32
32
|
}
|
|
33
33
|
_uuid;
|
|
34
34
|
/**
|
|
35
|
-
* @param uuid UUID
|
|
36
|
-
* @throws {ArgumentError}
|
|
35
|
+
* @param uuid UUID string (format: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)
|
|
36
|
+
* @throws {ArgumentError} If format is invalid
|
|
37
37
|
*/
|
|
38
38
|
constructor(uuid) {
|
|
39
39
|
if (!Uuid._uuidRegex.test(uuid)) {
|
|
40
|
-
throw new ArgumentError("UUID
|
|
40
|
+
throw new ArgumentError("Invalid UUID format.", { uuid });
|
|
41
41
|
}
|
|
42
42
|
this._uuid = uuid;
|
|
43
43
|
}
|
|
44
|
-
/** UUID
|
|
44
|
+
/** Convert UUID to string */
|
|
45
45
|
toString() {
|
|
46
46
|
return this._uuid;
|
|
47
47
|
}
|
|
48
|
-
/** UUID
|
|
48
|
+
/** Convert UUID to 16-byte Uint8Array */
|
|
49
49
|
toBytes() {
|
|
50
50
|
const u = this._uuid;
|
|
51
51
|
return new Uint8Array([
|
package/dist/types/uuid.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/types/uuid.ts"],
|
|
4
|
-
"mappings": "AACA,SAAS,qBAAqB;AAWvB,MAAM,KAAK;AAAA;AAAA,EAEhB,OAAwB,YAAsB,MAAM;AAAA,IAAK,EAAE,QAAQ,IAAI;AAAA,IAAG,CAAC,GAAG,MAC5E,EAAE,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG;AAAA,EAChC;AAAA,EAEA,OAAwB,aACtB;AAAA;AAAA,EAGF,OAAe,gBAAgB,OAA2B;AACxD,UAAM,IAAI,KAAK;AACf,WACE,EAAE,MAAM,CAAC,CAAC,IACV,EAAE,MAAM,CAAC,CAAC,IACV,EAAE,MAAM,CAAC,CAAC,IACV,EAAE,MAAM,CAAC,CAAC,IACV,MACA,EAAE,MAAM,CAAC,CAAC,IACV,EAAE,MAAM,CAAC,CAAC,IACV,MACA,EAAE,MAAM,CAAC,CAAC,IACV,EAAE,MAAM,CAAC,CAAC,IACV,MACA,EAAE,MAAM,CAAC,CAAC,IACV,EAAE,MAAM,CAAC,CAAC,IACV,MACA,EAAE,MAAM,EAAE,CAAC,IACX,EAAE,MAAM,EAAE,CAAC,IACX,EAAE,MAAM,EAAE,CAAC,IACX,EAAE,MAAM,EAAE,CAAC,IACX,EAAE,MAAM,EAAE,CAAC,IACX,EAAE,MAAM,EAAE,CAAC;AAAA,EAEf;AAAA;AAAA,EAGA,OAAO,MAAY;AACjB,UAAM,QAAQ,IAAI,WAAW,EAAE;AAC/B,WAAO,gBAAgB,KAAK;AAG5B,UAAM,CAAC,IAAK,MAAM,CAAC,IAAI,KAAQ;AAC/B,UAAM,CAAC,IAAK,MAAM,CAAC,IAAI,KAAQ;AAE/B,WAAO,IAAI,KAAK,KAAK,gBAAgB,KAAK,CAAC;AAAA,EAC7C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,UAAU,OAAoB;AACnC,QAAI,MAAM,WAAW,IAAI;AACvB,YAAM,IAAI,cAAc,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/utils/bytes.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { Bytes } from "../common.types";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
* @param arrays
|
|
5
|
-
* @returns
|
|
3
|
+
* Concatenate multiple Uint8Arrays
|
|
4
|
+
* @param arrays Uint8Array array to concatenate
|
|
5
|
+
* @returns New concatenated Uint8Array
|
|
6
6
|
* @example
|
|
7
7
|
* const a = new Uint8Array([1, 2]);
|
|
8
8
|
* const b = new Uint8Array([3, 4]);
|
|
@@ -11,38 +11,38 @@ import type { Bytes } from "../common.types";
|
|
|
11
11
|
*/
|
|
12
12
|
export declare function bytesConcat(arrays: Bytes[]): Bytes;
|
|
13
13
|
/**
|
|
14
|
-
* hex
|
|
15
|
-
* @param bytes
|
|
16
|
-
* @returns
|
|
14
|
+
* Convert to hex string
|
|
15
|
+
* @param bytes Uint8Array to convert
|
|
16
|
+
* @returns Lowercase hex string
|
|
17
17
|
* @example
|
|
18
18
|
* bytesToHex(new Uint8Array([255, 0, 127]));
|
|
19
19
|
* // "ff007f"
|
|
20
20
|
*/
|
|
21
21
|
export declare function bytesToHex(bytes: Bytes): string;
|
|
22
22
|
/**
|
|
23
|
-
* hex
|
|
24
|
-
* @param hex
|
|
25
|
-
* @returns
|
|
26
|
-
* @throws {ArgumentError}
|
|
23
|
+
* Convert from hex string to Uint8Array
|
|
24
|
+
* @param hex Hex string to convert (lowercase and uppercase allowed)
|
|
25
|
+
* @returns Converted Uint8Array
|
|
26
|
+
* @throws {ArgumentError} If odd length or invalid hex characters are present
|
|
27
27
|
* @example
|
|
28
28
|
* bytesFromHex("ff007f");
|
|
29
29
|
* // Uint8Array([255, 0, 127])
|
|
30
30
|
*/
|
|
31
31
|
export declare function bytesFromHex(hex: string): Bytes;
|
|
32
32
|
/**
|
|
33
|
-
* Bytes
|
|
34
|
-
* @param bytes
|
|
35
|
-
* @returns
|
|
33
|
+
* Convert Bytes to base64 string
|
|
34
|
+
* @param bytes Uint8Array to convert
|
|
35
|
+
* @returns Base64 encoded string
|
|
36
36
|
* @example
|
|
37
37
|
* bytesToBase64(new Uint8Array([72, 101, 108, 108, 111]));
|
|
38
38
|
* // "SGVsbG8="
|
|
39
39
|
*/
|
|
40
40
|
export declare function bytesToBase64(bytes: Bytes): string;
|
|
41
41
|
/**
|
|
42
|
-
* base64
|
|
43
|
-
* @param base64
|
|
44
|
-
* @returns
|
|
45
|
-
* @throws {ArgumentError}
|
|
42
|
+
* Convert base64 string to Bytes
|
|
43
|
+
* @param base64 Base64 string to convert
|
|
44
|
+
* @returns Decoded Uint8Array
|
|
45
|
+
* @throws {ArgumentError} If invalid base64 character is present
|
|
46
46
|
* @example
|
|
47
47
|
* bytesFromBase64("SGVsbG8=");
|
|
48
48
|
* // Uint8Array([72, 101, 108, 108, 111])
|
package/dist/utils/bytes.js
CHANGED
|
@@ -25,10 +25,10 @@ function bytesToHex(bytes) {
|
|
|
25
25
|
}
|
|
26
26
|
function bytesFromHex(hex) {
|
|
27
27
|
if (hex.length % 2 !== 0) {
|
|
28
|
-
throw new ArgumentError("
|
|
28
|
+
throw new ArgumentError("Hex string must have even length", { hex });
|
|
29
29
|
}
|
|
30
30
|
if (hex.length > 0 && !/^[0-9a-fA-F]+$/.test(hex)) {
|
|
31
|
-
throw new ArgumentError("
|
|
31
|
+
throw new ArgumentError("Invalid hex character included", { hex });
|
|
32
32
|
}
|
|
33
33
|
const bytes = new Uint8Array(hex.length / 2);
|
|
34
34
|
for (let i = 0; i < bytes.length; i++) {
|
|
@@ -59,12 +59,12 @@ function bytesFromBase64(base64) {
|
|
|
59
59
|
return new Uint8Array(0);
|
|
60
60
|
}
|
|
61
61
|
if (!/^[A-Za-z0-9+/]+$/.test(cleanBase64)) {
|
|
62
|
-
throw new ArgumentError("
|
|
62
|
+
throw new ArgumentError("Invalid base64 character included", {
|
|
63
63
|
base64: base64.substring(0, 20)
|
|
64
64
|
});
|
|
65
65
|
}
|
|
66
66
|
if (cleanBase64.length % 4 === 1) {
|
|
67
|
-
throw new ArgumentError("
|
|
67
|
+
throw new ArgumentError("Invalid base64 length", { length: cleanBase64.length });
|
|
68
68
|
}
|
|
69
69
|
const len = cleanBase64.length;
|
|
70
70
|
const byteLen = Math.floor(len * 3 / 4);
|
package/dist/utils/bytes.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/utils/bytes.ts"],
|
|
4
|
-
"mappings": "AACA,SAAS,qBAAqB;AAc9B,MAAM,WAAqB,MAAM,KAAK,EAAE,QAAQ,IAAI,GAAG,CAAC,GAAG,MAAM,EAAE,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG,CAAC;AAGhG,MAAM,eAAe;AAGrB,MAAM,gBAA0B,MAAM,KAAK,EAAE,QAAQ,IAAI,GAAG,CAAC,GAAG,MAAM;AACpE,QAAM,MAAM,aAAa,QAAQ,OAAO,aAAa,CAAC,CAAC;AACvD,SAAO,QAAQ,KAAK,IAAI;AAC1B,CAAC;AAYM,SAAS,YAAY,QAAwB;AAClD,QAAM,QAAQ,OAAO,OAAO,CAAC,KAAK,QAAQ,MAAM,IAAI,QAAQ,CAAC;AAC7D,QAAM,SAAS,IAAI,WAAW,KAAK;AACnC,MAAI,SAAS;AACb,aAAW,OAAO,QAAQ;AACxB,WAAO,IAAI,KAAK,MAAM;AACtB,cAAU,IAAI;AAAA,EAChB;AACA,SAAO;AACT;AAUO,SAAS,WAAW,OAAsB;AAC/C,QAAM,IAAI;AACV,MAAI,SAAS;AACb,WAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AACrC,cAAU,EAAE,MAAM,CAAC,CAAC;AAAA,EACtB;AACA,SAAO;AACT;AAWO,SAAS,aAAa,KAAoB;AAC/C,MAAI,IAAI,SAAS,MAAM,GAAG;AACxB,UAAM,IAAI,cAAc,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Result of year/month/day normalization when setting month
|
|
3
3
|
*/
|
|
4
4
|
export interface DtNormalizedMonth {
|
|
5
5
|
year: number;
|
|
@@ -7,14 +7,14 @@ export interface DtNormalizedMonth {
|
|
|
7
7
|
day: number;
|
|
8
8
|
}
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
11
|
-
* -
|
|
12
|
-
* -
|
|
10
|
+
* Normalize year/month/day when setting month
|
|
11
|
+
* - Adjust year if month is outside 1-12 range
|
|
12
|
+
* - Adjust to last day of target month if current day is greater than the number of days in the target month
|
|
13
13
|
*
|
|
14
|
-
* @param year
|
|
15
|
-
* @param month
|
|
16
|
-
* @param day
|
|
17
|
-
* @returns
|
|
14
|
+
* @param year Base year
|
|
15
|
+
* @param month Month to set (values outside 1-12 range allowed)
|
|
16
|
+
* @param day Base day
|
|
17
|
+
* @returns Normalized year, month, day
|
|
18
18
|
*
|
|
19
19
|
* @example
|
|
20
20
|
* normalizeMonth(2025, 13, 15) // { year: 2026, month: 1, day: 15 }
|
|
@@ -22,59 +22,59 @@ export interface DtNormalizedMonth {
|
|
|
22
22
|
*/
|
|
23
23
|
export declare function normalizeMonth(year: number, month: number, day: number): DtNormalizedMonth;
|
|
24
24
|
/**
|
|
25
|
-
* 12
|
|
26
|
-
* -
|
|
27
|
-
* -
|
|
25
|
+
* Convert 12-hour format to 24-hour format
|
|
26
|
+
* - 12:00 AM = 0:00, 12:00 PM = 12:00
|
|
27
|
+
* - 1-11 AM = 1-11, 1-11 PM = 13-23
|
|
28
28
|
*
|
|
29
|
-
* @param rawHour 12
|
|
30
|
-
* @param isPM
|
|
31
|
-
* @returns 24
|
|
29
|
+
* @param rawHour 12-hour format hour (1-12)
|
|
30
|
+
* @param isPM Whether PM
|
|
31
|
+
* @returns 24-hour format hour (0-23)
|
|
32
32
|
*/
|
|
33
33
|
export declare function convert12To24(rawHour: number, isPM: boolean): number;
|
|
34
34
|
/**
|
|
35
|
-
*
|
|
35
|
+
* Convert date/time to string according to format string
|
|
36
36
|
*
|
|
37
|
-
* @param formatString
|
|
38
|
-
* @param args
|
|
37
|
+
* @param formatString Format string
|
|
38
|
+
* @param args Date/time components
|
|
39
39
|
*
|
|
40
40
|
* @remarks
|
|
41
|
-
*
|
|
41
|
+
* Supports the same format strings as C#:
|
|
42
42
|
*
|
|
43
|
-
* |
|
|
44
|
-
*
|
|
45
|
-
* | yyyy | 4
|
|
46
|
-
* | yy | 2
|
|
47
|
-
* | MM |
|
|
48
|
-
* | M |
|
|
49
|
-
* | ddd |
|
|
50
|
-
* | dd |
|
|
51
|
-
* | d |
|
|
52
|
-
* | tt |
|
|
53
|
-
* | hh |
|
|
54
|
-
* | h | 12
|
|
55
|
-
* | HH |
|
|
56
|
-
* | H | 24
|
|
57
|
-
* | mm |
|
|
58
|
-
* | m |
|
|
59
|
-
* | ss |
|
|
60
|
-
* | s |
|
|
61
|
-
* | fff |
|
|
62
|
-
* | ff |
|
|
63
|
-
* | f |
|
|
64
|
-
* | zzz |
|
|
65
|
-
* | zz |
|
|
66
|
-
* | z |
|
|
43
|
+
* | Format | Description | Example |
|
|
44
|
+
* |--------|-------------|---------|
|
|
45
|
+
* | yyyy | 4-digit year | 2024 |
|
|
46
|
+
* | yy | 2-digit year | 24 |
|
|
47
|
+
* | MM | Zero-padded month | 01~12 |
|
|
48
|
+
* | M | Month | 1~12 |
|
|
49
|
+
* | ddd | Day of week | Sun, Mon, Tue, Wed, Thu, Fri, Sat |
|
|
50
|
+
* | dd | Zero-padded day | 01~31 |
|
|
51
|
+
* | d | Day | 1~31 |
|
|
52
|
+
* | tt | AM/PM | AM, PM |
|
|
53
|
+
* | hh | Zero-padded 12-hour | 01~12 |
|
|
54
|
+
* | h | 12-hour | 1~12 |
|
|
55
|
+
* | HH | Zero-padded 24-hour | 00~23 |
|
|
56
|
+
* | H | 24-hour | 0~23 |
|
|
57
|
+
* | mm | Zero-padded minute | 00~59 |
|
|
58
|
+
* | m | Minute | 0~59 |
|
|
59
|
+
* | ss | Zero-padded second | 00~59 |
|
|
60
|
+
* | s | Second | 0~59 |
|
|
61
|
+
* | fff | Milliseconds (3 digits) | 000~999 |
|
|
62
|
+
* | ff | Milliseconds (2 digits) | 00~99 |
|
|
63
|
+
* | f | Milliseconds (1 digit) | 0~9 |
|
|
64
|
+
* | zzz | Timezone offset (±HH:mm) | +09:00 |
|
|
65
|
+
* | zz | Timezone offset (±HH) | +09 |
|
|
66
|
+
* | z | Timezone offset (±H) | +9 |
|
|
67
67
|
*
|
|
68
68
|
* @example
|
|
69
69
|
* ```typescript
|
|
70
70
|
* formatDate("yyyy-MM-dd", { year: 2024, month: 3, day: 15 });
|
|
71
71
|
* // "2024-03-15"
|
|
72
72
|
*
|
|
73
|
-
* formatDate("yyyy
|
|
74
|
-
* // "2024
|
|
73
|
+
* formatDate("yyyy-M-d (ddd)", { year: 2024, month: 3, day: 15 });
|
|
74
|
+
* // "2024-3-15 (Fri)"
|
|
75
75
|
*
|
|
76
76
|
* formatDate("tt h:mm:ss", { hour: 14, minute: 30, second: 45 });
|
|
77
|
-
* // "
|
|
77
|
+
* // "PM 2:30:45"
|
|
78
78
|
* ```
|
|
79
79
|
*/
|
|
80
80
|
export declare function formatDate(formatString: string, args: {
|
|
@@ -63,7 +63,7 @@ function formatDate(formatString, args) {
|
|
|
63
63
|
result = result.replace(patterns.d, dayStr);
|
|
64
64
|
}
|
|
65
65
|
if (hour !== void 0) {
|
|
66
|
-
result = result.replace(patterns.tt, hour < 12 ? "
|
|
66
|
+
result = result.replace(patterns.tt, hour < 12 ? "AM" : "PM");
|
|
67
67
|
const hour12 = hour % 12 || 12;
|
|
68
68
|
const hour12Str = hour12.toString();
|
|
69
69
|
result = result.replace(patterns.hh, hour12Str.padStart(2, "0"));
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/utils/date-format.ts"],
|
|
4
|
-
"mappings": "AAuBO,SAAS,eAAe,MAAc,OAAe,KAAgC;AAG1F,QAAM,iBAAiB,OAAO,KAAK,OAAO,QAAQ,KAAK,EAAE;AAEzD,QAAM,oBAAsB,QAAQ,KAAK,KAAM,MAAM,KAAM;AAG3D,QAAM,UAAU,IAAI,KAAK,gBAAgB,iBAAiB,CAAC,EAAE,QAAQ;AACrE,QAAM,gBAAgB,KAAK,IAAI,KAAK,OAAO;AAE3C,SAAO,EAAE,MAAM,gBAAgB,OAAO,iBAAiB,KAAK,cAAc;AAC5E;AAWO,SAAS,cAAc,SAAiB,MAAuB;AACpE,MAAI,YAAY,IAAI;AAClB,WAAO,OAAO,KAAK;AAAA,EACrB;AACA,SAAO,OAAO,UAAU,KAAK;AAC/B;AAYA,MAAM,WAAW;AAAA,EACf,MAAM;AAAA,EACN,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,GAAG;AAAA,EACH,KAAK;AAAA,EACL,IAAI;AAAA,EACJ,GAAG;AAAA,EACH,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,GAAG;AAAA,EACH,IAAI;AAAA,EACJ,GAAG;AAAA,EACH,IAAI;AAAA,EACJ,GAAG;AAAA,EACH,IAAI;AAAA,EACJ,GAAG;AAAA,EACH,KAAK;AAAA,EACL,IAAI;AAAA,EACJ,GAAG;AAAA,EACH,KAAK;AAAA,EACL,IAAI;AAAA,EACJ,GAAG;AACL;AAEA,MAAM,cAAc,CAAC,UAAK,UAAK,UAAK,UAAK,UAAK,UAAK,QAAG;AAkD/C,SAAS,WACd,cACA,MAUQ;AACR,QAAM,EAAE,MAAM,OAAO,KAAK,MAAM,QAAQ,QAAQ,aAAa,sBAAsB,IAAI;AAEvF,QAAM,mBACJ,0BAA0B,SAAY,KAAK,IAAI,qBAAqB,IAAI;AAC1E,QAAM,aAAa,qBAAqB,SAAY,KAAK,MAAM,mBAAmB,EAAE,IAAI;AACxF,QAAM,eAAe,qBAAqB,SAAY,mBAAmB,KAAK;AAC9E,QAAM,aACJ,0BAA0B,SAAa,yBAAyB,IAAI,MAAM,MAAO;AAEnF,QAAM,OACJ,SAAS,UAAa,UAAU,UAAa,QAAQ,SACjD,IAAI,KAAK,MAAM,QAAQ,GAAG,GAAG,EAAE,OAAO,IACtC;AAEN,MAAI,SAAS;AAGb,MAAI,SAAS,QAAW;AACtB,UAAM,UAAU,KAAK,SAAS;AAC9B,aAAS,OAAO,QAAQ,SAAS,MAAM,OAAO;AAC9C,aAAS,OAAO,QAAQ,SAAS,IAAI,QAAQ,UAAU,GAAG,CAAC,CAAC;AAAA,EAC9D;AAGA,MAAI,UAAU,QAAW;AACvB,UAAM,WAAW,MAAM,SAAS;AAChC,aAAS,OAAO,QAAQ,SAAS,IAAI,SAAS,SAAS,GAAG,GAAG,CAAC;AAC9D,aAAS,OAAO,QAAQ,SAAS,GAAG,QAAQ;AAAA,EAC9C;AAGA,MAAI,SAAS,QAAW;AACtB,aAAS,OAAO,QAAQ,SAAS,KAAK,YAAY,IAAI,CAAC;AAAA,EACzD;AAGA,MAAI,QAAQ,QAAW;AACrB,UAAM,SAAS,IAAI,SAAS;AAC5B,aAAS,OAAO,QAAQ,SAAS,IAAI,OAAO,SAAS,GAAG,GAAG,CAAC;AAC5D,aAAS,OAAO,QAAQ,SAAS,GAAG,MAAM;AAAA,EAC5C;AAGA,MAAI,SAAS,QAAW;AACtB,aAAS,OAAO,QAAQ,SAAS,IAAI,OAAO,KAAK,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/utils/error.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Utility to extract message from unknown type error.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* Returns the message property if it's an Error instance, otherwise returns String conversion.
|
|
5
5
|
*
|
|
6
|
-
* @param err -
|
|
7
|
-
* @returns
|
|
6
|
+
* @param err - Unknown error from catch block
|
|
7
|
+
* @returns Error message string
|
|
8
8
|
*/
|
|
9
9
|
export declare function errorMessage(err: unknown): string;
|
|
10
10
|
//# sourceMappingURL=error.d.ts.map
|
package/dist/utils/json.d.ts
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
* DateTime, DateOnly, Time, Uuid, Set, Map, Error, Uint8Array
|
|
2
|
+
* Serialize object to JSON string
|
|
3
|
+
* Supports custom types like DateTime, DateOnly, Time, Uuid, Set, Map, Error, Uint8Array, etc.
|
|
4
4
|
*
|
|
5
|
-
* @param obj
|
|
6
|
-
* @param options
|
|
7
|
-
* @param options.space JSON
|
|
8
|
-
* @param options.replacer
|
|
9
|
-
* @param options.redactBytes true
|
|
5
|
+
* @param obj Object to serialize
|
|
6
|
+
* @param options Serialization options
|
|
7
|
+
* @param options.space JSON indentation (number: number of spaces, string: indentation string)
|
|
8
|
+
* @param options.replacer Custom replacer function. Called before default type conversion
|
|
9
|
+
* @param options.redactBytes If true, replace Uint8Array contents with "__hidden__" (for logging). Results serialized with this option cannot restore original Uint8Array via jsonParse()
|
|
10
10
|
*
|
|
11
11
|
* @remarks
|
|
12
|
-
* -
|
|
13
|
-
* -
|
|
14
|
-
* -
|
|
12
|
+
* - Objects with circular references throw TypeError
|
|
13
|
+
* - If object has toJSON method, it is called and the result is used (except for custom types like Date, DateTime)
|
|
14
|
+
* - Safe in Worker environments as global prototypes are not modified
|
|
15
15
|
*/
|
|
16
16
|
export declare function jsonStringify(obj: unknown, options?: {
|
|
17
17
|
space?: string | number;
|
|
@@ -19,16 +19,16 @@ export declare function jsonStringify(obj: unknown, options?: {
|
|
|
19
19
|
redactBytes?: boolean;
|
|
20
20
|
}): string;
|
|
21
21
|
/**
|
|
22
|
-
* JSON
|
|
23
|
-
* DateTime, DateOnly, Time, Uuid, Set, Map, Error, Uint8Array
|
|
22
|
+
* Deserialize JSON string to object
|
|
23
|
+
* Restore custom types like DateTime, DateOnly, Time, Uuid, Set, Map, Error, Uint8Array, etc.
|
|
24
24
|
*
|
|
25
25
|
* @remarks
|
|
26
|
-
* `__type__
|
|
27
|
-
*
|
|
28
|
-
*
|
|
26
|
+
* Objects with `__type__` and `data` keys are used for type restoration.
|
|
27
|
+
* Be careful if user data contains objects with `{ __type__: "Date" | "DateTime" | "DateOnly" | "Time" | "Uuid" | "Set" | "Map" | "Error" | "Uint8Array", data: ... }`
|
|
28
|
+
* format as they may be unintentionally converted to types.
|
|
29
29
|
*
|
|
30
|
-
* @security
|
|
31
|
-
*
|
|
30
|
+
* @security In development mode (`__DEV__`), the error message includes the entire JSON string.
|
|
31
|
+
* In production mode, only JSON length is included.
|
|
32
32
|
*/
|
|
33
33
|
export declare function jsonParse<TResult = unknown>(json: string): TResult;
|
|
34
34
|
//# sourceMappingURL=json.d.ts.map
|