JSON Schema hypermedia (URI templating)
Please note this library is not ready for production use.
JSON Hyper-Schema, as specified in the IETF Draft spec.
This component extends the behavior of JSON Schema, as implemented in json-schema-core, providing
links.alternate), as well as generic
Note that this component does not deal with aspects of the spec related to HTTP request/response, e.g. schema and targetSchema pre- and post- validation, setting Accept headers, instance correlation via HTTP response headers, etc. For this, see json-schema-agent.
Note also this component does not depend on JSON Schema validation, which is implemented as a separate core plugin (json-schema-valid, forthcoming).
$ component install ericgj/json-schema-hyper
$ npm install json-schema-hyper-component
var core = require'json-schema-core'hyper = require'json-schema-hyper'Schema = coreSchemaSchemausehyper;var schema = parse schemaObject ;// resolve links in root path of instance, returns a Links object// or an array of Links objects if the root path of the instance is an arrayvar links = schemaresolveLinks instanceObject ;// find the first link with rel == 'search'var searchLink = linksrel'search';// find the first link with mediaType == 'application/xml'var altLink = linksmediaType'application/xml';// find the first link rel == 'alternate' and mediaType == 'application/xml',// with method == 'GET'var rssLink = linksalternate'application/atom+xml' method: 'GET';// GET the searchLink href, with the given params, setting the Accept header,// validating schema and targetSchema, if given and validation is used, etc.searchLinkfetchname: 'Kermit' callback;