@magic-translate/react 1.2.5 → 1.3.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 +8 -0
- package/dist/api/data-loader.d.ts +83 -2
- package/dist/api/data-loader.d.ts.map +1 -1
- package/dist/api/data-loader.js +105 -12
- package/dist/api/data-loader.js.map +1 -1
- package/dist/components/Translate.js +3 -3
- package/dist/components/Translate.js.map +1 -1
- package/dist/components/Translate.test.js +153 -28
- package/dist/components/Translate.test.js.map +1 -1
- package/dist/context/MagicTranslateContext.d.ts +6 -2
- package/dist/context/MagicTranslateContext.d.ts.map +1 -1
- package/dist/context/MagicTranslateContext.js +17 -6
- package/dist/context/MagicTranslateContext.js.map +1 -1
- package/dist/index.es.js +1 -1
- package/dist/index.es.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/package.json +3 -2
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
import DataLoader from 'dataloader';
|
|
2
2
|
import React, { PropsWithChildren } from 'react';
|
|
3
|
-
import { DataLoaderLoadParams, Language } from '../api/data-loader';
|
|
3
|
+
import { DataLoaderLoadParams, DataLoaderOptions, Language } from '../api/data-loader';
|
|
4
4
|
export interface MagicTranslateProviderProps {
|
|
5
|
-
|
|
5
|
+
loaderFactory?: (options?: DataLoaderOptions) => (content: readonly DataLoaderLoadParams[]) => Promise<readonly string[]>;
|
|
6
6
|
language: Language;
|
|
7
|
+
sourceLanguage: Language;
|
|
8
|
+
debug?: boolean;
|
|
9
|
+
apiKey?: string;
|
|
7
10
|
}
|
|
8
11
|
export interface MagicTranslateContextValue {
|
|
9
12
|
dataLoader: DataLoader<DataLoaderLoadParams, string>;
|
|
10
13
|
language: Language;
|
|
14
|
+
sourceLanguage: Language;
|
|
11
15
|
}
|
|
12
16
|
export declare const MagicTranslateContext: React.Context<MagicTranslateContextValue | null>;
|
|
13
17
|
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":"
|
|
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,EACL,oBAAoB,EACpB,iBAAiB,EAEjB,QAAQ,EACT,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,2BAA2B;IAC1C,aAAa,CAAC,EAAE,CACd,OAAO,CAAC,EAAE,iBAAiB,KACxB,CAAC,OAAO,EAAE,SAAS,oBAAoB,EAAE,KAAK,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;IAC9E,QAAQ,EAAE,QAAQ,CAAC;IACnB,cAAc,EAAE,QAAQ,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,0BAA0B;IACzC,UAAU,EAAE,UAAU,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;IACrD,QAAQ,EAAE,QAAQ,CAAC;IACnB,cAAc,EAAE,QAAQ,CAAC;CAC1B;AAED,eAAO,MAAM,qBAAqB,kDACsB,CAAC;AAEzD,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,iBAAiB,CAC1D,iBAAiB,CAAC,2BAA2B,CAAC,CAyC/C,CAAC"}
|
|
@@ -1,16 +1,27 @@
|
|
|
1
|
-
'use client';
|
|
2
1
|
import DataLoader from 'dataloader';
|
|
3
2
|
import React, { createContext, useMemo } from 'react';
|
|
4
|
-
import {
|
|
3
|
+
import { defaultLoaderFactory as defaultLoaderFactory, } from '../api/data-loader';
|
|
5
4
|
export var MagicTranslateContext = createContext(null);
|
|
6
5
|
export var MagicTranslateProvider = function (_a) {
|
|
7
|
-
var _b = _a.
|
|
6
|
+
var _b = _a.loaderFactory, loaderFactory = _b === void 0 ? defaultLoaderFactory : _b, language = _a.language, sourceLanguage = _a.sourceLanguage, debug = _a.debug, apiKey = _a.apiKey, children = _a.children;
|
|
7
|
+
if (!apiKey) {
|
|
8
|
+
throw new Error('Missing API key. Please get one at https://magic-translate.com');
|
|
9
|
+
}
|
|
8
10
|
var value = useMemo(function () { return ({
|
|
9
|
-
dataLoader: new DataLoader(
|
|
10
|
-
|
|
11
|
+
dataLoader: new DataLoader(loaderFactory({
|
|
12
|
+
debug: !!debug,
|
|
13
|
+
apiKey: apiKey,
|
|
14
|
+
lang: language,
|
|
15
|
+
sourceLang: sourceLanguage,
|
|
16
|
+
}), {
|
|
17
|
+
cacheKeyFn: function (params) {
|
|
18
|
+
return "apiKey:".concat(apiKey, ";content=").concat(params.content, ";lang=").concat(language, ";sourceLang=").concat(sourceLanguage);
|
|
19
|
+
},
|
|
11
20
|
}),
|
|
12
21
|
language: language,
|
|
13
|
-
|
|
22
|
+
sourceLanguage: sourceLanguage,
|
|
23
|
+
apiKey: apiKey,
|
|
24
|
+
}); }, [loaderFactory, language, sourceLanguage, debug, apiKey]);
|
|
14
25
|
return (React.createElement(MagicTranslateContext.Provider, { value: value }, children));
|
|
15
26
|
};
|
|
16
27
|
//# sourceMappingURL=MagicTranslateContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MagicTranslateContext.js","sourceRoot":"","sources":["../../src/context/MagicTranslateContext.tsx"],"names":[],"mappings":"AAAA,
|
|
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,EAGL,oBAAoB,IAAI,oBAAoB,GAE7C,MAAM,oBAAoB,CAAC;AAmB5B,MAAM,CAAC,IAAM,qBAAqB,GAChC,aAAa,CAAoC,IAAI,CAAC,CAAC;AAEzD,MAAM,CAAC,IAAM,sBAAsB,GAE/B,UAAC,EAOJ;QANC,qBAAoC,EAApC,aAAa,mBAAG,oBAAoB,KAAA,EACpC,QAAQ,cAAA,EACR,cAAc,oBAAA,EACd,KAAK,WAAA,EACL,MAAM,YAAA,EACN,QAAQ,cAAA;IAER,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,IAAI,KAAK,CACb,gEAAgE,CACjE,CAAC;KACH;IAED,IAAM,KAAK,GAAG,OAAO,CACnB,cAAM,OAAA,CAAC;QACL,UAAU,EAAE,IAAI,UAAU,CACxB,aAAa,CAAC;YACZ,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,MAAM,QAAA;YACN,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,cAAc;SAC3B,CAAC,EACF;YACE,UAAU,EAAE,UAAC,MAAM;gBACjB,OAAA,iBAAU,MAAM,sBAAY,MAAM,CAAC,OAAO,mBAAS,QAAQ,yBAAe,cAAc,CAAE;YAA1F,CAA0F;SAC7F,CACF;QACD,QAAQ,UAAA;QACR,cAAc,gBAAA;QACd,MAAM,QAAA;KACP,CAAC,EAhBI,CAgBJ,EACF,CAAC,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,CAAC,CACzD,CAAC;IAEF,OAAO,CACL,oBAAC,qBAAqB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,IACzC,QAAQ,CACsB,CAClC,CAAC;AACJ,CAAC,CAAC"}
|