@justanarthur/payload-plugin-translator 1.3.20 → 1.3.21

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 (128) hide show
  1. package/dist/client.d.ts +6 -0
  2. package/dist/client.js +320 -0
  3. package/dist/index.d.ts +102 -11
  4. package/dist/index.js +1294 -80
  5. package/dist/jobs.d.ts +195 -0
  6. package/dist/jobs.js +824 -0
  7. package/dist/resolvers/copy.d.ts +21 -3
  8. package/dist/resolvers/copy.js +18 -12
  9. package/dist/resolvers/google.d.ts +29 -11
  10. package/dist/resolvers/google.js +58 -44
  11. package/dist/resolvers/libreTranslate.d.ts +33 -15
  12. package/dist/resolvers/libreTranslate.js +60 -45
  13. package/dist/resolvers/openAI.d.ts +39 -21
  14. package/dist/resolvers/openAI.js +110 -114
  15. package/dist/resolvers/types.d.ts +16 -16
  16. package/dist/resolvers/types.js +0 -3
  17. package/dist/{client/components/CustomButton/styles.scss → styles-jt3fm5fh.scss} +5 -5
  18. package/dist/{client/components/TranslatorModal/styles.scss → styles-vs6m7h55.scss} +76 -76
  19. package/dist/types.d.ts +70 -22
  20. package/dist/types.js +0 -3
  21. package/package.json +87 -64
  22. package/README.md +0 -215
  23. package/dist/client/api/index.d.ts +0 -8
  24. package/dist/client/api/index.d.ts.map +0 -1
  25. package/dist/client/api/index.js +0 -28
  26. package/dist/client/api/index.js.map +0 -1
  27. package/dist/client/components/CustomButton/CustomButtonWithTranslator.d.ts +0 -5
  28. package/dist/client/components/CustomButton/CustomButtonWithTranslator.d.ts.map +0 -1
  29. package/dist/client/components/CustomButton/CustomButtonWithTranslator.js +0 -28
  30. package/dist/client/components/CustomButton/CustomButtonWithTranslator.js.map +0 -1
  31. package/dist/client/components/CustomButton/index.d.ts +0 -3
  32. package/dist/client/components/CustomButton/index.d.ts.map +0 -1
  33. package/dist/client/components/CustomButton/index.js +0 -10
  34. package/dist/client/components/CustomButton/index.js.map +0 -1
  35. package/dist/client/components/LocaleLabel/LocaleLabel.d.ts +0 -5
  36. package/dist/client/components/LocaleLabel/LocaleLabel.d.ts.map +0 -1
  37. package/dist/client/components/LocaleLabel/LocaleLabel.js +0 -28
  38. package/dist/client/components/LocaleLabel/LocaleLabel.js.map +0 -1
  39. package/dist/client/components/LocaleLabel/index.d.ts +0 -2
  40. package/dist/client/components/LocaleLabel/index.d.ts.map +0 -1
  41. package/dist/client/components/LocaleLabel/index.js +0 -3
  42. package/dist/client/components/LocaleLabel/index.js.map +0 -1
  43. package/dist/client/components/ResolverButton/ResolverButton.d.ts +0 -5
  44. package/dist/client/components/ResolverButton/ResolverButton.d.ts.map +0 -1
  45. package/dist/client/components/ResolverButton/ResolverButton.js +0 -16
  46. package/dist/client/components/ResolverButton/ResolverButton.js.map +0 -1
  47. package/dist/client/components/ResolverButton/index.d.ts +0 -2
  48. package/dist/client/components/ResolverButton/index.d.ts.map +0 -1
  49. package/dist/client/components/ResolverButton/index.js +0 -3
  50. package/dist/client/components/ResolverButton/index.js.map +0 -1
  51. package/dist/client/components/TranslatorModal/Content.d.ts +0 -2
  52. package/dist/client/components/TranslatorModal/Content.d.ts.map +0 -1
  53. package/dist/client/components/TranslatorModal/Content.js +0 -60
  54. package/dist/client/components/TranslatorModal/Content.js.map +0 -1
  55. package/dist/client/components/TranslatorModal/TranslatorModal.d.ts +0 -3
  56. package/dist/client/components/TranslatorModal/TranslatorModal.d.ts.map +0 -1
  57. package/dist/client/components/TranslatorModal/TranslatorModal.js +0 -26
  58. package/dist/client/components/TranslatorModal/TranslatorModal.js.map +0 -1
  59. package/dist/client/components/TranslatorModal/index.d.ts +0 -2
  60. package/dist/client/components/TranslatorModal/index.d.ts.map +0 -1
  61. package/dist/client/components/TranslatorModal/index.js +0 -3
  62. package/dist/client/components/TranslatorModal/index.js.map +0 -1
  63. package/dist/client/providers/Translator/TranslatorProvider.d.ts +0 -5
  64. package/dist/client/providers/Translator/TranslatorProvider.d.ts.map +0 -1
  65. package/dist/client/providers/Translator/TranslatorProvider.js +0 -109
  66. package/dist/client/providers/Translator/TranslatorProvider.js.map +0 -1
  67. package/dist/client/providers/Translator/context.d.ts +0 -21
  68. package/dist/client/providers/Translator/context.d.ts.map +0 -1
  69. package/dist/client/providers/Translator/context.js +0 -9
  70. package/dist/client/providers/Translator/context.js.map +0 -1
  71. package/dist/exports/client.d.ts +0 -2
  72. package/dist/exports/client.d.ts.map +0 -1
  73. package/dist/exports/client.js +0 -3
  74. package/dist/exports/client.js.map +0 -1
  75. package/dist/i18n-translations.d.ts +0 -87
  76. package/dist/i18n-translations.d.ts.map +0 -1
  77. package/dist/i18n-translations.js +0 -88
  78. package/dist/i18n-translations.js.map +0 -1
  79. package/dist/index.d.ts.map +0 -1
  80. package/dist/index.js.map +0 -1
  81. package/dist/resolvers/copy.d.ts.map +0 -1
  82. package/dist/resolvers/copy.js.map +0 -1
  83. package/dist/resolvers/google.d.ts.map +0 -1
  84. package/dist/resolvers/google.js.map +0 -1
  85. package/dist/resolvers/libreTranslate.d.ts.map +0 -1
  86. package/dist/resolvers/libreTranslate.js.map +0 -1
  87. package/dist/resolvers/openAI.d.ts.map +0 -1
  88. package/dist/resolvers/openAI.js.map +0 -1
  89. package/dist/resolvers/types.d.ts.map +0 -1
  90. package/dist/resolvers/types.js.map +0 -1
  91. package/dist/translate/endpoint.d.ts +0 -3
  92. package/dist/translate/endpoint.d.ts.map +0 -1
  93. package/dist/translate/endpoint.js +0 -23
  94. package/dist/translate/endpoint.js.map +0 -1
  95. package/dist/translate/findEntityWithConfig.d.ts +0 -16
  96. package/dist/translate/findEntityWithConfig.d.ts.map +0 -1
  97. package/dist/translate/findEntityWithConfig.js +0 -34
  98. package/dist/translate/findEntityWithConfig.js.map +0 -1
  99. package/dist/translate/operation.d.ts +0 -9
  100. package/dist/translate/operation.d.ts.map +0 -1
  101. package/dist/translate/operation.js +0 -78
  102. package/dist/translate/operation.js.map +0 -1
  103. package/dist/translate/traverseFields.d.ts +0 -17
  104. package/dist/translate/traverseFields.d.ts.map +0 -1
  105. package/dist/translate/traverseFields.js +0 -233
  106. package/dist/translate/traverseFields.js.map +0 -1
  107. package/dist/translate/traverseRichText.d.ts +0 -10
  108. package/dist/translate/traverseRichText.d.ts.map +0 -1
  109. package/dist/translate/traverseRichText.js +0 -24
  110. package/dist/translate/traverseRichText.js.map +0 -1
  111. package/dist/translate/types.d.ts +0 -27
  112. package/dist/translate/types.d.ts.map +0 -1
  113. package/dist/translate/types.js +0 -3
  114. package/dist/translate/types.js.map +0 -1
  115. package/dist/translate/updateEntity.d.ts +0 -14
  116. package/dist/translate/updateEntity.d.ts.map +0 -1
  117. package/dist/translate/updateEntity.js +0 -26
  118. package/dist/translate/updateEntity.js.map +0 -1
  119. package/dist/types.d.ts.map +0 -1
  120. package/dist/types.js.map +0 -1
  121. package/dist/utils/chunkArray.d.ts +0 -2
  122. package/dist/utils/chunkArray.d.ts.map +0 -1
  123. package/dist/utils/chunkArray.js +0 -7
  124. package/dist/utils/chunkArray.js.map +0 -1
  125. package/dist/utils/isEmpty.d.ts +0 -2
  126. package/dist/utils/isEmpty.d.ts.map +0 -1
  127. package/dist/utils/isEmpty.js +0 -8
  128. package/dist/utils/isEmpty.js.map +0 -1
@@ -1,3 +1,21 @@
1
- import type { TranslateResolver } from './types';
2
- export declare const copyResolver: () => TranslateResolver;
3
- //# sourceMappingURL=copy.d.ts.map
1
+ import { PayloadRequest } from "payload";
2
+ type TranslateResolverArgs = {
3
+ /** Locale to translate from */
4
+ localeFrom: string;
5
+ /** Locale to translate to */
6
+ localeTo: string;
7
+ req: PayloadRequest;
8
+ texts: string[];
9
+ };
10
+ type TranslateResolverResponse = {
11
+ success: false;
12
+ } | {
13
+ success: true;
14
+ translatedTexts: string[];
15
+ };
16
+ type TranslateResolver = {
17
+ key: string;
18
+ resolve: (args: TranslateResolverArgs) => Promise<TranslateResolverResponse> | TranslateResolverResponse;
19
+ };
20
+ declare const copyResolver: () => TranslateResolver;
21
+ export { copyResolver as default, copyResolver };
@@ -1,14 +1,20 @@
1
- export const copyResolver = ()=>{
2
- return {
3
- key: 'copy',
4
- resolve: (args)=>{
5
- const { texts } = args;
6
- return {
7
- success: true,
8
- translatedTexts: texts
9
- };
10
- }
11
- };
1
+ // src/resolvers/copy.ts
2
+ var copyResolver = () => {
3
+ return {
4
+ key: "copy",
5
+ resolve: (args) => {
6
+ const { texts } = args;
7
+ return {
8
+ success: true,
9
+ translatedTexts: texts
10
+ };
11
+ }
12
+ };
12
13
  };
13
14
 
14
- //# sourceMappingURL=copy.js.map
15
+ // src/exports/resolvers/copy.ts
16
+ var copy_default = copyResolver;
17
+ export {
18
+ copy_default as default,
19
+ copyResolver
20
+ };
@@ -1,11 +1,29 @@
1
- import type { TranslateResolver } from './types';
2
- export type GoogleResolverConfig = {
3
- apiKey: string;
4
- /**
5
- * How many texts to include into 1 request
6
- * @default 100
7
- */
8
- chunkLength?: number;
9
- };
10
- export declare const googleResolver: ({ apiKey, chunkLength, }: GoogleResolverConfig) => TranslateResolver;
11
- //# sourceMappingURL=google.d.ts.map
1
+ import { PayloadRequest } from "payload";
2
+ type TranslateResolverArgs = {
3
+ /** Locale to translate from */
4
+ localeFrom: string;
5
+ /** Locale to translate to */
6
+ localeTo: string;
7
+ req: PayloadRequest;
8
+ texts: string[];
9
+ };
10
+ type TranslateResolverResponse = {
11
+ success: false;
12
+ } | {
13
+ success: true;
14
+ translatedTexts: string[];
15
+ };
16
+ type TranslateResolver = {
17
+ key: string;
18
+ resolve: (args: TranslateResolverArgs) => Promise<TranslateResolverResponse> | TranslateResolverResponse;
19
+ };
20
+ type GoogleResolverConfig = {
21
+ apiKey: string;
22
+ /**
23
+ * How many texts to include into 1 request
24
+ * @default 100
25
+ */
26
+ chunkLength?: number;
27
+ };
28
+ declare const googleResolver: ({ apiKey, chunkLength }: GoogleResolverConfig) => TranslateResolver;
29
+ export { googleResolver, googleResolver as default, GoogleResolverConfig };
@@ -1,47 +1,61 @@
1
- import { chunkArray } from '../utils/chunkArray';
2
- const localeToCountryCodeMapper = {
3
- ua: 'uk'
1
+ // src/utils/chunkArray.ts
2
+ var chunkArray = (array, length) => {
3
+ return Array.from({ length: Math.ceil(array.length / length) }, (_, i) => array.slice(i * length, i * length + length));
4
4
  };
5
- const mapLocale = (incoming)=>incoming in localeToCountryCodeMapper ? localeToCountryCodeMapper[incoming] : incoming;
6
- export const googleResolver = ({ apiKey, chunkLength = 100 })=>{
7
- return {
8
- key: 'google',
9
- resolve: async (args)=>{
10
- const { localeFrom, localeTo, req, texts } = args;
11
- const apiUrl = `https://translation.googleapis.com/language/translate/v2?key=${apiKey}`;
12
- const responses = await Promise.all(chunkArray(texts, chunkLength).map((q)=>fetch(apiUrl, {
13
- body: JSON.stringify({
14
- q,
15
- source: mapLocale(localeFrom),
16
- target: mapLocale(localeTo)
17
- }),
18
- headers: {
19
- 'Content-Type': 'application/json'
20
- },
21
- method: 'POST'
22
- }).then(async (res)=>{
23
- const data = await res.json();
24
- if (!res.ok) req.payload.logger.info({
25
- googleResponse: data,
26
- message: 'An error occurred when trying to translate the data using Google API'
27
- });
28
- return {
29
- data,
30
- success: res.ok
31
- };
32
- })));
33
- if (responses.some((res)=>!res.success)) {
34
- return {
35
- success: false
36
- };
37
- }
38
- const translatedTexts = responses.flatMap((chunk)=>chunk.data.data.translations).map((translation)=>translation.translatedText);
39
- return {
40
- success: true,
41
- translatedTexts
42
- };
43
- }
44
- };
5
+
6
+ // src/resolvers/google.ts
7
+ var localeToCountryCodeMapper = {
8
+ ua: "uk"
9
+ };
10
+ var mapLocale = (incoming) => (incoming in localeToCountryCodeMapper) ? localeToCountryCodeMapper[incoming] : incoming;
11
+ var googleResolver = ({
12
+ apiKey,
13
+ chunkLength = 100
14
+ }) => {
15
+ return {
16
+ key: "google",
17
+ resolve: async (args) => {
18
+ const { localeFrom, localeTo, req, texts } = args;
19
+ const apiUrl = `https://translation.googleapis.com/language/translate/v2?key=${apiKey}`;
20
+ const responses = await Promise.all(chunkArray(texts, chunkLength).map((q) => fetch(apiUrl, {
21
+ body: JSON.stringify({
22
+ q,
23
+ source: mapLocale(localeFrom),
24
+ target: mapLocale(localeTo)
25
+ }),
26
+ headers: {
27
+ "Content-Type": "application/json"
28
+ },
29
+ method: "POST"
30
+ }).then(async (res) => {
31
+ const data = await res.json();
32
+ if (!res.ok)
33
+ req.payload.logger.info({
34
+ googleResponse: data,
35
+ message: "An error occurred when trying to translate the data using Google API"
36
+ });
37
+ return {
38
+ data,
39
+ success: res.ok
40
+ };
41
+ })));
42
+ if (responses.some((res) => !res.success)) {
43
+ return {
44
+ success: false
45
+ };
46
+ }
47
+ const translatedTexts = responses.flatMap((chunk) => chunk.data.data.translations).map((translation) => translation.translatedText);
48
+ return {
49
+ success: true,
50
+ translatedTexts
51
+ };
52
+ }
53
+ };
45
54
  };
46
55
 
47
- //# sourceMappingURL=google.js.map
56
+ // src/exports/resolvers/google.ts
57
+ var google_default = googleResolver;
58
+ export {
59
+ googleResolver,
60
+ google_default as default
61
+ };
@@ -1,16 +1,34 @@
1
- import type { TranslateResolver } from './types';
2
- export type LibreResolverConfig = {
3
- apiKey: string;
4
- /**
5
- * How many texts to include into 1 request
6
- * @default 100
7
- */
8
- chunkLength?: number;
9
- /**
10
- * Custom url for the libre translate instance
11
- * @default "https://libretranslate.com/translate"
12
- */
13
- url?: string;
1
+ import { PayloadRequest } from "payload";
2
+ type TranslateResolverArgs = {
3
+ /** Locale to translate from */
4
+ localeFrom: string;
5
+ /** Locale to translate to */
6
+ localeTo: string;
7
+ req: PayloadRequest;
8
+ texts: string[];
14
9
  };
15
- export declare const libreResolver: ({ apiKey, chunkLength, url, }: LibreResolverConfig) => TranslateResolver;
16
- //# sourceMappingURL=libreTranslate.d.ts.map
10
+ type TranslateResolverResponse = {
11
+ success: false;
12
+ } | {
13
+ success: true;
14
+ translatedTexts: string[];
15
+ };
16
+ type TranslateResolver = {
17
+ key: string;
18
+ resolve: (args: TranslateResolverArgs) => Promise<TranslateResolverResponse> | TranslateResolverResponse;
19
+ };
20
+ type LibreResolverConfig = {
21
+ apiKey: string;
22
+ /**
23
+ * How many texts to include into 1 request
24
+ * @default 100
25
+ */
26
+ chunkLength?: number;
27
+ /**
28
+ * Custom url for the libre translate instance
29
+ * @default "https://libretranslate.com/translate"
30
+ */
31
+ url?: string;
32
+ };
33
+ declare const libreResolver: ({ apiKey, chunkLength, url }: LibreResolverConfig) => TranslateResolver;
34
+ export { libreResolver, libreResolver as default, LibreResolverConfig };
@@ -1,48 +1,63 @@
1
- import { chunkArray } from '../utils/chunkArray';
2
- const localeToCountryCodeMapper = {
3
- ua: 'uk'
1
+ // src/utils/chunkArray.ts
2
+ var chunkArray = (array, length) => {
3
+ return Array.from({ length: Math.ceil(array.length / length) }, (_, i) => array.slice(i * length, i * length + length));
4
4
  };
5
- const mapLocale = (incoming)=>incoming in localeToCountryCodeMapper ? localeToCountryCodeMapper[incoming] : incoming;
6
- export const libreResolver = ({ apiKey, chunkLength = 100, url = 'https://libretranslate.com/translate' })=>{
7
- return {
8
- key: 'libre',
9
- resolve: async (args)=>{
10
- const { localeFrom, localeTo, req, texts } = args;
11
- const apiUrl = url;
12
- const responses = await Promise.all(chunkArray(texts, chunkLength).map((q)=>fetch(apiUrl, {
13
- body: JSON.stringify({
14
- api_key: apiKey,
15
- q,
16
- source: mapLocale(localeFrom),
17
- target: mapLocale(localeTo)
18
- }),
19
- headers: {
20
- 'Content-Type': 'application/json'
21
- },
22
- method: 'POST'
23
- }).then(async (res)=>{
24
- const data = await res.json();
25
- if (!res.ok) req.payload.logger.info({
26
- libreResponse: data,
27
- message: 'An error occurred when trying to translate the data using LibreTranslate API'
28
- });
29
- return {
30
- data,
31
- success: res.ok
32
- };
33
- })));
34
- if (responses.some((res)=>!res.success)) {
35
- return {
36
- success: false
37
- };
38
- }
39
- const translatedTexts = responses.flatMap((chunk)=>chunk.data.translatedText);
40
- return {
41
- success: true,
42
- translatedTexts
43
- };
44
- }
45
- };
5
+
6
+ // src/resolvers/libreTranslate.ts
7
+ var localeToCountryCodeMapper = {
8
+ ua: "uk"
9
+ };
10
+ var mapLocale = (incoming) => (incoming in localeToCountryCodeMapper) ? localeToCountryCodeMapper[incoming] : incoming;
11
+ var libreResolver = ({
12
+ apiKey,
13
+ chunkLength = 100,
14
+ url = "https://libretranslate.com/translate"
15
+ }) => {
16
+ return {
17
+ key: "libre",
18
+ resolve: async (args) => {
19
+ const { localeFrom, localeTo, req, texts } = args;
20
+ const apiUrl = url;
21
+ const responses = await Promise.all(chunkArray(texts, chunkLength).map((q) => fetch(apiUrl, {
22
+ body: JSON.stringify({
23
+ api_key: apiKey,
24
+ q,
25
+ source: mapLocale(localeFrom),
26
+ target: mapLocale(localeTo)
27
+ }),
28
+ headers: {
29
+ "Content-Type": "application/json"
30
+ },
31
+ method: "POST"
32
+ }).then(async (res) => {
33
+ const data = await res.json();
34
+ if (!res.ok)
35
+ req.payload.logger.info({
36
+ libreResponse: data,
37
+ message: "An error occurred when trying to translate the data using LibreTranslate API"
38
+ });
39
+ return {
40
+ data,
41
+ success: res.ok
42
+ };
43
+ })));
44
+ if (responses.some((res) => !res.success)) {
45
+ return {
46
+ success: false
47
+ };
48
+ }
49
+ const translatedTexts = responses.flatMap((chunk) => chunk.data.translatedText);
50
+ return {
51
+ success: true,
52
+ translatedTexts
53
+ };
54
+ }
55
+ };
46
56
  };
47
57
 
48
- //# sourceMappingURL=libreTranslate.js.map
58
+ // src/exports/resolvers/libreTranslate.ts
59
+ var libreTranslate_default = libreResolver;
60
+ export {
61
+ libreResolver,
62
+ libreTranslate_default as default
63
+ };
@@ -1,23 +1,41 @@
1
- import type { TranslateResolver } from './types';
2
- export type OpenAIMessageExchange = Record<string | number, string>;
3
- export type OpenAIPrompt = (args: {
4
- localeFrom: string;
5
- localeTo: string;
6
- texts: OpenAIMessageExchange;
1
+ import { PayloadRequest } from "payload";
2
+ type TranslateResolverArgs = {
3
+ /** Locale to translate from */
4
+ localeFrom: string;
5
+ /** Locale to translate to */
6
+ localeTo: string;
7
+ req: PayloadRequest;
8
+ texts: string[];
9
+ };
10
+ type TranslateResolverResponse = {
11
+ success: false;
12
+ } | {
13
+ success: true;
14
+ translatedTexts: string[];
15
+ };
16
+ type TranslateResolver = {
17
+ key: string;
18
+ resolve: (args: TranslateResolverArgs) => Promise<TranslateResolverResponse> | TranslateResolverResponse;
19
+ };
20
+ type OpenAIMessageExchange = Record<string | number, string>;
21
+ type OpenAIPrompt = (args: {
22
+ localeFrom: string;
23
+ localeTo: string;
24
+ texts: OpenAIMessageExchange;
7
25
  }) => string;
8
- export type OpenAIResolverConfig = {
9
- apiKey: string;
10
- baseUrl?: string;
11
- /**
12
- * How many texts to include into 1 request
13
- * @default 100
14
- */
15
- chunkLength?: number;
16
- /**
17
- * @default "gpt-3.5-turbo"
18
- */
19
- model?: string;
20
- prompt?: OpenAIPrompt;
26
+ type OpenAIResolverConfig = {
27
+ apiKey: string;
28
+ baseUrl?: string;
29
+ /**
30
+ * How many texts to include into 1 request
31
+ * @default 100
32
+ */
33
+ chunkLength?: number;
34
+ /**
35
+ * @default "gpt-3.5-turbo"
36
+ */
37
+ model?: string;
38
+ prompt?: OpenAIPrompt;
21
39
  };
22
- export declare const openAIResolver: ({ apiKey, baseUrl, chunkLength, model, prompt }: OpenAIResolverConfig) => TranslateResolver;
23
- //# sourceMappingURL=openAI.d.ts.map
40
+ declare const openAIResolver: ({ apiKey, baseUrl, chunkLength, model, prompt }: OpenAIResolverConfig) => TranslateResolver;
41
+ export { openAIResolver, openAIResolver as default, OpenAIResolverConfig, OpenAIPrompt, OpenAIMessageExchange };