@thi.ng/parse
Version:
Purely functional parser combinators & AST generation for generic inputs
23 lines (22 loc) • 597 B
JavaScript
import { satisfy, satisfyD } from "./satisfy.js";
const rangeP = (min, max) => (x) => x >= min && x <= max;
const utf16RangeP = (min, max) => (x) => {
const c = x.charCodeAt(0);
return c >= min && c <= max;
};
function range(min, max, id = "lit") {
return satisfy(rangeP(min, max), id);
}
function rangeD(min, max) {
return satisfyD(rangeP(min, max));
}
const utf16Range = (min, max, id = "utfLit") => satisfy(utf16RangeP(min, max), id);
const utf16RangeD = (min, max) => satisfyD(utf16RangeP(min, max));
export {
range,
rangeD,
rangeP,
utf16Range,
utf16RangeD,
utf16RangeP
};