json8-pointer
Version:
JSON Pointer toolkit for JavaScript
15 lines (10 loc) • 373 B
JavaScript
;
const decode = require("./decode");
module.exports = function compile(pointer) {
const tokens = Array.isArray(pointer) ? pointer : decode(pointer);
let str = "return doc";
for (const token of tokens) {
str += "['" + token.replace(/\\/, "\\\\").replace(/'/, "\\'") + "']";
}
return Function("doc", str); // eslint-disable-line no-new-func
};