goscript 0.0.82 → 0.0.84
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/gs/builtin/builtin.js +4 -7
- package/dist/gs/builtin/builtin.js.map +1 -1
- package/dist/gs/builtin/hostio.d.ts +72 -0
- package/dist/gs/builtin/hostio.js +181 -0
- package/dist/gs/builtin/hostio.js.map +1 -0
- package/dist/gs/builtin/print.d.ts +8 -0
- package/dist/gs/builtin/print.js +111 -0
- package/dist/gs/builtin/print.js.map +1 -0
- package/dist/gs/fmt/fmt.js +2 -22
- package/dist/gs/fmt/fmt.js.map +1 -1
- package/dist/gs/os/dir.gs.js +41 -27
- package/dist/gs/os/dir.gs.js.map +1 -1
- package/dist/gs/os/exec.gs.js +1 -2
- package/dist/gs/os/exec.gs.js.map +1 -1
- package/dist/gs/os/exec_posix.gs.js +1 -1
- package/dist/gs/os/exec_posix.gs.js.map +1 -1
- package/dist/gs/os/file_constants_js.gs.js +71 -7
- package/dist/gs/os/file_constants_js.gs.js.map +1 -1
- package/dist/gs/os/file_js.gs.js +168 -24
- package/dist/gs/os/file_js.gs.js.map +1 -1
- package/dist/gs/os/file_posix_js.gs.js +75 -11
- package/dist/gs/os/file_posix_js.gs.js.map +1 -1
- package/dist/gs/os/file_unix_js.gs.d.ts +3 -3
- package/dist/gs/os/file_unix_js.gs.js +218 -21
- package/dist/gs/os/file_unix_js.gs.js.map +1 -1
- package/dist/gs/os/getwd_js.gs.js +19 -6
- package/dist/gs/os/getwd_js.gs.js.map +1 -1
- package/dist/gs/os/path.gs.js +3 -3
- package/dist/gs/os/path.gs.js.map +1 -1
- package/dist/gs/os/pidfd_js.gs.js +0 -3
- package/dist/gs/os/pidfd_js.gs.js.map +1 -1
- package/dist/gs/os/proc.gs.js +6 -3
- package/dist/gs/os/proc.gs.js.map +1 -1
- package/dist/gs/os/proc_js.gs.js +10 -5
- package/dist/gs/os/proc_js.gs.js.map +1 -1
- package/dist/gs/os/rawconn_js.gs.d.ts +6 -3
- package/dist/gs/os/rawconn_js.gs.js +16 -10
- package/dist/gs/os/rawconn_js.gs.js.map +1 -1
- package/dist/gs/os/removeall_js.gs.js +2 -4
- package/dist/gs/os/removeall_js.gs.js.map +1 -1
- package/dist/gs/os/root_js.gs.d.ts +4 -1
- package/dist/gs/os/root_js.gs.js +90 -40
- package/dist/gs/os/root_js.gs.js.map +1 -1
- package/dist/gs/os/root_noopenat.gs.js +13 -16
- package/dist/gs/os/root_noopenat.gs.js.map +1 -1
- package/dist/gs/os/stat_js.gs.js +40 -4
- package/dist/gs/os/stat_js.gs.js.map +1 -1
- package/dist/gs/os/stat_unix_js.gs.d.ts +1 -1
- package/dist/gs/os/stat_unix_js.gs.js +5 -10
- package/dist/gs/os/stat_unix_js.gs.js.map +1 -1
- package/dist/gs/os/tempfile.gs.d.ts +1 -1
- package/dist/gs/os/tempfile.gs.js +24 -7
- package/dist/gs/os/tempfile.gs.js.map +1 -1
- package/dist/gs/os/types_js.gs.d.ts +30 -2
- package/dist/gs/os/types_js.gs.js +426 -23
- package/dist/gs/os/types_js.gs.js.map +1 -1
- package/gs/builtin/builtin.ts +4 -6
- package/gs/builtin/hostio.test.ts +69 -0
- package/gs/builtin/hostio.ts +298 -0
- package/gs/builtin/print.test.ts +48 -0
- package/gs/builtin/print.ts +154 -0
- package/gs/fmt/fmt.test.ts +41 -30
- package/gs/fmt/fmt.ts +2 -22
- package/gs/os/dir.gs.ts +40 -28
- package/gs/os/exec.gs.ts +2 -4
- package/gs/os/exec_posix.gs.ts +1 -2
- package/gs/os/file_constants_js.gs.ts +70 -8
- package/gs/os/file_js.gs.ts +156 -26
- package/gs/os/file_posix_js.gs.ts +69 -13
- package/gs/os/file_unix_js.gs.ts +212 -24
- package/gs/os/file_unix_js.test.ts +184 -0
- package/gs/os/getwd_js.gs.ts +18 -8
- package/gs/os/path.gs.ts +3 -4
- package/gs/os/pidfd_js.gs.ts +3 -8
- package/gs/os/proc.gs.ts +6 -4
- package/gs/os/proc_js.gs.ts +11 -8
- package/gs/os/rawconn_js.gs.ts +22 -14
- package/gs/os/removeall_js.gs.ts +3 -6
- package/gs/os/root_js.gs.ts +94 -42
- package/gs/os/root_noopenat.gs.ts +13 -20
- package/gs/os/stat_js.gs.ts +37 -6
- package/gs/os/stat_unix_js.gs.ts +6 -13
- package/gs/os/tempfile.gs.ts +27 -9
- package/gs/os/types_js.gs.ts +449 -26
- package/package.json +1 -1
|
@@ -1,46 +1,226 @@
|
|
|
1
1
|
import { ErrUnimplemented } from "./error.gs.js";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
2
|
+
import { createFileInfo, createHostFile, getDeno, getEnv, getNodeFS, getPlatform, newHostError } from "./types_js.gs.js";
|
|
3
|
+
import { O_APPEND, O_CREATE, O_EXCL, O_RDONLY, O_RDWR, O_TRUNC, O_WRONLY } from "./file_constants_js.gs.js";
|
|
4
|
+
import { FileInfoToDirEntry } from "@goscript/io/fs/readdir.js";
|
|
5
|
+
function getDevNullPath() {
|
|
6
|
+
return getPlatform() === "win32" ? "NUL" : "/dev/null";
|
|
7
|
+
}
|
|
8
|
+
function getTempDirPath() {
|
|
9
|
+
for (const key of ["TMPDIR", "TEMP", "TMP"]) {
|
|
10
|
+
const value = getEnv(key);
|
|
11
|
+
if (value !== "") {
|
|
12
|
+
return value;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
return getPlatform() === "win32" ? "." : "/tmp";
|
|
16
|
+
}
|
|
17
|
+
function openOptionsFromFlags(flag) {
|
|
18
|
+
const readWrite = (flag & O_RDWR) !== 0;
|
|
19
|
+
const writeOnly = !readWrite && (flag & O_WRONLY) !== 0;
|
|
20
|
+
const write = readWrite || writeOnly;
|
|
21
|
+
const read = readWrite || !writeOnly;
|
|
22
|
+
return {
|
|
23
|
+
append: (flag & O_APPEND) !== 0,
|
|
24
|
+
create: (flag & O_CREATE) !== 0,
|
|
25
|
+
createNew: (flag & O_CREATE) !== 0 && (flag & O_EXCL) !== 0,
|
|
26
|
+
read,
|
|
27
|
+
truncate: (flag & O_TRUNC) !== 0,
|
|
28
|
+
write,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
// Device null path for the host platform.
|
|
32
|
+
export const DevNull = getDevNullPath();
|
|
33
|
+
const standardInputFD = 0;
|
|
34
|
+
const standardOutputFD = 1;
|
|
35
|
+
const standardErrorFD = 2;
|
|
36
|
+
// Stdin, Stdout, and Stderr expose the host process standard streams.
|
|
37
|
+
export const Stdin = NewFile(standardInputFD, "/dev/stdin");
|
|
38
|
+
export const Stdout = NewFile(standardOutputFD, "/dev/stdout");
|
|
39
|
+
export const Stderr = NewFile(standardErrorFD, "/dev/stderr");
|
|
40
|
+
// NewFile creates a File from a file descriptor.
|
|
11
41
|
export function NewFile(fd, name) {
|
|
12
|
-
|
|
42
|
+
if (!Number.isInteger(fd) || fd < 0) {
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
return createHostFile(name, fd);
|
|
13
46
|
}
|
|
14
|
-
// File operations that need to be stubbed
|
|
15
47
|
export function Remove(name) {
|
|
48
|
+
const denoObj = getDeno();
|
|
49
|
+
if (denoObj?.removeSync) {
|
|
50
|
+
try {
|
|
51
|
+
denoObj.removeSync(name);
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
54
|
+
catch (err) {
|
|
55
|
+
return newHostError(err);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
const nodeFS = getNodeFS();
|
|
59
|
+
if (nodeFS?.rmSync) {
|
|
60
|
+
try {
|
|
61
|
+
nodeFS.rmSync(name);
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
catch (err) {
|
|
65
|
+
return newHostError(err);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
if (nodeFS?.unlinkSync) {
|
|
69
|
+
try {
|
|
70
|
+
nodeFS.unlinkSync(name);
|
|
71
|
+
return null;
|
|
72
|
+
}
|
|
73
|
+
catch (err) {
|
|
74
|
+
return newHostError(err);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
16
77
|
return ErrUnimplemented;
|
|
17
78
|
}
|
|
18
79
|
export function Link(oldname, newname) {
|
|
80
|
+
const denoObj = getDeno();
|
|
81
|
+
if (denoObj?.linkSync) {
|
|
82
|
+
try {
|
|
83
|
+
denoObj.linkSync(oldname, newname);
|
|
84
|
+
return null;
|
|
85
|
+
}
|
|
86
|
+
catch (err) {
|
|
87
|
+
return newHostError(err);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
const nodeFS = getNodeFS();
|
|
91
|
+
if (nodeFS?.linkSync) {
|
|
92
|
+
try {
|
|
93
|
+
nodeFS.linkSync(oldname, newname);
|
|
94
|
+
return null;
|
|
95
|
+
}
|
|
96
|
+
catch (err) {
|
|
97
|
+
return newHostError(err);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
19
100
|
return ErrUnimplemented;
|
|
20
101
|
}
|
|
21
102
|
export function Symlink(oldname, newname) {
|
|
103
|
+
const denoObj = getDeno();
|
|
104
|
+
if (denoObj?.symlinkSync) {
|
|
105
|
+
try {
|
|
106
|
+
denoObj.symlinkSync(oldname, newname);
|
|
107
|
+
return null;
|
|
108
|
+
}
|
|
109
|
+
catch (err) {
|
|
110
|
+
return newHostError(err);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
const nodeFS = getNodeFS();
|
|
114
|
+
if (nodeFS?.symlinkSync) {
|
|
115
|
+
try {
|
|
116
|
+
nodeFS.symlinkSync(oldname, newname);
|
|
117
|
+
return null;
|
|
118
|
+
}
|
|
119
|
+
catch (err) {
|
|
120
|
+
return newHostError(err);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
22
123
|
return ErrUnimplemented;
|
|
23
124
|
}
|
|
24
125
|
export function Truncate(name, size) {
|
|
126
|
+
const denoObj = getDeno();
|
|
127
|
+
if (denoObj?.truncateSync) {
|
|
128
|
+
try {
|
|
129
|
+
denoObj.truncateSync(name, size);
|
|
130
|
+
return null;
|
|
131
|
+
}
|
|
132
|
+
catch (err) {
|
|
133
|
+
return newHostError(err);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
const nodeFS = getNodeFS();
|
|
137
|
+
if (nodeFS?.truncateSync) {
|
|
138
|
+
try {
|
|
139
|
+
nodeFS.truncateSync(name, size);
|
|
140
|
+
return null;
|
|
141
|
+
}
|
|
142
|
+
catch (err) {
|
|
143
|
+
return newHostError(err);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
25
146
|
return ErrUnimplemented;
|
|
26
147
|
}
|
|
27
|
-
// Internal stub functions that may be referenced by other files
|
|
28
148
|
export function rename(oldname, newname) {
|
|
149
|
+
const denoObj = getDeno();
|
|
150
|
+
if (denoObj?.renameSync) {
|
|
151
|
+
try {
|
|
152
|
+
denoObj.renameSync(oldname, newname);
|
|
153
|
+
return null;
|
|
154
|
+
}
|
|
155
|
+
catch (err) {
|
|
156
|
+
return newHostError(err);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
const nodeFS = getNodeFS();
|
|
160
|
+
if (nodeFS?.renameSync) {
|
|
161
|
+
try {
|
|
162
|
+
nodeFS.renameSync(oldname, newname);
|
|
163
|
+
return null;
|
|
164
|
+
}
|
|
165
|
+
catch (err) {
|
|
166
|
+
return newHostError(err);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
29
169
|
return ErrUnimplemented;
|
|
30
170
|
}
|
|
31
171
|
export function openFileNolog(name, flag, perm) {
|
|
172
|
+
const denoObj = getDeno();
|
|
173
|
+
if (denoObj?.openSync) {
|
|
174
|
+
try {
|
|
175
|
+
const handle = denoObj.openSync(name, {
|
|
176
|
+
...openOptionsFromFlags(flag),
|
|
177
|
+
mode: perm,
|
|
178
|
+
});
|
|
179
|
+
return [createHostFile(name, handle?.rid ?? -1, handle), null];
|
|
180
|
+
}
|
|
181
|
+
catch (err) {
|
|
182
|
+
return [null, newHostError(err)];
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
const nodeFS = getNodeFS();
|
|
186
|
+
if (nodeFS?.openSync) {
|
|
187
|
+
try {
|
|
188
|
+
const fd = nodeFS.openSync(name, flag, perm);
|
|
189
|
+
return [createHostFile(name, fd), null];
|
|
190
|
+
}
|
|
191
|
+
catch (err) {
|
|
192
|
+
return [null, newHostError(err)];
|
|
193
|
+
}
|
|
194
|
+
}
|
|
32
195
|
return [null, ErrUnimplemented];
|
|
33
196
|
}
|
|
34
197
|
export function openDirNolog(name) {
|
|
35
|
-
return
|
|
198
|
+
return openFileNolog(name, O_RDONLY, 0);
|
|
36
199
|
}
|
|
37
200
|
export function tempDir() {
|
|
38
|
-
return
|
|
201
|
+
return getTempDirPath();
|
|
39
202
|
}
|
|
40
203
|
export function readlink(name) {
|
|
204
|
+
const denoObj = getDeno();
|
|
205
|
+
if (denoObj?.readLinkSync) {
|
|
206
|
+
try {
|
|
207
|
+
return [denoObj.readLinkSync(name), null];
|
|
208
|
+
}
|
|
209
|
+
catch (err) {
|
|
210
|
+
return ["", newHostError(err)];
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
const nodeFS = getNodeFS();
|
|
214
|
+
if (nodeFS?.readlinkSync) {
|
|
215
|
+
try {
|
|
216
|
+
return [nodeFS.readlinkSync(name), null];
|
|
217
|
+
}
|
|
218
|
+
catch (err) {
|
|
219
|
+
return ["", newHostError(err)];
|
|
220
|
+
}
|
|
221
|
+
}
|
|
41
222
|
return ["", ErrUnimplemented];
|
|
42
223
|
}
|
|
43
|
-
// File class methods that need to be stubbed for unix compatibility
|
|
44
224
|
export function fixLongPath(path) {
|
|
45
225
|
return path;
|
|
46
226
|
}
|
|
@@ -50,15 +230,32 @@ export function sigpipe() {
|
|
|
50
230
|
export function epipecheck(file, e) {
|
|
51
231
|
// No-op in JavaScript
|
|
52
232
|
}
|
|
53
|
-
// Network file creation stub
|
|
54
233
|
export function net_newUnixFile(fd, name) {
|
|
55
|
-
return
|
|
234
|
+
return NewFile(fd, name);
|
|
56
235
|
}
|
|
57
|
-
export function newFile(fd, name,
|
|
58
|
-
return
|
|
236
|
+
export function newFile(fd, name, _kind, _nonBlocking) {
|
|
237
|
+
return NewFile(fd, name);
|
|
59
238
|
}
|
|
60
|
-
|
|
61
|
-
|
|
239
|
+
export function newUnixDirent(parent, name, _typ) {
|
|
240
|
+
const fullName = parent === "" || parent === "." ? name : parent.replace(/\/+$/, "") + "/" + name;
|
|
241
|
+
const denoObj = getDeno();
|
|
242
|
+
if (denoObj?.lstatSync) {
|
|
243
|
+
try {
|
|
244
|
+
return [FileInfoToDirEntry(createFileInfo(name, denoObj.lstatSync(fullName))), null];
|
|
245
|
+
}
|
|
246
|
+
catch (err) {
|
|
247
|
+
return [null, newHostError(err)];
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
const nodeFS = getNodeFS();
|
|
251
|
+
if (nodeFS?.lstatSync) {
|
|
252
|
+
try {
|
|
253
|
+
return [FileInfoToDirEntry(createFileInfo(name, nodeFS.lstatSync(fullName))), null];
|
|
254
|
+
}
|
|
255
|
+
catch (err) {
|
|
256
|
+
return [null, newHostError(err)];
|
|
257
|
+
}
|
|
258
|
+
}
|
|
62
259
|
return [null, ErrUnimplemented];
|
|
63
260
|
}
|
|
64
261
|
//# sourceMappingURL=file_unix_js.gs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file_unix_js.gs.js","sourceRoot":"","sources":["../../../gs/os/file_unix_js.gs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"file_unix_js.gs.js","sourceRoot":"","sources":["../../../gs/os/file_unix_js.gs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,30 @@
|
|
|
1
|
+
import { getDeno } from "./types_js.gs.js";
|
|
1
2
|
import * as fs from "@goscript/io/fs/index.js";
|
|
2
|
-
// JavaScript-specific implementation of Getwd
|
|
3
|
-
// Working directories are not a concept in JavaScript environments
|
|
4
|
-
// Store working directory in a global variable
|
|
5
|
-
// Global working directory variable, defaults to test directory
|
|
6
3
|
let currentWorkingDir = "/";
|
|
7
4
|
export function Getwd() {
|
|
5
|
+
const denoObj = getDeno();
|
|
6
|
+
if (denoObj?.cwd) {
|
|
7
|
+
try {
|
|
8
|
+
return [denoObj.cwd(), null];
|
|
9
|
+
}
|
|
10
|
+
catch {
|
|
11
|
+
// Fall back to the tracked working directory below.
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
const processObj = globalThis.process;
|
|
15
|
+
if (processObj?.cwd) {
|
|
16
|
+
try {
|
|
17
|
+
return [processObj.cwd(), null];
|
|
18
|
+
}
|
|
19
|
+
catch {
|
|
20
|
+
// Fall back to the tracked working directory below.
|
|
21
|
+
}
|
|
22
|
+
}
|
|
8
23
|
return [currentWorkingDir, null];
|
|
9
24
|
}
|
|
10
|
-
// Set the working directory (for internal use)
|
|
11
25
|
export function setWorkingDir(dir) {
|
|
12
26
|
currentWorkingDir = dir;
|
|
13
27
|
}
|
|
14
|
-
// Additional functions that may be imported by other files
|
|
15
28
|
export function statNolog(name) {
|
|
16
29
|
return [null, fs.ErrNotExist];
|
|
17
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getwd_js.gs.js","sourceRoot":"","sources":["../../../gs/os/getwd_js.gs.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getwd_js.gs.js","sourceRoot":"","sources":["../../../gs/os/getwd_js.gs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,OAAO,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAE9C,IAAI,iBAAiB,GAAW,GAAG,CAAA;AAEnC,MAAM,UAAU,KAAK;IACpB,MAAM,OAAO,GAAG,OAAO,EAAE,CAAA;IACzB,IAAI,OAAO,EAAE,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC;YACJ,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAA;QAC7B,CAAC;QAAC,MAAM,CAAC;YACR,oDAAoD;QACrD,CAAC;IACF,CAAC;IACD,MAAM,UAAU,GAAI,UAAkB,CAAC,OAAO,CAAA;IAC9C,IAAI,UAAU,EAAE,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC;YACJ,OAAO,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAA;QAChC,CAAC;QAAC,MAAM,CAAC;YACR,oDAAoD;QACrD,CAAC;IACF,CAAC;IACD,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAA;AACjC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAW;IACxC,iBAAiB,GAAG,GAAG,CAAA;AACxB,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAY;IACrC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,CAAA;AAC9B,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAY;IACtC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,CAAA;AAC9B,CAAC"}
|
package/dist/gs/os/path.gs.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as $ from "@goscript/builtin/index.js";
|
|
2
|
-
import {
|
|
2
|
+
import { MkdirAll as mkdirAllPath, RemoveAll as removeAllPath } from "./file_js.gs.js";
|
|
3
3
|
import { IsPathSeparator } from "./path_unix.gs.js";
|
|
4
4
|
// MkdirAll creates a directory named path,
|
|
5
5
|
// along with any necessary parents, and returns nil,
|
|
@@ -9,7 +9,7 @@ import { IsPathSeparator } from "./path_unix.gs.js";
|
|
|
9
9
|
// If path is already a directory, MkdirAll does nothing
|
|
10
10
|
// and returns nil.
|
|
11
11
|
export function MkdirAll(path, perm) {
|
|
12
|
-
return
|
|
12
|
+
return mkdirAllPath(path, perm);
|
|
13
13
|
}
|
|
14
14
|
// RemoveAll removes path and any children it contains.
|
|
15
15
|
// It removes everything it can but returns the first error
|
|
@@ -17,7 +17,7 @@ export function MkdirAll(path, perm) {
|
|
|
17
17
|
// returns nil (no error).
|
|
18
18
|
// If there is an error, it will be of type [*PathError].
|
|
19
19
|
export function RemoveAll(path) {
|
|
20
|
-
return
|
|
20
|
+
return removeAllPath(path);
|
|
21
21
|
}
|
|
22
22
|
// endsWithDot reports whether the final component of path is ".".
|
|
23
23
|
export function endsWithDot(path) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path.gs.js","sourceRoot":"","sources":["../../../gs/os/path.gs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAC;AAChD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"path.gs.js","sourceRoot":"","sources":["../../../gs/os/path.gs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAC;AAChD,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACvF,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,2CAA2C;AAC3C,qDAAqD;AACrD,4BAA4B;AAC5B,2DAA2D;AAC3D,qCAAqC;AACrC,wDAAwD;AACxD,mBAAmB;AACnB,MAAM,UAAU,QAAQ,CAAC,IAAY,EAAE,IAAY;IAClD,OAAO,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;AAChC,CAAC;AAED,uDAAuD;AACvD,2DAA2D;AAC3D,uDAAuD;AACvD,0BAA0B;AAC1B,yDAAyD;AACzD,MAAM,UAAU,SAAS,CAAC,IAAY;IACrC,OAAO,aAAa,CAAC,IAAI,CAAC,CAAA;AAC3B,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,WAAW,CAAC,IAAY;IACvC,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC;QACjB,OAAO,IAAI,CAAA;IACZ,CAAC;IACD,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7H,OAAO,IAAI,CAAA;IACZ,CAAC;IACD,OAAO,KAAK,CAAA;AACb,CAAC"}
|
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
import { ErrUnimplemented } from "./error.gs.js";
|
|
2
|
-
// ensurePidfd ensures pidfd support - stub implementation
|
|
3
2
|
export function ensurePidfd(sysAttr) {
|
|
4
3
|
return [null, false];
|
|
5
4
|
}
|
|
6
|
-
// getPidfd gets a process file descriptor - stub implementation
|
|
7
5
|
export function getPidfd(_, _usePidfd) {
|
|
8
6
|
return [0, false];
|
|
9
7
|
}
|
|
10
|
-
// pidfdFind finds a process by pidfd - stub implementation
|
|
11
8
|
export function pidfdFind(_) {
|
|
12
9
|
return [0, ErrUnimplemented];
|
|
13
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pidfd_js.gs.js","sourceRoot":"","sources":["../../../gs/os/pidfd_js.gs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"pidfd_js.gs.js","sourceRoot":"","sources":["../../../gs/os/pidfd_js.gs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAQjD,MAAM,UAAU,WAAW,CAAC,OAA2B;IACtD,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AACrB,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,CAAqB,EAAE,SAAkB;IACjE,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;AAClB,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,CAAS;IAClC,OAAO,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAA;AAC7B,CAAC"}
|
package/dist/gs/os/proc.gs.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import * as $ from "@goscript/builtin/index.js";
|
|
2
2
|
import { ErrUnimplemented } from "./error.gs.js";
|
|
3
|
+
import { runtime_args as hostRuntimeArgs, runtime_beforeExit as hostRuntimeBeforeExit } from "./proc_js.gs.js";
|
|
3
4
|
export let Args = null;
|
|
4
5
|
export function init() {
|
|
5
6
|
// In JavaScript environment, just initialize with empty args
|
|
6
7
|
Args = runtime_args();
|
|
7
8
|
}
|
|
8
9
|
export function runtime_args() {
|
|
9
|
-
return
|
|
10
|
+
return hostRuntimeArgs();
|
|
10
11
|
}
|
|
11
12
|
// Getuid returns the numeric user id of the caller.
|
|
12
13
|
//
|
|
@@ -45,7 +46,7 @@ export function Getgroups() {
|
|
|
45
46
|
//
|
|
46
47
|
// For portability, the status code should be in the range [0, 125].
|
|
47
48
|
export function Exit(code) {
|
|
48
|
-
// Testlog functionality not available in JavaScript
|
|
49
|
+
// Testlog functionality is not available in JavaScript.
|
|
49
50
|
// if (code == 0 && testlog.PanicOnExit0()) {
|
|
50
51
|
// $.panic("unexpected call to os.Exit(0) during test")
|
|
51
52
|
// }
|
|
@@ -64,5 +65,7 @@ export function Exit(code) {
|
|
|
64
65
|
return;
|
|
65
66
|
}
|
|
66
67
|
}
|
|
67
|
-
export function runtime_beforeExit(exitCode) {
|
|
68
|
+
export function runtime_beforeExit(exitCode) {
|
|
69
|
+
hostRuntimeBeforeExit(exitCode);
|
|
70
|
+
}
|
|
68
71
|
//# sourceMappingURL=proc.gs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proc.gs.js","sourceRoot":"","sources":["../../../gs/os/proc.gs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAC;AAChD,OAAO,EAAmB,gBAAgB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"proc.gs.js","sourceRoot":"","sources":["../../../gs/os/proc.gs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAC;AAChD,OAAO,EAAmB,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,YAAY,IAAI,eAAe,EAAE,kBAAkB,IAAI,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAM/G,MAAM,CAAC,IAAI,IAAI,GAAoB,IAAI,CAAA;AAEvC,MAAM,UAAU,IAAI;IACnB,6DAA6D;IAC7D,IAAI,GAAG,YAAY,EAAE,CAAA;AACtB,CAAC;AAED,MAAM,UAAU,YAAY;IAC3B,OAAO,eAAe,EAAE,CAAA;AACzB,CAAC;AAED,oDAAoD;AACpD,EAAE;AACF,6BAA6B;AAC7B,MAAM,UAAU,MAAM;IACrB,OAAO,CAAC,CAAC,CAAA,CAAC,8BAA8B;AACzC,CAAC;AAED,+DAA+D;AAC/D,EAAE;AACF,6BAA6B;AAC7B,MAAM,UAAU,OAAO;IACtB,OAAO,CAAC,CAAC,CAAA,CAAC,8BAA8B;AACzC,CAAC;AAED,qDAAqD;AACrD,EAAE;AACF,6BAA6B;AAC7B,MAAM,UAAU,MAAM;IACrB,OAAO,CAAC,CAAC,CAAA,CAAC,8BAA8B;AACzC,CAAC;AAED,gEAAgE;AAChE,EAAE;AACF,6BAA6B;AAC7B,MAAM,UAAU,OAAO;IACtB,OAAO,CAAC,CAAC,CAAA,CAAC,8BAA8B;AACzC,CAAC;AAED,oFAAoF;AACpF,EAAE;AACF,uEAAuE;AACvE,8BAA8B;AAC9B,MAAM,UAAU,SAAS;IACxB,OAAO,CAAC,CAAC,CAAC,YAAY,CAAS,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAA;AACtD,CAAC;AAED,sEAAsE;AACtE,kEAAkE;AAClE,sEAAsE;AACtE,EAAE;AACF,oEAAoE;AACpE,MAAM,UAAU,IAAI,CAAC,IAAY;IAEhC,wDAAwD;IACxD,6CAA6C;IAC7C,uDAAuD;IACvD,IAAI;IAEJ,+DAA+D;IAC/D,6DAA6D;IAC7D,yDAAyD;IACzD,6DAA6D;IAC7D,+CAA+C;IAC/C,kBAAkB,CAAC,IAAI,CAAC,CAAA;IAExB,2DAA2D;IAC3D,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACnB,CAAC;SAAM,CAAC;QACP,uDAAuD;QACvD,OAAM;IACP,CAAC;AACF,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,QAAgB;IAClD,qBAAqB,CAAC,QAAQ,CAAC,CAAA;AAChC,CAAC"}
|
package/dist/gs/os/proc_js.gs.js
CHANGED
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
import * as $ from "@goscript/builtin/index.js";
|
|
2
|
-
|
|
3
|
-
// runtime_args returns command line arguments (stub for JS)
|
|
2
|
+
import { getDeno } from "./types_js.gs.js";
|
|
4
3
|
export function runtime_args() {
|
|
5
|
-
|
|
4
|
+
const denoObj = getDeno();
|
|
5
|
+
if (Array.isArray(denoObj?.args)) {
|
|
6
|
+
return $.arrayToSlice(denoObj.args);
|
|
7
|
+
}
|
|
8
|
+
const processObj = globalThis.process;
|
|
9
|
+
if (Array.isArray(processObj?.argv)) {
|
|
10
|
+
return $.arrayToSlice(processObj.argv.slice(2));
|
|
11
|
+
}
|
|
6
12
|
return $.arrayToSlice([]);
|
|
7
13
|
}
|
|
8
|
-
// runtime_beforeExit is called before exit (stub for JS)
|
|
9
14
|
export function runtime_beforeExit(exitCode) {
|
|
10
|
-
// No-op in JavaScript
|
|
15
|
+
// No-op in JavaScript.
|
|
11
16
|
}
|
|
12
17
|
//# sourceMappingURL=proc_js.gs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proc_js.gs.js","sourceRoot":"","sources":["../../../gs/os/proc_js.gs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"proc_js.gs.js","sourceRoot":"","sources":["../../../gs/os/proc_js.gs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,MAAM,UAAU,YAAY;IAC3B,MAAM,OAAO,GAAG,OAAO,EAAE,CAAA;IACzB,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;QAClC,OAAO,CAAC,CAAC,YAAY,CAAS,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5C,CAAC;IACD,MAAM,UAAU,GAAI,UAAkB,CAAC,OAAO,CAAA;IAC9C,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC;QACrC,OAAO,CAAC,CAAC,YAAY,CAAS,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACxD,CAAC;IACD,OAAO,CAAC,CAAC,YAAY,CAAS,EAAE,CAAC,CAAA;AAClC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,QAAgB;IAClD,uBAAuB;AACxB,CAAC"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import * as $ from "@goscript/builtin/index.js";
|
|
2
|
-
|
|
2
|
+
type rawConnFile = {
|
|
3
|
+
fd: number;
|
|
4
|
+
};
|
|
3
5
|
export declare class rawConn {
|
|
4
6
|
private file;
|
|
5
|
-
constructor(file:
|
|
7
|
+
constructor(file: rawConnFile | null);
|
|
6
8
|
Control(f: ((fd: number) => void) | null): $.GoError;
|
|
7
9
|
Read(f: ((fd: number) => boolean) | null): $.GoError;
|
|
8
10
|
Write(f: ((fd: number) => boolean) | null): $.GoError;
|
|
9
11
|
}
|
|
10
|
-
export declare function newRawConn(file:
|
|
12
|
+
export declare function newRawConn(file: rawConnFile | null): rawConn;
|
|
13
|
+
export {};
|
|
@@ -1,25 +1,31 @@
|
|
|
1
|
-
import {
|
|
2
|
-
// JavaScript-specific stub for raw connection operations
|
|
3
|
-
// These operations are not available in JavaScript environments
|
|
1
|
+
import { ErrInvalid } from "./error.gs.js";
|
|
4
2
|
export class rawConn {
|
|
5
3
|
file;
|
|
6
4
|
constructor(file) {
|
|
7
5
|
this.file = file;
|
|
8
6
|
}
|
|
9
|
-
// Control calls fn with the file descriptor - stub implementation
|
|
10
7
|
Control(f) {
|
|
11
|
-
|
|
8
|
+
if (!this.file || this.file.fd < 0) {
|
|
9
|
+
return ErrInvalid;
|
|
10
|
+
}
|
|
11
|
+
f?.(this.file.fd);
|
|
12
|
+
return null;
|
|
12
13
|
}
|
|
13
|
-
// Read calls fn when the file descriptor is ready for reading - stub implementation
|
|
14
14
|
Read(f) {
|
|
15
|
-
|
|
15
|
+
if (!this.file || this.file.fd < 0) {
|
|
16
|
+
return ErrInvalid;
|
|
17
|
+
}
|
|
18
|
+
f?.(this.file.fd);
|
|
19
|
+
return null;
|
|
16
20
|
}
|
|
17
|
-
// Write calls fn when the file descriptor is ready for writing - stub implementation
|
|
18
21
|
Write(f) {
|
|
19
|
-
|
|
22
|
+
if (!this.file || this.file.fd < 0) {
|
|
23
|
+
return ErrInvalid;
|
|
24
|
+
}
|
|
25
|
+
f?.(this.file.fd);
|
|
26
|
+
return null;
|
|
20
27
|
}
|
|
21
28
|
}
|
|
22
|
-
// newRawConn creates a new raw connection - stub implementation
|
|
23
29
|
export function newRawConn(file) {
|
|
24
30
|
return new rawConn(file);
|
|
25
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rawconn_js.gs.js","sourceRoot":"","sources":["../../../gs/os/rawconn_js.gs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"rawconn_js.gs.js","sourceRoot":"","sources":["../../../gs/os/rawconn_js.gs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAM3C,MAAM,OAAO,OAAO;IACC;IAApB,YAAoB,IAAwB;QAAxB,SAAI,GAAJ,IAAI,CAAoB;IAAG,CAAC;IAEzC,OAAO,CAAC,CAAgC;QAC9C,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;YACpC,OAAO,UAAU,CAAA;QAClB,CAAC;QACD,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACjB,OAAO,IAAI,CAAA;IACZ,CAAC;IAEM,IAAI,CAAC,CAAmC;QAC9C,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;YACpC,OAAO,UAAU,CAAA;QAClB,CAAC;QACD,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACjB,OAAO,IAAI,CAAA;IACZ,CAAC;IAEM,KAAK,CAAC,CAAmC;QAC/C,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;YACpC,OAAO,UAAU,CAAA;QAClB,CAAC;QACD,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACjB,OAAO,IAAI,CAAA;IACZ,CAAC;CACD;AAED,MAAM,UAAU,UAAU,CAAC,IAAwB;IAClD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
// JavaScript-specific stub for removeall operations
|
|
3
|
-
// These operations cannot be implemented in JavaScript environments
|
|
1
|
+
import { RemoveAll as removeAllPath } from "./file_js.gs.js";
|
|
4
2
|
export function RemoveAll(path) {
|
|
5
|
-
return
|
|
3
|
+
return removeAllPath(path);
|
|
6
4
|
}
|
|
7
5
|
//# sourceMappingURL=removeall_js.gs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"removeall_js.gs.js","sourceRoot":"","sources":["../../../gs/os/removeall_js.gs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"removeall_js.gs.js","sourceRoot":"","sources":["../../../gs/os/removeall_js.gs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAE7D,MAAM,UAAU,SAAS,CAAC,IAAY;IACrC,OAAO,aAAa,CAAC,IAAI,CAAC,CAAA;AAC3B,CAAC"}
|
|
@@ -3,7 +3,10 @@ import { File } from "./types_js.gs.js";
|
|
|
3
3
|
import * as fs from "@goscript/io/fs/index.js";
|
|
4
4
|
export declare function OpenInRoot(dir: string, name: string): [File | null, $.GoError];
|
|
5
5
|
export declare class Root {
|
|
6
|
-
|
|
6
|
+
name: string;
|
|
7
|
+
constructor(init?: Partial<{
|
|
8
|
+
name?: string;
|
|
9
|
+
}>);
|
|
7
10
|
Name(): string;
|
|
8
11
|
Close(): $.GoError;
|
|
9
12
|
Open(name: string): [File | null, $.GoError];
|