UNPKG

lightview

Version:

A reactive UI library with features of Bau, Juris, and HTMX plus safe LLM UI generation

75 lines (70 loc) 3.27 kB
/** * JPRX - JSON Reactive Path eXpressions * A reactive expression language for JSON data. * * JPRX extends JSON Pointer syntax with: * - Reactive path resolution ($/path/to/value) * - Helper functions (sum, map, filter, etc.) * - Operators (++, --, +, -, *, /, etc.) * - Explosion operator for array spreading (...prop) * - Relative paths (../, ./) */ // Core parser and expression resolution export { registerHelper, registerOperator, parseExpression, resolvePath, resolvePathAsContext, resolveExpression, parseCDOMC, parseCDOMC as parseJPRX, parseJPRX as oldParseJPRX, unwrapSignal, getRegistry, BindingTarget } from './parser.js'; // Helper modules - these export registration functions export { registerMathHelpers } from './helpers/math.js'; export { registerLogicHelpers } from './helpers/logic.js'; export { registerStringHelpers } from './helpers/string.js'; export { registerArrayHelpers } from './helpers/array.js'; export { registerCompareHelpers } from './helpers/compare.js'; export { registerConditionalHelpers } from './helpers/conditional.js'; export { registerDateTimeHelpers } from './helpers/datetime.js'; export { registerFormatHelpers } from './helpers/format.js'; export { registerLookupHelpers } from './helpers/lookup.js'; export { registerStatsHelpers } from './helpers/stats.js'; export { registerStateHelpers, set } from './helpers/state.js'; export { registerNetworkHelpers } from './helpers/network.js'; export { registerCalcHelpers, calc } from './helpers/calc.js'; export { registerDOMHelpers } from './helpers/dom.js'; // Convenience function to register all standard helpers export const registerAllHelpers = (registerFn) => { const { registerMathHelpers } = require('./helpers/math.js'); const { registerLogicHelpers } = require('./helpers/logic.js'); const { registerStringHelpers } = require('./helpers/string.js'); const { registerArrayHelpers } = require('./helpers/array.js'); const { registerCompareHelpers } = require('./helpers/compare.js'); const { registerConditionalHelpers } = require('./helpers/conditional.js'); const { registerDateTimeHelpers } = require('./helpers/datetime.js'); const { registerFormatHelpers } = require('./helpers/format.js'); const { registerLookupHelpers } = require('./helpers/lookup.js'); const { registerStatsHelpers } = require('./helpers/stats.js'); const { registerStateHelpers } = require('./helpers/state.js'); const { registerNetworkHelpers } = require('./helpers/network.js'); const { registerCalcHelpers } = require('./helpers/calc.js'); registerMathHelpers(registerFn); registerLogicHelpers(registerFn); registerStringHelpers(registerFn); registerArrayHelpers(registerFn); registerCompareHelpers(registerFn); registerConditionalHelpers(registerFn); registerDateTimeHelpers(registerFn); registerFormatHelpers(registerFn); registerLookupHelpers(registerFn); registerStatsHelpers(registerFn); registerStateHelpers((name, fn) => registerFn(name, fn, { pathAware: true })); registerNetworkHelpers(registerFn); registerCalcHelpers(registerFn); };