@optique/core 0.4.0-dev.51 → 0.4.0-dev.52
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/dist/parser.cjs +14 -1
- package/dist/parser.d.cts +230 -0
- package/dist/parser.d.ts +230 -0
- package/dist/parser.js +14 -1
- package/package.json +1 -1
package/dist/parser.cjs
CHANGED
|
@@ -1111,7 +1111,9 @@ function longestMatch(...parsers) {
|
|
|
1111
1111
|
}
|
|
1112
1112
|
};
|
|
1113
1113
|
}
|
|
1114
|
-
function merge(...
|
|
1114
|
+
function merge(...args) {
|
|
1115
|
+
const label = typeof args[0] === "string" ? args[0] : void 0;
|
|
1116
|
+
let parsers = typeof args[0] === "string" ? args.slice(1) : args;
|
|
1115
1117
|
parsers = parsers.toSorted((a, b) => b.priority - a.priority);
|
|
1116
1118
|
const initialState = {};
|
|
1117
1119
|
for (const parser of parsers) if (parser.initialState && typeof parser.initialState === "object") for (const field in parser.initialState) initialState[field] = parser.initialState[field];
|
|
@@ -1204,6 +1206,17 @@ function merge(...parsers) {
|
|
|
1204
1206
|
if (fragment.title == null) entries.push(...fragment.entries);
|
|
1205
1207
|
else sections.push(fragment);
|
|
1206
1208
|
}
|
|
1209
|
+
if (label) {
|
|
1210
|
+
const labeledSection = {
|
|
1211
|
+
title: label,
|
|
1212
|
+
entries
|
|
1213
|
+
};
|
|
1214
|
+
sections.push(labeledSection);
|
|
1215
|
+
return { fragments: sections.map((s) => ({
|
|
1216
|
+
...s,
|
|
1217
|
+
type: "section"
|
|
1218
|
+
})) };
|
|
1219
|
+
}
|
|
1207
1220
|
return { fragments: [...sections.map((s) => ({
|
|
1208
1221
|
...s,
|
|
1209
1222
|
type: "section"
|
package/dist/parser.d.cts
CHANGED
|
@@ -759,6 +759,23 @@ type ExtractObjectTypes<P> = P extends Parser<infer V, unknown> ? [AllObjectLike
|
|
|
759
759
|
* of the two parsers into a single object.
|
|
760
760
|
*/
|
|
761
761
|
declare function merge<TA extends Parser<unknown, unknown>, TB extends Parser<unknown, unknown>>(a: TA, b: TB): ExtractObjectTypes<TA> extends never ? never : ExtractObjectTypes<TB> extends never ? never : Parser<ExtractObjectTypes<TA> & ExtractObjectTypes<TB>, Record<string | symbol, unknown>>;
|
|
762
|
+
/**
|
|
763
|
+
* Merges multiple {@link object} parsers into a single {@link object} parser
|
|
764
|
+
* with a label for documentation and help text organization.
|
|
765
|
+
* It is useful for combining multiple {@link object} parsers so that
|
|
766
|
+
* the unified parser produces a single object containing all the values
|
|
767
|
+
* from the individual parsers while separating the fields into multiple
|
|
768
|
+
* groups.
|
|
769
|
+
* @template TA The type of the first parser.
|
|
770
|
+
* @template TB The type of the second parser.
|
|
771
|
+
* @param label A descriptive label for this merged group, used for
|
|
772
|
+
* documentation and help messages.
|
|
773
|
+
* @param a The first {@link object} parser to merge.
|
|
774
|
+
* @param b The second {@link object} parser to merge.
|
|
775
|
+
* @return A new {@link object} parser that combines the values and states
|
|
776
|
+
* of the two parsers into a single object.
|
|
777
|
+
*/
|
|
778
|
+
declare function merge<TA extends Parser<unknown, unknown>, TB extends Parser<unknown, unknown>>(label: string, a: TA, b: TB): ExtractObjectTypes<TA> extends never ? never : ExtractObjectTypes<TB> extends never ? never : Parser<ExtractObjectTypes<TA> & ExtractObjectTypes<TB>, Record<string | symbol, unknown>>;
|
|
762
779
|
/**
|
|
763
780
|
* Merges multiple {@link object} parsers into a single {@link object} parser.
|
|
764
781
|
* It is useful for combining multiple {@link object} parsers so that
|
|
@@ -775,6 +792,25 @@ declare function merge<TA extends Parser<unknown, unknown>, TB extends Parser<un
|
|
|
775
792
|
* of the two parsers into a single object.
|
|
776
793
|
*/
|
|
777
794
|
declare function merge<TA extends Parser<unknown, unknown>, TB extends Parser<unknown, unknown>, TC extends Parser<unknown, unknown>>(a: TA, b: TB, c: TC): ExtractObjectTypes<TA> extends never ? never : ExtractObjectTypes<TB> extends never ? never : ExtractObjectTypes<TC> extends never ? never : Parser<ExtractObjectTypes<TA> & ExtractObjectTypes<TB> & ExtractObjectTypes<TC>, Record<string | symbol, unknown>>;
|
|
795
|
+
/**
|
|
796
|
+
* Merges multiple {@link object} parsers into a single {@link object} parser
|
|
797
|
+
* with a label for documentation and help text organization.
|
|
798
|
+
* It is useful for combining multiple {@link object} parsers so that
|
|
799
|
+
* the unified parser produces a single object containing all the values
|
|
800
|
+
* from the individual parsers while separating the fields into multiple
|
|
801
|
+
* groups.
|
|
802
|
+
* @template TA The type of the first parser.
|
|
803
|
+
* @template TB The type of the second parser.
|
|
804
|
+
* @template TC The type of the third parser.
|
|
805
|
+
* @param label A descriptive label for this merged group, used for
|
|
806
|
+
* documentation and help messages.
|
|
807
|
+
* @param a The first {@link object} parser to merge.
|
|
808
|
+
* @param b The second {@link object} parser to merge.
|
|
809
|
+
* @param c The third {@link object} parser to merge.
|
|
810
|
+
* @return A new {@link object} parser that combines the values and states
|
|
811
|
+
* of the two parsers into a single object.
|
|
812
|
+
*/
|
|
813
|
+
declare function merge<TA extends Parser<unknown, unknown>, TB extends Parser<unknown, unknown>, TC extends Parser<unknown, unknown>>(label: string, a: TA, b: TB, c: TC): ExtractObjectTypes<TA> extends never ? never : ExtractObjectTypes<TB> extends never ? never : ExtractObjectTypes<TC> extends never ? never : Parser<ExtractObjectTypes<TA> & ExtractObjectTypes<TB> & ExtractObjectTypes<TC>, Record<string | symbol, unknown>>;
|
|
778
814
|
/**
|
|
779
815
|
* Merges multiple {@link object} parsers into a single {@link object} parser.
|
|
780
816
|
* It is useful for combining multiple {@link object} parsers so that
|
|
@@ -793,6 +829,27 @@ declare function merge<TA extends Parser<unknown, unknown>, TB extends Parser<un
|
|
|
793
829
|
* of the two parsers into a single object.
|
|
794
830
|
*/
|
|
795
831
|
declare function merge<TA extends Parser<unknown, unknown>, TB extends Parser<unknown, unknown>, TC extends Parser<unknown, unknown>, TD extends Parser<unknown, unknown>>(a: TA, b: TB, c: TC, d: TD): ExtractObjectTypes<TA> extends never ? never : ExtractObjectTypes<TB> extends never ? never : ExtractObjectTypes<TC> extends never ? never : ExtractObjectTypes<TD> extends never ? never : Parser<ExtractObjectTypes<TA> & ExtractObjectTypes<TB> & ExtractObjectTypes<TC> & ExtractObjectTypes<TD>, Record<string | symbol, unknown>>;
|
|
832
|
+
/**
|
|
833
|
+
* Merges multiple {@link object} parsers into a single {@link object} parser
|
|
834
|
+
* with a label for documentation and help text organization.
|
|
835
|
+
* It is useful for combining multiple {@link object} parsers so that
|
|
836
|
+
* the unified parser produces a single object containing all the values
|
|
837
|
+
* from the individual parsers while separating the fields into multiple
|
|
838
|
+
* groups.
|
|
839
|
+
* @template TA The type of the first parser.
|
|
840
|
+
* @template TB The type of the second parser.
|
|
841
|
+
* @template TC The type of the third parser.
|
|
842
|
+
* @template TD The type of the fourth parser.
|
|
843
|
+
* @param label A descriptive label for this merged group, used for
|
|
844
|
+
* documentation and help messages.
|
|
845
|
+
* @param a The first {@link object} parser to merge.
|
|
846
|
+
* @param b The second {@link object} parser to merge.
|
|
847
|
+
* @param c The third {@link object} parser to merge.
|
|
848
|
+
* @param d The fourth {@link object} parser to merge.
|
|
849
|
+
* @return A new {@link object} parser that combines the values and states
|
|
850
|
+
* of the two parsers into a single object.
|
|
851
|
+
*/
|
|
852
|
+
declare function merge<TA extends Parser<unknown, unknown>, TB extends Parser<unknown, unknown>, TC extends Parser<unknown, unknown>, TD extends Parser<unknown, unknown>>(label: string, a: TA, b: TB, c: TC, d: TD): ExtractObjectTypes<TA> extends never ? never : ExtractObjectTypes<TB> extends never ? never : ExtractObjectTypes<TC> extends never ? never : ExtractObjectTypes<TD> extends never ? never : Parser<ExtractObjectTypes<TA> & ExtractObjectTypes<TB> & ExtractObjectTypes<TC> & ExtractObjectTypes<TD>, Record<string | symbol, unknown>>;
|
|
796
853
|
/**
|
|
797
854
|
* Merges multiple {@link object} parsers into a single {@link object} parser.
|
|
798
855
|
* It is useful for combining multiple {@link object} parsers so that
|
|
@@ -813,6 +870,29 @@ declare function merge<TA extends Parser<unknown, unknown>, TB extends Parser<un
|
|
|
813
870
|
* of the two parsers into a single object.
|
|
814
871
|
*/
|
|
815
872
|
declare function merge<TA extends Parser<unknown, unknown>, TB extends Parser<unknown, unknown>, TC extends Parser<unknown, unknown>, TD extends Parser<unknown, unknown>, TE extends Parser<unknown, unknown>>(a: TA, b: TB, c: TC, d: TD, e: TE): ExtractObjectTypes<TA> extends never ? never : ExtractObjectTypes<TB> extends never ? never : ExtractObjectTypes<TC> extends never ? never : ExtractObjectTypes<TD> extends never ? never : ExtractObjectTypes<TE> extends never ? never : Parser<ExtractObjectTypes<TA> & ExtractObjectTypes<TB> & ExtractObjectTypes<TC> & ExtractObjectTypes<TD> & ExtractObjectTypes<TE>, Record<string | symbol, unknown>>;
|
|
873
|
+
/**
|
|
874
|
+
* Merges multiple {@link object} parsers into a single {@link object} parser
|
|
875
|
+
* with a label for documentation and help text organization.
|
|
876
|
+
* It is useful for combining multiple {@link object} parsers so that
|
|
877
|
+
* the unified parser produces a single object containing all the values
|
|
878
|
+
* from the individual parsers while separating the fields into multiple
|
|
879
|
+
* groups.
|
|
880
|
+
* @template TA The type of the first parser.
|
|
881
|
+
* @template TB The type of the second parser.
|
|
882
|
+
* @template TC The type of the third parser.
|
|
883
|
+
* @template TD The type of the fourth parser.
|
|
884
|
+
* @template TE The type of the fifth parser.
|
|
885
|
+
* @param label A descriptive label for this merged group, used for
|
|
886
|
+
* documentation and help messages.
|
|
887
|
+
* @param a The first {@link object} parser to merge.
|
|
888
|
+
* @param b The second {@link object} parser to merge.
|
|
889
|
+
* @param c The third {@link object} parser to merge.
|
|
890
|
+
* @param d The fourth {@link object} parser to merge.
|
|
891
|
+
* @param e The fifth {@link object} parser to merge.
|
|
892
|
+
* @return A new {@link object} parser that combines the values and states
|
|
893
|
+
* of the two parsers into a single object.
|
|
894
|
+
*/
|
|
895
|
+
declare function merge<TA extends Parser<unknown, unknown>, TB extends Parser<unknown, unknown>, TC extends Parser<unknown, unknown>, TD extends Parser<unknown, unknown>, TE extends Parser<unknown, unknown>>(label: string, a: TA, b: TB, c: TC, d: TD, e: TE): ExtractObjectTypes<TA> extends never ? never : ExtractObjectTypes<TB> extends never ? never : ExtractObjectTypes<TC> extends never ? never : ExtractObjectTypes<TD> extends never ? never : ExtractObjectTypes<TE> extends never ? never : Parser<ExtractObjectTypes<TA> & ExtractObjectTypes<TB> & ExtractObjectTypes<TC> & ExtractObjectTypes<TD> & ExtractObjectTypes<TE>, Record<string | symbol, unknown>>;
|
|
816
896
|
/**
|
|
817
897
|
* Merges multiple {@link object} parsers into a single {@link object} parser.
|
|
818
898
|
* It is useful for combining multiple {@link object} parsers so that
|
|
@@ -836,6 +916,32 @@ declare function merge<TA extends Parser<unknown, unknown>, TB extends Parser<un
|
|
|
836
916
|
* @since 0.4.0
|
|
837
917
|
*/
|
|
838
918
|
declare function merge<TA extends Parser<unknown, unknown>, TB extends Parser<unknown, unknown>, TC extends Parser<unknown, unknown>, TD extends Parser<unknown, unknown>, TE extends Parser<unknown, unknown>, TF extends Parser<unknown, unknown>>(a: TA, b: TB, c: TC, d: TD, e: TE, f: TF): ExtractObjectTypes<TA> extends never ? never : ExtractObjectTypes<TB> extends never ? never : ExtractObjectTypes<TC> extends never ? never : ExtractObjectTypes<TD> extends never ? never : ExtractObjectTypes<TE> extends never ? never : ExtractObjectTypes<TF> extends never ? never : Parser<ExtractObjectTypes<TA> & ExtractObjectTypes<TB> & ExtractObjectTypes<TC> & ExtractObjectTypes<TD> & ExtractObjectTypes<TE> & ExtractObjectTypes<TF>, Record<string | symbol, unknown>>;
|
|
919
|
+
/**
|
|
920
|
+
* Merges multiple {@link object} parsers into a single {@link object} parser
|
|
921
|
+
* with a label for documentation and help text organization.
|
|
922
|
+
* It is useful for combining multiple {@link object} parsers so that
|
|
923
|
+
* the unified parser produces a single object containing all the values
|
|
924
|
+
* from the individual parsers while separating the fields into multiple
|
|
925
|
+
* groups.
|
|
926
|
+
* @template TA The type of the first parser.
|
|
927
|
+
* @template TB The type of the second parser.
|
|
928
|
+
* @template TC The type of the third parser.
|
|
929
|
+
* @template TD The type of the fourth parser.
|
|
930
|
+
* @template TE The type of the fifth parser.
|
|
931
|
+
* @template TF The type of the sixth parser.
|
|
932
|
+
* @param label A descriptive label for this merged group, used for
|
|
933
|
+
* documentation and help messages.
|
|
934
|
+
* @param a The first {@link object} parser to merge.
|
|
935
|
+
* @param b The second {@link object} parser to merge.
|
|
936
|
+
* @param c The third {@link object} parser to merge.
|
|
937
|
+
* @param d The fourth {@link object} parser to merge.
|
|
938
|
+
* @param e The fifth {@link object} parser to merge.
|
|
939
|
+
* @param f The sixth {@link object} parser to merge.
|
|
940
|
+
* @return A new {@link object} parser that combines the values and states
|
|
941
|
+
* of the parsers into a single object.
|
|
942
|
+
* @since 0.4.0
|
|
943
|
+
*/
|
|
944
|
+
declare function merge<TA extends Parser<unknown, unknown>, TB extends Parser<unknown, unknown>, TC extends Parser<unknown, unknown>, TD extends Parser<unknown, unknown>, TE extends Parser<unknown, unknown>, TF extends Parser<unknown, unknown>>(label: string, a: TA, b: TB, c: TC, d: TD, e: TE, f: TF): ExtractObjectTypes<TA> extends never ? never : ExtractObjectTypes<TB> extends never ? never : ExtractObjectTypes<TC> extends never ? never : ExtractObjectTypes<TD> extends never ? never : ExtractObjectTypes<TE> extends never ? never : ExtractObjectTypes<TF> extends never ? never : Parser<ExtractObjectTypes<TA> & ExtractObjectTypes<TB> & ExtractObjectTypes<TC> & ExtractObjectTypes<TD> & ExtractObjectTypes<TE> & ExtractObjectTypes<TF>, Record<string | symbol, unknown>>;
|
|
839
945
|
/**
|
|
840
946
|
* Merges multiple {@link object} parsers into a single {@link object} parser.
|
|
841
947
|
* It is useful for combining multiple {@link object} parsers so that
|
|
@@ -861,6 +967,34 @@ declare function merge<TA extends Parser<unknown, unknown>, TB extends Parser<un
|
|
|
861
967
|
* @since 0.4.0
|
|
862
968
|
*/
|
|
863
969
|
declare function merge<TA extends Parser<unknown, unknown>, TB extends Parser<unknown, unknown>, TC extends Parser<unknown, unknown>, TD extends Parser<unknown, unknown>, TE extends Parser<unknown, unknown>, TF extends Parser<unknown, unknown>, TG extends Parser<unknown, unknown>>(a: TA, b: TB, c: TC, d: TD, e: TE, f: TF, g: TG): ExtractObjectTypes<TA> extends never ? never : ExtractObjectTypes<TB> extends never ? never : ExtractObjectTypes<TC> extends never ? never : ExtractObjectTypes<TD> extends never ? never : ExtractObjectTypes<TE> extends never ? never : ExtractObjectTypes<TF> extends never ? never : ExtractObjectTypes<TG> extends never ? never : Parser<ExtractObjectTypes<TA> & ExtractObjectTypes<TB> & ExtractObjectTypes<TC> & ExtractObjectTypes<TD> & ExtractObjectTypes<TE> & ExtractObjectTypes<TF> & ExtractObjectTypes<TG>, Record<string | symbol, unknown>>;
|
|
970
|
+
/**
|
|
971
|
+
* Merges multiple {@link object} parsers into a single {@link object} parser
|
|
972
|
+
* with a label for documentation and help text organization.
|
|
973
|
+
* It is useful for combining multiple {@link object} parsers so that
|
|
974
|
+
* the unified parser produces a single object containing all the values
|
|
975
|
+
* from the individual parsers while separating the fields into multiple
|
|
976
|
+
* groups.
|
|
977
|
+
* @template TA The type of the first parser.
|
|
978
|
+
* @template TB The type of the second parser.
|
|
979
|
+
* @template TC The type of the third parser.
|
|
980
|
+
* @template TD The type of the fourth parser.
|
|
981
|
+
* @template TE The type of the fifth parser.
|
|
982
|
+
* @template TF The type of the sixth parser.
|
|
983
|
+
* @template TG The type of the seventh parser.
|
|
984
|
+
* @param label A descriptive label for this merged group, used for
|
|
985
|
+
* documentation and help messages.
|
|
986
|
+
* @param a The first {@link object} parser to merge.
|
|
987
|
+
* @param b The second {@link object} parser to merge.
|
|
988
|
+
* @param c The third {@link object} parser to merge.
|
|
989
|
+
* @param d The fourth {@link object} parser to merge.
|
|
990
|
+
* @param e The fifth {@link object} parser to merge.
|
|
991
|
+
* @param f The sixth {@link object} parser to merge.
|
|
992
|
+
* @param g The seventh {@link object} parser to merge.
|
|
993
|
+
* @return A new {@link object} parser that combines the values and states
|
|
994
|
+
* of the parsers into a single object.
|
|
995
|
+
* @since 0.4.0
|
|
996
|
+
*/
|
|
997
|
+
declare function merge<TA extends Parser<unknown, unknown>, TB extends Parser<unknown, unknown>, TC extends Parser<unknown, unknown>, TD extends Parser<unknown, unknown>, TE extends Parser<unknown, unknown>, TF extends Parser<unknown, unknown>, TG extends Parser<unknown, unknown>>(label: string, a: TA, b: TB, c: TC, d: TD, e: TE, f: TF, g: TG): ExtractObjectTypes<TA> extends never ? never : ExtractObjectTypes<TB> extends never ? never : ExtractObjectTypes<TC> extends never ? never : ExtractObjectTypes<TD> extends never ? never : ExtractObjectTypes<TE> extends never ? never : ExtractObjectTypes<TF> extends never ? never : ExtractObjectTypes<TG> extends never ? never : Parser<ExtractObjectTypes<TA> & ExtractObjectTypes<TB> & ExtractObjectTypes<TC> & ExtractObjectTypes<TD> & ExtractObjectTypes<TE> & ExtractObjectTypes<TF> & ExtractObjectTypes<TG>, Record<string | symbol, unknown>>;
|
|
864
998
|
/**
|
|
865
999
|
* Merges multiple {@link object} parsers into a single {@link object} parser.
|
|
866
1000
|
* It is useful for combining multiple {@link object} parsers so that
|
|
@@ -888,6 +1022,36 @@ declare function merge<TA extends Parser<unknown, unknown>, TB extends Parser<un
|
|
|
888
1022
|
* @since 0.4.0
|
|
889
1023
|
*/
|
|
890
1024
|
declare function merge<TA extends Parser<unknown, unknown>, TB extends Parser<unknown, unknown>, TC extends Parser<unknown, unknown>, TD extends Parser<unknown, unknown>, TE extends Parser<unknown, unknown>, TF extends Parser<unknown, unknown>, TG extends Parser<unknown, unknown>, TH extends Parser<unknown, unknown>>(a: TA, b: TB, c: TC, d: TD, e: TE, f: TF, g: TG, h: TH): ExtractObjectTypes<TA> extends never ? never : ExtractObjectTypes<TB> extends never ? never : ExtractObjectTypes<TC> extends never ? never : ExtractObjectTypes<TD> extends never ? never : ExtractObjectTypes<TE> extends never ? never : ExtractObjectTypes<TF> extends never ? never : ExtractObjectTypes<TG> extends never ? never : ExtractObjectTypes<TH> extends never ? never : Parser<ExtractObjectTypes<TA> & ExtractObjectTypes<TB> & ExtractObjectTypes<TC> & ExtractObjectTypes<TD> & ExtractObjectTypes<TE> & ExtractObjectTypes<TF> & ExtractObjectTypes<TG> & ExtractObjectTypes<TH>, Record<string | symbol, unknown>>;
|
|
1025
|
+
/**
|
|
1026
|
+
* Merges multiple {@link object} parsers into a single {@link object} parser
|
|
1027
|
+
* with a label for documentation and help text organization.
|
|
1028
|
+
* It is useful for combining multiple {@link object} parsers so that
|
|
1029
|
+
* the unified parser produces a single object containing all the values
|
|
1030
|
+
* from the individual parsers while separating the fields into multiple
|
|
1031
|
+
* groups.
|
|
1032
|
+
* @template TA The type of the first parser.
|
|
1033
|
+
* @template TB The type of the second parser.
|
|
1034
|
+
* @template TC The type of the third parser.
|
|
1035
|
+
* @template TD The type of the fourth parser.
|
|
1036
|
+
* @template TE The type of the fifth parser.
|
|
1037
|
+
* @template TF The type of the sixth parser.
|
|
1038
|
+
* @template TG The type of the seventh parser.
|
|
1039
|
+
* @template TH The type of the eighth parser.
|
|
1040
|
+
* @param label A descriptive label for this merged group, used for
|
|
1041
|
+
* documentation and help messages.
|
|
1042
|
+
* @param a The first {@link object} parser to merge.
|
|
1043
|
+
* @param b The second {@link object} parser to merge.
|
|
1044
|
+
* @param c The third {@link object} parser to merge.
|
|
1045
|
+
* @param d The fourth {@link object} parser to merge.
|
|
1046
|
+
* @param e The fifth {@link object} parser to merge.
|
|
1047
|
+
* @param f The sixth {@link object} parser to merge.
|
|
1048
|
+
* @param g The seventh {@link object} parser to merge.
|
|
1049
|
+
* @param h The eighth {@link object} parser to merge.
|
|
1050
|
+
* @return A new {@link object} parser that combines the values and states
|
|
1051
|
+
* of the parsers into a single object.
|
|
1052
|
+
* @since 0.4.0
|
|
1053
|
+
*/
|
|
1054
|
+
declare function merge<TA extends Parser<unknown, unknown>, TB extends Parser<unknown, unknown>, TC extends Parser<unknown, unknown>, TD extends Parser<unknown, unknown>, TE extends Parser<unknown, unknown>, TF extends Parser<unknown, unknown>, TG extends Parser<unknown, unknown>, TH extends Parser<unknown, unknown>>(label: string, a: TA, b: TB, c: TC, d: TD, e: TE, f: TF, g: TG, h: TH): ExtractObjectTypes<TA> extends never ? never : ExtractObjectTypes<TB> extends never ? never : ExtractObjectTypes<TC> extends never ? never : ExtractObjectTypes<TD> extends never ? never : ExtractObjectTypes<TE> extends never ? never : ExtractObjectTypes<TF> extends never ? never : ExtractObjectTypes<TG> extends never ? never : ExtractObjectTypes<TH> extends never ? never : Parser<ExtractObjectTypes<TA> & ExtractObjectTypes<TB> & ExtractObjectTypes<TC> & ExtractObjectTypes<TD> & ExtractObjectTypes<TE> & ExtractObjectTypes<TF> & ExtractObjectTypes<TG> & ExtractObjectTypes<TH>, Record<string | symbol, unknown>>;
|
|
891
1055
|
/**
|
|
892
1056
|
* Merges multiple {@link object} parsers into a single {@link object} parser.
|
|
893
1057
|
* It is useful for combining multiple {@link object} parsers so that
|
|
@@ -917,6 +1081,38 @@ declare function merge<TA extends Parser<unknown, unknown>, TB extends Parser<un
|
|
|
917
1081
|
* @since 0.4.0
|
|
918
1082
|
*/
|
|
919
1083
|
declare function merge<TA extends Parser<unknown, unknown>, TB extends Parser<unknown, unknown>, TC extends Parser<unknown, unknown>, TD extends Parser<unknown, unknown>, TE extends Parser<unknown, unknown>, TF extends Parser<unknown, unknown>, TG extends Parser<unknown, unknown>, TH extends Parser<unknown, unknown>, TI extends Parser<unknown, unknown>>(a: TA, b: TB, c: TC, d: TD, e: TE, f: TF, g: TG, h: TH, i: TI): ExtractObjectTypes<TA> extends never ? never : ExtractObjectTypes<TB> extends never ? never : ExtractObjectTypes<TC> extends never ? never : ExtractObjectTypes<TD> extends never ? never : ExtractObjectTypes<TE> extends never ? never : ExtractObjectTypes<TF> extends never ? never : ExtractObjectTypes<TG> extends never ? never : ExtractObjectTypes<TH> extends never ? never : ExtractObjectTypes<TI> extends never ? never : Parser<ExtractObjectTypes<TA> & ExtractObjectTypes<TB> & ExtractObjectTypes<TC> & ExtractObjectTypes<TD> & ExtractObjectTypes<TE> & ExtractObjectTypes<TF> & ExtractObjectTypes<TG> & ExtractObjectTypes<TH> & ExtractObjectTypes<TI>, Record<string | symbol, unknown>>;
|
|
1084
|
+
/**
|
|
1085
|
+
* Merges multiple {@link object} parsers into a single {@link object} parser
|
|
1086
|
+
* with a label for documentation and help text organization.
|
|
1087
|
+
* It is useful for combining multiple {@link object} parsers so that
|
|
1088
|
+
* the unified parser produces a single object containing all the values
|
|
1089
|
+
* from the individual parsers while separating the fields into multiple
|
|
1090
|
+
* groups.
|
|
1091
|
+
* @template TA The type of the first parser.
|
|
1092
|
+
* @template TB The type of the second parser.
|
|
1093
|
+
* @template TC The type of the third parser.
|
|
1094
|
+
* @template TD The type of the fourth parser.
|
|
1095
|
+
* @template TE The type of the fifth parser.
|
|
1096
|
+
* @template TF The type of the sixth parser.
|
|
1097
|
+
* @template TG The type of the seventh parser.
|
|
1098
|
+
* @template TH The type of the eighth parser.
|
|
1099
|
+
* @template TI The type of the ninth parser.
|
|
1100
|
+
* @param label A descriptive label for this merged group, used for
|
|
1101
|
+
* documentation and help messages.
|
|
1102
|
+
* @param a The first {@link object} parser to merge.
|
|
1103
|
+
* @param b The second {@link object} parser to merge.
|
|
1104
|
+
* @param c The third {@link object} parser to merge.
|
|
1105
|
+
* @param d The fourth {@link object} parser to merge.
|
|
1106
|
+
* @param e The fifth {@link object} parser to merge.
|
|
1107
|
+
* @param f The sixth {@link object} parser to merge.
|
|
1108
|
+
* @param g The seventh {@link object} parser to merge.
|
|
1109
|
+
* @param h The eighth {@link object} parser to merge.
|
|
1110
|
+
* @param i The ninth {@link object} parser to merge.
|
|
1111
|
+
* @return A new {@link object} parser that combines the values and states
|
|
1112
|
+
* of the parsers into a single object.
|
|
1113
|
+
* @since 0.4.0
|
|
1114
|
+
*/
|
|
1115
|
+
declare function merge<TA extends Parser<unknown, unknown>, TB extends Parser<unknown, unknown>, TC extends Parser<unknown, unknown>, TD extends Parser<unknown, unknown>, TE extends Parser<unknown, unknown>, TF extends Parser<unknown, unknown>, TG extends Parser<unknown, unknown>, TH extends Parser<unknown, unknown>, TI extends Parser<unknown, unknown>>(label: string, a: TA, b: TB, c: TC, d: TD, e: TE, f: TF, g: TG, h: TH, i: TI): ExtractObjectTypes<TA> extends never ? never : ExtractObjectTypes<TB> extends never ? never : ExtractObjectTypes<TC> extends never ? never : ExtractObjectTypes<TD> extends never ? never : ExtractObjectTypes<TE> extends never ? never : ExtractObjectTypes<TF> extends never ? never : ExtractObjectTypes<TG> extends never ? never : ExtractObjectTypes<TH> extends never ? never : ExtractObjectTypes<TI> extends never ? never : Parser<ExtractObjectTypes<TA> & ExtractObjectTypes<TB> & ExtractObjectTypes<TC> & ExtractObjectTypes<TD> & ExtractObjectTypes<TE> & ExtractObjectTypes<TF> & ExtractObjectTypes<TG> & ExtractObjectTypes<TH> & ExtractObjectTypes<TI>, Record<string | symbol, unknown>>;
|
|
920
1116
|
/**
|
|
921
1117
|
* Merges multiple {@link object} parsers into a single {@link object} parser.
|
|
922
1118
|
* It is useful for combining multiple {@link object} parsers so that
|
|
@@ -948,6 +1144,40 @@ declare function merge<TA extends Parser<unknown, unknown>, TB extends Parser<un
|
|
|
948
1144
|
* @since 0.4.0
|
|
949
1145
|
*/
|
|
950
1146
|
declare function merge<TA extends Parser<unknown, unknown>, TB extends Parser<unknown, unknown>, TC extends Parser<unknown, unknown>, TD extends Parser<unknown, unknown>, TE extends Parser<unknown, unknown>, TF extends Parser<unknown, unknown>, TG extends Parser<unknown, unknown>, TH extends Parser<unknown, unknown>, TI extends Parser<unknown, unknown>, TJ extends Parser<unknown, unknown>>(a: TA, b: TB, c: TC, d: TD, e: TE, f: TF, g: TG, h: TH, i: TI, j: TJ): ExtractObjectTypes<TA> extends never ? never : ExtractObjectTypes<TB> extends never ? never : ExtractObjectTypes<TC> extends never ? never : ExtractObjectTypes<TD> extends never ? never : ExtractObjectTypes<TE> extends never ? never : ExtractObjectTypes<TF> extends never ? never : ExtractObjectTypes<TG> extends never ? never : ExtractObjectTypes<TH> extends never ? never : ExtractObjectTypes<TI> extends never ? never : ExtractObjectTypes<TJ> extends never ? never : Parser<ExtractObjectTypes<TA> & ExtractObjectTypes<TB> & ExtractObjectTypes<TC> & ExtractObjectTypes<TD> & ExtractObjectTypes<TE> & ExtractObjectTypes<TF> & ExtractObjectTypes<TG> & ExtractObjectTypes<TH> & ExtractObjectTypes<TI> & ExtractObjectTypes<TJ>, Record<string | symbol, unknown>>;
|
|
1147
|
+
/**
|
|
1148
|
+
* Merges multiple {@link object} parsers into a single {@link object} parser
|
|
1149
|
+
* with a label for documentation and help text organization.
|
|
1150
|
+
* It is useful for combining multiple {@link object} parsers so that
|
|
1151
|
+
* the unified parser produces a single object containing all the values
|
|
1152
|
+
* from the individual parsers while separating the fields into multiple
|
|
1153
|
+
* groups.
|
|
1154
|
+
* @template TA The type of the first parser.
|
|
1155
|
+
* @template TB The type of the second parser.
|
|
1156
|
+
* @template TC The type of the third parser.
|
|
1157
|
+
* @template TD The type of the fourth parser.
|
|
1158
|
+
* @template TE The type of the fifth parser.
|
|
1159
|
+
* @template TF The type of the sixth parser.
|
|
1160
|
+
* @template TG The type of the seventh parser.
|
|
1161
|
+
* @template TH The type of the eighth parser.
|
|
1162
|
+
* @template TI The type of the ninth parser.
|
|
1163
|
+
* @template TJ The type of the tenth parser.
|
|
1164
|
+
* @param label A descriptive label for this merged group, used for
|
|
1165
|
+
* documentation and help messages.
|
|
1166
|
+
* @param a The first {@link object} parser to merge.
|
|
1167
|
+
* @param b The second {@link object} parser to merge.
|
|
1168
|
+
* @param c The third {@link object} parser to merge.
|
|
1169
|
+
* @param d The fourth {@link object} parser to merge.
|
|
1170
|
+
* @param e The fifth {@link object} parser to merge.
|
|
1171
|
+
* @param f The sixth {@link object} parser to merge.
|
|
1172
|
+
* @param g The seventh {@link object} parser to merge.
|
|
1173
|
+
* @param h The eighth {@link object} parser to merge.
|
|
1174
|
+
* @param i The ninth {@link object} parser to merge.
|
|
1175
|
+
* @param j The tenth {@link object} parser to merge.
|
|
1176
|
+
* @return A new {@link object} parser that combines the values and states
|
|
1177
|
+
* of the parsers into a single object.
|
|
1178
|
+
* @since 0.4.0
|
|
1179
|
+
*/
|
|
1180
|
+
declare function merge<TA extends Parser<unknown, unknown>, TB extends Parser<unknown, unknown>, TC extends Parser<unknown, unknown>, TD extends Parser<unknown, unknown>, TE extends Parser<unknown, unknown>, TF extends Parser<unknown, unknown>, TG extends Parser<unknown, unknown>, TH extends Parser<unknown, unknown>, TI extends Parser<unknown, unknown>, TJ extends Parser<unknown, unknown>>(label: string, a: TA, b: TB, c: TC, d: TD, e: TE, f: TF, g: TG, h: TH, i: TI, j: TJ): ExtractObjectTypes<TA> extends never ? never : ExtractObjectTypes<TB> extends never ? never : ExtractObjectTypes<TC> extends never ? never : ExtractObjectTypes<TD> extends never ? never : ExtractObjectTypes<TE> extends never ? never : ExtractObjectTypes<TF> extends never ? never : ExtractObjectTypes<TG> extends never ? never : ExtractObjectTypes<TH> extends never ? never : ExtractObjectTypes<TI> extends never ? never : ExtractObjectTypes<TJ> extends never ? never : Parser<ExtractObjectTypes<TA> & ExtractObjectTypes<TB> & ExtractObjectTypes<TC> & ExtractObjectTypes<TD> & ExtractObjectTypes<TE> & ExtractObjectTypes<TF> & ExtractObjectTypes<TG> & ExtractObjectTypes<TH> & ExtractObjectTypes<TI> & ExtractObjectTypes<TJ>, Record<string | symbol, unknown>>;
|
|
951
1181
|
/**
|
|
952
1182
|
* Concatenates two {@link tuple} parsers into a single parser that produces
|
|
953
1183
|
* a flattened tuple containing the values from both parsers in order.
|
package/dist/parser.d.ts
CHANGED
|
@@ -759,6 +759,23 @@ type ExtractObjectTypes<P> = P extends Parser<infer V, unknown> ? [AllObjectLike
|
|
|
759
759
|
* of the two parsers into a single object.
|
|
760
760
|
*/
|
|
761
761
|
declare function merge<TA extends Parser<unknown, unknown>, TB extends Parser<unknown, unknown>>(a: TA, b: TB): ExtractObjectTypes<TA> extends never ? never : ExtractObjectTypes<TB> extends never ? never : Parser<ExtractObjectTypes<TA> & ExtractObjectTypes<TB>, Record<string | symbol, unknown>>;
|
|
762
|
+
/**
|
|
763
|
+
* Merges multiple {@link object} parsers into a single {@link object} parser
|
|
764
|
+
* with a label for documentation and help text organization.
|
|
765
|
+
* It is useful for combining multiple {@link object} parsers so that
|
|
766
|
+
* the unified parser produces a single object containing all the values
|
|
767
|
+
* from the individual parsers while separating the fields into multiple
|
|
768
|
+
* groups.
|
|
769
|
+
* @template TA The type of the first parser.
|
|
770
|
+
* @template TB The type of the second parser.
|
|
771
|
+
* @param label A descriptive label for this merged group, used for
|
|
772
|
+
* documentation and help messages.
|
|
773
|
+
* @param a The first {@link object} parser to merge.
|
|
774
|
+
* @param b The second {@link object} parser to merge.
|
|
775
|
+
* @return A new {@link object} parser that combines the values and states
|
|
776
|
+
* of the two parsers into a single object.
|
|
777
|
+
*/
|
|
778
|
+
declare function merge<TA extends Parser<unknown, unknown>, TB extends Parser<unknown, unknown>>(label: string, a: TA, b: TB): ExtractObjectTypes<TA> extends never ? never : ExtractObjectTypes<TB> extends never ? never : Parser<ExtractObjectTypes<TA> & ExtractObjectTypes<TB>, Record<string | symbol, unknown>>;
|
|
762
779
|
/**
|
|
763
780
|
* Merges multiple {@link object} parsers into a single {@link object} parser.
|
|
764
781
|
* It is useful for combining multiple {@link object} parsers so that
|
|
@@ -775,6 +792,25 @@ declare function merge<TA extends Parser<unknown, unknown>, TB extends Parser<un
|
|
|
775
792
|
* of the two parsers into a single object.
|
|
776
793
|
*/
|
|
777
794
|
declare function merge<TA extends Parser<unknown, unknown>, TB extends Parser<unknown, unknown>, TC extends Parser<unknown, unknown>>(a: TA, b: TB, c: TC): ExtractObjectTypes<TA> extends never ? never : ExtractObjectTypes<TB> extends never ? never : ExtractObjectTypes<TC> extends never ? never : Parser<ExtractObjectTypes<TA> & ExtractObjectTypes<TB> & ExtractObjectTypes<TC>, Record<string | symbol, unknown>>;
|
|
795
|
+
/**
|
|
796
|
+
* Merges multiple {@link object} parsers into a single {@link object} parser
|
|
797
|
+
* with a label for documentation and help text organization.
|
|
798
|
+
* It is useful for combining multiple {@link object} parsers so that
|
|
799
|
+
* the unified parser produces a single object containing all the values
|
|
800
|
+
* from the individual parsers while separating the fields into multiple
|
|
801
|
+
* groups.
|
|
802
|
+
* @template TA The type of the first parser.
|
|
803
|
+
* @template TB The type of the second parser.
|
|
804
|
+
* @template TC The type of the third parser.
|
|
805
|
+
* @param label A descriptive label for this merged group, used for
|
|
806
|
+
* documentation and help messages.
|
|
807
|
+
* @param a The first {@link object} parser to merge.
|
|
808
|
+
* @param b The second {@link object} parser to merge.
|
|
809
|
+
* @param c The third {@link object} parser to merge.
|
|
810
|
+
* @return A new {@link object} parser that combines the values and states
|
|
811
|
+
* of the two parsers into a single object.
|
|
812
|
+
*/
|
|
813
|
+
declare function merge<TA extends Parser<unknown, unknown>, TB extends Parser<unknown, unknown>, TC extends Parser<unknown, unknown>>(label: string, a: TA, b: TB, c: TC): ExtractObjectTypes<TA> extends never ? never : ExtractObjectTypes<TB> extends never ? never : ExtractObjectTypes<TC> extends never ? never : Parser<ExtractObjectTypes<TA> & ExtractObjectTypes<TB> & ExtractObjectTypes<TC>, Record<string | symbol, unknown>>;
|
|
778
814
|
/**
|
|
779
815
|
* Merges multiple {@link object} parsers into a single {@link object} parser.
|
|
780
816
|
* It is useful for combining multiple {@link object} parsers so that
|
|
@@ -793,6 +829,27 @@ declare function merge<TA extends Parser<unknown, unknown>, TB extends Parser<un
|
|
|
793
829
|
* of the two parsers into a single object.
|
|
794
830
|
*/
|
|
795
831
|
declare function merge<TA extends Parser<unknown, unknown>, TB extends Parser<unknown, unknown>, TC extends Parser<unknown, unknown>, TD extends Parser<unknown, unknown>>(a: TA, b: TB, c: TC, d: TD): ExtractObjectTypes<TA> extends never ? never : ExtractObjectTypes<TB> extends never ? never : ExtractObjectTypes<TC> extends never ? never : ExtractObjectTypes<TD> extends never ? never : Parser<ExtractObjectTypes<TA> & ExtractObjectTypes<TB> & ExtractObjectTypes<TC> & ExtractObjectTypes<TD>, Record<string | symbol, unknown>>;
|
|
832
|
+
/**
|
|
833
|
+
* Merges multiple {@link object} parsers into a single {@link object} parser
|
|
834
|
+
* with a label for documentation and help text organization.
|
|
835
|
+
* It is useful for combining multiple {@link object} parsers so that
|
|
836
|
+
* the unified parser produces a single object containing all the values
|
|
837
|
+
* from the individual parsers while separating the fields into multiple
|
|
838
|
+
* groups.
|
|
839
|
+
* @template TA The type of the first parser.
|
|
840
|
+
* @template TB The type of the second parser.
|
|
841
|
+
* @template TC The type of the third parser.
|
|
842
|
+
* @template TD The type of the fourth parser.
|
|
843
|
+
* @param label A descriptive label for this merged group, used for
|
|
844
|
+
* documentation and help messages.
|
|
845
|
+
* @param a The first {@link object} parser to merge.
|
|
846
|
+
* @param b The second {@link object} parser to merge.
|
|
847
|
+
* @param c The third {@link object} parser to merge.
|
|
848
|
+
* @param d The fourth {@link object} parser to merge.
|
|
849
|
+
* @return A new {@link object} parser that combines the values and states
|
|
850
|
+
* of the two parsers into a single object.
|
|
851
|
+
*/
|
|
852
|
+
declare function merge<TA extends Parser<unknown, unknown>, TB extends Parser<unknown, unknown>, TC extends Parser<unknown, unknown>, TD extends Parser<unknown, unknown>>(label: string, a: TA, b: TB, c: TC, d: TD): ExtractObjectTypes<TA> extends never ? never : ExtractObjectTypes<TB> extends never ? never : ExtractObjectTypes<TC> extends never ? never : ExtractObjectTypes<TD> extends never ? never : Parser<ExtractObjectTypes<TA> & ExtractObjectTypes<TB> & ExtractObjectTypes<TC> & ExtractObjectTypes<TD>, Record<string | symbol, unknown>>;
|
|
796
853
|
/**
|
|
797
854
|
* Merges multiple {@link object} parsers into a single {@link object} parser.
|
|
798
855
|
* It is useful for combining multiple {@link object} parsers so that
|
|
@@ -813,6 +870,29 @@ declare function merge<TA extends Parser<unknown, unknown>, TB extends Parser<un
|
|
|
813
870
|
* of the two parsers into a single object.
|
|
814
871
|
*/
|
|
815
872
|
declare function merge<TA extends Parser<unknown, unknown>, TB extends Parser<unknown, unknown>, TC extends Parser<unknown, unknown>, TD extends Parser<unknown, unknown>, TE extends Parser<unknown, unknown>>(a: TA, b: TB, c: TC, d: TD, e: TE): ExtractObjectTypes<TA> extends never ? never : ExtractObjectTypes<TB> extends never ? never : ExtractObjectTypes<TC> extends never ? never : ExtractObjectTypes<TD> extends never ? never : ExtractObjectTypes<TE> extends never ? never : Parser<ExtractObjectTypes<TA> & ExtractObjectTypes<TB> & ExtractObjectTypes<TC> & ExtractObjectTypes<TD> & ExtractObjectTypes<TE>, Record<string | symbol, unknown>>;
|
|
873
|
+
/**
|
|
874
|
+
* Merges multiple {@link object} parsers into a single {@link object} parser
|
|
875
|
+
* with a label for documentation and help text organization.
|
|
876
|
+
* It is useful for combining multiple {@link object} parsers so that
|
|
877
|
+
* the unified parser produces a single object containing all the values
|
|
878
|
+
* from the individual parsers while separating the fields into multiple
|
|
879
|
+
* groups.
|
|
880
|
+
* @template TA The type of the first parser.
|
|
881
|
+
* @template TB The type of the second parser.
|
|
882
|
+
* @template TC The type of the third parser.
|
|
883
|
+
* @template TD The type of the fourth parser.
|
|
884
|
+
* @template TE The type of the fifth parser.
|
|
885
|
+
* @param label A descriptive label for this merged group, used for
|
|
886
|
+
* documentation and help messages.
|
|
887
|
+
* @param a The first {@link object} parser to merge.
|
|
888
|
+
* @param b The second {@link object} parser to merge.
|
|
889
|
+
* @param c The third {@link object} parser to merge.
|
|
890
|
+
* @param d The fourth {@link object} parser to merge.
|
|
891
|
+
* @param e The fifth {@link object} parser to merge.
|
|
892
|
+
* @return A new {@link object} parser that combines the values and states
|
|
893
|
+
* of the two parsers into a single object.
|
|
894
|
+
*/
|
|
895
|
+
declare function merge<TA extends Parser<unknown, unknown>, TB extends Parser<unknown, unknown>, TC extends Parser<unknown, unknown>, TD extends Parser<unknown, unknown>, TE extends Parser<unknown, unknown>>(label: string, a: TA, b: TB, c: TC, d: TD, e: TE): ExtractObjectTypes<TA> extends never ? never : ExtractObjectTypes<TB> extends never ? never : ExtractObjectTypes<TC> extends never ? never : ExtractObjectTypes<TD> extends never ? never : ExtractObjectTypes<TE> extends never ? never : Parser<ExtractObjectTypes<TA> & ExtractObjectTypes<TB> & ExtractObjectTypes<TC> & ExtractObjectTypes<TD> & ExtractObjectTypes<TE>, Record<string | symbol, unknown>>;
|
|
816
896
|
/**
|
|
817
897
|
* Merges multiple {@link object} parsers into a single {@link object} parser.
|
|
818
898
|
* It is useful for combining multiple {@link object} parsers so that
|
|
@@ -836,6 +916,32 @@ declare function merge<TA extends Parser<unknown, unknown>, TB extends Parser<un
|
|
|
836
916
|
* @since 0.4.0
|
|
837
917
|
*/
|
|
838
918
|
declare function merge<TA extends Parser<unknown, unknown>, TB extends Parser<unknown, unknown>, TC extends Parser<unknown, unknown>, TD extends Parser<unknown, unknown>, TE extends Parser<unknown, unknown>, TF extends Parser<unknown, unknown>>(a: TA, b: TB, c: TC, d: TD, e: TE, f: TF): ExtractObjectTypes<TA> extends never ? never : ExtractObjectTypes<TB> extends never ? never : ExtractObjectTypes<TC> extends never ? never : ExtractObjectTypes<TD> extends never ? never : ExtractObjectTypes<TE> extends never ? never : ExtractObjectTypes<TF> extends never ? never : Parser<ExtractObjectTypes<TA> & ExtractObjectTypes<TB> & ExtractObjectTypes<TC> & ExtractObjectTypes<TD> & ExtractObjectTypes<TE> & ExtractObjectTypes<TF>, Record<string | symbol, unknown>>;
|
|
919
|
+
/**
|
|
920
|
+
* Merges multiple {@link object} parsers into a single {@link object} parser
|
|
921
|
+
* with a label for documentation and help text organization.
|
|
922
|
+
* It is useful for combining multiple {@link object} parsers so that
|
|
923
|
+
* the unified parser produces a single object containing all the values
|
|
924
|
+
* from the individual parsers while separating the fields into multiple
|
|
925
|
+
* groups.
|
|
926
|
+
* @template TA The type of the first parser.
|
|
927
|
+
* @template TB The type of the second parser.
|
|
928
|
+
* @template TC The type of the third parser.
|
|
929
|
+
* @template TD The type of the fourth parser.
|
|
930
|
+
* @template TE The type of the fifth parser.
|
|
931
|
+
* @template TF The type of the sixth parser.
|
|
932
|
+
* @param label A descriptive label for this merged group, used for
|
|
933
|
+
* documentation and help messages.
|
|
934
|
+
* @param a The first {@link object} parser to merge.
|
|
935
|
+
* @param b The second {@link object} parser to merge.
|
|
936
|
+
* @param c The third {@link object} parser to merge.
|
|
937
|
+
* @param d The fourth {@link object} parser to merge.
|
|
938
|
+
* @param e The fifth {@link object} parser to merge.
|
|
939
|
+
* @param f The sixth {@link object} parser to merge.
|
|
940
|
+
* @return A new {@link object} parser that combines the values and states
|
|
941
|
+
* of the parsers into a single object.
|
|
942
|
+
* @since 0.4.0
|
|
943
|
+
*/
|
|
944
|
+
declare function merge<TA extends Parser<unknown, unknown>, TB extends Parser<unknown, unknown>, TC extends Parser<unknown, unknown>, TD extends Parser<unknown, unknown>, TE extends Parser<unknown, unknown>, TF extends Parser<unknown, unknown>>(label: string, a: TA, b: TB, c: TC, d: TD, e: TE, f: TF): ExtractObjectTypes<TA> extends never ? never : ExtractObjectTypes<TB> extends never ? never : ExtractObjectTypes<TC> extends never ? never : ExtractObjectTypes<TD> extends never ? never : ExtractObjectTypes<TE> extends never ? never : ExtractObjectTypes<TF> extends never ? never : Parser<ExtractObjectTypes<TA> & ExtractObjectTypes<TB> & ExtractObjectTypes<TC> & ExtractObjectTypes<TD> & ExtractObjectTypes<TE> & ExtractObjectTypes<TF>, Record<string | symbol, unknown>>;
|
|
839
945
|
/**
|
|
840
946
|
* Merges multiple {@link object} parsers into a single {@link object} parser.
|
|
841
947
|
* It is useful for combining multiple {@link object} parsers so that
|
|
@@ -861,6 +967,34 @@ declare function merge<TA extends Parser<unknown, unknown>, TB extends Parser<un
|
|
|
861
967
|
* @since 0.4.0
|
|
862
968
|
*/
|
|
863
969
|
declare function merge<TA extends Parser<unknown, unknown>, TB extends Parser<unknown, unknown>, TC extends Parser<unknown, unknown>, TD extends Parser<unknown, unknown>, TE extends Parser<unknown, unknown>, TF extends Parser<unknown, unknown>, TG extends Parser<unknown, unknown>>(a: TA, b: TB, c: TC, d: TD, e: TE, f: TF, g: TG): ExtractObjectTypes<TA> extends never ? never : ExtractObjectTypes<TB> extends never ? never : ExtractObjectTypes<TC> extends never ? never : ExtractObjectTypes<TD> extends never ? never : ExtractObjectTypes<TE> extends never ? never : ExtractObjectTypes<TF> extends never ? never : ExtractObjectTypes<TG> extends never ? never : Parser<ExtractObjectTypes<TA> & ExtractObjectTypes<TB> & ExtractObjectTypes<TC> & ExtractObjectTypes<TD> & ExtractObjectTypes<TE> & ExtractObjectTypes<TF> & ExtractObjectTypes<TG>, Record<string | symbol, unknown>>;
|
|
970
|
+
/**
|
|
971
|
+
* Merges multiple {@link object} parsers into a single {@link object} parser
|
|
972
|
+
* with a label for documentation and help text organization.
|
|
973
|
+
* It is useful for combining multiple {@link object} parsers so that
|
|
974
|
+
* the unified parser produces a single object containing all the values
|
|
975
|
+
* from the individual parsers while separating the fields into multiple
|
|
976
|
+
* groups.
|
|
977
|
+
* @template TA The type of the first parser.
|
|
978
|
+
* @template TB The type of the second parser.
|
|
979
|
+
* @template TC The type of the third parser.
|
|
980
|
+
* @template TD The type of the fourth parser.
|
|
981
|
+
* @template TE The type of the fifth parser.
|
|
982
|
+
* @template TF The type of the sixth parser.
|
|
983
|
+
* @template TG The type of the seventh parser.
|
|
984
|
+
* @param label A descriptive label for this merged group, used for
|
|
985
|
+
* documentation and help messages.
|
|
986
|
+
* @param a The first {@link object} parser to merge.
|
|
987
|
+
* @param b The second {@link object} parser to merge.
|
|
988
|
+
* @param c The third {@link object} parser to merge.
|
|
989
|
+
* @param d The fourth {@link object} parser to merge.
|
|
990
|
+
* @param e The fifth {@link object} parser to merge.
|
|
991
|
+
* @param f The sixth {@link object} parser to merge.
|
|
992
|
+
* @param g The seventh {@link object} parser to merge.
|
|
993
|
+
* @return A new {@link object} parser that combines the values and states
|
|
994
|
+
* of the parsers into a single object.
|
|
995
|
+
* @since 0.4.0
|
|
996
|
+
*/
|
|
997
|
+
declare function merge<TA extends Parser<unknown, unknown>, TB extends Parser<unknown, unknown>, TC extends Parser<unknown, unknown>, TD extends Parser<unknown, unknown>, TE extends Parser<unknown, unknown>, TF extends Parser<unknown, unknown>, TG extends Parser<unknown, unknown>>(label: string, a: TA, b: TB, c: TC, d: TD, e: TE, f: TF, g: TG): ExtractObjectTypes<TA> extends never ? never : ExtractObjectTypes<TB> extends never ? never : ExtractObjectTypes<TC> extends never ? never : ExtractObjectTypes<TD> extends never ? never : ExtractObjectTypes<TE> extends never ? never : ExtractObjectTypes<TF> extends never ? never : ExtractObjectTypes<TG> extends never ? never : Parser<ExtractObjectTypes<TA> & ExtractObjectTypes<TB> & ExtractObjectTypes<TC> & ExtractObjectTypes<TD> & ExtractObjectTypes<TE> & ExtractObjectTypes<TF> & ExtractObjectTypes<TG>, Record<string | symbol, unknown>>;
|
|
864
998
|
/**
|
|
865
999
|
* Merges multiple {@link object} parsers into a single {@link object} parser.
|
|
866
1000
|
* It is useful for combining multiple {@link object} parsers so that
|
|
@@ -888,6 +1022,36 @@ declare function merge<TA extends Parser<unknown, unknown>, TB extends Parser<un
|
|
|
888
1022
|
* @since 0.4.0
|
|
889
1023
|
*/
|
|
890
1024
|
declare function merge<TA extends Parser<unknown, unknown>, TB extends Parser<unknown, unknown>, TC extends Parser<unknown, unknown>, TD extends Parser<unknown, unknown>, TE extends Parser<unknown, unknown>, TF extends Parser<unknown, unknown>, TG extends Parser<unknown, unknown>, TH extends Parser<unknown, unknown>>(a: TA, b: TB, c: TC, d: TD, e: TE, f: TF, g: TG, h: TH): ExtractObjectTypes<TA> extends never ? never : ExtractObjectTypes<TB> extends never ? never : ExtractObjectTypes<TC> extends never ? never : ExtractObjectTypes<TD> extends never ? never : ExtractObjectTypes<TE> extends never ? never : ExtractObjectTypes<TF> extends never ? never : ExtractObjectTypes<TG> extends never ? never : ExtractObjectTypes<TH> extends never ? never : Parser<ExtractObjectTypes<TA> & ExtractObjectTypes<TB> & ExtractObjectTypes<TC> & ExtractObjectTypes<TD> & ExtractObjectTypes<TE> & ExtractObjectTypes<TF> & ExtractObjectTypes<TG> & ExtractObjectTypes<TH>, Record<string | symbol, unknown>>;
|
|
1025
|
+
/**
|
|
1026
|
+
* Merges multiple {@link object} parsers into a single {@link object} parser
|
|
1027
|
+
* with a label for documentation and help text organization.
|
|
1028
|
+
* It is useful for combining multiple {@link object} parsers so that
|
|
1029
|
+
* the unified parser produces a single object containing all the values
|
|
1030
|
+
* from the individual parsers while separating the fields into multiple
|
|
1031
|
+
* groups.
|
|
1032
|
+
* @template TA The type of the first parser.
|
|
1033
|
+
* @template TB The type of the second parser.
|
|
1034
|
+
* @template TC The type of the third parser.
|
|
1035
|
+
* @template TD The type of the fourth parser.
|
|
1036
|
+
* @template TE The type of the fifth parser.
|
|
1037
|
+
* @template TF The type of the sixth parser.
|
|
1038
|
+
* @template TG The type of the seventh parser.
|
|
1039
|
+
* @template TH The type of the eighth parser.
|
|
1040
|
+
* @param label A descriptive label for this merged group, used for
|
|
1041
|
+
* documentation and help messages.
|
|
1042
|
+
* @param a The first {@link object} parser to merge.
|
|
1043
|
+
* @param b The second {@link object} parser to merge.
|
|
1044
|
+
* @param c The third {@link object} parser to merge.
|
|
1045
|
+
* @param d The fourth {@link object} parser to merge.
|
|
1046
|
+
* @param e The fifth {@link object} parser to merge.
|
|
1047
|
+
* @param f The sixth {@link object} parser to merge.
|
|
1048
|
+
* @param g The seventh {@link object} parser to merge.
|
|
1049
|
+
* @param h The eighth {@link object} parser to merge.
|
|
1050
|
+
* @return A new {@link object} parser that combines the values and states
|
|
1051
|
+
* of the parsers into a single object.
|
|
1052
|
+
* @since 0.4.0
|
|
1053
|
+
*/
|
|
1054
|
+
declare function merge<TA extends Parser<unknown, unknown>, TB extends Parser<unknown, unknown>, TC extends Parser<unknown, unknown>, TD extends Parser<unknown, unknown>, TE extends Parser<unknown, unknown>, TF extends Parser<unknown, unknown>, TG extends Parser<unknown, unknown>, TH extends Parser<unknown, unknown>>(label: string, a: TA, b: TB, c: TC, d: TD, e: TE, f: TF, g: TG, h: TH): ExtractObjectTypes<TA> extends never ? never : ExtractObjectTypes<TB> extends never ? never : ExtractObjectTypes<TC> extends never ? never : ExtractObjectTypes<TD> extends never ? never : ExtractObjectTypes<TE> extends never ? never : ExtractObjectTypes<TF> extends never ? never : ExtractObjectTypes<TG> extends never ? never : ExtractObjectTypes<TH> extends never ? never : Parser<ExtractObjectTypes<TA> & ExtractObjectTypes<TB> & ExtractObjectTypes<TC> & ExtractObjectTypes<TD> & ExtractObjectTypes<TE> & ExtractObjectTypes<TF> & ExtractObjectTypes<TG> & ExtractObjectTypes<TH>, Record<string | symbol, unknown>>;
|
|
891
1055
|
/**
|
|
892
1056
|
* Merges multiple {@link object} parsers into a single {@link object} parser.
|
|
893
1057
|
* It is useful for combining multiple {@link object} parsers so that
|
|
@@ -917,6 +1081,38 @@ declare function merge<TA extends Parser<unknown, unknown>, TB extends Parser<un
|
|
|
917
1081
|
* @since 0.4.0
|
|
918
1082
|
*/
|
|
919
1083
|
declare function merge<TA extends Parser<unknown, unknown>, TB extends Parser<unknown, unknown>, TC extends Parser<unknown, unknown>, TD extends Parser<unknown, unknown>, TE extends Parser<unknown, unknown>, TF extends Parser<unknown, unknown>, TG extends Parser<unknown, unknown>, TH extends Parser<unknown, unknown>, TI extends Parser<unknown, unknown>>(a: TA, b: TB, c: TC, d: TD, e: TE, f: TF, g: TG, h: TH, i: TI): ExtractObjectTypes<TA> extends never ? never : ExtractObjectTypes<TB> extends never ? never : ExtractObjectTypes<TC> extends never ? never : ExtractObjectTypes<TD> extends never ? never : ExtractObjectTypes<TE> extends never ? never : ExtractObjectTypes<TF> extends never ? never : ExtractObjectTypes<TG> extends never ? never : ExtractObjectTypes<TH> extends never ? never : ExtractObjectTypes<TI> extends never ? never : Parser<ExtractObjectTypes<TA> & ExtractObjectTypes<TB> & ExtractObjectTypes<TC> & ExtractObjectTypes<TD> & ExtractObjectTypes<TE> & ExtractObjectTypes<TF> & ExtractObjectTypes<TG> & ExtractObjectTypes<TH> & ExtractObjectTypes<TI>, Record<string | symbol, unknown>>;
|
|
1084
|
+
/**
|
|
1085
|
+
* Merges multiple {@link object} parsers into a single {@link object} parser
|
|
1086
|
+
* with a label for documentation and help text organization.
|
|
1087
|
+
* It is useful for combining multiple {@link object} parsers so that
|
|
1088
|
+
* the unified parser produces a single object containing all the values
|
|
1089
|
+
* from the individual parsers while separating the fields into multiple
|
|
1090
|
+
* groups.
|
|
1091
|
+
* @template TA The type of the first parser.
|
|
1092
|
+
* @template TB The type of the second parser.
|
|
1093
|
+
* @template TC The type of the third parser.
|
|
1094
|
+
* @template TD The type of the fourth parser.
|
|
1095
|
+
* @template TE The type of the fifth parser.
|
|
1096
|
+
* @template TF The type of the sixth parser.
|
|
1097
|
+
* @template TG The type of the seventh parser.
|
|
1098
|
+
* @template TH The type of the eighth parser.
|
|
1099
|
+
* @template TI The type of the ninth parser.
|
|
1100
|
+
* @param label A descriptive label for this merged group, used for
|
|
1101
|
+
* documentation and help messages.
|
|
1102
|
+
* @param a The first {@link object} parser to merge.
|
|
1103
|
+
* @param b The second {@link object} parser to merge.
|
|
1104
|
+
* @param c The third {@link object} parser to merge.
|
|
1105
|
+
* @param d The fourth {@link object} parser to merge.
|
|
1106
|
+
* @param e The fifth {@link object} parser to merge.
|
|
1107
|
+
* @param f The sixth {@link object} parser to merge.
|
|
1108
|
+
* @param g The seventh {@link object} parser to merge.
|
|
1109
|
+
* @param h The eighth {@link object} parser to merge.
|
|
1110
|
+
* @param i The ninth {@link object} parser to merge.
|
|
1111
|
+
* @return A new {@link object} parser that combines the values and states
|
|
1112
|
+
* of the parsers into a single object.
|
|
1113
|
+
* @since 0.4.0
|
|
1114
|
+
*/
|
|
1115
|
+
declare function merge<TA extends Parser<unknown, unknown>, TB extends Parser<unknown, unknown>, TC extends Parser<unknown, unknown>, TD extends Parser<unknown, unknown>, TE extends Parser<unknown, unknown>, TF extends Parser<unknown, unknown>, TG extends Parser<unknown, unknown>, TH extends Parser<unknown, unknown>, TI extends Parser<unknown, unknown>>(label: string, a: TA, b: TB, c: TC, d: TD, e: TE, f: TF, g: TG, h: TH, i: TI): ExtractObjectTypes<TA> extends never ? never : ExtractObjectTypes<TB> extends never ? never : ExtractObjectTypes<TC> extends never ? never : ExtractObjectTypes<TD> extends never ? never : ExtractObjectTypes<TE> extends never ? never : ExtractObjectTypes<TF> extends never ? never : ExtractObjectTypes<TG> extends never ? never : ExtractObjectTypes<TH> extends never ? never : ExtractObjectTypes<TI> extends never ? never : Parser<ExtractObjectTypes<TA> & ExtractObjectTypes<TB> & ExtractObjectTypes<TC> & ExtractObjectTypes<TD> & ExtractObjectTypes<TE> & ExtractObjectTypes<TF> & ExtractObjectTypes<TG> & ExtractObjectTypes<TH> & ExtractObjectTypes<TI>, Record<string | symbol, unknown>>;
|
|
920
1116
|
/**
|
|
921
1117
|
* Merges multiple {@link object} parsers into a single {@link object} parser.
|
|
922
1118
|
* It is useful for combining multiple {@link object} parsers so that
|
|
@@ -948,6 +1144,40 @@ declare function merge<TA extends Parser<unknown, unknown>, TB extends Parser<un
|
|
|
948
1144
|
* @since 0.4.0
|
|
949
1145
|
*/
|
|
950
1146
|
declare function merge<TA extends Parser<unknown, unknown>, TB extends Parser<unknown, unknown>, TC extends Parser<unknown, unknown>, TD extends Parser<unknown, unknown>, TE extends Parser<unknown, unknown>, TF extends Parser<unknown, unknown>, TG extends Parser<unknown, unknown>, TH extends Parser<unknown, unknown>, TI extends Parser<unknown, unknown>, TJ extends Parser<unknown, unknown>>(a: TA, b: TB, c: TC, d: TD, e: TE, f: TF, g: TG, h: TH, i: TI, j: TJ): ExtractObjectTypes<TA> extends never ? never : ExtractObjectTypes<TB> extends never ? never : ExtractObjectTypes<TC> extends never ? never : ExtractObjectTypes<TD> extends never ? never : ExtractObjectTypes<TE> extends never ? never : ExtractObjectTypes<TF> extends never ? never : ExtractObjectTypes<TG> extends never ? never : ExtractObjectTypes<TH> extends never ? never : ExtractObjectTypes<TI> extends never ? never : ExtractObjectTypes<TJ> extends never ? never : Parser<ExtractObjectTypes<TA> & ExtractObjectTypes<TB> & ExtractObjectTypes<TC> & ExtractObjectTypes<TD> & ExtractObjectTypes<TE> & ExtractObjectTypes<TF> & ExtractObjectTypes<TG> & ExtractObjectTypes<TH> & ExtractObjectTypes<TI> & ExtractObjectTypes<TJ>, Record<string | symbol, unknown>>;
|
|
1147
|
+
/**
|
|
1148
|
+
* Merges multiple {@link object} parsers into a single {@link object} parser
|
|
1149
|
+
* with a label for documentation and help text organization.
|
|
1150
|
+
* It is useful for combining multiple {@link object} parsers so that
|
|
1151
|
+
* the unified parser produces a single object containing all the values
|
|
1152
|
+
* from the individual parsers while separating the fields into multiple
|
|
1153
|
+
* groups.
|
|
1154
|
+
* @template TA The type of the first parser.
|
|
1155
|
+
* @template TB The type of the second parser.
|
|
1156
|
+
* @template TC The type of the third parser.
|
|
1157
|
+
* @template TD The type of the fourth parser.
|
|
1158
|
+
* @template TE The type of the fifth parser.
|
|
1159
|
+
* @template TF The type of the sixth parser.
|
|
1160
|
+
* @template TG The type of the seventh parser.
|
|
1161
|
+
* @template TH The type of the eighth parser.
|
|
1162
|
+
* @template TI The type of the ninth parser.
|
|
1163
|
+
* @template TJ The type of the tenth parser.
|
|
1164
|
+
* @param label A descriptive label for this merged group, used for
|
|
1165
|
+
* documentation and help messages.
|
|
1166
|
+
* @param a The first {@link object} parser to merge.
|
|
1167
|
+
* @param b The second {@link object} parser to merge.
|
|
1168
|
+
* @param c The third {@link object} parser to merge.
|
|
1169
|
+
* @param d The fourth {@link object} parser to merge.
|
|
1170
|
+
* @param e The fifth {@link object} parser to merge.
|
|
1171
|
+
* @param f The sixth {@link object} parser to merge.
|
|
1172
|
+
* @param g The seventh {@link object} parser to merge.
|
|
1173
|
+
* @param h The eighth {@link object} parser to merge.
|
|
1174
|
+
* @param i The ninth {@link object} parser to merge.
|
|
1175
|
+
* @param j The tenth {@link object} parser to merge.
|
|
1176
|
+
* @return A new {@link object} parser that combines the values and states
|
|
1177
|
+
* of the parsers into a single object.
|
|
1178
|
+
* @since 0.4.0
|
|
1179
|
+
*/
|
|
1180
|
+
declare function merge<TA extends Parser<unknown, unknown>, TB extends Parser<unknown, unknown>, TC extends Parser<unknown, unknown>, TD extends Parser<unknown, unknown>, TE extends Parser<unknown, unknown>, TF extends Parser<unknown, unknown>, TG extends Parser<unknown, unknown>, TH extends Parser<unknown, unknown>, TI extends Parser<unknown, unknown>, TJ extends Parser<unknown, unknown>>(label: string, a: TA, b: TB, c: TC, d: TD, e: TE, f: TF, g: TG, h: TH, i: TI, j: TJ): ExtractObjectTypes<TA> extends never ? never : ExtractObjectTypes<TB> extends never ? never : ExtractObjectTypes<TC> extends never ? never : ExtractObjectTypes<TD> extends never ? never : ExtractObjectTypes<TE> extends never ? never : ExtractObjectTypes<TF> extends never ? never : ExtractObjectTypes<TG> extends never ? never : ExtractObjectTypes<TH> extends never ? never : ExtractObjectTypes<TI> extends never ? never : ExtractObjectTypes<TJ> extends never ? never : Parser<ExtractObjectTypes<TA> & ExtractObjectTypes<TB> & ExtractObjectTypes<TC> & ExtractObjectTypes<TD> & ExtractObjectTypes<TE> & ExtractObjectTypes<TF> & ExtractObjectTypes<TG> & ExtractObjectTypes<TH> & ExtractObjectTypes<TI> & ExtractObjectTypes<TJ>, Record<string | symbol, unknown>>;
|
|
951
1181
|
/**
|
|
952
1182
|
* Concatenates two {@link tuple} parsers into a single parser that produces
|
|
953
1183
|
* a flattened tuple containing the values from both parsers in order.
|
package/dist/parser.js
CHANGED
|
@@ -1111,7 +1111,9 @@ function longestMatch(...parsers) {
|
|
|
1111
1111
|
}
|
|
1112
1112
|
};
|
|
1113
1113
|
}
|
|
1114
|
-
function merge(...
|
|
1114
|
+
function merge(...args) {
|
|
1115
|
+
const label = typeof args[0] === "string" ? args[0] : void 0;
|
|
1116
|
+
let parsers = typeof args[0] === "string" ? args.slice(1) : args;
|
|
1115
1117
|
parsers = parsers.toSorted((a, b) => b.priority - a.priority);
|
|
1116
1118
|
const initialState = {};
|
|
1117
1119
|
for (const parser of parsers) if (parser.initialState && typeof parser.initialState === "object") for (const field in parser.initialState) initialState[field] = parser.initialState[field];
|
|
@@ -1204,6 +1206,17 @@ function merge(...parsers) {
|
|
|
1204
1206
|
if (fragment.title == null) entries.push(...fragment.entries);
|
|
1205
1207
|
else sections.push(fragment);
|
|
1206
1208
|
}
|
|
1209
|
+
if (label) {
|
|
1210
|
+
const labeledSection = {
|
|
1211
|
+
title: label,
|
|
1212
|
+
entries
|
|
1213
|
+
};
|
|
1214
|
+
sections.push(labeledSection);
|
|
1215
|
+
return { fragments: sections.map((s) => ({
|
|
1216
|
+
...s,
|
|
1217
|
+
type: "section"
|
|
1218
|
+
})) };
|
|
1219
|
+
}
|
|
1207
1220
|
return { fragments: [...sections.map((s) => ({
|
|
1208
1221
|
...s,
|
|
1209
1222
|
type: "section"
|