@payloadcms/plugin-search 1.0.1 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/README.md +4 -119
  2. package/dist/Search/hooks/deleteFromSearch.d.ts +1 -0
  3. package/dist/Search/hooks/deleteFromSearch.d.ts.map +1 -0
  4. package/dist/Search/hooks/deleteFromSearch.js +29 -68
  5. package/dist/Search/hooks/syncWithSearch.d.ts +1 -0
  6. package/dist/Search/hooks/syncWithSearch.d.ts.map +1 -0
  7. package/dist/Search/hooks/syncWithSearch.js +115 -167
  8. package/dist/Search/index.d.ts +1 -0
  9. package/dist/Search/index.d.ts.map +1 -0
  10. package/dist/Search/index.js +46 -38
  11. package/dist/Search/ui/index.d.ts +2 -1
  12. package/dist/Search/ui/index.d.ts.map +1 -0
  13. package/dist/Search/ui/index.js +40 -30
  14. package/dist/index.d.ts +1 -0
  15. package/dist/index.d.ts.map +1 -0
  16. package/dist/index.js +57 -85
  17. package/dist/types.d.ts +12 -8
  18. package/dist/types.d.ts.map +1 -0
  19. package/dist/types.js +5 -2
  20. package/package.json +19 -30
  21. package/types.d.ts +1 -1
  22. package/types.js +1 -1
  23. package/dist/Search/hooks/deleteFromSearch.js.map +0 -1
  24. package/dist/Search/hooks/syncWithSearch.js.map +0 -1
  25. package/dist/Search/index.js.map +0 -1
  26. package/dist/Search/ui/index.js.map +0 -1
  27. package/dist/collections/FormSubmissions/hooks/createCharge.d.ts +0 -3
  28. package/dist/collections/FormSubmissions/hooks/createCharge.js +0 -53
  29. package/dist/collections/FormSubmissions/hooks/createCharge.js.map +0 -1
  30. package/dist/collections/FormSubmissions/hooks/sendEmail.d.ts +0 -3
  31. package/dist/collections/FormSubmissions/hooks/sendEmail.js +0 -151
  32. package/dist/collections/FormSubmissions/hooks/sendEmail.js.map +0 -1
  33. package/dist/collections/FormSubmissions/index.d.ts +0 -3
  34. package/dist/collections/FormSubmissions/index.js +0 -137
  35. package/dist/collections/FormSubmissions/index.js.map +0 -1
  36. package/dist/collections/Forms/DynamicFieldSelector.d.ts +0 -3
  37. package/dist/collections/Forms/DynamicFieldSelector.js +0 -62
  38. package/dist/collections/Forms/DynamicFieldSelector.js.map +0 -1
  39. package/dist/collections/Forms/DynamicPriceSelector.d.ts +0 -3
  40. package/dist/collections/Forms/DynamicPriceSelector.js +0 -77
  41. package/dist/collections/Forms/DynamicPriceSelector.js.map +0 -1
  42. package/dist/collections/Forms/fields.d.ts +0 -6
  43. package/dist/collections/Forms/fields.js +0 -456
  44. package/dist/collections/Forms/fields.js.map +0 -1
  45. package/dist/collections/Forms/index.d.ts +0 -3
  46. package/dist/collections/Forms/index.js +0 -194
  47. package/dist/collections/Forms/index.js.map +0 -1
  48. package/dist/collections/Search/index.d.ts +0 -3
  49. package/dist/collections/Search/index.js +0 -63
  50. package/dist/collections/Search/index.js.map +0 -1
  51. package/dist/index.js.map +0 -1
  52. package/dist/mocks/serverModule.d.ts +0 -2
  53. package/dist/mocks/serverModule.js +0 -4
  54. package/dist/mocks/serverModule.js.map +0 -1
  55. package/dist/types.js.map +0 -1
  56. package/dist/utilities/calculatePaymentTotal.d.ts +0 -4
  57. package/dist/utilities/calculatePaymentTotal.js +0 -47
  58. package/dist/utilities/calculatePaymentTotal.js.map +0 -1
  59. package/dist/utilities/deepMerge.d.ts +0 -2
  60. package/dist/utilities/deepMerge.js +0 -44
  61. package/dist/utilities/deepMerge.js.map +0 -1
  62. package/dist/utilities/getPaymentTotal.d.ts +0 -4
  63. package/dist/utilities/getPaymentTotal.js +0 -44
  64. package/dist/utilities/getPaymentTotal.js.map +0 -1
  65. package/dist/utilities/replaceDoubleCurlys.d.ts +0 -7
  66. package/dist/utilities/replaceDoubleCurlys.js +0 -20
  67. package/dist/utilities/replaceDoubleCurlys.js.map +0 -1
  68. package/dist/utilities/serializeRichText.d.ts +0 -10
  69. package/dist/utilities/serializeRichText.js +0 -49
  70. package/dist/utilities/serializeRichText.js.map +0 -1
package/README.md CHANGED
@@ -1,122 +1,7 @@
1
1
  # Payload Search Plugin
2
2
 
3
- [![NPM](https://img.shields.io/npm/v/@payloadcms/plugin-search)](https://www.npmjs.com/package/@payloadcms/plugin-search)
3
+ A plugin for [Payload](https://github.com/payloadcms/payload) to generate records of your documents that are extremely fast to search on.
4
4
 
5
- A plugin for [Payload](https://github.com/payloadcms/payload) to create extremely fast search results from your existing documents.
6
-
7
- Core features:
8
-
9
- - Creates a `search` collection that:
10
- - Automatically creates, syncs, and deletes search results related to your documents
11
- - Serves search results extremely quickly by saving only search-critical data that you define
12
- - Allows you to sort search results by priority
13
-
14
- ## Installation
15
-
16
- ```bash
17
- yarn add @payloadcms/plugin-search
18
- # OR
19
- npm i @payloadcms/plugin-search
20
- ```
21
-
22
- ## Basic Usage
23
-
24
- In the `plugins` array of your [Payload config](https://payloadcms.com/docs/configuration/overview), call the plugin with [options](#options):
25
-
26
- ```js
27
- import { buildConfig } from "payload/config";
28
- import search from "@payloadcms/plugin-search";
29
-
30
- const config = buildConfig({
31
- collections: [
32
- {
33
- slug: "pages",
34
- fields: [],
35
- },
36
- {
37
- slug: "posts",
38
- fields: [],
39
- },
40
- ],
41
- plugins: [
42
- search({
43
- collections: ["pages", "posts"],
44
- defaultPriorities: {
45
- pages: 10,
46
- posts: 20,
47
- },
48
- }),
49
- ],
50
- });
51
-
52
- export default config;
53
- ```
54
-
55
- ### Options
56
-
57
- #### `collections`
58
-
59
- An array of collections slugs to enable sync-to-search. Enabled collections receive a `beforeChange` and `afterDelete` hook that creates, syncs, and deleted the document to its related search document as it changes over time, and also an `afterDelete` hook that deletes.
60
-
61
- #### `defaultPriorities`
62
-
63
- The default priorities first set on `create` operations. Send an object of collection slugs, and set them to either a number or a function.
64
-
65
- ```js
66
- plugins: [
67
- searchPlugin({
68
- defaultPriorities: {
69
- pages: ({ doc }) => (doc.title.startsWith("Hello, world!") ? 1 : 10),
70
- posts: 20,
71
- },
72
- }),
73
- ];
74
- ```
75
-
76
- #### `searchOverrides`
77
-
78
- Override anything on the search collection by sending a [Payload Collection Config](https://payloadcms.com/docs/configuration/collections).
79
-
80
- ```js
81
- plugins: [
82
- searchPlugin({
83
- searchOverrides: {
84
- slug: "search-results",
85
- },
86
- }),
87
- ];
88
- ```
89
-
90
- #### `beforeSync`
91
-
92
- An [afterChange](<[afterChange](https://payloadcms.com/docs/hooks/globals#afterchange)>) hook that is called before creating or syncing the document to search. This allows you to modify the data in any way before doing so.
93
-
94
- ```js
95
- plugins: [
96
- searchPlugin({
97
- beforeSync: ({ originalDoc, searchDoc }) => ({
98
- ...searchDoc,
99
- // Modify your docs in any way here, this can be async
100
- excerpt: originalDoc?.excerpt || "This is a fallback excerpt",
101
- }),
102
- }),
103
- ];
104
- ```
105
-
106
- #### `syncDrafts`
107
-
108
- If true, will sync draft documents to search. By default, this plugin will only sync published documents. False by default. You must have [Payload Drafts](https://payloadcms.com/docs/versions/drafts) enabled for this to apply.
109
-
110
- #### `deleteDrafts`
111
-
112
- If true, will delete documents from search that change to draft status. True by default. You must have [Payload Drafts](https://payloadcms.com/docs/versions/drafts) enabled for this to apply.
113
-
114
- ## TypeScript
115
-
116
- All types can be directly imported:
117
-
118
- ```js
119
- import { SearchConfig, BeforeSync } from "@payloadcms/plugin-search/dist/types";
120
- ```
121
-
122
- ## Screenshots
5
+ - [Source code](https://github.com/payloadcms/payload/tree/main/packages/plugin-search)
6
+ - [Documentation](https://payloadcms.com/docs/plugins/search)
7
+ - [Documentation source](https://github.com/payloadcms/payload/tree/main/docs/plugins/search.mdx)
@@ -1,3 +1,4 @@
1
1
  import type { CollectionAfterDeleteHook } from 'payload/types';
2
2
  declare const deleteFromSearch: CollectionAfterDeleteHook;
3
3
  export default deleteFromSearch;
4
+ //# sourceMappingURL=deleteFromSearch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deleteFromSearch.d.ts","sourceRoot":"","sources":["../../../src/Search/hooks/deleteFromSearch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAA;AAE9D,QAAA,MAAM,gBAAgB,EAAE,yBA2BvB,CAAA;AAED,eAAe,gBAAgB,CAAA"}
@@ -1,78 +1,39 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return _default;
36
9
  }
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- var deleteFromSearch = function (_a) {
40
- var payload = _a.req.payload, doc = _a.doc;
10
+ });
11
+ const deleteFromSearch = async ({ doc, req: { payload }, req })=>{
41
12
  try {
42
- var deleteSearchDoc = function () { return __awaiter(void 0, void 0, void 0, function () {
43
- var searchDocQuery;
44
- var _a, _b, _c;
45
- return __generator(this, function (_d) {
46
- switch (_d.label) {
47
- case 0: return [4 /*yield*/, payload.find({
48
- collection: 'search',
49
- where: {
50
- 'doc.value': {
51
- equals: doc.id,
52
- },
53
- },
54
- depth: 0,
55
- })];
56
- case 1:
57
- searchDocQuery = _d.sent();
58
- if ((_a = searchDocQuery === null || searchDocQuery === void 0 ? void 0 : searchDocQuery.docs) === null || _a === void 0 ? void 0 : _a[0]) {
59
- payload.delete({
60
- collection: 'search',
61
- id: (_c = (_b = searchDocQuery === null || searchDocQuery === void 0 ? void 0 : searchDocQuery.docs) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.id,
62
- });
63
- }
64
- return [2 /*return*/];
13
+ const searchDocQuery = await payload.find({
14
+ collection: 'search',
15
+ depth: 0,
16
+ req,
17
+ where: {
18
+ 'doc.value': {
19
+ equals: doc.id
65
20
  }
21
+ }
22
+ });
23
+ if (searchDocQuery?.docs?.[0]) {
24
+ await payload.delete({
25
+ id: searchDocQuery?.docs?.[0]?.id,
26
+ collection: 'search',
27
+ req
66
28
  });
67
- }); };
68
- deleteSearchDoc();
69
- }
70
- catch (err) {
29
+ }
30
+ } catch (err) {
71
31
  payload.logger.error({
72
- err: "Error deleting search doc: ".concat(err),
32
+ err: `Error deleting search doc: ${err}`
73
33
  });
74
34
  }
75
35
  return doc;
76
36
  };
77
- exports.default = deleteFromSearch;
78
- //# sourceMappingURL=deleteFromSearch.js.map
37
+ const _default = deleteFromSearch;
38
+
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9TZWFyY2gvaG9va3MvZGVsZXRlRnJvbVNlYXJjaC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbGxlY3Rpb25BZnRlckRlbGV0ZUhvb2sgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5jb25zdCBkZWxldGVGcm9tU2VhcmNoOiBDb2xsZWN0aW9uQWZ0ZXJEZWxldGVIb29rID0gYXN5bmMgKHsgZG9jLCByZXE6IHsgcGF5bG9hZCB9LCByZXEgfSkgPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHNlYXJjaERvY1F1ZXJ5ID0gYXdhaXQgcGF5bG9hZC5maW5kKHtcbiAgICAgIGNvbGxlY3Rpb246ICdzZWFyY2gnLFxuICAgICAgZGVwdGg6IDAsXG4gICAgICByZXEsXG4gICAgICB3aGVyZToge1xuICAgICAgICAnZG9jLnZhbHVlJzoge1xuICAgICAgICAgIGVxdWFsczogZG9jLmlkLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KVxuXG4gICAgaWYgKHNlYXJjaERvY1F1ZXJ5Py5kb2NzPy5bMF0pIHtcbiAgICAgIGF3YWl0IHBheWxvYWQuZGVsZXRlKHtcbiAgICAgICAgaWQ6IHNlYXJjaERvY1F1ZXJ5Py5kb2NzPy5bMF0/LmlkLFxuICAgICAgICBjb2xsZWN0aW9uOiAnc2VhcmNoJyxcbiAgICAgICAgcmVxLFxuICAgICAgfSlcbiAgICB9XG4gIH0gY2F0Y2ggKGVycjogdW5rbm93bikge1xuICAgIHBheWxvYWQubG9nZ2VyLmVycm9yKHtcbiAgICAgIGVycjogYEVycm9yIGRlbGV0aW5nIHNlYXJjaCBkb2M6ICR7ZXJyfWAsXG4gICAgfSlcbiAgfVxuXG4gIHJldHVybiBkb2Ncbn1cblxuZXhwb3J0IGRlZmF1bHQgZGVsZXRlRnJvbVNlYXJjaFxuIl0sIm5hbWVzIjpbImRlbGV0ZUZyb21TZWFyY2giLCJkb2MiLCJyZXEiLCJwYXlsb2FkIiwic2VhcmNoRG9jUXVlcnkiLCJmaW5kIiwiY29sbGVjdGlvbiIsImRlcHRoIiwid2hlcmUiLCJlcXVhbHMiLCJpZCIsImRvY3MiLCJkZWxldGUiLCJlcnIiLCJsb2dnZXIiLCJlcnJvciJdLCJtYXBwaW5ncyI6Ijs7OzsrQkErQkE7OztlQUFBOzs7QUE3QkEsTUFBTUEsbUJBQThDLE9BQU8sRUFBRUMsR0FBRyxFQUFFQyxLQUFLLEVBQUVDLE9BQU8sRUFBRSxFQUFFRCxHQUFHLEVBQUU7SUFDdkYsSUFBSTtRQUNGLE1BQU1FLGlCQUFpQixNQUFNRCxRQUFRRSxJQUFJLENBQUM7WUFDeENDLFlBQVk7WUFDWkMsT0FBTztZQUNQTDtZQUNBTSxPQUFPO2dCQUNMLGFBQWE7b0JBQ1hDLFFBQVFSLElBQUlTLEVBQUU7Z0JBQ2hCO1lBQ0Y7UUFDRjtRQUVBLElBQUlOLGdCQUFnQk8sTUFBTSxDQUFDLEVBQUUsRUFBRTtZQUM3QixNQUFNUixRQUFRUyxNQUFNLENBQUM7Z0JBQ25CRixJQUFJTixnQkFBZ0JPLE1BQU0sQ0FBQyxFQUFFLEVBQUVEO2dCQUMvQkosWUFBWTtnQkFDWko7WUFDRjtRQUNGO0lBQ0YsRUFBRSxPQUFPVyxLQUFjO1FBQ3JCVixRQUFRVyxNQUFNLENBQUNDLEtBQUssQ0FBQztZQUNuQkYsS0FBSyxDQUFDLDJCQUEyQixFQUFFQSxJQUFJLENBQUM7UUFDMUM7SUFDRjtJQUVBLE9BQU9aO0FBQ1Q7TUFFQSxXQUFlRCJ9
@@ -1,3 +1,4 @@
1
1
  import type { SyncWithSearch } from '../../types';
2
2
  declare const syncWithSearch: SyncWithSearch;
3
3
  export default syncWithSearch;
4
+ //# sourceMappingURL=syncWithSearch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"syncWithSearch.d.ts","sourceRoot":"","sources":["../../../src/Search/hooks/syncWithSearch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA2B,cAAc,EAAE,MAAM,aAAa,CAAA;AAE1E,QAAA,MAAM,cAAc,EAAE,cA8JrB,CAAA;AAED,eAAe,cAAc,CAAA"}
@@ -1,200 +1,148 @@
1
1
  "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return _default;
9
+ }
10
+ });
11
+ const syncWithSearch = async (args)=>{
12
+ const { collection, doc, operation, req: { payload }, req, // @ts-expect-error
13
+ searchConfig } = args;
14
+ const { id, _status: status, title } = doc || {};
15
+ const { beforeSync, defaultPriorities, deleteDrafts, syncDrafts } = searchConfig// todo fix SyncWithSearch type, see note in ./types.ts
16
+ ;
17
+ let dataToSave = {
18
+ doc: {
19
+ relationTo: collection,
20
+ value: id
21
+ },
22
+ title
10
23
  };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
- return new (P || (P = Promise))(function (resolve, reject) {
16
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
- step((generator = generator.apply(thisArg, _arguments || [])).next());
20
- });
21
- };
22
- var __generator = (this && this.__generator) || function (thisArg, body) {
23
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
- function verb(n) { return function (v) { return step([n, v]); }; }
26
- function step(op) {
27
- if (f) throw new TypeError("Generator is already executing.");
28
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
- if (y = 0, t) op = [op[0] & 2, t.value];
31
- switch (op[0]) {
32
- case 0: case 1: t = op; break;
33
- case 4: _.label++; return { value: op[1], done: false };
34
- case 5: _.label++; y = op[1]; op = [0]; continue;
35
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
- default:
37
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
- if (t[2]) _.ops.pop();
42
- _.trys.pop(); continue;
24
+ if (typeof beforeSync === 'function') {
25
+ dataToSave = await beforeSync({
26
+ originalDoc: doc,
27
+ payload,
28
+ req,
29
+ searchDoc: dataToSave
30
+ });
31
+ }
32
+ let defaultPriority = 0;
33
+ if (defaultPriorities) {
34
+ const { [collection]: priority } = defaultPriorities;
35
+ if (typeof priority === 'function') {
36
+ try {
37
+ defaultPriority = await priority(doc);
38
+ } catch (err) {
39
+ payload.logger.error(err);
40
+ payload.logger.error(`Error gathering default priority for search documents related to ${collection}`);
43
41
  }
44
- op = body.call(thisArg, _);
45
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
42
+ } else {
43
+ defaultPriority = priority;
44
+ }
47
45
  }
48
- };
49
- Object.defineProperty(exports, "__esModule", { value: true });
50
- var syncWithSearch = function (args) { return __awaiter(void 0, void 0, void 0, function () {
51
- var payload, doc, operation,
52
- // @ts-expect-error
53
- collection,
54
- // @ts-expect-error
55
- searchConfig, _a, title, id, status, _b, beforeSync, syncDrafts, deleteDrafts, defaultPriorities, dataToSave, defaultPriority, _c, _d, priority, err_1, doSync, searchDocQuery, docs, foundDoc, duplicativeDocs, searchDocID, err_2, err_3;
56
- return __generator(this, function (_e) {
57
- switch (_e.label) {
58
- case 0:
59
- payload = args.req.payload, doc = args.doc, operation = args.operation, collection = args.collection, searchConfig = args.searchConfig;
60
- _a = doc || {}, title = _a.title, id = _a.id, status = _a._status;
61
- _b = searchConfig // todo fix SyncWithSearch type, see note in ./types.ts
62
- , beforeSync = _b.beforeSync, syncDrafts = _b.syncDrafts, deleteDrafts = _b.deleteDrafts, defaultPriorities = _b.defaultPriorities;
63
- dataToSave = {
64
- title: title,
65
- doc: {
66
- relationTo: collection,
67
- value: id,
46
+ const doSync = syncDrafts || !syncDrafts && status !== 'draft';
47
+ try {
48
+ if (operation === 'create') {
49
+ if (doSync) {
50
+ await payload.create({
51
+ collection: 'search',
52
+ data: {
53
+ ...dataToSave,
54
+ priority: defaultPriority
68
55
  },
69
- };
70
- if (!(typeof beforeSync === 'function')) return [3 /*break*/, 2];
71
- return [4 /*yield*/, beforeSync({
72
- originalDoc: doc,
73
- searchDoc: dataToSave,
74
- payload: payload,
75
- })];
76
- case 1:
77
- dataToSave = _e.sent();
78
- _e.label = 2;
79
- case 2:
80
- defaultPriority = 0;
81
- if (!defaultPriorities) return [3 /*break*/, 8];
82
- _c = defaultPriorities, _d = collection, priority = _c[_d];
83
- if (!(typeof priority === 'function')) return [3 /*break*/, 7];
84
- _e.label = 3;
85
- case 3:
86
- _e.trys.push([3, 5, , 6]);
87
- return [4 /*yield*/, priority(doc)];
88
- case 4:
89
- defaultPriority = _e.sent();
90
- return [3 /*break*/, 6];
91
- case 5:
92
- err_1 = _e.sent();
93
- payload.logger.error(err_1);
94
- payload.logger.error("Error gathering default priority for search documents related to ".concat(collection));
95
- return [3 /*break*/, 6];
96
- case 6: return [3 /*break*/, 8];
97
- case 7:
98
- defaultPriority = priority;
99
- _e.label = 8;
100
- case 8:
101
- doSync = syncDrafts || (!syncDrafts && status !== 'draft');
102
- _e.label = 9;
103
- case 9:
104
- _e.trys.push([9, 14, , 15]);
105
- if (operation === 'create') {
106
- if (doSync) {
107
- payload.create({
108
- collection: 'search',
109
- data: __assign(__assign({}, dataToSave), { priority: defaultPriority }),
110
- });
56
+ req
57
+ });
58
+ }
59
+ }
60
+ if (operation === 'update') {
61
+ try {
62
+ // find the correct doc to sync with
63
+ const searchDocQuery = await payload.find({
64
+ collection: 'search',
65
+ depth: 0,
66
+ req,
67
+ where: {
68
+ 'doc.value': {
69
+ equals: id
70
+ }
111
71
  }
112
- }
113
- if (!(operation === 'update')) return [3 /*break*/, 13];
114
- _e.label = 10;
115
- case 10:
116
- _e.trys.push([10, 12, , 13]);
117
- return [4 /*yield*/, payload.find({
118
- collection: 'search',
119
- where: {
120
- 'doc.value': {
121
- equals: id,
122
- },
123
- },
124
- depth: 0,
125
- })];
126
- case 11:
127
- searchDocQuery = _e.sent();
128
- docs = (searchDocQuery === null || searchDocQuery === void 0 ? void 0 : searchDocQuery.docs) || [];
129
- foundDoc = docs[0], duplicativeDocs = docs.slice(1);
72
+ });
73
+ const docs = searchDocQuery?.docs || [];
74
+ const [foundDoc, ...duplicativeDocs] = docs;
130
75
  // delete all duplicative search docs (docs that reference the same page)
131
76
  // to ensure the same, out-of-date result does not appear twice (where only syncing the first found doc)
132
77
  if (duplicativeDocs.length > 0) {
133
78
  try {
134
- Promise.all(duplicativeDocs.map(function (_a) {
135
- var duplicativeDocID = _a.id;
136
- return payload.delete({
137
- collection: 'search',
138
- id: duplicativeDocID,
139
- });
140
- }));
141
- }
142
- catch (err) {
143
- payload.logger.error("Error deleting duplicative search documents.");
79
+ const duplicativeDocIDs = duplicativeDocs.map(({ id })=>id);
80
+ await payload.delete({
81
+ collection: 'search',
82
+ req,
83
+ where: {
84
+ id: {
85
+ in: duplicativeDocIDs
86
+ }
87
+ }
88
+ });
89
+ } catch (err) {
90
+ payload.logger.error(`Error deleting duplicative search documents.`);
144
91
  }
145
92
  }
146
93
  if (foundDoc) {
147
- searchDocID = foundDoc.id;
94
+ const { id: searchDocID } = foundDoc;
148
95
  if (doSync) {
149
96
  // update the doc normally
150
97
  try {
151
- payload.update({
152
- collection: 'search',
98
+ await payload.update({
153
99
  id: searchDocID,
154
- data: __assign(__assign({}, dataToSave), { priority: foundDoc.priority || defaultPriority }),
100
+ collection: 'search',
101
+ data: {
102
+ ...dataToSave,
103
+ priority: foundDoc.priority || defaultPriority
104
+ },
105
+ req
155
106
  });
156
- }
157
- catch (err) {
158
- payload.logger.error("Error updating search document.");
107
+ } catch (err) {
108
+ payload.logger.error(`Error updating search document.`);
159
109
  }
160
110
  }
161
111
  if (deleteDrafts && status === 'draft') {
162
112
  // do not include draft docs in search results, so delete the record
163
113
  try {
164
- payload.delete({
165
- collection: 'search',
114
+ await payload.delete({
166
115
  id: searchDocID,
116
+ collection: 'search',
117
+ req
167
118
  });
168
- }
169
- catch (err) {
170
- payload.logger.error("Error deleting search document: ".concat(err));
119
+ } catch (err) {
120
+ payload.logger.error(`Error deleting search document: ${err}`);
171
121
  }
172
122
  }
173
- }
174
- else if (doSync) {
123
+ } else if (doSync) {
175
124
  try {
176
- payload.create({
125
+ await payload.create({
177
126
  collection: 'search',
178
- data: __assign(__assign({}, dataToSave), { priority: defaultPriority }),
127
+ data: {
128
+ ...dataToSave,
129
+ priority: defaultPriority
130
+ },
131
+ req
179
132
  });
180
- }
181
- catch (err) {
182
- payload.logger.error("Error creating search document: ".concat(err));
133
+ } catch (err) {
134
+ payload.logger.error(`Error creating search document: ${err}`);
183
135
  }
184
136
  }
185
- return [3 /*break*/, 13];
186
- case 12:
187
- err_2 = _e.sent();
188
- payload.logger.error("Error finding search document: ".concat(err_2));
189
- return [3 /*break*/, 13];
190
- case 13: return [3 /*break*/, 15];
191
- case 14:
192
- err_3 = _e.sent();
193
- payload.logger.error("Error syncing search document related to ".concat(collection, " with id: '").concat(id, "': ").concat(err_3));
194
- return [3 /*break*/, 15];
195
- case 15: return [2 /*return*/, doc];
137
+ } catch (err) {
138
+ payload.logger.error(`Error finding search document: ${err}`);
139
+ }
196
140
  }
197
- });
198
- }); };
199
- exports.default = syncWithSearch;
200
- //# sourceMappingURL=syncWithSearch.js.map
141
+ } catch (err) {
142
+ payload.logger.error(`Error syncing search document related to ${collection} with id: '${id}': ${err}`);
143
+ }
144
+ return doc;
145
+ };
146
+ const _default = syncWithSearch;
147
+
148
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9TZWFyY2gvaG9va3Mvc3luY1dpdGhTZWFyY2gudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEb2NUb1N5bmMsIFNlYXJjaENvbmZpZywgU3luY1dpdGhTZWFyY2ggfSBmcm9tICcuLi8uLi90eXBlcydcblxuY29uc3Qgc3luY1dpdGhTZWFyY2g6IFN5bmNXaXRoU2VhcmNoID0gYXN5bmMgKGFyZ3MpID0+IHtcbiAgY29uc3Qge1xuICAgIGNvbGxlY3Rpb24sXG4gICAgZG9jLFxuICAgIG9wZXJhdGlvbixcbiAgICByZXE6IHsgcGF5bG9hZCB9LFxuICAgIHJlcSxcbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgc2VhcmNoQ29uZmlnLFxuICB9ID0gYXJnc1xuXG4gIGNvbnN0IHsgaWQsIF9zdGF0dXM6IHN0YXR1cywgdGl0bGUgfSA9IGRvYyB8fCB7fVxuXG4gIGNvbnN0IHsgYmVmb3JlU3luYywgZGVmYXVsdFByaW9yaXRpZXMsIGRlbGV0ZURyYWZ0cywgc3luY0RyYWZ0cyB9ID0gc2VhcmNoQ29uZmlnIGFzIFNlYXJjaENvbmZpZyAvLyB0b2RvIGZpeCBTeW5jV2l0aFNlYXJjaCB0eXBlLCBzZWUgbm90ZSBpbiAuL3R5cGVzLnRzXG5cbiAgbGV0IGRhdGFUb1NhdmU6IERvY1RvU3luYyA9IHtcbiAgICBkb2M6IHtcbiAgICAgIHJlbGF0aW9uVG86IGNvbGxlY3Rpb24sXG4gICAgICB2YWx1ZTogaWQsXG4gICAgfSxcbiAgICB0aXRsZSxcbiAgfVxuXG4gIGlmICh0eXBlb2YgYmVmb3JlU3luYyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIGRhdGFUb1NhdmUgPSBhd2FpdCBiZWZvcmVTeW5jKHtcbiAgICAgIG9yaWdpbmFsRG9jOiBkb2MsXG4gICAgICBwYXlsb2FkLFxuICAgICAgcmVxLFxuICAgICAgc2VhcmNoRG9jOiBkYXRhVG9TYXZlLFxuICAgIH0pXG4gIH1cblxuICBsZXQgZGVmYXVsdFByaW9yaXR5ID0gMFxuICBpZiAoZGVmYXVsdFByaW9yaXRpZXMpIHtcbiAgICBjb25zdCB7IFtjb2xsZWN0aW9uXTogcHJpb3JpdHkgfSA9IGRlZmF1bHRQcmlvcml0aWVzXG5cbiAgICBpZiAodHlwZW9mIHByaW9yaXR5ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICB0cnkge1xuICAgICAgICBkZWZhdWx0UHJpb3JpdHkgPSBhd2FpdCBwcmlvcml0eShkb2MpXG4gICAgICB9IGNhdGNoIChlcnI6IHVua25vd24pIHtcbiAgICAgICAgcGF5bG9hZC5sb2dnZXIuZXJyb3IoZXJyKVxuICAgICAgICBwYXlsb2FkLmxvZ2dlci5lcnJvcihcbiAgICAgICAgICBgRXJyb3IgZ2F0aGVyaW5nIGRlZmF1bHQgcHJpb3JpdHkgZm9yIHNlYXJjaCBkb2N1bWVudHMgcmVsYXRlZCB0byAke2NvbGxlY3Rpb259YCxcbiAgICAgICAgKVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBkZWZhdWx0UHJpb3JpdHkgPSBwcmlvcml0eVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGRvU3luYyA9IHN5bmNEcmFmdHMgfHwgKCFzeW5jRHJhZnRzICYmIHN0YXR1cyAhPT0gJ2RyYWZ0JylcblxuICB0cnkge1xuICAgIGlmIChvcGVyYXRpb24gPT09ICdjcmVhdGUnKSB7XG4gICAgICBpZiAoZG9TeW5jKSB7XG4gICAgICAgIGF3YWl0IHBheWxvYWQuY3JlYXRlKHtcbiAgICAgICAgICBjb2xsZWN0aW9uOiAnc2VhcmNoJyxcbiAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAuLi5kYXRhVG9TYXZlLFxuICAgICAgICAgICAgcHJpb3JpdHk6IGRlZmF1bHRQcmlvcml0eSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHJlcSxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAob3BlcmF0aW9uID09PSAndXBkYXRlJykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gZmluZCB0aGUgY29ycmVjdCBkb2MgdG8gc3luYyB3aXRoXG4gICAgICAgIGNvbnN0IHNlYXJjaERvY1F1ZXJ5ID0gYXdhaXQgcGF5bG9hZC5maW5kKHtcbiAgICAgICAgICBjb2xsZWN0aW9uOiAnc2VhcmNoJyxcbiAgICAgICAgICBkZXB0aDogMCxcbiAgICAgICAgICByZXEsXG4gICAgICAgICAgd2hlcmU6IHtcbiAgICAgICAgICAgICdkb2MudmFsdWUnOiB7XG4gICAgICAgICAgICAgIGVxdWFsczogaWQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pXG5cbiAgICAgICAgY29uc3QgZG9jczogQXJyYXk8e1xuICAgICAgICAgIGlkOiBudW1iZXIgfCBzdHJpbmdcbiAgICAgICAgICBwcmlvcml0eT86IG51bWJlclxuICAgICAgICB9PiA9IHNlYXJjaERvY1F1ZXJ5Py5kb2NzIHx8IFtdXG5cbiAgICAgICAgY29uc3QgW2ZvdW5kRG9jLCAuLi5kdXBsaWNhdGl2ZURvY3NdID0gZG9jc1xuXG4gICAgICAgIC8vIGRlbGV0ZSBhbGwgZHVwbGljYXRpdmUgc2VhcmNoIGRvY3MgKGRvY3MgdGhhdCByZWZlcmVuY2UgdGhlIHNhbWUgcGFnZSlcbiAgICAgICAgLy8gdG8gZW5zdXJlIHRoZSBzYW1lLCBvdXQtb2YtZGF0ZSByZXN1bHQgZG9lcyBub3QgYXBwZWFyIHR3aWNlICh3aGVyZSBvbmx5IHN5bmNpbmcgdGhlIGZpcnN0IGZvdW5kIGRvYylcbiAgICAgICAgaWYgKGR1cGxpY2F0aXZlRG9jcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGR1cGxpY2F0aXZlRG9jSURzID0gZHVwbGljYXRpdmVEb2NzLm1hcCgoeyBpZCB9KSA9PiBpZClcbiAgICAgICAgICAgIGF3YWl0IHBheWxvYWQuZGVsZXRlKHtcbiAgICAgICAgICAgICAgY29sbGVjdGlvbjogJ3NlYXJjaCcsXG4gICAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICAgICAgd2hlcmU6IHsgaWQ6IHsgaW46IGR1cGxpY2F0aXZlRG9jSURzIH0gfSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfSBjYXRjaCAoZXJyOiB1bmtub3duKSB7XG4gICAgICAgICAgICBwYXlsb2FkLmxvZ2dlci5lcnJvcihgRXJyb3IgZGVsZXRpbmcgZHVwbGljYXRpdmUgc2VhcmNoIGRvY3VtZW50cy5gKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmb3VuZERvYykge1xuICAgICAgICAgIGNvbnN0IHsgaWQ6IHNlYXJjaERvY0lEIH0gPSBmb3VuZERvY1xuXG4gICAgICAgICAgaWYgKGRvU3luYykge1xuICAgICAgICAgICAgLy8gdXBkYXRlIHRoZSBkb2Mgbm9ybWFsbHlcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIGF3YWl0IHBheWxvYWQudXBkYXRlKHtcbiAgICAgICAgICAgICAgICBpZDogc2VhcmNoRG9jSUQsXG4gICAgICAgICAgICAgICAgY29sbGVjdGlvbjogJ3NlYXJjaCcsXG4gICAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgICAgLi4uZGF0YVRvU2F2ZSxcbiAgICAgICAgICAgICAgICAgIHByaW9yaXR5OiBmb3VuZERvYy5wcmlvcml0eSB8fCBkZWZhdWx0UHJpb3JpdHksXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICByZXEsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9IGNhdGNoIChlcnI6IHVua25vd24pIHtcbiAgICAgICAgICAgICAgcGF5bG9hZC5sb2dnZXIuZXJyb3IoYEVycm9yIHVwZGF0aW5nIHNlYXJjaCBkb2N1bWVudC5gKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZGVsZXRlRHJhZnRzICYmIHN0YXR1cyA9PT0gJ2RyYWZ0Jykge1xuICAgICAgICAgICAgLy8gZG8gbm90IGluY2x1ZGUgZHJhZnQgZG9jcyBpbiBzZWFyY2ggcmVzdWx0cywgc28gZGVsZXRlIHRoZSByZWNvcmRcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIGF3YWl0IHBheWxvYWQuZGVsZXRlKHtcbiAgICAgICAgICAgICAgICBpZDogc2VhcmNoRG9jSUQsXG4gICAgICAgICAgICAgICAgY29sbGVjdGlvbjogJ3NlYXJjaCcsXG4gICAgICAgICAgICAgICAgcmVxLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSBjYXRjaCAoZXJyOiB1bmtub3duKSB7XG4gICAgICAgICAgICAgIHBheWxvYWQubG9nZ2VyLmVycm9yKGBFcnJvciBkZWxldGluZyBzZWFyY2ggZG9jdW1lbnQ6ICR7ZXJyfWApXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKGRvU3luYykge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBhd2FpdCBwYXlsb2FkLmNyZWF0ZSh7XG4gICAgICAgICAgICAgIGNvbGxlY3Rpb246ICdzZWFyY2gnLFxuICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgLi4uZGF0YVRvU2F2ZSxcbiAgICAgICAgICAgICAgICBwcmlvcml0eTogZGVmYXVsdFByaW9yaXR5LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICByZXEsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH0gY2F0Y2ggKGVycjogdW5rbm93bikge1xuICAgICAgICAgICAgcGF5bG9hZC5sb2dnZXIuZXJyb3IoYEVycm9yIGNyZWF0aW5nIHNlYXJjaCBkb2N1bWVudDogJHtlcnJ9YClcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycjogdW5rbm93bikge1xuICAgICAgICBwYXlsb2FkLmxvZ2dlci5lcnJvcihgRXJyb3IgZmluZGluZyBzZWFyY2ggZG9jdW1lbnQ6ICR7ZXJyfWApXG4gICAgICB9XG4gICAgfVxuICB9IGNhdGNoIChlcnI6IHVua25vd24pIHtcbiAgICBwYXlsb2FkLmxvZ2dlci5lcnJvcihcbiAgICAgIGBFcnJvciBzeW5jaW5nIHNlYXJjaCBkb2N1bWVudCByZWxhdGVkIHRvICR7Y29sbGVjdGlvbn0gd2l0aCBpZDogJyR7aWR9JzogJHtlcnJ9YCxcbiAgICApXG4gIH1cblxuICByZXR1cm4gZG9jXG59XG5cbmV4cG9ydCBkZWZhdWx0IHN5bmNXaXRoU2VhcmNoXG4iXSwibmFtZXMiOlsic3luY1dpdGhTZWFyY2giLCJhcmdzIiwiY29sbGVjdGlvbiIsImRvYyIsIm9wZXJhdGlvbiIsInJlcSIsInBheWxvYWQiLCJzZWFyY2hDb25maWciLCJpZCIsIl9zdGF0dXMiLCJzdGF0dXMiLCJ0aXRsZSIsImJlZm9yZVN5bmMiLCJkZWZhdWx0UHJpb3JpdGllcyIsImRlbGV0ZURyYWZ0cyIsInN5bmNEcmFmdHMiLCJkYXRhVG9TYXZlIiwicmVsYXRpb25UbyIsInZhbHVlIiwib3JpZ2luYWxEb2MiLCJzZWFyY2hEb2MiLCJkZWZhdWx0UHJpb3JpdHkiLCJwcmlvcml0eSIsImVyciIsImxvZ2dlciIsImVycm9yIiwiZG9TeW5jIiwiY3JlYXRlIiwiZGF0YSIsInNlYXJjaERvY1F1ZXJ5IiwiZmluZCIsImRlcHRoIiwid2hlcmUiLCJlcXVhbHMiLCJkb2NzIiwiZm91bmREb2MiLCJkdXBsaWNhdGl2ZURvY3MiLCJsZW5ndGgiLCJkdXBsaWNhdGl2ZURvY0lEcyIsIm1hcCIsImRlbGV0ZSIsImluIiwic2VhcmNoRG9jSUQiLCJ1cGRhdGUiXSwibWFwcGluZ3MiOiI7Ozs7K0JBa0tBOzs7ZUFBQTs7O0FBaEtBLE1BQU1BLGlCQUFpQyxPQUFPQztJQUM1QyxNQUFNLEVBQ0pDLFVBQVUsRUFDVkMsR0FBRyxFQUNIQyxTQUFTLEVBQ1RDLEtBQUssRUFBRUMsT0FBTyxFQUFFLEVBQ2hCRCxHQUFHLEVBQ0gsbUJBQW1CO0lBQ25CRSxZQUFZLEVBQ2IsR0FBR047SUFFSixNQUFNLEVBQUVPLEVBQUUsRUFBRUMsU0FBU0MsTUFBTSxFQUFFQyxLQUFLLEVBQUUsR0FBR1IsT0FBTyxDQUFDO0lBRS9D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
@@ -1,3 +1,4 @@
1
1
  import type { CollectionConfig } from 'payload/types';
2
2
  import type { SearchConfig } from '../types';
3
3
  export declare const generateSearchCollection: (searchConfig: SearchConfig) => CollectionConfig;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Search/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAIrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAK5C,eAAO,MAAM,wBAAwB,iBAAkB,YAAY,KAAG,gBA2DnE,CAAA"}