functionalscript
Version:
FunctionalScript is a purely functional subset of JavaScript
44 lines (43 loc) • 1.33 kB
JavaScript
var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
if (typeof path === "string" && /^\.\.?\//.test(path)) {
return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
});
}
return path;
};
import { run } from "./module.f.js";
import fs from 'node:fs';
import process from "node:process";
import { concat } from "../path/module.f.js";
const prefix = 'file:///';
export const io = {
console,
fs,
process,
asyncImport: (v) => {
const s0 = v.includes(':') || v.startsWith('/') ? v : concat(process.cwd())(v);
const s1 = s0.startsWith(prefix) ? s0 : `${prefix}${s0}`;
return import(__rewriteRelativeImportExtension(s1));
},
performance,
fetch,
tryCatch: f => {
try {
return ['ok', f()];
}
catch (e) {
return ['error', e];
}
},
asyncTryCatch: async (f) => {
try {
return ['ok', await f()];
}
catch (e) {
return ['error', e];
}
},
};
const runDefault = run(io);
export default runDefault;