canopy-i18n 0.3.0 → 0.4.1

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.
@@ -1,5 +1,5 @@
1
- import { ChainBuilder } from "./chainBuilder";
2
- import { I18nMessage } from "./message";
1
+ import { ChainBuilder } from "./chainBuilder.js";
2
+ import { I18nMessage } from "./message.js";
3
3
  export declare function isChainBuilder(x: unknown): x is ChainBuilder<any, any>;
4
4
  type DeepUnwrapChainBuilders<T> = T extends I18nMessage<any, any, any> ? T : T extends ChainBuilder<any, infer Messages> ? Messages : T extends readonly any[] ? {
5
5
  [K in keyof T]: DeepUnwrapChainBuilders<T[K]>;
@@ -1,18 +1,14 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isChainBuilder = isChainBuilder;
4
- exports.bindLocale = bindLocale;
5
- const chainBuilder_1 = require("./chainBuilder");
6
- const message_1 = require("./message");
7
- function isChainBuilder(x) {
8
- return x instanceof chainBuilder_1.ChainBuilder;
1
+ import { ChainBuilder } from "./chainBuilder.js";
2
+ import { isI18nMessage } from "./message.js";
3
+ export function isChainBuilder(x) {
4
+ return x instanceof ChainBuilder;
9
5
  }
10
- function bindLocale(obj, locale) {
6
+ export function bindLocale(obj, locale) {
11
7
  function visit(v) {
12
8
  if (isChainBuilder(v)) {
13
9
  return v.build(locale);
14
10
  }
15
- if ((0, message_1.isI18nMessage)(v)) {
11
+ if (isI18nMessage(v)) {
16
12
  v.setLocale(locale);
17
13
  return v;
18
14
  }
@@ -1,5 +1,5 @@
1
- import { I18nMessage } from "./message";
2
- import type { LocalizedMessage } from "./message";
1
+ import { I18nMessage } from "./message.js";
2
+ import type { LocalizedMessage } from "./message.js";
3
3
  export declare class ChainBuilder<const Ls extends readonly string[], Messages extends Record<string, I18nMessage<Ls, any, any>> = {}> {
4
4
  private readonly locales;
5
5
  private messages;
@@ -1,9 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ChainBuilder = void 0;
4
- exports.createI18n = createI18n;
5
- const message_1 = require("./message");
6
- class ChainBuilder {
1
+ import { I18nMessage, isI18nMessage } from "./message.js";
2
+ export class ChainBuilder {
7
3
  locales;
8
4
  messages;
9
5
  constructor(locales, messages) {
@@ -17,7 +13,7 @@ class ChainBuilder {
17
13
  add(entries) {
18
14
  const newMessages = { ...this.messages };
19
15
  for (const [key, data] of Object.entries(entries)) {
20
- const msg = new message_1.I18nMessage(this.locales, this.locales[0]).setData(data);
16
+ const msg = new I18nMessage(this.locales, this.locales[0]).setData(data);
21
17
  newMessages[key] = msg;
22
18
  }
23
19
  return new ChainBuilder(this.locales, newMessages);
@@ -29,14 +25,14 @@ class ChainBuilder {
29
25
  return (entries) => {
30
26
  const newMessages = { ...this.messages };
31
27
  for (const [key, data] of Object.entries(entries)) {
32
- const msg = new message_1.I18nMessage(this.locales, this.locales[0]).setData(data);
28
+ const msg = new I18nMessage(this.locales, this.locales[0]).setData(data);
33
29
  newMessages[key] = msg;
34
30
  }
35
31
  return new ChainBuilder(this.locales, newMessages);
36
32
  };
37
33
  }
38
34
  deepCloneWithLocale(obj, locale) {
39
- if ((0, message_1.isI18nMessage)(obj)) {
35
+ if (isI18nMessage(obj)) {
40
36
  const cloned = Object.create(Object.getPrototypeOf(obj));
41
37
  Object.assign(cloned, obj);
42
38
  cloned.setLocale(locale);
@@ -66,7 +62,7 @@ class ChainBuilder {
66
62
  clone() {
67
63
  const clonedMessages = {};
68
64
  for (const [key, msg] of Object.entries(this.messages)) {
69
- if ((0, message_1.isI18nMessage)(msg)) {
65
+ if (isI18nMessage(msg)) {
70
66
  // I18nMessageをクローン
71
67
  const cloned = Object.create(Object.getPrototypeOf(msg));
72
68
  Object.assign(cloned, msg);
@@ -79,7 +75,6 @@ class ChainBuilder {
79
75
  return new ChainBuilder(this.locales, clonedMessages);
80
76
  }
81
77
  }
82
- exports.ChainBuilder = ChainBuilder;
83
- function createI18n(locales) {
78
+ export function createI18n(locales) {
84
79
  return new ChainBuilder(locales);
85
80
  }
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- export { bindLocale, isChainBuilder } from "./bindLocale";
2
- export { ChainBuilder, createI18n } from "./chainBuilder";
3
- export { I18nMessage, isI18nMessage } from "./message";
4
- export type { LocalizedMessage } from "./message";
5
- export type { Template } from "./types";
1
+ export { bindLocale, isChainBuilder } from "./bindLocale.js";
2
+ export { ChainBuilder, createI18n } from "./chainBuilder.js";
3
+ export { I18nMessage, isI18nMessage } from "./message.js";
4
+ export type { LocalizedMessage } from "./message.js";
5
+ export type { Template } from "./types.js";
package/dist/index.js CHANGED
@@ -1,12 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isI18nMessage = exports.I18nMessage = exports.createI18n = exports.ChainBuilder = exports.isChainBuilder = exports.bindLocale = void 0;
4
- var bindLocale_1 = require("./bindLocale");
5
- Object.defineProperty(exports, "bindLocale", { enumerable: true, get: function () { return bindLocale_1.bindLocale; } });
6
- Object.defineProperty(exports, "isChainBuilder", { enumerable: true, get: function () { return bindLocale_1.isChainBuilder; } });
7
- var chainBuilder_1 = require("./chainBuilder");
8
- Object.defineProperty(exports, "ChainBuilder", { enumerable: true, get: function () { return chainBuilder_1.ChainBuilder; } });
9
- Object.defineProperty(exports, "createI18n", { enumerable: true, get: function () { return chainBuilder_1.createI18n; } });
10
- var message_1 = require("./message");
11
- Object.defineProperty(exports, "I18nMessage", { enumerable: true, get: function () { return message_1.I18nMessage; } });
12
- Object.defineProperty(exports, "isI18nMessage", { enumerable: true, get: function () { return message_1.isI18nMessage; } });
1
+ export { bindLocale, isChainBuilder } from "./bindLocale.js";
2
+ export { ChainBuilder, createI18n } from "./chainBuilder.js";
3
+ export { I18nMessage, isI18nMessage } from "./message.js";
package/dist/message.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { Template } from "./types";
1
+ import type { Template } from "./types.js";
2
2
  export type LocalizedMessage<Ls extends readonly string[], C, R = string> = I18nMessage<Ls, C, R>;
3
3
  export declare function isI18nMessage(x: unknown): x is I18nMessage<any, any, any>;
4
4
  export declare class I18nMessage<Ls extends readonly string[], C, R = string> {
package/dist/message.js CHANGED
@@ -1,12 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.I18nMessage = void 0;
4
- exports.isI18nMessage = isI18nMessage;
5
- const types_1 = require("./types");
6
- function isI18nMessage(x) {
1
+ import { isTemplateFunction } from "./types.js";
2
+ export function isI18nMessage(x) {
7
3
  return x instanceof I18nMessage;
8
4
  }
9
- class I18nMessage {
5
+ export class I18nMessage {
10
6
  locales;
11
7
  _locale;
12
8
  _data;
@@ -30,10 +26,9 @@ class I18nMessage {
30
26
  }
31
27
  render(ctx) {
32
28
  const v = this._data[this._locale];
33
- if ((0, types_1.isTemplateFunction)(v)) {
29
+ if (isTemplateFunction(v)) {
34
30
  return v(ctx);
35
31
  }
36
32
  return v;
37
33
  }
38
34
  }
39
- exports.I18nMessage = I18nMessage;
package/dist/types.js CHANGED
@@ -1,6 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isTemplateFunction = isTemplateFunction;
4
- function isTemplateFunction(t) {
1
+ export function isTemplateFunction(t) {
5
2
  return typeof t === "function";
6
3
  }
package/package.json CHANGED
@@ -1,15 +1,14 @@
1
1
  {
2
2
  "name": "canopy-i18n",
3
- "version": "0.3.0",
3
+ "version": "0.4.1",
4
4
  "description": "A tiny, type-safe i18n helper",
5
- "type": "commonjs",
5
+ "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
8
8
  "exports": {
9
9
  ".": {
10
10
  "types": "./dist/index.d.ts",
11
11
  "import": "./dist/index.js",
12
- "require": "./dist/index.js",
13
12
  "default": "./dist/index.js"
14
13
  }
15
14
  },