@step-forge/step-forge 0.0.17 → 0.0.19

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.
@@ -569,6 +569,452 @@ interface AnalyzeOptions {
569
569
  }
570
570
  declare function analyze(config: AnalyzerConfig, options?: AnalyzeOptions): Promise<Diagnostic[]>;
571
571
  //#endregion
572
+ //#region src/init.d.ts
573
+ declare const createBuilders: <GivenState, WhenState, ThenState>() => {
574
+ Given: <Statement extends ((...args: [...any]) => string) | string>(statement: Statement) => {
575
+ dependencies: <GivenDeps extends RequiredOrOptional<GivenState>>(dependencies: {
576
+ given: GivenDeps;
577
+ }) => {
578
+ step: (stepFunction: (input: {
579
+ variables: Statement extends string ? [] : GetFunctionArgs<Statement>;
580
+ given: { [K in keyof GivenState as K extends keyof GivenDeps ? K : never]: GivenDeps[K] extends "optional" ? GivenState[K] | undefined : GivenState[K] };
581
+ when: never;
582
+ then: never;
583
+ }) => Partial<GivenState> | Promise<Partial<GivenState>>) => {
584
+ statement: Statement extends string ? () => string : Statement;
585
+ expression: string;
586
+ dependencies: {
587
+ given: GivenDeps;
588
+ } & {
589
+ when: EmptyObject;
590
+ then: EmptyObject;
591
+ };
592
+ stepType: "given";
593
+ stepFunction: (input: {
594
+ variables: Statement extends string ? [] : GetFunctionArgs<Statement>;
595
+ given: { [K in keyof GivenState as K extends keyof GivenDeps ? K : never]: GivenDeps[K] extends "optional" ? GivenState[K] | undefined : GivenState[K] };
596
+ when: never;
597
+ then: never;
598
+ }) => Partial<GivenState> | Promise<Partial<GivenState>>;
599
+ register: () => {
600
+ stepType: "given";
601
+ expression: string;
602
+ dependencies: {
603
+ given: GivenDeps;
604
+ } & {
605
+ when: EmptyObject;
606
+ then: EmptyObject;
607
+ };
608
+ statement: Statement extends string ? () => string : Statement;
609
+ stepFunction: (input: {
610
+ variables: Statement extends string ? [] : GetFunctionArgs<Statement>;
611
+ given: { [K in keyof GivenState as K extends keyof GivenDeps ? K : never]: GivenDeps[K] extends "optional" ? GivenState[K] | undefined : GivenState[K] };
612
+ when: never;
613
+ then: never;
614
+ }) => Partial<GivenState> | Promise<Partial<GivenState>>;
615
+ };
616
+ };
617
+ };
618
+ parsers: <Parsers extends ((Statement extends string ? [] : GetFunctionArgs<Statement>) extends infer T ? { [K in keyof T]: Parser<(Statement extends string ? [] : GetFunctionArgs<Statement>)[K]> } : never)>(parsers: Parsers) => {
619
+ dependencies: <GivenDeps extends RequiredOrOptional<GivenState>>(dependencies: {
620
+ given: GivenDeps;
621
+ }) => {
622
+ step: (stepFunction: (input: {
623
+ variables: Statement extends string ? [] : GetFunctionArgs<Statement>;
624
+ given: { [K_1 in keyof GivenState as K_1 extends keyof GivenDeps ? K_1 : never]: GivenDeps[K_1] extends "optional" ? GivenState[K_1] | undefined : GivenState[K_1] };
625
+ when: never;
626
+ then: never;
627
+ }) => Partial<GivenState> | Promise<Partial<GivenState>>) => {
628
+ statement: Statement extends string ? () => string : Statement;
629
+ expression: string;
630
+ dependencies: {
631
+ given: GivenDeps;
632
+ } & {
633
+ when: EmptyObject;
634
+ then: EmptyObject;
635
+ };
636
+ stepType: "given";
637
+ stepFunction: (input: {
638
+ variables: Statement extends string ? [] : GetFunctionArgs<Statement>;
639
+ given: { [K_1 in keyof GivenState as K_1 extends keyof GivenDeps ? K_1 : never]: GivenDeps[K_1] extends "optional" ? GivenState[K_1] | undefined : GivenState[K_1] };
640
+ when: never;
641
+ then: never;
642
+ }) => Partial<GivenState> | Promise<Partial<GivenState>>;
643
+ register: () => {
644
+ stepType: "given";
645
+ expression: string;
646
+ dependencies: {
647
+ given: GivenDeps;
648
+ } & {
649
+ when: EmptyObject;
650
+ then: EmptyObject;
651
+ };
652
+ statement: Statement extends string ? () => string : Statement;
653
+ stepFunction: (input: {
654
+ variables: Statement extends string ? [] : GetFunctionArgs<Statement>;
655
+ given: { [K_1 in keyof GivenState as K_1 extends keyof GivenDeps ? K_1 : never]: GivenDeps[K_1] extends "optional" ? GivenState[K_1] | undefined : GivenState[K_1] };
656
+ when: never;
657
+ then: never;
658
+ }) => Partial<GivenState> | Promise<Partial<GivenState>>;
659
+ };
660
+ };
661
+ };
662
+ step: (stepFunction: (input: {
663
+ variables: Statement extends string ? [] : GetFunctionArgs<Statement>;
664
+ given: never;
665
+ when: never;
666
+ then: never;
667
+ }) => Partial<GivenState> | Promise<Partial<GivenState>>) => {
668
+ statement: Statement extends string ? () => string : Statement;
669
+ expression: string;
670
+ dependencies: EmptyDependencies;
671
+ stepType: "given";
672
+ stepFunction: (input: {
673
+ variables: Statement extends string ? [] : GetFunctionArgs<Statement>;
674
+ given: never;
675
+ when: never;
676
+ then: never;
677
+ }) => Partial<GivenState> | Promise<Partial<GivenState>>;
678
+ register: () => {
679
+ stepType: "given";
680
+ expression: string;
681
+ dependencies: EmptyDependencies;
682
+ statement: Statement extends string ? () => string : Statement;
683
+ stepFunction: (input: {
684
+ variables: Statement extends string ? [] : GetFunctionArgs<Statement>;
685
+ given: never;
686
+ when: never;
687
+ then: never;
688
+ }) => Partial<GivenState> | Promise<Partial<GivenState>>;
689
+ };
690
+ };
691
+ };
692
+ step: (stepFunction: (input: {
693
+ variables: Statement extends string ? [] : GetFunctionArgs<Statement>;
694
+ given: never;
695
+ when: never;
696
+ then: never;
697
+ }) => Partial<GivenState> | Promise<Partial<GivenState>>) => {
698
+ statement: Statement extends string ? () => string : Statement;
699
+ expression: string;
700
+ dependencies: EmptyDependencies;
701
+ stepType: "given";
702
+ stepFunction: (input: {
703
+ variables: Statement extends string ? [] : GetFunctionArgs<Statement>;
704
+ given: never;
705
+ when: never;
706
+ then: never;
707
+ }) => Partial<GivenState> | Promise<Partial<GivenState>>;
708
+ register: () => {
709
+ stepType: "given";
710
+ expression: string;
711
+ dependencies: EmptyDependencies;
712
+ statement: Statement extends string ? () => string : Statement;
713
+ stepFunction: (input: {
714
+ variables: Statement extends string ? [] : GetFunctionArgs<Statement>;
715
+ given: never;
716
+ when: never;
717
+ then: never;
718
+ }) => Partial<GivenState> | Promise<Partial<GivenState>>;
719
+ };
720
+ };
721
+ };
722
+ When: <Statement extends ((...args: [...any]) => string) | string>(statement: Statement) => {
723
+ dependencies: <GivenDeps extends RequiredOrOptional<GivenState>, WhenDeps extends RequiredOrOptional<WhenState>>(dependencies: {
724
+ given?: GivenDeps | undefined;
725
+ when?: WhenDeps | undefined;
726
+ }) => {
727
+ step: (stepFunction: (input: {
728
+ variables: Statement extends string ? [] : GetFunctionArgs<Statement>;
729
+ given: { [K in keyof GivenState as K extends keyof GivenDeps ? K : never]: GivenDeps[K] extends "optional" ? GivenState[K] | undefined : GivenState[K] };
730
+ when: { [K_1 in keyof WhenState as K_1 extends keyof WhenDeps ? K_1 : never]: WhenDeps[K_1] extends "optional" ? WhenState[K_1] | undefined : WhenState[K_1] };
731
+ then: never;
732
+ }) => Partial<WhenState> | Promise<Partial<WhenState>>) => {
733
+ statement: Statement extends string ? () => string : Statement;
734
+ expression: string;
735
+ dependencies: {
736
+ given: GivenDeps;
737
+ when: WhenDeps;
738
+ then: EmptyObject;
739
+ };
740
+ stepType: "when";
741
+ stepFunction: (input: {
742
+ variables: Statement extends string ? [] : GetFunctionArgs<Statement>;
743
+ given: { [K in keyof GivenState as K extends keyof GivenDeps ? K : never]: GivenDeps[K] extends "optional" ? GivenState[K] | undefined : GivenState[K] };
744
+ when: { [K_1 in keyof WhenState as K_1 extends keyof WhenDeps ? K_1 : never]: WhenDeps[K_1] extends "optional" ? WhenState[K_1] | undefined : WhenState[K_1] };
745
+ then: never;
746
+ }) => Partial<WhenState> | Promise<Partial<WhenState>>;
747
+ register: () => {
748
+ stepType: "when";
749
+ expression: string;
750
+ dependencies: {
751
+ given: GivenDeps;
752
+ when: WhenDeps;
753
+ then: EmptyObject;
754
+ };
755
+ statement: Statement extends string ? () => string : Statement;
756
+ stepFunction: (input: {
757
+ variables: Statement extends string ? [] : GetFunctionArgs<Statement>;
758
+ given: { [K in keyof GivenState as K extends keyof GivenDeps ? K : never]: GivenDeps[K] extends "optional" ? GivenState[K] | undefined : GivenState[K] };
759
+ when: { [K_1 in keyof WhenState as K_1 extends keyof WhenDeps ? K_1 : never]: WhenDeps[K_1] extends "optional" ? WhenState[K_1] | undefined : WhenState[K_1] };
760
+ then: never;
761
+ }) => Partial<WhenState> | Promise<Partial<WhenState>>;
762
+ };
763
+ };
764
+ };
765
+ parsers: <Parsers extends ((Statement extends string ? [] : GetFunctionArgs<Statement>) extends infer T ? { [K in keyof T]: Parser<(Statement extends string ? [] : GetFunctionArgs<Statement>)[K]> } : never)>(parsers: Parsers) => {
766
+ dependencies: <GivenDeps extends RequiredOrOptional<GivenState>, WhenDeps extends RequiredOrOptional<WhenState>>(dependencies: {
767
+ given?: GivenDeps | undefined;
768
+ when?: WhenDeps | undefined;
769
+ }) => {
770
+ step: (stepFunction: (input: {
771
+ variables: Statement extends string ? [] : GetFunctionArgs<Statement>;
772
+ given: { [K_1 in keyof GivenState as K_1 extends keyof GivenDeps ? K_1 : never]: GivenDeps[K_1] extends "optional" ? GivenState[K_1] | undefined : GivenState[K_1] };
773
+ when: { [K_2 in keyof WhenState as K_2 extends keyof WhenDeps ? K_2 : never]: WhenDeps[K_2] extends "optional" ? WhenState[K_2] | undefined : WhenState[K_2] };
774
+ then: never;
775
+ }) => Partial<WhenState> | Promise<Partial<WhenState>>) => {
776
+ statement: Statement extends string ? () => string : Statement;
777
+ expression: string;
778
+ dependencies: {
779
+ given: GivenDeps;
780
+ when: WhenDeps;
781
+ then: EmptyObject;
782
+ };
783
+ stepType: "when";
784
+ stepFunction: (input: {
785
+ variables: Statement extends string ? [] : GetFunctionArgs<Statement>;
786
+ given: { [K_1 in keyof GivenState as K_1 extends keyof GivenDeps ? K_1 : never]: GivenDeps[K_1] extends "optional" ? GivenState[K_1] | undefined : GivenState[K_1] };
787
+ when: { [K_2 in keyof WhenState as K_2 extends keyof WhenDeps ? K_2 : never]: WhenDeps[K_2] extends "optional" ? WhenState[K_2] | undefined : WhenState[K_2] };
788
+ then: never;
789
+ }) => Partial<WhenState> | Promise<Partial<WhenState>>;
790
+ register: () => {
791
+ stepType: "when";
792
+ expression: string;
793
+ dependencies: {
794
+ given: GivenDeps;
795
+ when: WhenDeps;
796
+ then: EmptyObject;
797
+ };
798
+ statement: Statement extends string ? () => string : Statement;
799
+ stepFunction: (input: {
800
+ variables: Statement extends string ? [] : GetFunctionArgs<Statement>;
801
+ given: { [K_1 in keyof GivenState as K_1 extends keyof GivenDeps ? K_1 : never]: GivenDeps[K_1] extends "optional" ? GivenState[K_1] | undefined : GivenState[K_1] };
802
+ when: { [K_2 in keyof WhenState as K_2 extends keyof WhenDeps ? K_2 : never]: WhenDeps[K_2] extends "optional" ? WhenState[K_2] | undefined : WhenState[K_2] };
803
+ then: never;
804
+ }) => Partial<WhenState> | Promise<Partial<WhenState>>;
805
+ };
806
+ };
807
+ };
808
+ step: (stepFunction: (input: {
809
+ variables: Statement extends string ? [] : GetFunctionArgs<Statement>;
810
+ given: never;
811
+ when: never;
812
+ then: never;
813
+ }) => Partial<WhenState> | Promise<Partial<WhenState>>) => {
814
+ statement: Statement extends string ? () => string : Statement;
815
+ expression: string;
816
+ dependencies: EmptyDependencies;
817
+ stepType: "when";
818
+ stepFunction: (input: {
819
+ variables: Statement extends string ? [] : GetFunctionArgs<Statement>;
820
+ given: never;
821
+ when: never;
822
+ then: never;
823
+ }) => Partial<WhenState> | Promise<Partial<WhenState>>;
824
+ register: () => {
825
+ stepType: "when";
826
+ expression: string;
827
+ dependencies: EmptyDependencies;
828
+ statement: Statement extends string ? () => string : Statement;
829
+ stepFunction: (input: {
830
+ variables: Statement extends string ? [] : GetFunctionArgs<Statement>;
831
+ given: never;
832
+ when: never;
833
+ then: never;
834
+ }) => Partial<WhenState> | Promise<Partial<WhenState>>;
835
+ };
836
+ };
837
+ };
838
+ step: (stepFunction: (input: {
839
+ variables: Statement extends string ? [] : GetFunctionArgs<Statement>;
840
+ given: never;
841
+ when: never;
842
+ then: never;
843
+ }) => Partial<WhenState> | Promise<Partial<WhenState>>) => {
844
+ statement: Statement extends string ? () => string : Statement;
845
+ expression: string;
846
+ dependencies: EmptyDependencies;
847
+ stepType: "when";
848
+ stepFunction: (input: {
849
+ variables: Statement extends string ? [] : GetFunctionArgs<Statement>;
850
+ given: never;
851
+ when: never;
852
+ then: never;
853
+ }) => Partial<WhenState> | Promise<Partial<WhenState>>;
854
+ register: () => {
855
+ stepType: "when";
856
+ expression: string;
857
+ dependencies: EmptyDependencies;
858
+ statement: Statement extends string ? () => string : Statement;
859
+ stepFunction: (input: {
860
+ variables: Statement extends string ? [] : GetFunctionArgs<Statement>;
861
+ given: never;
862
+ when: never;
863
+ then: never;
864
+ }) => Partial<WhenState> | Promise<Partial<WhenState>>;
865
+ };
866
+ };
867
+ };
868
+ Then: <Statement extends ((...args: [...any]) => string) | string>(statement: Statement) => {
869
+ dependencies: <GivenDeps extends RequiredOrOptional<GivenState>, WhenDeps_1 extends RequiredOrOptional<WhenState>, ThenDeps extends RequiredOrOptional<ThenState>>(dependencies: {
870
+ given?: GivenDeps | undefined;
871
+ when?: WhenDeps_1 | undefined;
872
+ then?: ThenDeps | undefined;
873
+ }) => {
874
+ step: (stepFunction: (input: {
875
+ variables: Statement extends string ? [] : GetFunctionArgs<Statement>;
876
+ given: { [K in keyof GivenState as K extends keyof GivenDeps ? K : never]: GivenDeps[K] extends "optional" ? GivenState[K] | undefined : GivenState[K] };
877
+ when: { [K_1 in keyof WhenState as K_1 extends keyof WhenDeps_1 ? K_1 : never]: WhenDeps_1[K_1] extends "optional" ? WhenState[K_1] | undefined : WhenState[K_1] };
878
+ then: { [K_2 in keyof ThenState as K_2 extends keyof ThenDeps ? K_2 : never]: ThenDeps[K_2] extends "optional" ? ThenState[K_2] | undefined : ThenState[K_2] };
879
+ }) => void | Promise<void> | Partial<ThenState> | Promise<Partial<ThenState>>) => {
880
+ statement: Statement extends string ? () => string : Statement;
881
+ expression: string;
882
+ dependencies: {
883
+ given: GivenDeps;
884
+ when: WhenDeps_1;
885
+ then: ThenDeps;
886
+ };
887
+ stepType: "then";
888
+ stepFunction: (input: {
889
+ variables: Statement extends string ? [] : GetFunctionArgs<Statement>;
890
+ given: { [K in keyof GivenState as K extends keyof GivenDeps ? K : never]: GivenDeps[K] extends "optional" ? GivenState[K] | undefined : GivenState[K] };
891
+ when: { [K_1 in keyof WhenState as K_1 extends keyof WhenDeps_1 ? K_1 : never]: WhenDeps_1[K_1] extends "optional" ? WhenState[K_1] | undefined : WhenState[K_1] };
892
+ then: { [K_2 in keyof ThenState as K_2 extends keyof ThenDeps ? K_2 : never]: ThenDeps[K_2] extends "optional" ? ThenState[K_2] | undefined : ThenState[K_2] };
893
+ }) => void | Promise<void> | Partial<ThenState> | Promise<Partial<ThenState>>;
894
+ register: () => {
895
+ stepType: "then";
896
+ expression: string;
897
+ dependencies: {
898
+ given: GivenDeps;
899
+ when: WhenDeps_1;
900
+ then: ThenDeps;
901
+ };
902
+ statement: Statement extends string ? () => string : Statement;
903
+ stepFunction: (input: {
904
+ variables: Statement extends string ? [] : GetFunctionArgs<Statement>;
905
+ given: { [K in keyof GivenState as K extends keyof GivenDeps ? K : never]: GivenDeps[K] extends "optional" ? GivenState[K] | undefined : GivenState[K] };
906
+ when: { [K_1 in keyof WhenState as K_1 extends keyof WhenDeps_1 ? K_1 : never]: WhenDeps_1[K_1] extends "optional" ? WhenState[K_1] | undefined : WhenState[K_1] };
907
+ then: { [K_2 in keyof ThenState as K_2 extends keyof ThenDeps ? K_2 : never]: ThenDeps[K_2] extends "optional" ? ThenState[K_2] | undefined : ThenState[K_2] };
908
+ }) => void | Promise<void> | Partial<ThenState> | Promise<Partial<ThenState>>;
909
+ };
910
+ };
911
+ };
912
+ parsers: <Parsers extends ((Statement extends string ? [] : GetFunctionArgs<Statement>) extends infer T ? { [K in keyof T]: Parser<(Statement extends string ? [] : GetFunctionArgs<Statement>)[K]> } : never)>(parsers: Parsers) => {
913
+ dependencies: <GivenDeps extends RequiredOrOptional<GivenState>, WhenDeps_1 extends RequiredOrOptional<WhenState>, ThenDeps extends RequiredOrOptional<ThenState>>(dependencies: {
914
+ given?: GivenDeps | undefined;
915
+ when?: WhenDeps_1 | undefined;
916
+ then?: ThenDeps | undefined;
917
+ }) => {
918
+ step: (stepFunction: (input: {
919
+ variables: Statement extends string ? [] : GetFunctionArgs<Statement>;
920
+ given: { [K_1 in keyof GivenState as K_1 extends keyof GivenDeps ? K_1 : never]: GivenDeps[K_1] extends "optional" ? GivenState[K_1] | undefined : GivenState[K_1] };
921
+ when: { [K_2 in keyof WhenState as K_2 extends keyof WhenDeps_1 ? K_2 : never]: WhenDeps_1[K_2] extends "optional" ? WhenState[K_2] | undefined : WhenState[K_2] };
922
+ then: { [K_3 in keyof ThenState as K_3 extends keyof ThenDeps ? K_3 : never]: ThenDeps[K_3] extends "optional" ? ThenState[K_3] | undefined : ThenState[K_3] };
923
+ }) => void | Promise<void> | Partial<ThenState> | Promise<Partial<ThenState>>) => {
924
+ statement: Statement extends string ? () => string : Statement;
925
+ expression: string;
926
+ dependencies: {
927
+ given: GivenDeps;
928
+ when: WhenDeps_1;
929
+ then: ThenDeps;
930
+ };
931
+ stepType: "then";
932
+ stepFunction: (input: {
933
+ variables: Statement extends string ? [] : GetFunctionArgs<Statement>;
934
+ given: { [K_1 in keyof GivenState as K_1 extends keyof GivenDeps ? K_1 : never]: GivenDeps[K_1] extends "optional" ? GivenState[K_1] | undefined : GivenState[K_1] };
935
+ when: { [K_2 in keyof WhenState as K_2 extends keyof WhenDeps_1 ? K_2 : never]: WhenDeps_1[K_2] extends "optional" ? WhenState[K_2] | undefined : WhenState[K_2] };
936
+ then: { [K_3 in keyof ThenState as K_3 extends keyof ThenDeps ? K_3 : never]: ThenDeps[K_3] extends "optional" ? ThenState[K_3] | undefined : ThenState[K_3] };
937
+ }) => void | Promise<void> | Partial<ThenState> | Promise<Partial<ThenState>>;
938
+ register: () => {
939
+ stepType: "then";
940
+ expression: string;
941
+ dependencies: {
942
+ given: GivenDeps;
943
+ when: WhenDeps_1;
944
+ then: ThenDeps;
945
+ };
946
+ statement: Statement extends string ? () => string : Statement;
947
+ stepFunction: (input: {
948
+ variables: Statement extends string ? [] : GetFunctionArgs<Statement>;
949
+ given: { [K_1 in keyof GivenState as K_1 extends keyof GivenDeps ? K_1 : never]: GivenDeps[K_1] extends "optional" ? GivenState[K_1] | undefined : GivenState[K_1] };
950
+ when: { [K_2 in keyof WhenState as K_2 extends keyof WhenDeps_1 ? K_2 : never]: WhenDeps_1[K_2] extends "optional" ? WhenState[K_2] | undefined : WhenState[K_2] };
951
+ then: { [K_3 in keyof ThenState as K_3 extends keyof ThenDeps ? K_3 : never]: ThenDeps[K_3] extends "optional" ? ThenState[K_3] | undefined : ThenState[K_3] };
952
+ }) => void | Promise<void> | Partial<ThenState> | Promise<Partial<ThenState>>;
953
+ };
954
+ };
955
+ };
956
+ step: (stepFunction: (input: {
957
+ variables: Statement extends string ? [] : GetFunctionArgs<Statement>;
958
+ given: never;
959
+ when: never;
960
+ then: never;
961
+ }) => void | Promise<void> | Partial<ThenState> | Promise<Partial<ThenState>>) => {
962
+ statement: Statement extends string ? () => string : Statement;
963
+ expression: string;
964
+ dependencies: EmptyDependencies;
965
+ stepType: "then";
966
+ stepFunction: (input: {
967
+ variables: Statement extends string ? [] : GetFunctionArgs<Statement>;
968
+ given: never;
969
+ when: never;
970
+ then: never;
971
+ }) => void | Promise<void> | Partial<ThenState> | Promise<Partial<ThenState>>;
972
+ register: () => {
973
+ stepType: "then";
974
+ expression: string;
975
+ dependencies: EmptyDependencies;
976
+ statement: Statement extends string ? () => string : Statement;
977
+ stepFunction: (input: {
978
+ variables: Statement extends string ? [] : GetFunctionArgs<Statement>;
979
+ given: never;
980
+ when: never;
981
+ then: never;
982
+ }) => void | Promise<void> | Partial<ThenState> | Promise<Partial<ThenState>>;
983
+ };
984
+ };
985
+ };
986
+ step: (stepFunction: (input: {
987
+ variables: Statement extends string ? [] : GetFunctionArgs<Statement>;
988
+ given: never;
989
+ when: never;
990
+ then: never;
991
+ }) => void | Promise<void> | Partial<ThenState> | Promise<Partial<ThenState>>) => {
992
+ statement: Statement extends string ? () => string : Statement;
993
+ expression: string;
994
+ dependencies: EmptyDependencies;
995
+ stepType: "then";
996
+ stepFunction: (input: {
997
+ variables: Statement extends string ? [] : GetFunctionArgs<Statement>;
998
+ given: never;
999
+ when: never;
1000
+ then: never;
1001
+ }) => void | Promise<void> | Partial<ThenState> | Promise<Partial<ThenState>>;
1002
+ register: () => {
1003
+ stepType: "then";
1004
+ expression: string;
1005
+ dependencies: EmptyDependencies;
1006
+ statement: Statement extends string ? () => string : Statement;
1007
+ stepFunction: (input: {
1008
+ variables: Statement extends string ? [] : GetFunctionArgs<Statement>;
1009
+ given: never;
1010
+ when: never;
1011
+ then: never;
1012
+ }) => void | Promise<void> | Partial<ThenState> | Promise<Partial<ThenState>>;
1013
+ };
1014
+ };
1015
+ };
1016
+ };
1017
+ //#endregion
572
1018
  //#region src/typeHelpers.d.ts
573
1019
  type Prettify<T> = { [K in keyof T]: T[K] } & {};
574
1020
  /**
@@ -595,5 +1041,5 @@ declare const analyzer: {
595
1041
  defaultRules: AnalysisRule[];
596
1042
  };
597
1043
  //#endregion
598
- export { type AnalysisRule, type AnalyzeOptions, type AnalyzerConfig, BasicWorld, type Diagnostic, type MatchedStep, type ParsedScenario, type ParsedStep, type Parser, type StateFromDependencies, type StepDefinitionMeta, analyzer, booleanParser, givenBuilder, intParser, numberParser, stringParser, thenBuilder, whenBuilder };
1044
+ export { type AnalysisRule, type AnalyzeOptions, type AnalyzerConfig, BasicWorld, type Diagnostic, type MatchedStep, type ParsedScenario, type ParsedStep, type Parser, type StateFromDependencies, type StepDefinitionMeta, analyzer, booleanParser, createBuilders, givenBuilder, intParser, numberParser, stringParser, thenBuilder, whenBuilder };
599
1045
  //# sourceMappingURL=step-forge.d.ts.map
@@ -718,6 +718,15 @@ async function resolveGlobs(patterns) {
718
718
  return [...new Set(files)];
719
719
  }
720
720
  //#endregion
721
+ //#region src/init.ts
722
+ const createBuilders = () => {
723
+ return {
724
+ Given: givenBuilder().statement,
725
+ When: whenBuilder().statement,
726
+ Then: thenBuilder().statement
727
+ };
728
+ };
729
+ //#endregion
721
730
  //#region src/index.ts
722
731
  const analyzer = {
723
732
  analyze,
@@ -729,6 +738,6 @@ const analyzer = {
729
738
  defaultRules
730
739
  };
731
740
  //#endregion
732
- export { BasicWorld, analyzer, booleanParser, givenBuilder, intParser, numberParser, stringParser, thenBuilder, whenBuilder };
741
+ export { BasicWorld, analyzer, booleanParser, createBuilders, givenBuilder, intParser, numberParser, stringParser, thenBuilder, whenBuilder };
733
742
 
734
743
  //# sourceMappingURL=step-forge.js.map