@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,137 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createAnalyzerExtension = void 0;
4
- const effect_1 = require("effect");
5
- const graphql_1 = require("graphql");
6
- const extensions_1 = require("./extensions");
7
- const complexity_1 = require("./server/complexity");
8
- /**
9
- * Create an analyzer extension that reports query complexity metrics
10
- * in the response extensions field.
11
- *
12
- * Similar to async-graphql's Analyzer extension, this allows you to
13
- * monitor the complexity of incoming queries without blocking execution.
14
- *
15
- * @example
16
- * ```typescript
17
- * // Basic usage - reports complexity and depth
18
- * const analyzer = createAnalyzerExtension()
19
- *
20
- * // With all metrics and warnings
21
- * const analyzer = createAnalyzerExtension({
22
- * includeFieldCount: true,
23
- * includeAliasCount: true,
24
- * thresholds: {
25
- * depth: 10,
26
- * complexity: 100,
27
- * },
28
- * })
29
- *
30
- * // Add to schema builder
31
- * const builder = GraphQLSchemaBuilder.empty.pipe(
32
- * extension(analyzer),
33
- * // ...queries, mutations, etc.
34
- * )
35
- *
36
- * // Response will include:
37
- * // {
38
- * // "data": { ... },
39
- * // "extensions": {
40
- * // "analyzer": {
41
- * // "complexity": 42,
42
- * // "depth": 3
43
- * // }
44
- * // }
45
- * // }
46
- * ```
47
- */
48
- const createAnalyzerExtension = (config = {}) => {
49
- const { includeComplexity = true, includeDepth = true, includeFieldCount = false, includeAliasCount = false, key = "analyzer", thresholds, defaultFieldComplexity = 1, fieldComplexities: configFieldComplexities, } = config;
50
- return {
51
- name: "analyzer",
52
- description: "Reports query complexity metrics in response extensions",
53
- onExecuteStart: (args) => effect_1.Effect.gen(function* () {
54
- const ext = yield* extensions_1.ExtensionsService;
55
- // Find the operation
56
- const operation = findOperation(args);
57
- if (!operation) {
58
- return;
59
- }
60
- // Use config field complexities if provided, otherwise use from args
61
- const fieldComplexities = configFieldComplexities ?? args.fieldComplexities;
62
- // Calculate complexity
63
- const calculator = (0, complexity_1.defaultComplexityCalculator)(defaultFieldComplexity);
64
- const result = yield* calculator({
65
- document: args.document,
66
- operation,
67
- variables: args.variableValues,
68
- schema: args.schema,
69
- fieldComplexities,
70
- }).pipe(effect_1.Effect.catchAll((error) => effect_1.Effect.logWarning("Analyzer extension: complexity calculation failed", error).pipe(effect_1.Effect.as(null))));
71
- if (!result) {
72
- return;
73
- }
74
- // Check thresholds and log warnings
75
- yield* checkThresholds(result, thresholds);
76
- // Build output
77
- const output = {};
78
- if (includeComplexity) {
79
- output.complexity = result.complexity;
80
- }
81
- if (includeDepth) {
82
- output.depth = result.depth;
83
- }
84
- if (includeFieldCount) {
85
- output.fieldCount = result.fieldCount;
86
- }
87
- if (includeAliasCount) {
88
- output.aliasCount = result.aliasCount;
89
- }
90
- // Add to extensions
91
- yield* ext.set(key, output);
92
- }),
93
- };
94
- };
95
- exports.createAnalyzerExtension = createAnalyzerExtension;
96
- /**
97
- * Find the operation to analyze from the document
98
- */
99
- function findOperation(args) {
100
- const operations = args.document.definitions.filter((d) => d.kind === graphql_1.Kind.OPERATION_DEFINITION);
101
- if (operations.length === 0) {
102
- return null;
103
- }
104
- if (args.operationName) {
105
- return operations.find((o) => o.name?.value === args.operationName) ?? null;
106
- }
107
- return operations[0];
108
- }
109
- /**
110
- * Check thresholds and log warnings for exceeded values
111
- */
112
- function checkThresholds(result, thresholds) {
113
- if (!thresholds) {
114
- return effect_1.Effect.void;
115
- }
116
- const warnings = [];
117
- if (thresholds.depth !== undefined && result.depth > thresholds.depth) {
118
- warnings.push(`Query depth ${result.depth} exceeds threshold ${thresholds.depth}`);
119
- }
120
- if (thresholds.complexity !== undefined && result.complexity > thresholds.complexity) {
121
- warnings.push(`Query complexity ${result.complexity} exceeds threshold ${thresholds.complexity}`);
122
- }
123
- if (thresholds.fieldCount !== undefined && result.fieldCount > thresholds.fieldCount) {
124
- warnings.push(`Query field count ${result.fieldCount} exceeds threshold ${thresholds.fieldCount}`);
125
- }
126
- if (thresholds.aliasCount !== undefined && result.aliasCount > thresholds.aliasCount) {
127
- warnings.push(`Query alias count ${result.aliasCount} exceeds threshold ${thresholds.aliasCount}`);
128
- }
129
- if (warnings.length > 0) {
130
- return effect_1.Effect.logWarning("Analyzer extension: thresholds exceeded", {
131
- warnings,
132
- result,
133
- });
134
- }
135
- return effect_1.Effect.void;
136
- }
137
- //# sourceMappingURL=analyzer-extension.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"analyzer-extension.js","sourceRoot":"","sources":["../src/analyzer-extension.ts"],"names":[],"mappings":"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"}
@@ -1,26 +0,0 @@
1
- import { Effect, Layer } from "effect";
2
- import { GraphQLSchema, type ExecutionResult } from "graphql";
3
- import { type GraphQLExtension } from "../extensions";
4
- import type { FieldComplexityMap } from "../server/complexity";
5
- /**
6
- * Execute a GraphQL query with a service layer
7
- *
8
- * This is the layer-per-request execution model. Build the schema once,
9
- * then execute each request with its own layer (including request-scoped services).
10
- *
11
- * The execution follows these phases:
12
- * 1. Parse - Convert source string to DocumentNode
13
- * 2. Validate - Check document against schema
14
- * 3. Execute - Run resolvers and return result
15
- *
16
- * Extensions can hook into each phase via onParse, onValidate, onExecuteStart, onExecuteEnd.
17
- * Extension data is automatically merged into the response's extensions field.
18
- */
19
- export declare const execute: <R>(schema: GraphQLSchema, layer: Layer.Layer<R>, extensions?: readonly GraphQLExtension<any>[], fieldComplexities?: FieldComplexityMap) => (source: string, variableValues?: Record<string, unknown>, operationName?: string) => Effect.Effect<ExecutionResult, Error>;
20
- /**
21
- * Execute a GraphQL query with a service layer (simple version without extensions)
22
- *
23
- * @deprecated Use execute() instead, which now supports extensions as an optional parameter
24
- */
25
- export declare const executeSimple: <R>(schema: GraphQLSchema, layer: Layer.Layer<R>) => (source: string, variableValues?: Record<string, unknown>, operationName?: string) => Effect.Effect<ExecutionResult, Error>;
26
- //# sourceMappingURL=execute.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/builder/execute.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AACtC,OAAO,EACL,aAAa,EAKb,KAAK,eAAe,EAErB,MAAM,SAAS,CAAA;AAEhB,OAAO,EACL,KAAK,gBAAgB,EAOtB,MAAM,eAAe,CAAA;AACtB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAE9D;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,OAAO,GACjB,CAAC,EACA,QAAQ,aAAa,EACrB,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EACrB,aAAY,SAAS,gBAAgB,CAAC,GAAG,CAAC,EAAO,EACjD,oBAAmB,kBAA8B,MAGjD,QAAQ,MAAM,EACd,iBAAiB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACxC,gBAAgB,MAAM,KACrB,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,KAAK,CAiGkC,CAAA;AAE3E;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAI,CAAC,EAAE,QAAQ,aAAa,EAAE,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,cA3GjE,MAAM,mBACG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,kBACxB,MAAM,KACrB,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,KAAK,CAyGb,CAAA"}
@@ -1,104 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.executeSimple = exports.execute = void 0;
4
- const effect_1 = require("effect");
5
- const graphql_1 = require("graphql");
6
- const extensions_1 = require("../extensions");
7
- /**
8
- * Execute a GraphQL query with a service layer
9
- *
10
- * This is the layer-per-request execution model. Build the schema once,
11
- * then execute each request with its own layer (including request-scoped services).
12
- *
13
- * The execution follows these phases:
14
- * 1. Parse - Convert source string to DocumentNode
15
- * 2. Validate - Check document against schema
16
- * 3. Execute - Run resolvers and return result
17
- *
18
- * Extensions can hook into each phase via onParse, onValidate, onExecuteStart, onExecuteEnd.
19
- * Extension data is automatically merged into the response's extensions field.
20
- */
21
- const execute = (schema, layer, extensions = [], fieldComplexities = new Map()) => (source, variableValues, operationName) => effect_1.Effect.gen(function* () {
22
- // Create the ExtensionsService for this request
23
- const extensionsService = yield* (0, extensions_1.makeExtensionsService)();
24
- // Create runtime from the provided layer
25
- const runtime = yield* effect_1.Effect.runtime();
26
- // Phase 1: Parse
27
- let document;
28
- try {
29
- document = (0, graphql_1.parse)(source);
30
- }
31
- catch (parseError) {
32
- // Parse errors are returned as GraphQL errors, not thrown
33
- const extensionData = yield* extensionsService.get();
34
- return {
35
- errors: [
36
- parseError instanceof graphql_1.GraphQLError ? parseError : new graphql_1.GraphQLError(String(parseError)),
37
- ],
38
- extensions: Object.keys(extensionData).length > 0 ? extensionData : undefined,
39
- };
40
- }
41
- // Run onParse hooks
42
- yield* (0, extensions_1.runParseHooks)(extensions, source, document).pipe(effect_1.Effect.provideService(extensions_1.ExtensionsService, extensionsService));
43
- // Phase 2: Validate
44
- const validationErrors = (0, graphql_1.validate)(schema, document);
45
- // Run onValidate hooks
46
- yield* (0, extensions_1.runValidateHooks)(extensions, document, validationErrors).pipe(effect_1.Effect.provideService(extensions_1.ExtensionsService, extensionsService));
47
- // If validation failed, return errors without executing
48
- if (validationErrors.length > 0) {
49
- const extensionData = yield* extensionsService.get();
50
- return {
51
- errors: validationErrors,
52
- extensions: Object.keys(extensionData).length > 0 ? extensionData : undefined,
53
- };
54
- }
55
- // Phase 3: Execute
56
- const executionArgs = {
57
- source,
58
- document,
59
- variableValues,
60
- operationName,
61
- schema,
62
- fieldComplexities,
63
- };
64
- // Run onExecuteStart hooks
65
- yield* (0, extensions_1.runExecuteStartHooks)(extensions, executionArgs).pipe(effect_1.Effect.provideService(extensions_1.ExtensionsService, extensionsService));
66
- // Execute the GraphQL query
67
- const executeResult = yield* effect_1.Effect.try({
68
- try: () => (0, graphql_1.execute)({
69
- schema,
70
- document,
71
- variableValues,
72
- operationName,
73
- contextValue: { runtime },
74
- }),
75
- catch: (error) => new Error(String(error)),
76
- });
77
- // Await result if it's a promise (for subscriptions, it might be)
78
- const resolvedResult = executeResult && typeof executeResult === "object" && "then" in executeResult
79
- ? yield* effect_1.Effect.promise(() => executeResult)
80
- : executeResult;
81
- // Run onExecuteEnd hooks
82
- yield* (0, extensions_1.runExecuteEndHooks)(extensions, resolvedResult).pipe(effect_1.Effect.provideService(extensions_1.ExtensionsService, extensionsService));
83
- // Merge extension data into result
84
- const extensionData = yield* extensionsService.get();
85
- if (Object.keys(extensionData).length > 0) {
86
- return {
87
- ...resolvedResult,
88
- extensions: {
89
- ...resolvedResult.extensions,
90
- ...extensionData,
91
- },
92
- };
93
- }
94
- return resolvedResult;
95
- }).pipe(effect_1.Effect.provide(layer));
96
- exports.execute = execute;
97
- /**
98
- * Execute a GraphQL query with a service layer (simple version without extensions)
99
- *
100
- * @deprecated Use execute() instead, which now supports extensions as an optional parameter
101
- */
102
- const executeSimple = (schema, layer) => (0, exports.execute)(schema, layer, []);
103
- exports.executeSimple = executeSimple;
104
- //# sourceMappingURL=execute.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/builder/execute.ts"],"names":[],"mappings":"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"}
@@ -1,30 +0,0 @@
1
- import { GraphQLFieldConfig } from "graphql";
2
- import type { FieldRegistration, SubscriptionFieldRegistration, ObjectFieldRegistration, DirectiveRegistration, MiddlewareRegistration } from "./types";
3
- import { type TypeConversionContext, type InputTypeLookupCache } from "./type-registry";
4
- /**
5
- * Context needed for building fields
6
- */
7
- export interface FieldBuilderContext extends TypeConversionContext {
8
- directiveRegistrations: Map<string, DirectiveRegistration>;
9
- middlewares: readonly MiddlewareRegistration[];
10
- inputTypeLookupCache?: InputTypeLookupCache;
11
- }
12
- /**
13
- * Build a GraphQL field config from a field registration (for queries/mutations)
14
- */
15
- export declare function buildField(config: FieldRegistration, ctx: FieldBuilderContext): GraphQLFieldConfig<any, any>;
16
- /**
17
- * Build a GraphQL field config for an object field (has parent param)
18
- */
19
- export declare function buildObjectField(config: ObjectFieldRegistration, ctx: FieldBuilderContext): GraphQLFieldConfig<any, any>;
20
- /**
21
- * Build a GraphQL subscription field config.
22
- *
23
- * Subscriptions in GraphQL have a special structure:
24
- * - `subscribe` returns an AsyncIterator that yields the "root value" for each event
25
- * - `resolve` transforms each yielded value into the final result
26
- *
27
- * We convert Effect's Stream to an AsyncIterator using a Queue-based approach.
28
- */
29
- export declare function buildSubscriptionField(config: SubscriptionFieldRegistration, ctx: FieldBuilderContext): GraphQLFieldConfig<any, any>;
30
- //# sourceMappingURL=field-builders.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"field-builders.d.ts","sourceRoot":"","sources":["../../src/builder/field-builders.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAsB,MAAM,SAAS,CAAA;AAChE,OAAO,KAAK,EACV,iBAAiB,EACjB,6BAA6B,EAC7B,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,EAGvB,MAAM,SAAS,CAAA;AAChB,OAAO,EAGL,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EAC1B,MAAM,iBAAiB,CAAA;AAExB;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,qBAAqB;IAChE,sBAAsB,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAA;IAC1D,WAAW,EAAE,SAAS,sBAAsB,EAAE,CAAA;IAC9C,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;CAC5C;AAwDD;;GAEG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,iBAAiB,EACzB,GAAG,EAAE,mBAAmB,GACvB,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAuC9B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,uBAAuB,EAC/B,GAAG,EAAE,mBAAmB,GACvB,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAkC9B;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,6BAA6B,EACrC,GAAG,EAAE,mBAAmB,GACvB,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CA6D9B"}
@@ -1,200 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.buildField = buildField;
4
- exports.buildObjectField = buildObjectField;
5
- exports.buildSubscriptionField = buildSubscriptionField;
6
- const effect_1 = require("effect");
7
- const type_registry_1 = require("./type-registry");
8
- /**
9
- * Apply directives to an Effect by wrapping it with directive transformers
10
- */
11
- function applyDirectives(effect, directives, directiveRegistrations) {
12
- if (!directives)
13
- return effect;
14
- let wrapped = effect;
15
- for (const directiveApp of directives) {
16
- const directiveReg = directiveRegistrations.get(directiveApp.name);
17
- if (directiveReg?.apply) {
18
- wrapped = directiveReg.apply(directiveApp.args ?? {})(wrapped);
19
- }
20
- }
21
- return wrapped;
22
- }
23
- /**
24
- * Apply middleware to an Effect by wrapping it with middleware transformers.
25
- *
26
- * Middleware executes in "onion" order - first registered middleware is the
27
- * outermost layer, meaning it runs first before and last after the resolver.
28
- *
29
- * Each middleware can optionally specify a `match` predicate to filter which
30
- * fields it applies to.
31
- */
32
- function applyMiddleware(effect, context, middlewares) {
33
- if (middlewares.length === 0)
34
- return effect;
35
- let wrapped = effect;
36
- // Apply in reverse order so first registered is outermost
37
- // (executes first before, last after)
38
- for (let i = middlewares.length - 1; i >= 0; i--) {
39
- const middleware = middlewares[i];
40
- // Check if middleware should apply to this field
41
- if (middleware.match && !middleware.match(context.info)) {
42
- continue;
43
- }
44
- wrapped = middleware.apply(wrapped, context);
45
- }
46
- return wrapped;
47
- }
48
- /**
49
- * Build a GraphQL field config from a field registration (for queries/mutations)
50
- */
51
- function buildField(config, ctx) {
52
- const fieldConfig = {
53
- type: (0, type_registry_1.toGraphQLTypeWithRegistry)(config.type, ctx),
54
- resolve: async (_parent, args, context, info) => {
55
- // Apply directives first (per-field, explicit)
56
- let effect = applyDirectives(config.resolve(args), config.directives, ctx.directiveRegistrations);
57
- // Apply middleware (global/pattern-matched)
58
- const middlewareContext = { parent: _parent, args, info };
59
- effect = applyMiddleware(effect, middlewareContext, ctx.middlewares);
60
- return await effect_1.Runtime.runPromise(context.runtime)(effect);
61
- },
62
- };
63
- if (config.args) {
64
- fieldConfig.args = (0, type_registry_1.toGraphQLArgsWithRegistry)(config.args, ctx.enumRegistry, ctx.inputRegistry, ctx.inputs, ctx.enums, ctx.inputTypeLookupCache);
65
- }
66
- if (config.description) {
67
- fieldConfig.description = config.description;
68
- }
69
- return fieldConfig;
70
- }
71
- /**
72
- * Build a GraphQL field config for an object field (has parent param)
73
- */
74
- function buildObjectField(config, ctx) {
75
- const fieldConfig = {
76
- type: (0, type_registry_1.toGraphQLTypeWithRegistry)(config.type, ctx),
77
- resolve: async (parent, args, context, info) => {
78
- // Apply directives first (per-field, explicit)
79
- let effect = applyDirectives(config.resolve(parent, args), config.directives, ctx.directiveRegistrations);
80
- // Apply middleware (global/pattern-matched)
81
- const middlewareContext = { parent, args, info };
82
- effect = applyMiddleware(effect, middlewareContext, ctx.middlewares);
83
- return await effect_1.Runtime.runPromise(context.runtime)(effect);
84
- },
85
- };
86
- if (config.args) {
87
- fieldConfig.args = (0, type_registry_1.toGraphQLArgsWithRegistry)(config.args, ctx.enumRegistry, ctx.inputRegistry, ctx.inputs, ctx.enums, ctx.inputTypeLookupCache);
88
- }
89
- if (config.description) {
90
- fieldConfig.description = config.description;
91
- }
92
- return fieldConfig;
93
- }
94
- /**
95
- * Build a GraphQL subscription field config.
96
- *
97
- * Subscriptions in GraphQL have a special structure:
98
- * - `subscribe` returns an AsyncIterator that yields the "root value" for each event
99
- * - `resolve` transforms each yielded value into the final result
100
- *
101
- * We convert Effect's Stream to an AsyncIterator using a Queue-based approach.
102
- */
103
- function buildSubscriptionField(config, ctx) {
104
- const fieldConfig = {
105
- type: (0, type_registry_1.toGraphQLTypeWithRegistry)(config.type, ctx),
106
- // The subscribe function returns an AsyncIterator
107
- subscribe: async (_parent, args, context, info) => {
108
- // Get the Stream from the subscribe Effect
109
- let subscribeEffect = config.subscribe(args);
110
- // Apply directives to the subscribe effect
111
- subscribeEffect = applyDirectives(subscribeEffect, config.directives, ctx.directiveRegistrations);
112
- // Apply middleware to the subscribe effect
113
- const middlewareContext = { parent: _parent, args, info };
114
- subscribeEffect = applyMiddleware(subscribeEffect, middlewareContext, ctx.middlewares);
115
- const stream = await effect_1.Runtime.runPromise(context.runtime)(subscribeEffect);
116
- // Convert Stream to AsyncIterator using queue-based approach
117
- return streamToAsyncIterator(stream, context.runtime);
118
- },
119
- // The resolve function transforms each yielded value
120
- // If no custom resolve is provided, return the payload directly
121
- resolve: config.resolve
122
- ? async (value, args, context, info) => {
123
- let effect = config.resolve(value, args);
124
- // Apply middleware to the resolve effect
125
- const middlewareContext = { parent: value, args, info };
126
- effect = applyMiddleware(effect, middlewareContext, ctx.middlewares);
127
- return await effect_1.Runtime.runPromise(context.runtime)(effect);
128
- }
129
- : (value) => value,
130
- };
131
- if (config.args) {
132
- fieldConfig.args = (0, type_registry_1.toGraphQLArgsWithRegistry)(config.args, ctx.enumRegistry, ctx.inputRegistry, ctx.inputs, ctx.enums, ctx.inputTypeLookupCache);
133
- }
134
- if (config.description) {
135
- fieldConfig.description = config.description;
136
- }
137
- return fieldConfig;
138
- }
139
- /**
140
- * Convert an Effect Stream to an AsyncIterator using a Queue-based approach.
141
- *
142
- * This is needed because Stream.toAsyncIterable() requires R = never,
143
- * but our streams may have service requirements that need to be provided
144
- * by the runtime context.
145
- */
146
- function streamToAsyncIterator(stream, runtime) {
147
- // Create the queue synchronously via runSync since unbounded queue creation is synchronous
148
- let queue;
149
- let fiber;
150
- let initialized = false;
151
- let done = false;
152
- const initialize = async () => {
153
- if (initialized)
154
- return;
155
- initialized = true;
156
- queue = await effect_1.Runtime.runPromise(runtime)(effect_1.Queue.unbounded());
157
- // Fork a fiber to run the stream and push values to the queue
158
- fiber = effect_1.Runtime.runFork(runtime)(effect_1.Effect.ensuring(effect_1.Stream.runForEach(stream, (value) => effect_1.Queue.offer(queue, effect_1.Option.some(value))),
159
- // Signal completion by pushing None
160
- effect_1.Queue.offer(queue, effect_1.Option.none())));
161
- };
162
- return {
163
- [Symbol.asyncIterator]() {
164
- return this;
165
- },
166
- async next() {
167
- await initialize();
168
- if (done) {
169
- return { done: true, value: undefined };
170
- }
171
- try {
172
- const optionValue = await effect_1.Runtime.runPromise(runtime)(effect_1.Queue.take(queue));
173
- if (effect_1.Option.isNone(optionValue)) {
174
- done = true;
175
- return { done: true, value: undefined };
176
- }
177
- return { done: false, value: optionValue.value };
178
- }
179
- catch (error) {
180
- done = true;
181
- throw error;
182
- }
183
- },
184
- async return() {
185
- // Cleanup - interrupt the fiber and shutdown the queue
186
- done = true;
187
- if (initialized) {
188
- try {
189
- await effect_1.Runtime.runPromise(runtime)(effect_1.Fiber.interrupt(fiber));
190
- await effect_1.Runtime.runPromise(runtime)(effect_1.Queue.shutdown(queue));
191
- }
192
- catch {
193
- // Ignore cleanup errors
194
- }
195
- }
196
- return { done: true, value: undefined };
197
- },
198
- };
199
- }
200
- //# sourceMappingURL=field-builders.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"field-builders.js","sourceRoot":"","sources":["../../src/builder/field-builders.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- export type { FieldRegistration, TypeRegistration, InterfaceRegistration, EnumRegistration, UnionRegistration, InputTypeRegistration, DirectiveApplication, DirectiveRegistration, MiddlewareContext, MiddlewareRegistration, SubscriptionFieldRegistration, ObjectFieldRegistration, GraphQLEffectContext, TypeRegistries, CacheHint, CacheControlScope, } from "./types";
2
- export { DirectiveLocation } from "graphql";
3
- export { GraphQLSchemaBuilder } from "./schema-builder";
4
- export { objectType, interfaceType, enumType, unionType, inputType, directive, middleware, extension, query, mutation, subscription, field, compose, } from "./pipe-api";
5
- export { execute } from "./execute";
6
- export { getSchemaName } from "./type-registry";
7
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/builder/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,EACtB,6BAA6B,EAC7B,uBAAuB,EACvB,oBAAoB,EACpB,cAAc,EACd,SAAS,EACT,iBAAiB,GAClB,MAAM,SAAS,CAAA;AAGhB,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAG3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAGvD,OAAO,EACL,UAAU,EACV,aAAa,EACb,QAAQ,EACR,SAAS,EACT,SAAS,EACT,SAAS,EACT,UAAU,EACV,SAAS,EACT,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,KAAK,EACL,OAAO,GACR,MAAM,YAAY,CAAA;AAGnB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGnC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA"}
@@ -1,31 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getSchemaName = exports.execute = exports.compose = exports.field = exports.subscription = exports.mutation = exports.query = exports.extension = exports.middleware = exports.directive = exports.inputType = exports.unionType = exports.enumType = exports.interfaceType = exports.objectType = exports.GraphQLSchemaBuilder = exports.DirectiveLocation = void 0;
4
- // Re-export DirectiveLocation for convenience
5
- var graphql_1 = require("graphql");
6
- Object.defineProperty(exports, "DirectiveLocation", { enumerable: true, get: function () { return graphql_1.DirectiveLocation; } });
7
- // Re-export schema builder
8
- var schema_builder_1 = require("./schema-builder");
9
- Object.defineProperty(exports, "GraphQLSchemaBuilder", { enumerable: true, get: function () { return schema_builder_1.GraphQLSchemaBuilder; } });
10
- // Re-export pipe-able API
11
- var pipe_api_1 = require("./pipe-api");
12
- Object.defineProperty(exports, "objectType", { enumerable: true, get: function () { return pipe_api_1.objectType; } });
13
- Object.defineProperty(exports, "interfaceType", { enumerable: true, get: function () { return pipe_api_1.interfaceType; } });
14
- Object.defineProperty(exports, "enumType", { enumerable: true, get: function () { return pipe_api_1.enumType; } });
15
- Object.defineProperty(exports, "unionType", { enumerable: true, get: function () { return pipe_api_1.unionType; } });
16
- Object.defineProperty(exports, "inputType", { enumerable: true, get: function () { return pipe_api_1.inputType; } });
17
- Object.defineProperty(exports, "directive", { enumerable: true, get: function () { return pipe_api_1.directive; } });
18
- Object.defineProperty(exports, "middleware", { enumerable: true, get: function () { return pipe_api_1.middleware; } });
19
- Object.defineProperty(exports, "extension", { enumerable: true, get: function () { return pipe_api_1.extension; } });
20
- Object.defineProperty(exports, "query", { enumerable: true, get: function () { return pipe_api_1.query; } });
21
- Object.defineProperty(exports, "mutation", { enumerable: true, get: function () { return pipe_api_1.mutation; } });
22
- Object.defineProperty(exports, "subscription", { enumerable: true, get: function () { return pipe_api_1.subscription; } });
23
- Object.defineProperty(exports, "field", { enumerable: true, get: function () { return pipe_api_1.field; } });
24
- Object.defineProperty(exports, "compose", { enumerable: true, get: function () { return pipe_api_1.compose; } });
25
- // Re-export execute helper
26
- var execute_1 = require("./execute");
27
- Object.defineProperty(exports, "execute", { enumerable: true, get: function () { return execute_1.execute; } });
28
- // Re-export utilities that may be useful externally
29
- var type_registry_1 = require("./type-registry");
30
- Object.defineProperty(exports, "getSchemaName", { enumerable: true, get: function () { return type_registry_1.getSchemaName; } });
31
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/builder/index.ts"],"names":[],"mappings":";;;AAoBA,8CAA8C;AAC9C,mCAA2C;AAAlC,4GAAA,iBAAiB,OAAA;AAE1B,2BAA2B;AAC3B,mDAAuD;AAA9C,sHAAA,oBAAoB,OAAA;AAE7B,0BAA0B;AAC1B,uCAcmB;AAbjB,sGAAA,UAAU,OAAA;AACV,yGAAA,aAAa,OAAA;AACb,oGAAA,QAAQ,OAAA;AACR,qGAAA,SAAS,OAAA;AACT,qGAAA,SAAS,OAAA;AACT,qGAAA,SAAS,OAAA;AACT,sGAAA,UAAU,OAAA;AACV,qGAAA,SAAS,OAAA;AACT,iGAAA,KAAK,OAAA;AACL,oGAAA,QAAQ,OAAA;AACR,wGAAA,YAAY,OAAA;AACZ,iGAAA,KAAK,OAAA;AACL,mGAAA,OAAO,OAAA;AAGT,2BAA2B;AAC3B,qCAAmC;AAA1B,kGAAA,OAAO,OAAA;AAEhB,oDAAoD;AACpD,iDAA+C;AAAtC,8GAAA,aAAa,OAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"pipe-api.d.ts","sourceRoot":"","sources":["../../src/builder/pipe-api.ts"],"names":[],"mappings":"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"}