UNPKG

dewy

Version:

Dewy(dǝw-y) is a minimalist HTTP server framework with a small codebase, utilizing built-in URLPattern for efficient routing.

67 lines (66 loc) 2.28 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.dntGlobalThis = exports.URLPattern = void 0; const urlpattern_shim_js_1 = require("./nodejs/urlpattern.shim.js"); var urlpattern_shim_js_2 = require("./nodejs/urlpattern.shim.js"); Object.defineProperty(exports, "URLPattern", { enumerable: true, get: function () { return urlpattern_shim_js_2.URLPattern; } }); const dntGlobals = { URLPattern: urlpattern_shim_js_1.URLPattern, }; exports.dntGlobalThis = createMergeProxy(globalThis, dntGlobals); // deno-lint-ignore ban-types function createMergeProxy(baseObj, extObj) { return new Proxy(baseObj, { get(_target, prop, _receiver) { if (prop in extObj) { return extObj[prop]; } else { return baseObj[prop]; } }, set(_target, prop, value) { if (prop in extObj) { delete extObj[prop]; } baseObj[prop] = value; return true; }, deleteProperty(_target, prop) { let success = false; if (prop in extObj) { delete extObj[prop]; success = true; } if (prop in baseObj) { delete baseObj[prop]; success = true; } return success; }, ownKeys(_target) { const baseKeys = Reflect.ownKeys(baseObj); const extKeys = Reflect.ownKeys(extObj); const extKeysSet = new Set(extKeys); return [...baseKeys.filter((k) => !extKeysSet.has(k)), ...extKeys]; }, defineProperty(_target, prop, desc) { if (prop in extObj) { delete extObj[prop]; } Reflect.defineProperty(baseObj, prop, desc); return true; }, getOwnPropertyDescriptor(_target, prop) { if (prop in extObj) { return Reflect.getOwnPropertyDescriptor(extObj, prop); } else { return Reflect.getOwnPropertyDescriptor(baseObj, prop); } }, has(_target, prop) { return prop in extObj || prop in baseObj; }, }); }