@tolgee/react 5.16.2 → 5.17.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/dist/T.d.ts +1 -0
- package/dist/TBase.d.ts +1 -1
- package/dist/createServerInstance.d.ts +13 -0
- package/dist/server.d.ts +4 -0
- package/dist/tolgee-react-server.cjs.js +96 -0
- package/dist/tolgee-react-server.cjs.js.map +1 -0
- package/dist/tolgee-react-server.cjs.min.js +2 -0
- package/dist/tolgee-react-server.cjs.min.js.map +1 -0
- package/dist/tolgee-react-server.esm.js +81 -0
- package/dist/tolgee-react-server.esm.js.map +1 -0
- package/dist/tolgee-react-server.esm.min.js +2 -0
- package/dist/tolgee-react-server.esm.min.js.map +1 -0
- package/dist/tolgee-react-server.esm.min.mjs +2 -0
- package/dist/tolgee-react-server.esm.min.mjs.map +1 -0
- package/dist/tolgee-react-server.esm.mjs +81 -0
- package/dist/tolgee-react-server.esm.mjs.map +1 -0
- package/dist/tolgee-react-server.umd.js +99 -0
- package/dist/tolgee-react-server.umd.js.map +1 -0
- package/dist/tolgee-react-server.umd.min.js +2 -0
- package/dist/tolgee-react-server.umd.min.js.map +1 -0
- package/dist/tolgee-react.cjs.js.map +1 -1
- package/dist/tolgee-react.cjs.min.js.map +1 -1
- package/dist/tolgee-react.esm.js.map +1 -1
- package/dist/tolgee-react.esm.min.js.map +1 -1
- package/dist/tolgee-react.esm.min.mjs.map +1 -1
- package/dist/tolgee-react.esm.mjs.map +1 -1
- package/dist/tolgee-react.umd.js.map +1 -1
- package/dist/tolgee-react.umd.min.js.map +1 -1
- package/lib/T.d.ts +1 -0
- package/lib/TBase.d.ts +1 -1
- package/lib/createServerInstance.d.ts +13 -0
- package/lib/server.d.ts +4 -0
- package/package.json +14 -8
- package/src/TBase.tsx +1 -1
- package/src/createServerInstance.tsx +42 -0
- package/src/server.ts +5 -0
package/dist/T.d.ts
CHANGED
package/dist/TBase.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { TBaseInterface } from './types';
|
|
1
|
+
import type { TBaseInterface } from './types';
|
|
2
2
|
export declare const TBase: TBaseInterface;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { TProps } from './types';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { TolgeeInstance } from '@tolgee/web';
|
|
4
|
+
export type CreateServerInstanceOptions = {
|
|
5
|
+
createTolgee: (locale: string) => Promise<TolgeeInstance>;
|
|
6
|
+
getLocale: () => string;
|
|
7
|
+
};
|
|
8
|
+
export declare const createServerInstance: ({ createTolgee, getLocale, }: CreateServerInstanceOptions) => {
|
|
9
|
+
getTolgeeInstance: any;
|
|
10
|
+
getTolgee: () => Promise<any>;
|
|
11
|
+
getTranslate: () => Promise<any>;
|
|
12
|
+
T: (props: TProps) => Promise<React.JSX.Element>;
|
|
13
|
+
};
|
package/dist/server.d.ts
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var React = require('react');
|
|
6
|
+
var web = require('@tolgee/web');
|
|
7
|
+
|
|
8
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
9
|
+
|
|
10
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
11
|
+
|
|
12
|
+
const wrapTagHandlers = (params) => {
|
|
13
|
+
if (!params) {
|
|
14
|
+
return undefined;
|
|
15
|
+
}
|
|
16
|
+
const result = {};
|
|
17
|
+
Object.entries(params || {}).forEach(([key, value]) => {
|
|
18
|
+
if (typeof value === 'function') {
|
|
19
|
+
result[key] = (chunk) => {
|
|
20
|
+
return value(addReactKeys(chunk));
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
else if (React__default["default"].isValidElement(value)) {
|
|
24
|
+
const el = value;
|
|
25
|
+
result[key] = (chunk) => {
|
|
26
|
+
return el.props.children === undefined && (chunk === null || chunk === void 0 ? void 0 : chunk.length)
|
|
27
|
+
? React__default["default"].cloneElement(el, {}, addReactKeys(chunk))
|
|
28
|
+
: React__default["default"].cloneElement(el);
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
result[key] = value;
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
return result;
|
|
36
|
+
};
|
|
37
|
+
const addReactKeys = (val) => {
|
|
38
|
+
if (Array.isArray(val)) {
|
|
39
|
+
return React__default["default"].Children.toArray(val);
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
return val;
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
const TBase = (props) => {
|
|
47
|
+
const key = props.keyName || props.children;
|
|
48
|
+
if (key === undefined) {
|
|
49
|
+
// eslint-disable-next-line no-console
|
|
50
|
+
console.error('T component: keyName not defined');
|
|
51
|
+
}
|
|
52
|
+
const defaultValue = props.defaultValue ||
|
|
53
|
+
(props.keyName ? props.children : undefined);
|
|
54
|
+
const translation = addReactKeys(props.t({
|
|
55
|
+
key: key,
|
|
56
|
+
params: wrapTagHandlers(props.params),
|
|
57
|
+
defaultValue,
|
|
58
|
+
noWrap: props.noWrap,
|
|
59
|
+
ns: props.ns,
|
|
60
|
+
language: props.language,
|
|
61
|
+
}));
|
|
62
|
+
return React__default["default"].createElement(React__default["default"].Fragment, null, translation);
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
// @ts-ignore
|
|
66
|
+
const createServerInstance = ({ createTolgee, getLocale, }) => {
|
|
67
|
+
const getTolgeeInstance = React.cache(async (locale) => {
|
|
68
|
+
const tolgee = await createTolgee(locale);
|
|
69
|
+
await tolgee.run();
|
|
70
|
+
return tolgee;
|
|
71
|
+
});
|
|
72
|
+
const getTolgee = async () => {
|
|
73
|
+
const locale = getLocale();
|
|
74
|
+
const tolgee = await getTolgeeInstance(locale);
|
|
75
|
+
return tolgee;
|
|
76
|
+
};
|
|
77
|
+
const getTranslate = async () => {
|
|
78
|
+
const tolgee = await getTolgee();
|
|
79
|
+
return tolgee.t;
|
|
80
|
+
};
|
|
81
|
+
async function T(props) {
|
|
82
|
+
const t = await getTranslate();
|
|
83
|
+
return React__default["default"].createElement(TBase, Object.assign({ t: t }, props));
|
|
84
|
+
}
|
|
85
|
+
return { getTolgeeInstance, getTolgee, getTranslate, T };
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
exports.TBase = TBase;
|
|
89
|
+
exports.createServerInstance = createServerInstance;
|
|
90
|
+
Object.keys(web).forEach(function (k) {
|
|
91
|
+
if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
|
|
92
|
+
enumerable: true,
|
|
93
|
+
get: function () { return web[k]; }
|
|
94
|
+
});
|
|
95
|
+
});
|
|
96
|
+
//# sourceMappingURL=tolgee-react-server.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tolgee-react-server.cjs.js","sources":["../src/tagsTools.tsx","../src/TBase.tsx","../src/createServerInstance.tsx"],"sourcesContent":["import { TranslateParams } from '@tolgee/web';\nimport React from 'react';\n\nimport { ParamsTags } from './types';\n\nexport const wrapTagHandlers = (\n params: TranslateParams<ParamsTags> | undefined\n) => {\n if (!params) {\n return undefined;\n }\n\n const result: any = {};\n\n Object.entries(params || {}).forEach(([key, value]) => {\n if (typeof value === 'function') {\n result[key] = (chunk: any) => {\n return value(addReactKeys(chunk));\n };\n } else if (React.isValidElement(value as any)) {\n const el = value as React.ReactElement;\n result[key] = (chunk: any) => {\n return el.props.children === undefined && chunk?.length\n ? React.cloneElement(el, {}, addReactKeys(chunk))\n : React.cloneElement(el);\n };\n } else {\n result[key] = value;\n }\n });\n\n return result;\n};\n\nexport const addReactKeys = (\n val: React.ReactNode | React.ReactNode[] | undefined\n) => {\n if (Array.isArray(val)) {\n return React.Children.toArray(val);\n } else {\n return val;\n }\n};\n","import React from 'react';\nimport { addReactKeys, wrapTagHandlers } from './tagsTools';\nimport type { PropsWithKeyName, TBaseInterface } from './types';\n\nexport const TBase: TBaseInterface = (props) => {\n const key = (props as PropsWithKeyName).keyName || props.children;\n if (key === undefined) {\n // eslint-disable-next-line no-console\n console.error('T component: keyName not defined');\n }\n const defaultValue =\n props.defaultValue ||\n ((props as PropsWithKeyName).keyName ? props.children : undefined);\n\n const translation = addReactKeys(\n props.t({\n key: key!,\n params: wrapTagHandlers(props.params),\n defaultValue,\n noWrap: props.noWrap,\n ns: props.ns,\n language: props.language,\n })\n );\n\n return <>{translation}</>;\n};\n","// @ts-ignore\nimport { cache } from 'react';\nimport { TFnType } from '@tolgee/web';\n\nimport { TBase } from './TBase';\nimport { TProps, ParamsTags } from './types';\nimport React from 'react';\nimport { TolgeeInstance } from '@tolgee/web';\n\nexport type CreateServerInstanceOptions = {\n createTolgee: (locale: string) => Promise<TolgeeInstance>;\n getLocale: () => string;\n};\n\nexport const createServerInstance = ({\n createTolgee,\n getLocale,\n}: CreateServerInstanceOptions) => {\n const getTolgeeInstance = cache(async (locale: string) => {\n const tolgee = await createTolgee(locale);\n await tolgee.run();\n return tolgee;\n });\n\n const getTolgee = async () => {\n const locale = getLocale();\n const tolgee = await getTolgeeInstance(locale);\n return tolgee;\n };\n\n const getTranslate = async () => {\n const tolgee = await getTolgee();\n return tolgee.t;\n };\n\n async function T(props: TProps) {\n const t = await getTranslate();\n return <TBase t={t as TFnType<ParamsTags>} {...props} />;\n }\n\n return { getTolgeeInstance, getTolgee, getTranslate, T };\n};\n"],"names":["React","cache"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("@tolgee/web");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r=n(e);const a=e=>{if(!e)return;const t={};return Object.entries(e||{}).forEach((([e,n])=>{if("function"==typeof n)t[e]=e=>n(o(e));else if(r.default.isValidElement(n)){const a=n;t[e]=e=>void 0===a.props.children&&(null==e?void 0:e.length)?r.default.cloneElement(a,{},o(e)):r.default.cloneElement(a)}else t[e]=n})),t},o=e=>Array.isArray(e)?r.default.Children.toArray(e):e,l=e=>{const t=e.keyName||e.children;void 0===t&&console.error("T component: keyName not defined");const n=e.defaultValue||(e.keyName?e.children:void 0),l=o(e.t({key:t,params:a(e.params),defaultValue:n,noWrap:e.noWrap,ns:e.ns,language:e.language}));return r.default.createElement(r.default.Fragment,null,l)};exports.TBase=l,exports.createServerInstance=({createTolgee:t,getLocale:n})=>{const a=e.cache((async e=>{const n=await t(e);return await n.run(),n})),o=async()=>{const e=n();return await a(e)},c=async()=>(await o()).t;return{getTolgeeInstance:a,getTolgee:o,getTranslate:c,T:async function(e){const t=await c();return r.default.createElement(l,Object.assign({t:t},e))}}},Object.keys(t).forEach((function(e){"default"===e||exports.hasOwnProperty(e)||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return t[e]}})}));
|
|
2
|
+
//# sourceMappingURL=tolgee-react-server.cjs.min.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tolgee-react-server.cjs.min.js","sources":["../src/tagsTools.tsx","../src/TBase.tsx","../src/createServerInstance.tsx"],"sourcesContent":["import { TranslateParams } from '@tolgee/web';\nimport React from 'react';\n\nimport { ParamsTags } from './types';\n\nexport const wrapTagHandlers = (\n params: TranslateParams<ParamsTags> | undefined\n) => {\n if (!params) {\n return undefined;\n }\n\n const result: any = {};\n\n Object.entries(params || {}).forEach(([key, value]) => {\n if (typeof value === 'function') {\n result[key] = (chunk: any) => {\n return value(addReactKeys(chunk));\n };\n } else if (React.isValidElement(value as any)) {\n const el = value as React.ReactElement;\n result[key] = (chunk: any) => {\n return el.props.children === undefined && chunk?.length\n ? React.cloneElement(el, {}, addReactKeys(chunk))\n : React.cloneElement(el);\n };\n } else {\n result[key] = value;\n }\n });\n\n return result;\n};\n\nexport const addReactKeys = (\n val: React.ReactNode | React.ReactNode[] | undefined\n) => {\n if (Array.isArray(val)) {\n return React.Children.toArray(val);\n } else {\n return val;\n }\n};\n","import React from 'react';\nimport { addReactKeys, wrapTagHandlers } from './tagsTools';\nimport type { PropsWithKeyName, TBaseInterface } from './types';\n\nexport const TBase: TBaseInterface = (props) => {\n const key = (props as PropsWithKeyName).keyName || props.children;\n if (key === undefined) {\n // eslint-disable-next-line no-console\n console.error('T component: keyName not defined');\n }\n const defaultValue =\n props.defaultValue ||\n ((props as PropsWithKeyName).keyName ? props.children : undefined);\n\n const translation = addReactKeys(\n props.t({\n key: key!,\n params: wrapTagHandlers(props.params),\n defaultValue,\n noWrap: props.noWrap,\n ns: props.ns,\n language: props.language,\n })\n );\n\n return <>{translation}</>;\n};\n","// @ts-ignore\nimport { cache } from 'react';\nimport { TFnType } from '@tolgee/web';\n\nimport { TBase } from './TBase';\nimport { TProps, ParamsTags } from './types';\nimport React from 'react';\nimport { TolgeeInstance } from '@tolgee/web';\n\nexport type CreateServerInstanceOptions = {\n createTolgee: (locale: string) => Promise<TolgeeInstance>;\n getLocale: () => string;\n};\n\nexport const createServerInstance = ({\n createTolgee,\n getLocale,\n}: CreateServerInstanceOptions) => {\n const getTolgeeInstance = cache(async (locale: string) => {\n const tolgee = await createTolgee(locale);\n await tolgee.run();\n return tolgee;\n });\n\n const getTolgee = async () => {\n const locale = getLocale();\n const tolgee = await getTolgeeInstance(locale);\n return tolgee;\n };\n\n const getTranslate = async () => {\n const tolgee = await getTolgee();\n return tolgee.t;\n };\n\n async function T(props: TProps) {\n const t = await getTranslate();\n return <TBase t={t as TFnType<ParamsTags>} {...props} />;\n }\n\n return { getTolgeeInstance, getTolgee, getTranslate, T };\n};\n"],"names":["wrapTagHandlers","params","result","Object","entries","forEach","key","value","chunk","addReactKeys","React","isValidElement","el","undefined","props","children","length","cloneElement","val","Array","isArray","Children","toArray","TBase","keyName","console","error","defaultValue","translation","t","noWrap","ns","language","createElement","Fragment","createTolgee","getLocale","getTolgeeInstance","cache","async","locale","tolgee","run","getTolgee","getTranslate","T","assign"],"mappings":"uMAKO,MAAMA,EACXC,IAEA,IAAKA,EACH,OAGF,MAAMC,EAAc,CAAA,EAmBpB,OAjBAC,OAAOC,QAAQH,GAAU,CAAE,GAAEI,SAAQ,EAAEC,EAAKC,MAC1C,GAAqB,mBAAVA,EACTL,EAAOI,GAAQE,GACND,EAAME,EAAaD,SAEvB,GAAIE,EAAK,QAACC,eAAeJ,GAAe,CAC7C,MAAMK,EAAKL,EACXL,EAAOI,GAAQE,QACgBK,IAAtBD,EAAGE,MAAMC,WAA0BP,aAAK,EAALA,EAAOQ,QAC7CN,EAAK,QAACO,aAAaL,EAAI,CAAE,EAAEH,EAAaD,IACxCE,UAAMO,aAAaL,EAE1B,MACCV,EAAOI,GAAOC,CACf,IAGIL,CAAM,EAGFO,EACXS,GAEIC,MAAMC,QAAQF,GACTR,UAAMW,SAASC,QAAQJ,GAEvBA,ECpCEK,EAAyBT,IACpC,MAAMR,EAAOQ,EAA2BU,SAAWV,EAAMC,cAC7CF,IAARP,GAEFmB,QAAQC,MAAM,oCAEhB,MAAMC,EACJb,EAAMa,eACJb,EAA2BU,QAAUV,EAAMC,cAAWF,GAEpDe,EAAcnB,EAClBK,EAAMe,EAAE,CACNvB,IAAKA,EACLL,OAAQD,EAAgBc,EAAMb,QAC9B0B,eACAG,OAAQhB,EAAMgB,OACdC,GAAIjB,EAAMiB,GACVC,SAAUlB,EAAMkB,YAIpB,OAAOtB,EAAAA,QAAAuB,cAAAvB,EAAAA,QAAAwB,SAAA,KAAGN,EAAe,+CCXS,EAClCO,eACAC,gBAEA,MAAMC,EAAoBC,SAAMC,MAAOC,IACrC,MAAMC,QAAeN,EAAaK,GAElC,aADMC,EAAOC,MACND,CAAM,IAGTE,EAAYJ,UAChB,MAAMC,EAASJ,IAEf,aADqBC,EAAkBG,EAC1B,EAGTI,EAAeL,gBACEI,KACPd,EAQhB,MAAO,CAAEQ,oBAAmBM,YAAWC,eAAcC,EALrDN,eAAiBzB,GACf,MAAMe,QAAUe,IAChB,OAAOlC,UAAAuB,cAACV,EAAMpB,OAAA2C,OAAA,CAAAjB,EAAGA,GAA8Bf,GAChD,EAEuD"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import React, { cache } from 'react';
|
|
2
|
+
export * from '@tolgee/web';
|
|
3
|
+
|
|
4
|
+
const wrapTagHandlers = (params) => {
|
|
5
|
+
if (!params) {
|
|
6
|
+
return undefined;
|
|
7
|
+
}
|
|
8
|
+
const result = {};
|
|
9
|
+
Object.entries(params || {}).forEach(([key, value]) => {
|
|
10
|
+
if (typeof value === 'function') {
|
|
11
|
+
result[key] = (chunk) => {
|
|
12
|
+
return value(addReactKeys(chunk));
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
else if (React.isValidElement(value)) {
|
|
16
|
+
const el = value;
|
|
17
|
+
result[key] = (chunk) => {
|
|
18
|
+
return el.props.children === undefined && (chunk === null || chunk === void 0 ? void 0 : chunk.length)
|
|
19
|
+
? React.cloneElement(el, {}, addReactKeys(chunk))
|
|
20
|
+
: React.cloneElement(el);
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
result[key] = value;
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
return result;
|
|
28
|
+
};
|
|
29
|
+
const addReactKeys = (val) => {
|
|
30
|
+
if (Array.isArray(val)) {
|
|
31
|
+
return React.Children.toArray(val);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
return val;
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
const TBase = (props) => {
|
|
39
|
+
const key = props.keyName || props.children;
|
|
40
|
+
if (key === undefined) {
|
|
41
|
+
// eslint-disable-next-line no-console
|
|
42
|
+
console.error('T component: keyName not defined');
|
|
43
|
+
}
|
|
44
|
+
const defaultValue = props.defaultValue ||
|
|
45
|
+
(props.keyName ? props.children : undefined);
|
|
46
|
+
const translation = addReactKeys(props.t({
|
|
47
|
+
key: key,
|
|
48
|
+
params: wrapTagHandlers(props.params),
|
|
49
|
+
defaultValue,
|
|
50
|
+
noWrap: props.noWrap,
|
|
51
|
+
ns: props.ns,
|
|
52
|
+
language: props.language,
|
|
53
|
+
}));
|
|
54
|
+
return React.createElement(React.Fragment, null, translation);
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
// @ts-ignore
|
|
58
|
+
const createServerInstance = ({ createTolgee, getLocale, }) => {
|
|
59
|
+
const getTolgeeInstance = cache(async (locale) => {
|
|
60
|
+
const tolgee = await createTolgee(locale);
|
|
61
|
+
await tolgee.run();
|
|
62
|
+
return tolgee;
|
|
63
|
+
});
|
|
64
|
+
const getTolgee = async () => {
|
|
65
|
+
const locale = getLocale();
|
|
66
|
+
const tolgee = await getTolgeeInstance(locale);
|
|
67
|
+
return tolgee;
|
|
68
|
+
};
|
|
69
|
+
const getTranslate = async () => {
|
|
70
|
+
const tolgee = await getTolgee();
|
|
71
|
+
return tolgee.t;
|
|
72
|
+
};
|
|
73
|
+
async function T(props) {
|
|
74
|
+
const t = await getTranslate();
|
|
75
|
+
return React.createElement(TBase, Object.assign({ t: t }, props));
|
|
76
|
+
}
|
|
77
|
+
return { getTolgeeInstance, getTolgee, getTranslate, T };
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
export { TBase, createServerInstance };
|
|
81
|
+
//# sourceMappingURL=tolgee-react-server.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tolgee-react-server.esm.js","sources":["../src/tagsTools.tsx","../src/TBase.tsx","../src/createServerInstance.tsx"],"sourcesContent":["import { TranslateParams } from '@tolgee/web';\nimport React from 'react';\n\nimport { ParamsTags } from './types';\n\nexport const wrapTagHandlers = (\n params: TranslateParams<ParamsTags> | undefined\n) => {\n if (!params) {\n return undefined;\n }\n\n const result: any = {};\n\n Object.entries(params || {}).forEach(([key, value]) => {\n if (typeof value === 'function') {\n result[key] = (chunk: any) => {\n return value(addReactKeys(chunk));\n };\n } else if (React.isValidElement(value as any)) {\n const el = value as React.ReactElement;\n result[key] = (chunk: any) => {\n return el.props.children === undefined && chunk?.length\n ? React.cloneElement(el, {}, addReactKeys(chunk))\n : React.cloneElement(el);\n };\n } else {\n result[key] = value;\n }\n });\n\n return result;\n};\n\nexport const addReactKeys = (\n val: React.ReactNode | React.ReactNode[] | undefined\n) => {\n if (Array.isArray(val)) {\n return React.Children.toArray(val);\n } else {\n return val;\n }\n};\n","import React from 'react';\nimport { addReactKeys, wrapTagHandlers } from './tagsTools';\nimport type { PropsWithKeyName, TBaseInterface } from './types';\n\nexport const TBase: TBaseInterface = (props) => {\n const key = (props as PropsWithKeyName).keyName || props.children;\n if (key === undefined) {\n // eslint-disable-next-line no-console\n console.error('T component: keyName not defined');\n }\n const defaultValue =\n props.defaultValue ||\n ((props as PropsWithKeyName).keyName ? props.children : undefined);\n\n const translation = addReactKeys(\n props.t({\n key: key!,\n params: wrapTagHandlers(props.params),\n defaultValue,\n noWrap: props.noWrap,\n ns: props.ns,\n language: props.language,\n })\n );\n\n return <>{translation}</>;\n};\n","// @ts-ignore\nimport { cache } from 'react';\nimport { TFnType } from '@tolgee/web';\n\nimport { TBase } from './TBase';\nimport { TProps, ParamsTags } from './types';\nimport React from 'react';\nimport { TolgeeInstance } from '@tolgee/web';\n\nexport type CreateServerInstanceOptions = {\n createTolgee: (locale: string) => Promise<TolgeeInstance>;\n getLocale: () => string;\n};\n\nexport const createServerInstance = ({\n createTolgee,\n getLocale,\n}: CreateServerInstanceOptions) => {\n const getTolgeeInstance = cache(async (locale: string) => {\n const tolgee = await createTolgee(locale);\n await tolgee.run();\n return tolgee;\n });\n\n const getTolgee = async () => {\n const locale = getLocale();\n const tolgee = await getTolgeeInstance(locale);\n return tolgee;\n };\n\n const getTranslate = async () => {\n const tolgee = await getTolgee();\n return tolgee.t;\n };\n\n async function T(props: TProps) {\n const t = await getTranslate();\n return <TBase t={t as TFnType<ParamsTags>} {...props} />;\n }\n\n return { getTolgeeInstance, getTolgee, getTranslate, T };\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import e,{cache as n}from"react";export*from"@tolgee/web";const t=n=>{if(!n)return;const t={};return Object.entries(n||{}).forEach((([n,r])=>{if("function"==typeof r)t[n]=e=>r(a(e));else if(e.isValidElement(r)){const o=r;t[n]=n=>void 0===o.props.children&&(null==n?void 0:n.length)?e.cloneElement(o,{},a(n)):e.cloneElement(o)}else t[n]=r})),t},a=n=>Array.isArray(n)?e.Children.toArray(n):n,r=n=>{const r=n.keyName||n.children;void 0===r&&console.error("T component: keyName not defined");const o=n.defaultValue||(n.keyName?n.children:void 0),l=a(n.t({key:r,params:t(n.params),defaultValue:o,noWrap:n.noWrap,ns:n.ns,language:n.language}));return e.createElement(e.Fragment,null,l)},o=({createTolgee:t,getLocale:a})=>{const o=n((async e=>{const n=await t(e);return await n.run(),n})),l=async()=>{const e=a();return await o(e)},c=async()=>(await l()).t;return{getTolgeeInstance:o,getTolgee:l,getTranslate:c,T:async function(n){const t=await c();return e.createElement(r,Object.assign({t:t},n))}}};export{r as TBase,o as createServerInstance};
|
|
2
|
+
//# sourceMappingURL=tolgee-react-server.esm.min.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tolgee-react-server.esm.min.js","sources":["../src/tagsTools.tsx","../src/TBase.tsx","../src/createServerInstance.tsx"],"sourcesContent":["import { TranslateParams } from '@tolgee/web';\nimport React from 'react';\n\nimport { ParamsTags } from './types';\n\nexport const wrapTagHandlers = (\n params: TranslateParams<ParamsTags> | undefined\n) => {\n if (!params) {\n return undefined;\n }\n\n const result: any = {};\n\n Object.entries(params || {}).forEach(([key, value]) => {\n if (typeof value === 'function') {\n result[key] = (chunk: any) => {\n return value(addReactKeys(chunk));\n };\n } else if (React.isValidElement(value as any)) {\n const el = value as React.ReactElement;\n result[key] = (chunk: any) => {\n return el.props.children === undefined && chunk?.length\n ? React.cloneElement(el, {}, addReactKeys(chunk))\n : React.cloneElement(el);\n };\n } else {\n result[key] = value;\n }\n });\n\n return result;\n};\n\nexport const addReactKeys = (\n val: React.ReactNode | React.ReactNode[] | undefined\n) => {\n if (Array.isArray(val)) {\n return React.Children.toArray(val);\n } else {\n return val;\n }\n};\n","import React from 'react';\nimport { addReactKeys, wrapTagHandlers } from './tagsTools';\nimport type { PropsWithKeyName, TBaseInterface } from './types';\n\nexport const TBase: TBaseInterface = (props) => {\n const key = (props as PropsWithKeyName).keyName || props.children;\n if (key === undefined) {\n // eslint-disable-next-line no-console\n console.error('T component: keyName not defined');\n }\n const defaultValue =\n props.defaultValue ||\n ((props as PropsWithKeyName).keyName ? props.children : undefined);\n\n const translation = addReactKeys(\n props.t({\n key: key!,\n params: wrapTagHandlers(props.params),\n defaultValue,\n noWrap: props.noWrap,\n ns: props.ns,\n language: props.language,\n })\n );\n\n return <>{translation}</>;\n};\n","// @ts-ignore\nimport { cache } from 'react';\nimport { TFnType } from '@tolgee/web';\n\nimport { TBase } from './TBase';\nimport { TProps, ParamsTags } from './types';\nimport React from 'react';\nimport { TolgeeInstance } from '@tolgee/web';\n\nexport type CreateServerInstanceOptions = {\n createTolgee: (locale: string) => Promise<TolgeeInstance>;\n getLocale: () => string;\n};\n\nexport const createServerInstance = ({\n createTolgee,\n getLocale,\n}: CreateServerInstanceOptions) => {\n const getTolgeeInstance = cache(async (locale: string) => {\n const tolgee = await createTolgee(locale);\n await tolgee.run();\n return tolgee;\n });\n\n const getTolgee = async () => {\n const locale = getLocale();\n const tolgee = await getTolgeeInstance(locale);\n return tolgee;\n };\n\n const getTranslate = async () => {\n const tolgee = await getTolgee();\n return tolgee.t;\n };\n\n async function T(props: TProps) {\n const t = await getTranslate();\n return <TBase t={t as TFnType<ParamsTags>} {...props} />;\n }\n\n return { getTolgeeInstance, getTolgee, getTranslate, T };\n};\n"],"names":["wrapTagHandlers","params","result","Object","entries","forEach","key","value","chunk","addReactKeys","React","isValidElement","el","undefined","props","children","length","cloneElement","val","Array","isArray","Children","toArray","TBase","keyName","console","error","defaultValue","translation","t","noWrap","ns","language","createElement","Fragment","createServerInstance","createTolgee","getLocale","getTolgeeInstance","cache","async","locale","tolgee","run","getTolgee","getTranslate","T","assign"],"mappings":"0DAKO,MAAMA,EACXC,IAEA,IAAKA,EACH,OAGF,MAAMC,EAAc,CAAA,EAmBpB,OAjBAC,OAAOC,QAAQH,GAAU,CAAE,GAAEI,SAAQ,EAAEC,EAAKC,MAC1C,GAAqB,mBAAVA,EACTL,EAAOI,GAAQE,GACND,EAAME,EAAaD,SAEvB,GAAIE,EAAMC,eAAeJ,GAAe,CAC7C,MAAMK,EAAKL,EACXL,EAAOI,GAAQE,QACgBK,IAAtBD,EAAGE,MAAMC,WAA0BP,aAAK,EAALA,EAAOQ,QAC7CN,EAAMO,aAAaL,EAAI,CAAE,EAAEH,EAAaD,IACxCE,EAAMO,aAAaL,EAE1B,MACCV,EAAOI,GAAOC,CACf,IAGIL,CAAM,EAGFO,EACXS,GAEIC,MAAMC,QAAQF,GACTR,EAAMW,SAASC,QAAQJ,GAEvBA,ECpCEK,EAAyBT,IACpC,MAAMR,EAAOQ,EAA2BU,SAAWV,EAAMC,cAC7CF,IAARP,GAEFmB,QAAQC,MAAM,oCAEhB,MAAMC,EACJb,EAAMa,eACJb,EAA2BU,QAAUV,EAAMC,cAAWF,GAEpDe,EAAcnB,EAClBK,EAAMe,EAAE,CACNvB,IAAKA,EACLL,OAAQD,EAAgBc,EAAMb,QAC9B0B,eACAG,OAAQhB,EAAMgB,OACdC,GAAIjB,EAAMiB,GACVC,SAAUlB,EAAMkB,YAIpB,OAAOtB,EAAAuB,cAAAvB,EAAAwB,SAAA,KAAGN,EAAe,ECXdO,EAAuB,EAClCC,eACAC,gBAEA,MAAMC,EAAoBC,GAAMC,MAAOC,IACrC,MAAMC,QAAeN,EAAaK,GAElC,aADMC,EAAOC,MACND,CAAM,IAGTE,EAAYJ,UAChB,MAAMC,EAASJ,IAEf,aADqBC,EAAkBG,EAC1B,EAGTI,EAAeL,gBACEI,KACPf,EAQhB,MAAO,CAAES,oBAAmBM,YAAWC,eAAcC,EALrDN,eAAiB1B,GACf,MAAMe,QAAUgB,IAChB,OAAOnC,EAAAuB,cAACV,EAAMpB,OAAA4C,OAAA,CAAAlB,EAAGA,GAA8Bf,GAChD,EAEuD"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import e,{cache as n}from"react";export*from"@tolgee/web";const t=n=>{if(!n)return;const t={};return Object.entries(n||{}).forEach((([n,r])=>{if("function"==typeof r)t[n]=e=>r(a(e));else if(e.isValidElement(r)){const o=r;t[n]=n=>void 0===o.props.children&&(null==n?void 0:n.length)?e.cloneElement(o,{},a(n)):e.cloneElement(o)}else t[n]=r})),t},a=n=>Array.isArray(n)?e.Children.toArray(n):n,r=n=>{const r=n.keyName||n.children;void 0===r&&console.error("T component: keyName not defined");const o=n.defaultValue||(n.keyName?n.children:void 0),l=a(n.t({key:r,params:t(n.params),defaultValue:o,noWrap:n.noWrap,ns:n.ns,language:n.language}));return e.createElement(e.Fragment,null,l)},o=({createTolgee:t,getLocale:a})=>{const o=n((async e=>{const n=await t(e);return await n.run(),n})),l=async()=>{const e=a();return await o(e)},c=async()=>(await l()).t;return{getTolgeeInstance:o,getTolgee:l,getTranslate:c,T:async function(n){const t=await c();return e.createElement(r,Object.assign({t:t},n))}}};export{r as TBase,o as createServerInstance};
|
|
2
|
+
//# sourceMappingURL=tolgee-react-server.esm.min.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tolgee-react-server.esm.min.mjs","sources":["../src/tagsTools.tsx","../src/TBase.tsx","../src/createServerInstance.tsx"],"sourcesContent":["import { TranslateParams } from '@tolgee/web';\nimport React from 'react';\n\nimport { ParamsTags } from './types';\n\nexport const wrapTagHandlers = (\n params: TranslateParams<ParamsTags> | undefined\n) => {\n if (!params) {\n return undefined;\n }\n\n const result: any = {};\n\n Object.entries(params || {}).forEach(([key, value]) => {\n if (typeof value === 'function') {\n result[key] = (chunk: any) => {\n return value(addReactKeys(chunk));\n };\n } else if (React.isValidElement(value as any)) {\n const el = value as React.ReactElement;\n result[key] = (chunk: any) => {\n return el.props.children === undefined && chunk?.length\n ? React.cloneElement(el, {}, addReactKeys(chunk))\n : React.cloneElement(el);\n };\n } else {\n result[key] = value;\n }\n });\n\n return result;\n};\n\nexport const addReactKeys = (\n val: React.ReactNode | React.ReactNode[] | undefined\n) => {\n if (Array.isArray(val)) {\n return React.Children.toArray(val);\n } else {\n return val;\n }\n};\n","import React from 'react';\nimport { addReactKeys, wrapTagHandlers } from './tagsTools';\nimport type { PropsWithKeyName, TBaseInterface } from './types';\n\nexport const TBase: TBaseInterface = (props) => {\n const key = (props as PropsWithKeyName).keyName || props.children;\n if (key === undefined) {\n // eslint-disable-next-line no-console\n console.error('T component: keyName not defined');\n }\n const defaultValue =\n props.defaultValue ||\n ((props as PropsWithKeyName).keyName ? props.children : undefined);\n\n const translation = addReactKeys(\n props.t({\n key: key!,\n params: wrapTagHandlers(props.params),\n defaultValue,\n noWrap: props.noWrap,\n ns: props.ns,\n language: props.language,\n })\n );\n\n return <>{translation}</>;\n};\n","// @ts-ignore\nimport { cache } from 'react';\nimport { TFnType } from '@tolgee/web';\n\nimport { TBase } from './TBase';\nimport { TProps, ParamsTags } from './types';\nimport React from 'react';\nimport { TolgeeInstance } from '@tolgee/web';\n\nexport type CreateServerInstanceOptions = {\n createTolgee: (locale: string) => Promise<TolgeeInstance>;\n getLocale: () => string;\n};\n\nexport const createServerInstance = ({\n createTolgee,\n getLocale,\n}: CreateServerInstanceOptions) => {\n const getTolgeeInstance = cache(async (locale: string) => {\n const tolgee = await createTolgee(locale);\n await tolgee.run();\n return tolgee;\n });\n\n const getTolgee = async () => {\n const locale = getLocale();\n const tolgee = await getTolgeeInstance(locale);\n return tolgee;\n };\n\n const getTranslate = async () => {\n const tolgee = await getTolgee();\n return tolgee.t;\n };\n\n async function T(props: TProps) {\n const t = await getTranslate();\n return <TBase t={t as TFnType<ParamsTags>} {...props} />;\n }\n\n return { getTolgeeInstance, getTolgee, getTranslate, T };\n};\n"],"names":["wrapTagHandlers","params","result","Object","entries","forEach","key","value","chunk","addReactKeys","React","isValidElement","el","undefined","props","children","length","cloneElement","val","Array","isArray","Children","toArray","TBase","keyName","console","error","defaultValue","translation","t","noWrap","ns","language","createElement","Fragment","createServerInstance","createTolgee","getLocale","getTolgeeInstance","cache","async","locale","tolgee","run","getTolgee","getTranslate","T","assign"],"mappings":"0DAKO,MAAMA,EACXC,IAEA,IAAKA,EACH,OAGF,MAAMC,EAAc,CAAA,EAmBpB,OAjBAC,OAAOC,QAAQH,GAAU,CAAE,GAAEI,SAAQ,EAAEC,EAAKC,MAC1C,GAAqB,mBAAVA,EACTL,EAAOI,GAAQE,GACND,EAAME,EAAaD,SAEvB,GAAIE,EAAMC,eAAeJ,GAAe,CAC7C,MAAMK,EAAKL,EACXL,EAAOI,GAAQE,QACgBK,IAAtBD,EAAGE,MAAMC,WAA0BP,aAAK,EAALA,EAAOQ,QAC7CN,EAAMO,aAAaL,EAAI,CAAE,EAAEH,EAAaD,IACxCE,EAAMO,aAAaL,EAE1B,MACCV,EAAOI,GAAOC,CACf,IAGIL,CAAM,EAGFO,EACXS,GAEIC,MAAMC,QAAQF,GACTR,EAAMW,SAASC,QAAQJ,GAEvBA,ECpCEK,EAAyBT,IACpC,MAAMR,EAAOQ,EAA2BU,SAAWV,EAAMC,cAC7CF,IAARP,GAEFmB,QAAQC,MAAM,oCAEhB,MAAMC,EACJb,EAAMa,eACJb,EAA2BU,QAAUV,EAAMC,cAAWF,GAEpDe,EAAcnB,EAClBK,EAAMe,EAAE,CACNvB,IAAKA,EACLL,OAAQD,EAAgBc,EAAMb,QAC9B0B,eACAG,OAAQhB,EAAMgB,OACdC,GAAIjB,EAAMiB,GACVC,SAAUlB,EAAMkB,YAIpB,OAAOtB,EAAAuB,cAAAvB,EAAAwB,SAAA,KAAGN,EAAe,ECXdO,EAAuB,EAClCC,eACAC,gBAEA,MAAMC,EAAoBC,GAAMC,MAAOC,IACrC,MAAMC,QAAeN,EAAaK,GAElC,aADMC,EAAOC,MACND,CAAM,IAGTE,EAAYJ,UAChB,MAAMC,EAASJ,IAEf,aADqBC,EAAkBG,EAC1B,EAGTI,EAAeL,gBACEI,KACPf,EAQhB,MAAO,CAAES,oBAAmBM,YAAWC,eAAcC,EALrDN,eAAiB1B,GACf,MAAMe,QAAUgB,IAChB,OAAOnC,EAAAuB,cAACV,EAAMpB,OAAA4C,OAAA,CAAAlB,EAAGA,GAA8Bf,GAChD,EAEuD"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import React, { cache } from 'react';
|
|
2
|
+
export * from '@tolgee/web';
|
|
3
|
+
|
|
4
|
+
const wrapTagHandlers = (params) => {
|
|
5
|
+
if (!params) {
|
|
6
|
+
return undefined;
|
|
7
|
+
}
|
|
8
|
+
const result = {};
|
|
9
|
+
Object.entries(params || {}).forEach(([key, value]) => {
|
|
10
|
+
if (typeof value === 'function') {
|
|
11
|
+
result[key] = (chunk) => {
|
|
12
|
+
return value(addReactKeys(chunk));
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
else if (React.isValidElement(value)) {
|
|
16
|
+
const el = value;
|
|
17
|
+
result[key] = (chunk) => {
|
|
18
|
+
return el.props.children === undefined && (chunk === null || chunk === void 0 ? void 0 : chunk.length)
|
|
19
|
+
? React.cloneElement(el, {}, addReactKeys(chunk))
|
|
20
|
+
: React.cloneElement(el);
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
result[key] = value;
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
return result;
|
|
28
|
+
};
|
|
29
|
+
const addReactKeys = (val) => {
|
|
30
|
+
if (Array.isArray(val)) {
|
|
31
|
+
return React.Children.toArray(val);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
return val;
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
const TBase = (props) => {
|
|
39
|
+
const key = props.keyName || props.children;
|
|
40
|
+
if (key === undefined) {
|
|
41
|
+
// eslint-disable-next-line no-console
|
|
42
|
+
console.error('T component: keyName not defined');
|
|
43
|
+
}
|
|
44
|
+
const defaultValue = props.defaultValue ||
|
|
45
|
+
(props.keyName ? props.children : undefined);
|
|
46
|
+
const translation = addReactKeys(props.t({
|
|
47
|
+
key: key,
|
|
48
|
+
params: wrapTagHandlers(props.params),
|
|
49
|
+
defaultValue,
|
|
50
|
+
noWrap: props.noWrap,
|
|
51
|
+
ns: props.ns,
|
|
52
|
+
language: props.language,
|
|
53
|
+
}));
|
|
54
|
+
return React.createElement(React.Fragment, null, translation);
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
// @ts-ignore
|
|
58
|
+
const createServerInstance = ({ createTolgee, getLocale, }) => {
|
|
59
|
+
const getTolgeeInstance = cache(async (locale) => {
|
|
60
|
+
const tolgee = await createTolgee(locale);
|
|
61
|
+
await tolgee.run();
|
|
62
|
+
return tolgee;
|
|
63
|
+
});
|
|
64
|
+
const getTolgee = async () => {
|
|
65
|
+
const locale = getLocale();
|
|
66
|
+
const tolgee = await getTolgeeInstance(locale);
|
|
67
|
+
return tolgee;
|
|
68
|
+
};
|
|
69
|
+
const getTranslate = async () => {
|
|
70
|
+
const tolgee = await getTolgee();
|
|
71
|
+
return tolgee.t;
|
|
72
|
+
};
|
|
73
|
+
async function T(props) {
|
|
74
|
+
const t = await getTranslate();
|
|
75
|
+
return React.createElement(TBase, Object.assign({ t: t }, props));
|
|
76
|
+
}
|
|
77
|
+
return { getTolgeeInstance, getTolgee, getTranslate, T };
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
export { TBase, createServerInstance };
|
|
81
|
+
//# sourceMappingURL=tolgee-react-server.esm.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tolgee-react-server.esm.mjs","sources":["../src/tagsTools.tsx","../src/TBase.tsx","../src/createServerInstance.tsx"],"sourcesContent":["import { TranslateParams } from '@tolgee/web';\nimport React from 'react';\n\nimport { ParamsTags } from './types';\n\nexport const wrapTagHandlers = (\n params: TranslateParams<ParamsTags> | undefined\n) => {\n if (!params) {\n return undefined;\n }\n\n const result: any = {};\n\n Object.entries(params || {}).forEach(([key, value]) => {\n if (typeof value === 'function') {\n result[key] = (chunk: any) => {\n return value(addReactKeys(chunk));\n };\n } else if (React.isValidElement(value as any)) {\n const el = value as React.ReactElement;\n result[key] = (chunk: any) => {\n return el.props.children === undefined && chunk?.length\n ? React.cloneElement(el, {}, addReactKeys(chunk))\n : React.cloneElement(el);\n };\n } else {\n result[key] = value;\n }\n });\n\n return result;\n};\n\nexport const addReactKeys = (\n val: React.ReactNode | React.ReactNode[] | undefined\n) => {\n if (Array.isArray(val)) {\n return React.Children.toArray(val);\n } else {\n return val;\n }\n};\n","import React from 'react';\nimport { addReactKeys, wrapTagHandlers } from './tagsTools';\nimport type { PropsWithKeyName, TBaseInterface } from './types';\n\nexport const TBase: TBaseInterface = (props) => {\n const key = (props as PropsWithKeyName).keyName || props.children;\n if (key === undefined) {\n // eslint-disable-next-line no-console\n console.error('T component: keyName not defined');\n }\n const defaultValue =\n props.defaultValue ||\n ((props as PropsWithKeyName).keyName ? props.children : undefined);\n\n const translation = addReactKeys(\n props.t({\n key: key!,\n params: wrapTagHandlers(props.params),\n defaultValue,\n noWrap: props.noWrap,\n ns: props.ns,\n language: props.language,\n })\n );\n\n return <>{translation}</>;\n};\n","// @ts-ignore\nimport { cache } from 'react';\nimport { TFnType } from '@tolgee/web';\n\nimport { TBase } from './TBase';\nimport { TProps, ParamsTags } from './types';\nimport React from 'react';\nimport { TolgeeInstance } from '@tolgee/web';\n\nexport type CreateServerInstanceOptions = {\n createTolgee: (locale: string) => Promise<TolgeeInstance>;\n getLocale: () => string;\n};\n\nexport const createServerInstance = ({\n createTolgee,\n getLocale,\n}: CreateServerInstanceOptions) => {\n const getTolgeeInstance = cache(async (locale: string) => {\n const tolgee = await createTolgee(locale);\n await tolgee.run();\n return tolgee;\n });\n\n const getTolgee = async () => {\n const locale = getLocale();\n const tolgee = await getTolgeeInstance(locale);\n return tolgee;\n };\n\n const getTranslate = async () => {\n const tolgee = await getTolgee();\n return tolgee.t;\n };\n\n async function T(props: TProps) {\n const t = await getTranslate();\n return <TBase t={t as TFnType<ParamsTags>} {...props} />;\n }\n\n return { getTolgeeInstance, getTolgee, getTranslate, T };\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
(function (global, factory) {
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react'), require('@tolgee/web')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define(['exports', 'react', '@tolgee/web'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["@tolgee/react"] = {}, global.React, global["@tolgee/web"]));
|
|
5
|
+
})(this, (function (exports, React, web) { 'use strict';
|
|
6
|
+
|
|
7
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
8
|
+
|
|
9
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
10
|
+
|
|
11
|
+
const wrapTagHandlers = (params) => {
|
|
12
|
+
if (!params) {
|
|
13
|
+
return undefined;
|
|
14
|
+
}
|
|
15
|
+
const result = {};
|
|
16
|
+
Object.entries(params || {}).forEach(([key, value]) => {
|
|
17
|
+
if (typeof value === 'function') {
|
|
18
|
+
result[key] = (chunk) => {
|
|
19
|
+
return value(addReactKeys(chunk));
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
else if (React__default["default"].isValidElement(value)) {
|
|
23
|
+
const el = value;
|
|
24
|
+
result[key] = (chunk) => {
|
|
25
|
+
return el.props.children === undefined && (chunk === null || chunk === void 0 ? void 0 : chunk.length)
|
|
26
|
+
? React__default["default"].cloneElement(el, {}, addReactKeys(chunk))
|
|
27
|
+
: React__default["default"].cloneElement(el);
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
result[key] = value;
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
return result;
|
|
35
|
+
};
|
|
36
|
+
const addReactKeys = (val) => {
|
|
37
|
+
if (Array.isArray(val)) {
|
|
38
|
+
return React__default["default"].Children.toArray(val);
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
return val;
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
const TBase = (props) => {
|
|
46
|
+
const key = props.keyName || props.children;
|
|
47
|
+
if (key === undefined) {
|
|
48
|
+
// eslint-disable-next-line no-console
|
|
49
|
+
console.error('T component: keyName not defined');
|
|
50
|
+
}
|
|
51
|
+
const defaultValue = props.defaultValue ||
|
|
52
|
+
(props.keyName ? props.children : undefined);
|
|
53
|
+
const translation = addReactKeys(props.t({
|
|
54
|
+
key: key,
|
|
55
|
+
params: wrapTagHandlers(props.params),
|
|
56
|
+
defaultValue,
|
|
57
|
+
noWrap: props.noWrap,
|
|
58
|
+
ns: props.ns,
|
|
59
|
+
language: props.language,
|
|
60
|
+
}));
|
|
61
|
+
return React__default["default"].createElement(React__default["default"].Fragment, null, translation);
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
// @ts-ignore
|
|
65
|
+
const createServerInstance = ({ createTolgee, getLocale, }) => {
|
|
66
|
+
const getTolgeeInstance = React.cache(async (locale) => {
|
|
67
|
+
const tolgee = await createTolgee(locale);
|
|
68
|
+
await tolgee.run();
|
|
69
|
+
return tolgee;
|
|
70
|
+
});
|
|
71
|
+
const getTolgee = async () => {
|
|
72
|
+
const locale = getLocale();
|
|
73
|
+
const tolgee = await getTolgeeInstance(locale);
|
|
74
|
+
return tolgee;
|
|
75
|
+
};
|
|
76
|
+
const getTranslate = async () => {
|
|
77
|
+
const tolgee = await getTolgee();
|
|
78
|
+
return tolgee.t;
|
|
79
|
+
};
|
|
80
|
+
async function T(props) {
|
|
81
|
+
const t = await getTranslate();
|
|
82
|
+
return React__default["default"].createElement(TBase, Object.assign({ t: t }, props));
|
|
83
|
+
}
|
|
84
|
+
return { getTolgeeInstance, getTolgee, getTranslate, T };
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
exports.TBase = TBase;
|
|
88
|
+
exports.createServerInstance = createServerInstance;
|
|
89
|
+
Object.keys(web).forEach(function (k) {
|
|
90
|
+
if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
|
|
91
|
+
enumerable: true,
|
|
92
|
+
get: function () { return web[k]; }
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
97
|
+
|
|
98
|
+
}));
|
|
99
|
+
//# sourceMappingURL=tolgee-react-server.umd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tolgee-react-server.umd.js","sources":["../src/tagsTools.tsx","../src/TBase.tsx","../src/createServerInstance.tsx"],"sourcesContent":["import { TranslateParams } from '@tolgee/web';\nimport React from 'react';\n\nimport { ParamsTags } from './types';\n\nexport const wrapTagHandlers = (\n params: TranslateParams<ParamsTags> | undefined\n) => {\n if (!params) {\n return undefined;\n }\n\n const result: any = {};\n\n Object.entries(params || {}).forEach(([key, value]) => {\n if (typeof value === 'function') {\n result[key] = (chunk: any) => {\n return value(addReactKeys(chunk));\n };\n } else if (React.isValidElement(value as any)) {\n const el = value as React.ReactElement;\n result[key] = (chunk: any) => {\n return el.props.children === undefined && chunk?.length\n ? React.cloneElement(el, {}, addReactKeys(chunk))\n : React.cloneElement(el);\n };\n } else {\n result[key] = value;\n }\n });\n\n return result;\n};\n\nexport const addReactKeys = (\n val: React.ReactNode | React.ReactNode[] | undefined\n) => {\n if (Array.isArray(val)) {\n return React.Children.toArray(val);\n } else {\n return val;\n }\n};\n","import React from 'react';\nimport { addReactKeys, wrapTagHandlers } from './tagsTools';\nimport type { PropsWithKeyName, TBaseInterface } from './types';\n\nexport const TBase: TBaseInterface = (props) => {\n const key = (props as PropsWithKeyName).keyName || props.children;\n if (key === undefined) {\n // eslint-disable-next-line no-console\n console.error('T component: keyName not defined');\n }\n const defaultValue =\n props.defaultValue ||\n ((props as PropsWithKeyName).keyName ? props.children : undefined);\n\n const translation = addReactKeys(\n props.t({\n key: key!,\n params: wrapTagHandlers(props.params),\n defaultValue,\n noWrap: props.noWrap,\n ns: props.ns,\n language: props.language,\n })\n );\n\n return <>{translation}</>;\n};\n","// @ts-ignore\nimport { cache } from 'react';\nimport { TFnType } from '@tolgee/web';\n\nimport { TBase } from './TBase';\nimport { TProps, ParamsTags } from './types';\nimport React from 'react';\nimport { TolgeeInstance } from '@tolgee/web';\n\nexport type CreateServerInstanceOptions = {\n createTolgee: (locale: string) => Promise<TolgeeInstance>;\n getLocale: () => string;\n};\n\nexport const createServerInstance = ({\n createTolgee,\n getLocale,\n}: CreateServerInstanceOptions) => {\n const getTolgeeInstance = cache(async (locale: string) => {\n const tolgee = await createTolgee(locale);\n await tolgee.run();\n return tolgee;\n });\n\n const getTolgee = async () => {\n const locale = getLocale();\n const tolgee = await getTolgeeInstance(locale);\n return tolgee;\n };\n\n const getTranslate = async () => {\n const tolgee = await getTolgee();\n return tolgee.t;\n };\n\n async function T(props: TProps) {\n const t = await getTranslate();\n return <TBase t={t as TFnType<ParamsTags>} {...props} />;\n }\n\n return { getTolgeeInstance, getTolgee, getTranslate, T };\n};\n"],"names":["React","cache"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("@tolgee/web")):"function"==typeof define&&define.amd?define(["exports","react","@tolgee/web"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["@tolgee/react"]={},e.React,e["@tolgee/web"])}(this,(function(e,t,n){"use strict";function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r=a(t);const o=e=>{if(!e)return;const t={};return Object.entries(e||{}).forEach((([e,n])=>{if("function"==typeof n)t[e]=e=>n(l(e));else if(r.default.isValidElement(n)){const a=n;t[e]=e=>void 0===a.props.children&&(null==e?void 0:e.length)?r.default.cloneElement(a,{},l(e)):r.default.cloneElement(a)}else t[e]=n})),t},l=e=>Array.isArray(e)?r.default.Children.toArray(e):e,c=e=>{const t=e.keyName||e.children;void 0===t&&console.error("T component: keyName not defined");const n=e.defaultValue||(e.keyName?e.children:void 0),a=l(e.t({key:t,params:o(e.params),defaultValue:n,noWrap:e.noWrap,ns:e.ns,language:e.language}));return r.default.createElement(r.default.Fragment,null,a)};e.TBase=c,e.createServerInstance=({createTolgee:e,getLocale:n})=>{const a=t.cache((async t=>{const n=await e(t);return await n.run(),n})),o=async()=>{const e=n();return await a(e)},l=async()=>(await o()).t;return{getTolgeeInstance:a,getTolgee:o,getTranslate:l,T:async function(e){const t=await l();return r.default.createElement(c,Object.assign({t:t},e))}}},Object.keys(n).forEach((function(t){"default"===t||e.hasOwnProperty(t)||Object.defineProperty(e,t,{enumerable:!0,get:function(){return n[t]}})})),Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
2
|
+
//# sourceMappingURL=tolgee-react-server.umd.min.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tolgee-react-server.umd.min.js","sources":["../src/tagsTools.tsx","../src/TBase.tsx","../src/createServerInstance.tsx"],"sourcesContent":["import { TranslateParams } from '@tolgee/web';\nimport React from 'react';\n\nimport { ParamsTags } from './types';\n\nexport const wrapTagHandlers = (\n params: TranslateParams<ParamsTags> | undefined\n) => {\n if (!params) {\n return undefined;\n }\n\n const result: any = {};\n\n Object.entries(params || {}).forEach(([key, value]) => {\n if (typeof value === 'function') {\n result[key] = (chunk: any) => {\n return value(addReactKeys(chunk));\n };\n } else if (React.isValidElement(value as any)) {\n const el = value as React.ReactElement;\n result[key] = (chunk: any) => {\n return el.props.children === undefined && chunk?.length\n ? React.cloneElement(el, {}, addReactKeys(chunk))\n : React.cloneElement(el);\n };\n } else {\n result[key] = value;\n }\n });\n\n return result;\n};\n\nexport const addReactKeys = (\n val: React.ReactNode | React.ReactNode[] | undefined\n) => {\n if (Array.isArray(val)) {\n return React.Children.toArray(val);\n } else {\n return val;\n }\n};\n","import React from 'react';\nimport { addReactKeys, wrapTagHandlers } from './tagsTools';\nimport type { PropsWithKeyName, TBaseInterface } from './types';\n\nexport const TBase: TBaseInterface = (props) => {\n const key = (props as PropsWithKeyName).keyName || props.children;\n if (key === undefined) {\n // eslint-disable-next-line no-console\n console.error('T component: keyName not defined');\n }\n const defaultValue =\n props.defaultValue ||\n ((props as PropsWithKeyName).keyName ? props.children : undefined);\n\n const translation = addReactKeys(\n props.t({\n key: key!,\n params: wrapTagHandlers(props.params),\n defaultValue,\n noWrap: props.noWrap,\n ns: props.ns,\n language: props.language,\n })\n );\n\n return <>{translation}</>;\n};\n","// @ts-ignore\nimport { cache } from 'react';\nimport { TFnType } from '@tolgee/web';\n\nimport { TBase } from './TBase';\nimport { TProps, ParamsTags } from './types';\nimport React from 'react';\nimport { TolgeeInstance } from '@tolgee/web';\n\nexport type CreateServerInstanceOptions = {\n createTolgee: (locale: string) => Promise<TolgeeInstance>;\n getLocale: () => string;\n};\n\nexport const createServerInstance = ({\n createTolgee,\n getLocale,\n}: CreateServerInstanceOptions) => {\n const getTolgeeInstance = cache(async (locale: string) => {\n const tolgee = await createTolgee(locale);\n await tolgee.run();\n return tolgee;\n });\n\n const getTolgee = async () => {\n const locale = getLocale();\n const tolgee = await getTolgeeInstance(locale);\n return tolgee;\n };\n\n const getTranslate = async () => {\n const tolgee = await getTolgee();\n return tolgee.t;\n };\n\n async function T(props: TProps) {\n const t = await getTranslate();\n return <TBase t={t as TFnType<ParamsTags>} {...props} />;\n }\n\n return { getTolgeeInstance, getTolgee, getTranslate, T };\n};\n"],"names":["wrapTagHandlers","params","result","Object","entries","forEach","key","value","chunk","addReactKeys","React","isValidElement","el","undefined","props","children","length","cloneElement","val","Array","isArray","Children","toArray","TBase","keyName","console","error","defaultValue","translation","t","noWrap","ns","language","createElement","Fragment","createTolgee","getLocale","getTolgeeInstance","cache","async","locale","tolgee","run","getTolgee","getTranslate","T","assign"],"mappings":"saAKO,MAAMA,EACXC,IAEA,IAAKA,EACH,OAGF,MAAMC,EAAc,CAAA,EAmBpB,OAjBAC,OAAOC,QAAQH,GAAU,CAAE,GAAEI,SAAQ,EAAEC,EAAKC,MAC1C,GAAqB,mBAAVA,EACTL,EAAOI,GAAQE,GACND,EAAME,EAAaD,SAEvB,GAAIE,EAAK,QAACC,eAAeJ,GAAe,CAC7C,MAAMK,EAAKL,EACXL,EAAOI,GAAQE,QACgBK,IAAtBD,EAAGE,MAAMC,WAA0BP,aAAK,EAALA,EAAOQ,QAC7CN,EAAK,QAACO,aAAaL,EAAI,CAAE,EAAEH,EAAaD,IACxCE,UAAMO,aAAaL,EAE1B,MACCV,EAAOI,GAAOC,CACf,IAGIL,CAAM,EAGFO,EACXS,GAEIC,MAAMC,QAAQF,GACTR,UAAMW,SAASC,QAAQJ,GAEvBA,ECpCEK,EAAyBT,IACpC,MAAMR,EAAOQ,EAA2BU,SAAWV,EAAMC,cAC7CF,IAARP,GAEFmB,QAAQC,MAAM,oCAEhB,MAAMC,EACJb,EAAMa,eACJb,EAA2BU,QAAUV,EAAMC,cAAWF,GAEpDe,EAAcnB,EAClBK,EAAMe,EAAE,CACNvB,IAAKA,EACLL,OAAQD,EAAgBc,EAAMb,QAC9B0B,eACAG,OAAQhB,EAAMgB,OACdC,GAAIjB,EAAMiB,GACVC,SAAUlB,EAAMkB,YAIpB,OAAOtB,EAAAA,QAAAuB,cAAAvB,EAAAA,QAAAwB,SAAA,KAAGN,EAAe,mCCXS,EAClCO,eACAC,gBAEA,MAAMC,EAAoBC,SAAMC,MAAOC,IACrC,MAAMC,QAAeN,EAAaK,GAElC,aADMC,EAAOC,MACND,CAAM,IAGTE,EAAYJ,UAChB,MAAMC,EAASJ,IAEf,aADqBC,EAAkBG,EAC1B,EAGTI,EAAeL,gBACEI,KACPd,EAQhB,MAAO,CAAEQ,oBAAmBM,YAAWC,eAAcC,EALrDN,eAAiBzB,GACf,MAAMe,QAAUe,IAChB,OAAOlC,UAAAuB,cAACV,EAAMpB,OAAA2C,OAAA,CAAAjB,EAAGA,GAA8Bf,GAChD,EAEuD"}
|