Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | 1x 199x 11x 11x 3x 3x 10x 21x 1x 6688x | import { extendObject } from '../dynamic-form/dynamic-form-helpers'; import { DynamicFormExpression } from './dynamic-form-expression'; import { DynamicFormExpressions } from './dynamic-form-expressions'; export const assignExpressions = <Expression extends DynamicFormExpression = DynamicFormExpression>( template: any, expressions: DynamicFormExpressions<Expression>, ): void => { Object.keys(expressions).forEach(path => { const paths = path.split('.'); if (paths.length > 1) { const key = paths.splice(paths.length - 1, 1)[0]; const obj = extendObject(template, paths); Object.defineProperty(obj, key, { get: () => expressions[path].value }); } else { Object.defineProperty(template, path, { get: () => expressions[path].value }); } }); }; export const assignExpressionData = (data: any, expressions: { [key: string]: () => any }): void => Object.keys(expressions).forEach(key => Object.defineProperty(data, key, { get: expressions[key] })); |