UNPKG

ngrx-immer

Version:

Immer wrappers around NgRx methods createReducer, on, and ComponentStore

1 lines 994 B
{"version":3,"file":"ngrx-immer-shared.mjs","sources":["../../src/shared/index.ts","../../src/shared/ngrx-immer-shared.ts"],"sourcesContent":["import { produce } from 'immer';\n\n/**\n * Helper method that wraps a reducer with the Immer `produce` method\n * Kudos to Alex Okrushko {@link https://lookout.dev/rules/simple-immer-base-function-to-be-used-in-ngrx-store-or-componentstore-for-transforming-data-%22mutably%22}\n */\nexport function immerReducer<State, Next>(\n\tcallback: (state: State, next: Next) => State | void,\n) {\n\treturn (state: State | undefined, next: Next) => {\n\t\treturn produce(state, (draft: State) => callback(draft, next)) as State;\n\t};\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAEA;;;AAGG;AACG,SAAU,YAAY,CAC3B,QAAoD,EAAA;AAEpD,IAAA,OAAO,CAAC,KAAwB,EAAE,IAAU,KAAI;AAC/C,QAAA,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC,KAAY,KAAK,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAU;AACxE,IAAA,CAAC;AACF;;ACZA;;AAEG;;;;"}