@glubean/graphql 0.2.1 → 0.2.3
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/contract/adapter.d.ts +13 -7
- package/dist/contract/adapter.d.ts.map +1 -1
- package/dist/contract/adapter.js +105 -122
- package/dist/contract/adapter.js.map +1 -1
- package/dist/contract/factory.d.ts +1 -1
- package/dist/contract/factory.d.ts.map +1 -1
- package/dist/contract/factory.js +12 -8
- package/dist/contract/factory.js.map +1 -1
- package/dist/contract/index.d.ts +8 -29
- package/dist/contract/index.d.ts.map +1 -1
- package/dist/contract/index.js +8 -48
- package/dist/contract/index.js.map +1 -1
- package/dist/contract/matchers.d.ts +21 -6
- package/dist/contract/matchers.d.ts.map +1 -1
- package/dist/contract/matchers.js +21 -23
- package/dist/contract/matchers.js.map +1 -1
- package/dist/contract/types.d.ts +22 -26
- package/dist/contract/types.d.ts.map +1 -1
- package/dist/index.d.ts +28 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +45 -6
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -5,15 +5,22 @@
|
|
|
5
5
|
* model — "contract is a first-class citizen"). Registered via
|
|
6
6
|
* `contract.register("graphql", graphqlAdapter)` on import — see ./index.ts.
|
|
7
7
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
8
|
+
* Attachment-model v10 adapter (Spike 4 migration). No per-case lifecycle:
|
|
9
|
+
* the case is pure semantics; setup-style work belongs to a
|
|
10
|
+
* `contract.bootstrap()` overlay. Function-valued `variables` / `headers`
|
|
11
|
+
* receive the case's logical input (matching `needs`), not v9 setup state.
|
|
12
|
+
*
|
|
13
|
+
* Responsibilities (same interface as HTTP / gRPC adapters post-Spike-4):
|
|
14
|
+
* - execute: §5.1 step 5 raw run with no input (no overlay + no needs)
|
|
15
|
+
* - executeCase: v10 entry point — receives `resolvedInput` from
|
|
16
|
+
* dispatcher (§5.1 steps 1+3 — explicit input or overlay output)
|
|
17
|
+
* - executeCaseInFlow: receives logical input from `step.in` lens
|
|
18
|
+
* - project: runtime ContractProjection threading
|
|
19
|
+
* `given` / `runnability` / `hasNeeds` / `needsSchema`
|
|
13
20
|
* - normalize: runtime → JSON-safe ExtractedContractProjection
|
|
14
21
|
* - classifyFailure: 3-layer (transport / payload errors / data shape)
|
|
15
22
|
* - renderTarget: operationName (parsed from query if needed)
|
|
16
|
-
* -
|
|
23
|
+
* - artifacts.markdown: case list with operation + query snippet
|
|
17
24
|
* - describePayload: high-level summary for index views
|
|
18
25
|
*
|
|
19
26
|
* Phase 1 scope: query + mutation only. Subscription deferred to Phase 2.
|
|
@@ -22,6 +29,5 @@ import type { ContractProtocolAdapter } from "@glubean/sdk";
|
|
|
22
29
|
import type { GraphqlContractMeta, GraphqlContractSafeMeta, GraphqlContractSpec, GraphqlPayloadSchemas, GraphqlSafeSchemas } from "./types.js";
|
|
23
30
|
/** Convert a SchemaLike to a JSON Schema fragment if possible (best-effort). */
|
|
24
31
|
export declare function schemaToJsonSchema(schema: unknown): Record<string, unknown> | null;
|
|
25
|
-
export declare function validateGraphqlCaseForFlow(spec: GraphqlContractSpec, caseKey: string, contractId: string): void;
|
|
26
32
|
export declare const graphqlAdapter: ContractProtocolAdapter<GraphqlContractSpec, GraphqlPayloadSchemas, GraphqlContractMeta, GraphqlSafeSchemas, GraphqlContractSafeMeta>;
|
|
27
33
|
//# sourceMappingURL=adapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/contract/adapter.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/contract/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EAEV,uBAAuB,EAOxB,MAAM,cAAc,CAAC;AAKtB,OAAO,KAAK,EAGV,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,EAEnB,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAMpB,gFAAgF;AAChF,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAYlF;AA+kBD,eAAO,MAAM,cAAc,EAAE,uBAAuB,CAClD,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,uBAAuB,CA4CxB,CAAC"}
|
package/dist/contract/adapter.js
CHANGED
|
@@ -5,19 +5,27 @@
|
|
|
5
5
|
* model — "contract is a first-class citizen"). Registered via
|
|
6
6
|
* `contract.register("graphql", graphqlAdapter)` on import — see ./index.ts.
|
|
7
7
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
8
|
+
* Attachment-model v10 adapter (Spike 4 migration). No per-case lifecycle:
|
|
9
|
+
* the case is pure semantics; setup-style work belongs to a
|
|
10
|
+
* `contract.bootstrap()` overlay. Function-valued `variables` / `headers`
|
|
11
|
+
* receive the case's logical input (matching `needs`), not v9 setup state.
|
|
12
|
+
*
|
|
13
|
+
* Responsibilities (same interface as HTTP / gRPC adapters post-Spike-4):
|
|
14
|
+
* - execute: §5.1 step 5 raw run with no input (no overlay + no needs)
|
|
15
|
+
* - executeCase: v10 entry point — receives `resolvedInput` from
|
|
16
|
+
* dispatcher (§5.1 steps 1+3 — explicit input or overlay output)
|
|
17
|
+
* - executeCaseInFlow: receives logical input from `step.in` lens
|
|
18
|
+
* - project: runtime ContractProjection threading
|
|
19
|
+
* `given` / `runnability` / `hasNeeds` / `needsSchema`
|
|
13
20
|
* - normalize: runtime → JSON-safe ExtractedContractProjection
|
|
14
21
|
* - classifyFailure: 3-layer (transport / payload errors / data shape)
|
|
15
22
|
* - renderTarget: operationName (parsed from query if needed)
|
|
16
|
-
* -
|
|
23
|
+
* - artifacts.markdown: case list with operation + query snippet
|
|
17
24
|
* - describePayload: high-level summary for index views
|
|
18
25
|
*
|
|
19
26
|
* Phase 1 scope: query + mutation only. Subscription deferred to Phase 2.
|
|
20
27
|
*/
|
|
28
|
+
import { genericMarkdownPart } from "@glubean/sdk";
|
|
21
29
|
import { parseOperationName } from "../index.js";
|
|
22
30
|
// =============================================================================
|
|
23
31
|
// Helpers
|
|
@@ -72,20 +80,26 @@ function resolveClient(caseSpec, spec) {
|
|
|
72
80
|
}
|
|
73
81
|
return client;
|
|
74
82
|
}
|
|
75
|
-
/**
|
|
76
|
-
|
|
83
|
+
/**
|
|
84
|
+
* Merge headers: contract defaults < case.
|
|
85
|
+
* v10 — function form receives the case's logical input (matches `needs`).
|
|
86
|
+
*/
|
|
87
|
+
function resolveHeaders(spec, caseSpec, resolvedInput) {
|
|
77
88
|
const caseHeaders = typeof caseSpec.headers === "function"
|
|
78
|
-
? caseSpec.headers(
|
|
89
|
+
? caseSpec.headers(resolvedInput)
|
|
79
90
|
: caseSpec.headers;
|
|
80
91
|
const specHeaders = spec.defaultHeaders;
|
|
81
92
|
if (!caseHeaders && !specHeaders)
|
|
82
93
|
return undefined;
|
|
83
94
|
return { ...(specHeaders ?? {}), ...(caseHeaders ?? {}) };
|
|
84
95
|
}
|
|
85
|
-
/**
|
|
86
|
-
|
|
96
|
+
/**
|
|
97
|
+
* Resolve variables with deep-merge: spec.defaultVariables < case.variables.
|
|
98
|
+
* v10 — function form receives the case's logical input (matches `needs`).
|
|
99
|
+
*/
|
|
100
|
+
function resolveVariables(spec, caseSpec, resolvedInput) {
|
|
87
101
|
const caseVars = typeof caseSpec.variables === "function"
|
|
88
|
-
? caseSpec.variables(
|
|
102
|
+
? caseSpec.variables(resolvedInput)
|
|
89
103
|
: caseSpec.variables;
|
|
90
104
|
return deepMerge(spec.defaultVariables, caseVars);
|
|
91
105
|
}
|
|
@@ -193,27 +207,26 @@ function assertErrors(ctx, actual, expected) {
|
|
|
193
207
|
// =============================================================================
|
|
194
208
|
// executeCase — standard (non-flow) case execution
|
|
195
209
|
// =============================================================================
|
|
196
|
-
|
|
210
|
+
/**
|
|
211
|
+
* Execute one GraphQL contract case (attachment-model v10).
|
|
212
|
+
*
|
|
213
|
+
* `resolvedInput` is the case's already-validated logical input (matches
|
|
214
|
+
* `needs` schema). Function-valued `variables` / `headers` receive it as
|
|
215
|
+
* their argument. No per-case setup/teardown in v10 — the contract case
|
|
216
|
+
* is pure semantics; setup-style work belongs to a `contract.bootstrap()`
|
|
217
|
+
* overlay (whose `ctx.cleanup(...)` runs LIFO around this fn).
|
|
218
|
+
*/
|
|
219
|
+
async function executeStandaloneCaseGraphql(ctx, caseSpec, spec, resolvedInput) {
|
|
197
220
|
if (!caseSpec.query || typeof caseSpec.query !== "string") {
|
|
198
221
|
throw new Error(`GraphQL contract case: "query" is required and must be a string.`);
|
|
199
222
|
}
|
|
200
|
-
const
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
const result = await callGraphql(client, caseSpec, spec, variables, headers);
|
|
208
|
-
assertResult(ctx, result, caseSpec);
|
|
209
|
-
if (caseSpec.verify) {
|
|
210
|
-
await caseSpec.verify(ctx, result);
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
finally {
|
|
214
|
-
if (caseSpec.teardown) {
|
|
215
|
-
await caseSpec.teardown(ctx, state);
|
|
216
|
-
}
|
|
223
|
+
const client = resolveClient(caseSpec, spec);
|
|
224
|
+
const variables = resolveVariables(spec, caseSpec, resolvedInput);
|
|
225
|
+
const headers = resolveHeaders(spec, caseSpec, resolvedInput);
|
|
226
|
+
const result = await callGraphql(client, caseSpec, spec, variables, headers);
|
|
227
|
+
assertResult(ctx, result, caseSpec);
|
|
228
|
+
if (caseSpec.verify) {
|
|
229
|
+
await caseSpec.verify(ctx, result);
|
|
217
230
|
}
|
|
218
231
|
}
|
|
219
232
|
// =============================================================================
|
|
@@ -255,13 +268,22 @@ function projectGraphql(spec) {
|
|
|
255
268
|
extensions: casted.extensions,
|
|
256
269
|
requires: casted.requires,
|
|
257
270
|
defaultRun: casted.defaultRun,
|
|
271
|
+
// v10 attachment-model — semantic + inventory + needs surface.
|
|
272
|
+
given: casted.given,
|
|
273
|
+
runnability: casted.runnability,
|
|
274
|
+
hasNeeds: casted.needs !== undefined,
|
|
275
|
+
needsSchema: casted.needs,
|
|
258
276
|
};
|
|
259
277
|
});
|
|
278
|
+
// Read factory-provided metadata from the internal `_factory` channel
|
|
279
|
+
// populated by `mergeGraphqlDefaults`.
|
|
280
|
+
const factory = spec._factory;
|
|
260
281
|
return {
|
|
261
282
|
protocol: "graphql",
|
|
262
283
|
target: spec.endpoint ?? "",
|
|
263
284
|
description: spec.description,
|
|
264
285
|
feature: spec.feature,
|
|
286
|
+
instanceName: factory?.instanceName,
|
|
265
287
|
tags: spec.tags,
|
|
266
288
|
extensions: spec.extensions,
|
|
267
289
|
deprecated: spec.deprecated,
|
|
@@ -286,7 +308,17 @@ function normalizeGraphql(projection) {
|
|
|
286
308
|
variablesExample: s.variablesExample,
|
|
287
309
|
variablesExamples: s.variablesExamples,
|
|
288
310
|
};
|
|
289
|
-
|
|
311
|
+
// v10 — convert needsSchema to JSON-safe (may be undefined for
|
|
312
|
+
// opaque safeParse-only validators); hasNeeds remains authoritative.
|
|
313
|
+
const safeNeeds = schemaToJsonSchema(c.needsSchema) ?? undefined;
|
|
314
|
+
return {
|
|
315
|
+
...c,
|
|
316
|
+
schemas: safe,
|
|
317
|
+
given: c.given,
|
|
318
|
+
runnability: c.runnability,
|
|
319
|
+
hasNeeds: c.hasNeeds,
|
|
320
|
+
needsSchema: safeNeeds,
|
|
321
|
+
};
|
|
290
322
|
});
|
|
291
323
|
return {
|
|
292
324
|
id: projection.id,
|
|
@@ -316,58 +348,29 @@ async function executeCaseInFlowGraphql(input) {
|
|
|
316
348
|
if (!caseSpec.query || typeof caseSpec.query !== "string") {
|
|
317
349
|
throw new Error(`GraphQL contract case "${caseKey}": "query" is required and must be a string.`);
|
|
318
350
|
}
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
const mergedVariables = deepMerge(deepMerge(spec.defaultVariables, staticVars), lensInput.variables);
|
|
333
|
-
const mergedHeaders = {
|
|
334
|
-
...(spec.defaultHeaders ?? {}),
|
|
335
|
-
...(staticHeaders ?? {}),
|
|
336
|
-
...(lensInput.headers ?? {}),
|
|
337
|
-
};
|
|
338
|
-
const result = await callGraphql(client, caseSpec, spec, mergedVariables, Object.keys(mergedHeaders).length > 0 ? mergedHeaders : undefined);
|
|
339
|
-
assertResult(ctx, result, caseSpec);
|
|
340
|
-
if (caseSpec.verify) {
|
|
341
|
-
await caseSpec.verify(ctx, result);
|
|
342
|
-
}
|
|
343
|
-
return result;
|
|
344
|
-
}
|
|
345
|
-
finally {
|
|
346
|
-
if (caseSpec.teardown) {
|
|
347
|
-
await caseSpec.teardown(ctx, state);
|
|
348
|
-
}
|
|
349
|
-
}
|
|
351
|
+
// v10 — `resolvedInputs` is the LOGICAL case input (matches `needs`),
|
|
352
|
+
// NOT an adapter patch. Function-valued `variables` / `headers` receive
|
|
353
|
+
// it; static values pass through. No setup / teardown — gone in v10
|
|
354
|
+
// (case has no lifecycle per attachment-model §4.1).
|
|
355
|
+
const client = resolveClient(caseSpec, spec);
|
|
356
|
+
const variables = resolveVariables(spec, caseSpec, resolvedInputs);
|
|
357
|
+
const headers = resolveHeaders(spec, caseSpec, resolvedInputs);
|
|
358
|
+
const result = await callGraphql(client, caseSpec, spec, variables, headers);
|
|
359
|
+
assertResult(ctx, result, caseSpec);
|
|
360
|
+
if (caseSpec.verify) {
|
|
361
|
+
await caseSpec.verify(ctx, result);
|
|
362
|
+
}
|
|
363
|
+
return result;
|
|
350
364
|
}
|
|
351
365
|
// =============================================================================
|
|
352
|
-
// validateCaseForFlow —
|
|
366
|
+
// validateCaseForFlow — REMOVED in v10
|
|
353
367
|
// =============================================================================
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
if (typeof caseSpec.variables === "function")
|
|
361
|
-
functionFields.push("variables");
|
|
362
|
-
if (typeof caseSpec.headers === "function")
|
|
363
|
-
functionFields.push("headers");
|
|
364
|
-
if (functionFields.length > 0) {
|
|
365
|
-
throw new Error(`contract.graphql(${JSON.stringify(contractId)}).case(${JSON.stringify(caseKey)}): ` +
|
|
366
|
-
`cannot use function-valued ${functionFields.join(" / ")} in a flow step — ` +
|
|
367
|
-
`these fields depend on case-local setup state which isn't available in flow mode. ` +
|
|
368
|
-
`Move the value into flow state and use step.in lens instead.`);
|
|
369
|
-
}
|
|
370
|
-
}
|
|
368
|
+
//
|
|
369
|
+
// Previously rejected function-valued `variables` / `headers` because they
|
|
370
|
+
// referenced case-local `setup` state. v10 removes per-case setup; function
|
|
371
|
+
// fields receive logical input (matches `needs`) from `step.in` lens or
|
|
372
|
+
// `--input-json`. Flow accepts them natively. Mirror of gRPC + HTTP
|
|
373
|
+
// migration (Spike 4 / Phase 2c B+C).
|
|
371
374
|
// =============================================================================
|
|
372
375
|
// classifyFailure — 3-layer (transport / payload / data shape)
|
|
373
376
|
// =============================================================================
|
|
@@ -474,45 +477,6 @@ function renderGraphqlTarget(target) {
|
|
|
474
477
|
return target || "(graphql)";
|
|
475
478
|
}
|
|
476
479
|
// =============================================================================
|
|
477
|
-
// toMarkdown — case list with operation + short query snippet
|
|
478
|
-
// =============================================================================
|
|
479
|
-
function summarizeQuery(query, limit = 80) {
|
|
480
|
-
const flat = query.replace(/\s+/g, " ").trim();
|
|
481
|
-
return flat.length <= limit ? flat : `${flat.slice(0, limit - 1)}…`;
|
|
482
|
-
}
|
|
483
|
-
function toMarkdownGraphql(projection) {
|
|
484
|
-
const lines = [];
|
|
485
|
-
const endpoint = projection.target || "(no endpoint)";
|
|
486
|
-
lines.push(`### ${projection.id} — GraphQL \`${endpoint}\``);
|
|
487
|
-
if (projection.description)
|
|
488
|
-
lines.push(`\n${projection.description}`);
|
|
489
|
-
if (projection.deprecated)
|
|
490
|
-
lines.push(`\n**Deprecated:** ${projection.deprecated}`);
|
|
491
|
-
if (projection.cases.length === 0) {
|
|
492
|
-
lines.push("\n_(no cases)_");
|
|
493
|
-
return lines.join("\n");
|
|
494
|
-
}
|
|
495
|
-
lines.push("\n**Cases:**\n");
|
|
496
|
-
for (const c of projection.cases) {
|
|
497
|
-
const marker = c.lifecycle === "deprecated"
|
|
498
|
-
? " ⚠ deprecated"
|
|
499
|
-
: c.lifecycle === "deferred"
|
|
500
|
-
? " ⏸ deferred"
|
|
501
|
-
: "";
|
|
502
|
-
const op = c.schemas?.operation ?? "query";
|
|
503
|
-
const opName = c.schemas?.operationName ?? "anonymous";
|
|
504
|
-
lines.push(`- \`${c.key}\`${marker} — ${op} \`${opName}\` — ${c.description ?? ""}`);
|
|
505
|
-
if (c.schemas?.query) {
|
|
506
|
-
lines.push(` - \`${summarizeQuery(c.schemas.query)}\``);
|
|
507
|
-
}
|
|
508
|
-
if (c.deprecatedReason)
|
|
509
|
-
lines.push(` - deprecated: ${c.deprecatedReason}`);
|
|
510
|
-
if (c.deferredReason)
|
|
511
|
-
lines.push(` - deferred: ${c.deferredReason}`);
|
|
512
|
-
}
|
|
513
|
-
return lines.join("\n");
|
|
514
|
-
}
|
|
515
|
-
// =============================================================================
|
|
516
480
|
// describePayload — high-level summary for index views
|
|
517
481
|
// =============================================================================
|
|
518
482
|
function describeGraphqlPayload(schemas) {
|
|
@@ -528,16 +492,35 @@ function describeGraphqlPayload(schemas) {
|
|
|
528
492
|
// Exported adapter
|
|
529
493
|
// =============================================================================
|
|
530
494
|
export const graphqlAdapter = {
|
|
495
|
+
// v0 path: no overlay + no needs (no resolvedInput) → run case raw.
|
|
496
|
+
// Per attachment-model §5.1 step 5; the dispatcher only reaches this
|
|
497
|
+
// path when no overlay is registered AND `needs` is absent.
|
|
531
498
|
async execute(ctx, caseSpec, contractSpec) {
|
|
532
|
-
await
|
|
499
|
+
await executeStandaloneCaseGraphql(ctx, caseSpec, contractSpec, undefined);
|
|
500
|
+
},
|
|
501
|
+
// v10 attachment-model entry point. Dispatcher routes here when:
|
|
502
|
+
// - explicit input was supplied (§5.1 step 1), OR
|
|
503
|
+
// - bootstrap overlay produced `resolvedInput` (§5.1 step 3).
|
|
504
|
+
async executeCase({ ctx, contract, caseKey, resolvedInput }) {
|
|
505
|
+
const spec = contract._spec;
|
|
506
|
+
const caseSpec = spec.cases[caseKey];
|
|
507
|
+
if (!caseSpec) {
|
|
508
|
+
throw new Error(`GraphQL contract: unknown case key "${caseKey}".`);
|
|
509
|
+
}
|
|
510
|
+
await executeStandaloneCaseGraphql(ctx, caseSpec, spec, resolvedInput);
|
|
533
511
|
},
|
|
534
512
|
project: projectGraphql,
|
|
535
513
|
normalize: normalizeGraphql,
|
|
536
514
|
executeCaseInFlow: executeCaseInFlowGraphql,
|
|
537
|
-
|
|
515
|
+
// v10: no validateCaseForFlow — function fields are legal in flow mode
|
|
516
|
+
// and receive the logical input from `step.in` lens.
|
|
538
517
|
classifyFailure: classifyGraphqlFailure,
|
|
539
518
|
renderTarget: renderGraphqlTarget,
|
|
540
|
-
|
|
519
|
+
// Markdown uses the SDK's generic structured renderer — GraphQL has no
|
|
520
|
+
// protocol-specific augmentations to contribute.
|
|
521
|
+
artifacts: {
|
|
522
|
+
markdown: (projection) => genericMarkdownPart(projection),
|
|
523
|
+
},
|
|
541
524
|
describePayload: describeGraphqlPayload,
|
|
542
525
|
};
|
|
543
526
|
//# sourceMappingURL=adapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/contract/adapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/contract/adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,7 +20,7 @@ import type { GraphqlContractCase, GraphqlContractDefaults, GraphqlContractFacto
|
|
|
20
20
|
type InternalDefaults = GraphqlContractDefaults & {
|
|
21
21
|
_name?: string;
|
|
22
22
|
};
|
|
23
|
-
type GraphqlDispatch = <Vars extends Record<string, unknown>, Res, Cases extends Record<string, GraphqlContractCase<Vars, Res, any>>>(id: string, spec: GraphqlContractSpec<Vars, Res, Cases>) => ProtocolContract<GraphqlContractSpec, GraphqlPayloadSchemas, GraphqlContractMeta>;
|
|
23
|
+
type GraphqlDispatch = <Vars extends Record<string, unknown>, Res, Cases extends Record<string, GraphqlContractCase<Vars, Res, any>>>(id: string, spec: GraphqlContractSpec<Vars, Res, Cases>) => ProtocolContract<GraphqlContractSpec<Vars, Res, Cases>, GraphqlPayloadSchemas, GraphqlContractMeta, Cases>;
|
|
24
24
|
/**
|
|
25
25
|
* Build a scoped GraphQL factory. `dispatch` is `contract.graphql` attached
|
|
26
26
|
* by the core's register() call — we wrap it to inject instance defaults.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/contract/factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAc,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,KAAK,EACV,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAEpB,KAAK,gBAAgB,GAAG,uBAAuB,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAErE,KAAK,eAAe,GAAG,CACrB,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,GAAG,EACH,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,EAEjE,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,mBAAmB,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,KACxC,gBAAgB,
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/contract/factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAc,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,KAAK,EACV,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAEpB,KAAK,gBAAgB,GAAG,uBAAuB,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAErE,KAAK,eAAe,GAAG,CACrB,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,GAAG,EACH,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,EAEjE,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,mBAAmB,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,KACxC,gBAAgB,CACnB,mBAAmB,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EACrC,qBAAqB,EACrB,mBAAmB,EACnB,KAAK,CACN,CAAC;AA+CF;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,eAAe,EACzB,QAAQ,CAAC,EAAE,gBAAgB,GAC1B,sBAAsB,CA+CxB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,eAAe,GAAG,mBAAmB,CAEhF"}
|
package/dist/contract/factory.js
CHANGED
|
@@ -33,7 +33,11 @@ function mergeGraphqlDefaults(defaults, spec) {
|
|
|
33
33
|
...(defaults.headers ?? {}),
|
|
34
34
|
...(spec.defaultHeaders ?? {}),
|
|
35
35
|
};
|
|
36
|
-
|
|
36
|
+
// Embed the factory's instanceName into the spec via a private `_factory`
|
|
37
|
+
// channel. `projectGraphql` reads this at projection time so the produced
|
|
38
|
+
// `_projection` (and `_extracted`) already carries it — no post-dispatch
|
|
39
|
+
// mutation needed.
|
|
40
|
+
const baseMerged = {
|
|
37
41
|
...spec,
|
|
38
42
|
client: spec.client ?? defaults.client,
|
|
39
43
|
endpoint: spec.endpoint ?? defaults.endpoint,
|
|
@@ -42,10 +46,12 @@ function mergeGraphqlDefaults(defaults, spec) {
|
|
|
42
46
|
extensions: mergedExtensions,
|
|
43
47
|
defaultHeaders: Object.keys(mergedHeaders).length > 0 ? mergedHeaders : undefined,
|
|
44
48
|
};
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
+
if (defaults._name) {
|
|
50
|
+
baseMerged._factory = {
|
|
51
|
+
instanceName: defaults._name,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
return baseMerged;
|
|
49
55
|
}
|
|
50
56
|
/**
|
|
51
57
|
* Build a scoped GraphQL factory. `dispatch` is `contract.graphql` attached
|
|
@@ -59,9 +65,7 @@ export function createGraphqlFactory(dispatch, defaults) {
|
|
|
59
65
|
`then call instance("${id}", spec).`);
|
|
60
66
|
}
|
|
61
67
|
const merged = mergeGraphqlDefaults(defaults, spec);
|
|
62
|
-
|
|
63
|
-
applyInstanceMetadata(result, defaults._name);
|
|
64
|
-
return result;
|
|
68
|
+
return dispatch(id, merged);
|
|
65
69
|
};
|
|
66
70
|
factory.with = (name, more = {}) => {
|
|
67
71
|
const mergedTags = [...(defaults?.tags ?? []), ...(more.tags ?? [])];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/contract/factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/contract/factory.ts"],"names":[],"mappings":"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"}
|
package/dist/contract/index.d.ts
CHANGED
|
@@ -1,37 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* GraphQL contract surface for @glubean/graphql
|
|
2
|
+
* GraphQL contract surface for @glubean/graphql.
|
|
3
3
|
*
|
|
4
|
-
* This module
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* This module is **side-effect-free** — it only re-exports the adapter,
|
|
5
|
+
* factory, types, and the matcher collection so the manifest in
|
|
6
|
+
* `../index.ts` can reference them.
|
|
7
7
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* Side-effect on import:
|
|
13
|
-
* 1. `contract.register("graphql", graphqlAdapter)` — registers dispatcher
|
|
14
|
-
* 2. Wrap dispatcher with `createGraphqlRoot` so
|
|
15
|
-
* `contract.graphql.with(name, defaults)` UX works
|
|
16
|
-
*
|
|
17
|
-
* After this module loads, users can:
|
|
18
|
-
*
|
|
19
|
-
* import "@glubean/graphql"; // side-effect: registers graphql contract adapter
|
|
20
|
-
* import { contract } from "@glubean/sdk";
|
|
21
|
-
*
|
|
22
|
-
* const api = contract.graphql.with("api", { client });
|
|
23
|
-
* export const getUser = api("get-user", {
|
|
24
|
-
* cases: {
|
|
25
|
-
* ok: {
|
|
26
|
-
* description: "success",
|
|
27
|
-
* query: `query GetUser($id: ID!) { user(id: $id) { name } }`,
|
|
28
|
-
* variables: { id: "1" },
|
|
29
|
-
* expect: { data: { user: { name: "Alice" } } },
|
|
30
|
-
* },
|
|
31
|
-
* },
|
|
32
|
-
* });
|
|
8
|
+
* Projects install the manifest via `installPlugin(graphqlPlugin)` (typically
|
|
9
|
+
* driven by `bootstrap()` loading `glubean.setup.ts`). There is no more
|
|
10
|
+
* "import the package and matchers auto-appear" path.
|
|
33
11
|
*/
|
|
34
12
|
export { graphqlAdapter } from "./adapter.js";
|
|
35
13
|
export { createGraphqlFactory, createGraphqlRoot } from "./factory.js";
|
|
14
|
+
export { graphqlMatchers } from "./matchers.js";
|
|
36
15
|
export type { GraphqlContractCase, GraphqlContractDefaults, GraphqlContractExample, GraphqlContractExpect, GraphqlContractFactory, GraphqlContractMeta, GraphqlContractRoot, GraphqlContractSafeMeta, GraphqlContractSpec, GraphqlCaseResult, GraphqlErrorsExpect, GraphqlFlowCaseOutput, GraphqlPayloadSchemas, GraphqlSafeSchemas, GraphqlTypeDef, GraphqlTypeDefs, InferGraphqlVariables, InferGraphqlResponse, } from "./types.js";
|
|
37
16
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contract/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contract/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,YAAY,EACV,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,YAAY,CAAC"}
|
package/dist/contract/index.js
CHANGED
|
@@ -1,55 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* GraphQL contract surface for @glubean/graphql
|
|
2
|
+
* GraphQL contract surface for @glubean/graphql.
|
|
3
3
|
*
|
|
4
|
-
* This module
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* This module is **side-effect-free** — it only re-exports the adapter,
|
|
5
|
+
* factory, types, and the matcher collection so the manifest in
|
|
6
|
+
* `../index.ts` can reference them.
|
|
7
7
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* Side-effect on import:
|
|
13
|
-
* 1. `contract.register("graphql", graphqlAdapter)` — registers dispatcher
|
|
14
|
-
* 2. Wrap dispatcher with `createGraphqlRoot` so
|
|
15
|
-
* `contract.graphql.with(name, defaults)` UX works
|
|
16
|
-
*
|
|
17
|
-
* After this module loads, users can:
|
|
18
|
-
*
|
|
19
|
-
* import "@glubean/graphql"; // side-effect: registers graphql contract adapter
|
|
20
|
-
* import { contract } from "@glubean/sdk";
|
|
21
|
-
*
|
|
22
|
-
* const api = contract.graphql.with("api", { client });
|
|
23
|
-
* export const getUser = api("get-user", {
|
|
24
|
-
* cases: {
|
|
25
|
-
* ok: {
|
|
26
|
-
* description: "success",
|
|
27
|
-
* query: `query GetUser($id: ID!) { user(id: $id) { name } }`,
|
|
28
|
-
* variables: { id: "1" },
|
|
29
|
-
* expect: { data: { user: { name: "Alice" } } },
|
|
30
|
-
* },
|
|
31
|
-
* },
|
|
32
|
-
* });
|
|
8
|
+
* Projects install the manifest via `installPlugin(graphqlPlugin)` (typically
|
|
9
|
+
* driven by `bootstrap()` loading `glubean.setup.ts`). There is no more
|
|
10
|
+
* "import the package and matchers auto-appear" path.
|
|
33
11
|
*/
|
|
34
|
-
import { contract } from "@glubean/sdk";
|
|
35
|
-
import { graphqlAdapter } from "./adapter.js";
|
|
36
|
-
import { createGraphqlRoot } from "./factory.js";
|
|
37
|
-
import { registerGraphqlMatchers } from "./matchers.js";
|
|
38
|
-
// Step 1: register the adapter. After this, `contract.graphql` exists as the
|
|
39
|
-
// generic dispatcher attached by `contract.register()`.
|
|
40
|
-
contract.register("graphql", graphqlAdapter);
|
|
41
|
-
// Step 2: wrap dispatcher with the scoped-defaults factory so
|
|
42
|
-
// `contract.graphql.with(name, defaults)` UX works.
|
|
43
|
-
{
|
|
44
|
-
const dispatcher = contract.graphql;
|
|
45
|
-
contract.graphql = createGraphqlRoot(dispatcher);
|
|
46
|
-
}
|
|
47
|
-
// Step 3: register GraphQL custom matchers so
|
|
48
|
-
// `ctx.expect(res).toHaveGraphqlData({...})` / `.toHaveGraphqlNoErrors()` /
|
|
49
|
-
// `.toHaveHttpStatus(200)` / `.toHaveGraphqlErrorCode("UNAUTHENTICATED")`
|
|
50
|
-
// work out of the box for any `@glubean/graphql` user.
|
|
51
|
-
registerGraphqlMatchers();
|
|
52
|
-
// Re-exports for type consumers who import from the package directly.
|
|
53
12
|
export { graphqlAdapter } from "./adapter.js";
|
|
54
13
|
export { createGraphqlFactory, createGraphqlRoot } from "./factory.js";
|
|
14
|
+
export { graphqlMatchers } from "./matchers.js";
|
|
55
15
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/contract/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/contract/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* GraphQL custom matchers for `ctx.expect()`.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
4
|
+
* Installed on `Expectation.prototype` when `installPlugin(graphqlPlugin)`
|
|
5
|
+
* runs (typically via `glubean.setup.ts` → `bootstrap()`). The
|
|
6
|
+
* `declare module "@glubean/sdk/expect"` block below publishes ambient
|
|
7
|
+
* types so `ctx.expect(res).toHaveGraphqlData(...)` is fully typed wherever
|
|
8
|
+
* `@glubean/graphql` is referenced, even if the actual runtime install
|
|
9
|
+
* happens elsewhere in the project.
|
|
9
10
|
*
|
|
10
11
|
* Matchers work on any object that carries GraphQL response shape, including:
|
|
11
12
|
* - `GraphQLResult<T>` from `@glubean/graphql` transport
|
|
@@ -30,6 +31,7 @@
|
|
|
30
31
|
* `toHaveHttpStatus` matcher added here reads the envelope's `httpStatus`
|
|
31
32
|
* field so GraphQL users have a symmetric transport-level assertion.
|
|
32
33
|
*/
|
|
34
|
+
import { type MatcherResult } from "@glubean/sdk/expect";
|
|
33
35
|
declare module "@glubean/sdk/expect" {
|
|
34
36
|
interface CustomMatchers<T> {
|
|
35
37
|
/**
|
|
@@ -91,5 +93,18 @@ declare module "@glubean/sdk/expect" {
|
|
|
91
93
|
* also exposes an `httpStatus` field, registration idempotency will
|
|
92
94
|
* catch the conflict at boot.
|
|
93
95
|
*/
|
|
94
|
-
|
|
96
|
+
/**
|
|
97
|
+
* Collection of GraphQL custom matchers, keyed by matcher name.
|
|
98
|
+
*
|
|
99
|
+
* Consumed by the plugin manifest in `graphql/src/index.ts` as
|
|
100
|
+
* `manifest.matchers`. `installPlugin` drives the actual `Expectation.extend`
|
|
101
|
+
* call — plugin authors never need to touch it directly.
|
|
102
|
+
*/
|
|
103
|
+
export declare const graphqlMatchers: {
|
|
104
|
+
readonly toHaveHttpStatus: (actual: unknown, ...args: unknown[]) => MatcherResult;
|
|
105
|
+
readonly toHaveGraphqlData: (actual: unknown, ...args: unknown[]) => MatcherResult;
|
|
106
|
+
readonly toHaveGraphqlNoErrors: (actual: unknown) => MatcherResult;
|
|
107
|
+
readonly toHaveGraphqlErrorCode: (actual: unknown, ...args: unknown[]) => MatcherResult;
|
|
108
|
+
readonly toHaveGraphqlExtension: (actual: unknown, ...args: unknown[]) => MatcherResult;
|
|
109
|
+
};
|
|
95
110
|
//# sourceMappingURL=matchers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matchers.d.ts","sourceRoot":"","sources":["../../src/contract/matchers.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"matchers.d.ts","sourceRoot":"","sources":["../../src/contract/matchers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAO/E,OAAO,QAAQ,qBAAqB,CAAC;IACnC,UAAU,cAAc,CAAC,CAAC;QACxB;;;;;;;;;WASG;QACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAEjE;;;;;;WAMG;QACH,iBAAiB,CACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,CAAC,EAAE,MAAM,GACf,WAAW,CAAC,CAAC,CAAC,CAAC;QAElB;;;;WAIG;QACH,qBAAqB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAExD;;;;;WAKG;QACH,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAEvE;;;;;;WAMG;QACH,sBAAsB,CACpB,GAAG,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,OAAO,EACf,OAAO,CAAC,EAAE,MAAM,GACf,WAAW,CAAC,CAAC,CAAC,CAAC;KACnB;CACF;AAgPD;;;;;;;;;;;;;;;;GAgBG;AACH;;;;;;GAMG;AACH,eAAO,MAAM,eAAe;wCAhMlB,OAAO,WACN,OAAO,EAAE,KACjB,aAAa;yCAuBN,OAAO,WACN,OAAO,EAAE,KACjB,aAAa;6CAyCuB,OAAO,KAAG,aAAa;8CAsBpD,OAAO,WACN,OAAO,EAAE,KACjB,aAAa;8CA6BN,OAAO,WACN,OAAO,EAAE,KACjB,aAAa;CA2EN,CAAC"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* GraphQL custom matchers for `ctx.expect()`.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
4
|
+
* Installed on `Expectation.prototype` when `installPlugin(graphqlPlugin)`
|
|
5
|
+
* runs (typically via `glubean.setup.ts` → `bootstrap()`). The
|
|
6
|
+
* `declare module "@glubean/sdk/expect"` block below publishes ambient
|
|
7
|
+
* types so `ctx.expect(res).toHaveGraphqlData(...)` is fully typed wherever
|
|
8
|
+
* `@glubean/graphql` is referenced, even if the actual runtime install
|
|
9
|
+
* happens elsewhere in the project.
|
|
9
10
|
*
|
|
10
11
|
* Matchers work on any object that carries GraphQL response shape, including:
|
|
11
12
|
* - `GraphQLResult<T>` from `@glubean/graphql` transport
|
|
@@ -30,7 +31,7 @@
|
|
|
30
31
|
* `toHaveHttpStatus` matcher added here reads the envelope's `httpStatus`
|
|
31
32
|
* field so GraphQL users have a symmetric transport-level assertion.
|
|
32
33
|
*/
|
|
33
|
-
import {
|
|
34
|
+
import { inspect } from "@glubean/sdk/expect";
|
|
34
35
|
function readHttpStatus(actual) {
|
|
35
36
|
const s = actual?.httpStatus;
|
|
36
37
|
return typeof s === "number" ? s : undefined;
|
|
@@ -226,21 +227,18 @@ const toHaveGraphqlExtension = (actual, ...args) => {
|
|
|
226
227
|
* also exposes an `httpStatus` field, registration idempotency will
|
|
227
228
|
* catch the conflict at boot.
|
|
228
229
|
*/
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
throw err;
|
|
244
|
-
}
|
|
245
|
-
}
|
|
230
|
+
/**
|
|
231
|
+
* Collection of GraphQL custom matchers, keyed by matcher name.
|
|
232
|
+
*
|
|
233
|
+
* Consumed by the plugin manifest in `graphql/src/index.ts` as
|
|
234
|
+
* `manifest.matchers`. `installPlugin` drives the actual `Expectation.extend`
|
|
235
|
+
* call — plugin authors never need to touch it directly.
|
|
236
|
+
*/
|
|
237
|
+
export const graphqlMatchers = {
|
|
238
|
+
toHaveHttpStatus,
|
|
239
|
+
toHaveGraphqlData,
|
|
240
|
+
toHaveGraphqlNoErrors,
|
|
241
|
+
toHaveGraphqlErrorCode,
|
|
242
|
+
toHaveGraphqlExtension,
|
|
243
|
+
};
|
|
246
244
|
//# sourceMappingURL=matchers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matchers.js","sourceRoot":"","sources":["../../src/contract/matchers.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"matchers.js","sourceRoot":"","sources":["../../src/contract/matchers.ts"],"names":[],"mappings":"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"}
|
package/dist/contract/types.d.ts
CHANGED
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
* to Phase 2 streaming work).
|
|
39
39
|
*/
|
|
40
40
|
import type { SchemaLike, TestContext } from "@glubean/sdk";
|
|
41
|
-
import type {
|
|
41
|
+
import type { BaseCaseSpec, Extensions } from "@glubean/sdk";
|
|
42
42
|
import type { GraphQLClient, GraphQLError } from "../index.js";
|
|
43
43
|
/**
|
|
44
44
|
* Field-map declaration for a GraphQL type. Kept minimal and stringly-typed
|
|
@@ -143,14 +143,21 @@ export interface GraphqlContractExpect<T = unknown> {
|
|
|
143
143
|
examples?: Record<string, GraphqlContractExample<T>>;
|
|
144
144
|
}
|
|
145
145
|
/**
|
|
146
|
-
* One case on a GraphQL contract.
|
|
146
|
+
* One case on a GraphQL contract (attachment-model v10).
|
|
147
147
|
*
|
|
148
148
|
* Each case owns its own `query` string — the selection-set is
|
|
149
|
-
* per-case (proposal §3.2 b). Function-valued
|
|
150
|
-
*
|
|
151
|
-
*
|
|
149
|
+
* per-case (proposal §3.2 b). Function-valued `variables` / `headers`
|
|
150
|
+
* receive the case's **logical input** (matching `needs: SchemaLike<Needs>`),
|
|
151
|
+
* NOT setup state. v10 removes per-case lifecycle entirely; setup-style
|
|
152
|
+
* work belongs to a `contract.bootstrap()` overlay (whose `ctx.cleanup(...)`
|
|
153
|
+
* runs LIFO). Mirrors HTTP and gRPC migrations (Phase 2c B+C / Spike 4).
|
|
152
154
|
*/
|
|
153
|
-
export interface GraphqlContractCase<Vars = Record<string, unknown>, Res = unknown,
|
|
155
|
+
export interface GraphqlContractCase<Vars = Record<string, unknown>, Res = unknown, Needs = void> extends BaseCaseSpec {
|
|
156
|
+
/**
|
|
157
|
+
* Per-case logical input schema. Redeclares `BaseCaseSpec.needs` with
|
|
158
|
+
* the case's own `Needs` so action fields can type-narrow correctly.
|
|
159
|
+
*/
|
|
160
|
+
needs?: SchemaLike<Needs>;
|
|
154
161
|
/** Per-case client override. */
|
|
155
162
|
client?: GraphQLClient;
|
|
156
163
|
/** Why this case exists — required. */
|
|
@@ -172,29 +179,18 @@ export interface GraphqlContractCase<Vars = Record<string, unknown>, Res = unkno
|
|
|
172
179
|
/** Expected response. */
|
|
173
180
|
expect?: GraphqlContractExpect<Res>;
|
|
174
181
|
/**
|
|
175
|
-
* Variables. Object shorthand or a function of
|
|
176
|
-
* Merged deep-style over
|
|
182
|
+
* Variables. Object shorthand or a function of the case's logical
|
|
183
|
+
* input (matching `needs`). Merged deep-style over
|
|
184
|
+
* `defaults.variables` → `spec.defaultVariables`.
|
|
185
|
+
*/
|
|
186
|
+
variables?: Vars | ((input: Needs) => Vars);
|
|
187
|
+
/**
|
|
188
|
+
* Per-call headers (merged with instance + contract defaults). Function
|
|
189
|
+
* form receives the case's logical input.
|
|
177
190
|
*/
|
|
178
|
-
|
|
179
|
-
/** Per-call headers (merged with instance + contract defaults). */
|
|
180
|
-
headers?: Record<string, string> | ((state: S) => Record<string, string>);
|
|
181
|
-
/** Setup runs before the call. Return value flows to variables/headers fn + teardown. */
|
|
182
|
-
setup?: (ctx: TestContext) => Promise<S>;
|
|
183
|
-
/** Teardown runs after verify, even on failure. */
|
|
184
|
-
teardown?: (ctx: TestContext, state: S) => Promise<void>;
|
|
191
|
+
headers?: Record<string, string> | ((input: Needs) => Record<string, string>);
|
|
185
192
|
/** Business-logic verify — runs after transport + schema + data match. */
|
|
186
193
|
verify?: (ctx: TestContext, res: GraphqlCaseResult<Res>) => void | Promise<void>;
|
|
187
|
-
/** Not yet executable; reason shown in skip message. */
|
|
188
|
-
deferred?: string;
|
|
189
|
-
/** Deprecated; value is the reason. */
|
|
190
|
-
deprecated?: string;
|
|
191
|
-
/** Additional tags (merged with contract-level tags). */
|
|
192
|
-
tags?: string[];
|
|
193
|
-
severity?: CaseSeverity;
|
|
194
|
-
requires?: CaseRequires;
|
|
195
|
-
defaultRun?: CaseDefaultRun;
|
|
196
|
-
/** Per-case extensions. */
|
|
197
|
-
extensions?: Extensions;
|
|
198
194
|
}
|
|
199
195
|
/**
|
|
200
196
|
* Result of running a single case. This is also the `CaseOutput` shape that
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/contract/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,KAAK,EACV,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/contract/types.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
*
|
|
52
52
|
* @module graphql
|
|
53
53
|
*/
|
|
54
|
-
import type { HttpClient,
|
|
54
|
+
import type { ClientFactory, HttpClient, PluginManifest } from "@glubean/sdk";
|
|
55
55
|
/**
|
|
56
56
|
* A single GraphQL error as defined by the
|
|
57
57
|
* [GraphQL spec](https://spec.graphql.org/October2021/#sec-Errors).
|
|
@@ -339,9 +339,33 @@ export declare function createGraphQLClient(http: HttpClient, options: GraphQLCl
|
|
|
339
339
|
* });
|
|
340
340
|
* ```
|
|
341
341
|
*/
|
|
342
|
-
export declare function graphql(options: GraphQLClientOptions):
|
|
342
|
+
export declare function graphql(options: GraphQLClientOptions): ClientFactory<GraphQLClient>;
|
|
343
343
|
export { fromGql } from "./data.js";
|
|
344
|
-
|
|
345
|
-
|
|
344
|
+
/**
|
|
345
|
+
* Plugin manifest for `@glubean/graphql`. Declares:
|
|
346
|
+
*
|
|
347
|
+
* - `matchers` — 5 GraphQL-specific matchers (`toHaveGraphqlData`,
|
|
348
|
+
* `toHaveGraphqlNoErrors`, `toHaveGraphqlErrorCode`,
|
|
349
|
+
* `toHaveGraphqlExtension`, `toHaveHttpStatus`)
|
|
350
|
+
* - `contracts` — `graphql` protocol adapter
|
|
351
|
+
* - `setup()` — wraps the auto-attached `contract.graphql` dispatcher
|
|
352
|
+
* with `createGraphqlRoot` so `contract.graphql.with(...)`
|
|
353
|
+
* UX works
|
|
354
|
+
*
|
|
355
|
+
* Install explicitly in your project's `glubean.setup.ts`:
|
|
356
|
+
*
|
|
357
|
+
* ```ts
|
|
358
|
+
* import { installPlugin } from "@glubean/sdk";
|
|
359
|
+
* import graphqlPlugin from "@glubean/graphql";
|
|
360
|
+
* await installPlugin(graphqlPlugin);
|
|
361
|
+
* ```
|
|
362
|
+
*
|
|
363
|
+
* **Note:** top-level `import "@glubean/graphql"` is **no longer** a side-effect
|
|
364
|
+
* registration. The manifest must be explicitly installed (directly or via
|
|
365
|
+
* `bootstrap(projectRoot)` which loads `glubean.setup.ts`).
|
|
366
|
+
*/
|
|
367
|
+
declare const graphqlPlugin: PluginManifest;
|
|
368
|
+
export default graphqlPlugin;
|
|
369
|
+
export { graphqlAdapter, createGraphqlFactory, createGraphqlRoot, graphqlMatchers, } from "./contract/index.js";
|
|
346
370
|
export type { GraphqlContractCase, GraphqlContractDefaults, GraphqlContractExample, GraphqlContractExpect, GraphqlContractFactory, GraphqlContractMeta, GraphqlContractRoot, GraphqlContractSafeMeta, GraphqlContractSpec, GraphqlCaseResult, GraphqlErrorsExpect, GraphqlFlowCaseOutput, GraphqlPayloadSchemas, GraphqlSafeSchemas, GraphqlTypeDef, GraphqlTypeDefs, InferGraphqlVariables, InferGraphqlResponse, } from "./contract/index.js";
|
|
347
371
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AAGH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -51,7 +51,10 @@
|
|
|
51
51
|
*
|
|
52
52
|
* @module graphql
|
|
53
53
|
*/
|
|
54
|
-
import { definePlugin } from "@glubean/sdk
|
|
54
|
+
import { contract, defineClientFactory, definePlugin } from "@glubean/sdk";
|
|
55
|
+
import { graphqlAdapter } from "./contract/adapter.js";
|
|
56
|
+
import { createGraphqlRoot } from "./contract/factory.js";
|
|
57
|
+
import { graphqlMatchers } from "./contract/matchers.js";
|
|
55
58
|
/**
|
|
56
59
|
* Error thrown when a GraphQL response contains errors and
|
|
57
60
|
* `throwOnGraphQLErrors` is enabled.
|
|
@@ -257,7 +260,7 @@ export function createGraphQLClient(http, options) {
|
|
|
257
260
|
* ```
|
|
258
261
|
*/
|
|
259
262
|
export function graphql(options) {
|
|
260
|
-
return
|
|
263
|
+
return defineClientFactory((runtime) => {
|
|
261
264
|
const resolved = {
|
|
262
265
|
...options,
|
|
263
266
|
endpoint: runtime.resolveTemplate(options.endpoint),
|
|
@@ -273,9 +276,45 @@ export function graphql(options) {
|
|
|
273
276
|
}
|
|
274
277
|
// Re-export data loader for convenience (spec: `import { fromGql } from "@glubean/graphql"`)
|
|
275
278
|
export { fromGql } from "./data.js";
|
|
276
|
-
//
|
|
277
|
-
//
|
|
278
|
-
|
|
279
|
+
// =============================================================================
|
|
280
|
+
// Plugin manifest (default export)
|
|
281
|
+
// =============================================================================
|
|
282
|
+
/**
|
|
283
|
+
* Plugin manifest for `@glubean/graphql`. Declares:
|
|
284
|
+
*
|
|
285
|
+
* - `matchers` — 5 GraphQL-specific matchers (`toHaveGraphqlData`,
|
|
286
|
+
* `toHaveGraphqlNoErrors`, `toHaveGraphqlErrorCode`,
|
|
287
|
+
* `toHaveGraphqlExtension`, `toHaveHttpStatus`)
|
|
288
|
+
* - `contracts` — `graphql` protocol adapter
|
|
289
|
+
* - `setup()` — wraps the auto-attached `contract.graphql` dispatcher
|
|
290
|
+
* with `createGraphqlRoot` so `contract.graphql.with(...)`
|
|
291
|
+
* UX works
|
|
292
|
+
*
|
|
293
|
+
* Install explicitly in your project's `glubean.setup.ts`:
|
|
294
|
+
*
|
|
295
|
+
* ```ts
|
|
296
|
+
* import { installPlugin } from "@glubean/sdk";
|
|
297
|
+
* import graphqlPlugin from "@glubean/graphql";
|
|
298
|
+
* await installPlugin(graphqlPlugin);
|
|
299
|
+
* ```
|
|
300
|
+
*
|
|
301
|
+
* **Note:** top-level `import "@glubean/graphql"` is **no longer** a side-effect
|
|
302
|
+
* registration. The manifest must be explicitly installed (directly or via
|
|
303
|
+
* `bootstrap(projectRoot)` which loads `glubean.setup.ts`).
|
|
304
|
+
*/
|
|
305
|
+
const graphqlPlugin = definePlugin({
|
|
306
|
+
name: "@glubean/graphql",
|
|
307
|
+
matchers: graphqlMatchers,
|
|
308
|
+
contracts: { graphql: graphqlAdapter },
|
|
309
|
+
setup() {
|
|
310
|
+
// Replace the auto-attached dispatcher with the scoped-defaults factory
|
|
311
|
+
// so `contract.graphql.with("api", { client })("case", spec)` works.
|
|
312
|
+
// Runs after installPlugin calls contract.register().
|
|
313
|
+
const dispatcher = contract.graphql;
|
|
314
|
+
contract.graphql = createGraphqlRoot(dispatcher);
|
|
315
|
+
},
|
|
316
|
+
});
|
|
317
|
+
export default graphqlPlugin;
|
|
279
318
|
// Re-export contract surface for type consumers
|
|
280
|
-
export { graphqlAdapter, createGraphqlFactory, createGraphqlRoot, } from "./contract/index.js";
|
|
319
|
+
export { graphqlAdapter, createGraphqlFactory, createGraphqlRoot, graphqlMatchers, } from "./contract/index.js";
|
|
281
320
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,
|
|
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": "@glubean/graphql",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"sideEffects": [
|
|
6
6
|
"./dist/index.js",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"access": "public"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@glubean/sdk": "0.2.
|
|
27
|
+
"@glubean/sdk": "0.2.3"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"vitest": "^3.2.1",
|