The library is an implementation of Hypertext Application Language for Node.js and JavaScript.
It has almost the same API as naholyr/js-hal and should be possible to drop in replace with it.
However this module differs from naholyr/js-hal in some features:
hal.Link
andhal.Resource
can be cloned using constructor:var cloned_obj = new hal.Resource(obj);
- Both
hal.Resource.link(rel, array)
andhal.Resource.embed(rel, array)
can be called with an array of links or resources - Our library doesn't support XML (yet)
- 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('nor-hal');
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') );
console.log(''+resource);
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"}}
}
]
}
}