@simplysm/core-common 13.0.100 → 14.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/dist/common.types.d.ts +14 -14
- package/dist/common.types.js +2 -1
- package/dist/common.types.js.map +1 -6
- package/dist/env.d.ts +5 -0
- package/dist/env.d.ts.map +1 -1
- package/dist/env.js +12 -8
- package/dist/env.js.map +1 -6
- 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 +31 -14
- package/dist/errors/argument-error.js.map +1 -6
- package/dist/errors/not-implemented-error.d.ts +8 -8
- package/dist/errors/not-implemented-error.js +30 -12
- package/dist/errors/not-implemented-error.js.map +1 -6
- package/dist/errors/sd-error.d.ts +10 -10
- package/dist/errors/sd-error.d.ts.map +1 -1
- package/dist/errors/sd-error.js +45 -24
- package/dist/errors/sd-error.js.map +1 -6
- package/dist/errors/timeout-error.d.ts +10 -10
- package/dist/errors/timeout-error.js +34 -15
- package/dist/errors/timeout-error.js.map +1 -6
- package/dist/extensions/arr-ext.d.ts +2 -2
- package/dist/extensions/arr-ext.helpers.d.ts +10 -10
- package/dist/extensions/arr-ext.helpers.js +112 -89
- package/dist/extensions/arr-ext.helpers.js.map +1 -6
- package/dist/extensions/arr-ext.js +458 -422
- package/dist/extensions/arr-ext.js.map +1 -6
- package/dist/extensions/arr-ext.types.d.ts +57 -57
- package/dist/extensions/arr-ext.types.d.ts.map +1 -1
- package/dist/extensions/arr-ext.types.js +6 -1
- package/dist/extensions/arr-ext.types.js.map +1 -6
- package/dist/extensions/map-ext.d.ts +16 -16
- package/dist/extensions/map-ext.js +27 -22
- package/dist/extensions/map-ext.js.map +1 -6
- package/dist/extensions/set-ext.d.ts +11 -11
- package/dist/extensions/set-ext.js +32 -25
- package/dist/extensions/set-ext.js.map +1 -6
- package/dist/features/debounce-queue.d.ts +17 -17
- package/dist/features/debounce-queue.js +98 -70
- package/dist/features/debounce-queue.js.map +1 -6
- package/dist/features/event-emitter.d.ts +20 -20
- package/dist/features/event-emitter.js +101 -78
- package/dist/features/event-emitter.js.map +1 -6
- package/dist/features/serial-queue.d.ts +11 -11
- package/dist/features/serial-queue.js +78 -57
- package/dist/features/serial-queue.js.map +1 -6
- package/dist/globals.d.ts +4 -4
- package/dist/globals.js +9 -1
- package/dist/globals.js.map +1 -6
- package/dist/index.js +28 -27
- package/dist/index.js.map +1 -6
- 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 +263 -252
- package/dist/types/date-only.js.map +1 -6
- package/dist/types/date-time.d.ts +36 -36
- package/dist/types/date-time.d.ts.map +1 -1
- package/dist/types/date-time.js +196 -288
- package/dist/types/date-time.js.map +1 -6
- 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 +202 -159
- package/dist/types/lazy-gc-map.js.map +1 -6
- package/dist/types/time.d.ts +23 -23
- package/dist/types/time.d.ts.map +1 -1
- package/dist/types/time.js +169 -158
- package/dist/types/time.js.map +1 -6
- package/dist/types/uuid.d.ts +11 -11
- package/dist/types/uuid.d.ts.map +1 -1
- package/dist/types/uuid.js +95 -70
- package/dist/types/uuid.js.map +1 -6
- package/dist/utils/bytes.d.ts +17 -17
- package/dist/utils/bytes.js +137 -81
- package/dist/utils/bytes.js.map +1 -6
- package/dist/utils/date-format.d.ts +40 -40
- package/dist/utils/date-format.js +187 -101
- package/dist/utils/date-format.js.map +1 -6
- package/dist/utils/error.d.ts +4 -4
- package/dist/utils/error.js +11 -6
- package/dist/utils/error.js.map +1 -6
- package/dist/utils/json.d.ts +19 -19
- package/dist/utils/json.js +187 -135
- package/dist/utils/json.js.map +1 -6
- package/dist/utils/num.d.ts +20 -20
- package/dist/utils/num.js +76 -34
- package/dist/utils/num.js.map +1 -6
- package/dist/utils/obj.d.ts +111 -111
- package/dist/utils/obj.d.ts.map +1 -1
- package/dist/utils/obj.js +706 -496
- package/dist/utils/obj.js.map +1 -6
- package/dist/utils/path.d.ts +10 -10
- package/dist/utils/path.js +35 -18
- package/dist/utils/path.js.map +1 -6
- package/dist/utils/primitive.d.ts +5 -5
- package/dist/utils/primitive.js +34 -14
- package/dist/utils/primitive.js.map +1 -6
- package/dist/utils/str.d.ts +38 -38
- package/dist/utils/str.js +217 -113
- package/dist/utils/str.js.map +1 -6
- package/dist/utils/template-strings.d.ts +26 -26
- package/dist/utils/template-strings.js +113 -40
- package/dist/utils/template-strings.js.map +1 -6
- package/dist/utils/transferable.d.ts +18 -18
- package/dist/utils/transferable.js +218 -151
- package/dist/utils/transferable.js.map +1 -6
- package/dist/utils/wait.d.ts +9 -9
- package/dist/utils/wait.js +30 -15
- package/dist/utils/wait.js.map +1 -6
- package/dist/utils/xml.d.ts +13 -13
- package/dist/utils/xml.js +84 -46
- package/dist/utils/xml.js.map +1 -6
- package/dist/utils/zip.d.ts +22 -22
- package/dist/utils/zip.js +172 -148
- package/dist/utils/zip.js.map +1 -6
- package/package.json +5 -7
- package/src/common.types.ts +14 -14
- package/src/env.ts +9 -1
- 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 +16 -16
- package/src/extensions/arr-ext.ts +35 -35
- package/src/extensions/arr-ext.types.ts +57 -57
- package/src/extensions/map-ext.ts +16 -16
- package/src/extensions/set-ext.ts +11 -11
- package/src/features/debounce-queue.ts +23 -23
- 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 +5 -5
- package/src/types/date-only.ts +84 -83
- package/src/types/date-time.ts +43 -42
- package/src/types/lazy-gc-map.ts +44 -44
- package/src/types/time.ts +29 -29
- package/src/types/uuid.ts +15 -15
- package/src/utils/bytes.ts +35 -35
- package/src/utils/date-format.ts +59 -59
- package/src/utils/error.ts +4 -4
- package/src/utils/json.ts +41 -41
- package/src/utils/num.ts +20 -20
- 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 +48 -48
- package/src/utils/template-strings.ts +29 -29
- package/src/utils/transferable.ts +38 -38
- package/src/utils/wait.ts +10 -10
- package/src/utils/xml.ts +19 -19
- package/src/utils/zip.ts +25 -25
- package/README.md +0 -160
- package/docs/errors.md +0 -119
- package/docs/extensions.md +0 -387
- package/docs/features.md +0 -143
- package/docs/types.md +0 -287
- package/docs/utils.md +0 -757
- package/tests/errors/errors.spec.ts +0 -80
- package/tests/extensions/array-extension.spec.ts +0 -654
- package/tests/extensions/map-extension.spec.ts +0 -117
- package/tests/extensions/set-extension.spec.ts +0 -67
- package/tests/types/date-only.spec.ts +0 -533
- package/tests/types/date-time.spec.ts +0 -246
- package/tests/types/lazy-gc-map.spec.ts +0 -606
- package/tests/types/time.spec.ts +0 -428
- package/tests/types/uuid.spec.ts +0 -74
- package/tests/utils/bytes-utils.spec.ts +0 -197
- package/tests/utils/date-format.spec.ts +0 -350
- package/tests/utils/debounce-queue.spec.ts +0 -226
- package/tests/utils/json.spec.ts +0 -400
- package/tests/utils/number.spec.ts +0 -136
- package/tests/utils/object.spec.ts +0 -810
- package/tests/utils/path.spec.ts +0 -70
- package/tests/utils/primitive.spec.ts +0 -43
- package/tests/utils/sd-event-emitter.spec.ts +0 -189
- package/tests/utils/serial-queue.spec.ts +0 -305
- package/tests/utils/string.spec.ts +0 -265
- package/tests/utils/template-strings.spec.ts +0 -48
- package/tests/utils/transferable.spec.ts +0 -639
- package/tests/utils/wait.spec.ts +0 -123
- package/tests/utils/xml.spec.ts +0 -146
- package/tests/utils/zip.spec.ts +0 -221
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 Uint8Array
|
|
5
|
-
* @returns
|
|
3
|
+
* 여러 Uint8Array 결합
|
|
4
|
+
* @param arrays 결합할 Uint8Array 배열
|
|
5
|
+
* @returns 결합된 새 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 concat(arrays: Bytes[]): Bytes;
|
|
13
13
|
/**
|
|
14
|
-
*
|
|
15
|
-
* @param bytes Uint8Array
|
|
16
|
-
* @returns
|
|
14
|
+
* hex 문자열로 변환
|
|
15
|
+
* @param bytes 변환할 Uint8Array
|
|
16
|
+
* @returns 소문자 hex 문자열
|
|
17
17
|
* @example
|
|
18
18
|
* toHex(new Uint8Array([255, 0, 127]));
|
|
19
19
|
* // "ff007f"
|
|
20
20
|
*/
|
|
21
21
|
export declare function toHex(bytes: Bytes): string;
|
|
22
22
|
/**
|
|
23
|
-
*
|
|
24
|
-
* @param hex
|
|
25
|
-
* @returns
|
|
26
|
-
* @throws {ArgumentError}
|
|
23
|
+
* hex 문자열을 Uint8Array로 변환
|
|
24
|
+
* @param hex 변환할 hex 문자열 (대소문자 허용)
|
|
25
|
+
* @returns 변환된 Uint8Array
|
|
26
|
+
* @throws {ArgumentError} 홀수 길이이거나 유효하지 않은 hex 문자가 포함된 경우
|
|
27
27
|
* @example
|
|
28
28
|
* fromHex("ff007f");
|
|
29
29
|
* // Uint8Array([255, 0, 127])
|
|
30
30
|
*/
|
|
31
31
|
export declare function fromHex(hex: string): Bytes;
|
|
32
32
|
/**
|
|
33
|
-
*
|
|
34
|
-
* @param bytes Uint8Array
|
|
35
|
-
* @returns Base64
|
|
33
|
+
* Bytes를 base64 문자열로 변환
|
|
34
|
+
* @param bytes 변환할 Uint8Array
|
|
35
|
+
* @returns Base64 인코딩된 문자열
|
|
36
36
|
* @example
|
|
37
37
|
* toBase64(new Uint8Array([72, 101, 108, 108, 111]));
|
|
38
38
|
* // "SGVsbG8="
|
|
39
39
|
*/
|
|
40
40
|
export declare function toBase64(bytes: Bytes): string;
|
|
41
41
|
/**
|
|
42
|
-
*
|
|
43
|
-
* @param base64
|
|
44
|
-
* @returns
|
|
45
|
-
* @throws {ArgumentError}
|
|
42
|
+
* base64 문자열을 Bytes로 변환
|
|
43
|
+
* @param base64 변환할 base64 문자열
|
|
44
|
+
* @returns 디코딩된 Uint8Array
|
|
45
|
+
* @throws {ArgumentError} 유효하지 않은 base64 문자가 포함된 경우
|
|
46
46
|
* @example
|
|
47
47
|
* fromBase64("SGVsbG8=");
|
|
48
48
|
* // Uint8Array([72, 101, 108, 108, 111])
|
package/dist/utils/bytes.js
CHANGED
|
@@ -1,91 +1,147 @@
|
|
|
1
1
|
import { ArgumentError } from "../errors/argument-error.js";
|
|
2
|
+
/**
|
|
3
|
+
* Uint8Array 유틸리티 함수 (복잡한 연산만)
|
|
4
|
+
*
|
|
5
|
+
* 기능:
|
|
6
|
+
* - concat: 여러 Uint8Array 결합
|
|
7
|
+
* - toHex: Uint8Array를 hex 문자열로 변환
|
|
8
|
+
* - fromHex: hex 문자열을 Uint8Array로 변환
|
|
9
|
+
* - toBase64: Uint8Array를 base64 문자열로 변환
|
|
10
|
+
* - fromBase64: base64 문자열을 Uint8Array로 변환
|
|
11
|
+
*/
|
|
12
|
+
/** hex 변환용 조회 테이블 (성능 최적화) */
|
|
2
13
|
const hexTable = Array.from({ length: 256 }, (_, i) => i.toString(16).padStart(2, "0"));
|
|
14
|
+
/** Base64 인코딩 테이블 */
|
|
3
15
|
const BASE64_CHARS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
|
16
|
+
/** Base64 디코딩 조회 테이블 (O(1) 조회, 모든 바이트 값 포함) */
|
|
4
17
|
const BASE64_LOOKUP = Array.from({ length: 256 }, (_, i) => {
|
|
5
|
-
|
|
6
|
-
|
|
18
|
+
const idx = BASE64_CHARS.indexOf(String.fromCharCode(i));
|
|
19
|
+
return idx === -1 ? 0 : idx;
|
|
7
20
|
});
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
21
|
+
/**
|
|
22
|
+
* 여러 Uint8Array 결합
|
|
23
|
+
* @param arrays 결합할 Uint8Array 배열
|
|
24
|
+
* @returns 결합된 새 Uint8Array
|
|
25
|
+
* @example
|
|
26
|
+
* const a = new Uint8Array([1, 2]);
|
|
27
|
+
* const b = new Uint8Array([3, 4]);
|
|
28
|
+
* concat([a, b]);
|
|
29
|
+
* // Uint8Array([1, 2, 3, 4])
|
|
30
|
+
*/
|
|
31
|
+
export function concat(arrays) {
|
|
32
|
+
const total = arrays.reduce((sum, arr) => sum + arr.length, 0);
|
|
33
|
+
const result = new Uint8Array(total);
|
|
34
|
+
let offset = 0;
|
|
35
|
+
for (const arr of arrays) {
|
|
36
|
+
result.set(arr, offset);
|
|
37
|
+
offset += arr.length;
|
|
38
|
+
}
|
|
39
|
+
return result;
|
|
17
40
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
41
|
+
/**
|
|
42
|
+
* hex 문자열로 변환
|
|
43
|
+
* @param bytes 변환할 Uint8Array
|
|
44
|
+
* @returns 소문자 hex 문자열
|
|
45
|
+
* @example
|
|
46
|
+
* toHex(new Uint8Array([255, 0, 127]));
|
|
47
|
+
* // "ff007f"
|
|
48
|
+
*/
|
|
49
|
+
export function toHex(bytes) {
|
|
50
|
+
const h = hexTable;
|
|
51
|
+
let result = "";
|
|
52
|
+
for (let i = 0; i < bytes.length; i++) {
|
|
53
|
+
result += h[bytes[i]];
|
|
54
|
+
}
|
|
55
|
+
return result;
|
|
25
56
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
57
|
+
/**
|
|
58
|
+
* hex 문자열을 Uint8Array로 변환
|
|
59
|
+
* @param hex 변환할 hex 문자열 (대소문자 허용)
|
|
60
|
+
* @returns 변환된 Uint8Array
|
|
61
|
+
* @throws {ArgumentError} 홀수 길이이거나 유효하지 않은 hex 문자가 포함된 경우
|
|
62
|
+
* @example
|
|
63
|
+
* fromHex("ff007f");
|
|
64
|
+
* // Uint8Array([255, 0, 127])
|
|
65
|
+
*/
|
|
66
|
+
export function fromHex(hex) {
|
|
67
|
+
if (hex.length % 2 !== 0) {
|
|
68
|
+
throw new ArgumentError("hex 문자열은 짝수 길이여야 합니다", { hex });
|
|
69
|
+
}
|
|
70
|
+
if (hex.length > 0 && !/^[0-9a-fA-F]+$/.test(hex)) {
|
|
71
|
+
throw new ArgumentError("유효하지 않은 hex 문자가 포함되어 있습니다", { hex });
|
|
72
|
+
}
|
|
73
|
+
const bytes = new Uint8Array(hex.length / 2);
|
|
74
|
+
for (let i = 0; i < bytes.length; i++) {
|
|
75
|
+
bytes[i] = Number.parseInt(hex.substring(i * 2, i * 2 + 2), 16);
|
|
76
|
+
}
|
|
77
|
+
return bytes;
|
|
38
78
|
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
result
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
79
|
+
/**
|
|
80
|
+
* Bytes를 base64 문자열로 변환
|
|
81
|
+
* @param bytes 변환할 Uint8Array
|
|
82
|
+
* @returns Base64 인코딩된 문자열
|
|
83
|
+
* @example
|
|
84
|
+
* toBase64(new Uint8Array([72, 101, 108, 108, 111]));
|
|
85
|
+
* // "SGVsbG8="
|
|
86
|
+
*/
|
|
87
|
+
export function toBase64(bytes) {
|
|
88
|
+
if (bytes.length === 0) {
|
|
89
|
+
return "";
|
|
90
|
+
}
|
|
91
|
+
let result = "";
|
|
92
|
+
const len = bytes.length;
|
|
93
|
+
for (let i = 0; i < len; i += 3) {
|
|
94
|
+
const b1 = bytes[i];
|
|
95
|
+
const b2 = i + 1 < len ? bytes[i + 1] : 0;
|
|
96
|
+
const b3 = i + 2 < len ? bytes[i + 2] : 0;
|
|
97
|
+
result += BASE64_CHARS[b1 >> 2];
|
|
98
|
+
result += BASE64_CHARS[((b1 & 3) << 4) | (b2 >> 4)];
|
|
99
|
+
result += i + 1 < len ? BASE64_CHARS[((b2 & 15) << 2) | (b3 >> 6)] : "=";
|
|
100
|
+
result += i + 2 < len ? BASE64_CHARS[b3 & 63] : "=";
|
|
101
|
+
}
|
|
102
|
+
return result;
|
|
55
103
|
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
if (
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
104
|
+
/**
|
|
105
|
+
* base64 문자열을 Bytes로 변환
|
|
106
|
+
* @param base64 변환할 base64 문자열
|
|
107
|
+
* @returns 디코딩된 Uint8Array
|
|
108
|
+
* @throws {ArgumentError} 유효하지 않은 base64 문자가 포함된 경우
|
|
109
|
+
* @example
|
|
110
|
+
* fromBase64("SGVsbG8=");
|
|
111
|
+
* // Uint8Array([72, 101, 108, 108, 111])
|
|
112
|
+
*/
|
|
113
|
+
export function fromBase64(base64) {
|
|
114
|
+
// 공백 제거 및 패딩 정규화
|
|
115
|
+
const cleanBase64 = base64.replace(/\s/g, "").replace(/=+$/, "");
|
|
116
|
+
// 빈 문자열 처리
|
|
117
|
+
if (cleanBase64.length === 0) {
|
|
118
|
+
return new Uint8Array(0);
|
|
119
|
+
}
|
|
120
|
+
// 유효성 검사: 문자
|
|
121
|
+
if (!/^[A-Za-z0-9+/]+$/.test(cleanBase64)) {
|
|
122
|
+
throw new ArgumentError("유효하지 않은 base64 문자가 포함되어 있습니다", {
|
|
123
|
+
base64: base64.substring(0, 20),
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
// 유효성 검사: 길이 (패딩 제거 후 나머지가 1이면 유효하지 않음)
|
|
127
|
+
if (cleanBase64.length % 4 === 1) {
|
|
128
|
+
throw new ArgumentError("유효하지 않은 base64 길이입니다", { length: cleanBase64.length });
|
|
129
|
+
}
|
|
130
|
+
const len = cleanBase64.length;
|
|
131
|
+
const byteLen = Math.floor((len * 3) / 4);
|
|
132
|
+
const bytes = new Uint8Array(byteLen);
|
|
133
|
+
let byteIdx = 0;
|
|
134
|
+
for (let i = 0; i < len; i += 4) {
|
|
135
|
+
const c1 = BASE64_LOOKUP[cleanBase64.charCodeAt(i)];
|
|
136
|
+
const c2 = i + 1 < len ? BASE64_LOOKUP[cleanBase64.charCodeAt(i + 1)] : 0;
|
|
137
|
+
const c3 = i + 2 < len ? BASE64_LOOKUP[cleanBase64.charCodeAt(i + 2)] : 0;
|
|
138
|
+
const c4 = i + 3 < len ? BASE64_LOOKUP[cleanBase64.charCodeAt(i + 3)] : 0;
|
|
139
|
+
bytes[byteIdx++] = (c1 << 2) | (c2 >> 4);
|
|
140
|
+
if (byteIdx < byteLen)
|
|
141
|
+
bytes[byteIdx++] = ((c2 & 15) << 4) | (c3 >> 2);
|
|
142
|
+
if (byteIdx < byteLen)
|
|
143
|
+
bytes[byteIdx++] = ((c3 & 3) << 6) | c4;
|
|
144
|
+
}
|
|
145
|
+
return bytes;
|
|
83
146
|
}
|
|
84
|
-
|
|
85
|
-
concat,
|
|
86
|
-
fromBase64,
|
|
87
|
-
fromHex,
|
|
88
|
-
toBase64,
|
|
89
|
-
toHex
|
|
90
|
-
};
|
|
91
|
-
//# sourceMappingURL=bytes.js.map
|
|
147
|
+
//# sourceMappingURL=bytes.js.map
|
package/dist/utils/bytes.js.map
CHANGED
|
@@ -1,6 +1 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/utils/bytes.ts"],
|
|
4
|
-
"mappings": "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",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
1
|
+
{"version":3,"file":"bytes.js","sourceRoot":"","sources":["../../src/utils/bytes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* 월 설정 시 연/월/일 정규화 결과
|
|
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
|
+
* 월 설정 시 연/월/일 정규화
|
|
11
|
+
* - 월이 1-12 범위를 벗어나면 연도 조정
|
|
12
|
+
* - 현재 일이 대상 월의 일수보다 크면 해당 월의 마지막 일로 조정
|
|
13
13
|
*
|
|
14
|
-
* @param year
|
|
15
|
-
* @param month
|
|
16
|
-
* @param day
|
|
17
|
-
* @returns
|
|
14
|
+
* @param year 기준 연도
|
|
15
|
+
* @param month 설정할 월 (1-12 범위 밖의 값 허용)
|
|
16
|
+
* @param day 기준 일
|
|
17
|
+
* @returns 정규화된 연도, 월, 일
|
|
18
18
|
*
|
|
19
19
|
* @example
|
|
20
20
|
* normalizeMonth(2025, 13, 15) // { year: 2026, month: 1, day: 15 }
|
|
@@ -22,48 +22,48 @@ export interface DtNormalizedMonth {
|
|
|
22
22
|
*/
|
|
23
23
|
export declare function normalizeMonth(year: number, month: number, day: number): DtNormalizedMonth;
|
|
24
24
|
/**
|
|
25
|
-
*
|
|
25
|
+
* 12시간 형식을 24시간 형식으로 변환
|
|
26
26
|
* - 12:00 AM = 0:00, 12:00 PM = 12:00
|
|
27
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시간 형식의 시 (1-12)
|
|
30
|
+
* @param isPM 오후 여부
|
|
31
|
+
* @returns 24시간 형식의 시 (0-23)
|
|
32
32
|
*/
|
|
33
33
|
export declare function convert12To24(rawHour: number, isPM: boolean): number;
|
|
34
34
|
/**
|
|
35
|
-
*
|
|
35
|
+
* 형식 문자열에 따라 날짜/시간을 문자열로 변환
|
|
36
36
|
*
|
|
37
|
-
* @param formatString
|
|
38
|
-
* @param args
|
|
37
|
+
* @param formatString 형식 문자열
|
|
38
|
+
* @param args 날짜/시간 구성요소
|
|
39
39
|
*
|
|
40
40
|
* @remarks
|
|
41
|
-
*
|
|
41
|
+
* 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
|
+
* | 형식 | 설명 | 예시 |
|
|
44
|
+
* |------|------|------|
|
|
45
|
+
* | yyyy | 4자리 연도 | 2024 |
|
|
46
|
+
* | yy | 2자리 연도 | 24 |
|
|
47
|
+
* | MM | 0 채움 월 | 01~12 |
|
|
48
|
+
* | M | 월 | 1~12 |
|
|
49
|
+
* | ddd | 요일 | 일, 월, 화, 수, 목, 금, 토 |
|
|
50
|
+
* | dd | 0 채움 일 | 01~31 |
|
|
51
|
+
* | d | 일 | 1~31 |
|
|
52
|
+
* | tt | 오전/오후 | AM, PM |
|
|
53
|
+
* | hh | 0 채움 12시간 | 01~12 |
|
|
54
|
+
* | h | 12시간 | 1~12 |
|
|
55
|
+
* | HH | 0 채움 24시간 | 00~23 |
|
|
56
|
+
* | H | 24시간 | 0~23 |
|
|
57
|
+
* | mm | 0 채움 분 | 00~59 |
|
|
58
|
+
* | m | 분 | 0~59 |
|
|
59
|
+
* | ss | 0 채움 초 | 00~59 |
|
|
60
|
+
* | s | 초 | 0~59 |
|
|
61
|
+
* | fff | 밀리초 (3자리) | 000~999 |
|
|
62
|
+
* | ff | 밀리초 (2자리) | 00~99 |
|
|
63
|
+
* | f | 밀리초 (1자리) | 0~9 |
|
|
64
|
+
* | zzz | 타임존 오프셋 (±HH:mm) | +09:00 |
|
|
65
|
+
* | zz | 타임존 오프셋 (±HH) | +09 |
|
|
66
|
+
* | z | 타임존 오프셋 (±H) | +9 |
|
|
67
67
|
*
|
|
68
68
|
* @example
|
|
69
69
|
* ```typescript
|