Function: withConditional()
withConditional<
Input
,Output
>(condition
,featureIfTrue
,featureIfFalse
):SignalStoreFeature
<Input
,Output
>
Defined in: libs/ngrx-toolkit/src/lib/with-conditional.ts:52
withConditional
activates a feature based on a given condition.
Use Cases
- Conditionally activate features based on the store state or other criteria.
- Choose between two different implementations of a feature.
Type Constraints Both features must have exactly the same state, props, and methods. Otherwise, a type error will occur.
Usage
const withUser = signalStoreFeature(
withState({ id: 1, name: 'Konrad' }),
withHooks(store => ({
onInit() {
// user loading logic
}
}))
);
function withFakeUser() {
return signalStoreFeature(
withState({ id: 0, name: 'anonymous' })
);
}
signalStore(
withMethods(() => ({
useRealUser: () => true
})),
withConditional((store) => store.useRealUser(), withUser, withFakeUser)
)
Type Parameters
• Input extends SignalStoreFeatureResult
• Output extends SignalStoreFeatureResult
Parameters
condition
(store
) => boolean
A function that determines which feature to activate based on the store state.
featureIfTrue
SignalStoreFeature
<NoInfer
<Input
>, Output
>
The feature to activate if the condition evaluates to true
.
featureIfFalse
SignalStoreFeature
<NoInfer
<Input
>, NoInfer
<Output
>>
The feature to activate if the condition evaluates to false
.
Returns
SignalStoreFeature
<Input
, Output
>
A SignalStoreFeature
that applies the selected feature based on the condition.