payload-ai 0.0.1

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 (73) hide show
  1. package/.editorconfig +10 -0
  2. package/.eslintrc.js +17 -0
  3. package/.github/workflows/publish.yml +21 -0
  4. package/.github/workflows/test.yml +20 -0
  5. package/.prettierrc.js +8 -0
  6. package/LICENSE +21 -0
  7. package/README.md +237 -0
  8. package/dev/.env.example +3 -0
  9. package/dev/Dockerfile +27 -0
  10. package/dev/docker-compose.yml +31 -0
  11. package/dev/jest.config.js +12 -0
  12. package/dev/nodemon.json +6 -0
  13. package/dev/package.json +35 -0
  14. package/dev/plugin.spec.ts +30 -0
  15. package/dev/src/collections/Examples.ts +18 -0
  16. package/dev/src/collections/Users.ts +15 -0
  17. package/dev/src/mocks/fileStub.js +1 -0
  18. package/dev/src/payload.config.ts +57 -0
  19. package/dev/src/server.ts +29 -0
  20. package/dev/tsconfig.json +34 -0
  21. package/dist/aiTranslate.d.ts +5 -0
  22. package/dist/aiTranslate.js +206 -0
  23. package/dist/aiTranslate.js.map +1 -0
  24. package/dist/components/AfterDashboard/index.d.ts +3 -0
  25. package/dist/components/AfterDashboard/index.js +17 -0
  26. package/dist/components/AfterDashboard/index.js.map +1 -0
  27. package/dist/components/Translator/index.d.ts +2 -0
  28. package/dist/components/Translator/index.js +87 -0
  29. package/dist/components/Translator/index.js.map +1 -0
  30. package/dist/handleTranslate.d.ts +3 -0
  31. package/dist/handleTranslate.js +55 -0
  32. package/dist/handleTranslate.js.map +1 -0
  33. package/dist/index.d.ts +2 -0
  34. package/dist/index.js +6 -0
  35. package/dist/index.js.map +1 -0
  36. package/dist/mocks/mockFile.d.ts +1 -0
  37. package/dist/mocks/mockFile.js +3 -0
  38. package/dist/mocks/mockFile.js.map +1 -0
  39. package/dist/newCollection.d.ts +3 -0
  40. package/dist/newCollection.js +16 -0
  41. package/dist/newCollection.js.map +1 -0
  42. package/dist/onInitExtension.d.ts +3 -0
  43. package/dist/onInitExtension.js +17 -0
  44. package/dist/onInitExtension.js.map +1 -0
  45. package/dist/plugin.d.ts +3 -0
  46. package/dist/plugin.js +171 -0
  47. package/dist/plugin.js.map +1 -0
  48. package/dist/types.d.ts +20 -0
  49. package/dist/types.js +3 -0
  50. package/dist/types.js.map +1 -0
  51. package/dist/webpack.d.ts +3 -0
  52. package/dist/webpack.js +32 -0
  53. package/dist/webpack.js.map +1 -0
  54. package/eslint-config/index.js +15 -0
  55. package/eslint-config/rules/import.js +38 -0
  56. package/eslint-config/rules/prettier.js +7 -0
  57. package/eslint-config/rules/style.js +21 -0
  58. package/eslint-config/rules/typescript.js +628 -0
  59. package/package.json +52 -0
  60. package/src/aiTranslate.ts +150 -0
  61. package/src/components/AfterDashboard/index.scss +10 -0
  62. package/src/components/AfterDashboard/index.tsx +18 -0
  63. package/src/components/Translator/index.scss +10 -0
  64. package/src/components/Translator/index.tsx +43 -0
  65. package/src/handleTranslate.ts +41 -0
  66. package/src/index.ts +2 -0
  67. package/src/mocks/mockFile.js +1 -0
  68. package/src/newCollection.ts +16 -0
  69. package/src/onInitExtension.ts +16 -0
  70. package/src/plugin.ts +143 -0
  71. package/src/types.ts +22 -0
  72. package/src/webpack.ts +28 -0
  73. package/tsconfig.json +23 -0
@@ -0,0 +1,206 @@
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 };
36
+ }
37
+ };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ var openai_1 = __importDefault(require("openai"));
43
+ function translateText(text, language) {
44
+ return __awaiter(this, void 0, void 0, function () {
45
+ var openai, content, chatCompletion, newItemResult;
46
+ return __generator(this, function (_a) {
47
+ switch (_a.label) {
48
+ case 0:
49
+ if (typeof text !== 'string') {
50
+ return [2 /*return*/, text];
51
+ }
52
+ openai = new openai_1.default({
53
+ apiKey: process.env.OPENAI_API_KEY,
54
+ });
55
+ content = "Translate to ".concat(language, " (ISO-2-Code). ").concat(typeof text !== 'string'
56
+ ? 'Keep the json structure. Only return the json'
57
+ : 'Only return the translated text without any comment', ": ").concat(typeof text !== 'string' ? JSON.stringify(text) : text);
58
+ return [4 /*yield*/, openai.chat.completions.create({
59
+ messages: [
60
+ {
61
+ role: 'user',
62
+ content: content,
63
+ },
64
+ ],
65
+ model: 'gpt-3.5-turbo',
66
+ })
67
+ //console.log('Translated', language, content, chatCompletion.choices[0].message.content)
68
+ ];
69
+ case 1:
70
+ chatCompletion = _a.sent();
71
+ newItemResult = typeof text !== 'string'
72
+ ? JSON.parse(chatCompletion.choices[0].message.content)
73
+ : chatCompletion.choices[0].message.content;
74
+ return [2 /*return*/, newItemResult];
75
+ }
76
+ });
77
+ });
78
+ }
79
+ var colllectionObj = {}; // Assuming targetObj is initialized somewhere
80
+ function deepCompareTranslateAndMerge(newOriginalObj, originalObj, targetObj, key, language) {
81
+ return __awaiter(this, void 0, void 0, function () {
82
+ var promises;
83
+ var _this = this;
84
+ return __generator(this, function (_a) {
85
+ switch (_a.label) {
86
+ case 0:
87
+ if (!Array.isArray(newOriginalObj)) return [3 /*break*/, 1];
88
+ return [2 /*return*/, Promise.all(newOriginalObj.map(function (item, index) {
89
+ return deepCompareTranslateAndMerge(item, originalObj === null || originalObj === void 0 ? void 0 : originalObj[index], targetObj === null || targetObj === void 0 ? void 0 : targetObj[index], key, language);
90
+ }))];
91
+ case 1:
92
+ if (!(typeof newOriginalObj === 'object' && newOriginalObj !== null)) return [3 /*break*/, 3];
93
+ promises = Object.keys(newOriginalObj).map(function (prop) { return __awaiter(_this, void 0, void 0, function () {
94
+ var _a, _b, _c, _d;
95
+ return __generator(this, function (_e) {
96
+ switch (_e.label) {
97
+ case 0:
98
+ if (!newOriginalObj.hasOwnProperty(prop)) return [3 /*break*/, 5];
99
+ if (!(prop === key) /*&& typeof newOriginalObj[prop] === 'string'*/) return [3 /*break*/, 3]; /*&& typeof newOriginalObj[prop] === 'string'*/
100
+ if (!((originalObj === null || originalObj === void 0 ? void 0 : originalObj[prop]) === undefined ||
101
+ JSON.stringify(newOriginalObj[prop]) !== JSON.stringify(originalObj[prop]))) return [3 /*break*/, 2];
102
+ console.log('sewsddsaaddasdsada', newOriginalObj, prop, key);
103
+ // Translate the text and merge it into the English object
104
+ _a = targetObj;
105
+ _b = prop;
106
+ return [4 /*yield*/, translateText(newOriginalObj[prop], language)];
107
+ case 1:
108
+ // Translate the text and merge it into the English object
109
+ _a[_b] = _e.sent();
110
+ _e.label = 2;
111
+ case 2: return [3 /*break*/, 5];
112
+ case 3:
113
+ if (!(typeof newOriginalObj[prop] === 'object' &&
114
+ typeof targetObj[prop] === 'object')) return [3 /*break*/, 5];
115
+ // console.log('propaaaaaaa', targetObj?.[prop], targetObj, prop)
116
+ _c = targetObj;
117
+ _d = prop;
118
+ return [4 /*yield*/, deepCompareTranslateAndMerge(newOriginalObj[prop], (originalObj === null || originalObj === void 0 ? void 0 : originalObj[prop]) || null, targetObj[prop] || null, key, language)];
119
+ case 4:
120
+ // console.log('propaaaaaaa', targetObj?.[prop], targetObj, prop)
121
+ _c[_d] = _e.sent();
122
+ _e.label = 5;
123
+ case 5: return [2 /*return*/];
124
+ }
125
+ });
126
+ }); });
127
+ return [4 /*yield*/, Promise.all(promises)];
128
+ case 2:
129
+ _a.sent();
130
+ _a.label = 3;
131
+ case 3: return [2 /*return*/, targetObj];
132
+ }
133
+ });
134
+ });
135
+ }
136
+ var aiTranslate = function (_a, fallback) {
137
+ var collection = _a.collection;
138
+ return function (_a) {
139
+ var doc = _a.doc, req = _a.req, previousDoc = _a.previousDoc, context = _a.context, collection = _a.collection;
140
+ return __awaiter(void 0, void 0, void 0, function () {
141
+ var originalDoc_1, localCodes, translationPromises, results, error_1;
142
+ return __generator(this, function (_b) {
143
+ switch (_b.label) {
144
+ case 0:
145
+ _b.trys.push([0, 2, , 3]);
146
+ originalDoc_1 = previousDoc;
147
+ if (context.triggerAfterChange === false ||
148
+ req.locale !== req.payload.config.localization.defaultLocale ||
149
+ !(originalDoc_1 === null || originalDoc_1 === void 0 ? void 0 : originalDoc_1.id)) {
150
+ return [2 /*return*/];
151
+ }
152
+ localCodes = req.payload.config.localization.localeCodes;
153
+ translationPromises = localCodes
154
+ .filter(function (targetLanguage) { return targetLanguage !== req.payload.config.localization.defaultLocale; })
155
+ .map(function (targetLanguage) { return __awaiter(void 0, void 0, void 0, function () {
156
+ var targetDoc, targetDocWithTranslation, updatedLanguage;
157
+ return __generator(this, function (_a) {
158
+ switch (_a.label) {
159
+ case 0: return [4 /*yield*/, req.payload.findByID({
160
+ req: req,
161
+ collection: collection.slug,
162
+ id: originalDoc_1.id,
163
+ locale: targetLanguage,
164
+ limit: 0,
165
+ depth: 0,
166
+ })];
167
+ case 1:
168
+ targetDoc = _a.sent();
169
+ return [4 /*yield*/, deepCompareTranslateAndMerge(doc, originalDoc_1, targetDoc, 'richText', targetLanguage)];
170
+ case 2:
171
+ targetDocWithTranslation = _a.sent();
172
+ console.log('targetDocWithTranslation', targetDocWithTranslation);
173
+ return [4 /*yield*/, req.payload.update({
174
+ req: req,
175
+ collection: collection.slug,
176
+ id: originalDoc_1.id,
177
+ data: targetDocWithTranslation,
178
+ locale: targetLanguage,
179
+ limit: 0,
180
+ depth: 0,
181
+ context: {
182
+ triggerAfterChange: false,
183
+ },
184
+ })];
185
+ case 3:
186
+ updatedLanguage = _a.sent();
187
+ return [2 /*return*/, updatedLanguage];
188
+ }
189
+ });
190
+ }); });
191
+ return [4 /*yield*/, Promise.all(translationPromises)];
192
+ case 1:
193
+ results = _b.sent();
194
+ return [3 /*break*/, 3];
195
+ case 2:
196
+ error_1 = _b.sent();
197
+ console.log('error while generating languages', error_1);
198
+ return [3 /*break*/, 3];
199
+ case 3: return [2 /*return*/];
200
+ }
201
+ });
202
+ });
203
+ };
204
+ };
205
+ exports.default = aiTranslate;
206
+ //# sourceMappingURL=aiTranslate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aiTranslate.js","sourceRoot":"","sources":["../src/aiTranslate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const AfterDashboard: React.FC;
3
+ export default AfterDashboard;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ var react_1 = __importDefault(require("react"));
7
+ // import './index.scss';
8
+ var baseClass = 'after-dashboard';
9
+ var AfterDashboard = function () {
10
+ return (react_1.default.createElement("div", { className: baseClass },
11
+ react_1.default.createElement("h4", null, "This component was added by the plugin"),
12
+ react_1.default.createElement("h5", null,
13
+ "Find it here: ",
14
+ react_1.default.createElement("code", null, "src/components/afterDashboard"))));
15
+ };
16
+ exports.default = AfterDashboard;
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/AfterDashboard/index.tsx"],"names":[],"mappings":";;;;;AAAA,gDAAyB;AAEzB,yBAAyB;AAEzB,IAAM,SAAS,GAAG,iBAAiB,CAAA;AAEnC,IAAM,cAAc,GAAa;IAC/B,OAAO,CACL,uCAAK,SAAS,EAAE,SAAS;QACvB,mFAA+C;QAC/C;;YACgB,4EAA0C,CACrD,CACD,CACP,CAAA;AACH,CAAC,CAAA;AAED,kBAAe,cAAc,CAAA"}
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const Translator: React.FC;
@@ -0,0 +1,87 @@
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 };
36
+ }
37
+ };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.Translator = void 0;
43
+ var react_1 = __importDefault(require("react"));
44
+ // import './index.scss';
45
+ var elements_1 = require("payload/components/elements");
46
+ var baseClass = 'after-dashboard';
47
+ var Translator = function () {
48
+ var _a = react_1.default.useState(false), isLoading = _a[0], setIsLoading = _a[1];
49
+ var translate = function () { return __awaiter(void 0, void 0, void 0, function () {
50
+ var response, translatedValues, error_1;
51
+ return __generator(this, function (_a) {
52
+ switch (_a.label) {
53
+ case 0:
54
+ _a.trys.push([0, 3, , 4]);
55
+ return [4 /*yield*/, fetch('/api/ai-translator', {
56
+ method: 'POST',
57
+ headers: {
58
+ 'Content-Type': 'application/json',
59
+ },
60
+ body: JSON.stringify({
61
+ texts: 'sss', // valuesToTranslate.map(({ value }) => value),
62
+ // from: localeTranslateFrom,
63
+ // to: locale,
64
+ }),
65
+ })];
66
+ case 1:
67
+ response = _a.sent();
68
+ return [4 /*yield*/, response.json()];
69
+ case 2:
70
+ translatedValues = _a.sent();
71
+ setIsLoading(false);
72
+ return [3 /*break*/, 4];
73
+ case 3:
74
+ error_1 = _a.sent();
75
+ setIsLoading(false);
76
+ console.error(error_1);
77
+ return [3 /*break*/, 4];
78
+ case 4: return [2 /*return*/];
79
+ }
80
+ });
81
+ }); };
82
+ return (react_1.default.createElement("div", { className: baseClass },
83
+ react_1.default.createElement(elements_1.Button, { disabled: isLoading, size: "small", onClick: translate },
84
+ react_1.default.createElement("span", null, "Translate content from default language"))));
85
+ };
86
+ exports.Translator = Translator;
87
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Translator/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAyB;AAEzB,yBAAyB;AAEzB,wDAAoD;AAEpD,IAAM,SAAS,GAAG,iBAAiB,CAAA;AAE5B,IAAM,UAAU,GAAa;IAC5B,IAAA,KAA4B,eAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAhD,SAAS,QAAA,EAAE,YAAY,QAAyB,CAAA;IAEvD,IAAM,SAAS,GAAG;;;;;;oBAEG,qBAAM,KAAK,CAAC,oBAAoB,EAAE;4BACjD,MAAM,EAAE,MAAM;4BACd,OAAO,EAAE;gCACP,cAAc,EAAE,kBAAkB;6BACnC;4BACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gCACnB,KAAK,EAAE,KAAK,EAAE,+CAA+C;gCAC7D,6BAA6B;gCAC7B,cAAc;6BACf,CAAC;yBACH,CAAC,EAAA;;oBAVI,QAAQ,GAAG,SAUf;oBAEuB,qBAAM,QAAQ,CAAC,IAAI,EAAE,EAAA;;oBAAxC,gBAAgB,GAAG,SAAqB;oBAE9C,YAAY,CAAC,KAAK,CAAC,CAAA;;;;oBAEnB,YAAY,CAAC,KAAK,CAAC,CAAA;oBACnB,OAAO,CAAC,KAAK,CAAC,OAAK,CAAC,CAAA;;;;;SAEvB,CAAA;IAED,OAAO,CACL,uCAAK,SAAS,EAAE,SAAS;QACvB,8BAAC,iBAAM,IAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAC,OAAO,EAAC,OAAO,EAAE,SAAS;YAC1D,sFAAoD,CAE7C,CACL,CACP,CAAA;AACH,CAAC,CAAA;AAlCY,QAAA,UAAU,cAkCtB"}
@@ -0,0 +1,3 @@
1
+ import { TranslatorConfig } from './types';
2
+ import { PayloadHandler } from 'payload/config';
3
+ export declare const createTranslatorHandler: (translatorConfig: TranslatorConfig) => PayloadHandler;
@@ -0,0 +1,55 @@
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 };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.createTranslatorHandler = void 0;
40
+ var createTranslatorHandler = function (translatorConfig) {
41
+ /*const translateService = translatorConfig.translateService
42
+ ? translatorConfig.translateService
43
+ : createGoogleTranslateService(translatorConfig.GOOGLE_API_KEY as string)
44
+ */
45
+ return function (req, res) { return __awaiter(void 0, void 0, void 0, function () {
46
+ var translated;
47
+ return __generator(this, function (_a) {
48
+ translated = { result: 'translated' };
49
+ res.json(translated);
50
+ return [2 /*return*/];
51
+ });
52
+ }); };
53
+ };
54
+ exports.createTranslatorHandler = createTranslatorHandler;
55
+ //# sourceMappingURL=handleTranslate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleTranslate.js","sourceRoot":"","sources":["../src/handleTranslate.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGO,IAAM,uBAAuB,GAAG,UAAC,gBAAkC;IACxE;;;IAGA;IACA,OAAO,UAAO,GAAG,EAAE,GAAG;;;YA6Bd,UAAU,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,CAAA;YAC3C,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;;;SACrB,CAAA;AACH,CAAC,CAAA;AArCY,QAAA,uBAAuB,2BAqCnC"}
@@ -0,0 +1,2 @@
1
+ export { aiTranslatorPlugin } from './plugin';
2
+ export type { PluginTypes } from './types';
package/dist/index.js ADDED
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.aiTranslatorPlugin = void 0;
4
+ var plugin_1 = require("./plugin");
5
+ Object.defineProperty(exports, "aiTranslatorPlugin", { enumerable: true, get: function () { return plugin_1.aiTranslatorPlugin; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mCAA6C;AAApC,4GAAA,kBAAkB,OAAA"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ module.exports = {};
3
+ //# sourceMappingURL=mockFile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockFile.js","sourceRoot":"","sources":["../../src/mocks/mockFile.js"],"names":[],"mappings":";AAAA,MAAM,CAAC,OAAO,GAAG,EAAE,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { CollectionConfig } from 'payload/types';
2
+ declare const newCollection: CollectionConfig;
3
+ export default newCollection;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var newCollection = {
4
+ slug: 'new-collection',
5
+ admin: {
6
+ useAsTitle: 'title',
7
+ },
8
+ fields: [
9
+ {
10
+ name: 'title',
11
+ type: 'text',
12
+ },
13
+ ],
14
+ };
15
+ exports.default = newCollection;
16
+ //# sourceMappingURL=newCollection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"newCollection.js","sourceRoot":"","sources":["../src/newCollection.ts"],"names":[],"mappings":";;AAEA,IAAM,aAAa,GAAqB;IACtC,IAAI,EAAE,gBAAgB;IACtB,KAAK,EAAE;QACL,UAAU,EAAE,OAAO;KACpB;IACD,MAAM,EAAE;QACN;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,MAAM;SACb;KACF;CACF,CAAA;AAED,kBAAe,aAAa,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Payload } from 'payload/dist/payload';
2
+ import type { PluginTypes } from './types';
3
+ export declare const onInitExtension: (pluginOptions: PluginTypes, payload: Payload) => void;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.onInitExtension = void 0;
4
+ var onInitExtension = function (pluginOptions, payload) {
5
+ var app = payload.express;
6
+ if (!app)
7
+ return;
8
+ try {
9
+ // You can use the existing express app here to add middleware, routes, etc.
10
+ // app.use(...)
11
+ }
12
+ catch (err) {
13
+ // payload.logger(err)
14
+ }
15
+ };
16
+ exports.onInitExtension = onInitExtension;
17
+ //# sourceMappingURL=onInitExtension.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onInitExtension.js","sourceRoot":"","sources":["../src/onInitExtension.ts"],"names":[],"mappings":";;;AAIO,IAAM,eAAe,GAAG,UAAC,aAA0B,EAAE,OAAgB;IAClE,IAAS,GAAG,GAAK,OAAO,QAAZ,CAAY;IAEhC,IAAI,CAAC,GAAG;QAAE,OAAM;IAEhB,IAAI;QACF,4EAA4E;QAC5E,eAAe;KAChB;IAAC,OAAO,GAAY,EAAE;QACrB,sBAAsB;KACvB;AACH,CAAC,CAAA;AAXY,QAAA,eAAe,mBAW3B"}
@@ -0,0 +1,3 @@
1
+ import type { Plugin } from 'payload/config';
2
+ import type { PluginTypes } from './types';
3
+ export declare const aiTranslatorPlugin: (pluginOptions: PluginTypes) => Plugin;