All Projects → ng-hal → ng-hal

ng-hal / ng-hal

Licence: MIT license
A navigator for HAL documents in Angular

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to ng-hal

hal-client
A lightweight client for consuming and manipulating Hypertext Application Language (HAL) resources.
Stars: ✭ 21 (-12.5%)
Mutual labels:  hal, hypertext-application-language
laravel5-hal-json
Laravel 5 HAL+JSON API Transformer Package
Stars: ✭ 15 (-37.5%)
Mutual labels:  hal
hal-api
Enhances your HATEOAS experience by automating common tasks.
Stars: ✭ 32 (+33.33%)
Mutual labels:  hal
akka-http-hal
HAL (Hypermedia Application Language) specification support for akka-http
Stars: ✭ 18 (-25%)
Mutual labels:  hal
Core
The server component of API Platform: hypermedia and GraphQL APIs in minutes
Stars: ✭ 2,004 (+8250%)
Mutual labels:  hal
HX711
HX711 driver for STM32 HAL
Stars: ✭ 34 (+41.67%)
Mutual labels:  hal
halfred
A parser for application/hal+json
Stars: ✭ 44 (+83.33%)
Mutual labels:  hal
skynet robot control rtos ethercat
Realtime 6-axis robot controller, based on Qt C++ & OpenCascade & KDL kinematics & HAL
Stars: ✭ 41 (+70.83%)
Mutual labels:  hal
zend-expressive-hal
Hypertext Application Language implementation for PHP and PSR-7
Stars: ✭ 37 (+54.17%)
Mutual labels:  hal
bowman
A Java library for accessing a JSON+HAL REST API
Stars: ✭ 45 (+87.5%)
Mutual labels:  hal
php-serializer
Serialize PHP variables, including objects, in any format. Support to unserialize it too.
Stars: ✭ 47 (+95.83%)
Mutual labels:  hal
browser
A HAL browser middleware for node.js
Stars: ✭ 39 (+62.5%)
Mutual labels:  hal
hal stm32
No description or website provided.
Stars: ✭ 56 (+133.33%)
Mutual labels:  hal
Eqmac
macOS System-wide Audio Equalizer & Volume Mixer 🎧
Stars: ✭ 3,947 (+16345.83%)
Mutual labels:  hal
bxcan
bxCAN peripheral driver for STM32 chips
Stars: ✭ 22 (-8.33%)
Mutual labels:  hal
mezzio-hal
Hypertext Application Language implementation for PHP and PSR-7
Stars: ✭ 19 (-20.83%)
Mutual labels:  hal
jesi
Hypermedia API Accelerator
Stars: ✭ 19 (-20.83%)
Mutual labels:  hal
php-hal
HAL+JSON & HAL+XML API transformer outputting valid (PSR-7) API Responses.
Stars: ✭ 30 (+25%)
Mutual labels:  hal
console
HAL management console
Stars: ✭ 41 (+70.83%)
Mutual labels:  hal
gsm
gsm module library for STM32 LL
Stars: ✭ 28 (+16.67%)
Mutual labels:  hal

ng-hal

npm version npm downloads License Dependencies Status Peer Dependencies Status

Greenkeeper CircleCI Travis CI Codecov coverage on master

A navigator for HAL documents in Angular

Usage

$ npm install --save ng-hal

Alternative, use yarn:

$ yarn add ng-hal

Import HalModule.forRoot() to your application's module:

import { HalModule } from 'ng-hal';

@NgModule({
  imports:      [
    HttpModule,
    HalModule.forRoot()
  ]
})
export class AppModule {}

Inject Navigator into components or services, then start retrieving HAL/JSON documents:

import { Navigator } from 'ng-hal';

@Injectable()
export class Foo {

  constructor(
    private navigator: Navigator
  ) {}

  demo() {
    this.navigator
      .get('/my/hal-document.json')
      .subscribe((doc: Document) => console.log(doc));
  }
}

Demo application

http://spektrakel.de/ng-hal

API Design Considerations

  • Navigator API is almost identical to Angular's Http API.
    • follow is a short-cut Observable operation that is derived from mergeMap/flatMap.
  • Document gives you a Resource object and the original Request/Response pair.
  • Resource is a normalized view of the JSON document. You can, however, obtain the unmodified JSON object.

Reading List

Credits

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].