Skip to content

Commit

Permalink
🐛 fixed resolverFor return type
Browse files Browse the repository at this point in the history
  • Loading branch information
aexol committed Feb 8, 2023
1 parent 8e1ac43 commit c5c754d
Show file tree
Hide file tree
Showing 6 changed files with 10 additions and 20 deletions.
2 changes: 1 addition & 1 deletion examples/typescript-node/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "typescript-node",
"version": "1.0.6",
"version": "1.0.7",
"description": "",
"private": true,
"main": "index.js",
Expand Down
11 changes: 3 additions & 8 deletions packages/graphql-zeus-core/TreeToTS/functions/generated.ts
Original file line number Diff line number Diff line change
Expand Up @@ -609,19 +609,14 @@ export const InternalArgsBuilt = ({
return arb;
};
export const resolverFor = <
X,
T extends keyof ResolverInputTypes,
Z extends keyof ResolverInputTypes[T],
RET = unknown,
>(
export const resolverFor = <X, T extends keyof ResolverInputTypes, Z extends keyof ResolverInputTypes[T]>(
type: T,
field: Z,
fn: (
args: Required<ResolverInputTypes[T]>[Z] extends [infer Input, any] ? Input : any,
source: any,
) => Z extends keyof ModelTypes[T] ? ModelTypes[T][Z] | Promise<ModelTypes[T][Z]> | X : RET,
) => fn as (args?: any, source?: any) => RET;
) => Z extends keyof ModelTypes[T] ? ModelTypes[T][Z] | Promise<ModelTypes[T][Z]> | X : never,
) => fn as (args?: any, source?: any) => ReturnType<typeof fn>;
export type UnwrapPromise<T> = T extends Promise<infer R> ? R : T;
export type ZeusState<T extends (...args: any[]) => Promise<any>> = NonNullable<UnwrapPromise<ReturnType<T>>>;
Expand Down
11 changes: 3 additions & 8 deletions packages/graphql-zeus-core/TreeToTS/functions/new/resolverFor.ts
Original file line number Diff line number Diff line change
@@ -1,15 +1,10 @@
import { ModelTypes, ResolverInputTypes } from '@/TreeToTS/functions/new/mocks';

export const resolverFor = <
X,
T extends keyof ResolverInputTypes,
Z extends keyof ResolverInputTypes[T],
RET = unknown,
>(
export const resolverFor = <X, T extends keyof ResolverInputTypes, Z extends keyof ResolverInputTypes[T]>(
type: T,
field: Z,
fn: (
args: Required<ResolverInputTypes[T]>[Z] extends [infer Input, any] ? Input : any,
source: any,
) => Z extends keyof ModelTypes[T] ? ModelTypes[T][Z] | Promise<ModelTypes[T][Z]> | X : RET,
) => fn as (args?: any, source?: any) => RET;
) => Z extends keyof ModelTypes[T] ? ModelTypes[T][Z] | Promise<ModelTypes[T][Z]> | X : never,
) => fn as (args?: any, source?: any) => ReturnType<typeof fn>;
2 changes: 1 addition & 1 deletion packages/graphql-zeus-core/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "graphql-zeus-core",
"version": "5.2.6",
"version": "5.2.7",
"private": false,
"main": "./lib/index.js",
"author": "GraphQL Editor, Artur Czemiel",
Expand Down
2 changes: 1 addition & 1 deletion packages/graphql-zeus-jsonschema/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "graphql-zeus-jsonschema",
"version": "5.2.6",
"version": "5.2.7",
"private": false,
"main": "./lib/index.js",
"author": "GraphQL Editor, Artur Czemiel",
Expand Down
2 changes: 1 addition & 1 deletion packages/graphql-zeus/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "graphql-zeus",
"version": "5.2.6",
"version": "5.2.7",
"private": false,
"scripts": {
"start": "ttsc --build tsconfig.build.json --watch",
Expand Down

0 comments on commit c5c754d

Please sign in to comment.