UNPKG

2.04 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.Index = exports.index = void 0;
4const constants_1 = require("./internal/constants");
5const utils_1 = require("./internal/utils");
6const logSettings_1 = require("./logSettings");
7/**
8 * Defines a index for this Class which will then be added to the Schema.
9 * @param fields Which fields to index (if multiple fields are set, it will be a compound index)
10 * @param options Options to pass to MongoDB driver's createIndex() function
11 * @example Example:
12 * ```ts
13 * @index({ article: 1, user: 1 }, { unique: true })
14 * class ClassName {}
15 * ```
16 */
17function index(fields, options) {
18 return (target) => {
19 var _a;
20 logSettings_1.logger.info('Adding "%o" Indexes to %s', { fields, options }, (0, utils_1.getName)(target));
21 const indices = Array.from((_a = Reflect.getMetadata(constants_1.DecoratorKeys.Index, target)) !== null && _a !== void 0 ? _a : []);
22 indices.push({ fields, options });
23 Reflect.defineMetadata(constants_1.DecoratorKeys.Index, indices, target);
24 };
25}
26exports.index = index;
27exports.Index = index;
28//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0Esb0RBQXFEO0FBQ3JELDRDQUEyQztBQUMzQywrQ0FBdUM7QUFHdkM7Ozs7Ozs7OztHQVNHO0FBQ0gsU0FBZ0IsS0FBSyxDQUFvQyxNQUFnQyxFQUFFLE9BQXlCO0lBQ2xILE9BQU8sQ0FBQyxNQUFXLEVBQUUsRUFBRTs7UUFDckIsb0JBQU0sQ0FBQyxJQUFJLENBQUMsMkJBQTJCLEVBQUUsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsSUFBQSxlQUFPLEVBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUMvRSxNQUFNLE9BQU8sR0FBa0IsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFBLE9BQU8sQ0FBQyxXQUFXLENBQUMseUJBQWEsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLG1DQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ2xHLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNsQyxPQUFPLENBQUMsY0FBYyxDQUFDLHlCQUFhLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMvRCxDQUFDLENBQUM7QUFDSixDQUFDO0FBUEQsc0JBT0M7QUFHaUIsc0JBQUsifQ==
\No newline at end of file