Abaca Koa integrations
Type-safe routing
import {createOperationsRouter} from 'abaca-koa';
import {Schema} from './sdk.gen.js';
const pets: Schema<'Pet'>[] = [];
const router = createOperationsRouter({
document,
handlers: {
createPet: (ctx) => {
pets.push({id: pets.length, ...ctx.request.body});
return 201;
},
listPets: async (ctx) => {
const limit = ctx.params.limit ?? 5;
return {data: pets.slice(0, limit)};
},
},
});
Customizable proxying
import {createOperationsProxy} from 'abaca-koa';
const proxy = createOperationsProxy({
document,
upstreams: {
readOnly: {target: },
},
dispatch: (op) =>
});