123456789101112131415161718192021222324252627 |
- const { get, set } = require('../../utils/objectUtils');
- const Dependency = require('./Dependency');
- class InterpolateValueDependency extends Dependency {
- constructor(node, path, refProp, match, inverse) {
- super(node);
- this.path = path.slice();
- this.refProp = refProp;
- this.match = match;
- this.inverse = inverse;
- }
- resolve(model) {
- if (!this.inverse) {
- let value = get(model, this.path);
- value = value.replace(this.match, this.node.model[this.refProp]);
- set(model, this.path, value);
- } else {
- let value = get(this.node.model, this.path);
- value = value.replace(this.match, model[this.refProp]);
- set(this.node.model, this.path, value);
- }
- }
- }
- module.exports = InterpolateValueDependency;
|