CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/npm-ngrx--schematics

Angular CLI schematics for generating NgRx state management code including actions, reducers, effects, selectors, and feature modules.

Pending
Quality

Pending

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Pending

The risk profile of this skill

Overview
Eval results
Files

data-services.mddocs/

Data Services

NgRx data services generation schematic that creates data services integrating with @ngrx/data for entity-based data management with automatic HTTP operations.

Capabilities

Data Schematic

Generates data services with @ngrx/data integration for automated entity management and HTTP operations.

# Basic data service
ng generate @ngrx/schematics:data User
interface DataSchema {
  name: string;
  path?: string;
  project?: string;
  flat?: boolean;
}

Generated Data Service

Creates entity data service with automatic CRUD operations:

// Generated data service
import { Injectable } from '@angular/core';
import { EntityCollectionServiceBase, EntityCollectionServiceElementsFactory } from '@ngrx/data';

@Injectable()
export class UserDataService extends EntityCollectionServiceBase<User> {
  constructor(serviceElementsFactory: EntityCollectionServiceElementsFactory) {
    super('User', serviceElementsFactory);
  }
}

Entity Metadata Configuration

Configures entity metadata for @ngrx/data:

// Entity metadata
import { EntityMetadataMap } from '@ngrx/data';

export const entityMetadata: EntityMetadataMap = {
  User: {
    selectId: (user: User) => user.id,
    sortComparer: (a: User, b: User) => a.name.localeCompare(b.name)
  }
};

HTTP Data Service

Custom HTTP data service for specialized operations:

// Custom HTTP data service
import { Injectable } from '@angular/core';
import { DefaultDataService, HttpUrlGenerator } from '@ngrx/data';
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';

@Injectable()
export class UserHttpDataService extends DefaultDataService<User> {
  constructor(http: HttpClient, httpUrlGenerator: HttpUrlGenerator) {
    super('User', http, httpUrlGenerator);
  }

  // Custom methods
  searchUsers(query: string): Observable<User[]> {
    return this.http.get<User[]>(`${this.entitiesUrl}/search?q=${query}`);
  }
}

docs

action-generation.md

component-store.md

container-components.md

data-services.md

effect-generation.md

entity-management.md

feature-generation.md

index.md

ngrx-push-migration.md

reducer-generation.md

selector-generation.md

store-setup.md

utility-functions.md

tile.json