UNPKG

@whatwg-node/router

Version:
50 lines (45 loc) 1.49 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); const server = require('@whatwg-node/server'); const ittyRouter = require('itty-router'); const fetch = require('@whatwg-node/fetch'); function createRouter(options) { var _a; let ittyRouter$1 = ittyRouter.Router({ base: options === null || options === void 0 ? void 0 : options.base, }); ittyRouter$1.all('*', request => { let parsedUrl; Object.defineProperty(request, 'parsedUrl', { get() { if (!parsedUrl) { parsedUrl = new URL(request.url); } return parsedUrl; }, }); }); (_a = options === null || options === void 0 ? void 0 : options.plugins) === null || _a === void 0 ? void 0 : _a.forEach(plugin => { ittyRouter$1 = plugin(ittyRouter$1); }); return server.createServerAdapter(ittyRouter$1, (options === null || options === void 0 ? void 0 : options.RequestCtor) || fetch.Request); } Object.defineProperty(exports, 'withCORS', { enumerable: true, get: function () { return server.withCORS; } }); Object.defineProperty(exports, 'withErrorHandling', { enumerable: true, get: function () { return server.withErrorHandling; } }); Object.defineProperty(exports, 'Response', { enumerable: true, get: function () { return fetch.Response; } }); exports.createRouter = createRouter;