{
  "version": 3,
  "sources": ["../src/server.ts"],
  "sourcesContent": ["import type { StandardSchemaV1 } from '@standard-schema/spec'\nimport type { RouteOutput, RouteOptions, RouteHandlerOptions } from './types.js'\nimport type { Capability } from './capability.js'\n\nexport function route<\n  Cap extends Capability<StandardSchemaV1>,\n  Output\n> (options:RouteOptions<Cap, Output>):RouteOutput<Cap, Output> {\n    return {\n        cap: options.capability,\n        fn: async ({ invocation, store }:RouteHandlerOptions) => {\n            const { capability, handler } = options\n\n            const args = await capability.validate(invocation.payload.args)\n            if (args.issues) {\n                throw new Error(args.issues.map((issue) => issue.message).join(', '))\n            }\n\n            // TODO: handle failure\n            const result = await handler({ args: args.value, store })\n\n            return result\n        },\n    }\n}\n"],
  "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIO,SAAS,MAGb,SAA4D;AAC3D,SAAO;AAAA,IACH,KAAK,QAAQ;AAAA,IACb,IAAI,8BAAO,EAAE,YAAY,MAAM,MAA0B;AACrD,YAAM,EAAE,YAAY,QAAQ,IAAI;AAEhC,YAAM,OAAO,MAAM,WAAW,SAAS,WAAW,QAAQ,IAAI;AAC9D,UAAI,KAAK,QAAQ;AACb,cAAM,IAAI,MAAM,KAAK,OAAO,IAAI,CAAC,UAAU,MAAM,OAAO,EAAE,KAAK,IAAI,CAAC;AAAA,MACxE;AAGA,YAAM,SAAS,MAAM,QAAQ,EAAE,MAAM,KAAK,OAAO,MAAM,CAAC;AAExD,aAAO;AAAA,IACX,GAZI;AAAA,EAaR;AACJ;AApBgB;",
  "names": []
}
