gql.tada 1.9.3 → 1.10.1

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 (2) hide show
  1. package/dist/gql-tada.d.ts +196 -197
  2. package/package.json +5 -5
@@ -478,124 +478,89 @@ type takeOptionalName<In extends any[]> = In extends [
478
478
  In
479
479
  >
480
480
  : _match<undefined, In>;
481
- type takeValue<In extends any[], Const extends boolean> = In extends [Token.Float, ...infer In]
482
- ? _match<
483
- {
484
- kind: Kind.FLOAT;
485
- value: string;
486
- },
487
- In
488
- >
489
- : In extends [Token.Integer, ...infer In]
481
+ type takeValue<In extends any[], Const extends boolean> = In extends [infer Head, ...infer In]
482
+ ? Head extends Token.Float
490
483
  ? _match<
491
484
  {
492
- kind: Kind.INT;
485
+ kind: Kind.FLOAT;
493
486
  value: string;
494
487
  },
495
488
  In
496
489
  >
497
- : In extends [Token.String, ...infer In]
490
+ : Head extends Token.Integer
498
491
  ? _match<
499
492
  {
500
- kind: Kind.STRING;
493
+ kind: Kind.INT;
501
494
  value: string;
502
- block: false;
503
495
  },
504
496
  In
505
497
  >
506
- : In extends [Token.BlockString, ...infer In]
498
+ : Head extends Token.String
507
499
  ? _match<
508
500
  {
509
501
  kind: Kind.STRING;
510
502
  value: string;
511
- block: true;
503
+ block: false;
512
504
  },
513
505
  In
514
506
  >
515
- : In extends [
516
- {
517
- kind: Token.Name;
518
- name: 'null';
519
- },
520
- ...infer In,
521
- ]
507
+ : Head extends Token.BlockString
522
508
  ? _match<
523
509
  {
524
- kind: Kind.NULL;
510
+ kind: Kind.STRING;
511
+ value: string;
512
+ block: true;
525
513
  },
526
514
  In
527
515
  >
528
- : In extends [
529
- {
530
- kind: Token.Name;
531
- name: 'true' | 'false';
532
- },
533
- ...infer In,
534
- ]
535
- ? _match<
536
- {
537
- kind: Kind.BOOLEAN;
538
- value: boolean;
539
- },
540
- In
541
- >
542
- : In extends [
543
- {
544
- kind: Token.Name;
545
- name: infer Name;
546
- },
547
- ...infer In,
548
- ]
516
+ : Head extends {
517
+ kind: Token.Name;
518
+ name: infer Name;
519
+ }
520
+ ? Name extends 'null'
549
521
  ? _match<
550
522
  {
551
- kind: Kind.ENUM;
552
- value: Name;
523
+ kind: Kind.NULL;
553
524
  },
554
525
  In
555
526
  >
556
- : In extends [Token.BracketOpen, ...infer In]
557
- ? takeListRec<[], In, Const>
558
- : In extends [Token.BraceOpen, ...infer In]
559
- ? takeObjectRec<[], In, Const>
560
- : Const extends false
561
- ? In extends [
527
+ : Name extends 'true' | 'false'
528
+ ? _match<
529
+ {
530
+ kind: Kind.BOOLEAN;
531
+ value: boolean;
532
+ },
533
+ In
534
+ >
535
+ : _match<
536
+ {
537
+ kind: Kind.ENUM;
538
+ value: Name;
539
+ },
540
+ In
541
+ >
542
+ : Head extends Token.BracketOpen
543
+ ? takeListRec<[], In, Const>
544
+ : Head extends Token.BraceOpen
545
+ ? takeObjectRec<[], In, Const>
546
+ : Const extends false
547
+ ? Head extends {
548
+ kind: Token.Var;
549
+ name: infer Name;
550
+ }
551
+ ? _match<
562
552
  {
563
- kind: Token.Var;
564
- name: infer Name;
553
+ kind: Kind.VARIABLE;
554
+ name: {
555
+ kind: Kind.NAME;
556
+ value: Name;
557
+ };
565
558
  },
566
- ...infer In,
567
- ]
568
- ? _match<
569
- {
570
- kind: Kind.VARIABLE;
571
- name: {
572
- kind: Kind.NAME;
573
- value: Name;
574
- };
575
- },
576
- In
577
- >
578
- : void
579
- : void;
580
- type takeString<In extends any[]> = In extends [Token.String, ...infer In]
581
- ? _match<
582
- {
583
- kind: Kind.STRING;
584
- value: string;
585
- block: false;
586
- },
587
- In
588
- >
589
- : In extends [Token.BlockString, ...infer In]
590
- ? _match<
591
- {
592
- kind: Kind.STRING;
593
- value: string;
594
- block: true;
595
- },
596
- In
597
- >
598
- : void;
559
+ In
560
+ >
561
+ : void
562
+ : void
563
+ : void;
599
564
  type takeListRec<Nodes extends any[], In extends any[], Const extends boolean> = In extends [
600
565
  Token.BracketClose,
601
566
  ...infer In,
@@ -704,10 +669,20 @@ type takeDirective<In extends any[], Const extends boolean> = In extends [
704
669
  >
705
670
  : void
706
671
  : void;
707
- type takeDirectives<In extends any[], Const extends boolean, Directives extends any[] = []> =
708
- takeDirective<In, Const> extends _match<infer Directive, infer In>
672
+ type takeDirectives<
673
+ In extends any[],
674
+ Const extends boolean,
675
+ Directives extends any[] = [],
676
+ > = In extends [
677
+ {
678
+ kind: Token.Directive;
679
+ },
680
+ ...any[],
681
+ ]
682
+ ? takeDirective<In, Const> extends _match<infer Directive, infer In>
709
683
  ? takeDirectives<In, Const, [...Directives, Directive]>
710
- : _match<Directives, In>;
684
+ : _match<Directives, In>
685
+ : _match<Directives, In>;
711
686
  type _takeFieldName<In extends any[]> = In extends [
712
687
  {
713
688
  kind: Token.Name;
@@ -747,32 +722,99 @@ type _takeField<In extends any[]> =
747
722
  _takeFieldName<In> extends _match2<infer Alias, infer Name, infer In>
748
723
  ? takeArguments<In, false> extends _match<infer Arguments, infer In>
749
724
  ? takeDirectives<In, false> extends _match<infer Directives, infer In>
750
- ? takeSelectionSet<In> extends _match<infer SelectionSet, infer In>
751
- ? _match<
725
+ ? In extends [Token.BraceOpen, ...any[]]
726
+ ? takeSelectionSet<In> extends _match<infer SelectionSet, infer In>
727
+ ? _match<
728
+ {
729
+ kind: Kind.FIELD;
730
+ alias: Alias;
731
+ name: Name;
732
+ arguments: Arguments;
733
+ directives: Directives;
734
+ selectionSet: SelectionSet;
735
+ },
736
+ In
737
+ >
738
+ : void
739
+ : _match<
752
740
  {
753
741
  kind: Kind.FIELD;
754
742
  alias: Alias;
755
743
  name: Name;
756
744
  arguments: Arguments;
757
745
  directives: Directives;
758
- selectionSet: SelectionSet;
746
+ selectionSet: undefined;
759
747
  },
760
748
  In
761
749
  >
762
- : _match<
750
+ : void
751
+ : void
752
+ : void;
753
+ type _takeFragmentSpread<In extends any[]> = In extends [Token.Spread, ...infer In]
754
+ ? In extends [
755
+ {
756
+ kind: Token.Name;
757
+ name: 'on';
758
+ },
759
+ {
760
+ kind: Token.Name;
761
+ name: infer Type;
762
+ },
763
+ ...infer In,
764
+ ]
765
+ ? takeDirectives<In, false> extends _match<infer Directives, infer In>
766
+ ? takeSelectionSet<In> extends _match<infer SelectionSet, infer In>
767
+ ? _match<
768
+ {
769
+ kind: Kind.INLINE_FRAGMENT;
770
+ typeCondition: {
771
+ kind: Kind.NAMED_TYPE;
772
+ name: {
773
+ kind: Kind.NAME;
774
+ value: Type;
775
+ };
776
+ };
777
+ directives: Directives;
778
+ selectionSet: SelectionSet;
779
+ },
780
+ In
781
+ >
782
+ : void
783
+ : void
784
+ : In extends [
785
+ {
786
+ kind: Token.Name;
787
+ name: infer Name;
788
+ },
789
+ ...infer In,
790
+ ]
791
+ ? takeDirectives<In, false> extends _match<infer Directives, infer In>
792
+ ? _match<
793
+ {
794
+ kind: Kind.FRAGMENT_SPREAD;
795
+ name: {
796
+ kind: Kind.NAME;
797
+ value: Name;
798
+ };
799
+ directives: Directives;
800
+ },
801
+ In
802
+ >
803
+ : void
804
+ : takeDirectives<In, false> extends _match<infer Directives, infer In>
805
+ ? takeSelectionSet<In> extends _match<infer SelectionSet, infer In>
806
+ ? _match<
763
807
  {
764
- kind: Kind.FIELD;
765
- alias: Alias;
766
- name: Name;
767
- arguments: Arguments;
808
+ kind: Kind.INLINE_FRAGMENT;
809
+ typeCondition: undefined;
768
810
  directives: Directives;
769
- selectionSet: undefined;
811
+ selectionSet: SelectionSet;
770
812
  },
771
813
  In
772
814
  >
815
+ : void
773
816
  : void
774
- : void
775
- : void;
817
+ : void;
776
818
  type takeType<In extends any[]> = In extends [Token.BracketOpen, ...infer In]
777
819
  ? takeType<In> extends _match<infer Subtype, infer In>
778
820
  ? In extends [Token.BracketClose, ...infer In]
@@ -828,87 +870,28 @@ type takeType<In extends any[]> = In extends [Token.BracketOpen, ...infer In]
828
870
  In
829
871
  >
830
872
  : void;
831
- type _takeFragmentSpread<In extends any[]> = In extends [
832
- Token.Spread,
873
+ type _takeSelectionRec<Selections extends any[], In extends any[]> = In extends [
833
874
  {
834
875
  kind: Token.Name;
835
- name: 'on';
836
876
  },
837
- {
838
- kind: Token.Name;
839
- name: infer Type;
840
- },
841
- ...infer In,
877
+ ...any[],
842
878
  ]
843
- ? takeDirectives<In, false> extends _match<infer Directives, infer In>
844
- ? takeSelectionSet<In> extends _match<infer SelectionSet, infer In>
845
- ? _match<
846
- {
847
- kind: Kind.INLINE_FRAGMENT;
848
- typeCondition: {
849
- kind: Kind.NAMED_TYPE;
850
- name: {
851
- kind: Kind.NAME;
852
- value: Type;
853
- };
854
- };
855
- directives: Directives;
856
- selectionSet: SelectionSet;
857
- },
858
- In
859
- >
860
- : void
879
+ ? _takeField<In> extends _match<infer Selection, infer In>
880
+ ? _takeSelectionRec<[...Selections, Selection], In>
861
881
  : void
862
- : In extends [
863
- Token.Spread,
864
- {
865
- kind: Token.Name;
866
- name: infer Name;
867
- },
868
- ...infer In,
869
- ]
870
- ? takeDirectives<In, false> extends _match<infer Directives, infer In>
882
+ : In extends [Token.Spread, ...any[]]
883
+ ? _takeFragmentSpread<In> extends _match<infer Selection, infer In>
884
+ ? _takeSelectionRec<[...Selections, Selection], In>
885
+ : void
886
+ : In extends [Token.BraceClose, ...infer In]
871
887
  ? _match<
872
888
  {
873
- kind: Kind.FRAGMENT_SPREAD;
874
- name: {
875
- kind: Kind.NAME;
876
- value: Name;
877
- };
878
- directives: Directives;
889
+ kind: Kind.SELECTION_SET;
890
+ selections: Selections;
879
891
  },
880
892
  In
881
893
  >
882
- : void
883
- : In extends [Token.Spread, ...infer In]
884
- ? takeDirectives<In, false> extends _match<infer Directives, infer In>
885
- ? takeSelectionSet<In> extends _match<infer SelectionSet, infer In>
886
- ? _match<
887
- {
888
- kind: Kind.INLINE_FRAGMENT;
889
- typeCondition: undefined;
890
- directives: Directives;
891
- selectionSet: SelectionSet;
892
- },
893
- In
894
- >
895
- : void
896
- : void
897
894
  : void;
898
- type _takeSelectionRec<Selections extends any[], In extends any[]> =
899
- _takeField<In> extends _match<infer Selection, infer In>
900
- ? _takeSelectionRec<[...Selections, Selection], In>
901
- : _takeFragmentSpread<In> extends _match<infer Selection, infer In>
902
- ? _takeSelectionRec<[...Selections, Selection], In>
903
- : In extends [Token.BraceClose, ...infer In]
904
- ? _match<
905
- {
906
- kind: Kind.SELECTION_SET;
907
- selections: Selections;
908
- },
909
- In
910
- >
911
- : void;
912
895
  type takeSelectionSet<In extends any[]> = In extends [Token.BraceOpen, ...infer In]
913
896
  ? _takeSelectionRec<[], In>
914
897
  : void;
@@ -967,9 +950,16 @@ type _takeVarDefinitionRec<Definitions extends any[], In extends any[]> = In ext
967
950
  ...infer In,
968
951
  ]
969
952
  ? _match<Definitions, In>
970
- : takeVarDefinition<In> extends _match<infer Definition, infer In>
971
- ? _takeVarDefinitionRec<[...Definitions, Definition], In>
972
- : takeString<In> extends _match<infer _, infer In>
953
+ : In extends [
954
+ {
955
+ kind: Token.Var;
956
+ },
957
+ ...any[],
958
+ ]
959
+ ? takeVarDefinition<In> extends _match<infer Definition, infer In>
960
+ ? _takeVarDefinitionRec<[...Definitions, Definition], In>
961
+ : _match<Definitions, In>
962
+ : In extends [Token.String | Token.BlockString, ...infer In]
973
963
  ? _takeVarDefinitionRec<[...Definitions], In>
974
964
  : _match<Definitions, In>;
975
965
  type takeVarDefinitions<In extends any[]> = In extends [Token.ParenOpen, ...infer In]
@@ -1021,28 +1011,18 @@ type takeFragmentDefinition<In extends any[]> = In extends [
1021
1011
  type takeOperation<In extends any[]> = In extends [
1022
1012
  {
1023
1013
  kind: Token.Name;
1024
- name: 'query';
1014
+ name: infer Operation;
1025
1015
  },
1026
1016
  ...infer In,
1027
1017
  ]
1028
- ? _match<OperationTypeNode.QUERY, In>
1029
- : In extends [
1030
- {
1031
- kind: Token.Name;
1032
- name: 'mutation';
1033
- },
1034
- ...infer In,
1035
- ]
1036
- ? _match<OperationTypeNode.MUTATION, In>
1037
- : In extends [
1038
- {
1039
- kind: Token.Name;
1040
- name: 'subscription';
1041
- },
1042
- ...infer In,
1043
- ]
1044
- ? _match<OperationTypeNode.SUBSCRIPTION, In>
1045
- : void;
1018
+ ? Operation extends 'query'
1019
+ ? _match<OperationTypeNode.QUERY, In>
1020
+ : Operation extends 'mutation'
1021
+ ? _match<OperationTypeNode.MUTATION, In>
1022
+ : Operation extends 'subscription'
1023
+ ? _match<OperationTypeNode.SUBSCRIPTION, In>
1024
+ : void
1025
+ : void;
1046
1026
  type takeOperationDefinition<In extends any[]> =
1047
1027
  takeOperation<In> extends _match<infer Operation, infer In>
1048
1028
  ? takeOptionalName<In> extends _match<infer Name, infer In>
@@ -1077,12 +1057,31 @@ type takeOperationDefinition<In extends any[]> =
1077
1057
  In
1078
1058
  >
1079
1059
  : void;
1080
- type _takeDocumentRec<Definitions extends any[], In extends any[]> =
1081
- takeFragmentDefinition<In> extends _match<infer Definition, infer In>
1060
+ type _takeDocumentRec<Definitions extends any[], In extends any[]> = In extends [
1061
+ {
1062
+ kind: Token.Name;
1063
+ name: 'fragment';
1064
+ },
1065
+ ...any[],
1066
+ ]
1067
+ ? takeFragmentDefinition<In> extends _match<infer Definition, infer In>
1082
1068
  ? _takeDocumentRec<[...Definitions, Definition], In>
1083
- : takeOperationDefinition<In> extends _match<infer Definition, infer In>
1069
+ : _match<Definitions, In>
1070
+ : In extends [
1071
+ {
1072
+ kind: Token.Name;
1073
+ name: 'query' | 'mutation' | 'subscription';
1074
+ },
1075
+ ...any[],
1076
+ ]
1077
+ ? takeOperationDefinition<In> extends _match<infer Definition, infer In>
1084
1078
  ? _takeDocumentRec<[...Definitions, Definition], In>
1085
- : takeString<In> extends _match<infer _, infer In>
1079
+ : _match<Definitions, In>
1080
+ : In extends [Token.BraceOpen, ...any[]]
1081
+ ? takeOperationDefinition<In> extends _match<infer Definition, infer In>
1082
+ ? _takeDocumentRec<[...Definitions, Definition], In>
1083
+ : _match<Definitions, In>
1084
+ : In extends [Token.String | Token.BlockString, ...infer In]
1086
1085
  ? _takeDocumentRec<[...Definitions], In>
1087
1086
  : _match<Definitions, In>;
1088
1087
  type parseDocument<In extends string> =
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "gql.tada",
3
3
  "description": "The spec-compliant & magical GraphQL query language engine in the TypeScript type system",
4
- "version": "1.9.3",
4
+ "version": "1.10.1",
5
5
  "author": "0no.co <hi@0no.co>",
6
6
  "source": "./src/index.ts",
7
7
  "main": "./dist/gql-tada",
@@ -48,10 +48,10 @@
48
48
  "./package.json": "./package.json"
49
49
  },
50
50
  "dependencies": {
51
- "@0no-co/graphql.web": "^1.0.5",
52
- "@0no-co/graphqlsp": "^1.12.13",
53
- "@gql.tada/cli-utils": "1.7.4",
54
- "@gql.tada/internal": "1.0.10"
51
+ "@0no-co/graphql.web": "^1.3.2",
52
+ "@0no-co/graphqlsp": "^1.17.0",
53
+ "@gql.tada/cli-utils": "1.8.1",
54
+ "@gql.tada/internal": "1.1.0"
55
55
  },
56
56
  "peerDependencies": {
57
57
  "typescript": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0"