UNPKG

@nimpl/router

Version:

Edge router for next.js apps (i18n, basePath, rewrites, redirects)

41 lines (40 loc) 1.32 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createRuleTester = void 0; const checkers_1 = require("../checkers"); const headers_1 = require("next/headers"); const createRuleTester = () => { const stores = { headers: null, cookies: null, }; return async (url, rule) => { const checker = checkers_1.checkers[rule.type]; if (checker) { let store = null; if (rule.type === "header") { if (stores.headers) { store = stores.headers; } else { store = await (0, headers_1.headers)(); stores.headers = store; } } else if (rule.type === "cookie") { if (stores.cookies) { store = stores.cookies; } else { store = await (0, headers_1.cookies)(); stores.cookies = store; } } // todo add correct types // eslint-disable-next-line @typescript-eslint/no-explicit-any return checker(url, rule, store); } return { match: false, groups: {} }; }; }; exports.createRuleTester = createRuleTester;