mongo-ts-struct
Version:
Mongoose wrapper for Typescript supports
29 lines (28 loc) • 1.18 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const infer_type_1 = require("../../../infer-type");
const mongoose_1 = require("mongoose");
const create_property_decorator_1 = require("../create-property-decorator");
function Enum(enumKeys, definition = {}) {
return create_property_decorator_1.createPropertyDecorator('Enum', (targetPrototype, propertyName) => {
let type = infer_type_1.InferType(targetPrototype, propertyName);
type = (type && type.name == 'Array') ? [mongoose_1.Schema.Types.String] : mongoose_1.Schema.Types.String;
return {
type,
definition: { enum: enumKeys, }
};
});
/*
return (targetPrototype: Object, propertyName: string): void => {
const name = targetPrototype.constructor.name;
let type: any = InferType(targetPrototype, propertyName)
type = (type && type.name == 'Array') ? [Schema.Types.String] : Schema.Types.String;
DefineProperty(type, enumDef(enumKeys, definition))
}
*/
}
exports.Enum = Enum;
const enumDef = (enumKeys, definition) => ({
enum: enumKeys,
});
//# sourceMappingURL=enum.js.map