@junejs/i18n 0.0.30-dev.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/codegen.d.ts CHANGED
@@ -5,18 +5,17 @@ import "./compile.js";
5
5
  * mergeable: flat `messages/<locale>.json` (root keys) and namespaced
6
6
  * `messages/<locale>/<ns>.json` (keys prefixed `<ns>.`). The runtime half of the
7
7
  * codegen, exposed for tests. */
8
- declare function loadMessages(messagesDir: string): {
8
+ export declare function loadMessages(messagesDir: string): {
9
9
  catalogs: Record<string, CompiledCatalog>;
10
10
  raw: Record<string, Record<string, string>>;
11
11
  locales: string[];
12
12
  };
13
13
  /** Generate the frozen `_messages.ts` module text from `messages/`. The default
14
14
  * locale is the type source of truth (its keys define `Messages`). */
15
- declare function generateMessagesModule(messagesDir: string, opts: {
15
+ export declare function generateMessagesModule(messagesDir: string, opts: {
16
16
  defaultLocale: string;
17
17
  }): {
18
18
  code: string;
19
19
  locales: string[];
20
20
  };
21
- //#endregion
22
- export { generateMessagesModule, loadMessages };
21
+ //#endregion
package/dist/compile.d.ts CHANGED
@@ -1,13 +1,13 @@
1
1
  import { n as CompiledMessage, t as CompiledCatalog } from "./format-C_VeKYVf.js";
2
2
  //#region src/compile.d.ts
3
3
  /** Parse one ICU string to its AST. */
4
- declare function parseMessage(icu: string): CompiledMessage;
4
+ export declare function parseMessage(icu: string): CompiledMessage;
5
5
  /** Parse a whole `{ key: icuString }` catalog to ASTs. */
6
- declare function compileCatalog(raw: Record<string, string>): CompiledCatalog;
7
- type ParamType = "string" | "number" | "Date" | "tag";
6
+ export declare function compileCatalog(raw: Record<string, string>): CompiledCatalog;
7
+ export type ParamType = "string" | "number" | "Date" | "tag";
8
8
  /** The params a message needs, derived from its AST. Plural/number args are
9
9
  * numbers, date/time are Dates, plain `{x}` and select keys are strings. This is
10
10
  * what the codegen turns into `t`'s typed signature. */
11
- declare function deriveParams(msg: CompiledMessage, into?: Record<string, ParamType>): Record<string, ParamType>;
11
+ export declare function deriveParams(msg: CompiledMessage, into?: Record<string, ParamType>): Record<string, ParamType>;
12
12
  //#endregion
13
- export { type CompiledCatalog, type CompiledMessage, ParamType, compileCatalog, deriveParams, parseMessage };
13
+ export type { CompiledCatalog, CompiledMessage };
package/dist/compile.js CHANGED
@@ -36,8 +36,6 @@ function deriveParams(msg, into = {}) {
36
36
  case TYPE.tag:
37
37
  into[el.value] = "tag";
38
38
  deriveParams(el.children, into);
39
- break;
40
- default: break;
41
39
  }
42
40
  return into;
43
41
  }
package/dist/format.js CHANGED
@@ -30,7 +30,6 @@ function evaluate(els, locale, params, pound) {
30
30
  if (opt) out += evaluate(opt.value, locale, params, pound);
31
31
  break;
32
32
  }
33
- default: break;
34
33
  }
35
34
  return out;
36
35
  }
package/dist/index.d.ts CHANGED
@@ -3,35 +3,35 @@ import { formatRich } from "./rich.js";
3
3
  import { ReactNode } from "react";
4
4
  //#region src/index.d.ts
5
5
  /** A translator: callable for a plain string, `.rich` for embedded components. */
6
- type Translator = {
6
+ export type Translator = {
7
7
  (key: string, params?: Record<string, unknown>): string;
8
8
  rich(key: string, params?: Record<string, unknown>): ReactNode;
9
9
  };
10
- type MessagesConfig = {
10
+ export type MessagesConfig = {
11
11
  catalogs: Record<string, CompiledCatalog>;
12
12
  defaultLocale: string;
13
13
  };
14
14
  /** Register the compiled message catalogs (called once at app boot). A build step
15
15
  * generates this call — with compiled ASTs — from `messages/*.json`. */
16
- declare function defineMessages(catalogs: Record<string, CompiledCatalog>, opts: {
16
+ export declare function defineMessages(catalogs: Record<string, CompiledCatalog>, opts: {
17
17
  defaultLocale: string;
18
18
  }): void;
19
19
  /** A pure translator bound to a locale + compiled catalogs. The fallback chain is
20
20
  * variant → default locale → the key itself (dev-warns on a miss). Exposed for
21
21
  * tests and for non-ambient use (islands receive a translator built from props). */
22
- declare function createTranslator(locale: string, catalogs: Record<string, CompiledCatalog>, defaultLocale: string): Translator;
22
+ export declare function createTranslator(locale: string, catalogs: Record<string, CompiledCatalog>, defaultLocale: string): Translator;
23
23
  /** Ambient translate: resolves the locale from the request scope (`ctx.locale`),
24
24
  * then formats `key` from the registered catalogs. Falls back to the default
25
25
  * locale, then the key. `t.rich` renders embedded `<tag>`s to ReactNode. Server-
26
26
  * side (loaders/views/actions); islands take a translator via props instead. */
27
- declare const t: Translator;
27
+ export declare const t: Translator;
28
28
  /** SERVER: the compiled subset of `keys` for `locale` (defaults to the scope
29
29
  * locale), with per-key fallback to the default locale. Pass it as an island
30
30
  * prop alongside the locale. */
31
- declare function pickMessages(keys: string[], locale?: string): CompiledCatalog;
31
+ export declare function pickMessages(keys: string[], locale?: string): CompiledCatalog;
32
32
  /** CLIENT: a translator over a one-locale subset (from an island's props). No
33
33
  * scope, no registry — just the messages it was handed. */
34
- declare function clientTranslator(messages: CompiledCatalog, locale: string): Translator;
35
- declare function __resetMessages(): void;
34
+ export declare function clientTranslator(messages: CompiledCatalog, locale: string): Translator;
35
+ export declare function __resetMessages(): void;
36
36
  //#endregion
37
- export { type CompiledCatalog, type CompiledMessage, MessagesConfig, Translator, __resetMessages, clientTranslator, createTranslator, defineMessages, formatMessage, formatRich, pickMessages, t };
37
+ export { type CompiledCatalog, type CompiledMessage, formatMessage, formatRich };
package/dist/rich.d.ts CHANGED
@@ -4,6 +4,5 @@ import { ReactNode } from "react";
4
4
  type RichParams = Record<string, unknown>;
5
5
  /** Format a compiled message to ReactNode, rendering `<tag>` elements via the
6
6
  * matching `(chunks) => ReactNode` param. */
7
- declare function formatRich(msg: CompiledMessage, locale: string, params?: RichParams): ReactNode;
8
- //#endregion
9
- export { formatRich };
7
+ export declare function formatRich(msg: CompiledMessage, locale: string, params?: RichParams): ReactNode;
8
+ //#endregion
package/dist/rich.js CHANGED
@@ -38,7 +38,6 @@ function evaluate(els, locale, params, pound) {
38
38
  if (opt) out.push(...evaluate(opt.value, locale, params, pound));
39
39
  break;
40
40
  }
41
- default: break;
42
41
  }
43
42
  return out;
44
43
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@junejs/i18n",
3
- "version": "0.0.30-dev.1",
3
+ "version": "0.2.0",
4
4
  "description": "June — the agent-native React framework. ICU messages (typed t()).",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -30,7 +30,7 @@
30
30
  },
31
31
  "dependencies": {
32
32
  "@formatjs/icu-messageformat-parser": "^2.7.0",
33
- "@junejs/db": ">=0.1.0-dev.2"
33
+ "@junejs/db": "^0.2.0"
34
34
  },
35
35
  "peerDependencies": {
36
36
  "react": "^19.2.0"