diff options
Diffstat (limited to 'src/javascript/jsc/builtins/js/JSZigGlobalObject.js')
-rw-r--r-- | src/javascript/jsc/builtins/js/JSZigGlobalObject.js | 62 |
1 files changed, 0 insertions, 62 deletions
diff --git a/src/javascript/jsc/builtins/js/JSZigGlobalObject.js b/src/javascript/jsc/builtins/js/JSZigGlobalObject.js deleted file mode 100644 index cb3446159..000000000 --- a/src/javascript/jsc/builtins/js/JSZigGlobalObject.js +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright 2022 Codeblog Corp. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY - * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -function require(name) { - "use strict"; - if (typeof name !== "string") { - @throwTypeError("require() expects a string as its argument"); - } - - const resolved = this.resolveSync(name, this.path); - var requireCache = (globalThis[Symbol.for("_requireCache")] ||= new @Map); - var cached = requireCache.@get(resolved); - if (cached) { - if (resolved.endsWith(".node")) { - return cached.exports; - } - - return cached; - } - - // TODO: remove this hardcoding - if (resolved.endsWith(".json")) { - var fs = (globalThis[Symbol.for("_fs")] ||= Bun.fs()); - var exports = JSON.parse(fs.readFileSync(resolved, "utf8")); - requireCache.@set(resolved, exports); - return exports; - } else if (resolved.endsWith(".node")) { - var module = { exports: {} }; - globalThis.process.dlopen(module, resolved); - requireCache.@set(resolved, module); - return module.exports; - } else if (resolved.endsWith(".toml")) { - var fs = (globalThis[Symbol.for("_fs")] ||= Bun.fs()); - var exports = Bun.TOML.parse(fs.readFileSync(resolved, "utf8")); - requireCache.@set(resolved, exports); - return exports; - } - - @throwTypeError(`Dynamic require isn't supported for file type: ${resolved.subsring(resolved.lastIndexOf(".") + 1) || resolved}`); -} |