@nifrajs/core 1.11.0 → 1.13.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/dist/causality.d.ts +132 -0
- package/dist/causality.d.ts.map +1 -0
- package/dist/causality.js +380 -0
- package/dist/causality.js.map +1 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/invariants.d.ts +4 -0
- package/dist/invariants.d.ts.map +1 -1
- package/dist/invariants.js +4 -0
- package/dist/invariants.js.map +1 -1
- package/dist/router/pattern.d.ts +42 -0
- package/dist/router/pattern.d.ts.map +1 -0
- package/dist/router/pattern.js +127 -0
- package/dist/router/pattern.js.map +1 -0
- package/dist/router/router.d.ts +2 -1
- package/dist/router/router.d.ts.map +1 -1
- package/dist/router/router.js +11 -48
- package/dist/router/router.js.map +1 -1
- package/dist/server/contract.d.ts +23 -6
- package/dist/server/contract.d.ts.map +1 -1
- package/dist/server/contract.js +25 -6
- package/dist/server/contract.js.map +1 -1
- package/dist/server/server.d.ts +34 -13
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/server.js +291 -253
- package/dist/server/server.js.map +1 -1
- package/package.json +11 -1
- package/src/causality.ts +550 -0
- package/src/index.ts +3 -1
- package/src/invariants.ts +4 -0
- package/src/router/pattern.ts +176 -0
- package/src/router/router.ts +11 -69
- package/src/server/contract.ts +42 -18
- package/src/server/server.ts +479 -348
package/dist/invariants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invariants.js","sourceRoot":"","sources":["../src/invariants.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"invariants.js","sourceRoot":"","sources":["../src/invariants.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
declare const COMPILED_ROUTE_PATTERN: unique symbol;
|
|
2
|
+
export type RoutePatternSegment = {
|
|
3
|
+
readonly kind: "static";
|
|
4
|
+
readonly value: string;
|
|
5
|
+
} | {
|
|
6
|
+
readonly kind: "param";
|
|
7
|
+
readonly name: string;
|
|
8
|
+
} | {
|
|
9
|
+
readonly kind: "wildcard";
|
|
10
|
+
readonly name: string;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Compiled route grammar shared by runtime routers, browser navigation, mocks, and adapters.
|
|
14
|
+
*
|
|
15
|
+
* The result, its two arrays, and every segment are frozen because consumers share one instance. In
|
|
16
|
+
* particular, a segment must not diverge from the lazily cached regex after first match. The measured
|
|
17
|
+
* sub-microsecond cost per route is paid only at registration and preserves that runtime invariant.
|
|
18
|
+
*/
|
|
19
|
+
export interface CompiledRoutePattern {
|
|
20
|
+
readonly [COMPILED_ROUTE_PATTERN]: true;
|
|
21
|
+
readonly pattern: string;
|
|
22
|
+
readonly segments: readonly RoutePatternSegment[];
|
|
23
|
+
readonly paramNames: readonly string[];
|
|
24
|
+
}
|
|
25
|
+
export type RoutePatternMatch = {
|
|
26
|
+
readonly matched: true;
|
|
27
|
+
readonly params: Record<string, string>;
|
|
28
|
+
} | {
|
|
29
|
+
readonly matched: false;
|
|
30
|
+
readonly reason: "not-found" | "malformed";
|
|
31
|
+
};
|
|
32
|
+
/** Parse and validate Nifra's strict route grammar once. Trailing slashes remain significant. */
|
|
33
|
+
export declare function compileRoutePattern(pattern: string): CompiledRoutePattern;
|
|
34
|
+
/** Core precedence: static > param > wildcard at the first differing segment, independent of order. */
|
|
35
|
+
export declare function compareRoutePatternSpecificity(left: CompiledRoutePattern, right: CompiledRoutePattern): number;
|
|
36
|
+
/** Decode router captures under one rule. Plain values take the zero-allocation path; malformed
|
|
37
|
+
* escapes return `null`, allowing HTTP to emit 400 while client navigation declines the match. */
|
|
38
|
+
export declare function decodeRouteParams(raw: Record<string, string>): Record<string, string> | null;
|
|
39
|
+
/** Match one compiled pattern and return decoded captures. The caller decides cross-pattern order. */
|
|
40
|
+
export declare function matchRoutePattern(compiled: CompiledRoutePattern, pathname: string): RoutePatternMatch;
|
|
41
|
+
export {};
|
|
42
|
+
//# sourceMappingURL=pattern.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pattern.d.ts","sourceRoot":"","sources":["../../src/router/pattern.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,sBAAsB,EAAE,OAAO,MAA+C,CAAA;AAEpF,MAAM,MAAM,mBAAmB,GAC3B;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACjD;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AAExD;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,CAAC,sBAAsB,CAAC,EAAE,IAAI,CAAA;IACvC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,QAAQ,EAAE,SAAS,mBAAmB,EAAE,CAAA;IACjD,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAA;CACvC;AAED,MAAM,MAAM,iBAAiB,GACzB;IAAE,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GACnE;IAAE,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CAAA;CAAE,CAAA;AAoC3E,iGAAiG;AACjG,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,oBAAoB,CA4DzE;AAED,uGAAuG;AACvG,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,oBAAoB,EAC1B,KAAK,EAAE,oBAAoB,GAC1B,MAAM,CAWR;AAED;kGACkG;AAClG,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAa5F;AAED,sGAAsG;AACtG,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,oBAAoB,EAC9B,QAAQ,EAAE,MAAM,GACf,iBAAiB,CAWnB"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { RouteConfigError } from "../errors.js";
|
|
2
|
+
const PARAM_NAME = /^[A-Za-z_][A-Za-z0-9_]*$/;
|
|
3
|
+
const RESERVED_PARAM_NAMES = new Set(["__proto__", "constructor", "prototype"]);
|
|
4
|
+
const COMPILED_ROUTE_PATTERN = Symbol("nifra.compiled-route-pattern");
|
|
5
|
+
/**
|
|
6
|
+
* Regex per compiled pattern, derived on first use. The core trie matches by descending segments and
|
|
7
|
+
* never asks for one, so building it during {@link compileRoutePattern} would charge every server's
|
|
8
|
+
* boot for the browser/mock adapters alone. Keyed by the frozen pattern, so the cache dies with it.
|
|
9
|
+
*/
|
|
10
|
+
const REGEX_CACHE = new WeakMap();
|
|
11
|
+
function regexOf(compiled) {
|
|
12
|
+
let regex = REGEX_CACHE.get(compiled);
|
|
13
|
+
if (regex === undefined) {
|
|
14
|
+
if (compiled[COMPILED_ROUTE_PATTERN] !== true) {
|
|
15
|
+
throw new TypeError("route pattern was not produced by compileRoutePattern()");
|
|
16
|
+
}
|
|
17
|
+
const parts = compiled.segments.map((segment) => segment.kind === "static"
|
|
18
|
+
? escapeRegex(segment.value)
|
|
19
|
+
: segment.kind === "param"
|
|
20
|
+
? "([^/]+)"
|
|
21
|
+
: "(.+)");
|
|
22
|
+
regex = new RegExp(parts.length === 0 ? "^/$" : `^/${parts.join("/")}$`);
|
|
23
|
+
REGEX_CACHE.set(compiled, regex);
|
|
24
|
+
}
|
|
25
|
+
return regex;
|
|
26
|
+
}
|
|
27
|
+
function validParamName(name) {
|
|
28
|
+
return PARAM_NAME.test(name) && !RESERVED_PARAM_NAMES.has(name);
|
|
29
|
+
}
|
|
30
|
+
function escapeRegex(value) {
|
|
31
|
+
return value.replace(/[.*+?^()|[\]\\{}$]/g, "\\$&");
|
|
32
|
+
}
|
|
33
|
+
/** Parse and validate Nifra's strict route grammar once. Trailing slashes remain significant. */
|
|
34
|
+
export function compileRoutePattern(pattern) {
|
|
35
|
+
if (pattern.length === 0 || pattern.charCodeAt(0) !== 47 /* / */) {
|
|
36
|
+
throw new RouteConfigError("INVALID_PATH", `path must start with "/": "${pattern}"`);
|
|
37
|
+
}
|
|
38
|
+
const raw = pattern === "/" ? [] : pattern.slice(1).split("/");
|
|
39
|
+
const segments = [];
|
|
40
|
+
const paramNames = [];
|
|
41
|
+
for (let i = 0; i < raw.length; i++) {
|
|
42
|
+
const value = raw[i];
|
|
43
|
+
if (value.charCodeAt(0) === 58 /* : */) {
|
|
44
|
+
const name = value.slice(1);
|
|
45
|
+
if (!validParamName(name)) {
|
|
46
|
+
throw new RouteConfigError("INVALID_PARAM_NAME", `invalid parameter ":${name}" in "${pattern}"`);
|
|
47
|
+
}
|
|
48
|
+
if (paramNames.includes(name)) {
|
|
49
|
+
throw new RouteConfigError("DUPLICATE_PARAM", `duplicate parameter ":${name}" in "${pattern}"`);
|
|
50
|
+
}
|
|
51
|
+
paramNames.push(name);
|
|
52
|
+
segments.push(Object.freeze({ kind: "param", name }));
|
|
53
|
+
continue;
|
|
54
|
+
}
|
|
55
|
+
if (value.charCodeAt(0) === 42 /* * */) {
|
|
56
|
+
if (i !== raw.length - 1) {
|
|
57
|
+
throw new RouteConfigError("WILDCARD_NOT_LAST", `wildcard must be the final segment in "${pattern}"`);
|
|
58
|
+
}
|
|
59
|
+
const name = value.length === 1 ? "*" : value.slice(1);
|
|
60
|
+
if (name !== "*" && !validParamName(name)) {
|
|
61
|
+
throw new RouteConfigError("INVALID_PARAM_NAME", `invalid wildcard "*${name}" in "${pattern}"`);
|
|
62
|
+
}
|
|
63
|
+
if (paramNames.includes(name)) {
|
|
64
|
+
throw new RouteConfigError("DUPLICATE_PARAM", `duplicate parameter "${name}" in "${pattern}"`);
|
|
65
|
+
}
|
|
66
|
+
paramNames.push(name);
|
|
67
|
+
segments.push(Object.freeze({ kind: "wildcard", name }));
|
|
68
|
+
continue;
|
|
69
|
+
}
|
|
70
|
+
segments.push(Object.freeze({ kind: "static", value }));
|
|
71
|
+
}
|
|
72
|
+
const compiled = Object.freeze({
|
|
73
|
+
[COMPILED_ROUTE_PATTERN]: true,
|
|
74
|
+
pattern,
|
|
75
|
+
segments: Object.freeze(segments),
|
|
76
|
+
paramNames: Object.freeze(paramNames),
|
|
77
|
+
});
|
|
78
|
+
return compiled;
|
|
79
|
+
}
|
|
80
|
+
/** Core precedence: static > param > wildcard at the first differing segment, independent of order. */
|
|
81
|
+
export function compareRoutePatternSpecificity(left, right) {
|
|
82
|
+
const length = Math.max(left.segments.length, right.segments.length);
|
|
83
|
+
for (let i = 0; i < length; i++) {
|
|
84
|
+
const a = left.segments[i];
|
|
85
|
+
const b = right.segments[i];
|
|
86
|
+
if (a === undefined || b === undefined)
|
|
87
|
+
return b === undefined ? -1 : 1;
|
|
88
|
+
const aWeight = a.kind === "static" ? 3 : a.kind === "param" ? 2 : 1;
|
|
89
|
+
const bWeight = b.kind === "static" ? 3 : b.kind === "param" ? 2 : 1;
|
|
90
|
+
if (aWeight !== bWeight)
|
|
91
|
+
return bWeight - aWeight;
|
|
92
|
+
}
|
|
93
|
+
return 0;
|
|
94
|
+
}
|
|
95
|
+
/** Decode router captures under one rule. Plain values take the zero-allocation path; malformed
|
|
96
|
+
* escapes return `null`, allowing HTTP to emit 400 while client navigation declines the match. */
|
|
97
|
+
export function decodeRouteParams(raw) {
|
|
98
|
+
let out;
|
|
99
|
+
for (const key in raw) {
|
|
100
|
+
const value = raw[key];
|
|
101
|
+
if (!value.includes("%"))
|
|
102
|
+
continue;
|
|
103
|
+
try {
|
|
104
|
+
out ??= { ...raw };
|
|
105
|
+
out[key] = decodeURIComponent(value);
|
|
106
|
+
}
|
|
107
|
+
catch {
|
|
108
|
+
return null;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
return out ?? raw;
|
|
112
|
+
}
|
|
113
|
+
/** Match one compiled pattern and return decoded captures. The caller decides cross-pattern order. */
|
|
114
|
+
export function matchRoutePattern(compiled, pathname) {
|
|
115
|
+
const match = regexOf(compiled).exec(pathname);
|
|
116
|
+
if (match === null)
|
|
117
|
+
return { matched: false, reason: "not-found" };
|
|
118
|
+
const params = {};
|
|
119
|
+
for (let i = 0; i < compiled.paramNames.length; i++) {
|
|
120
|
+
params[compiled.paramNames[i]] = match[i + 1] ?? "";
|
|
121
|
+
}
|
|
122
|
+
const decoded = decodeRouteParams(params);
|
|
123
|
+
return decoded === null
|
|
124
|
+
? { matched: false, reason: "malformed" }
|
|
125
|
+
: { matched: true, params: decoded };
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=pattern.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pattern.js","sourceRoot":"","sources":["../../src/router/pattern.ts"],"names":[],"mappings":"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"}
|
package/dist/router/router.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type CompiledRoutePattern } from "./pattern.js";
|
|
1
2
|
/** HTTP methods the router accepts. */
|
|
2
3
|
export declare const METHODS: readonly ["GET", "POST", "PUT", "PATCH", "DELETE", "HEAD", "OPTIONS"];
|
|
3
4
|
export type Method = (typeof METHODS)[number];
|
|
@@ -49,7 +50,7 @@ export declare class Router<T> {
|
|
|
49
50
|
* (boot-time, L2) on a duplicate route, a malformed pattern, or conflicting
|
|
50
51
|
* parameter names for the same path shape.
|
|
51
52
|
*/
|
|
52
|
-
add(method: Method,
|
|
53
|
+
add(method: Method, pattern: string | CompiledRoutePattern, payload: T): void;
|
|
53
54
|
/**
|
|
54
55
|
* Resolve `method` + `path`. Tolerant of a missing leading slash and of
|
|
55
56
|
* method casing. Never throws.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/router/router.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/router/router.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,oBAAoB,EAAuB,MAAM,cAAc,CAAA;AAE7E,uCAAuC;AACvC,eAAO,MAAM,OAAO,uEAAwE,CAAA;AAE5F,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,CAAA;AAS7C,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAqB,CAAA;AAGrE;;;;GAIG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IACrB;IAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GACtF;IAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;CAAE,GACvD;IAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAAA;AAyKhG;;;;;;;;GAQG;AACH,qBAAa,MAAM,CAAC,CAAC;IACnB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAc;IACnC;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA0B;IACvD;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAU;;IAQ7C;;;;OAIG;IACH,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,oBAAoB,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI;IAkE7E;;;OAGG;IACH,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC;IAelD,OAAO,CAAC,WAAW;IA8BnB,OAAO,CAAC,sBAAsB;CAwB/B"}
|
package/dist/router/router.js
CHANGED
|
@@ -1,24 +1,12 @@
|
|
|
1
1
|
import { RouteConfigError } from "../errors.js";
|
|
2
|
+
import { compileRoutePattern } from "./pattern.js";
|
|
2
3
|
/** HTTP methods the router accepts. */
|
|
3
4
|
export const METHODS = ["GET", "POST", "PUT", "PATCH", "DELETE", "HEAD", "OPTIONS"];
|
|
4
5
|
const METHOD_SET = new Set(METHODS);
|
|
5
6
|
function isMethod(value) {
|
|
6
7
|
return METHOD_SET.has(value);
|
|
7
8
|
}
|
|
8
|
-
/** Parameter names must be valid identifiers — mirrors the global identifier rule. */
|
|
9
|
-
const PARAM_NAME = /^[A-Za-z_][A-Za-z0-9_]*$/;
|
|
10
|
-
/** Object-prototype keys are rejected as param names: a route like `/:__proto__` could let a captured
|
|
11
|
-
* value reach a prototype-polluting key. Param *names* come from the route pattern (never from request
|
|
12
|
-
* input) and are validated here at registration, so a reserved key can never reach `buildParams` —
|
|
13
|
-
* this boot-time guard is the whole protection. The runtime params object stays a plain `{}` (only
|
|
14
|
-
* user-controlled *values* land in it, under these validated keys), keeping the param path
|
|
15
|
-
* allocation-cheap; a null-prototype object would add cost for no added safety. */
|
|
16
|
-
const RESERVED_PARAM_NAMES = new Set(["__proto__", "constructor", "prototype"]);
|
|
17
|
-
/** A param name is valid when it's an identifier AND not a reserved object-prototype key. */
|
|
18
|
-
const validParamName = (name) => PARAM_NAME.test(name) && !RESERVED_PARAM_NAMES.has(name);
|
|
19
9
|
const SLASH = 47;
|
|
20
|
-
const COLON = 58;
|
|
21
|
-
const STAR = 42;
|
|
22
10
|
export const EMPTY_PARAMS = Object.freeze({});
|
|
23
11
|
const DYNAMIC_MATCH_CACHE_MAX = 2048;
|
|
24
12
|
const DYNAMIC_MATCH_CACHES = new WeakMap();
|
|
@@ -173,7 +161,7 @@ export class Router {
|
|
|
173
161
|
* (boot-time, L2) on a duplicate route, a malformed pattern, or conflicting
|
|
174
162
|
* parameter names for the same path shape.
|
|
175
163
|
*/
|
|
176
|
-
add(method,
|
|
164
|
+
add(method, pattern, payload) {
|
|
177
165
|
DYNAMIC_MATCH_CACHES.delete(this);
|
|
178
166
|
const upper = method.toUpperCase();
|
|
179
167
|
// The `Method` parameter type is the compile-time guard; this re-checks at
|
|
@@ -181,50 +169,25 @@ export class Router {
|
|
|
181
169
|
if (!isMethod(upper)) {
|
|
182
170
|
throw new RouteConfigError("INVALID_METHOD", `unsupported HTTP method "${method}"`);
|
|
183
171
|
}
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
const
|
|
188
|
-
const paramNames = [];
|
|
189
|
-
let isStatic = true;
|
|
172
|
+
const compiled = typeof pattern === "string" ? compileRoutePattern(pattern) : pattern;
|
|
173
|
+
const path = compiled.pattern;
|
|
174
|
+
const paramNames = compiled.paramNames;
|
|
175
|
+
const isStatic = paramNames.length === 0;
|
|
190
176
|
let node = this.root;
|
|
191
|
-
for (
|
|
192
|
-
|
|
193
|
-
const marker = seg.charCodeAt(0);
|
|
194
|
-
if (marker === COLON) {
|
|
195
|
-
isStatic = false;
|
|
196
|
-
const name = seg.slice(1);
|
|
197
|
-
if (!validParamName(name)) {
|
|
198
|
-
throw new RouteConfigError("INVALID_PARAM_NAME", `invalid parameter ":${name}" in "${path}"`);
|
|
199
|
-
}
|
|
200
|
-
if (paramNames.includes(name)) {
|
|
201
|
-
throw new RouteConfigError("DUPLICATE_PARAM", `duplicate parameter ":${name}" in "${path}"`);
|
|
202
|
-
}
|
|
203
|
-
paramNames.push(name);
|
|
177
|
+
for (const segment of compiled.segments) {
|
|
178
|
+
if (segment.kind === "param") {
|
|
204
179
|
node.paramChild ??= createNode();
|
|
205
180
|
node = node.paramChild;
|
|
206
181
|
}
|
|
207
|
-
else if (
|
|
208
|
-
isStatic = false;
|
|
209
|
-
if (i !== segments.length - 1) {
|
|
210
|
-
throw new RouteConfigError("WILDCARD_NOT_LAST", `wildcard must be the final segment in "${path}"`);
|
|
211
|
-
}
|
|
212
|
-
const name = seg.length === 1 ? "*" : seg.slice(1);
|
|
213
|
-
if (name !== "*" && !validParamName(name)) {
|
|
214
|
-
throw new RouteConfigError("INVALID_PARAM_NAME", `invalid wildcard "*${name}" in "${path}"`);
|
|
215
|
-
}
|
|
216
|
-
if (paramNames.includes(name)) {
|
|
217
|
-
throw new RouteConfigError("DUPLICATE_PARAM", `duplicate parameter "${name}" in "${path}"`);
|
|
218
|
-
}
|
|
219
|
-
paramNames.push(name);
|
|
182
|
+
else if (segment.kind === "wildcard") {
|
|
220
183
|
node.wildcardChild ??= createNode();
|
|
221
184
|
node = node.wildcardChild;
|
|
222
185
|
}
|
|
223
186
|
else {
|
|
224
|
-
let child = node.staticChildren.get(
|
|
187
|
+
let child = node.staticChildren.get(segment.value);
|
|
225
188
|
if (child === undefined) {
|
|
226
189
|
child = createNode();
|
|
227
|
-
node.staticChildren.set(
|
|
190
|
+
node.staticChildren.set(segment.value, child);
|
|
228
191
|
}
|
|
229
192
|
node = child;
|
|
230
193
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/router/router.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/router/router.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import type { DataClassification } from "../classification.js";
|
|
|
2
2
|
import { type Method } from "../router/router.js";
|
|
3
3
|
import type { InferOutput, StandardSchemaV1 } from "../schema/standard.js";
|
|
4
4
|
import type { Context, IdempotencyConfig, Params, RouteSchema } from "./context.js";
|
|
5
|
-
import type { OutputOf } from "./registry.js";
|
|
5
|
+
import type { EmptyRegistry, OutputOf, Registry } from "./registry.js";
|
|
6
6
|
import { Server } from "./server.js";
|
|
7
7
|
/** An additional (non-success) response a contract operation can document, e.g. a `404`. */
|
|
8
8
|
export interface ResponseDef {
|
|
@@ -118,9 +118,13 @@ type MaybePromise<T> = T | Promise<T>;
|
|
|
118
118
|
type HandlerReturnForOp<O extends OperationDef> = O extends {
|
|
119
119
|
response: infer R extends StandardSchemaV1;
|
|
120
120
|
} ? Response | InferOutput<R> : unknown;
|
|
121
|
-
/**
|
|
122
|
-
|
|
123
|
-
|
|
121
|
+
/**
|
|
122
|
+
* The handlers `implement` requires: one per operation, typed from the op's input + response contract,
|
|
123
|
+
* intersected with the host app's accumulated `derive`/`decorate` context - the same
|
|
124
|
+
* `Context & Ctx` an inline {@link Handler} receives, so a handler graduates either way unchanged.
|
|
125
|
+
*/
|
|
126
|
+
export type HandlersFor<C extends ContractShape, Ctx = NonNullable<unknown>> = {
|
|
127
|
+
[K in keyof C]: (context: ContextForOp<C[K]> & Ctx) => MaybePromise<HandlerReturnForOp<C[K]>>;
|
|
124
128
|
};
|
|
125
129
|
/**
|
|
126
130
|
* Define a standalone, versionable contract. Identity at runtime (it returns the
|
|
@@ -138,7 +142,7 @@ type AnyFn = (...args: never[]) => unknown;
|
|
|
138
142
|
* the implemented server stays route-for-route identical to the equivalent inline server (the
|
|
139
143
|
* mode-conformance guarantee), and a contract-typed client and a `typeof app`-typed client agree.
|
|
140
144
|
*/
|
|
141
|
-
export type RegistryFromImpl<C extends ContractShape, H extends HandlersFor<C>> = {
|
|
145
|
+
export type RegistryFromImpl<C extends ContractShape, H extends HandlersFor<C, Ctx>, Ctx = NonNullable<unknown>> = {
|
|
142
146
|
[P in C[keyof C]["path"]]: {
|
|
143
147
|
[K in keyof C as C[K]["path"] extends P ? C[K]["method"] : never]: {
|
|
144
148
|
readonly params: Params<C[K]["path"]>;
|
|
@@ -158,7 +162,20 @@ export type RegistryFromImpl<C extends ContractShape, H extends HandlersFor<C>>
|
|
|
158
162
|
* builder, so the result is identical to writing the routes inline — handlers
|
|
159
163
|
* lift over **unchanged** ("graduation"), and body/query schemas validate at the
|
|
160
164
|
* request boundary exactly as in inline mode.
|
|
165
|
+
*
|
|
166
|
+
* Pass a pre-configured `app` to give the contract's routes a middleware chain. A route captures the
|
|
167
|
+
* server's `derive`/`decorate`/assurance chain **at registration**, so anything applied to the
|
|
168
|
+
* returned server afterwards reaches the contract's routes not at all - the app must already carry it:
|
|
169
|
+
*
|
|
170
|
+
* ```ts
|
|
171
|
+
* const app = implement(contract, handlers, server().use(auth).derive(sessionOf))
|
|
172
|
+
* ```
|
|
173
|
+
*
|
|
174
|
+
* That is also the seam that lets `nifra assure` prove rather than merely classify a contract-first
|
|
175
|
+
* app: the plugin that installs the enforcement is what declares the evidence
|
|
176
|
+
* ({@link withRouteAssurance}), and only a plugin installed *before* registration is captured. Handlers
|
|
177
|
+
* then see the app's `Ctx`, and the returned server keeps any routes the app already had.
|
|
161
178
|
*/
|
|
162
|
-
export declare function implement<const C extends ContractShape, H extends HandlersFor<C>>(contract: C, handlers: H): Server<RegistryFromImpl<C, H
|
|
179
|
+
export declare function implement<const C extends ContractShape, H extends HandlersFor<C, Ctx>, R extends Registry = EmptyRegistry, Ctx = NonNullable<unknown>>(contract: C, handlers: H, app?: Server<R, Ctx>): Server<R & RegistryFromImpl<C, H, Ctx>, Ctx>;
|
|
163
180
|
export {};
|
|
164
181
|
//# sourceMappingURL=contract.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/server/contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAG9D,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAC1E,OAAO,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AACnF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/server/contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAG9D,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAC1E,OAAO,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AACnF,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,4FAA4F;AAC5F,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,mGAAmG;IACnG,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAA;IAClC,gDAAgD;IAChD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAC9B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,gBAAgB,CAAA;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAA;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAA;IACpC,sFAAsF;IACtF,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACzC,6GAA6G;IAC7G,QAAQ,CAAC,WAAW,CAAC,EAAE,iBAAiB,CAAA;IACxC,8FAA8F;IAC9F,QAAQ,CAAC,cAAc,CAAC,EAAE,kBAAkB,CAAA;IAC5C,yCAAyC;IACzC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,8DAA8D;IAC9D,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,sCAAsC;IACtC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACjC,qCAAqC;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,0HAA0H;IAC1H,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC,CAAA;IAC9E,6DAA6D;IAC7D,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;IACpC,gFAAgF;IAChF,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAA;IACrC,2FAA2F;IAC3F,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAA;CAC3D;AAED,yFAAyF;AACzF,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;AAExD,KAAK,MAAM,CAAC,CAAC,SAAS,YAAY,IAAI,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC,SAAS,gBAAgB,CAAA;CAAE,GACtF,WAAW,CAAC,CAAC,CAAC,GACd,KAAK,CAAA;AACT,KAAK,OAAO,CAAC,CAAC,SAAS,YAAY,IAAI,CAAC,SAAS;IAAE,KAAK,EAAE,MAAM,CAAC,SAAS,gBAAgB,CAAA;CAAE,GACxF,WAAW,CAAC,CAAC,CAAC,GACd,KAAK,CAAA;AACT,KAAK,UAAU,CAAC,CAAC,SAAS,YAAY,IAAI,CAAC,SAAS;IAAE,QAAQ,EAAE,MAAM,CAAC,SAAS,gBAAgB,CAAA;CAAE,GAC9F,WAAW,CAAC,CAAC,CAAC,GACd,OAAO,CAAA;AAEX,iHAAiH;AACjH,KAAK,aAAa,CAAC,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI;KAC1D,CAAC,IAAI,MAAM,EAAE,IAAI,CAAC,SAAS,IAAI,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS;QACnE,MAAM,EAAE,MAAM,CAAC,SAAS,gBAAgB,CAAA;KACzC,GACG,WAAW,CAAC,CAAC,CAAC,GACd,KAAK;CACV,CAAA;AAED;oFACoF;AACpF,KAAK,QAAQ,CAAC,CAAC,SAAS,YAAY,IAAI,CAAC,SAAS;IAChD,SAAS,EAAE,MAAM,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;CACxD,GACG,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,MAAM,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAC1D,OAAO,GACP,aAAa,CAAC,EAAE,CAAC,CAAC,MAAM,aAAa,CAAC,EAAE,CAAC,CAAC,GAC5C,OAAO,CAAA;AAEX;;;;;;GAMG;AACH,KAAK,cAAc,CAAC,CAAC,SAAS,YAAY,IAAI;IAC5C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;IAClC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;IACxB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAA;IAG9B,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;IAG5B,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAA;CACpB,CAAA;AAED,+EAA+E;AAC/E,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,aAAa,IAAI;KAChD,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG;SACxB,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,KAAK,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACxF;CACF,CAAA;AAED,gGAAgG;AAChG,KAAK,WAAW,CAAC,CAAC,SAAS,YAAY,IAAI,CAAC,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC,SAAS,gBAAgB,CAAA;CAAE,GAC5F;IAAE,IAAI,EAAE,CAAC,CAAA;CAAE,GACX,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,GACvB,CAAC,CAAC,SAAS;IAAE,KAAK,EAAE,MAAM,CAAC,SAAS,gBAAgB,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,CAAC,CAAA;CAAE,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAA;AAE/F;;;;GAIG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAA;AAEnG,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;AAErC;;;;;;GAMG;AACH,KAAK,kBAAkB,CAAC,CAAC,SAAS,YAAY,IAAI,CAAC,SAAS;IAC1D,QAAQ,EAAE,MAAM,CAAC,SAAS,gBAAgB,CAAA;CAC3C,GACG,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,GACzB,OAAO,CAAA;AAEX;;;;GAIG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,aAAa,EAAE,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI;KAC5E,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC9F,CAAA;AAID;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,KAAK,CAAC,CAAC,SAAS,aAAa,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAwB5E;AAED,KAAK,KAAK,GAAG,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,OAAO,CAAA;AAE1C;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,CAC1B,CAAC,SAAS,aAAa,EACvB,CAAC,SAAS,WAAW,CAAC,CAAC,EAAE,GAAG,CAAC,EAC7B,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,IACxB;KACD,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG;SACxB,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,KAAK,GAAG;YACjE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;YACrC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAC3B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;gBAAE,QAAQ,EAAE,MAAM,CAAC,SAAS,gBAAgB,CAAA;aAAE,GACxE,WAAW,CAAC,CAAC,CAAC,GACd,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,GAChB,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACd,OAAO,CAAA;YAGb,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAE/B,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAA;SACpB;KACF;CACF,CAAA;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,SAAS,CACvB,KAAK,CAAC,CAAC,SAAS,aAAa,EAC7B,CAAC,SAAS,WAAW,CAAC,CAAC,EAAE,GAAG,CAAC,EAC7B,CAAC,SAAS,QAAQ,GAAG,aAAa,EAClC,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,EAC1B,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAmC9F"}
|
package/dist/server/contract.js
CHANGED
|
@@ -36,10 +36,23 @@ export function defineContract(contract) {
|
|
|
36
36
|
* builder, so the result is identical to writing the routes inline — handlers
|
|
37
37
|
* lift over **unchanged** ("graduation"), and body/query schemas validate at the
|
|
38
38
|
* request boundary exactly as in inline mode.
|
|
39
|
+
*
|
|
40
|
+
* Pass a pre-configured `app` to give the contract's routes a middleware chain. A route captures the
|
|
41
|
+
* server's `derive`/`decorate`/assurance chain **at registration**, so anything applied to the
|
|
42
|
+
* returned server afterwards reaches the contract's routes not at all - the app must already carry it:
|
|
43
|
+
*
|
|
44
|
+
* ```ts
|
|
45
|
+
* const app = implement(contract, handlers, server().use(auth).derive(sessionOf))
|
|
46
|
+
* ```
|
|
47
|
+
*
|
|
48
|
+
* That is also the seam that lets `nifra assure` prove rather than merely classify a contract-first
|
|
49
|
+
* app: the plugin that installs the enforcement is what declares the evidence
|
|
50
|
+
* ({@link withRouteAssurance}), and only a plugin installed *before* registration is captured. Handlers
|
|
51
|
+
* then see the app's `Ctx`, and the returned server keeps any routes the app already had.
|
|
39
52
|
*/
|
|
40
|
-
export function implement(contract, handlers) {
|
|
41
|
-
const
|
|
42
|
-
|
|
53
|
+
export function implement(contract, handlers, app) {
|
|
54
|
+
const target = (app ?? new Server());
|
|
55
|
+
const routes = Object.entries(contract).map(([name, op]) => {
|
|
43
56
|
// body/query are validated at the request boundary; `response` is a type + introspection contract
|
|
44
57
|
// ONLY — never validated at runtime and never read on the request hot path (the lifecycle reads
|
|
45
58
|
// schema.body/query by name; the `bare`/bodyOnly/queryOnly fast-path gates ignore `response`). Built
|
|
@@ -60,10 +73,16 @@ export function implement(contract, handlers) {
|
|
|
60
73
|
...(op.classification !== undefined ? { classification: op.classification } : {}),
|
|
61
74
|
}
|
|
62
75
|
: undefined;
|
|
63
|
-
|
|
64
|
-
|
|
76
|
+
return {
|
|
77
|
+
method: op.method,
|
|
78
|
+
path: op.path,
|
|
79
|
+
schema,
|
|
80
|
+
handler: handlers[name],
|
|
81
|
+
};
|
|
82
|
+
});
|
|
83
|
+
target.registerBatch(routes);
|
|
65
84
|
// Runtime registered exactly the contract's routes through the inline path; the
|
|
66
85
|
// registry type is computed from the contract inputs + handler return types.
|
|
67
|
-
return
|
|
86
|
+
return target;
|
|
68
87
|
}
|
|
69
88
|
//# sourceMappingURL=contract.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/server/contract.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAA;AAC9E,OAAO,EAAE,OAAO,EAAe,MAAM,qBAAqB,CAAA;AAI1D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/server/contract.ts"],"names":[],"mappings":"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"}
|