UNPKG

@darlean/base

Version:

Base types and definitions for creating Darlean actors and suites

78 lines (77 loc) 2.06 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.traverse = exports.normalize = exports.lowercase = exports.uppercase = exports.containsni = exports.contains = exports.prefix = exports.gte = exports.lte = exports.eq = exports.field = exports.array = exports.literal = exports.sk = exports.pk = exports.and = exports.or = void 0; function or(...items) { return ['or', ...items]; } exports.or = or; function and(...items) { return ['and', ...items]; } exports.and = and; function pk(index) { return ['pk', index]; } exports.pk = pk; function sk(index) { return ['sk', index]; } exports.sk = sk; function literal(value) { return ['literal', value]; } exports.literal = literal; function array(...values) { return ['array', ...values]; } exports.array = array; function field(path) { return ['field', path]; } exports.field = field; function eq(a, b) { return ['eq', a, b]; } exports.eq = eq; function lte(a, b) { return ['lte', a, b]; } exports.lte = lte; function gte(a, b) { return ['gte', a, b]; } exports.gte = gte; function prefix(value, prefix) { return ['prefix', value, prefix]; } exports.prefix = prefix; function contains(value, ...parts) { return ['contains', value, ...parts]; } exports.contains = contains; function containsni(value, ...parts) { return ['containsni', value, ...parts]; } exports.containsni = containsni; function uppercase(value) { return ['uppercase', value]; } exports.uppercase = uppercase; function lowercase(value) { return ['lowercase', value]; } exports.lowercase = lowercase; function normalize(value) { return ['normalize', value]; } exports.normalize = normalize; function traverse(expr, callback) { const isExpr = Array.isArray(expr); callback(expr, isExpr ? expr : undefined); if (isExpr) { for (let idx = 1; idx < expr.length; idx++) { traverse(expr[idx], callback); } } } exports.traverse = traverse;