@nwire/handler 0.9.1 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -53,7 +53,7 @@ HandlerInput<H> / HandlerOutput<H> / HandlerExtras<H>
53
53
  ```ts
54
54
  import { defineHandlerWith, type Ctx } from "@nwire/handler";
55
55
  import type { AuthCradle } from "@nwire/auth";
56
- import type { DbCradle } from "@nwire/data-drizzle";
56
+ import type { DbCradle } from "@nwire/drizzle";
57
57
 
58
58
  // Plugins export type fragments; app composes its cradle:
59
59
  export type AppCradle = AuthCradle &
@@ -62,4 +62,3 @@ export declare const NotFound: ErrorDefinition;
62
62
  export declare const Gone: ErrorDefinition;
63
63
  export declare const BadRequest: ErrorDefinition;
64
64
  export declare const Conflict: ErrorDefinition;
65
- //# sourceMappingURL=define-error.d.ts.map
@@ -93,4 +93,3 @@ export const Conflict = defineError({
93
93
  status: 409,
94
94
  summary: "Request conflicts with the current state of the resource.",
95
95
  });
96
- //# sourceMappingURL=define-error.js.map
@@ -32,10 +32,39 @@
32
32
  */
33
33
  import type { z } from "zod";
34
34
  import type { ZodTypeAny } from "@nwire/messages";
35
+ import type { Container } from "@nwire/container";
36
+ import type { MessageEnvelope } from "@nwire/envelope";
35
37
  import { type BaseHookCtx, type ChainFn, type ListenerFn, type RunOptions, type RunResult, type UseOptions, type OnOptions, type TapFn } from "@nwire/hooks";
36
38
  import type { ErrorDefinition } from "./define-error.js";
37
39
  import type { ResponseSpec, ListResponseSpec } from "./response.js";
38
40
  import type { ResourceDefinition } from "./define-resource.js";
41
+ /**
42
+ * Canonical dispatch verbs surfaced on every handler's ctx. The runtime
43
+ * binds these in `runtime.execute(handler, input)` so handler bodies can
44
+ * recurse: `await ctx.execute(otherHandler, input)`, fan out events with
45
+ * `await ctx.emit(SomeEvent, payload)`, or fire-and-forget with
46
+ * `void ctx.enqueue(workHandler, payload)`.
47
+ *
48
+ * Defined structurally here so `@nwire/handler` stays decoupled from
49
+ * `@nwire/app` — kernel.Runtime's verb signatures conform to these.
50
+ */
51
+ export type ExecuteFn = <TInput = unknown, TOutput = unknown>(handler: HandlerLikeRef<TOutput> | string, input: TInput, envelopePartial?: Partial<MessageEnvelope> & {
52
+ readonly signal?: AbortSignal;
53
+ }) => Promise<TOutput>;
54
+ export type EnqueueFn = <TInput = unknown>(handler: HandlerLikeRef<unknown> | string, input: TInput, envelopePartial?: Partial<MessageEnvelope> & {
55
+ readonly signal?: AbortSignal;
56
+ }) => Promise<void>;
57
+ export type EmitFn = <TPayload = unknown>(event: {
58
+ readonly name: string;
59
+ readonly schema: {
60
+ parse(input: unknown): unknown;
61
+ };
62
+ }, payload: TPayload, envelopePartial?: Partial<MessageEnvelope>) => Promise<void>;
63
+ /** Structural reference to any HandlerDefinition — keeps these types lean. */
64
+ type HandlerLikeRef<_TOutput = unknown> = {
65
+ readonly $kind: "handler";
66
+ readonly name: string;
67
+ } & Record<string, any>;
39
68
  /**
40
69
  * Empty bags — plugins extend via TS declaration merging.
41
70
  *
@@ -55,12 +84,31 @@ export interface HandlerSettings {
55
84
  /** Resolve a zod schema (or `undefined`) to the parsed input type. */
56
85
  export type InferInput<S extends ZodTypeAny | undefined> = S extends ZodTypeAny ? z.output<S> : undefined;
57
86
  /**
58
- * The base ctx every handler receives — hooks' `BaseHookCtx` (`signal` + typed
59
- * `set`) plus the parsed `input`. Apps extend with their own `TExtras` via
60
- * the `Ctx<TInput, TExtras>` alias below.
87
+ * The base ctx every handler receives — hooks' `BaseHookCtx` (`signal`,
88
+ * `state`, typed `set`) plus the parsed `input`, the per-request envelope
89
+ * + scope, and the three canonical dispatch verbs `execute / enqueue /
90
+ * emit` bound to the runtime that dispatched this call. Apps extend with
91
+ * their own `TExtras` via the `Ctx<TInput, TExtras>` alias below.
92
+ *
93
+ * The verbs / envelope / scope are populated by `runtime.execute()` —
94
+ * handlers invoked outside a runtime context (e.g. unit tests calling
95
+ * `handler.run(ctx)` directly) get an empty no-op scope and a fresh
96
+ * envelope unless the test sets them.
61
97
  */
62
98
  export interface HandlerBaseCtx<TInput> extends BaseHookCtx {
63
99
  input: TInput;
100
+ /** Caller-supplied or runtime-minted envelope (tenant, correlation, causation). */
101
+ envelope: MessageEnvelope;
102
+ /** Per-request child container scope; disposed when the dispatch resolves. */
103
+ scope: Container;
104
+ /** Sync request/response. `runtime.execute` bound. */
105
+ execute: ExecuteFn;
106
+ /** Fire-and-forget. `runtime.enqueue` bound. */
107
+ enqueue: EnqueueFn;
108
+ /** Broadcast an event to subscribers. `runtime.emit` bound. */
109
+ emit: EmitFn;
110
+ /** Sugar for `ctx.scope.resolve<T>(name)`. */
111
+ resolve: <T = unknown>(name: string) => T;
64
112
  }
65
113
  /**
66
114
  * Sugar for declaring a handler's ctx shape:
@@ -73,6 +121,34 @@ export type Ctx<TInput, TExtras extends object = object> = HandlerBaseCtx<TInput
73
121
  * of response specs (e.g. `[created(Station), accepted(StationHandle)]`).
74
122
  */
75
123
  export type HandlerReturnsSpec = ResourceDefinition | ResponseSpec | ListResponseSpec<ResourceDefinition> | ReadonlyArray<ResponseSpec | ListResponseSpec<ResourceDefinition>>;
124
+ /**
125
+ * Discriminator that tooling reads to specialize how a handler renders.
126
+ * Foundation primitives use this to layer sugar without separate types:
127
+ *
128
+ * - "handler" — plain handler (default).
129
+ * - "action" — mutating handler that emits domain events; forge's
130
+ * `defineAction` sets this so MCP exposes it as a tool, Studio
131
+ * renders it under Actions, etc.
132
+ * - "query" — read-only handler; MCP exposes it as a resource, OpenAPI
133
+ * emits a GET, Studio renders it under Queries.
134
+ * - "command" — fire-and-forget handler (intent without immediate
135
+ * return value).
136
+ *
137
+ * Open-string so plugins can introduce their own kinds.
138
+ */
139
+ export type HandlerKind = "handler" | "action" | "query" | "command" | (string & {});
140
+ /**
141
+ * Retry policy for actions / commands. The runtime / dispatcher reads
142
+ * this when wrapping the handler in a retry loop. `delayMs` is the base
143
+ * delay; back-off policy is dispatcher-specific (forge does exponential
144
+ * with cap by default).
145
+ */
146
+ export interface HandlerRetryPolicy {
147
+ readonly attempts: number;
148
+ readonly delayMs?: number;
149
+ readonly backoff?: "exponential" | "fixed";
150
+ readonly maxDelayMs?: number;
151
+ }
76
152
  export interface HandlerConfig<TInputSchema extends ZodTypeAny | undefined = undefined, TOutput = unknown, TExtras extends object = object> {
77
153
  /** Input schema. Optional for zero-arg handlers (health checks, listings without filters). */
78
154
  readonly input?: TInputSchema;
@@ -86,6 +162,35 @@ export interface HandlerConfig<TInputSchema extends ZodTypeAny | undefined = und
86
162
  readonly summary?: string;
87
163
  /** Multi-line prose. Surfaces in OpenAPI / MCP / Studio. */
88
164
  readonly description?: string;
165
+ /**
166
+ * Specialisation discriminator. Tooling (Studio, MCP adapter, OpenAPI)
167
+ * branches off this to render or expose handlers differently. Sugar
168
+ * factories — `defineAction`, `defineQuery`, `defineCommand` — set this
169
+ * to the corresponding kind; the runtime invokes them all identically
170
+ * through `runtime.execute(handler, input)`.
171
+ */
172
+ readonly kind?: HandlerKind;
173
+ /**
174
+ * Events this handler may emit (action metadata). Read by Studio's
175
+ * action page + `nwire scan` to render the produces edge.
176
+ */
177
+ readonly emits?: readonly {
178
+ readonly $kind: "event";
179
+ readonly name: string;
180
+ readonly schema: any;
181
+ }[];
182
+ /**
183
+ * Retry policy applied around the handler invocation. Honoured by the
184
+ * forge dispatcher; ignored by the bare kernel runtime (which calls
185
+ * the handler exactly once).
186
+ */
187
+ readonly retry?: HandlerRetryPolicy;
188
+ /**
189
+ * Authorisation / authentication policy declaration. Open-typed —
190
+ * RBAC, OPA, or custom plugins set this; the runtime forwards it
191
+ * through to middleware that knows how to evaluate it.
192
+ */
193
+ readonly policy?: unknown;
89
194
  /** Open bag — plugins contribute fields via declaration merging. */
90
195
  readonly meta?: HandlerMeta;
91
196
  /** Open bag — plugins contribute fields via declaration merging. */
@@ -204,4 +309,3 @@ export type HandlerOutput<H> = H extends HandlerDefinition<ZodTypeAny | undefine
204
309
  export type HandlerExtras<H> = H extends HandlerDefinition<ZodTypeAny | undefined, unknown, infer E> ? E : never;
205
310
  /** Re-export from the response builders for ergonomics. */
206
311
  export type { ResponseInstance } from "./response.js";
207
- //# sourceMappingURL=define-handler.d.ts.map
@@ -169,4 +169,3 @@ export function defineHandlerWith() {
169
169
  export function isHandlerDefinition(x) {
170
170
  return typeof x === "function" && x.$kind === "handler";
171
171
  }
172
- //# sourceMappingURL=define-handler.js.map
@@ -63,4 +63,3 @@ export interface ResourceDefinition<TSchema extends ZodTypeAny = ZodTypeAny> {
63
63
  export declare function defineResource<TSchema extends ZodTypeAny>(name: string, options: DefineResourceOptions<TSchema>): ResourceDefinition<TSchema>;
64
64
  /** Type narrow. */
65
65
  export declare function isResourceDefinition(x: unknown): x is ResourceDefinition;
66
- //# sourceMappingURL=define-resource.d.ts.map
@@ -62,4 +62,3 @@ export function defineResource(name, options) {
62
62
  export function isResourceDefinition(x) {
63
63
  return typeof x === "object" && x !== null && x.$kind === "resource";
64
64
  }
65
- //# sourceMappingURL=define-resource.js.map
@@ -33,4 +33,3 @@ export { defineHandler, defineHandlerWith, isHandlerDefinition, type HandlerDefi
33
33
  export { defineError, isNwireError, NwireError, Unauthorized, Forbidden, NotFound, Gone, BadRequest, Conflict, type ErrorDefinition, type ErrorMeta, } from "./define-error.js";
34
34
  export { defineResource, isResourceDefinition, type ResourceDefinition, type DefineResourceOptions, } from "./define-resource.js";
35
35
  export { response, isResponseSpec, isResponseInstance, ok, created, accepted, noContent, notModified, gone, type ResponseSpec, type ListResponseSpec, type ResponseSpecBase, type ResponseKind, } from "./response.js";
36
- //# sourceMappingURL=handler-index.d.ts.map
@@ -33,4 +33,3 @@ export { defineHandler, defineHandlerWith, isHandlerDefinition, } from "./define
33
33
  export { defineError, isNwireError, NwireError, Unauthorized, Forbidden, NotFound, Gone, BadRequest, Conflict, } from "./define-error.js";
34
34
  export { defineResource, isResourceDefinition, } from "./define-resource.js";
35
35
  export { response, isResponseSpec, isResponseInstance, ok, created, accepted, noContent, notModified, gone, } from "./response.js";
36
- //# sourceMappingURL=handler-index.js.map
@@ -54,4 +54,3 @@ export declare const gone: () => ResponseSpec<undefined>;
54
54
  export declare const isResponseSpec: (x: unknown) => x is ResponseSpecBase;
55
55
  export declare const isResponseInstance: (x: unknown) => x is ResponseInstance;
56
56
  export type { ResourceDefinition } from "./define-resource.js";
57
- //# sourceMappingURL=response.d.ts.map
package/dist/response.js CHANGED
@@ -66,4 +66,3 @@ export const gone = () => response(410);
66
66
  /** Type narrows. */
67
67
  export const isResponseSpec = (x) => typeof x === "object" && x !== null && x.$kind === "response";
68
68
  export const isResponseInstance = (x) => typeof x === "object" && x !== null && x.$kind === "response-instance";
69
- //# sourceMappingURL=response.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nwire/handler",
3
- "version": "0.9.1",
3
+ "version": "0.10.0",
4
4
  "description": "Nwire — the operation primitive. Typed, callable, hookable value built on @nwire/hooks. defineHandler / defineError / defineResource / response factories / framework errors. Standalone; every transport (HTTP, queue, MCP, CLI) speaks the same handler shape.",
5
5
  "keywords": [
6
6
  "execute",
@@ -28,8 +28,10 @@
28
28
  },
29
29
  "dependencies": {
30
30
  "zod": "^4.0.0",
31
- "@nwire/messages": "0.9.1",
32
- "@nwire/hooks": "0.9.1"
31
+ "@nwire/envelope": "0.10.0",
32
+ "@nwire/hooks": "0.10.0",
33
+ "@nwire/messages": "0.10.0",
34
+ "@nwire/container": "0.10.0"
33
35
  },
34
36
  "devDependencies": {
35
37
  "@types/node": "^22.19.9",
@@ -1,18 +0,0 @@
1
- /**
2
- * Smoke tests for the `@nwire/handler` standalone primitives.
3
- *
4
- * Verifies:
5
- * - `defineHandler` produces a value-shaped definition + .run accessor
6
- * - `execute` validates input against the schema, throws on bad input
7
- * - `execute` invokes the handler with the parsed input
8
- * - `defineError` / `NwireError` typed throwable contract
9
- * - response factories (ok/created/accepted/noContent) return tagged instances
10
- * - `defineResource` projects records through declared `public` fields
11
- * - `pipe()` composes middleware + hooks in declaration order
12
- *
13
- * These are deliberately minimal — they document the standalone public
14
- * surface. Full coverage of the chained DX (transports, runtime,
15
- * middleware execution) lives in forge / http / queue test suites.
16
- */
17
- export {};
18
- //# sourceMappingURL=define-handler.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"define-handler.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/define-handler.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG"}
@@ -1,112 +0,0 @@
1
- /**
2
- * Smoke tests for the `@nwire/handler` standalone primitives.
3
- *
4
- * Verifies:
5
- * - `defineHandler` produces a value-shaped definition + .run accessor
6
- * - `execute` validates input against the schema, throws on bad input
7
- * - `execute` invokes the handler with the parsed input
8
- * - `defineError` / `NwireError` typed throwable contract
9
- * - response factories (ok/created/accepted/noContent) return tagged instances
10
- * - `defineResource` projects records through declared `public` fields
11
- * - `pipe()` composes middleware + hooks in declaration order
12
- *
13
- * These are deliberately minimal — they document the standalone public
14
- * surface. Full coverage of the chained DX (transports, runtime,
15
- * middleware execution) lives in forge / http / queue test suites.
16
- */
17
- import { describe, it, expect } from "vitest";
18
- import { z } from "zod";
19
- import { defineHandler, execute, defineError, NwireError, isNwireError, defineResource, defineMiddleware, defineHook, pipe, ok, created, accepted, noContent, isResponseInstance, } from "../handler-index.js";
20
- describe("defineHandler", () => {
21
- it("returns a value with $kind, name, config, .run", () => {
22
- const h = defineHandler("noop", {
23
- handler: async () => 42,
24
- });
25
- expect(h.$kind).toBe("handler");
26
- expect(h.name).toBe("noop");
27
- expect(typeof h.run).toBe("function");
28
- });
29
- it("execute() parses input against the declared schema", async () => {
30
- const Echo = defineHandler("echo", {
31
- input: z.object({ msg: z.string() }),
32
- handler: async ({ input }) => input.msg,
33
- });
34
- const result = await execute(Echo, { msg: "hello" });
35
- expect(result).toBe("hello");
36
- });
37
- it("execute() throws when input violates the schema", async () => {
38
- const Echo = defineHandler("echo", {
39
- input: z.object({ msg: z.string() }),
40
- handler: async ({ input }) => input.msg,
41
- });
42
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
43
- await expect(execute(Echo, { msg: 123 })).rejects.toBeDefined();
44
- });
45
- it("execute() works without an input schema", async () => {
46
- const Health = defineHandler("health", {
47
- handler: async () => ({ status: "up" }),
48
- });
49
- expect(await execute(Health, undefined)).toEqual({ status: "up" });
50
- });
51
- });
52
- describe("defineError + NwireError", () => {
53
- it("produces a throwable that is both Error and NwireError", () => {
54
- const Boom = defineError({ code: "BOOM", status: 418, summary: "boom" });
55
- expect(Boom).toBeInstanceOf(Error);
56
- expect(Boom).toBeInstanceOf(NwireError);
57
- expect(isNwireError(Boom)).toBe(true);
58
- expect(Boom.code).toBe("BOOM");
59
- expect(Boom.status).toBe(418);
60
- });
61
- it(".with() returns a contextualized clone", () => {
62
- const Boom = defineError({ code: "BOOM", status: 418, summary: "boom" });
63
- const withCtx = Boom.with({ resourceId: "abc" });
64
- expect(withCtx.code).toBe("BOOM");
65
- expect(withCtx.context).toEqual({ resourceId: "abc" });
66
- });
67
- });
68
- describe("response factories", () => {
69
- it("ok() returns 200 instances; created() returns 201", () => {
70
- const okI = ok()();
71
- expect(okI.status).toBe(200);
72
- expect(isResponseInstance(okI)).toBe(true);
73
- const createdI = created()();
74
- expect(createdI.status).toBe(201);
75
- const acceptedI = accepted()();
76
- expect(acceptedI.status).toBe(202);
77
- const empty = noContent()();
78
- expect(empty.status).toBe(204);
79
- });
80
- });
81
- describe("defineResource", () => {
82
- it("projects records through declared public fields", () => {
83
- const Wash = defineResource("Wash", {
84
- schema: z.object({ id: z.string(), secret: z.string(), name: z.string() }),
85
- public: ["id", "name"],
86
- });
87
- const out = Wash.project({ id: "1", secret: "x", name: "Quick" });
88
- expect(out).toEqual({ id: "1", name: "Quick" });
89
- });
90
- it("returns examples by name", () => {
91
- const Wash = defineResource("Wash", {
92
- schema: z.object({ id: z.string(), name: z.string() }),
93
- examples: { quick: { id: "1", name: "Quick" } },
94
- });
95
- expect(Wash.example("quick")).toEqual({ id: "1", name: "Quick" });
96
- expect(() => Wash.example("missing")).toThrow();
97
- });
98
- });
99
- describe("pipe / defineMiddleware / defineHook", () => {
100
- it("flattens nested pipes and tags steps", () => {
101
- const a = defineMiddleware("a", async (_ctx, next) => { await next(); });
102
- const b = defineMiddleware("b", async (_ctx, next) => { await next(); });
103
- const after = defineHook("after", "audit", () => undefined);
104
- const inner = pipe(a, b);
105
- const outer = pipe(inner, after);
106
- expect(outer.$kind).toBe("pipe");
107
- expect(outer.steps).toHaveLength(3);
108
- expect(outer.steps[0].$kind).toBe("middleware");
109
- expect(outer.steps[2].$kind).toBe("hook");
110
- });
111
- });
112
- //# sourceMappingURL=define-handler.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"define-handler.test.js","sourceRoot":"","sources":["../../src/__tests__/define-handler.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"define-error.d.ts","sourceRoot":"","sources":["../src/define-error.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AAED;;;;GAIG;AACH,qBAAa,UAAW,SAAQ,KAAM,YAAW,SAAS;IACxD,QAAQ,CAAC,KAAK,EAAG,OAAO,CAAU;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;gBAEzC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAUzE;AAED;;;GAGG;AACH,MAAM,WAAW,eAAgB,SAAQ,UAAU;IACjD,2EAA2E;IAC3E,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,UAAU,CAAC;CAC1D;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,SAAS,GAAG,eAAe,CAW5D;AAED,mBAAmB;AACnB,wBAAgB,YAAY,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,UAAU,CAExD;AAGD,eAAO,MAAM,YAAY,iBAIvB,CAAC;AAEH,eAAO,MAAM,SAAS,iBAIpB,CAAC;AAEH,eAAO,MAAM,QAAQ,iBAInB,CAAC;AAEH,eAAO,MAAM,IAAI,iBAIf,CAAC;AAEH,eAAO,MAAM,UAAU,iBAIrB,CAAC;AAEH,eAAO,MAAM,QAAQ,iBAInB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"define-error.js","sourceRoot":"","sources":["../src/define-error.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAUH;;;;GAIG;AACH,MAAM,OAAO,UAAW,SAAQ,KAAK;IAC1B,KAAK,GAAG,OAAgB,CAAC;IACzB,IAAI,CAAS;IACb,MAAM,CAAS;IACf,OAAO,CAAS;IAChB,WAAW,CAAU;IACrB,IAAI,CAAqB;IACzB,OAAO,CAAqC;IAErD,YAAY,IAAe,EAAE,OAA2C;QACtE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,OAAO,KAAK,SAAS;YAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACpD,CAAC;CACF;AAWD,MAAM,UAAU,WAAW,CAAC,IAAe;IACzC,gEAAgE;IAChE,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,OAAO,GAAoB,CAAC,CAAC,OAA0C,EAAE,EAAE,CAC/E,IAAI,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAA+B,CAAC;IAE/D,2EAA2E;IAC3E,yEAAyE;IACzE,sDAAsD;IACtD,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACrC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,mBAAmB;AACnB,MAAM,UAAU,YAAY,CAAC,CAAU;IACrC,OAAO,CAAC,YAAY,UAAU,CAAC;AACjC,CAAC;AAED,+CAA+C;AAC/C,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAC;IACtC,IAAI,EAAE,cAAc;IACpB,MAAM,EAAE,GAAG;IACX,OAAO,EAAE,0BAA0B;CACpC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,SAAS,GAAG,WAAW,CAAC;IACnC,IAAI,EAAE,WAAW;IACjB,MAAM,EAAE,GAAG;IACX,OAAO,EAAE,kDAAkD;CAC5D,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,QAAQ,GAAG,WAAW,CAAC;IAClC,IAAI,EAAE,WAAW;IACjB,MAAM,EAAE,GAAG;IACX,OAAO,EAAE,+BAA+B;CACzC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,IAAI,GAAG,WAAW,CAAC;IAC9B,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,GAAG;IACX,OAAO,EAAE,iDAAiD;CAC3D,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG,WAAW,CAAC;IACpC,IAAI,EAAE,aAAa;IACnB,MAAM,EAAE,GAAG;IACX,OAAO,EAAE,8EAA8E;CACxF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,QAAQ,GAAG,WAAW,CAAC;IAClC,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE,GAAG;IACX,OAAO,EAAE,2DAA2D;CACrE,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"define-handler.d.ts","sourceRoot":"","sources":["../src/define-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,OAAO,EACZ,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,KAAK,EACX,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAoB,MAAM,eAAe,CAAC;AACtF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/D;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,WAAW;CAAG;AAC/B,MAAM,WAAW,eAAe;CAAG;AAEnC,sEAAsE;AACtE,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,UAAU,GAAG,SAAS,IAAI,CAAC,SAAS,UAAU,GAC3E,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GACX,SAAS,CAAC;AAEd;;;;GAIG;AACH,MAAM,WAAW,cAAc,CAAC,MAAM,CAAE,SAAQ,WAAW;IACzD,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,OAAO,SAAS,MAAM,GAAG,MAAM,IAAI,cAAc,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC;AAE5F;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAC1B,kBAAkB,GAClB,YAAY,GACZ,gBAAgB,CAAC,kBAAkB,CAAC,GACpC,aAAa,CAAC,YAAY,GAAG,gBAAgB,CAAC,kBAAkB,CAAC,CAAC,CAAC;AAEvE,MAAM,WAAW,aAAa,CAC5B,YAAY,SAAS,UAAU,GAAG,SAAS,GAAG,SAAS,EACvD,OAAO,GAAG,OAAO,EACjB,OAAO,SAAS,MAAM,GAAG,MAAM;IAE/B,8FAA8F;IAC9F,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC;IAC9B,sFAAsF;IACtF,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9F,8EAA8E;IAC9E,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC;IACtC,oDAAoD;IACpD,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;IAC7C,2DAA2D;IAC3D,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,4DAA4D;IAC5D,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,oEAAoE;IACpE,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC;IAC5B,oEAAoE;IACpE,QAAQ,CAAC,QAAQ,CAAC,EAAE,eAAe,CAAC;CACrC;AAED;;;;GAIG;AACH,MAAM,MAAM,aAAa,CACvB,MAAM,GAAG,OAAO,EAChB,OAAO,GAAG,OAAO,EACjB,OAAO,SAAS,MAAM,GAAG,MAAM,IAC7B,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAEhD,2EAA2E;AAC3E,MAAM,WAAW,oBAAoB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM;IACnE,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO,EAAE,OAAO,SAAS,MAAM,GAAG,MAAM;IAC9F,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,GAAG,CAAC,IAAI,CAAC,EAAE,oBAAoB,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC7D;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB,CAChC,YAAY,SAAS,UAAU,GAAG,SAAS,GAAG,SAAS,EACvD,OAAO,GAAG,OAAO,EACjB,OAAO,SAAS,MAAM,GAAG,MAAM;IAE/B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAG/D,CACE,KAAK,EAAE,YAAY,SAAS,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,IAAI,GACpE,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAE1D,gEAAgE;IAChE,GAAG,CACD,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,EACtE,IAAI,CAAC,EAAE,UAAU,GAChB,iBAAiB,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAErD,+DAA+D;IAC/D,EAAE,CACA,EAAE,EAAE,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,EACzE,IAAI,CAAC,EAAE,SAAS,GACf,iBAAiB,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAErD,2DAA2D;IAC3D,GAAG,CACD,EAAE,EACE,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,GAClE,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,GACxE,iBAAiB,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAErD;;;;OAIG;IACH,GAAG,CACD,GAAG,EAAE,aAAa,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAC9D,IAAI,CAAC,EAAE,UAAU,GAChB,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAEtE,+DAA+D;IAC/D,WAAW,CACT,GAAG,EAAE,aAAa,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAC9D,IAAI,CAAC,EAAE,UAAU,GAChB,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAEjF,0CAA0C;IAC1C,GAAG,CAAC,QAAQ,EAAE,KAAK,GAAG,MAAM,IAAI,CAAC;IAEjC,0CAA0C;IAC1C,UAAU,IAAI;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;CACtE;AAED;;;;;GAKG;AACH,MAAM,MAAM,WAAW,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO,IACvD,iBAAiB,CAAC,UAAU,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,GAC1D,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;AASpD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,aAAa,CAC3B,YAAY,SAAS,UAAU,GAAG,SAAS,EAC3C,OAAO,EACP,OAAO,SAAS,MAAM,GAAG,MAAM,EAE/B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,aAAa,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,GACpD,iBAAiB,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAkGnD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,SAAS,MAAM,MAC9C,YAAY,SAAS,UAAU,GAAG,SAAS,EAAE,OAAO,EAC1D,MAAM,MAAM,EACZ,QAAQ,aAAa,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,KACpD,iBAAiB,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAErD;AAED,mBAAmB;AACnB,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,iBAAiB,CAEtE;AAED,iEAAiE;AACjE,MAAM,MAAM,YAAY,CAAC,CAAC,IACxB,CAAC,SAAS,iBAAiB,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AAEhF,4CAA4C;AAC5C,MAAM,MAAM,aAAa,CAAC,CAAC,IACzB,CAAC,SAAS,iBAAiB,CAAC,UAAU,GAAG,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAEnF,8DAA8D;AAC9D,MAAM,MAAM,aAAa,CAAC,CAAC,IACzB,CAAC,SAAS,iBAAiB,CAAC,UAAU,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAEpF,2DAA2D;AAC3D,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"define-handler.js","sourceRoot":"","sources":["../src/define-handler.ts"],"names":[],"mappings":"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"}
@@ -1,94 +0,0 @@
1
- /**
2
- * Middleware primitives — `defineMiddleware`, `defineHook`, `pipe`.
3
- *
4
- * const authenticate = defineMiddleware(async (ctx, next) => {
5
- * ctx.user = await verifyToken(ctx.header("authorization"));
6
- * await next();
7
- * });
8
- *
9
- * const stationPipeline = pipe(
10
- * authenticate,
11
- * authorize("operator", "admin"),
12
- * withActiveStation,
13
- * auditLog,
14
- * );
15
- *
16
- * Middleware augments the resolver context before/after the handler runs.
17
- * `pipe` composes middleware into a reusable chain. `defineHook("after", fn)`
18
- * declares a post-handler-only step (cleaner than a middleware that
19
- * forgets to do anything before next()).
20
- *
21
- * Status: types are open (RestrictedCtx = the resolver's ctx after enrichment).
22
- * Type-narrowing middleware composition is a follow-up.
23
- */
24
- import { type Hook, type SourceLocation } from "@nwire/hooks";
25
- export type ResolverCtx = Record<string, any>;
26
- export type Next = () => Promise<void> | void;
27
- export interface MiddlewareDefinition {
28
- readonly $kind: "middleware";
29
- readonly name?: string;
30
- readonly fn: (ctx: ResolverCtx, next: Next) => Promise<void> | void;
31
- /** Source location of the `defineMiddleware(...)` call site. */
32
- readonly $source?: SourceLocation;
33
- }
34
- export interface HookDefinition {
35
- readonly $kind: "hook";
36
- readonly when: "before" | "after";
37
- readonly name?: string;
38
- readonly fn: (ctx: ResolverCtx, result?: unknown) => Promise<void> | void;
39
- }
40
- export interface MiddlewarePipe {
41
- readonly $kind: "pipe";
42
- readonly steps: ReadonlyArray<MiddlewareDefinition | HookDefinition>;
43
- readonly name?: string;
44
- /**
45
- * Per-pipe observability hook. Internal — transports/runtime call
46
- * `runtime.adoptHook($hook)` to route taps into telemetry. Consumers that
47
- * don't know about $hook simply ignore it.
48
- */
49
- readonly $hook?: Hook<ResolverCtx>;
50
- /** Source location of the `pipe(...)` call site. */
51
- readonly $source?: SourceLocation;
52
- }
53
- export type PipeStep = MiddlewareDefinition | HookDefinition | MiddlewarePipe;
54
- /**
55
- * `ChainFn<Ctx>` — the executable shape of a middleware chain. The base
56
- * `pipe(...)` returns a `MiddlewarePipe` value (data); transports
57
- * `unwindPipe()` it into onion-runnable middlewares + hooks. Exposed as
58
- * a type for downstream packages that want to declare "an opaque chain
59
- * over Ctx" without leaking the underlying step shape.
60
- */
61
- export type ChainFn<Ctx extends ResolverCtx = ResolverCtx> = MiddlewarePipe & {
62
- readonly _ctx?: Ctx;
63
- };
64
- export declare function defineMiddleware(fn: (ctx: ResolverCtx, next: Next) => Promise<void> | void): MiddlewareDefinition;
65
- export declare function defineMiddleware(name: string, fn: (ctx: ResolverCtx, next: Next) => Promise<void> | void): MiddlewareDefinition;
66
- export declare function defineHook(when: "before" | "after", fn: (ctx: ResolverCtx, result?: unknown) => Promise<void> | void): HookDefinition;
67
- export declare function defineHook(when: "before" | "after", name: string, fn: (ctx: ResolverCtx, result?: unknown) => Promise<void> | void): HookDefinition;
68
- /**
69
- * Compose middleware + hooks into a reusable pipe value. The pipe runs in
70
- * declared order: middleware wraps the handler (onion style), `after` hooks
71
- * run after the handler succeeds.
72
- *
73
- * Optional first-arg `name` labels the pipe for observability; otherwise we
74
- * synthesize `pipe@<file:line>` from the call site. A per-pipe `$hook`
75
- * (Hook<ResolverCtx>) is attached for transports/runtime to adopt — each
76
- * middleware step in the flattened list becomes a `.use()` chain entry on
77
- * the hook, so taps emit start/end per step at run time.
78
- */
79
- export declare function pipe(name: string, ...steps: PipeStep[]): MiddlewarePipe;
80
- export declare function pipe(...steps: PipeStep[]): MiddlewarePipe;
81
- /**
82
- * Walk a list of pipe steps and split into middleware + hooks. Transports
83
- * use this when mounting a resolver.
84
- */
85
- export declare function unwindPipe(steps: ReadonlyArray<PipeStep>): {
86
- middlewares: MiddlewareDefinition[];
87
- beforeHooks: HookDefinition[];
88
- afterHooks: HookDefinition[];
89
- };
90
- /** Type narrows. */
91
- export declare const isMiddleware: (x: unknown) => x is MiddlewareDefinition;
92
- export declare const isHook: (x: unknown) => x is HookDefinition;
93
- export declare const isPipe: (x: unknown) => x is MiddlewarePipe;
94
- //# sourceMappingURL=define-middleware.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"define-middleware.d.ts","sourceRoot":"","sources":["../src/define-middleware.ts"],"names":[],"mappings":"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"}
@@ -1,98 +0,0 @@
1
- /**
2
- * Middleware primitives — `defineMiddleware`, `defineHook`, `pipe`.
3
- *
4
- * const authenticate = defineMiddleware(async (ctx, next) => {
5
- * ctx.user = await verifyToken(ctx.header("authorization"));
6
- * await next();
7
- * });
8
- *
9
- * const stationPipeline = pipe(
10
- * authenticate,
11
- * authorize("operator", "admin"),
12
- * withActiveStation,
13
- * auditLog,
14
- * );
15
- *
16
- * Middleware augments the resolver context before/after the handler runs.
17
- * `pipe` composes middleware into a reusable chain. `defineHook("after", fn)`
18
- * declares a post-handler-only step (cleaner than a middleware that
19
- * forgets to do anything before next()).
20
- *
21
- * Status: types are open (RestrictedCtx = the resolver's ctx after enrichment).
22
- * Type-narrowing middleware composition is a follow-up.
23
- */
24
- import { hook, captureSourceLocation } from "@nwire/hooks";
25
- export function defineMiddleware(nameOrFn, fn) {
26
- const $source = captureSourceLocation(2);
27
- if (typeof nameOrFn === "string") {
28
- return { $kind: "middleware", name: nameOrFn, fn: fn, $source };
29
- }
30
- return { $kind: "middleware", fn: nameOrFn, $source };
31
- }
32
- export function defineHook(when, nameOrFn, maybeFn) {
33
- if (typeof nameOrFn === "string") {
34
- return { $kind: "hook", when, name: nameOrFn, fn: maybeFn };
35
- }
36
- return { $kind: "hook", when, fn: nameOrFn };
37
- }
38
- export function pipe(...args) {
39
- const $source = captureSourceLocation(2);
40
- let name;
41
- let steps;
42
- if (typeof args[0] === "string") {
43
- name = args[0];
44
- steps = args.slice(1);
45
- }
46
- else {
47
- steps = args;
48
- }
49
- const flattened = [];
50
- for (const s of steps) {
51
- if (s.$kind === "pipe")
52
- flattened.push(...s.steps);
53
- else
54
- flattened.push(s);
55
- }
56
- const hookName = name ?? ($source ? `pipe@${$source.file}:${$source.line}` : "pipe@<unknown>");
57
- const $hook = hook(hookName);
58
- for (const step of flattened) {
59
- if (step.$kind !== "middleware")
60
- continue;
61
- const stepName = step.name ?? "anonymous";
62
- $hook.use(async (ctx, next) => {
63
- await step.fn(ctx, next);
64
- }, { name: stepName });
65
- }
66
- return { $kind: "pipe", steps: flattened, name, $hook, $source };
67
- }
68
- /**
69
- * Walk a list of pipe steps and split into middleware + hooks. Transports
70
- * use this when mounting a resolver.
71
- */
72
- export function unwindPipe(steps) {
73
- const middlewares = [];
74
- const beforeHooks = [];
75
- const afterHooks = [];
76
- const visit = (s) => {
77
- if (s.$kind === "middleware")
78
- middlewares.push(s);
79
- else if (s.$kind === "hook") {
80
- if (s.when === "before")
81
- beforeHooks.push(s);
82
- else
83
- afterHooks.push(s);
84
- }
85
- else {
86
- for (const inner of s.steps)
87
- visit(inner);
88
- }
89
- };
90
- for (const s of steps)
91
- visit(s);
92
- return { middlewares, beforeHooks, afterHooks };
93
- }
94
- /** Type narrows. */
95
- export const isMiddleware = (x) => typeof x === "object" && x !== null && x.$kind === "middleware";
96
- export const isHook = (x) => typeof x === "object" && x !== null && x.$kind === "hook";
97
- export const isPipe = (x) => typeof x === "object" && x !== null && x.$kind === "pipe";
98
- //# sourceMappingURL=define-middleware.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"define-middleware.js","sourceRoot":"","sources":["../src/define-middleware.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"define-resource.d.ts","sourceRoot":"","sources":["../src/define-resource.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,WAAW,qBAAqB,CAAC,OAAO,SAAS,UAAU;IAC/D,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC;IAClE;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,4EAA4E;IAC5E,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACvC;AAED,MAAM,WAAW,kBAAkB,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU;IACzE,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAEtC,2EAA2E;IAC3E,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAErD;;;OAGG;IACH,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;CAChE;AAED,wBAAgB,cAAc,CAAC,OAAO,SAAS,UAAU,EACvD,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,qBAAqB,CAAC,OAAO,CAAC,GACtC,kBAAkB,CAAC,OAAO,CAAC,CAsC7B;AAED,mBAAmB;AACnB,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,kBAAkB,CAExE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"define-resource.js","sourceRoot":"","sources":["../src/define-resource.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AA2CH,MAAM,UAAU,cAAc,CAC5B,IAAY,EACZ,OAAuC;IAEvC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;IACxC,MAAM,YAAY,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAA0B,CAAC;IAErE,MAAM,QAAQ,GAAgC;QAC5C,KAAK,EAAE,UAAU;QACjB,IAAI;QACJ,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,MAAM,EAAE,YAAY;QACpB,QAAQ;QACR,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAE1B,OAAO,CAAC,OAAO;YACb,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC7B,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,MAAM,IAAI,KAAK,CACb,aAAa,IAAI,qBAAqB,MAAM,CAAC,OAAO,CAAC,KAAK;oBACxD,sBAAsB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,GAAG,CACxE,CAAC;YACJ,CAAC;YACD,OAAO,EAAgC,CAAC;QAC1C,CAAC;QAED,OAAO,CAAC,MAAM;YACZ,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,MAAoC,CAAC;YAC3E,MAAM,GAAG,GAA4B,EAAE,CAAC;YACxC,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;gBAC7B,IAAI,CAAC,IAAK,MAAkC,EAAE,CAAC;oBAC7C,GAAG,CAAC,CAAC,CAAC,GAAI,MAAkC,CAAC,CAAC,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;YACD,OAAO,GAAiC,CAAC;QAC3C,CAAC;KACF,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,mBAAmB;AACnB,MAAM,UAAU,oBAAoB,CAAC,CAAU;IAC7C,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAK,CAAyB,CAAC,KAAK,KAAK,UAAU,CAAC;AAChG,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"handler-index.d.ts","sourceRoot":"","sources":["../src/handler-index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,GAAG,EACR,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,oBAAoB,EACzB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,gBAAgB,GACtB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,WAAW,EACX,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,UAAU,EACV,QAAQ,EACR,KAAK,eAAe,EACpB,KAAK,SAAS,GACf,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,GAC3B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,QAAQ,EACR,cAAc,EACd,kBAAkB,EAClB,EAAE,EACF,OAAO,EACP,QAAQ,EACR,SAAS,EACT,WAAW,EACX,IAAI,EACJ,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,YAAY,GAClB,MAAM,eAAe,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"handler-index.js","sourceRoot":"","sources":["../src/handler-index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,mBAAmB,GAiBpB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,WAAW,EACX,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,UAAU,EACV,QAAQ,GAGT,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,cAAc,EACd,oBAAoB,GAGrB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,QAAQ,EACR,cAAc,EACd,kBAAkB,EAClB,EAAE,EACF,OAAO,EACP,QAAQ,EACR,SAAS,EACT,WAAW,EACX,IAAI,GAKL,MAAM,eAAe,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../src/response.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAEvD,MAAM,WAAW,gBAAgB,CAAC,KAAK,GAAG,OAAO;IAC/C,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CACxC;AAGD,MAAM,MAAM,YAAY,CACtB,SAAS,SAAS,kBAAkB,GAAG,SAAS,GAAG,kBAAkB,GAAG,SAAS,IAC/E,gBAAgB,GAClB,CAAC,SAAS,SAAS,kBAAkB,CAAC,MAAM,CAAC,CAAC,GAE1C,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GACpD,MAAM,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC;AAEzC,MAAM,MAAM,gBAAgB,CAAC,SAAS,SAAS,kBAAkB,IAAI,gBAAgB,GACnF,CAAC,SAAS,SAAS,kBAAkB,CAAC,MAAM,CAAC,CAAC,GAE1C,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GACnF,KAAK,CAAC,CAAC;AAEb,iBAAS,UAAU,CAAC,SAAS,SAAS,kBAAkB,GAAG,SAAS,EAClE,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,SAAS,GACnB,YAAY,CAAC,SAAS,CAAC,CAazB;AAED,iBAAS,QAAQ,CAAC,SAAS,SAAS,kBAAkB,EACpD,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,SAAS,GAClB,gBAAgB,CAAC,SAAS,CAAC,CAa7B;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ;;CAAgD,CAAC;AAQtE,eAAO,MAAM,EAAE,IACZ,SAAS,SAAS,kBAAkB,GAAG,SAAS,aAAa,SAAS;WAG9D,SAAS,SAAS,kBAAkB,YAAY,SAAS;CAGnE,CAAC;AACF,eAAO,MAAM,OAAO,GAAI,SAAS,SAAS,kBAAkB,GAAG,SAAS,EAAE,WAAW,SAAS,4BACrE,CAAC;AAC1B,eAAO,MAAM,QAAQ,GAAI,SAAS,SAAS,kBAAkB,GAAG,SAAS,EAAE,WAAW,SAAS,4BACtE,CAAC;AAC1B,eAAO,MAAM,SAAS,QAAO,YAAY,CAAC,SAAS,CAAkB,CAAC;AACtE,eAAO,MAAM,WAAW,QAAO,YAAY,CAAC,SAAS,CAAkB,CAAC;AACxE,eAAO,MAAM,IAAI,QAAO,YAAY,CAAC,SAAS,CAAkB,CAAC;AAEjE,oBAAoB;AACpB,eAAO,MAAM,cAAc,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,gBACuC,CAAC;AAEzF,eAAO,MAAM,kBAAkB,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,gBAC4C,CAAC;AAIlG,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"response.js","sourceRoot":"","sources":["../src/response.ts"],"names":[],"mappings":"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"}