@stricli/core 1.2.3 → 1.2.5

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/index.d.cts CHANGED
@@ -581,6 +581,15 @@ interface BaseBooleanFlagParameter extends BaseFlagParameter {
581
581
  * If no value is provided, boolean flags default to `false`.
582
582
  */
583
583
  readonly default?: boolean;
584
+ /**
585
+ * Whether to generate a negated version of this flag (e.g., `--no-foo` for `--foo`).
586
+ *
587
+ * By default, boolean flags with a non-false default value automatically generate a negated version.
588
+ * Set this to `false` to disable the negated flag generation.
589
+ *
590
+ * Defaults to `true`.
591
+ */
592
+ readonly withNegated?: boolean;
584
593
  }
585
594
  type RequiredBooleanFlagParameter = BaseBooleanFlagParameter & {
586
595
  /**
@@ -660,8 +669,9 @@ interface BaseEnumFlagParameter<T extends string> extends BaseFlagParameter {
660
669
  readonly values: readonly T[];
661
670
  /**
662
671
  * Default input value if one is not provided at runtime.
672
+ * For variadic flags, this can be an array of default values.
663
673
  */
664
- readonly default?: T;
674
+ readonly default?: T | readonly T[];
665
675
  readonly optional?: boolean;
666
676
  readonly hidden?: boolean;
667
677
  readonly variadic?: boolean | string;
@@ -697,9 +707,10 @@ interface OptionalEnumFlagParameter<T extends string> extends BaseEnumFlagParame
697
707
  }
698
708
  interface OptionalVariadicEnumFlagParameter<T extends string> extends BaseEnumFlagParameter<T> {
699
709
  /**
700
- * Default values are not supported for variadic parameters.
710
+ * Default values to use if no arguments are provided at runtime.
711
+ * Values must be valid members of the enum values array.
701
712
  */
702
- readonly default?: undefined;
713
+ readonly default?: readonly T[];
703
714
  /**
704
715
  * Optional variadic parameter will parse to an empty array if no arguments are found.
705
716
  */
@@ -719,16 +730,18 @@ interface OptionalVariadicEnumFlagParameter<T extends string> extends BaseEnumFl
719
730
  }
720
731
  interface RequiredVariadicEnumFlagParameter<T extends string> extends BaseEnumFlagParameter<T> {
721
732
  /**
722
- * Default values are not supported for variadic parameters.
733
+ * Default values to use if no arguments are provided at runtime.
734
+ * Values must be valid members of the enum values array.
735
+ * If a default is provided, the parameter becomes optional at runtime.
723
736
  */
724
- readonly default?: undefined;
737
+ readonly default?: readonly T[];
725
738
  /**
726
739
  * Parameter is required and cannot be set as optional.
727
740
  * Expects at least one value to be satisfied.
728
741
  */
729
742
  readonly optional?: false;
730
743
  /**
731
- * Parameter is required and cannot be set as hidden.
744
+ * Parameter is required and cannot be set as hidden without a default value.
732
745
  */
733
746
  readonly hidden?: false;
734
747
  /**
@@ -747,8 +760,9 @@ interface BaseParsedFlagParameter<T, CONTEXT extends CommandContext> extends Par
747
760
  readonly kind: "parsed";
748
761
  /**
749
762
  * Default input value if one is not provided at runtime.
763
+ * For variadic flags, this can be an array of input strings to be parsed.
750
764
  */
751
- readonly default?: string;
765
+ readonly default?: string | readonly string[];
752
766
  /**
753
767
  * If flag is specified with no corresponding input, infer an empty string `""` as the input.
754
768
  */
@@ -816,9 +830,10 @@ interface OptionalVariadicParsedFlagParameter<T, CONTEXT extends CommandContext>
816
830
  */
817
831
  readonly variadic: true | string;
818
832
  /**
819
- * Default values are not supported for variadic parameters.
833
+ * Default input values to parse if no arguments are provided at runtime.
834
+ * These will be parsed using the flag's parse function.
820
835
  */
821
- readonly default?: undefined;
836
+ readonly default?: readonly string[];
822
837
  }
823
838
  interface RequiredVariadicParsedFlagParameter<T, CONTEXT extends CommandContext> extends BaseParsedFlagParameter<T, CONTEXT> {
824
839
  /**
@@ -835,9 +850,11 @@ interface RequiredVariadicParsedFlagParameter<T, CONTEXT extends CommandContext>
835
850
  */
836
851
  readonly variadic: true | string;
837
852
  /**
838
- * Default values are not supported for variadic parameters.
853
+ * Default input values to parse if no arguments are provided at runtime.
854
+ * These will be parsed using the flag's parse function.
855
+ * If a default is provided, the parameter becomes optional at runtime.
839
856
  */
840
- readonly default?: undefined;
857
+ readonly default?: readonly string[];
841
858
  }
842
859
  type TypedFlagParameter_Optional<T, CONTEXT extends CommandContext> = [T] extends [readonly (infer A)[]] ? [A] extends [string] ? OptionalVariadicParsedFlagParameter<A, CONTEXT> | OptionalParsedFlagParameter<T, CONTEXT> | OptionalVariadicEnumFlagParameter<A> : OptionalVariadicParsedFlagParameter<A, CONTEXT> | OptionalParsedFlagParameter<T, CONTEXT> : [T] extends [boolean] ? OptionalBooleanFlagParameter | OptionalParsedFlagParameter<boolean, CONTEXT> : [T] extends [number] ? OptionalCounterFlagParameter | OptionalParsedFlagParameter<number, CONTEXT> : string extends T ? OptionalParsedFlagParameter<string, CONTEXT> : [T] extends [string] ? OptionalEnumFlagParameter<T> | OptionalParsedFlagParameter<T, CONTEXT> : OptionalParsedFlagParameter<T, CONTEXT>;
843
860
  type TypedFlagParameter_Required<T, CONTEXT extends CommandContext> = [T] extends [readonly (infer A)[]] ? [A] extends [string] ? RequiredVariadicParsedFlagParameter<A, CONTEXT> | RequiredParsedFlagParameter<readonly A[], CONTEXT> | RequiredVariadicEnumFlagParameter<A> : RequiredVariadicParsedFlagParameter<A, CONTEXT> | RequiredParsedFlagParameter<readonly A[], CONTEXT> : [T] extends [boolean] ? RequiredBooleanFlagParameter | RequiredParsedFlagParameter<boolean, CONTEXT> : [T] extends [number] ? RequiredCounterFlagParameter | RequiredParsedFlagParameter<number, CONTEXT> : string extends T ? RequiredParsedFlagParameter<string, CONTEXT> : [T] extends [string] ? RequiredEnumFlagParameter<T> | RequiredParsedFlagParameter<T, CONTEXT> : RequiredParsedFlagParameter<T, CONTEXT>;
@@ -1043,6 +1060,7 @@ interface HelpFormattingArguments extends UsageFormattingArguments {
1043
1060
  }
1044
1061
  interface DocumentedTarget {
1045
1062
  readonly brief: string;
1063
+ readonly fullDescription: string | undefined;
1046
1064
  readonly formatUsageLine: (args: UsageFormattingArguments) => string;
1047
1065
  readonly formatHelp: (args: HelpFormattingArguments) => string;
1048
1066
  }
package/dist/index.d.ts CHANGED
@@ -581,6 +581,15 @@ interface BaseBooleanFlagParameter extends BaseFlagParameter {
581
581
  * If no value is provided, boolean flags default to `false`.
582
582
  */
583
583
  readonly default?: boolean;
584
+ /**
585
+ * Whether to generate a negated version of this flag (e.g., `--no-foo` for `--foo`).
586
+ *
587
+ * By default, boolean flags with a non-false default value automatically generate a negated version.
588
+ * Set this to `false` to disable the negated flag generation.
589
+ *
590
+ * Defaults to `true`.
591
+ */
592
+ readonly withNegated?: boolean;
584
593
  }
585
594
  type RequiredBooleanFlagParameter = BaseBooleanFlagParameter & {
586
595
  /**
@@ -660,8 +669,9 @@ interface BaseEnumFlagParameter<T extends string> extends BaseFlagParameter {
660
669
  readonly values: readonly T[];
661
670
  /**
662
671
  * Default input value if one is not provided at runtime.
672
+ * For variadic flags, this can be an array of default values.
663
673
  */
664
- readonly default?: T;
674
+ readonly default?: T | readonly T[];
665
675
  readonly optional?: boolean;
666
676
  readonly hidden?: boolean;
667
677
  readonly variadic?: boolean | string;
@@ -697,9 +707,10 @@ interface OptionalEnumFlagParameter<T extends string> extends BaseEnumFlagParame
697
707
  }
698
708
  interface OptionalVariadicEnumFlagParameter<T extends string> extends BaseEnumFlagParameter<T> {
699
709
  /**
700
- * Default values are not supported for variadic parameters.
710
+ * Default values to use if no arguments are provided at runtime.
711
+ * Values must be valid members of the enum values array.
701
712
  */
702
- readonly default?: undefined;
713
+ readonly default?: readonly T[];
703
714
  /**
704
715
  * Optional variadic parameter will parse to an empty array if no arguments are found.
705
716
  */
@@ -719,16 +730,18 @@ interface OptionalVariadicEnumFlagParameter<T extends string> extends BaseEnumFl
719
730
  }
720
731
  interface RequiredVariadicEnumFlagParameter<T extends string> extends BaseEnumFlagParameter<T> {
721
732
  /**
722
- * Default values are not supported for variadic parameters.
733
+ * Default values to use if no arguments are provided at runtime.
734
+ * Values must be valid members of the enum values array.
735
+ * If a default is provided, the parameter becomes optional at runtime.
723
736
  */
724
- readonly default?: undefined;
737
+ readonly default?: readonly T[];
725
738
  /**
726
739
  * Parameter is required and cannot be set as optional.
727
740
  * Expects at least one value to be satisfied.
728
741
  */
729
742
  readonly optional?: false;
730
743
  /**
731
- * Parameter is required and cannot be set as hidden.
744
+ * Parameter is required and cannot be set as hidden without a default value.
732
745
  */
733
746
  readonly hidden?: false;
734
747
  /**
@@ -747,8 +760,9 @@ interface BaseParsedFlagParameter<T, CONTEXT extends CommandContext> extends Par
747
760
  readonly kind: "parsed";
748
761
  /**
749
762
  * Default input value if one is not provided at runtime.
763
+ * For variadic flags, this can be an array of input strings to be parsed.
750
764
  */
751
- readonly default?: string;
765
+ readonly default?: string | readonly string[];
752
766
  /**
753
767
  * If flag is specified with no corresponding input, infer an empty string `""` as the input.
754
768
  */
@@ -816,9 +830,10 @@ interface OptionalVariadicParsedFlagParameter<T, CONTEXT extends CommandContext>
816
830
  */
817
831
  readonly variadic: true | string;
818
832
  /**
819
- * Default values are not supported for variadic parameters.
833
+ * Default input values to parse if no arguments are provided at runtime.
834
+ * These will be parsed using the flag's parse function.
820
835
  */
821
- readonly default?: undefined;
836
+ readonly default?: readonly string[];
822
837
  }
823
838
  interface RequiredVariadicParsedFlagParameter<T, CONTEXT extends CommandContext> extends BaseParsedFlagParameter<T, CONTEXT> {
824
839
  /**
@@ -835,9 +850,11 @@ interface RequiredVariadicParsedFlagParameter<T, CONTEXT extends CommandContext>
835
850
  */
836
851
  readonly variadic: true | string;
837
852
  /**
838
- * Default values are not supported for variadic parameters.
853
+ * Default input values to parse if no arguments are provided at runtime.
854
+ * These will be parsed using the flag's parse function.
855
+ * If a default is provided, the parameter becomes optional at runtime.
839
856
  */
840
- readonly default?: undefined;
857
+ readonly default?: readonly string[];
841
858
  }
842
859
  type TypedFlagParameter_Optional<T, CONTEXT extends CommandContext> = [T] extends [readonly (infer A)[]] ? [A] extends [string] ? OptionalVariadicParsedFlagParameter<A, CONTEXT> | OptionalParsedFlagParameter<T, CONTEXT> | OptionalVariadicEnumFlagParameter<A> : OptionalVariadicParsedFlagParameter<A, CONTEXT> | OptionalParsedFlagParameter<T, CONTEXT> : [T] extends [boolean] ? OptionalBooleanFlagParameter | OptionalParsedFlagParameter<boolean, CONTEXT> : [T] extends [number] ? OptionalCounterFlagParameter | OptionalParsedFlagParameter<number, CONTEXT> : string extends T ? OptionalParsedFlagParameter<string, CONTEXT> : [T] extends [string] ? OptionalEnumFlagParameter<T> | OptionalParsedFlagParameter<T, CONTEXT> : OptionalParsedFlagParameter<T, CONTEXT>;
843
860
  type TypedFlagParameter_Required<T, CONTEXT extends CommandContext> = [T] extends [readonly (infer A)[]] ? [A] extends [string] ? RequiredVariadicParsedFlagParameter<A, CONTEXT> | RequiredParsedFlagParameter<readonly A[], CONTEXT> | RequiredVariadicEnumFlagParameter<A> : RequiredVariadicParsedFlagParameter<A, CONTEXT> | RequiredParsedFlagParameter<readonly A[], CONTEXT> : [T] extends [boolean] ? RequiredBooleanFlagParameter | RequiredParsedFlagParameter<boolean, CONTEXT> : [T] extends [number] ? RequiredCounterFlagParameter | RequiredParsedFlagParameter<number, CONTEXT> : string extends T ? RequiredParsedFlagParameter<string, CONTEXT> : [T] extends [string] ? RequiredEnumFlagParameter<T> | RequiredParsedFlagParameter<T, CONTEXT> : RequiredParsedFlagParameter<T, CONTEXT>;
@@ -1043,6 +1060,7 @@ interface HelpFormattingArguments extends UsageFormattingArguments {
1043
1060
  }
1044
1061
  interface DocumentedTarget {
1045
1062
  readonly brief: string;
1063
+ readonly fullDescription: string | undefined;
1046
1064
  readonly formatUsageLine: (args: UsageFormattingArguments) => string;
1047
1065
  readonly formatHelp: (args: HelpFormattingArguments) => string;
1048
1066
  }