@effect-app/vue 2.82.0 → 2.83.0

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.
@@ -91,20 +91,30 @@ export const wrapEmit = <A, Event extends string>(
91
91
  (value: A) => new Promise<void>((resolve) => emit(event, value, resolve))
92
92
 
93
93
  export declare namespace Commander {
94
- export type CommanderBase<RT, Id extends string, I18nKey extends string, State> =
95
- & Commander.Gen<RT, Id, I18nKey>
96
- & Commander.NonGen<RT, Id, I18nKey>
94
+ export type CommanderBase<RT, Id extends string, I18nKey extends string, State extends IntlRecord | undefined> =
95
+ & Commander.Gen<RT, Id, I18nKey, State>
96
+ & Commander.NonGen<RT, Id, I18nKey, State>
97
97
  & Commander.CommandContextLocal<Id, I18nKey>
98
98
  & {
99
99
  state: Context.Tag<`Commander.Command.${Id}.state`, State>
100
100
  }
101
101
 
102
- export type CommanderFn<RT, Id extends string, I18nKey extends string, State> = CommanderBase<RT, Id, I18nKey, State>
102
+ export type CommanderFn<RT, Id extends string, I18nKey extends string, State extends IntlRecord | undefined> =
103
+ CommanderBase<RT, Id, I18nKey, State>
103
104
 
104
- export type CommanderWrap<RT, Id extends string, I18nCustomKey extends string, State, I extends any[], A, E, R> =
105
+ export type CommanderWrap<
106
+ RT,
107
+ Id extends string,
108
+ I18nCustomKey extends string,
109
+ State extends IntlRecord | undefined,
110
+ I extends any[],
111
+ A,
112
+ E,
113
+ R
114
+ > =
105
115
  & CommandContextLocal<Id, I18nCustomKey>
106
- & GenWrap<RT, Id, I18nCustomKey, I, A, E, R>
107
- & NonGenWrap<RT, Id, I18nCustomKey, I, A, E, R>
116
+ & GenWrap<RT, Id, I18nCustomKey, I, A, E, R, State>
117
+ & NonGenWrap<RT, Id, I18nCustomKey, I, A, E, R, State>
108
118
  & {
109
119
  state: Context.Tag<`Commander.Command.${Id}.state`, State>
110
120
  }
@@ -116,18 +126,34 @@ export declare namespace Commander {
116
126
  namespaced: <K extends string>(k: K) => `action.${I18nKey}.${K}`
117
127
  }
118
128
 
119
- export interface CommandProps<A, E, Id extends string, I18nKey extends string>
120
- extends CommandContextLocal<Id, I18nKey>
121
- {
129
+ export interface CommandProps<
130
+ A,
131
+ E,
132
+ Id extends string,
133
+ I18nKey extends string,
134
+ State extends IntlRecord | undefined
135
+ > extends CommandContextLocal<Id, I18nKey> {
136
+ /** reactive */
122
137
  action: string
138
+ /** reactive */
123
139
  label: string
140
+ /** reactive */
124
141
  result: Result<A, E>
142
+ /** reactive */
125
143
  waiting: boolean
144
+ /** reactive */
145
+ state: ComputedRef<State>
126
146
  }
127
147
 
128
- export interface CommandOut<Args extends Array<unknown>, A, E, R, Id extends string, I18nKey extends string>
129
- extends CommandProps<A, E, Id, I18nKey>
130
- {
148
+ export interface CommandOut<
149
+ Args extends Array<unknown>,
150
+ A,
151
+ E,
152
+ R,
153
+ Id extends string,
154
+ I18nKey extends string,
155
+ State extends IntlRecord | undefined
156
+ > extends CommandProps<A, E, Id, I18nKey, State> {
131
157
  new(): {}
132
158
 
133
159
  /** click handlers */
@@ -156,17 +182,19 @@ export declare namespace Commander {
156
182
  Args extends Array<unknown>,
157
183
  Eff extends Effect.Effect<any, any, any>,
158
184
  Id extends string,
159
- I18nKey extends string
185
+ I18nKey extends string,
186
+ State extends IntlRecord | undefined
160
187
  > = CommandOut<
161
188
  Args,
162
189
  Effect.Effect.Success<Eff>,
163
190
  Effect.Effect.Error<Eff>,
164
191
  Effect.Effect.Context<Eff>,
165
192
  Id,
166
- I18nKey
193
+ I18nKey,
194
+ State
167
195
  >
168
196
 
169
- export type Gen<RT, Id extends string, I18nKey extends string> = {
197
+ export type Gen<RT, Id extends string, I18nKey extends string, State extends IntlRecord | undefined> = {
170
198
  <
171
199
  Eff extends YieldWrap<Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>>,
172
200
  AEff,
@@ -183,7 +211,8 @@ export declare namespace Commander {
183
211
  : [Eff] extends [YieldWrap<Effect.Effect<infer _A, infer _E, infer R>>] ? R
184
212
  : never,
185
213
  Id,
186
- I18nKey
214
+ I18nKey,
215
+ State
187
216
  >
188
217
  <
189
218
  Eff extends YieldWrap<Effect.Effect<any, any, any>>,
@@ -204,7 +233,7 @@ export declare namespace Commander {
204
233
  >,
205
234
  ...args: NoInfer<Args>
206
235
  ) => A
207
- ): CommandOutHelper<Args, A, Id, I18nKey>
236
+ ): CommandOutHelper<Args, A, Id, I18nKey, State>
208
237
  <
209
238
  Eff extends YieldWrap<Effect.Effect<any, any, any>>,
210
239
  AEff,
@@ -226,7 +255,7 @@ export declare namespace Commander {
226
255
  ...args: NoInfer<Args>
227
256
  ) => A,
228
257
  b: (_: A, ...args: NoInfer<Args>) => B
229
- ): CommandOutHelper<Args, B, Id, I18nKey>
258
+ ): CommandOutHelper<Args, B, Id, I18nKey, State>
230
259
  <
231
260
  Eff extends YieldWrap<Effect.Effect<any, any, any>>,
232
261
  AEff,
@@ -250,7 +279,7 @@ export declare namespace Commander {
250
279
  ) => A,
251
280
  b: (_: A, ...args: NoInfer<Args>) => B,
252
281
  c: (_: B, ...args: NoInfer<Args>) => C
253
- ): CommandOutHelper<Args, C, Id, I18nKey>
282
+ ): CommandOutHelper<Args, C, Id, I18nKey, State>
254
283
  <
255
284
  Eff extends YieldWrap<Effect.Effect<any, any, any>>,
256
285
  AEff,
@@ -276,7 +305,7 @@ export declare namespace Commander {
276
305
  b: (_: A, ...args: NoInfer<Args>) => B,
277
306
  c: (_: B, ...args: NoInfer<Args>) => C,
278
307
  d: (_: C, ...args: NoInfer<Args>) => D
279
- ): CommandOutHelper<Args, D, Id, I18nKey>
308
+ ): CommandOutHelper<Args, D, Id, I18nKey, State>
280
309
  <
281
310
  Eff extends YieldWrap<Effect.Effect<any, any, any>>,
282
311
  AEff,
@@ -304,7 +333,7 @@ export declare namespace Commander {
304
333
  c: (_: B, ...args: NoInfer<Args>) => C,
305
334
  d: (_: C, ...args: NoInfer<Args>) => D,
306
335
  e: (_: D, ...args: NoInfer<Args>) => E
307
- ): CommandOutHelper<Args, E, Id, I18nKey>
336
+ ): CommandOutHelper<Args, E, Id, I18nKey, State>
308
337
  <
309
338
  Eff extends YieldWrap<Effect.Effect<any, any, any>>,
310
339
  AEff,
@@ -334,7 +363,7 @@ export declare namespace Commander {
334
363
  d: (_: C, ...args: NoInfer<Args>) => D,
335
364
  e: (_: D, ...args: NoInfer<Args>) => E,
336
365
  f: (_: E, ...args: NoInfer<Args>) => F
337
- ): CommandOutHelper<Args, F, Id, I18nKey>
366
+ ): CommandOutHelper<Args, F, Id, I18nKey, State>
338
367
  <
339
368
  Eff extends YieldWrap<Effect.Effect<any, any, any>>,
340
369
  AEff,
@@ -366,7 +395,7 @@ export declare namespace Commander {
366
395
  e: (_: D, ...args: NoInfer<Args>) => E,
367
396
  f: (_: E, ...args: NoInfer<Args>) => F,
368
397
  g: (_: F, ...args: NoInfer<Args>) => G
369
- ): CommandOutHelper<Args, G, Id, I18nKey>
398
+ ): CommandOutHelper<Args, G, Id, I18nKey, State>
370
399
  <
371
400
  Eff extends YieldWrap<Effect.Effect<any, any, any>>,
372
401
  AEff,
@@ -400,7 +429,7 @@ export declare namespace Commander {
400
429
  f: (_: E, ...args: NoInfer<Args>) => F,
401
430
  g: (_: F, ...args: NoInfer<Args>) => G,
402
431
  h: (_: G, ...args: NoInfer<Args>) => H
403
- ): CommandOutHelper<Args, H, Id, I18nKey>
432
+ ): CommandOutHelper<Args, H, Id, I18nKey, State>
404
433
  <
405
434
  Eff extends YieldWrap<Effect.Effect<any, any, any>>,
406
435
  AEff,
@@ -436,16 +465,16 @@ export declare namespace Commander {
436
465
  g: (_: F, ...args: NoInfer<Args>) => G,
437
466
  h: (_: G, ...args: NoInfer<Args>) => H,
438
467
  i: (_: H, ...args: NoInfer<Args>) => I
439
- ): CommandOutHelper<Args, I, Id, I18nKey>
468
+ ): CommandOutHelper<Args, I, Id, I18nKey, State>
440
469
  }
441
470
 
442
- export type NonGen<RT, Id extends string, I18nKey extends string> = {
471
+ export type NonGen<RT, Id extends string, I18nKey extends string, State extends IntlRecord | undefined> = {
443
472
  <
444
473
  Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>,
445
474
  Args extends Array<unknown>
446
475
  >(
447
476
  body: (...args: Args) => Eff
448
- ): CommandOutHelper<Args, Eff, Id, I18nKey>
477
+ ): CommandOutHelper<Args, Eff, Id, I18nKey, State>
449
478
  <
450
479
  Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>,
451
480
  A,
@@ -453,7 +482,7 @@ export declare namespace Commander {
453
482
  >(
454
483
  body: (...args: Args) => A,
455
484
  a: (_: A, ...args: NoInfer<Args>) => Eff
456
- ): CommandOutHelper<Args, Eff, Id, I18nKey>
485
+ ): CommandOutHelper<Args, Eff, Id, I18nKey, State>
457
486
  <
458
487
  Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>,
459
488
  A,
@@ -463,7 +492,7 @@ export declare namespace Commander {
463
492
  body: (...args: Args) => A,
464
493
  a: (_: A, ...args: NoInfer<Args>) => B,
465
494
  b: (_: B, ...args: NoInfer<Args>) => Eff
466
- ): CommandOutHelper<Args, Eff, Id, I18nKey>
495
+ ): CommandOutHelper<Args, Eff, Id, I18nKey, State>
467
496
  <
468
497
  Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>,
469
498
  A,
@@ -475,7 +504,7 @@ export declare namespace Commander {
475
504
  a: (_: A, ...args: NoInfer<Args>) => B,
476
505
  b: (_: B, ...args: NoInfer<Args>) => C,
477
506
  c: (_: C, ...args: NoInfer<Args>) => Eff
478
- ): CommandOutHelper<Args, Eff, Id, I18nKey>
507
+ ): CommandOutHelper<Args, Eff, Id, I18nKey, State>
479
508
  <
480
509
  Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>,
481
510
  A,
@@ -489,7 +518,7 @@ export declare namespace Commander {
489
518
  b: (_: B, ...args: NoInfer<Args>) => C,
490
519
  c: (_: C, ...args: NoInfer<Args>) => D,
491
520
  d: (_: D, ...args: NoInfer<Args>) => Eff
492
- ): CommandOutHelper<Args, Eff, Id, I18nKey>
521
+ ): CommandOutHelper<Args, Eff, Id, I18nKey, State>
493
522
  <
494
523
  Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>,
495
524
  A,
@@ -505,7 +534,7 @@ export declare namespace Commander {
505
534
  c: (_: C, ...args: NoInfer<Args>) => D,
506
535
  d: (_: D, ...args: NoInfer<Args>) => E,
507
536
  e: (_: E, ...args: NoInfer<Args>) => Eff
508
- ): CommandOutHelper<Args, Eff, Id, I18nKey>
537
+ ): CommandOutHelper<Args, Eff, Id, I18nKey, State>
509
538
  <
510
539
  Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>,
511
540
  A,
@@ -523,7 +552,7 @@ export declare namespace Commander {
523
552
  d: (_: D, ...args: NoInfer<Args>) => E,
524
553
  e: (_: E, ...args: NoInfer<Args>) => F,
525
554
  f: (_: F, ...args: NoInfer<Args>) => Eff
526
- ): CommandOutHelper<Args, Eff, Id, I18nKey>
555
+ ): CommandOutHelper<Args, Eff, Id, I18nKey, State>
527
556
  <
528
557
  Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>,
529
558
  A,
@@ -543,7 +572,7 @@ export declare namespace Commander {
543
572
  e: (_: E, ...args: NoInfer<Args>) => F,
544
573
  f: (_: F, ...args: NoInfer<Args>) => G,
545
574
  g: (_: G, ...args: NoInfer<Args>) => Eff
546
- ): CommandOutHelper<Args, Eff, Id, I18nKey>
575
+ ): CommandOutHelper<Args, Eff, Id, I18nKey, State>
547
576
  <
548
577
  Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>,
549
578
  A,
@@ -565,7 +594,7 @@ export declare namespace Commander {
565
594
  f: (_: F, ...args: NoInfer<Args>) => G,
566
595
  g: (_: G, ...args: NoInfer<Args>) => H,
567
596
  h: (_: H, ...args: NoInfer<Args>) => Eff
568
- ): CommandOutHelper<Args, Eff, Id, I18nKey>
597
+ ): CommandOutHelper<Args, Eff, Id, I18nKey, State>
569
598
  <
570
599
  Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>,
571
600
  A,
@@ -589,17 +618,27 @@ export declare namespace Commander {
589
618
  g: (_: G, ...args: NoInfer<Args>) => H,
590
619
  h: (_: H, ...args: NoInfer<Args>) => I,
591
620
  i: (_: H, ...args: NoInfer<Args>) => Eff
592
- ): CommandOutHelper<Args, Eff, Id, I18nKey>
621
+ ): CommandOutHelper<Args, Eff, Id, I18nKey, State>
593
622
  }
594
623
 
595
- export type GenWrap<RT, Id extends string, I18nKey extends string, Args extends Array<unknown>, AEff, EEff, REff> = {
624
+ export type GenWrap<
625
+ RT,
626
+ Id extends string,
627
+ I18nKey extends string,
628
+ Args extends Array<unknown>,
629
+ AEff,
630
+ EEff,
631
+ REff,
632
+ State extends IntlRecord | undefined
633
+ > = {
596
634
  (): Exclude<REff, RT> extends never ? CommandOut<
597
635
  Args,
598
636
  AEff,
599
637
  EEff,
600
638
  REff,
601
639
  Id,
602
- I18nKey
640
+ I18nKey,
641
+ State
603
642
  >
604
643
  : MissingDependencies<RT, REff> & {}
605
644
  <
@@ -613,7 +652,7 @@ export declare namespace Commander {
613
652
  >,
614
653
  ...args: NoInfer<Args>
615
654
  ) => A
616
- ): CommandOutHelper<Args, A, Id, I18nKey>
655
+ ): CommandOutHelper<Args, A, Id, I18nKey, State>
617
656
  <
618
657
  A,
619
658
  B extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>
@@ -627,7 +666,7 @@ export declare namespace Commander {
627
666
  ...args: NoInfer<Args>
628
667
  ) => A,
629
668
  b: (_: A, ...args: NoInfer<Args>) => B
630
- ): CommandOutHelper<Args, B, Id, I18nKey>
669
+ ): CommandOutHelper<Args, B, Id, I18nKey, State>
631
670
  <
632
671
  A,
633
672
  B,
@@ -643,7 +682,7 @@ export declare namespace Commander {
643
682
  ) => A,
644
683
  b: (_: A, ...args: NoInfer<Args>) => B,
645
684
  c: (_: B, ...args: NoInfer<Args>) => C
646
- ): CommandOutHelper<Args, C, Id, I18nKey>
685
+ ): CommandOutHelper<Args, C, Id, I18nKey, State>
647
686
  <
648
687
  A,
649
688
  B,
@@ -661,7 +700,7 @@ export declare namespace Commander {
661
700
  b: (_: A, ...args: NoInfer<Args>) => B,
662
701
  c: (_: B, ...args: NoInfer<Args>) => C,
663
702
  d: (_: C, ...args: NoInfer<Args>) => D
664
- ): CommandOutHelper<Args, D, Id, I18nKey>
703
+ ): CommandOutHelper<Args, D, Id, I18nKey, State>
665
704
  <
666
705
  A,
667
706
  B,
@@ -681,7 +720,7 @@ export declare namespace Commander {
681
720
  c: (_: B, ...args: NoInfer<Args>) => C,
682
721
  d: (_: C, ...args: NoInfer<Args>) => D,
683
722
  e: (_: D, ...args: NoInfer<Args>) => E
684
- ): CommandOutHelper<Args, E, Id, I18nKey>
723
+ ): CommandOutHelper<Args, E, Id, I18nKey, State>
685
724
  <
686
725
  A,
687
726
  B,
@@ -703,7 +742,7 @@ export declare namespace Commander {
703
742
  d: (_: C, ...args: NoInfer<Args>) => D,
704
743
  e: (_: D, ...args: NoInfer<Args>) => E,
705
744
  f: (_: E, ...args: NoInfer<Args>) => F
706
- ): CommandOutHelper<Args, F, Id, I18nKey>
745
+ ): CommandOutHelper<Args, F, Id, I18nKey, State>
707
746
  <
708
747
  A,
709
748
  B,
@@ -727,7 +766,7 @@ export declare namespace Commander {
727
766
  e: (_: D, ...args: NoInfer<Args>) => E,
728
767
  f: (_: E, ...args: NoInfer<Args>) => F,
729
768
  g: (_: F, ...args: NoInfer<Args>) => G
730
- ): CommandOutHelper<Args, G, Id, I18nKey>
769
+ ): CommandOutHelper<Args, G, Id, I18nKey, State>
731
770
  <A, B, C, D, E, F, G, H extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>>(
732
771
  a: (
733
772
  _: Effect.Effect<
@@ -744,7 +783,7 @@ export declare namespace Commander {
744
783
  f: (_: E, ...args: NoInfer<Args>) => F,
745
784
  g: (_: F, ...args: NoInfer<Args>) => G,
746
785
  h: (_: G, ...args: NoInfer<Args>) => H
747
- ): CommandOutHelper<Args, H, Id, I18nKey>
786
+ ): CommandOutHelper<Args, H, Id, I18nKey, State>
748
787
  <A, B, C, D, E, F, G, H, I extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>>(
749
788
  a: (
750
789
  _: Effect.Effect<
@@ -762,203 +801,211 @@ export declare namespace Commander {
762
801
  g: (_: F, ...args: NoInfer<Args>) => G,
763
802
  h: (_: G, ...args: NoInfer<Args>) => H,
764
803
  i: (_: H, ...args: NoInfer<Args>) => I
765
- ): CommandOutHelper<Args, I, Id, I18nKey>
804
+ ): CommandOutHelper<Args, I, Id, I18nKey, State>
766
805
  }
767
806
 
768
- export type NonGenWrap<RT, Id extends string, I18nKey extends string, Args extends Array<unknown>, AEff, EEff, REff> =
769
- {
770
- (): Exclude<REff, RT> extends never ? CommandOutHelper<Args, Effect.Effect<AEff, EEff, REff>, Id, I18nKey>
771
- : MissingDependencies<RT, REff> & {}
772
- <
773
- Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>,
774
- Args extends Array<unknown>
775
- >(
776
- a: (
777
- _: Effect.Effect<
778
- AEff,
779
- EEff,
780
- REff
781
- >,
782
- ...args: NoInfer<Args>
783
- ) => Eff
784
- ): CommandOutHelper<Args, Eff, Id, I18nKey>
785
- <
786
- Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>,
787
- B,
788
- Args extends Array<unknown>
789
- >(
790
- a: (
791
- _: Effect.Effect<
792
- AEff,
793
- EEff,
794
- REff
795
- >,
796
- ...args: NoInfer<Args>
797
- ) => B,
798
- b: (_: B, ...args: NoInfer<Args>) => Eff
799
- ): CommandOutHelper<Args, Eff, Id, I18nKey>
800
- <
801
- Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>,
802
- B,
803
- C,
804
- Args extends Array<unknown>
805
- >(
806
- a: (
807
- _: Effect.Effect<
808
- AEff,
809
- EEff,
810
- REff
811
- >,
812
- ...args: NoInfer<Args>
813
- ) => B,
814
- b: (_: B, ...args: NoInfer<Args>) => C,
815
- c: (_: C, ...args: NoInfer<Args>) => Eff
816
- ): CommandOutHelper<Args, Eff, Id, I18nKey>
817
- <
818
- Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>,
819
- B,
820
- C,
821
- D,
822
- Args extends Array<unknown>
823
- >(
824
- a: (
825
- _: Effect.Effect<
826
- AEff,
827
- EEff,
828
- REff
829
- >,
830
- ...args: NoInfer<Args>
831
- ) => B,
832
- b: (_: B, ...args: NoInfer<Args>) => C,
833
- c: (_: C, ...args: NoInfer<Args>) => D,
834
- d: (_: D, ...args: NoInfer<Args>) => Eff
835
- ): CommandOutHelper<Args, Eff, Id, I18nKey>
836
- <
837
- Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>,
838
- B,
839
- C,
840
- D,
841
- E,
842
- Args extends Array<unknown>
843
- >(
844
- a: (
845
- _: Effect.Effect<
846
- AEff,
847
- EEff,
848
- REff
849
- >,
850
- ...args: NoInfer<Args>
851
- ) => B,
852
- b: (_: B, ...args: NoInfer<Args>) => C,
853
- c: (_: C, ...args: NoInfer<Args>) => D,
854
- d: (_: D, ...args: NoInfer<Args>) => E,
855
- e: (_: E, ...args: NoInfer<Args>) => Eff
856
- ): CommandOutHelper<Args, Eff, Id, I18nKey>
857
- <
858
- Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>,
859
- B,
860
- C,
861
- D,
862
- E,
863
- F,
864
- Args extends Array<unknown>
865
- >(
866
- a: (
867
- _: Effect.Effect<
868
- AEff,
869
- EEff,
870
- REff
871
- >,
872
- ...args: NoInfer<Args>
873
- ) => B,
874
- b: (_: B, ...args: NoInfer<Args>) => C,
875
- c: (_: C, ...args: NoInfer<Args>) => D,
876
- d: (_: D, ...args: NoInfer<Args>) => E,
877
- e: (_: E, ...args: NoInfer<Args>) => F,
878
- f: (_: F, ...args: NoInfer<Args>) => Eff
879
- ): CommandOutHelper<Args, Eff, Id, I18nKey>
880
- <
881
- Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>,
882
- B,
883
- C,
884
- D,
885
- E,
886
- F,
887
- G,
888
- Args extends Array<unknown>
889
- >(
890
- a: (
891
- _: Effect.Effect<
892
- AEff,
893
- EEff,
894
- REff
895
- >,
896
- ...args: NoInfer<Args>
897
- ) => B,
898
- b: (_: B, ...args: NoInfer<Args>) => C,
899
- c: (_: C, ...args: NoInfer<Args>) => D,
900
- d: (_: D, ...args: NoInfer<Args>) => E,
901
- e: (_: E, ...args: NoInfer<Args>) => F,
902
- f: (_: F, ...args: NoInfer<Args>) => G,
903
- g: (_: G, ...args: NoInfer<Args>) => Eff
904
- ): CommandOutHelper<Args, Eff, Id, I18nKey>
905
- <
906
- Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>,
907
- B,
908
- C,
909
- D,
910
- E,
911
- F,
912
- G,
913
- H,
914
- Args extends Array<unknown>
915
- >(
916
- a: (
917
- _: Effect.Effect<
918
- AEff,
919
- EEff,
920
- REff
921
- >,
922
- ...args: NoInfer<Args>
923
- ) => B,
924
- b: (_: B, ...args: NoInfer<Args>) => C,
925
- c: (_: C, ...args: NoInfer<Args>) => D,
926
- d: (_: D, ...args: NoInfer<Args>) => E,
927
- e: (_: E, ...args: NoInfer<Args>) => F,
928
- f: (_: F, ...args: NoInfer<Args>) => G,
929
- g: (_: G, ...args: NoInfer<Args>) => H,
930
- h: (_: H, ...args: NoInfer<Args>) => Eff
931
- ): CommandOutHelper<Args, Eff, Id, I18nKey>
932
- <
933
- Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>,
934
- B,
935
- C,
936
- D,
937
- E,
938
- F,
939
- G,
940
- H,
941
- I,
942
- Args extends Array<unknown>
943
- >(
944
- a: (
945
- _: Effect.Effect<
946
- AEff,
947
- EEff,
948
- REff
949
- >,
950
- ...args: NoInfer<Args>
951
- ) => B,
952
- b: (_: B, ...args: NoInfer<Args>) => C,
953
- c: (_: C, ...args: NoInfer<Args>) => D,
954
- d: (_: D, ...args: NoInfer<Args>) => E,
955
- e: (_: E, ...args: NoInfer<Args>) => F,
956
- f: (_: F, ...args: NoInfer<Args>) => G,
957
- g: (_: G, ...args: NoInfer<Args>) => H,
958
- h: (_: H, ...args: NoInfer<Args>) => I,
959
- i: (_: H, ...args: NoInfer<Args>) => Eff
960
- ): CommandOutHelper<Args, Eff, Id, I18nKey>
961
- }
807
+ export type NonGenWrap<
808
+ RT,
809
+ Id extends string,
810
+ I18nKey extends string,
811
+ Args extends Array<unknown>,
812
+ AEff,
813
+ EEff,
814
+ REff,
815
+ State extends IntlRecord | undefined
816
+ > = {
817
+ (): Exclude<REff, RT> extends never ? CommandOutHelper<Args, Effect.Effect<AEff, EEff, REff>, Id, I18nKey, State>
818
+ : MissingDependencies<RT, REff> & {}
819
+ <
820
+ Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>,
821
+ Args extends Array<unknown>
822
+ >(
823
+ a: (
824
+ _: Effect.Effect<
825
+ AEff,
826
+ EEff,
827
+ REff
828
+ >,
829
+ ...args: NoInfer<Args>
830
+ ) => Eff
831
+ ): CommandOutHelper<Args, Eff, Id, I18nKey, State>
832
+ <
833
+ Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>,
834
+ B,
835
+ Args extends Array<unknown>
836
+ >(
837
+ a: (
838
+ _: Effect.Effect<
839
+ AEff,
840
+ EEff,
841
+ REff
842
+ >,
843
+ ...args: NoInfer<Args>
844
+ ) => B,
845
+ b: (_: B, ...args: NoInfer<Args>) => Eff
846
+ ): CommandOutHelper<Args, Eff, Id, I18nKey, State>
847
+ <
848
+ Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>,
849
+ B,
850
+ C,
851
+ Args extends Array<unknown>
852
+ >(
853
+ a: (
854
+ _: Effect.Effect<
855
+ AEff,
856
+ EEff,
857
+ REff
858
+ >,
859
+ ...args: NoInfer<Args>
860
+ ) => B,
861
+ b: (_: B, ...args: NoInfer<Args>) => C,
862
+ c: (_: C, ...args: NoInfer<Args>) => Eff
863
+ ): CommandOutHelper<Args, Eff, Id, I18nKey, State>
864
+ <
865
+ Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>,
866
+ B,
867
+ C,
868
+ D,
869
+ Args extends Array<unknown>
870
+ >(
871
+ a: (
872
+ _: Effect.Effect<
873
+ AEff,
874
+ EEff,
875
+ REff
876
+ >,
877
+ ...args: NoInfer<Args>
878
+ ) => B,
879
+ b: (_: B, ...args: NoInfer<Args>) => C,
880
+ c: (_: C, ...args: NoInfer<Args>) => D,
881
+ d: (_: D, ...args: NoInfer<Args>) => Eff
882
+ ): CommandOutHelper<Args, Eff, Id, I18nKey, State>
883
+ <
884
+ Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>,
885
+ B,
886
+ C,
887
+ D,
888
+ E,
889
+ Args extends Array<unknown>
890
+ >(
891
+ a: (
892
+ _: Effect.Effect<
893
+ AEff,
894
+ EEff,
895
+ REff
896
+ >,
897
+ ...args: NoInfer<Args>
898
+ ) => B,
899
+ b: (_: B, ...args: NoInfer<Args>) => C,
900
+ c: (_: C, ...args: NoInfer<Args>) => D,
901
+ d: (_: D, ...args: NoInfer<Args>) => E,
902
+ e: (_: E, ...args: NoInfer<Args>) => Eff
903
+ ): CommandOutHelper<Args, Eff, Id, I18nKey, State>
904
+ <
905
+ Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>,
906
+ B,
907
+ C,
908
+ D,
909
+ E,
910
+ F,
911
+ Args extends Array<unknown>
912
+ >(
913
+ a: (
914
+ _: Effect.Effect<
915
+ AEff,
916
+ EEff,
917
+ REff
918
+ >,
919
+ ...args: NoInfer<Args>
920
+ ) => B,
921
+ b: (_: B, ...args: NoInfer<Args>) => C,
922
+ c: (_: C, ...args: NoInfer<Args>) => D,
923
+ d: (_: D, ...args: NoInfer<Args>) => E,
924
+ e: (_: E, ...args: NoInfer<Args>) => F,
925
+ f: (_: F, ...args: NoInfer<Args>) => Eff
926
+ ): CommandOutHelper<Args, Eff, Id, I18nKey, State>
927
+ <
928
+ Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>,
929
+ B,
930
+ C,
931
+ D,
932
+ E,
933
+ F,
934
+ G,
935
+ Args extends Array<unknown>
936
+ >(
937
+ a: (
938
+ _: Effect.Effect<
939
+ AEff,
940
+ EEff,
941
+ REff
942
+ >,
943
+ ...args: NoInfer<Args>
944
+ ) => B,
945
+ b: (_: B, ...args: NoInfer<Args>) => C,
946
+ c: (_: C, ...args: NoInfer<Args>) => D,
947
+ d: (_: D, ...args: NoInfer<Args>) => E,
948
+ e: (_: E, ...args: NoInfer<Args>) => F,
949
+ f: (_: F, ...args: NoInfer<Args>) => G,
950
+ g: (_: G, ...args: NoInfer<Args>) => Eff
951
+ ): CommandOutHelper<Args, Eff, Id, I18nKey, State>
952
+ <
953
+ Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>,
954
+ B,
955
+ C,
956
+ D,
957
+ E,
958
+ F,
959
+ G,
960
+ H,
961
+ Args extends Array<unknown>
962
+ >(
963
+ a: (
964
+ _: Effect.Effect<
965
+ AEff,
966
+ EEff,
967
+ REff
968
+ >,
969
+ ...args: NoInfer<Args>
970
+ ) => B,
971
+ b: (_: B, ...args: NoInfer<Args>) => C,
972
+ c: (_: C, ...args: NoInfer<Args>) => D,
973
+ d: (_: D, ...args: NoInfer<Args>) => E,
974
+ e: (_: E, ...args: NoInfer<Args>) => F,
975
+ f: (_: F, ...args: NoInfer<Args>) => G,
976
+ g: (_: G, ...args: NoInfer<Args>) => H,
977
+ h: (_: H, ...args: NoInfer<Args>) => Eff
978
+ ): CommandOutHelper<Args, Eff, Id, I18nKey, State>
979
+ <
980
+ Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>,
981
+ B,
982
+ C,
983
+ D,
984
+ E,
985
+ F,
986
+ G,
987
+ H,
988
+ I,
989
+ Args extends Array<unknown>
990
+ >(
991
+ a: (
992
+ _: Effect.Effect<
993
+ AEff,
994
+ EEff,
995
+ REff
996
+ >,
997
+ ...args: NoInfer<Args>
998
+ ) => B,
999
+ b: (_: B, ...args: NoInfer<Args>) => C,
1000
+ c: (_: C, ...args: NoInfer<Args>) => D,
1001
+ d: (_: D, ...args: NoInfer<Args>) => E,
1002
+ e: (_: E, ...args: NoInfer<Args>) => F,
1003
+ f: (_: F, ...args: NoInfer<Args>) => G,
1004
+ g: (_: G, ...args: NoInfer<Args>) => H,
1005
+ h: (_: H, ...args: NoInfer<Args>) => I,
1006
+ i: (_: H, ...args: NoInfer<Args>) => Eff
1007
+ ): CommandOutHelper<Args, Eff, Id, I18nKey, State>
1008
+ }
962
1009
  }
963
1010
 
964
1011
  type ErrorRenderer<E, Args extends readonly any[]> = (e: E, action: string, ...args: Args) => string | undefined
@@ -1375,6 +1422,8 @@ export class CommanderImpl<RT> {
1375
1422
  action,
1376
1423
  /** reactive */
1377
1424
  label,
1425
+ /** reactive */
1426
+ state,
1378
1427
 
1379
1428
  handle
1380
1429
  })
@@ -1468,7 +1517,7 @@ export class CommanderImpl<RT> {
1468
1517
  >(
1469
1518
  id: Id | { id: Id },
1470
1519
  options?: FnOptions<I18nKey, State>
1471
- ): Commander.Gen<RT, Id, I18nKey> & Commander.NonGen<RT, Id, I18nKey> & {
1520
+ ): Commander.Gen<RT, Id, I18nKey, State> & Commander.NonGen<RT, Id, I18nKey, State> & {
1472
1521
  state: Context.Tag<`Commander.Command.${Id}.state`, State>
1473
1522
  } =>
1474
1523
  Object.assign(
@@ -1507,13 +1556,14 @@ export class CommanderImpl<RT> {
1507
1556
  MutA,
1508
1557
  MutE,
1509
1558
  MutR,
1510
- const I18nKey extends string = Id
1559
+ const I18nKey extends string = Id,
1560
+ State extends IntlRecord | undefined = undefined
1511
1561
  >(
1512
1562
  id:
1513
1563
  | Id
1514
1564
  | { id: Id; mutate: (...args: MutArgs) => Effect.Effect<MutA, MutE, MutR> }
1515
1565
  | ((...args: MutArgs) => Effect.Effect<MutA, MutE, MutR>) & { id: Id },
1516
- options?: FnOptions<I18nKey, IntlRecord>
1566
+ options?: FnOptions<I18nKey, State>
1517
1567
  ) =>
1518
1568
  & Commander.CommandContextLocal<Id, I18nKey>
1519
1569
  & (<Args extends Array<unknown>, A, E, R extends RT | CommandContext | `Commander.Command.${Id}.state`>(
@@ -1523,7 +1573,7 @@ export class CommanderImpl<RT> {
1523
1573
  mutate: (...args: MutArgs) => Effect.Effect<MutA, MutE, MutR>
1524
1574
  }
1525
1575
  ) => (...args: Args) => Effect.Effect<A, E, R>
1526
- ) => Commander.CommandOut<Args, A, E, R, Id, I18nKey>) = (
1576
+ ) => Commander.CommandOut<Args, A, E, R, Id, I18nKey, State>) = (
1527
1577
  _id,
1528
1578
  options?
1529
1579
  ) => {
@@ -1552,14 +1602,18 @@ export class CommanderImpl<RT> {
1552
1602
  }
1553
1603
 
1554
1604
  /** @experimental */
1555
- alt = this.makeCommand as unknown as <const Id extends string, const I18nKey extends string = Id>(
1605
+ alt = this.makeCommand as unknown as <
1606
+ const Id extends string,
1607
+ const I18nKey extends string = Id,
1608
+ State extends IntlRecord | undefined = undefined
1609
+ >(
1556
1610
  id: Id,
1557
1611
  customI18nKey?: I18nKey
1558
1612
  ) =>
1559
1613
  & Commander.CommandContextLocal<Id, I18nKey>
1560
1614
  & (<Args extends Array<unknown>, A, E, R extends RT | CommandContext | `Commander.Command.${Id}.state`>(
1561
1615
  handler: (...args: Args) => Effect.Effect<A, E, R>
1562
- ) => Commander.CommandOut<Args, A, E, R, Id, I18nKey>)
1616
+ ) => Commander.CommandOut<Args, A, E, R, Id, I18nKey, State>)
1563
1617
 
1564
1618
  /**
1565
1619
  * Define a Command for handling user actions with built-in error reporting and state management.