UNPKG

mframejs

Version:
50 lines 2.39 kB
import { traverseAST, valueConvert, getBehavior } from './ast/traverseAst'; import { tokenize } from './ast/tokenize'; import { generateAST } from './ast/generateAst'; import { createBindingExpression } from './createBindingExpression'; import { setValue } from './setValue'; import { subscribeClassProperty } from './property/subscribeClassProperty'; import { unSubscribeClassProperty } from './property/unSubscribeClassProperty'; import { evaluateExpression } from './evaluateExpression'; import { subscribeClassArray } from './array/subscribeClassArray'; import { unSubscribeClassArray } from './array/unSubscribeClassArray'; import { unSubscribeClassMetaBinding } from './unSubscribeClassMetaBinding'; import { subscribeClassMetaBinding } from './subscribeClassMetaBinding'; import { Cache } from '../utils/exported'; export class BindingEngine { static tokenizeParseAndTraverseAST(expression, context) { let ast; if (Cache.expressionMap.has(expression)) { const cacheX = Cache.expressionMap.get(expression); ast = cacheX.ast; } else { const tokens = tokenize(expression); ast = generateAST(tokens); } return traverseAST(ast, context); } static printTokensAndAST(expression, context) { const tokens = tokenize(expression); const ast = generateAST(tokens); const result = traverseAST(ast, context); console.log('tokens:', tokens); console.log('ast:', ast); console.log('result:', result); } } BindingEngine.tokenize = tokenize; BindingEngine.traverseAST = traverseAST; BindingEngine.generateAST = generateAST; BindingEngine.valueConvert = valueConvert; BindingEngine.getBehavior = getBehavior; BindingEngine.createBindingExpression = createBindingExpression; BindingEngine.setValue = setValue; BindingEngine.subscribeClassProperty = subscribeClassProperty; BindingEngine.unSubscribeClassProperty = unSubscribeClassProperty; BindingEngine.evaluateExpression = evaluateExpression; BindingEngine.subscribeClassArray = subscribeClassArray; BindingEngine.unSubscribeClassArray = unSubscribeClassArray; BindingEngine.unSubscribeClassMetaBinding = unSubscribeClassMetaBinding; BindingEngine.subscribeClassMetaBinding = subscribeClassMetaBinding; //# sourceMappingURL=bindingEngine.js.map