@fougere/adapter-graphql 0.9.2-alpha.0 → 0.10.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.
Files changed (72) hide show
  1. package/dist/EntityClass.d.ts +3 -0
  2. package/dist/EntityClass.d.ts.map +1 -0
  3. package/dist/EntityClass.js +2 -0
  4. package/dist/EntityClass.js.map +1 -0
  5. package/dist/InputConfig.d.ts +8 -0
  6. package/dist/InputConfig.d.ts.map +1 -0
  7. package/dist/InputConfig.js +2 -0
  8. package/dist/InputConfig.js.map +1 -0
  9. package/dist/ObjectFieldDef.d.ts +10 -0
  10. package/dist/ObjectFieldDef.d.ts.map +1 -0
  11. package/dist/ObjectFieldDef.js +2 -0
  12. package/dist/ObjectFieldDef.js.map +1 -0
  13. package/dist/OperationBinding.d.ts +13 -0
  14. package/dist/OperationBinding.d.ts.map +1 -0
  15. package/dist/OperationBinding.js +2 -0
  16. package/dist/OperationBinding.js.map +1 -0
  17. package/dist/OperationMeta.d.ts +19 -0
  18. package/dist/OperationMeta.d.ts.map +1 -0
  19. package/dist/OperationMeta.js +2 -0
  20. package/dist/OperationMeta.js.map +1 -0
  21. package/dist/OperationsConfig.d.ts +37 -0
  22. package/dist/OperationsConfig.d.ts.map +1 -0
  23. package/dist/{pothos.js → OperationsConfig.js} +3 -2
  24. package/dist/OperationsConfig.js.map +1 -0
  25. package/dist/ParsedSignature.d.ts +25 -0
  26. package/dist/ParsedSignature.d.ts.map +1 -0
  27. package/dist/ParsedSignature.js +2 -0
  28. package/dist/ParsedSignature.js.map +1 -0
  29. package/dist/PresenterInstance.d.ts +2 -0
  30. package/dist/PresenterInstance.d.ts.map +1 -0
  31. package/dist/PresenterInstance.js +2 -0
  32. package/dist/PresenterInstance.js.map +1 -0
  33. package/dist/RelationConfig.d.ts +9 -0
  34. package/dist/RelationConfig.d.ts.map +1 -0
  35. package/dist/RelationConfig.js +2 -0
  36. package/dist/RelationConfig.js.map +1 -0
  37. package/dist/ScalarName.d.ts +2 -0
  38. package/dist/ScalarName.d.ts.map +1 -0
  39. package/dist/ScalarName.js +2 -0
  40. package/dist/ScalarName.js.map +1 -0
  41. package/dist/TypeConfig.d.ts +33 -0
  42. package/dist/TypeConfig.d.ts.map +1 -0
  43. package/dist/TypeConfig.js +2 -0
  44. package/dist/TypeConfig.js.map +1 -0
  45. package/dist/app.d.ts +1 -1
  46. package/dist/app.d.ts.map +1 -1
  47. package/dist/auto-register.d.ts +3 -2
  48. package/dist/auto-register.d.ts.map +1 -1
  49. package/dist/auto-register.js +5 -5
  50. package/dist/auto-register.js.map +1 -1
  51. package/dist/pothos-entry.d.ts +1 -1
  52. package/dist/pothos-entry.d.ts.map +1 -1
  53. package/dist/pothos-entry.js +1 -1
  54. package/dist/pothos-entry.js.map +1 -1
  55. package/package.json +3 -3
  56. package/src/EntityClass.ts +3 -0
  57. package/src/InputConfig.ts +8 -0
  58. package/src/ObjectFieldDef.ts +9 -0
  59. package/src/OperationBinding.ts +8 -0
  60. package/src/OperationMeta.ts +19 -0
  61. package/src/{pothos.ts → OperationsConfig.ts} +8 -89
  62. package/src/ParsedSignature.ts +6 -0
  63. package/src/PresenterInstance.ts +1 -0
  64. package/src/RelationConfig.ts +8 -0
  65. package/src/ScalarName.ts +1 -0
  66. package/src/TypeConfig.ts +28 -0
  67. package/src/app.ts +1 -1
  68. package/src/auto-register.ts +7 -6
  69. package/src/pothos-entry.ts +1 -1
  70. package/dist/pothos.d.ts +0 -143
  71. package/dist/pothos.d.ts.map +0 -1
  72. package/dist/pothos.js.map +0 -1
@@ -0,0 +1,3 @@
1
+ import type { SchemaView } from '@fougere/schema';
2
+ export type EntityClass = SchemaView & (abstract new (...args: any[]) => any);
3
+ //# sourceMappingURL=EntityClass.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EntityClass.d.ts","sourceRoot":"","sources":["../src/EntityClass.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,CAAC,QAAQ,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=EntityClass.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EntityClass.js","sourceRoot":"","sources":["../src/EntityClass.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import type { SchemaView } from '@fougere/schema';
2
+ export interface InputConfig {
3
+ /** The GraphQL type name. */
4
+ name: string;
5
+ /** The view to project — derive it (`pick`/`omit`/`partial`) before handing it over. */
6
+ schema: SchemaView;
7
+ }
8
+ //# sourceMappingURL=InputConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InputConfig.d.ts","sourceRoot":"","sources":["../src/InputConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,WAAW,WAAW;IAC1B,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,wFAAwF;IACxF,MAAM,EAAE,UAAU,CAAC;CACpB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=InputConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InputConfig.js","sourceRoot":"","sources":["../src/InputConfig.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ import type { ScalarName } from './ScalarName.js';
2
+ /** Declarative field definition for registerObjectType. */
3
+ export interface ObjectFieldDef {
4
+ /** Scalar name ('string', 'int', 'float', 'boolean') or Pothos type ref. Use [ref] for lists. */
5
+ type: ScalarName | any;
6
+ nullable?: boolean;
7
+ /** Custom resolver. Defaults to `(parent) => parent[fieldName]`. */
8
+ resolve?: (parent: any) => any;
9
+ }
10
+ //# sourceMappingURL=ObjectFieldDef.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObjectFieldDef.d.ts","sourceRoot":"","sources":["../src/ObjectFieldDef.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,2DAA2D;AAC3D,MAAM,WAAW,cAAc;IAC7B,iGAAiG;IACjG,IAAI,EAAE,UAAU,GAAG,GAAG,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oEAAoE;IACpE,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC;CAChC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ObjectFieldDef.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObjectFieldDef.js","sourceRoot":"","sources":["../src/ObjectFieldDef.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ export interface OperationBinding {
2
+ name: string;
3
+ optional: boolean;
4
+ source: {
5
+ kind: 'collector' | 'context' | 'fact';
6
+ } | {
7
+ kind: 'param';
8
+ name: string;
9
+ } | {
10
+ kind: 'input' | 'query';
11
+ };
12
+ }
13
+ //# sourceMappingURL=OperationBinding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OperationBinding.d.ts","sourceRoot":"","sources":["../src/OperationBinding.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EACF;QAAE,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,MAAM,CAAA;KAAE,GAC1C;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAC/B;QAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAA;KAAE,CAAC;CACjC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=OperationBinding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OperationBinding.js","sourceRoot":"","sources":["../src/OperationBinding.ts"],"names":[],"mappings":""}
@@ -0,0 +1,19 @@
1
+ import type { SchemaView } from '@fougere/schema';
2
+ import type { ParsedSignature } from './ParsedSignature.js';
3
+ import type { OperationBinding } from './OperationBinding.js';
4
+ /** The projection-facing subset of core's EffectiveOperation. */
5
+ export interface OperationMeta {
6
+ input?: SchemaView;
7
+ output?: SchemaView;
8
+ /** Canonical kind from core's EffectiveOperation. */
9
+ kind: 'query' | 'command';
10
+ signature?: ParsedSignature;
11
+ /** The façade's effective answer to where every parameter comes from. */
12
+ binding?: OperationBinding[];
13
+ /**
14
+ * The operation in words. It reaches here through core's EffectiveOperation table;
15
+ * this narrowed view simply carries it to the GraphQL field.
16
+ */
17
+ description?: string;
18
+ }
19
+ //# sourceMappingURL=OperationMeta.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OperationMeta.d.ts","sourceRoot":"","sources":["../src/OperationMeta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,iEAAiE;AACjE,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,qDAAqD;IACrD,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,yEAAyE;IACzE,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC7B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=OperationMeta.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OperationMeta.js","sourceRoot":"","sources":["../src/OperationMeta.ts"],"names":[],"mappings":""}
@@ -0,0 +1,37 @@
1
+ import type SchemaBuilder from '@pothos/core';
2
+ import type { SchemaView } from '@fougere/schema';
3
+ import type { TypeConfig } from './TypeConfig.js';
4
+ import type { InputConfig } from './InputConfig.js';
5
+ import type { OperationMeta } from './OperationMeta.js';
6
+ import type { ObjectFieldDef } from './ObjectFieldDef.js';
7
+ export interface OperationsConfig {
8
+ /** Entity name (PascalCase). */
9
+ name: string;
10
+ /** GraphQL entity type ref (from registerType). */
11
+ type: any;
12
+ /** Handler facade — each op receives InvocationContext. */
13
+ facade: Record<string, Function>;
14
+ /** Operations metadata from scanner (signature + resolved schemas). */
15
+ operations: Map<string, OperationMeta>;
16
+ /** Per-op kind overrides from frond.config.ts (optional). */
17
+ operationsOverrides?: Record<string, {
18
+ kind?: 'query' | 'command';
19
+ graphql?: string;
20
+ }>;
21
+ /**
22
+ * Who is registering — `catalog/ChapterHandler`, for the message when two ops claim
23
+ * one root field. Absent when a caller builds a type by hand.
24
+ */
25
+ origin?: string;
26
+ /** The GraphQL type for a schema an operation declares as its return. */
27
+ viewType?: (view: SchemaView, opName: string) => any;
28
+ }
29
+ /** Register a GraphQL object type from a declarative field map. */
30
+ export declare function registerObjectType(builder: InstanceType<typeof SchemaBuilder>, name: string, fieldDefs: Record<string, ObjectFieldDef>): any;
31
+ /** Enregistre un type GraphQL (lecture) depuis une entité fougere. */
32
+ export declare function registerType(builder: InstanceType<typeof SchemaBuilder>, config: TypeConfig): any;
33
+ /** The GraphQL input for EXACTLY this view — or none, when the view asks for nothing. */
34
+ export declare function registerInput(builder: InstanceType<typeof SchemaBuilder>, config: InputConfig): any;
35
+ /** Register all GraphQL operations for an entity from parsed handler signatures. */
36
+ export declare function registerOperations(builder: InstanceType<typeof SchemaBuilder>, config: OperationsConfig): void;
37
+ //# sourceMappingURL=OperationsConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OperationsConfig.d.ts","sourceRoot":"","sources":["../src/OperationsConfig.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,aAAa,MAAM,cAAc,CAAC;AAE9C,OAAO,KAAK,EAAS,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAO1D,MAAM,WAAW,gBAAgB;IAC/B,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,IAAI,EAAE,GAAG,CAAC;IACV,2DAA2D;IAC3D,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACjC,uEAAuE;IACvE,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACvC,6DAA6D;IAC7D,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvF;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,KAAK,GAAG,CAAC;CACtD;AAuRD,mEAAmE;AACnE,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,YAAY,CAAC,OAAO,aAAa,CAAC,EAC3C,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,GACxC,GAAG,CAqCL;AAID,sEAAsE;AACtE,wBAAgB,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,OAAO,aAAa,CAAC,EAAE,MAAM,EAAE,UAAU,GAAG,GAAG,CA8HjG;AAED,yFAAyF;AACzF,wBAAgB,aAAa,CAAC,OAAO,EAAE,YAAY,CAAC,OAAO,aAAa,CAAC,EAAE,MAAM,EAAE,WAAW,GAAG,GAAG,CA+BnG;AAkOD,oFAAoF;AACpF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,YAAY,CAAC,OAAO,aAAa,CAAC,EAAE,MAAM,EAAE,gBAAgB,GAAG,IAAI,CA4E9G"}
@@ -229,6 +229,7 @@ const SCALARS = {
229
229
  function isScalar(type) {
230
230
  return typeof type === 'string' && type in SCALARS;
231
231
  }
232
+ // ─── registerObjectType ───────────────────────────
232
233
  /** Register a GraphQL object type from a declarative field map. */
233
234
  export function registerObjectType(builder, name, fieldDefs) {
234
235
  return builder.objectRef(name).implement({
@@ -344,7 +345,7 @@ export function registerType(builder, config) {
344
345
  const meta = metaMap.get(name);
345
346
  const nullable = meta?.nullable ?? true;
346
347
  // READ the value, never recompute it. The façade applies the presenter on every
347
- // door (`PresenterExecutor`), so the row arrives carrying its computed fields; calling
348
+ // facade (`PresenterExecutor`), so the row arrives carrying its computed fields; calling
348
349
  // the method again ran the work twice — and once the method started receiving the
349
350
  // PAGE rather than one row, the second call was handed a single object and threw
350
351
  // `posts.map is not a function`. What GraphQL owes the field is its declaration.
@@ -667,4 +668,4 @@ export function registerOperations(builder, config) {
667
668
  }
668
669
  }
669
670
  }
670
- //# sourceMappingURL=pothos.js.map
671
+ //# sourceMappingURL=OperationsConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OperationsConfig.js","sourceRoot":"","sources":["../src/OperationsConfig.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /** Parsed method signature (mirrors core OperationMeta.signature). */
2
+ export interface ParsedSignature {
3
+ name: string;
4
+ params: {
5
+ name: string;
6
+ type: {
7
+ raw: string;
8
+ name: string;
9
+ array?: boolean;
10
+ nullable?: boolean;
11
+ undefined?: boolean;
12
+ generics?: ParsedSignature['params'][0]['type'][];
13
+ };
14
+ optional?: boolean;
15
+ }[];
16
+ returnType?: {
17
+ raw: string;
18
+ name: string;
19
+ array?: boolean;
20
+ nullable?: boolean;
21
+ undefined?: boolean;
22
+ generics?: ParsedSignature['params'][0]['type'][];
23
+ };
24
+ }
25
+ //# sourceMappingURL=ParsedSignature.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParsedSignature.d.ts","sourceRoot":"","sources":["../src/ParsedSignature.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,OAAO,CAAC;YAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;YAAC,SAAS,CAAC,EAAE,OAAO,CAAC;YAAC,QAAQ,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAA;SAAE,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;IACjM,UAAU,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAA;KAAE,CAAC;CACzJ"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ParsedSignature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParsedSignature.js","sourceRoot":"","sources":["../src/ParsedSignature.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export type PresenterInstance = Record<string, (parent: any) => any>;
2
+ //# sourceMappingURL=PresenterInstance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PresenterInstance.d.ts","sourceRoot":"","sources":["../src/PresenterInstance.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=PresenterInstance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PresenterInstance.js","sourceRoot":"","sources":["../src/PresenterInstance.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ export interface RelationConfig {
2
+ /** Type GraphQL cible (retourné par registerType) */
3
+ type: any;
4
+ /** Est-ce une liste ? */
5
+ list?: boolean;
6
+ /** Résolveur personnalisé */
7
+ resolve: (parent: any) => any;
8
+ }
9
+ //# sourceMappingURL=RelationConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RelationConfig.d.ts","sourceRoot":"","sources":["../src/RelationConfig.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,qDAAqD;IACrD,IAAI,EAAE,GAAG,CAAC;IACV,yBAAyB;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,6BAA6B;IAC7B,OAAO,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC;CAC/B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=RelationConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RelationConfig.js","sourceRoot":"","sources":["../src/RelationConfig.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export type ScalarName = 'string' | 'int' | 'float' | 'boolean';
2
+ //# sourceMappingURL=ScalarName.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScalarName.d.ts","sourceRoot":"","sources":["../src/ScalarName.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,KAAK,GAAG,OAAO,GAAG,SAAS,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ScalarName.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScalarName.js","sourceRoot":"","sources":["../src/ScalarName.ts"],"names":[],"mappings":""}
@@ -0,0 +1,33 @@
1
+ import type { EntityClass } from './EntityClass.js';
2
+ import type { PresenterInstance } from './PresenterInstance.js';
3
+ import type { SchemaView } from '@fougere/schema';
4
+ import type { RelationConfig } from './RelationConfig.js';
5
+ export interface TypeConfig {
6
+ /** Nom du type GraphQL */
7
+ name: string;
8
+ /** The schema whose fields become the type — a live class, or a card that travelled. */
9
+ entity: SchemaView;
10
+ /** Champs à exclure du type GraphQL */
11
+ exclude?: string[];
12
+ /** Relations à résoudre */
13
+ relations?: Record<string, RelationConfig>;
14
+ /** Presenter instance — adds computed fields as resolveFields on this type. */
15
+ presenter?: PresenterInstance;
16
+ /** Presenter field names (methods to expose). If absent, all methods are exposed. */
17
+ presenterFields?: string[];
18
+ /** Per-field type metadata from source parsing. */
19
+ presenterFieldMeta?: {
20
+ name: string;
21
+ returnType?: string;
22
+ list?: boolean;
23
+ nullable?: boolean;
24
+ }[];
25
+ /**
26
+ * The view a computed field emits, when the presenter declared one — the object type to build
27
+ * for it.
28
+ */
29
+ presenterViews?: Record<string, EntityClass | [EntityClass]>;
30
+ /** Builds (or reuses) the GraphQL object type for a declared view. */
31
+ viewType?: (view: EntityClass, fieldName: string) => any;
32
+ }
33
+ //# sourceMappingURL=TypeConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TypeConfig.d.ts","sourceRoot":"","sources":["../src/TypeConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,WAAW,UAAU;IACzB,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,wFAAwF;IACxF,MAAM,EAAE,UAAU,CAAC;IACnB,uCAAuC;IACvC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC3C,+EAA+E;IAC/E,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,qFAAqF;IACrF,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,mDAAmD;IACnD,kBAAkB,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;IACjG;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;IAC7D,sEAAsE;IACtE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,KAAK,GAAG,CAAC;CAC1D"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=TypeConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TypeConfig.js","sourceRoot":"","sources":["../src/TypeConfig.ts"],"names":[],"mappings":""}
package/dist/app.d.ts CHANGED
@@ -5,7 +5,7 @@ export interface AppQuery {
5
5
  query: string;
6
6
  variables?: Record<string, unknown>;
7
7
  operationName?: string;
8
- /** The audience, when the door was mounted per surface. */
8
+ /** The audience, when the facade was mounted per surface. */
9
9
  surface?: string;
10
10
  /** What the server resolved about the caller — never what the wire claimed. */
11
11
  state?: Record<string, unknown>;
package/dist/app.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,KAAK,eAAe,EAAE,KAAK,aAAa,EAAE,MAAM,SAAS,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,6DAA6D;AAC7D,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+EAA+E;IAC/E,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,qFAAqF;AACrF,KAAK,OAAO,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;AAKjD,0CAA0C;AAC1C,wBAAgB,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,aAAa,CAgBtE;AAED,wDAAwD;AACxD,wBAAsB,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,eAAe,CAAC,CAQzF"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,KAAK,eAAe,EAAE,KAAK,aAAa,EAAE,MAAM,SAAS,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,6DAA6D;AAC7D,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+EAA+E;IAC/E,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,qFAAqF;AACrF,KAAK,OAAO,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;AAKjD,0CAA0C;AAC1C,wBAAgB,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,aAAa,CAgBtE;AAED,wDAAwD;AACxD,wBAAsB,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,eAAe,CAAC,CAQzF"}
@@ -1,7 +1,7 @@
1
1
  /** Auto-register GraphQL types and operations from a fougere App. */
2
2
  import type SchemaBuilder from '@pothos/core';
3
3
  import type { SchemaView } from '@fougere/schema';
4
- import { type OperationMeta } from './pothos.js';
4
+ import { type OperationMeta } from './OperationMeta.js';
5
5
  interface EntityEntry {
6
6
  name: string;
7
7
  /** A live class in-process, a card from a frond whose class never crossed. */
@@ -10,7 +10,7 @@ interface EntityEntry {
10
10
  }
11
11
  interface HandlerEntry {
12
12
  /**
13
- * The name the door answers to — `PostHandler` → `post`. NOT an entity name: a handler may carry
13
+ * The name the facade answers to — `PostHandler` → `post`. NOT an entity name: a handler may carry
14
14
  * none.
15
15
  */
16
16
  address: string;
@@ -62,6 +62,7 @@ export interface RegisterAllOptions {
62
62
  /** Surface name for filtering (e.g. 'graphql', 'rest'). Uses frond.config.ts surfaces if set. */
63
63
  surface?: string;
64
64
  }
65
+ /** Auto-register GraphQL types and operations from a fougere App. */
65
66
  export declare function registerAll(builder: InstanceType<typeof SchemaBuilder>, app: AppLike, options?: RegisterAllOptions): void;
66
67
  export {};
67
68
  //# sourceMappingURL=auto-register.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auto-register.d.ts","sourceRoot":"","sources":["../src/auto-register.ts"],"names":[],"mappings":"AACA,qEAAqE;AACrE,OAAO,KAAK,aAAa,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAU,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EAAoC,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAyFnF,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,WAAW,EAAE,UAAU,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,UAAU,YAAY;IACpB;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,UAAU,CAAC;IAC5B,0FAA0F;IAC1F,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,UAAU,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACjD;AAED,UAAU,kBAAkB;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iFAAiF;IACjF,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,UAAU,cAAc;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,kBAAkB,EAAE,CAAC;IAChC,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACpC,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QACnC,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;CACJ;AAED,UAAU,OAAO;IACf,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,4EAA4E;IAC5E,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,SAAS,CAAC;IAClF,kDAAkD;IAClD,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,SAAS,CAAC;IACxF,0DAA0D;IAC1D,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CACnD;AAoBD,MAAM,WAAW,kBAAkB;IACjC,uFAAuF;IACvF,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;IAC7D,iGAAiG;IACjG,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAiBD,wBAAgB,WAAW,CACzB,OAAO,EAAE,YAAY,CAAC,OAAO,aAAa,CAAC,EAC3C,GAAG,EAAE,OAAO,EACZ,OAAO,CAAC,EAAE,kBAAkB,GAC3B,IAAI,CAgNN"}
1
+ {"version":3,"file":"auto-register.d.ts","sourceRoot":"","sources":["../src/auto-register.ts"],"names":[],"mappings":"AACA,qEAAqE;AACrE,OAAO,KAAK,aAAa,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAU,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AA0FxD,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,WAAW,EAAE,UAAU,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,UAAU,YAAY;IACpB;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,UAAU,CAAC;IAC5B,0FAA0F;IAC1F,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,UAAU,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACjD;AAED,UAAU,kBAAkB;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iFAAiF;IACjF,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,UAAU,cAAc;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,kBAAkB,EAAE,CAAC;IAChC,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACpC,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QACnC,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;CACJ;AAED,UAAU,OAAO;IACf,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,4EAA4E;IAC5E,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,SAAS,CAAC;IAClF,kDAAkD;IAClD,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,SAAS,CAAC;IACxF,0DAA0D;IAC1D,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CACnD;AAoBD,MAAM,WAAW,kBAAkB;IACjC,uFAAuF;IACvF,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;IAC7D,iGAAiG;IACjG,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAgBD,qEAAqE;AACrE,wBAAgB,WAAW,CACzB,OAAO,EAAE,YAAY,CAAC,OAAO,aAAa,CAAC,EAC3C,GAAG,EAAE,OAAO,EACZ,OAAO,CAAC,EAAE,kBAAkB,GAC3B,IAAI,CAgNN"}
@@ -1,6 +1,6 @@
1
1
  import { upperFirst, FieldSet, Role } from '@fougere/schema';
2
2
  import { Shapes } from '@fougere/schema';
3
- import { registerType, registerOperations } from './pothos.js';
3
+ import { registerOperations, registerType } from './OperationsConfig.js';
4
4
  /** The relation a foreign key points at — `authorId → author`, `user_id → user`. */
5
5
  function relationNameFor(fieldName) {
6
6
  const stripped = fieldName.replace(/(_id|Id|ID)$/, '');
@@ -8,7 +8,7 @@ function relationNameFor(fieldName) {
8
8
  }
9
9
  /**
10
10
  * The field a target is keyed by — what a batch read indexes its answer on. The shape
11
- * answers the absence and this door defaults it: `id` is what a node id falls back to.
11
+ * answers the absence and this facade defaults it: `id` is what a node id falls back to.
12
12
  */
13
13
  function primaryNameOf(fields) {
14
14
  return FieldSet.of(fields).primary ?? 'id';
@@ -80,7 +80,6 @@ function registryKey(entityName) {
80
80
  function targetKey(target) {
81
81
  return registryKey(String(target?.name ?? ''));
82
82
  }
83
- /** Auto-register GraphQL types and operations from a fougere App. */
84
83
  /** The GraphQL type of a declared presenter view, built once per view class. */
85
84
  const viewTypes = new WeakMap();
86
85
  function viewTypeOf(builder, view, name) {
@@ -91,6 +90,7 @@ function viewTypeOf(builder, view, name) {
91
90
  viewTypes.set(view, type);
92
91
  return type;
93
92
  }
93
+ /** Auto-register GraphQL types and operations from a fougere App. */
94
94
  export function registerAll(builder, app, options) {
95
95
  // Collect registered types across all fronds for relation wiring, keyed by entity NAME.
96
96
  //
@@ -197,13 +197,13 @@ export function registerAll(builder, app, options) {
197
197
  const fk = parent[fieldName];
198
198
  if (fk == null)
199
199
  return null;
200
- // A door that serves no list — a handler narrowed to `findById` — keeps the
200
+ // A facade that serves no list — a handler narrowed to `findById` — keeps the
201
201
  // row-at-a-time path rather than losing the relation entirely.
202
202
  if (typeof targetList !== 'function') {
203
203
  return targetEntry.facade.findById({ params: { id: fk }, query: {}, body: undefined, state: {} });
204
204
  }
205
205
  return loadByKey(ctx, directionKey(targetKey(target), targetKeyName), String(fk), (ids) =>
206
- // The door the `many` dual already uses, with a SET where it names one
206
+ // The facade the `many` dual already uses, with a SET where it names one
207
207
  // value. Nothing new is published: a criterion learned to name several.
208
208
  readInSlices(ids, async (slice) => {
209
209
  const result = await targetList.call(targetEntry.facade, {
@@ -1 +1 @@
1
- {"version":3,"file":"auto-register.js","sourceRoot":"","sources":["../src/auto-register.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auto-register.js","sourceRoot":"","sources":["../src/auto-register.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  /** The Pothos primitives — for what `registerAll` cannot derive, never to replace it. */
2
- export { registerType, registerInput, registerOperations } from './pothos.js';
2
+ export { registerInput, registerOperations, registerType } from './OperationsConfig.js';
3
3
  //# sourceMappingURL=pothos-entry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pothos-entry.d.ts","sourceRoot":"","sources":["../src/pothos-entry.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"pothos-entry.d.ts","sourceRoot":"","sources":["../src/pothos-entry.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC"}
@@ -1,3 +1,3 @@
1
1
  /** The Pothos primitives — for what `registerAll` cannot derive, never to replace it. */
2
- export { registerType, registerInput, registerOperations } from './pothos.js';
2
+ export { registerInput, registerOperations, registerType } from './OperationsConfig.js';
3
3
  //# sourceMappingURL=pothos-entry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pothos-entry.js","sourceRoot":"","sources":["../src/pothos-entry.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"pothos-entry.js","sourceRoot":"","sources":["../src/pothos-entry.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fougere/adapter-graphql",
3
- "version": "0.9.2-alpha.0",
3
+ "version": "0.10.0-alpha.0",
4
4
  "description": "Entity → GraphQL types, inputs and CRUD, through Pothos.",
5
5
  "keywords": [
6
6
  "fougere",
@@ -34,8 +34,8 @@
34
34
  "src"
35
35
  ],
36
36
  "dependencies": {
37
- "@fougere/schema": "0.9.2-alpha.0",
38
- "@fougere/http": "0.9.2-alpha.0"
37
+ "@fougere/http": "0.10.0-alpha.0",
38
+ "@fougere/schema": "0.10.0-alpha.0"
39
39
  },
40
40
  "peerDependencies": {
41
41
  "@pothos/core": ">=4.0.0",
@@ -0,0 +1,3 @@
1
+ import type { SchemaView } from '@fougere/schema';
2
+
3
+ export type EntityClass = SchemaView & (abstract new (...args: any[]) => any);
@@ -0,0 +1,8 @@
1
+ import type { SchemaView } from '@fougere/schema';
2
+
3
+ export interface InputConfig {
4
+ /** The GraphQL type name. */
5
+ name: string;
6
+ /** The view to project — derive it (`pick`/`omit`/`partial`) before handing it over. */
7
+ schema: SchemaView;
8
+ }
@@ -0,0 +1,9 @@
1
+ import type { ScalarName } from './ScalarName.js';
2
+ /** Declarative field definition for registerObjectType. */
3
+ export interface ObjectFieldDef {
4
+ /** Scalar name ('string', 'int', 'float', 'boolean') or Pothos type ref. Use [ref] for lists. */
5
+ type: ScalarName | any;
6
+ nullable?: boolean;
7
+ /** Custom resolver. Defaults to `(parent) => parent[fieldName]`. */
8
+ resolve?: (parent: any) => any;
9
+ }
@@ -0,0 +1,8 @@
1
+ export interface OperationBinding {
2
+ name: string;
3
+ optional: boolean;
4
+ source:
5
+ | { kind: 'collector' | 'context' | 'fact' }
6
+ | { kind: 'param'; name: string }
7
+ | { kind: 'input' | 'query' };
8
+ }
@@ -0,0 +1,19 @@
1
+ import type { SchemaView } from '@fougere/schema';
2
+ import type { ParsedSignature } from './ParsedSignature.js';
3
+ import type { OperationBinding } from './OperationBinding.js';
4
+
5
+ /** The projection-facing subset of core's EffectiveOperation. */
6
+ export interface OperationMeta {
7
+ input?: SchemaView;
8
+ output?: SchemaView;
9
+ /** Canonical kind from core's EffectiveOperation. */
10
+ kind: 'query' | 'command';
11
+ signature?: ParsedSignature;
12
+ /** The façade's effective answer to where every parameter comes from. */
13
+ binding?: OperationBinding[];
14
+ /**
15
+ * The operation in words. It reaches here through core's EffectiveOperation table;
16
+ * this narrowed view simply carries it to the GraphQL field.
17
+ */
18
+ description?: string;
19
+ }
@@ -1,92 +1,19 @@
1
1
  import { upperFirst, Role } from '@fougere/schema';
2
- /**
3
- * @fougere/adapter-graphql — Pothos types derived from Fougere entities
4
- */
5
2
  import type SchemaBuilder from '@pothos/core';
6
3
  import { Shapes, Schema, type Shape } from '@fougere/schema';
7
- import type { Field, Fields, SchemaView } from '@fougere/schema';
4
+ import type { Field, SchemaView } from '@fougere/schema';
8
5
  import { Boundary, Card, Lifecycle, Visibility } from '@fougere/schema';
9
-
10
- // ─── Types ─────────────────────────────────────────
6
+ import type { TypeConfig } from './TypeConfig.js';
7
+ import type { InputConfig } from './InputConfig.js';
8
+ import type { ParsedSignature } from './ParsedSignature.js';
9
+ import type { OperationMeta } from './OperationMeta.js';
10
+ import type { ObjectFieldDef } from './ObjectFieldDef.js';
11
11
 
12
12
  type EntityClass = SchemaView & (abstract new (...args: any[]) => any);
13
13
 
14
14
  /** Presenter instance — each method is a computed field resolver. */
15
15
  type PresenterInstance = Record<string, (parent: any) => any>;
16
16
 
17
- export interface TypeConfig {
18
- /** Nom du type GraphQL */
19
- name: string;
20
- /** Entity source */
21
- /** The schema whose fields become the type — a live class, or a card that travelled. */
22
- entity: SchemaView;
23
- /** Champs à exclure du type GraphQL */
24
- exclude?: string[];
25
- /** Relations à résoudre */
26
- relations?: Record<string, RelationConfig>;
27
- /** Presenter instance — adds computed fields as resolveFields on this type. */
28
- presenter?: PresenterInstance;
29
- /** Presenter field names (methods to expose). If absent, all methods are exposed. */
30
- presenterFields?: string[];
31
- /** Per-field type metadata from source parsing. */
32
- presenterFieldMeta?: { name: string; returnType?: string; list?: boolean; nullable?: boolean }[];
33
- /**
34
- * The view a computed field emits, when the presenter declared one — the object type to build
35
- * for it.
36
- */
37
- presenterViews?: Record<string, EntityClass | [EntityClass]>;
38
- /** Builds (or reuses) the GraphQL object type for a declared view. */
39
- viewType?: (view: EntityClass, fieldName: string) => any;
40
- }
41
-
42
- export interface RelationConfig {
43
- /** Type GraphQL cible (retourné par registerType) */
44
- type: any;
45
- /** Est-ce une liste ? */
46
- list?: boolean;
47
- /** Résolveur personnalisé */
48
- resolve: (parent: any) => any;
49
- }
50
-
51
- export interface InputConfig {
52
- /** The GraphQL type name. */
53
- name: string;
54
- /** The view to project — derive it (`pick`/`omit`/`partial`) before handing it over. */
55
- schema: SchemaView;
56
- }
57
-
58
- /** Parsed method signature (mirrors core OperationMeta.signature). */
59
- export interface ParsedSignature {
60
- name: string;
61
- params: { name: string; type: { raw: string; name: string; array?: boolean; nullable?: boolean; undefined?: boolean; generics?: ParsedSignature['params'][0]['type'][] }; optional?: boolean }[];
62
- returnType?: { raw: string; name: string; array?: boolean; nullable?: boolean; undefined?: boolean; generics?: ParsedSignature['params'][0]['type'][] };
63
- }
64
-
65
- export interface OperationBinding {
66
- name: string;
67
- optional: boolean;
68
- source:
69
- | { kind: 'collector' | 'context' | 'fact' }
70
- | { kind: 'param'; name: string }
71
- | { kind: 'input' | 'query' };
72
- }
73
-
74
- /** The projection-facing subset of core's EffectiveOperation. */
75
- export interface OperationMeta {
76
- input?: SchemaView;
77
- output?: SchemaView;
78
- /** Canonical kind from core's EffectiveOperation. */
79
- kind: 'query' | 'command';
80
- signature?: ParsedSignature;
81
- /** The façade's effective answer to where every parameter comes from. */
82
- binding?: OperationBinding[];
83
- /**
84
- * The operation in words. It reaches here through core's EffectiveOperation table;
85
- * this narrowed view simply carries it to the GraphQL field.
86
- */
87
- description?: string;
88
- }
89
-
90
17
  export interface OperationsConfig {
91
18
  /** Entity name (PascalCase). */
92
19
  name: string;
@@ -384,15 +311,6 @@ function isScalar(type: unknown): type is ScalarName {
384
311
 
385
312
  // ─── registerObjectType ───────────────────────────
386
313
 
387
- /** Declarative field definition for registerObjectType. */
388
- export interface ObjectFieldDef {
389
- /** Scalar name ('string', 'int', 'float', 'boolean') or Pothos type ref. Use [ref] for lists. */
390
- type: ScalarName | any;
391
- nullable?: boolean;
392
- /** Custom resolver. Defaults to `(parent) => parent[fieldName]`. */
393
- resolve?: (parent: any) => any;
394
- }
395
-
396
314
  /** Register a GraphQL object type from a declarative field map. */
397
315
  export function registerObjectType(
398
316
  builder: InstanceType<typeof SchemaBuilder>,
@@ -513,7 +431,7 @@ export function registerType(builder: InstanceType<typeof SchemaBuilder>, config
513
431
  const meta = metaMap.get(name);
514
432
  const nullable = meta?.nullable ?? true;
515
433
  // READ the value, never recompute it. The façade applies the presenter on every
516
- // door (`PresenterExecutor`), so the row arrives carrying its computed fields; calling
434
+ // facade (`PresenterExecutor`), so the row arrives carrying its computed fields; calling
517
435
  // the method again ran the work twice — and once the method started receiving the
518
436
  // PAGE rather than one row, the second call was handed a single object and threw
519
437
  // `posts.map is not a function`. What GraphQL owes the field is its declaration.
@@ -606,6 +524,7 @@ export function registerInput(builder: InstanceType<typeof SchemaBuilder>, confi
606
524
 
607
525
  /** Who holds each root field — a GraphQL root is FLAT, and two ops can want one name. */
608
526
  const claimed = new WeakMap<object, Map<string, string>>();
527
+
609
528
  function claimRootField(builder: object, fieldName: string, origin: string): void {
610
529
  let perField = claimed.get(builder);
611
530
  if (!perField) { perField = new Map(); claimed.set(builder, perField); }
@@ -0,0 +1,6 @@
1
+ /** Parsed method signature (mirrors core OperationMeta.signature). */
2
+ export interface ParsedSignature {
3
+ name: string;
4
+ params: { name: string; type: { raw: string; name: string; array?: boolean; nullable?: boolean; undefined?: boolean; generics?: ParsedSignature['params'][0]['type'][] }; optional?: boolean }[];
5
+ returnType?: { raw: string; name: string; array?: boolean; nullable?: boolean; undefined?: boolean; generics?: ParsedSignature['params'][0]['type'][] };
6
+ }
@@ -0,0 +1 @@
1
+ export type PresenterInstance = Record<string, (parent: any) => any>;
@@ -0,0 +1,8 @@
1
+ export interface RelationConfig {
2
+ /** Type GraphQL cible (retourné par registerType) */
3
+ type: any;
4
+ /** Est-ce une liste ? */
5
+ list?: boolean;
6
+ /** Résolveur personnalisé */
7
+ resolve: (parent: any) => any;
8
+ }
@@ -0,0 +1 @@
1
+ export type ScalarName = 'string' | 'int' | 'float' | 'boolean';
@@ -0,0 +1,28 @@
1
+ import type { EntityClass } from './EntityClass.js';
2
+ import type { PresenterInstance } from './PresenterInstance.js';
3
+ import type { SchemaView } from '@fougere/schema';
4
+ import type { RelationConfig } from './RelationConfig.js';
5
+
6
+ export interface TypeConfig {
7
+ /** Nom du type GraphQL */
8
+ name: string;
9
+ /** The schema whose fields become the type — a live class, or a card that travelled. */
10
+ entity: SchemaView;
11
+ /** Champs à exclure du type GraphQL */
12
+ exclude?: string[];
13
+ /** Relations à résoudre */
14
+ relations?: Record<string, RelationConfig>;
15
+ /** Presenter instance — adds computed fields as resolveFields on this type. */
16
+ presenter?: PresenterInstance;
17
+ /** Presenter field names (methods to expose). If absent, all methods are exposed. */
18
+ presenterFields?: string[];
19
+ /** Per-field type metadata from source parsing. */
20
+ presenterFieldMeta?: { name: string; returnType?: string; list?: boolean; nullable?: boolean }[];
21
+ /**
22
+ * The view a computed field emits, when the presenter declared one — the object type to build
23
+ * for it.
24
+ */
25
+ presenterViews?: Record<string, EntityClass | [EntityClass]>;
26
+ /** Builds (or reuses) the GraphQL object type for a declared view. */
27
+ viewType?: (view: EntityClass, fieldName: string) => any;
28
+ }
package/src/app.ts CHANGED
@@ -7,7 +7,7 @@ export interface AppQuery {
7
7
  query: string;
8
8
  variables?: Record<string, unknown>;
9
9
  operationName?: string;
10
- /** The audience, when the door was mounted per surface. */
10
+ /** The audience, when the facade was mounted per surface. */
11
11
  surface?: string;
12
12
  /** What the server resolved about the caller — never what the wire claimed. */
13
13
  state?: Record<string, unknown>;
@@ -3,7 +3,8 @@ import { upperFirst, FieldSet, Role } from '@fougere/schema';
3
3
  import type SchemaBuilder from '@pothos/core';
4
4
  import type { Fields, SchemaView } from '@fougere/schema';
5
5
  import { Shapes } from '@fougere/schema';
6
- import { registerType, registerOperations, type OperationMeta } from './pothos.js';
6
+ import { type OperationMeta } from './OperationMeta.js';
7
+ import { registerOperations, registerType } from './OperationsConfig.js';
7
8
 
8
9
  type HandlerFacade = Record<string, Function>;
9
10
 
@@ -15,7 +16,7 @@ function relationNameFor(fieldName: string): string | undefined {
15
16
 
16
17
  /**
17
18
  * The field a target is keyed by — what a batch read indexes its answer on. The shape
18
- * answers the absence and this door defaults it: `id` is what a node id falls back to.
19
+ * answers the absence and this facade defaults it: `id` is what a node id falls back to.
19
20
  */
20
21
  function primaryNameOf(fields: Fields): string {
21
22
  return FieldSet.of(fields).primary ?? 'id';
@@ -101,7 +102,7 @@ interface EntityEntry {
101
102
 
102
103
  interface HandlerEntry {
103
104
  /**
104
- * The name the door answers to — `PostHandler` → `post`. NOT an entity name: a handler may carry
105
+ * The name the facade answers to — `PostHandler` → `post`. NOT an entity name: a handler may carry
105
106
  * none.
106
107
  */
107
108
  address: string;
@@ -174,7 +175,6 @@ export interface RegisterAllOptions {
174
175
  surface?: string;
175
176
  }
176
177
 
177
- /** Auto-register GraphQL types and operations from a fougere App. */
178
178
  /** The GraphQL type of a declared presenter view, built once per view class. */
179
179
  const viewTypes = new WeakMap<object, any>();
180
180
  function viewTypeOf(
@@ -189,6 +189,7 @@ function viewTypeOf(
189
189
  return type;
190
190
  }
191
191
 
192
+ /** Auto-register GraphQL types and operations from a fougere App. */
192
193
  export function registerAll(
193
194
  builder: InstanceType<typeof SchemaBuilder>,
194
195
  app: AppLike,
@@ -323,13 +324,13 @@ export function registerAll(
323
324
  resolve: (parent: any, _args: unknown, ctx: unknown) => {
324
325
  const fk = parent[fieldName];
325
326
  if (fk == null) return null;
326
- // A door that serves no list — a handler narrowed to `findById` — keeps the
327
+ // A facade that serves no list — a handler narrowed to `findById` — keeps the
327
328
  // row-at-a-time path rather than losing the relation entirely.
328
329
  if (typeof targetList !== 'function') {
329
330
  return targetEntry.facade.findById({ params: { id: fk }, query: {}, body: undefined, state: {} });
330
331
  }
331
332
  return loadByKey(ctx, directionKey(targetKey(target), targetKeyName), String(fk), (ids) =>
332
- // The door the `many` dual already uses, with a SET where it names one
333
+ // The facade the `many` dual already uses, with a SET where it names one
333
334
  // value. Nothing new is published: a criterion learned to name several.
334
335
  readInSlices(ids, async (slice) => {
335
336
  const result = await targetList.call(targetEntry.facade, {
@@ -1,2 +1,2 @@
1
1
  /** The Pothos primitives — for what `registerAll` cannot derive, never to replace it. */
2
- export { registerType, registerInput, registerOperations } from './pothos.js';
2
+ export { registerInput, registerOperations, registerType } from './OperationsConfig.js';
package/dist/pothos.d.ts DELETED
@@ -1,143 +0,0 @@
1
- /**
2
- * @fougere/adapter-graphql — Pothos types derived from Fougere entities
3
- */
4
- import type SchemaBuilder from '@pothos/core';
5
- import type { SchemaView } from '@fougere/schema';
6
- type EntityClass = SchemaView & (abstract new (...args: any[]) => any);
7
- /** Presenter instance — each method is a computed field resolver. */
8
- type PresenterInstance = Record<string, (parent: any) => any>;
9
- export interface TypeConfig {
10
- /** Nom du type GraphQL */
11
- name: string;
12
- /** Entity source */
13
- /** The schema whose fields become the type — a live class, or a card that travelled. */
14
- entity: SchemaView;
15
- /** Champs à exclure du type GraphQL */
16
- exclude?: string[];
17
- /** Relations à résoudre */
18
- relations?: Record<string, RelationConfig>;
19
- /** Presenter instance — adds computed fields as resolveFields on this type. */
20
- presenter?: PresenterInstance;
21
- /** Presenter field names (methods to expose). If absent, all methods are exposed. */
22
- presenterFields?: string[];
23
- /** Per-field type metadata from source parsing. */
24
- presenterFieldMeta?: {
25
- name: string;
26
- returnType?: string;
27
- list?: boolean;
28
- nullable?: boolean;
29
- }[];
30
- /**
31
- * The view a computed field emits, when the presenter declared one — the object type to build
32
- * for it.
33
- */
34
- presenterViews?: Record<string, EntityClass | [EntityClass]>;
35
- /** Builds (or reuses) the GraphQL object type for a declared view. */
36
- viewType?: (view: EntityClass, fieldName: string) => any;
37
- }
38
- export interface RelationConfig {
39
- /** Type GraphQL cible (retourné par registerType) */
40
- type: any;
41
- /** Est-ce une liste ? */
42
- list?: boolean;
43
- /** Résolveur personnalisé */
44
- resolve: (parent: any) => any;
45
- }
46
- export interface InputConfig {
47
- /** The GraphQL type name. */
48
- name: string;
49
- /** The view to project — derive it (`pick`/`omit`/`partial`) before handing it over. */
50
- schema: SchemaView;
51
- }
52
- /** Parsed method signature (mirrors core OperationMeta.signature). */
53
- export interface ParsedSignature {
54
- name: string;
55
- params: {
56
- name: string;
57
- type: {
58
- raw: string;
59
- name: string;
60
- array?: boolean;
61
- nullable?: boolean;
62
- undefined?: boolean;
63
- generics?: ParsedSignature['params'][0]['type'][];
64
- };
65
- optional?: boolean;
66
- }[];
67
- returnType?: {
68
- raw: string;
69
- name: string;
70
- array?: boolean;
71
- nullable?: boolean;
72
- undefined?: boolean;
73
- generics?: ParsedSignature['params'][0]['type'][];
74
- };
75
- }
76
- export interface OperationBinding {
77
- name: string;
78
- optional: boolean;
79
- source: {
80
- kind: 'collector' | 'context' | 'fact';
81
- } | {
82
- kind: 'param';
83
- name: string;
84
- } | {
85
- kind: 'input' | 'query';
86
- };
87
- }
88
- /** The projection-facing subset of core's EffectiveOperation. */
89
- export interface OperationMeta {
90
- input?: SchemaView;
91
- output?: SchemaView;
92
- /** Canonical kind from core's EffectiveOperation. */
93
- kind: 'query' | 'command';
94
- signature?: ParsedSignature;
95
- /** The façade's effective answer to where every parameter comes from. */
96
- binding?: OperationBinding[];
97
- /**
98
- * The operation in words. It reaches here through core's EffectiveOperation table;
99
- * this narrowed view simply carries it to the GraphQL field.
100
- */
101
- description?: string;
102
- }
103
- export interface OperationsConfig {
104
- /** Entity name (PascalCase). */
105
- name: string;
106
- /** GraphQL entity type ref (from registerType). */
107
- type: any;
108
- /** Handler facade — each op receives InvocationContext. */
109
- facade: Record<string, Function>;
110
- /** Operations metadata from scanner (signature + resolved schemas). */
111
- operations: Map<string, OperationMeta>;
112
- /** Per-op kind overrides from frond.config.ts (optional). */
113
- operationsOverrides?: Record<string, {
114
- kind?: 'query' | 'command';
115
- graphql?: string;
116
- }>;
117
- /**
118
- * Who is registering — `catalog/ChapterHandler`, for the message when two ops claim
119
- * one root field. Absent when a caller builds a type by hand.
120
- */
121
- origin?: string;
122
- /** The GraphQL type for a schema an operation declares as its return. */
123
- viewType?: (view: SchemaView, opName: string) => any;
124
- }
125
- type ScalarName = 'string' | 'int' | 'float' | 'boolean';
126
- /** Declarative field definition for registerObjectType. */
127
- export interface ObjectFieldDef {
128
- /** Scalar name ('string', 'int', 'float', 'boolean') or Pothos type ref. Use [ref] for lists. */
129
- type: ScalarName | any;
130
- nullable?: boolean;
131
- /** Custom resolver. Defaults to `(parent) => parent[fieldName]`. */
132
- resolve?: (parent: any) => any;
133
- }
134
- /** Register a GraphQL object type from a declarative field map. */
135
- export declare function registerObjectType(builder: InstanceType<typeof SchemaBuilder>, name: string, fieldDefs: Record<string, ObjectFieldDef>): any;
136
- /** Enregistre un type GraphQL (lecture) depuis une entité fougere. */
137
- export declare function registerType(builder: InstanceType<typeof SchemaBuilder>, config: TypeConfig): any;
138
- /** The GraphQL input for EXACTLY this view — or none, when the view asks for nothing. */
139
- export declare function registerInput(builder: InstanceType<typeof SchemaBuilder>, config: InputConfig): any;
140
- /** Register all GraphQL operations for an entity from parsed handler signatures. */
141
- export declare function registerOperations(builder: InstanceType<typeof SchemaBuilder>, config: OperationsConfig): void;
142
- export {};
143
- //# sourceMappingURL=pothos.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pothos.d.ts","sourceRoot":"","sources":["../src/pothos.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"pothos.js","sourceRoot":"","sources":["../src/pothos.ts"],"names":[],"mappings":"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"}