@magic-translate/react 1.13.0 → 1.13.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.13.1](https://github.com/magic-translate/magic-translate-react/compare/v1.13.0...v1.13.1) (2023-07-31)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * make the useT hook work with multiple translations in the same component ([4b38b27](https://github.com/magic-translate/magic-translate-react/commit/4b38b27b6eac11bf96437cabf076ca3a9bddb94c))
9
+
3
10
  ## [1.13.0](https://github.com/magic-translate/magic-translate-react/compare/v1.12.0...v1.13.0) (2023-07-18)
4
11
 
5
12
 
@@ -43,6 +43,7 @@ export interface MagicTranslateContextValue extends TranslateOptions {
43
43
  language: Language;
44
44
  sourceLanguage?: Language;
45
45
  apiUrl?: string;
46
+ apiKey: string;
46
47
  }
47
48
  export declare const MagicTranslateContext: React.Context<MagicTranslateContextValue | null>;
48
49
  export declare const MagicTranslateProvider: React.FunctionComponent<PropsWithChildren<MagicTranslateProviderProps>>;
@@ -1 +1 @@
1
- {"version":3,"file":"MagicTranslateContext.d.ts","sourceRoot":"","sources":["../../src/context/MagicTranslateContext.tsx"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,EAAE,EAAiB,iBAAiB,EAAW,MAAM,OAAO,CAAC;AACzE,OAAO,EAEL,oBAAoB,EACpB,iBAAiB,EAEjB,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAG9C,MAAM,WAAW,2BAA2B;IAC1C;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC;IAEnB;;;;OAIG;IACH,cAAc,CAAC,EAAE,QAAQ,CAAC;IAE1B;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,SAAS,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IAElC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,cAAc,CAAC,EAAE,CACf,OAAO,CAAC,EAAE,iBAAiB,KACxB,CAAC,OAAO,EAAE,SAAS,oBAAoB,EAAE,KAAK,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;CAC/E;AAED,MAAM,WAAW,0BAA2B,SAAQ,gBAAgB;IAClE,UAAU,EAAE,UAAU,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;IAErD,QAAQ,EAAE,QAAQ,CAAC;IAEnB,cAAc,CAAC,EAAE,QAAQ,CAAC;IAE1B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,qBAAqB,kDACsB,CAAC;AAEzD,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,iBAAiB,CAC1D,iBAAiB,CAAC,2BAA2B,CAAC,CA0C/C,CAAC"}
1
+ {"version":3,"file":"MagicTranslateContext.d.ts","sourceRoot":"","sources":["../../src/context/MagicTranslateContext.tsx"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,EAAE,EAAiB,iBAAiB,EAAW,MAAM,OAAO,CAAC;AACzE,OAAO,EAEL,oBAAoB,EACpB,iBAAiB,EAEjB,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAG9C,MAAM,WAAW,2BAA2B;IAC1C;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC;IAEnB;;;;OAIG;IACH,cAAc,CAAC,EAAE,QAAQ,CAAC;IAE1B;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,SAAS,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IAElC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,cAAc,CAAC,EAAE,CACf,OAAO,CAAC,EAAE,iBAAiB,KACxB,CAAC,OAAO,EAAE,SAAS,oBAAoB,EAAE,KAAK,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;CAC/E;AAED,MAAM,WAAW,0BAA2B,SAAQ,gBAAgB;IAClE,UAAU,EAAE,UAAU,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;IAErD,QAAQ,EAAE,QAAQ,CAAC;IAEnB,cAAc,CAAC,EAAE,QAAQ,CAAC;IAE1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,qBAAqB,kDACsB,CAAC;AAEzD,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,iBAAiB,CAC1D,iBAAiB,CAAC,2BAA2B,CAAC,CA0C/C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"MagicTranslateContext.js","sourceRoot":"","sources":["../../src/context/MagicTranslateContext.tsx"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,EAAE,EAAE,aAAa,EAAqB,OAAO,EAAE,MAAM,OAAO,CAAC;AACzE,OAAO,EACL,UAAU,EAGV,oBAAoB,IAAI,oBAAoB,GAE7C,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAyD9C,MAAM,CAAC,IAAM,qBAAqB,GAChC,aAAa,CAAoC,IAAI,CAAC,CAAC;AAEzD,MAAM,CAAC,IAAM,sBAAsB,GAE/B,UAAC,EASJ;QARC,QAAQ,cAAA,EACR,cAAc,oBAAA,EACd,KAAK,WAAA,EACL,MAAM,YAAA,EACN,QAAQ,cAAA,EACR,sBAAqC,EAArC,cAAc,mBAAG,oBAAoB,KAAA,EACrC,OAAO,aAAA,EACP,SAAS,eAAA;IAET,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,IAAI,KAAK,CAAC,6CAAsC,cAAc,CAAE,CAAC,CAAC;KACzE;IAED,IAAM,KAAK,GAAG,OAAO,CACnB,cAAM,OAAA,CAAC;QACL,UAAU,EAAE,IAAI,UAAU,CACxB,cAAc,CAAC;YACb,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,MAAM,QAAA;YACN,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,cAAc;YAC1B,MAAM,EAAE,OAAO;YACf,SAAS,WAAA;SACV,CAAC,EACF;YACE,UAAU,EAAE,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,CAAC;SACzD,CACF;QACD,QAAQ,UAAA;QACR,cAAc,gBAAA;QACd,MAAM,QAAA;KACP,CAAC,EAjBI,CAiBJ,EACF,CAAC,cAAc,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CACnE,CAAC;IAEF,OAAO,CACL,oBAAC,qBAAqB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,IACzC,QAAQ,CACsB,CAClC,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"MagicTranslateContext.js","sourceRoot":"","sources":["../../src/context/MagicTranslateContext.tsx"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,EAAE,EAAE,aAAa,EAAqB,OAAO,EAAE,MAAM,OAAO,CAAC;AACzE,OAAO,EACL,UAAU,EAGV,oBAAoB,IAAI,oBAAoB,GAE7C,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AA2D9C,MAAM,CAAC,IAAM,qBAAqB,GAChC,aAAa,CAAoC,IAAI,CAAC,CAAC;AAEzD,MAAM,CAAC,IAAM,sBAAsB,GAE/B,UAAC,EASJ;QARC,QAAQ,cAAA,EACR,cAAc,oBAAA,EACd,KAAK,WAAA,EACL,MAAM,YAAA,EACN,QAAQ,cAAA,EACR,sBAAqC,EAArC,cAAc,mBAAG,oBAAoB,KAAA,EACrC,OAAO,aAAA,EACP,SAAS,eAAA;IAET,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,IAAI,KAAK,CAAC,6CAAsC,cAAc,CAAE,CAAC,CAAC;KACzE;IAED,IAAM,KAAK,GAAG,OAAO,CACnB,cAAM,OAAA,CAAC;QACL,UAAU,EAAE,IAAI,UAAU,CACxB,cAAc,CAAC;YACb,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,MAAM,QAAA;YACN,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,cAAc;YAC1B,MAAM,EAAE,OAAO;YACf,SAAS,WAAA;SACV,CAAC,EACF;YACE,UAAU,EAAE,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,CAAC;SACzD,CACF;QACD,QAAQ,UAAA;QACR,cAAc,gBAAA;QACd,MAAM,QAAA;KACP,CAAC,EAjBI,CAiBJ,EACF,CAAC,cAAc,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CACnE,CAAC;IAEF,OAAO,CACL,oBAAC,qBAAqB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,IACzC,QAAQ,CACsB,CAClC,CAAC;AACJ,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-translate.d.ts","sourceRoot":"","sources":["../../src/hooks/use-translate.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,wBAAgB,YAAY,IAAI,CAC9B,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC,KACxC,MAAM,CAeV;AAED,eAAO,MAAM,IAAI,qBAAe,CAAC"}
1
+ {"version":3,"file":"use-translate.d.ts","sourceRoot":"","sources":["../../src/hooks/use-translate.ts"],"names":[],"mappings":"AAEA,OAAO,EAAc,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAEtE,wBAAgB,YAAY,IAAI,CAC9B,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC,KACxC,MAAM,CAuCV;AAED,eAAO,MAAM,IAAI,qBAAe,CAAC"}
@@ -10,18 +10,34 @@ var __assign = (this && this.__assign) || function () {
10
10
  return __assign.apply(this, arguments);
11
11
  };
12
12
  import { useMagicTranslate } from './use-magic-translate';
13
- import { useCallback, useState } from 'react';
13
+ import { useCallback, useMemo, useState } from 'react';
14
+ import { cacheKeyFn } from '../api/data-loader';
14
15
  export function useTranslate() {
15
- var dataLoader = useMagicTranslate().dataLoader;
16
- var _a = useState(), translation = _a[0], setTranslation = _a[1];
17
- return useCallback(function (text, params) {
16
+ var _a = useMagicTranslate(), dataLoader = _a.dataLoader, apiKey = _a.apiKey, sourceLanguage = _a.sourceLanguage;
17
+ var _b = useState(new Map()), translations = _b[0], setTranslations = _b[1];
18
+ var cacheFn = useMemo(function () { return cacheKeyFn(apiKey, sourceLanguage, sourceLanguage); }, [apiKey, sourceLanguage, sourceLanguage]);
19
+ var lookup = useCallback(function (text, params) {
18
20
  if (params === void 0) { params = {}; }
19
- // Yes, I'm basically making an API call in a render function here 😱
20
- // But I know what I'm doing. It's ok because of the magic that is
21
- // DataLoader: We will only make the request once and cache the result
22
- dataLoader.load(__assign({ text: text }, params)).then(setTranslation);
23
- return translation !== null && translation !== void 0 ? translation : text;
24
- }, [dataLoader, translation]);
21
+ return translations.get(cacheFn(__assign({ text: text }, params)));
22
+ }, [translations]);
23
+ var load = useCallback(function (text, params) {
24
+ if (params === void 0) { params = {}; }
25
+ if (lookup(text, params)) {
26
+ return;
27
+ }
28
+ dataLoader.load(__assign({ text: text }, params)).then(function (translation) {
29
+ setTranslations(function (cur) {
30
+ cur.set(cacheFn(__assign({ text: text }, params)), translation);
31
+ return new Map(cur);
32
+ });
33
+ });
34
+ }, [cacheFn, dataLoader, lookup]);
35
+ return function (text, params) {
36
+ var _a;
37
+ if (params === void 0) { params = {}; }
38
+ load(text, params);
39
+ return (_a = lookup(text, params)) !== null && _a !== void 0 ? _a : text;
40
+ };
25
41
  }
26
42
  export var useT = useTranslate;
27
43
  //# sourceMappingURL=use-translate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-translate.js","sourceRoot":"","sources":["../../src/hooks/use-translate.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAG9C,MAAM,UAAU,YAAY;IAIlB,IAAA,UAAU,GAAK,iBAAiB,EAAE,WAAxB,CAAyB;IACrC,IAAA,KAAgC,QAAQ,EAAU,EAAjD,WAAW,QAAA,EAAE,cAAc,QAAsB,CAAC;IAEzD,OAAO,WAAW,CAChB,UAAC,IAAY,EAAE,MAA+C;QAA/C,uBAAA,EAAA,WAA+C;QAC5D,qEAAqE;QACrE,kEAAkE;QAClE,sEAAsE;QACtE,UAAU,CAAC,IAAI,YAAG,IAAI,MAAA,IAAK,MAAM,EAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAE1D,OAAO,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,IAAI,CAAC;IAC7B,CAAC,EACD,CAAC,UAAU,EAAE,WAAW,CAAC,CAC1B,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,IAAM,IAAI,GAAG,YAAY,CAAC"}
1
+ {"version":3,"file":"use-translate.js","sourceRoot":"","sources":["../../src/hooks/use-translate.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,EAAE,UAAU,EAAwB,MAAM,oBAAoB,CAAC;AAEtE,MAAM,UAAU,YAAY;IAIpB,IAAA,KAAyC,iBAAiB,EAAE,EAA1D,UAAU,gBAAA,EAAE,MAAM,YAAA,EAAE,cAAc,oBAAwB,CAAC;IAC7D,IAAA,KAAkC,QAAQ,CAC9C,IAAI,GAAG,EAAkB,CAC1B,EAFM,YAAY,QAAA,EAAE,eAAe,QAEnC,CAAC;IAEF,IAAM,OAAO,GAAG,OAAO,CACrB,cAAM,OAAA,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,cAAc,CAAC,EAAlD,CAAkD,EACxD,CAAC,MAAM,EAAE,cAAc,EAAE,cAAc,CAAC,CACzC,CAAC;IAEF,IAAM,MAAM,GAAG,WAAW,CACxB,UAAC,IAAY,EAAE,MAA+C;QAA/C,uBAAA,EAAA,WAA+C;QAC5D,OAAA,YAAY,CAAC,GAAG,CAAC,OAAO,YAAG,IAAI,MAAA,IAAK,MAAM,EAAG,CAAC;IAA9C,CAA8C,EAChD,CAAC,YAAY,CAAC,CACf,CAAC;IAEF,IAAM,IAAI,GAAG,WAAW,CACtB,UAAC,IAAY,EAAE,MAA+C;QAA/C,uBAAA,EAAA,WAA+C;QAC5D,IAAI,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE;YACxB,OAAO;SACR;QAED,UAAU,CAAC,IAAI,YAAG,IAAI,MAAA,IAAK,MAAM,EAAG,CAAC,IAAI,CAAC,UAAC,WAAW;YACpD,eAAe,CAAC,UAAC,GAAG;gBAClB,GAAG,CAAC,GAAG,CAAC,OAAO,YAAG,IAAI,MAAA,IAAK,MAAM,EAAG,EAAE,WAAW,CAAC,CAAC;gBAEnD,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;YACtB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,EACD,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,CAC9B,CAAC;IAEF,OAAO,UAAC,IAAY,EAAE,MAA+C;;QAA/C,uBAAA,EAAA,WAA+C;QACnE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAEnB,OAAO,MAAA,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,mCAAI,IAAI,CAAC;IACtC,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,IAAM,IAAI,GAAG,YAAY,CAAC"}