intor 2.5.1 → 2.7.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.
Files changed (54) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +1 -1
  3. package/dist/core/export/index.js +1 -0
  4. package/dist/core/src/core/translator/create-translator.js +3 -2
  5. package/dist/core/src/server/helpers/get-translator.js +2 -1
  6. package/dist/core/src/server/messages/load-local-messages/read-locale-messages/collect-file-entries/collect-file-entries.js +1 -1
  7. package/dist/next/export/next/server/index.js +1 -0
  8. package/dist/next/src/adapters/next/create-intor-handler.js +17 -8
  9. package/dist/next/src/{core/constants/headers.js → adapters/next/header-keys.js} +3 -2
  10. package/dist/next/src/adapters/next/server/get-locale.js +3 -3
  11. package/dist/next/src/adapters/next/server/read-intor-url-state.js +13 -0
  12. package/dist/react/src/client/react/provider/intor-provider.js +5 -3
  13. package/dist/react/src/client/react/translator/use-translator.js +2 -1
  14. package/dist/svelte/src/client/svelte/provider/create-intor-store.js +3 -2
  15. package/dist/svelte/src/client/svelte/translator/use-translator.js +12 -2
  16. package/dist/types/export/index.d.ts +1 -1
  17. package/dist/types/export/index.d.ts.map +1 -1
  18. package/dist/types/export/next/server/index.d.ts +1 -1
  19. package/dist/types/export/next/server/index.d.ts.map +1 -1
  20. package/dist/types/src/adapters/fastify/intor-fastify-plugin.d.ts.map +1 -1
  21. package/dist/types/src/adapters/next/create-intor-handler.d.ts.map +1 -1
  22. package/dist/types/src/{core/constants/headers.d.ts → adapters/next/header-keys.d.ts} +3 -2
  23. package/dist/types/src/adapters/next/header-keys.d.ts.map +1 -0
  24. package/dist/types/src/adapters/next/server/get-locale.d.ts.map +1 -1
  25. package/dist/types/src/adapters/next/server/index.d.ts +1 -0
  26. package/dist/types/src/adapters/next/server/index.d.ts.map +1 -1
  27. package/dist/types/src/adapters/next/server/read-intor-url-state.d.ts +13 -0
  28. package/dist/types/src/adapters/next/server/read-intor-url-state.d.ts.map +1 -0
  29. package/dist/types/src/client/react/provider/intor-provider.d.ts.map +1 -1
  30. package/dist/types/src/client/react/translator/use-translator.d.ts.map +1 -1
  31. package/dist/types/src/client/svelte/provider/create-intor-store.d.ts.map +1 -1
  32. package/dist/types/src/client/svelte/translator/types.d.ts +2 -0
  33. package/dist/types/src/client/svelte/translator/types.d.ts.map +1 -1
  34. package/dist/types/src/client/svelte/translator/use-translator.d.ts.map +1 -1
  35. package/dist/types/src/client/vue/provider/intor-provider.d.ts.map +1 -1
  36. package/dist/types/src/client/vue/translator/use-translator.d.ts.map +1 -1
  37. package/dist/types/src/config/types/translator.d.ts +3 -0
  38. package/dist/types/src/config/types/translator.d.ts.map +1 -1
  39. package/dist/types/src/core/constants/index.d.ts +0 -1
  40. package/dist/types/src/core/constants/index.d.ts.map +1 -1
  41. package/dist/types/src/core/constants/locale-placeholder.d.ts +5 -0
  42. package/dist/types/src/core/constants/locale-placeholder.d.ts.map +1 -1
  43. package/dist/types/src/core/index.d.ts +1 -1
  44. package/dist/types/src/core/index.d.ts.map +1 -1
  45. package/dist/types/src/core/translator/create-translator.d.ts.map +1 -1
  46. package/dist/types/src/core/types/translator.d.ts +3 -1
  47. package/dist/types/src/core/types/translator.d.ts.map +1 -1
  48. package/dist/types/src/edge/translator/init-translator.d.ts.map +1 -1
  49. package/dist/types/src/server/helpers/get-translator.d.ts.map +1 -1
  50. package/dist/types/src/server/translator/init-translator.d.ts.map +1 -1
  51. package/dist/vue/src/client/vue/provider/intor-provider.js +3 -2
  52. package/dist/vue/src/client/vue/translator/use-translator.js +11 -1
  53. package/package.json +53 -65
  54. package/dist/types/src/core/constants/headers.d.ts.map +0 -1
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2025 Ivan Liao
3
+ Copyright (c) 2025 Yiming Liao
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -16,7 +16,7 @@ The i18n library for modern JavaScript
16
16
 
17
17
  <div align="center">
18
18
 
19
- #### [![Documentation ↗](https://img.shields.io/badge/%20Documentation%20%F0%9F%93%9A%20-3e668c?style=for-the-badge)](https://intor-doc.pages.dev/en-US/frameworks)
19
+ #### [![Documentation ↗](https://img.shields.io/badge/%20Documentation%20%F0%9F%93%9A%20-3e668c?style=for-the-badge)](https://intor.dev)
20
20
 
21
21
  </div>
22
22
 
@@ -1,3 +1,4 @@
1
+ export { LOCALE_PLACEHOLDER } from '../src/core/constants/locale-placeholder.js';
1
2
  export { INTOR_ERROR_CODE, IntorError } from '../src/core/error/intor-error.js';
2
3
  export { matchLocale } from '../src/core/locale/match-locale.js';
3
4
  import 'logry';
@@ -7,7 +7,7 @@ function createTranslator(params) {
7
7
  config,
8
8
  locale
9
9
  });
10
- const { loadingMessage, missingMessage } = config.translator ?? {};
10
+ const { loadingMessage, missingMessage, formatDefaults } = config.translator ?? {};
11
11
  const translator = new Translator({
12
12
  locale,
13
13
  messages: finalMessages,
@@ -15,7 +15,8 @@ function createTranslator(params) {
15
15
  ...loadingMessage !== void 0 ? { loadingMessage } : {},
16
16
  ...missingMessage !== void 0 ? { missingMessage } : {},
17
17
  ...handlers !== void 0 ? { handlers } : {},
18
- ...hooks !== void 0 ? { hooks } : {}
18
+ ...hooks !== void 0 ? { hooks } : {},
19
+ ...formatDefaults !== void 0 ? { formatDefaults } : {}
19
20
  });
20
21
  return translator;
21
22
  }
@@ -29,7 +29,8 @@ async function getTranslator(config, params) {
29
29
  locale: translator.locale,
30
30
  hasKey: scoped.hasKey,
31
31
  t: scoped.t,
32
- tRich: createTRich(scoped.t)
32
+ tRich: createTRich(scoped.t),
33
+ format: scoped.format
33
34
  };
34
35
  }
35
36
 
@@ -17,7 +17,7 @@ async function collectFileEntries({
17
17
  const supportedExts = /* @__PURE__ */ new Set(["json", ...exts]);
18
18
  const fileEntries = [];
19
19
  const walk = async (currentDir) => {
20
- let entries = [];
20
+ let entries;
21
21
  try {
22
22
  entries = await readdir(currentDir, { withFileTypes: true });
23
23
  } catch {
@@ -1,3 +1,4 @@
1
1
  export { intor } from '../../../src/adapters/next/server/intor.js';
2
2
  export { getLocale } from '../../../src/adapters/next/server/get-locale.js';
3
3
  export { getTranslator } from '../../../src/adapters/next/server/get-translator.js';
4
+ export { readIntorUrlState } from '../../../src/adapters/next/server/read-intor-url-state.js';
@@ -1,21 +1,26 @@
1
1
  import { NextResponse } from 'next/server';
2
- import { INTOR_HEADERS } from '../../core/constants/headers.js';
3
2
  import { normalizeQuery } from '../../core/utils/normalizers/normalize-query.js';
4
3
  import 'logry';
5
4
  import 'p-limit';
6
5
  import 'intor-translator';
7
6
  import { resolveInbound } from '../../routing/inbound/resolve-inbound.js';
8
7
  import { getLocaleFromAcceptLanguage } from '../../routing/locale/get-locale-from-accept-language.js';
8
+ import { INTOR_HEADER_KEYS } from './header-keys.js';
9
9
 
10
10
  function createIntorHandler(config) {
11
11
  return function intorHandler(request) {
12
- const { host, searchParams, pathname: rawPathname } = request.nextUrl;
12
+ const {
13
+ host,
14
+ searchParams,
15
+ pathname: rawPathname,
16
+ search
17
+ } = request.nextUrl;
13
18
  const acceptLanguageHeader = request.headers.get("accept-language");
14
19
  const localeFromAcceptLanguage = getLocaleFromAcceptLanguage(
15
20
  acceptLanguageHeader,
16
21
  config.supportedLocales
17
22
  );
18
- const hasRedirected = request.headers.get(INTOR_HEADERS.REDIRECTED) === "1";
23
+ const hasRedirected = request.headers.get(INTOR_HEADER_KEYS.REDIRECTED) === "1";
19
24
  const cookie = request.cookies.get(config.cookie.name)?.value;
20
25
  const { locale, localeSource, pathname, shouldRedirect } = resolveInbound(
21
26
  config,
@@ -29,12 +34,16 @@ function createIntorHandler(config) {
29
34
  { hasRedirected }
30
35
  );
31
36
  const url = request.nextUrl.clone();
32
- url.pathname = pathname;
37
+ if (shouldRedirect) {
38
+ url.pathname = pathname;
39
+ url.search = search;
40
+ }
33
41
  const response = shouldRedirect ? NextResponse.redirect(url) : NextResponse.next();
34
- response.headers.set(INTOR_HEADERS.LOCALE, locale);
35
- response.headers.set(INTOR_HEADERS.LOCALE_SOURCE, localeSource);
36
- response.headers.set(INTOR_HEADERS.PATHNAME, pathname);
37
- if (shouldRedirect) response.headers.set(INTOR_HEADERS.REDIRECTED, "1");
42
+ response.headers.set(INTOR_HEADER_KEYS.LOCALE, locale);
43
+ response.headers.set(INTOR_HEADER_KEYS.LOCALE_SOURCE, localeSource);
44
+ response.headers.set(INTOR_HEADER_KEYS.PATHNAME, pathname);
45
+ response.headers.set(INTOR_HEADER_KEYS.SEARCH, search);
46
+ if (shouldRedirect) response.headers.set(INTOR_HEADER_KEYS.REDIRECTED, "1");
38
47
  return response;
39
48
  };
40
49
  }
@@ -1,8 +1,9 @@
1
- const INTOR_HEADERS = {
1
+ const INTOR_HEADER_KEYS = {
2
2
  LOCALE: "x-intor-locale",
3
3
  LOCALE_SOURCE: "x-intor-locale-source",
4
4
  PATHNAME: "x-intor-pathname",
5
+ SEARCH: "x-intor-search",
5
6
  REDIRECTED: "x-intor-redirected"
6
7
  };
7
8
 
8
- export { INTOR_HEADERS };
9
+ export { INTOR_HEADER_KEYS };
@@ -1,13 +1,13 @@
1
1
  import { headers, cookies } from 'next/headers';
2
- import { INTOR_HEADERS } from '../../../core/constants/headers.js';
3
2
  import { matchLocale } from '../../../core/locale/match-locale.js';
4
3
  import 'logry';
5
4
  import 'p-limit';
6
5
  import 'intor-translator';
6
+ import { INTOR_HEADER_KEYS } from '../header-keys.js';
7
7
 
8
8
  const getLocale = async (config) => {
9
- const headersStore = await headers();
10
- const headerLocale = headersStore.get(INTOR_HEADERS.LOCALE);
9
+ const headersList = await headers();
10
+ const headerLocale = headersList.get(INTOR_HEADER_KEYS.LOCALE);
11
11
  if (headerLocale) {
12
12
  return headerLocale;
13
13
  }
@@ -0,0 +1,13 @@
1
+ import { headers } from 'next/headers';
2
+ import { INTOR_HEADER_KEYS } from '../header-keys.js';
3
+
4
+ async function readIntorUrlState() {
5
+ const headersList = await headers();
6
+ return {
7
+ locale: headersList.get(INTOR_HEADER_KEYS.LOCALE) ?? null,
8
+ pathname: headersList.get(INTOR_HEADER_KEYS.PATHNAME) ?? "/",
9
+ search: headersList.get(INTOR_HEADER_KEYS.SEARCH) ?? ""
10
+ };
11
+ }
12
+
13
+ export { readIntorUrlState };
@@ -40,7 +40,7 @@ function IntorProvider({
40
40
  messages,
41
41
  config.messages
42
42
  );
43
- const { loadingMessage, missingMessage } = config.translator ?? {};
43
+ const { loadingMessage, missingMessage, formatDefaults } = config.translator ?? {};
44
44
  const translator = React.useMemo(() => {
45
45
  return new Translator({
46
46
  messages: effectiveMessages,
@@ -50,7 +50,8 @@ function IntorProvider({
50
50
  ...loadingMessage !== void 0 ? { loadingMessage } : {},
51
51
  ...missingMessage !== void 0 ? { missingMessage } : {},
52
52
  ...handlers !== void 0 ? { handlers } : {},
53
- ...hooks !== void 0 ? { hooks } : {}
53
+ ...hooks !== void 0 ? { hooks } : {},
54
+ ...formatDefaults !== void 0 ? { formatDefaults } : {}
54
55
  });
55
56
  }, [
56
57
  effectiveMessages,
@@ -60,7 +61,8 @@ function IntorProvider({
60
61
  loadingMessage,
61
62
  missingMessage,
62
63
  handlers,
63
- hooks
64
+ hooks,
65
+ formatDefaults
64
66
  ]);
65
67
  useLocaleEffects(config, locale);
66
68
  useMessagesEffects(config, locale, setRuntimeMessages, setInternalIsLoading);
@@ -12,7 +12,8 @@ function useTranslator(preKey) {
12
12
  setLocale,
13
13
  hasKey: scoped.hasKey,
14
14
  t: scoped.t,
15
- tRich: createTRich(scoped.t)
15
+ tRich: createTRich(scoped.t),
16
+ format: scoped.format
16
17
  };
17
18
  }
18
19
 
@@ -33,7 +33,7 @@ function buildIntorStores({
33
33
  runtimeMessages,
34
34
  ($runtime) => resolveEffectiveMessages($runtime, messages, config.messages)
35
35
  );
36
- const { loadingMessage, missingMessage } = config.translator ?? {};
36
+ const { loadingMessage, missingMessage, formatDefaults } = config.translator ?? {};
37
37
  const translator = derived(
38
38
  [effectiveMessages, locale, effectiveIsLoading],
39
39
  ([$messages, $locale, $isLoading]) => new Translator({
@@ -44,7 +44,8 @@ function buildIntorStores({
44
44
  ...loadingMessage !== void 0 ? { loadingMessage } : {},
45
45
  ...missingMessage !== void 0 ? { missingMessage } : {},
46
46
  ...handlers !== void 0 ? { handlers } : {},
47
- ...hooks !== void 0 ? { hooks } : {}
47
+ ...hooks !== void 0 ? { hooks } : {},
48
+ ...formatDefaults !== void 0 ? { formatDefaults } : {}
48
49
  })
49
50
  );
50
51
  return {
@@ -1,4 +1,4 @@
1
- import { derived } from 'svelte/store';
1
+ import { derived, get } from 'svelte/store';
2
2
  import 'logry';
3
3
  import 'p-limit';
4
4
  import 'intor-translator';
@@ -10,6 +10,15 @@ import { getIntorContext } from '../provider/get-intor-context.js';
10
10
  function useTranslator(preKey) {
11
11
  const { translator, locale, setLocale } = getIntorContext();
12
12
  const scoped = derived(translator, ($t) => $t.scoped(preKey));
13
+ const format = {
14
+ number: (v, o) => get(scoped).format.number(v, o),
15
+ currency: (v, currency, o) => get(scoped).format.currency(v, currency, o),
16
+ date: (v, o) => get(scoped).format.date(v, o),
17
+ relativeTime: (v, unit, o) => get(scoped).format.relativeTime(v, unit, o),
18
+ list: (vs, o) => get(scoped).format.list(vs, o),
19
+ displayName: (v, o) => get(scoped).format.displayName(v, o),
20
+ plural: (vs, o) => get(scoped).format.plural(vs, o)
21
+ };
13
22
  return {
14
23
  messages: derived(translator, ($t) => $t.messages),
15
24
  locale,
@@ -17,7 +26,8 @@ function useTranslator(preKey) {
17
26
  setLocale,
18
27
  hasKey: derived(scoped, ($t) => $t.hasKey),
19
28
  t: derived(scoped, ($t) => $t.t),
20
- tRich: derived(scoped, ($t) => createTRich($t.t))
29
+ tRich: derived(scoped, ($t) => createTRich($t.t)),
30
+ format
21
31
  };
22
32
  }
23
33
 
@@ -1,5 +1,5 @@
1
1
  export * from "./shared-types";
2
- export { type IntorErrorOptions, IntorError, INTOR_ERROR_CODE, type IntorErrorCode, matchLocale, mergeMessages, type MergeMessagesOptions, type MergeMessagesEvent, } from "../src/core";
2
+ export { type IntorErrorOptions, IntorError, INTOR_ERROR_CODE, type IntorErrorCode, matchLocale, mergeMessages, type MergeMessagesOptions, type MergeMessagesEvent, LOCALE_PLACEHOLDER, } from "../src/core";
3
3
  export { defineIntorConfig } from "../src/config";
4
4
  export { localizePathname, type LocalizedPathname, type InboundResult, type InboundContext, resolveInboundFromRequest, } from "../src/routing";
5
5
  export { getClientLocale } from "../src/client";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../export/index.ts"],"names":[],"mappings":"AAEA,cAAc,gBAAgB,CAAC;AAK/B,OAAO,EAEL,KAAK,iBAAiB,EACtB,UAAU,EACV,gBAAgB,EAChB,KAAK,cAAc,EAGnB,WAAW,EAGX,aAAa,EACb,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,GACxB,MAAM,aAAa,CAAC;AAKrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAKlD,OAAO,EAEL,gBAAgB,EAChB,KAAK,iBAAiB,EAGtB,KAAK,aAAa,EAClB,KAAK,cAAc,EAGnB,yBAAyB,GAC1B,MAAM,gBAAgB,CAAC;AAKxB,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAKhD,YAAY,EACV,UAAU,EAGV,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,cAAc,EACd,cAAc,EAGd,cAAc,EACd,aAAa,EACb,YAAY,GACb,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../export/index.ts"],"names":[],"mappings":"AAEA,cAAc,gBAAgB,CAAC;AAK/B,OAAO,EAEL,KAAK,iBAAiB,EACtB,UAAU,EACV,gBAAgB,EAChB,KAAK,cAAc,EAGnB,WAAW,EAGX,aAAa,EACb,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EAGvB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAKrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAKlD,OAAO,EAEL,gBAAgB,EAChB,KAAK,iBAAiB,EAGtB,KAAK,aAAa,EAClB,KAAK,cAAc,EAGnB,yBAAyB,GAC1B,MAAM,gBAAgB,CAAC;AAKxB,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAKhD,YAAY,EACV,UAAU,EAGV,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,cAAc,EACd,cAAc,EAGd,cAAc,EACd,aAAa,EACb,YAAY,GACb,MAAM,kBAAkB,CAAC"}
@@ -1,4 +1,4 @@
1
1
  export * from "../../shared-types";
2
- export { intor, getLocale, getTranslator, } from "../../../src/adapters/next/server";
2
+ export { intor, getLocale, getTranslator, readIntorUrlState, } from "../../../src/adapters/next/server";
3
3
  export type { IntorValue, IntorOptions, GetTranslatorParams, } from "../../../src/server";
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../export/next/server/index.ts"],"names":[],"mappings":"AAEA,cAAc,oBAAoB,CAAC;AAEnC,OAAO,EACL,KAAK,EACL,SAAS,EACT,aAAa,GACd,MAAM,mCAAmC,CAAC;AAE3C,YAAY,EACV,UAAU,EACV,YAAY,EACZ,mBAAmB,GACpB,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../export/next/server/index.ts"],"names":[],"mappings":"AAEA,cAAc,oBAAoB,CAAC;AAEnC,OAAO,EACL,KAAK,EACL,SAAS,EACT,aAAa,EACb,iBAAiB,GAClB,MAAM,mCAAmC,CAAC;AAE3C,YAAY,EACV,UAAU,EACV,YAAY,EACZ,mBAAmB,GACpB,MAAM,qBAAqB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"intor-fastify-plugin.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/fastify/intor-fastify-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAmB,qBAAqB,EAAE,MAAM,SAAS,CAAC;AACtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAIxD;;;;;;;GAOG;AACH,MAAM,WAAW,yBACf,SAAQ,IAAI,CAAC,mBAAmB,EAAE,QAAQ,GAAG,OAAO,GAAG,iBAAiB,CAAC;IACzE,MAAM,EAAE,WAAW,CAAC;IAEpB;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAoDD;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,kDAE7B,CAAC"}
1
+ {"version":3,"file":"intor-fastify-plugin.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/fastify/intor-fastify-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAmB,qBAAqB,EAAE,MAAM,SAAS,CAAC;AACtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAIxD;;;;;;;GAOG;AACH,MAAM,WAAW,yBAA0B,SAAQ,IAAI,CACrD,mBAAmB,EACnB,QAAQ,GAAG,OAAO,GAAG,iBAAiB,CACvC;IACC,MAAM,EAAE,WAAW,CAAC;IAEpB;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAoDD;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,kDAE7B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-intor-handler.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/next/create-intor-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAI3C;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,IACvB,SAAS,WAAW,2BAmDlD"}
1
+ {"version":3,"file":"create-intor-handler.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/next/create-intor-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAK3C;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,IACvB,SAAS,WAAW,2BA6DlD"}
@@ -1,7 +1,8 @@
1
- export declare const INTOR_HEADERS: {
1
+ export declare const INTOR_HEADER_KEYS: {
2
2
  readonly LOCALE: "x-intor-locale";
3
3
  readonly LOCALE_SOURCE: "x-intor-locale-source";
4
4
  readonly PATHNAME: "x-intor-pathname";
5
+ readonly SEARCH: "x-intor-search";
5
6
  readonly REDIRECTED: "x-intor-redirected";
6
7
  };
7
- //# sourceMappingURL=headers.d.ts.map
8
+ //# sourceMappingURL=header-keys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"header-keys.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/next/header-keys.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;CAMpB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-locale.d.ts","sourceRoot":"","sources":["../../../../../../src/adapters/next/server/get-locale.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAI9D;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,GAAU,EAAE,SAAS,aAAa,GAAG,aAAa,EACtE,QAAQ,WAAW,KAClB,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAmBvB,CAAC"}
1
+ {"version":3,"file":"get-locale.d.ts","sourceRoot":"","sources":["../../../../../../src/adapters/next/server/get-locale.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAK9D;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,GAAU,EAAE,SAAS,aAAa,GAAG,aAAa,EACtE,QAAQ,WAAW,KAClB,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAmBvB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export { intor } from "./intor";
2
2
  export { getLocale } from "./get-locale";
3
3
  export { getTranslator } from "./get-translator";
4
+ export { readIntorUrlState } from "./read-intor-url-state";
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/adapters/next/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/adapters/next/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Read the current request's Intor URL state.
3
+ *
4
+ * - Resolves locale, pathname, and search from the execution context.
5
+ *
6
+ * @public
7
+ */
8
+ export declare function readIntorUrlState(): Promise<{
9
+ locale: string | null;
10
+ pathname: string;
11
+ search: string;
12
+ }>;
13
+ //# sourceMappingURL=read-intor-url-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read-intor-url-state.d.ts","sourceRoot":"","sources":["../../../../../../src/adapters/next/server/read-intor-url-state.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,wBAAsB,iBAAiB;;;;GAQtC"}
@@ -1 +1 @@
1
- {"version":3,"file":"intor-provider.d.ts","sourceRoot":"","sources":["../../../../../../src/client/react/provider/intor-provider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAErE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,eAAO,MAAM,YAAY,8CAExB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EAAE,EACL,MAAM,EACN,MAAM,EAAE,aAAa,EACrB,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,cAAc,EACd,SAAS,EAAE,iBAAiB,GAC7B,EACD,QAAQ,GACT,EAAE,kBAAkB,2CAiFpB"}
1
+ {"version":3,"file":"intor-provider.d.ts","sourceRoot":"","sources":["../../../../../../src/client/react/provider/intor-provider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAErE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,eAAO,MAAM,YAAY,8CAExB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EAAE,EACL,MAAM,EACN,MAAM,EAAE,aAAa,EACrB,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,cAAc,EACd,SAAS,EAAE,iBAAiB,GAC7B,EACD,QAAQ,GACT,EAAE,kBAAkB,2CAoFpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-translator.d.ts","sourceRoot":"","sources":["../../../../../../src/client/react/translator/use-translator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EACX,eAAe,EACf,OAAO,EACR,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAIxD;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,EAAE,SAAS,aAAa,GAAG,aAAa,EACxC,gBAAgB,GAAG,eAAe,CAAC,EAAE,CAAC,EACtC,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC,EACvB,EAAE,SAAS,eAAe,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,GAAG,SAAS,EAEnE,MAAM,CAAC,EAAE,EAAE,GACV,eAAe,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,gBAAgB,EAAE,SAAS,EAAE,EAAE,CAAC,CAanE"}
1
+ {"version":3,"file":"use-translator.d.ts","sourceRoot":"","sources":["../../../../../../src/client/react/translator/use-translator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EACX,eAAe,EACf,OAAO,EACR,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAIxD;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,EAAE,SAAS,aAAa,GAAG,aAAa,EACxC,gBAAgB,GAAG,eAAe,CAAC,EAAE,CAAC,EACtC,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC,EACvB,EAAE,SAAS,eAAe,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,GAAG,SAAS,EAEnE,MAAM,CAAC,EAAE,EAAE,GACV,eAAe,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,gBAAgB,EAAE,SAAS,EAAE,EAAE,CAAC,CAcnE"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-intor-store.d.ts","sourceRoot":"","sources":["../../../../../../src/client/svelte/provider/create-intor-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAUnE,eAAO,MAAM,iBAAiB,eAAyB,CAAC;AAExD,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,MAAM,EAAE,aAAa,EACrB,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,cAAc,EACd,SAAS,EAAE,iBAAiB,GAC7B,EAAE,UAAU;;;sBAYc,MAAM;;;;EAmDhC;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAYxD"}
1
+ {"version":3,"file":"create-intor-store.d.ts","sourceRoot":"","sources":["../../../../../../src/client/svelte/provider/create-intor-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAUnE,eAAO,MAAM,iBAAiB,eAAyB,CAAC;AAExD,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,MAAM,EAAE,aAAa,EACrB,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,cAAc,EACd,SAAS,EAAE,iBAAiB,GAC7B,EAAE,UAAU;;;sBAYc,MAAM;;;;EAqDhC;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAYxD"}
@@ -24,5 +24,7 @@ export type SvelteTranslator<M extends LocaleMessages, ReplacementShape = Replac
24
24
  t: Readable<BaseTranslator<M, ReplacementShape, RichShape, PK>["t"]>;
25
25
  /** Resolve a localized value and apply rich tag renderers. */
26
26
  tRich: Readable<BaseTranslator<M, ReplacementShape, RichShape, PK>["tRich"]>;
27
+ /** Formatting helpers. */
28
+ format: BaseTranslator<M, ReplacementShape, RichShape, PK>["format"];
27
29
  };
28
30
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/client/svelte/translator/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EACL,KAAK,MAAM,EACX,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,IAAI,EACV,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE5D;;;;;;;GAOG;AACH,MAAM,MAAM,gBAAgB,CAC1B,CAAC,SAAS,cAAc,EACxB,gBAAgB,GAAG,WAAW,EAC9B,SAAS,GAAG,IAAI,EAChB,EAAE,SAAS,MAAM,GAAG,SAAS,GAAG,SAAS,IACvC;IACF,6BAA6B;IAC7B,QAAQ,EAAE,QAAQ,CAChB,cAAc,CAAC,CAAC,EAAE,gBAAgB,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,CAC/D,CAAC;IAEF,qBAAqB;IACrB,MAAM,EAAE,QAAQ,CACd,cAAc,CAAC,CAAC,EAAE,gBAAgB,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAC7D,CAAC;IAEF,wCAAwC;IACxC,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAE7B,gCAAgC;IAChC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAEvC,mDAAmD;IACnD,MAAM,EAAE,QAAQ,CACd,cAAc,CAAC,CAAC,EAAE,gBAAgB,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAC7D,CAAC;IAEF,mDAAmD;IACnD,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC,EAAE,gBAAgB,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAErE,8DAA8D;IAC9D,KAAK,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC,EAAE,gBAAgB,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAC9E,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/client/svelte/translator/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EACL,KAAK,MAAM,EACX,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,IAAI,EACV,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE5D;;;;;;;GAOG;AACH,MAAM,MAAM,gBAAgB,CAC1B,CAAC,SAAS,cAAc,EACxB,gBAAgB,GAAG,WAAW,EAC9B,SAAS,GAAG,IAAI,EAChB,EAAE,SAAS,MAAM,GAAG,SAAS,GAAG,SAAS,IACvC;IACF,6BAA6B;IAC7B,QAAQ,EAAE,QAAQ,CAChB,cAAc,CAAC,CAAC,EAAE,gBAAgB,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,CAC/D,CAAC;IAEF,qBAAqB;IACrB,MAAM,EAAE,QAAQ,CACd,cAAc,CAAC,CAAC,EAAE,gBAAgB,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAC7D,CAAC;IAEF,wCAAwC;IACxC,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAE7B,gCAAgC;IAChC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAEvC,mDAAmD;IACnD,MAAM,EAAE,QAAQ,CACd,cAAc,CAAC,CAAC,EAAE,gBAAgB,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAC7D,CAAC;IAEF,mDAAmD;IACnD,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC,EAAE,gBAAgB,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAErE,8DAA8D;IAC9D,KAAK,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC,EAAE,gBAAgB,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAE7E,0BAA0B;IAC1B,MAAM,EAAE,cAAc,CAAC,CAAC,EAAE,gBAAgB,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;CACtE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-translator.d.ts","sourceRoot":"","sources":["../../../../../../src/client/svelte/translator/use-translator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EACX,eAAe,EACf,OAAO,EACR,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAKxD;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,EAAE,SAAS,aAAa,GAAG,aAAa,EACxC,gBAAgB,GAAG,eAAe,CAAC,EAAE,CAAC,EACtC,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC,EACvB,EAAE,SAAS,eAAe,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,GAAG,SAAS,EAEnE,MAAM,CAAC,EAAE,EAAE,GACV,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,gBAAgB,EAAE,SAAS,EAAE,EAAE,CAAC,CAapE"}
1
+ {"version":3,"file":"use-translator.d.ts","sourceRoot":"","sources":["../../../../../../src/client/svelte/translator/use-translator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EACX,eAAe,EACf,OAAO,EACR,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAiB,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAKvE;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,EAAE,SAAS,aAAa,GAAG,aAAa,EACxC,gBAAgB,GAAG,eAAe,CAAC,EAAE,CAAC,EACtC,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC,EACvB,EAAE,SAAS,eAAe,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,GAAG,SAAS,EAEnE,MAAM,CAAC,EAAE,EAAE,GACV,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,gBAAgB,EAAE,SAAS,EAAE,EAAE,CAAC,CAwBpE"}
@@ -1 +1 @@
1
- {"version":3,"file":"intor-provider.d.ts","sourceRoot":"","sources":["../../../../../../src/client/vue/provider/intor-provider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,iBAAiB,EAElB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,WAAW,EAMjB,MAAM,KAAK,CAAC;AAQb,eAAO,MAAM,eAAe,EAAE,YAAY,CAAC,WAAW,CAAC,iBAAiB,CAAC,CACjD,CAAC;AAEzB;;;;GAIG;AACH,eAAO,MAAM,aAAa,gTAwFxB,CAAC"}
1
+ {"version":3,"file":"intor-provider.d.ts","sourceRoot":"","sources":["../../../../../../src/client/vue/provider/intor-provider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,iBAAiB,EAElB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,WAAW,EAMjB,MAAM,KAAK,CAAC;AAQb,eAAO,MAAM,eAAe,EAAE,YAAY,CAAC,WAAW,CAAC,iBAAiB,CAAC,CACjD,CAAC;AAEzB;;;;GAIG;AACH,eAAO,MAAM,aAAa,gTAyFxB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-translator.d.ts","sourceRoot":"","sources":["../../../../../../src/client/vue/translator/use-translator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EACX,eAAe,EACf,OAAO,EACR,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAKxD;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,EAAE,SAAS,aAAa,GAAG,aAAa,EACxC,gBAAgB,GAAG,eAAe,CAAC,EAAE,CAAC,EACtC,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC,EACvB,EAAE,SAAS,eAAe,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,GAAG,SAAS,EAEnE,MAAM,CAAC,EAAE,EAAE,GACV,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,gBAAgB,EAAE,SAAS,EAAE,EAAE,CAAC,CAgBjE"}
1
+ {"version":3,"file":"use-translator.d.ts","sourceRoot":"","sources":["../../../../../../src/client/vue/translator/use-translator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EACX,eAAe,EACf,OAAO,EACR,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAiB,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAKvE;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,EAAE,SAAS,aAAa,GAAG,aAAa,EACxC,gBAAgB,GAAG,eAAe,CAAC,EAAE,CAAC,EACtC,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC,EACvB,EAAE,SAAS,eAAe,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,GAAG,SAAS,EAEnE,MAAM,CAAC,EAAE,EAAE,GACV,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,gBAAgB,EAAE,SAAS,EAAE,EAAE,CAAC,CA2BjE"}
@@ -1,3 +1,4 @@
1
+ import type { FormatDefaults } from "intor-translator";
1
2
  /**
2
3
  * Translator behavior configuration.
3
4
  *
@@ -8,5 +9,7 @@ export type TranslatorOptions = {
8
9
  loadingMessage?: string;
9
10
  /** Message displayed when a translation key is missing. */
10
11
  missingMessage?: string;
12
+ /** Optional default Intl format options. */
13
+ formatDefaults?: FormatDefaults;
11
14
  };
12
15
  //# sourceMappingURL=translator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"translator.d.ts","sourceRoot":"","sources":["../../../../../src/config/types/translator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,wDAAwD;IACxD,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,2DAA2D;IAC3D,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC"}
1
+ {"version":3,"file":"translator.d.ts","sourceRoot":"","sources":["../../../../../src/config/types/translator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,wDAAwD;IACxD,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,2DAA2D;IAC3D,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,4CAA4C;IAC5C,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC,CAAC"}
@@ -1,3 +1,2 @@
1
1
  export { LOCALE_PLACEHOLDER } from "./locale-placeholder";
2
- export { INTOR_HEADERS } from "./headers";
3
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/core/constants/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/core/constants/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1,2 +1,7 @@
1
+ /**
2
+ * Placeholder token used in internal routing templates to represent the locale segment.
3
+ *
4
+ * @public
5
+ */
1
6
  export declare const LOCALE_PLACEHOLDER = "{locale}";
2
7
  //# sourceMappingURL=locale-placeholder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"locale-placeholder.d.ts","sourceRoot":"","sources":["../../../../../src/core/constants/locale-placeholder.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,kBAAkB,aAAa,CAAC"}
1
+ {"version":3,"file":"locale-placeholder.d.ts","sourceRoot":"","sources":["../../../../../src/core/constants/locale-placeholder.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,aAAa,CAAC"}
@@ -1,4 +1,4 @@
1
- export { LOCALE_PLACEHOLDER, INTOR_HEADERS } from "./constants";
1
+ export { LOCALE_PLACEHOLDER } from "./constants";
2
2
  export { type IntorErrorOptions, IntorError, INTOR_ERROR_CODE, type IntorErrorCode, } from "./error";
3
3
  export { deepMerge, resolveLoaderOptions, parseCookieHeader, normalizePathname, normalizeCacheKey, normalizeQuery, type NormalizedQuery, } from "./utils";
4
4
  export { matchLocale } from "./locale";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAKhE,OAAO,EACL,KAAK,iBAAiB,EACtB,UAAU,EACV,gBAAgB,EAChB,KAAK,cAAc,GACpB,MAAM,SAAS,CAAC;AAKjB,OAAO,EACL,SAAS,EACT,oBAAoB,EACpB,iBAAiB,EAGjB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,KAAK,eAAe,GACrB,MAAM,SAAS,CAAC;AAKjB,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAKvC,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAKtD,OAAO,EAEL,kBAAkB,EAGlB,aAAa,EACb,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EAGvB,eAAe,EACf,kBAAkB,EAGlB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,cAAc,EAGnB,YAAY,EACZ,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAKpB,OAAO,EACL,kBAAkB,EAClB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,gBAAgB,GACtB,MAAM,UAAU,CAAC;AAKlB,OAAO,EACL,gBAAgB,EAChB,KAAK,sBAAsB,EAC3B,WAAW,GACZ,MAAM,cAAc,CAAC;AAKtB,YAAY,EAEV,mBAAmB,EACnB,aAAa,EACb,mBAAmB,EACnB,MAAM,EAGN,SAAS,EACT,WAAW,EACX,cAAc,EAGd,WAAW,EACX,SAAS,EACT,eAAe,EACf,OAAO,EAGP,cAAc,EAGd,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAGhB,YAAY,GACb,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAKjD,OAAO,EACL,KAAK,iBAAiB,EACtB,UAAU,EACV,gBAAgB,EAChB,KAAK,cAAc,GACpB,MAAM,SAAS,CAAC;AAKjB,OAAO,EACL,SAAS,EACT,oBAAoB,EACpB,iBAAiB,EAGjB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,KAAK,eAAe,GACrB,MAAM,SAAS,CAAC;AAKjB,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAKvC,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAKtD,OAAO,EAEL,kBAAkB,EAGlB,aAAa,EACb,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EAGvB,eAAe,EACf,kBAAkB,EAGlB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,cAAc,EAGnB,YAAY,EACZ,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAKpB,OAAO,EACL,kBAAkB,EAClB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,gBAAgB,GACtB,MAAM,UAAU,CAAC;AAKlB,OAAO,EACL,gBAAgB,EAChB,KAAK,sBAAsB,EAC3B,WAAW,GACZ,MAAM,cAAc,CAAC;AAKtB,YAAY,EAEV,mBAAmB,EACnB,aAAa,EACb,mBAAmB,EACnB,MAAM,EAGN,SAAS,EACT,WAAW,EACX,cAAc,EAGd,WAAW,EACX,SAAS,EACT,eAAe,EACf,OAAO,EAGP,cAAc,EAGd,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAGhB,YAAY,GACb,MAAM,SAAS,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-translator.d.ts","sourceRoot":"","sources":["../../../../../src/core/translator/create-translator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,KAAK,EACV,MAAM,EACN,cAAc,EACd,iBAAiB,EACjB,aAAa,EACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,cAAc,CAAC;IACzB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC;CACzB;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,sBAAsB,GAC7B,UAAU,CAAC,cAAc,CAAC,CAsB5B"}
1
+ {"version":3,"file":"create-translator.d.ts","sourceRoot":"","sources":["../../../../../src/core/translator/create-translator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,KAAK,EACV,MAAM,EACN,cAAc,EACd,iBAAiB,EACjB,aAAa,EACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,cAAc,CAAC;IACzB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC;CACzB;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,sBAAsB,GAC7B,UAAU,CAAC,cAAc,CAAC,CAwB5B"}
@@ -1,5 +1,5 @@
1
1
  import type { HtmlTagRenderers } from "../render";
2
- import { type Locale, type LocaleMessages, type LocalizedKey, type ScopedKey, type LocalizedValue, type ScopedValue, type Replacement, type LocalizedReplacement, type LocalizedRich, type Rich, type ScopedRich, type ScopedReplacement } from "intor-translator";
2
+ import { type Locale, type LocaleMessages, type LocalizedKey, type ScopedKey, type LocalizedValue, type ScopedValue, type Replacement, type LocalizedReplacement, type LocalizedRich, type Rich, type ScopedRich, type ScopedReplacement, type IntlFormatter } from "intor-translator";
3
3
  /**
4
4
  * Base translator interface.
5
5
  *
@@ -20,5 +20,7 @@ export type BaseTranslator<M extends LocaleMessages, ReplacementShape = Replacem
20
20
  ] extends [never] ? string : PK extends string ? ScopedValue<M, PK, K> : LocalizedValue<M, K>;
21
21
  /** Resolve a localized value and apply rich tag renderers. */
22
22
  tRich: <K extends string = PK extends string ? ScopedKey<M, PK> : LocalizedKey<M>, RI = PK extends string ? ScopedRich<RichShape, PK, K> : LocalizedRich<RichShape, K>, RE = PK extends string ? ScopedReplacement<ReplacementShape, PK, K> : LocalizedReplacement<ReplacementShape, K>>(key?: K | (string & {}), tagRenderers?: HtmlTagRenderers<RI> | HtmlTagRenderers, replacements?: RE | Replacement) => string;
23
+ /** Locale-aware formatting helpers. */
24
+ format: IntlFormatter;
23
25
  };
24
26
  //# sourceMappingURL=translator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"translator.d.ts","sourceRoot":"","sources":["../../../../../src/core/types/translator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EACL,KAAK,MAAM,EACX,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,IAAI,EACT,KAAK,UAAU,EACf,KAAK,iBAAiB,EACvB,MAAM,kBAAkB,CAAC;AAE1B;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,CACxB,CAAC,SAAS,cAAc,EACxB,gBAAgB,GAAG,WAAW,EAC9B,SAAS,GAAG,IAAI,EAChB,EAAE,SAAS,MAAM,GAAG,SAAS,GAAG,SAAS,IACvC;IACF,6BAA6B;IAC7B,QAAQ,EAAE,CAAC,CAAC;IAEZ,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAElB,mDAAmD;IACnD,MAAM,EAAE,CACN,CAAC,SAAS,MAAM,GAAG,EAAE,SAAS,MAAM,GAAG,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,EAEzE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,EACvB,YAAY,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,KACrB,OAAO,CAAC;IAEb,mDAAmD;IACnD,CAAC,EAAE,CACD,CAAC,SAAS,MAAM,GAAG,EAAE,SAAS,MAAM,GAAG,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,EACzE,CAAC,SAAS,WAAW,GAAG,oBAAoB,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAEjE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,EACvB,YAAY,CAAC,EAAE,CAAC,GAAG,WAAW,KAC3B;QACH,EAAE,SAAS,MAAM,GAAG,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC;KACjE,SAAS,CAAC,KAAK,CAAC,GACb,MAAM,GACN,EAAE,SAAS,MAAM,GACf,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GACrB,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAE3B,8DAA8D;IAC9D,KAAK,EAAE,CACL,CAAC,SAAS,MAAM,GAAG,EAAE,SAAS,MAAM,GAAG,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,EACzE,EAAE,GAAG,EAAE,SAAS,MAAM,GAClB,UAAU,CAAC,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,GAC5B,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,EAC/B,EAAE,GAAG,EAAE,SAAS,MAAM,GAClB,iBAAiB,CAAC,gBAAgB,EAAE,EAAE,EAAE,CAAC,CAAC,GAC1C,oBAAoB,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAE7C,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,EACvB,YAAY,CAAC,EAAE,gBAAgB,CAAC,EAAE,CAAC,GAAG,gBAAgB,EACtD,YAAY,CAAC,EAAE,EAAE,GAAG,WAAW,KAC5B,MAAM,CAAC;CACb,CAAC"}
1
+ {"version":3,"file":"translator.d.ts","sourceRoot":"","sources":["../../../../../src/core/types/translator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EACL,KAAK,MAAM,EACX,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,IAAI,EACT,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,aAAa,EACnB,MAAM,kBAAkB,CAAC;AAE1B;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,CACxB,CAAC,SAAS,cAAc,EACxB,gBAAgB,GAAG,WAAW,EAC9B,SAAS,GAAG,IAAI,EAChB,EAAE,SAAS,MAAM,GAAG,SAAS,GAAG,SAAS,IACvC;IACF,6BAA6B;IAC7B,QAAQ,EAAE,CAAC,CAAC;IAEZ,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAElB,mDAAmD;IACnD,MAAM,EAAE,CACN,CAAC,SAAS,MAAM,GAAG,EAAE,SAAS,MAAM,GAAG,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,EAEzE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,EACvB,YAAY,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,KACrB,OAAO,CAAC;IAEb,mDAAmD;IACnD,CAAC,EAAE,CACD,CAAC,SAAS,MAAM,GAAG,EAAE,SAAS,MAAM,GAAG,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,EACzE,CAAC,SAAS,WAAW,GAAG,oBAAoB,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAEjE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,EACvB,YAAY,CAAC,EAAE,CAAC,GAAG,WAAW,KAC3B;QACH,EAAE,SAAS,MAAM,GAAG,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC;KACjE,SAAS,CAAC,KAAK,CAAC,GACb,MAAM,GACN,EAAE,SAAS,MAAM,GACf,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GACrB,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAE3B,8DAA8D;IAC9D,KAAK,EAAE,CACL,CAAC,SAAS,MAAM,GAAG,EAAE,SAAS,MAAM,GAAG,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,EACzE,EAAE,GAAG,EAAE,SAAS,MAAM,GAClB,UAAU,CAAC,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,GAC5B,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,EAC/B,EAAE,GAAG,EAAE,SAAS,MAAM,GAClB,iBAAiB,CAAC,gBAAgB,EAAE,EAAE,EAAE,CAAC,CAAC,GAC1C,oBAAoB,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAE7C,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,EACvB,YAAY,CAAC,EAAE,gBAAgB,CAAC,EAAE,CAAC,GAAG,gBAAgB,EACtD,YAAY,CAAC,EAAE,EAAE,GAAG,WAAW,KAC5B,MAAM,CAAC;IAEZ,uCAAuC;IACvC,MAAM,EAAE,aAAa,CAAC;CACvB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"init-translator.d.ts","sourceRoot":"","sources":["../../../../../src/edge/translator/init-translator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAGL,KAAK,sBAAsB,EAC3B,KAAK,YAAY,EAClB,MAAM,YAAY,CAAC;AAEpB,UAAU,qBACR,SAAQ,IAAI,CAAC,sBAAsB,EAAE,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC;IACtE,KAAK,EAAE,YAAY,CAAC;CACrB;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CA6BrC"}
1
+ {"version":3,"file":"init-translator.d.ts","sourceRoot":"","sources":["../../../../../src/edge/translator/init-translator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAGL,KAAK,sBAAsB,EAC3B,KAAK,YAAY,EAClB,MAAM,YAAY,CAAC;AAEpB,UAAU,qBAAsB,SAAQ,IAAI,CAC1C,sBAAsB,EACtB,QAAQ,GAAG,QAAQ,GAAG,UAAU,CACjC;IACC,KAAK,EAAE,YAAY,CAAC;CACrB;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CA6BrC"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-translator.d.ts","sourceRoot":"","sources":["../../../../../src/server/helpers/get-translator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EACjB,aAAa,EACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,OAAO,EACZ,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,YAAY,CAAC;AAGpB;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC;CACzB;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CACjC,EAAE,SAAS,aAAa,GAAG,aAAa,EACxC,gBAAgB,GAAG,eAAe,CAAC,EAAE,CAAC,EACtC,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC,EACvB,EAAE,SAAS,eAAe,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,GAAG,SAAS,EAEnE,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,mBAAmB,GAAG;IAAE,MAAM,CAAC,EAAE,EAAE,CAAA;CAAE,GAC5C,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,gBAAgB,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,CA8B3E"}
1
+ {"version":3,"file":"get-translator.d.ts","sourceRoot":"","sources":["../../../../../src/server/helpers/get-translator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EACjB,aAAa,EACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,OAAO,EACZ,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,YAAY,CAAC;AAGpB;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC;CACzB;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CACjC,EAAE,SAAS,aAAa,GAAG,aAAa,EACxC,gBAAgB,GAAG,eAAe,CAAC,EAAE,CAAC,EACtC,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC,EACvB,EAAE,SAAS,eAAe,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,GAAG,SAAS,EAEnE,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,mBAAmB,GAAG;IAAE,MAAM,CAAC,EAAE,EAAE,CAAA;CAAE,GAC5C,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,gBAAgB,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,CA+B3E"}
@@ -1 +1 @@
1
- {"version":3,"file":"init-translator.d.ts","sourceRoot":"","sources":["../../../../../src/server/translator/init-translator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAGL,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACpB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAgB,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEpE,MAAM,WAAW,qBACf,SAAQ,IAAI,CAAC,kBAAkB,EAAE,QAAQ,GAAG,QAAQ,CAAC,EACnD,IAAI,CAAC,sBAAsB,EAAE,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC;IAChE,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAmCrC"}
1
+ {"version":3,"file":"init-translator.d.ts","sourceRoot":"","sources":["../../../../../src/server/translator/init-translator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAGL,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACpB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAgB,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEpE,MAAM,WAAW,qBACf,SACE,IAAI,CAAC,kBAAkB,EAAE,QAAQ,GAAG,QAAQ,CAAC,EAC7C,IAAI,CAAC,sBAAsB,EAAE,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC;IAChE,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAmCrC"}
@@ -30,7 +30,7 @@ const IntorProvider = defineComponent({
30
30
  props.value.config.messages
31
31
  )
32
32
  );
33
- const { loadingMessage, missingMessage } = props.value.config.translator ?? {};
33
+ const { loadingMessage, missingMessage, formatDefaults } = props.value.config.translator ?? {};
34
34
  const { handlers, hooks } = props.value;
35
35
  const translator = computed(() => {
36
36
  return new Translator({
@@ -41,7 +41,8 @@ const IntorProvider = defineComponent({
41
41
  ...loadingMessage !== void 0 ? { loadingMessage } : {},
42
42
  ...missingMessage !== void 0 ? { missingMessage } : {},
43
43
  ...handlers !== void 0 ? { handlers } : {},
44
- ...hooks !== void 0 ? { hooks } : {}
44
+ ...hooks !== void 0 ? { hooks } : {},
45
+ ...formatDefaults !== void 0 ? { formatDefaults } : {}
45
46
  });
46
47
  });
47
48
  useLocaleEffects(props.value.config, locale);
@@ -7,6 +7,15 @@ function useTranslator(preKey) {
7
7
  const intor = injectIntorContext();
8
8
  const translator = intor.value.translator;
9
9
  const scoped = computed(() => translator.value.scoped(preKey));
10
+ const format = {
11
+ number: (v, o) => scoped.value.format.number(v, o),
12
+ currency: (v, c, o) => scoped.value.format.currency(v, c, o),
13
+ date: (v, o) => scoped.value.format.date(v, o),
14
+ relativeTime: (v, u, o) => scoped.value.format.relativeTime(v, u, o),
15
+ list: (vs, o) => scoped.value.format.list(vs, o),
16
+ displayName: (v, o) => scoped.value.format.displayName(v, o),
17
+ plural: (vs, o) => scoped.value.format.plural(vs, o)
18
+ };
10
19
  return {
11
20
  messages: computed(() => translator.value.messages),
12
21
  locale: computed(() => translator.value.locale),
@@ -14,7 +23,8 @@ function useTranslator(preKey) {
14
23
  setLocale: intor.value.setLocale,
15
24
  hasKey: (...args) => scoped.value.hasKey(...args),
16
25
  t: (...args) => scoped.value.t(...args),
17
- tRich: (...args) => createTRich(scoped.value.t)(...args)
26
+ tRich: (...args) => createTRich(scoped.value.t)(...args),
27
+ format
18
28
  };
19
29
  }
20
30
 
package/package.json CHANGED
@@ -1,12 +1,17 @@
1
1
  {
2
2
  "name": "intor",
3
- "version": "2.5.1",
3
+ "version": "2.7.0",
4
4
  "description": "The i18n library for modern JavaScript",
5
- "author": "Yiming Liao",
5
+ "author": {
6
+ "name": "Yiming Liao",
7
+ "email": "yimingliao.official@gmail.com",
8
+ "url": "https://github.com/yiming-liao"
9
+ },
6
10
  "homepage": "https://intor.dev",
7
11
  "repository": {
8
12
  "type": "git",
9
- "url": "https://github.com/yiming-liao/intor"
13
+ "url": "https://github.com/yiming-liao/intor",
14
+ "directory": "packages/intor"
10
15
  },
11
16
  "bugs": {
12
17
  "url": "https://github.com/yiming-liao/intor/issues"
@@ -101,76 +106,59 @@
101
106
  ],
102
107
  "sideEffects": false,
103
108
  "engines": {
104
- "node": ">=20"
109
+ "node": ">=20.0.0"
110
+ },
111
+ "dependencies": {
112
+ "logry": "2.1.6",
113
+ "p-limit": "7.2.0",
114
+ "intor-translator": "1.6.0"
115
+ },
116
+ "peerDependencies": {
117
+ "react": "^19",
118
+ "vue": "^3",
119
+ "svelte": "^5",
120
+ "next": "^16",
121
+ "@sveltejs/kit": "^2",
122
+ "hono": "^4",
123
+ "fastify": "^5",
124
+ "fastify-plugin": "^5"
125
+ },
126
+ "peerDependenciesMeta": {
127
+ "react": {
128
+ "optional": true
129
+ },
130
+ "vue": {
131
+ "optional": true
132
+ },
133
+ "svelte": {
134
+ "optional": true
135
+ },
136
+ "next": {
137
+ "optional": true
138
+ },
139
+ "@sveltejs/kit": {
140
+ "optional": true
141
+ },
142
+ "hono": {
143
+ "optional": true
144
+ },
145
+ "fastify": {
146
+ "optional": true
147
+ },
148
+ "fastify-plugin": {
149
+ "optional": true
150
+ }
105
151
  },
106
152
  "scripts": {
107
153
  "type": "tsc -p tsconfig.json --noEmit",
108
- "lint": "eslint",
109
154
  "test": "vitest",
110
155
  "test:types": "tsx scripts/test-types.ts",
111
156
  "test:check": "tsx scripts/check-test-structure.ts",
112
- "knip": "knip --config .config/knip.config.ts",
113
157
  "clean": "rm -rf dist",
114
158
  "build": "tsx scripts/build.ts",
115
159
  "build:types": "tsc -p tsconfig.build.json && tsc-alias tsconfig.build.json --outDir dist/types",
116
- "build:release": "yarn clean && yarn build && yarn build:types && yarn api:build",
160
+ "build:release": "pnpm clean && pnpm build && pnpm build:types && pnpm api:build",
117
161
  "api:build": "tsx scripts/api-extractor/build.ts",
118
- "api:check": "tsx scripts/api-extractor/check.ts",
119
- "prepublishOnly": "yarn build:release"
120
- },
121
- "dependencies": {
122
- "intor-translator": "^1.5.0",
123
- "logry": "2.1.6",
124
- "p-limit": "7.2.0"
125
- },
126
- "devDependencies": {
127
- "@microsoft/api-extractor": "^7.57.6",
128
- "@rollup/plugin-alias": "6.0.0",
129
- "@rollup/pluginutils": "5.3.0",
130
- "@sveltejs/kit": "2.50.1",
131
- "@testing-library/dom": "10.4.1",
132
- "@testing-library/jest-dom": "6.9.1",
133
- "@testing-library/react": "16.3.1",
134
- "@types/express": "5.0.6",
135
- "@types/node": "24.10.1",
136
- "@types/react": "19.0.0",
137
- "@types/react-dom": "19.0.0",
138
- "@vitejs/plugin-react": "5.1.2",
139
- "@vitest/coverage-v8": "4.0.16",
140
- "@vue/test-utils": "^2.4.6",
141
- "eslint": "9.39.2",
142
- "eslint-config-prettier": "10.1.8",
143
- "eslint-import-resolver-typescript": "4.4.4",
144
- "eslint-plugin-import": "2.31.0",
145
- "eslint-plugin-prettier": "5.5.4",
146
- "eslint-plugin-react": "7.37.5",
147
- "eslint-plugin-react-hooks": "7.0.1",
148
- "eslint-plugin-unicorn": "62.0.0",
149
- "eslint-plugin-unused-imports": "4.1.4",
150
- "fastify": "^5.7.4",
151
- "fastify-plugin": "^5.1.0",
152
- "hono": "^4.11.8",
153
- "jsdom": "27.3.0",
154
- "knip": "5.69.1",
155
- "magic-string": "0.30.21",
156
- "next": "16.0.3",
157
- "prettier": "3.6.2",
158
- "react": "19.0.0",
159
- "react-dom": "19.0.0",
160
- "remark": "15.0.1",
161
- "remark-gfm": "4.0.1",
162
- "rollup": "4.53.3",
163
- "rollup-plugin-copy": "3.5.0",
164
- "rollup-plugin-esbuild": "^6.2.1",
165
- "svelte": "5.46.1",
166
- "tsc-alias": "1.8.16",
167
- "tsd": "0.33.0",
168
- "tsx": "^4.21.0",
169
- "typescript": "5.8.3",
170
- "typescript-eslint": "^8.56.1",
171
- "vite": "7.3.0",
172
- "vite-tsconfig-paths": "6.0.3",
173
- "vitest": "4.0.16",
174
- "vue": "3.5.26"
162
+ "api:check": "tsx scripts/api-extractor/check.ts"
175
163
  }
176
- }
164
+ }
@@ -1 +0,0 @@
1
- {"version":3,"file":"headers.d.ts","sourceRoot":"","sources":["../../../../../src/core/constants/headers.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;;;;CAKhB,CAAC"}