Hypertext Application Language Library for Node.js


The library is an implementation of [](Hypertext Application Language) for Node.js and JavaScript.

It has almost the same API as and should be possible to drop in replace with it.

However this module differs from in some features:

  • hal.Link and hal.Resource can be cloned using constructor: var cloned_obj = new hal.Resource(obj);
  • Both and hal.Resource.embed() can be called with an array of links or resources
  • Our license is clearly open source (MIT)

It's open source, MIT.

You can install it simply from NPM:

npm install nor-hal
var hal = require('../src/hal.js');
var resource = new hal.Resource({name: "Orders"}, '/orders')
    .link('orders', '/orders/1')
    .link('orders', '/orders/2')
    .embed('orders', new hal.Resource({name:"Order 1"}, '/orders/1') )
    .embed('orders', new hal.Resource({name:"Order 2"}, '/orders/2') );

Resulting output is:

 "name": "Orders",
 "_links": {
  "self": {"href": "/orders"},
  "orders": [
   {"href": "/orders/1"},
   {"href": "/orders/2"}
 "_embedded": {
  "orders": [
    "name": "Order 1",
    "_links": {"self": {"href": "/orders/1"}}
    "name": "Order 2",
    "_links": {"self": {"href": "/orders/2"}}