UNPKG

r-ninja

Version:

r-ninja watches for changes in JSX expressions and updates UI with very less glue code.

30 lines (29 loc) 883 B
import { Watcher } from "./watcher"; export const internals = { ROOT: Watcher.ROOT, models: [], expressions: (watcher = Watcher.ROOT) => { var _a; if (!watcher.isActive) { return []; } return [ ...(watcher.expressions || []), ...(((_a = watcher.children) === null || _a === void 0 ? void 0 : _a.map(w => internals.expressions(w)).flat()) || []) ]; }, getExpression: (expression) => { expression = expression.toLowerCase(); return internals.expressions().filter(w => { const expr = w.fn.toString().substring(6); if (expr.toLowerCase().indexOf(expression) >= 0) { return w; } }).map((w) => { return { expression: w.fn, value: w.last }; }); } };