1 | "use strict";
|
2 | var __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 | };
|
13 | Object.defineProperty(exports, "__esModule", { value: true });
|
14 | exports.annotateModelWithIndex = exports.Index = void 0;
|
15 | const index_service_1 = require("./index-service");
|
16 | function 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 | }
|
26 | exports.Index = Index;
|
27 | function 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 | }
|
46 | exports.annotateModelWithIndex = annotateModelWithIndex;
|
47 |
|
\ | No newline at end of file |