@magic-translate/react 1.10.0 → 1.11.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.11.0](https://github.com/magic-translate/magic-translate-react/compare/v1.10.0...v1.11.0) (2023-07-13)
4
+
5
+
6
+ ### Features
7
+
8
+ * introduce loader setup factory for normal async calls to the api ([7899338](https://github.com/magic-translate/magic-translate-react/commit/7899338a80bb3919b083eb5683d02cf4126a1ee8))
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * use only the most recent translation in the T component ([8a8fab6](https://github.com/magic-translate/magic-translate-react/commit/8a8fab649f54088403e09d6536f9e55743c96dc0))
14
+
3
15
  ## [1.10.0](https://github.com/magic-translate/magic-translate-react/compare/v1.9.0...v1.10.0) (2023-07-12)
4
16
 
5
17
 
@@ -0,0 +1,6 @@
1
+ import { TranslateOptions } from './data-loader';
2
+ import { MagicTranslateProviderProps } from '../context/MagicTranslateContext';
3
+ import { Language } from '../domain/language';
4
+ export declare function setupTranslate({ debug, apiKey, sourceLanguage, _apiUrl, formality, }: Omit<MagicTranslateProviderProps, 'language'>): (language: Language, text: string, options?: TranslateOptions) => Promise<string>;
5
+ export declare const setupT: typeof setupTranslate;
6
+ //# sourceMappingURL=setup-translate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-translate.d.ts","sourceRoot":"","sources":["../../src/api/setup-translate.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,gBAAgB,EACjB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,MAAM,EACN,cAAc,EACd,OAAO,EACP,SAAS,GACV,EAAE,IAAI,CAAC,2BAA2B,EAAE,UAAU,CAAC,GAAG,CACjD,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,gBAAgB,KACvB,OAAO,CAAC,MAAM,CAAC,CAcnB;AAED,eAAO,MAAM,MAAM,uBAAiB,CAAC"}
@@ -0,0 +1,30 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import DataLoader from 'dataloader';
13
+ import { defaultLoaderFactory, } from './data-loader';
14
+ import { Language } from '../domain/language';
15
+ export function setupTranslate(_a) {
16
+ var debug = _a.debug, apiKey = _a.apiKey, sourceLanguage = _a.sourceLanguage, _apiUrl = _a._apiUrl, formality = _a.formality;
17
+ var loader = new DataLoader(defaultLoaderFactory({
18
+ debug: !!debug,
19
+ apiKey: apiKey,
20
+ lang: Language.EN,
21
+ sourceLang: sourceLanguage,
22
+ apiUrl: _apiUrl,
23
+ formality: formality,
24
+ }));
25
+ return function (lang, text, options) {
26
+ return loader.load(__assign(__assign({ text: text }, options), { lang: lang }));
27
+ };
28
+ }
29
+ export var setupT = setupTranslate;
30
+ //# sourceMappingURL=setup-translate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-translate.js","sourceRoot":"","sources":["../../src/api/setup-translate.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAEL,oBAAoB,GAErB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,MAAM,UAAU,cAAc,CAAC,EAMiB;QAL9C,KAAK,WAAA,EACL,MAAM,YAAA,EACN,cAAc,oBAAA,EACd,OAAO,aAAA,EACP,SAAS,eAAA;IAMT,IAAM,MAAM,GAAG,IAAI,UAAU,CAC3B,oBAAoB,CAAC;QACnB,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,QAAQ,CAAC,EAAE;QACjB,UAAU,EAAE,cAAc;QAC1B,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,SAAS;KACrB,CAAC,CACH,CAAC;IAEF,OAAO,UAAC,IAAc,EAAE,IAAY,EAAE,OAA0B;QAC9D,OAAA,MAAM,CAAC,IAAI,qBAAG,IAAI,MAAA,IAAK,OAAO,KAAE,IAAI,MAAA,IAAG;IAAvC,CAAuC,CAAC;AAC5C,CAAC;AAED,MAAM,CAAC,IAAM,MAAM,GAAG,cAAc,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Translate.d.ts","sourceRoot":"","sources":["../../src/components/Translate.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EACZ,iBAAiB,EAIlB,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAKtD,MAAM,WAAW,cAAe,SAAQ,gBAAgB;CAAG;AAoB3D,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,iBAAiB,CAC7C,iBAAiB,CAAC,cAAc,CAAC,CAsElC,CAAC;AAEF,eAAO,MAAM,CAAC,kEAAY,CAAC"}
1
+ {"version":3,"file":"Translate.d.ts","sourceRoot":"","sources":["../../src/components/Translate.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EACZ,iBAAiB,EAKlB,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAKtD,MAAM,WAAW,cAAe,SAAQ,gBAAgB;CAAG;AAoB3D,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,iBAAiB,CAC7C,iBAAiB,CAAC,cAAc,CAAC,CA6ElC,CAAC;AAEF,eAAO,MAAM,CAAC,kEAAY,CAAC"}
@@ -21,7 +21,7 @@ var __rest = (this && this.__rest) || function (s, e) {
21
21
  return t;
22
22
  };
23
23
  import parse from 'html-react-parser';
24
- import React, { useCallback, useEffect, useState, } from 'react';
24
+ import React, { useCallback, useEffect, useState, useRef, } from 'react';
25
25
  import { renderToString } from 'react-dom/server';
26
26
  import { libraryName } from '../constants';
27
27
  import { useMagicTranslate } from '../hooks/use-magic-translate';
@@ -38,9 +38,15 @@ export var Translate = function (_a) {
38
38
  var children = _a.children, options = __rest(_a, ["children"]);
39
39
  var _b = useMagicTranslate(), dataLoader = _b.dataLoader, language = _b.language, sourceLanguage = _b.sourceLanguage;
40
40
  var _c = useState(null), translation = _c[0], setTranslation = _c[1];
41
+ var lastRequestId = useRef(0);
41
42
  var translate = useCallback(function (toTranslate) {
43
+ // make sure that we only ever use the response of the most resent request.
44
+ var requestId = Math.random();
45
+ lastRequestId.current = requestId;
42
46
  dataLoader.load(__assign({ text: toTranslate }, options)).then(function (t) {
43
- setTranslation(t);
47
+ if (lastRequestId.current === requestId) {
48
+ setTranslation(t);
49
+ }
44
50
  });
45
51
  }, [dataLoader]);
46
52
  useEffect(function () {
@@ -1 +1 @@
1
- {"version":3,"file":"Translate.js","sourceRoot":"","sources":["../../src/components/Translate.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Translate.js","sourceRoot":"","sources":["../../src/components/Translate.tsx"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export * from './components/Translate';
2
2
  export * from './context/MagicTranslateContext';
3
3
  export * from './api/data-loader';
4
+ export * from './api/setup-translate';
4
5
  export { Language } from './domain/language';
5
6
  export * from './utils/uts-locale-to-language';
6
7
  export * from './hooks/use-translate';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,iCAAiC,CAAC;AAChD,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,iCAAiC,CAAC;AAChD,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC"}