ngrx-store-freeze

WebJar for ngrx-store-freeze

License

License

MIT
GroupId

GroupId

org.webjars.npm
ArtifactId

ArtifactId

ngrx-store-freeze
Last Version

Last Version

0.1.9
Release Date

Release Date

Type

Type

jar
Description

Description

ngrx-store-freeze
WebJar for ngrx-store-freeze
Project URL

Project URL

http://webjars.org
Source Code Management

Source Code Management

https://github.com/codewareio/ngrx-store-freeze

Download ngrx-store-freeze

How to add to project

<!-- https://jarcasting.com/artifacts/org.webjars.npm/ngrx-store-freeze/ -->
<dependency>
    <groupId>org.webjars.npm</groupId>
    <artifactId>ngrx-store-freeze</artifactId>
    <version>0.1.9</version>
</dependency>
// https://jarcasting.com/artifacts/org.webjars.npm/ngrx-store-freeze/
implementation 'org.webjars.npm:ngrx-store-freeze:0.1.9'
// https://jarcasting.com/artifacts/org.webjars.npm/ngrx-store-freeze/
implementation ("org.webjars.npm:ngrx-store-freeze:0.1.9")
'org.webjars.npm:ngrx-store-freeze:jar:0.1.9'
<dependency org="org.webjars.npm" name="ngrx-store-freeze" rev="0.1.9">
  <artifact name="ngrx-store-freeze" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.webjars.npm', module='ngrx-store-freeze', version='0.1.9')
)
libraryDependencies += "org.webjars.npm" % "ngrx-store-freeze" % "0.1.9"
[org.webjars.npm/ngrx-store-freeze "0.1.9"]

Dependencies

compile (1)

Group / Artifact Type Version
org.webjars.npm : deep-freeze-strict jar [1.1.1,2)

Project Modules

There are no modules declared in this project.

ngrx-store-freeze

npm version CircleCI

ngrx-store-freeze is a meta-reducer that prevents state from being mutated

  • Recursively freezes the current state, the dispatched action payload if provided and the new state.
  • When mutation occurs, an exception will be thrown.
  • Should be used only in development to ensure that the state remains immutable.

Installation

npm i --save-dev ngrx-store-freeze

OR

yarn add ngrx-store-freeze --dev

Setup

import { StoreModule, MetaReducer, ActionReducerMap } from '@ngrx/store';
import { storeFreeze } from 'ngrx-store-freeze';
import { environment } from '../environments/environment'; // Angular CLI environment

export interface State {
  // reducer interfaces
}

export const reducers: ActionReducerMap<State> = {
  // reducers
}

export const metaReducers: MetaReducer<State>[] = !environment.production ? [storeFreeze]: [];

@NgModule({
  imports: [
    StoreModule.forRoot(reducers, { metaReducers }),
  ]
})
export class AppModule {}

Additional Documentation

Credits

redux-freeze - Redux middleware that prevents state from being mutated
Attila Egyed - The original maintainer of this project

org.webjars.npm

Codeware.io

Web and mobile application development

Versions

Version
0.1.9