UNPKG

stac-node-validator

Version:
30 lines (24 loc) 785 B
const { parse } = require('uri-js'); // We don't allow empty URIs, same-document and mailto here module.exports = { 'iri': value => { if (typeof value !== 'string' || value.length === 0) { return; } const iri = parse(value); if ((iri.reference === 'absolute' || iri.reference === 'uri') && iri.scheme && (iri.host || (iri.scheme === 'file' && iri.path))) { return true; } return false; }, 'iri-reference': value => { if (typeof value !== 'string' || value.length === 0) { return; } const iri = parse(value); if ((iri.reference === 'absolute' || iri.reference === 'uri') && iri.scheme && (iri.host || (iri.scheme === 'file' && iri.path))) { return true; } return (iri.path && (iri.reference === 'relative' || iri.reference === 'uri')); } };