@distilled.cloud/core 1.0.0-rc.1 → 1.0.0-rc.11
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/LICENSE +201 -0
- package/lib/api.d.ts.map +1 -1
- package/lib/api.js +16 -4
- package/lib/api.js.map +1 -1
- package/lib/category.d.ts +4 -4
- package/lib/category.js +4 -4
- package/lib/codegen/boolean-string-enums.d.ts +36 -0
- package/lib/codegen/boolean-string-enums.d.ts.map +1 -0
- package/lib/codegen/boolean-string-enums.js +94 -0
- package/lib/codegen/boolean-string-enums.js.map +1 -0
- package/lib/codegen/boolean-string-enums.test.d.ts +2 -0
- package/lib/codegen/boolean-string-enums.test.d.ts.map +1 -0
- package/lib/codegen/boolean-string-enums.test.js +147 -0
- package/lib/codegen/boolean-string-enums.test.js.map +1 -0
- package/lib/codegen/cli.d.ts +56 -6
- package/lib/codegen/cli.d.ts.map +1 -1
- package/lib/codegen/cli.js +59 -75
- package/lib/codegen/cli.js.map +1 -1
- package/lib/codegen/emit.d.ts +3 -7
- package/lib/codegen/emit.d.ts.map +1 -1
- package/lib/codegen/emit.js +6 -10
- package/lib/codegen/emit.js.map +1 -1
- package/lib/codegen/generator.d.ts.map +1 -1
- package/lib/codegen/generator.js +142 -20
- package/lib/codegen/generator.js.map +1 -1
- package/lib/codegen/graphql-client.d.ts +62 -0
- package/lib/codegen/graphql-client.d.ts.map +1 -0
- package/lib/codegen/graphql-client.js +294 -0
- package/lib/codegen/graphql-client.js.map +1 -0
- package/lib/codegen/graphql-client.test.d.ts +2 -0
- package/lib/codegen/graphql-client.test.d.ts.map +1 -0
- package/lib/codegen/graphql-client.test.js +311 -0
- package/lib/codegen/graphql-client.test.js.map +1 -0
- package/lib/codegen/graphql.d.ts +207 -0
- package/lib/codegen/graphql.d.ts.map +1 -0
- package/lib/codegen/graphql.js +799 -0
- package/lib/codegen/graphql.js.map +1 -0
- package/lib/codegen/openapi-cli.d.ts +17 -3
- package/lib/codegen/openapi-cli.d.ts.map +1 -1
- package/lib/codegen/openapi-cli.js +50 -48
- package/lib/codegen/openapi-cli.js.map +1 -1
- package/lib/codegen/openapi.d.ts +69 -6
- package/lib/codegen/openapi.d.ts.map +1 -1
- package/lib/codegen/openapi.js +173 -16
- package/lib/codegen/openapi.js.map +1 -1
- package/lib/codegen/patches.d.ts +65 -0
- package/lib/codegen/patches.d.ts.map +1 -0
- package/lib/codegen/patches.js +236 -0
- package/lib/codegen/patches.js.map +1 -0
- package/lib/codegen/patches.test.d.ts +2 -0
- package/lib/codegen/patches.test.d.ts.map +1 -0
- package/lib/codegen/patches.test.js +105 -0
- package/lib/codegen/patches.test.js.map +1 -0
- package/lib/codegen/proto.d.ts +121 -0
- package/lib/codegen/proto.d.ts.map +1 -0
- package/lib/codegen/proto.js +962 -0
- package/lib/codegen/proto.js.map +1 -0
- package/lib/codegen/rewrite-operation-ids.d.ts +131 -0
- package/lib/codegen/rewrite-operation-ids.d.ts.map +1 -0
- package/lib/codegen/rewrite-operation-ids.js +1079 -0
- package/lib/codegen/rewrite-operation-ids.js.map +1 -0
- package/lib/codegen/rewrite-operation-ids.test.d.ts +2 -0
- package/lib/codegen/rewrite-operation-ids.test.d.ts.map +1 -0
- package/lib/codegen/rewrite-operation-ids.test.js +533 -0
- package/lib/codegen/rewrite-operation-ids.test.js.map +1 -0
- package/lib/codegen/spec-path.d.ts +16 -0
- package/lib/codegen/spec-path.d.ts.map +1 -0
- package/lib/codegen/spec-path.js +101 -0
- package/lib/codegen/spec-path.js.map +1 -0
- package/lib/errors.d.ts.map +1 -1
- package/lib/errors.js +17 -13
- package/lib/errors.js.map +1 -1
- package/lib/graphql.d.ts +284 -0
- package/lib/graphql.d.ts.map +1 -0
- package/lib/graphql.fixture.d.ts +249 -0
- package/lib/graphql.fixture.d.ts.map +1 -0
- package/lib/graphql.fixture.js +240 -0
- package/lib/graphql.fixture.js.map +1 -0
- package/lib/graphql.js +718 -0
- package/lib/graphql.js.map +1 -0
- package/lib/graphql.test.d.ts +2 -0
- package/lib/graphql.test.d.ts.map +1 -0
- package/lib/graphql.test.js +780 -0
- package/lib/graphql.test.js.map +1 -0
- package/lib/graphql.types.d.ts +2 -0
- package/lib/graphql.types.d.ts.map +1 -0
- package/lib/graphql.types.js +45 -0
- package/lib/graphql.types.js.map +1 -0
- package/lib/json-patch.d.ts +18 -11
- package/lib/json-patch.d.ts.map +1 -1
- package/lib/json-patch.js +63 -25
- package/lib/json-patch.js.map +1 -1
- package/lib/pagination.d.ts +43 -3
- package/lib/pagination.d.ts.map +1 -1
- package/lib/pagination.js +91 -5
- package/lib/pagination.js.map +1 -1
- package/lib/protocol-http.d.ts.map +1 -1
- package/lib/protocol-http.js +62 -26
- package/lib/protocol-http.js.map +1 -1
- package/lib/protocol-http.test.d.ts +2 -0
- package/lib/protocol-http.test.d.ts.map +1 -0
- package/lib/protocol-http.test.js +88 -0
- package/lib/protocol-http.test.js.map +1 -0
- package/lib/protocol-rest.d.ts +12 -2
- package/lib/protocol-rest.d.ts.map +1 -1
- package/lib/protocol-rest.js +17 -3
- package/lib/protocol-rest.js.map +1 -1
- package/lib/retry.js +1 -1
- package/lib/schema.d.ts +1 -1
- package/lib/schema.d.ts.map +1 -1
- package/lib/schema.js +1 -1
- package/lib/schema.js.map +1 -1
- package/lib/trait.d.ts +27 -3
- package/lib/trait.d.ts.map +1 -1
- package/lib/trait.js +17 -1
- package/lib/trait.js.map +1 -1
- package/package.json +13 -10
- package/src/api.ts +18 -4
- package/src/category.ts +4 -4
- package/src/codegen/boolean-string-enums.test.ts +168 -0
- package/src/codegen/boolean-string-enums.ts +106 -0
- package/src/codegen/cli.ts +127 -110
- package/src/codegen/emit.ts +6 -10
- package/src/codegen/generator.ts +151 -21
- package/src/codegen/graphql-client.test.ts +386 -0
- package/src/codegen/graphql-client.ts +419 -0
- package/src/codegen/graphql.ts +1217 -0
- package/src/codegen/openapi-cli.ts +75 -59
- package/src/codegen/openapi.ts +255 -16
- package/src/codegen/patches.test.ts +130 -0
- package/src/codegen/patches.ts +291 -0
- package/src/codegen/proto.ts +1128 -0
- package/src/codegen/rewrite-operation-ids.test.ts +563 -0
- package/src/codegen/rewrite-operation-ids.ts +1206 -0
- package/src/codegen/spec-path.ts +115 -0
- package/src/errors.ts +20 -25
- package/src/graphql.fixture.ts +371 -0
- package/src/graphql.test.ts +974 -0
- package/src/graphql.ts +1321 -0
- package/src/graphql.types.ts +185 -0
- package/src/json-patch.ts +82 -25
- package/src/pagination.ts +134 -7
- package/src/protocol-http.test.ts +107 -0
- package/src/protocol-http.ts +67 -31
- package/src/protocol-rest.ts +28 -4
- package/src/retry.ts +1 -1
- package/src/schema.ts +2 -2
- package/src/trait.ts +39 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../src/codegen/generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAEL,KAAK,EAGL,CAAC,EACD,KAAK,EACL,UAAU,EACX,MAAM,aAAa,CAAC;AACrB,OAAO,EAKL,KAAK,QAAQ,EACd,MAAM,YAAY,CAAC;AACpB,OAAO,EAGL,eAAe,EAGf,cAAc,EAGf,MAAM,WAAW,CAAC;AAOnB,OAAO,EAKL,KAAK,OAAO,EACb,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../src/codegen/generator.ts"],"names":[],"mappings":"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"}
|
package/lib/codegen/generator.js
CHANGED
|
@@ -21,6 +21,7 @@ import { JSON_PRELUDE, makeSchemaRef, makeTsRef, TS_JSON_PRELUDE, } from "./prel
|
|
|
21
21
|
import { collectOperations, collectOpErrorIds, ensureNamedIo, modelNamespace, } from "./operations.js";
|
|
22
22
|
import { memberBases, smithyWireName } from "./members.js";
|
|
23
23
|
import { validatePaginated } from "./pagination.js";
|
|
24
|
+
import { booleanStringEnums, STRING_ENCODED_TRAIT, } from "./boolean-string-enums.js";
|
|
24
25
|
const PAGINATED_TRAIT = "smithy.api#paginated";
|
|
25
26
|
/**
|
|
26
27
|
* Error categories, derived from the STANDARD Smithy error traits.
|
|
@@ -86,6 +87,9 @@ extra = []) => {
|
|
|
86
87
|
const categoryPipes = (traits) => errorCategories(traits).map((name) => `C.with${name}`);
|
|
87
88
|
/** Compile one Smithy model into a service module. */
|
|
88
89
|
export const generateService = (model, spec) => {
|
|
90
|
+
// `"true" | "false"` request members become real booleans that travel as
|
|
91
|
+
// their string spelling (see boolean-string-enums.ts).
|
|
92
|
+
booleanStringEnums(model);
|
|
89
93
|
const shapes = model.shapes;
|
|
90
94
|
const pure = spec.pure ?? PURE;
|
|
91
95
|
const prelude = spec.prelude ?? JSON_PRELUDE;
|
|
@@ -117,8 +121,25 @@ export const generateService = (model, spec) => {
|
|
|
117
121
|
const reachable = reachableFrom(shapes, roots, shapeDeps);
|
|
118
122
|
const order = topoOrder(shapes, reachable, shapeDeps);
|
|
119
123
|
const indexOf = orderIndex(order);
|
|
120
|
-
|
|
121
|
-
|
|
124
|
+
/**
|
|
125
|
+
* Shape id → the id whose emitted body it shares.
|
|
126
|
+
*
|
|
127
|
+
* Structural aliasing (see the struct emission below) has to cascade: a
|
|
128
|
+
* parent only matches another parent if their MEMBERS render identically,
|
|
129
|
+
* and a member renders as its target's name. So every reference resolves
|
|
130
|
+
* through this map first — once `…ItemGroupRuleGroup` is aliased onto a
|
|
131
|
+
* canonical shape, the parents referencing it start rendering the same
|
|
132
|
+
* text and collapse in turn.
|
|
133
|
+
*
|
|
134
|
+
* Filled in topological order, so a canonical target is always a shape
|
|
135
|
+
* that was already emitted — a back-reference, never a forward one.
|
|
136
|
+
*/
|
|
137
|
+
const canonicalId = new Map();
|
|
138
|
+
const canon = (target) => canonicalId.get(target) ?? target;
|
|
139
|
+
const rawRef = makeSchemaRef(prelude, indexOf);
|
|
140
|
+
const rawTsRef = makeTsRef(tsPrelude);
|
|
141
|
+
const ref = (target, selfIdx) => rawRef(canon(target), selfIdx);
|
|
142
|
+
const tsRef = (target) => rawTsRef(canon(target));
|
|
122
143
|
// Direction classification for enum openness. Enum ALIASES are emitted
|
|
123
144
|
// CLOSED (exhaustively matchable on reads); request-reachable shapes
|
|
124
145
|
// re-open enum references inline (`X | (string & {})`) so consumers can
|
|
@@ -154,7 +175,8 @@ export const generateService = (model, spec) => {
|
|
|
154
175
|
* pure response/error shapes stay the plain closed alias, and so do
|
|
155
176
|
* union-arm discriminant literals.
|
|
156
177
|
*/
|
|
157
|
-
const tsRefAt = (
|
|
178
|
+
const tsRefAt = (rawTarget, ownerId) => {
|
|
179
|
+
const target = canon(rawTarget);
|
|
158
180
|
const base = tsRef(target);
|
|
159
181
|
if (!requestReachable.has(ownerId))
|
|
160
182
|
return base;
|
|
@@ -218,6 +240,50 @@ export const generateService = (model, spec) => {
|
|
|
218
240
|
binding === "body"),
|
|
219
241
|
};
|
|
220
242
|
});
|
|
243
|
+
/** The single value a one-value enum shape fixes, if `target` is one. */
|
|
244
|
+
const soleEnumValue = (target) => {
|
|
245
|
+
const d = shapes[target];
|
|
246
|
+
if (d?.type !== "enum")
|
|
247
|
+
return undefined;
|
|
248
|
+
const values = Object.values(d.members ?? {}).map((m) => m.traits?.["smithy.api#enumValue"]);
|
|
249
|
+
return values.length === 1 && typeof values[0] === "string"
|
|
250
|
+
? values[0]
|
|
251
|
+
: undefined;
|
|
252
|
+
};
|
|
253
|
+
/**
|
|
254
|
+
* The member every case of a union pins to a different literal — the tag
|
|
255
|
+
* the API itself discriminates by (`type: "zone"`, `id: "browser_check"`).
|
|
256
|
+
* Undefined unless every case is a structure carrying that member and no
|
|
257
|
+
* two cases claim the same value.
|
|
258
|
+
*/
|
|
259
|
+
const unionDiscriminator = (caseTargets) => {
|
|
260
|
+
if (caseTargets.length < 2)
|
|
261
|
+
return undefined;
|
|
262
|
+
const perCase = caseTargets.map((t) => {
|
|
263
|
+
const cd = shapes[t];
|
|
264
|
+
if (cd?.type !== "structure")
|
|
265
|
+
return undefined;
|
|
266
|
+
const tags = new Map();
|
|
267
|
+
for (const mi of memberInfos(cd)) {
|
|
268
|
+
const value = soleEnumValue(mi.target);
|
|
269
|
+
if (value !== undefined)
|
|
270
|
+
tags.set(mi.tsName, value);
|
|
271
|
+
}
|
|
272
|
+
return tags;
|
|
273
|
+
});
|
|
274
|
+
if (perCase.some((tags) => tags === undefined || tags.size === 0)) {
|
|
275
|
+
return undefined;
|
|
276
|
+
}
|
|
277
|
+
for (const key of perCase[0].keys()) {
|
|
278
|
+
const values = perCase.map((tags) => tags.get(key));
|
|
279
|
+
if (values.some((v) => v === undefined))
|
|
280
|
+
continue;
|
|
281
|
+
if (new Set(values).size !== values.length)
|
|
282
|
+
continue;
|
|
283
|
+
return { key, values: values };
|
|
284
|
+
}
|
|
285
|
+
return undefined;
|
|
286
|
+
};
|
|
221
287
|
// Generic pipes for the smithy bindings (the SDK's traits module exports
|
|
222
288
|
// core's Label/Query/Header/HttpBody/Body builders under these names);
|
|
223
289
|
// provider bindings and member traits append theirs via memberExtraPipes.
|
|
@@ -256,6 +322,7 @@ export const generateService = (model, spec) => {
|
|
|
256
322
|
...Object.entries(spec.memberTraitPipes ?? {})
|
|
257
323
|
.filter(([trait]) => info.traits[trait] !== undefined)
|
|
258
324
|
.map(([trait, builder]) => `${builder}(${JSON.stringify(info.traits[trait])})`),
|
|
325
|
+
...(STRING_ENCODED_TRAIT in info.traits ? ["T.StringEncoded()"] : []),
|
|
259
326
|
...(spec.memberExtraPipes?.(info) ?? []),
|
|
260
327
|
]);
|
|
261
328
|
const memberTsTypeOf = (info, tsRefFn) => spec.memberTsType?.(info, tsRefFn) ??
|
|
@@ -325,6 +392,13 @@ export const generateService = (model, spec) => {
|
|
|
325
392
|
}
|
|
326
393
|
// 4. Error classes from the operations' errors lists.
|
|
327
394
|
const out = [];
|
|
395
|
+
// Emitted struct body → the name that owns it, for structural aliasing.
|
|
396
|
+
// Keyed on the emitted TEXT, so two shapes collapse only when what they
|
|
397
|
+
// would emit is byte-identical — including member names, targets, docs and
|
|
398
|
+
// pipes. References are already resolved to names at this point, so a
|
|
399
|
+
// difference anywhere in the tree shows up as different text.
|
|
400
|
+
const structBodies = new Map();
|
|
401
|
+
let aliased = 0;
|
|
328
402
|
// Set when any error carries CATEGORY_TRAIT, so the header only imports
|
|
329
403
|
// the category module when something actually uses it.
|
|
330
404
|
let usesCategories = false;
|
|
@@ -438,7 +512,6 @@ export const generateService = (model, spec) => {
|
|
|
438
512
|
fields.push(...inject.interfaceLines);
|
|
439
513
|
members.push(inject.structLine);
|
|
440
514
|
}
|
|
441
|
-
out.push(interfaceDecl(name, fields));
|
|
442
515
|
const struct = members.length
|
|
443
516
|
? `S.Struct({\n${members.join("\n")}\n})`
|
|
444
517
|
: `S.Struct({})`;
|
|
@@ -456,21 +529,56 @@ export const generateService = (model, spec) => {
|
|
|
456
529
|
: []),
|
|
457
530
|
];
|
|
458
531
|
const tail = pipes.map((p) => `.pipe(${p})`).join("");
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
532
|
+
// Shapes whose emitted body is byte-identical are one shape wearing
|
|
533
|
+
// many names. The docs pipelines generate a fresh copy of every nested
|
|
534
|
+
// shape per operation, so cloudflare's zero_trust carries 374 copies of
|
|
535
|
+
// `{ group?: unknown }` — one per operation x application type x
|
|
536
|
+
// include/exclude/require — and 72% of its 16,800 structures are
|
|
537
|
+
// redundant that way.
|
|
538
|
+
//
|
|
539
|
+
// Emit the body once and alias the rest to it. The public name is kept,
|
|
540
|
+
// so nothing about the surface changes; only the duplicate bodies go.
|
|
541
|
+
// Operation I/O is excluded: those carry the operation's Http trait and
|
|
542
|
+
// must never be merged onto one another.
|
|
543
|
+
const bodyKey = `${JSON.stringify(fields)}|${struct}${tail}`;
|
|
544
|
+
const canonical = structCtx.isOpIo
|
|
545
|
+
? undefined
|
|
546
|
+
: structBodies.get(bodyKey);
|
|
547
|
+
if (canonical !== undefined) {
|
|
548
|
+
out.push(`export type ${name} = ${canonical.name};`);
|
|
549
|
+
out.push(`export const ${name} = ${canonical.name};\n`);
|
|
550
|
+
// Later shapes referencing this one now render the canonical name,
|
|
551
|
+
// which is what lets their bodies collapse too.
|
|
552
|
+
canonicalId.set(id, canonical.id);
|
|
553
|
+
aliased++;
|
|
554
|
+
}
|
|
555
|
+
else {
|
|
556
|
+
if (!structCtx.isOpIo) {
|
|
557
|
+
structBodies.set(bodyKey, { id, name });
|
|
558
|
+
}
|
|
559
|
+
out.push(interfaceDecl(name, fields));
|
|
560
|
+
out.push(suspendConst({
|
|
561
|
+
name,
|
|
562
|
+
pure,
|
|
563
|
+
multiline: true,
|
|
564
|
+
annotateIdentifier: true,
|
|
565
|
+
expr: `${struct}${tail}`,
|
|
566
|
+
}));
|
|
567
|
+
}
|
|
466
568
|
}
|
|
467
569
|
else if (d.type === "list") {
|
|
468
|
-
|
|
469
|
-
|
|
570
|
+
const nullable = spec.nullableTrait !== undefined &&
|
|
571
|
+
spec.nullableTrait in (d.member.traits ?? {});
|
|
572
|
+
const item = ref(d.member.target, i);
|
|
573
|
+
out.push(`export type ${name} = Array<${tsRefAt(d.member.target, id)}${nullable ? " | null" : ""}>;`);
|
|
574
|
+
out.push(`export const ${name} = ${pure}S.Array(${nullable ? `S.NullOr(${item})` : item}) as any as S.Schema<${name}>;\n`);
|
|
470
575
|
}
|
|
471
576
|
else if (d.type === "map") {
|
|
472
|
-
|
|
473
|
-
|
|
577
|
+
const nullable = spec.nullableTrait !== undefined &&
|
|
578
|
+
spec.nullableTrait in (d.value.traits ?? {});
|
|
579
|
+
const value = ref(d.value.target, i);
|
|
580
|
+
out.push(`export type ${name} = { [key: string]: ${tsRefAt(d.value.target, id)}${nullable ? " | null" : ""} | undefined };`);
|
|
581
|
+
out.push(`export const ${name} = ${pure}S.Record(S.String, ${nullable ? `S.NullOr(${value})` : value}) as any as S.Schema<${name}>;\n`);
|
|
474
582
|
}
|
|
475
583
|
else if (d.type === "union") {
|
|
476
584
|
// A union arm targeting the union itself carries no information
|
|
@@ -491,7 +599,8 @@ export const generateService = (model, spec) => {
|
|
|
491
599
|
out.push(...spec.union({ name, caseTargets, caseKeys, tsRef }));
|
|
492
600
|
}
|
|
493
601
|
else if (spec.unionStyle === "opaque-cases") {
|
|
494
|
-
|
|
602
|
+
const disc = unionDiscriminator(caseTargets);
|
|
603
|
+
out.push(`export type ${name} = ${caseTargets.map((t) => tsRefAt(t, id)).join(" | ") || "unknown"};`, `export const ${name} = ${pure}S.Unknown.pipe(T.UnionCases(${JSON.stringify(caseKeys)}${disc ? `, ${JSON.stringify(disc)}` : ""}));\n`);
|
|
495
604
|
}
|
|
496
605
|
else {
|
|
497
606
|
throw new Error(`no union emission configured for shape ${id} — set unionStyle or union`);
|
|
@@ -511,7 +620,7 @@ export const generateService = (model, spec) => {
|
|
|
511
620
|
.map((m) => m.traits?.["smithy.api#enumValue"])
|
|
512
621
|
.filter((v) => typeof v === "number");
|
|
513
622
|
const union = values.length ? values.join(" | ") : "number";
|
|
514
|
-
out.push(`export type ${name} = ${union};`, `export const ${name} =
|
|
623
|
+
out.push(`export type ${name} = ${union};`, `export const ${name} = S.Number;\n`);
|
|
515
624
|
}
|
|
516
625
|
});
|
|
517
626
|
// 6. Operations — declarative emission from the names in operationDecl,
|
|
@@ -535,16 +644,29 @@ export const generateService = (model, spec) => {
|
|
|
535
644
|
// item IS a whole response.
|
|
536
645
|
if (!itemsPath)
|
|
537
646
|
return tsRef(outputId);
|
|
538
|
-
let
|
|
647
|
+
let id = outputId;
|
|
648
|
+
// Whether the path crossed a list on the way down (`"edges.node"` on a
|
|
649
|
+
// Relay connection). When it did, the path itself is what fans out, so
|
|
650
|
+
// the value it lands on IS one item — it needn't be a list again.
|
|
651
|
+
let fannedOut = false;
|
|
539
652
|
for (const segment of itemsPath.split(".")) {
|
|
653
|
+
let def = shapes[id];
|
|
654
|
+
if (def?.type === "list") {
|
|
655
|
+
id = def.member.target;
|
|
656
|
+
def = shapes[id];
|
|
657
|
+
fannedOut = true;
|
|
658
|
+
}
|
|
540
659
|
if (def?.type !== "structure")
|
|
541
660
|
return undefined;
|
|
542
661
|
const info = memberInfos(def).find((m) => m.tsName === segment);
|
|
543
662
|
if (!info)
|
|
544
663
|
return undefined;
|
|
545
|
-
|
|
664
|
+
id = info.target;
|
|
546
665
|
}
|
|
547
|
-
|
|
666
|
+
const last = shapes[id];
|
|
667
|
+
if (last?.type === "list")
|
|
668
|
+
return tsRef(last.member.target);
|
|
669
|
+
return fannedOut ? tsRef(id) : undefined;
|
|
548
670
|
};
|
|
549
671
|
const emitOperation = spec.operation ??
|
|
550
672
|
((ctx) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/codegen/generator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/codegen/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/** GraphQL-native introspection compiler. No traversal limits or RPC projection. */
|
|
2
|
+
import { type TypeRef } from "./graphql.ts";
|
|
3
|
+
export interface GraphQLArgument {
|
|
4
|
+
readonly type: string;
|
|
5
|
+
readonly description?: string;
|
|
6
|
+
readonly defaultValue?: string;
|
|
7
|
+
}
|
|
8
|
+
export interface GraphQLField {
|
|
9
|
+
readonly type: string;
|
|
10
|
+
readonly args: Record<string, GraphQLArgument>;
|
|
11
|
+
readonly errors: readonly string[];
|
|
12
|
+
readonly description?: string;
|
|
13
|
+
readonly deprecated?: string | true;
|
|
14
|
+
}
|
|
15
|
+
export interface GraphQLType {
|
|
16
|
+
readonly kind: string;
|
|
17
|
+
readonly description?: string;
|
|
18
|
+
readonly fields?: Record<string, GraphQLField>;
|
|
19
|
+
readonly inputFields?: Record<string, GraphQLArgument>;
|
|
20
|
+
readonly enumValues?: readonly string[];
|
|
21
|
+
readonly possibleTypes?: readonly string[];
|
|
22
|
+
readonly interfaces?: readonly string[];
|
|
23
|
+
/** TypeScript scalar representation; custom JSON scalars default to unknown. */
|
|
24
|
+
readonly scalar?: string;
|
|
25
|
+
}
|
|
26
|
+
export interface GraphQLErrorDefinition {
|
|
27
|
+
readonly description?: string;
|
|
28
|
+
readonly category?: string;
|
|
29
|
+
readonly retryable?: boolean;
|
|
30
|
+
readonly matchers: readonly {
|
|
31
|
+
readonly code?: string;
|
|
32
|
+
readonly message?: string;
|
|
33
|
+
readonly messageIncludes?: string;
|
|
34
|
+
}[];
|
|
35
|
+
}
|
|
36
|
+
export interface GraphQLModel {
|
|
37
|
+
readonly version: 1;
|
|
38
|
+
readonly queryType: string;
|
|
39
|
+
readonly mutationType?: string;
|
|
40
|
+
readonly subscriptionType?: string;
|
|
41
|
+
readonly types: Record<string, GraphQLType>;
|
|
42
|
+
readonly errors: Record<string, GraphQLErrorDefinition>;
|
|
43
|
+
readonly globalErrors: readonly string[];
|
|
44
|
+
}
|
|
45
|
+
export declare const graphqlTypeString: (ref: TypeRef) => string;
|
|
46
|
+
/** Retain every schema coordinate, wrapper, default and abstract-type relationship. */
|
|
47
|
+
export declare const convertGraphQLClient: (introspection: unknown, options?: {
|
|
48
|
+
readonly scalars?: Readonly<Record<string, string>>;
|
|
49
|
+
}) => GraphQLModel;
|
|
50
|
+
/** Reject dangling schema/error references after patches, before generating code. */
|
|
51
|
+
export declare const validateGraphQLModel: (model: GraphQLModel) => void;
|
|
52
|
+
export interface GenerateGraphQLClientOptions {
|
|
53
|
+
readonly transportImport: string;
|
|
54
|
+
readonly transportName?: string;
|
|
55
|
+
readonly requirementsType: string;
|
|
56
|
+
readonly requirementsImport: string;
|
|
57
|
+
/** Optional legacy-name aliases, e.g. createProject -> projectCreate. */
|
|
58
|
+
readonly operationAliases?: Readonly<Record<string, string>>;
|
|
59
|
+
}
|
|
60
|
+
/** Emit schema-indexed types and the matching runtime graph from one patched model. */
|
|
61
|
+
export declare const generateGraphQLClient: (model: GraphQLModel, options: GenerateGraphQLClientOptions) => string;
|
|
62
|
+
//# sourceMappingURL=graphql-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graphql-client.d.ts","sourceRoot":"","sources":["../../src/codegen/graphql-client.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,OAAO,EAAqB,KAAK,OAAO,EAAE,MAAM,cAAc,CAAC;AAE/D,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AACD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC/C,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;AACD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC/C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACvD,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,gFAAgF;IAChF,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AACD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,SAAS;QAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;KACnC,EAAE,CAAC;CACL;AACD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC5C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IACxD,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1C;AAED,eAAO,MAAM,iBAAiB,QAAS,OAAO,KAAG,MAShD,CAAC;AAEF,uFAAuF;AACvF,eAAO,MAAM,oBAAoB,kBAChB,OAAO,YACb;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CAAE,KAC/D,YA8FF,CAAC;AAEF,qFAAqF;AACrF,eAAO,MAAM,oBAAoB,UAAW,YAAY,KAAG,IAmC1D,CAAC;AAQF,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,yEAAyE;IACzE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAC9D;AAED,uFAAuF;AACvF,eAAO,MAAM,qBAAqB,UACzB,YAAY,WACV,4BAA4B,KACpC,MA4MF,CAAC"}
|