NGRX Traits is a library to help you compose and reuse state logic in your angular app. There is two versions, @ngrx-traits/signals supports ngrx-signals, and @ngrx-traits/{core, common} supports ngrx.
MIT License
44
stars
3
forks
source link
Allow withCall onSuccess to receive method params #71
Implement changes to allow the onSuccess and onError handlers of the withCalls to receive the params used in the call
const Store = signalStore(
withState({ foo: 'bar' }),
withState({ ok: false }),
withCalls((store) => ({
testCall: typedCallConfig({
call: ({ ok }: { ok: boolean }) => {
return ok
? apiResponse
: apiResponse.pipe(
tap(() => throwError(() => new Error('fail'))),
);
},
resultProp: 'baz',
onSuccess: (result, { ok }) => { // second param is the params of the call
// patchState should be able to update the store inside onSuccess
patchState(store, { foo: result, ok });
},
onError,
}),
})),
);
Implement changes to allow the onSuccess and onError handlers of the withCalls to receive the params used in the call