payload-ai 0.0.3 → 0.0.4
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.
- package/README.md +58 -2
- package/dev/package.json +4 -2
- package/dev/src/collections/Examples.ts +19 -2
- package/dev/src/collections/ExamplesWithVersions.ts +12 -2
- package/dev/src/payload.config.ts +15 -6
- package/dist/aiTranslate.js +32 -23
- package/dist/aiTranslate.js.map +1 -1
- package/dist/components/Metadata/index.d.ts +2 -0
- package/dist/components/Metadata/index.js +101 -0
- package/dist/components/Metadata/index.js.map +1 -0
- package/dist/components/Translator/index.js +1 -3
- package/dist/components/Translator/index.js.map +1 -1
- package/dist/deepCompareAndMerge.d.ts +1 -1
- package/dist/deepCompareAndMerge.js +13 -18
- package/dist/deepCompareAndMerge.js.map +1 -1
- package/dist/generateImage.d.ts +1 -0
- package/dist/generateImage.js +80 -0
- package/dist/generateImage.js.map +1 -0
- package/dist/generateText.d.ts +5 -0
- package/dist/generateText.js +90 -0
- package/dist/generateText.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/plugin.js +8 -4
- package/dist/plugin.js.map +1 -1
- package/dist/seoTools.d.ts +2 -0
- package/dist/seoTools.js +135 -0
- package/dist/seoTools.js.map +1 -0
- package/dist/stringTranslations.js +12 -0
- package/dist/stringTranslations.js.map +1 -1
- package/dist/translateTextAndObjects copy.d.ts +1 -0
- package/dist/translateTextAndObjects copy.js +84 -0
- package/dist/translateTextAndObjects copy.js.map +1 -0
- package/dist/translateTextAndObjects.d.ts +1 -1
- package/dist/translateTextAndObjects.js +48 -22
- package/dist/translateTextAndObjects.js.map +1 -1
- package/package.json +1 -1
- package/src/aiTranslate.ts +18 -15
- package/src/components/Metadata/index.scss +10 -0
- package/src/components/Metadata/index.tsx +59 -0
- package/src/components/Translator/index.tsx +1 -2
- package/src/deepCompareAndMerge.ts +9 -9
- package/src/generateImage.ts +39 -0
- package/src/generateText.ts +27 -0
- package/src/index.ts +2 -0
- package/src/plugin.ts +22 -4
- package/src/seoTools.ts +75 -0
- package/src/stringTranslations.ts +12 -0
- package/src/translateTextAndObjects copy.ts +77 -0
- package/src/translateTextAndObjects.ts +52 -23
package/README.md
CHANGED
|
@@ -36,19 +36,75 @@ export const config = buildConfig({
|
|
|
36
36
|
|
|
37
37
|
Add the `collections` where you want to enable the translation and the `fields`. It will translate each field (also nested fields) on every update of the default language.
|
|
38
38
|
|
|
39
|
-
```
|
|
39
|
+
```ts
|
|
40
40
|
plugins: [
|
|
41
41
|
aiTranslatorPlugin({
|
|
42
42
|
enabled: true,
|
|
43
43
|
collections: {
|
|
44
44
|
examples: {
|
|
45
|
-
|
|
45
|
+
// prompts: [myCollectionPrompt]
|
|
46
|
+
fields: [
|
|
47
|
+
'stringText',
|
|
48
|
+
'richText',
|
|
49
|
+
{
|
|
50
|
+
"fieldWithCustomPrompt":
|
|
51
|
+
{prompt: myPromptFunction}
|
|
52
|
+
}
|
|
53
|
+
],
|
|
46
54
|
},
|
|
47
55
|
},
|
|
48
56
|
}),
|
|
49
57
|
],
|
|
50
58
|
```
|
|
51
59
|
|
|
60
|
+
#### Use in hooks
|
|
61
|
+
|
|
62
|
+
TODO: add documentation
|
|
63
|
+
|
|
64
|
+
myCollectionPrompt = ({source}) => {
|
|
65
|
+
|
|
66
|
+
source()
|
|
67
|
+
|
|
68
|
+
return
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
#### Custom prompts by Field
|
|
72
|
+
|
|
73
|
+
Use the `prompt` function for each field to use a customized prompt. The function will allow you to use the following
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
- `req`: Request
|
|
77
|
+
- `doc` Document in languages
|
|
78
|
+
- `previousDoc` Old document (only available on Update)
|
|
79
|
+
- `targetDoc` The old target document
|
|
80
|
+
- `collectionOptions`
|
|
81
|
+
- `language`
|
|
82
|
+
- translatorConfig
|
|
83
|
+
language: string,
|
|
84
|
+
sourceLanguage?: string,
|
|
85
|
+
|
|
86
|
+
- targetField
|
|
87
|
+
- sourceField
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
```jsx
|
|
91
|
+
customPrompt = ({sourceField}) => `Translate ${sourceField} to ${targetLanguage}.`
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### Use with [payload-seo](https://payloadcms.com/docs/plugins/seo)
|
|
95
|
+
|
|
96
|
+
```jsx
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
import {generateTitle, generateDescription } from "payload-ai";
|
|
100
|
+
|
|
101
|
+
seo({
|
|
102
|
+
collections: ['examples'],
|
|
103
|
+
// uploadsCollection: 'media',
|
|
104
|
+
generateTitle: generateTitle,
|
|
105
|
+
generateDescription: ({ doc }) => generateDescription,
|
|
106
|
+
});
|
|
107
|
+
```
|
|
52
108
|
|
|
53
109
|
### String translation
|
|
54
110
|
|
package/dev/package.json
CHANGED
|
@@ -19,11 +19,13 @@
|
|
|
19
19
|
"@payloadcms/bundler-webpack": "^1.0.0",
|
|
20
20
|
"@payloadcms/db-mongodb": "^1.2.0",
|
|
21
21
|
"@payloadcms/plugin-cloud": "^2.0.0",
|
|
22
|
+
"@payloadcms/plugin-seo": "^1.0.15",
|
|
23
|
+
"@payloadcms/richtext-lexical": "^0.5.1",
|
|
22
24
|
"@payloadcms/richtext-slate": "^1.3.1",
|
|
23
25
|
"cross-env": "^7.0.3",
|
|
24
26
|
"dotenv": "^8.2.0",
|
|
25
27
|
"express": "^4.17.1",
|
|
26
|
-
"payload": "^2.
|
|
28
|
+
"payload": "^2.7.0"
|
|
27
29
|
},
|
|
28
30
|
"devDependencies": {
|
|
29
31
|
"@types/express": "^4.17.9",
|
|
@@ -32,4 +34,4 @@
|
|
|
32
34
|
"ts-node": "^9.1.1",
|
|
33
35
|
"typescript": "^4.8.4"
|
|
34
36
|
}
|
|
35
|
-
}
|
|
37
|
+
}
|
|
@@ -1,17 +1,34 @@
|
|
|
1
|
+
import { lexicalEditor } from '@payloadcms/richtext-lexical'
|
|
1
2
|
import { CollectionConfig } from 'payload/types'
|
|
2
3
|
|
|
3
4
|
// Example Collection - For reference only, this must be added to payload.config.ts to be used.
|
|
4
5
|
const Examples: CollectionConfig = {
|
|
5
6
|
slug: 'examples',
|
|
6
7
|
admin: {
|
|
7
|
-
useAsTitle: '
|
|
8
|
+
useAsTitle: 'title',
|
|
8
9
|
},
|
|
9
10
|
fields: [
|
|
10
11
|
{
|
|
11
|
-
name: '
|
|
12
|
+
name: 'title',
|
|
12
13
|
type: 'text',
|
|
13
14
|
localized: true,
|
|
14
15
|
},
|
|
16
|
+
{
|
|
17
|
+
name: 'contentRichText',
|
|
18
|
+
type: 'richText',
|
|
19
|
+
editor: lexicalEditor({}),
|
|
20
|
+
localized: true,
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
name: 'longText',
|
|
24
|
+
type: 'code',
|
|
25
|
+
localized: true,
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
name: 'doNotAutoTranslate',
|
|
29
|
+
type: 'code',
|
|
30
|
+
localized: true,
|
|
31
|
+
},
|
|
15
32
|
],
|
|
16
33
|
}
|
|
17
34
|
|
|
@@ -4,17 +4,27 @@ import { CollectionConfig } from 'payload/types'
|
|
|
4
4
|
const ExamplesWithVersions: CollectionConfig = {
|
|
5
5
|
slug: 'examples-with-versions',
|
|
6
6
|
admin: {
|
|
7
|
-
useAsTitle: '
|
|
7
|
+
useAsTitle: 'title',
|
|
8
8
|
},
|
|
9
9
|
versions: {
|
|
10
10
|
drafts: true,
|
|
11
11
|
},
|
|
12
12
|
fields: [
|
|
13
13
|
{
|
|
14
|
-
name: '
|
|
14
|
+
name: 'title',
|
|
15
15
|
type: 'text',
|
|
16
16
|
localized: true,
|
|
17
17
|
},
|
|
18
|
+
{
|
|
19
|
+
name: 'longText',
|
|
20
|
+
type: 'code',
|
|
21
|
+
localized: true,
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
name: 'doNotAutoTranslate',
|
|
25
|
+
type: 'code',
|
|
26
|
+
localized: true,
|
|
27
|
+
},
|
|
18
28
|
],
|
|
19
29
|
}
|
|
20
30
|
|
|
@@ -4,9 +4,11 @@ import Users from './collections/Users'
|
|
|
4
4
|
import Examples from './collections/Examples'
|
|
5
5
|
import { mongooseAdapter } from '@payloadcms/db-mongodb'
|
|
6
6
|
import { webpackBundler } from '@payloadcms/bundler-webpack'
|
|
7
|
-
import { slateEditor } from '@payloadcms/richtext-slate'
|
|
8
|
-
import {
|
|
7
|
+
// import { slateEditor } from '@payloadcms/richtext-slate'
|
|
8
|
+
import { lexicalEditor } from '@payloadcms/richtext-lexical'
|
|
9
|
+
import { aiTranslatorPlugin, generateDescription, generateTitle } from '../../src/index'
|
|
9
10
|
import ExamplesWithVersions from './collections/ExamplesWithVersions'
|
|
11
|
+
import seo from '@payloadcms/plugin-seo'
|
|
10
12
|
|
|
11
13
|
export default buildConfig({
|
|
12
14
|
admin: {
|
|
@@ -28,10 +30,11 @@ export default buildConfig({
|
|
|
28
30
|
return newConfig
|
|
29
31
|
},
|
|
30
32
|
},
|
|
31
|
-
editor:
|
|
33
|
+
editor: lexicalEditor({}),
|
|
34
|
+
// editor: slateEditor({}),
|
|
32
35
|
collections: [Examples, ExamplesWithVersions, Users],
|
|
33
36
|
localization: {
|
|
34
|
-
locales: ['en', 'es', '
|
|
37
|
+
locales: ['en', 'de', 'ja' /* 'es','fr', 'it', 'ja'*/],
|
|
35
38
|
defaultLocale: 'en',
|
|
36
39
|
fallback: true,
|
|
37
40
|
},
|
|
@@ -46,13 +49,19 @@ export default buildConfig({
|
|
|
46
49
|
enabled: true,
|
|
47
50
|
collections: {
|
|
48
51
|
examples: {
|
|
49
|
-
fields: ['
|
|
52
|
+
fields: ['title', 'longText', 'jsonContent', 'contentRichText'],
|
|
50
53
|
},
|
|
51
54
|
'examples-with-versions': {
|
|
52
|
-
fields: ['
|
|
55
|
+
fields: ['title', 'longText', 'jsonContent'],
|
|
53
56
|
},
|
|
54
57
|
},
|
|
55
58
|
}),
|
|
59
|
+
seo({
|
|
60
|
+
collections: ['examples'],
|
|
61
|
+
// uploadsCollection: 'media',
|
|
62
|
+
generateTitle: generateTitle,
|
|
63
|
+
generateDescription: generateDescription,
|
|
64
|
+
}),
|
|
56
65
|
],
|
|
57
66
|
db: mongooseAdapter({
|
|
58
67
|
url: process.env.DATABASE_URI,
|
package/dist/aiTranslate.js
CHANGED
|
@@ -74,12 +74,12 @@ exports.default = aiTranslateHook;
|
|
|
74
74
|
function translateCollection(_a) {
|
|
75
75
|
var req = _a.req, doc = _a.doc, collection = _a.collection, previousDoc = _a.previousDoc, context = _a.context, collectionOptions = _a.collectionOptions, onlyMissing = _a.onlyMissing;
|
|
76
76
|
return __awaiter(this, void 0, void 0, function () {
|
|
77
|
-
var localCodes, translationPromises,
|
|
77
|
+
var localCodes, translationPromises, translationResults, _i, translationResults_1, translatedContent, updatedLanguage, error_1;
|
|
78
78
|
var _this = this;
|
|
79
79
|
return __generator(this, function (_b) {
|
|
80
80
|
switch (_b.label) {
|
|
81
81
|
case 0:
|
|
82
|
-
_b.trys.push([0,
|
|
82
|
+
_b.trys.push([0, 6, , 7]);
|
|
83
83
|
if (context.triggerAfterChange === false ||
|
|
84
84
|
req.locale !== req.payload.config.localization.defaultLocale)
|
|
85
85
|
return [2 /*return*/];
|
|
@@ -87,7 +87,7 @@ function translateCollection(_a) {
|
|
|
87
87
|
translationPromises = localCodes
|
|
88
88
|
.filter(function (targetLanguage) { return targetLanguage !== req.payload.config.localization.defaultLocale; })
|
|
89
89
|
.map(function (tL) { return __awaiter(_this, void 0, void 0, function () {
|
|
90
|
-
var targetDoc, targetDocWithTranslation, id, _status, updatedAt, createdAt, publishedDate, dataNew
|
|
90
|
+
var targetDoc, targetDocWithTranslation, id, _status, updatedAt, createdAt, publishedDate, dataNew;
|
|
91
91
|
return __generator(this, function (_a) {
|
|
92
92
|
switch (_a.label) {
|
|
93
93
|
case 0: return [4 /*yield*/, req.payload.findByID({
|
|
@@ -100,37 +100,46 @@ function translateCollection(_a) {
|
|
|
100
100
|
})];
|
|
101
101
|
case 1:
|
|
102
102
|
targetDoc = _a.sent();
|
|
103
|
-
return [4 /*yield*/, (0, deepCompareAndMerge_1.deepCompareTranslateAndMerge)(doc, previousDoc, targetDoc, collectionOptions.fields, tL, previousDoc.id ? 'update' : 'create', onlyMissing)];
|
|
103
|
+
return [4 /*yield*/, (0, deepCompareAndMerge_1.deepCompareTranslateAndMerge)(doc, previousDoc, targetDoc, collectionOptions.fields, tL, previousDoc.id ? 'update' : 'create', onlyMissing, req.payload.config.localization.defaultLocale)];
|
|
104
104
|
case 2:
|
|
105
105
|
targetDocWithTranslation = _a.sent();
|
|
106
106
|
id = targetDocWithTranslation.id, _status = targetDocWithTranslation._status, updatedAt = targetDocWithTranslation.updatedAt, createdAt = targetDocWithTranslation.createdAt, publishedDate = targetDocWithTranslation.publishedDate, dataNew = __rest(targetDocWithTranslation, ["id", "_status", "updatedAt", "createdAt", "publishedDate"]);
|
|
107
|
-
return [
|
|
108
|
-
req: req,
|
|
109
|
-
collection: collection.slug,
|
|
110
|
-
id: doc.id,
|
|
111
|
-
data: dataNew,
|
|
112
|
-
locale: tL,
|
|
113
|
-
limit: 1,
|
|
114
|
-
depth: 0,
|
|
115
|
-
context: {
|
|
116
|
-
triggerAfterChange: false,
|
|
117
|
-
},
|
|
118
|
-
})];
|
|
119
|
-
case 3:
|
|
120
|
-
updatedLanguage = _a.sent();
|
|
121
|
-
return [2 /*return*/, updatedLanguage];
|
|
107
|
+
return [2 /*return*/, { dataNew: dataNew, tL: tL }];
|
|
122
108
|
}
|
|
123
109
|
});
|
|
124
110
|
}); });
|
|
125
111
|
return [4 /*yield*/, Promise.all(translationPromises)];
|
|
126
112
|
case 1:
|
|
127
|
-
|
|
128
|
-
|
|
113
|
+
translationResults = _b.sent();
|
|
114
|
+
_i = 0, translationResults_1 = translationResults;
|
|
115
|
+
_b.label = 2;
|
|
129
116
|
case 2:
|
|
117
|
+
if (!(_i < translationResults_1.length)) return [3 /*break*/, 5];
|
|
118
|
+
translatedContent = translationResults_1[_i];
|
|
119
|
+
return [4 /*yield*/, req.payload.update({
|
|
120
|
+
//req,
|
|
121
|
+
collection: collection.slug,
|
|
122
|
+
id: doc.id,
|
|
123
|
+
data: translatedContent.dataNew,
|
|
124
|
+
locale: translatedContent.tL,
|
|
125
|
+
limit: 1,
|
|
126
|
+
depth: 0,
|
|
127
|
+
context: {
|
|
128
|
+
triggerAfterChange: false,
|
|
129
|
+
},
|
|
130
|
+
})];
|
|
131
|
+
case 3:
|
|
132
|
+
updatedLanguage = _b.sent();
|
|
133
|
+
_b.label = 4;
|
|
134
|
+
case 4:
|
|
135
|
+
_i++;
|
|
136
|
+
return [3 /*break*/, 2];
|
|
137
|
+
case 5: return [3 /*break*/, 7];
|
|
138
|
+
case 6:
|
|
130
139
|
error_1 = _b.sent();
|
|
131
140
|
console.log('error while generating languages', error_1);
|
|
132
|
-
return [3 /*break*/,
|
|
133
|
-
case
|
|
141
|
+
return [3 /*break*/, 7];
|
|
142
|
+
case 7: return [2 /*return*/];
|
|
134
143
|
}
|
|
135
144
|
});
|
|
136
145
|
});
|
package/dist/aiTranslate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aiTranslate.js","sourceRoot":"","sources":["../src/aiTranslate.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,6DAAoE;AAEpE,IAAM,eAAe,GACnB,UACE,EAAiF,EACjF,QAAiB;QADf,iBAAiB,uBAAA,EAAE,UAAU,gBAAA;IAGjC,OAAA,UAAO,EAA8C;YAA5C,GAAG,SAAA,EAAE,GAAG,SAAA,EAAE,WAAW,iBAAA,EAAE,OAAO,aAAA,EAAE,UAAU,gBAAA;;;;4BAC1C,qBAAM,mBAAmB,CAAC;4BAC/B,GAAG,KAAA;4BACH,GAAG,KAAA;4BACH,WAAW,aAAA;4BACX,OAAO,SAAA;4BACP,UAAU,YAAA;4BACV,iBAAiB,mBAAA;yBAClB,CAAC,EAAA;4BAPF,sBAAO,SAOL,EAAA;;;;KACH;AATD,CASC,CAAA;AAEH,kBAAe,eAAe,CAAA;AAE9B,SAAsB,mBAAmB,CAAC,EAQpC;QAPJ,GAAG,SAAA,EACH,GAAG,SAAA,EACH,UAAU,gBAAA,EACV,WAAW,iBAAA,EACX,OAAO,aAAA,EACP,iBAAiB,uBAAA,EACjB,WAAW,iBAAA;;;;;;;;oBAGT,IACE,OAAO,CAAC,kBAAkB,KAAK,KAAK;wBACpC,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,aAAa;wBAE5D,sBAAM;oBAEF,UAAU,GAAa,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,CAAA;oBAElE,mBAAmB,GAAG,UAAU;yBACnC,MAAM,CAAC,UAAA,cAAc,IAAI,OAAA,cAAc,KAAK,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,aAAa,EAAhE,CAAgE,CAAC;yBAC1F,GAAG,CAAC,UAAO,EAAU;;;;wCACF,qBAAM,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC;wCAC3C,UAAU,EAAE,UAAU,CAAC,IAAI;wCAC3B,EAAE,EAAE,GAAG,CAAC,EAAE;wCACV,MAAM,EAAE,EAAE;wCACV,cAAc,EAAE,KAAK;wCACrB,KAAK,EAAE,CAAC;wCACR,KAAK,EAAE,CAAC;qCACT,CAAC,EAAA;;oCAPI,SAAS,GAAG,SAOhB;oCAE+B,qBAAM,IAAA,kDAA4B,EACjE,GAAG,EACH,WAAW,EACX,SAAS,EACT,iBAAiB,CAAC,MAAM,EACxB,EAAE,EACF,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EACpC,WAAW,
|
|
1
|
+
{"version":3,"file":"aiTranslate.js","sourceRoot":"","sources":["../src/aiTranslate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,101 @@
|
|
|
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;
|
|
10
|
+
};
|
|
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;
|
|
43
|
+
}
|
|
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 };
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
50
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
51
|
+
};
|
|
52
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
53
|
+
exports.GenerateMetadata = void 0;
|
|
54
|
+
var react_1 = __importDefault(require("react"));
|
|
55
|
+
var elements_1 = require("payload/components/elements");
|
|
56
|
+
var utilities_1 = require("payload/components/utilities");
|
|
57
|
+
var forms_1 = require("payload/components/forms");
|
|
58
|
+
var baseClass = 'after-dashboard';
|
|
59
|
+
var GenerateMetadata = function () {
|
|
60
|
+
var _a = react_1.default.useState(false), isLoading = _a[0], setIsLoading = _a[1];
|
|
61
|
+
var _b = (0, forms_1.useAllFormFields)(), fields = _b[0], dispatchFields = _b[1];
|
|
62
|
+
var setModified = (0, forms_1.useForm)().setModified;
|
|
63
|
+
var locale = (0, utilities_1.useLocale)();
|
|
64
|
+
var documentInfo = (0, utilities_1.useDocumentInfo)();
|
|
65
|
+
var translate = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
66
|
+
return __generator(this, function (_a) {
|
|
67
|
+
setIsLoading(true);
|
|
68
|
+
try {
|
|
69
|
+
console.log('fields', fields);
|
|
70
|
+
dispatchFields({
|
|
71
|
+
type: 'REPLACE_STATE',
|
|
72
|
+
state: __assign(__assign({}, fields), { title: __assign(__assign({}, fields.title), { value: 'new title here' }) }),
|
|
73
|
+
});
|
|
74
|
+
setModified(true);
|
|
75
|
+
/*const response = await fetch(`/api/${documentInfo.collection.slug}/translate`, {
|
|
76
|
+
method: 'POST',
|
|
77
|
+
headers: {
|
|
78
|
+
'Content-Type': 'application/json',
|
|
79
|
+
},
|
|
80
|
+
body: JSON.stringify({
|
|
81
|
+
id: documentInfo.id,
|
|
82
|
+
}),
|
|
83
|
+
})
|
|
84
|
+
|
|
85
|
+
const translatedValues = await response.json()*/
|
|
86
|
+
setIsLoading(false);
|
|
87
|
+
}
|
|
88
|
+
catch (error) {
|
|
89
|
+
setIsLoading(false);
|
|
90
|
+
console.error(error);
|
|
91
|
+
}
|
|
92
|
+
return [2 /*return*/];
|
|
93
|
+
});
|
|
94
|
+
}); };
|
|
95
|
+
return (react_1.default.createElement("div", { className: baseClass },
|
|
96
|
+
react_1.default.createElement(elements_1.Button, { disabled: isLoading, size: "small", onClick: translate },
|
|
97
|
+
react_1.default.createElement("span", null, "Generate metdadata"),
|
|
98
|
+
isLoading && react_1.default.createElement(react_1.default.Fragment, null, "Loading..."))));
|
|
99
|
+
};
|
|
100
|
+
exports.GenerateMetadata = GenerateMetadata;
|
|
101
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Metadata/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAyB;AAEzB,wDAAoD;AACpD,0DAAyE;AACzE,kDAA0F;AAG1F,IAAM,SAAS,GAAG,iBAAiB,CAAA;AAE5B,IAAM,gBAAgB,GAAa;IAClC,IAAA,KAA4B,eAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAhD,SAAS,QAAA,EAAE,YAAY,QAAyB,CAAA;IAEjD,IAAA,KAA2B,IAAA,wBAAgB,GAAE,EAA5C,MAAM,QAAA,EAAE,cAAc,QAAsB,CAAA;IAC3C,IAAA,WAAW,GAAK,IAAA,eAAO,GAAE,YAAd,CAAc;IAEjC,IAAM,MAAM,GAAG,IAAA,qBAAS,GAAE,CAAA;IAC1B,IAAM,YAAY,GAAQ,IAAA,2BAAe,GAAE,CAAA;IAC3C,IAAM,SAAS,GAAG;;YAChB,YAAY,CAAC,IAAI,CAAC,CAAA;YAClB,IAAI;gBACF,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;gBAC7B,cAAc,CAAC;oBACb,IAAI,EAAE,eAAe;oBACrB,KAAK,EAAE,sBACF,MAAM,KACT,KAAK,wBAAO,MAAM,CAAC,KAAK,KAAE,KAAK,EAAE,gBAAgB,MACxC;iBACZ,CAAC,CAAA;gBAEF,WAAW,CAAC,IAAI,CAAC,CAAA;gBAEjB;;;;;;;;;;gEAUgD;gBAEhD,YAAY,CAAC,KAAK,CAAC,CAAA;aACpB;YAAC,OAAO,KAAK,EAAE;gBACd,YAAY,CAAC,KAAK,CAAC,CAAA;gBACnB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;aACrB;;;SACF,CAAA;IAED,OAAO,CACL,uCAAK,SAAS,EAAE,SAAS;QACvB,8BAAC,iBAAM,IAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAC,OAAO,EAAC,OAAO,EAAE,SAAS;YAC1D,iEAA+B;YAC9B,SAAS,IAAI,2EAAe,CACtB,CACL,CACP,CAAA;AACH,CAAC,CAAA;AAjDY,QAAA,gBAAgB,oBAiD5B"}
|
|
@@ -83,9 +83,7 @@ var Translator = function () {
|
|
|
83
83
|
});
|
|
84
84
|
}); };
|
|
85
85
|
return (react_1.default.createElement("div", { className: baseClass },
|
|
86
|
-
react_1.default.createElement(elements_1.Button, { disabled: isLoading, size: "small", onClick: translate },
|
|
87
|
-
react_1.default.createElement("span", null, "Translate content from default language"),
|
|
88
|
-
isLoading && react_1.default.createElement(react_1.default.Fragment, null, "Loading..."))));
|
|
86
|
+
react_1.default.createElement(elements_1.Button, { disabled: isLoading, size: "small", onClick: translate }, isLoading ? react_1.default.createElement("span", null, "Results are loading...") : react_1.default.createElement("span", null, "Translate content"))));
|
|
89
87
|
};
|
|
90
88
|
exports.Translator = Translator;
|
|
91
89
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Translator/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAyB;AAEzB,wDAAoD;AACpD,0DAAyE;AAEzE,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,MAAM,GAAG,IAAA,qBAAS,GAAE,CAAA;IAC1B,IAAM,YAAY,GAAQ,IAAA,2BAAe,GAAE,CAAA;IAC3C,IAAM,SAAS,GAAG;;;;;oBAChB,YAAY,CAAC,IAAI,CAAC,CAAA;;;;oBAEC,qBAAM,KAAK,CAAC,eAAQ,YAAY,CAAC,UAAU,CAAC,IAAI,eAAY,EAAE;4BAC7E,MAAM,EAAE,MAAM;4BACd,OAAO,EAAE;gCACP,cAAc,EAAE,kBAAkB;6BACnC;4BACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gCACnB,EAAE,EAAE,YAAY,CAAC,EAAE;6BACpB,CAAC;yBACH,CAAC,EAAA;;oBARI,QAAQ,GAAG,SAQf;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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Translator/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAyB;AAEzB,wDAAoD;AACpD,0DAAyE;AAEzE,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,MAAM,GAAG,IAAA,qBAAS,GAAE,CAAA;IAC1B,IAAM,YAAY,GAAQ,IAAA,2BAAe,GAAE,CAAA;IAC3C,IAAM,SAAS,GAAG;;;;;oBAChB,YAAY,CAAC,IAAI,CAAC,CAAA;;;;oBAEC,qBAAM,KAAK,CAAC,eAAQ,YAAY,CAAC,UAAU,CAAC,IAAI,eAAY,EAAE;4BAC7E,MAAM,EAAE,MAAM;4BACd,OAAO,EAAE;gCACP,cAAc,EAAE,kBAAkB;6BACnC;4BACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gCACnB,EAAE,EAAE,YAAY,CAAC,EAAE;6BACpB,CAAC;yBACH,CAAC,EAAA;;oBARI,QAAQ,GAAG,SAQf;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,IACzD,SAAS,CAAC,CAAC,CAAC,qEAAmC,CAAC,CAAC,CAAC,gEAA8B,CAC1E,CACL,CACP,CAAA;AACH,CAAC,CAAA;AAlCY,QAAA,UAAU,cAkCtB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
interface CollectionObjType {
|
|
2
2
|
[prop: string]: any;
|
|
3
3
|
}
|
|
4
|
-
export declare function deepCompareTranslateAndMerge(newOriginalObj: CollectionObjType, originalObj: CollectionObjType, targetObj: CollectionObjType, fields: string[], language: string, action?: 'create' | 'update', onlyMissing?: boolean): Promise<CollectionObjType>;
|
|
4
|
+
export declare function deepCompareTranslateAndMerge(newOriginalObj: CollectionObjType, originalObj: CollectionObjType, targetObj: CollectionObjType, fields: string[], language: string, action?: 'create' | 'update', onlyMissing?: boolean, sourceLanguage?: string): Promise<CollectionObjType>;
|
|
5
5
|
export {};
|
|
@@ -39,7 +39,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
39
39
|
exports.deepCompareTranslateAndMerge = void 0;
|
|
40
40
|
var translateTextAndObjects_1 = require("./translateTextAndObjects");
|
|
41
41
|
var colllectionObj = {}; // Assuming targetObj is initialized somewhere
|
|
42
|
-
function deepCompareTranslateAndMerge(newOriginalObj, originalObj, targetObj, fields, language, action, onlyMissing) {
|
|
42
|
+
function deepCompareTranslateAndMerge(newOriginalObj, originalObj, targetObj, fields, language, action, onlyMissing, sourceLanguage) {
|
|
43
43
|
return __awaiter(this, void 0, void 0, function () {
|
|
44
44
|
var promises;
|
|
45
45
|
var _this = this;
|
|
@@ -48,7 +48,7 @@ function deepCompareTranslateAndMerge(newOriginalObj, originalObj, targetObj, fi
|
|
|
48
48
|
case 0:
|
|
49
49
|
if (!Array.isArray(newOriginalObj)) return [3 /*break*/, 1];
|
|
50
50
|
return [2 /*return*/, Promise.all(newOriginalObj.map(function (item, index) {
|
|
51
|
-
return deepCompareTranslateAndMerge(item, originalObj === null || originalObj === void 0 ? void 0 : originalObj[index], targetObj === null || targetObj === void 0 ? void 0 : targetObj[index], fields, language, action, onlyMissing);
|
|
51
|
+
return deepCompareTranslateAndMerge(item, originalObj === null || originalObj === void 0 ? void 0 : originalObj[index], targetObj === null || targetObj === void 0 ? void 0 : targetObj[index], fields, language, action, onlyMissing, sourceLanguage);
|
|
52
52
|
}))];
|
|
53
53
|
case 1:
|
|
54
54
|
if (!(typeof newOriginalObj === 'object' && newOriginalObj !== null)) return [3 /*break*/, 3];
|
|
@@ -57,34 +57,29 @@ function deepCompareTranslateAndMerge(newOriginalObj, originalObj, targetObj, fi
|
|
|
57
57
|
return __generator(this, function (_e) {
|
|
58
58
|
switch (_e.label) {
|
|
59
59
|
case 0:
|
|
60
|
-
if (!newOriginalObj.hasOwnProperty(prop)) return [3 /*break*/,
|
|
61
|
-
if (!fields.includes(prop) /*&& typeof newOriginalObj[prop] === 'string'*/) return [3 /*break*/,
|
|
60
|
+
if (!newOriginalObj.hasOwnProperty(prop)) return [3 /*break*/, 5];
|
|
61
|
+
if (!fields.includes(prop) /*&& typeof newOriginalObj[prop] === 'string'*/) return [3 /*break*/, 3]; /*&& typeof newOriginalObj[prop] === 'string'*/
|
|
62
62
|
if (!((originalObj === null || originalObj === void 0 ? void 0 : originalObj[prop]) === undefined ||
|
|
63
63
|
JSON.stringify(newOriginalObj[prop]) !== JSON.stringify(originalObj[prop]) ||
|
|
64
|
-
action === 'create')) return [3 /*break*/,
|
|
65
|
-
// Translate the text and merge it into the English object
|
|
66
|
-
console.log('found to translate', onlyMissing, targetObj[prop], newOriginalObj[prop], language);
|
|
64
|
+
action === 'create')) return [3 /*break*/, 2];
|
|
67
65
|
if (!(!onlyMissing || targetObj[prop] === undefined || targetObj[prop] === '')) return [3 /*break*/, 2];
|
|
68
66
|
_a = targetObj;
|
|
69
67
|
_b = prop;
|
|
70
|
-
return [4 /*yield*/, (0, translateTextAndObjects_1.translateTextOrObject)(newOriginalObj[prop], language)];
|
|
68
|
+
return [4 /*yield*/, (0, translateTextAndObjects_1.translateTextOrObject)(newOriginalObj[prop], language, sourceLanguage)];
|
|
71
69
|
case 1:
|
|
72
70
|
_a[_b] = _e.sent();
|
|
73
71
|
return [3 /*break*/, 2];
|
|
74
|
-
case 2:
|
|
75
|
-
|
|
76
|
-
_e.label = 3;
|
|
77
|
-
case 3: return [3 /*break*/, 6];
|
|
78
|
-
case 4:
|
|
72
|
+
case 2: return [3 /*break*/, 5];
|
|
73
|
+
case 3:
|
|
79
74
|
if (!(typeof newOriginalObj[prop] === 'object' &&
|
|
80
|
-
typeof targetObj[prop] === 'object')) return [3 /*break*/,
|
|
75
|
+
typeof targetObj[prop] === 'object')) return [3 /*break*/, 5];
|
|
81
76
|
_c = targetObj;
|
|
82
77
|
_d = prop;
|
|
83
|
-
return [4 /*yield*/, deepCompareTranslateAndMerge(newOriginalObj[prop], (originalObj === null || originalObj === void 0 ? void 0 : originalObj[prop]) || null, targetObj[prop] || null, fields, language, action, onlyMissing)];
|
|
84
|
-
case
|
|
78
|
+
return [4 /*yield*/, deepCompareTranslateAndMerge(newOriginalObj[prop], (originalObj === null || originalObj === void 0 ? void 0 : originalObj[prop]) || null, targetObj[prop] || null, fields, language, action, onlyMissing, sourceLanguage)];
|
|
79
|
+
case 4:
|
|
85
80
|
_c[_d] = _e.sent();
|
|
86
|
-
_e.label =
|
|
87
|
-
case
|
|
81
|
+
_e.label = 5;
|
|
82
|
+
case 5: return [2 /*return*/];
|
|
88
83
|
}
|
|
89
84
|
});
|
|
90
85
|
}); });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deepCompareAndMerge.js","sourceRoot":"","sources":["../src/deepCompareAndMerge.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qEAAiE;AAMjE,IAAI,cAAc,GAAsB,EAAE,CAAA,CAAC,8CAA8C;AAIzF,SAAsB,4BAA4B,CAChD,cAAiC,EACjC,WAA8B,EAC9B,SAA4B,EAC5B,MAAgB,EAChB,QAAgB,EAChB,MAA4B,EAC5B,WAAqB;;;;;;;
|
|
1
|
+
{"version":3,"file":"deepCompareAndMerge.js","sourceRoot":"","sources":["../src/deepCompareAndMerge.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qEAAiE;AAMjE,IAAI,cAAc,GAAsB,EAAE,CAAA,CAAC,8CAA8C;AAIzF,SAAsB,4BAA4B,CAChD,cAAiC,EACjC,WAA8B,EAC9B,SAA4B,EAC5B,MAAgB,EAChB,QAAgB,EAChB,MAA4B,EAC5B,WAAqB,EACrB,cAAuB;;;;;;;yBAEnB,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAA7B,wBAA6B;oBAC/B,sBAAO,OAAO,CAAC,GAAG,CAChB,cAAc,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,KAAK;4BAC7B,OAAA,4BAA4B,CAC1B,IAAI,EACJ,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAG,KAAK,CAAC,EACpB,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAG,KAAK,CAAC,EAClB,MAAM,EACN,QAAQ,EACR,MAAM,EACN,WAAW,EACX,cAAc,CACf;wBATD,CASC,CACF,CACF,EAAA;;yBACQ,CAAA,OAAO,cAAc,KAAK,QAAQ,IAAI,cAAc,KAAK,IAAI,CAAA,EAA7D,wBAA6D;oBAChE,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,UAAM,IAAI;;;;;yCACrD,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,EAAnC,wBAAmC;yCACjC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,+CAA+C,EAArE,wBAAqB,CAAC,+CAA+C;yCAErE,CAAA,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAG,IAAI,CAAC,MAAK,SAAS;wCACjC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;wCAC1E,MAAM,KAAK,QAAQ,CAAA,EAFnB,wBAEmB;yCAIf,CAAA,CAAC,WAAW,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA,EAAvE,wBAAuE;oCACzE,KAAA,SAAS,CAAA;oCAAC,KAAA,IAAI,CAAA;oCAAI,qBAAM,IAAA,+CAAqB,EAC3C,cAAc,CAAC,IAAI,CAAC,EACpB,QAAQ,EACR,cAAc,CACf,EAAA;;oCAJD,MAAe,GAAG,SAIjB,CAAA;;;;yCAML,CAAA,OAAO,cAAc,CAAC,IAAI,CAAC,KAAK,QAAQ;wCACxC,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAA,EADnC,wBACmC;oCAEnC,KAAA,SAAS,CAAA;oCAAC,KAAA,IAAI,CAAA;oCAAI,qBAAM,4BAA4B,CAClD,cAAc,CAAC,IAAI,CAAC,EACpB,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAG,IAAI,CAAC,KAAI,IAAI,EAC3B,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,EACvB,MAAM,EACN,QAAQ,EACR,MAAM,EACN,WAAW,EACX,cAAc,CACf,EAAA;;oCATD,MAAe,GAAG,SASjB,CAAA;;;;;yBAGN,CAAC,CAAA;oBACF,qBAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAA;;oBAA3B,SAA2B,CAAA;;wBAE7B,sBAAO,SAAS,EAAA;;;;CACjB;AAlED,oEAkEC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function translateTextOrObject(text: string | object, language: string, sourceLanguage?: string): Promise<object | "url">;
|
|
@@ -0,0 +1,80 @@
|
|
|
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.translateTextOrObject = void 0;
|
|
43
|
+
var openai_1 = __importDefault(require("openai"));
|
|
44
|
+
function translateTextOrObject(text, language, sourceLanguage) {
|
|
45
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
46
|
+
var openai, promptAbstractBlogPost, content, response;
|
|
47
|
+
return __generator(this, function (_a) {
|
|
48
|
+
switch (_a.label) {
|
|
49
|
+
case 0:
|
|
50
|
+
if (typeof text !== 'string') {
|
|
51
|
+
return [2 /*return*/, text];
|
|
52
|
+
}
|
|
53
|
+
openai = new openai_1.default({
|
|
54
|
+
apiKey: process.env.OPENAI_API_KEY,
|
|
55
|
+
});
|
|
56
|
+
promptAbstractBlogPost = function (text) {
|
|
57
|
+
return "\nGenerate an abstract illustration for this blog post:\n\n".concat(text, "\n");
|
|
58
|
+
};
|
|
59
|
+
content = typeof text !== 'string'
|
|
60
|
+
? promptAbstractBlogPost(JSON.stringify(text, null, 2))
|
|
61
|
+
: promptAbstractBlogPost(text);
|
|
62
|
+
return [4 /*yield*/, openai.images.generate({
|
|
63
|
+
model: 'dall-e-3',
|
|
64
|
+
prompt: content,
|
|
65
|
+
n: 1,
|
|
66
|
+
size: '1024x1024',
|
|
67
|
+
})
|
|
68
|
+
//image_url = response.data.data[0].url
|
|
69
|
+
];
|
|
70
|
+
case 1:
|
|
71
|
+
response = _a.sent();
|
|
72
|
+
//image_url = response.data.data[0].url
|
|
73
|
+
console.log('Translated', language, content);
|
|
74
|
+
return [2 /*return*/, 'url']; //image_url
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
exports.translateTextOrObject = translateTextOrObject;
|
|
80
|
+
//# sourceMappingURL=generateImage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateImage.js","sourceRoot":"","sources":["../src/generateImage.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA2B;AAE3B,SAAsB,qBAAqB,CACzC,IAAqB,EACrB,QAAgB,EAChB,cAAuB;;;;;;oBAEvB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;wBAC5B,sBAAO,IAAI,EAAA;qBACZ;oBACK,MAAM,GAAG,IAAI,gBAAM,CAAC;wBACxB,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc;qBACnC,CAAC,CAAA;oBAEI,sBAAsB,GAAG,UAAC,IAAY;wBAC1C,OAAO,qEAGT,IAAI,OACL,CAAA;oBACC,CAAC,CAAA;oBAEK,OAAO,GACX,OAAO,IAAI,KAAK,QAAQ;wBACtB,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;wBACvD,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAA;oBAEjB,qBAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;4BAC5C,KAAK,EAAE,UAAU;4BACjB,MAAM,EAAE,OAAO;4BACf,CAAC,EAAE,CAAC;4BACJ,IAAI,EAAE,WAAW;yBAClB,CAAC;wBACF,uCAAuC;sBADrC;;oBALI,QAAQ,GAAG,SAKf;oBACF,uCAAuC;oBAEvC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;oBAE5C,sBAAO,KAAK,EAAA,CAAC,WAAW;;;;CACzB;AApCD,sDAoCC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import OpenAI from 'openai';
|
|
2
|
+
import { PluginTypes } from './types';
|
|
3
|
+
import { PayloadHandler } from 'payload/config';
|
|
4
|
+
export declare function generateText(body: OpenAI.Chat.ChatCompletionCreateParams): Promise<any>;
|
|
5
|
+
export declare const generateTextHandler: (translatorConfig: PluginTypes) => PayloadHandler;
|