@tsclean/core
Version:
Plugin for API Rest Full development, based on Clean Architecture, IoC and Dependency Injection.
16 lines • 2.43 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Optional = Optional;
const helpers_1 = require("../helpers");
function Optional() {
return (target, key, index) => {
// if (!isUndefined(index)) {
// const args = Reflect.getMetadata(OPTIONAL_DEPS_METADATA, target) || [];
// Reflect.defineMetadata(OPTIONAL_DEPS_METADATA, [...args, index], target);
// return;
// }
const properties = Reflect.getMetadata(helpers_1.OPTIONAL_PROPERTY_DEPS_METADATA, target.constructor) || [];
Reflect.defineMetadata(helpers_1.OPTIONAL_PROPERTY_DEPS_METADATA, [...properties, key], target.constructor);
};
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGVjb3JhdG9ycy9vcHRpb25hbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQU1BLDRCQWtCQztBQXhCRCx3Q0FHb0I7QUFHcEIsU0FBZ0IsUUFBUTtJQUN0QixPQUFPLENBQUMsTUFBYyxFQUFFLEdBQW9CLEVBQUUsS0FBYyxFQUFFLEVBQUU7UUFDOUQsNkJBQTZCO1FBQzdCLDRFQUE0RTtRQUM1RSw4RUFBOEU7UUFDOUUsWUFBWTtRQUNaLElBQUk7UUFDSixNQUFNLFVBQVUsR0FDZCxPQUFPLENBQUMsV0FBVyxDQUNqQix5Q0FBK0IsRUFDL0IsTUFBTSxDQUFDLFdBQVcsQ0FDbkIsSUFBSSxFQUFFLENBQUM7UUFDVixPQUFPLENBQUMsY0FBYyxDQUNwQix5Q0FBK0IsRUFDL0IsQ0FBQyxHQUFHLFVBQVUsRUFBRSxHQUFHLENBQUMsRUFDcEIsTUFBTSxDQUFDLFdBQVcsQ0FDbkIsQ0FBQztJQUNKLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBPUFRJT05BTF9ERVBTX01FVEFEQVRBLFxuICBPUFRJT05BTF9QUk9QRVJUWV9ERVBTX01FVEFEQVRBLFxufSBmcm9tICcuLi9oZWxwZXJzJztcbmltcG9ydCB7IGlzVW5kZWZpbmVkIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gT3B0aW9uYWwoKSB7XG4gIHJldHVybiAodGFyZ2V0OiBvYmplY3QsIGtleTogc3RyaW5nIHwgc3ltYm9sLCBpbmRleD86IG51bWJlcikgPT4ge1xuICAgIC8vIGlmICghaXNVbmRlZmluZWQoaW5kZXgpKSB7XG4gICAgLy8gICBjb25zdCBhcmdzID0gUmVmbGVjdC5nZXRNZXRhZGF0YShPUFRJT05BTF9ERVBTX01FVEFEQVRBLCB0YXJnZXQpIHx8IFtdO1xuICAgIC8vICAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YShPUFRJT05BTF9ERVBTX01FVEFEQVRBLCBbLi4uYXJncywgaW5kZXhdLCB0YXJnZXQpO1xuICAgIC8vICAgcmV0dXJuO1xuICAgIC8vIH1cbiAgICBjb25zdCBwcm9wZXJ0aWVzID1cbiAgICAgIFJlZmxlY3QuZ2V0TWV0YWRhdGEoXG4gICAgICAgIE9QVElPTkFMX1BST1BFUlRZX0RFUFNfTUVUQURBVEEsXG4gICAgICAgIHRhcmdldC5jb25zdHJ1Y3RvcixcbiAgICAgICkgfHwgW107XG4gICAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YShcbiAgICAgIE9QVElPTkFMX1BST1BFUlRZX0RFUFNfTUVUQURBVEEsXG4gICAgICBbLi4ucHJvcGVydGllcywga2V5XSxcbiAgICAgIHRhcmdldC5jb25zdHJ1Y3RvcixcbiAgICApO1xuICB9O1xufVxuIl19