UNPKG

mongo-ts-struct

Version:

Mongoose wrapper for Typescript supports

29 lines (28 loc) 1.18 kB
"use strict"; 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