UNPKG

jora

Version:

JavaScript object query engine

37 lines (32 loc) 863 B
'use strict'; function suggest(node, ctx) { ctx.range(node.property.range, 'path', node.value || undefined, !node.value); if (node.value === null) { ctx.range(node.property.range, 'var'); } if (node.range && node.value === null && node.property.range[0] !== node.range[0]) { ctx.queryRoot(node.range[0]); } } function compile(node, ctx) { ctx.put(ctx.buildinFn('map')); ctx.put('('); ctx.nodeOrCurrent(node.value); ctx.put(','); ctx.node(node.property); ctx.put(')'); } function walk(node, ctx) { ctx.nodeOrNothing(node.value); ctx.node(node.property); } function stringify(node, ctx) { ctx.nodeOrNothing(node.value) && ctx.put('.'); ctx.node(node.property); } exports.compile = compile; exports.stringify = stringify; exports.suggest = suggest; exports.walk = walk;