Files
2026-05-27 23:29:53 +01:00

29 lines
952 B
TypeScript

import { runPipelineRouterConformance } from "@suaveplan/api-router/testing/pipeline-router-conformance";
import { InMemoryRouter } from "../../src/adapter/adapter.js";
/**
* Wire the canonical `PipelineRouter` conformance suite from
* `@suaveplan/api-router` to the `InMemoryRouter` pipeline facet.
*/
runPipelineRouterConformance({
label: "InMemoryRouter pipeline facet",
build: () => {
let r = new InMemoryRouter();
const replay: Array<Parameters<typeof r.registerPipelineRoute>[0]> = [];
return {
router: {
match: (method, url) => r.matchPipeline(method, url),
},
register: (reg) => {
r.registerPipelineRoute(reg);
replay.push(reg);
},
reload: () => {
r = new InMemoryRouter();
for (const reg of replay) r.registerPipelineRoute(reg);
},
};
},
});