@tolgee/react 5.33.3-prerelease.2efc0e6b.0 → 5.33.3-prerelease.f3241859.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/createServerInstance.d.ts +0 -2
- package/dist/tolgee-react-server.cjs.js +0 -5
- package/dist/tolgee-react-server.cjs.js.map +1 -1
- package/dist/tolgee-react-server.cjs.min.js +1 -1
- package/dist/tolgee-react-server.cjs.min.js.map +1 -1
- package/dist/tolgee-react-server.esm.js +0 -5
- package/dist/tolgee-react-server.esm.js.map +1 -1
- package/dist/tolgee-react-server.esm.min.js +1 -1
- package/dist/tolgee-react-server.esm.min.js.map +1 -1
- package/dist/tolgee-react-server.esm.min.mjs +1 -1
- package/dist/tolgee-react-server.esm.min.mjs.map +1 -1
- package/dist/tolgee-react-server.esm.mjs +0 -5
- package/dist/tolgee-react-server.esm.mjs.map +1 -1
- package/dist/tolgee-react-server.umd.js +0 -5
- package/dist/tolgee-react-server.umd.js.map +1 -1
- package/dist/tolgee-react-server.umd.min.js +1 -1
- package/dist/tolgee-react-server.umd.min.js.map +1 -1
- package/lib/createServerInstance.d.ts +0 -2
- package/package.json +5 -5
- package/src/createServerInstance.tsx +0 -7
|
@@ -7,8 +7,6 @@ export type CreateServerInstanceOptions = {
|
|
|
7
7
|
getLocale: () => Promise<string>;
|
|
8
8
|
};
|
|
9
9
|
export declare const createServerInstance: ({ createTolgee, getLocale, }: CreateServerInstanceOptions) => {
|
|
10
|
-
getTolgeeInstance: (locale: string) => Promise<TolgeeInstance>;
|
|
11
|
-
getTolgeeStaticInstance: (locale: string) => Promise<TolgeeInstance>;
|
|
12
10
|
getTolgee: () => Promise<TolgeeInstance>;
|
|
13
11
|
getTranslate: () => Promise<TFnType<import("@tolgee/web").DefaultParamType, string, import("@tolgee/web").TranslationKey>>;
|
|
14
12
|
T: (props: TProps) => Promise<React.JSX.Element>;
|
|
@@ -78,9 +78,6 @@ const createServerInstance = ({ createTolgee, getLocale, }) => {
|
|
|
78
78
|
await tolgee.run();
|
|
79
79
|
return tolgee;
|
|
80
80
|
});
|
|
81
|
-
const getTolgeeStaticInstance = React.cache(async (locale) => {
|
|
82
|
-
return createTolgee(locale);
|
|
83
|
-
});
|
|
84
81
|
const getTolgee = async () => {
|
|
85
82
|
const locale = await getLocale();
|
|
86
83
|
const tolgee = await getTolgeeInstance(locale);
|
|
@@ -95,8 +92,6 @@ const createServerInstance = ({ createTolgee, getLocale, }) => {
|
|
|
95
92
|
return React__default["default"].createElement(TBase, Object.assign({ t: t }, props));
|
|
96
93
|
}
|
|
97
94
|
return {
|
|
98
|
-
getTolgeeInstance,
|
|
99
|
-
getTolgeeStaticInstance,
|
|
100
95
|
getTolgee,
|
|
101
96
|
getTranslate,
|
|
102
97
|
T,
|
|
@@ -1 +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\nfunction unwrapSingleElementArray(value: any) {\n if (Array.isArray(value) && value.length === 1) {\n return value[0];\n } else {\n return value;\n }\n}\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 children: React.ReactNode | React.ReactNode[] | undefined\n) => {\n const val = unwrapSingleElementArray(children);\n if (Array.isArray(val)) {\n return val.map((item, i) => (\n <React.Fragment key={i}>{item}</React.Fragment>\n ));\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 React from 'react';\nimport { TFnType } from '@tolgee/web';\nimport { TolgeeInstance } from '@tolgee/web';\n\nimport { TBase } from './TBase';\nimport { TProps, ParamsTags } from './types';\n\nexport type CreateServerInstanceOptions = {\n createTolgee: (locale: string) => Promise<TolgeeInstance>;\n getLocale: () => Promise<string>;\n};\n\nexport const createServerInstance = ({\n createTolgee,\n getLocale,\n}: CreateServerInstanceOptions) => {\n const getTolgeeInstance: (locale: string) => Promise<TolgeeInstance> = cache(\n async (locale: string) => {\n const tolgee = await createTolgee(locale);\n await tolgee.run();\n return tolgee;\n }\n );\n\n const
|
|
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\nfunction unwrapSingleElementArray(value: any) {\n if (Array.isArray(value) && value.length === 1) {\n return value[0];\n } else {\n return value;\n }\n}\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 children: React.ReactNode | React.ReactNode[] | undefined\n) => {\n const val = unwrapSingleElementArray(children);\n if (Array.isArray(val)) {\n return val.map((item, i) => (\n <React.Fragment key={i}>{item}</React.Fragment>\n ));\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 React from 'react';\nimport { TFnType } from '@tolgee/web';\nimport { TolgeeInstance } from '@tolgee/web';\n\nimport { TBase } from './TBase';\nimport { TProps, ParamsTags } from './types';\n\nexport type CreateServerInstanceOptions = {\n createTolgee: (locale: string) => Promise<TolgeeInstance>;\n getLocale: () => Promise<string>;\n};\n\nexport const createServerInstance = ({\n createTolgee,\n getLocale,\n}: CreateServerInstanceOptions) => {\n const getTolgeeInstance: (locale: string) => Promise<TolgeeInstance> = cache(\n async (locale: string) => {\n const tolgee = await createTolgee(locale);\n await tolgee.run();\n return tolgee;\n }\n );\n\n const getTolgee = async () => {\n const locale = await 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 {\n getTolgee,\n getTranslate,\n T,\n };\n};\n"],"names":["React","cache"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("@tolgee/web");function
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("@tolgee/web");function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a=r(e);const n=e=>{if(!e)return;const t={};return Object.entries(e||{}).forEach((([e,r])=>{if("function"==typeof r)t[e]=e=>r(o(e));else if(a.default.isValidElement(r)){const n=r;t[e]=e=>void 0===n.props.children&&(null==e?void 0:e.length)?a.default.cloneElement(n,{},o(e)):a.default.cloneElement(n)}else t[e]=r})),t},o=e=>{const t=(r=e,Array.isArray(r)&&1===r.length?r[0]:r);var r;return Array.isArray(t)?t.map(((e,t)=>a.default.createElement(a.default.Fragment,{key:t},e))):t},l=e=>{const t=e.keyName||e.children;void 0===t&&console.error("T component: keyName not defined");const r=e.defaultValue||(e.keyName?e.children:void 0),l=o(e.t({key:t,params:n(e.params),defaultValue:r,noWrap:e.noWrap,ns:e.ns,language:e.language}));return a.default.createElement(a.default.Fragment,null,l)};exports.TBase=l,exports.createServerInstance=({createTolgee:t,getLocale:r})=>{const n=e.cache((async e=>{const r=await t(e);return await r.run(),r})),o=async()=>{const e=await r();return await n(e)},c=async()=>(await o()).t;return{getTolgee:o,getTranslate:c,T:async function(e){const t=await c();return a.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
2
|
//# sourceMappingURL=tolgee-react-server.cjs.min.js.map
|
|
@@ -1 +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\nfunction unwrapSingleElementArray(value: any) {\n if (Array.isArray(value) && value.length === 1) {\n return value[0];\n } else {\n return value;\n }\n}\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 children: React.ReactNode | React.ReactNode[] | undefined\n) => {\n const val = unwrapSingleElementArray(children);\n if (Array.isArray(val)) {\n return val.map((item, i) => (\n <React.Fragment key={i}>{item}</React.Fragment>\n ));\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 React from 'react';\nimport { TFnType } from '@tolgee/web';\nimport { TolgeeInstance } from '@tolgee/web';\n\nimport { TBase } from './TBase';\nimport { TProps, ParamsTags } from './types';\n\nexport type CreateServerInstanceOptions = {\n createTolgee: (locale: string) => Promise<TolgeeInstance>;\n getLocale: () => Promise<string>;\n};\n\nexport const createServerInstance = ({\n createTolgee,\n getLocale,\n}: CreateServerInstanceOptions) => {\n const getTolgeeInstance: (locale: string) => Promise<TolgeeInstance> = cache(\n async (locale: string) => {\n const tolgee = await createTolgee(locale);\n await tolgee.run();\n return tolgee;\n }\n );\n\n const
|
|
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\nfunction unwrapSingleElementArray(value: any) {\n if (Array.isArray(value) && value.length === 1) {\n return value[0];\n } else {\n return value;\n }\n}\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 children: React.ReactNode | React.ReactNode[] | undefined\n) => {\n const val = unwrapSingleElementArray(children);\n if (Array.isArray(val)) {\n return val.map((item, i) => (\n <React.Fragment key={i}>{item}</React.Fragment>\n ));\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 React from 'react';\nimport { TFnType } from '@tolgee/web';\nimport { TolgeeInstance } from '@tolgee/web';\n\nimport { TBase } from './TBase';\nimport { TProps, ParamsTags } from './types';\n\nexport type CreateServerInstanceOptions = {\n createTolgee: (locale: string) => Promise<TolgeeInstance>;\n getLocale: () => Promise<string>;\n};\n\nexport const createServerInstance = ({\n createTolgee,\n getLocale,\n}: CreateServerInstanceOptions) => {\n const getTolgeeInstance: (locale: string) => Promise<TolgeeInstance> = cache(\n async (locale: string) => {\n const tolgee = await createTolgee(locale);\n await tolgee.run();\n return tolgee;\n }\n );\n\n const getTolgee = async () => {\n const locale = await 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 {\n getTolgee,\n getTranslate,\n T,\n };\n};\n"],"names":["wrapTagHandlers","params","result","Object","entries","forEach","key","value","chunk","addReactKeys","React","isValidElement","el","undefined","props","children","length","cloneElement","val","Array","isArray","map","item","i","Fragment","TBase","keyName","console","error","defaultValue","translation","t","noWrap","ns","language","createElement","createTolgee","getLocale","getTolgeeInstance","cache","async","locale","tolgee","run","getTolgee","getTranslate","T","assign"],"mappings":"uMAaO,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,EACXM,IAEA,MAAMG,GAxC0BX,EAwCKQ,EAvCjCI,MAAMC,QAAQb,IAA2B,IAAjBA,EAAMS,OACzBT,EAAM,GAENA,GAJX,IAAkCA,EAyChC,OAAIY,MAAMC,QAAQF,GACTA,EAAIG,KAAI,CAACC,EAAMC,IACpBb,wBAACA,EAAK,QAACc,SAAQ,CAAClB,IAAKiB,GAAID,KAGpBJ,CACR,EChDUO,EAAyBX,IACpC,MAAMR,EAAOQ,EAA2BY,SAAWZ,EAAMC,cAC7CF,IAARP,GAEFqB,QAAQC,MAAM,oCAEhB,MAAMC,EACJf,EAAMe,eACJf,EAA2BY,QAAUZ,EAAMC,cAAWF,GAEpDiB,EAAcrB,EAClBK,EAAMiB,EAAE,CACNzB,IAAKA,EACLL,OAAQD,EAAgBc,EAAMb,QAC9B4B,eACAG,OAAQlB,EAAMkB,OACdC,GAAInB,EAAMmB,GACVC,SAAUpB,EAAMoB,YAIpB,OAAOxB,EAAAA,QAAAyB,cAAAzB,EAAAA,QAAAc,SAAA,KAAGM,EAAe,+CCXS,EAClCM,eACAC,gBAEA,MAAMC,EAAiEC,SACrEC,MAAOC,IACL,MAAMC,QAAeN,EAAaK,GAElC,aADMC,EAAOC,MACND,CAAM,IAIXE,EAAYJ,UAChB,MAAMC,QAAeJ,IAErB,aADqBC,EAAkBG,EAC1B,EAGTI,EAAeL,gBACEI,KACPb,EAQhB,MAAO,CACLa,YACAC,eACAC,EARFN,eAAiB1B,GACf,MAAMiB,QAAUc,IAChB,OAAOnC,UAAAyB,cAACV,EAAMtB,OAAA4C,OAAA,CAAAhB,EAAGA,GAA8BjB,GAChD,EAMA"}
|
|
@@ -70,9 +70,6 @@ const createServerInstance = ({ createTolgee, getLocale, }) => {
|
|
|
70
70
|
await tolgee.run();
|
|
71
71
|
return tolgee;
|
|
72
72
|
});
|
|
73
|
-
const getTolgeeStaticInstance = cache(async (locale) => {
|
|
74
|
-
return createTolgee(locale);
|
|
75
|
-
});
|
|
76
73
|
const getTolgee = async () => {
|
|
77
74
|
const locale = await getLocale();
|
|
78
75
|
const tolgee = await getTolgeeInstance(locale);
|
|
@@ -87,8 +84,6 @@ const createServerInstance = ({ createTolgee, getLocale, }) => {
|
|
|
87
84
|
return React.createElement(TBase, Object.assign({ t: t }, props));
|
|
88
85
|
}
|
|
89
86
|
return {
|
|
90
|
-
getTolgeeInstance,
|
|
91
|
-
getTolgeeStaticInstance,
|
|
92
87
|
getTolgee,
|
|
93
88
|
getTranslate,
|
|
94
89
|
T,
|
|
@@ -1 +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\nfunction unwrapSingleElementArray(value: any) {\n if (Array.isArray(value) && value.length === 1) {\n return value[0];\n } else {\n return value;\n }\n}\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 children: React.ReactNode | React.ReactNode[] | undefined\n) => {\n const val = unwrapSingleElementArray(children);\n if (Array.isArray(val)) {\n return val.map((item, i) => (\n <React.Fragment key={i}>{item}</React.Fragment>\n ));\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 React from 'react';\nimport { TFnType } from '@tolgee/web';\nimport { TolgeeInstance } from '@tolgee/web';\n\nimport { TBase } from './TBase';\nimport { TProps, ParamsTags } from './types';\n\nexport type CreateServerInstanceOptions = {\n createTolgee: (locale: string) => Promise<TolgeeInstance>;\n getLocale: () => Promise<string>;\n};\n\nexport const createServerInstance = ({\n createTolgee,\n getLocale,\n}: CreateServerInstanceOptions) => {\n const getTolgeeInstance: (locale: string) => Promise<TolgeeInstance> = cache(\n async (locale: string) => {\n const tolgee = await createTolgee(locale);\n await tolgee.run();\n return tolgee;\n }\n );\n\n const
|
|
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\nfunction unwrapSingleElementArray(value: any) {\n if (Array.isArray(value) && value.length === 1) {\n return value[0];\n } else {\n return value;\n }\n}\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 children: React.ReactNode | React.ReactNode[] | undefined\n) => {\n const val = unwrapSingleElementArray(children);\n if (Array.isArray(val)) {\n return val.map((item, i) => (\n <React.Fragment key={i}>{item}</React.Fragment>\n ));\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 React from 'react';\nimport { TFnType } from '@tolgee/web';\nimport { TolgeeInstance } from '@tolgee/web';\n\nimport { TBase } from './TBase';\nimport { TProps, ParamsTags } from './types';\n\nexport type CreateServerInstanceOptions = {\n createTolgee: (locale: string) => Promise<TolgeeInstance>;\n getLocale: () => Promise<string>;\n};\n\nexport const createServerInstance = ({\n createTolgee,\n getLocale,\n}: CreateServerInstanceOptions) => {\n const getTolgeeInstance: (locale: string) => Promise<TolgeeInstance> = cache(\n async (locale: string) => {\n const tolgee = await createTolgee(locale);\n await tolgee.run();\n return tolgee;\n }\n );\n\n const getTolgee = async () => {\n const locale = await 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 {\n getTolgee,\n getTranslate,\n T,\n };\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e,{cache as t}from"react";export*from"@tolgee/web";const n=t=>{if(!t)return;const n={};return Object.entries(t||{}).forEach((([t,r])=>{if("function"==typeof r)n[t]=e=>r(a(e));else if(e.isValidElement(r)){const o=r;n[t]=t=>void 0===o.props.children&&(null==t?void 0:t.length)?e.cloneElement(o,{},a(t)):e.cloneElement(o)}else n[t]=r})),n},a=t=>{const n=(a=t,Array.isArray(a)&&1===a.length?a[0]:a);var a;return Array.isArray(n)?n.map(((t,n)=>e.createElement(e.Fragment,{key:n},t))):n},r=t=>{const r=t.keyName||t.children;void 0===r&&console.error("T component: keyName not defined");const o=t.defaultValue||(t.keyName?t.children:void 0),c=a(t.t({key:r,params:n(t.params),defaultValue:o,noWrap:t.noWrap,ns:t.ns,language:t.language}));return e.createElement(e.Fragment,null,c)},o=({createTolgee:n,getLocale:a})=>{const o=t((async e=>{const t=await n(e);return await t.run(),t})),c=
|
|
1
|
+
import e,{cache as t}from"react";export*from"@tolgee/web";const n=t=>{if(!t)return;const n={};return Object.entries(t||{}).forEach((([t,r])=>{if("function"==typeof r)n[t]=e=>r(a(e));else if(e.isValidElement(r)){const o=r;n[t]=t=>void 0===o.props.children&&(null==t?void 0:t.length)?e.cloneElement(o,{},a(t)):e.cloneElement(o)}else n[t]=r})),n},a=t=>{const n=(a=t,Array.isArray(a)&&1===a.length?a[0]:a);var a;return Array.isArray(n)?n.map(((t,n)=>e.createElement(e.Fragment,{key:n},t))):n},r=t=>{const r=t.keyName||t.children;void 0===r&&console.error("T component: keyName not defined");const o=t.defaultValue||(t.keyName?t.children:void 0),c=a(t.t({key:r,params:n(t.params),defaultValue:o,noWrap:t.noWrap,ns:t.ns,language:t.language}));return e.createElement(e.Fragment,null,c)},o=({createTolgee:n,getLocale:a})=>{const o=t((async e=>{const t=await n(e);return await t.run(),t})),c=async()=>{const e=await a();return await o(e)},l=async()=>(await c()).t;return{getTolgee:c,getTranslate:l,T:async function(t){const n=await l();return e.createElement(r,Object.assign({t:n},t))}}};export{r as TBase,o as createServerInstance};
|
|
2
2
|
//# sourceMappingURL=tolgee-react-server.esm.min.js.map
|
|
@@ -1 +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\nfunction unwrapSingleElementArray(value: any) {\n if (Array.isArray(value) && value.length === 1) {\n return value[0];\n } else {\n return value;\n }\n}\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 children: React.ReactNode | React.ReactNode[] | undefined\n) => {\n const val = unwrapSingleElementArray(children);\n if (Array.isArray(val)) {\n return val.map((item, i) => (\n <React.Fragment key={i}>{item}</React.Fragment>\n ));\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 React from 'react';\nimport { TFnType } from '@tolgee/web';\nimport { TolgeeInstance } from '@tolgee/web';\n\nimport { TBase } from './TBase';\nimport { TProps, ParamsTags } from './types';\n\nexport type CreateServerInstanceOptions = {\n createTolgee: (locale: string) => Promise<TolgeeInstance>;\n getLocale: () => Promise<string>;\n};\n\nexport const createServerInstance = ({\n createTolgee,\n getLocale,\n}: CreateServerInstanceOptions) => {\n const getTolgeeInstance: (locale: string) => Promise<TolgeeInstance> = cache(\n async (locale: string) => {\n const tolgee = await createTolgee(locale);\n await tolgee.run();\n return tolgee;\n }\n );\n\n const
|
|
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\nfunction unwrapSingleElementArray(value: any) {\n if (Array.isArray(value) && value.length === 1) {\n return value[0];\n } else {\n return value;\n }\n}\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 children: React.ReactNode | React.ReactNode[] | undefined\n) => {\n const val = unwrapSingleElementArray(children);\n if (Array.isArray(val)) {\n return val.map((item, i) => (\n <React.Fragment key={i}>{item}</React.Fragment>\n ));\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 React from 'react';\nimport { TFnType } from '@tolgee/web';\nimport { TolgeeInstance } from '@tolgee/web';\n\nimport { TBase } from './TBase';\nimport { TProps, ParamsTags } from './types';\n\nexport type CreateServerInstanceOptions = {\n createTolgee: (locale: string) => Promise<TolgeeInstance>;\n getLocale: () => Promise<string>;\n};\n\nexport const createServerInstance = ({\n createTolgee,\n getLocale,\n}: CreateServerInstanceOptions) => {\n const getTolgeeInstance: (locale: string) => Promise<TolgeeInstance> = cache(\n async (locale: string) => {\n const tolgee = await createTolgee(locale);\n await tolgee.run();\n return tolgee;\n }\n );\n\n const getTolgee = async () => {\n const locale = await 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 {\n getTolgee,\n getTranslate,\n T,\n };\n};\n"],"names":["wrapTagHandlers","params","result","Object","entries","forEach","key","value","chunk","addReactKeys","React","isValidElement","el","undefined","props","children","length","cloneElement","val","Array","isArray","map","item","i","Fragment","TBase","keyName","console","error","defaultValue","translation","t","noWrap","ns","language","createElement","createServerInstance","createTolgee","getLocale","getTolgeeInstance","cache","async","locale","tolgee","run","getTolgee","getTranslate","T","assign"],"mappings":"0DAaO,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,EACXM,IAEA,MAAMG,GAxC0BX,EAwCKQ,EAvCjCI,MAAMC,QAAQb,IAA2B,IAAjBA,EAAMS,OACzBT,EAAM,GAENA,GAJX,IAAkCA,EAyChC,OAAIY,MAAMC,QAAQF,GACTA,EAAIG,KAAI,CAACC,EAAMC,IACpBb,gBAACA,EAAMc,SAAQ,CAAClB,IAAKiB,GAAID,KAGpBJ,CACR,EChDUO,EAAyBX,IACpC,MAAMR,EAAOQ,EAA2BY,SAAWZ,EAAMC,cAC7CF,IAARP,GAEFqB,QAAQC,MAAM,oCAEhB,MAAMC,EACJf,EAAMe,eACJf,EAA2BY,QAAUZ,EAAMC,cAAWF,GAEpDiB,EAAcrB,EAClBK,EAAMiB,EAAE,CACNzB,IAAKA,EACLL,OAAQD,EAAgBc,EAAMb,QAC9B4B,eACAG,OAAQlB,EAAMkB,OACdC,GAAInB,EAAMmB,GACVC,SAAUpB,EAAMoB,YAIpB,OAAOxB,EAAAyB,cAAAzB,EAAAc,SAAA,KAAGM,EAAe,ECXdM,EAAuB,EAClCC,eACAC,gBAEA,MAAMC,EAAiEC,GACrEC,MAAOC,IACL,MAAMC,QAAeN,EAAaK,GAElC,aADMC,EAAOC,MACND,CAAM,IAIXE,EAAYJ,UAChB,MAAMC,QAAeJ,IAErB,aADqBC,EAAkBG,EAC1B,EAGTI,EAAeL,gBACEI,KACPd,EAQhB,MAAO,CACLc,YACAC,eACAC,EARFN,eAAiB3B,GACf,MAAMiB,QAAUe,IAChB,OAAOpC,EAAAyB,cAACV,EAAMtB,OAAA6C,OAAA,CAAAjB,EAAGA,GAA8BjB,GAChD,EAMA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e,{cache as t}from"react";export*from"@tolgee/web";const n=t=>{if(!t)return;const n={};return Object.entries(t||{}).forEach((([t,r])=>{if("function"==typeof r)n[t]=e=>r(a(e));else if(e.isValidElement(r)){const o=r;n[t]=t=>void 0===o.props.children&&(null==t?void 0:t.length)?e.cloneElement(o,{},a(t)):e.cloneElement(o)}else n[t]=r})),n},a=t=>{const n=(a=t,Array.isArray(a)&&1===a.length?a[0]:a);var a;return Array.isArray(n)?n.map(((t,n)=>e.createElement(e.Fragment,{key:n},t))):n},r=t=>{const r=t.keyName||t.children;void 0===r&&console.error("T component: keyName not defined");const o=t.defaultValue||(t.keyName?t.children:void 0),c=a(t.t({key:r,params:n(t.params),defaultValue:o,noWrap:t.noWrap,ns:t.ns,language:t.language}));return e.createElement(e.Fragment,null,c)},o=({createTolgee:n,getLocale:a})=>{const o=t((async e=>{const t=await n(e);return await t.run(),t})),c=
|
|
1
|
+
import e,{cache as t}from"react";export*from"@tolgee/web";const n=t=>{if(!t)return;const n={};return Object.entries(t||{}).forEach((([t,r])=>{if("function"==typeof r)n[t]=e=>r(a(e));else if(e.isValidElement(r)){const o=r;n[t]=t=>void 0===o.props.children&&(null==t?void 0:t.length)?e.cloneElement(o,{},a(t)):e.cloneElement(o)}else n[t]=r})),n},a=t=>{const n=(a=t,Array.isArray(a)&&1===a.length?a[0]:a);var a;return Array.isArray(n)?n.map(((t,n)=>e.createElement(e.Fragment,{key:n},t))):n},r=t=>{const r=t.keyName||t.children;void 0===r&&console.error("T component: keyName not defined");const o=t.defaultValue||(t.keyName?t.children:void 0),c=a(t.t({key:r,params:n(t.params),defaultValue:o,noWrap:t.noWrap,ns:t.ns,language:t.language}));return e.createElement(e.Fragment,null,c)},o=({createTolgee:n,getLocale:a})=>{const o=t((async e=>{const t=await n(e);return await t.run(),t})),c=async()=>{const e=await a();return await o(e)},l=async()=>(await c()).t;return{getTolgee:c,getTranslate:l,T:async function(t){const n=await l();return e.createElement(r,Object.assign({t:n},t))}}};export{r as TBase,o as createServerInstance};
|
|
2
2
|
//# sourceMappingURL=tolgee-react-server.esm.min.mjs.map
|
|
@@ -1 +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\nfunction unwrapSingleElementArray(value: any) {\n if (Array.isArray(value) && value.length === 1) {\n return value[0];\n } else {\n return value;\n }\n}\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 children: React.ReactNode | React.ReactNode[] | undefined\n) => {\n const val = unwrapSingleElementArray(children);\n if (Array.isArray(val)) {\n return val.map((item, i) => (\n <React.Fragment key={i}>{item}</React.Fragment>\n ));\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 React from 'react';\nimport { TFnType } from '@tolgee/web';\nimport { TolgeeInstance } from '@tolgee/web';\n\nimport { TBase } from './TBase';\nimport { TProps, ParamsTags } from './types';\n\nexport type CreateServerInstanceOptions = {\n createTolgee: (locale: string) => Promise<TolgeeInstance>;\n getLocale: () => Promise<string>;\n};\n\nexport const createServerInstance = ({\n createTolgee,\n getLocale,\n}: CreateServerInstanceOptions) => {\n const getTolgeeInstance: (locale: string) => Promise<TolgeeInstance> = cache(\n async (locale: string) => {\n const tolgee = await createTolgee(locale);\n await tolgee.run();\n return tolgee;\n }\n );\n\n const
|
|
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\nfunction unwrapSingleElementArray(value: any) {\n if (Array.isArray(value) && value.length === 1) {\n return value[0];\n } else {\n return value;\n }\n}\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 children: React.ReactNode | React.ReactNode[] | undefined\n) => {\n const val = unwrapSingleElementArray(children);\n if (Array.isArray(val)) {\n return val.map((item, i) => (\n <React.Fragment key={i}>{item}</React.Fragment>\n ));\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 React from 'react';\nimport { TFnType } from '@tolgee/web';\nimport { TolgeeInstance } from '@tolgee/web';\n\nimport { TBase } from './TBase';\nimport { TProps, ParamsTags } from './types';\n\nexport type CreateServerInstanceOptions = {\n createTolgee: (locale: string) => Promise<TolgeeInstance>;\n getLocale: () => Promise<string>;\n};\n\nexport const createServerInstance = ({\n createTolgee,\n getLocale,\n}: CreateServerInstanceOptions) => {\n const getTolgeeInstance: (locale: string) => Promise<TolgeeInstance> = cache(\n async (locale: string) => {\n const tolgee = await createTolgee(locale);\n await tolgee.run();\n return tolgee;\n }\n );\n\n const getTolgee = async () => {\n const locale = await 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 {\n getTolgee,\n getTranslate,\n T,\n };\n};\n"],"names":["wrapTagHandlers","params","result","Object","entries","forEach","key","value","chunk","addReactKeys","React","isValidElement","el","undefined","props","children","length","cloneElement","val","Array","isArray","map","item","i","Fragment","TBase","keyName","console","error","defaultValue","translation","t","noWrap","ns","language","createElement","createServerInstance","createTolgee","getLocale","getTolgeeInstance","cache","async","locale","tolgee","run","getTolgee","getTranslate","T","assign"],"mappings":"0DAaO,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,EACXM,IAEA,MAAMG,GAxC0BX,EAwCKQ,EAvCjCI,MAAMC,QAAQb,IAA2B,IAAjBA,EAAMS,OACzBT,EAAM,GAENA,GAJX,IAAkCA,EAyChC,OAAIY,MAAMC,QAAQF,GACTA,EAAIG,KAAI,CAACC,EAAMC,IACpBb,gBAACA,EAAMc,SAAQ,CAAClB,IAAKiB,GAAID,KAGpBJ,CACR,EChDUO,EAAyBX,IACpC,MAAMR,EAAOQ,EAA2BY,SAAWZ,EAAMC,cAC7CF,IAARP,GAEFqB,QAAQC,MAAM,oCAEhB,MAAMC,EACJf,EAAMe,eACJf,EAA2BY,QAAUZ,EAAMC,cAAWF,GAEpDiB,EAAcrB,EAClBK,EAAMiB,EAAE,CACNzB,IAAKA,EACLL,OAAQD,EAAgBc,EAAMb,QAC9B4B,eACAG,OAAQlB,EAAMkB,OACdC,GAAInB,EAAMmB,GACVC,SAAUpB,EAAMoB,YAIpB,OAAOxB,EAAAyB,cAAAzB,EAAAc,SAAA,KAAGM,EAAe,ECXdM,EAAuB,EAClCC,eACAC,gBAEA,MAAMC,EAAiEC,GACrEC,MAAOC,IACL,MAAMC,QAAeN,EAAaK,GAElC,aADMC,EAAOC,MACND,CAAM,IAIXE,EAAYJ,UAChB,MAAMC,QAAeJ,IAErB,aADqBC,EAAkBG,EAC1B,EAGTI,EAAeL,gBACEI,KACPd,EAQhB,MAAO,CACLc,YACAC,eACAC,EARFN,eAAiB3B,GACf,MAAMiB,QAAUe,IAChB,OAAOpC,EAAAyB,cAACV,EAAMtB,OAAA6C,OAAA,CAAAjB,EAAGA,GAA8BjB,GAChD,EAMA"}
|
|
@@ -70,9 +70,6 @@ const createServerInstance = ({ createTolgee, getLocale, }) => {
|
|
|
70
70
|
await tolgee.run();
|
|
71
71
|
return tolgee;
|
|
72
72
|
});
|
|
73
|
-
const getTolgeeStaticInstance = cache(async (locale) => {
|
|
74
|
-
return createTolgee(locale);
|
|
75
|
-
});
|
|
76
73
|
const getTolgee = async () => {
|
|
77
74
|
const locale = await getLocale();
|
|
78
75
|
const tolgee = await getTolgeeInstance(locale);
|
|
@@ -87,8 +84,6 @@ const createServerInstance = ({ createTolgee, getLocale, }) => {
|
|
|
87
84
|
return React.createElement(TBase, Object.assign({ t: t }, props));
|
|
88
85
|
}
|
|
89
86
|
return {
|
|
90
|
-
getTolgeeInstance,
|
|
91
|
-
getTolgeeStaticInstance,
|
|
92
87
|
getTolgee,
|
|
93
88
|
getTranslate,
|
|
94
89
|
T,
|
|
@@ -1 +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\nfunction unwrapSingleElementArray(value: any) {\n if (Array.isArray(value) && value.length === 1) {\n return value[0];\n } else {\n return value;\n }\n}\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 children: React.ReactNode | React.ReactNode[] | undefined\n) => {\n const val = unwrapSingleElementArray(children);\n if (Array.isArray(val)) {\n return val.map((item, i) => (\n <React.Fragment key={i}>{item}</React.Fragment>\n ));\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 React from 'react';\nimport { TFnType } from '@tolgee/web';\nimport { TolgeeInstance } from '@tolgee/web';\n\nimport { TBase } from './TBase';\nimport { TProps, ParamsTags } from './types';\n\nexport type CreateServerInstanceOptions = {\n createTolgee: (locale: string) => Promise<TolgeeInstance>;\n getLocale: () => Promise<string>;\n};\n\nexport const createServerInstance = ({\n createTolgee,\n getLocale,\n}: CreateServerInstanceOptions) => {\n const getTolgeeInstance: (locale: string) => Promise<TolgeeInstance> = cache(\n async (locale: string) => {\n const tolgee = await createTolgee(locale);\n await tolgee.run();\n return tolgee;\n }\n );\n\n const
|
|
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\nfunction unwrapSingleElementArray(value: any) {\n if (Array.isArray(value) && value.length === 1) {\n return value[0];\n } else {\n return value;\n }\n}\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 children: React.ReactNode | React.ReactNode[] | undefined\n) => {\n const val = unwrapSingleElementArray(children);\n if (Array.isArray(val)) {\n return val.map((item, i) => (\n <React.Fragment key={i}>{item}</React.Fragment>\n ));\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 React from 'react';\nimport { TFnType } from '@tolgee/web';\nimport { TolgeeInstance } from '@tolgee/web';\n\nimport { TBase } from './TBase';\nimport { TProps, ParamsTags } from './types';\n\nexport type CreateServerInstanceOptions = {\n createTolgee: (locale: string) => Promise<TolgeeInstance>;\n getLocale: () => Promise<string>;\n};\n\nexport const createServerInstance = ({\n createTolgee,\n getLocale,\n}: CreateServerInstanceOptions) => {\n const getTolgeeInstance: (locale: string) => Promise<TolgeeInstance> = cache(\n async (locale: string) => {\n const tolgee = await createTolgee(locale);\n await tolgee.run();\n return tolgee;\n }\n );\n\n const getTolgee = async () => {\n const locale = await 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 {\n getTolgee,\n getTranslate,\n T,\n };\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -77,9 +77,6 @@
|
|
|
77
77
|
await tolgee.run();
|
|
78
78
|
return tolgee;
|
|
79
79
|
});
|
|
80
|
-
const getTolgeeStaticInstance = React.cache(async (locale) => {
|
|
81
|
-
return createTolgee(locale);
|
|
82
|
-
});
|
|
83
80
|
const getTolgee = async () => {
|
|
84
81
|
const locale = await getLocale();
|
|
85
82
|
const tolgee = await getTolgeeInstance(locale);
|
|
@@ -94,8 +91,6 @@
|
|
|
94
91
|
return React__default["default"].createElement(TBase, Object.assign({ t: t }, props));
|
|
95
92
|
}
|
|
96
93
|
return {
|
|
97
|
-
getTolgeeInstance,
|
|
98
|
-
getTolgeeStaticInstance,
|
|
99
94
|
getTolgee,
|
|
100
95
|
getTranslate,
|
|
101
96
|
T,
|
|
@@ -1 +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\nfunction unwrapSingleElementArray(value: any) {\n if (Array.isArray(value) && value.length === 1) {\n return value[0];\n } else {\n return value;\n }\n}\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 children: React.ReactNode | React.ReactNode[] | undefined\n) => {\n const val = unwrapSingleElementArray(children);\n if (Array.isArray(val)) {\n return val.map((item, i) => (\n <React.Fragment key={i}>{item}</React.Fragment>\n ));\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 React from 'react';\nimport { TFnType } from '@tolgee/web';\nimport { TolgeeInstance } from '@tolgee/web';\n\nimport { TBase } from './TBase';\nimport { TProps, ParamsTags } from './types';\n\nexport type CreateServerInstanceOptions = {\n createTolgee: (locale: string) => Promise<TolgeeInstance>;\n getLocale: () => Promise<string>;\n};\n\nexport const createServerInstance = ({\n createTolgee,\n getLocale,\n}: CreateServerInstanceOptions) => {\n const getTolgeeInstance: (locale: string) => Promise<TolgeeInstance> = cache(\n async (locale: string) => {\n const tolgee = await createTolgee(locale);\n await tolgee.run();\n return tolgee;\n }\n );\n\n const
|
|
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\nfunction unwrapSingleElementArray(value: any) {\n if (Array.isArray(value) && value.length === 1) {\n return value[0];\n } else {\n return value;\n }\n}\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 children: React.ReactNode | React.ReactNode[] | undefined\n) => {\n const val = unwrapSingleElementArray(children);\n if (Array.isArray(val)) {\n return val.map((item, i) => (\n <React.Fragment key={i}>{item}</React.Fragment>\n ));\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 React from 'react';\nimport { TFnType } from '@tolgee/web';\nimport { TolgeeInstance } from '@tolgee/web';\n\nimport { TBase } from './TBase';\nimport { TProps, ParamsTags } from './types';\n\nexport type CreateServerInstanceOptions = {\n createTolgee: (locale: string) => Promise<TolgeeInstance>;\n getLocale: () => Promise<string>;\n};\n\nexport const createServerInstance = ({\n createTolgee,\n getLocale,\n}: CreateServerInstanceOptions) => {\n const getTolgeeInstance: (locale: string) => Promise<TolgeeInstance> = cache(\n async (locale: string) => {\n const tolgee = await createTolgee(locale);\n await tolgee.run();\n return tolgee;\n }\n );\n\n const getTolgee = async () => {\n const locale = await 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 {\n getTolgee,\n getTranslate,\n T,\n };\n};\n"],"names":["React","cache"],"mappings":"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"}
|
|
@@ -1,2 +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(
|
|
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=>{const t=(n=e,Array.isArray(n)&&1===n.length?n[0]:n);var n;return Array.isArray(t)?t.map(((e,t)=>r.default.createElement(r.default.Fragment,{key:t},e))):t},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=await n();return await a(e)},l=async()=>(await o()).t;return{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
2
|
//# sourceMappingURL=tolgee-react-server.umd.min.js.map
|
|
@@ -1 +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\nfunction unwrapSingleElementArray(value: any) {\n if (Array.isArray(value) && value.length === 1) {\n return value[0];\n } else {\n return value;\n }\n}\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 children: React.ReactNode | React.ReactNode[] | undefined\n) => {\n const val = unwrapSingleElementArray(children);\n if (Array.isArray(val)) {\n return val.map((item, i) => (\n <React.Fragment key={i}>{item}</React.Fragment>\n ));\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 React from 'react';\nimport { TFnType } from '@tolgee/web';\nimport { TolgeeInstance } from '@tolgee/web';\n\nimport { TBase } from './TBase';\nimport { TProps, ParamsTags } from './types';\n\nexport type CreateServerInstanceOptions = {\n createTolgee: (locale: string) => Promise<TolgeeInstance>;\n getLocale: () => Promise<string>;\n};\n\nexport const createServerInstance = ({\n createTolgee,\n getLocale,\n}: CreateServerInstanceOptions) => {\n const getTolgeeInstance: (locale: string) => Promise<TolgeeInstance> = cache(\n async (locale: string) => {\n const tolgee = await createTolgee(locale);\n await tolgee.run();\n return tolgee;\n }\n );\n\n const
|
|
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\nfunction unwrapSingleElementArray(value: any) {\n if (Array.isArray(value) && value.length === 1) {\n return value[0];\n } else {\n return value;\n }\n}\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 children: React.ReactNode | React.ReactNode[] | undefined\n) => {\n const val = unwrapSingleElementArray(children);\n if (Array.isArray(val)) {\n return val.map((item, i) => (\n <React.Fragment key={i}>{item}</React.Fragment>\n ));\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 React from 'react';\nimport { TFnType } from '@tolgee/web';\nimport { TolgeeInstance } from '@tolgee/web';\n\nimport { TBase } from './TBase';\nimport { TProps, ParamsTags } from './types';\n\nexport type CreateServerInstanceOptions = {\n createTolgee: (locale: string) => Promise<TolgeeInstance>;\n getLocale: () => Promise<string>;\n};\n\nexport const createServerInstance = ({\n createTolgee,\n getLocale,\n}: CreateServerInstanceOptions) => {\n const getTolgeeInstance: (locale: string) => Promise<TolgeeInstance> = cache(\n async (locale: string) => {\n const tolgee = await createTolgee(locale);\n await tolgee.run();\n return tolgee;\n }\n );\n\n const getTolgee = async () => {\n const locale = await 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 {\n getTolgee,\n getTranslate,\n T,\n };\n};\n"],"names":["wrapTagHandlers","params","result","Object","entries","forEach","key","value","chunk","addReactKeys","React","isValidElement","el","undefined","props","children","length","cloneElement","val","Array","isArray","map","item","i","Fragment","TBase","keyName","console","error","defaultValue","translation","t","noWrap","ns","language","createElement","createTolgee","getLocale","getTolgeeInstance","cache","async","locale","tolgee","run","getTolgee","getTranslate","T","assign"],"mappings":"saAaO,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,EACXM,IAEA,MAAMG,GAxC0BX,EAwCKQ,EAvCjCI,MAAMC,QAAQb,IAA2B,IAAjBA,EAAMS,OACzBT,EAAM,GAENA,GAJX,IAAkCA,EAyChC,OAAIY,MAAMC,QAAQF,GACTA,EAAIG,KAAI,CAACC,EAAMC,IACpBb,wBAACA,EAAK,QAACc,SAAQ,CAAClB,IAAKiB,GAAID,KAGpBJ,CACR,EChDUO,EAAyBX,IACpC,MAAMR,EAAOQ,EAA2BY,SAAWZ,EAAMC,cAC7CF,IAARP,GAEFqB,QAAQC,MAAM,oCAEhB,MAAMC,EACJf,EAAMe,eACJf,EAA2BY,QAAUZ,EAAMC,cAAWF,GAEpDiB,EAAcrB,EAClBK,EAAMiB,EAAE,CACNzB,IAAKA,EACLL,OAAQD,EAAgBc,EAAMb,QAC9B4B,eACAG,OAAQlB,EAAMkB,OACdC,GAAInB,EAAMmB,GACVC,SAAUpB,EAAMoB,YAIpB,OAAOxB,EAAAA,QAAAyB,cAAAzB,EAAAA,QAAAc,SAAA,KAAGM,EAAe,mCCXS,EAClCM,eACAC,gBAEA,MAAMC,EAAiEC,SACrEC,MAAOC,IACL,MAAMC,QAAeN,EAAaK,GAElC,aADMC,EAAOC,MACND,CAAM,IAIXE,EAAYJ,UAChB,MAAMC,QAAeJ,IAErB,aADqBC,EAAkBG,EAC1B,EAGTI,EAAeL,gBACEI,KACPb,EAQhB,MAAO,CACLa,YACAC,eACAC,EARFN,eAAiB1B,GACf,MAAMiB,QAAUc,IAChB,OAAOnC,UAAAyB,cAACV,EAAMtB,OAAA4C,OAAA,CAAAhB,EAAGA,GAA8BjB,GAChD,EAMA"}
|
|
@@ -7,8 +7,6 @@ export type CreateServerInstanceOptions = {
|
|
|
7
7
|
getLocale: () => Promise<string>;
|
|
8
8
|
};
|
|
9
9
|
export declare const createServerInstance: ({ createTolgee, getLocale, }: CreateServerInstanceOptions) => {
|
|
10
|
-
getTolgeeInstance: (locale: string) => Promise<TolgeeInstance>;
|
|
11
|
-
getTolgeeStaticInstance: (locale: string) => Promise<TolgeeInstance>;
|
|
12
10
|
getTolgee: () => Promise<TolgeeInstance>;
|
|
13
11
|
getTranslate: () => Promise<TFnType<import("@tolgee/web").DefaultParamType, string, import("@tolgee/web").TranslationKey>>;
|
|
14
12
|
T: (props: TProps) => Promise<React.JSX.Element>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tolgee/react",
|
|
3
|
-
"version": "5.33.3-prerelease.
|
|
3
|
+
"version": "5.33.3-prerelease.f3241859.0",
|
|
4
4
|
"description": "React implementation for Tolgee localization framework",
|
|
5
5
|
"main": "./dist/tolgee-react.cjs.js",
|
|
6
6
|
"module": "./dist/tolgee-react.esm.js",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"react": "^16.14.0 || ^17.0.1 || ^18.1.0 || ^19"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@tolgee/web": "5.33.3-prerelease.
|
|
41
|
+
"@tolgee/web": "5.33.3-prerelease.f3241859.0"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
44
|
"@rollup/plugin-node-resolve": "^14.1.0",
|
|
@@ -46,8 +46,8 @@
|
|
|
46
46
|
"@testing-library/dom": "^8.7.2",
|
|
47
47
|
"@testing-library/jest-dom": "^5.11.4",
|
|
48
48
|
"@testing-library/react": "^14.3.1",
|
|
49
|
-
"@tolgee/format-icu": "5.33.3-prerelease.
|
|
50
|
-
"@tolgee/testing": "5.33.3-prerelease.
|
|
49
|
+
"@tolgee/format-icu": "5.33.3-prerelease.f3241859.0",
|
|
50
|
+
"@tolgee/testing": "5.33.3-prerelease.f3241859.0",
|
|
51
51
|
"@types/jest": "^27.0.2",
|
|
52
52
|
"@types/node": "^17.0.8",
|
|
53
53
|
"@types/react": "^18.3.16",
|
|
@@ -88,5 +88,5 @@
|
|
|
88
88
|
"access": "public"
|
|
89
89
|
},
|
|
90
90
|
"sideEffects": false,
|
|
91
|
-
"gitHead": "
|
|
91
|
+
"gitHead": "20705ed255a542aa002208817940dc77c968c453"
|
|
92
92
|
}
|
|
@@ -24,11 +24,6 @@ export const createServerInstance = ({
|
|
|
24
24
|
}
|
|
25
25
|
);
|
|
26
26
|
|
|
27
|
-
const getTolgeeStaticInstance: (locale: string) => Promise<TolgeeInstance> =
|
|
28
|
-
cache(async (locale: string): Promise<TolgeeInstance> => {
|
|
29
|
-
return createTolgee(locale);
|
|
30
|
-
});
|
|
31
|
-
|
|
32
27
|
const getTolgee = async () => {
|
|
33
28
|
const locale = await getLocale();
|
|
34
29
|
const tolgee = await getTolgeeInstance(locale);
|
|
@@ -46,8 +41,6 @@ export const createServerInstance = ({
|
|
|
46
41
|
}
|
|
47
42
|
|
|
48
43
|
return {
|
|
49
|
-
getTolgeeInstance,
|
|
50
|
-
getTolgeeStaticInstance,
|
|
51
44
|
getTolgee,
|
|
52
45
|
getTranslate,
|
|
53
46
|
T,
|