@fougere/adapter-graphql 0.2.0-alpha.2 → 0.4.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/app.d.ts +43 -0
- package/dist/app.d.ts.map +1 -0
- package/dist/app.js +50 -0
- package/dist/app.js.map +1 -0
- package/dist/auto-register.d.ts +22 -7
- package/dist/auto-register.d.ts.map +1 -1
- package/dist/auto-register.js +23 -45
- package/dist/auto-register.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/pothos.d.ts +43 -11
- package/dist/pothos.d.ts.map +1 -1
- package/dist/pothos.js +127 -52
- package/dist/pothos.js.map +1 -1
- package/package.json +5 -4
- package/src/app.ts +73 -0
- package/src/auto-register.ts +474 -0
- package/src/index.ts +14 -0
- package/src/pothos-entry.ts +9 -0
- package/src/pothos.ts +1011 -0
- package/src/serve.ts +133 -0
package/dist/pothos.js
CHANGED
|
@@ -1,16 +1,12 @@
|
|
|
1
|
+
import { upperFirst, Role } from '@fougere/schema';
|
|
1
2
|
import { Anatomy, Schema } from '@fougere/schema';
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
return kind === 'query';
|
|
10
|
-
return READ_PREFIXES.some((p) => name.startsWith(p));
|
|
11
|
-
}
|
|
12
|
-
function capitalize(s) {
|
|
13
|
-
return s[0].toUpperCase() + s.slice(1);
|
|
3
|
+
import { Boundary, Card, Lifecycle, schemaOf, Visibility } from '@fougere/schema';
|
|
4
|
+
function operationIsQuery(name, resolved) {
|
|
5
|
+
if (!resolved) {
|
|
6
|
+
throw new Error(`GraphQL cannot project '${name}' without its resolved operation kind. `
|
|
7
|
+
+ 'Pass the EffectiveOperation table produced by core.');
|
|
8
|
+
}
|
|
9
|
+
return resolved === 'query';
|
|
14
10
|
}
|
|
15
11
|
function pluralize(name) {
|
|
16
12
|
return name.endsWith('y') ? name.slice(0, -1) + 'ies' : name + 's';
|
|
@@ -69,8 +65,8 @@ function fieldToGraphQL(t, field, fieldName, enumFor) {
|
|
|
69
65
|
},
|
|
70
66
|
});
|
|
71
67
|
case 'array': {
|
|
72
|
-
// value list (`list(text())`)
|
|
73
|
-
//
|
|
68
|
+
// A value list (`list(text())`) becomes a GraphQL list of the item scalar; a list
|
|
69
|
+
// of objects becomes a list of JSON strings — the same rule 'object' follows.
|
|
74
70
|
const items = Anatomy.of(shape.items).base;
|
|
75
71
|
const resolve = (parent) => parent[fieldName] ?? (nullable ? null : []);
|
|
76
72
|
switch (items?.type) {
|
|
@@ -96,7 +92,7 @@ function fieldToGraphQL(t, field, fieldName, enumFor) {
|
|
|
96
92
|
nullable,
|
|
97
93
|
resolve: (parent) => {
|
|
98
94
|
const val = parent[fieldName];
|
|
99
|
-
return val != null ?
|
|
95
|
+
return val != null ? Boundary.of(field).encode(val) : null;
|
|
100
96
|
},
|
|
101
97
|
});
|
|
102
98
|
}
|
|
@@ -124,8 +120,9 @@ function nestedInputType(builder, shape, name) {
|
|
|
124
120
|
const known = perBuilder.get(name);
|
|
125
121
|
if (known)
|
|
126
122
|
return known;
|
|
127
|
-
|
|
128
|
-
const
|
|
123
|
+
// Only an object shape has these two, and only an object shape reaches here.
|
|
124
|
+
const properties = 'properties' in shape ? (shape.properties ?? {}) : {};
|
|
125
|
+
const required = new Set('required' in shape ? shape.required ?? [] : []);
|
|
129
126
|
const type = builder.inputType(name, {
|
|
130
127
|
fields: (t) => {
|
|
131
128
|
const out = {};
|
|
@@ -167,7 +164,7 @@ const enumTypes = new WeakMap();
|
|
|
167
164
|
*/
|
|
168
165
|
const GRAPHQL_NAME = /^[_A-Za-z][_0-9A-Za-z]*$/;
|
|
169
166
|
function enumValuesOf(shape) {
|
|
170
|
-
const values = shape
|
|
167
|
+
const values = shape && 'enum' in shape ? shape.enum : undefined;
|
|
171
168
|
if (!Array.isArray(values) || values.length === 0)
|
|
172
169
|
return undefined;
|
|
173
170
|
if (!values.every((v) => typeof v === 'string' && GRAPHQL_NAME.test(v)))
|
|
@@ -197,14 +194,14 @@ function enumTypeFor(builder, name, values) {
|
|
|
197
194
|
}
|
|
198
195
|
/** `Post` + `status` → `PostStatus`. Undefined when the schema has no name to build on. */
|
|
199
196
|
function enumNameFor(owner, fieldName) {
|
|
200
|
-
return owner ? `${owner}${
|
|
197
|
+
return owner ? `${owner}${upperFirst(fieldName)}` : undefined;
|
|
201
198
|
}
|
|
202
199
|
function fieldToInput(t, field, patch, nested, enumFor) {
|
|
203
200
|
// Required = the presence axis, projected onto GraphQL's single knob: the
|
|
204
201
|
// caller must supply it (no `lifecycle.create` rule answers absence), null is
|
|
205
202
|
// not legal, and the view is not in patch mode (a patch omits freely).
|
|
206
203
|
const { base: shape, nullable } = Anatomy.of(field.shape);
|
|
207
|
-
const required = !patch && !nullable && field.
|
|
204
|
+
const required = !patch && !nullable && Lifecycle.of(field).requiredAtCreate;
|
|
208
205
|
// The dual of the output side, and it must be the SAME type: an input left as `String`
|
|
209
206
|
// would refuse nothing the enum refuses, and a client could not hand back the value a
|
|
210
207
|
// query just gave it.
|
|
@@ -325,12 +322,13 @@ export function registerObjectType(builder, name, fieldDefs) {
|
|
|
325
322
|
*/
|
|
326
323
|
export function registerType(builder, config) {
|
|
327
324
|
// A live class or a card — an adapter needs the fields, never the constructor.
|
|
328
|
-
const
|
|
325
|
+
const schema = schemaOf(config.entity);
|
|
326
|
+
const fields = schema.getFields();
|
|
329
327
|
const exclude = new Set(config.exclude ?? []);
|
|
330
328
|
// Who owns the enum names: the schema a view came from, so `PostCard.status` and
|
|
331
329
|
// `CreatePostInput.status` land on the one `PostStatus`. A card that travelled carries no
|
|
332
330
|
// class name — the GraphQL type name is then the best owner available.
|
|
333
|
-
const enumOwner =
|
|
331
|
+
const enumOwner = Card.fromSchema(schema).descriptor.title ?? config.name;
|
|
334
332
|
return builder.objectRef(config.name).implement({
|
|
335
333
|
fields: (t) => {
|
|
336
334
|
const result = {};
|
|
@@ -338,13 +336,13 @@ export function registerType(builder, config) {
|
|
|
338
336
|
if (exclude.has(fieldName))
|
|
339
337
|
continue;
|
|
340
338
|
// Skip 'many' fields — handled by relations
|
|
341
|
-
if (field.
|
|
339
|
+
if (Role.of(field).isCollection)
|
|
342
340
|
continue;
|
|
343
341
|
// Skip fields that have a relation override
|
|
344
342
|
if (config.relations?.[fieldName])
|
|
345
343
|
continue;
|
|
346
344
|
// Write-only (boundary out: 'closed', e.g. password): never emitted
|
|
347
|
-
if (
|
|
345
|
+
if (Boundary.of(field).writeOnly)
|
|
348
346
|
continue;
|
|
349
347
|
result[fieldName] = fieldToGraphQL(t, field, fieldName, (values) => {
|
|
350
348
|
const name = enumNameFor(enumOwner, fieldName);
|
|
@@ -394,7 +392,7 @@ export function registerType(builder, config) {
|
|
|
394
392
|
const meta = metaMap.get(name);
|
|
395
393
|
const nullable = meta?.nullable ?? true;
|
|
396
394
|
// READ the value, never recompute it. The façade applies the presenter on every
|
|
397
|
-
// door (`
|
|
395
|
+
// door (`PresenterExecutor`), so the row arrives carrying its computed fields; calling
|
|
398
396
|
// the method again ran the work twice — and once the method started receiving the
|
|
399
397
|
// PAGE rather than one row, the second call was handed a single object and threw
|
|
400
398
|
// `posts.map is not a function`. What GraphQL owes the field is its declaration.
|
|
@@ -447,7 +445,17 @@ export function registerType(builder, config) {
|
|
|
447
445
|
});
|
|
448
446
|
}
|
|
449
447
|
/**
|
|
450
|
-
*
|
|
448
|
+
* The GraphQL input for EXACTLY this view — or none, when the view asks for nothing.
|
|
449
|
+
*
|
|
450
|
+
* The caller derives the view and this projects it; it holds no policy of its own. What
|
|
451
|
+
* a client may supply at CREATION is `Visibility.input`, which the op path applies for
|
|
452
|
+
* create/update alone — `publish(input: Post)` must still name the post.
|
|
453
|
+
*
|
|
454
|
+
* Two things are dropped here because GraphQL cannot carry them, not because of any
|
|
455
|
+
* rule: a collection has no column to send, and `boundary in: 'closed'` is refused from
|
|
456
|
+
* every client. A view left with nothing after that gets `undefined` rather than an
|
|
457
|
+
* input object with zero fields, which is invalid GraphQL and takes the WHOLE schema
|
|
458
|
+
* down — every other type included.
|
|
451
459
|
*
|
|
452
460
|
* ```ts
|
|
453
461
|
* const CreateProductInput = registerInput(builder, {
|
|
@@ -457,10 +465,13 @@ export function registerType(builder, config) {
|
|
|
457
465
|
* ```
|
|
458
466
|
*/
|
|
459
467
|
export function registerInput(builder, config) {
|
|
460
|
-
const fields = config.schema.getFields()
|
|
468
|
+
const fields = Object.fromEntries(Object.entries(config.schema.getFields())
|
|
469
|
+
.filter(([, field]) => !Role.of(field).isCollection && !Boundary.of(field).readOnly));
|
|
470
|
+
if (Object.keys(fields).length === 0)
|
|
471
|
+
return undefined;
|
|
461
472
|
// The view's SOURCE, not the input's name: `CreatePostInput` derives from `Post`, and its
|
|
462
473
|
// `status` must be the same `PostStatus` the query emits.
|
|
463
|
-
const enumOwner =
|
|
474
|
+
const enumOwner = Card.fromSchema(config.schema).descriptor.title;
|
|
464
475
|
// Input-field omissibility is a projection of the view's MODE (partial() → patch),
|
|
465
476
|
// never of forged per-field flags — the fields themselves stay untouched.
|
|
466
477
|
const patch = config.schema.getOpts().patch ?? false;
|
|
@@ -468,13 +479,7 @@ export function registerInput(builder, config) {
|
|
|
468
479
|
fields: (t) => {
|
|
469
480
|
const result = {};
|
|
470
481
|
for (const [fieldName, field] of Object.entries(fields)) {
|
|
471
|
-
|
|
472
|
-
if (field.role?.relation?.kind === 'many')
|
|
473
|
-
continue;
|
|
474
|
-
// Read-only (boundary in: 'closed'): never accepted from a client
|
|
475
|
-
if (boundaryOf(field).in === 'closed')
|
|
476
|
-
continue;
|
|
477
|
-
result[fieldName] = fieldToInput(t, field, patch, (shape, suffix) => nestedInputType(builder, shape, `${config.name}${capitalize(fieldName)}${suffix}`), (values) => {
|
|
482
|
+
result[fieldName] = fieldToInput(t, field, patch, (shape, suffix) => nestedInputType(builder, shape, `${config.name}${upperFirst(fieldName)}${suffix}`), (values) => {
|
|
478
483
|
const name = enumNameFor(enumOwner, fieldName);
|
|
479
484
|
return name ? enumTypeFor(builder, name, values) : undefined;
|
|
480
485
|
});
|
|
@@ -484,6 +489,42 @@ export function registerInput(builder, config) {
|
|
|
484
489
|
});
|
|
485
490
|
}
|
|
486
491
|
// ─── GraphQL field naming ────────────────────────
|
|
492
|
+
/**
|
|
493
|
+
* Who holds each root field — a GraphQL root is FLAT, and two ops can want one name.
|
|
494
|
+
*
|
|
495
|
+
* Refused here rather than left to Pothos: it answers `Duplicate field ofBook on
|
|
496
|
+
* Mutation` with no file, no handler and no remedy, and it takes the whole schema down
|
|
497
|
+
* — every other type included. The five CRUD names weave the entity in (`createBook`),
|
|
498
|
+
* so they never meet this; a custom op keeps its method name, which is the author's and
|
|
499
|
+
* says nothing about its subject. Four handlers named `ofBook` in one measured app.
|
|
500
|
+
*
|
|
501
|
+
* Nothing is renamed automatically: `chapterOfBook` would be this package's choice of
|
|
502
|
+
* the app's public vocabulary, and adding an entity in some other frond would silently
|
|
503
|
+
* rename a field already published.
|
|
504
|
+
*/
|
|
505
|
+
const claimed = new WeakMap();
|
|
506
|
+
function claimRootField(builder, fieldName, origin) {
|
|
507
|
+
let held = claimed.get(builder);
|
|
508
|
+
if (!held) {
|
|
509
|
+
held = new Map();
|
|
510
|
+
claimed.set(builder, held);
|
|
511
|
+
}
|
|
512
|
+
const first = held.get(fieldName);
|
|
513
|
+
if (first !== undefined && first !== origin) {
|
|
514
|
+
const opName = origin.split('.').pop();
|
|
515
|
+
// `operations:` is keyed by op name PER FROND, so it cannot tell two handlers of the
|
|
516
|
+
// same frond apart. Saying otherwise would send the author to a fix that cannot work.
|
|
517
|
+
const remedy = first.split('/')[0] === origin.split('/')[0]
|
|
518
|
+
? `Both are in the same frond, where \`operations:\` is keyed by op name and cannot `
|
|
519
|
+
+ `tell them apart — rename one of the methods.`
|
|
520
|
+
: `Rename one of the methods, or name the field in the frond.config.ts of whichever `
|
|
521
|
+
+ `should yield:\n operations: { ${opName}: { graphql: '…' } }`;
|
|
522
|
+
throw new Error(`two operations claim the GraphQL root field \`${fieldName}\`:\n`
|
|
523
|
+
+ ` ${first}\n ${origin}\n`
|
|
524
|
+
+ `A root field is global, so one of them has to give. ${remedy}`);
|
|
525
|
+
}
|
|
526
|
+
held.set(fieldName, origin);
|
|
527
|
+
}
|
|
487
528
|
function graphqlFieldName(opName, entityName) {
|
|
488
529
|
const nameLower = entityName.charAt(0).toLowerCase() + entityName.slice(1);
|
|
489
530
|
const namePlural = pluralize(nameLower);
|
|
@@ -499,24 +540,47 @@ function graphqlFieldName(opName, entityName) {
|
|
|
499
540
|
}
|
|
500
541
|
}
|
|
501
542
|
function buildArgsFromSignature(sig, meta, builder, opName, entityName) {
|
|
502
|
-
// Classify
|
|
543
|
+
// Classify from the façade's binding plan when it exists. A collector is not a
|
|
544
|
+
// GraphQL argument just because its value has an entity type: it is supplied by the
|
|
545
|
+
// invocation context, and publishing it would let callers impersonate that value.
|
|
503
546
|
const paramPlan = [];
|
|
547
|
+
const bindings = new Map((meta.binding ?? []).map((binding) => [binding.name, binding]));
|
|
504
548
|
for (const param of sig.params) {
|
|
505
549
|
const typeName = param.type.name;
|
|
550
|
+
const binding = bindings.get(param.name);
|
|
551
|
+
if (binding) {
|
|
552
|
+
switch (binding.source.kind) {
|
|
553
|
+
case 'collector':
|
|
554
|
+
case 'context':
|
|
555
|
+
case 'fact':
|
|
556
|
+
paramPlan.push({ name: param.name, kind: 'skip', typeName, optional: true, nullable: param.type.nullable === true });
|
|
557
|
+
continue;
|
|
558
|
+
case 'query':
|
|
559
|
+
paramPlan.push({ name: param.name, kind: 'pagination', typeName, optional: binding.optional, nullable: param.type.nullable === true });
|
|
560
|
+
continue;
|
|
561
|
+
case 'param':
|
|
562
|
+
paramPlan.push({ name: param.name, kind: 'primitive', typeName, optional: binding.optional, nullable: param.type.nullable === true });
|
|
563
|
+
continue;
|
|
564
|
+
case 'body':
|
|
565
|
+
paramPlan.push({ name: param.name, kind: 'body', typeName, optional: binding.optional, nullable: param.type.nullable === true });
|
|
566
|
+
continue;
|
|
567
|
+
}
|
|
568
|
+
}
|
|
569
|
+
// Compatibility for callers constructing OperationMeta by hand, without core's plan.
|
|
506
570
|
if (SKIP_TYPES.has(typeName)) {
|
|
507
|
-
paramPlan.push({ name: param.name, kind: 'skip', typeName, optional: true });
|
|
571
|
+
paramPlan.push({ name: param.name, kind: 'skip', typeName, optional: true, nullable: param.type.nullable === true });
|
|
508
572
|
continue;
|
|
509
573
|
}
|
|
510
574
|
if (typeName === 'ListOptions') {
|
|
511
|
-
paramPlan.push({ name: param.name, kind: 'pagination', typeName, optional: true });
|
|
575
|
+
paramPlan.push({ name: param.name, kind: 'pagination', typeName, optional: true, nullable: param.type.nullable === true });
|
|
512
576
|
continue;
|
|
513
577
|
}
|
|
514
578
|
if (typeName in PRIMITIVES) {
|
|
515
|
-
paramPlan.push({ name: param.name, kind: 'primitive', typeName, optional: param.optional ?? false });
|
|
579
|
+
paramPlan.push({ name: param.name, kind: 'primitive', typeName, optional: param.optional ?? false, nullable: param.type.nullable === true });
|
|
516
580
|
continue;
|
|
517
581
|
}
|
|
518
582
|
// Object/entity param → body
|
|
519
|
-
paramPlan.push({ name: param.name, kind: 'body', typeName, optional: param.optional ?? false });
|
|
583
|
+
paramPlan.push({ name: param.name, kind: 'body', typeName, optional: param.optional ?? false, nullable: param.type.nullable === true });
|
|
520
584
|
}
|
|
521
585
|
// Register input type if needed
|
|
522
586
|
let inputRef;
|
|
@@ -524,13 +588,15 @@ function buildArgsFromSignature(sig, meta, builder, opName, entityName) {
|
|
|
524
588
|
if (bodyParam && meta.input) {
|
|
525
589
|
// Only strip non-client fields for create/update — other ops may legitimately use them (e.g. publish(id))
|
|
526
590
|
const isMutation = opName === 'create' || opName === 'update';
|
|
527
|
-
const opInputFields = isMutation ?
|
|
528
|
-
const inputName = `${
|
|
591
|
+
const opInputFields = isMutation ? Visibility.of(meta.input.getFields()).input : meta.input.getFields();
|
|
592
|
+
const inputName = `${upperFirst(opName)}${entityName}Input`;
|
|
593
|
+
// `undefined` when the view asks for nothing, and `argsDef` already guards on it —
|
|
594
|
+
// the op then takes no input, which is the truth.
|
|
529
595
|
inputRef = registerInput(builder, {
|
|
530
596
|
name: inputName,
|
|
531
597
|
// A real schema over those fields, not a forged stand-in: an update input is the
|
|
532
598
|
// same fields seen through the patch mode.
|
|
533
|
-
schema: Schema.of(opInputFields,
|
|
599
|
+
schema: Schema.of({ fields: opInputFields, opts: { patch: opName === 'update' } }),
|
|
534
600
|
});
|
|
535
601
|
}
|
|
536
602
|
const hasPagination = paramPlan.some((p) => p.kind === 'pagination');
|
|
@@ -538,11 +604,14 @@ function buildArgsFromSignature(sig, meta, builder, opName, entityName) {
|
|
|
538
604
|
const args = {};
|
|
539
605
|
for (const p of paramPlan) {
|
|
540
606
|
if (p.kind === 'primitive') {
|
|
541
|
-
|
|
607
|
+
// GraphQL's NonNull means both "present" and "not null". A `T | null`
|
|
608
|
+
// parameter therefore cannot use it: the resolver still preserves an explicit
|
|
609
|
+
// null, and core remains the authority on the TypeScript invocation.
|
|
610
|
+
args[p.name] = PRIMITIVES[p.typeName](t, !p.optional && !p.nullable);
|
|
542
611
|
}
|
|
543
612
|
}
|
|
544
613
|
if (bodyParam && inputRef) {
|
|
545
|
-
args.input = t.arg({ type: inputRef, required: !bodyParam.optional });
|
|
614
|
+
args.input = t.arg({ type: inputRef, required: !bodyParam.optional && !bodyParam.nullable });
|
|
546
615
|
}
|
|
547
616
|
if (hasPagination) {
|
|
548
617
|
args.limit = t.arg.int();
|
|
@@ -559,7 +628,10 @@ function buildArgsFromSignature(sig, meta, builder, opName, entityName) {
|
|
|
559
628
|
let body = undefined;
|
|
560
629
|
for (const p of paramPlan) {
|
|
561
630
|
if (p.kind === 'primitive') {
|
|
562
|
-
|
|
631
|
+
// graphql-js omits an omitted optional argument and keeps an explicitly supplied
|
|
632
|
+
// null. Test undefined alone: `!= null` erased the second case and made
|
|
633
|
+
// `foo?: T | null` indistinguishable from `foo?: T`.
|
|
634
|
+
if (args[p.name] !== undefined)
|
|
563
635
|
params[p.name] = args[p.name];
|
|
564
636
|
}
|
|
565
637
|
else if (p.kind === 'body') {
|
|
@@ -569,7 +641,7 @@ function buildArgsFromSignature(sig, meta, builder, opName, entityName) {
|
|
|
569
641
|
// Collect pagination args into body (ListOptions)
|
|
570
642
|
const options = {};
|
|
571
643
|
for (const key of ['limit', 'offset', 'page', 'after', 'orderBy', 'order']) {
|
|
572
|
-
if (args[key]
|
|
644
|
+
if (args[key] !== undefined)
|
|
573
645
|
options[key] = args[key];
|
|
574
646
|
}
|
|
575
647
|
body = options;
|
|
@@ -608,7 +680,7 @@ function resolveOutputType(sig, config, meta, opName) {
|
|
|
608
680
|
if (rt?.array) {
|
|
609
681
|
return { type: [type], isList: false, nullable: false };
|
|
610
682
|
}
|
|
611
|
-
return { type, isList: false, nullable: rt?.nullable
|
|
683
|
+
return { type, isList: false, nullable: rt?.nullable === true || rt?.undefined === true };
|
|
612
684
|
}
|
|
613
685
|
// ─── registerOperations ──────────────────────────
|
|
614
686
|
/**
|
|
@@ -646,12 +718,15 @@ export function registerOperations(builder, config) {
|
|
|
646
718
|
});
|
|
647
719
|
}
|
|
648
720
|
for (const [opName, meta] of config.operations) {
|
|
649
|
-
if (typeof config.facade[opName] !== 'function')
|
|
650
|
-
|
|
721
|
+
if (typeof config.facade[opName] !== 'function') {
|
|
722
|
+
throw new Error(`GraphQL EffectiveOperation table exposes '${opName}' but its facade does not.`);
|
|
723
|
+
}
|
|
651
724
|
const sig = meta.signature;
|
|
652
725
|
if (!sig)
|
|
653
726
|
continue;
|
|
654
|
-
const fieldName =
|
|
727
|
+
const fieldName = config.operationsOverrides?.[opName]?.graphql
|
|
728
|
+
?? graphqlFieldName(opName, config.name);
|
|
729
|
+
claimRootField(builder, fieldName, `${config.origin ?? config.name}.${opName}`);
|
|
655
730
|
const { argsDef, buildInvocation } = buildArgsFromSignature(sig, meta, builder, opName, config.name);
|
|
656
731
|
// Output type — what the op declares, else the entity's.
|
|
657
732
|
const output = resolveOutputType(sig, config, meta, opName);
|
|
@@ -685,7 +760,7 @@ export function registerOperations(builder, config) {
|
|
|
685
760
|
},
|
|
686
761
|
}),
|
|
687
762
|
});
|
|
688
|
-
if (
|
|
763
|
+
if (operationIsQuery(opName, meta.kind)) {
|
|
689
764
|
builder.queryFields(fieldDef);
|
|
690
765
|
}
|
|
691
766
|
else {
|
package/dist/pothos.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pothos.js","sourceRoot":"","sources":["../src/pothos.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pothos.js","sourceRoot":"","sources":["../src/pothos.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fougere/adapter-graphql",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0-alpha.0",
|
|
4
4
|
"description": "Entity → GraphQL types, inputs and CRUD, through Pothos.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"fougere",
|
|
@@ -30,11 +30,12 @@
|
|
|
30
30
|
}
|
|
31
31
|
},
|
|
32
32
|
"files": [
|
|
33
|
-
"dist"
|
|
33
|
+
"dist",
|
|
34
|
+
"src"
|
|
34
35
|
],
|
|
35
36
|
"dependencies": {
|
|
36
|
-
"@fougere/schema": "0.
|
|
37
|
-
"@fougere/http": "0.
|
|
37
|
+
"@fougere/schema": "0.4.0-alpha.0",
|
|
38
|
+
"@fougere/http": "0.4.0-alpha.0"
|
|
38
39
|
},
|
|
39
40
|
"peerDependencies": {
|
|
40
41
|
"@pothos/core": ">=4.0.0",
|
package/src/app.ts
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import SchemaBuilder from '@pothos/core';
|
|
2
|
+
import { graphql, type ExecutionResult, type GraphQLSchema } from 'graphql';
|
|
3
|
+
import { registerAll } from './auto-register.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* What a GraphQL request carries, whatever host read it.
|
|
7
|
+
*
|
|
8
|
+
* The same shape a door hands in, so a host translates its own request once and this
|
|
9
|
+
* package never learns what an HTTP framework is.
|
|
10
|
+
*/
|
|
11
|
+
export interface AppQuery {
|
|
12
|
+
query: string;
|
|
13
|
+
variables?: Record<string, unknown>;
|
|
14
|
+
operationName?: string;
|
|
15
|
+
/** The audience, when the door was mounted per surface. */
|
|
16
|
+
surface?: string;
|
|
17
|
+
/** What the server resolved about the caller — never what the wire claimed. */
|
|
18
|
+
state?: Record<string, unknown>;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/** The shape this package needs of an app: its fronds, and how to reach a façade. */
|
|
22
|
+
type AppLike = Parameters<typeof registerAll>[1];
|
|
23
|
+
|
|
24
|
+
/** One executable schema per (app, audience) — building it walks every entity. */
|
|
25
|
+
const schemas = new WeakMap<object, Map<string, GraphQLSchema>>();
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* The app's schema, derived and kept.
|
|
29
|
+
*
|
|
30
|
+
* Every line of the derivation is convention — a builder, the two root types, and the
|
|
31
|
+
* entities the app already scanned — so nothing an app could usefully say differently.
|
|
32
|
+
* Declaring `adapters: { graphql: true }` is the whole configuration.
|
|
33
|
+
*
|
|
34
|
+
* It lives HERE, beside Pothos, and not in the host package that used to hold it. The
|
|
35
|
+
* separation had a cost no comment could pay: `graphql` guards its types with
|
|
36
|
+
* `instanceOf`, so a schema built by one loaded copy is refused by another with *"from
|
|
37
|
+
* another module or realm"*. Building and executing across a package boundary made two
|
|
38
|
+
* copies possible; on this side of it there is one.
|
|
39
|
+
*/
|
|
40
|
+
export function schemaOf(app: AppLike, surface?: string): GraphQLSchema {
|
|
41
|
+
const perApp = schemas.get(app as object) ?? new Map<string, GraphQLSchema>();
|
|
42
|
+
schemas.set(app as object, perApp);
|
|
43
|
+
|
|
44
|
+
const key = surface ?? '';
|
|
45
|
+
const built = perApp.get(key);
|
|
46
|
+
if (built) return built;
|
|
47
|
+
|
|
48
|
+
const builder = new SchemaBuilder({});
|
|
49
|
+
builder.queryType({});
|
|
50
|
+
builder.mutationType({});
|
|
51
|
+
registerAll(builder as never, app, surface ? { surface } : undefined);
|
|
52
|
+
|
|
53
|
+
const schema = builder.toSchema() as GraphQLSchema;
|
|
54
|
+
perApp.set(key, schema);
|
|
55
|
+
return schema;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Execute a query against the app's own operations.
|
|
60
|
+
*
|
|
61
|
+
* Returns the GraphQL result as it is: a GraphQL error is not a transport error, and the
|
|
62
|
+
* errors ride in the body where a client is required to look for them. Turning that into
|
|
63
|
+
* a status belongs to whichever door asked.
|
|
64
|
+
*/
|
|
65
|
+
export async function executeOn(app: AppLike, request: AppQuery): Promise<ExecutionResult> {
|
|
66
|
+
return graphql({
|
|
67
|
+
schema: schemaOf(app, request.surface),
|
|
68
|
+
source: request.query,
|
|
69
|
+
variableValues: request.variables,
|
|
70
|
+
operationName: request.operationName,
|
|
71
|
+
contextValue: { state: request.state ?? {} },
|
|
72
|
+
});
|
|
73
|
+
}
|