Small helper library for resolving templated HATEOAS links
Use your favourite package manager
npm i -S hateoas-link-resolver
or
yarn add hateoas-link-resolver
Just resolve templated links
import { resolve } from 'hateoas-link-resolver';
const templatedLink = 'https://example.org/{id}/sub';
const resolvedLink = resolve(link, {id: '123'});
Use Link repository. Put all link into repository and then retrieve from there and resolve
import { LinkRepository } from 'hateoas-link-resolver';
const links = {
endpoint1: {
href: "https://example.org/{id}",
templated: true
},
endpoint2: {
href: "https://example.org/path/{id}",
templated: true
}
};
const repo = new LinkRepository(links);
// resolve
repo.resolve('endpoint1', {id: '123'});
// check existence
repo.has('endpoint1');
// get unresolved link
repo.get('endpoint1');
This helper is for rather simple link structures and does not support list of links.
If you need resolving of list of links you might want to try hateoas-hal-link-resolver