@simplysm/core-common 14.0.100 → 14.0.101
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 +0 -24
- package/dist/common.types.d.ts.map +1 -1
- package/dist/common.types.js.map +1 -1
- package/dist/errors/argument-error.d.ts +0 -10
- package/dist/errors/argument-error.d.ts.map +1 -1
- package/dist/errors/argument-error.js +0 -10
- package/dist/errors/argument-error.js.map +1 -1
- package/dist/errors/not-implemented-error.d.ts +0 -15
- package/dist/errors/not-implemented-error.d.ts.map +1 -1
- package/dist/errors/not-implemented-error.js +0 -15
- package/dist/errors/not-implemented-error.js.map +1 -1
- package/dist/errors/sd-error.d.ts +0 -14
- package/dist/errors/sd-error.d.ts.map +1 -1
- package/dist/errors/sd-error.js +0 -14
- package/dist/errors/sd-error.js.map +1 -1
- package/dist/errors/timeout-error.d.ts +0 -16
- package/dist/errors/timeout-error.d.ts.map +1 -1
- package/dist/errors/timeout-error.js +0 -16
- package/dist/errors/timeout-error.js.map +1 -1
- package/dist/extensions/arr-ext.types.d.ts +0 -24
- package/dist/extensions/arr-ext.types.d.ts.map +1 -1
- package/dist/extensions/arr-ext.types.js.map +1 -1
- package/dist/extensions/map-ext.d.ts +0 -27
- package/dist/extensions/map-ext.d.ts.map +1 -1
- package/dist/extensions/map-ext.js.map +1 -1
- package/dist/extensions/set-ext.d.ts +0 -12
- package/dist/extensions/set-ext.d.ts.map +1 -1
- package/dist/extensions/set-ext.js.map +1 -1
- package/dist/features/debounce-queue.d.ts +0 -10
- package/dist/features/debounce-queue.d.ts.map +1 -1
- package/dist/features/debounce-queue.js +0 -10
- package/dist/features/debounce-queue.js.map +1 -1
- package/dist/features/event-emitter.d.ts +0 -14
- package/dist/features/event-emitter.d.ts.map +1 -1
- package/dist/features/event-emitter.js +0 -14
- package/dist/features/event-emitter.js.map +1 -1
- package/dist/features/serial-queue.d.ts +0 -10
- package/dist/features/serial-queue.d.ts.map +1 -1
- package/dist/features/serial-queue.js +0 -10
- package/dist/features/serial-queue.js.map +1 -1
- package/dist/types/date-only.d.ts +0 -32
- package/dist/types/date-only.d.ts.map +1 -1
- package/dist/types/date-only.js +0 -32
- package/dist/types/date-only.js.map +1 -1
- package/dist/types/date-time.d.ts +0 -12
- package/dist/types/date-time.d.ts.map +1 -1
- package/dist/types/date-time.js +0 -12
- package/dist/types/date-time.js.map +1 -1
- package/dist/types/lazy-gc-map.d.ts +0 -8
- package/dist/types/lazy-gc-map.d.ts.map +1 -1
- package/dist/types/lazy-gc-map.js +0 -8
- package/dist/types/lazy-gc-map.js.map +1 -1
- package/dist/types/time.d.ts +0 -11
- package/dist/types/time.d.ts.map +1 -1
- package/dist/types/time.js +0 -11
- package/dist/types/time.js.map +1 -1
- package/dist/types/uuid.d.ts +0 -4
- package/dist/types/uuid.d.ts.map +1 -1
- package/dist/types/uuid.js +0 -4
- package/dist/types/uuid.js.map +1 -1
- package/dist/utils/bytes.d.ts +0 -17
- package/dist/utils/bytes.d.ts.map +1 -1
- package/dist/utils/bytes.js +0 -17
- package/dist/utils/bytes.js.map +1 -1
- package/dist/utils/date-format.d.ts +0 -16
- package/dist/utils/date-format.d.ts.map +1 -1
- package/dist/utils/date-format.js +0 -16
- package/dist/utils/date-format.js.map +1 -1
- package/dist/utils/num.d.ts +0 -12
- package/dist/utils/num.d.ts.map +1 -1
- package/dist/utils/num.js +0 -9
- package/dist/utils/num.js.map +1 -1
- package/dist/utils/obj.d.ts +0 -39
- package/dist/utils/obj.d.ts.map +1 -1
- package/dist/utils/obj.js +0 -35
- package/dist/utils/obj.js.map +1 -1
- package/dist/utils/primitive.d.ts +0 -6
- package/dist/utils/primitive.d.ts.map +1 -1
- package/dist/utils/primitive.js +0 -6
- package/dist/utils/primitive.js.map +1 -1
- package/dist/utils/str.d.ts +0 -43
- package/dist/utils/str.d.ts.map +1 -1
- package/dist/utils/str.js +0 -43
- package/dist/utils/str.js.map +1 -1
- package/dist/utils/template-strings.d.ts +0 -37
- package/dist/utils/template-strings.d.ts.map +1 -1
- package/dist/utils/template-strings.js +0 -37
- package/dist/utils/template-strings.js.map +1 -1
- package/dist/utils/transferable.d.ts +0 -8
- package/dist/utils/transferable.d.ts.map +1 -1
- package/dist/utils/transferable.js +0 -8
- package/dist/utils/transferable.js.map +1 -1
- package/dist/utils/wait.d.ts +0 -3
- package/dist/utils/wait.d.ts.map +1 -1
- package/dist/utils/wait.js +0 -3
- package/dist/utils/wait.js.map +1 -1
- package/dist/utils/xml.d.ts +0 -11
- package/dist/utils/xml.d.ts.map +1 -1
- package/dist/utils/xml.js +0 -11
- package/dist/utils/xml.js.map +1 -1
- package/dist/utils/zip.d.ts +0 -31
- package/dist/utils/zip.d.ts.map +1 -1
- package/dist/utils/zip.js +0 -31
- package/dist/utils/zip.js.map +1 -1
- package/package.json +1 -1
- package/src/common.types.ts +0 -24
- package/src/errors/argument-error.ts +0 -10
- package/src/errors/not-implemented-error.ts +0 -15
- package/src/errors/sd-error.ts +0 -14
- package/src/errors/timeout-error.ts +0 -16
- package/src/extensions/arr-ext.types.ts +0 -24
- package/src/extensions/map-ext.ts +0 -27
- package/src/extensions/set-ext.ts +0 -12
- package/src/features/debounce-queue.ts +0 -10
- package/src/features/event-emitter.ts +0 -14
- package/src/features/serial-queue.ts +0 -10
- package/src/types/date-only.ts +0 -32
- package/src/types/date-time.ts +0 -12
- package/src/types/lazy-gc-map.ts +0 -8
- package/src/types/time.ts +0 -11
- package/src/types/uuid.ts +0 -4
- package/src/utils/bytes.ts +0 -17
- package/src/utils/date-format.ts +0 -16
- package/src/utils/num.ts +0 -12
- package/src/utils/obj.ts +0 -39
- package/src/utils/primitive.ts +0 -6
- package/src/utils/str.ts +0 -43
- package/src/utils/template-strings.ts +0 -37
- package/src/utils/transferable.ts +0 -8
- package/src/utils/wait.ts +0 -3
- package/src/utils/xml.ts +0 -11
- package/src/utils/zip.ts +0 -31
package/dist/common.types.d.ts
CHANGED
|
@@ -34,22 +34,6 @@ export type PrimitiveType = PrimitiveTypeMap[PrimitiveTypeStr] | undefined;
|
|
|
34
34
|
* 객체의 모든 속성을 재귀적으로 optional로 만든다.
|
|
35
35
|
* 원시 타입(string, number, boolean 등)은 그대로 유지하고,
|
|
36
36
|
* object/array 타입에만 재귀적으로 Partial을 적용한다.
|
|
37
|
-
*
|
|
38
|
-
* @example
|
|
39
|
-
* ```typescript
|
|
40
|
-
* interface User {
|
|
41
|
-
* name: string;
|
|
42
|
-
* profile: {
|
|
43
|
-
* age: number;
|
|
44
|
-
* address: { city: string };
|
|
45
|
-
* };
|
|
46
|
-
* }
|
|
47
|
-
*
|
|
48
|
-
* // 모든 깊이의 속성이 optional이 됨
|
|
49
|
-
* const partial: DeepPartial<User> = {
|
|
50
|
-
* profile: { address: {} }
|
|
51
|
-
* };
|
|
52
|
-
* ```
|
|
53
37
|
*/
|
|
54
38
|
export type DeepPartial<TObject> = Partial<{
|
|
55
39
|
[K in keyof TObject]: TObject[K] extends PrimitiveType ? TObject[K] : DeepPartial<TObject[K]>;
|
|
@@ -59,14 +43,6 @@ export type DeepPartial<TObject> = Partial<{
|
|
|
59
43
|
*
|
|
60
44
|
* 클래스 생성자를 타입으로 표현할 때 사용한다.
|
|
61
45
|
* 주로 의존성 주입, 팩토리 패턴, instanceof 체크에 활용된다.
|
|
62
|
-
*
|
|
63
|
-
* @example
|
|
64
|
-
* function create<T>(ctor: Type<T>): T {
|
|
65
|
-
* return new ctor();
|
|
66
|
-
* }
|
|
67
|
-
*
|
|
68
|
-
* class MyClass { name = "test"; }
|
|
69
|
-
* const instance = create(MyClass); // MyClass 인스턴스
|
|
70
46
|
*/
|
|
71
47
|
export interface Type<TInstance> extends Function {
|
|
72
48
|
new (...args: unknown[]): TInstance;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.types.d.ts","sourceRoot":"","sources":["../src/common.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAIpC;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG,UAAU,CAAC;AAM/B;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,gBAAgB,CAAC;AAEtD;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,GAAG,SAAS,CAAC;AAM3E
|
|
1
|
+
{"version":3,"file":"common.types.d.ts","sourceRoot":"","sources":["../src/common.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAIpC;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG,UAAU,CAAC;AAM/B;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,gBAAgB,CAAC;AAEtD;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,GAAG,SAAS,CAAC;AAM3E;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,CAAC,OAAO,IAAI,OAAO,CAAC;KACxC,CAAC,IAAI,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;CAC9F,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,WAAW,IAAI,CAAC,SAAS,CAAE,SAAQ,QAAQ;IAC/C,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC;CACrC"}
|
package/dist/common.types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.types.js","sourceRoot":"","sources":["../src/common.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"common.types.js","sourceRoot":"","sources":["../src/common.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AA+DpC,YAAY"}
|
|
@@ -4,16 +4,6 @@ import { SdError } from "./sd-error";
|
|
|
4
4
|
*
|
|
5
5
|
* 유효하지 않은 인자를 전달받았을 때 발생하는 에러.
|
|
6
6
|
* 디버깅을 용이하게 하기 위해 인자 객체를 YAML 형식으로 메시지에 포함한다.
|
|
7
|
-
*
|
|
8
|
-
* @example
|
|
9
|
-
* // 인자 객체만 전달
|
|
10
|
-
* throw new ArgumentError({ userId: 123, name: null });
|
|
11
|
-
* // 결과 메시지: "잘못된 인자입니다.\n\nuserId: 123\nname: null"
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
* // 커스텀 메시지와 인자 객체를 전달
|
|
15
|
-
* throw new ArgumentError("잘못된 사용자", { userId: 123 });
|
|
16
|
-
* // 결과 메시지: "잘못된 사용자\n\nuserId: 123"
|
|
17
7
|
*/
|
|
18
8
|
export declare class ArgumentError extends SdError {
|
|
19
9
|
/** 기본 메시지("잘못된 인자입니다.")와 함께 인자 객체를 YAML 형식으로 출력 */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"argument-error.d.ts","sourceRoot":"","sources":["../../src/errors/argument-error.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC
|
|
1
|
+
{"version":3,"file":"argument-error.d.ts","sourceRoot":"","sources":["../../src/errors/argument-error.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC;;;;;GAKG;AACH,qBAAa,aAAc,SAAQ,OAAO;IACxC,mDAAmD;gBACvC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC3C,sCAAsC;gBAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAChD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAYnF"}
|
|
@@ -8,16 +8,6 @@ import { SdError } from "./sd-error.js";
|
|
|
8
8
|
*
|
|
9
9
|
* 유효하지 않은 인자를 전달받았을 때 발생하는 에러.
|
|
10
10
|
* 디버깅을 용이하게 하기 위해 인자 객체를 YAML 형식으로 메시지에 포함한다.
|
|
11
|
-
*
|
|
12
|
-
* @example
|
|
13
|
-
* // 인자 객체만 전달
|
|
14
|
-
* throw new ArgumentError({ userId: 123, name: null });
|
|
15
|
-
* // 결과 메시지: "잘못된 인자입니다.\n\nuserId: 123\nname: null"
|
|
16
|
-
*
|
|
17
|
-
* @example
|
|
18
|
-
* // 커스텀 메시지와 인자 객체를 전달
|
|
19
|
-
* throw new ArgumentError("잘못된 사용자", { userId: 123 });
|
|
20
|
-
* // 결과 메시지: "잘못된 사용자\n\nuserId: 123"
|
|
21
11
|
*/
|
|
22
12
|
export class ArgumentError extends SdError {
|
|
23
13
|
constructor(arg1, arg2) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"argument-error.js","sourceRoot":"","sources":["../../src/errors/argument-error.ts"],"names":[],"mappings":"AAAA,uBAAuB;AACvB,iCAAiC;AACjC,qCAAqC;AACrC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC
|
|
1
|
+
{"version":3,"file":"argument-error.js","sourceRoot":"","sources":["../../src/errors/argument-error.ts"],"names":[],"mappings":"AAAA,uBAAuB;AACvB,iCAAiC;AACjC,qCAAqC;AACrC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC;;;;;GAKG;AACH,MAAM,OAAO,aAAc,SAAQ,OAAO;IAMxC,YAAY,IAAsC,EAAE,IAA8B;QAChF,MAAM,OAAO,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5D,MAAM,MAAM,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAEtD,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACnB,KAAK,CAAC,CAAC,OAAO,IAAI,YAAY,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QACrE,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,OAAO,IAAI,YAAY,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF"}
|
|
@@ -4,21 +4,6 @@ import { SdError } from "./sd-error";
|
|
|
4
4
|
*
|
|
5
5
|
* 아직 구현되지 않은 기능이 호출되었을 때 발생하는 에러.
|
|
6
6
|
* 추상 메서드 스텁, 향후 구현 예정인 분기 등에 사용된다.
|
|
7
|
-
*
|
|
8
|
-
* @example
|
|
9
|
-
* // 추상 메서드 구현 전
|
|
10
|
-
* class BaseService {
|
|
11
|
-
* process(): void {
|
|
12
|
-
* throw new NotImplementedError("서브클래스에서 구현 필요");
|
|
13
|
-
* }
|
|
14
|
-
* }
|
|
15
|
-
*
|
|
16
|
-
* @example
|
|
17
|
-
* // 향후 구현 예정인 분기
|
|
18
|
-
* switch (type) {
|
|
19
|
-
* case "A": return handleA();
|
|
20
|
-
* case "B": throw new NotImplementedError(`타입 ${type} 처리`);
|
|
21
|
-
* }
|
|
22
7
|
*/
|
|
23
8
|
export declare class NotImplementedError extends SdError {
|
|
24
9
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"not-implemented-error.d.ts","sourceRoot":"","sources":["../../src/errors/not-implemented-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC
|
|
1
|
+
{"version":3,"file":"not-implemented-error.d.ts","sourceRoot":"","sources":["../../src/errors/not-implemented-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC;;;;;GAKG;AACH,qBAAa,mBAAoB,SAAQ,OAAO;IAC9C;;OAEG;gBACS,OAAO,CAAC,EAAE,MAAM;CAI7B"}
|
|
@@ -4,21 +4,6 @@ import { SdError } from "./sd-error.js";
|
|
|
4
4
|
*
|
|
5
5
|
* 아직 구현되지 않은 기능이 호출되었을 때 발생하는 에러.
|
|
6
6
|
* 추상 메서드 스텁, 향후 구현 예정인 분기 등에 사용된다.
|
|
7
|
-
*
|
|
8
|
-
* @example
|
|
9
|
-
* // 추상 메서드 구현 전
|
|
10
|
-
* class BaseService {
|
|
11
|
-
* process(): void {
|
|
12
|
-
* throw new NotImplementedError("서브클래스에서 구현 필요");
|
|
13
|
-
* }
|
|
14
|
-
* }
|
|
15
|
-
*
|
|
16
|
-
* @example
|
|
17
|
-
* // 향후 구현 예정인 분기
|
|
18
|
-
* switch (type) {
|
|
19
|
-
* case "A": return handleA();
|
|
20
|
-
* case "B": throw new NotImplementedError(`타입 ${type} 처리`);
|
|
21
|
-
* }
|
|
22
7
|
*/
|
|
23
8
|
export class NotImplementedError extends SdError {
|
|
24
9
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"not-implemented-error.js","sourceRoot":"","sources":["../../src/errors/not-implemented-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC
|
|
1
|
+
{"version":3,"file":"not-implemented-error.js","sourceRoot":"","sources":["../../src/errors/not-implemented-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC;;;;;GAKG;AACH,MAAM,OAAO,mBAAoB,SAAQ,OAAO;IAC9C;;OAEG;IACH,YAAY,OAAgB;QAC1B,KAAK,CAAC,KAAK,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF"}
|
|
@@ -1,20 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* 트리 구조 조합을 지원하는 에러 클래스
|
|
3
3
|
* ES2024 cause 속성을 활용
|
|
4
|
-
*
|
|
5
|
-
* @example
|
|
6
|
-
* // 원인 에러를 감싸기
|
|
7
|
-
* try {
|
|
8
|
-
* await fetch(url);
|
|
9
|
-
* } catch (err) {
|
|
10
|
-
* throw new SdError(err, "API 호출 실패", "사용자 로드 실패");
|
|
11
|
-
* }
|
|
12
|
-
* // 결과 메시지: "사용자 로드 실패 => API 호출 실패 => 원본 에러 메시지"
|
|
13
|
-
*
|
|
14
|
-
* @example
|
|
15
|
-
* // 메시지만으로 생성
|
|
16
|
-
* throw new SdError("잘못된 상태", "처리 불가");
|
|
17
|
-
* // 결과 메시지: "처리 불가 => 잘못된 상태"
|
|
18
4
|
*/
|
|
19
5
|
export declare class SdError extends Error {
|
|
20
6
|
cause?: Error;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sd-error.d.ts","sourceRoot":"","sources":["../../src/errors/sd-error.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"sd-error.d.ts","sourceRoot":"","sources":["../../src/errors/sd-error.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,qBAAa,OAAQ,SAAQ,KAAK;IACvB,KAAK,CAAC,EAAE,KAAK,CAAC;IAEvB,gEAAgE;gBACpD,KAAK,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE;IAC/C,kDAAkD;gBACtC,GAAG,QAAQ,EAAE,MAAM,EAAE;gBACrB,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE;CAiClD"}
|
package/dist/errors/sd-error.js
CHANGED
|
@@ -1,20 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* 트리 구조 조합을 지원하는 에러 클래스
|
|
3
3
|
* ES2024 cause 속성을 활용
|
|
4
|
-
*
|
|
5
|
-
* @example
|
|
6
|
-
* // 원인 에러를 감싸기
|
|
7
|
-
* try {
|
|
8
|
-
* await fetch(url);
|
|
9
|
-
* } catch (err) {
|
|
10
|
-
* throw new SdError(err, "API 호출 실패", "사용자 로드 실패");
|
|
11
|
-
* }
|
|
12
|
-
* // 결과 메시지: "사용자 로드 실패 => API 호출 실패 => 원본 에러 메시지"
|
|
13
|
-
*
|
|
14
|
-
* @example
|
|
15
|
-
* // 메시지만으로 생성
|
|
16
|
-
* throw new SdError("잘못된 상태", "처리 불가");
|
|
17
|
-
* // 결과 메시지: "처리 불가 => 잘못된 상태"
|
|
18
4
|
*/
|
|
19
5
|
export class SdError extends Error {
|
|
20
6
|
cause;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sd-error.js","sourceRoot":"","sources":["../../src/errors/sd-error.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"sd-error.js","sourceRoot":"","sources":["../../src/errors/sd-error.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,OAAO,OAAQ,SAAQ,KAAK;IACvB,KAAK,CAAS;IAOvB,YAAY,IAAc,EAAE,GAAG,QAAkB;QAC/C,MAAM,WAAW,GACf,IAAI,YAAY,KAAK;YACnB,CAAC,CAAC,IAAI,CAAC,OAAO;YACd,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ;gBACxB,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,IAAI,IAAI,IAAI;oBACZ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;oBACd,CAAC,CAAC,SAAS,CAAC;QAEpB,MAAM,WAAW,GAAG,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC;aAC3C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC;aACxB,OAAO,EAAE;aACT,IAAI,CAAC,MAAM,CAAC,CAAC;QAEhB,MAAM,KAAK,GAAG,IAAI,YAAY,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QAEvD,KAAK,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAE9B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QAEtB,qDAAqD;QACrD,IAAI,mBAAmB,IAAI,KAAK,EAAE,CAAC;YAChC,KAA6C,CAAC,mBAAmB,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACxF,CAAC;QAED,4BAA4B;QAC5B,IAAI,KAAK,EAAE,KAAK,IAAI,IAAI,EAAE,CAAC;YACzB,IAAI,CAAC,KAAK,IAAI,4BAA4B,KAAK,CAAC,KAAK,EAAE,CAAC;QAC1D,CAAC;IACH,CAAC;CACF"}
|
|
@@ -4,22 +4,6 @@ import { SdError } from "./sd-error";
|
|
|
4
4
|
*
|
|
5
5
|
* 대기 시간이 초과되었을 때 발생하는 에러.
|
|
6
6
|
* Wait.until() 같은 비동기 대기 함수에서 최대 시도 횟수를 초과하면 자동으로 발생한다.
|
|
7
|
-
*
|
|
8
|
-
* @example
|
|
9
|
-
* // Wait.until에서 자동 발생
|
|
10
|
-
* try {
|
|
11
|
-
* await Wait.until(() => isReady, 100, 50); // 100ms 간격, 최대 50회 시도
|
|
12
|
-
* } catch (err) {
|
|
13
|
-
* if (err instanceof TimeoutError) {
|
|
14
|
-
* console.log("타임아웃 초과");
|
|
15
|
-
* }
|
|
16
|
-
* }
|
|
17
|
-
*
|
|
18
|
-
* @example
|
|
19
|
-
* // 직접 발생
|
|
20
|
-
* if (elapsed > maxTime) {
|
|
21
|
-
* throw new TimeoutError(undefined, "API 응답 대기 초과");
|
|
22
|
-
* }
|
|
23
7
|
*/
|
|
24
8
|
export declare class TimeoutError extends SdError {
|
|
25
9
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeout-error.d.ts","sourceRoot":"","sources":["../../src/errors/timeout-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC
|
|
1
|
+
{"version":3,"file":"timeout-error.d.ts","sourceRoot":"","sources":["../../src/errors/timeout-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC;;;;;GAKG;AACH,qBAAa,YAAa,SAAQ,OAAO;IACvC;;;OAGG;gBACS,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;CAQ7C"}
|
|
@@ -4,22 +4,6 @@ import { SdError } from "./sd-error.js";
|
|
|
4
4
|
*
|
|
5
5
|
* 대기 시간이 초과되었을 때 발생하는 에러.
|
|
6
6
|
* Wait.until() 같은 비동기 대기 함수에서 최대 시도 횟수를 초과하면 자동으로 발생한다.
|
|
7
|
-
*
|
|
8
|
-
* @example
|
|
9
|
-
* // Wait.until에서 자동 발생
|
|
10
|
-
* try {
|
|
11
|
-
* await Wait.until(() => isReady, 100, 50); // 100ms 간격, 최대 50회 시도
|
|
12
|
-
* } catch (err) {
|
|
13
|
-
* if (err instanceof TimeoutError) {
|
|
14
|
-
* console.log("타임아웃 초과");
|
|
15
|
-
* }
|
|
16
|
-
* }
|
|
17
|
-
*
|
|
18
|
-
* @example
|
|
19
|
-
* // 직접 발생
|
|
20
|
-
* if (elapsed > maxTime) {
|
|
21
|
-
* throw new TimeoutError(undefined, "API 응답 대기 초과");
|
|
22
|
-
* }
|
|
23
7
|
*/
|
|
24
8
|
export class TimeoutError extends SdError {
|
|
25
9
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeout-error.js","sourceRoot":"","sources":["../../src/errors/timeout-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC
|
|
1
|
+
{"version":3,"file":"timeout-error.js","sourceRoot":"","sources":["../../src/errors/timeout-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC;;;;;GAKG;AACH,MAAM,OAAO,YAAa,SAAQ,OAAO;IACvC;;;OAGG;IACH,YAAY,KAAc,EAAE,OAAgB;QAC1C,KAAK,CACH,UAAU;YACR,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAC1C,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF"}
|
|
@@ -86,30 +86,6 @@ export interface ReadonlyArrayExt<TItem> {
|
|
|
86
86
|
* - parentKey 값이 null/undefined인 항목이 루트가 됨
|
|
87
87
|
* - 내부적으로 toArrayMap을 사용하여 O(n) 복잡도
|
|
88
88
|
* - 원본 항목은 복사되고 children 속성이 추가됨
|
|
89
|
-
*
|
|
90
|
-
* @example
|
|
91
|
-
* ```typescript
|
|
92
|
-
* interface Item {
|
|
93
|
-
* id: number;
|
|
94
|
-
* parentId?: number;
|
|
95
|
-
* name: string;
|
|
96
|
-
* }
|
|
97
|
-
*
|
|
98
|
-
* const items: Item[] = [
|
|
99
|
-
* { id: 1, name: "root" },
|
|
100
|
-
* { id: 2, parentId: 1, name: "child1" },
|
|
101
|
-
* { id: 3, parentId: 1, name: "child2" },
|
|
102
|
-
* { id: 4, parentId: 2, name: "grandchild" },
|
|
103
|
-
* ];
|
|
104
|
-
*
|
|
105
|
-
* const tree = items.toTree("id", "parentId");
|
|
106
|
-
* // [{ id: 1, name: "root", children: [
|
|
107
|
-
* // { id: 2, name: "child1", children: [
|
|
108
|
-
* // { id: 4, name: "grandchild", children: [] }
|
|
109
|
-
* // ]},
|
|
110
|
-
* // { id: 3, name: "child2", children: [] }
|
|
111
|
-
* // ]}]
|
|
112
|
-
* ```
|
|
113
89
|
*/
|
|
114
90
|
toTree<K extends keyof TItem, P extends keyof TItem>(keyProp: K, parentKey: P): TreeArray<TItem>[];
|
|
115
91
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arr-ext.types.d.ts","sourceRoot":"","sources":["../../src/extensions/arr-ext.types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"arr-ext.types.d.ts","sourceRoot":"","sources":["../../src/extensions/arr-ext.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arr-ext.types.js","sourceRoot":"","sources":["../../src/extensions/arr-ext.types.ts"],"names":[],"mappings":"AAAA;;GAEG;;
|
|
1
|
+
{"version":3,"file":"arr-ext.types.js","sourceRoot":"","sources":["../../src/extensions/arr-ext.types.ts"],"names":[],"mappings":"AAAA;;GAEG;;AA8RH,YAAY"}
|
|
@@ -10,21 +10,6 @@ declare global {
|
|
|
10
10
|
* **주의**: V 타입이 함수인 경우 (예: `Map<string, () => void>`),
|
|
11
11
|
* 함수를 두 번째 인자로 직접 전달하면 팩토리로 인식되어 호출됨.
|
|
12
12
|
* 함수 자체를 값으로 저장하려면 팩토리로 감싸야 함.
|
|
13
|
-
*
|
|
14
|
-
* @example
|
|
15
|
-
* ```typescript
|
|
16
|
-
* // 일반 값
|
|
17
|
-
* map.getOrCreate("key", 0);
|
|
18
|
-
* map.getOrCreate("key", []);
|
|
19
|
-
*
|
|
20
|
-
* // 팩토리 함수 (비용이 큰 연산에 사용)
|
|
21
|
-
* map.getOrCreate("key", () => expensiveComputation());
|
|
22
|
-
*
|
|
23
|
-
* // 함수를 값으로 저장
|
|
24
|
-
* const fnMap = new Map<string, () => void>();
|
|
25
|
-
* const myFn = () => console.log("hello");
|
|
26
|
-
* fnMap.getOrCreate("key", () => myFn); // 팩토리로 감싸기
|
|
27
|
-
* ```
|
|
28
13
|
*/
|
|
29
14
|
getOrCreate(key: K, newValue: V): V;
|
|
30
15
|
getOrCreate(key: K, newValueFn: () => V): V;
|
|
@@ -37,18 +22,6 @@ declare global {
|
|
|
37
22
|
* @remarks
|
|
38
23
|
* key가 존재하지 않아도 updateFn이 호출되어 새 값이 설정됨.
|
|
39
24
|
* 기존 값 기반 계산(카운터 증가, array에 추가 등)에 유용함.
|
|
40
|
-
*
|
|
41
|
-
* @example
|
|
42
|
-
* ```typescript
|
|
43
|
-
* const countMap = new Map<string, number>();
|
|
44
|
-
*
|
|
45
|
-
* // 카운터 증가
|
|
46
|
-
* countMap.update("key", (v) => (v ?? 0) + 1);
|
|
47
|
-
*
|
|
48
|
-
* // array에 항목 추가
|
|
49
|
-
* const arrayMap = new Map<string, string[]>();
|
|
50
|
-
* arrayMap.update("key", (v) => [...(v ?? []), "item"]);
|
|
51
|
-
* ```
|
|
52
25
|
*/
|
|
53
26
|
update(key: K, updateFn: (v: V | undefined) => V): void;
|
|
54
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map-ext.d.ts","sourceRoot":"","sources":["../../src/extensions/map-ext.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,GAAG,CAAC,CAAC,EAAE,CAAC;QAChB
|
|
1
|
+
{"version":3,"file":"map-ext.d.ts","sourceRoot":"","sources":["../../src/extensions/map-ext.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,GAAG,CAAC,CAAC,EAAE,CAAC;QAChB;;;;;;;WAOG;QACH,WAAW,CAAC,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC;QACpC,WAAW,CAAC,GAAG,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;QAE5C;;;;;;;;;WASG;QACH,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,KAAK,CAAC,GAAG,IAAI,CAAC;KACzD;CACF;AA6BD,OAAO,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map-ext.js","sourceRoot":"","sources":["../../src/extensions/map-ext.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"map-ext.js","sourceRoot":"","sources":["../../src/extensions/map-ext.ts"],"names":[],"mappings":"AAAA;;GAEG;AA6BH,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"}
|
|
@@ -16,18 +16,6 @@ declare global {
|
|
|
16
16
|
*
|
|
17
17
|
* @remarks
|
|
18
18
|
* addOrDel 매개변수로 조건부 추가/제거를 간결하게 표현할 수 있음.
|
|
19
|
-
*
|
|
20
|
-
* @example
|
|
21
|
-
* ```typescript
|
|
22
|
-
* const set = new Set<number>([1, 2, 3]);
|
|
23
|
-
*
|
|
24
|
-
* set.toggle(2); // 2가 있으므로 제거 → {1, 3}
|
|
25
|
-
* set.toggle(4); // 4가 없으므로 추가 → {1, 3, 4}
|
|
26
|
-
*
|
|
27
|
-
* // 조건부 토글
|
|
28
|
-
* const isAdmin = true;
|
|
29
|
-
* set.toggle(5, isAdmin ? "add" : "del"); // 강제 추가
|
|
30
|
-
* ```
|
|
31
19
|
*/
|
|
32
20
|
toggle(value: T, addOrDel?: "add" | "del"): this;
|
|
33
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set-ext.d.ts","sourceRoot":"","sources":["../../src/extensions/set-ext.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,GAAG,CAAC,CAAC;QACb;;WAEG;QACH,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC;QAE3B
|
|
1
|
+
{"version":3,"file":"set-ext.d.ts","sourceRoot":"","sources":["../../src/extensions/set-ext.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,GAAG,CAAC,CAAC;QACb;;WAEG;QACH,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC;QAE3B;;;;;;;;;WASG;QACH,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC;KAClD;CACF;AAgCD,OAAO,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set-ext.js","sourceRoot":"","sources":["../../src/extensions/set-ext.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"set-ext.js","sourceRoot":"","sources":["../../src/extensions/set-ext.ts"],"names":[],"mappings":"AAAA;;GAEG;AAuBH,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"}
|
|
@@ -9,16 +9,6 @@
|
|
|
9
9
|
* 실행 중에 추가된 요청은 디바운스 지연 없이 현재 실행이
|
|
10
10
|
* 완료된 직후 즉시 처리됨. 이는 실행 완료 전에 도착한
|
|
11
11
|
* 요청을 놓치지 않기 위한 의도적인 설계임.
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
* const queue = new DebounceQueue(300); // 300ms 지연
|
|
15
|
-
* queue.run(() => console.log("1")); // 무시됨
|
|
16
|
-
* queue.run(() => console.log("2")); // 무시됨
|
|
17
|
-
* queue.run(() => console.log("3")); // 300ms 후 실행
|
|
18
|
-
*
|
|
19
|
-
* @example
|
|
20
|
-
* // 에러 처리
|
|
21
|
-
* queue.on("error", (err) => console.error(err));
|
|
22
12
|
*/
|
|
23
13
|
import { SdError } from "../errors/sd-error";
|
|
24
14
|
import { EventEmitter } from "./event-emitter";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debounce-queue.d.ts","sourceRoot":"","sources":["../../src/features/debounce-queue.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"debounce-queue.d.ts","sourceRoot":"","sources":["../../src/features/debounce-queue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG/C,UAAU,mBAAmB;IAC3B,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,qBAAa,aAAc,SAAQ,YAAY,CAAC,mBAAmB,CAAC;IAWtD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAVpC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAiC;IAEhE,OAAO,CAAC,UAAU,CAA2C;IAC7D,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,MAAM,CAA4C;IAE1D;;OAEG;gBAC0B,MAAM,CAAC,EAAE,MAAM,YAAA;IAI5C;;OAEG;IACM,OAAO,IAAI,IAAI;IAUxB;;;OAGG;IACH,GAAG,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;YAiB3B,YAAY;CA+B3B"}
|
|
@@ -9,16 +9,6 @@
|
|
|
9
9
|
* 실행 중에 추가된 요청은 디바운스 지연 없이 현재 실행이
|
|
10
10
|
* 완료된 직후 즉시 처리됨. 이는 실행 완료 전에 도착한
|
|
11
11
|
* 요청을 놓치지 않기 위한 의도적인 설계임.
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
* const queue = new DebounceQueue(300); // 300ms 지연
|
|
15
|
-
* queue.run(() => console.log("1")); // 무시됨
|
|
16
|
-
* queue.run(() => console.log("2")); // 무시됨
|
|
17
|
-
* queue.run(() => console.log("3")); // 300ms 후 실행
|
|
18
|
-
*
|
|
19
|
-
* @example
|
|
20
|
-
* // 에러 처리
|
|
21
|
-
* queue.on("error", (err) => console.error(err));
|
|
22
12
|
*/
|
|
23
13
|
import { SdError } from "../errors/sd-error.js";
|
|
24
14
|
import { EventEmitter } from "./event-emitter.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debounce-queue.js","sourceRoot":"","sources":["../../src/features/debounce-queue.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"debounce-queue.js","sourceRoot":"","sources":["../../src/features/debounce-queue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAMxC,MAAM,OAAO,aAAc,SAAQ,YAAiC;IAWrC;IAVrB,MAAM,CAAU,OAAO,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC;IAExD,UAAU,CAA2C;IACrD,UAAU,GAAG,KAAK,CAAC;IACnB,WAAW,GAAG,KAAK,CAAC;IACpB,MAAM,CAA4C;IAE1D;;OAEG;IACH,YAA6B,MAAe;QAC1C,KAAK,EAAE,CAAC;QADmB,WAAM,GAAN,MAAM,CAAS;IAE5C,CAAC;IAED;;OAEG;IACM,OAAO;QACd,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;YACxB,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,KAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC;IAED;;;OAGG;IACH,GAAG,CAAC,EAA8B;QAChC,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO;QAE7B,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QAErB,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;YACxB,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QAC1B,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;YAC3B,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,YAAY;QACxB,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO;QAEpE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QAExB,IAAI,CAAC;YACH,oCAAoC;YACpC,4CAA4C;YAC5C,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;gBACvB,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;gBAClC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;gBAE5B,IAAI,CAAC;oBACH,MAAM,SAAS,EAAE,CAAC;gBACpB,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;oBAClE,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;oBAEpD,8BAA8B;oBAC9B,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;wBACpC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;oBAC9B,CAAC;yBAAM,CAAC;wBACN,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBACvC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QAC1B,CAAC;IACH,CAAC"}
|
|
@@ -5,20 +5,6 @@
|
|
|
5
5
|
* 내부적으로 EventTarget을 사용하여 구현됨.
|
|
6
6
|
*
|
|
7
7
|
* @typeParam TEvents 이벤트 타입 맵. key는 이벤트 이름, value는 이벤트 데이터 타입
|
|
8
|
-
*
|
|
9
|
-
* @example
|
|
10
|
-
* interface MyEvents {
|
|
11
|
-
* data: string;
|
|
12
|
-
* error: Error;
|
|
13
|
-
* done: void;
|
|
14
|
-
* }
|
|
15
|
-
*
|
|
16
|
-
* class MyEmitter extends EventEmitter<MyEvents> {}
|
|
17
|
-
*
|
|
18
|
-
* const emitter = new MyEmitter();
|
|
19
|
-
* emitter.on("data", (data) => console.log(data)); // data: string
|
|
20
|
-
* emitter.emit("data", "hello");
|
|
21
|
-
* emitter.emit("done"); // void 타입은 인자 없이 호출
|
|
22
8
|
*/
|
|
23
9
|
export declare class EventEmitter<TEvents extends {
|
|
24
10
|
[K in keyof TEvents]: unknown;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-emitter.d.ts","sourceRoot":"","sources":["../../src/features/event-emitter.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"event-emitter.d.ts","sourceRoot":"","sources":["../../src/features/event-emitter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,qBAAa,YAAY,CACvB,OAAO,SAAS;KAAG,CAAC,IAAI,MAAM,OAAO,GAAG,OAAO;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAE3E,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAG7C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAwD;IAErF;;;;;;OAMG;IACH,EAAE,CAAC,UAAU,SAAS,MAAM,OAAO,GAAG,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,IAAI,GAAG,IAAI;IAgBpH;;;;;OAKG;IACH,GAAG,CAAC,UAAU,SAAS,MAAM,OAAO,GAAG,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,IAAI,GAAG,IAAI;IAgBrH;;;;;OAKG;IACH,IAAI,CAAC,UAAU,SAAS,MAAM,OAAO,GAAG,MAAM,EAC5C,IAAI,EAAE,UAAU,EAChB,GAAG,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,SAAS,IAAI,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,GAC3E,IAAI;IAIP;;;;;OAKG;IACH,aAAa,CAAC,UAAU,SAAS,MAAM,OAAO,GAAG,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,MAAM;IAIlF;;OAEG;IACH,OAAO,IAAI,IAAI;CAQhB"}
|
|
@@ -5,20 +5,6 @@
|
|
|
5
5
|
* 내부적으로 EventTarget을 사용하여 구현됨.
|
|
6
6
|
*
|
|
7
7
|
* @typeParam TEvents 이벤트 타입 맵. key는 이벤트 이름, value는 이벤트 데이터 타입
|
|
8
|
-
*
|
|
9
|
-
* @example
|
|
10
|
-
* interface MyEvents {
|
|
11
|
-
* data: string;
|
|
12
|
-
* error: Error;
|
|
13
|
-
* done: void;
|
|
14
|
-
* }
|
|
15
|
-
*
|
|
16
|
-
* class MyEmitter extends EventEmitter<MyEvents> {}
|
|
17
|
-
*
|
|
18
|
-
* const emitter = new MyEmitter();
|
|
19
|
-
* emitter.on("data", (data) => console.log(data)); // data: string
|
|
20
|
-
* emitter.emit("data", "hello");
|
|
21
|
-
* emitter.emit("done"); // void 타입은 인자 없이 호출
|
|
22
8
|
*/
|
|
23
9
|
export class EventEmitter {
|
|
24
10
|
_target = new EventTarget();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-emitter.js","sourceRoot":"","sources":["../../src/features/event-emitter.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"event-emitter.js","sourceRoot":"","sources":["../../src/features/event-emitter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,OAAO,YAAY;IAGN,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAC7C,2CAA2C;IAC3C,gCAAgC;IACf,YAAY,GAAG,IAAI,GAAG,EAA6C,CAAC;IAErF;;;;;;OAMG;IACH,EAAE,CAA4C,IAAgB,EAAE,QAA6C;QAC3G,wBAAwB;QACxB,IAAI,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;YACpB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACvC,CAAC;QAED,oCAAoC;QACpC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAO;QAElC,MAAM,eAAe,GAAG,CAAC,CAAQ,EAAE,EAAE,CAAC,QAAQ,CAAE,CAAiB,CAAC,MAAM,CAAC,CAAC;QAC1E,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IACvD,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAA4C,IAAgB,EAAE,QAA6C;QAC5G,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;YACxD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAEzB,SAAS;YACT,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,IAAI,CACF,IAAgB,EAChB,GAAG,IAAyE;QAE5E,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzE,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAA4C,IAAgB;QACvE,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,OAAO;QACL,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAChD,KAAK,MAAM,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC/C,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;CACF"}
|
|
@@ -4,16 +4,6 @@
|
|
|
4
4
|
* 큐에 추가된 함수들은 순차적으로 실행됨.
|
|
5
5
|
* 하나의 작업이 완료된 후에야 다음 작업이 시작됨.
|
|
6
6
|
* 에러가 발생해도 후속 작업은 계속 실행됨.
|
|
7
|
-
*
|
|
8
|
-
* @example
|
|
9
|
-
* const queue = new SerialQueue();
|
|
10
|
-
* queue.run(async () => { await fetch("/api/1"); });
|
|
11
|
-
* queue.run(async () => { await fetch("/api/2"); }); // 1 완료 후 실행
|
|
12
|
-
* queue.run(async () => { await fetch("/api/3"); }); // 2 완료 후 실행
|
|
13
|
-
*
|
|
14
|
-
* @example
|
|
15
|
-
* // 에러 처리
|
|
16
|
-
* queue.on("error", (err) => console.error(err));
|
|
17
7
|
*/
|
|
18
8
|
import { SdError } from "../errors/sd-error";
|
|
19
9
|
import { EventEmitter } from "./event-emitter";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serial-queue.d.ts","sourceRoot":"","sources":["../../src/features/serial-queue.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"serial-queue.d.ts","sourceRoot":"","sources":["../../src/features/serial-queue.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAI/C,UAAU,iBAAiB;IACzB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,qBAAa,WAAY,SAAQ,YAAY,CAAC,iBAAiB,CAAC;IASlD,OAAO,CAAC,QAAQ,CAAC,IAAI;IARjC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAA+B;IAE9D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsC;IAC7D,OAAO,CAAC,eAAe,CAAS;IAEhC;;OAEG;gBAC0B,IAAI,GAAE,MAAU;IAI7C;;OAEG;IACM,OAAO,IAAI,IAAI;IAKxB;;OAEG;IACH,GAAG,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;YAK3B,QAAQ;CA+BvB"}
|
|
@@ -4,16 +4,6 @@
|
|
|
4
4
|
* 큐에 추가된 함수들은 순차적으로 실행됨.
|
|
5
5
|
* 하나의 작업이 완료된 후에야 다음 작업이 시작됨.
|
|
6
6
|
* 에러가 발생해도 후속 작업은 계속 실행됨.
|
|
7
|
-
*
|
|
8
|
-
* @example
|
|
9
|
-
* const queue = new SerialQueue();
|
|
10
|
-
* queue.run(async () => { await fetch("/api/1"); });
|
|
11
|
-
* queue.run(async () => { await fetch("/api/2"); }); // 1 완료 후 실행
|
|
12
|
-
* queue.run(async () => { await fetch("/api/3"); }); // 2 완료 후 실행
|
|
13
|
-
*
|
|
14
|
-
* @example
|
|
15
|
-
* // 에러 처리
|
|
16
|
-
* queue.on("error", (err) => console.error(err));
|
|
17
7
|
*/
|
|
18
8
|
import { SdError } from "../errors/sd-error.js";
|
|
19
9
|
import { EventEmitter } from "./event-emitter.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serial-queue.js","sourceRoot":"","sources":["../../src/features/serial-queue.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"serial-queue.js","sourceRoot":"","sources":["../../src/features/serial-queue.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAMrC,MAAM,OAAO,WAAY,SAAQ,YAA+B;IASjC;IARrB,MAAM,CAAU,OAAO,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;IAE7C,MAAM,GAAmC,EAAE,CAAC;IACrD,eAAe,GAAG,KAAK,CAAC;IAEhC;;OAEG;IACH,YAA6B,OAAe,CAAC;QAC3C,KAAK,EAAE,CAAC;QADmB,SAAI,GAAJ,IAAI,CAAY;IAE7C,CAAC;IAED;;OAEG;IACM,OAAO;QACd,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QACvB,KAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,EAA8B;QAChC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrB,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;IACvB,CAAC;IAEO,KAAK,CAAC,QAAQ;QACpB,IAAI,IAAI,CAAC,eAAe;YAAE,OAAO;QACjC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAE5B,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBAC/B,IAAI,CAAC,EAAE;oBAAE,MAAM;gBAEf,IAAI,CAAC;oBACH,MAAM,EAAE,EAAE,CAAC;gBACb,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;oBAClE,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;oBAEtD,8BAA8B;oBAC9B,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;wBACpC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;oBAC9B,CAAC;yBAAM,CAAC;wBACN,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBACrC,CAAC;gBACH,CAAC;gBAED,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5C,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACxB,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC/B,CAAC;IACH,CAAC"}
|