From 40110c4a8c649678613a21d4e6762541d664f0af Mon Sep 17 00:00:00 2001 From: "s.v.zaytsev" Date: Wed, 24 Sep 2025 12:48:40 +0500 Subject: [PATCH 1/2] feat(signals): add support all providedIn types from `Injectable` (#4963) --- modules/signals/src/signal-store.ts | 38 +++++++++++++++++------------ 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/modules/signals/src/signal-store.ts b/modules/signals/src/signal-store.ts index 720cd79df9..d274354414 100644 --- a/modules/signals/src/signal-store.ts +++ b/modules/signals/src/signal-store.ts @@ -9,7 +9,13 @@ import { } from './signal-store-models'; import { OmitPrivate, Prettify } from './ts-helpers'; -type SignalStoreConfig = { providedIn?: 'root'; protectedState?: boolean }; +type ProvidedIn = { + providedIn?: 'root' | 'platform'; +}; + +type SignalStoreConfig = ProvidedIn & { + protectedState?: boolean; +}; type SignalStoreMembers = Prettify< @@ -440,7 +446,7 @@ export function signalStore< ): Type & StateSource>>>; export function signalStore( - config: { providedIn?: 'root'; protectedState?: true }, + config: ProvidedIn & { protectedState?: true }, f1: SignalStoreFeature ): Type< SignalStoreMembers & StateSource>> @@ -450,7 +456,7 @@ export function signalStore< F2 extends SignalStoreFeatureResult, R extends SignalStoreFeatureResult = F1 & F2, >( - config: { providedIn?: 'root'; protectedState?: true }, + config: ProvidedIn & { protectedState?: true }, f1: SignalStoreFeature, f2: SignalStoreFeature<{} & F1, F2> ): Type & StateSource>>>; @@ -460,7 +466,7 @@ export function signalStore< F3 extends SignalStoreFeatureResult, R extends SignalStoreFeatureResult = F1 & F2 & F3, >( - config: { providedIn?: 'root'; protectedState?: true }, + config: ProvidedIn & { protectedState?: true }, f1: SignalStoreFeature, f2: SignalStoreFeature<{} & F1, F2>, f3: SignalStoreFeature @@ -472,7 +478,7 @@ export function signalStore< F4 extends SignalStoreFeatureResult, R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4, >( - config: { providedIn?: 'root'; protectedState?: true }, + config: ProvidedIn & { protectedState?: true }, f1: SignalStoreFeature, f2: SignalStoreFeature<{} & F1, F2>, f3: SignalStoreFeature, @@ -486,7 +492,7 @@ export function signalStore< F5 extends SignalStoreFeatureResult, R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5, >( - config: { providedIn?: 'root'; protectedState?: true }, + config: ProvidedIn & { protectedState?: true }, f1: SignalStoreFeature, f2: SignalStoreFeature<{} & F1, F2>, f3: SignalStoreFeature, @@ -502,7 +508,7 @@ export function signalStore< F6 extends SignalStoreFeatureResult, R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6, >( - config: { providedIn?: 'root'; protectedState?: true }, + config: ProvidedIn & { protectedState?: true }, f1: SignalStoreFeature, f2: SignalStoreFeature<{} & F1, F2>, f3: SignalStoreFeature, @@ -520,7 +526,7 @@ export function signalStore< F7 extends SignalStoreFeatureResult, R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6 & F7, >( - config: { providedIn?: 'root'; protectedState?: true }, + config: ProvidedIn & { protectedState?: true }, f1: SignalStoreFeature, f2: SignalStoreFeature<{} & F1, F2>, f3: SignalStoreFeature, @@ -540,7 +546,7 @@ export function signalStore< F8 extends SignalStoreFeatureResult, R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, >( - config: { providedIn?: 'root'; protectedState?: true }, + config: ProvidedIn & { protectedState?: true }, f1: SignalStoreFeature, f2: SignalStoreFeature<{} & F1, F2>, f3: SignalStoreFeature, @@ -570,7 +576,7 @@ export function signalStore< F8 & F9, >( - config: { providedIn?: 'root'; protectedState?: true }, + config: ProvidedIn & { protectedState?: true }, f1: SignalStoreFeature, f2: SignalStoreFeature<{} & F1, F2>, f3: SignalStoreFeature, @@ -603,7 +609,7 @@ export function signalStore< F9 & F10, >( - config: { providedIn?: 'root'; protectedState?: true }, + config: ProvidedIn & { protectedState?: true }, f1: SignalStoreFeature, f2: SignalStoreFeature<{} & F1, F2>, f3: SignalStoreFeature, @@ -639,7 +645,7 @@ export function signalStore< F10 & F11, >( - config: { providedIn?: 'root'; protectedState?: true }, + config: ProvidedIn & { protectedState?: true }, f1: SignalStoreFeature, f2: SignalStoreFeature<{} & F1, F2>, f3: SignalStoreFeature, @@ -678,7 +684,7 @@ export function signalStore< F11 & F12, >( - config: { providedIn?: 'root'; protectedState?: true }, + config: ProvidedIn & { protectedState?: true }, f1: SignalStoreFeature, f2: SignalStoreFeature<{} & F1, F2>, f3: SignalStoreFeature, @@ -726,7 +732,7 @@ export function signalStore< F12 & F13, >( - config: { providedIn?: 'root'; protectedState?: true }, + config: ProvidedIn & { protectedState?: true }, f1: SignalStoreFeature, f2: SignalStoreFeature<{} & F1, F2>, f3: SignalStoreFeature, @@ -780,7 +786,7 @@ export function signalStore< F13 & F14, >( - config: { providedIn?: 'root'; protectedState?: true }, + config: ProvidedIn & { protectedState?: true }, f1: SignalStoreFeature, f2: SignalStoreFeature<{} & F1, F2>, f3: SignalStoreFeature, @@ -840,7 +846,7 @@ export function signalStore< F14 & F15, >( - config: { providedIn?: 'root'; protectedState?: true }, + config: ProvidedIn & { protectedState?: true }, f1: SignalStoreFeature, f2: SignalStoreFeature<{} & F1, F2>, f3: SignalStoreFeature, From d6b9f5c417b56e2acd7c06e7d3fbbb41888c78ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marko=20Stanimirovi=C4=87?= Date: Sun, 12 Oct 2025 16:42:39 +0200 Subject: [PATCH 2/2] fix(signals): add ProvidedInConfig to missing signalStore signatures --- modules/signals/src/signal-store.ts | 68 ++++++++++++++--------------- 1 file changed, 32 insertions(+), 36 deletions(-) diff --git a/modules/signals/src/signal-store.ts b/modules/signals/src/signal-store.ts index d274354414..22e52c536d 100644 --- a/modules/signals/src/signal-store.ts +++ b/modules/signals/src/signal-store.ts @@ -9,13 +9,9 @@ import { } from './signal-store-models'; import { OmitPrivate, Prettify } from './ts-helpers'; -type ProvidedIn = { - providedIn?: 'root' | 'platform'; -}; +type ProvidedInConfig = { providedIn?: 'root' | 'platform' }; -type SignalStoreConfig = ProvidedIn & { - protectedState?: boolean; -}; +type SignalStoreConfig = ProvidedInConfig & { protectedState?: boolean }; type SignalStoreMembers = Prettify< @@ -446,7 +442,7 @@ export function signalStore< ): Type & StateSource>>>; export function signalStore( - config: ProvidedIn & { protectedState?: true }, + config: ProvidedInConfig & { protectedState?: true }, f1: SignalStoreFeature ): Type< SignalStoreMembers & StateSource>> @@ -456,7 +452,7 @@ export function signalStore< F2 extends SignalStoreFeatureResult, R extends SignalStoreFeatureResult = F1 & F2, >( - config: ProvidedIn & { protectedState?: true }, + config: ProvidedInConfig & { protectedState?: true }, f1: SignalStoreFeature, f2: SignalStoreFeature<{} & F1, F2> ): Type & StateSource>>>; @@ -466,7 +462,7 @@ export function signalStore< F3 extends SignalStoreFeatureResult, R extends SignalStoreFeatureResult = F1 & F2 & F3, >( - config: ProvidedIn & { protectedState?: true }, + config: ProvidedInConfig & { protectedState?: true }, f1: SignalStoreFeature, f2: SignalStoreFeature<{} & F1, F2>, f3: SignalStoreFeature @@ -478,7 +474,7 @@ export function signalStore< F4 extends SignalStoreFeatureResult, R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4, >( - config: ProvidedIn & { protectedState?: true }, + config: ProvidedInConfig & { protectedState?: true }, f1: SignalStoreFeature, f2: SignalStoreFeature<{} & F1, F2>, f3: SignalStoreFeature, @@ -492,7 +488,7 @@ export function signalStore< F5 extends SignalStoreFeatureResult, R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5, >( - config: ProvidedIn & { protectedState?: true }, + config: ProvidedInConfig & { protectedState?: true }, f1: SignalStoreFeature, f2: SignalStoreFeature<{} & F1, F2>, f3: SignalStoreFeature, @@ -508,7 +504,7 @@ export function signalStore< F6 extends SignalStoreFeatureResult, R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6, >( - config: ProvidedIn & { protectedState?: true }, + config: ProvidedInConfig & { protectedState?: true }, f1: SignalStoreFeature, f2: SignalStoreFeature<{} & F1, F2>, f3: SignalStoreFeature, @@ -526,7 +522,7 @@ export function signalStore< F7 extends SignalStoreFeatureResult, R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6 & F7, >( - config: ProvidedIn & { protectedState?: true }, + config: ProvidedInConfig & { protectedState?: true }, f1: SignalStoreFeature, f2: SignalStoreFeature<{} & F1, F2>, f3: SignalStoreFeature, @@ -546,7 +542,7 @@ export function signalStore< F8 extends SignalStoreFeatureResult, R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, >( - config: ProvidedIn & { protectedState?: true }, + config: ProvidedInConfig & { protectedState?: true }, f1: SignalStoreFeature, f2: SignalStoreFeature<{} & F1, F2>, f3: SignalStoreFeature, @@ -576,7 +572,7 @@ export function signalStore< F8 & F9, >( - config: ProvidedIn & { protectedState?: true }, + config: ProvidedInConfig & { protectedState?: true }, f1: SignalStoreFeature, f2: SignalStoreFeature<{} & F1, F2>, f3: SignalStoreFeature, @@ -609,7 +605,7 @@ export function signalStore< F9 & F10, >( - config: ProvidedIn & { protectedState?: true }, + config: ProvidedInConfig & { protectedState?: true }, f1: SignalStoreFeature, f2: SignalStoreFeature<{} & F1, F2>, f3: SignalStoreFeature, @@ -645,7 +641,7 @@ export function signalStore< F10 & F11, >( - config: ProvidedIn & { protectedState?: true }, + config: ProvidedInConfig & { protectedState?: true }, f1: SignalStoreFeature, f2: SignalStoreFeature<{} & F1, F2>, f3: SignalStoreFeature, @@ -684,7 +680,7 @@ export function signalStore< F11 & F12, >( - config: ProvidedIn & { protectedState?: true }, + config: ProvidedInConfig & { protectedState?: true }, f1: SignalStoreFeature, f2: SignalStoreFeature<{} & F1, F2>, f3: SignalStoreFeature, @@ -732,7 +728,7 @@ export function signalStore< F12 & F13, >( - config: ProvidedIn & { protectedState?: true }, + config: ProvidedInConfig & { protectedState?: true }, f1: SignalStoreFeature, f2: SignalStoreFeature<{} & F1, F2>, f3: SignalStoreFeature, @@ -786,7 +782,7 @@ export function signalStore< F13 & F14, >( - config: ProvidedIn & { protectedState?: true }, + config: ProvidedInConfig & { protectedState?: true }, f1: SignalStoreFeature, f2: SignalStoreFeature<{} & F1, F2>, f3: SignalStoreFeature, @@ -846,7 +842,7 @@ export function signalStore< F14 & F15, >( - config: ProvidedIn & { protectedState?: true }, + config: ProvidedInConfig & { protectedState?: true }, f1: SignalStoreFeature, f2: SignalStoreFeature<{} & F1, F2>, f3: SignalStoreFeature, @@ -880,7 +876,7 @@ export function signalStore< ): Type & StateSource>>>; export function signalStore( - config: { providedIn?: 'root'; protectedState: false }, + config: ProvidedInConfig & { protectedState: false }, f1: SignalStoreFeature ): Type< SignalStoreMembers & @@ -891,7 +887,7 @@ export function signalStore< F2 extends SignalStoreFeatureResult, R extends SignalStoreFeatureResult = F1 & F2, >( - config: { providedIn?: 'root'; protectedState: false }, + config: ProvidedInConfig & { protectedState: false }, f1: SignalStoreFeature, f2: SignalStoreFeature<{} & F1, F2> ): Type< @@ -903,7 +899,7 @@ export function signalStore< F3 extends SignalStoreFeatureResult, R extends SignalStoreFeatureResult = F1 & F2 & F3, >( - config: { providedIn?: 'root'; protectedState: false }, + config: ProvidedInConfig & { protectedState: false }, f1: SignalStoreFeature, f2: SignalStoreFeature<{} & F1, F2>, f3: SignalStoreFeature @@ -917,7 +913,7 @@ export function signalStore< F4 extends SignalStoreFeatureResult, R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4, >( - config: { providedIn?: 'root'; protectedState: false }, + config: ProvidedInConfig & { protectedState: false }, f1: SignalStoreFeature, f2: SignalStoreFeature<{} & F1, F2>, f3: SignalStoreFeature, @@ -933,7 +929,7 @@ export function signalStore< F5 extends SignalStoreFeatureResult, R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5, >( - config: { providedIn?: 'root'; protectedState: false }, + config: ProvidedInConfig & { protectedState: false }, f1: SignalStoreFeature, f2: SignalStoreFeature<{} & F1, F2>, f3: SignalStoreFeature, @@ -951,7 +947,7 @@ export function signalStore< F6 extends SignalStoreFeatureResult, R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6, >( - config: { providedIn?: 'root'; protectedState: false }, + config: ProvidedInConfig & { protectedState: false }, f1: SignalStoreFeature, f2: SignalStoreFeature<{} & F1, F2>, f3: SignalStoreFeature, @@ -971,7 +967,7 @@ export function signalStore< F7 extends SignalStoreFeatureResult, R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6 & F7, >( - config: { providedIn?: 'root'; protectedState: false }, + config: ProvidedInConfig & { protectedState: false }, f1: SignalStoreFeature, f2: SignalStoreFeature<{} & F1, F2>, f3: SignalStoreFeature, @@ -993,7 +989,7 @@ export function signalStore< F8 extends SignalStoreFeatureResult, R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, >( - config: { providedIn?: 'root'; protectedState: false }, + config: ProvidedInConfig & { protectedState: false }, f1: SignalStoreFeature, f2: SignalStoreFeature<{} & F1, F2>, f3: SignalStoreFeature, @@ -1025,7 +1021,7 @@ export function signalStore< F8 & F9, >( - config: { providedIn?: 'root'; protectedState: false }, + config: ProvidedInConfig & { protectedState: false }, f1: SignalStoreFeature, f2: SignalStoreFeature<{} & F1, F2>, f3: SignalStoreFeature, @@ -1060,7 +1056,7 @@ export function signalStore< F9 & F10, >( - config: { providedIn?: 'root'; protectedState: false }, + config: ProvidedInConfig & { protectedState: false }, f1: SignalStoreFeature, f2: SignalStoreFeature<{} & F1, F2>, f3: SignalStoreFeature, @@ -1098,7 +1094,7 @@ export function signalStore< F10 & F11, >( - config: { providedIn?: 'root'; protectedState: false }, + config: ProvidedInConfig & { protectedState: false }, f1: SignalStoreFeature, f2: SignalStoreFeature<{} & F1, F2>, f3: SignalStoreFeature, @@ -1139,7 +1135,7 @@ export function signalStore< F11 & F12, >( - config: { providedIn?: 'root'; protectedState: false }, + config: ProvidedInConfig & { protectedState: false }, f1: SignalStoreFeature, f2: SignalStoreFeature<{} & F1, F2>, f3: SignalStoreFeature, @@ -1189,7 +1185,7 @@ export function signalStore< F12 & F13, >( - config: { providedIn?: 'root'; protectedState: false }, + config: ProvidedInConfig & { protectedState: false }, f1: SignalStoreFeature, f2: SignalStoreFeature<{} & F1, F2>, f3: SignalStoreFeature, @@ -1245,7 +1241,7 @@ export function signalStore< F13 & F14, >( - config: { providedIn?: 'root'; protectedState: false }, + config: ProvidedInConfig & { protectedState: false }, f1: SignalStoreFeature, f2: SignalStoreFeature<{} & F1, F2>, f3: SignalStoreFeature, @@ -1307,7 +1303,7 @@ export function signalStore< F14 & F15, >( - config: { providedIn?: 'root'; protectedState: false }, + config: ProvidedInConfig & { protectedState: false }, f1: SignalStoreFeature, f2: SignalStoreFeature<{} & F1, F2>, f3: SignalStoreFeature,