12345678910111213141516171819202122232425262728293031323334 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.compile = exports.parse = void 0;
- var parse_1 = require("./parse");
- Object.defineProperty(exports, "parse", { enumerable: true, get: function () { return parse_1.parse; } });
- var compile_1 = require("./compile");
- Object.defineProperty(exports, "compile", { enumerable: true, get: function () { return compile_1.compile; } });
- /**
- * Parses and compiles a formula to a highly optimized function.
- * Combination of `parse` and `compile`.
- *
- * If the formula doesn't match any elements,
- * it returns [`boolbase`](https://github.com/fb55/boolbase)'s `falseFunc`.
- * Otherwise, a function accepting an _index_ is returned, which returns
- * whether or not the passed _index_ matches the formula.
- *
- * Note: The nth-rule starts counting at `1`, the returned function at `0`.
- *
- * @param formula The formula to compile.
- * @example
- * const check = nthCheck("2n+3");
- *
- * check(0); // `false`
- * check(1); // `false`
- * check(2); // `true`
- * check(3); // `false`
- * check(4); // `true`
- * check(5); // `false`
- * check(6); // `true`
- */
- function nthCheck(formula) {
- return (0, compile_1.compile)((0, parse_1.parse)(formula));
- }
- exports.default = nthCheck;
|