All Projects → brandonroberts → Ngrx Store Freeze

brandonroberts / Ngrx Store Freeze

Licence: mit
@ngrx/store meta reducer that prevents state from being mutated.

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Ngrx Store Freeze

Taskmgr
a team collaboration tutorial app like teambition/worktile
Stars: ✭ 95 (-52.02%)
Mutual labels:  ngrx
Ngrx Generator
ngrx templates generator
Stars: ✭ 132 (-33.33%)
Mutual labels:  ngrx
Pizza Sync
Pizza-Sync is a web app built on the frontend with angular, ngrx and on the backend with Nest. It let you and your friends/colleagues choose a pizza before placing a group order. Built using https://github.com/maxime1992/angular-ngrx-starter
Stars: ✭ 158 (-20.2%)
Mutual labels:  ngrx
Angular Redux
Angular 4 and Redux simplified + Live Demo
Stars: ✭ 109 (-44.95%)
Mutual labels:  ngrx
Ngrx Styleguide
a collection of best practices / commonly used patterns with ngrx extensions - store, effects, router and others
Stars: ✭ 124 (-37.37%)
Mutual labels:  ngrx
Xsm
State Management made eXtraordinarily simple and effective for Angular, React, and Vue
Stars: ✭ 138 (-30.3%)
Mutual labels:  ngrx
Ngrx Wieder
Lightweight undo-redo for Angular with NgRx & immer.js
Stars: ✭ 75 (-62.12%)
Mutual labels:  ngrx
Angular Ngrx Socket Frontend
Angular Ngrx Socket.IO Example
Stars: ✭ 177 (-10.61%)
Mutual labels:  ngrx
Apollo Universal Starter Kit
Apollo Universal Starter Kit is an SEO-friendly, fully-configured, modular starter application that helps developers to streamline web, server, and mobile development with cutting-edge technologies and ultimate code reuse.
Stars: ✭ 1,645 (+730.81%)
Mutual labels:  ngrx
Ngrx Course
NgRx (with NgRx Data) -The Complete Guide
Stars: ✭ 157 (-20.71%)
Mutual labels:  ngrx
Aspnetcore Angular Universal
ASP.NET Core & Angular Universal advanced starter - PWA w/ server-side rendering for SEO, Bootstrap, i18n internationalization, TypeScript, unit testing, WebAPI REST setup, SignalR, Swagger docs, and more! By @TrilonIO
Stars: ✭ 1,455 (+634.85%)
Mutual labels:  ngrx
Angular Rpg
RPG game built with Typescript, Angular, ngrx/store and rxjs
Stars: ✭ 120 (-39.39%)
Mutual labels:  ngrx
Angular Ngrx Chuck Norris
Chuck Norris Joke Generator w/ NgRx Store
Stars: ✭ 141 (-28.79%)
Mutual labels:  ngrx
Example App
Example app showcasing the ngrx platform
Stars: ✭ 1,361 (+587.37%)
Mutual labels:  ngrx
Aspnetcoreangularsignalr
SignalR ASP.NET Core Angular
Stars: ✭ 163 (-17.68%)
Mutual labels:  ngrx
Game Music Player
All your music are belong to us
Stars: ✭ 76 (-61.62%)
Mutual labels:  ngrx
Ngrx Course V7
Angular Ngrx Course - includes Store, Effects, Entity, Router Store, Schematics
Stars: ✭ 133 (-32.83%)
Mutual labels:  ngrx
Router Store
Bindings to connect the Angular Router to @ngrx/store
Stars: ✭ 187 (-5.56%)
Mutual labels:  ngrx
Aspnetcoreangularsignalrsecurity
Security with ASP.NET Core, SignalR and Angular
Stars: ✭ 171 (-13.64%)
Mutual labels:  ngrx
Aspnetcore Angular Ngrx
🚀 An ASP.NET Core WebAPI Demo with an Angular Client using Ngrx store and effects and Signalr
Stars: ✭ 141 (-28.79%)
Mutual labels:  ngrx

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].