mono/packages/osrl/liquidjs/parser/match-operator.js
2025-12-30 16:33:03 +01:00

21 lines
1.6 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.matchOperator = void 0;
const character_1 = require("../util/character");
function matchOperator(str, begin, trie, end = str.length) {
let node = trie;
let i = begin;
let info;
while (node[str[i]] && i < end) {
node = node[str[i++]];
if (node['end'])
info = node;
}
if (!info)
return -1;
if (info['needBoundary'] && (character_1.TYPES[str.charCodeAt(i)] & character_1.IDENTIFIER))
return -1;
return i;
}
exports.matchOperator = matchOperator;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0Y2gtb3BlcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGlxdWlkanMvcGFyc2VyL21hdGNoLW9wZXJhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGlEQUFxRDtBQUdyRCxTQUFnQixhQUFhLENBQUUsR0FBVyxFQUFFLEtBQWEsRUFBRSxJQUFVLEVBQUUsR0FBRyxHQUFHLEdBQUcsQ0FBQyxNQUFNO0lBQ3JGLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQTtJQUNmLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQTtJQUNiLElBQUksSUFBSSxDQUFBO0lBQ1IsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsRUFBRTtRQUM5QixJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7UUFDckIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQUUsSUFBSSxHQUFHLElBQUksQ0FBQTtLQUM3QjtJQUNELElBQUksQ0FBQyxJQUFJO1FBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQTtJQUNwQixJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGlCQUFLLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLHNCQUFVLENBQUM7UUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFBO0lBQzlFLE9BQU8sQ0FBQyxDQUFBO0FBQ1YsQ0FBQztBQVhELHNDQVdDIn0=