goscript 0.0.82 → 0.0.83

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 (68) hide show
  1. package/dist/gs/os/dir.gs.js +41 -27
  2. package/dist/gs/os/dir.gs.js.map +1 -1
  3. package/dist/gs/os/exec.gs.js +1 -2
  4. package/dist/gs/os/exec.gs.js.map +1 -1
  5. package/dist/gs/os/exec_posix.gs.js +1 -1
  6. package/dist/gs/os/exec_posix.gs.js.map +1 -1
  7. package/dist/gs/os/file_constants_js.gs.js +71 -7
  8. package/dist/gs/os/file_constants_js.gs.js.map +1 -1
  9. package/dist/gs/os/file_js.gs.js +168 -24
  10. package/dist/gs/os/file_js.gs.js.map +1 -1
  11. package/dist/gs/os/file_posix_js.gs.js +75 -11
  12. package/dist/gs/os/file_posix_js.gs.js.map +1 -1
  13. package/dist/gs/os/file_unix_js.gs.d.ts +3 -3
  14. package/dist/gs/os/file_unix_js.gs.js +218 -21
  15. package/dist/gs/os/file_unix_js.gs.js.map +1 -1
  16. package/dist/gs/os/getwd_js.gs.js +19 -6
  17. package/dist/gs/os/getwd_js.gs.js.map +1 -1
  18. package/dist/gs/os/path.gs.js +3 -3
  19. package/dist/gs/os/path.gs.js.map +1 -1
  20. package/dist/gs/os/pidfd_js.gs.js +0 -3
  21. package/dist/gs/os/pidfd_js.gs.js.map +1 -1
  22. package/dist/gs/os/proc.gs.js +6 -3
  23. package/dist/gs/os/proc.gs.js.map +1 -1
  24. package/dist/gs/os/proc_js.gs.js +10 -5
  25. package/dist/gs/os/proc_js.gs.js.map +1 -1
  26. package/dist/gs/os/rawconn_js.gs.d.ts +6 -3
  27. package/dist/gs/os/rawconn_js.gs.js +16 -10
  28. package/dist/gs/os/rawconn_js.gs.js.map +1 -1
  29. package/dist/gs/os/removeall_js.gs.js +2 -4
  30. package/dist/gs/os/removeall_js.gs.js.map +1 -1
  31. package/dist/gs/os/root_js.gs.d.ts +4 -1
  32. package/dist/gs/os/root_js.gs.js +90 -40
  33. package/dist/gs/os/root_js.gs.js.map +1 -1
  34. package/dist/gs/os/root_noopenat.gs.js +13 -16
  35. package/dist/gs/os/root_noopenat.gs.js.map +1 -1
  36. package/dist/gs/os/stat_js.gs.js +40 -4
  37. package/dist/gs/os/stat_js.gs.js.map +1 -1
  38. package/dist/gs/os/stat_unix_js.gs.d.ts +1 -1
  39. package/dist/gs/os/stat_unix_js.gs.js +5 -10
  40. package/dist/gs/os/stat_unix_js.gs.js.map +1 -1
  41. package/dist/gs/os/tempfile.gs.d.ts +1 -1
  42. package/dist/gs/os/tempfile.gs.js +24 -7
  43. package/dist/gs/os/tempfile.gs.js.map +1 -1
  44. package/dist/gs/os/types_js.gs.d.ts +78 -1
  45. package/dist/gs/os/types_js.gs.js +464 -23
  46. package/dist/gs/os/types_js.gs.js.map +1 -1
  47. package/gs/os/dir.gs.ts +40 -28
  48. package/gs/os/exec.gs.ts +2 -4
  49. package/gs/os/exec_posix.gs.ts +1 -2
  50. package/gs/os/file_constants_js.gs.ts +70 -8
  51. package/gs/os/file_js.gs.ts +156 -26
  52. package/gs/os/file_posix_js.gs.ts +69 -13
  53. package/gs/os/file_unix_js.gs.ts +212 -24
  54. package/gs/os/file_unix_js.test.ts +131 -0
  55. package/gs/os/getwd_js.gs.ts +18 -8
  56. package/gs/os/path.gs.ts +3 -4
  57. package/gs/os/pidfd_js.gs.ts +3 -8
  58. package/gs/os/proc.gs.ts +6 -4
  59. package/gs/os/proc_js.gs.ts +11 -8
  60. package/gs/os/rawconn_js.gs.ts +22 -14
  61. package/gs/os/removeall_js.gs.ts +3 -6
  62. package/gs/os/root_js.gs.ts +94 -42
  63. package/gs/os/root_noopenat.gs.ts +13 -20
  64. package/gs/os/stat_js.gs.ts +37 -6
  65. package/gs/os/stat_unix_js.gs.ts +6 -13
  66. package/gs/os/tempfile.gs.ts +27 -9
  67. package/gs/os/types_js.gs.ts +528 -26
  68. package/package.json +1 -1
@@ -1,35 +1,49 @@
1
+ import * as $ from "@goscript/builtin/index.js";
1
2
  import { ErrUnimplemented } from "./error.gs.js";
2
- // ReadDir reads the named directory,
3
- // returning all its directory entries sorted by filename.
4
- // If an error occurs reading the directory,
5
- // ReadDir returns the entries it was able to read before the error,
6
- // along with the error.
3
+ import { createFileInfo, getDeno, getNodeFS, newHostError } from "./types_js.gs.js";
4
+ import { FileInfoToDirEntry } from "@goscript/io/fs/readdir.js";
7
5
  export function ReadDir(name) {
8
- // Directory reading not supported in JavaScript environment
6
+ const denoObj = getDeno();
7
+ if (denoObj?.readDirSync) {
8
+ try {
9
+ const entries = [];
10
+ for (const entry of denoObj.readDirSync(name)) {
11
+ const dirEntry = FileInfoToDirEntry(createFileInfo(entry.name, {
12
+ isDirectory: () => entry.isDirectory,
13
+ isSymbolicLink: () => entry.isSymlink,
14
+ mode: 0,
15
+ size: 0,
16
+ }));
17
+ if (dirEntry !== null) {
18
+ entries.push(dirEntry);
19
+ }
20
+ }
21
+ entries.sort((a, b) => (a?.Name() ?? "").localeCompare(b?.Name() ?? ""));
22
+ return [$.arrayToSlice(entries), null];
23
+ }
24
+ catch (err) {
25
+ return [null, newHostError(err)];
26
+ }
27
+ }
28
+ const nodeFS = getNodeFS();
29
+ if (nodeFS?.readdirSync) {
30
+ try {
31
+ const entries = nodeFS.readdirSync(name, { withFileTypes: true }).map((entry) => FileInfoToDirEntry(createFileInfo(entry.name, {
32
+ isDirectory: () => typeof entry.isDirectory === "function" ? entry.isDirectory() : false,
33
+ isSymbolicLink: () => typeof entry.isSymbolicLink === "function" ? entry.isSymbolicLink() : false,
34
+ mode: 0,
35
+ size: 0,
36
+ }))).filter((entry) => entry !== null);
37
+ entries.sort((a, b) => (a?.Name() ?? "").localeCompare(b?.Name() ?? ""));
38
+ return [$.arrayToSlice(entries), null];
39
+ }
40
+ catch (err) {
41
+ return [null, newHostError(err)];
42
+ }
43
+ }
9
44
  return [null, ErrUnimplemented];
10
45
  }
11
- // CopyFS copies the file system fsys into the directory dir,
12
- // creating dir if necessary.
13
- //
14
- // Files are created with mode 0o666 plus any execute permissions
15
- // from the source, and directories are created with mode 0o777
16
- // (before umask).
17
- //
18
- // CopyFS will not overwrite existing files. If a file name in fsys
19
- // already exists in the destination, CopyFS will return an error
20
- // such that errors.Is(err, fs.ErrExist) will be true.
21
- //
22
- // Symbolic links in fsys are not supported. A *PathError with Err set
23
- // to ErrInvalid is returned when copying from a symbolic link.
24
- //
25
- // Symbolic links in dir are followed.
26
- //
27
- // New files added to fsys (including if dir is a subdirectory of fsys)
28
- // while CopyFS is running are not guaranteed to be copied.
29
- //
30
- // Copying stops at and returns the first error encountered.
31
46
  export function CopyFS(dir, fsys) {
32
- // File system copying not supported in JavaScript environment
33
47
  return ErrUnimplemented;
34
48
  }
35
49
  //# sourceMappingURL=dir.gs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dir.gs.js","sourceRoot":"","sources":["../../../gs/os/dir.gs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAMjD,qCAAqC;AACrC,0DAA0D;AAC1D,4CAA4C;AAC5C,oEAAoE;AACpE,wBAAwB;AACxB,MAAM,UAAU,OAAO,CAAC,IAAY;IACnC,4DAA4D;IAC5D,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAA;AAChC,CAAC;AAED,6DAA6D;AAC7D,6BAA6B;AAC7B,EAAE;AACF,iEAAiE;AACjE,+DAA+D;AAC/D,kBAAkB;AAClB,EAAE;AACF,mEAAmE;AACnE,iEAAiE;AACjE,sDAAsD;AACtD,EAAE;AACF,sEAAsE;AACtE,+DAA+D;AAC/D,EAAE;AACF,sCAAsC;AACtC,EAAE;AACF,uEAAuE;AACvE,2DAA2D;AAC3D,EAAE;AACF,4DAA4D;AAC5D,MAAM,UAAU,MAAM,CAAC,GAAW,EAAE,IAAW;IAC9C,8DAA8D;IAC9D,OAAO,gBAAgB,CAAA;AACxB,CAAC"}
1
+ {"version":3,"file":"dir.gs.js","sourceRoot":"","sources":["../../../gs/os/dir.gs.ts"],"names":[],"mappings":"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"}
@@ -97,7 +97,7 @@ export class ProcAttr {
97
97
  "Sys": { kind: $.TypeKind.Basic, name: "any" }
98
98
  });
99
99
  }
100
- // Stub ProcessState for JavaScript environment
100
+ // ProcessState mirrors the minimal JavaScript process surface.
101
101
  export class ProcessState {
102
102
  _fields;
103
103
  constructor() {
@@ -110,7 +110,6 @@ export class ProcessState {
110
110
  static __typeInfo = $.registerStructType('ProcessState', new ProcessState(), [], ProcessState, {});
111
111
  }
112
112
  export const Signal = null;
113
- // Stub functions that return ErrUnimplemented
114
113
  export function Getpid() {
115
114
  return -1; // Not available in JavaScript
116
115
  }
@@ -1 +1 @@
1
- {"version":3,"file":"exec.gs.js","sourceRoot":"","sources":["../../../gs/os/exec.gs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exec.gs.js","sourceRoot":"","sources":["../../../gs/os/exec.gs.ts"],"names":[],"mappings":"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"}
@@ -23,7 +23,7 @@ export class ProcessState {
23
23
  };
24
24
  return cloned;
25
25
  }
26
- // All methods return stub values for JavaScript environment
26
+ // JavaScript does not expose process timing and wait status details.
27
27
  UserTime() {
28
28
  return 0; // Duration not available
29
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"exec_posix.gs.js","sourceRoot":"","sources":["../../../gs/os/exec_posix.gs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exec_posix.gs.js","sourceRoot":"","sources":["../../../gs/os/exec_posix.gs.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,15 @@
1
1
  import * as $ from "@goscript/builtin/index.js";
2
2
  import { ErrUnimplemented } from "./error.gs.js";
3
- // JavaScript-specific stubs for file constants and operations
4
- // These provide the required constants and stub implementations
3
+ import { getDeno, getEnv, getNodeFS, getPlatform, newHostError } from "./types_js.gs.js";
4
+ function pickFirstEnv(keys) {
5
+ for (const key of keys) {
6
+ const value = getEnv(key);
7
+ if (value !== "") {
8
+ return value;
9
+ }
10
+ }
11
+ return "";
12
+ }
5
13
  // File open flags - using values compatible with typical Unix systems
6
14
  export const O_RDONLY = 0;
7
15
  export const O_WRONLY = 1;
@@ -15,7 +23,7 @@ export const O_TRUNC = 512;
15
23
  export const SEEK_SET = 0;
16
24
  export const SEEK_CUR = 1;
17
25
  export const SEEK_END = 2;
18
- // LinkError stub for compatibility
26
+ // LinkError carries details for link-related path errors.
19
27
  export class LinkError {
20
28
  get Op() {
21
29
  return this._fields.Op.value;
@@ -59,20 +67,76 @@ export class LinkError {
59
67
  return e.Err;
60
68
  }
61
69
  }
62
- // Directory and file operation stubs
63
70
  export function Readlink(name) {
71
+ const denoObj = getDeno();
72
+ if (denoObj?.readLinkSync) {
73
+ try {
74
+ return [denoObj.readLinkSync(name), null];
75
+ }
76
+ catch (err) {
77
+ return ["", newHostError(err)];
78
+ }
79
+ }
80
+ const nodeFS = getNodeFS();
81
+ if (nodeFS?.readlinkSync) {
82
+ try {
83
+ return [nodeFS.readlinkSync(name), null];
84
+ }
85
+ catch (err) {
86
+ return ["", newHostError(err)];
87
+ }
88
+ }
64
89
  return ["", ErrUnimplemented];
65
90
  }
66
91
  export function TempDir() {
67
- return "/tmp";
92
+ const value = pickFirstEnv(["TMPDIR", "TEMP", "TMP"]);
93
+ if (value !== "") {
94
+ return value;
95
+ }
96
+ return getPlatform() === "win32" ? "." : "/tmp";
68
97
  }
69
98
  export function UserCacheDir() {
70
- return ["", ErrUnimplemented];
99
+ if (getPlatform() === "win32") {
100
+ const value = pickFirstEnv(["LOCALAPPDATA", "APPDATA", "USERPROFILE"]);
101
+ if (value !== "") {
102
+ return [value, null];
103
+ }
104
+ return ["", ErrUnimplemented];
105
+ }
106
+ const value = pickFirstEnv(["XDG_CACHE_HOME"]);
107
+ if (value !== "") {
108
+ return [value, null];
109
+ }
110
+ const [home, err] = UserHomeDir();
111
+ if (err !== null || home === "") {
112
+ return ["", err ?? ErrUnimplemented];
113
+ }
114
+ return [home.replace(/\/+$/, "") + "/.cache", null];
71
115
  }
72
116
  export function UserConfigDir() {
73
- return ["", ErrUnimplemented];
117
+ if (getPlatform() === "win32") {
118
+ const value = pickFirstEnv(["APPDATA", "USERPROFILE"]);
119
+ if (value !== "") {
120
+ return [value, null];
121
+ }
122
+ return ["", ErrUnimplemented];
123
+ }
124
+ const value = pickFirstEnv(["XDG_CONFIG_HOME"]);
125
+ if (value !== "") {
126
+ return [value, null];
127
+ }
128
+ const [home, err] = UserHomeDir();
129
+ if (err !== null || home === "") {
130
+ return ["", err ?? ErrUnimplemented];
131
+ }
132
+ return [home.replace(/\/+$/, "") + "/.config", null];
74
133
  }
75
134
  export function UserHomeDir() {
135
+ const keys = getPlatform() === "win32" ? ["USERPROFILE", "HOMEDRIVE", "HOME"] : ["HOME"];
136
+ const value = pickFirstEnv(keys);
137
+ if (value !== "") {
138
+ return [value, null];
139
+ }
76
140
  return ["", ErrUnimplemented];
77
141
  }
78
142
  //# sourceMappingURL=file_constants_js.gs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"file_constants_js.gs.js","sourceRoot":"","sources":["../../../gs/os/file_constants_js.gs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file_constants_js.gs.js","sourceRoot":"","sources":["../../../gs/os/file_constants_js.gs.ts"],"names":[],"mappings":"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"}
@@ -1,73 +1,217 @@
1
- import { ErrUnimplemented } from "./error.gs.js";
2
- // JavaScript-specific implementations for filesystem operations
3
- // These functions stub filesystem operations that cannot be implemented
4
- // in a JavaScript environment
5
- // File operations - stub implementations
1
+ import * as $ from "@goscript/builtin/index.js";
2
+ import { ErrInvalid, ErrUnimplemented } from "./error.gs.js";
3
+ import { getDeno, getNodeFS, newHostError } from "./types_js.gs.js";
4
+ import { O_CREATE, O_RDONLY, O_RDWR, O_TRUNC } from "./file_constants_js.gs.js";
5
+ import { Link as linkPath, openFileNolog, readlink, Remove as removePath, rename as renamePath, Symlink as symlinkPath, Truncate as truncatePath } from "./file_unix_js.gs.js";
6
+ import { Lstat as lstatPath, Stat as statPath } from "./stat_js.gs.js";
7
+ import { ValidPath } from "@goscript/io/fs/index.js";
6
8
  export function Open(name) {
7
- return [null, ErrUnimplemented];
9
+ return OpenFile(name, O_RDONLY, 0);
8
10
  }
9
11
  export function Create(name) {
10
- return [null, ErrUnimplemented];
12
+ return OpenFile(name, O_RDWR | O_CREATE | O_TRUNC, 0o666);
11
13
  }
12
14
  export function OpenFile(name, flag, perm) {
13
- return [null, ErrUnimplemented];
15
+ return openFileNolog(name, flag, perm);
14
16
  }
15
17
  export function ReadFile(name) {
18
+ const denoObj = getDeno();
19
+ if (denoObj?.readFileSync) {
20
+ try {
21
+ return [denoObj.readFileSync(name), null];
22
+ }
23
+ catch (err) {
24
+ return [null, newHostError(err)];
25
+ }
26
+ }
27
+ const nodeFS = getNodeFS();
28
+ if (nodeFS?.readFileSync) {
29
+ try {
30
+ return [nodeFS.readFileSync(name), null];
31
+ }
32
+ catch (err) {
33
+ return [null, newHostError(err)];
34
+ }
35
+ }
16
36
  return [null, ErrUnimplemented];
17
37
  }
18
38
  export function WriteFile(name, data, perm) {
39
+ const buf = $.bytesToUint8Array(data);
40
+ const denoObj = getDeno();
41
+ if (denoObj?.writeFileSync) {
42
+ try {
43
+ denoObj.writeFileSync(name, buf, { mode: perm });
44
+ return null;
45
+ }
46
+ catch (err) {
47
+ return newHostError(err);
48
+ }
49
+ }
50
+ const nodeFS = getNodeFS();
51
+ if (nodeFS?.writeFileSync) {
52
+ try {
53
+ nodeFS.writeFileSync(name, buf, { mode: perm });
54
+ return null;
55
+ }
56
+ catch (err) {
57
+ return newHostError(err);
58
+ }
59
+ }
19
60
  return ErrUnimplemented;
20
61
  }
21
- // Directory operations - stub implementations
22
62
  export function Mkdir(name, perm) {
63
+ const denoObj = getDeno();
64
+ if (denoObj?.mkdirSync) {
65
+ try {
66
+ denoObj.mkdirSync(name, { mode: perm });
67
+ return null;
68
+ }
69
+ catch (err) {
70
+ return newHostError(err);
71
+ }
72
+ }
73
+ const nodeFS = getNodeFS();
74
+ if (nodeFS?.mkdirSync) {
75
+ try {
76
+ nodeFS.mkdirSync(name, { mode: perm });
77
+ return null;
78
+ }
79
+ catch (err) {
80
+ return newHostError(err);
81
+ }
82
+ }
23
83
  return ErrUnimplemented;
24
84
  }
25
85
  export function MkdirAll(path, perm) {
86
+ const denoObj = getDeno();
87
+ if (denoObj?.mkdirSync) {
88
+ try {
89
+ denoObj.mkdirSync(path, { mode: perm, recursive: true });
90
+ return null;
91
+ }
92
+ catch (err) {
93
+ return newHostError(err);
94
+ }
95
+ }
96
+ const nodeFS = getNodeFS();
97
+ if (nodeFS?.mkdirSync) {
98
+ try {
99
+ nodeFS.mkdirSync(path, { mode: perm, recursive: true });
100
+ return null;
101
+ }
102
+ catch (err) {
103
+ return newHostError(err);
104
+ }
105
+ }
26
106
  return ErrUnimplemented;
27
107
  }
28
108
  export function Remove(name) {
29
- return ErrUnimplemented;
109
+ return removePath(name);
30
110
  }
31
111
  export function RemoveAll(path) {
112
+ const denoObj = getDeno();
113
+ if (denoObj?.removeSync) {
114
+ try {
115
+ denoObj.removeSync(path, { recursive: true });
116
+ return null;
117
+ }
118
+ catch (err) {
119
+ return newHostError(err);
120
+ }
121
+ }
122
+ const nodeFS = getNodeFS();
123
+ if (nodeFS?.rmSync) {
124
+ try {
125
+ nodeFS.rmSync(path, { force: true, recursive: true });
126
+ return null;
127
+ }
128
+ catch (err) {
129
+ return newHostError(err);
130
+ }
131
+ }
32
132
  return ErrUnimplemented;
33
133
  }
34
134
  export function Chdir(dir) {
135
+ const denoObj = getDeno();
136
+ if (denoObj?.chdir) {
137
+ try {
138
+ denoObj.chdir(dir);
139
+ return null;
140
+ }
141
+ catch (err) {
142
+ return newHostError(err);
143
+ }
144
+ }
145
+ const processObj = globalThis.process;
146
+ if (processObj?.chdir) {
147
+ try {
148
+ processObj.chdir(dir);
149
+ return null;
150
+ }
151
+ catch (err) {
152
+ return newHostError(err);
153
+ }
154
+ }
35
155
  return ErrUnimplemented;
36
156
  }
37
157
  export function Chmod(name, mode) {
158
+ const denoObj = getDeno();
159
+ if (denoObj?.chmodSync) {
160
+ try {
161
+ denoObj.chmodSync(name, mode);
162
+ return null;
163
+ }
164
+ catch (err) {
165
+ return newHostError(err);
166
+ }
167
+ }
168
+ const nodeFS = getNodeFS();
169
+ if (nodeFS?.chmodSync) {
170
+ try {
171
+ nodeFS.chmodSync(name, mode);
172
+ return null;
173
+ }
174
+ catch (err) {
175
+ return newHostError(err);
176
+ }
177
+ }
38
178
  return ErrUnimplemented;
39
179
  }
40
180
  export function Rename(oldpath, newpath) {
41
- return ErrUnimplemented;
181
+ return renamePath(oldpath, newpath);
42
182
  }
43
- // File information operations - stub implementations
44
183
  export function Stat(name) {
45
- return [null, ErrUnimplemented];
184
+ return statPath(name);
46
185
  }
47
186
  export function Lstat(name) {
48
- return [null, ErrUnimplemented];
187
+ return lstatPath(name);
49
188
  }
50
- // Link operations - stub implementations
51
189
  export function Link(oldname, newname) {
52
- return ErrUnimplemented;
190
+ return linkPath(oldname, newname);
53
191
  }
54
192
  export function Symlink(oldname, newname) {
55
- return ErrUnimplemented;
193
+ return symlinkPath(oldname, newname);
56
194
  }
57
195
  export function Readlink(name) {
58
- return ["", ErrUnimplemented];
196
+ return readlink(name);
59
197
  }
60
198
  export function Truncate(name, size) {
61
- return ErrUnimplemented;
199
+ return truncatePath(name, size);
62
200
  }
63
- // File system information - stub implementations
64
201
  export function DirFS(dir) {
65
- // Return a stub filesystem that always returns ErrUnimplemented
66
- return new stubFS();
202
+ return new hostFS({ root: dir });
67
203
  }
68
- class stubFS {
204
+ class hostFS {
205
+ root;
206
+ constructor(init) {
207
+ this.root = init?.root ?? ".";
208
+ }
69
209
  Open(name) {
70
- return [null, ErrUnimplemented];
210
+ if (!ValidPath(name)) {
211
+ return [null, ErrInvalid];
212
+ }
213
+ const fullPath = name === "." ? this.root : this.root.replace(/\/+$/, "") + "/" + name;
214
+ return Open(fullPath);
71
215
  }
72
216
  }
73
217
  //# sourceMappingURL=file_js.gs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"file_js.gs.js","sourceRoot":"","sources":["../../../gs/os/file_js.gs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAKjD,gEAAgE;AAChE,yEAAyE;AACzE,8BAA8B;AAE9B,yCAAyC;AACzC,MAAM,UAAU,IAAI,CAAC,IAAY;IAC/B,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAA;AACjC,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,IAAY;IACjC,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAA;AACjC,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAY,EAAE,IAAY,EAAE,IAAY;IAC/D,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAA;AACjC,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAA;AACjC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,IAAa,EAAE,IAAY;IACjE,OAAO,gBAAgB,CAAA;AACzB,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,KAAK,CAAC,IAAY,EAAE,IAAY;IAC9C,OAAO,gBAAgB,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAY,EAAE,IAAY;IACjD,OAAO,gBAAgB,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,IAAY;IACjC,OAAO,gBAAgB,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,OAAO,gBAAgB,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,GAAW;IAC/B,OAAO,gBAAgB,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,IAAY,EAAE,IAAY;IAC9C,OAAO,gBAAgB,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,OAAe,EAAE,OAAe;IACrD,OAAO,gBAAgB,CAAA;AACzB,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,IAAI,CAAC,IAAY;IAC/B,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAA;AACjC,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,IAAY;IAChC,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAA;AACjC,CAAC;AAED,2CAA2C;AAC3C,MAAM,UAAU,IAAI,CAAC,OAAe,EAAE,OAAe;IACnD,OAAO,gBAAgB,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,OAAe,EAAE,OAAe;IACtD,OAAO,gBAAgB,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,OAAO,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAA;AAC/B,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAY,EAAE,IAAY;IACjD,OAAO,gBAAgB,CAAA;AACzB,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,KAAK,CAAC,GAAW;IAC/B,gEAAgE;IAChE,OAAO,IAAI,MAAM,EAAE,CAAA;AACrB,CAAC;AAED,MAAM,MAAM;IACH,IAAI,CAAC,IAAY;QACtB,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAA;IACjC,CAAC;CACF"}
1
+ {"version":3,"file":"file_js.gs.js","sourceRoot":"","sources":["../../../gs/os/file_js.gs.ts"],"names":[],"mappings":"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"}
@@ -1,32 +1,96 @@
1
1
  import { ErrUnimplemented } from "./error.gs.js";
2
- // JavaScript-specific stubs for POSIX file operations
3
- // These operations are not available in JavaScript environments
4
- // syscallMode stub
2
+ import { getDeno, getNodeFS, newHostError } from "./types_js.gs.js";
5
3
  export function syscallMode(i) {
6
4
  return 0;
7
5
  }
8
- // ignoringEINTR stub
9
6
  export function ignoringEINTR(fn) {
10
- return ErrUnimplemented;
7
+ return fn();
11
8
  }
12
- // ignoringEINTR2 stub
13
9
  export function ignoringEINTR2(fn) {
14
- return ["", ErrUnimplemented];
10
+ return fn();
15
11
  }
16
- // Chmod operation stub
17
12
  export function Chmod(name, mode) {
13
+ const denoObj = getDeno();
14
+ if (denoObj?.chmodSync) {
15
+ try {
16
+ denoObj.chmodSync(name, mode);
17
+ return null;
18
+ }
19
+ catch (err) {
20
+ return newHostError(err);
21
+ }
22
+ }
23
+ const nodeFS = getNodeFS();
24
+ if (nodeFS?.chmodSync) {
25
+ try {
26
+ nodeFS.chmodSync(name, mode);
27
+ return null;
28
+ }
29
+ catch (err) {
30
+ return newHostError(err);
31
+ }
32
+ }
18
33
  return ErrUnimplemented;
19
34
  }
20
- // Chown operation stub
21
35
  export function Chown(name, uid, gid) {
36
+ const denoObj = getDeno();
37
+ if (denoObj?.chownSync) {
38
+ try {
39
+ denoObj.chownSync(name, uid, gid);
40
+ return null;
41
+ }
42
+ catch (err) {
43
+ return newHostError(err);
44
+ }
45
+ }
46
+ const nodeFS = getNodeFS();
47
+ if (nodeFS?.chownSync) {
48
+ try {
49
+ nodeFS.chownSync(name, uid, gid);
50
+ return null;
51
+ }
52
+ catch (err) {
53
+ return newHostError(err);
54
+ }
55
+ }
22
56
  return ErrUnimplemented;
23
57
  }
24
- // Lchown operation stub
25
58
  export function Lchown(name, uid, gid) {
59
+ const nodeFS = getNodeFS();
60
+ if (nodeFS?.lchownSync) {
61
+ try {
62
+ nodeFS.lchownSync(name, uid, gid);
63
+ return null;
64
+ }
65
+ catch (err) {
66
+ return newHostError(err);
67
+ }
68
+ }
26
69
  return ErrUnimplemented;
27
70
  }
28
- // Chtimes operation stub
29
71
  export function Chtimes(name, atime, mtime) {
72
+ const at = typeof atime?.UnixMilli === "function" ? new Date(atime.UnixMilli()) : new Date(atime);
73
+ const mt = typeof mtime?.UnixMilli === "function" ? new Date(mtime.UnixMilli()) : new Date(mtime);
74
+ const denoObj = getDeno();
75
+ if (denoObj?.utimeSync) {
76
+ try {
77
+ denoObj.utimeSync(name, at, mt);
78
+ return null;
79
+ }
80
+ catch (err) {
81
+ return newHostError(err);
82
+ }
83
+ }
84
+ const nodeFS = getNodeFS();
85
+ if (nodeFS?.utimesSync) {
86
+ try {
87
+ nodeFS.utimesSync(name, at, mt);
88
+ return null;
89
+ }
90
+ catch (err) {
91
+ return newHostError(err);
92
+ }
93
+ }
30
94
  return ErrUnimplemented;
31
95
  }
32
96
  //# sourceMappingURL=file_posix_js.gs.js.map