UNPKG

1.75 kBJavaScriptView Raw
1"use strict";
2var __rest = (this && this.__rest) || function (s, e) {
3 var t = {};
4 for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5 t[p] = s[p];
6 if (s != null && typeof Object.getOwnPropertySymbols === "function")
7 for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8 if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9 t[p[i]] = s[p[i]];
10 }
11 return t;
12};
13Object.defineProperty(exports, "__esModule", { value: true });
14exports.annotateModelWithIndex = exports.Index = void 0;
15const index_service_1 = require("./index-service");
16function Index(...args) {
17 if (args.length >= 2) {
18 const [target, propertyName] = args;
19 annotateModelWithIndex(target, propertyName);
20 return;
21 }
22 return (target, propertyName) => {
23 annotateModelWithIndex(target, propertyName, args[0]);
24 };
25}
26exports.Index = Index;
27function annotateModelWithIndex(target, propertyName, optionsOrName = {}, indexId) {
28 let indexOptions;
29 let fieldOptions;
30 if (typeof optionsOrName === 'string') {
31 indexOptions = { name: optionsOrName };
32 fieldOptions = { name: propertyName };
33 }
34 else {
35 const { length, order, collate } = optionsOrName, rest = __rest(optionsOrName, ["length", "order", "collate"]);
36 indexOptions = rest;
37 fieldOptions = {
38 name: propertyName,
39 length,
40 order,
41 collate,
42 };
43 }
44 return (0, index_service_1.addFieldToIndex)(target, fieldOptions, indexOptions, indexId);
45}
46exports.annotateModelWithIndex = annotateModelWithIndex;
47//# sourceMappingURL=index-decorator.js.map
\No newline at end of file