@effect-gql/core 0.1.0 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +100 -0
- package/builder/index.cjs +1431 -0
- package/builder/index.cjs.map +1 -0
- package/builder/index.d.cts +259 -0
- package/{dist/builder/pipe-api.d.ts → builder/index.d.ts} +49 -21
- package/builder/index.js +1390 -0
- package/builder/index.js.map +1 -0
- package/index.cjs +3419 -0
- package/index.cjs.map +1 -0
- package/index.d.cts +523 -0
- package/index.d.ts +523 -0
- package/index.js +3242 -0
- package/index.js.map +1 -0
- package/package.json +19 -28
- package/schema-builder-Cvdq7Kz_.d.cts +963 -0
- package/schema-builder-Cvdq7Kz_.d.ts +963 -0
- package/server/index.cjs +1555 -0
- package/server/index.cjs.map +1 -0
- package/server/index.d.cts +680 -0
- package/server/index.d.ts +680 -0
- package/server/index.js +1524 -0
- package/server/index.js.map +1 -0
- package/dist/analyzer-extension.d.ts +0 -105
- package/dist/analyzer-extension.d.ts.map +0 -1
- package/dist/analyzer-extension.js +0 -137
- package/dist/analyzer-extension.js.map +0 -1
- package/dist/builder/execute.d.ts +0 -26
- package/dist/builder/execute.d.ts.map +0 -1
- package/dist/builder/execute.js +0 -104
- package/dist/builder/execute.js.map +0 -1
- package/dist/builder/field-builders.d.ts +0 -30
- package/dist/builder/field-builders.d.ts.map +0 -1
- package/dist/builder/field-builders.js +0 -200
- package/dist/builder/field-builders.js.map +0 -1
- package/dist/builder/index.d.ts +0 -7
- package/dist/builder/index.d.ts.map +0 -1
- package/dist/builder/index.js +0 -31
- package/dist/builder/index.js.map +0 -1
- package/dist/builder/pipe-api.d.ts.map +0 -1
- package/dist/builder/pipe-api.js +0 -151
- package/dist/builder/pipe-api.js.map +0 -1
- package/dist/builder/schema-builder.d.ts +0 -301
- package/dist/builder/schema-builder.d.ts.map +0 -1
- package/dist/builder/schema-builder.js +0 -566
- package/dist/builder/schema-builder.js.map +0 -1
- package/dist/builder/type-registry.d.ts +0 -80
- package/dist/builder/type-registry.d.ts.map +0 -1
- package/dist/builder/type-registry.js +0 -505
- package/dist/builder/type-registry.js.map +0 -1
- package/dist/builder/types.d.ts +0 -283
- package/dist/builder/types.d.ts.map +0 -1
- package/dist/builder/types.js +0 -3
- package/dist/builder/types.js.map +0 -1
- package/dist/cli/generate-schema.d.ts +0 -29
- package/dist/cli/generate-schema.d.ts.map +0 -1
- package/dist/cli/generate-schema.js +0 -233
- package/dist/cli/generate-schema.js.map +0 -1
- package/dist/cli/index.d.ts +0 -19
- package/dist/cli/index.d.ts.map +0 -1
- package/dist/cli/index.js +0 -24
- package/dist/cli/index.js.map +0 -1
- package/dist/context.d.ts +0 -18
- package/dist/context.d.ts.map +0 -1
- package/dist/context.js +0 -11
- package/dist/context.js.map +0 -1
- package/dist/error.d.ts +0 -45
- package/dist/error.d.ts.map +0 -1
- package/dist/error.js +0 -29
- package/dist/error.js.map +0 -1
- package/dist/extensions.d.ts +0 -130
- package/dist/extensions.d.ts.map +0 -1
- package/dist/extensions.js +0 -78
- package/dist/extensions.js.map +0 -1
- package/dist/index.d.ts +0 -12
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -47
- package/dist/index.js.map +0 -1
- package/dist/loader.d.ts +0 -169
- package/dist/loader.d.ts.map +0 -1
- package/dist/loader.js +0 -237
- package/dist/loader.js.map +0 -1
- package/dist/resolver-context.d.ts +0 -154
- package/dist/resolver-context.d.ts.map +0 -1
- package/dist/resolver-context.js +0 -184
- package/dist/resolver-context.js.map +0 -1
- package/dist/schema-mapping.d.ts +0 -30
- package/dist/schema-mapping.d.ts.map +0 -1
- package/dist/schema-mapping.js +0 -280
- package/dist/schema-mapping.js.map +0 -1
- package/dist/server/cache-control.d.ts +0 -96
- package/dist/server/cache-control.d.ts.map +0 -1
- package/dist/server/cache-control.js +0 -308
- package/dist/server/cache-control.js.map +0 -1
- package/dist/server/complexity.d.ts +0 -165
- package/dist/server/complexity.d.ts.map +0 -1
- package/dist/server/complexity.js +0 -433
- package/dist/server/complexity.js.map +0 -1
- package/dist/server/config.d.ts +0 -66
- package/dist/server/config.d.ts.map +0 -1
- package/dist/server/config.js +0 -104
- package/dist/server/config.js.map +0 -1
- package/dist/server/graphiql.d.ts +0 -5
- package/dist/server/graphiql.d.ts.map +0 -1
- package/dist/server/graphiql.js +0 -43
- package/dist/server/graphiql.js.map +0 -1
- package/dist/server/index.d.ts +0 -18
- package/dist/server/index.d.ts.map +0 -1
- package/dist/server/index.js +0 -48
- package/dist/server/index.js.map +0 -1
- package/dist/server/router.d.ts +0 -79
- package/dist/server/router.d.ts.map +0 -1
- package/dist/server/router.js +0 -232
- package/dist/server/router.js.map +0 -1
- package/dist/server/schema-builder-extensions.d.ts +0 -42
- package/dist/server/schema-builder-extensions.d.ts.map +0 -1
- package/dist/server/schema-builder-extensions.js +0 -48
- package/dist/server/schema-builder-extensions.js.map +0 -1
- package/dist/server/sse-adapter.d.ts +0 -64
- package/dist/server/sse-adapter.d.ts.map +0 -1
- package/dist/server/sse-adapter.js +0 -227
- package/dist/server/sse-adapter.js.map +0 -1
- package/dist/server/sse-types.d.ts +0 -192
- package/dist/server/sse-types.d.ts.map +0 -1
- package/dist/server/sse-types.js +0 -63
- package/dist/server/sse-types.js.map +0 -1
- package/dist/server/ws-adapter.d.ts +0 -39
- package/dist/server/ws-adapter.d.ts.map +0 -1
- package/dist/server/ws-adapter.js +0 -247
- package/dist/server/ws-adapter.js.map +0 -1
- package/dist/server/ws-types.d.ts +0 -169
- package/dist/server/ws-types.d.ts.map +0 -1
- package/dist/server/ws-types.js +0 -11
- package/dist/server/ws-types.js.map +0 -1
- package/dist/server/ws-utils.d.ts +0 -42
- package/dist/server/ws-utils.d.ts.map +0 -1
- package/dist/server/ws-utils.js +0 -99
- package/dist/server/ws-utils.js.map +0 -1
- package/src/analyzer-extension.ts +0 -254
- package/src/builder/execute.ts +0 -153
- package/src/builder/field-builders.ts +0 -322
- package/src/builder/index.ts +0 -48
- package/src/builder/pipe-api.ts +0 -312
- package/src/builder/schema-builder.ts +0 -970
- package/src/builder/type-registry.ts +0 -670
- package/src/builder/types.ts +0 -305
- package/src/context.ts +0 -23
- package/src/error.ts +0 -32
- package/src/extensions.ts +0 -240
- package/src/index.ts +0 -32
- package/src/loader.ts +0 -363
- package/src/resolver-context.ts +0 -253
- package/src/schema-mapping.ts +0 -307
- package/src/server/cache-control.ts +0 -590
- package/src/server/complexity.ts +0 -774
- package/src/server/config.ts +0 -174
- package/src/server/graphiql.ts +0 -38
- package/src/server/index.ts +0 -96
- package/src/server/router.ts +0 -432
- package/src/server/schema-builder-extensions.ts +0 -51
- package/src/server/sse-adapter.ts +0 -327
- package/src/server/sse-types.ts +0 -234
- package/src/server/ws-adapter.ts +0 -355
- package/src/server/ws-types.ts +0 -192
- package/src/server/ws-utils.ts +0 -136
package/dist/schema-mapping.js
DELETED
|
@@ -1,280 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.toGraphQLArgs = exports.toGraphQLObjectType = exports.toGraphQLInputType = exports.toGraphQLType = void 0;
|
|
37
|
-
const S = __importStar(require("effect/Schema"));
|
|
38
|
-
const AST = __importStar(require("effect/SchemaAST"));
|
|
39
|
-
const graphql_1 = require("graphql");
|
|
40
|
-
/**
|
|
41
|
-
* Check if a number AST node represents an integer
|
|
42
|
-
*/
|
|
43
|
-
const isIntegerType = (ast) => {
|
|
44
|
-
// Check for Refinement with integer filter
|
|
45
|
-
if (ast._tag === "Refinement") {
|
|
46
|
-
const refinement = ast;
|
|
47
|
-
// S.Int uses a filter with a specific predicate
|
|
48
|
-
// Check the annotations for the integer identifier
|
|
49
|
-
const annotations = refinement.annotations;
|
|
50
|
-
if (annotations) {
|
|
51
|
-
// Check for identifier annotation
|
|
52
|
-
const identifier = AST.getIdentifierAnnotation(refinement);
|
|
53
|
-
if (identifier._tag === "Some" && identifier.value === "Int") {
|
|
54
|
-
return true;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
// Recursively check the base type
|
|
58
|
-
return isIntegerType(refinement.from);
|
|
59
|
-
}
|
|
60
|
-
return false;
|
|
61
|
-
};
|
|
62
|
-
/**
|
|
63
|
-
* Convert an Effect Schema to a GraphQL output type
|
|
64
|
-
*/
|
|
65
|
-
const toGraphQLType = (schema) => {
|
|
66
|
-
const ast = schema.ast;
|
|
67
|
-
// Handle primitives
|
|
68
|
-
if (ast._tag === "StringKeyword")
|
|
69
|
-
return graphql_1.GraphQLString;
|
|
70
|
-
if (ast._tag === "NumberKeyword")
|
|
71
|
-
return graphql_1.GraphQLFloat;
|
|
72
|
-
if (ast._tag === "BooleanKeyword")
|
|
73
|
-
return graphql_1.GraphQLBoolean;
|
|
74
|
-
// Handle refinements (e.g., S.Int)
|
|
75
|
-
if (ast._tag === "Refinement") {
|
|
76
|
-
if (isIntegerType(ast)) {
|
|
77
|
-
return graphql_1.GraphQLInt;
|
|
78
|
-
}
|
|
79
|
-
// For other refinements, use the base type
|
|
80
|
-
return (0, exports.toGraphQLType)(S.make(ast.from));
|
|
81
|
-
}
|
|
82
|
-
// Handle literals
|
|
83
|
-
if (ast._tag === "Literal") {
|
|
84
|
-
if (typeof ast.literal === "string")
|
|
85
|
-
return graphql_1.GraphQLString;
|
|
86
|
-
if (typeof ast.literal === "number") {
|
|
87
|
-
// Check if it's an integer literal
|
|
88
|
-
return Number.isInteger(ast.literal) ? graphql_1.GraphQLInt : graphql_1.GraphQLFloat;
|
|
89
|
-
}
|
|
90
|
-
if (typeof ast.literal === "boolean")
|
|
91
|
-
return graphql_1.GraphQLBoolean;
|
|
92
|
-
}
|
|
93
|
-
// Handle arrays - check for TupleType
|
|
94
|
-
if (ast._tag === "TupleType") {
|
|
95
|
-
const elements = ast.elements;
|
|
96
|
-
if (elements.length > 0) {
|
|
97
|
-
const elementSchema = S.make(elements[0].type);
|
|
98
|
-
return new graphql_1.GraphQLList((0, exports.toGraphQLType)(elementSchema));
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
// Handle structs/objects
|
|
102
|
-
if (ast._tag === "TypeLiteral") {
|
|
103
|
-
const fields = {};
|
|
104
|
-
for (const field of ast.propertySignatures) {
|
|
105
|
-
const fieldName = String(field.name);
|
|
106
|
-
const fieldSchema = S.make(field.type);
|
|
107
|
-
let fieldType = (0, exports.toGraphQLType)(fieldSchema);
|
|
108
|
-
// Make non-optional fields non-null
|
|
109
|
-
if (!field.isOptional) {
|
|
110
|
-
fieldType = new graphql_1.GraphQLNonNull(fieldType);
|
|
111
|
-
}
|
|
112
|
-
fields[fieldName] = { type: fieldType };
|
|
113
|
-
}
|
|
114
|
-
// Generate a name from the schema or use a default
|
|
115
|
-
const typeName = schema.annotations?.identifier || `Object_${Math.random().toString(36).slice(2, 11)}`;
|
|
116
|
-
return new graphql_1.GraphQLObjectType({
|
|
117
|
-
name: typeName,
|
|
118
|
-
fields,
|
|
119
|
-
});
|
|
120
|
-
}
|
|
121
|
-
// Handle transformations - use the "to" side
|
|
122
|
-
if (ast._tag === "Transformation") {
|
|
123
|
-
return (0, exports.toGraphQLType)(S.make(ast.to));
|
|
124
|
-
}
|
|
125
|
-
// Handle unions (use first type as fallback)
|
|
126
|
-
if (ast._tag === "Union") {
|
|
127
|
-
const types = ast.types;
|
|
128
|
-
if (types.length > 0) {
|
|
129
|
-
return (0, exports.toGraphQLType)(S.make(types[0]));
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
// Handle Suspend (recursive/self-referential schemas)
|
|
133
|
-
if (ast._tag === "Suspend") {
|
|
134
|
-
const innerAst = ast.f();
|
|
135
|
-
return (0, exports.toGraphQLType)(S.make(innerAst));
|
|
136
|
-
}
|
|
137
|
-
// Default fallback
|
|
138
|
-
return graphql_1.GraphQLString;
|
|
139
|
-
};
|
|
140
|
-
exports.toGraphQLType = toGraphQLType;
|
|
141
|
-
/**
|
|
142
|
-
* Convert an Effect Schema to a GraphQL input type
|
|
143
|
-
*/
|
|
144
|
-
const toGraphQLInputType = (schema) => {
|
|
145
|
-
const ast = schema.ast;
|
|
146
|
-
// Handle primitives
|
|
147
|
-
if (ast._tag === "StringKeyword")
|
|
148
|
-
return graphql_1.GraphQLString;
|
|
149
|
-
if (ast._tag === "NumberKeyword")
|
|
150
|
-
return graphql_1.GraphQLFloat;
|
|
151
|
-
if (ast._tag === "BooleanKeyword")
|
|
152
|
-
return graphql_1.GraphQLBoolean;
|
|
153
|
-
// Handle refinements (e.g., S.Int)
|
|
154
|
-
if (ast._tag === "Refinement") {
|
|
155
|
-
if (isIntegerType(ast)) {
|
|
156
|
-
return graphql_1.GraphQLInt;
|
|
157
|
-
}
|
|
158
|
-
// For other refinements, use the base type
|
|
159
|
-
return (0, exports.toGraphQLInputType)(S.make(ast.from));
|
|
160
|
-
}
|
|
161
|
-
// Handle literals
|
|
162
|
-
if (ast._tag === "Literal") {
|
|
163
|
-
if (typeof ast.literal === "string")
|
|
164
|
-
return graphql_1.GraphQLString;
|
|
165
|
-
if (typeof ast.literal === "number") {
|
|
166
|
-
// Check if it's an integer literal
|
|
167
|
-
return Number.isInteger(ast.literal) ? graphql_1.GraphQLInt : graphql_1.GraphQLFloat;
|
|
168
|
-
}
|
|
169
|
-
if (typeof ast.literal === "boolean")
|
|
170
|
-
return graphql_1.GraphQLBoolean;
|
|
171
|
-
}
|
|
172
|
-
// Handle arrays
|
|
173
|
-
if (ast._tag === "TupleType") {
|
|
174
|
-
const elements = ast.elements;
|
|
175
|
-
if (elements.length > 0) {
|
|
176
|
-
const elementSchema = S.make(elements[0].type);
|
|
177
|
-
return new graphql_1.GraphQLList((0, exports.toGraphQLInputType)(elementSchema));
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
// Handle structs/objects as input types
|
|
181
|
-
if (ast._tag === "TypeLiteral") {
|
|
182
|
-
const fields = {};
|
|
183
|
-
for (const field of ast.propertySignatures) {
|
|
184
|
-
const fieldName = String(field.name);
|
|
185
|
-
const fieldSchema = S.make(field.type);
|
|
186
|
-
let fieldType = (0, exports.toGraphQLInputType)(fieldSchema);
|
|
187
|
-
// Make non-optional fields non-null
|
|
188
|
-
if (!field.isOptional) {
|
|
189
|
-
fieldType = new graphql_1.GraphQLNonNull(fieldType);
|
|
190
|
-
}
|
|
191
|
-
fields[fieldName] = { type: fieldType };
|
|
192
|
-
}
|
|
193
|
-
const typeName = schema.annotations?.identifier || `Input_${Math.random().toString(36).slice(2, 11)}`;
|
|
194
|
-
return new graphql_1.GraphQLInputObjectType({
|
|
195
|
-
name: typeName,
|
|
196
|
-
fields,
|
|
197
|
-
});
|
|
198
|
-
}
|
|
199
|
-
// Handle transformations - use the "from" side for input
|
|
200
|
-
if (ast._tag === "Transformation") {
|
|
201
|
-
return (0, exports.toGraphQLInputType)(S.make(ast.from));
|
|
202
|
-
}
|
|
203
|
-
// Handle unions (use first type as fallback)
|
|
204
|
-
if (ast._tag === "Union") {
|
|
205
|
-
const types = ast.types;
|
|
206
|
-
if (types.length > 0) {
|
|
207
|
-
return (0, exports.toGraphQLInputType)(S.make(types[0]));
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
// Handle Suspend (recursive/self-referential schemas)
|
|
211
|
-
if (ast._tag === "Suspend") {
|
|
212
|
-
const innerAst = ast.f();
|
|
213
|
-
return (0, exports.toGraphQLInputType)(S.make(innerAst));
|
|
214
|
-
}
|
|
215
|
-
// Default fallback
|
|
216
|
-
return graphql_1.GraphQLString;
|
|
217
|
-
};
|
|
218
|
-
exports.toGraphQLInputType = toGraphQLInputType;
|
|
219
|
-
/**
|
|
220
|
-
* Create a GraphQL Object Type from an Effect Schema with a name
|
|
221
|
-
* Optionally add computed/relational fields with resolvers
|
|
222
|
-
*/
|
|
223
|
-
const toGraphQLObjectType = (name, schema, additionalFields) => {
|
|
224
|
-
const ast = schema.ast;
|
|
225
|
-
if (ast._tag === "TypeLiteral") {
|
|
226
|
-
const fields = {};
|
|
227
|
-
// Add fields from schema
|
|
228
|
-
for (const field of ast.propertySignatures) {
|
|
229
|
-
const fieldName = String(field.name);
|
|
230
|
-
const fieldSchema = S.make(field.type);
|
|
231
|
-
let fieldType = (0, exports.toGraphQLType)(fieldSchema);
|
|
232
|
-
// Make non-optional fields non-null
|
|
233
|
-
if (!field.isOptional) {
|
|
234
|
-
fieldType = new graphql_1.GraphQLNonNull(fieldType);
|
|
235
|
-
}
|
|
236
|
-
fields[fieldName] = { type: fieldType };
|
|
237
|
-
}
|
|
238
|
-
// Add additional computed/relational fields
|
|
239
|
-
if (additionalFields) {
|
|
240
|
-
for (const [fieldName, fieldConfig] of Object.entries(additionalFields)) {
|
|
241
|
-
fields[fieldName] = {
|
|
242
|
-
type: fieldConfig.type,
|
|
243
|
-
args: fieldConfig.args,
|
|
244
|
-
description: fieldConfig.description,
|
|
245
|
-
// Note: resolve will be set later when runtime is available
|
|
246
|
-
resolve: fieldConfig.resolve,
|
|
247
|
-
};
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
return new graphql_1.GraphQLObjectType({
|
|
251
|
-
name,
|
|
252
|
-
fields,
|
|
253
|
-
});
|
|
254
|
-
}
|
|
255
|
-
throw new Error(`Schema must be an object type to convert to GraphQLObjectType`);
|
|
256
|
-
};
|
|
257
|
-
exports.toGraphQLObjectType = toGraphQLObjectType;
|
|
258
|
-
/**
|
|
259
|
-
* Convert an Effect Schema to GraphQL arguments
|
|
260
|
-
*/
|
|
261
|
-
const toGraphQLArgs = (schema) => {
|
|
262
|
-
const ast = schema.ast;
|
|
263
|
-
if (ast._tag === "TypeLiteral") {
|
|
264
|
-
const args = {};
|
|
265
|
-
for (const field of ast.propertySignatures) {
|
|
266
|
-
const fieldName = String(field.name);
|
|
267
|
-
const fieldSchema = S.make(field.type);
|
|
268
|
-
let fieldType = (0, exports.toGraphQLInputType)(fieldSchema);
|
|
269
|
-
// Make non-optional fields non-null
|
|
270
|
-
if (!field.isOptional) {
|
|
271
|
-
fieldType = new graphql_1.GraphQLNonNull(fieldType);
|
|
272
|
-
}
|
|
273
|
-
args[fieldName] = { type: fieldType };
|
|
274
|
-
}
|
|
275
|
-
return args;
|
|
276
|
-
}
|
|
277
|
-
throw new Error(`Schema must be an object type to convert to GraphQL arguments`);
|
|
278
|
-
};
|
|
279
|
-
exports.toGraphQLArgs = toGraphQLArgs;
|
|
280
|
-
//# sourceMappingURL=schema-mapping.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schema-mapping.js","sourceRoot":"","sources":["../src/schema-mapping.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
import { Effect, Config } from "effect";
|
|
2
|
-
import { DocumentNode, OperationDefinitionNode, GraphQLSchema } from "graphql";
|
|
3
|
-
import type { CacheHint, CacheControlScope } from "../builder/types";
|
|
4
|
-
/**
|
|
5
|
-
* Map of type.field -> cache hint, or type -> cache hint for type-level hints
|
|
6
|
-
*/
|
|
7
|
-
export type CacheHintMap = Map<string, CacheHint>;
|
|
8
|
-
/**
|
|
9
|
-
* Computed cache policy for a GraphQL response
|
|
10
|
-
*/
|
|
11
|
-
export interface CachePolicy {
|
|
12
|
-
/**
|
|
13
|
-
* Maximum age in seconds the response can be cached.
|
|
14
|
-
* This is the minimum maxAge of all resolved fields.
|
|
15
|
-
* If 0, the response should not be cached.
|
|
16
|
-
*/
|
|
17
|
-
readonly maxAge: number;
|
|
18
|
-
/**
|
|
19
|
-
* Cache scope - PUBLIC means CDN-cacheable, PRIVATE means browser-only.
|
|
20
|
-
* If any field is PRIVATE, the entire response is PRIVATE.
|
|
21
|
-
*/
|
|
22
|
-
readonly scope: CacheControlScope;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Configuration for cache control
|
|
26
|
-
*/
|
|
27
|
-
export interface CacheControlConfig {
|
|
28
|
-
/**
|
|
29
|
-
* Enable cache control header calculation.
|
|
30
|
-
* @default true
|
|
31
|
-
*/
|
|
32
|
-
readonly enabled?: boolean;
|
|
33
|
-
/**
|
|
34
|
-
* Default maxAge for root fields (Query, Mutation).
|
|
35
|
-
* @default 0 (no caching)
|
|
36
|
-
*/
|
|
37
|
-
readonly defaultMaxAge?: number;
|
|
38
|
-
/**
|
|
39
|
-
* Default scope for fields without explicit scope.
|
|
40
|
-
* @default "PUBLIC"
|
|
41
|
-
*/
|
|
42
|
-
readonly defaultScope?: CacheControlScope;
|
|
43
|
-
/**
|
|
44
|
-
* Whether to set HTTP Cache-Control headers on responses.
|
|
45
|
-
* @default true
|
|
46
|
-
*/
|
|
47
|
-
readonly calculateHttpHeaders?: boolean;
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Information provided to cache policy calculation
|
|
51
|
-
*/
|
|
52
|
-
export interface CachePolicyAnalysisInfo {
|
|
53
|
-
/** Parsed GraphQL document */
|
|
54
|
-
readonly document: DocumentNode;
|
|
55
|
-
/** The operation being executed */
|
|
56
|
-
readonly operation: OperationDefinitionNode;
|
|
57
|
-
/** The GraphQL schema */
|
|
58
|
-
readonly schema: GraphQLSchema;
|
|
59
|
-
/** Cache hints from the builder (type.field -> hint or type -> hint) */
|
|
60
|
-
readonly cacheHints: CacheHintMap;
|
|
61
|
-
/** Configuration options */
|
|
62
|
-
readonly config: CacheControlConfig;
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Compute the cache policy for a GraphQL response based on the fields resolved.
|
|
66
|
-
*
|
|
67
|
-
* The policy is computed by walking the selection set and aggregating hints:
|
|
68
|
-
* - maxAge: Use the minimum maxAge of all resolved fields
|
|
69
|
-
* - scope: If any field is PRIVATE, the entire response is PRIVATE
|
|
70
|
-
*
|
|
71
|
-
* Default behaviors (matching Apollo):
|
|
72
|
-
* - Root fields default to maxAge: 0 (unless configured otherwise)
|
|
73
|
-
* - Object-returning fields default to maxAge: 0
|
|
74
|
-
* - Scalar fields inherit their parent's maxAge
|
|
75
|
-
* - Fields with inheritMaxAge: true inherit from parent
|
|
76
|
-
*/
|
|
77
|
-
export declare const computeCachePolicy: (info: CachePolicyAnalysisInfo) => Effect.Effect<CachePolicy, never, never>;
|
|
78
|
-
/**
|
|
79
|
-
* Compute cache policy from a query string
|
|
80
|
-
*/
|
|
81
|
-
export declare const computeCachePolicyFromQuery: (query: string, operationName: string | undefined, schema: GraphQLSchema, cacheHints: CacheHintMap, config?: CacheControlConfig) => Effect.Effect<CachePolicy, Error, never>;
|
|
82
|
-
/**
|
|
83
|
-
* Convert a cache policy to an HTTP Cache-Control header value
|
|
84
|
-
*/
|
|
85
|
-
export declare const toCacheControlHeader: (policy: CachePolicy) => string;
|
|
86
|
-
/**
|
|
87
|
-
* Effect Config for loading cache control configuration from environment variables.
|
|
88
|
-
*
|
|
89
|
-
* Environment variables:
|
|
90
|
-
* - GRAPHQL_CACHE_CONTROL_ENABLED: Enable cache control (default: true)
|
|
91
|
-
* - GRAPHQL_CACHE_CONTROL_DEFAULT_MAX_AGE: Default maxAge for root fields (default: 0)
|
|
92
|
-
* - GRAPHQL_CACHE_CONTROL_DEFAULT_SCOPE: Default scope (PUBLIC or PRIVATE, default: PUBLIC)
|
|
93
|
-
* - GRAPHQL_CACHE_CONTROL_HTTP_HEADERS: Set HTTP headers (default: true)
|
|
94
|
-
*/
|
|
95
|
-
export declare const CacheControlConfigFromEnv: Config.Config<CacheControlConfig>;
|
|
96
|
-
//# sourceMappingURL=cache-control.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cache-control.d.ts","sourceRoot":"","sources":["../../src/server/cache-control.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,EACL,YAAY,EACZ,uBAAuB,EAIvB,aAAa,EASd,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAMpE;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;AAEjD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IAEvB;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAA;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAE1B;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAE/B;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,iBAAiB,CAAA;IAEzC;;;OAGG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAA;CACxC;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,8BAA8B;IAC9B,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAA;IAC/B,mCAAmC;IACnC,QAAQ,CAAC,SAAS,EAAE,uBAAuB,CAAA;IAC3C,yBAAyB;IACzB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAA;IAC9B,wEAAwE;IACxE,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAA;IACjC,4BAA4B;IAC5B,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAA;CACpC;AAMD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,kBAAkB,GAC7B,MAAM,uBAAuB,KAC5B,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,CAmCtC,CAAA;AAEJ;;GAEG;AACH,eAAO,MAAM,2BAA2B,GACtC,OAAO,MAAM,EACb,eAAe,MAAM,GAAG,SAAS,EACjC,QAAQ,aAAa,EACrB,YAAY,YAAY,EACxB,SAAQ,kBAAuB,KAC9B,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,CA2CtC,CAAA;AAEJ;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAAI,QAAQ,WAAW,KAAG,MAU1D,CAAA;AAoWD;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAUtE,CAAA"}
|