Skip to content

Commit 40110c4

Browse files
author
s.v.zaytsev
committed
feat(signals): add support all providedIn types from Injectable (#4963)
1 parent 68b78ef commit 40110c4

File tree

1 file changed

+22
-16
lines changed

1 file changed

+22
-16
lines changed

modules/signals/src/signal-store.ts

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,13 @@ import {
99
} from './signal-store-models';
1010
import { OmitPrivate, Prettify } from './ts-helpers';
1111

12-
type SignalStoreConfig = { providedIn?: 'root'; protectedState?: boolean };
12+
type ProvidedIn = {
13+
providedIn?: 'root' | 'platform';
14+
};
15+
16+
type SignalStoreConfig = ProvidedIn & {
17+
protectedState?: boolean;
18+
};
1319

1420
type SignalStoreMembers<FeatureResult extends SignalStoreFeatureResult> =
1521
Prettify<
@@ -440,7 +446,7 @@ export function signalStore<
440446
): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;
441447

442448
export function signalStore<F1 extends SignalStoreFeatureResult>(
443-
config: { providedIn?: 'root'; protectedState?: true },
449+
config: ProvidedIn & { protectedState?: true },
444450
f1: SignalStoreFeature<EmptyFeatureResult, F1>
445451
): Type<
446452
SignalStoreMembers<F1> & StateSource<Prettify<OmitPrivate<F1['state']>>>
@@ -450,7 +456,7 @@ export function signalStore<
450456
F2 extends SignalStoreFeatureResult,
451457
R extends SignalStoreFeatureResult = F1 & F2,
452458
>(
453-
config: { providedIn?: 'root'; protectedState?: true },
459+
config: ProvidedIn & { protectedState?: true },
454460
f1: SignalStoreFeature<EmptyFeatureResult, F1>,
455461
f2: SignalStoreFeature<{} & F1, F2>
456462
): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;
@@ -460,7 +466,7 @@ export function signalStore<
460466
F3 extends SignalStoreFeatureResult,
461467
R extends SignalStoreFeatureResult = F1 & F2 & F3,
462468
>(
463-
config: { providedIn?: 'root'; protectedState?: true },
469+
config: ProvidedIn & { protectedState?: true },
464470
f1: SignalStoreFeature<EmptyFeatureResult, F1>,
465471
f2: SignalStoreFeature<{} & F1, F2>,
466472
f3: SignalStoreFeature<F1 & F2, F3>
@@ -472,7 +478,7 @@ export function signalStore<
472478
F4 extends SignalStoreFeatureResult,
473479
R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4,
474480
>(
475-
config: { providedIn?: 'root'; protectedState?: true },
481+
config: ProvidedIn & { protectedState?: true },
476482
f1: SignalStoreFeature<EmptyFeatureResult, F1>,
477483
f2: SignalStoreFeature<{} & F1, F2>,
478484
f3: SignalStoreFeature<F1 & F2, F3>,
@@ -486,7 +492,7 @@ export function signalStore<
486492
F5 extends SignalStoreFeatureResult,
487493
R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5,
488494
>(
489-
config: { providedIn?: 'root'; protectedState?: true },
495+
config: ProvidedIn & { protectedState?: true },
490496
f1: SignalStoreFeature<EmptyFeatureResult, F1>,
491497
f2: SignalStoreFeature<{} & F1, F2>,
492498
f3: SignalStoreFeature<F1 & F2, F3>,
@@ -502,7 +508,7 @@ export function signalStore<
502508
F6 extends SignalStoreFeatureResult,
503509
R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6,
504510
>(
505-
config: { providedIn?: 'root'; protectedState?: true },
511+
config: ProvidedIn & { protectedState?: true },
506512
f1: SignalStoreFeature<EmptyFeatureResult, F1>,
507513
f2: SignalStoreFeature<{} & F1, F2>,
508514
f3: SignalStoreFeature<F1 & F2, F3>,
@@ -520,7 +526,7 @@ export function signalStore<
520526
F7 extends SignalStoreFeatureResult,
521527
R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6 & F7,
522528
>(
523-
config: { providedIn?: 'root'; protectedState?: true },
529+
config: ProvidedIn & { protectedState?: true },
524530
f1: SignalStoreFeature<EmptyFeatureResult, F1>,
525531
f2: SignalStoreFeature<{} & F1, F2>,
526532
f3: SignalStoreFeature<F1 & F2, F3>,
@@ -540,7 +546,7 @@ export function signalStore<
540546
F8 extends SignalStoreFeatureResult,
541547
R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8,
542548
>(
543-
config: { providedIn?: 'root'; protectedState?: true },
549+
config: ProvidedIn & { protectedState?: true },
544550
f1: SignalStoreFeature<EmptyFeatureResult, F1>,
545551
f2: SignalStoreFeature<{} & F1, F2>,
546552
f3: SignalStoreFeature<F1 & F2, F3>,
@@ -570,7 +576,7 @@ export function signalStore<
570576
F8 &
571577
F9,
572578
>(
573-
config: { providedIn?: 'root'; protectedState?: true },
579+
config: ProvidedIn & { protectedState?: true },
574580
f1: SignalStoreFeature<EmptyFeatureResult, F1>,
575581
f2: SignalStoreFeature<{} & F1, F2>,
576582
f3: SignalStoreFeature<F1 & F2, F3>,
@@ -603,7 +609,7 @@ export function signalStore<
603609
F9 &
604610
F10,
605611
>(
606-
config: { providedIn?: 'root'; protectedState?: true },
612+
config: ProvidedIn & { protectedState?: true },
607613
f1: SignalStoreFeature<EmptyFeatureResult, F1>,
608614
f2: SignalStoreFeature<{} & F1, F2>,
609615
f3: SignalStoreFeature<F1 & F2, F3>,
@@ -639,7 +645,7 @@ export function signalStore<
639645
F10 &
640646
F11,
641647
>(
642-
config: { providedIn?: 'root'; protectedState?: true },
648+
config: ProvidedIn & { protectedState?: true },
643649
f1: SignalStoreFeature<EmptyFeatureResult, F1>,
644650
f2: SignalStoreFeature<{} & F1, F2>,
645651
f3: SignalStoreFeature<F1 & F2, F3>,
@@ -678,7 +684,7 @@ export function signalStore<
678684
F11 &
679685
F12,
680686
>(
681-
config: { providedIn?: 'root'; protectedState?: true },
687+
config: ProvidedIn & { protectedState?: true },
682688
f1: SignalStoreFeature<EmptyFeatureResult, F1>,
683689
f2: SignalStoreFeature<{} & F1, F2>,
684690
f3: SignalStoreFeature<F1 & F2, F3>,
@@ -726,7 +732,7 @@ export function signalStore<
726732
F12 &
727733
F13,
728734
>(
729-
config: { providedIn?: 'root'; protectedState?: true },
735+
config: ProvidedIn & { protectedState?: true },
730736
f1: SignalStoreFeature<EmptyFeatureResult, F1>,
731737
f2: SignalStoreFeature<{} & F1, F2>,
732738
f3: SignalStoreFeature<F1 & F2, F3>,
@@ -780,7 +786,7 @@ export function signalStore<
780786
F13 &
781787
F14,
782788
>(
783-
config: { providedIn?: 'root'; protectedState?: true },
789+
config: ProvidedIn & { protectedState?: true },
784790
f1: SignalStoreFeature<EmptyFeatureResult, F1>,
785791
f2: SignalStoreFeature<{} & F1, F2>,
786792
f3: SignalStoreFeature<F1 & F2, F3>,
@@ -840,7 +846,7 @@ export function signalStore<
840846
F14 &
841847
F15,
842848
>(
843-
config: { providedIn?: 'root'; protectedState?: true },
849+
config: ProvidedIn & { protectedState?: true },
844850
f1: SignalStoreFeature<EmptyFeatureResult, F1>,
845851
f2: SignalStoreFeature<{} & F1, F2>,
846852
f3: SignalStoreFeature<F1 & F2, F3>,

0 commit comments

Comments
 (0)