function toType(name, obj, validateFn) {
	  if (validateFn === void 0) {
	    validateFn = false;
	  }

	  Object.defineProperty(obj, '_vueTypes_name', {
	    enumerable: false,
	    writable: false,
	    value: name
	  });
	  withDefault(withRequired(obj));

	  if (validateFn) {
	    withValidate(obj);
	  }

	  if (isFunction(obj.validator)) {
	    obj.validator = obj.validator.bind(obj);
	  }

	  return obj;
	}
function toType(name, obj, validateFn) {
	  if (validateFn === void 0) {
	    validateFn = false;
	  }

	  Object.defineProperty(obj, '_vueTypes_name', {
	    enumerable: false,
	    writable: false,
	    value: name
	  });
	  withDefault(withRequired(obj));

	  if (validateFn) {
	    withValidate(obj);
	  }

	  if (isFunction(obj.validator)) {
	    obj.validator = obj.validator.bind(obj);
	  }

	  return obj;
	}
function toType ( name , obj , validateFn ) { if ( validateFn === void 0 ) { validateFn = false ; } Object . defineProperty ( obj , '_vueTypes_name' , { enumerable : false , writable : false , value : name } ) ; withDefault ( withRequired ( obj ) ) ; if ( validateFn ) { withValidate ( obj ) ; } if ( isFunction ( obj . validator ) ) { obj . validator = obj . validator . bind ( obj ) ; } return obj ; }
Adds `isRequired` and `def` modifiers to an object

@param {string} name - Type internal name
@param {object} obj - Object to enhance
@returns {object}
Adds isRequired and def modifiers to an object