is-graph-pointer
Version:
Check what a graph pointer is pointing at
30 lines (29 loc) • 946 B
JavaScript
export function isGraphPointer(arg) {
return typeof arg === 'object' && !!arg && 'term' in arg && !!arg.term;
}
export function isResource(arg) {
return isGraphPointer(arg) && (arg.term.termType === 'BlankNode' || arg.term.termType === 'NamedNode');
}
export function isNamedNode(arg) {
return isGraphPointer(arg) && arg.term.termType === 'NamedNode';
}
export function isBlankNode(arg) {
return isGraphPointer(arg) && arg.term.termType === 'BlankNode';
}
export function isLiteral(arg, dtOrLang) {
const itIsLiteral = isGraphPointer(arg) && arg.term.termType === 'Literal';
if (itIsLiteral && typeof dtOrLang === 'string') {
return arg.term.language === dtOrLang;
}
if (itIsLiteral && typeof dtOrLang === 'object') {
return arg.term.datatype.equals(dtOrLang);
}
return itIsLiteral;
}
export default {
isGraphPointer,
isResource,
isNamedNode,
isBlankNode,
isLiteral,
};