nimma
Version:
Scalable JSONPath engine.
43 lines (33 loc) • 1.15 kB
JavaScript
;
function isMemberExpression(node) {
return node.type === 'MemberExpression';
}
function isScriptFilterExpression(node) {
return node.type === 'ScriptFilterExpression';
}
function isShorthandExpression(node) {
return node.type === 'CustomShorthandExpression';
}
function isNegativeSliceExpression(node) {
return node.type === 'SliceExpression' && node.value.some(isNegativeNumber);
}
function isModifierExpression(node) {
return node.type === 'KeyExpression' || node.type === 'ParentExpression';
}
function isWildcardExpression(node) {
return node.type === 'WildcardExpression';
}
function isDeep(node) {
return node.deep;
}
function isNegativeNumber(value) {
return Number.isFinite(value) && value < 0;
}
exports.isDeep = isDeep;
exports.isMemberExpression = isMemberExpression;
exports.isModifierExpression = isModifierExpression;
exports.isNegativeNumber = isNegativeNumber;
exports.isNegativeSliceExpression = isNegativeSliceExpression;
exports.isScriptFilterExpression = isScriptFilterExpression;
exports.isShorthandExpression = isShorthandExpression;
exports.isWildcardExpression = isWildcardExpression;