@simplysm/core-common 13.0.99 → 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
|
@@ -1,6 +1 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/extensions/arr-ext.ts"],
|
|
4
|
-
"mappings": "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",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
1
|
+
{"version":3,"file":"arr-ext.js","sourceRoot":"","sources":["../../src/extensions/arr-ext.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Array
|
|
2
|
+
* Array 확장 타입 정의
|
|
3
3
|
*/
|
|
4
4
|
import type { PrimitiveTypeMap, PrimitiveTypeStr, Type } from "../common.types";
|
|
5
5
|
import type { DateTime } from "../types/date-time";
|
|
@@ -7,58 +7,58 @@ import type { DateOnly } from "../types/date-only";
|
|
|
7
7
|
import type { Time } from "../types/time";
|
|
8
8
|
export interface ReadonlyArrayExt<TItem> {
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
11
|
-
* @param predicate
|
|
12
|
-
* @returns
|
|
13
|
-
* @throws ArgumentError
|
|
10
|
+
* 조건에 맞는 단일 요소 반환
|
|
11
|
+
* @param predicate 필터 조건 (생략 시 전체 array 대상)
|
|
12
|
+
* @returns 요소가 없으면 undefined
|
|
13
|
+
* @throws ArgumentError 2개 이상의 요소가 조건에 맞을 경우
|
|
14
14
|
*/
|
|
15
15
|
single(predicate?: (item: TItem, index: number) => boolean): TItem | undefined;
|
|
16
16
|
/**
|
|
17
|
-
*
|
|
18
|
-
* @param predicate
|
|
19
|
-
* @returns
|
|
17
|
+
* 첫 번째 요소 반환
|
|
18
|
+
* @param predicate 필터 조건 (생략 시 첫 번째 요소 반환)
|
|
19
|
+
* @returns 요소가 없으면 undefined
|
|
20
20
|
*/
|
|
21
21
|
first(predicate?: (item: TItem, index: number) => boolean): TItem | undefined;
|
|
22
|
-
/**
|
|
22
|
+
/** 비동기 필터 (순차 실행) */
|
|
23
23
|
filterAsync(predicate: (item: TItem, index: number) => Promise<boolean>): Promise<TItem[]>;
|
|
24
24
|
/**
|
|
25
|
-
*
|
|
26
|
-
* @param predicate
|
|
27
|
-
* @returns
|
|
25
|
+
* 마지막 요소 반환
|
|
26
|
+
* @param predicate 필터 조건 (생략 시 마지막 요소 반환)
|
|
27
|
+
* @returns 요소가 없으면 undefined
|
|
28
28
|
*/
|
|
29
29
|
last(predicate?: (item: TItem, index: number) => boolean): TItem | undefined;
|
|
30
|
-
/**
|
|
30
|
+
/** null/undefined 제거 */
|
|
31
31
|
filterExists(): NonNullable<TItem>[];
|
|
32
|
-
/**
|
|
32
|
+
/** 특정 타입의 요소만 필터 (PrimitiveTypeStr 또는 생성자 타입) */
|
|
33
33
|
ofType<TKey extends PrimitiveTypeStr>(type: TKey): Extract<TItem, PrimitiveTypeMap[TKey]>[];
|
|
34
34
|
ofType<TNarrow extends TItem>(type: Type<TNarrow>): TNarrow[];
|
|
35
|
-
/**
|
|
35
|
+
/** 비동기 매핑 (순차 실행) */
|
|
36
36
|
mapAsync<TResult>(selector: (item: TItem, index: number) => Promise<TResult>): Promise<TResult[]>;
|
|
37
|
-
/**
|
|
37
|
+
/** 중첩 array 평탄화 */
|
|
38
38
|
mapMany(): TItem extends readonly (infer U)[] ? U[] : TItem;
|
|
39
|
-
/**
|
|
39
|
+
/** 매핑 후 평탄화 */
|
|
40
40
|
mapMany<TResult>(selector: (item: TItem, index: number) => TResult[]): TResult[];
|
|
41
|
-
/**
|
|
41
|
+
/** 비동기 매핑 후 평탄화 (순차 실행) */
|
|
42
42
|
mapManyAsync<TResult>(selector: (item: TItem, index: number) => Promise<TResult[]>): Promise<TResult[]>;
|
|
43
43
|
/**
|
|
44
|
-
*
|
|
45
|
-
* @note
|
|
44
|
+
* 비동기 병렬 처리 (Promise.all 사용)
|
|
45
|
+
* @note 하나라도 reject되면 전체가 즉시 reject됨 (Promise.all 동작)
|
|
46
46
|
*/
|
|
47
47
|
parallelAsync<TResult>(fn: (item: TItem, index: number) => Promise<TResult>): Promise<TResult[]>;
|
|
48
48
|
/**
|
|
49
|
-
*
|
|
50
|
-
* @param keySelector
|
|
51
|
-
* @note O(n²)
|
|
49
|
+
* key 기준 그룹화
|
|
50
|
+
* @param keySelector 그룹의 key 선택 함수
|
|
51
|
+
* @note O(n²) 복잡도 (객체 key 지원을 위한 깊은 비교). 원시 key만 필요하면 toArrayMap()이 O(n)으로 더 효율적
|
|
52
52
|
*/
|
|
53
53
|
groupBy<TKey>(keySelector: (item: TItem, index: number) => TKey): {
|
|
54
54
|
key: TKey;
|
|
55
55
|
values: TItem[];
|
|
56
56
|
}[];
|
|
57
57
|
/**
|
|
58
|
-
*
|
|
59
|
-
* @param keySelector
|
|
60
|
-
* @param valueSelector
|
|
61
|
-
* @note O(n²)
|
|
58
|
+
* key 기준 그룹화 (value 변환 포함)
|
|
59
|
+
* @param keySelector 그룹의 key 선택 함수
|
|
60
|
+
* @param valueSelector value 변환 함수
|
|
61
|
+
* @note O(n²) 복잡도 (객체 key 지원을 위한 깊은 비교). 원시 key만 필요하면 toArrayMap()이 O(n)으로 더 효율적
|
|
62
62
|
*/
|
|
63
63
|
groupBy<TKey, TValue>(keySelector: (item: TItem, index: number) => TKey, valueSelector: (item: TItem, index: number) => TValue): {
|
|
64
64
|
key: TKey;
|
|
@@ -76,16 +76,16 @@ export interface ReadonlyArrayExt<TItem> {
|
|
|
76
76
|
toObject(keySelector: (item: TItem, index: number) => string): Record<string, TItem>;
|
|
77
77
|
toObject<TValue>(keySelector: (item: TItem, index: number) => string, valueSelector: (item: TItem, index: number) => TValue): Record<string, TValue>;
|
|
78
78
|
/**
|
|
79
|
-
*
|
|
79
|
+
* 평면 array를 트리 구조로 변환
|
|
80
80
|
*
|
|
81
|
-
* @param keyProp
|
|
82
|
-
* @param parentKey
|
|
83
|
-
* @returns
|
|
81
|
+
* @param keyProp 각 항목의 고유 key 속성명
|
|
82
|
+
* @param parentKey 부모 항목의 key를 참조하는 속성명
|
|
83
|
+
* @returns 루트 항목 array (각 항목에 children 속성이 추가됨)
|
|
84
84
|
*
|
|
85
85
|
* @remarks
|
|
86
|
-
* -
|
|
87
|
-
* -
|
|
88
|
-
* -
|
|
86
|
+
* - parentKey 값이 null/undefined인 항목이 루트가 됨
|
|
87
|
+
* - 내부적으로 toArrayMap을 사용하여 O(n) 복잡도
|
|
88
|
+
* - 원본 항목은 복사되고 children 속성이 추가됨
|
|
89
89
|
*
|
|
90
90
|
* @example
|
|
91
91
|
* ```typescript
|
|
@@ -113,9 +113,9 @@ export interface ReadonlyArrayExt<TItem> {
|
|
|
113
113
|
*/
|
|
114
114
|
toTree<K extends keyof TItem, P extends keyof TItem>(keyProp: K, parentKey: P): TreeArray<TItem>[];
|
|
115
115
|
/**
|
|
116
|
-
*
|
|
117
|
-
* @param options matchAddress:
|
|
118
|
-
* @note O(n²)
|
|
116
|
+
* 중복 제거
|
|
117
|
+
* @param options matchAddress: 주소 비교 (true면 Set 사용), keyFn: 커스텀 key 함수 (O(n) 성능)
|
|
118
|
+
* @note 객체 array에서 keyFn 없이 사용하면 O(n²) 복잡도. 대량 데이터에는 keyFn 사용 권장
|
|
119
119
|
*/
|
|
120
120
|
distinct(options?: boolean | {
|
|
121
121
|
matchAddress?: boolean;
|
|
@@ -124,10 +124,10 @@ export interface ReadonlyArrayExt<TItem> {
|
|
|
124
124
|
orderBy(selector?: (item: TItem) => string | number | DateOnly | DateTime | Time | undefined): TItem[];
|
|
125
125
|
orderByDesc(selector?: (item: TItem) => string | number | DateOnly | DateTime | Time | undefined): TItem[];
|
|
126
126
|
/**
|
|
127
|
-
*
|
|
128
|
-
* @param target
|
|
129
|
-
* @param options keys:
|
|
130
|
-
* @note
|
|
127
|
+
* 두 array 비교 (INSERT/DELETE/UPDATE)
|
|
128
|
+
* @param target 비교할 array
|
|
129
|
+
* @param options keys: key 비교용, excludes: 비교에서 제외할 속성
|
|
130
|
+
* @note target에 중복 key가 있으면 첫 번째 매칭만 사용됨
|
|
131
131
|
*/
|
|
132
132
|
diffs<TOtherItem>(target: TOtherItem[]): ArrayDiffsResult<TItem, TOtherItem>[];
|
|
133
133
|
diffs<TOtherItem extends Record<string, unknown> = Record<string, unknown>>(target: TOtherItem[], options: {
|
|
@@ -151,9 +151,9 @@ export interface ReadonlyArrayExt<TItem> {
|
|
|
151
151
|
excludes: ((keyof TItem | keyof TOtherItem) & string)[];
|
|
152
152
|
}): (TItem | TOtherItem | (TItem & TOtherItem))[];
|
|
153
153
|
/**
|
|
154
|
-
*
|
|
155
|
-
* @param selector
|
|
156
|
-
* @returns
|
|
154
|
+
* 요소의 합계 반환
|
|
155
|
+
* @param selector value 선택 함수 (생략 시 요소 자체를 숫자로 사용)
|
|
156
|
+
* @returns array가 비어 있으면 0
|
|
157
157
|
*/
|
|
158
158
|
sum(selector?: (item: TItem, index: number) => number): number;
|
|
159
159
|
min(): TItem extends number | string ? TItem | undefined : never;
|
|
@@ -163,33 +163,33 @@ export interface ReadonlyArrayExt<TItem> {
|
|
|
163
163
|
shuffle(): TItem[];
|
|
164
164
|
}
|
|
165
165
|
/**
|
|
166
|
-
*
|
|
167
|
-
* @mutates
|
|
166
|
+
* 원본 array를 변경하는 확장 메서드
|
|
167
|
+
* @mutates 모든 메서드가 원본 array를 직접 수정함
|
|
168
168
|
*/
|
|
169
169
|
export interface MutableArrayExt<TItem> {
|
|
170
170
|
/**
|
|
171
|
-
*
|
|
172
|
-
* @param options matchAddress:
|
|
173
|
-
* @note O(n²)
|
|
171
|
+
* 원본 array에서 중복 제거
|
|
172
|
+
* @param options matchAddress: 주소 비교 (true면 Set 사용), keyFn: 커스텀 key 함수 (O(n) 성능)
|
|
173
|
+
* @note 객체 array에서 keyFn 없이 사용하면 O(n²) 복잡도. 대량 데이터에는 keyFn 사용 권장
|
|
174
174
|
* @mutates
|
|
175
175
|
*/
|
|
176
176
|
distinctThis(options?: boolean | {
|
|
177
177
|
matchAddress?: boolean;
|
|
178
178
|
keyFn?: (item: TItem) => string | number;
|
|
179
179
|
}): TItem[];
|
|
180
|
-
/**
|
|
180
|
+
/** 원본 array를 오름차순 정렬 @mutates */
|
|
181
181
|
orderByThis(selector?: (item: TItem) => string | number | DateOnly | DateTime | Time | undefined): TItem[];
|
|
182
|
-
/**
|
|
182
|
+
/** 원본 array를 내림차순 정렬 @mutates */
|
|
183
183
|
orderByDescThis(selector?: (item: TItem) => string | number | DateOnly | DateTime | Time | undefined): TItem[];
|
|
184
|
-
/**
|
|
184
|
+
/** 원본 array에 항목 삽입 @mutates */
|
|
185
185
|
insert(index: number, ...items: TItem[]): this;
|
|
186
|
-
/**
|
|
186
|
+
/** 원본 array에서 항목 제거 @mutates */
|
|
187
187
|
remove(item: TItem): this;
|
|
188
|
-
/**
|
|
188
|
+
/** 원본 array에서 조건에 맞는 항목 제거 @mutates */
|
|
189
189
|
remove(selector: (item: TItem, index: number) => boolean): this;
|
|
190
|
-
/**
|
|
190
|
+
/** 원본 array에서 항목 토글 (있으면 제거, 없으면 추가) @mutates */
|
|
191
191
|
toggle(item: TItem): this;
|
|
192
|
-
/**
|
|
192
|
+
/** 원본 array 비우기 @mutates */
|
|
193
193
|
clear(): this;
|
|
194
194
|
}
|
|
195
195
|
export type ArrayDiffsResult<TOriginal, TOther> = {
|
|
@@ -218,6 +218,6 @@ export type ArrayOneWayDiffResult<TItem> = {
|
|
|
218
218
|
export type TreeArray<TNode> = TNode & {
|
|
219
219
|
children: TreeArray<TNode>[];
|
|
220
220
|
};
|
|
221
|
-
/**
|
|
221
|
+
/** 정렬/비교 가능한 타입 */
|
|
222
222
|
export type ComparableType = string | number | boolean | DateTime | DateOnly | Time | undefined;
|
|
223
223
|
//# sourceMappingURL=arr-ext.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arr-ext.types.d.ts","sourceRoot":"","sources":["../../src/extensions/arr-ext.types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAChF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAI1C,MAAM,WAAW,gBAAgB,CAAC,KAAK;IACrC;;;;;OAKG;IACH,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,KAAK,GAAG,SAAS,CAAC;IAE/E;;;;OAIG;IACH,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,KAAK,GAAG,SAAS,CAAC;IAE9E,
|
|
1
|
+
{"version":3,"file":"arr-ext.types.d.ts","sourceRoot":"","sources":["../../src/extensions/arr-ext.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,51 +1,51 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Map
|
|
2
|
+
* Map 확장 메서드
|
|
3
3
|
*/
|
|
4
4
|
declare global {
|
|
5
5
|
interface Map<K, V> {
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
7
|
+
* key에 해당하는 값이 없으면 새 값을 설정하고 반환
|
|
8
8
|
*
|
|
9
9
|
* @remarks
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
10
|
+
* **주의**: V 타입이 함수인 경우 (예: `Map<string, () => void>`),
|
|
11
|
+
* 함수를 두 번째 인자로 직접 전달하면 팩토리로 인식되어 호출됨.
|
|
12
|
+
* 함수 자체를 값으로 저장하려면 팩토리로 감싸야 함.
|
|
13
13
|
*
|
|
14
14
|
* @example
|
|
15
15
|
* ```typescript
|
|
16
|
-
* //
|
|
16
|
+
* // 일반 값
|
|
17
17
|
* map.getOrCreate("key", 0);
|
|
18
18
|
* map.getOrCreate("key", []);
|
|
19
19
|
*
|
|
20
|
-
* //
|
|
20
|
+
* // 팩토리 함수 (비용이 큰 연산에 사용)
|
|
21
21
|
* map.getOrCreate("key", () => expensiveComputation());
|
|
22
22
|
*
|
|
23
|
-
* //
|
|
23
|
+
* // 함수를 값으로 저장
|
|
24
24
|
* const fnMap = new Map<string, () => void>();
|
|
25
25
|
* const myFn = () => console.log("hello");
|
|
26
|
-
* fnMap.getOrCreate("key", () => myFn); //
|
|
26
|
+
* fnMap.getOrCreate("key", () => myFn); // 팩토리로 감싸기
|
|
27
27
|
* ```
|
|
28
28
|
*/
|
|
29
29
|
getOrCreate(key: K, newValue: V): V;
|
|
30
30
|
getOrCreate(key: K, newValueFn: () => V): V;
|
|
31
31
|
/**
|
|
32
|
-
*
|
|
32
|
+
* 함수를 사용하여 key의 값을 업데이트
|
|
33
33
|
*
|
|
34
|
-
* @param key
|
|
35
|
-
* @param updateFn
|
|
34
|
+
* @param key 업데이트할 key
|
|
35
|
+
* @param updateFn 현재 값을 받아 새 값을 반환하는 함수 (key가 없으면 undefined)
|
|
36
36
|
*
|
|
37
37
|
* @remarks
|
|
38
|
-
*
|
|
39
|
-
*
|
|
38
|
+
* key가 존재하지 않아도 updateFn이 호출되어 새 값이 설정됨.
|
|
39
|
+
* 기존 값 기반 계산(카운터 증가, array에 추가 등)에 유용함.
|
|
40
40
|
*
|
|
41
41
|
* @example
|
|
42
42
|
* ```typescript
|
|
43
43
|
* const countMap = new Map<string, number>();
|
|
44
44
|
*
|
|
45
|
-
* //
|
|
45
|
+
* // 카운터 증가
|
|
46
46
|
* countMap.update("key", (v) => (v ?? 0) + 1);
|
|
47
47
|
*
|
|
48
|
-
* //
|
|
48
|
+
* // array에 항목 추가
|
|
49
49
|
* const arrayMap = new Map<string, string[]>();
|
|
50
50
|
* arrayMap.update("key", (v) => [...(v ?? []), "item"]);
|
|
51
51
|
* ```
|
|
@@ -1,26 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Map 확장 메서드
|
|
3
|
+
*/
|
|
1
4
|
Object.defineProperty(Map.prototype, "getOrCreate", {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
5
|
+
value: function (key, newValue) {
|
|
6
|
+
if (!this.has(key)) {
|
|
7
|
+
if (typeof newValue === "function") {
|
|
8
|
+
this.set(key, newValue());
|
|
9
|
+
}
|
|
10
|
+
else {
|
|
11
|
+
this.set(key, newValue);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
return this.get(key);
|
|
15
|
+
},
|
|
16
|
+
enumerable: false,
|
|
17
|
+
writable: true,
|
|
18
|
+
configurable: true,
|
|
15
19
|
});
|
|
16
20
|
Object.defineProperty(Map.prototype, "update", {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
21
|
+
value: function (key, updateFn) {
|
|
22
|
+
const val = this.get(key);
|
|
23
|
+
const res = updateFn(val);
|
|
24
|
+
this.set(key, res);
|
|
25
|
+
},
|
|
26
|
+
enumerable: false,
|
|
27
|
+
writable: true,
|
|
28
|
+
configurable: true,
|
|
25
29
|
});
|
|
26
|
-
|
|
30
|
+
export {};
|
|
31
|
+
//# sourceMappingURL=map-ext.js.map
|
|
@@ -1,6 +1 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/extensions/map-ext.ts"],
|
|
4
|
-
"mappings": "AA0DA,OAAO,eAAe,IAAI,WAAW,eAAe;AAAA,EAClD,OAAO,SAAiD,KAAW,UAA2C;AAC5G,QAAI,CAAC,KAAK,IAAI,GAAG,GAAG;AAClB,UAAI,OAAO,aAAa,YAAY;AAClC,aAAK,IAAI,KAAM,SAA0B,CAAC;AAAA,MAC5C,OAAO;AACL,aAAK,IAAI,KAAK,QAAQ;AAAA,MACxB;AAAA,IACF;AACA,WAAO,KAAK,IAAI,GAAG;AAAA,EACrB;AAAA,EACA,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,cAAc;AAChB,CAAC;AAED,OAAO,eAAe,IAAI,WAAW,UAAU;AAAA,EAC7C,OAAO,SAAiD,KAAW,UAAmD;AACpH,UAAM,MAAM,KAAK,IAAI,GAAG;AACxB,UAAM,MAAM,SAAS,GAAG;AACxB,SAAK,IAAI,KAAK,GAAG;AAAA,EACnB;AAAA,EACA,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,cAAc;AAChB,CAAC;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
1
|
+
{"version":3,"file":"map-ext.js","sourceRoot":"","sources":["../../src/extensions/map-ext.ts"],"names":[],"mappings":"AAAA;;GAEG;AAwDH,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,aAAa,EAAE;IAClD,KAAK,EAAE,UAAiD,GAAS,EAAE,QAAiC;QAClG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACnB,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;gBACnC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAG,QAAyB,EAAE,CAAC,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;IACxB,CAAC;IACD,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,IAAI;IACd,YAAY,EAAE,IAAI;CACnB,CAAC,CAAC;AAEH,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE;IAC7C,KAAK,EAAE,UAAiD,GAAS,EAAE,QAA2C;QAC5G,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1B,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACrB,CAAC;IACD,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,IAAI;IACd,YAAY,EAAE,IAAI;CACnB,CAAC,CAAC;AAEH,OAAO,EAAE,CAAC"}
|
|
@@ -1,32 +1,32 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Set
|
|
2
|
+
* Set 확장 메서드
|
|
3
3
|
*/
|
|
4
4
|
declare global {
|
|
5
5
|
interface Set<T> {
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
7
|
+
* 여러 값을 한 번에 추가
|
|
8
8
|
*/
|
|
9
9
|
adds(...values: T[]): this;
|
|
10
10
|
/**
|
|
11
|
-
*
|
|
11
|
+
* 값 토글 (있으면 제거, 없으면 추가)
|
|
12
12
|
*
|
|
13
|
-
* @param value
|
|
14
|
-
* @param addOrDel
|
|
15
|
-
* @returns this (
|
|
13
|
+
* @param value 토글할 값
|
|
14
|
+
* @param addOrDel 강제 추가("add") 또는 제거("del") (생략 시 자동 토글)
|
|
15
|
+
* @returns this (메서드 체이닝 가능)
|
|
16
16
|
*
|
|
17
17
|
* @remarks
|
|
18
|
-
* addOrDel
|
|
18
|
+
* addOrDel 매개변수로 조건부 추가/제거를 간결하게 표현할 수 있음.
|
|
19
19
|
*
|
|
20
20
|
* @example
|
|
21
21
|
* ```typescript
|
|
22
22
|
* const set = new Set<number>([1, 2, 3]);
|
|
23
23
|
*
|
|
24
|
-
* set.toggle(2); // 2
|
|
25
|
-
* set.toggle(4); // 4
|
|
24
|
+
* set.toggle(2); // 2가 있으므로 제거 → {1, 3}
|
|
25
|
+
* set.toggle(4); // 4가 없으므로 추가 → {1, 3, 4}
|
|
26
26
|
*
|
|
27
|
-
* //
|
|
27
|
+
* // 조건부 토글
|
|
28
28
|
* const isAdmin = true;
|
|
29
|
-
* set.toggle(5, isAdmin ? "add" : "del"); //
|
|
29
|
+
* set.toggle(5, isAdmin ? "add" : "del"); // 강제 추가
|
|
30
30
|
* ```
|
|
31
31
|
*/
|
|
32
32
|
toggle(value: T, addOrDel?: "add" | "del"): this;
|
|
@@ -1,29 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Set 확장 메서드
|
|
3
|
+
*/
|
|
1
4
|
Object.defineProperty(Set.prototype, "adds", {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
value: function (...values) {
|
|
6
|
+
for (const val of values) {
|
|
7
|
+
this.add(val);
|
|
8
|
+
}
|
|
9
|
+
return this;
|
|
10
|
+
},
|
|
11
|
+
enumerable: false,
|
|
12
|
+
writable: true,
|
|
13
|
+
configurable: true,
|
|
11
14
|
});
|
|
12
15
|
Object.defineProperty(Set.prototype, "toggle", {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
16
|
+
value: function (value, addOrDel) {
|
|
17
|
+
if (addOrDel === "add") {
|
|
18
|
+
this.add(value);
|
|
19
|
+
}
|
|
20
|
+
else if (addOrDel === "del") {
|
|
21
|
+
this.delete(value);
|
|
22
|
+
}
|
|
23
|
+
else if (this.has(value)) {
|
|
24
|
+
this.delete(value);
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
this.add(value);
|
|
28
|
+
}
|
|
29
|
+
return this;
|
|
30
|
+
},
|
|
31
|
+
enumerable: false,
|
|
32
|
+
writable: true,
|
|
33
|
+
configurable: true,
|
|
28
34
|
});
|
|
29
|
-
|
|
35
|
+
export {};
|
|
36
|
+
//# sourceMappingURL=set-ext.js.map
|
|
@@ -1,6 +1 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/extensions/set-ext.ts"],
|
|
4
|
-
"mappings": "AAqCA,OAAO,eAAe,IAAI,WAAW,QAAQ;AAAA,EAC3C,OAAO,YAAsC,QAA6B;AACxE,eAAW,OAAO,QAAQ;AACxB,WAAK,IAAI,GAAG;AAAA,IACd;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,cAAc;AAChB,CAAC;AAED,OAAO,eAAe,IAAI,WAAW,UAAU;AAAA,EAC7C,OAAO,SAAmC,OAAc,UAAsC;AAC5F,QAAI,aAAa,OAAO;AACtB,WAAK,IAAI,KAAK;AAAA,IAChB,WAAW,aAAa,OAAO;AAC7B,WAAK,OAAO,KAAK;AAAA,IACnB,WAAW,KAAK,IAAI,KAAK,GAAG;AAC1B,WAAK,OAAO,KAAK;AAAA,IACnB,OAAO;AACL,WAAK,IAAI,KAAK;AAAA,IAChB;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,cAAc;AAChB,CAAC;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
1
|
+
{"version":3,"file":"set-ext.js","sourceRoot":"","sources":["../../src/extensions/set-ext.ts"],"names":[],"mappings":"AAAA;;GAEG;AAmCH,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE;IAC3C,KAAK,EAAE,UAAmC,GAAG,MAAe;QAC1D,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,IAAI;IACd,YAAY,EAAE,IAAI;CACnB,CAAC,CAAC;AAEH,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE;IAC7C,KAAK,EAAE,UAAmC,KAAY,EAAE,QAAwB;QAC9E,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC;aAAM,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;aAAM,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,IAAI;IACd,YAAY,EAAE,IAAI;CACnB,CAAC,CAAC;AAEH,OAAO,EAAE,CAAC"}
|