@nifrajs/mock 2.3.0 → 2.4.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 +10 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -3
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/src/index.ts +24 -4
package/README.md
CHANGED
|
@@ -18,6 +18,16 @@ The mock server matches reflected routes and synthesizes values from supported J
|
|
|
18
18
|
Unsupported or unsatisfiable schemas fail explicitly instead of returning known-invalid data. Use a
|
|
19
19
|
fixed seed when responses must be replayable across local development and CI.
|
|
20
20
|
|
|
21
|
+
Routes whose response validator exposes no JSON Schema (zod, valibot, arktype) mock as `{}` by default.
|
|
22
|
+
Pass `reflectJsonSchema` to derive a schema from such a validator so those routes mock real data; for zod,
|
|
23
|
+
use the bridge shipped as `@nifrajs/testing/zod`:
|
|
24
|
+
|
|
25
|
+
```ts
|
|
26
|
+
import { zodJsonSchema } from "@nifrajs/testing/zod"
|
|
27
|
+
|
|
28
|
+
const mock = createMockServer(app, { reflectJsonSchema: zodJsonSchema })
|
|
29
|
+
```
|
|
30
|
+
|
|
21
31
|
## For AI agents
|
|
22
32
|
|
|
23
33
|
Start with [`LLM.md`](./LLM.md) - this package's contract card (the exports you call + its footguns),
|
package/dist/index.d.ts
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* response definitions, then generates fake responses from supported JSON Schema keywords. Use it
|
|
6
6
|
* for frontend-first development, agent testing, or CI smoke tests.
|
|
7
7
|
*/
|
|
8
|
+
import { type JsonSchema } from "@nifrajs/core/reflection";
|
|
8
9
|
export declare class UnsupportedMockSchemaError extends Error {
|
|
9
10
|
readonly keyword: string;
|
|
10
11
|
constructor(keyword: string, message: string);
|
|
@@ -37,6 +38,12 @@ export interface MockServerOptions {
|
|
|
37
38
|
readonly seed?: number | undefined;
|
|
38
39
|
/** Log mock requests to console. */
|
|
39
40
|
readonly verbose?: boolean | undefined;
|
|
41
|
+
/**
|
|
42
|
+
* Derive a JSON Schema from a response validator that carries none (zod/valibot expose a Standard Schema
|
|
43
|
+
* validator but no `.jsonSchema`), so their routes mock real data instead of `{}`. Fail-safe: throwing or
|
|
44
|
+
* returning undefined falls back to `{}`, as today. Ready-made for zod: `@nifrajs/testing/zod`.
|
|
45
|
+
*/
|
|
46
|
+
readonly reflectJsonSchema?: (schema: unknown) => JsonSchema | undefined;
|
|
40
47
|
}
|
|
41
48
|
export interface MockServer {
|
|
42
49
|
/** Handle a request against the mock routes. */
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH,OAAO,EAAE,KAAK,UAAU,EAAgC,MAAM,0BAA0B,CAAA;AAoBxF,qBAAa,0BAA2B,SAAQ,KAAK;IAEjD,QAAQ,CAAC,OAAO,EAAE,MAAM;gBAAf,OAAO,EAAE,MAAM,EACxB,OAAO,EAAE,MAAM;CAKlB;AAwDD;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,OAAO,EACf,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,EAC9B,GAAG,CAAC,EAAE,CAAC,MAAM,MAAM,CAAC,GAAG,SAAS,GAC/B,OAAO,CAmJT;AAMD,sDAAsD;AACtD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,CAAC,EACZ;QACE,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAC5B,GACD,SAAS,CAAA;CACd;AAED,qDAAqD;AACrD,MAAM,WAAW,WAAW;IAC1B,MAAM,IAAI,SAAS,aAAa,EAAE,CAAA;CACnC;AAED,MAAM,WAAW,iBAAiB;IAChC,8CAA8C;IAC9C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAClC,oCAAoC;IACpC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACtC;;;;OAIG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,UAAU,GAAG,SAAS,CAAA;CACzE;AAED,MAAM,WAAW,UAAU;IACzB,gDAAgD;IAChD,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC1C,gDAAgD;IAChD,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CACrE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,WAAW,EAChB,OAAO,CAAC,EAAE,iBAAiB,GAAG,SAAS,GACtC,UAAU,CA0FZ"}
|
package/dist/index.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* response definitions, then generates fake responses from supported JSON Schema keywords. Use it
|
|
6
6
|
* for frontend-first development, agent testing, or CI smoke tests.
|
|
7
7
|
*/
|
|
8
|
-
import {
|
|
8
|
+
import { compileRoutePattern, matchRoutePattern, sortRoutesBySpecificity, } from "@nifrajs/core/pattern";
|
|
9
9
|
import { reflectRoutes, reflectSchema } from "@nifrajs/core/reflection";
|
|
10
10
|
// ---------------------------------------------------------------------------
|
|
11
11
|
// Seeded PRNG (deterministic mocks)
|
|
@@ -221,7 +221,20 @@ export function createMockServer(app, options) {
|
|
|
221
221
|
for (const route of routes) {
|
|
222
222
|
const key = `${route.method.toUpperCase()} ${route.path}`;
|
|
223
223
|
const rng = seededRandom(seed);
|
|
224
|
-
const
|
|
224
|
+
const response = route.schema?.response;
|
|
225
|
+
let responseSchema = response?.jsonSchema;
|
|
226
|
+
// Backfill an inspectable schema for an opaque validator (zod/valibot) so its routes mock real data
|
|
227
|
+
// instead of `{}`. Fail-safe: a throwing hook falls back to `{}`, exactly as before the hook existed.
|
|
228
|
+
if (responseSchema === undefined &&
|
|
229
|
+
options?.reflectJsonSchema &&
|
|
230
|
+
response?.standard !== undefined) {
|
|
231
|
+
try {
|
|
232
|
+
responseSchema = options.reflectJsonSchema(response.standard);
|
|
233
|
+
}
|
|
234
|
+
catch {
|
|
235
|
+
responseSchema = undefined;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
225
238
|
const mockValue = responseSchema ? generateMockValue(responseSchema, undefined, rng) : {};
|
|
226
239
|
mockMap.set(key, mockValue);
|
|
227
240
|
mockRoutes.push({ method: route.method.toUpperCase(), path: route.path });
|
|
@@ -232,7 +245,7 @@ export function createMockServer(app, options) {
|
|
|
232
245
|
value: mockValue,
|
|
233
246
|
});
|
|
234
247
|
}
|
|
235
|
-
compiledRoutes
|
|
248
|
+
sortRoutesBySpecificity(compiledRoutes);
|
|
236
249
|
return {
|
|
237
250
|
mockRoutes,
|
|
238
251
|
async fetch(request) {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAEL,8BAA8B,EAC9B,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAEvE,8EAA8E;AAC9E,oCAAoC;AACpC,8EAA8E;AAE9E,SAAS,YAAY,CAAC,IAAY;IAChC,IAAI,CAAC,GAAG,IAAI,CAAA;IACZ,OAAO,GAAG,EAAE;QACV,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,GAAG,UAAU,CAAC,GAAG,UAAU,CAAA;QAC3C,+EAA+E;QAC/E,iEAAiE;QACjE,OAAO,CAAC,GAAG,UAAU,CAAA;IACvB,CAAC,CAAA;AACH,CAAC;AAED,2FAA2F;AAC3F,MAAM,WAAW,GAAG,CAAC,IAAkB,EAAE,MAAc,EAAU,EAAE,CACjE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAA;AAEnD,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IAExC;IADX,YACW,OAAe,EACxB,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAA;QAHL,YAAO,GAAP,OAAO,CAAQ;QAIxB,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAA;IAC1C,CAAC;CACF;AAED,SAAS,aAAa,CAAC,MAA+B;IACpD,MAAM,OAAO,GAAG,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;IACvE,MAAM,OAAO,GAAG,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAA;IACzE,MAAM,gBAAgB,GACpB,OAAO,MAAM,CAAC,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAA;IACnF,MAAM,gBAAgB,GACpB,OAAO,MAAM,CAAC,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAA;IACnF,MAAM,GAAG,GACP,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;IACjG,MAAM,GAAG,GACP,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;IACjG,IAAI,GAAG,GAAG,GAAG;QACX,MAAM,IAAI,0BAA0B,CAAC,SAAS,EAAE,yCAAyC,CAAC,CAAA;IAC5F,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;AACrB,CAAC;AAED,SAAS,iBAAiB,CACxB,MAA+B,EAC/B,OAAe,EACf,SAA6B;IAE7B,MAAM,SAAS,GAAG,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;IAC7E,MAAM,SAAS,GACb,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAA;IACpF,IAAI,SAAS,GAAG,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,0BAA0B,CAAC,WAAW,EAAE,yCAAyC,CAAC,CAAA;IAC9F,CAAC;IACD,MAAM,UAAU,GAAG;QACjB,OAAO;QACP,SAAS,IAAI,MAAM;QACnB,YAAY;QACZ,MAAM;QACN,KAAK;QACL,KAAK;QACL,IAAI;QACJ,qBAAqB;QACrB,kBAAkB;KACnB,CAAA;IACD,MAAM,OAAO,GAAG,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC3F,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAC1F,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;QACxC,IAAI,KAAK,CAAC,MAAM,IAAI,SAAS,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAAE,OAAO,KAAK,CAAA;IAC/F,CAAC;IACD,MAAM,IAAI,0BAA0B,CAClC,SAAS,EACT,uCAAuC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CACxE,CAAA;AACH,CAAC;AAED,8EAA8E;AAC9E,+CAA+C;AAC/C,8EAA8E;AAE9E;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAAe,EACf,SAA8B,EAC9B,GAAgC;IAEhC,MAAM,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,MAAM,CAAA;IAE/B,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,UAAU,CAAA;IAClD,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,EAAE,CAAA;IAC5D,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QACxB,MAAM,IAAI,0BAA0B,CAAC,OAAO,EAAE,yCAAyC,CAAC,CAAA;IAC1F,CAAC;IACD,MAAM,GAAG,GAAG,SAAS,CAAA;IAErB,IAAI,OAAO,IAAI,GAAG;QAAE,OAAO,GAAG,CAAC,KAAK,CAAA;IACpC,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,IAAI,0BAA0B,CAClC,MAAM,EACN,wDAAwD,CACzD,CAAA;IACH,CAAC;IACD,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,0BAA0B,CAAC,KAAK,EAAE,6CAA6C,CAAC,CAAA;IAC5F,CAAC;IACD,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,0BAA0B,CAClC,OAAO,EACP,wDAAwD,CACzD,CAAA;IACH,CAAC;IACD,MAAM,YAAY,GAAG,GAAG,CAAC,KAAuC,CAAA;IAChE,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3D,OAAO,iBAAiB,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,CAAA;IACjG,CAAC;IACD,MAAM,aAAa,GAAG,GAAG,CAAC,KAAuC,CAAA;IACjE,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7D,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAA;QACpF,IACE,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAC7F,CAAC;YACD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,CAAA;QACrC,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;QACvB,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAAE,OAAO,KAAK,CAAA;QAClE,MAAM,IAAI,0BAA0B,CAClC,OAAO,EACP,mEAAmE,CACpE,CAAA;IACH,CAAC;IAED,wDAAwD;IACxD,MAAM,UAAU,GAAG,GAAG,CAAC,IAAsC,CAAA;IAC7D,IAAI,UAAU,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrE,OAAO,UAAU,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAA;IACzD,CAAC;IAED,MAAM,YAAY,GAAG,GAAG,CAAC,IAA8C,CAAA;IACvE,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC;QACtC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC;QACpE,CAAC,CAAC,YAAY,CAAA;IAEhB,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,MAAM,GAAG,GAAG,CAAC,MAA4B,CAAA;YAC/C,QAAQ,MAAM,EAAE,CAAC;gBACf,KAAK,OAAO;oBACV,OAAO,iBAAiB,CAAC,GAAG,EAAE,QAAQ,SAAS,IAAI,SAAS,MAAM,EAAE,SAAS,CAAC,CAAA;gBAChF,KAAK,KAAK,CAAC;gBACX,KAAK,KAAK;oBACR,OAAO,iBAAiB,CAAC,GAAG,EAAE,WAAW,SAAS,IAAI,SAAS,WAAW,EAAE,SAAS,CAAC,CAAA;gBACxF,KAAK,MAAM;oBACT,OAAO,iBAAiB,CAAC,GAAG,EAAE,YAAY,EAAE,SAAS,CAAC,CAAA;gBACxD,KAAK,WAAW;oBACd,OAAO,iBAAiB,CAAC,GAAG,EAAE,0BAA0B,EAAE,SAAS,CAAC,CAAA;gBACtE,KAAK,MAAM;oBACT,OAAO,iBAAiB,CAAC,GAAG,EAAE,sCAAsC,EAAE,SAAS,CAAC,CAAA;gBAClF;oBACE,OAAO,iBAAiB,CAAC,GAAG,EAAE,QAAQ,SAAS,IAAI,OAAO,EAAE,EAAE,SAAS,CAAC,CAAA;YAC5E,CAAC;QACH,CAAC;QAED,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,CAAA;YACvC,MAAM,UAAU,GAAG,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAA;YAClF,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;gBAChD,MAAM,IAAI,0BAA0B,CAAC,YAAY,EAAE,6BAA6B,CAAC,CAAA;YACnF,CAAC;YACD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,UAAU,CAAA;gBACtD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,UAAU,CAAA;gBACtD,IAAI,KAAK,GAAG,IAAI;oBACd,MAAM,IAAI,0BAA0B,CAAC,YAAY,EAAE,6BAA6B,CAAC,CAAA;gBACnF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,UAAU,CAAC,CAAA;gBACrD,OAAO,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,CAAA;YAC9D,CAAC;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,IAAI,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAA;QAC7D,CAAC;QAED,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,CAAA;YACvC,MAAM,UAAU,GAAG,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;YAC1E,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,UAAU,CAAA;YACtD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,UAAU,CAAA;YACtD,IAAI,KAAK,GAAG,IAAI;gBACd,MAAM,IAAI,0BAA0B,CAAC,SAAS,EAAE,4BAA4B,CAAC,CAAA;YAC/E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,UAAU,CAAC,CAAA;YACrD,OAAO,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,CAAA;QAC9D,CAAC;QAED,KAAK,SAAS;YACZ,OAAO,IAAI,CAAA;QAEb,KAAK,MAAM;YACT,OAAO,IAAI,CAAA;QAEb,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,KAAK,GAAG,GAAG,CAAC,KAA4C,CAAA;YAC9D,IAAI,CAAC,KAAK;gBAAE,OAAO,EAAE,CAAA;YACrB,MAAM,QAAQ,GAAG,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;YACpE,MAAM,QAAQ,GAAG,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;YACxF,IAAI,QAAQ,GAAG,QAAQ,EAAE,CAAC;gBACxB,MAAM,IAAI,0BAA0B,CAAC,UAAU,EAAE,wCAAwC,CAAC,CAAA;YAC5F,CAAC;YACD,MAAM,KAAK,GAAG,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAA;YACvE,MAAM,MAAM,GAAc,EAAE,CAAA;YAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/B,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,GAAG,SAAS,IAAI,MAAM,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAA;YAC5E,CAAC;YACD,IACE,GAAG,CAAC,WAAW,KAAK,IAAI;gBACxB,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM,EAC5E,CAAC;gBACD,MAAM,IAAI,0BAA0B,CAClC,aAAa,EACb,wCAAwC,CACzC,CAAA;YACH,CAAC;YACD,OAAO,MAAM,CAAA;QACf,CAAC;QAED,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,UAAU,GAAG,GAAG,CAAC,UAAiE,CAAA;YACxF,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ;gBAAE,OAAO,EAAE,CAAA;YAE5D,MAAM,MAAM,GAA4B,EAAE,CAAA;YAC1C,KAAK,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC3D,MAAM,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC,UAAU,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;YACxD,CAAC;YACD,OAAO,MAAM,CAAA;QACf,CAAC;IACH,CAAC;AACH,CAAC;AAoCD;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,GAAgB,EAChB,OAAuC;IAEvC,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI,IAAI,EAAE,CAAA;IAChC,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,KAAK,CAAA;IAEzC,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAA;IAEjC,6CAA6C;IAC7C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAmB,CAAA;IAC1C,MAAM,UAAU,GAA4C,EAAE,CAAA;IAC9D,MAAM,cAAc,GAKf,EAAE,CAAA;IAEP,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC,IAAI,EAAE,CAAA;QACzD,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;QAC9B,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAA;QACzD,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,iBAAiB,CAAC,cAAc,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QACzF,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;QAC3B,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;QACzE,cAAc,CAAC,IAAI,CAAC;YAClB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE;YAClC,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,OAAO,EAAE,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC;YACxC,KAAK,EAAE,SAAS;SACjB,CAAC,CAAA;IACJ,CAAC;IACD,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,8BAA8B,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAA;IAEjG,OAAO;QACL,UAAU;QAEV,KAAK,CAAC,KAAK,CAAC,OAAgB;YAC1B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;YAChC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAA;YAC3C,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAA;YAE7B,oBAAoB;YACpB,MAAM,QAAQ,GAAG,GAAG,MAAM,IAAI,QAAQ,EAAE,CAAA;YACxC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1B,IAAI,OAAO;oBAAE,OAAO,CAAC,GAAG,CAAC,UAAU,QAAQ,QAAQ,CAAC,CAAA;gBACpD,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE;oBACzD,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE;wBACP,cAAc,EAAE,kBAAkB;wBAClC,cAAc,EAAE,MAAM;qBACvB;iBACF,CAAC,CAAA;YACJ,CAAC;YAED,mEAAmE;YACnE,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;gBACnC,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM;oBAAE,SAAQ;gBACrC,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;gBAC1D,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBACpB,IAAI,OAAO;wBAAE,OAAO,CAAC,GAAG,CAAC,UAAU,MAAM,IAAI,QAAQ,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,CAAA;oBAC9E,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;wBAC/C,MAAM,EAAE,GAAG;wBACX,OAAO,EAAE;4BACP,cAAc,EAAE,kBAAkB;4BAClC,cAAc,EAAE,MAAM;yBACvB;qBACF,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;YAED,IAAI,OAAO;gBAAE,OAAO,CAAC,GAAG,CAAC,UAAU,MAAM,IAAI,QAAQ,QAAQ,CAAC,CAAA;YAC9D,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE;gBACtE,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,EAAE;aACxE,CAAC,CAAA;QACJ,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nifrajs/mock",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.4.0",
|
|
4
4
|
"description": "Contract-based mock server - reads route schemas and generates fake responses.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"access": "public"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@nifrajs/core": "2.
|
|
29
|
+
"@nifrajs/core": "2.4.0"
|
|
30
30
|
},
|
|
31
31
|
"repository": {
|
|
32
32
|
"type": "git",
|
package/src/index.ts
CHANGED
|
@@ -8,11 +8,11 @@
|
|
|
8
8
|
|
|
9
9
|
import {
|
|
10
10
|
type CompiledRoutePattern,
|
|
11
|
-
compareRoutePatternSpecificity,
|
|
12
11
|
compileRoutePattern,
|
|
13
12
|
matchRoutePattern,
|
|
13
|
+
sortRoutesBySpecificity,
|
|
14
14
|
} from "@nifrajs/core/pattern"
|
|
15
|
-
import { reflectRoutes, reflectSchema } from "@nifrajs/core/reflection"
|
|
15
|
+
import { type JsonSchema, reflectRoutes, reflectSchema } from "@nifrajs/core/reflection"
|
|
16
16
|
|
|
17
17
|
// ---------------------------------------------------------------------------
|
|
18
18
|
// Seeded PRNG (deterministic mocks)
|
|
@@ -284,6 +284,12 @@ export interface MockServerOptions {
|
|
|
284
284
|
readonly seed?: number | undefined
|
|
285
285
|
/** Log mock requests to console. */
|
|
286
286
|
readonly verbose?: boolean | undefined
|
|
287
|
+
/**
|
|
288
|
+
* Derive a JSON Schema from a response validator that carries none (zod/valibot expose a Standard Schema
|
|
289
|
+
* validator but no `.jsonSchema`), so their routes mock real data instead of `{}`. Fail-safe: throwing or
|
|
290
|
+
* returning undefined falls back to `{}`, as today. Ready-made for zod: `@nifrajs/testing/zod`.
|
|
291
|
+
*/
|
|
292
|
+
readonly reflectJsonSchema?: (schema: unknown) => JsonSchema | undefined
|
|
287
293
|
}
|
|
288
294
|
|
|
289
295
|
export interface MockServer {
|
|
@@ -321,7 +327,21 @@ export function createMockServer(
|
|
|
321
327
|
for (const route of routes) {
|
|
322
328
|
const key = `${route.method.toUpperCase()} ${route.path}`
|
|
323
329
|
const rng = seededRandom(seed)
|
|
324
|
-
const
|
|
330
|
+
const response = route.schema?.response
|
|
331
|
+
let responseSchema = response?.jsonSchema
|
|
332
|
+
// Backfill an inspectable schema for an opaque validator (zod/valibot) so its routes mock real data
|
|
333
|
+
// instead of `{}`. Fail-safe: a throwing hook falls back to `{}`, exactly as before the hook existed.
|
|
334
|
+
if (
|
|
335
|
+
responseSchema === undefined &&
|
|
336
|
+
options?.reflectJsonSchema &&
|
|
337
|
+
response?.standard !== undefined
|
|
338
|
+
) {
|
|
339
|
+
try {
|
|
340
|
+
responseSchema = options.reflectJsonSchema(response.standard)
|
|
341
|
+
} catch {
|
|
342
|
+
responseSchema = undefined
|
|
343
|
+
}
|
|
344
|
+
}
|
|
325
345
|
const mockValue = responseSchema ? generateMockValue(responseSchema, undefined, rng) : {}
|
|
326
346
|
mockMap.set(key, mockValue)
|
|
327
347
|
mockRoutes.push({ method: route.method.toUpperCase(), path: route.path })
|
|
@@ -332,7 +352,7 @@ export function createMockServer(
|
|
|
332
352
|
value: mockValue,
|
|
333
353
|
})
|
|
334
354
|
}
|
|
335
|
-
compiledRoutes
|
|
355
|
+
sortRoutesBySpecificity(compiledRoutes)
|
|
336
356
|
|
|
337
357
|
return {
|
|
338
358
|
mockRoutes,
|