@simplysm/core-node 13.0.100 → 14.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/dist/features/fs-watcher.d.ts +21 -21
  2. package/dist/features/fs-watcher.d.ts.map +1 -1
  3. package/dist/features/fs-watcher.js +176 -114
  4. package/dist/features/fs-watcher.js.map +1 -6
  5. package/dist/index.js +6 -7
  6. package/dist/index.js.map +1 -6
  7. package/dist/utils/fs.d.ts +96 -96
  8. package/dist/utils/fs.d.ts.map +1 -1
  9. package/dist/utils/fs.js +437 -272
  10. package/dist/utils/fs.js.map +1 -6
  11. package/dist/utils/path.d.ts +22 -22
  12. package/dist/utils/path.js +103 -45
  13. package/dist/utils/path.js.map +1 -6
  14. package/dist/worker/create-worker.d.ts +3 -3
  15. package/dist/worker/create-worker.js +106 -81
  16. package/dist/worker/create-worker.js.map +1 -6
  17. package/dist/worker/types.d.ts +14 -14
  18. package/dist/worker/types.js +4 -1
  19. package/dist/worker/types.js.map +1 -6
  20. package/dist/worker/worker.d.ts +5 -5
  21. package/dist/worker/worker.js +168 -132
  22. package/dist/worker/worker.js.map +1 -6
  23. package/lib/worker-dev-proxy.js +15 -0
  24. package/package.json +8 -6
  25. package/src/features/fs-watcher.ts +53 -42
  26. package/src/index.ts +3 -3
  27. package/src/utils/fs.ts +111 -120
  28. package/src/utils/path.ts +26 -26
  29. package/src/worker/create-worker.ts +10 -10
  30. package/src/worker/types.ts +14 -14
  31. package/src/worker/worker.ts +29 -29
  32. package/README.md +0 -112
  33. package/docs/features.md +0 -91
  34. package/docs/fs.md +0 -309
  35. package/docs/path.md +0 -120
  36. package/docs/worker.md +0 -168
  37. package/tests/utils/fs-watcher.spec.ts +0 -286
  38. package/tests/utils/fs.spec.ts +0 -705
  39. package/tests/utils/path.spec.ts +0 -179
  40. package/tests/worker/fixtures/test-worker.ts +0 -35
  41. package/tests/worker/sd-worker.spec.ts +0 -174
@@ -1,6 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/utils/fs.ts"],
4
- "mappings": "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",
5
- "names": []
6
- }
1
+ {"version":3,"file":"fs.js","sourceRoot":"","sources":["..\\..\\src\\utils\\fs.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,13 @@
1
1
  declare const NORM: unique symbol;
2
2
  /**
3
- * Brand type representing a normalized path.
4
- * Can only be created through norm().
3
+ * 정규화된 경로를 나타내는 브랜드 타입.
4
+ * norm()을 통해서만 생성할 있다.
5
5
  */
6
6
  export type NormPath = string & {
7
7
  [NORM]: never;
8
8
  };
9
9
  /**
10
- * Converts to POSIX-style path (backslashforward slash).
10
+ * POSIX 스타일 경로로 변환한다 (백슬래시슬래시).
11
11
  *
12
12
  * @example
13
13
  * posix("C:\\Users\\test"); // "C:/Users/test"
@@ -15,17 +15,17 @@ export type NormPath = string & {
15
15
  */
16
16
  export declare function posix(...args: string[]): string;
17
17
  /**
18
- * Changes the directory of a file path.
18
+ * 파일 경로의 디렉토리를 변경한다.
19
19
  *
20
20
  * @example
21
21
  * changeFileDirectory("/a/b/c.txt", "/a", "/x");
22
22
  * // → "/x/b/c.txt"
23
23
  *
24
- * @throws Error if the file is not inside fromDirectory
24
+ * @throws 파일이 fromDirectory 내부에 없는 경우 에러 발생
25
25
  */
26
26
  export declare function changeFileDirectory(filePath: string, fromDirectory: string, toDirectory: string): string;
27
27
  /**
28
- * Returns the filename (basename) without extension.
28
+ * 확장자를 제외한 파일명(basename) 반환한다.
29
29
  *
30
30
  * @example
31
31
  * basenameWithoutExt("file.txt"); // "file"
@@ -33,37 +33,37 @@ export declare function changeFileDirectory(filePath: string, fromDirectory: str
33
33
  */
34
34
  export declare function basenameWithoutExt(filePath: string): string;
35
35
  /**
36
- * Checks if childPath is a child path of parentPath.
37
- * Returns false if the paths are the same.
36
+ * childPath parentPath의 하위 경로인지 확인한다.
37
+ * 동일한 경로이면 false 반환한다.
38
38
  *
39
- * Paths are internally normalized using `norm()` and compared using
40
- * platform-specific path separators (Windows: `\`, Unix: `/`).
39
+ * 경로는 내부적으로 `norm()`을 사용하여 정규화되며,
40
+ * 플랫폼별 경로 구분자(Windows: `\`, Unix: `/`)를 사용하여 비교한다.
41
41
  *
42
42
  * @example
43
43
  * isChildPath("/a/b/c", "/a/b"); // true
44
44
  * isChildPath("/a/b", "/a/b/c"); // false
45
- * isChildPath("/a/b", "/a/b"); // false (same path)
45
+ * isChildPath("/a/b", "/a/b"); // false (동일 경로)
46
46
  */
47
47
  export declare function isChildPath(childPath: string, parentPath: string): boolean;
48
48
  /**
49
- * Normalizes the path and returns it as NormPath.
50
- * Converts to absolute path and normalizes using platform-specific separators.
49
+ * 경로를 정규화하여 NormPath로 반환한다.
50
+ * 절대 경로로 변환하고 플랫폼별 구분자로 정규화한다.
51
51
  *
52
52
  * @example
53
53
  * norm("/some/path"); // NormPath
54
- * norm("relative", "path"); // NormPath (converted to absolute path)
54
+ * norm("relative", "path"); // NormPath (절대 경로로 변환됨)
55
55
  */
56
56
  export declare function norm(...paths: string[]): NormPath;
57
57
  /**
58
- * Filters files based on a list of target paths.
59
- * Includes files that match or are children of a target path.
58
+ * 대상 경로 목록을 기반으로 파일을 필터링한다.
59
+ * 대상 경로와 일치하거나 하위에 있는 파일을 포함한다.
60
60
  *
61
- * @param files - File paths to filter.
62
- * **Note**: Must be absolute paths under cwd.
63
- * Paths outside cwd are converted to relative paths (../) for processing.
64
- * @param targets - Target paths (relative to cwd, POSIX style recommended)
65
- * @param cwd - Current working directory (absolute path)
66
- * @returns If targets is empty, returns files as-is; otherwise returns only files under target paths
61
+ * @param files - 필터링할 파일 경로.
62
+ * **주의**: cwd 하위의 절대 경로여야 한다.
63
+ * cwd 외부의 경로는 상대 경로(../) 변환되어 처리된다.
64
+ * @param targets - 대상 경로 (cwd 기준 상대 경로, POSIX 스타일 권장)
65
+ * @param cwd - 현재 작업 디렉토리 (절대 경로)
66
+ * @returns targets 비어있으면 files를 그대로 반환; 그렇지 않으면 대상 경로 하위의 파일만 반환
67
67
  *
68
68
  * @example
69
69
  * const files = ["/proj/src/a.ts", "/proj/src/b.ts", "/proj/tests/c.ts"];
@@ -1,53 +1,111 @@
1
1
  import path from "path";
2
2
  import { ArgumentError } from "@simplysm/core-common";
3
- const NORM = /* @__PURE__ */ Symbol("NormPath");
4
- function posix(...args) {
5
- const resolvedPath = path.join(...args);
6
- return resolvedPath.replace(/\\/g, "/");
3
+ //#region Types
4
+ const NORM = Symbol("NormPath");
5
+ //#endregion
6
+ //#region 함수
7
+ /**
8
+ * POSIX 스타일 경로로 변환한다 (백슬래시 → 슬래시).
9
+ *
10
+ * @example
11
+ * posix("C:\\Users\\test"); // "C:/Users/test"
12
+ * posix("src", "index.ts"); // "src/index.ts"
13
+ */
14
+ export function posix(...args) {
15
+ const resolvedPath = path.join(...args);
16
+ return resolvedPath.replace(/\\/g, "/");
7
17
  }
8
- function changeFileDirectory(filePath, fromDirectory, toDirectory) {
9
- if (filePath === fromDirectory) {
10
- return toDirectory;
11
- }
12
- if (!isChildPath(filePath, fromDirectory)) {
13
- throw new ArgumentError(`'${filePath}' is not inside ${fromDirectory}.`, {
14
- filePath,
15
- fromDirectory
16
- });
17
- }
18
- return path.resolve(toDirectory, path.relative(fromDirectory, filePath));
18
+ /**
19
+ * 파일 경로의 디렉토리를 변경한다.
20
+ *
21
+ * @example
22
+ * changeFileDirectory("/a/b/c.txt", "/a", "/x");
23
+ * // "/x/b/c.txt"
24
+ *
25
+ * @throws 파일이 fromDirectory 내부에 없는 경우 에러 발생
26
+ */
27
+ export function changeFileDirectory(filePath, fromDirectory, toDirectory) {
28
+ if (filePath === fromDirectory) {
29
+ return toDirectory;
30
+ }
31
+ if (!isChildPath(filePath, fromDirectory)) {
32
+ throw new ArgumentError(`'${filePath}'은(는) ${fromDirectory} 내부에 없습니다.`, {
33
+ filePath,
34
+ fromDirectory,
35
+ });
36
+ }
37
+ return path.resolve(toDirectory, path.relative(fromDirectory, filePath));
19
38
  }
20
- function basenameWithoutExt(filePath) {
21
- return path.basename(filePath, path.extname(filePath));
39
+ /**
40
+ * 확장자를 제외한 파일명(basename)을 반환한다.
41
+ *
42
+ * @example
43
+ * basenameWithoutExt("file.txt"); // "file"
44
+ * basenameWithoutExt("/path/to/file.spec.ts"); // "file.spec"
45
+ */
46
+ export function basenameWithoutExt(filePath) {
47
+ return path.basename(filePath, path.extname(filePath));
22
48
  }
23
- function isChildPath(childPath, parentPath) {
24
- const normalizedChild = norm(childPath);
25
- const normalizedParent = norm(parentPath);
26
- if (normalizedChild === normalizedParent) {
27
- return false;
28
- }
29
- const parentWithSep = normalizedParent.endsWith(path.sep) ? normalizedParent : normalizedParent + path.sep;
30
- return normalizedChild.startsWith(parentWithSep);
49
+ /**
50
+ * childPath가 parentPath의 하위 경로인지 확인한다.
51
+ * 동일한 경로이면 false를 반환한다.
52
+ *
53
+ * 경로는 내부적으로 `norm()`을 사용하여 정규화되며,
54
+ * 플랫폼별 경로 구분자(Windows: `\`, Unix: `/`)를 사용하여 비교한다.
55
+ *
56
+ * @example
57
+ * isChildPath("/a/b/c", "/a/b"); // true
58
+ * isChildPath("/a/b", "/a/b/c"); // false
59
+ * isChildPath("/a/b", "/a/b"); // false (동일 경로)
60
+ */
61
+ export function isChildPath(childPath, parentPath) {
62
+ const normalizedChild = norm(childPath);
63
+ const normalizedParent = norm(parentPath);
64
+ // 동일 경로는 false 반환
65
+ if (normalizedChild === normalizedParent) {
66
+ return false;
67
+ }
68
+ // 부모 경로 + 구분자로 시작하는지 확인
69
+ const parentWithSep = normalizedParent.endsWith(path.sep)
70
+ ? normalizedParent
71
+ : normalizedParent + path.sep;
72
+ return normalizedChild.startsWith(parentWithSep);
31
73
  }
32
- function norm(...paths) {
33
- return path.resolve(...paths);
74
+ /**
75
+ * 경로를 정규화하여 NormPath로 반환한다.
76
+ * 절대 경로로 변환하고 플랫폼별 구분자로 정규화한다.
77
+ *
78
+ * @example
79
+ * norm("/some/path"); // NormPath
80
+ * norm("relative", "path"); // NormPath (절대 경로로 변환됨)
81
+ */
82
+ export function norm(...paths) {
83
+ return path.resolve(...paths);
34
84
  }
35
- function filterByTargets(files, targets, cwd) {
36
- if (targets.length === 0) return files;
37
- const normalizedTargets = targets.map((t) => posix(t));
38
- return files.filter((file) => {
39
- const relativePath = posix(path.relative(cwd, file));
40
- return normalizedTargets.some(
41
- (target) => relativePath === target || relativePath.startsWith(target + "/")
42
- );
43
- });
85
+ /**
86
+ * 대상 경로 목록을 기반으로 파일을 필터링한다.
87
+ * 대상 경로와 일치하거나 하위에 있는 파일을 포함한다.
88
+ *
89
+ * @param files - 필터링할 파일 경로.
90
+ * **주의**: cwd 하위의 절대 경로여야 한다.
91
+ * cwd 외부의 경로는 상대 경로(../)로 변환되어 처리된다.
92
+ * @param targets - 대상 경로 (cwd 기준 상대 경로, POSIX 스타일 권장)
93
+ * @param cwd - 현재 작업 디렉토리 (절대 경로)
94
+ * @returns targets가 비어있으면 files를 그대로 반환; 그렇지 않으면 대상 경로 하위의 파일만 반환
95
+ *
96
+ * @example
97
+ * const files = ["/proj/src/a.ts", "/proj/src/b.ts", "/proj/tests/c.ts"];
98
+ * filterByTargets(files, ["src"], "/proj");
99
+ * // → ["/proj/src/a.ts", "/proj/src/b.ts"]
100
+ */
101
+ export function filterByTargets(files, targets, cwd) {
102
+ if (targets.length === 0)
103
+ return files;
104
+ const normalizedTargets = targets.map((t) => posix(t));
105
+ return files.filter((file) => {
106
+ const relativePath = posix(path.relative(cwd, file));
107
+ return normalizedTargets.some((target) => relativePath === target || relativePath.startsWith(target + "/"));
108
+ });
44
109
  }
45
- export {
46
- basenameWithoutExt,
47
- changeFileDirectory,
48
- filterByTargets,
49
- isChildPath,
50
- norm,
51
- posix
52
- };
53
- //# sourceMappingURL=path.js.map
110
+ //#endregion
111
+ //# sourceMappingURL=path.js.map
@@ -1,6 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/utils/path.ts"],
4
- "mappings": "AAAA,OAAO,UAAU;AACjB,SAAS,qBAAqB;AAI9B,MAAM,OAAO,uBAAO,UAAU;AAqBvB,SAAS,SAAS,MAAwB;AAC/C,QAAM,eAAe,KAAK,KAAK,GAAG,IAAI;AACtC,SAAO,aAAa,QAAQ,OAAO,GAAG;AACxC;AAWO,SAAS,oBACd,UACA,eACA,aACQ;AACR,MAAI,aAAa,eAAe;AAC9B,WAAO;AAAA,EACT;AAEA,MAAI,CAAC,YAAY,UAAU,aAAa,GAAG;AACzC,UAAM,IAAI,cAAc,IAAI,QAAQ,mBAAmB,aAAa,KAAK;AAAA,MACvE;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAEA,SAAO,KAAK,QAAQ,aAAa,KAAK,SAAS,eAAe,QAAQ,CAAC;AACzE;AASO,SAAS,mBAAmB,UAA0B;AAC3D,SAAO,KAAK,SAAS,UAAU,KAAK,QAAQ,QAAQ,CAAC;AACvD;AAcO,SAAS,YAAY,WAAmB,YAA6B;AAC1E,QAAM,kBAAkB,KAAK,SAAS;AACtC,QAAM,mBAAmB,KAAK,UAAU;AAGxC,MAAI,oBAAoB,kBAAkB;AACxC,WAAO;AAAA,EACT;AAGA,QAAM,gBAAgB,iBAAiB,SAAS,KAAK,GAAG,IACpD,mBACA,mBAAmB,KAAK;AAE5B,SAAO,gBAAgB,WAAW,aAAa;AACjD;AAUO,SAAS,QAAQ,OAA2B;AACjD,SAAO,KAAK,QAAQ,GAAG,KAAK;AAC9B;AAkBO,SAAS,gBAAgB,OAAiB,SAAmB,KAAuB;AACzF,MAAI,QAAQ,WAAW,EAAG,QAAO;AACjC,QAAM,oBAAoB,QAAQ,IAAI,CAAC,MAAM,MAAM,CAAC,CAAC;AACrD,SAAO,MAAM,OAAO,CAAC,SAAS;AAC5B,UAAM,eAAe,MAAM,KAAK,SAAS,KAAK,IAAI,CAAC;AACnD,WAAO,kBAAkB;AAAA,MACvB,CAAC,WAAW,iBAAiB,UAAU,aAAa,WAAW,SAAS,GAAG;AAAA,IAC7E;AAAA,EACF,CAAC;AACH;",
5
- "names": []
6
- }
1
+ {"version":3,"file":"path.js","sourceRoot":"","sources":["..\\..\\src\\utils\\path.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,eAAe;AAEf,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAUhC,YAAY;AAEZ,YAAY;AAEZ;;;;;;GAMG;AACH,MAAM,UAAU,KAAK,CAAC,GAAG,IAAc;IACrC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IACxC,OAAO,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CACjC,QAAgB,EAChB,aAAqB,EACrB,WAAmB;IAEnB,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;QAC/B,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,aAAa,CAAC,IAAI,QAAQ,SAAS,aAAa,YAAY,EAAE;YACtE,QAAQ;YACR,aAAa;SACd,CAAC,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAgB;IACjD,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;AACzD,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,WAAW,CAAC,SAAiB,EAAE,UAAkB;IAC/D,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IACxC,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;IAE1C,kBAAkB;IAClB,IAAI,eAAe,KAAK,gBAAgB,EAAE,CAAC;QACzC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,wBAAwB;IACxB,MAAM,aAAa,GAAG,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;QACvD,CAAC,CAAC,gBAAgB;QAClB,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC;IAEhC,OAAO,eAAe,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AACnD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,IAAI,CAAC,GAAG,KAAe;IACrC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,CAAa,CAAC;AAC5C,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,eAAe,CAAC,KAAe,EAAE,OAAiB,EAAE,GAAW;IAC7E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACvC,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QAC3B,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;QACrD,OAAO,iBAAiB,CAAC,IAAI,CAC3B,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,KAAK,MAAM,IAAI,YAAY,CAAC,UAAU,CAAC,MAAM,GAAG,GAAG,CAAC,CAC7E,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,YAAY"}
@@ -1,13 +1,13 @@
1
1
  /**
2
- * Worker factory for use in worker threads.
2
+ * Worker thread에서 사용하기 위한 워커 팩토리.
3
3
  *
4
4
  * @example
5
- * // Worker without events
5
+ * // 이벤트 없는 워커
6
6
  * export default createWorker({
7
7
  * add: (a: number, b: number) => a + b,
8
8
  * });
9
9
  *
10
- * // Worker with events
10
+ * // 이벤트가 있는 워커
11
11
  * interface MyEvents { progress: number; }
12
12
  * const methods = {
13
13
  * calc: (x: number) => { sender.send("progress", 50); return x * 2; },
@@ -1,85 +1,110 @@
1
1
  import { parentPort } from "worker_threads";
2
2
  import { SdError, transfer } from "@simplysm/core-common";
3
- function createWorker(methods) {
4
- if (parentPort === null) {
5
- throw new SdError("This script must be executed in a worker thread (parentPort required).");
6
- }
7
- const port = parentPort;
8
- process.stdout.write = (chunk, encodingOrCallback, callback) => {
9
- const body = typeof chunk === "string" ? chunk : new TextDecoder().decode(chunk);
10
- const response = { type: "log", body };
11
- const serialized = transfer.encode(response);
12
- port.postMessage(serialized.result, serialized.transferList);
13
- const cb = typeof encodingOrCallback === "function" ? encodingOrCallback : callback;
14
- if (cb) {
15
- queueMicrotask(() => cb());
3
+ //#region createWorker
4
+ /**
5
+ * Worker thread에서 사용하기 위한 워커 팩토리.
6
+ *
7
+ * @example
8
+ * // 이벤트 없는 워커
9
+ * export default createWorker({
10
+ * add: (a: number, b: number) => a + b,
11
+ * });
12
+ *
13
+ * // 이벤트가 있는 워커
14
+ * interface MyEvents { progress: number; }
15
+ * const methods = {
16
+ * calc: (x: number) => { sender.send("progress", 50); return x * 2; },
17
+ * };
18
+ * const sender = createWorker<typeof methods, MyEvents>(methods);
19
+ * export default sender;
20
+ */
21
+ export function createWorker(methods) {
22
+ if (parentPort === null) {
23
+ throw new SdError("이 스크립트는 worker thread에서 실행되어야 합니다 (parentPort 필요).");
16
24
  }
17
- return true;
18
- };
19
- port.on("message", async (serializedRequest) => {
20
- const decoded = transfer.decode(serializedRequest);
21
- if (decoded == null || typeof decoded !== "object" || !("id" in decoded) || !("method" in decoded) || !("params" in decoded)) {
22
- let decodedStr;
23
- try {
24
- decodedStr = JSON.stringify(decoded);
25
- } catch {
26
- decodedStr = String(decoded);
27
- }
28
- const errorResponse = {
29
- type: "error",
30
- request: { id: "unknown", method: "unknown", params: [] },
31
- body: new SdError(`Invalid worker request format: ${decodedStr}`)
32
- };
33
- const serialized = transfer.encode(errorResponse);
34
- port.postMessage(serialized.result, serialized.transferList);
35
- return;
36
- }
37
- const request = decoded;
38
- const methodFn = methods[request.method];
39
- if (methodFn == null) {
40
- const response = {
41
- request,
42
- type: "error",
43
- body: new SdError(`Unknown method: ${request.method}`)
44
- };
45
- const serialized = transfer.encode(response);
46
- port.postMessage(serialized.result, serialized.transferList);
47
- return;
48
- }
49
- try {
50
- const result = await methodFn(...request.params);
51
- const response = {
52
- request,
53
- type: "return",
54
- body: result
55
- };
56
- const serialized = transfer.encode(response);
57
- port.postMessage(serialized.result, serialized.transferList);
58
- } catch (err) {
59
- const response = {
60
- request,
61
- type: "error",
62
- body: err instanceof Error ? err : new Error(String(err))
63
- };
64
- const serialized = transfer.encode(response);
65
- port.postMessage(serialized.result, serialized.transferList);
66
- }
67
- });
68
- return {
69
- __methods: methods,
70
- __events: {},
71
- send(event, data) {
72
- const response = {
73
- type: "event",
74
- event,
75
- body: data
76
- };
77
- const serialized = transfer.encode(response);
78
- port.postMessage(serialized.result, serialized.transferList);
79
- }
80
- };
25
+ const port = parentPort;
26
+ // Worker thread의 stdout은 메인 스레드로 자동 전달되지 않음
27
+ // stdout.write를 가로채서 메시지 프로토콜을 통해 메인 스레드로 전달
28
+ process.stdout.write = (chunk, encodingOrCallback, callback) => {
29
+ const body = typeof chunk === "string" ? chunk : new TextDecoder().decode(chunk);
30
+ const response = { type: "log", body };
31
+ const serialized = transfer.encode(response);
32
+ port.postMessage(serialized.result, serialized.transferList);
33
+ const cb = typeof encodingOrCallback === "function" ? encodingOrCallback : callback;
34
+ if (cb != null) {
35
+ queueMicrotask(() => cb());
36
+ }
37
+ return true;
38
+ };
39
+ port.on("message", async (serializedRequest) => {
40
+ const decoded = transfer.decode(serializedRequest);
41
+ // 요청 구조 검증
42
+ if (decoded == null ||
43
+ typeof decoded !== "object" ||
44
+ !("id" in decoded) ||
45
+ !("method" in decoded) ||
46
+ !("params" in decoded)) {
47
+ let decodedStr;
48
+ try {
49
+ decodedStr = JSON.stringify(decoded);
50
+ }
51
+ catch {
52
+ decodedStr = String(decoded);
53
+ }
54
+ const errorResponse = {
55
+ type: "error",
56
+ request: { id: "unknown", method: "unknown", params: [] },
57
+ body: new SdError(`잘못된 워커 요청 형식: ${decodedStr}`),
58
+ };
59
+ const serialized = transfer.encode(errorResponse);
60
+ port.postMessage(serialized.result, serialized.transferList);
61
+ return;
62
+ }
63
+ const request = decoded;
64
+ const methodFn = methods[request.method];
65
+ if (methodFn == null) {
66
+ const response = {
67
+ request,
68
+ type: "error",
69
+ body: new SdError(`알 수 없는 메서드: ${request.method}`),
70
+ };
71
+ const serialized = transfer.encode(response);
72
+ port.postMessage(serialized.result, serialized.transferList);
73
+ return;
74
+ }
75
+ try {
76
+ const result = await methodFn(...request.params);
77
+ const response = {
78
+ request,
79
+ type: "return",
80
+ body: result,
81
+ };
82
+ const serialized = transfer.encode(response);
83
+ port.postMessage(serialized.result, serialized.transferList);
84
+ }
85
+ catch (err) {
86
+ const response = {
87
+ request,
88
+ type: "error",
89
+ body: err instanceof Error ? err : new Error(String(err)),
90
+ };
91
+ const serialized = transfer.encode(response);
92
+ port.postMessage(serialized.result, serialized.transferList);
93
+ }
94
+ });
95
+ return {
96
+ __methods: methods,
97
+ __events: {},
98
+ send(event, data) {
99
+ const response = {
100
+ type: "event",
101
+ event,
102
+ body: data,
103
+ };
104
+ const serialized = transfer.encode(response);
105
+ port.postMessage(serialized.result, serialized.transferList);
106
+ },
107
+ };
81
108
  }
82
- export {
83
- createWorker
84
- };
85
- //# sourceMappingURL=create-worker.js.map
109
+ //#endregion
110
+ //# sourceMappingURL=create-worker.js.map
@@ -1,6 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/worker/create-worker.ts"],
4
- "mappings": "AAAA,SAAS,kBAAkB;AAC3B,SAAS,SAAS,gBAAgB;AAsB3B,SAAS,aAId,SAKA;AACA,MAAI,eAAe,MAAM;AACvB,UAAM,IAAI,QAAQ,wEAAwE;AAAA,EAC5F;AAEA,QAAM,OAAO;AAIb,UAAQ,OAAO,QAAQ,CACrB,OACA,oBACA,aACY;AACZ,UAAM,OAAO,OAAO,UAAU,WAAW,QAAQ,IAAI,YAAY,EAAE,OAAO,KAAK;AAC/E,UAAM,WAA2B,EAAE,MAAM,OAAO,KAAK;AACrD,UAAM,aAAa,SAAS,OAAO,QAAQ;AAC3C,SAAK,YAAY,WAAW,QAAQ,WAAW,YAAY;AAE3D,UAAM,KAAK,OAAO,uBAAuB,aAAa,qBAAqB;AAC3E,QAAI,IAAI;AACN,qBAAe,MAAM,GAAG,CAAC;AAAA,IAC3B;AAEA,WAAO;AAAA,EACT;AAEA,OAAK,GAAG,WAAW,OAAO,sBAA+B;AACvD,UAAM,UAAU,SAAS,OAAO,iBAAiB;AAGjD,QACE,WAAW,QACX,OAAO,YAAY,YACnB,EAAE,QAAQ,YACV,EAAE,YAAY,YACd,EAAE,YAAY,UACd;AACA,UAAI;AACJ,UAAI;AACF,qBAAa,KAAK,UAAU,OAAO;AAAA,MACrC,QAAQ;AACN,qBAAa,OAAO,OAAO;AAAA,MAC7B;AACA,YAAM,gBAAgC;AAAA,QACpC,MAAM;AAAA,QACN,SAAS,EAAE,IAAI,WAAW,QAAQ,WAAW,QAAQ,CAAC,EAAE;AAAA,QACxD,MAAM,IAAI,QAAQ,kCAAkC,UAAU,EAAE;AAAA,MAClE;AACA,YAAM,aAAa,SAAS,OAAO,aAAa;AAChD,WAAK,YAAY,WAAW,QAAQ,WAAW,YAAY;AAC3D;AAAA,IACF;AACA,UAAM,UAAU;AAEhB,UAAM,WAAW,QAAQ,QAAQ,MAAM;AAEvC,QAAI,YAAY,MAAM;AACpB,YAAM,WAA2B;AAAA,QAC/B;AAAA,QACA,MAAM;AAAA,QACN,MAAM,IAAI,QAAQ,mBAAmB,QAAQ,MAAM,EAAE;AAAA,MACvD;AAEA,YAAM,aAAa,SAAS,OAAO,QAAQ;AAC3C,WAAK,YAAY,WAAW,QAAQ,WAAW,YAAY;AAC3D;AAAA,IACF;AAEA,QAAI;AACF,YAAM,SAAS,MAAM,SAAS,GAAG,QAAQ,MAAM;AAE/C,YAAM,WAA2B;AAAA,QAC/B;AAAA,QACA,MAAM;AAAA,QACN,MAAM;AAAA,MACR;AAEA,YAAM,aAAa,SAAS,OAAO,QAAQ;AAC3C,WAAK,YAAY,WAAW,QAAQ,WAAW,YAAY;AAAA,IAC7D,SAAS,KAAK;AACZ,YAAM,WAA2B;AAAA,QAC/B;AAAA,QACA,MAAM;AAAA,QACN,MAAM,eAAe,QAAQ,MAAM,IAAI,MAAM,OAAO,GAAG,CAAC;AAAA,MAC1D;AAEA,YAAM,aAAa,SAAS,OAAO,QAAQ;AAC3C,WAAK,YAAY,WAAW,QAAQ,WAAW,YAAY;AAAA,IAC7D;AAAA,EACF,CAAC;AAED,SAAO;AAAA,IACL,WAAW;AAAA,IACX,UAAU,CAAC;AAAA,IACX,KAAuC,OAAU,MAAmB;AAClE,YAAM,WAA2B;AAAA,QAC/B,MAAM;AAAA,QACN;AAAA,QACA,MAAM;AAAA,MACR;AAEA,YAAM,aAAa,SAAS,OAAO,QAAQ;AAC3C,WAAK,YAAY,WAAW,QAAQ,WAAW,YAAY;AAAA,IAC7D;AAAA,EACF;AACF;",
5
- "names": []
6
- }
1
+ {"version":3,"file":"create-worker.js","sourceRoot":"","sources":["..\\..\\src\\worker\\create-worker.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  /**
2
- * Type structure of the worker module returned by `createWorker()`.
3
- * Used for type inference in `Worker.create<typeof import("./worker")>()`.
2
+ * `createWorker()`가 반환하는 워커 모듈의 타입 구조.
3
+ * `Worker.create<typeof import("./worker")>()`에서 타입 추론에 사용된다.
4
4
  *
5
- * @see createWorker - Create worker module
6
- * @see Worker.create - Create worker proxy
5
+ * @see createWorker - 워커 모듈 생성
6
+ * @see Worker.create - 워커 프록시 생성
7
7
  */
8
8
  export interface WorkerModule {
9
9
  default: {
@@ -12,33 +12,33 @@ export interface WorkerModule {
12
12
  };
13
13
  }
14
14
  /**
15
- * Mapping type that wraps method return values in Promise.
16
- * Worker methods operate based on postMessage and are always asynchronous,
17
- * so synchronous method types are also converted to `Promise<Awaited<R>>`.
15
+ * 메서드 반환값을 Promise로 감싸는 매핑 타입.
16
+ * 워커 메서드는 postMessage 기반으로 동작하여 항상 비동기이므로,
17
+ * 동기 메서드 타입도 `Promise<Awaited<R>>`로 변환된다.
18
18
  */
19
19
  export type PromisifyMethods<TMethods> = {
20
20
  [K in keyof TMethods]: TMethods[K] extends (...args: infer P) => infer R ? (...args: P) => Promise<Awaited<R>> : never;
21
21
  };
22
22
  /**
23
- * Proxy type returned by Worker.create().
24
- * Provides promisified methods + on() + terminate().
23
+ * Worker.create()가 반환하는 프록시 타입.
24
+ * Promise화된 메서드 + on() + terminate()을 제공한다.
25
25
  */
26
26
  export type WorkerProxy<TModule extends WorkerModule> = PromisifyMethods<TModule["default"]["__methods"]> & {
27
27
  /**
28
- * Registers a worker event listener.
28
+ * 워커 이벤트 리스너를 등록한다.
29
29
  */
30
30
  on<TEventName extends keyof TModule["default"]["__events"] & string>(event: TEventName, listener: (data: TModule["default"]["__events"][TEventName]) => void): void;
31
31
  /**
32
- * Unregisters a worker event listener.
32
+ * 워커 이벤트 리스너를 해제한다.
33
33
  */
34
34
  off<TEventName extends keyof TModule["default"]["__events"] & string>(event: TEventName, listener: (data: TModule["default"]["__events"][TEventName]) => void): void;
35
35
  /**
36
- * Terminates the worker.
36
+ * 워커를 종료한다.
37
37
  */
38
38
  terminate(): Promise<void>;
39
39
  };
40
40
  /**
41
- * Internal worker request message.
41
+ * 내부 워커 요청 메시지.
42
42
  */
43
43
  export interface WorkerRequest {
44
44
  id: string;
@@ -46,7 +46,7 @@ export interface WorkerRequest {
46
46
  params: unknown[];
47
47
  }
48
48
  /**
49
- * Internal worker response message.
49
+ * 내부 워커 응답 메시지.
50
50
  */
51
51
  export type WorkerResponse = {
52
52
  request: WorkerRequest;
@@ -1 +1,4 @@
1
- //# sourceMappingURL=types.js.map
1
+ //#region Types
2
+ export {};
3
+ //#endregion
4
+ //# sourceMappingURL=types.js.map
@@ -1,6 +1 @@
1
- {
2
- "version": 3,
3
- "sources": [],
4
- "mappings": "",
5
- "names": []
6
- }
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["..\\..\\src\\worker\\types.ts"],"names":[],"mappings":"AAAA,eAAe;;AAyFf,YAAY"}