goscript 0.0.36 → 0.0.37
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/compiler/expr-call.go +26 -0
- package/compiler/spec.go +1 -1
- package/compiler/stmt.go +26 -8
- package/dist/gs/internal/byteorder/index.d.ts +8 -0
- package/dist/gs/internal/byteorder/index.js +34 -0
- package/dist/gs/internal/byteorder/index.js.map +1 -0
- package/dist/gs/internal/testlog/index.d.ts +1 -0
- package/dist/gs/internal/testlog/index.js +5 -0
- package/dist/gs/internal/testlog/index.js.map +1 -0
- package/dist/gs/os/dir.gs.d.ts +6 -0
- package/dist/gs/os/dir.gs.js +35 -0
- package/dist/gs/os/dir.gs.js.map +1 -0
- package/dist/gs/os/dir_unix.gs.d.ts +7 -0
- package/dist/gs/os/dir_unix.gs.js +113 -0
- package/dist/gs/os/dir_unix.gs.js.map +1 -0
- package/dist/gs/os/dirent_js.gs.d.ts +5 -0
- package/dist/gs/os/dirent_js.gs.js +20 -0
- package/dist/gs/os/dirent_js.gs.js.map +1 -0
- package/dist/gs/os/env.gs.d.ts +12 -0
- package/dist/gs/os/env.gs.js +157 -0
- package/dist/gs/os/env.gs.js.map +1 -0
- package/dist/gs/os/error.gs.d.ts +40 -0
- package/dist/gs/os/error.gs.js +158 -0
- package/dist/gs/os/error.gs.js.map +1 -0
- package/dist/gs/os/error_errno.gs.d.ts +1 -0
- package/dist/gs/os/error_errno.gs.js +5 -0
- package/dist/gs/os/error_errno.gs.js.map +1 -0
- package/dist/gs/os/exec.gs.d.ts +60 -0
- package/dist/gs/os/exec.gs.js +136 -0
- package/dist/gs/os/exec.gs.js.map +1 -0
- package/dist/gs/os/exec_nohandle.gs.d.ts +1 -0
- package/dist/gs/os/exec_nohandle.gs.js +2 -0
- package/dist/gs/os/exec_nohandle.gs.js.map +1 -0
- package/dist/gs/os/exec_posix.gs.d.ts +25 -0
- package/dist/gs/os/exec_posix.gs.js +67 -0
- package/dist/gs/os/exec_posix.gs.js.map +1 -0
- package/dist/gs/os/exec_unix.gs.d.ts +4 -0
- package/dist/gs/os/exec_unix.gs.js +46 -0
- package/dist/gs/os/exec_unix.gs.js.map +1 -0
- package/dist/gs/os/executable.gs.d.ts +2 -0
- package/dist/gs/os/executable.gs.js +16 -0
- package/dist/gs/os/executable.gs.js.map +1 -0
- package/dist/gs/os/executable_js.gs.d.ts +2 -0
- package/dist/gs/os/executable_js.gs.js +5 -0
- package/dist/gs/os/executable_js.gs.js.map +1 -0
- package/dist/gs/os/executable_wasm.gs.d.ts +2 -0
- package/dist/gs/os/executable_wasm.gs.js +6 -0
- package/dist/gs/os/executable_wasm.gs.js.map +1 -0
- package/dist/gs/os/file_constants_js.gs.d.ts +41 -0
- package/dist/gs/os/file_constants_js.gs.js +78 -0
- package/dist/gs/os/file_constants_js.gs.js.map +1 -0
- package/dist/gs/os/file_js.gs.d.ts +22 -0
- package/dist/gs/os/file_js.gs.js +73 -0
- package/dist/gs/os/file_js.gs.js.map +1 -0
- package/dist/gs/os/file_open_unix.gs.d.ts +6 -0
- package/dist/gs/os/file_open_unix.gs.js +10 -0
- package/dist/gs/os/file_open_unix.gs.js.map +1 -0
- package/dist/gs/os/file_posix_js.gs.d.ts +8 -0
- package/dist/gs/os/file_posix_js.gs.js +32 -0
- package/dist/gs/os/file_posix_js.gs.js.map +1 -0
- package/dist/gs/os/file_unix_js.gs.d.ts +27 -0
- package/dist/gs/os/file_unix_js.gs.js +64 -0
- package/dist/gs/os/file_unix_js.gs.js.map +1 -0
- package/dist/gs/os/getwd_js.gs.d.ts +6 -0
- package/dist/gs/os/getwd_js.gs.js +21 -0
- package/dist/gs/os/getwd_js.gs.js.map +1 -0
- package/dist/gs/os/index.d.ts +19 -0
- package/dist/gs/os/index.js +20 -0
- package/dist/gs/os/index.js.map +1 -0
- package/dist/gs/os/path.gs.d.ts +4 -0
- package/dist/gs/os/path.gs.js +32 -0
- package/dist/gs/os/path.gs.js.map +1 -0
- package/dist/gs/os/path_unix.gs.d.ts +4 -0
- package/dist/gs/os/path_unix.gs.js +40 -0
- package/dist/gs/os/path_unix.gs.js.map +1 -0
- package/dist/gs/os/pidfd_js.gs.d.ts +6 -0
- package/dist/gs/os/pidfd_js.gs.js +14 -0
- package/dist/gs/os/pidfd_js.gs.js.map +1 -0
- package/dist/gs/os/pipe_wasm.gs.d.ts +2 -0
- package/dist/gs/os/pipe_wasm.gs.js +14 -0
- package/dist/gs/os/pipe_wasm.gs.js.map +1 -0
- package/dist/gs/os/proc.gs.d.ts +11 -0
- package/dist/gs/os/proc.gs.js +68 -0
- package/dist/gs/os/proc.gs.js.map +1 -0
- package/dist/gs/os/proc_js.gs.d.ts +3 -0
- package/dist/gs/os/proc_js.gs.js +12 -0
- package/dist/gs/os/proc_js.gs.js.map +1 -0
- package/dist/gs/os/rawconn_js.gs.d.ts +10 -0
- package/dist/gs/os/rawconn_js.gs.js +26 -0
- package/dist/gs/os/rawconn_js.gs.js.map +1 -0
- package/dist/gs/os/removeall_js.gs.d.ts +2 -0
- package/dist/gs/os/removeall_js.gs.js +7 -0
- package/dist/gs/os/removeall_js.gs.js.map +1 -0
- package/dist/gs/os/root_js.gs.d.ts +23 -0
- package/dist/gs/os/root_js.gs.js +80 -0
- package/dist/gs/os/root_js.gs.js.map +1 -0
- package/dist/gs/os/root_nonwindows.gs.d.ts +2 -0
- package/dist/gs/os/root_nonwindows.gs.js +4 -0
- package/dist/gs/os/root_nonwindows.gs.js.map +1 -0
- package/dist/gs/os/root_noopenat.gs.d.ts +11 -0
- package/dist/gs/os/root_noopenat.gs.js +31 -0
- package/dist/gs/os/root_noopenat.gs.js.map +1 -0
- package/dist/gs/os/stat.gs.d.ts +24 -0
- package/dist/gs/os/stat.gs.js +20 -0
- package/dist/gs/os/stat.gs.js.map +1 -0
- package/dist/gs/os/stat_js.gs.d.ts +6 -0
- package/dist/gs/os/stat_js.gs.js +23 -0
- package/dist/gs/os/stat_js.gs.js.map +1 -0
- package/dist/gs/os/stat_unix_js.gs.d.ts +8 -0
- package/dist/gs/os/stat_unix_js.gs.js +16 -0
- package/dist/gs/os/stat_unix_js.gs.js.map +1 -0
- package/dist/gs/os/sticky_bsd.gs.d.ts +1 -0
- package/dist/gs/os/sticky_bsd.gs.js +3 -0
- package/dist/gs/os/sticky_bsd.gs.js.map +1 -0
- package/dist/gs/os/sys.gs.d.ts +2 -0
- package/dist/gs/os/sys.gs.js +10 -0
- package/dist/gs/os/sys.gs.js.map +1 -0
- package/dist/gs/os/sys_bsd.gs.d.ts +2 -0
- package/dist/gs/os/sys_bsd.gs.js +15 -0
- package/dist/gs/os/sys_bsd.gs.js.map +1 -0
- package/dist/gs/os/sys_js.gs.d.ts +2 -0
- package/dist/gs/os/sys_js.gs.js +6 -0
- package/dist/gs/os/sys_js.gs.js.map +1 -0
- package/dist/gs/os/tempfile.gs.d.ts +5 -0
- package/dist/gs/os/tempfile.gs.js +30 -0
- package/dist/gs/os/tempfile.gs.js.map +1 -0
- package/dist/gs/os/types.gs.d.ts +59 -0
- package/dist/gs/os/types.gs.js +123 -0
- package/dist/gs/os/types.gs.js.map +1 -0
- package/dist/gs/os/types_js.gs.d.ts +74 -0
- package/dist/gs/os/types_js.gs.js +147 -0
- package/dist/gs/os/types_js.gs.js.map +1 -0
- package/dist/gs/os/types_unix.gs.d.ts +40 -0
- package/dist/gs/os/types_unix.gs.js +87 -0
- package/dist/gs/os/types_unix.gs.js.map +1 -0
- package/dist/gs/os/wait_unimp.gs.d.ts +1 -0
- package/dist/gs/os/wait_unimp.gs.js +2 -0
- package/dist/gs/os/wait_unimp.gs.js.map +1 -0
- package/dist/gs/os/zero_copy_posix.gs.d.ts +4 -0
- package/dist/gs/os/zero_copy_posix.gs.js +27 -0
- package/dist/gs/os/zero_copy_posix.gs.js.map +1 -0
- package/dist/gs/os/zero_copy_stub.gs.d.ts +1 -0
- package/dist/gs/os/zero_copy_stub.gs.js +2 -0
- package/dist/gs/os/zero_copy_stub.gs.js.map +1 -0
- package/dist/gs/syscall/index.d.ts +80 -0
- package/dist/gs/syscall/index.js +163 -0
- package/dist/gs/syscall/index.js.map +1 -0
- package/gs/internal/byteorder/index.ts +40 -0
- package/gs/internal/testlog/index.ts +7 -0
- package/gs/os/dir.gs.ts +42 -0
- package/gs/os/dir_unix.gs.ts +155 -0
- package/gs/os/dirent_js.gs.ts +27 -0
- package/gs/os/env.gs.ts +179 -0
- package/gs/os/error.gs.ts +205 -0
- package/gs/os/error_errno.gs.ts +12 -0
- package/gs/os/exec.gs.ts +198 -0
- package/gs/os/exec_nohandle.gs.ts +2 -0
- package/gs/os/exec_posix.gs.ts +95 -0
- package/gs/os/exec_unix.gs.ts +64 -0
- package/gs/os/executable.gs.ts +18 -0
- package/gs/os/executable_js.gs.ts +6 -0
- package/gs/os/executable_wasm.gs.ts +10 -0
- package/gs/os/file_constants_js.gs.ts +98 -0
- package/gs/os/file_js.gs.ts +99 -0
- package/gs/os/file_open_unix.gs.ts +15 -0
- package/gs/os/file_posix_js.gs.ts +40 -0
- package/gs/os/file_unix_js.gs.ts +94 -0
- package/gs/os/getwd_js.gs.ts +28 -0
- package/gs/os/index.ts +19 -0
- package/gs/os/path.gs.ts +35 -0
- package/gs/os/path_unix.gs.ts +49 -0
- package/gs/os/pidfd_js.gs.ts +25 -0
- package/gs/os/pipe_wasm.gs.ts +17 -0
- package/gs/os/proc.gs.ts +84 -0
- package/gs/os/proc_js.gs.ts +15 -0
- package/gs/os/rawconn_js.gs.ts +30 -0
- package/gs/os/removeall_js.gs.ts +9 -0
- package/gs/os/root_js.gs.ts +111 -0
- package/gs/os/root_nonwindows.gs.ts +6 -0
- package/gs/os/root_noopenat.gs.ts +45 -0
- package/gs/os/stat.gs.ts +38 -0
- package/gs/os/stat_js.gs.ts +30 -0
- package/gs/os/stat_unix_js.gs.ts +27 -0
- package/gs/os/sticky_bsd.gs.ts +4 -0
- package/gs/os/sys.gs.ts +12 -0
- package/gs/os/sys_bsd.gs.ts +17 -0
- package/gs/os/sys_js.gs.ts +9 -0
- package/gs/os/tempfile.gs.ts +34 -0
- package/gs/os/types.gs.ts +170 -0
- package/gs/os/types_js.gs.ts +205 -0
- package/gs/os/types_unix.gs.ts +118 -0
- package/gs/os/wait_unimp.gs.ts +2 -0
- package/gs/os/zero_copy_posix.gs.ts +35 -0
- package/gs/os/zero_copy_stub.gs.ts +4 -0
- package/gs/syscall/index.ts +204 -0
- package/package.json +1 -1
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import * as $ from "@goscript/builtin/builtin.js";
|
|
2
|
+
// import * as poll from "@goscript/internal/poll/index.js" // Not available in JavaScript
|
|
3
|
+
import * as fs from "@goscript/io/fs/index.js";
|
|
4
|
+
// ErrInvalid indicates an invalid argument.
|
|
5
|
+
// Methods on File will return this error when the receiver is nil.
|
|
6
|
+
// "invalid argument"
|
|
7
|
+
export let ErrInvalid = fs.ErrInvalid;
|
|
8
|
+
// "permission denied"
|
|
9
|
+
export let ErrPermission = fs.ErrPermission;
|
|
10
|
+
// "file already exists"
|
|
11
|
+
export let ErrExist = fs.ErrExist;
|
|
12
|
+
// "file does not exist"
|
|
13
|
+
export let ErrNotExist = fs.ErrNotExist;
|
|
14
|
+
// "file already closed"
|
|
15
|
+
export let ErrClosed = fs.ErrClosed;
|
|
16
|
+
// "file type does not support deadline"
|
|
17
|
+
export let ErrNoDeadline = errNoDeadline();
|
|
18
|
+
// "i/o timeout"
|
|
19
|
+
export let ErrDeadlineExceeded = errDeadlineExceeded();
|
|
20
|
+
// "operation not implemented in JavaScript environment"
|
|
21
|
+
export let ErrUnimplemented = {
|
|
22
|
+
Error: () => "operation not implemented in JavaScript environment"
|
|
23
|
+
};
|
|
24
|
+
export function errNoDeadline() {
|
|
25
|
+
return { Error: () => "file type does not support deadline" };
|
|
26
|
+
}
|
|
27
|
+
// errDeadlineExceeded returns the value for os.ErrDeadlineExceeded.
|
|
28
|
+
// This error comes from the internal/poll package, which is also
|
|
29
|
+
// used by package net. Doing it this way ensures that the net
|
|
30
|
+
// package will return os.ErrDeadlineExceeded for an exceeded deadline,
|
|
31
|
+
// as documented by net.Conn.SetDeadline, without requiring any extra
|
|
32
|
+
// work in the net package and without requiring the internal/poll
|
|
33
|
+
// package to import os (which it can't, because that would be circular).
|
|
34
|
+
export function errDeadlineExceeded() {
|
|
35
|
+
return { Error: () => "i/o timeout" };
|
|
36
|
+
}
|
|
37
|
+
$.registerInterfaceType('timeout', null, // Zero value for interface is null
|
|
38
|
+
[{ name: "Timeout", args: [], returns: [{ type: { kind: $.TypeKind.Basic, name: "boolean" } }] }]);
|
|
39
|
+
export const PathError = null;
|
|
40
|
+
export class SyscallError {
|
|
41
|
+
get Syscall() {
|
|
42
|
+
return this._fields.Syscall.value;
|
|
43
|
+
}
|
|
44
|
+
set Syscall(value) {
|
|
45
|
+
this._fields.Syscall.value = value;
|
|
46
|
+
}
|
|
47
|
+
get Err() {
|
|
48
|
+
return this._fields.Err.value;
|
|
49
|
+
}
|
|
50
|
+
set Err(value) {
|
|
51
|
+
this._fields.Err.value = value;
|
|
52
|
+
}
|
|
53
|
+
_fields;
|
|
54
|
+
constructor(init) {
|
|
55
|
+
this._fields = {
|
|
56
|
+
Syscall: $.varRef(init?.Syscall ?? ""),
|
|
57
|
+
Err: $.varRef(init?.Err ?? null)
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
clone() {
|
|
61
|
+
const cloned = new SyscallError();
|
|
62
|
+
cloned._fields = {
|
|
63
|
+
Syscall: $.varRef(this._fields.Syscall.value),
|
|
64
|
+
Err: $.varRef(this._fields.Err.value)
|
|
65
|
+
};
|
|
66
|
+
return cloned;
|
|
67
|
+
}
|
|
68
|
+
Error() {
|
|
69
|
+
const e = this;
|
|
70
|
+
return e.Syscall + ": " + e.Err.Error();
|
|
71
|
+
}
|
|
72
|
+
Unwrap() {
|
|
73
|
+
const e = this;
|
|
74
|
+
return e.Err;
|
|
75
|
+
}
|
|
76
|
+
// Timeout reports whether this error represents a timeout.
|
|
77
|
+
Timeout() {
|
|
78
|
+
const e = this;
|
|
79
|
+
let { value: t, ok: ok } = $.typeAssert(e.Err, 'timeout');
|
|
80
|
+
return ok && t.Timeout();
|
|
81
|
+
}
|
|
82
|
+
// Register this type with the runtime type system
|
|
83
|
+
static __typeInfo = $.registerStructType('SyscallError', new SyscallError(), [{ name: "Error", args: [], returns: [{ type: { kind: $.TypeKind.Basic, name: "string" } }] }, { name: "Unwrap", args: [], returns: [{ type: { kind: $.TypeKind.Interface, name: 'GoError', methods: [{ name: 'Error', args: [], returns: [{ type: { kind: $.TypeKind.Basic, name: 'string' } }] }] } }] }, { name: "Timeout", args: [], returns: [{ type: { kind: $.TypeKind.Basic, name: "boolean" } }] }], SyscallError, { "Syscall": { kind: $.TypeKind.Basic, name: "string" }, "Err": { kind: $.TypeKind.Interface, name: 'GoError', methods: [{ name: 'Error', args: [], returns: [{ type: { kind: $.TypeKind.Basic, name: 'string' } }] }] } });
|
|
84
|
+
}
|
|
85
|
+
// NewSyscallError returns, as an error, a new [SyscallError]
|
|
86
|
+
// with the given system call name and error details.
|
|
87
|
+
// As a convenience, if err is nil, NewSyscallError returns nil.
|
|
88
|
+
export function NewSyscallError(syscall, err) {
|
|
89
|
+
if (err == null) {
|
|
90
|
+
return null;
|
|
91
|
+
}
|
|
92
|
+
return new SyscallError({});
|
|
93
|
+
}
|
|
94
|
+
// IsExist returns a boolean indicating whether its argument is known to report
|
|
95
|
+
// that a file or directory already exists. It is satisfied by [ErrExist] as
|
|
96
|
+
// well as some syscall errors.
|
|
97
|
+
//
|
|
98
|
+
// This function predates [errors.Is]. It only supports errors returned by
|
|
99
|
+
// the os package. New code should use errors.Is(err, fs.ErrExist).
|
|
100
|
+
export function IsExist(err) {
|
|
101
|
+
return underlyingErrorIs(err, ErrExist);
|
|
102
|
+
}
|
|
103
|
+
// IsNotExist returns a boolean indicating whether its argument is known to
|
|
104
|
+
// report that a file or directory does not exist. It is satisfied by
|
|
105
|
+
// [ErrNotExist] as well as some syscall errors.
|
|
106
|
+
//
|
|
107
|
+
// This function predates [errors.Is]. It only supports errors returned by
|
|
108
|
+
// the os package. New code should use errors.Is(err, fs.ErrNotExist).
|
|
109
|
+
export function IsNotExist(err) {
|
|
110
|
+
return underlyingErrorIs(err, ErrNotExist);
|
|
111
|
+
}
|
|
112
|
+
// IsPermission returns a boolean indicating whether its argument is known to
|
|
113
|
+
// report that permission is denied. It is satisfied by [ErrPermission] as well
|
|
114
|
+
// as some syscall errors.
|
|
115
|
+
//
|
|
116
|
+
// This function predates [errors.Is]. It only supports errors returned by
|
|
117
|
+
// the os package. New code should use errors.Is(err, fs.ErrPermission).
|
|
118
|
+
export function IsPermission(err) {
|
|
119
|
+
return underlyingErrorIs(err, ErrPermission);
|
|
120
|
+
}
|
|
121
|
+
// IsTimeout returns a boolean indicating whether its argument is known
|
|
122
|
+
// to report that a timeout occurred.
|
|
123
|
+
//
|
|
124
|
+
// This function predates [errors.Is], and the notion of whether an
|
|
125
|
+
// error indicates a timeout can be ambiguous. For example, the Unix
|
|
126
|
+
// error EWOULDBLOCK sometimes indicates a timeout and sometimes does not.
|
|
127
|
+
// New code should use errors.Is with a value appropriate to the call
|
|
128
|
+
// returning the error, such as [os.ErrDeadlineExceeded].
|
|
129
|
+
export function IsTimeout(err) {
|
|
130
|
+
let { value: terr, ok: ok } = $.typeAssert(underlyingError(err), 'timeout');
|
|
131
|
+
return ok && terr.Timeout();
|
|
132
|
+
}
|
|
133
|
+
export function underlyingErrorIs(err, target) {
|
|
134
|
+
// Note that this function is not errors.Is:
|
|
135
|
+
// underlyingError only unwraps the specific error-wrapping types
|
|
136
|
+
// that it historically did, not all errors implementing Unwrap().
|
|
137
|
+
err = underlyingError(err);
|
|
138
|
+
if (err == target) {
|
|
139
|
+
return true;
|
|
140
|
+
}
|
|
141
|
+
// To preserve prior behavior, only examine syscall errors.
|
|
142
|
+
let { value: e, ok: ok } = $.typeAssert(err, 'syscallErrorType');
|
|
143
|
+
return ok && e.Is(target);
|
|
144
|
+
}
|
|
145
|
+
// underlyingError returns the underlying error for known os error types.
|
|
146
|
+
export function underlyingError(err) {
|
|
147
|
+
$.typeSwitch(err, [{ types: [{ kind: $.TypeKind.Pointer, elemType: 'PathError' }], body: (err) => {
|
|
148
|
+
return err.Err;
|
|
149
|
+
} },
|
|
150
|
+
{ types: [{ kind: $.TypeKind.Pointer, elemType: 'LinkError' }], body: (err) => {
|
|
151
|
+
return err.Err;
|
|
152
|
+
} },
|
|
153
|
+
{ types: [{ kind: $.TypeKind.Pointer, elemType: 'SyscallError' }], body: (err) => {
|
|
154
|
+
return err.Err;
|
|
155
|
+
} }]);
|
|
156
|
+
return err;
|
|
157
|
+
}
|
|
158
|
+
//# sourceMappingURL=error.gs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.gs.js","sourceRoot":"","sources":["../../../gs/os/error.gs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error_errno.gs.js","sourceRoot":"","sources":["../../../gs/os/error_errno.gs.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,OAAO,MAAM,4BAA4B,CAAA;AAIrD,IAAI,SAAS,GAAkB,OAAO,CAAC,MAAM,CAAA;AAE7C,IAAI,SAAS,GAAkB,OAAO,CAAC,MAAM,CAAA;AAE7C,IAAI,SAAS,GAAkB,OAAO,CAAC,MAAM,CAAA"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import * as $ from "@goscript/builtin/builtin.js";
|
|
2
|
+
export declare let ErrProcessDone: $.GoError;
|
|
3
|
+
export declare class Process {
|
|
4
|
+
get Pid(): number;
|
|
5
|
+
set Pid(value: number);
|
|
6
|
+
_fields: {
|
|
7
|
+
Pid: $.VarRef<number>;
|
|
8
|
+
};
|
|
9
|
+
constructor(init?: Partial<{
|
|
10
|
+
Pid?: number;
|
|
11
|
+
}>);
|
|
12
|
+
clone(): Process;
|
|
13
|
+
Release(): $.GoError;
|
|
14
|
+
Kill(): $.GoError;
|
|
15
|
+
Wait(): [ProcessState | null, $.GoError];
|
|
16
|
+
Signal(sig: Signal): $.GoError;
|
|
17
|
+
static __typeInfo: $.StructTypeInfo;
|
|
18
|
+
}
|
|
19
|
+
export declare class ProcAttr {
|
|
20
|
+
get Dir(): string;
|
|
21
|
+
set Dir(value: string);
|
|
22
|
+
get Env(): $.Slice<string>;
|
|
23
|
+
set Env(value: $.Slice<string>);
|
|
24
|
+
get Files(): $.Slice<any>;
|
|
25
|
+
set Files(value: $.Slice<any>);
|
|
26
|
+
get Sys(): any;
|
|
27
|
+
set Sys(value: any);
|
|
28
|
+
_fields: {
|
|
29
|
+
Dir: $.VarRef<string>;
|
|
30
|
+
Env: $.VarRef<$.Slice<string>>;
|
|
31
|
+
Files: $.VarRef<$.Slice<any>>;
|
|
32
|
+
Sys: $.VarRef<any>;
|
|
33
|
+
};
|
|
34
|
+
constructor(init?: Partial<{
|
|
35
|
+
Dir?: string;
|
|
36
|
+
Env?: $.Slice<string>;
|
|
37
|
+
Files?: $.Slice<any>;
|
|
38
|
+
Sys?: any;
|
|
39
|
+
}>);
|
|
40
|
+
clone(): ProcAttr;
|
|
41
|
+
static __typeInfo: $.StructTypeInfo;
|
|
42
|
+
}
|
|
43
|
+
export declare class ProcessState {
|
|
44
|
+
_fields: {};
|
|
45
|
+
constructor();
|
|
46
|
+
clone(): ProcessState;
|
|
47
|
+
static __typeInfo: $.StructTypeInfo;
|
|
48
|
+
}
|
|
49
|
+
export type Signal = null | {
|
|
50
|
+
Signal(): void;
|
|
51
|
+
String(): string;
|
|
52
|
+
};
|
|
53
|
+
export declare const Signal: any;
|
|
54
|
+
export declare function Getpid(): number;
|
|
55
|
+
export declare function Getppid(): number;
|
|
56
|
+
export declare function FindProcess(pid: number): [Process | null, $.GoError];
|
|
57
|
+
export declare function StartProcess(name: string, argv: $.Slice<string>, attr: ProcAttr | null): [Process | null, $.GoError];
|
|
58
|
+
export declare function newDoneProcess(pid: number): Process;
|
|
59
|
+
export declare function newHandleProcess(pid: number, handle: number): Process;
|
|
60
|
+
export declare function newPIDProcess(pid: number): Process;
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import * as $ from "@goscript/builtin/builtin.js";
|
|
2
|
+
import { ErrUnimplemented } from "./error.gs.js";
|
|
3
|
+
import * as errors from "@goscript/errors/index.js";
|
|
4
|
+
export let ErrProcessDone = errors.New("os: process already finished");
|
|
5
|
+
// Simplified Process class for JavaScript environment
|
|
6
|
+
export class Process {
|
|
7
|
+
get Pid() {
|
|
8
|
+
return this._fields.Pid.value;
|
|
9
|
+
}
|
|
10
|
+
set Pid(value) {
|
|
11
|
+
this._fields.Pid.value = value;
|
|
12
|
+
}
|
|
13
|
+
_fields;
|
|
14
|
+
constructor(init) {
|
|
15
|
+
this._fields = {
|
|
16
|
+
Pid: $.varRef(init?.Pid ?? -1)
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
clone() {
|
|
20
|
+
const cloned = new Process();
|
|
21
|
+
cloned._fields = {
|
|
22
|
+
Pid: $.varRef(this._fields.Pid.value)
|
|
23
|
+
};
|
|
24
|
+
return cloned;
|
|
25
|
+
}
|
|
26
|
+
// All process operations return ErrUnimplemented in JavaScript
|
|
27
|
+
Release() {
|
|
28
|
+
return ErrUnimplemented;
|
|
29
|
+
}
|
|
30
|
+
Kill() {
|
|
31
|
+
return ErrUnimplemented;
|
|
32
|
+
}
|
|
33
|
+
Wait() {
|
|
34
|
+
return [null, ErrUnimplemented];
|
|
35
|
+
}
|
|
36
|
+
Signal(sig) {
|
|
37
|
+
return ErrUnimplemented;
|
|
38
|
+
}
|
|
39
|
+
// Register this type with the runtime type system
|
|
40
|
+
static __typeInfo = $.registerStructType('Process', new Process(), [
|
|
41
|
+
{ name: "Release", args: [], returns: [{ type: { kind: $.TypeKind.Interface, name: 'GoError', methods: [{ name: 'Error', args: [], returns: [{ type: { kind: $.TypeKind.Basic, name: 'string' } }] }] } }] },
|
|
42
|
+
{ name: "Kill", args: [], returns: [{ type: { kind: $.TypeKind.Interface, name: 'GoError', methods: [{ name: 'Error', args: [], returns: [{ type: { kind: $.TypeKind.Basic, name: 'string' } }] }] } }] },
|
|
43
|
+
{ name: "Wait", args: [], returns: [{ type: { kind: $.TypeKind.Pointer, elemType: "ProcessState" } }, { type: { kind: $.TypeKind.Interface, name: 'GoError', methods: [{ name: 'Error', args: [], returns: [{ type: { kind: $.TypeKind.Basic, name: 'string' } }] }] } }] },
|
|
44
|
+
{ name: "Signal", args: [{ name: "sig", type: "Signal" }], returns: [{ type: { kind: $.TypeKind.Interface, name: 'GoError', methods: [{ name: 'Error', args: [], returns: [{ type: { kind: $.TypeKind.Basic, name: 'string' } }] }] } }] }
|
|
45
|
+
], Process, { "Pid": { kind: $.TypeKind.Basic, name: "number" } });
|
|
46
|
+
}
|
|
47
|
+
// Simplified ProcAttr class for JavaScript environment
|
|
48
|
+
export class ProcAttr {
|
|
49
|
+
get Dir() {
|
|
50
|
+
return this._fields.Dir.value;
|
|
51
|
+
}
|
|
52
|
+
set Dir(value) {
|
|
53
|
+
this._fields.Dir.value = value;
|
|
54
|
+
}
|
|
55
|
+
get Env() {
|
|
56
|
+
return this._fields.Env.value;
|
|
57
|
+
}
|
|
58
|
+
set Env(value) {
|
|
59
|
+
this._fields.Env.value = value;
|
|
60
|
+
}
|
|
61
|
+
get Files() {
|
|
62
|
+
return this._fields.Files.value;
|
|
63
|
+
}
|
|
64
|
+
set Files(value) {
|
|
65
|
+
this._fields.Files.value = value;
|
|
66
|
+
}
|
|
67
|
+
get Sys() {
|
|
68
|
+
return this._fields.Sys.value;
|
|
69
|
+
}
|
|
70
|
+
set Sys(value) {
|
|
71
|
+
this._fields.Sys.value = value;
|
|
72
|
+
}
|
|
73
|
+
_fields;
|
|
74
|
+
constructor(init) {
|
|
75
|
+
this._fields = {
|
|
76
|
+
Dir: $.varRef(init?.Dir ?? ""),
|
|
77
|
+
Env: $.varRef(init?.Env ?? null),
|
|
78
|
+
Files: $.varRef(init?.Files ?? null),
|
|
79
|
+
Sys: $.varRef(init?.Sys ?? null)
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
clone() {
|
|
83
|
+
const cloned = new ProcAttr();
|
|
84
|
+
cloned._fields = {
|
|
85
|
+
Dir: $.varRef(this._fields.Dir.value),
|
|
86
|
+
Env: $.varRef(this._fields.Env.value),
|
|
87
|
+
Files: $.varRef(this._fields.Files.value),
|
|
88
|
+
Sys: $.varRef(this._fields.Sys.value)
|
|
89
|
+
};
|
|
90
|
+
return cloned;
|
|
91
|
+
}
|
|
92
|
+
// Register this type with the runtime type system
|
|
93
|
+
static __typeInfo = $.registerStructType('ProcAttr', new ProcAttr(), [], ProcAttr, {
|
|
94
|
+
"Dir": { kind: $.TypeKind.Basic, name: "string" },
|
|
95
|
+
"Env": { kind: $.TypeKind.Slice, elemType: { kind: $.TypeKind.Basic, name: "string" } },
|
|
96
|
+
"Files": { kind: $.TypeKind.Slice, elemType: { kind: $.TypeKind.Basic, name: "any" } },
|
|
97
|
+
"Sys": { kind: $.TypeKind.Basic, name: "any" }
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
// Stub ProcessState for JavaScript environment
|
|
101
|
+
export class ProcessState {
|
|
102
|
+
_fields;
|
|
103
|
+
constructor() {
|
|
104
|
+
this._fields = {};
|
|
105
|
+
}
|
|
106
|
+
clone() {
|
|
107
|
+
return new ProcessState();
|
|
108
|
+
}
|
|
109
|
+
// Register this type with the runtime type system
|
|
110
|
+
static __typeInfo = $.registerStructType('ProcessState', new ProcessState(), [], ProcessState, {});
|
|
111
|
+
}
|
|
112
|
+
export const Signal = null;
|
|
113
|
+
// Stub functions that return ErrUnimplemented
|
|
114
|
+
export function Getpid() {
|
|
115
|
+
return -1; // Not available in JavaScript
|
|
116
|
+
}
|
|
117
|
+
export function Getppid() {
|
|
118
|
+
return -1; // Not available in JavaScript
|
|
119
|
+
}
|
|
120
|
+
export function FindProcess(pid) {
|
|
121
|
+
return [null, ErrUnimplemented];
|
|
122
|
+
}
|
|
123
|
+
export function StartProcess(name, argv, attr) {
|
|
124
|
+
return [null, ErrUnimplemented];
|
|
125
|
+
}
|
|
126
|
+
// Internal functions used by exec_unix.gs.ts
|
|
127
|
+
export function newDoneProcess(pid) {
|
|
128
|
+
return new Process({ Pid: pid });
|
|
129
|
+
}
|
|
130
|
+
export function newHandleProcess(pid, handle) {
|
|
131
|
+
return new Process({ Pid: pid });
|
|
132
|
+
}
|
|
133
|
+
export function newPIDProcess(pid) {
|
|
134
|
+
return new Process({ Pid: pid });
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=exec.gs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exec.gs.js","sourceRoot":"","sources":["../../../gs/os/exec.gs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exec_nohandle.gs.js","sourceRoot":"","sources":["../../../gs/os/exec_nohandle.gs.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import * as $ from "@goscript/builtin/builtin.js";
|
|
2
|
+
import { Signal } from "./exec.gs.js";
|
|
3
|
+
export declare let Interrupt: Signal;
|
|
4
|
+
export declare let Kill: Signal;
|
|
5
|
+
export declare class ProcessState {
|
|
6
|
+
get pid(): number;
|
|
7
|
+
set pid(value: number);
|
|
8
|
+
_fields: {
|
|
9
|
+
pid: $.VarRef<number>;
|
|
10
|
+
};
|
|
11
|
+
constructor(init?: Partial<{
|
|
12
|
+
pid?: number;
|
|
13
|
+
}>);
|
|
14
|
+
clone(): ProcessState;
|
|
15
|
+
UserTime(): any;
|
|
16
|
+
SystemTime(): any;
|
|
17
|
+
Exited(): boolean;
|
|
18
|
+
Success(): boolean;
|
|
19
|
+
Sys(): null | any;
|
|
20
|
+
SysUsage(): null | any;
|
|
21
|
+
Pid(): number;
|
|
22
|
+
String(): string;
|
|
23
|
+
ExitCode(): number;
|
|
24
|
+
static __typeInfo: $.StructTypeInfo;
|
|
25
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import * as $ from "@goscript/builtin/builtin.js";
|
|
2
|
+
// Signal constants for JavaScript environment
|
|
3
|
+
export let Interrupt = null; // syscall.SIGINT not available in JavaScript
|
|
4
|
+
export let Kill = null; // syscall.SIGKILL not available in JavaScript
|
|
5
|
+
// Simplified ProcessState for JavaScript environment
|
|
6
|
+
export class ProcessState {
|
|
7
|
+
get pid() {
|
|
8
|
+
return this._fields.pid.value;
|
|
9
|
+
}
|
|
10
|
+
set pid(value) {
|
|
11
|
+
this._fields.pid.value = value;
|
|
12
|
+
}
|
|
13
|
+
_fields;
|
|
14
|
+
constructor(init) {
|
|
15
|
+
this._fields = {
|
|
16
|
+
pid: $.varRef(init?.pid ?? -1)
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
clone() {
|
|
20
|
+
const cloned = new ProcessState();
|
|
21
|
+
cloned._fields = {
|
|
22
|
+
pid: $.varRef(this._fields.pid.value)
|
|
23
|
+
};
|
|
24
|
+
return cloned;
|
|
25
|
+
}
|
|
26
|
+
// All methods return stub values for JavaScript environment
|
|
27
|
+
UserTime() {
|
|
28
|
+
return 0; // Duration not available
|
|
29
|
+
}
|
|
30
|
+
SystemTime() {
|
|
31
|
+
return 0; // Duration not available
|
|
32
|
+
}
|
|
33
|
+
Exited() {
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
Success() {
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
Sys() {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
SysUsage() {
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
Pid() {
|
|
46
|
+
return this.pid;
|
|
47
|
+
}
|
|
48
|
+
String() {
|
|
49
|
+
return `exit status ${this.pid}`;
|
|
50
|
+
}
|
|
51
|
+
ExitCode() {
|
|
52
|
+
return -1;
|
|
53
|
+
}
|
|
54
|
+
// Register this type with the runtime type system
|
|
55
|
+
static __typeInfo = $.registerStructType('ProcessState', new ProcessState(), [
|
|
56
|
+
{ name: "UserTime", args: [], returns: [{ type: { kind: $.TypeKind.Basic, name: "any" } }] },
|
|
57
|
+
{ name: "SystemTime", args: [], returns: [{ type: { kind: $.TypeKind.Basic, name: "any" } }] },
|
|
58
|
+
{ name: "Exited", args: [], returns: [{ type: { kind: $.TypeKind.Basic, name: "boolean" } }] },
|
|
59
|
+
{ name: "Success", args: [], returns: [{ type: { kind: $.TypeKind.Basic, name: "boolean" } }] },
|
|
60
|
+
{ name: "Sys", args: [], returns: [{ type: { kind: $.TypeKind.Basic, name: "any" } }] },
|
|
61
|
+
{ name: "SysUsage", args: [], returns: [{ type: { kind: $.TypeKind.Basic, name: "any" } }] },
|
|
62
|
+
{ name: "Pid", args: [], returns: [{ type: { kind: $.TypeKind.Basic, name: "number" } }] },
|
|
63
|
+
{ name: "String", args: [], returns: [{ type: { kind: $.TypeKind.Basic, name: "string" } }] },
|
|
64
|
+
{ name: "ExitCode", args: [], returns: [{ type: { kind: $.TypeKind.Basic, name: "number" } }] }
|
|
65
|
+
], ProcessState, { "pid": { kind: $.TypeKind.Basic, name: "number" } });
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=exec_posix.gs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exec_posix.gs.js","sourceRoot":"","sources":["../../../gs/os/exec_posix.gs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { ErrUnimplemented } from "./error.gs.js";
|
|
2
|
+
import { newDoneProcess, newHandleProcess, newPIDProcess, ErrProcessDone } from "./exec.gs.js";
|
|
3
|
+
import * as syscall from "@goscript/syscall/index.js";
|
|
4
|
+
// Stub functions for JavaScript environment
|
|
5
|
+
function ignoringEINTR2(fn, arg1, arg2) {
|
|
6
|
+
return [null, ErrUnimplemented];
|
|
7
|
+
}
|
|
8
|
+
function pidfdFind(pid) {
|
|
9
|
+
return [0, ErrUnimplemented];
|
|
10
|
+
}
|
|
11
|
+
// Special values for Process.Pid.
|
|
12
|
+
let pidUnset = 0;
|
|
13
|
+
let pidReleased = -1;
|
|
14
|
+
export function convertESRCH(err) {
|
|
15
|
+
if (err == syscall.ESRCH) {
|
|
16
|
+
return ErrProcessDone;
|
|
17
|
+
}
|
|
18
|
+
return err;
|
|
19
|
+
}
|
|
20
|
+
export function findProcess(pid) {
|
|
21
|
+
let p = null;
|
|
22
|
+
let err = null;
|
|
23
|
+
{
|
|
24
|
+
let h;
|
|
25
|
+
[h, err] = pidfdFind(pid);
|
|
26
|
+
// We can't return an error here since users are not expecting
|
|
27
|
+
// it. Instead, return a process with a "done" state already
|
|
28
|
+
// and let a subsequent Signal or Wait call catch that.
|
|
29
|
+
// Ignore other errors from pidfdFind, as the callers
|
|
30
|
+
// do not expect them. Fall back to using the PID.
|
|
31
|
+
if (err == ErrProcessDone) {
|
|
32
|
+
// We can't return an error here since users are not expecting
|
|
33
|
+
// it. Instead, return a process with a "done" state already
|
|
34
|
+
// and let a subsequent Signal or Wait call catch that.
|
|
35
|
+
return [newDoneProcess(pid), null];
|
|
36
|
+
}
|
|
37
|
+
else if (err != null) {
|
|
38
|
+
// Ignore other errors from pidfdFind, as the callers
|
|
39
|
+
// do not expect them. Fall back to using the PID.
|
|
40
|
+
return [newPIDProcess(pid), null];
|
|
41
|
+
}
|
|
42
|
+
// Use the handle.
|
|
43
|
+
return [newHandleProcess(pid, h), null];
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=exec_unix.gs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exec_unix.gs.js","sourceRoot":"","sources":["../../../gs/os/exec_unix.gs.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,aAAa,EAAW,cAAc,EAAE,MAAM,cAAc,CAAC;AAMxG,OAAO,KAAK,OAAO,MAAM,4BAA4B,CAAA;AAOrD,4CAA4C;AAC5C,SAAS,cAAc,CAAC,EAAO,EAAE,IAAS,EAAE,IAAS;IACpD,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAA;AAChC,CAAC;AAED,SAAS,SAAS,CAAC,GAAW;IAC7B,OAAO,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAA;AAC7B,CAAC;AAED,kCAAkC;AAClC,IAAI,QAAQ,GAAW,CAAC,CAAA;AAExB,IAAI,WAAW,GAAW,CAAC,CAAC,CAAA;AAE5B,MAAM,UAAU,YAAY,CAAC,GAAc;IAC1C,IAAI,GAAG,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAC1B,OAAO,cAAc,CAAA;IACtB,CAAC;IACD,OAAO,GAAG,CAAA;AACX,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAW;IACtC,IAAI,CAAC,GAAmB,IAAI,CAAA;IAC5B,IAAI,GAAG,GAAc,IAAI,CAAA;IACzB,CAAC;QACA,IAAI,CAAU,CAAA;QACd,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAA;QAEzB,8DAA8D;QAC9D,4DAA4D;QAC5D,uDAAuD;QAEvD,qDAAqD;QACrD,kDAAkD;QAClD,IAAI,GAAG,IAAI,cAAc,EAAE,CAAC;YAC3B,8DAA8D;YAC9D,4DAA4D;YAC5D,uDAAuD;YACvD,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAA;QACnC,CAAC;aAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YACxB,qDAAqD;YACrD,kDAAkD;YAClD,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAA;QAClC,CAAC;QACD,kBAAkB;QAClB,OAAO,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;IACxC,CAAC;AACF,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { executable } from "./executable_js.gs.js";
|
|
2
|
+
// Executable returns the path name for the executable that started
|
|
3
|
+
// the current process. There is no guarantee that the path is still
|
|
4
|
+
// pointing to the correct executable. If a symlink was used to start
|
|
5
|
+
// the process, depending on the operating system, the result might
|
|
6
|
+
// be the symlink or the path it pointed to. If a stable result is
|
|
7
|
+
// needed, [path/filepath.EvalSymlinks] might help.
|
|
8
|
+
//
|
|
9
|
+
// Executable returns an absolute path unless an error occurred.
|
|
10
|
+
//
|
|
11
|
+
// The main use case is finding resources located relative to an
|
|
12
|
+
// executable.
|
|
13
|
+
export function Executable() {
|
|
14
|
+
return executable();
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=executable.gs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executable.gs.js","sourceRoot":"","sources":["../../../gs/os/executable.gs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,mEAAmE;AACnE,oEAAoE;AACpE,qEAAqE;AACrE,mEAAmE;AACnE,kEAAkE;AAClE,mDAAmD;AACnD,EAAE;AACF,gEAAgE;AAChE,EAAE;AACF,gEAAgE;AAChE,cAAc;AACd,MAAM,UAAU,UAAU;IACzB,OAAO,UAAU,EAAE,CAAA;AACpB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executable_js.gs.js","sourceRoot":"","sources":["../../../gs/os/executable_js.gs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,MAAM,UAAU,UAAU;IACzB,OAAO,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAA;AAC9B,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import * as errors from "@goscript/errors/index.js";
|
|
2
|
+
import * as runtime from "@goscript/runtime/index.js";
|
|
3
|
+
export function executable() {
|
|
4
|
+
return ["", errors.New("Executable not implemented for " + runtime.GOOS)];
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=executable_wasm.gs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executable_wasm.gs.js","sourceRoot":"","sources":["../../../gs/os/executable_wasm.gs.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAA;AAEnD,OAAO,KAAK,OAAO,MAAM,4BAA4B,CAAA;AAErD,MAAM,UAAU,UAAU;IACzB,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,iCAAiC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;AAC1E,CAAC"}
|