react-intlayer 5.5.3 → 5.5.4
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/cjs/client/index.cjs +10 -4
- package/dist/cjs/client/index.cjs.map +1 -1
- package/dist/cjs/client/useDictionaryDynamic.cjs +42 -0
- package/dist/cjs/client/useDictionaryDynamic.cjs.map +1 -0
- package/dist/cjs/client/useLoadDynamic.cjs +56 -0
- package/dist/cjs/client/useLoadDynamic.cjs.map +1 -0
- package/dist/cjs/index.cjs +4 -0
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/server/index.cjs +6 -0
- package/dist/cjs/server/index.cjs.map +1 -1
- package/dist/cjs/server/useDictionaryDynamic.cjs +51 -0
- package/dist/cjs/server/useDictionaryDynamic.cjs.map +1 -0
- package/dist/cjs/server/useLoadDynamic.cjs +34 -0
- package/dist/cjs/server/useLoadDynamic.cjs.map +1 -0
- package/dist/esm/client/index.mjs +12 -8
- package/dist/esm/client/index.mjs.map +1 -1
- package/dist/esm/client/useDictionaryDynamic.mjs +18 -0
- package/dist/esm/client/useDictionaryDynamic.mjs.map +1 -0
- package/dist/esm/client/useLoadDynamic.mjs +32 -0
- package/dist/esm/client/useLoadDynamic.mjs.map +1 -0
- package/dist/esm/index.mjs +12 -8
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/server/index.mjs +4 -0
- package/dist/esm/server/index.mjs.map +1 -1
- package/dist/esm/server/useDictionaryDynamic.mjs +17 -0
- package/dist/esm/server/useDictionaryDynamic.mjs.map +1 -0
- package/dist/esm/server/useLoadDynamic.mjs +10 -0
- package/dist/esm/server/useLoadDynamic.mjs.map +1 -0
- package/dist/types/client/index.d.ts +8 -6
- package/dist/types/client/index.d.ts.map +1 -1
- package/dist/types/client/useDictionaryDynamic.d.ts +9 -0
- package/dist/types/client/useDictionaryDynamic.d.ts.map +1 -0
- package/dist/types/client/useLoadDynamic.d.ts +2 -0
- package/dist/types/client/useLoadDynamic.d.ts.map +1 -0
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/server/index.d.ts +2 -0
- package/dist/types/server/index.d.ts.map +1 -1
- package/dist/types/server/useDictionaryDynamic.d.ts +9 -0
- package/dist/types/server/useDictionaryDynamic.d.ts.map +1 -0
- package/dist/types/server/useLoadDynamic.d.ts +2 -0
- package/dist/types/server/useLoadDynamic.d.ts.map +1 -0
- package/package.json +14 -14
|
@@ -26,23 +26,27 @@ __export(client_exports, {
|
|
|
26
26
|
setLocaleCookie: () => import_useLocaleCookie.setLocaleCookie,
|
|
27
27
|
t: () => import_t.t,
|
|
28
28
|
useDictionary: () => import_useDictionary.useDictionary,
|
|
29
|
+
useDictionaryDynamic: () => import_useDictionaryDynamic.useDictionaryDynamic,
|
|
29
30
|
useIntlayer: () => import_useIntlayer.useIntlayer,
|
|
30
31
|
useIntlayerAsync: () => import_useIntlayerAsync.useIntlayerAsync,
|
|
31
32
|
useIntlayerContext: () => import_IntlayerProvider.useIntlayerContext,
|
|
33
|
+
useLoadDynamic: () => import_useLoadDynamic.useLoadDynamic,
|
|
32
34
|
useLocale: () => import_useLocale.useLocale,
|
|
33
35
|
useLocaleBase: () => import_useLocaleBase.useLocaleBase,
|
|
34
36
|
useLocaleCookie: () => import_useLocaleCookie.useLocaleCookie
|
|
35
37
|
});
|
|
36
38
|
module.exports = __toCommonJS(client_exports);
|
|
39
|
+
var import_getBrowserLocale = require('./getBrowserLocale.cjs');
|
|
37
40
|
var import_IntlayerProvider = require('./IntlayerProvider.cjs');
|
|
41
|
+
var import_t = require('./t.cjs');
|
|
42
|
+
var import_useDictionary = require('./useDictionary.cjs');
|
|
43
|
+
var import_useDictionaryDynamic = require('./useDictionaryDynamic.cjs');
|
|
38
44
|
var import_useIntlayer = require('./useIntlayer.cjs');
|
|
39
45
|
var import_useIntlayerAsync = require('./useIntlayerAsync.cjs');
|
|
40
|
-
var
|
|
41
|
-
var import_useLocaleBase = require('./useLocaleBase.cjs');
|
|
46
|
+
var import_useLoadDynamic = require('./useLoadDynamic.cjs');
|
|
42
47
|
var import_useLocale = require('./useLocale.cjs');
|
|
48
|
+
var import_useLocaleBase = require('./useLocaleBase.cjs');
|
|
43
49
|
var import_useLocaleCookie = require('./useLocaleCookie.cjs');
|
|
44
|
-
var import_getBrowserLocale = require('./getBrowserLocale.cjs');
|
|
45
|
-
var import_t = require('./t.cjs');
|
|
46
50
|
// Annotate the CommonJS export names for ESM import in node:
|
|
47
51
|
0 && (module.exports = {
|
|
48
52
|
IntlayerClientContext,
|
|
@@ -53,9 +57,11 @@ var import_t = require('./t.cjs');
|
|
|
53
57
|
setLocaleCookie,
|
|
54
58
|
t,
|
|
55
59
|
useDictionary,
|
|
60
|
+
useDictionaryDynamic,
|
|
56
61
|
useIntlayer,
|
|
57
62
|
useIntlayerAsync,
|
|
58
63
|
useIntlayerContext,
|
|
64
|
+
useLoadDynamic,
|
|
59
65
|
useLocale,
|
|
60
66
|
useLocaleBase,
|
|
61
67
|
useLocaleCookie
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/client/index.ts"],"sourcesContent":["export {\n
|
|
1
|
+
{"version":3,"sources":["../../../src/client/index.ts"],"sourcesContent":["export { getBrowserLocale } from './getBrowserLocale';\nexport {\n IntlayerClientContext,\n IntlayerProvider,\n IntlayerProviderContent,\n useIntlayerContext,\n type IntlayerProviderProps,\n} from './IntlayerProvider';\nexport { t } from './t';\nexport { useDictionary } from './useDictionary';\nexport { useDictionaryDynamic } from './useDictionaryDynamic';\nexport { useIntlayer } from './useIntlayer';\nexport { useIntlayerAsync } from './useIntlayerAsync';\nexport { useLoadDynamic } from './useLoadDynamic';\nexport { useLocale } from './useLocale';\nexport { useLocaleBase } from './useLocaleBase';\nexport {\n localeCookie,\n setLocaleCookie,\n useLocaleCookie,\n} from './useLocaleCookie';\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8BAAiC;AACjC,8BAMO;AACP,eAAkB;AAClB,2BAA8B;AAC9B,kCAAqC;AACrC,yBAA4B;AAC5B,8BAAiC;AACjC,4BAA+B;AAC/B,uBAA0B;AAC1B,2BAA8B;AAC9B,6BAIO;","names":[]}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
"use client";
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
|
+
var useDictionaryDynamic_exports = {};
|
|
21
|
+
__export(useDictionaryDynamic_exports, {
|
|
22
|
+
useDictionaryDynamic: () => useDictionaryDynamic
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(useDictionaryDynamic_exports);
|
|
25
|
+
var import_react = require("react");
|
|
26
|
+
var import_IntlayerProvider = require('./IntlayerProvider.cjs');
|
|
27
|
+
var import_useDictionary = require('./useDictionary.cjs');
|
|
28
|
+
var import_useLoadDynamic = require('./useLoadDynamic.cjs');
|
|
29
|
+
const useDictionaryDynamic = (dictionaryPromise, key, locale) => {
|
|
30
|
+
const { locale: currentLocale } = (0, import_react.useContext)(import_IntlayerProvider.IntlayerClientContext);
|
|
31
|
+
const localeTarget = locale ?? currentLocale;
|
|
32
|
+
const dictionary = (0, import_useLoadDynamic.useLoadDynamic)(
|
|
33
|
+
`${key}.${localeTarget}`,
|
|
34
|
+
dictionaryPromise[localeTarget]()
|
|
35
|
+
);
|
|
36
|
+
return (0, import_useDictionary.useDictionary)(dictionary, localeTarget);
|
|
37
|
+
};
|
|
38
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
39
|
+
0 && (module.exports = {
|
|
40
|
+
useDictionaryDynamic
|
|
41
|
+
});
|
|
42
|
+
//# sourceMappingURL=useDictionaryDynamic.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/client/useDictionaryDynamic.ts"],"sourcesContent":["'use client';\n\nimport type { LocalesValues } from '@intlayer/config/client';\nimport type {\n Dictionary,\n DictionaryKeys,\n LanguageContent,\n} from '@intlayer/core';\nimport { useContext } from 'react';\nimport { IntlayerClientContext } from './IntlayerProvider';\nimport { useDictionary } from './useDictionary';\nimport { useLoadDynamic } from './useLoadDynamic';\n\n/**\n * On the server side, Hook that transform a dictionary and return the content\n *\n * If the locale is not provided, it will use the locale from the client context\n */\nexport const useDictionaryDynamic = <\n T extends Dictionary,\n K extends DictionaryKeys,\n>(\n dictionaryPromise: LanguageContent<() => Promise<T>>,\n key: K,\n locale?: LocalesValues\n) => {\n const { locale: currentLocale } = useContext(IntlayerClientContext);\n const localeTarget = locale ?? currentLocale;\n\n const dictionary = useLoadDynamic<T>(\n `${key}.${localeTarget}`,\n dictionaryPromise[localeTarget]!()\n ) as T;\n\n return useDictionary(dictionary, localeTarget);\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,mBAA2B;AAC3B,8BAAsC;AACtC,2BAA8B;AAC9B,4BAA+B;AAOxB,MAAM,uBAAuB,CAIlC,mBACA,KACA,WACG;AACH,QAAM,EAAE,QAAQ,cAAc,QAAI,yBAAW,6CAAqB;AAClE,QAAM,eAAe,UAAU;AAE/B,QAAM,iBAAa;AAAA,IACjB,GAAG,GAAG,IAAI,YAAY;AAAA,IACtB,kBAAkB,YAAY,EAAG;AAAA,EACnC;AAEA,aAAO,oCAAc,YAAY,YAAY;AAC/C;","names":[]}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var useLoadDynamic_exports = {};
|
|
20
|
+
__export(useLoadDynamic_exports, {
|
|
21
|
+
useLoadDynamic: () => useLoadDynamic
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(useLoadDynamic_exports);
|
|
24
|
+
const createSuspender = (promise) => {
|
|
25
|
+
let status = "pending";
|
|
26
|
+
let result;
|
|
27
|
+
const suspender = promise.then(
|
|
28
|
+
(r) => {
|
|
29
|
+
status = "success";
|
|
30
|
+
result = r;
|
|
31
|
+
},
|
|
32
|
+
(e) => {
|
|
33
|
+
status = "error";
|
|
34
|
+
result = e;
|
|
35
|
+
}
|
|
36
|
+
);
|
|
37
|
+
return {
|
|
38
|
+
read() {
|
|
39
|
+
if (status === "pending") throw suspender;
|
|
40
|
+
if (status === "error") throw result;
|
|
41
|
+
return result;
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
const cache = /* @__PURE__ */ new Map();
|
|
46
|
+
const useLoadDynamic = (key, promise) => {
|
|
47
|
+
if (!cache.has(key)) {
|
|
48
|
+
cache.set(key, createSuspender(promise));
|
|
49
|
+
}
|
|
50
|
+
return cache.get(key).read();
|
|
51
|
+
};
|
|
52
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
53
|
+
0 && (module.exports = {
|
|
54
|
+
useLoadDynamic
|
|
55
|
+
});
|
|
56
|
+
//# sourceMappingURL=useLoadDynamic.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/client/useLoadDynamic.ts"],"sourcesContent":["type Status = 'pending' | 'success' | 'error';\n\nconst createSuspender = <T>(promise: Promise<T>) => {\n let status: Status = 'pending';\n let result: T;\n const suspender = promise.then(\n (r) => {\n status = 'success';\n result = r;\n },\n (e) => {\n status = 'error';\n result = e as any;\n }\n );\n\n return {\n read() {\n if (status === 'pending') throw suspender;\n if (status === 'error') throw result;\n return result!;\n },\n };\n};\n\nconst cache = new Map<string, ReturnType<typeof createSuspender>>();\n\nexport const useLoadDynamic = <T>(key: string, promise: Promise<T>): T => {\n if (!cache.has(key)) {\n cache.set(key, createSuspender(promise));\n }\n\n return (cache.get(key)! as ReturnType<typeof createSuspender>).read() as T;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,MAAM,kBAAkB,CAAI,YAAwB;AAClD,MAAI,SAAiB;AACrB,MAAI;AACJ,QAAM,YAAY,QAAQ;AAAA,IACxB,CAAC,MAAM;AACL,eAAS;AACT,eAAS;AAAA,IACX;AAAA,IACA,CAAC,MAAM;AACL,eAAS;AACT,eAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,OAAO;AACL,UAAI,WAAW,UAAW,OAAM;AAChC,UAAI,WAAW,QAAS,OAAM;AAC9B,aAAO;AAAA,IACT;AAAA,EACF;AACF;AAEA,MAAM,QAAQ,oBAAI,IAAgD;AAE3D,MAAM,iBAAiB,CAAI,KAAa,YAA2B;AACxE,MAAI,CAAC,MAAM,IAAI,GAAG,GAAG;AACnB,UAAM,IAAI,KAAK,gBAAgB,OAAO,CAAC;AAAA,EACzC;AAEA,SAAQ,MAAM,IAAI,GAAG,EAA0C,KAAK;AACtE;","names":[]}
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -27,9 +27,11 @@ __export(index_exports, {
|
|
|
27
27
|
setLocaleCookie: () => import_client.setLocaleCookie,
|
|
28
28
|
t: () => import_client.t,
|
|
29
29
|
useDictionary: () => import_client.useDictionary,
|
|
30
|
+
useDictionaryDynamic: () => import_client.useDictionaryDynamic,
|
|
30
31
|
useIntlayer: () => import_client.useIntlayer,
|
|
31
32
|
useIntlayerAsync: () => import_client.useIntlayerAsync,
|
|
32
33
|
useIntlayerContext: () => import_client.useIntlayerContext,
|
|
34
|
+
useLoadDynamic: () => import_client.useLoadDynamic,
|
|
33
35
|
useLocale: () => import_client.useLocale,
|
|
34
36
|
useLocaleBase: () => import_client.useLocaleBase,
|
|
35
37
|
useLocaleCookie: () => import_client.useLocaleCookie
|
|
@@ -48,9 +50,11 @@ var import_markdown = require('./markdown/index.cjs');
|
|
|
48
50
|
setLocaleCookie,
|
|
49
51
|
t,
|
|
50
52
|
useDictionary,
|
|
53
|
+
useDictionaryDynamic,
|
|
51
54
|
useIntlayer,
|
|
52
55
|
useIntlayerAsync,
|
|
53
56
|
useIntlayerContext,
|
|
57
|
+
useLoadDynamic,
|
|
54
58
|
useLocale,
|
|
55
59
|
useLocaleBase,
|
|
56
60
|
useLocaleCookie
|
package/dist/cjs/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts"],"sourcesContent":["import type { IInterpreterPluginReact } from './plugins';\n\ndeclare module '@intlayer/core' {\n interface IInterpreterPlugin<T, S> extends IInterpreterPluginReact<T> {}\n}\n\nexport {\n IntlayerProvider,\n IntlayerProviderContent,\n
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts"],"sourcesContent":["import type { IInterpreterPluginReact } from './plugins';\n\ndeclare module '@intlayer/core' {\n interface IInterpreterPlugin<T, S> extends IInterpreterPluginReact<T> {}\n}\n\nexport {\n getBrowserLocale,\n IntlayerClientContext,\n IntlayerProvider,\n IntlayerProviderContent,\n localeCookie,\n setLocaleCookie,\n t,\n useDictionary,\n useDictionaryDynamic,\n useIntlayer,\n useIntlayerAsync,\n useIntlayerContext,\n useLoadDynamic,\n useLocale,\n useLocaleBase,\n useLocaleCookie,\n type IntlayerProviderProps,\n} from './client/index';\nexport { type IntlayerNode } from './IntlayerNode';\nexport { MarkdownProvider } from './markdown/index';\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,oBAkBO;AAEP,sBAAiC;","names":[]}
|
|
@@ -23,14 +23,18 @@ __export(server_exports, {
|
|
|
23
23
|
locale: () => import_IntlayerServerProvider.locale,
|
|
24
24
|
t: () => import_t.t,
|
|
25
25
|
useDictionary: () => import_useDictionary.useDictionary,
|
|
26
|
+
useDictionaryDynamic: () => import_useDictionaryDynamic.useDictionaryDynamic,
|
|
26
27
|
useIntlayer: () => import_useIntlayer.useIntlayer,
|
|
28
|
+
useLoadDynamic: () => import_useLoadDynamic.useLoadDynamic,
|
|
27
29
|
useLocale: () => import_useLocale.useLocale
|
|
28
30
|
});
|
|
29
31
|
module.exports = __toCommonJS(server_exports);
|
|
30
32
|
var import_IntlayerServerProvider = require('./IntlayerServerProvider.cjs');
|
|
31
33
|
var import_t = require('./t.cjs');
|
|
32
34
|
var import_useDictionary = require('./useDictionary.cjs');
|
|
35
|
+
var import_useDictionaryDynamic = require('./useDictionaryDynamic.cjs');
|
|
33
36
|
var import_useIntlayer = require('./useIntlayer.cjs');
|
|
37
|
+
var import_useLoadDynamic = require('./useLoadDynamic.cjs');
|
|
34
38
|
var import_useLocale = require('./useLocale.cjs');
|
|
35
39
|
// Annotate the CommonJS export names for ESM import in node:
|
|
36
40
|
0 && (module.exports = {
|
|
@@ -39,7 +43,9 @@ var import_useLocale = require('./useLocale.cjs');
|
|
|
39
43
|
locale,
|
|
40
44
|
t,
|
|
41
45
|
useDictionary,
|
|
46
|
+
useDictionaryDynamic,
|
|
42
47
|
useIntlayer,
|
|
48
|
+
useLoadDynamic,
|
|
43
49
|
useLocale
|
|
44
50
|
});
|
|
45
51
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/server/index.ts"],"sourcesContent":["export {\n IntlayerServerContext as IntlayerServer,\n IntlayerServerProvider,\n locale,\n} from './IntlayerServerProvider';\nexport { t } from './t';\nexport { useDictionary } from './useDictionary';\nexport { useIntlayer } from './useIntlayer';\nexport { useLocale } from './useLocale';\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oCAIO;AACP,eAAkB;AAClB,2BAA8B;AAC9B,yBAA4B;AAC5B,uBAA0B;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/server/index.ts"],"sourcesContent":["export {\n IntlayerServerContext as IntlayerServer,\n IntlayerServerProvider,\n locale,\n} from './IntlayerServerProvider';\nexport { t } from './t';\nexport { useDictionary } from './useDictionary';\nexport { useDictionaryDynamic } from './useDictionaryDynamic';\nexport { useIntlayer } from './useIntlayer';\nexport { useLoadDynamic } from './useLoadDynamic';\nexport { useLocale } from './useLocale';\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oCAIO;AACP,eAAkB;AAClB,2BAA8B;AAC9B,kCAAqC;AACrC,yBAA4B;AAC5B,4BAA+B;AAC/B,uBAA0B;","names":[]}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var useDictionaryDynamic_exports = {};
|
|
30
|
+
__export(useDictionaryDynamic_exports, {
|
|
31
|
+
useDictionaryDynamic: () => useDictionaryDynamic
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(useDictionaryDynamic_exports);
|
|
34
|
+
var import_built = __toESM(require("@intlayer/config/built"));
|
|
35
|
+
var import_IntlayerServerProvider = require('./IntlayerServerProvider.cjs');
|
|
36
|
+
var import_serverContext = require('./serverContext.cjs');
|
|
37
|
+
var import_useDictionary = require('./useDictionary.cjs');
|
|
38
|
+
var import_useLoadDynamic = require('./useLoadDynamic.cjs');
|
|
39
|
+
const useDictionaryDynamic = (dictionaryPromise, key, locale) => {
|
|
40
|
+
const localeTarget = locale ?? (0, import_serverContext.getServerContext)(import_IntlayerServerProvider.IntlayerServerContext) ?? import_built.default.internationalization.defaultLocale;
|
|
41
|
+
const dictionary = (0, import_useLoadDynamic.useLoadDynamic)(
|
|
42
|
+
`${key}.${localeTarget}`,
|
|
43
|
+
dictionaryPromise[localeTarget]()
|
|
44
|
+
);
|
|
45
|
+
return (0, import_useDictionary.useDictionary)(dictionary, localeTarget);
|
|
46
|
+
};
|
|
47
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
48
|
+
0 && (module.exports = {
|
|
49
|
+
useDictionaryDynamic
|
|
50
|
+
});
|
|
51
|
+
//# sourceMappingURL=useDictionaryDynamic.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/server/useDictionaryDynamic.ts"],"sourcesContent":["import configuration from '@intlayer/config/built';\nimport type { LocalesValues } from '@intlayer/config/client';\nimport { LanguageContent, type Dictionary } from '@intlayer/core';\nimport { IntlayerServerContext } from './IntlayerServerProvider';\nimport { getServerContext } from './serverContext';\nimport { useDictionary } from './useDictionary';\nimport { useLoadDynamic } from './useLoadDynamic';\n\n/**\n * On the server side, Hook that transform a dictionary and return the content\n *\n * If the locale is not provided, it will use the locale from the server context\n */\nexport const useDictionaryDynamic = <T extends Dictionary>(\n dictionaryPromise: LanguageContent<() => Promise<T>>,\n key: string,\n locale?: LocalesValues\n) => {\n const localeTarget =\n locale ??\n getServerContext<LocalesValues>(IntlayerServerContext) ??\n configuration.internationalization.defaultLocale;\n\n const dictionary = useLoadDynamic<T>(\n `${key}.${localeTarget}`,\n dictionaryPromise[localeTarget]!()\n );\n\n return useDictionary(dictionary, localeTarget);\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA0B;AAG1B,oCAAsC;AACtC,2BAAiC;AACjC,2BAA8B;AAC9B,4BAA+B;AAOxB,MAAM,uBAAuB,CAClC,mBACA,KACA,WACG;AACH,QAAM,eACJ,cACA,uCAAgC,mDAAqB,KACrD,aAAAA,QAAc,qBAAqB;AAErC,QAAM,iBAAa;AAAA,IACjB,GAAG,GAAG,IAAI,YAAY;AAAA,IACtB,kBAAkB,YAAY,EAAG;AAAA,EACnC;AAEA,aAAO,oCAAc,YAAY,YAAY;AAC/C;","names":["configuration"]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var useLoadDynamic_exports = {};
|
|
20
|
+
__export(useLoadDynamic_exports, {
|
|
21
|
+
useLoadDynamic: () => useLoadDynamic
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(useLoadDynamic_exports);
|
|
24
|
+
var import_react = require("react");
|
|
25
|
+
const useLoadDynamic = (_key, promise) => {
|
|
26
|
+
const cachedPromise = (0, import_react.cache)(async () => await promise)();
|
|
27
|
+
const dictionary = (0, import_react.use)(cachedPromise);
|
|
28
|
+
return dictionary;
|
|
29
|
+
};
|
|
30
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
31
|
+
0 && (module.exports = {
|
|
32
|
+
useLoadDynamic
|
|
33
|
+
});
|
|
34
|
+
//# sourceMappingURL=useLoadDynamic.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/server/useLoadDynamic.ts"],"sourcesContent":["import { cache, use } from 'react';\n\nexport const useLoadDynamic = <T>(_key: string, promise: Promise<T>): T => {\n const cachedPromise = cache(async () => await promise)();\n\n const dictionary = use(cachedPromise);\n\n return dictionary;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA2B;AAEpB,MAAM,iBAAiB,CAAI,MAAc,YAA2B;AACzE,QAAM,oBAAgB,oBAAM,YAAY,MAAM,OAAO,EAAE;AAEvD,QAAM,iBAAa,kBAAI,aAAa;AAEpC,SAAO;AACT;","names":[]}
|
|
@@ -1,21 +1,23 @@
|
|
|
1
|
+
import { getBrowserLocale } from "./getBrowserLocale.mjs";
|
|
1
2
|
import {
|
|
2
3
|
IntlayerClientContext,
|
|
4
|
+
IntlayerProvider,
|
|
3
5
|
IntlayerProviderContent,
|
|
4
|
-
useIntlayerContext
|
|
5
|
-
IntlayerProvider
|
|
6
|
+
useIntlayerContext
|
|
6
7
|
} from "./IntlayerProvider.mjs";
|
|
8
|
+
import { t } from "./t.mjs";
|
|
9
|
+
import { useDictionary } from "./useDictionary.mjs";
|
|
10
|
+
import { useDictionaryDynamic } from "./useDictionaryDynamic.mjs";
|
|
7
11
|
import { useIntlayer } from "./useIntlayer.mjs";
|
|
8
12
|
import { useIntlayerAsync } from "./useIntlayerAsync.mjs";
|
|
9
|
-
import {
|
|
10
|
-
import { useLocaleBase } from "./useLocaleBase.mjs";
|
|
13
|
+
import { useLoadDynamic } from "./useLoadDynamic.mjs";
|
|
11
14
|
import { useLocale } from "./useLocale.mjs";
|
|
15
|
+
import { useLocaleBase } from "./useLocaleBase.mjs";
|
|
12
16
|
import {
|
|
13
|
-
useLocaleCookie,
|
|
14
17
|
localeCookie,
|
|
15
|
-
setLocaleCookie
|
|
18
|
+
setLocaleCookie,
|
|
19
|
+
useLocaleCookie
|
|
16
20
|
} from "./useLocaleCookie.mjs";
|
|
17
|
-
import { getBrowserLocale } from "./getBrowserLocale.mjs";
|
|
18
|
-
import { t } from "./t.mjs";
|
|
19
21
|
export {
|
|
20
22
|
IntlayerClientContext,
|
|
21
23
|
IntlayerProvider,
|
|
@@ -25,9 +27,11 @@ export {
|
|
|
25
27
|
setLocaleCookie,
|
|
26
28
|
t,
|
|
27
29
|
useDictionary,
|
|
30
|
+
useDictionaryDynamic,
|
|
28
31
|
useIntlayer,
|
|
29
32
|
useIntlayerAsync,
|
|
30
33
|
useIntlayerContext,
|
|
34
|
+
useLoadDynamic,
|
|
31
35
|
useLocale,
|
|
32
36
|
useLocaleBase,
|
|
33
37
|
useLocaleCookie
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/client/index.ts"],"sourcesContent":["export {\n
|
|
1
|
+
{"version":3,"sources":["../../../src/client/index.ts"],"sourcesContent":["export { getBrowserLocale } from './getBrowserLocale';\nexport {\n IntlayerClientContext,\n IntlayerProvider,\n IntlayerProviderContent,\n useIntlayerContext,\n type IntlayerProviderProps,\n} from './IntlayerProvider';\nexport { t } from './t';\nexport { useDictionary } from './useDictionary';\nexport { useDictionaryDynamic } from './useDictionaryDynamic';\nexport { useIntlayer } from './useIntlayer';\nexport { useIntlayerAsync } from './useIntlayerAsync';\nexport { useLoadDynamic } from './useLoadDynamic';\nexport { useLocale } from './useLocale';\nexport { useLocaleBase } from './useLocaleBase';\nexport {\n localeCookie,\n setLocaleCookie,\n useLocaleCookie,\n} from './useLocaleCookie';\n"],"mappings":"AAAA,SAAS,wBAAwB;AACjC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAEK;AACP,SAAS,SAAS;AAClB,SAAS,qBAAqB;AAC9B,SAAS,4BAA4B;AACrC,SAAS,mBAAmB;AAC5B,SAAS,wBAAwB;AACjC,SAAS,sBAAsB;AAC/B,SAAS,iBAAiB;AAC1B,SAAS,qBAAqB;AAC9B;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;","names":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useContext } from "react";
|
|
3
|
+
import { IntlayerClientContext } from "./IntlayerProvider.mjs";
|
|
4
|
+
import { useDictionary } from "./useDictionary.mjs";
|
|
5
|
+
import { useLoadDynamic } from "./useLoadDynamic.mjs";
|
|
6
|
+
const useDictionaryDynamic = (dictionaryPromise, key, locale) => {
|
|
7
|
+
const { locale: currentLocale } = useContext(IntlayerClientContext);
|
|
8
|
+
const localeTarget = locale ?? currentLocale;
|
|
9
|
+
const dictionary = useLoadDynamic(
|
|
10
|
+
`${key}.${localeTarget}`,
|
|
11
|
+
dictionaryPromise[localeTarget]()
|
|
12
|
+
);
|
|
13
|
+
return useDictionary(dictionary, localeTarget);
|
|
14
|
+
};
|
|
15
|
+
export {
|
|
16
|
+
useDictionaryDynamic
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=useDictionaryDynamic.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/client/useDictionaryDynamic.ts"],"sourcesContent":["'use client';\n\nimport type { LocalesValues } from '@intlayer/config/client';\nimport type {\n Dictionary,\n DictionaryKeys,\n LanguageContent,\n} from '@intlayer/core';\nimport { useContext } from 'react';\nimport { IntlayerClientContext } from './IntlayerProvider';\nimport { useDictionary } from './useDictionary';\nimport { useLoadDynamic } from './useLoadDynamic';\n\n/**\n * On the server side, Hook that transform a dictionary and return the content\n *\n * If the locale is not provided, it will use the locale from the client context\n */\nexport const useDictionaryDynamic = <\n T extends Dictionary,\n K extends DictionaryKeys,\n>(\n dictionaryPromise: LanguageContent<() => Promise<T>>,\n key: K,\n locale?: LocalesValues\n) => {\n const { locale: currentLocale } = useContext(IntlayerClientContext);\n const localeTarget = locale ?? currentLocale;\n\n const dictionary = useLoadDynamic<T>(\n `${key}.${localeTarget}`,\n dictionaryPromise[localeTarget]!()\n ) as T;\n\n return useDictionary(dictionary, localeTarget);\n};\n"],"mappings":";AAQA,SAAS,kBAAkB;AAC3B,SAAS,6BAA6B;AACtC,SAAS,qBAAqB;AAC9B,SAAS,sBAAsB;AAOxB,MAAM,uBAAuB,CAIlC,mBACA,KACA,WACG;AACH,QAAM,EAAE,QAAQ,cAAc,IAAI,WAAW,qBAAqB;AAClE,QAAM,eAAe,UAAU;AAE/B,QAAM,aAAa;AAAA,IACjB,GAAG,GAAG,IAAI,YAAY;AAAA,IACtB,kBAAkB,YAAY,EAAG;AAAA,EACnC;AAEA,SAAO,cAAc,YAAY,YAAY;AAC/C;","names":[]}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
const createSuspender = (promise) => {
|
|
2
|
+
let status = "pending";
|
|
3
|
+
let result;
|
|
4
|
+
const suspender = promise.then(
|
|
5
|
+
(r) => {
|
|
6
|
+
status = "success";
|
|
7
|
+
result = r;
|
|
8
|
+
},
|
|
9
|
+
(e) => {
|
|
10
|
+
status = "error";
|
|
11
|
+
result = e;
|
|
12
|
+
}
|
|
13
|
+
);
|
|
14
|
+
return {
|
|
15
|
+
read() {
|
|
16
|
+
if (status === "pending") throw suspender;
|
|
17
|
+
if (status === "error") throw result;
|
|
18
|
+
return result;
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
const cache = /* @__PURE__ */ new Map();
|
|
23
|
+
const useLoadDynamic = (key, promise) => {
|
|
24
|
+
if (!cache.has(key)) {
|
|
25
|
+
cache.set(key, createSuspender(promise));
|
|
26
|
+
}
|
|
27
|
+
return cache.get(key).read();
|
|
28
|
+
};
|
|
29
|
+
export {
|
|
30
|
+
useLoadDynamic
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=useLoadDynamic.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/client/useLoadDynamic.ts"],"sourcesContent":["type Status = 'pending' | 'success' | 'error';\n\nconst createSuspender = <T>(promise: Promise<T>) => {\n let status: Status = 'pending';\n let result: T;\n const suspender = promise.then(\n (r) => {\n status = 'success';\n result = r;\n },\n (e) => {\n status = 'error';\n result = e as any;\n }\n );\n\n return {\n read() {\n if (status === 'pending') throw suspender;\n if (status === 'error') throw result;\n return result!;\n },\n };\n};\n\nconst cache = new Map<string, ReturnType<typeof createSuspender>>();\n\nexport const useLoadDynamic = <T>(key: string, promise: Promise<T>): T => {\n if (!cache.has(key)) {\n cache.set(key, createSuspender(promise));\n }\n\n return (cache.get(key)! as ReturnType<typeof createSuspender>).read() as T;\n};\n"],"mappings":"AAEA,MAAM,kBAAkB,CAAI,YAAwB;AAClD,MAAI,SAAiB;AACrB,MAAI;AACJ,QAAM,YAAY,QAAQ;AAAA,IACxB,CAAC,MAAM;AACL,eAAS;AACT,eAAS;AAAA,IACX;AAAA,IACA,CAAC,MAAM;AACL,eAAS;AACT,eAAS;AAAA,IACX;AAAA,EACF;AAEA,SAAO;AAAA,IACL,OAAO;AACL,UAAI,WAAW,UAAW,OAAM;AAChC,UAAI,WAAW,QAAS,OAAM;AAC9B,aAAO;AAAA,IACT;AAAA,EACF;AACF;AAEA,MAAM,QAAQ,oBAAI,IAAgD;AAE3D,MAAM,iBAAiB,CAAI,KAAa,YAA2B;AACxE,MAAI,CAAC,MAAM,IAAI,GAAG,GAAG;AACnB,UAAM,IAAI,KAAK,gBAAgB,OAAO,CAAC;AAAA,EACzC;AAEA,SAAQ,MAAM,IAAI,GAAG,EAA0C,KAAK;AACtE;","names":[]}
|
package/dist/esm/index.mjs
CHANGED
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
import {
|
|
2
|
+
getBrowserLocale,
|
|
3
|
+
IntlayerClientContext,
|
|
2
4
|
IntlayerProvider,
|
|
3
5
|
IntlayerProviderContent,
|
|
4
|
-
|
|
6
|
+
localeCookie,
|
|
7
|
+
setLocaleCookie,
|
|
8
|
+
t,
|
|
9
|
+
useDictionary,
|
|
10
|
+
useDictionaryDynamic,
|
|
5
11
|
useIntlayer,
|
|
6
12
|
useIntlayerAsync,
|
|
7
|
-
useDictionary,
|
|
8
|
-
useLocale,
|
|
9
|
-
useLocaleCookie,
|
|
10
13
|
useIntlayerContext,
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
getBrowserLocale,
|
|
14
|
+
useLoadDynamic,
|
|
15
|
+
useLocale,
|
|
14
16
|
useLocaleBase,
|
|
15
|
-
|
|
17
|
+
useLocaleCookie
|
|
16
18
|
} from "./client/index.mjs";
|
|
17
19
|
import { MarkdownProvider } from "./markdown/index.mjs";
|
|
18
20
|
export {
|
|
@@ -25,9 +27,11 @@ export {
|
|
|
25
27
|
setLocaleCookie,
|
|
26
28
|
t,
|
|
27
29
|
useDictionary,
|
|
30
|
+
useDictionaryDynamic,
|
|
28
31
|
useIntlayer,
|
|
29
32
|
useIntlayerAsync,
|
|
30
33
|
useIntlayerContext,
|
|
34
|
+
useLoadDynamic,
|
|
31
35
|
useLocale,
|
|
32
36
|
useLocaleBase,
|
|
33
37
|
useLocaleCookie
|
package/dist/esm/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts"],"sourcesContent":["import type { IInterpreterPluginReact } from './plugins';\n\ndeclare module '@intlayer/core' {\n interface IInterpreterPlugin<T, S> extends IInterpreterPluginReact<T> {}\n}\n\nexport {\n IntlayerProvider,\n IntlayerProviderContent,\n
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts"],"sourcesContent":["import type { IInterpreterPluginReact } from './plugins';\n\ndeclare module '@intlayer/core' {\n interface IInterpreterPlugin<T, S> extends IInterpreterPluginReact<T> {}\n}\n\nexport {\n getBrowserLocale,\n IntlayerClientContext,\n IntlayerProvider,\n IntlayerProviderContent,\n localeCookie,\n setLocaleCookie,\n t,\n useDictionary,\n useDictionaryDynamic,\n useIntlayer,\n useIntlayerAsync,\n useIntlayerContext,\n useLoadDynamic,\n useLocale,\n useLocaleBase,\n useLocaleCookie,\n type IntlayerProviderProps,\n} from './client/index';\nexport { type IntlayerNode } from './IntlayerNode';\nexport { MarkdownProvider } from './markdown/index';\n"],"mappings":"AAMA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAEK;AAEP,SAAS,wBAAwB;","names":[]}
|
|
@@ -5,7 +5,9 @@ import {
|
|
|
5
5
|
} from "./IntlayerServerProvider.mjs";
|
|
6
6
|
import { t } from "./t.mjs";
|
|
7
7
|
import { useDictionary } from "./useDictionary.mjs";
|
|
8
|
+
import { useDictionaryDynamic } from "./useDictionaryDynamic.mjs";
|
|
8
9
|
import { useIntlayer } from "./useIntlayer.mjs";
|
|
10
|
+
import { useLoadDynamic } from "./useLoadDynamic.mjs";
|
|
9
11
|
import { useLocale } from "./useLocale.mjs";
|
|
10
12
|
export {
|
|
11
13
|
IntlayerServerContext as IntlayerServer,
|
|
@@ -13,7 +15,9 @@ export {
|
|
|
13
15
|
locale,
|
|
14
16
|
t,
|
|
15
17
|
useDictionary,
|
|
18
|
+
useDictionaryDynamic,
|
|
16
19
|
useIntlayer,
|
|
20
|
+
useLoadDynamic,
|
|
17
21
|
useLocale
|
|
18
22
|
};
|
|
19
23
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/server/index.ts"],"sourcesContent":["export {\n IntlayerServerContext as IntlayerServer,\n IntlayerServerProvider,\n locale,\n} from './IntlayerServerProvider';\nexport { t } from './t';\nexport { useDictionary } from './useDictionary';\nexport { useIntlayer } from './useIntlayer';\nexport { useLocale } from './useLocale';\n"],"mappings":"AAAA;AAAA,EAC2B;AAAA,EACzB;AAAA,EACA;AAAA,OACK;AACP,SAAS,SAAS;AAClB,SAAS,qBAAqB;AAC9B,SAAS,mBAAmB;AAC5B,SAAS,iBAAiB;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/server/index.ts"],"sourcesContent":["export {\n IntlayerServerContext as IntlayerServer,\n IntlayerServerProvider,\n locale,\n} from './IntlayerServerProvider';\nexport { t } from './t';\nexport { useDictionary } from './useDictionary';\nexport { useDictionaryDynamic } from './useDictionaryDynamic';\nexport { useIntlayer } from './useIntlayer';\nexport { useLoadDynamic } from './useLoadDynamic';\nexport { useLocale } from './useLocale';\n"],"mappings":"AAAA;AAAA,EAC2B;AAAA,EACzB;AAAA,EACA;AAAA,OACK;AACP,SAAS,SAAS;AAClB,SAAS,qBAAqB;AAC9B,SAAS,4BAA4B;AACrC,SAAS,mBAAmB;AAC5B,SAAS,sBAAsB;AAC/B,SAAS,iBAAiB;","names":[]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import configuration from "@intlayer/config/built";
|
|
2
|
+
import { IntlayerServerContext } from "./IntlayerServerProvider.mjs";
|
|
3
|
+
import { getServerContext } from "./serverContext.mjs";
|
|
4
|
+
import { useDictionary } from "./useDictionary.mjs";
|
|
5
|
+
import { useLoadDynamic } from "./useLoadDynamic.mjs";
|
|
6
|
+
const useDictionaryDynamic = (dictionaryPromise, key, locale) => {
|
|
7
|
+
const localeTarget = locale ?? getServerContext(IntlayerServerContext) ?? configuration.internationalization.defaultLocale;
|
|
8
|
+
const dictionary = useLoadDynamic(
|
|
9
|
+
`${key}.${localeTarget}`,
|
|
10
|
+
dictionaryPromise[localeTarget]()
|
|
11
|
+
);
|
|
12
|
+
return useDictionary(dictionary, localeTarget);
|
|
13
|
+
};
|
|
14
|
+
export {
|
|
15
|
+
useDictionaryDynamic
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=useDictionaryDynamic.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/server/useDictionaryDynamic.ts"],"sourcesContent":["import configuration from '@intlayer/config/built';\nimport type { LocalesValues } from '@intlayer/config/client';\nimport { LanguageContent, type Dictionary } from '@intlayer/core';\nimport { IntlayerServerContext } from './IntlayerServerProvider';\nimport { getServerContext } from './serverContext';\nimport { useDictionary } from './useDictionary';\nimport { useLoadDynamic } from './useLoadDynamic';\n\n/**\n * On the server side, Hook that transform a dictionary and return the content\n *\n * If the locale is not provided, it will use the locale from the server context\n */\nexport const useDictionaryDynamic = <T extends Dictionary>(\n dictionaryPromise: LanguageContent<() => Promise<T>>,\n key: string,\n locale?: LocalesValues\n) => {\n const localeTarget =\n locale ??\n getServerContext<LocalesValues>(IntlayerServerContext) ??\n configuration.internationalization.defaultLocale;\n\n const dictionary = useLoadDynamic<T>(\n `${key}.${localeTarget}`,\n dictionaryPromise[localeTarget]!()\n );\n\n return useDictionary(dictionary, localeTarget);\n};\n"],"mappings":"AAAA,OAAO,mBAAmB;AAG1B,SAAS,6BAA6B;AACtC,SAAS,wBAAwB;AACjC,SAAS,qBAAqB;AAC9B,SAAS,sBAAsB;AAOxB,MAAM,uBAAuB,CAClC,mBACA,KACA,WACG;AACH,QAAM,eACJ,UACA,iBAAgC,qBAAqB,KACrD,cAAc,qBAAqB;AAErC,QAAM,aAAa;AAAA,IACjB,GAAG,GAAG,IAAI,YAAY;AAAA,IACtB,kBAAkB,YAAY,EAAG;AAAA,EACnC;AAEA,SAAO,cAAc,YAAY,YAAY;AAC/C;","names":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { cache, use } from "react";
|
|
2
|
+
const useLoadDynamic = (_key, promise) => {
|
|
3
|
+
const cachedPromise = cache(async () => await promise)();
|
|
4
|
+
const dictionary = use(cachedPromise);
|
|
5
|
+
return dictionary;
|
|
6
|
+
};
|
|
7
|
+
export {
|
|
8
|
+
useLoadDynamic
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=useLoadDynamic.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/server/useLoadDynamic.ts"],"sourcesContent":["import { cache, use } from 'react';\n\nexport const useLoadDynamic = <T>(_key: string, promise: Promise<T>): T => {\n const cachedPromise = cache(async () => await promise)();\n\n const dictionary = use(cachedPromise);\n\n return dictionary;\n};\n"],"mappings":"AAAA,SAAS,OAAO,WAAW;AAEpB,MAAM,iBAAiB,CAAI,MAAc,YAA2B;AACzE,QAAM,gBAAgB,MAAM,YAAY,MAAM,OAAO,EAAE;AAEvD,QAAM,aAAa,IAAI,aAAa;AAEpC,SAAO;AACT;","names":[]}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { getBrowserLocale } from './getBrowserLocale';
|
|
2
|
+
export { IntlayerClientContext, IntlayerProvider, IntlayerProviderContent, useIntlayerContext, type IntlayerProviderProps, } from './IntlayerProvider';
|
|
3
|
+
export { t } from './t';
|
|
4
|
+
export { useDictionary } from './useDictionary';
|
|
5
|
+
export { useDictionaryDynamic } from './useDictionaryDynamic';
|
|
2
6
|
export { useIntlayer } from './useIntlayer';
|
|
3
7
|
export { useIntlayerAsync } from './useIntlayerAsync';
|
|
4
|
-
export {
|
|
5
|
-
export { useLocaleBase } from './useLocaleBase';
|
|
8
|
+
export { useLoadDynamic } from './useLoadDynamic';
|
|
6
9
|
export { useLocale } from './useLocale';
|
|
7
|
-
export {
|
|
8
|
-
export {
|
|
9
|
-
export { t } from './t';
|
|
10
|
+
export { useLocaleBase } from './useLocaleBase';
|
|
11
|
+
export { localeCookie, setLocaleCookie, useLocaleCookie, } from './useLocaleCookie';
|
|
10
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,EAClB,KAAK,qBAAqB,GAC3B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EACL,YAAY,EACZ,eAAe,EACf,eAAe,GAChB,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { LocalesValues } from '@intlayer/config/client';
|
|
2
|
+
import type { Dictionary, DictionaryKeys, LanguageContent } from '@intlayer/core';
|
|
3
|
+
/**
|
|
4
|
+
* On the server side, Hook that transform a dictionary and return the content
|
|
5
|
+
*
|
|
6
|
+
* If the locale is not provided, it will use the locale from the client context
|
|
7
|
+
*/
|
|
8
|
+
export declare const useDictionaryDynamic: <T extends Dictionary, K extends DictionaryKeys>(dictionaryPromise: LanguageContent<() => Promise<T>>, key: K, locale?: LocalesValues) => any;
|
|
9
|
+
//# sourceMappingURL=useDictionaryDynamic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDictionaryDynamic.d.ts","sourceRoot":"","sources":["../../../src/client/useDictionaryDynamic.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,eAAe,EAChB,MAAM,gBAAgB,CAAC;AAMxB;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAC/B,CAAC,SAAS,UAAU,EACpB,CAAC,SAAS,cAAc,EAExB,mBAAmB,eAAe,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,EACpD,KAAK,CAAC,EACN,SAAS,aAAa,QAWvB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLoadDynamic.d.ts","sourceRoot":"","sources":["../../../src/client/useLoadDynamic.ts"],"names":[],"mappings":"AA2BA,eAAO,MAAM,cAAc,GAAI,CAAC,EAAE,KAAK,MAAM,EAAE,SAAS,OAAO,CAAC,CAAC,CAAC,KAAG,CAMpE,CAAC"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ declare module '@intlayer/core' {
|
|
|
3
3
|
interface IInterpreterPlugin<T, S> extends IInterpreterPluginReact<T> {
|
|
4
4
|
}
|
|
5
5
|
}
|
|
6
|
-
export {
|
|
6
|
+
export { getBrowserLocale, IntlayerClientContext, IntlayerProvider, IntlayerProviderContent, localeCookie, setLocaleCookie, t, useDictionary, useDictionaryDynamic, useIntlayer, useIntlayerAsync, useIntlayerContext, useLoadDynamic, useLocale, useLocaleBase, useLocaleCookie, type IntlayerProviderProps, } from './client/index';
|
|
7
7
|
export { type IntlayerNode } from './IntlayerNode';
|
|
8
8
|
export { MarkdownProvider } from './markdown/index';
|
|
9
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AAEzD,OAAO,QAAQ,gBAAgB,CAAC;IAC9B,UAAU,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,uBAAuB,CAAC,CAAC,CAAC;KAAG;CACzE;AAED,OAAO,EACL,gBAAgB,EAChB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AAEzD,OAAO,QAAQ,gBAAgB,CAAC;IAC9B,UAAU,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,uBAAuB,CAAC,CAAC,CAAC;KAAG;CACzE;AAED,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,uBAAuB,EACvB,YAAY,EACZ,eAAe,EACf,CAAC,EACD,aAAa,EACb,oBAAoB,EACpB,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,SAAS,EACT,aAAa,EACb,eAAe,EACf,KAAK,qBAAqB,GAC3B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export { IntlayerServerContext as IntlayerServer, IntlayerServerProvider, locale, } from './IntlayerServerProvider';
|
|
2
2
|
export { t } from './t';
|
|
3
3
|
export { useDictionary } from './useDictionary';
|
|
4
|
+
export { useDictionaryDynamic } from './useDictionaryDynamic';
|
|
4
5
|
export { useIntlayer } from './useIntlayer';
|
|
6
|
+
export { useLoadDynamic } from './useLoadDynamic';
|
|
5
7
|
export { useLocale } from './useLocale';
|
|
6
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,IAAI,cAAc,EACvC,sBAAsB,EACtB,MAAM,GACP,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,IAAI,cAAc,EACvC,sBAAsB,EACtB,MAAM,GACP,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { LocalesValues } from '@intlayer/config/client';
|
|
2
|
+
import { LanguageContent, type Dictionary } from '@intlayer/core';
|
|
3
|
+
/**
|
|
4
|
+
* On the server side, Hook that transform a dictionary and return the content
|
|
5
|
+
*
|
|
6
|
+
* If the locale is not provided, it will use the locale from the server context
|
|
7
|
+
*/
|
|
8
|
+
export declare const useDictionaryDynamic: <T extends Dictionary>(dictionaryPromise: LanguageContent<() => Promise<T>>, key: string, locale?: LocalesValues) => import("@intlayer/core").DeepTransformContent<T["content"], import("../plugins").IInterpreterPluginState>;
|
|
9
|
+
//# sourceMappingURL=useDictionaryDynamic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDictionaryDynamic.d.ts","sourceRoot":"","sources":["../../../src/server/useDictionaryDynamic.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAMlE;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS,UAAU,EACvD,mBAAmB,eAAe,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,EACpD,KAAK,MAAM,EACX,SAAS,aAAa,8GAavB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLoadDynamic.d.ts","sourceRoot":"","sources":["../../../src/server/useLoadDynamic.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc,GAAI,CAAC,EAAE,MAAM,MAAM,EAAE,SAAS,OAAO,CAAC,CAAC,CAAC,KAAG,CAMrE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-intlayer",
|
|
3
|
-
"version": "5.5.
|
|
3
|
+
"version": "5.5.4",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Easily internationalize i18n your React applications with type-safe multilingual content management.",
|
|
6
6
|
"keywords": [
|
|
@@ -69,11 +69,11 @@
|
|
|
69
69
|
],
|
|
70
70
|
"dependencies": {
|
|
71
71
|
"js-cookie": "^3.0.5",
|
|
72
|
-
"@intlayer/
|
|
73
|
-
"@intlayer/
|
|
74
|
-
"@intlayer/
|
|
75
|
-
"@intlayer/api": "5.5.
|
|
76
|
-
"@intlayer/editor-react": "5.5.
|
|
72
|
+
"@intlayer/dictionaries-entry": "5.5.4",
|
|
73
|
+
"@intlayer/config": "5.5.4",
|
|
74
|
+
"@intlayer/core": "5.5.4",
|
|
75
|
+
"@intlayer/api": "5.5.4",
|
|
76
|
+
"@intlayer/editor-react": "5.5.4"
|
|
77
77
|
},
|
|
78
78
|
"devDependencies": {
|
|
79
79
|
"@craco/types": "^7.1.0",
|
|
@@ -90,20 +90,20 @@
|
|
|
90
90
|
"tsup": "^8.4.0",
|
|
91
91
|
"typescript": "^5.8.2",
|
|
92
92
|
"@utils/eslint-config": "1.0.4",
|
|
93
|
-
"@utils/ts-config-types": "1.0.4",
|
|
94
93
|
"@utils/ts-config": "1.0.4",
|
|
94
|
+
"@utils/ts-config-types": "1.0.4",
|
|
95
95
|
"@utils/tsup-config": "1.0.4",
|
|
96
|
-
"@intlayer/backend": "5.5.
|
|
96
|
+
"@intlayer/backend": "5.5.4"
|
|
97
97
|
},
|
|
98
98
|
"peerDependencies": {
|
|
99
99
|
"react": ">=16.0.0",
|
|
100
100
|
"react-dom": ">=16.0.0",
|
|
101
|
-
"@intlayer/
|
|
102
|
-
"@intlayer/
|
|
103
|
-
"@intlayer/
|
|
104
|
-
"
|
|
105
|
-
"intlayer": "5.5.
|
|
106
|
-
"@intlayer/
|
|
101
|
+
"@intlayer/core": "5.5.4",
|
|
102
|
+
"@intlayer/dictionaries-entry": "5.5.4",
|
|
103
|
+
"@intlayer/api": "5.5.4",
|
|
104
|
+
"intlayer": "5.5.4",
|
|
105
|
+
"@intlayer/editor-react": "5.5.4",
|
|
106
|
+
"@intlayer/config": "5.5.4"
|
|
107
107
|
},
|
|
108
108
|
"engines": {
|
|
109
109
|
"node": ">=14.18"
|