UNPKG

vue-di-kit

Version:
59 lines 1.83 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); require("reflect-metadata"); var argumenter_1 = require("@joejukan/argumenter"); var classification_1 = require("../classification"); function Prop() { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } var argue = new argumenter_1.Argumenter(args); var type = argue.function; var options = argue.object || { type: type }; return function (target, key) { if (!/null|undefined/.test(typeof options.default)) { options.default = target[key]; } var property = new classification_1.Property(options); Reflect.defineMetadata(key, property, target); }; } exports.Prop = Prop; function p() { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } var argue = new argumenter_1.Argumenter(args); var type = argue.function; var value = undefined; if (!type) { value = argue.string || argue.number || argue.boolean || argue.object; switch (typeof value) { case 'string': type = String; break; case 'number': type = Number; break; case 'boolean': type = Boolean; break; case 'function': type = Function; break; default: type = value['constructor']; break; } } var options = argue.object || {}; options.type = type; if (/null|undefined/.test(typeof options.default)) { options.default = value; } return new classification_1.Property(options); } exports.p = p; //# sourceMappingURL=prop.js.map