UNPKG

corelink

Version:

Utility library for parsing CoRE Link Format

28 lines (24 loc) 547 B
const add = function(a,b) { const [oid,iid,rid] = b.split('/'); if (iid === undefined) { a[oid] = null; } else if (!a.hasOwnProperty(oid)) { if (rid === undefined) a[oid] = [iid]; else a[oid] = { [iid] : [rid] }; } else if (Array.isArray(a[oid])) { a[oid].push(iid); } else if (!a[oid].hasOwnProperty(iid)) { a[oid][iid] = [rid]; } else { a[oid][iid].push(rid); } return a; } exports.parse = function(str) { return str .replace(/(<\/|>)+/g, '') .split(',') .reduce(add, {}) }