@simplysm/core-node 13.0.0-beta.19 → 13.0.0-beta.20

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.
Files changed (88) hide show
  1. package/dist/features/fs-watcher.d.ts.map +1 -0
  2. package/dist/index.d.ts.map +1 -0
  3. package/dist/utils/fs.d.ts.map +1 -0
  4. package/dist/utils/path.d.ts.map +1 -0
  5. package/dist/worker/create-worker.d.ts.map +1 -0
  6. package/dist/worker/types.d.ts.map +1 -0
  7. package/dist/worker/worker.d.ts.map +1 -0
  8. package/package.json +2 -2
  9. package/dist/core-common/src/common.types.d.ts +0 -74
  10. package/dist/core-common/src/common.types.d.ts.map +0 -1
  11. package/dist/core-common/src/env.d.ts +0 -6
  12. package/dist/core-common/src/env.d.ts.map +0 -1
  13. package/dist/core-common/src/errors/argument-error.d.ts +0 -25
  14. package/dist/core-common/src/errors/argument-error.d.ts.map +0 -1
  15. package/dist/core-common/src/errors/not-implemented-error.d.ts +0 -29
  16. package/dist/core-common/src/errors/not-implemented-error.d.ts.map +0 -1
  17. package/dist/core-common/src/errors/sd-error.d.ts +0 -27
  18. package/dist/core-common/src/errors/sd-error.d.ts.map +0 -1
  19. package/dist/core-common/src/errors/timeout-error.d.ts +0 -31
  20. package/dist/core-common/src/errors/timeout-error.d.ts.map +0 -1
  21. package/dist/core-common/src/extensions/arr-ext.d.ts +0 -15
  22. package/dist/core-common/src/extensions/arr-ext.d.ts.map +0 -1
  23. package/dist/core-common/src/extensions/arr-ext.helpers.d.ts +0 -19
  24. package/dist/core-common/src/extensions/arr-ext.helpers.d.ts.map +0 -1
  25. package/dist/core-common/src/extensions/arr-ext.types.d.ts +0 -215
  26. package/dist/core-common/src/extensions/arr-ext.types.d.ts.map +0 -1
  27. package/dist/core-common/src/extensions/map-ext.d.ts +0 -57
  28. package/dist/core-common/src/extensions/map-ext.d.ts.map +0 -1
  29. package/dist/core-common/src/extensions/set-ext.d.ts +0 -36
  30. package/dist/core-common/src/extensions/set-ext.d.ts.map +0 -1
  31. package/dist/core-common/src/features/debounce-queue.d.ts +0 -53
  32. package/dist/core-common/src/features/debounce-queue.d.ts.map +0 -1
  33. package/dist/core-common/src/features/event-emitter.d.ts +0 -66
  34. package/dist/core-common/src/features/event-emitter.d.ts.map +0 -1
  35. package/dist/core-common/src/features/serial-queue.d.ts +0 -47
  36. package/dist/core-common/src/features/serial-queue.d.ts.map +0 -1
  37. package/dist/core-common/src/index.d.ts +0 -32
  38. package/dist/core-common/src/index.d.ts.map +0 -1
  39. package/dist/core-common/src/types/date-only.d.ts +0 -152
  40. package/dist/core-common/src/types/date-only.d.ts.map +0 -1
  41. package/dist/core-common/src/types/date-time.d.ts +0 -96
  42. package/dist/core-common/src/types/date-time.d.ts.map +0 -1
  43. package/dist/core-common/src/types/lazy-gc-map.d.ts +0 -80
  44. package/dist/core-common/src/types/lazy-gc-map.d.ts.map +0 -1
  45. package/dist/core-common/src/types/time.d.ts +0 -68
  46. package/dist/core-common/src/types/time.d.ts.map +0 -1
  47. package/dist/core-common/src/types/uuid.d.ts +0 -35
  48. package/dist/core-common/src/types/uuid.d.ts.map +0 -1
  49. package/dist/core-common/src/utils/bytes.d.ts +0 -51
  50. package/dist/core-common/src/utils/bytes.d.ts.map +0 -1
  51. package/dist/core-common/src/utils/date-format.d.ts +0 -90
  52. package/dist/core-common/src/utils/date-format.d.ts.map +0 -1
  53. package/dist/core-common/src/utils/json.d.ts +0 -34
  54. package/dist/core-common/src/utils/json.d.ts.map +0 -1
  55. package/dist/core-common/src/utils/num.d.ts +0 -60
  56. package/dist/core-common/src/utils/num.d.ts.map +0 -1
  57. package/dist/core-common/src/utils/obj.d.ts +0 -258
  58. package/dist/core-common/src/utils/obj.d.ts.map +0 -1
  59. package/dist/core-common/src/utils/path.d.ts +0 -23
  60. package/dist/core-common/src/utils/path.d.ts.map +0 -1
  61. package/dist/core-common/src/utils/primitive.d.ts +0 -18
  62. package/dist/core-common/src/utils/primitive.d.ts.map +0 -1
  63. package/dist/core-common/src/utils/str.d.ts +0 -103
  64. package/dist/core-common/src/utils/str.d.ts.map +0 -1
  65. package/dist/core-common/src/utils/template-strings.d.ts +0 -84
  66. package/dist/core-common/src/utils/template-strings.d.ts.map +0 -1
  67. package/dist/core-common/src/utils/transferable.d.ts +0 -47
  68. package/dist/core-common/src/utils/transferable.d.ts.map +0 -1
  69. package/dist/core-common/src/utils/wait.d.ts +0 -19
  70. package/dist/core-common/src/utils/wait.d.ts.map +0 -1
  71. package/dist/core-common/src/utils/xml.d.ts +0 -36
  72. package/dist/core-common/src/utils/xml.d.ts.map +0 -1
  73. package/dist/core-common/src/zip/sd-zip.d.ts +0 -80
  74. package/dist/core-common/src/zip/sd-zip.d.ts.map +0 -1
  75. package/dist/core-node/src/features/fs-watcher.d.ts.map +0 -1
  76. package/dist/core-node/src/index.d.ts.map +0 -1
  77. package/dist/core-node/src/utils/fs.d.ts.map +0 -1
  78. package/dist/core-node/src/utils/path.d.ts.map +0 -1
  79. package/dist/core-node/src/worker/create-worker.d.ts.map +0 -1
  80. package/dist/core-node/src/worker/types.d.ts.map +0 -1
  81. package/dist/core-node/src/worker/worker.d.ts.map +0 -1
  82. /package/dist/{core-node/src/features → features}/fs-watcher.d.ts +0 -0
  83. /package/dist/{core-node/src/index.d.ts → index.d.ts} +0 -0
  84. /package/dist/{core-node/src/utils → utils}/fs.d.ts +0 -0
  85. /package/dist/{core-node/src/utils → utils}/path.d.ts +0 -0
  86. /package/dist/{core-node/src/worker → worker}/create-worker.d.ts +0 -0
  87. /package/dist/{core-node/src/worker → worker}/types.d.ts +0 -0
  88. /package/dist/{core-node/src/worker → worker}/worker.d.ts +0 -0
@@ -1,36 +0,0 @@
1
- /**
2
- * Set 확장 메서드
3
- */
4
- declare global {
5
- interface Set<T> {
6
- /**
7
- * 여러 값을 한 번에 추가
8
- */
9
- adds(...values: T[]): this;
10
- /**
11
- * 값을 토글한다 (있으면 제거, 없으면 추가)
12
- *
13
- * @param value 토글할 값
14
- * @param addOrDel 강제로 추가("add") 또는 제거("del") 지정 (생략 시 자동 토글)
15
- * @returns this (메서드 체이닝 가능)
16
- *
17
- * @remarks
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
- */
32
- toggle(value: T, addOrDel?: "add" | "del"): this;
33
- }
34
- }
35
- export {};
36
- //# sourceMappingURL=set-ext.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"set-ext.d.ts","sourceRoot":"","sources":["../../../../../core-common/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;;;;;;;;;;;;;;;;;;;;;WAqBG;QACH,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC;KAClD;CACF;AAgCD,OAAO,EAAE,CAAC"}
@@ -1,53 +0,0 @@
1
- /**
2
- * 비동기 함수 디바운스 큐
3
- *
4
- * 짧은 시간 내에 여러 번 호출되면 마지막 요청만 실행하고 이전 요청은 무시합니다.
5
- * 입력 필드 자동완성, 연속적인 상태 변경 배치 처리 등에 유용합니다.
6
- *
7
- * @remarks
8
- * 실행 중에 추가된 요청은 디바운스 지연 없이 현재 실행이 완료된 직후 처리됩니다.
9
- * 이는 실행 완료 전에 들어온 요청이 누락되지 않도록 하기 위한 의도적 설계입니다.
10
- *
11
- * @example
12
- * const queue = new DebounceQueue(300); // 300ms 딜레이
13
- * queue.run(() => console.log("1")); // 무시됨
14
- * queue.run(() => console.log("2")); // 무시됨
15
- * queue.run(() => console.log("3")); // 300ms 후 실행됨
16
- *
17
- * @example
18
- * // 에러 처리
19
- * queue.on("error", (err) => console.error(err));
20
- */
21
- import { SdError } from "../errors/sd-error";
22
- import { EventEmitter } from "./event-emitter";
23
- interface DebounceQueueEvents {
24
- error: SdError;
25
- }
26
- export declare class DebounceQueue extends EventEmitter<DebounceQueueEvents> {
27
- private readonly _delay?;
28
- private static readonly _logger;
29
- private _pendingFn;
30
- private _isRunning;
31
- private _isDisposed;
32
- private _timer;
33
- /**
34
- * @param _delay 디바운스 지연 시간 (밀리초). 생략 시 즉시 실행 (다음 이벤트 루프)
35
- */
36
- constructor(_delay?: number | undefined);
37
- /**
38
- * 대기 중인 작업과 타이머 정리
39
- */
40
- dispose(): void;
41
- /**
42
- * using 문 지원
43
- */
44
- [Symbol.dispose](): void;
45
- /**
46
- * 함수를 큐에 추가
47
- * 이전에 추가된 함수가 있으면 대체됨
48
- */
49
- run(fn: () => void | Promise<void>): void;
50
- private _processLast;
51
- }
52
- export {};
53
- //# sourceMappingURL=debounce-queue.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"debounce-queue.d.ts","sourceRoot":"","sources":["../../../../../core-common/src/features/debounce-queue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;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,CAA4C;IAE3E,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;;OAEG;IACM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI;IAIjC;;;OAGG;IACH,GAAG,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;YAiB3B,YAAY;CA+B3B"}
@@ -1,66 +0,0 @@
1
- /**
2
- * EventTarget 래퍼 - EventEmitter와 유사한 API 제공
3
- *
4
- * 브라우저와 Node.js 모두에서 사용 가능한 타입 안전한 이벤트 에미터이다.
5
- * 내부적으로 EventTarget을 사용하여 구현되어 있다.
6
- *
7
- * @typeParam T 이벤트 타입 맵. 키는 이벤트 이름, 값은 이벤트 데이터 타입
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
- */
23
- export declare class EventEmitter<T extends {
24
- [K in keyof T]: unknown;
25
- } = Record<string, unknown>> {
26
- private readonly _target;
27
- private readonly _listenerMap;
28
- /**
29
- * 이벤트 리스너 등록
30
- *
31
- * @param type 이벤트 타입
32
- * @param listener 이벤트 핸들러
33
- * @note 같은 리스너를 같은 이벤트에 중복 등록하면 무시됨
34
- */
35
- on<K extends keyof T & string>(type: K, listener: (data: T[K]) => void): void;
36
- /**
37
- * 이벤트 리스너 제거
38
- *
39
- * @param type 이벤트 타입
40
- * @param listener 제거할 이벤트 핸들러
41
- */
42
- off<K extends keyof T & string>(type: K, listener: (data: T[K]) => void): void;
43
- /**
44
- * 이벤트 발생
45
- *
46
- * @param type 이벤트 타입
47
- * @param args 이벤트 데이터 (void 타입이면 생략)
48
- */
49
- emit<K extends keyof T & string>(type: K, ...args: T[K] extends void ? [] : [data: T[K]]): void;
50
- /**
51
- * 특정 이벤트의 리스너 수 반환
52
- *
53
- * @param type 이벤트 타입
54
- * @returns 등록된 리스너 수
55
- */
56
- listenerCount<K extends keyof T & string>(type: K): number;
57
- /**
58
- * 모든 이벤트 리스너를 제거한다.
59
- */
60
- dispose(): void;
61
- /**
62
- * using 문 지원
63
- */
64
- [Symbol.dispose](): void;
65
- }
66
- //# sourceMappingURL=event-emitter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"event-emitter.d.ts","sourceRoot":"","sources":["../../../../../core-common/src/features/event-emitter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,YAAY,CAAC,CAAC,SAAS;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,OAAO;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACvF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAG7C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAwD;IAErF;;;;;;OAMG;IACH,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI;IAgB7E;;;;;OAKG;IACH,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI;IAgB9E;;;;;OAKG;IACH,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;IAI/F;;;;;OAKG;IACH,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,MAAM;IAI1D;;OAEG;IACH,OAAO,IAAI,IAAI;IASf;;OAEG;IACH,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI;CAGzB"}
@@ -1,47 +0,0 @@
1
- /**
2
- * 비동기 함수 직렬 큐
3
- *
4
- * 큐에 추가된 함수들을 순서대로 실행합니다.
5
- * 한 작업이 완료되어야 다음 작업이 시작됩니다.
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
- */
18
- import { SdError } from "../errors/sd-error";
19
- import { EventEmitter } from "./event-emitter";
20
- interface SerialQueueEvents {
21
- error: SdError;
22
- }
23
- export declare class SerialQueue extends EventEmitter<SerialQueueEvents> {
24
- private readonly _gap;
25
- private static readonly _logger;
26
- private readonly _queue;
27
- private _isQueueRunning;
28
- /**
29
- * @param _gap 각 작업 사이의 간격 (ms)
30
- */
31
- constructor(_gap?: number);
32
- /**
33
- * 대기 중인 큐 비우기 (현재 실행 중인 작업은 완료됨)
34
- */
35
- dispose(): void;
36
- /**
37
- * using 문 지원
38
- */
39
- [Symbol.dispose](): void;
40
- /**
41
- * 함수를 큐에 추가하고 실행
42
- */
43
- run(fn: () => void | Promise<void>): void;
44
- private _process;
45
- }
46
- export {};
47
- //# sourceMappingURL=serial-queue.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"serial-queue.d.ts","sourceRoot":"","sources":["../../../../../core-common/src/features/serial-queue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;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,CAA0C;IAEzE,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;IACM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI;IAIjC;;OAEG;IACH,GAAG,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;YAK3B,QAAQ;CA+BvB"}
@@ -1,32 +0,0 @@
1
- import "./extensions/arr-ext";
2
- import "./extensions/set-ext";
3
- import "./extensions/map-ext";
4
- export * from "./env";
5
- export type { ArrayDiffsResult, ArrayDiffs2Result, TreeArray } from "./extensions/arr-ext";
6
- export * from "./errors/sd-error";
7
- export * from "./errors/argument-error";
8
- export * from "./errors/not-implemented-error";
9
- export * from "./errors/timeout-error";
10
- export * from "./types/uuid";
11
- export * from "./types/lazy-gc-map";
12
- export * from "./types/date-time";
13
- export * from "./types/date-only";
14
- export * from "./types/time";
15
- export * from "./features/debounce-queue";
16
- export * from "./features/serial-queue";
17
- export * from "./features/event-emitter";
18
- export * from "./utils/date-format";
19
- export * from "./utils/bytes";
20
- export * from "./utils/json";
21
- export * from "./utils/num";
22
- export * from "./utils/obj";
23
- export * from "./utils/primitive";
24
- export * from "./utils/str";
25
- export * from "./utils/template-strings";
26
- export * from "./utils/transferable";
27
- export * from "./utils/wait";
28
- export * from "./utils/xml";
29
- export * from "./utils/path";
30
- export * from "./zip/sd-zip";
31
- export * from "./common.types";
32
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../core-common/src/index.ts"],"names":[],"mappings":"AAGA,OAAO,sBAAsB,CAAC;AAC9B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,sBAAsB,CAAC;AAE9B,cAAc,OAAO,CAAC;AAGtB,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAG3F,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AAIvC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAI7B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AAIzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAI7B,cAAc,cAAc,CAAC;AAI7B,cAAc,gBAAgB,CAAC"}
@@ -1,152 +0,0 @@
1
- /**
2
- * 날짜 클래스 (시간제외: yyyy-MM-dd, 불변)
3
- *
4
- * 시간 정보 없이 날짜만 저장하는 불변 클래스이다.
5
- * 로컬 타임존을 기준으로 동작한다.
6
- *
7
- * @example
8
- * const today = new DateOnly();
9
- * const specific = new DateOnly(2025, 1, 15);
10
- * const parsed = DateOnly.parse("2025-01-15");
11
- */
12
- export declare class DateOnly {
13
- private static readonly MS_PER_DAY;
14
- readonly date: Date;
15
- /** 현재시간 */
16
- constructor();
17
- /** 연월일로 초기화 */
18
- constructor(year: number, month: number, day: number);
19
- /** tick (millisecond)으로 생성 */
20
- constructor(tick: number);
21
- /** Date 타입으로 생성 */
22
- constructor(date: Date);
23
- /**
24
- * 문자열을 DateOnly로 파싱
25
- * @param str 날짜 문자열
26
- * @returns DateOnly 인스턴스
27
- *
28
- * 지원 형식:
29
- * - `yyyy-MM-dd` (예: '2024-01-15') - 문자열에서 직접 추출, 타임존 영향 없음
30
- * - `yyyyMMdd` (예: '20240115') - 문자열에서 직접 추출, 타임존 영향 없음
31
- * - ISO 8601 (예: '2024-01-15T00:00:00Z') - UTC로 해석 후 로컬 타임존 변환
32
- *
33
- * @note 서버/클라이언트 타임존이 다른 경우 `yyyy-MM-dd` 형식 사용 권장
34
- * @note DST(일광절약시간) 지역에서 ISO 8601 형식 파싱 시, 파싱 대상 날짜의 오프셋을 사용합니다.
35
- */
36
- static parse(str: string): DateOnly;
37
- /**
38
- * 기준 연도와 월을 주차 정보를 기반으로 반환
39
- * @param weekStartDay 주의 시작 요일 (0=일요일, 1=월요일, ..., 6=토요일). 기본값: 1(월요일)
40
- * @param minDaysInFirstWeek 첫 주로 간주할 최소 일수 (1~7). 기본값: 4 (ISO 8601 표준)
41
- * @returns 해당 날짜가 속한 주차의 기준 연도와 월
42
- *
43
- * @example
44
- * // ISO 8601 표준 (월요일 시작, 첫 주 최소 4일)
45
- * new DateOnly(2024, 1, 1).getBaseYearMonthSeqForWeekSeq(1, 4)
46
- * // 미국식 (일요일 시작, 첫 주 최소 1일)
47
- * new DateOnly(2024, 1, 1).getBaseYearMonthSeqForWeekSeq(0, 1)
48
- */
49
- getBaseYearMonthSeqForWeekSeq(weekStartDay?: number, minDaysInFirstWeek?: number): {
50
- year: number;
51
- monthSeq: number;
52
- };
53
- /**
54
- * 주차 정보를 기반으로 해당 주의 시작 날짜 계산
55
- * @param weekStartDay 주의 시작 요일 (0=일요일, 1=월요일, ..., 6=토요일). 기본값: 1(월요일)
56
- * @param minDaysInFirstWeek 첫 주로 간주할 최소 일수 (1~7). 기본값: 4 (ISO 8601 표준)
57
- * @returns 해당 날짜가 속한 주의 시작 날짜
58
- */
59
- getWeekSeqStartDate(weekStartDay?: number, minDaysInFirstWeek?: number): DateOnly;
60
- /**
61
- * 연도 및 주차 순서 정보를 반환
62
- * @param weekStartDay 주의 시작 요일 (0=일요일, 1=월요일, ..., 6=토요일). 기본값: 1(월요일)
63
- * @param minDaysInFirstWeek 첫 주로 간주할 최소 일수 (1~7). 기본값: 4 (ISO 8601 표준)
64
- * @returns 연도와 해당 연도 기준 주차 번호
65
- *
66
- * @example
67
- * // ISO 8601 표준 (월요일 시작, 첫 주 4일 이상)
68
- * new DateOnly(2025, 1, 6).getWeekSeqOfYear(); // { year: 2025, weekSeq: 2 }
69
- *
70
- * // 미국식 (일요일 시작, 첫 주 1일 이상)
71
- * new DateOnly(2025, 1, 1).getWeekSeqOfYear(0, 1); // { year: 2025, weekSeq: 1 }
72
- */
73
- getWeekSeqOfYear(weekStartDay?: number, minDaysInFirstWeek?: number): {
74
- year: number;
75
- weekSeq: number;
76
- };
77
- /**
78
- * 해당 날짜의 연도, 월 및 주차(weekSeq) 정보를 반환
79
- * @param weekStartDay 주의 시작 요일 (0=일요일, 1=월요일, ..., 6=토요일). 기본값: 1(월요일)
80
- * @param minDaysInFirstWeek 첫 주로 간주할 최소 일수 (1~7). 기본값: 4 (ISO 8601 표준)
81
- * @returns 연도, 월 및 해당 월 기준 주차 번호
82
- *
83
- * @example
84
- * // ISO 8601 표준 (월요일 시작, 첫 주 4일 이상)
85
- * new DateOnly(2025, 1, 15).getWeekSeqOfMonth(); // { year: 2025, monthSeq: 1, weekSeq: 3 }
86
- *
87
- * // 미국식 (일요일 시작, 첫 주 1일 이상)
88
- * new DateOnly(2025, 1, 15).getWeekSeqOfMonth(0, 1); // { year: 2025, monthSeq: 1, weekSeq: 3 }
89
- */
90
- getWeekSeqOfMonth(weekStartDay?: number, minDaysInFirstWeek?: number): {
91
- year: number;
92
- monthSeq: number;
93
- weekSeq: number;
94
- };
95
- /**
96
- * 주차 정보를 기반으로 해당 주의 시작 날짜 가져오기
97
- * @param arg 연도, 선택적 월, 주차 번호
98
- * @param weekStartDay 주의 시작 요일 (0=일요일, 1=월요일, ..., 6=토요일). 기본값: 1(월요일)
99
- * @param minDaysInFirstWeek 첫 주로 간주할 최소 일수 (1~7). 기본값: 4 (ISO 8601 표준)
100
- * @returns 해당 주차의 시작 날짜
101
- *
102
- * @example
103
- * // 2025년 2주차의 시작일 (ISO 8601 표준)
104
- * DateOnly.getDateByYearWeekSeq({ year: 2025, weekSeq: 2 }); // 2025-01-06 (월요일)
105
- *
106
- * // 2025년 1월 3주차의 시작일
107
- * DateOnly.getDateByYearWeekSeq({ year: 2025, month: 1, weekSeq: 3 }); // 2025-01-13 (월요일)
108
- */
109
- static getDateByYearWeekSeq(arg: {
110
- year: number;
111
- month?: number;
112
- weekSeq: number;
113
- }, weekStartDay?: number, minDaysInFirstWeek?: number): DateOnly;
114
- /** 날짜 세팅이 제대로 되었는지 여부 */
115
- get isValid(): boolean;
116
- get year(): number;
117
- get month(): number;
118
- get day(): number;
119
- get tick(): number;
120
- /** 요일 (일~토: 0~6) */
121
- get dayOfWeek(): number;
122
- /** 지정된 연도로 새 인스턴스 반환 */
123
- setYear(year: number): DateOnly;
124
- /**
125
- * 지정된 월로 새 DateOnly 인스턴스를 반환
126
- * @param month 설정할 월 (1-12, 범위 외 값은 연도 조정)
127
- * @note 대상 월의 일수보다 현재 일자가 크면 해당 월의 마지막 날로 조정됨
128
- * (예: 1월 31일에서 setMonth(2) → 2월 28일 또는 29일)
129
- */
130
- setMonth(month: number): DateOnly;
131
- /**
132
- * 지정된 일자로 새 DateOnly 인스턴스를 반환
133
- * @param day 설정할 일자
134
- * @note 해당 월의 유효 범위를 벗어나는 일자는 JavaScript Date 기본 동작에 따라
135
- * 자동으로 다음/이전 달로 조정됨 (예: 1월에 day=32 → 2월 1일)
136
- */
137
- setDay(day: number): DateOnly;
138
- /** 지정된 연수를 더한 새 인스턴스 반환 */
139
- addYears(years: number): DateOnly;
140
- /** 지정된 월수를 더한 새 인스턴스 반환 */
141
- addMonths(months: number): DateOnly;
142
- /** 지정된 일수를 더한 새 인스턴스 반환 */
143
- addDays(days: number): DateOnly;
144
- /**
145
- * 지정된 포맷으로 문자열 변환
146
- * @param format 포맷 문자열
147
- * @see dtFormat 지원 포맷 문자열 참조
148
- */
149
- toFormatString(formatStr: string): string;
150
- toString(): string;
151
- }
152
- //# sourceMappingURL=date-only.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"date-only.d.ts","sourceRoot":"","sources":["../../../../../core-common/src/types/date-only.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;GAUG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAuB;IAEzD,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAEpB,WAAW;;IAEX,eAAe;gBACH,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IACpD,8BAA8B;gBAClB,IAAI,EAAE,MAAM;IACxB,mBAAmB;gBACP,IAAI,EAAE,IAAI;IAiBtB;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ;IAiCnC;;;;;;;;;;;OAWG;IACH,6BAA6B,CAAC,YAAY,GAAE,MAAU,EAAE,kBAAkB,GAAE,MAAU;;;;IA2BtF;;;;;OAKG;IACH,mBAAmB,CAAC,YAAY,GAAE,MAAU,EAAE,kBAAkB,GAAE,MAAU;IAW5E;;;;;;;;;;;;OAYG;IACH,gBAAgB,CAAC,YAAY,GAAE,MAAU,EAAE,kBAAkB,GAAE,MAAU,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;IAY7G;;;;;;;;;;;;OAYG;IACH,iBAAiB,CACf,YAAY,GAAE,MAAU,EACxB,kBAAkB,GAAE,MAAU,GAC7B;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;IAgBtD;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,oBAAoB,CACzB,GAAG,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EACtD,YAAY,GAAE,MAAU,EACxB,kBAAkB,GAAE,MAAU;IAYhC,yBAAyB;IACzB,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,oBAAoB;IACpB,IAAI,SAAS,IAAI,MAAM,CAEtB;IAMD,wBAAwB;IACxB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ;IAI/B;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ;IAKjC;;;;;OAKG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ;IAQ7B,2BAA2B;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ;IAIjC,2BAA2B;IAC3B,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ;IAInC,2BAA2B;IAC3B,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ;IAQ/B;;;;OAIG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAQzC,QAAQ,IAAI,MAAM;CAKnB"}
@@ -1,96 +0,0 @@
1
- /**
2
- * 날짜시간 클래스 (불변)
3
- *
4
- * JavaScript Date 객체를 래핑하여 불변성과 편리한 API를 제공한다.
5
- * 밀리초 단위까지 지원하며, 로컬 타임존을 기준으로 동작한다.
6
- *
7
- * @example
8
- * const now = new DateTime();
9
- * const specific = new DateTime(2025, 1, 15, 10, 30, 0);
10
- * const parsed = DateTime.parse("2025-01-15 10:30:00");
11
- */
12
- export declare class DateTime {
13
- readonly date: Date;
14
- /** 현재 시간으로 생성 */
15
- constructor();
16
- /** 연월일시분초밀리초로 생성 */
17
- constructor(year: number, month: number, day: number, hour?: number, minute?: number, second?: number, millisecond?: number);
18
- /** tick (밀리초)으로 생성 */
19
- constructor(tick: number);
20
- /** Date 객체로 생성 */
21
- constructor(date: Date);
22
- /**
23
- * 문자열을 파싱하여 DateTime 인스턴스를 생성
24
- *
25
- * @param str 날짜시간 문자열
26
- * @returns 파싱된 DateTime 인스턴스
27
- * @throws ArgumentError 지원하지 않는 형식인 경우
28
- *
29
- * @example
30
- * DateTime.parse("2025-01-15 10:30:00") // yyyy-MM-dd HH:mm:ss
31
- * DateTime.parse("2025-01-15 10:30:00.123") // yyyy-MM-dd HH:mm:ss.fff
32
- * DateTime.parse("20250115103000") // yyyyMMddHHmmss
33
- * DateTime.parse("2025-01-15 오전 10:30:00") // yyyy-MM-dd 오전/오후 HH:mm:ss
34
- * DateTime.parse("2025-01-15T10:30:00Z") // ISO 8601
35
- */
36
- static parse(str: string): DateTime;
37
- get year(): number;
38
- get month(): number;
39
- get day(): number;
40
- get hour(): number;
41
- get minute(): number;
42
- get second(): number;
43
- get millisecond(): number;
44
- get tick(): number;
45
- /** 요일 (일~토: 0~6) */
46
- get dayOfWeek(): number;
47
- get timezoneOffsetMinutes(): number;
48
- /** 날짜시간 세팅이 제대로 되었는지 여부 */
49
- get isValid(): boolean;
50
- /** 지정된 연도로 새 인스턴스 반환 */
51
- setYear(year: number): DateTime;
52
- /**
53
- * 지정된 월로 새 DateTime 인스턴스를 반환
54
- * @param month 설정할 월 (1-12, 범위 외 값은 연도 조정)
55
- * @note 대상 월의 일수보다 현재 일자가 크면 해당 월의 마지막 날로 조정됨
56
- * (예: 1월 31일에서 setMonth(2) → 2월 28일 또는 29일)
57
- */
58
- setMonth(month: number): DateTime;
59
- /**
60
- * 지정된 일자로 새 DateTime 인스턴스를 반환
61
- * @param day 설정할 일자
62
- * @note 해당 월의 유효 범위를 벗어나는 일자는 JavaScript Date 기본 동작에 따라
63
- * 자동으로 다음/이전 달로 조정됨 (예: 1월에 day=32 → 2월 1일)
64
- */
65
- setDay(day: number): DateTime;
66
- /** 지정된 시로 새 인스턴스 반환 */
67
- setHour(hour: number): DateTime;
68
- /** 지정된 분으로 새 인스턴스 반환 */
69
- setMinute(minute: number): DateTime;
70
- /** 지정된 초로 새 인스턴스 반환 */
71
- setSecond(second: number): DateTime;
72
- /** 지정된 밀리초로 새 인스턴스 반환 */
73
- setMillisecond(millisecond: number): DateTime;
74
- /** 지정된 연수를 더한 새 인스턴스 반환 */
75
- addYears(years: number): DateTime;
76
- /** 지정된 월수를 더한 새 인스턴스 반환 */
77
- addMonths(months: number): DateTime;
78
- /** 지정된 일수를 더한 새 인스턴스 반환 */
79
- addDays(days: number): DateTime;
80
- /** 지정된 시간을 더한 새 인스턴스 반환 */
81
- addHours(hours: number): DateTime;
82
- /** 지정된 분을 더한 새 인스턴스 반환 */
83
- addMinutes(minutes: number): DateTime;
84
- /** 지정된 초를 더한 새 인스턴스 반환 */
85
- addSeconds(seconds: number): DateTime;
86
- /** 지정된 밀리초를 더한 새 인스턴스 반환 */
87
- addMilliseconds(milliseconds: number): DateTime;
88
- /**
89
- * 지정된 포맷으로 문자열 변환
90
- * @param format 포맷 문자열
91
- * @see dtFormat 지원 포맷 문자열 참조
92
- */
93
- toFormatString(formatStr: string): string;
94
- toString(): string;
95
- }
96
- //# sourceMappingURL=date-time.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"date-time.d.ts","sourceRoot":"","sources":["../../../../../core-common/src/types/date-time.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;GAUG;AACH,qBAAa,QAAQ;IACnB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAEpB,iBAAiB;;IAEjB,oBAAoB;gBAElB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,MAAM;IAEtB,sBAAsB;gBACV,IAAI,EAAE,MAAM;IACxB,kBAAkB;gBACN,IAAI,EAAE,IAAI;IAqBtB;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ;IAwDnC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,oBAAoB;IACpB,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,IAAI,qBAAqB,IAAI,MAAM,CAElC;IAED,2BAA2B;IAC3B,IAAI,OAAO,IAAI,OAAO,CAErB;IAMD,wBAAwB;IACxB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ;IAI/B;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ;IAajC;;;;;OAKG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ;IAI7B,uBAAuB;IACvB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ;IAI/B,wBAAwB;IACxB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ;IAInC,uBAAuB;IACvB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ;IAInC,yBAAyB;IACzB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,QAAQ;IAQ7C,2BAA2B;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ;IAIjC,2BAA2B;IAC3B,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ;IAInC,2BAA2B;IAC3B,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ;IAI/B,2BAA2B;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ;IAIjC,0BAA0B;IAC1B,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ;IAIrC,0BAA0B;IAC1B,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ;IAIrC,4BAA4B;IAC5B,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,QAAQ;IAQ/C;;;;OAIG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAazC,QAAQ,IAAI,MAAM;CAKnB"}
@@ -1,80 +0,0 @@
1
- /**
2
- * 자동 만료 기능이 있는 Map
3
- * LRU 방식으로 접근 시간 갱신, 일정 시간 미접근 시 자동 삭제
4
- *
5
- * @note 인스턴스 사용 후 반드시 dispose()를 호출하거나 using 문을 사용해야 함.
6
- * 그렇지 않으면 GC 타이머가 계속 동작하여 메모리 누수 발생.
7
- *
8
- * @example
9
- * // using 문 사용 (권장)
10
- * using map = new LazyGcMap({ gcInterval: 10000, expireTime: 60000 });
11
- *
12
- * // 또는 명시적 dispose() 호출
13
- * const map = new LazyGcMap({ gcInterval: 10000, expireTime: 60000 });
14
- * try {
15
- * // ... 사용
16
- * } finally {
17
- * map.dispose();
18
- * }
19
- */
20
- export declare class LazyGcMap<K, V> {
21
- private readonly _options;
22
- private static readonly _logger;
23
- /**
24
- * dispose() 미호출 감지용 registry
25
- * @note FinalizationRegistry는 Chrome 84+, Node 14.6+ 지원
26
- * 미지원 환경에서는 경고 없이 동작하지만, dispose() 미호출 시 메모리 누수 가능
27
- */
28
- private static readonly _registry;
29
- private readonly _map;
30
- private _gcTimer?;
31
- private _isGcRunning;
32
- private _isDestroyed;
33
- private readonly _instanceId;
34
- /**
35
- * @param _options 설정 옵션
36
- * @param _options.gcInterval GC 주기 (밀리초). 기본값: expireTime의 1/10 (최소 1000ms)
37
- * @param _options.expireTime 만료 시간 (밀리초). 마지막 접근 후 이 시간이 지나면 삭제됨. 예: 60000 (60초)
38
- * @param _options.onExpire 만료 시 호출되는 콜백. 비동기 함수도 가능하며, 에러 발생 시 로깅 후 계속 진행됨
39
- */
40
- constructor(_options: {
41
- gcInterval?: number;
42
- expireTime: number;
43
- onExpire?: (key: K, value: V) => void | Promise<void>;
44
- });
45
- /** 저장된 항목 수 */
46
- get size(): number;
47
- /** 키 존재 여부 확인 (접근 시간 갱신 안함) */
48
- has(key: K): boolean;
49
- /** 값 조회 (접근 시간 갱신됨) */
50
- get(key: K): V | undefined;
51
- /** 값 저장 (접근 시간 설정 및 GC 타이머 시작) */
52
- set(key: K, value: V): void;
53
- /** 항목 삭제 (비었으면 GC 타이머 중지) */
54
- delete(key: K): boolean;
55
- /** 인스턴스 정리 (GC 타이머 중지 및 데이터 삭제) */
56
- dispose(): void;
57
- /** using 문 지원 */
58
- [Symbol.dispose](): void;
59
- /**
60
- * 모든 항목 삭제 (인스턴스는 계속 사용 가능)
61
- */
62
- clear(): void;
63
- /**
64
- * 키에 해당하는 값을 반환하고, 없으면 factory로 생성 후 저장하여 반환
65
- * @param key 조회할 키
66
- * @param factory 키가 없을 때 값을 생성하는 함수
67
- * @returns 기존 값 또는 새로 생성된 값
68
- */
69
- getOrCreate(key: K, factory: () => V): V;
70
- /** 값들만 순회 (Iterator) */
71
- values(): IterableIterator<V>;
72
- /** 키들만 순회 (Iterator) */
73
- keys(): IterableIterator<K>;
74
- /** 엔트리 순회 (Iterator) */
75
- entries(): IterableIterator<[K, V]>;
76
- private _startGc;
77
- private _runGc;
78
- private _stopGc;
79
- }
80
- //# sourceMappingURL=lazy-gc-map.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lazy-gc-map.d.ts","sourceRoot":"","sources":["../../../../../core-common/src/types/lazy-gc-map.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,SAAS,CAAC,CAAC,EAAE,CAAC;IAkCvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAjC3B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAwC;IAEvE;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAKjB;IAGhB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAkD;IAGvE,OAAO,CAAC,QAAQ,CAAC,CAAiC;IAElD,OAAO,CAAC,YAAY,CAAS;IAE7B,OAAO,CAAC,YAAY,CAAS;IAE7B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuC;IAEnE;;;;;OAKG;gBAEgB,QAAQ,EAAE;QACzB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KACvD;IAKH,eAAe;IACf,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,+BAA+B;IAC/B,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO;IAKpB,uBAAuB;IACvB,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS;IAU1B,kCAAkC;IAClC,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAO3B,6BAA6B;IAC7B,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO;IAUvB,mCAAmC;IACnC,OAAO,IAAI,IAAI;IASf,iBAAiB;IACjB,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI;IAIxB;;OAEG;IACH,KAAK,IAAI,IAAI;IAMb;;;;;OAKG;IACH,WAAW,CAAC,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC;IAexC,wBAAwB;IACvB,MAAM,IAAI,gBAAgB,CAAC,CAAC,CAAC;IAO9B,wBAAwB;IACvB,IAAI,IAAI,gBAAgB,CAAC,CAAC,CAAC;IAK5B,wBAAwB;IACvB,OAAO,IAAI,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IASpC,OAAO,CAAC,QAAQ;YAUF,MAAM;IAmDpB,OAAO,CAAC,OAAO;CAQhB"}