@wocker/core
Version:
Core of the Wocker
23 lines (22 loc) • 902 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Optional = void 0;
const env_1 = require("../env");
const Optional = () => {
return (target, propertyKey, parameterIndex) => {
const metadata = propertyKey
? Reflect.getMetadata(env_1.ARGS_METADATA, target.constructor, propertyKey) || {}
: Reflect.getMetadata(env_1.ARGS_METADATA, target) || {};
if (!metadata[parameterIndex]) {
metadata[parameterIndex] = {};
}
metadata[parameterIndex] = Object.assign(Object.assign({}, metadata[parameterIndex]), { optional: true });
if (propertyKey) {
Reflect.defineMetadata(env_1.ARGS_METADATA, metadata, target.constructor, propertyKey);
}
else {
Reflect.defineMetadata(env_1.ARGS_METADATA, metadata, target);
}
};
};
exports.Optional = Optional;