@nwire/handler 0.9.2 → 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 +1 -1
- package/dist/define-error.d.ts +0 -1
- package/dist/define-error.js +0 -1
- package/dist/define-handler.d.ts +108 -4
- package/dist/define-handler.js +0 -1
- package/dist/define-resource.d.ts +0 -1
- package/dist/define-resource.js +0 -1
- package/dist/handler-index.d.ts +0 -1
- package/dist/handler-index.js +0 -1
- package/dist/response.d.ts +0 -1
- package/dist/response.js +0 -1
- package/package.json +5 -3
- package/dist/__tests__/define-handler.test.d.ts +0 -18
- package/dist/__tests__/define-handler.test.d.ts.map +0 -1
- package/dist/__tests__/define-handler.test.js +0 -112
- package/dist/__tests__/define-handler.test.js.map +0 -1
- package/dist/define-error.d.ts.map +0 -1
- package/dist/define-error.js.map +0 -1
- package/dist/define-handler.d.ts.map +0 -1
- package/dist/define-handler.js.map +0 -1
- package/dist/define-middleware.d.ts +0 -94
- package/dist/define-middleware.d.ts.map +0 -1
- package/dist/define-middleware.js +0 -98
- package/dist/define-middleware.js.map +0 -1
- package/dist/define-resource.d.ts.map +0 -1
- package/dist/define-resource.js.map +0 -1
- package/dist/handler-index.d.ts.map +0 -1
- package/dist/handler-index.js.map +0 -1
- package/dist/response.d.ts.map +0 -1
- package/dist/response.js.map +0 -1
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/
|
|
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 &
|
package/dist/define-error.d.ts
CHANGED
package/dist/define-error.js
CHANGED
package/dist/define-handler.d.ts
CHANGED
|
@@ -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
|
|
59
|
-
* `set`) plus the parsed `input
|
|
60
|
-
* the `
|
|
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
|
package/dist/define-handler.js
CHANGED
|
@@ -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
|
package/dist/define-resource.js
CHANGED
package/dist/handler-index.d.ts
CHANGED
|
@@ -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
|
package/dist/handler-index.js
CHANGED
|
@@ -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
|
package/dist/response.d.ts
CHANGED
|
@@ -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.
|
|
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/
|
|
32
|
-
"@nwire/
|
|
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"}
|
package/dist/define-error.js.map
DELETED
|
@@ -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"}
|
package/dist/response.d.ts.map
DELETED
|
@@ -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"}
|
package/dist/response.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"response.js","sourceRoot":"","sources":["../src/response.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAmCH,SAAS,UAAU,CACjB,MAAc,EACd,QAAoB;IAEpB,8DAA8D;IAC9D,MAAM,OAAO,GAAG,CAAC,IAAU,EAAoB,EAAE;QAC/C,MAAM,IAAI,GAAG,QAAQ,IAAI,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5E,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACtD,CAAC,CAAC;IACF,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;QACrB,KAAK,EAAE,UAAmB;QAC1B,MAAM;QACN,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAE,QAAkB,CAAC,CAAC,CAAE,OAAiB;QACzD,QAAQ;KACT,CAAC,CAAC;IACH,OAAO,OAA6C,CAAC;AACvD,CAAC;AAED,SAAS,QAAQ,CACf,MAAc,EACd,QAAmB;IAEnB,8DAA8D;IAC9D,MAAM,OAAO,GAAG,CAAC,KAAyB,EAAoB,EAAE;QAC9D,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QACzD,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAChE,CAAC,CAAC;IACF,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;QACrB,KAAK,EAAE,UAAmB;QAC1B,MAAM;QACN,IAAI,EAAE,MAAe;QACrB,QAAQ;KACT,CAAC,CAAC;IACH,OAAO,OAAiD,CAAC;AAC3D,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;AAEtE,sEAAsE;AACtE,sEAAsE;AACtE,sEAAsE;AACtE,sEAAsE;AACtE,qEAAqE;AAErE,MAAM,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAC7B,CAAmD,QAAoB,EAAE,EAAE,CACzE,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,EACzB;IACE,IAAI,EAAE,CAAuC,QAAmB,EAAE,EAAE,CAClE,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC;CAC/B,CACF,CAAC;AACF,MAAM,CAAC,MAAM,OAAO,GAAG,CAAmD,QAAoB,EAAE,EAAE,CAChG,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AAC1B,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAmD,QAAoB,EAAE,EAAE,CACjG,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AAC1B,MAAM,CAAC,MAAM,SAAS,GAAG,GAA4B,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACtE,MAAM,CAAC,MAAM,WAAW,GAAG,GAA4B,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACxE,MAAM,CAAC,MAAM,IAAI,GAAG,GAA4B,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAEjE,oBAAoB;AACpB,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAU,EAAyB,EAAE,CAClE,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAK,CAAyB,CAAC,KAAK,KAAK,UAAU,CAAC;AAEzF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAU,EAAyB,EAAE,CACtE,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAK,CAAyB,CAAC,KAAK,KAAK,mBAAmB,CAAC"}
|