0.0.0-4d4c036192af96002eb31218b1319d4707d34de8 • Published 5 years ago

@classi/ngrx-extensions v0.0.0-4d4c036192af96002eb31218b1319d4707d34de8

Weekly downloads
72
License
-
Repository
-
Last release
5 years ago

ngrx-extensions

A set of utilities for NgRx family.

Features

  • @ngrx/store
    • createFeatureStoreSelector()

Install

yarn add @classi/ngrx-extensions

APIs

store createFeatureSlice()

Creates a feature Slice. The returned Slice object has additional properties: select and initialState. select method is the same to returned function by createFeatureStoreSelector.

See details in counter-slice.ts

// counter-slice.ts
import { createFeatureSlice } from '@classi/ngrx-extensions';

export type State = {
  count: number;
};

const initialState: State = {
  count: 0,
};

export default createFeatureSlice({
  name: 'counter',
  initialState,
  reducers: {
    increment: (state) => ({ count: state.count + 1 }),
    reset: () => ({ count: 0 }),
  },
});
import { Store } from '@ngrx/store';
import * as counterSlice from './counter-slice';

@Component({})
export class SomeComponent {
  constructor(private readonly store: Store<{}>) {}

  // Retrieve a scoped state from the store
  readonly count$ = counterSlice.select(this.store, (state) => state.count);
}

store createFeatureStoreSelector()

See details in counter-store.ts

// counter-store.ts
export default function reducer(state: State, action: typeof actionsUnion) {
  return _reducer(state, action);
}

export const featureName = 'counter';
export const select = createFeatureStoreSelector<State>(featureName);
import { Store } from '@ngrx/store';
import * as counterStore from './counter-store';

@Component({})
export class SomeComponent {
  constructor(private readonly store: Store<{}>) {}

  // Retrieve a scoped state from the feature store
  readonly count$ = counterStore.select(this.store, (state) => state.count);
}
3.0.0-next.1

4 years ago

3.0.0

4 years ago

2.0.0

5 years ago

1.2.0

5 years ago

1.1.0

5 years ago

1.0.0

5 years ago