naystack 1.4.13 → 1.4.15

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.
@@ -4,10 +4,15 @@ import { AuthorizedContext, Context } from './types.mjs';
4
4
 
5
5
  type ReturnOptions = Parameters<typeof Query>[1];
6
6
  type ArgsOptions = Parameters<typeof Arg>[2];
7
+ type NormalizeNullUndefined<T> = {
8
+ [K in keyof T as null extends T[K] ? K : never]?: T[K];
9
+ } & {
10
+ [K in keyof T as null extends T[K] ? never : K]: T[K];
11
+ };
7
12
  type NullableOptions<T, X extends boolean> = T & {
8
13
  nullable: X;
9
14
  };
10
- type ParsedGQLType<T> = T extends StringConstructor ? string : T extends NumberConstructor ? number : T extends BooleanConstructor ? boolean : T extends GraphQLScalarType<infer U> ? U : T extends ClassType<infer U> ? U : T extends Record<infer K, string | number> ? T[K] : void;
15
+ type ParsedGQLType<T> = T extends StringConstructor ? string : T extends NumberConstructor ? number : T extends BooleanConstructor ? boolean : T extends GraphQLScalarType<infer U> ? U : T extends ClassType<infer U> ? NormalizeNullUndefined<U> : T extends Record<infer K, string | number> ? T[K] : void;
11
16
  type ParsedGQLTypeWithArray<T> = T extends Array<infer U> ? ParsedGQLType<U>[] : ParsedGQLType<T>;
12
17
  type ParsedGQLTypeWithNullability<T, IsNullable extends boolean> = IsNullable extends true ? ParsedGQLTypeWithArray<T> | null | undefined : ParsedGQLTypeWithArray<T>;
13
18
  interface BaseDefinition<T, U, IsAuth extends boolean = false, OutputNullable extends boolean = false, InputNullable extends boolean = false> {
@@ -29,7 +34,7 @@ declare function field<T, U, IsAuth extends boolean, Root, OutputNullable extend
29
34
  declare function QueryLibrary<T extends Record<string, QueryDefinition<any, any, any, any, any>>>(queries: T): {
30
35
  new (): {};
31
36
  };
32
- declare function FieldLibrary<X extends object, T extends Record<string, FieldResolverDefinition<any, any, X, any, any, any>> = Record<string, FieldResolverDefinition<any, any, X, any>>>(type: ClassType, queries: T): {
37
+ declare function FieldLibrary<X extends object, T extends Record<string, FieldResolverDefinition<any, any, X, any, any, any>> = Record<string, FieldResolverDefinition<any, any, X, any, any>>>(type: ClassType, queries: T): {
33
38
  new (): {};
34
39
  };
35
40
 
@@ -4,10 +4,15 @@ import { AuthorizedContext, Context } from './types.js';
4
4
 
5
5
  type ReturnOptions = Parameters<typeof Query>[1];
6
6
  type ArgsOptions = Parameters<typeof Arg>[2];
7
+ type NormalizeNullUndefined<T> = {
8
+ [K in keyof T as null extends T[K] ? K : never]?: T[K];
9
+ } & {
10
+ [K in keyof T as null extends T[K] ? never : K]: T[K];
11
+ };
7
12
  type NullableOptions<T, X extends boolean> = T & {
8
13
  nullable: X;
9
14
  };
10
- type ParsedGQLType<T> = T extends StringConstructor ? string : T extends NumberConstructor ? number : T extends BooleanConstructor ? boolean : T extends GraphQLScalarType<infer U> ? U : T extends ClassType<infer U> ? U : T extends Record<infer K, string | number> ? T[K] : void;
15
+ type ParsedGQLType<T> = T extends StringConstructor ? string : T extends NumberConstructor ? number : T extends BooleanConstructor ? boolean : T extends GraphQLScalarType<infer U> ? U : T extends ClassType<infer U> ? NormalizeNullUndefined<U> : T extends Record<infer K, string | number> ? T[K] : void;
11
16
  type ParsedGQLTypeWithArray<T> = T extends Array<infer U> ? ParsedGQLType<U>[] : ParsedGQLType<T>;
12
17
  type ParsedGQLTypeWithNullability<T, IsNullable extends boolean> = IsNullable extends true ? ParsedGQLTypeWithArray<T> | null | undefined : ParsedGQLTypeWithArray<T>;
13
18
  interface BaseDefinition<T, U, IsAuth extends boolean = false, OutputNullable extends boolean = false, InputNullable extends boolean = false> {
@@ -29,7 +34,7 @@ declare function field<T, U, IsAuth extends boolean, Root, OutputNullable extend
29
34
  declare function QueryLibrary<T extends Record<string, QueryDefinition<any, any, any, any, any>>>(queries: T): {
30
35
  new (): {};
31
36
  };
32
- declare function FieldLibrary<X extends object, T extends Record<string, FieldResolverDefinition<any, any, X, any, any, any>> = Record<string, FieldResolverDefinition<any, any, X, any>>>(type: ClassType, queries: T): {
37
+ declare function FieldLibrary<X extends object, T extends Record<string, FieldResolverDefinition<any, any, X, any, any, any>> = Record<string, FieldResolverDefinition<any, any, X, any, any>>>(type: ClassType, queries: T): {
33
38
  new (): {};
34
39
  };
35
40
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "naystack",
3
- "version": "1.4.13",
3
+ "version": "1.4.15",
4
4
  "description": "A stack built with Next + GraphQL + S3 + Auth",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.esm.js",