"use strict";
Object.defineProperty(exports, "__esModule", {
    value: true
});
function _export(target, all) {
    for(var name in all)Object.defineProperty(target, name, {
        enumerable: true,
        get: Object.getOwnPropertyDescriptor(all, name).get
    });
}
_export(exports, {
    get API_METADATA_KEY () {
        return API_METADATA_KEY;
    },
    get ApiOperation () {
        return ApiOperation;
    },
    get ApiProperty () {
        return ApiProperty;
    }
});
require("reflect-metadata");
const API_METADATA_KEY = "Router Config";
function ApiProperty(options = {}) {
    return function(target, propertyKey) {
        const metadata = Reflect.getMetadata(API_METADATA_KEY, target.constructor) || {};
        metadata[propertyKey] = options;
        Reflect.defineMetadata(API_METADATA_KEY, metadata, target.constructor);
    };
}
function ApiOperation(options = {}) {
    return function(target, propertyKey, descriptor) {
        const metadata = Reflect.getMetadata(API_METADATA_KEY, target.constructor) || {};
        metadata[`${propertyKey}:operation`] = options;
        Reflect.defineMetadata(API_METADATA_KEY, metadata, target.constructor);
    };
}

//# sourceMappingURL=decorators.js.map