Skip to content

infinum/ngx-hal

Folders and files

NameName
Last commit message
Last commit date
Apr 28, 2023
Feb 7, 2019
Aug 11, 2022
Jul 1, 2022
Aug 11, 2022
Aug 11, 2022
Feb 19, 2019
Aug 11, 2022
Apr 27, 2023
Apr 27, 2023
Apr 27, 2023
Apr 27, 2023

Repository files navigation

NgxHal

ngx-hal is a data store with support for handling HAL formatted HTTP requests.

Installation

npm install --save ngx-hal

Basic usage

After the initial ngx-hal setup (see Getting started section) a resource model can be created which extends HalModel from the ngx-hal and a resource service which extends ModelService from ngx-hal. The following example uses the User resource as an example.

user.model.ts

class User extends HalModel {
  @Attribute()
  public name: string;
}

user.service.ts

class UserService extends ModelService<User> {
	constructor(datastore: DatastoreService) {
		super(datastore, User);
	}
}

A few methods are available on an instance of UserService:

Fetching a user

this.userService.findOne('1').subscribe((user: User) => {
	console.log('Fetched user', user);
});

Fetching a list of users

this.userService.find().subscribe((users: Array<User>) => {
	console.log('Fetched users', users);
});

Fetching a list of users with pagination information

this.userService.find({}, true).subscribe((halDocument: HalDocument<User>) => {
	console.log('Fetched users', halDocument.models);
	console.log('Pagination information', halDocument.pagination);
});

API reference

Build

ng build

Running unit tests

ng test