UNPKG

vigour-config

Version:
38 lines (33 loc) 892 B
'use strict' var Observable = require('vigour-observable') var _parseValue = Observable.prototype.parseValue var pattern = /{(.*?)}/g exports.define = { parseValue: parseConfigValue } function parseConfigValue () { var val = this._input if (typeof val === 'string') { var found while ((found = pattern.exec(val))) { var key = found[1] var replacement replacement = this[key] || this.lookUp(key) if (replacement) { replacement = replacement.val } if (!replacement) { pattern.lastIndex = 0 return null } var length = found[0].length var pre = val.slice(0, found.index) var post = val.slice(found.index + length) val = pre + replacement + post pattern.lastIndex = found.index + replacement.length } return val } else { return _parseValue.apply(this, arguments) } }