@effect-gql/core 0.1.0 → 1.1.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 (164) hide show
  1. package/README.md +100 -0
  2. package/builder/index.cjs +1446 -0
  3. package/builder/index.cjs.map +1 -0
  4. package/builder/index.d.cts +260 -0
  5. package/{dist/builder/pipe-api.d.ts → builder/index.d.ts} +50 -21
  6. package/builder/index.js +1405 -0
  7. package/builder/index.js.map +1 -0
  8. package/index.cjs +3469 -0
  9. package/index.cjs.map +1 -0
  10. package/index.d.cts +529 -0
  11. package/index.d.ts +529 -0
  12. package/index.js +3292 -0
  13. package/index.js.map +1 -0
  14. package/package.json +19 -28
  15. package/schema-builder-DKvkzU_M.d.cts +965 -0
  16. package/schema-builder-DKvkzU_M.d.ts +965 -0
  17. package/server/index.cjs +1579 -0
  18. package/server/index.cjs.map +1 -0
  19. package/server/index.d.cts +682 -0
  20. package/server/index.d.ts +682 -0
  21. package/server/index.js +1548 -0
  22. package/server/index.js.map +1 -0
  23. package/dist/analyzer-extension.d.ts +0 -105
  24. package/dist/analyzer-extension.d.ts.map +0 -1
  25. package/dist/analyzer-extension.js +0 -137
  26. package/dist/analyzer-extension.js.map +0 -1
  27. package/dist/builder/execute.d.ts +0 -26
  28. package/dist/builder/execute.d.ts.map +0 -1
  29. package/dist/builder/execute.js +0 -104
  30. package/dist/builder/execute.js.map +0 -1
  31. package/dist/builder/field-builders.d.ts +0 -30
  32. package/dist/builder/field-builders.d.ts.map +0 -1
  33. package/dist/builder/field-builders.js +0 -200
  34. package/dist/builder/field-builders.js.map +0 -1
  35. package/dist/builder/index.d.ts +0 -7
  36. package/dist/builder/index.d.ts.map +0 -1
  37. package/dist/builder/index.js +0 -31
  38. package/dist/builder/index.js.map +0 -1
  39. package/dist/builder/pipe-api.d.ts.map +0 -1
  40. package/dist/builder/pipe-api.js +0 -151
  41. package/dist/builder/pipe-api.js.map +0 -1
  42. package/dist/builder/schema-builder.d.ts +0 -301
  43. package/dist/builder/schema-builder.d.ts.map +0 -1
  44. package/dist/builder/schema-builder.js +0 -566
  45. package/dist/builder/schema-builder.js.map +0 -1
  46. package/dist/builder/type-registry.d.ts +0 -80
  47. package/dist/builder/type-registry.d.ts.map +0 -1
  48. package/dist/builder/type-registry.js +0 -505
  49. package/dist/builder/type-registry.js.map +0 -1
  50. package/dist/builder/types.d.ts +0 -283
  51. package/dist/builder/types.d.ts.map +0 -1
  52. package/dist/builder/types.js +0 -3
  53. package/dist/builder/types.js.map +0 -1
  54. package/dist/cli/generate-schema.d.ts +0 -29
  55. package/dist/cli/generate-schema.d.ts.map +0 -1
  56. package/dist/cli/generate-schema.js +0 -233
  57. package/dist/cli/generate-schema.js.map +0 -1
  58. package/dist/cli/index.d.ts +0 -19
  59. package/dist/cli/index.d.ts.map +0 -1
  60. package/dist/cli/index.js +0 -24
  61. package/dist/cli/index.js.map +0 -1
  62. package/dist/context.d.ts +0 -18
  63. package/dist/context.d.ts.map +0 -1
  64. package/dist/context.js +0 -11
  65. package/dist/context.js.map +0 -1
  66. package/dist/error.d.ts +0 -45
  67. package/dist/error.d.ts.map +0 -1
  68. package/dist/error.js +0 -29
  69. package/dist/error.js.map +0 -1
  70. package/dist/extensions.d.ts +0 -130
  71. package/dist/extensions.d.ts.map +0 -1
  72. package/dist/extensions.js +0 -78
  73. package/dist/extensions.js.map +0 -1
  74. package/dist/index.d.ts +0 -12
  75. package/dist/index.d.ts.map +0 -1
  76. package/dist/index.js +0 -47
  77. package/dist/index.js.map +0 -1
  78. package/dist/loader.d.ts +0 -169
  79. package/dist/loader.d.ts.map +0 -1
  80. package/dist/loader.js +0 -237
  81. package/dist/loader.js.map +0 -1
  82. package/dist/resolver-context.d.ts +0 -154
  83. package/dist/resolver-context.d.ts.map +0 -1
  84. package/dist/resolver-context.js +0 -184
  85. package/dist/resolver-context.js.map +0 -1
  86. package/dist/schema-mapping.d.ts +0 -30
  87. package/dist/schema-mapping.d.ts.map +0 -1
  88. package/dist/schema-mapping.js +0 -280
  89. package/dist/schema-mapping.js.map +0 -1
  90. package/dist/server/cache-control.d.ts +0 -96
  91. package/dist/server/cache-control.d.ts.map +0 -1
  92. package/dist/server/cache-control.js +0 -308
  93. package/dist/server/cache-control.js.map +0 -1
  94. package/dist/server/complexity.d.ts +0 -165
  95. package/dist/server/complexity.d.ts.map +0 -1
  96. package/dist/server/complexity.js +0 -433
  97. package/dist/server/complexity.js.map +0 -1
  98. package/dist/server/config.d.ts +0 -66
  99. package/dist/server/config.d.ts.map +0 -1
  100. package/dist/server/config.js +0 -104
  101. package/dist/server/config.js.map +0 -1
  102. package/dist/server/graphiql.d.ts +0 -5
  103. package/dist/server/graphiql.d.ts.map +0 -1
  104. package/dist/server/graphiql.js +0 -43
  105. package/dist/server/graphiql.js.map +0 -1
  106. package/dist/server/index.d.ts +0 -18
  107. package/dist/server/index.d.ts.map +0 -1
  108. package/dist/server/index.js +0 -48
  109. package/dist/server/index.js.map +0 -1
  110. package/dist/server/router.d.ts +0 -79
  111. package/dist/server/router.d.ts.map +0 -1
  112. package/dist/server/router.js +0 -232
  113. package/dist/server/router.js.map +0 -1
  114. package/dist/server/schema-builder-extensions.d.ts +0 -42
  115. package/dist/server/schema-builder-extensions.d.ts.map +0 -1
  116. package/dist/server/schema-builder-extensions.js +0 -48
  117. package/dist/server/schema-builder-extensions.js.map +0 -1
  118. package/dist/server/sse-adapter.d.ts +0 -64
  119. package/dist/server/sse-adapter.d.ts.map +0 -1
  120. package/dist/server/sse-adapter.js +0 -227
  121. package/dist/server/sse-adapter.js.map +0 -1
  122. package/dist/server/sse-types.d.ts +0 -192
  123. package/dist/server/sse-types.d.ts.map +0 -1
  124. package/dist/server/sse-types.js +0 -63
  125. package/dist/server/sse-types.js.map +0 -1
  126. package/dist/server/ws-adapter.d.ts +0 -39
  127. package/dist/server/ws-adapter.d.ts.map +0 -1
  128. package/dist/server/ws-adapter.js +0 -247
  129. package/dist/server/ws-adapter.js.map +0 -1
  130. package/dist/server/ws-types.d.ts +0 -169
  131. package/dist/server/ws-types.d.ts.map +0 -1
  132. package/dist/server/ws-types.js +0 -11
  133. package/dist/server/ws-types.js.map +0 -1
  134. package/dist/server/ws-utils.d.ts +0 -42
  135. package/dist/server/ws-utils.d.ts.map +0 -1
  136. package/dist/server/ws-utils.js +0 -99
  137. package/dist/server/ws-utils.js.map +0 -1
  138. package/src/analyzer-extension.ts +0 -254
  139. package/src/builder/execute.ts +0 -153
  140. package/src/builder/field-builders.ts +0 -322
  141. package/src/builder/index.ts +0 -48
  142. package/src/builder/pipe-api.ts +0 -312
  143. package/src/builder/schema-builder.ts +0 -970
  144. package/src/builder/type-registry.ts +0 -670
  145. package/src/builder/types.ts +0 -305
  146. package/src/context.ts +0 -23
  147. package/src/error.ts +0 -32
  148. package/src/extensions.ts +0 -240
  149. package/src/index.ts +0 -32
  150. package/src/loader.ts +0 -363
  151. package/src/resolver-context.ts +0 -253
  152. package/src/schema-mapping.ts +0 -307
  153. package/src/server/cache-control.ts +0 -590
  154. package/src/server/complexity.ts +0 -774
  155. package/src/server/config.ts +0 -174
  156. package/src/server/graphiql.ts +0 -38
  157. package/src/server/index.ts +0 -96
  158. package/src/server/router.ts +0 -432
  159. package/src/server/schema-builder-extensions.ts +0 -51
  160. package/src/server/sse-adapter.ts +0 -327
  161. package/src/server/sse-types.ts +0 -234
  162. package/src/server/ws-adapter.ts +0 -355
  163. package/src/server/ws-types.ts +0 -192
  164. package/src/server/ws-utils.ts +0 -136
@@ -1,566 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GraphQLSchemaBuilder = void 0;
4
- const effect_1 = require("effect");
5
- const graphql_1 = require("graphql");
6
- const type_registry_1 = require("./type-registry");
7
- const field_builders_1 = require("./field-builders");
8
- /**
9
- * Create a new state with one map updated
10
- */
11
- function updateState(state, key, value) {
12
- return { ...state, [key]: value };
13
- }
14
- /**
15
- * GraphQL Schema Builder with type-safe service requirements (Layer-per-Request Pattern)
16
- *
17
- * The type parameter R accumulates all service requirements from resolvers.
18
- * Unlike the runtime-in-context approach, this pattern builds the schema without
19
- * executing any Effects. At request time, you provide a Layer with all required services.
20
- */
21
- class GraphQLSchemaBuilder {
22
- state;
23
- constructor(state) {
24
- this.state = state;
25
- }
26
- pipe() {
27
- return effect_1.Pipeable.pipeArguments(this, arguments);
28
- }
29
- /**
30
- * Create an empty schema builder
31
- */
32
- static empty = new GraphQLSchemaBuilder({
33
- types: new Map(),
34
- interfaces: new Map(),
35
- enums: new Map(),
36
- unions: new Map(),
37
- inputs: new Map(),
38
- directives: new Map(),
39
- middlewares: [],
40
- extensions: [],
41
- queries: new Map(),
42
- mutations: new Map(),
43
- subscriptions: new Map(),
44
- objectFields: new Map(),
45
- });
46
- /**
47
- * Create a new builder with updated state
48
- */
49
- with(newState) {
50
- return new GraphQLSchemaBuilder(newState);
51
- }
52
- // ============================================================================
53
- // Registration Methods
54
- // ============================================================================
55
- /**
56
- * Add a query field
57
- */
58
- query(name, config) {
59
- const newQueries = new Map(this.state.queries);
60
- newQueries.set(name, config);
61
- return this.with(updateState(this.state, "queries", newQueries));
62
- }
63
- /**
64
- * Add a mutation field
65
- */
66
- mutation(name, config) {
67
- const newMutations = new Map(this.state.mutations);
68
- newMutations.set(name, config);
69
- return this.with(updateState(this.state, "mutations", newMutations));
70
- }
71
- /**
72
- * Add a subscription field
73
- *
74
- * Subscriptions return a Stream that yields values over time.
75
- * The subscribe function returns an Effect that produces a Stream.
76
- *
77
- * @example
78
- * ```typescript
79
- * builder.subscription("userCreated", {
80
- * type: User,
81
- * subscribe: Effect.gen(function*() {
82
- * const pubsub = yield* PubSubService
83
- * return pubsub.subscribe("USER_CREATED")
84
- * }),
85
- * })
86
- * ```
87
- */
88
- subscription(name, config) {
89
- const newSubscriptions = new Map(this.state.subscriptions);
90
- newSubscriptions.set(name, config);
91
- return this.with(updateState(this.state, "subscriptions", newSubscriptions));
92
- }
93
- /**
94
- * Register an object type from a schema
95
- */
96
- objectType(config) {
97
- const { schema, implements: implementsInterfaces, directives, cacheControl, fields } = config;
98
- const name = config.name ?? (0, type_registry_1.getSchemaName)(schema);
99
- if (!name) {
100
- throw new Error("objectType requires a name. Either provide one explicitly or use a TaggedStruct/TaggedClass/Schema.Class");
101
- }
102
- const newTypes = new Map(this.state.types);
103
- newTypes.set(name, { name, schema, implements: implementsInterfaces, directives, cacheControl });
104
- let newObjectFields = this.state.objectFields;
105
- if (fields) {
106
- newObjectFields = new Map(this.state.objectFields);
107
- const typeFields = new Map();
108
- for (const [fieldName, fieldConfig] of Object.entries(fields)) {
109
- typeFields.set(fieldName, fieldConfig);
110
- }
111
- newObjectFields.set(name, typeFields);
112
- }
113
- return this.with({
114
- ...this.state,
115
- types: newTypes,
116
- objectFields: newObjectFields,
117
- });
118
- }
119
- /**
120
- * Register an interface type from a schema
121
- */
122
- interfaceType(config) {
123
- const { schema, resolveType, directives } = config;
124
- const name = config.name ?? (0, type_registry_1.getSchemaName)(schema);
125
- if (!name) {
126
- throw new Error("interfaceType requires a name. Either provide one explicitly or use a TaggedStruct/TaggedClass/Schema.Class");
127
- }
128
- const newInterfaces = new Map(this.state.interfaces);
129
- newInterfaces.set(name, {
130
- name,
131
- schema,
132
- resolveType: resolveType ?? ((value) => value._tag),
133
- directives,
134
- });
135
- return this.with(updateState(this.state, "interfaces", newInterfaces));
136
- }
137
- /**
138
- * Register an enum type
139
- */
140
- enumType(config) {
141
- const { name, values, description, directives } = config;
142
- const newEnums = new Map(this.state.enums);
143
- newEnums.set(name, { name, values, description, directives });
144
- return this.with(updateState(this.state, "enums", newEnums));
145
- }
146
- /**
147
- * Register a union type
148
- */
149
- unionType(config) {
150
- const { name, types, resolveType, directives } = config;
151
- const newUnions = new Map(this.state.unions);
152
- newUnions.set(name, {
153
- name,
154
- types,
155
- resolveType: resolveType ?? ((value) => value._tag),
156
- directives,
157
- });
158
- return this.with(updateState(this.state, "unions", newUnions));
159
- }
160
- /**
161
- * Register an input type
162
- */
163
- inputType(config) {
164
- const { schema, description, directives } = config;
165
- const name = config.name ?? (0, type_registry_1.getSchemaName)(schema);
166
- if (!name) {
167
- throw new Error("inputType requires a name. Either provide one explicitly or use a TaggedStruct/TaggedClass/Schema.Class");
168
- }
169
- const newInputs = new Map(this.state.inputs);
170
- newInputs.set(name, { name, schema, description, directives });
171
- return this.with(updateState(this.state, "inputs", newInputs));
172
- }
173
- /**
174
- * Register a directive
175
- */
176
- directive(config) {
177
- const newDirectives = new Map(this.state.directives);
178
- newDirectives.set(config.name, config);
179
- return this.with(updateState(this.state, "directives", newDirectives));
180
- }
181
- /**
182
- * Register a middleware
183
- *
184
- * Middleware wraps all resolvers (or those matching a pattern) and executes
185
- * in an "onion" model - first registered middleware is the outermost layer.
186
- *
187
- * @param config.name - Middleware name (for debugging/logging)
188
- * @param config.description - Optional description
189
- * @param config.match - Optional predicate to filter which fields this applies to
190
- * @param config.apply - Function that transforms the resolver Effect
191
- *
192
- * @example
193
- * ```typescript
194
- * builder.middleware({
195
- * name: "logging",
196
- * apply: (effect, ctx) => Effect.gen(function*() {
197
- * yield* Effect.logInfo(`Resolving ${ctx.info.fieldName}`)
198
- * const start = Date.now()
199
- * const result = yield* effect
200
- * yield* Effect.logInfo(`Resolved in ${Date.now() - start}ms`)
201
- * return result
202
- * })
203
- * })
204
- * ```
205
- */
206
- middleware(config) {
207
- const newMiddlewares = [...this.state.middlewares, config];
208
- return this.with({ ...this.state, middlewares: newMiddlewares });
209
- }
210
- /**
211
- * Register an extension
212
- *
213
- * Extensions provide lifecycle hooks that run at each phase of request processing
214
- * (parse, validate, execute) and can contribute data to the response's extensions field.
215
- *
216
- * @param config.name - Extension name (for debugging/logging)
217
- * @param config.description - Optional description
218
- * @param config.onParse - Called after query parsing
219
- * @param config.onValidate - Called after validation
220
- * @param config.onExecuteStart - Called before execution begins
221
- * @param config.onExecuteEnd - Called after execution completes
222
- *
223
- * @example
224
- * ```typescript
225
- * builder.extension({
226
- * name: "tracing",
227
- * onExecuteStart: () => Effect.gen(function*() {
228
- * const ext = yield* ExtensionsService
229
- * yield* ext.set("tracing", { startTime: Date.now() })
230
- * }),
231
- * onExecuteEnd: () => Effect.gen(function*() {
232
- * const ext = yield* ExtensionsService
233
- * yield* ext.merge("tracing", { endTime: Date.now() })
234
- * }),
235
- * })
236
- * ```
237
- */
238
- extension(config) {
239
- const newExtensions = [...this.state.extensions, config];
240
- return this.with({ ...this.state, extensions: newExtensions });
241
- }
242
- /**
243
- * Get the registered extensions for use by the execution layer
244
- */
245
- getExtensions() {
246
- return this.state.extensions;
247
- }
248
- /**
249
- * Add a computed/relational field to an object type
250
- */
251
- field(typeName, fieldName, config) {
252
- const newObjectFields = new Map(this.state.objectFields);
253
- const typeFields = newObjectFields.get(typeName) || new Map();
254
- typeFields.set(fieldName, config);
255
- newObjectFields.set(typeName, typeFields);
256
- return this.with(updateState(this.state, "objectFields", newObjectFields));
257
- }
258
- // ============================================================================
259
- // Schema Building
260
- // ============================================================================
261
- /**
262
- * Get the field complexity map for use in complexity validation.
263
- * Maps "TypeName.fieldName" to the complexity value or function.
264
- */
265
- getFieldComplexities() {
266
- const complexities = new Map();
267
- // Query fields
268
- for (const [name, config] of this.state.queries) {
269
- if (config.complexity !== undefined) {
270
- complexities.set(`Query.${name}`, config.complexity);
271
- }
272
- }
273
- // Mutation fields
274
- for (const [name, config] of this.state.mutations) {
275
- if (config.complexity !== undefined) {
276
- complexities.set(`Mutation.${name}`, config.complexity);
277
- }
278
- }
279
- // Subscription fields
280
- for (const [name, config] of this.state.subscriptions) {
281
- if (config.complexity !== undefined) {
282
- complexities.set(`Subscription.${name}`, config.complexity);
283
- }
284
- }
285
- // Object type fields
286
- for (const [typeName, fields] of this.state.objectFields) {
287
- for (const [fieldName, config] of fields) {
288
- if (config.complexity !== undefined) {
289
- complexities.set(`${typeName}.${fieldName}`, config.complexity);
290
- }
291
- }
292
- }
293
- return complexities;
294
- }
295
- /**
296
- * Get the cache hint map for use in cache control calculation.
297
- * Maps "TypeName.fieldName" to the cache hint for field-level hints,
298
- * or "TypeName" to the cache hint for type-level hints.
299
- */
300
- getCacheHints() {
301
- const hints = new Map();
302
- // Type-level hints
303
- for (const [typeName, typeReg] of this.state.types) {
304
- if (typeReg.cacheControl !== undefined) {
305
- hints.set(typeName, typeReg.cacheControl);
306
- }
307
- }
308
- // Query fields
309
- for (const [name, config] of this.state.queries) {
310
- if (config.cacheControl !== undefined) {
311
- hints.set(`Query.${name}`, config.cacheControl);
312
- }
313
- }
314
- // Subscription fields
315
- for (const [name, config] of this.state.subscriptions) {
316
- if (config.cacheControl !== undefined) {
317
- hints.set(`Subscription.${name}`, config.cacheControl);
318
- }
319
- }
320
- // Object type fields
321
- for (const [typeName, fields] of this.state.objectFields) {
322
- for (const [fieldName, config] of fields) {
323
- if (config.cacheControl !== undefined) {
324
- hints.set(`${typeName}.${fieldName}`, config.cacheControl);
325
- }
326
- }
327
- }
328
- return hints;
329
- }
330
- /**
331
- * Build the GraphQL schema (no services required)
332
- */
333
- buildSchema() {
334
- // Build all registries
335
- const directiveRegistry = this.buildDirectiveRegistry();
336
- const enumRegistry = this.buildEnumRegistry();
337
- const inputRegistry = this.buildInputRegistry(enumRegistry);
338
- const interfaceRegistry = this.buildInterfaceRegistry(enumRegistry);
339
- const { typeRegistry, unionRegistry } = this.buildTypeAndUnionRegistries(enumRegistry, interfaceRegistry);
340
- // Build field builder context
341
- const fieldCtx = this.createFieldBuilderContext(typeRegistry, interfaceRegistry, enumRegistry, unionRegistry, inputRegistry);
342
- // Build root type fields
343
- const queryFields = this.buildQueryFields(fieldCtx);
344
- const mutationFields = this.buildMutationFields(fieldCtx);
345
- const subscriptionFields = this.buildSubscriptionFields(fieldCtx);
346
- // Assemble schema
347
- return this.assembleSchema({
348
- directiveRegistry,
349
- enumRegistry,
350
- inputRegistry,
351
- interfaceRegistry,
352
- typeRegistry,
353
- unionRegistry,
354
- queryFields,
355
- mutationFields,
356
- subscriptionFields,
357
- });
358
- }
359
- buildDirectiveRegistry() {
360
- const registry = new Map();
361
- // Build cache once for O(1) lookups across all directives
362
- const cache = (0, type_registry_1.buildInputTypeLookupCache)(this.state.inputs, this.state.enums);
363
- for (const [name, reg] of this.state.directives) {
364
- const graphqlDirective = new graphql_1.GraphQLDirective({
365
- name,
366
- description: reg.description,
367
- locations: [...reg.locations],
368
- args: reg.args
369
- ? (0, type_registry_1.toGraphQLArgsWithRegistry)(reg.args, new Map(), new Map(), this.state.inputs, this.state.enums, cache)
370
- : undefined,
371
- });
372
- registry.set(name, graphqlDirective);
373
- }
374
- return registry;
375
- }
376
- buildEnumRegistry() {
377
- const registry = new Map();
378
- for (const [name, reg] of this.state.enums) {
379
- const enumValues = {};
380
- for (const value of reg.values) {
381
- enumValues[value] = { value };
382
- }
383
- registry.set(name, new graphql_1.GraphQLEnumType({
384
- name,
385
- values: enumValues,
386
- description: reg.description,
387
- extensions: reg.directives ? { directives: reg.directives } : undefined,
388
- }));
389
- }
390
- return registry;
391
- }
392
- buildInputRegistry(enumRegistry) {
393
- const registry = new Map();
394
- // Build cache once for O(1) lookups across all input types
395
- const cache = (0, type_registry_1.buildInputTypeLookupCache)(this.state.inputs, this.state.enums);
396
- for (const [name, reg] of this.state.inputs) {
397
- const inputType = new graphql_1.GraphQLInputObjectType({
398
- name,
399
- description: reg.description,
400
- fields: () => (0, type_registry_1.schemaToInputFields)(reg.schema, enumRegistry, registry, this.state.inputs, this.state.enums, cache),
401
- extensions: reg.directives ? { directives: reg.directives } : undefined,
402
- });
403
- registry.set(name, inputType);
404
- }
405
- return registry;
406
- }
407
- buildInterfaceRegistry(enumRegistry) {
408
- const registry = new Map();
409
- // We need type and union registries for interface fields, but they're built later
410
- // Use empty maps for now - interfaces shouldn't reference object types directly
411
- const typeRegistry = new Map();
412
- const unionRegistry = new Map();
413
- // Create shared TypeConversionContext once for all interface field builders
414
- const sharedCtx = {
415
- types: this.state.types,
416
- interfaces: this.state.interfaces,
417
- enums: this.state.enums,
418
- unions: this.state.unions,
419
- inputs: this.state.inputs,
420
- typeRegistry,
421
- interfaceRegistry: registry,
422
- enumRegistry,
423
- unionRegistry,
424
- inputRegistry: new Map(),
425
- };
426
- // Pre-build reverse lookup maps once
427
- (0, type_registry_1.buildReverseLookups)(sharedCtx);
428
- for (const [name, reg] of this.state.interfaces) {
429
- const interfaceType = new graphql_1.GraphQLInterfaceType({
430
- name,
431
- fields: () => (0, type_registry_1.schemaToFields)(reg.schema, sharedCtx),
432
- resolveType: reg.resolveType,
433
- extensions: reg.directives ? { directives: reg.directives } : undefined,
434
- });
435
- registry.set(name, interfaceType);
436
- }
437
- return registry;
438
- }
439
- buildTypeAndUnionRegistries(enumRegistry, interfaceRegistry) {
440
- const typeRegistry = new Map();
441
- const unionRegistry = new Map();
442
- // Create shared TypeConversionContext once and reuse for all lazy field builders
443
- const sharedCtx = {
444
- types: this.state.types,
445
- interfaces: this.state.interfaces,
446
- enums: this.state.enums,
447
- unions: this.state.unions,
448
- inputs: this.state.inputs,
449
- typeRegistry,
450
- interfaceRegistry,
451
- enumRegistry,
452
- unionRegistry,
453
- inputRegistry: new Map(),
454
- };
455
- // Pre-build reverse lookup maps once
456
- (0, type_registry_1.buildReverseLookups)(sharedCtx);
457
- // Create shared FieldBuilderContext for additional fields
458
- const sharedFieldCtx = this.createFieldBuilderContext(typeRegistry, interfaceRegistry, enumRegistry, unionRegistry, new Map());
459
- // Build object types with lazy field builders (allows circular references)
460
- for (const [typeName, typeReg] of this.state.types) {
461
- const implementedInterfaces = typeReg.implements?.map((name) => interfaceRegistry.get(name)).filter(Boolean) ?? [];
462
- const graphqlType = new graphql_1.GraphQLObjectType({
463
- name: typeName,
464
- fields: () => {
465
- const baseFields = (0, type_registry_1.schemaToFields)(typeReg.schema, sharedCtx);
466
- const additionalFields = this.state.objectFields.get(typeName);
467
- if (additionalFields) {
468
- for (const [fieldName, fieldConfig] of additionalFields) {
469
- baseFields[fieldName] = (0, field_builders_1.buildObjectField)(fieldConfig, sharedFieldCtx);
470
- }
471
- }
472
- return baseFields;
473
- },
474
- interfaces: implementedInterfaces.length > 0 ? implementedInterfaces : undefined,
475
- extensions: typeReg.directives ? { directives: typeReg.directives } : undefined,
476
- });
477
- typeRegistry.set(typeName, graphqlType);
478
- }
479
- // Build union types (reference object types)
480
- for (const [name, reg] of this.state.unions) {
481
- const unionType = new graphql_1.GraphQLUnionType({
482
- name,
483
- types: () => reg.types.map((typeName) => typeRegistry.get(typeName)).filter(Boolean),
484
- resolveType: reg.resolveType,
485
- extensions: reg.directives ? { directives: reg.directives } : undefined,
486
- });
487
- unionRegistry.set(name, unionType);
488
- }
489
- return { typeRegistry, unionRegistry };
490
- }
491
- createFieldBuilderContext(typeRegistry, interfaceRegistry, enumRegistry, unionRegistry, inputRegistry) {
492
- // Build cache once for O(1) input type lookups across all fields
493
- const inputTypeLookupCache = (0, type_registry_1.buildInputTypeLookupCache)(this.state.inputs, this.state.enums);
494
- return {
495
- types: this.state.types,
496
- interfaces: this.state.interfaces,
497
- enums: this.state.enums,
498
- unions: this.state.unions,
499
- inputs: this.state.inputs,
500
- typeRegistry,
501
- interfaceRegistry,
502
- enumRegistry,
503
- unionRegistry,
504
- inputRegistry,
505
- directiveRegistrations: this.state.directives,
506
- middlewares: this.state.middlewares,
507
- inputTypeLookupCache,
508
- };
509
- }
510
- buildQueryFields(ctx) {
511
- const fields = {};
512
- for (const [name, config] of this.state.queries) {
513
- fields[name] = (0, field_builders_1.buildField)(config, ctx);
514
- }
515
- return fields;
516
- }
517
- buildMutationFields(ctx) {
518
- const fields = {};
519
- for (const [name, config] of this.state.mutations) {
520
- fields[name] = (0, field_builders_1.buildField)(config, ctx);
521
- }
522
- return fields;
523
- }
524
- buildSubscriptionFields(ctx) {
525
- const fields = {};
526
- for (const [name, config] of this.state.subscriptions) {
527
- fields[name] = (0, field_builders_1.buildSubscriptionField)(config, ctx);
528
- }
529
- return fields;
530
- }
531
- assembleSchema(registries) {
532
- const schemaConfig = {
533
- types: [
534
- ...Array.from(registries.enumRegistry.values()),
535
- ...Array.from(registries.inputRegistry.values()),
536
- ...Array.from(registries.interfaceRegistry.values()),
537
- ...Array.from(registries.typeRegistry.values()),
538
- ...Array.from(registries.unionRegistry.values()),
539
- ],
540
- directives: registries.directiveRegistry.size > 0
541
- ? [...Array.from(registries.directiveRegistry.values())]
542
- : undefined,
543
- };
544
- if (Object.keys(registries.queryFields).length > 0) {
545
- schemaConfig.query = new graphql_1.GraphQLObjectType({
546
- name: "Query",
547
- fields: registries.queryFields,
548
- });
549
- }
550
- if (Object.keys(registries.mutationFields).length > 0) {
551
- schemaConfig.mutation = new graphql_1.GraphQLObjectType({
552
- name: "Mutation",
553
- fields: registries.mutationFields,
554
- });
555
- }
556
- if (Object.keys(registries.subscriptionFields).length > 0) {
557
- schemaConfig.subscription = new graphql_1.GraphQLObjectType({
558
- name: "Subscription",
559
- fields: registries.subscriptionFields,
560
- });
561
- }
562
- return new graphql_1.GraphQLSchema(schemaConfig);
563
- }
564
- }
565
- exports.GraphQLSchemaBuilder = GraphQLSchemaBuilder;
566
- //# sourceMappingURL=schema-builder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema-builder.js","sourceRoot":"","sources":["../../src/builder/schema-builder.ts"],"names":[],"mappings":"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"}
@@ -1,80 +0,0 @@
1
- import * as S from "effect/Schema";
2
- import * as AST from "effect/SchemaAST";
3
- import { GraphQLObjectType, GraphQLInterfaceType, GraphQLEnumType, GraphQLUnionType, GraphQLInputObjectType, GraphQLNonNull, GraphQLFieldConfigMap, GraphQLInputFieldConfigMap } from "graphql";
4
- import type { TypeRegistration, InterfaceRegistration, EnumRegistration, UnionRegistration, InputTypeRegistration } from "./types";
5
- /**
6
- * Extract type name from a schema if it has one.
7
- * Supports:
8
- * - S.TaggedStruct("Name", {...}) - extracts from _tag literal
9
- * - S.TaggedClass()("Name", {...}) - extracts from identifier annotation
10
- * - S.Class<T>("Name")({...}) - extracts from identifier annotation
11
- */
12
- export declare function getSchemaName(schema: S.Schema<any, any, any>): string | undefined;
13
- /**
14
- * Context needed for type conversion operations
15
- */
16
- export interface TypeConversionContext {
17
- types: Map<string, TypeRegistration>;
18
- interfaces: Map<string, InterfaceRegistration>;
19
- enums: Map<string, EnumRegistration>;
20
- unions: Map<string, UnionRegistration>;
21
- inputs: Map<string, InputTypeRegistration>;
22
- typeRegistry: Map<string, GraphQLObjectType>;
23
- interfaceRegistry: Map<string, GraphQLInterfaceType>;
24
- enumRegistry: Map<string, GraphQLEnumType>;
25
- unionRegistry: Map<string, GraphQLUnionType>;
26
- inputRegistry: Map<string, GraphQLInputObjectType>;
27
- schemaToTypeName?: Map<S.Schema<any, any, any>, string>;
28
- astToTypeName?: Map<AST.AST, string>;
29
- schemaToInterfaceName?: Map<S.Schema<any, any, any>, string>;
30
- astToInterfaceName?: Map<AST.AST, string>;
31
- schemaToInputName?: Map<S.Schema<any, any, any>, string>;
32
- astToInputName?: Map<AST.AST, string>;
33
- enumSortedValues?: Map<string, readonly string[]>;
34
- unionSortedTypes?: Map<string, readonly string[]>;
35
- literalToEnumName?: Map<string, string>;
36
- }
37
- /**
38
- * Build reverse lookup maps from registration maps for O(1) type resolution
39
- */
40
- export declare function buildReverseLookups(ctx: TypeConversionContext): void;
41
- /**
42
- * Get or create a GraphQLNonNull wrapper (memoized)
43
- */
44
- export declare function getNonNull<T extends import("graphql").GraphQLNullableType>(type: T): GraphQLNonNull<T>;
45
- /**
46
- * Convert schema to GraphQL type, checking registry first for registered types
47
- */
48
- export declare function toGraphQLTypeWithRegistry(schema: S.Schema<any, any, any>, ctx: TypeConversionContext): any;
49
- /**
50
- * Convert a schema to GraphQL fields
51
- */
52
- export declare function schemaToFields(schema: S.Schema<any, any, any>, ctx: TypeConversionContext): GraphQLFieldConfigMap<any, any>;
53
- /**
54
- * Convert a schema to GraphQL input fields
55
- */
56
- export declare function schemaToInputFields(schema: S.Schema<any, any, any>, enumRegistry: Map<string, GraphQLEnumType>, inputRegistry: Map<string, GraphQLInputObjectType>, inputs: Map<string, InputTypeRegistration>, enums: Map<string, EnumRegistration>, cache?: InputTypeLookupCache): GraphQLInputFieldConfigMap;
57
- /**
58
- * Optional cache for input type lookups to enable O(1) resolution
59
- */
60
- export interface InputTypeLookupCache {
61
- schemaToInputName?: Map<S.Schema<any, any, any>, string>;
62
- astToInputName?: Map<AST.AST, string>;
63
- literalToEnumName?: Map<string, string>;
64
- enumSortedValues?: Map<string, readonly string[]>;
65
- }
66
- /**
67
- * Build lookup caches for input type resolution
68
- */
69
- export declare function buildInputTypeLookupCache(inputs: Map<string, InputTypeRegistration>, enums: Map<string, EnumRegistration>): InputTypeLookupCache;
70
- /**
71
- * Convert a schema to GraphQL input type, checking enum and input registries.
72
- * Uses O(1) reverse lookups when cache is provided.
73
- */
74
- export declare function toGraphQLInputTypeWithRegistry(schema: S.Schema<any, any, any>, enumRegistry: Map<string, GraphQLEnumType>, inputRegistry: Map<string, GraphQLInputObjectType>, inputs: Map<string, InputTypeRegistration>, enums: Map<string, EnumRegistration>, cache?: InputTypeLookupCache): any;
75
- /**
76
- * Convert a schema to GraphQL arguments with registry support.
77
- * Uses O(1) reverse lookups when cache is provided.
78
- */
79
- export declare function toGraphQLArgsWithRegistry(schema: S.Schema<any, any, any>, enumRegistry: Map<string, GraphQLEnumType>, inputRegistry: Map<string, GraphQLInputObjectType>, inputs: Map<string, InputTypeRegistration>, enums: Map<string, EnumRegistration>, cache?: InputTypeLookupCache): any;
80
- //# sourceMappingURL=type-registry.d.ts.map