bebop-tools
Version:
Bebop compiler for Node projects.
1,263 lines (1,252 loc) • 318 kB
JavaScript
#!/usr/bin/env node
"use strict";
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __commonJS = (cb, mod) => function __require() {
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
// If the importer is in node compatibility mode or this is not an ESM
// file that has been converted to a CommonJS file using a Babel-
// compatible transform (i.e. "__esModule" has not been set), then set
// "default" to the CommonJS "module.exports" for node compatibility.
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
mod
));
// node_modules/wasi-js/dist/bindings/node.js
var require_node = __commonJS({
"node_modules/wasi-js/dist/bindings/node.js"(exports2) {
"use strict";
var __importDefault = exports2 && exports2.__importDefault || function(mod) {
return mod && mod.__esModule ? mod : { "default": mod };
};
Object.defineProperty(exports2, "__esModule", { value: true });
var crypto_1 = require("crypto");
var fs_1 = __importDefault(require("fs"));
var tty_1 = require("tty");
var path_1 = __importDefault(require("path"));
var bindings = {
hrtime: process.hrtime.bigint,
exit: (code) => {
process.exit(code);
},
kill: (signal) => {
process.kill(process.pid, signal);
},
randomFillSync: crypto_1.randomFillSync,
isTTY: tty_1.isatty,
fs: fs_1.default,
path: path_1.default
};
exports2.default = bindings;
}
});
// node_modules/wasi-js/dist/types.js
var require_types = __commonJS({
"node_modules/wasi-js/dist/types.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.WASIKillError = exports2.WASIExitError = exports2.WASIError = void 0;
var WASIError = class _WASIError extends Error {
constructor(errno) {
super();
this.errno = errno;
Object.setPrototypeOf(this, _WASIError.prototype);
}
};
exports2.WASIError = WASIError;
var WASIExitError2 = class _WASIExitError extends Error {
constructor(code) {
super(`WASI Exit error: ${code}`);
this.code = code;
Object.setPrototypeOf(this, _WASIExitError.prototype);
}
};
exports2.WASIExitError = WASIExitError2;
var WASIKillError2 = class _WASIKillError extends Error {
constructor(signal) {
super(`WASI Kill signal: ${signal}`);
this.signal = signal;
Object.setPrototypeOf(this, _WASIKillError.prototype);
}
};
exports2.WASIKillError = WASIKillError2;
}
});
// node_modules/ms/index.js
var require_ms = __commonJS({
"node_modules/ms/index.js"(exports2, module2) {
var s = 1e3;
var m = s * 60;
var h = m * 60;
var d = h * 24;
var w = d * 7;
var y = d * 365.25;
module2.exports = function(val, options) {
options = options || {};
var type = typeof val;
if (type === "string" && val.length > 0) {
return parse(val);
} else if (type === "number" && isFinite(val)) {
return options.long ? fmtLong(val) : fmtShort(val);
}
throw new Error(
"val is not a non-empty string or a valid number. val=" + JSON.stringify(val)
);
};
function parse(str) {
str = String(str);
if (str.length > 100) {
return;
}
var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(
str
);
if (!match) {
return;
}
var n = parseFloat(match[1]);
var type = (match[2] || "ms").toLowerCase();
switch (type) {
case "years":
case "year":
case "yrs":
case "yr":
case "y":
return n * y;
case "weeks":
case "week":
case "w":
return n * w;
case "days":
case "day":
case "d":
return n * d;
case "hours":
case "hour":
case "hrs":
case "hr":
case "h":
return n * h;
case "minutes":
case "minute":
case "mins":
case "min":
case "m":
return n * m;
case "seconds":
case "second":
case "secs":
case "sec":
case "s":
return n * s;
case "milliseconds":
case "millisecond":
case "msecs":
case "msec":
case "ms":
return n;
default:
return void 0;
}
}
function fmtShort(ms) {
var msAbs = Math.abs(ms);
if (msAbs >= d) {
return Math.round(ms / d) + "d";
}
if (msAbs >= h) {
return Math.round(ms / h) + "h";
}
if (msAbs >= m) {
return Math.round(ms / m) + "m";
}
if (msAbs >= s) {
return Math.round(ms / s) + "s";
}
return ms + "ms";
}
function fmtLong(ms) {
var msAbs = Math.abs(ms);
if (msAbs >= d) {
return plural(ms, msAbs, d, "day");
}
if (msAbs >= h) {
return plural(ms, msAbs, h, "hour");
}
if (msAbs >= m) {
return plural(ms, msAbs, m, "minute");
}
if (msAbs >= s) {
return plural(ms, msAbs, s, "second");
}
return ms + " ms";
}
function plural(ms, msAbs, n, name) {
var isPlural = msAbs >= n * 1.5;
return Math.round(ms / n) + " " + name + (isPlural ? "s" : "");
}
}
});
// node_modules/debug/src/common.js
var require_common = __commonJS({
"node_modules/debug/src/common.js"(exports2, module2) {
function setup(env) {
createDebug.debug = createDebug;
createDebug.default = createDebug;
createDebug.coerce = coerce;
createDebug.disable = disable;
createDebug.enable = enable;
createDebug.enabled = enabled;
createDebug.humanize = require_ms();
createDebug.destroy = destroy;
Object.keys(env).forEach((key) => {
createDebug[key] = env[key];
});
createDebug.names = [];
createDebug.skips = [];
createDebug.formatters = {};
function selectColor(namespace) {
let hash = 0;
for (let i = 0; i < namespace.length; i++) {
hash = (hash << 5) - hash + namespace.charCodeAt(i);
hash |= 0;
}
return createDebug.colors[Math.abs(hash) % createDebug.colors.length];
}
createDebug.selectColor = selectColor;
function createDebug(namespace) {
let prevTime;
let enableOverride = null;
let namespacesCache;
let enabledCache;
function debug(...args2) {
if (!debug.enabled) {
return;
}
const self = debug;
const curr = Number(/* @__PURE__ */ new Date());
const ms = curr - (prevTime || curr);
self.diff = ms;
self.prev = prevTime;
self.curr = curr;
prevTime = curr;
args2[0] = createDebug.coerce(args2[0]);
if (typeof args2[0] !== "string") {
args2.unshift("%O");
}
let index = 0;
args2[0] = args2[0].replace(/%([a-zA-Z%])/g, (match, format) => {
if (match === "%%") {
return "%";
}
index++;
const formatter = createDebug.formatters[format];
if (typeof formatter === "function") {
const val = args2[index];
match = formatter.call(self, val);
args2.splice(index, 1);
index--;
}
return match;
});
createDebug.formatArgs.call(self, args2);
const logFn = self.log || createDebug.log;
logFn.apply(self, args2);
}
debug.namespace = namespace;
debug.useColors = createDebug.useColors();
debug.color = createDebug.selectColor(namespace);
debug.extend = extend;
debug.destroy = createDebug.destroy;
Object.defineProperty(debug, "enabled", {
enumerable: true,
configurable: false,
get: () => {
if (enableOverride !== null) {
return enableOverride;
}
if (namespacesCache !== createDebug.namespaces) {
namespacesCache = createDebug.namespaces;
enabledCache = createDebug.enabled(namespace);
}
return enabledCache;
},
set: (v) => {
enableOverride = v;
}
});
if (typeof createDebug.init === "function") {
createDebug.init(debug);
}
return debug;
}
function extend(namespace, delimiter) {
const newDebug = createDebug(this.namespace + (typeof delimiter === "undefined" ? ":" : delimiter) + namespace);
newDebug.log = this.log;
return newDebug;
}
function enable(namespaces) {
createDebug.save(namespaces);
createDebug.namespaces = namespaces;
createDebug.names = [];
createDebug.skips = [];
let i;
const split = (typeof namespaces === "string" ? namespaces : "").split(/[\s,]+/);
const len = split.length;
for (i = 0; i < len; i++) {
if (!split[i]) {
continue;
}
namespaces = split[i].replace(/\*/g, ".*?");
if (namespaces[0] === "-") {
createDebug.skips.push(new RegExp("^" + namespaces.slice(1) + "$"));
} else {
createDebug.names.push(new RegExp("^" + namespaces + "$"));
}
}
}
function disable() {
const namespaces = [
...createDebug.names.map(toNamespace),
...createDebug.skips.map(toNamespace).map((namespace) => "-" + namespace)
].join(",");
createDebug.enable("");
return namespaces;
}
function enabled(name) {
if (name[name.length - 1] === "*") {
return true;
}
let i;
let len;
for (i = 0, len = createDebug.skips.length; i < len; i++) {
if (createDebug.skips[i].test(name)) {
return false;
}
}
for (i = 0, len = createDebug.names.length; i < len; i++) {
if (createDebug.names[i].test(name)) {
return true;
}
}
return false;
}
function toNamespace(regexp) {
return regexp.toString().substring(2, regexp.toString().length - 2).replace(/\.\*\?$/, "*");
}
function coerce(val) {
if (val instanceof Error) {
return val.stack || val.message;
}
return val;
}
function destroy() {
console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
}
createDebug.enable(createDebug.load());
return createDebug;
}
module2.exports = setup;
}
});
// node_modules/debug/src/browser.js
var require_browser = __commonJS({
"node_modules/debug/src/browser.js"(exports2, module2) {
exports2.formatArgs = formatArgs;
exports2.save = save;
exports2.load = load;
exports2.useColors = useColors;
exports2.storage = localstorage();
exports2.destroy = /* @__PURE__ */ (() => {
let warned = false;
return () => {
if (!warned) {
warned = true;
console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
}
};
})();
exports2.colors = [
"#0000CC",
"#0000FF",
"#0033CC",
"#0033FF",
"#0066CC",
"#0066FF",
"#0099CC",
"#0099FF",
"#00CC00",
"#00CC33",
"#00CC66",
"#00CC99",
"#00CCCC",
"#00CCFF",
"#3300CC",
"#3300FF",
"#3333CC",
"#3333FF",
"#3366CC",
"#3366FF",
"#3399CC",
"#3399FF",
"#33CC00",
"#33CC33",
"#33CC66",
"#33CC99",
"#33CCCC",
"#33CCFF",
"#6600CC",
"#6600FF",
"#6633CC",
"#6633FF",
"#66CC00",
"#66CC33",
"#9900CC",
"#9900FF",
"#9933CC",
"#9933FF",
"#99CC00",
"#99CC33",
"#CC0000",
"#CC0033",
"#CC0066",
"#CC0099",
"#CC00CC",
"#CC00FF",
"#CC3300",
"#CC3333",
"#CC3366",
"#CC3399",
"#CC33CC",
"#CC33FF",
"#CC6600",
"#CC6633",
"#CC9900",
"#CC9933",
"#CCCC00",
"#CCCC33",
"#FF0000",
"#FF0033",
"#FF0066",
"#FF0099",
"#FF00CC",
"#FF00FF",
"#FF3300",
"#FF3333",
"#FF3366",
"#FF3399",
"#FF33CC",
"#FF33FF",
"#FF6600",
"#FF6633",
"#FF9900",
"#FF9933",
"#FFCC00",
"#FFCC33"
];
function useColors() {
if (typeof window !== "undefined" && window.process && (window.process.type === "renderer" || window.process.__nwjs)) {
return true;
}
if (typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) {
return false;
}
return typeof document !== "undefined" && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || // Is firebug? http://stackoverflow.com/a/398120/376773
typeof window !== "undefined" && window.console && (window.console.firebug || window.console.exception && window.console.table) || // Is firefox >= v31?
// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31 || // Double check webkit in userAgent just in case we are in a worker
typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/);
}
function formatArgs(args2) {
args2[0] = (this.useColors ? "%c" : "") + this.namespace + (this.useColors ? " %c" : " ") + args2[0] + (this.useColors ? "%c " : " ") + "+" + module2.exports.humanize(this.diff);
if (!this.useColors) {
return;
}
const c = "color: " + this.color;
args2.splice(1, 0, c, "color: inherit");
let index = 0;
let lastC = 0;
args2[0].replace(/%[a-zA-Z%]/g, (match) => {
if (match === "%%") {
return;
}
index++;
if (match === "%c") {
lastC = index;
}
});
args2.splice(lastC, 0, c);
}
exports2.log = console.debug || console.log || (() => {
});
function save(namespaces) {
try {
if (namespaces) {
exports2.storage.setItem("debug", namespaces);
} else {
exports2.storage.removeItem("debug");
}
} catch (error) {
}
}
function load() {
let r;
try {
r = exports2.storage.getItem("debug");
} catch (error) {
}
if (!r && typeof process !== "undefined" && "env" in process) {
r = process.env.DEBUG;
}
return r;
}
function localstorage() {
try {
return localStorage;
} catch (error) {
}
}
module2.exports = require_common()(exports2);
var { formatters } = module2.exports;
formatters.j = function(v) {
try {
return JSON.stringify(v);
} catch (error) {
return "[UnexpectedJSONParseError]: " + error.message;
}
};
}
});
// node_modules/debug/src/node.js
var require_node2 = __commonJS({
"node_modules/debug/src/node.js"(exports2, module2) {
var tty = require("tty");
var util = require("util");
exports2.init = init;
exports2.log = log;
exports2.formatArgs = formatArgs;
exports2.save = save;
exports2.load = load;
exports2.useColors = useColors;
exports2.destroy = util.deprecate(
() => {
},
"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."
);
exports2.colors = [6, 2, 3, 4, 5, 1];
try {
const supportsColor = require("supports-color");
if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {
exports2.colors = [
20,
21,
26,
27,
32,
33,
38,
39,
40,
41,
42,
43,
44,
45,
56,
57,
62,
63,
68,
69,
74,
75,
76,
77,
78,
79,
80,
81,
92,
93,
98,
99,
112,
113,
128,
129,
134,
135,
148,
149,
160,
161,
162,
163,
164,
165,
166,
167,
168,
169,
170,
171,
172,
173,
178,
179,
184,
185,
196,
197,
198,
199,
200,
201,
202,
203,
204,
205,
206,
207,
208,
209,
214,
215,
220,
221
];
}
} catch (error) {
}
exports2.inspectOpts = Object.keys(process.env).filter((key) => {
return /^debug_/i.test(key);
}).reduce((obj, key) => {
const prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, (_, k) => {
return k.toUpperCase();
});
let val = process.env[key];
if (/^(yes|on|true|enabled)$/i.test(val)) {
val = true;
} else if (/^(no|off|false|disabled)$/i.test(val)) {
val = false;
} else if (val === "null") {
val = null;
} else {
val = Number(val);
}
obj[prop] = val;
return obj;
}, {});
function useColors() {
return "colors" in exports2.inspectOpts ? Boolean(exports2.inspectOpts.colors) : tty.isatty(process.stderr.fd);
}
function formatArgs(args2) {
const { namespace: name, useColors: useColors2 } = this;
if (useColors2) {
const c = this.color;
const colorCode = "\x1B[3" + (c < 8 ? c : "8;5;" + c);
const prefix = ` ${colorCode};1m${name} \x1B[0m`;
args2[0] = prefix + args2[0].split("\n").join("\n" + prefix);
args2.push(colorCode + "m+" + module2.exports.humanize(this.diff) + "\x1B[0m");
} else {
args2[0] = getDate() + name + " " + args2[0];
}
}
function getDate() {
if (exports2.inspectOpts.hideDate) {
return "";
}
return (/* @__PURE__ */ new Date()).toISOString() + " ";
}
function log(...args2) {
return process.stderr.write(util.format(...args2) + "\n");
}
function save(namespaces) {
if (namespaces) {
process.env.DEBUG = namespaces;
} else {
delete process.env.DEBUG;
}
}
function load() {
return process.env.DEBUG;
}
function init(debug) {
debug.inspectOpts = {};
const keys = Object.keys(exports2.inspectOpts);
for (let i = 0; i < keys.length; i++) {
debug.inspectOpts[keys[i]] = exports2.inspectOpts[keys[i]];
}
}
module2.exports = require_common()(exports2);
var { formatters } = module2.exports;
formatters.o = function(v) {
this.inspectOpts.colors = this.useColors;
return util.inspect(v, this.inspectOpts).split("\n").map((str) => str.trim()).join(" ");
};
formatters.O = function(v) {
this.inspectOpts.colors = this.useColors;
return util.inspect(v, this.inspectOpts);
};
}
});
// node_modules/debug/src/index.js
var require_src = __commonJS({
"node_modules/debug/src/index.js"(exports2, module2) {
if (typeof process === "undefined" || process.type === "renderer" || process.browser === true || process.__nwjs) {
module2.exports = require_browser();
} else {
module2.exports = require_node2();
}
}
});
// node_modules/typedarray-to-buffer/index.js
var require_typedarray_to_buffer = __commonJS({
"node_modules/typedarray-to-buffer/index.js"(exports2, module2) {
module2.exports = function typedarrayToBuffer(arr) {
return ArrayBuffer.isView(arr) ? Buffer.from(arr.buffer, arr.byteOffset, arr.byteLength) : Buffer.from(arr);
};
}
});
// node_modules/wasi-js/dist/constants.js
var require_constants = __commonJS({
"node_modules/wasi-js/dist/constants.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.WASI_ENOMSG = exports2.WASI_ENOMEM = exports2.WASI_ENOLINK = exports2.WASI_ENOLCK = exports2.WASI_ENOEXEC = exports2.WASI_ENOENT = exports2.WASI_ENODEV = exports2.WASI_ENOBUFS = exports2.WASI_ENFILE = exports2.WASI_ENETUNREACH = exports2.WASI_ENETRESET = exports2.WASI_ENETDOWN = exports2.WASI_ENAMETOOLONG = exports2.WASI_EMULTIHOP = exports2.WASI_EMSGSIZE = exports2.WASI_EMLINK = exports2.WASI_EMFILE = exports2.WASI_ELOOP = exports2.WASI_EISDIR = exports2.WASI_EISCONN = exports2.WASI_EIO = exports2.WASI_EINVAL = exports2.WASI_EINTR = exports2.WASI_EINPROGRESS = exports2.WASI_EILSEQ = exports2.WASI_EIDRM = exports2.WASI_EHOSTUNREACH = exports2.WASI_EFBIG = exports2.WASI_EFAULT = exports2.WASI_EEXIST = exports2.WASI_EDQUOT = exports2.WASI_EDOM = exports2.WASI_EDESTADDRREQ = exports2.WASI_EDEADLK = exports2.WASI_ECONNRESET = exports2.WASI_ECONNREFUSED = exports2.WASI_ECONNABORTED = exports2.WASI_ECHILD = exports2.WASI_ECANCELED = exports2.WASI_EBUSY = exports2.WASI_EBADMSG = exports2.WASI_EBADF = exports2.WASI_EALREADY = exports2.WASI_EAGAIN = exports2.WASI_EAFNOSUPPORT = exports2.WASI_EADDRNOTAVAIL = exports2.WASI_EADDRINUSE = exports2.WASI_EACCES = exports2.WASI_E2BIG = exports2.WASI_ESUCCESS = void 0;
exports2.WASI_SIGVTALRM = exports2.WASI_SIGUSR2 = exports2.WASI_SIGUSR1 = exports2.WASI_SIGURG = exports2.WASI_SIGTTOU = exports2.WASI_SIGTTIN = exports2.WASI_SIGTSTP = exports2.WASI_SIGTRAP = exports2.WASI_SIGTERM = exports2.WASI_SIGSTOP = exports2.WASI_SIGSEGV = exports2.WASI_SIGQUIT = exports2.WASI_SIGPIPE = exports2.WASI_SIGKILL = exports2.WASI_SIGINT = exports2.WASI_SIGILL = exports2.WASI_SIGHUP = exports2.WASI_SIGFPE = exports2.WASI_SIGCONT = exports2.WASI_SIGCHLD = exports2.WASI_SIGBUS = exports2.WASI_SIGALRM = exports2.WASI_SIGABRT = exports2.WASI_ENOTCAPABLE = exports2.WASI_EXDEV = exports2.WASI_ETXTBSY = exports2.WASI_ETIMEDOUT = exports2.WASI_ESTALE = exports2.WASI_ESRCH = exports2.WASI_ESPIPE = exports2.WASI_EROFS = exports2.WASI_ERANGE = exports2.WASI_EPROTOTYPE = exports2.WASI_EPROTONOSUPPORT = exports2.WASI_EPROTO = exports2.WASI_EPIPE = exports2.WASI_EPERM = exports2.WASI_EOWNERDEAD = exports2.WASI_EOVERFLOW = exports2.WASI_ENXIO = exports2.WASI_ENOTTY = exports2.WASI_ENOTSUP = exports2.WASI_ENOTSOCK = exports2.WASI_ENOTRECOVERABLE = exports2.WASI_ENOTEMPTY = exports2.WASI_ENOTDIR = exports2.WASI_ENOTCONN = exports2.WASI_ENOSYS = exports2.WASI_ENOSPC = exports2.WASI_ENOPROTOOPT = void 0;
exports2.RIGHTS_REGULAR_FILE_BASE = exports2.RIGHTS_CHARACTER_DEVICE_INHERITING = exports2.RIGHTS_CHARACTER_DEVICE_BASE = exports2.RIGHTS_BLOCK_DEVICE_INHERITING = exports2.RIGHTS_BLOCK_DEVICE_BASE = exports2.RIGHTS_ALL = exports2.WASI_RIGHT_SOCK_SHUTDOWN = exports2.WASI_RIGHT_POLL_FD_READWRITE = exports2.WASI_RIGHT_PATH_UNLINK_FILE = exports2.WASI_RIGHT_PATH_REMOVE_DIRECTORY = exports2.WASI_RIGHT_PATH_SYMLINK = exports2.WASI_RIGHT_FD_FILESTAT_SET_TIMES = exports2.WASI_RIGHT_FD_FILESTAT_SET_SIZE = exports2.WASI_RIGHT_FD_FILESTAT_GET = exports2.WASI_RIGHT_PATH_FILESTAT_SET_TIMES = exports2.WASI_RIGHT_PATH_FILESTAT_SET_SIZE = exports2.WASI_RIGHT_PATH_FILESTAT_GET = exports2.WASI_RIGHT_PATH_RENAME_TARGET = exports2.WASI_RIGHT_PATH_RENAME_SOURCE = exports2.WASI_RIGHT_PATH_READLINK = exports2.WASI_RIGHT_FD_READDIR = exports2.WASI_RIGHT_PATH_OPEN = exports2.WASI_RIGHT_PATH_LINK_TARGET = exports2.WASI_RIGHT_PATH_LINK_SOURCE = exports2.WASI_RIGHT_PATH_CREATE_FILE = exports2.WASI_RIGHT_PATH_CREATE_DIRECTORY = exports2.WASI_RIGHT_FD_ALLOCATE = exports2.WASI_RIGHT_FD_ADVISE = exports2.WASI_RIGHT_FD_WRITE = exports2.WASI_RIGHT_FD_TELL = exports2.WASI_RIGHT_FD_SYNC = exports2.WASI_RIGHT_FD_FDSTAT_SET_FLAGS = exports2.WASI_RIGHT_FD_SEEK = exports2.WASI_RIGHT_FD_READ = exports2.WASI_RIGHT_FD_DATASYNC = exports2.WASI_FDFLAG_SYNC = exports2.WASI_FDFLAG_RSYNC = exports2.WASI_FDFLAG_NONBLOCK = exports2.WASI_FDFLAG_DSYNC = exports2.WASI_FDFLAG_APPEND = exports2.WASI_FILETYPE_SYMBOLIC_LINK = exports2.WASI_FILETYPE_SOCKET_STREAM = exports2.WASI_FILETYPE_SOCKET_DGRAM = exports2.WASI_FILETYPE_REGULAR_FILE = exports2.WASI_FILETYPE_DIRECTORY = exports2.WASI_FILETYPE_CHARACTER_DEVICE = exports2.WASI_FILETYPE_BLOCK_DEVICE = exports2.WASI_FILETYPE_UNKNOWN = exports2.WASI_SIGXFSZ = exports2.WASI_SIGXCPU = void 0;
exports2.SIGNAL_MAP = exports2.ERROR_MAP = exports2.WASI_WHENCE_END = exports2.WASI_WHENCE_CUR = exports2.WASI_WHENCE_SET = exports2.WASI_STDERR_FILENO = exports2.WASI_STDOUT_FILENO = exports2.WASI_STDIN_FILENO = exports2.WASI_DIRCOOKIE_START = exports2.WASI_PREOPENTYPE_DIR = exports2.WASI_O_TRUNC = exports2.WASI_O_EXCL = exports2.WASI_O_DIRECTORY = exports2.WASI_O_CREAT = exports2.WASI_FILESTAT_SET_MTIM_NOW = exports2.WASI_FILESTAT_SET_MTIM = exports2.WASI_FILESTAT_SET_ATIM_NOW = exports2.WASI_FILESTAT_SET_ATIM = exports2.WASI_EVENTTYPE_FD_WRITE = exports2.WASI_EVENTTYPE_FD_READ = exports2.WASI_EVENTTYPE_CLOCK = exports2.WASI_CLOCK_THREAD_CPUTIME_ID = exports2.WASI_CLOCK_PROCESS_CPUTIME_ID = exports2.WASI_CLOCK_MONOTONIC = exports2.WASI_CLOCK_REALTIME = exports2.RIGHTS_TTY_INHERITING = exports2.RIGHTS_TTY_BASE = exports2.RIGHTS_SOCKET_INHERITING = exports2.RIGHTS_SOCKET_BASE = exports2.RIGHTS_DIRECTORY_INHERITING = exports2.RIGHTS_DIRECTORY_BASE = exports2.RIGHTS_REGULAR_FILE_INHERITING = void 0;
exports2.WASI_ESUCCESS = 0;
exports2.WASI_E2BIG = 1;
exports2.WASI_EACCES = 2;
exports2.WASI_EADDRINUSE = 3;
exports2.WASI_EADDRNOTAVAIL = 4;
exports2.WASI_EAFNOSUPPORT = 5;
exports2.WASI_EAGAIN = 6;
exports2.WASI_EALREADY = 7;
exports2.WASI_EBADF = 8;
exports2.WASI_EBADMSG = 9;
exports2.WASI_EBUSY = 10;
exports2.WASI_ECANCELED = 11;
exports2.WASI_ECHILD = 12;
exports2.WASI_ECONNABORTED = 13;
exports2.WASI_ECONNREFUSED = 14;
exports2.WASI_ECONNRESET = 15;
exports2.WASI_EDEADLK = 16;
exports2.WASI_EDESTADDRREQ = 17;
exports2.WASI_EDOM = 18;
exports2.WASI_EDQUOT = 19;
exports2.WASI_EEXIST = 20;
exports2.WASI_EFAULT = 21;
exports2.WASI_EFBIG = 22;
exports2.WASI_EHOSTUNREACH = 23;
exports2.WASI_EIDRM = 24;
exports2.WASI_EILSEQ = 25;
exports2.WASI_EINPROGRESS = 26;
exports2.WASI_EINTR = 27;
exports2.WASI_EINVAL = 28;
exports2.WASI_EIO = 29;
exports2.WASI_EISCONN = 30;
exports2.WASI_EISDIR = 31;
exports2.WASI_ELOOP = 32;
exports2.WASI_EMFILE = 33;
exports2.WASI_EMLINK = 34;
exports2.WASI_EMSGSIZE = 35;
exports2.WASI_EMULTIHOP = 36;
exports2.WASI_ENAMETOOLONG = 37;
exports2.WASI_ENETDOWN = 38;
exports2.WASI_ENETRESET = 39;
exports2.WASI_ENETUNREACH = 40;
exports2.WASI_ENFILE = 41;
exports2.WASI_ENOBUFS = 42;
exports2.WASI_ENODEV = 43;
exports2.WASI_ENOENT = 44;
exports2.WASI_ENOEXEC = 45;
exports2.WASI_ENOLCK = 46;
exports2.WASI_ENOLINK = 47;
exports2.WASI_ENOMEM = 48;
exports2.WASI_ENOMSG = 49;
exports2.WASI_ENOPROTOOPT = 50;
exports2.WASI_ENOSPC = 51;
exports2.WASI_ENOSYS = 52;
exports2.WASI_ENOTCONN = 53;
exports2.WASI_ENOTDIR = 54;
exports2.WASI_ENOTEMPTY = 55;
exports2.WASI_ENOTRECOVERABLE = 56;
exports2.WASI_ENOTSOCK = 57;
exports2.WASI_ENOTSUP = 58;
exports2.WASI_ENOTTY = 59;
exports2.WASI_ENXIO = 60;
exports2.WASI_EOVERFLOW = 61;
exports2.WASI_EOWNERDEAD = 62;
exports2.WASI_EPERM = 63;
exports2.WASI_EPIPE = 64;
exports2.WASI_EPROTO = 65;
exports2.WASI_EPROTONOSUPPORT = 66;
exports2.WASI_EPROTOTYPE = 67;
exports2.WASI_ERANGE = 68;
exports2.WASI_EROFS = 69;
exports2.WASI_ESPIPE = 70;
exports2.WASI_ESRCH = 71;
exports2.WASI_ESTALE = 72;
exports2.WASI_ETIMEDOUT = 73;
exports2.WASI_ETXTBSY = 74;
exports2.WASI_EXDEV = 75;
exports2.WASI_ENOTCAPABLE = 76;
exports2.WASI_SIGABRT = 0;
exports2.WASI_SIGALRM = 1;
exports2.WASI_SIGBUS = 2;
exports2.WASI_SIGCHLD = 3;
exports2.WASI_SIGCONT = 4;
exports2.WASI_SIGFPE = 5;
exports2.WASI_SIGHUP = 6;
exports2.WASI_SIGILL = 7;
exports2.WASI_SIGINT = 8;
exports2.WASI_SIGKILL = 9;
exports2.WASI_SIGPIPE = 10;
exports2.WASI_SIGQUIT = 11;
exports2.WASI_SIGSEGV = 12;
exports2.WASI_SIGSTOP = 13;
exports2.WASI_SIGTERM = 14;
exports2.WASI_SIGTRAP = 15;
exports2.WASI_SIGTSTP = 16;
exports2.WASI_SIGTTIN = 17;
exports2.WASI_SIGTTOU = 18;
exports2.WASI_SIGURG = 19;
exports2.WASI_SIGUSR1 = 20;
exports2.WASI_SIGUSR2 = 21;
exports2.WASI_SIGVTALRM = 22;
exports2.WASI_SIGXCPU = 23;
exports2.WASI_SIGXFSZ = 24;
exports2.WASI_FILETYPE_UNKNOWN = 0;
exports2.WASI_FILETYPE_BLOCK_DEVICE = 1;
exports2.WASI_FILETYPE_CHARACTER_DEVICE = 2;
exports2.WASI_FILETYPE_DIRECTORY = 3;
exports2.WASI_FILETYPE_REGULAR_FILE = 4;
exports2.WASI_FILETYPE_SOCKET_DGRAM = 5;
exports2.WASI_FILETYPE_SOCKET_STREAM = 6;
exports2.WASI_FILETYPE_SYMBOLIC_LINK = 7;
exports2.WASI_FDFLAG_APPEND = 1;
exports2.WASI_FDFLAG_DSYNC = 2;
exports2.WASI_FDFLAG_NONBLOCK = 4;
exports2.WASI_FDFLAG_RSYNC = 8;
exports2.WASI_FDFLAG_SYNC = 16;
exports2.WASI_RIGHT_FD_DATASYNC = BigInt(1);
exports2.WASI_RIGHT_FD_READ = BigInt(2);
exports2.WASI_RIGHT_FD_SEEK = BigInt(4);
exports2.WASI_RIGHT_FD_FDSTAT_SET_FLAGS = BigInt(8);
exports2.WASI_RIGHT_FD_SYNC = BigInt(16);
exports2.WASI_RIGHT_FD_TELL = BigInt(32);
exports2.WASI_RIGHT_FD_WRITE = BigInt(64);
exports2.WASI_RIGHT_FD_ADVISE = BigInt(128);
exports2.WASI_RIGHT_FD_ALLOCATE = BigInt(256);
exports2.WASI_RIGHT_PATH_CREATE_DIRECTORY = BigInt(512);
exports2.WASI_RIGHT_PATH_CREATE_FILE = BigInt(1024);
exports2.WASI_RIGHT_PATH_LINK_SOURCE = BigInt(2048);
exports2.WASI_RIGHT_PATH_LINK_TARGET = BigInt(4096);
exports2.WASI_RIGHT_PATH_OPEN = BigInt(8192);
exports2.WASI_RIGHT_FD_READDIR = BigInt(16384);
exports2.WASI_RIGHT_PATH_READLINK = BigInt(32768);
exports2.WASI_RIGHT_PATH_RENAME_SOURCE = BigInt(65536);
exports2.WASI_RIGHT_PATH_RENAME_TARGET = BigInt(131072);
exports2.WASI_RIGHT_PATH_FILESTAT_GET = BigInt(262144);
exports2.WASI_RIGHT_PATH_FILESTAT_SET_SIZE = BigInt(524288);
exports2.WASI_RIGHT_PATH_FILESTAT_SET_TIMES = BigInt(1048576);
exports2.WASI_RIGHT_FD_FILESTAT_GET = BigInt(2097152);
exports2.WASI_RIGHT_FD_FILESTAT_SET_SIZE = BigInt(4194304);
exports2.WASI_RIGHT_FD_FILESTAT_SET_TIMES = BigInt(8388608);
exports2.WASI_RIGHT_PATH_SYMLINK = BigInt(16777216);
exports2.WASI_RIGHT_PATH_REMOVE_DIRECTORY = BigInt(33554432);
exports2.WASI_RIGHT_PATH_UNLINK_FILE = BigInt(67108864);
exports2.WASI_RIGHT_POLL_FD_READWRITE = BigInt(134217728);
exports2.WASI_RIGHT_SOCK_SHUTDOWN = BigInt(268435456);
exports2.RIGHTS_ALL = exports2.WASI_RIGHT_FD_DATASYNC | exports2.WASI_RIGHT_FD_READ | exports2.WASI_RIGHT_FD_SEEK | exports2.WASI_RIGHT_FD_FDSTAT_SET_FLAGS | exports2.WASI_RIGHT_FD_SYNC | exports2.WASI_RIGHT_FD_TELL | exports2.WASI_RIGHT_FD_WRITE | exports2.WASI_RIGHT_FD_ADVISE | exports2.WASI_RIGHT_FD_ALLOCATE | exports2.WASI_RIGHT_PATH_CREATE_DIRECTORY | exports2.WASI_RIGHT_PATH_CREATE_FILE | exports2.WASI_RIGHT_PATH_LINK_SOURCE | exports2.WASI_RIGHT_PATH_LINK_TARGET | exports2.WASI_RIGHT_PATH_OPEN | exports2.WASI_RIGHT_FD_READDIR | exports2.WASI_RIGHT_PATH_READLINK | exports2.WASI_RIGHT_PATH_RENAME_SOURCE | exports2.WASI_RIGHT_PATH_RENAME_TARGET | exports2.WASI_RIGHT_PATH_FILESTAT_GET | exports2.WASI_RIGHT_PATH_FILESTAT_SET_SIZE | exports2.WASI_RIGHT_PATH_FILESTAT_SET_TIMES | exports2.WASI_RIGHT_FD_FILESTAT_GET | exports2.WASI_RIGHT_FD_FILESTAT_SET_TIMES | exports2.WASI_RIGHT_FD_FILESTAT_SET_SIZE | exports2.WASI_RIGHT_PATH_SYMLINK | exports2.WASI_RIGHT_PATH_UNLINK_FILE | exports2.WASI_RIGHT_PATH_REMOVE_DIRECTORY | exports2.WASI_RIGHT_POLL_FD_READWRITE | exports2.WASI_RIGHT_SOCK_SHUTDOWN;
exports2.RIGHTS_BLOCK_DEVICE_BASE = exports2.RIGHTS_ALL;
exports2.RIGHTS_BLOCK_DEVICE_INHERITING = exports2.RIGHTS_ALL;
exports2.RIGHTS_CHARACTER_DEVICE_BASE = exports2.RIGHTS_ALL;
exports2.RIGHTS_CHARACTER_DEVICE_INHERITING = exports2.RIGHTS_ALL;
exports2.RIGHTS_REGULAR_FILE_BASE = exports2.WASI_RIGHT_FD_DATASYNC | exports2.WASI_RIGHT_FD_READ | exports2.WASI_RIGHT_FD_SEEK | exports2.WASI_RIGHT_FD_FDSTAT_SET_FLAGS | exports2.WASI_RIGHT_FD_SYNC | exports2.WASI_RIGHT_FD_TELL | exports2.WASI_RIGHT_FD_WRITE | exports2.WASI_RIGHT_FD_ADVISE | exports2.WASI_RIGHT_FD_ALLOCATE | exports2.WASI_RIGHT_FD_FILESTAT_GET | exports2.WASI_RIGHT_FD_FILESTAT_SET_SIZE | exports2.WASI_RIGHT_FD_FILESTAT_SET_TIMES | exports2.WASI_RIGHT_POLL_FD_READWRITE;
exports2.RIGHTS_REGULAR_FILE_INHERITING = BigInt(0);
exports2.RIGHTS_DIRECTORY_BASE = exports2.WASI_RIGHT_FD_FDSTAT_SET_FLAGS | exports2.WASI_RIGHT_FD_SYNC | exports2.WASI_RIGHT_FD_ADVISE | exports2.WASI_RIGHT_PATH_CREATE_DIRECTORY | exports2.WASI_RIGHT_PATH_CREATE_FILE | exports2.WASI_RIGHT_PATH_LINK_SOURCE | exports2.WASI_RIGHT_PATH_LINK_TARGET | exports2.WASI_RIGHT_PATH_OPEN | exports2.WASI_RIGHT_FD_READDIR | exports2.WASI_RIGHT_PATH_READLINK | exports2.WASI_RIGHT_PATH_RENAME_SOURCE | exports2.WASI_RIGHT_PATH_RENAME_TARGET | exports2.WASI_RIGHT_PATH_FILESTAT_GET | exports2.WASI_RIGHT_PATH_FILESTAT_SET_SIZE | exports2.WASI_RIGHT_PATH_FILESTAT_SET_TIMES | exports2.WASI_RIGHT_FD_FILESTAT_GET | exports2.WASI_RIGHT_FD_FILESTAT_SET_TIMES | exports2.WASI_RIGHT_PATH_SYMLINK | exports2.WASI_RIGHT_PATH_UNLINK_FILE | exports2.WASI_RIGHT_PATH_REMOVE_DIRECTORY | exports2.WASI_RIGHT_POLL_FD_READWRITE;
exports2.RIGHTS_DIRECTORY_INHERITING = exports2.RIGHTS_DIRECTORY_BASE | exports2.RIGHTS_REGULAR_FILE_BASE;
exports2.RIGHTS_SOCKET_BASE = exports2.WASI_RIGHT_FD_READ | exports2.WASI_RIGHT_FD_FDSTAT_SET_FLAGS | exports2.WASI_RIGHT_FD_WRITE | exports2.WASI_RIGHT_FD_FILESTAT_GET | exports2.WASI_RIGHT_POLL_FD_READWRITE | exports2.WASI_RIGHT_SOCK_SHUTDOWN;
exports2.RIGHTS_SOCKET_INHERITING = exports2.RIGHTS_ALL;
exports2.RIGHTS_TTY_BASE = exports2.WASI_RIGHT_FD_READ | exports2.WASI_RIGHT_FD_FDSTAT_SET_FLAGS | exports2.WASI_RIGHT_FD_WRITE | exports2.WASI_RIGHT_FD_FILESTAT_GET | exports2.WASI_RIGHT_POLL_FD_READWRITE;
exports2.RIGHTS_TTY_INHERITING = BigInt(0);
exports2.WASI_CLOCK_REALTIME = 0;
exports2.WASI_CLOCK_MONOTONIC = 1;
exports2.WASI_CLOCK_PROCESS_CPUTIME_ID = 2;
exports2.WASI_CLOCK_THREAD_CPUTIME_ID = 3;
exports2.WASI_EVENTTYPE_CLOCK = 0;
exports2.WASI_EVENTTYPE_FD_READ = 1;
exports2.WASI_EVENTTYPE_FD_WRITE = 2;
exports2.WASI_FILESTAT_SET_ATIM = 1 << 0;
exports2.WASI_FILESTAT_SET_ATIM_NOW = 1 << 1;
exports2.WASI_FILESTAT_SET_MTIM = 1 << 2;
exports2.WASI_FILESTAT_SET_MTIM_NOW = 1 << 3;
exports2.WASI_O_CREAT = 1 << 0;
exports2.WASI_O_DIRECTORY = 1 << 1;
exports2.WASI_O_EXCL = 1 << 2;
exports2.WASI_O_TRUNC = 1 << 3;
exports2.WASI_PREOPENTYPE_DIR = 0;
exports2.WASI_DIRCOOKIE_START = 0;
exports2.WASI_STDIN_FILENO = 0;
exports2.WASI_STDOUT_FILENO = 1;
exports2.WASI_STDERR_FILENO = 2;
exports2.WASI_WHENCE_SET = 0;
exports2.WASI_WHENCE_CUR = 1;
exports2.WASI_WHENCE_END = 2;
exports2.ERROR_MAP = {
E2BIG: exports2.WASI_E2BIG,
EACCES: exports2.WASI_EACCES,
EADDRINUSE: exports2.WASI_EADDRINUSE,
EADDRNOTAVAIL: exports2.WASI_EADDRNOTAVAIL,
EAFNOSUPPORT: exports2.WASI_EAFNOSUPPORT,
EALREADY: exports2.WASI_EALREADY,
EAGAIN: exports2.WASI_EAGAIN,
// EBADE: WASI_EBADE,
EBADF: exports2.WASI_EBADF,
// EBADFD: WASI_EBADFD,
EBADMSG: exports2.WASI_EBADMSG,
// EBADR: WASI_EBADR,
// EBADRQC: WASI_EBADRQC,
// EBADSLT: WASI_EBADSLT,
EBUSY: exports2.WASI_EBUSY,
ECANCELED: exports2.WASI_ECANCELED,
ECHILD: exports2.WASI_ECHILD,
// ECHRNG: WASI_ECHRNG,
// ECOMM: WASI_ECOMM,
ECONNABORTED: exports2.WASI_ECONNABORTED,
ECONNREFUSED: exports2.WASI_ECONNREFUSED,
ECONNRESET: exports2.WASI_ECONNRESET,
EDEADLOCK: exports2.WASI_EDEADLK,
EDESTADDRREQ: exports2.WASI_EDESTADDRREQ,
EDOM: exports2.WASI_EDOM,
EDQUOT: exports2.WASI_EDQUOT,
EEXIST: exports2.WASI_EEXIST,
EFAULT: exports2.WASI_EFAULT,
EFBIG: exports2.WASI_EFBIG,
EHOSTDOWN: exports2.WASI_EHOSTUNREACH,
EHOSTUNREACH: exports2.WASI_EHOSTUNREACH,
// EHWPOISON: WASI_EHWPOISON,
EIDRM: exports2.WASI_EIDRM,
EILSEQ: exports2.WASI_EILSEQ,
EINPROGRESS: exports2.WASI_EINPROGRESS,
EINTR: exports2.WASI_EINTR,
EINVAL: exports2.WASI_EINVAL,
EIO: exports2.WASI_EIO,
EISCONN: exports2.WASI_EISCONN,
EISDIR: exports2.WASI_EISDIR,
ELOOP: exports2.WASI_ELOOP,
EMFILE: exports2.WASI_EMFILE,
EMLINK: exports2.WASI_EMLINK,
EMSGSIZE: exports2.WASI_EMSGSIZE,
EMULTIHOP: exports2.WASI_EMULTIHOP,
ENAMETOOLONG: exports2.WASI_ENAMETOOLONG,
ENETDOWN: exports2.WASI_ENETDOWN,
ENETRESET: exports2.WASI_ENETRESET,
ENETUNREACH: exports2.WASI_ENETUNREACH,
ENFILE: exports2.WASI_ENFILE,
ENOBUFS: exports2.WASI_ENOBUFS,
ENODEV: exports2.WASI_ENODEV,
ENOENT: exports2.WASI_ENOENT,
ENOEXEC: exports2.WASI_ENOEXEC,
ENOLCK: exports2.WASI_ENOLCK,
ENOLINK: exports2.WASI_ENOLINK,
ENOMEM: exports2.WASI_ENOMEM,
ENOMSG: exports2.WASI_ENOMSG,
ENOPROTOOPT: exports2.WASI_ENOPROTOOPT,
ENOSPC: exports2.WASI_ENOSPC,
ENOSYS: exports2.WASI_ENOSYS,
ENOTCONN: exports2.WASI_ENOTCONN,
ENOTDIR: exports2.WASI_ENOTDIR,
ENOTEMPTY: exports2.WASI_ENOTEMPTY,
ENOTRECOVERABLE: exports2.WASI_ENOTRECOVERABLE,
ENOTSOCK: exports2.WASI_ENOTSOCK,
ENOTTY: exports2.WASI_ENOTTY,
ENXIO: exports2.WASI_ENXIO,
EOVERFLOW: exports2.WASI_EOVERFLOW,
EOWNERDEAD: exports2.WASI_EOWNERDEAD,
EPERM: exports2.WASI_EPERM,
EPIPE: exports2.WASI_EPIPE,
EPROTO: exports2.WASI_EPROTO,
EPROTONOSUPPORT: exports2.WASI_EPROTONOSUPPORT,
EPROTOTYPE: exports2.WASI_EPROTOTYPE,
ERANGE: exports2.WASI_ERANGE,
EROFS: exports2.WASI_EROFS,
ESPIPE: exports2.WASI_ESPIPE,
ESRCH: exports2.WASI_ESRCH,
ESTALE: exports2.WASI_ESTALE,
ETIMEDOUT: exports2.WASI_ETIMEDOUT,
ETXTBSY: exports2.WASI_ETXTBSY,
EXDEV: exports2.WASI_EXDEV
};
exports2.SIGNAL_MAP = {
[exports2.WASI_SIGHUP]: "SIGHUP",
[exports2.WASI_SIGINT]: "SIGINT",
[exports2.WASI_SIGQUIT]: "SIGQUIT",
[exports2.WASI_SIGILL]: "SIGILL",
[exports2.WASI_SIGTRAP]: "SIGTRAP",
[exports2.WASI_SIGABRT]: "SIGABRT",
[exports2.WASI_SIGBUS]: "SIGBUS",
[exports2.WASI_SIGFPE]: "SIGFPE",
[exports2.WASI_SIGKILL]: "SIGKILL",
[exports2.WASI_SIGUSR1]: "SIGUSR1",
[exports2.WASI_SIGSEGV]: "SIGSEGV",
[exports2.WASI_SIGUSR2]: "SIGUSR2",
[exports2.WASI_SIGPIPE]: "SIGPIPE",
[exports2.WASI_SIGALRM]: "SIGALRM",
[exports2.WASI_SIGTERM]: "SIGTERM",
[exports2.WASI_SIGCHLD]: "SIGCHLD",
[exports2.WASI_SIGCONT]: "SIGCONT",
[exports2.WASI_SIGSTOP]: "SIGSTOP",
[exports2.WASI_SIGTSTP]: "SIGTSTP",
[exports2.WASI_SIGTTIN]: "SIGTTIN",
[exports2.WASI_SIGTTOU]: "SIGTTOU",
[exports2.WASI_SIGURG]: "SIGURG",
[exports2.WASI_SIGXCPU]: "SIGXCPU",
[exports2.WASI_SIGXFSZ]: "SIGXFSZ",
[exports2.WASI_SIGVTALRM]: "SIGVTALRM"
};
}
});
// node_modules/wasi-js/dist/wasi.js
var require_wasi = __commonJS({
"node_modules/wasi-js/dist/wasi.js"(exports2) {
"use strict";
var __importDefault = exports2 && exports2.__importDefault || function(mod) {
return mod && mod.__esModule ? mod : { "default": mod };
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.SOCKET_DEFAULT_RIGHTS = void 0;
var debug_1 = __importDefault(require_src());
var log = (0, debug_1.default)("wasi");
var logOpen = (0, debug_1.default)("wasi:open");
var SC_OPEN_MAX = 32768;
var types_1 = require_types();
var typedarray_to_buffer_1 = __importDefault(require_typedarray_to_buffer());
var constants_1 = require_constants();
var STDIN_DEFAULT_RIGHTS = constants_1.WASI_RIGHT_FD_DATASYNC | constants_1.WASI_RIGHT_FD_READ | constants_1.WASI_RIGHT_FD_SYNC | constants_1.WASI_RIGHT_FD_ADVISE | constants_1.WASI_RIGHT_FD_FILESTAT_GET | constants_1.WASI_RIGHT_POLL_FD_READWRITE;
var STDOUT_DEFAULT_RIGHTS = constants_1.WASI_RIGHT_FD_DATASYNC | constants_1.WASI_RIGHT_FD_WRITE | constants_1.WASI_RIGHT_FD_SYNC | constants_1.WASI_RIGHT_FD_ADVISE | constants_1.WASI_RIGHT_FD_FILESTAT_GET | constants_1.WASI_RIGHT_POLL_FD_READWRITE;
var STDERR_DEFAULT_RIGHTS = STDOUT_DEFAULT_RIGHTS;
exports2.SOCKET_DEFAULT_RIGHTS = constants_1.WASI_RIGHT_FD_DATASYNC | constants_1.WASI_RIGHT_FD_READ | constants_1.WASI_RIGHT_FD_WRITE | constants_1.WASI_RIGHT_FD_ADVISE | constants_1.WASI_RIGHT_FD_FILESTAT_GET | constants_1.WASI_RIGHT_POLL_FD_READWRITE | constants_1.WASI_RIGHT_FD_FDSTAT_SET_FLAGS;
var msToNs = (ms) => {
const msInt = Math.trunc(ms);
const decimal = BigInt(Math.round((ms - msInt) * 1e6));
const ns = BigInt(msInt) * BigInt(1e6);
return ns + decimal;
};
var nsToMs = (ns) => {
if (typeof ns === "number") {
ns = Math.trunc(ns);
}
const nsInt = BigInt(ns);
return Number(nsInt / BigInt(1e6));
};
var wrap = (f) => (...args2) => {
try {
return f(...args2);
} catch (err) {
let e = err;
while (e.prev != null) {
e = e.prev;
}
if (e?.code && typeof e?.code === "string") {
return constants_1.ERROR_MAP[e.code] || constants_1.WASI_EINVAL;
}
if (e instanceof types_1.WASIError) {
return e.errno;
}
throw e;
}
};
var stat = (wasi, fd) => {
const entry = wasi.FD_MAP.get(fd);
if (!entry) {
throw new types_1.WASIError(constants_1.WASI_EBADF);
}
if (entry.filetype === void 0) {
const stats = wasi.fstatSync(entry.real);
const { filetype, rightsBase, rightsInheriting } = translateFileAttributes(wasi, fd, stats);
entry.filetype = filetype;
if (!entry.rights) {
entry.rights = {
base: rightsBase,
inheriting: rightsInheriting
};
}
}
return entry;
};
var translateFileAttributes = (wasi, fd, stats) => {
switch (true) {
case stats.isBlockDevice():
return {
filetype: constants_1.WASI_FILETYPE_BLOCK_DEVICE,
rightsBase: constants_1.RIGHTS_BLOCK_DEVICE_BASE,
rightsInheriting: constants_1.RIGHTS_BLOCK_DEVICE_INHERITING
};
case stats.isCharacterDevice(): {
const filetype = constants_1.WASI_FILETYPE_CHARACTER_DEVICE;
if (fd !== void 0 && wasi.bindings.isTTY(fd)) {
return {
filetype,
rightsBase: constants_1.RIGHTS_TTY_BASE,
rightsInheriting: constants_1.RIGHTS_TTY_INHERITING
};
}
return {
filetype,
rightsBase: constants_1.RIGHTS_CHARACTER_DEVICE_BASE,
rightsInheriting: constants_1.RIGHTS_CHARACTER_DEVICE_INHERITING
};
}
case stats.isDirectory():
return {
filetype: constants_1.WASI_FILETYPE_DIRECTORY,
rightsBase: constants_1.RIGHTS_DIRECTORY_BASE,
rightsInheriting: constants_1.RIGHTS_DIRECTORY_INHERITING
};
case stats.isFIFO():
return {
filetype: constants_1.WASI_FILETYPE_SOCKET_STREAM,
rightsBase: constants_1.RIGHTS_SOCKET_BASE,
rightsInheriting: constants_1.RIGHTS_SOCKET_INHERITING
};
case stats.isFile():
return {
filetype: constants_1.WASI_FILETYPE_REGULAR_FILE,
rightsBase: constants_1.RIGHTS_REGULAR_FILE_BASE,
rightsInheriting: constants_1.RIGHTS_REGULAR_FILE_INHERITING
};
case stats.isSocket():
return {
filetype: constants_1.WASI_FILETYPE_SOCKET_STREAM,
rightsBase: constants_1.RIGHTS_SOCKET_BASE,
rightsInheriting: constants_1.RIGHTS_SOCKET_INHERITING
};
case stats.isSymbolicLink():
return {
filetype: constants_1.WASI_FILETYPE_SYMBOLIC_LINK,
rightsBase: BigInt(0),
rightsInheriting: BigInt(0)
};
default:
return {
filetype: constants_1.WASI_FILETYPE_UNKNOWN,
rightsBase: BigInt(0),
rightsInheriting: BigInt(0)
};
}
};
var warnedAboutSleep = false;
var WASI2 = class {
constructor(wasiConfig) {
this.lastStdin = 0;
this.env = {};
this.sleep = wasiConfig.sleep;
this.getStdin = wasiConfig.getStdin;
this.sendStdout = wasiConfig.sendStdout;
this.sendStderr = wasiConfig.sendStderr;
let preopens = {};
if (wasiConfig.preopens) {
preopens = wasiConfig.preopens;
}
if (wasiConfig && wasiConfig.env) {
this.env = wasiConfig.env;
}
let args2 = [];
if (wasiConfig && wasiConfig.args) {
args2 = wasiConfig.args;
}
this.memory = void 0;
this.view = void 0;
this.bindings = wasiConfig.bindings;
const fs2 = this.bindings.fs;
this.FD_MAP = /* @__PURE__ */ new Map([
[
constants_1.WASI_STDIN_FILENO,
{
real: 0,
filetype: constants_1.WASI_FILETYPE_CHARACTER_DEVICE,
// offset: BigInt(0),
rights: {
base: STDIN_DEFAULT_RIGHTS,
inheriting: BigInt(0)
},
path: "/dev/stdin"
}
],
[
constants_1.WASI_STDOUT_FILENO,
{
real: 1,
filetype: constants_1.WASI_FILETYPE_CHARACTER_DEVICE,
// offset: BigInt(0),
rights: {
base: STDOUT_DEFAULT_RIGHTS,
inheriting: BigInt(0)
},
path: "/dev/stdout"
}
],
[
constants_1.WASI_STDERR_FILENO,
{
real: 2,
filetype: constants_1.WASI_FILETYPE_CHARACTER_DEVICE,
// offset: BigInt(0),
rights: {
base: STDERR_DEFAULT_RIGHTS,
inheriting: BigInt(0)
},
path: "/dev/stderr"
}
]
]);
const path2 = this.bindings.path;
for (const [k, v] of Object.entries(preopens)) {
const real = fs2.openSync(v, fs2.constants.O_RDONLY);
const newfd = this.getUnusedFileDescriptor();
this.FD_MAP.set(newfd, {
real,
filetype: constants_1.WASI_FILETYPE_DIRECTORY,
// offset: BigInt(0),
rights: {
base: constants_1.RIGHTS_DIRECTORY_BASE,
inheriting: constants_1.RIGHTS_DIRECTORY_INHERITING
},
fakePath: k,
path: v
});
}
const getiovs = (iovs, iovsLen) => {
this.refreshMemory();
const buffers = Array.from({ length: iovsLen }, (_, i) => {
const ptr = iovs + i * 8;
const buf = this.view.getUint32(ptr, true);
let bufLen = this.view.getUint32(ptr + 4, true);
if (bufLen > this.memory.buffer.byteLength - buf) {
log("getiovs: warning -- truncating buffer to fit in memory");
bufLen = Math.min(bufLen, Math.max(0, this.memory.buffer.byteLength - buf));
}
try {
const buffer = new Uint8Array(this.memory.buffer, buf, bufLen);
return (0, typedarray_to_buffer_1.default)(buffer);
} catch (err) {
console.warn("WASI.getiovs -- invalid buffer", err);
throw new types_1.WASIError(constants_1.WASI_EINVAL);