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] }));
|