code: function $value(value) {
        function hasReplaceVal(val) { return function(obj) { return obj.from === val; }; }
        function $replace(value) {
          var replacement = map(filter(self.replace, hasReplaceVal(value)), function(obj) { return obj.to; });
          return replacement.length ? replacement[0] : value;
        }
        value = $replace(value);
        return !isDefined(value) ? $$getDefaultValue() : self.type.$normalize(value);
      }
docs: [Internal] Gets the decoded representation of a value if the value is defined, otherwise, returns the
  default value, which may be the result of an injectable function.