@gqlkit-ts/runtime 0.1.1 → 0.2.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 ADDED
@@ -0,0 +1,32 @@
1
+ # @gqlkit-ts/runtime
2
+
3
+ Runtime utilities for [gqlkit](https://gqlkit.izumin.dev) — type-safe resolver definitions with a thin API.
4
+
5
+ ```ts
6
+ // src/gqlkit/gqlkit.ts
7
+ import { createGqlkitApis, type IDString } from "@gqlkit-ts/runtime";
8
+ import {} from "./context.js";
9
+
10
+ export const { defineQuery, defineMutation, defineField } = createGqlkitApis<Context>();
11
+ ```
12
+
13
+ ```ts
14
+ // src/gqlkit/schema/tasks.ts
15
+ import type { NoArgs } from "@gqlkit-ts/runtime";
16
+ import { defineField, defineQuery, defineMutation } from "../gqlkit.js";
17
+
18
+ // Query
19
+ export const tasks = defineQuery<NoArgs, Task[]>(() => fetchTasks());
20
+
21
+ // Mutation
22
+ export const createTask = defineMutation<{ input: CreateTaskInput }, Task>(
23
+ (_, { input }) => createNewTask(input)
24
+ );
25
+
26
+ // Field resolver
27
+ export const taskAuthor = defineField<Task, NoArgs, User>(
28
+ (task) => fetchUser(task.authorId)
29
+ );
30
+ ```
31
+
32
+ For full documentation, visit [gqlkit.izumin.dev](https://gqlkit.izumin.dev).
package/dist/index.d.ts CHANGED
@@ -133,16 +133,18 @@ export type GqlInterface<T extends Record<string, unknown>, Meta extends {
133
133
  };
134
134
  /**
135
135
  * Metadata structure for type-level GraphQL metadata.
136
- * Used to attach directives and other metadata to types.
136
+ * Used to attach directives, interface implementations, and field exclusions to types.
137
137
  *
138
138
  * @typeParam Meta - The metadata configuration object
139
139
  */
140
140
  export interface GqlTypeMetaShape<Meta extends {
141
141
  directives?: ReadonlyArray<GqlDirective<string, Record<string, unknown>, DirectiveLocation | DirectiveLocation[]>>;
142
142
  implements?: ReadonlyArray<GqlInterfaceMarker>;
143
+ ignoreFields?: string;
143
144
  }> {
144
145
  readonly directives?: Meta["directives"];
145
146
  readonly implements?: Meta["implements"];
147
+ readonly ignoreFields?: Meta["ignoreFields"];
146
148
  }
147
149
  /**
148
150
  * Attaches metadata to a type definition.
@@ -150,11 +152,11 @@ export interface GqlTypeMetaShape<Meta extends {
150
152
  * with the underlying type.
151
153
  *
152
154
  * The structure uses two properties:
153
- * - `$gqlkitTypeMeta`: Contains the metadata object with directives and implements
155
+ * - `$gqlkitTypeMeta`: Contains the metadata object with directives, implements, and ignoreFields
154
156
  * - `$gqlkitOriginalType`: Preserves the original type T to maintain nullability information
155
157
  *
156
158
  * @typeParam T - The base type to attach metadata to
157
- * @typeParam Meta - The metadata configuration object containing directives and/or implements
159
+ * @typeParam Meta - The metadata configuration object containing directives, implements, and/or ignoreFields
158
160
  *
159
161
  * @example
160
162
  * ```typescript
@@ -188,11 +190,33 @@ export interface GqlTypeMetaShape<Meta extends {
188
190
  * directives: [CacheDirective<{ maxAge: 60 }>]
189
191
  * }
190
192
  * >;
193
+ *
194
+ * // Type with ignoreFields to exclude fields from GraphQL schema
195
+ * type User = GqlObject<
196
+ * {
197
+ * id: IDString;
198
+ * name: string;
199
+ * internalId: string;
200
+ * },
201
+ * { ignoreFields: "internalId" }
202
+ * >;
203
+ *
204
+ * // Type with multiple ignored fields
205
+ * type User = GqlObject<
206
+ * {
207
+ * id: IDString;
208
+ * name: string;
209
+ * cacheKey: string;
210
+ * internalId: string;
211
+ * },
212
+ * { ignoreFields: "cacheKey" | "internalId" }
213
+ * >;
191
214
  * ```
192
215
  */
193
216
  export type GqlObject<T, Meta extends {
194
217
  directives?: ReadonlyArray<GqlDirective<string, Record<string, unknown>, DirectiveLocation | DirectiveLocation[]>>;
195
218
  implements?: ReadonlyArray<GqlInterfaceMarker>;
219
+ ignoreFields?: keyof T & string;
196
220
  } = {
197
221
  directives: [];
198
222
  }> = T & {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAosBA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,IAAI,GAAG;QACX,WAAW,EAAE,CACX,QAAmD,EACnD,EAAE;YACF,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,cAAc,EAAE,CACd,QAAsD,EACtD,EAAE;YACF,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,WAAW,EAAE,CACX,QAA4D,EAC5D,EAAE;YACF,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,iBAAiB,EAAE,CACjB,QAAoD,EACpD,EAAE;YACF,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,cAAc,EAAE,CAAC,QAAsC,EAAE,EAAE;YACzD,OAAO,QAAQ,CAAC;QAClB,CAAC;KACF,CAAC;IACF,OAAO,IAAuC,CAAC;AACjD,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA4tBA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,IAAI,GAAG;QACX,WAAW,EAAE,CACX,QAAmD,EACnD,EAAE;YACF,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,cAAc,EAAE,CACd,QAAsD,EACtD,EAAE;YACF,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,WAAW,EAAE,CACX,QAA4D,EAC5D,EAAE;YACF,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,iBAAiB,EAAE,CACjB,QAAoD,EACpD,EAAE;YACF,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,cAAc,EAAE,CAAC,QAAsC,EAAE,EAAE;YACzD,OAAO,QAAQ,CAAC;QAClB,CAAC;KACF,CAAC;IACF,OAAO,IAAuC,CAAC;AACjD,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@gqlkit-ts/runtime",
3
- "version": "0.1.1",
4
- "description": "Runtime utilities for gqlkit - type-safe resolver definition functions",
3
+ "version": "0.2.0",
4
+ "description": "Runtime utilities for gqlkit type-safe resolver definitions with a thin API",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
package/src/index.ts CHANGED
@@ -178,7 +178,7 @@ export type GqlInterface<
178
178
 
179
179
  /**
180
180
  * Metadata structure for type-level GraphQL metadata.
181
- * Used to attach directives and other metadata to types.
181
+ * Used to attach directives, interface implementations, and field exclusions to types.
182
182
  *
183
183
  * @typeParam Meta - The metadata configuration object
184
184
  */
@@ -192,10 +192,12 @@ export interface GqlTypeMetaShape<
192
192
  >
193
193
  >;
194
194
  implements?: ReadonlyArray<GqlInterfaceMarker>;
195
+ ignoreFields?: string;
195
196
  },
196
197
  > {
197
198
  readonly directives?: Meta["directives"];
198
199
  readonly implements?: Meta["implements"];
200
+ readonly ignoreFields?: Meta["ignoreFields"];
199
201
  }
200
202
 
201
203
  /**
@@ -204,11 +206,11 @@ export interface GqlTypeMetaShape<
204
206
  * with the underlying type.
205
207
  *
206
208
  * The structure uses two properties:
207
- * - `$gqlkitTypeMeta`: Contains the metadata object with directives and implements
209
+ * - `$gqlkitTypeMeta`: Contains the metadata object with directives, implements, and ignoreFields
208
210
  * - `$gqlkitOriginalType`: Preserves the original type T to maintain nullability information
209
211
  *
210
212
  * @typeParam T - The base type to attach metadata to
211
- * @typeParam Meta - The metadata configuration object containing directives and/or implements
213
+ * @typeParam Meta - The metadata configuration object containing directives, implements, and/or ignoreFields
212
214
  *
213
215
  * @example
214
216
  * ```typescript
@@ -242,6 +244,27 @@ export interface GqlTypeMetaShape<
242
244
  * directives: [CacheDirective<{ maxAge: 60 }>]
243
245
  * }
244
246
  * >;
247
+ *
248
+ * // Type with ignoreFields to exclude fields from GraphQL schema
249
+ * type User = GqlObject<
250
+ * {
251
+ * id: IDString;
252
+ * name: string;
253
+ * internalId: string;
254
+ * },
255
+ * { ignoreFields: "internalId" }
256
+ * >;
257
+ *
258
+ * // Type with multiple ignored fields
259
+ * type User = GqlObject<
260
+ * {
261
+ * id: IDString;
262
+ * name: string;
263
+ * cacheKey: string;
264
+ * internalId: string;
265
+ * },
266
+ * { ignoreFields: "cacheKey" | "internalId" }
267
+ * >;
245
268
  * ```
246
269
  */
247
270
  export type GqlObject<
@@ -255,6 +278,7 @@ export type GqlObject<
255
278
  >
256
279
  >;
257
280
  implements?: ReadonlyArray<GqlInterfaceMarker>;
281
+ ignoreFields?: keyof T & string;
258
282
  } = { directives: [] },
259
283
  > = T & {
260
284
  readonly " $gqlkitTypeMeta"?: GqlTypeMetaShape<Meta>;