intor-translator 1.0.5 → 1.0.7

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/index.cjs CHANGED
@@ -235,7 +235,12 @@ var BaseTranslator = class {
235
235
  get messages() {
236
236
  return this.messagesRef.current;
237
237
  }
238
- /** Replace messages with new ones. */
238
+ /**
239
+ * Replace messages with new ones.
240
+ *
241
+ * Note: This allows runtime setting of messages even if M is inferred as `never` (uninitialized).
242
+ * Type cast is used to bypass TypeScript restrictions on dynamic messages.
243
+ */
239
244
  setMessages(messages) {
240
245
  this.messagesRef.current = messages;
241
246
  clearMessageKeyCache();
@@ -244,13 +249,9 @@ var BaseTranslator = class {
244
249
  get locale() {
245
250
  return this.localeRef.current;
246
251
  }
247
- /** Change the active locale if available. */
252
+ /** Change the active locale. */
248
253
  setLocale(newLocale) {
249
- if (this.messagesRef.current && newLocale in this.messagesRef.current) {
250
- this.localeRef.current = newLocale;
251
- return true;
252
- }
253
- return false;
254
+ this.localeRef.current = newLocale;
254
255
  }
255
256
  };
256
257
 
package/dist/index.d.cts CHANGED
@@ -355,12 +355,17 @@ declare class BaseTranslator<M extends LocaleNamespaceMessages = never> {
355
355
  constructor(options?: BaseTranslatorOptions<M>);
356
356
  /** Get all message data. */
357
357
  get messages(): M | undefined;
358
- /** Replace messages with new ones. */
359
- setMessages(messages: M): void;
358
+ /**
359
+ * Replace messages with new ones.
360
+ *
361
+ * Note: This allows runtime setting of messages even if M is inferred as `never` (uninitialized).
362
+ * Type cast is used to bypass TypeScript restrictions on dynamic messages.
363
+ */
364
+ setMessages<N extends LocaleNamespaceMessages>(messages: N): void;
360
365
  /** Get the current active locale. */
361
366
  get locale(): LocaleKey<M> | undefined;
362
- /** Change the active locale if available. */
363
- setLocale(newLocale: LocaleKey<M>): boolean;
367
+ /** Change the active locale. */
368
+ setLocale(newLocale: LocaleKey<M>): void;
364
369
  /** Check if a key exists in the specified locale or current locale. */
365
370
  hasKey: (key: InferTranslatorKey<M>, targetLocale?: LocaleKey<M>) => boolean;
366
371
  }
package/dist/index.d.ts CHANGED
@@ -355,12 +355,17 @@ declare class BaseTranslator<M extends LocaleNamespaceMessages = never> {
355
355
  constructor(options?: BaseTranslatorOptions<M>);
356
356
  /** Get all message data. */
357
357
  get messages(): M | undefined;
358
- /** Replace messages with new ones. */
359
- setMessages(messages: M): void;
358
+ /**
359
+ * Replace messages with new ones.
360
+ *
361
+ * Note: This allows runtime setting of messages even if M is inferred as `never` (uninitialized).
362
+ * Type cast is used to bypass TypeScript restrictions on dynamic messages.
363
+ */
364
+ setMessages<N extends LocaleNamespaceMessages>(messages: N): void;
360
365
  /** Get the current active locale. */
361
366
  get locale(): LocaleKey<M> | undefined;
362
- /** Change the active locale if available. */
363
- setLocale(newLocale: LocaleKey<M>): boolean;
367
+ /** Change the active locale. */
368
+ setLocale(newLocale: LocaleKey<M>): void;
364
369
  /** Check if a key exists in the specified locale or current locale. */
365
370
  hasKey: (key: InferTranslatorKey<M>, targetLocale?: LocaleKey<M>) => boolean;
366
371
  }
package/dist/index.js CHANGED
@@ -233,7 +233,12 @@ var BaseTranslator = class {
233
233
  get messages() {
234
234
  return this.messagesRef.current;
235
235
  }
236
- /** Replace messages with new ones. */
236
+ /**
237
+ * Replace messages with new ones.
238
+ *
239
+ * Note: This allows runtime setting of messages even if M is inferred as `never` (uninitialized).
240
+ * Type cast is used to bypass TypeScript restrictions on dynamic messages.
241
+ */
237
242
  setMessages(messages) {
238
243
  this.messagesRef.current = messages;
239
244
  clearMessageKeyCache();
@@ -242,13 +247,9 @@ var BaseTranslator = class {
242
247
  get locale() {
243
248
  return this.localeRef.current;
244
249
  }
245
- /** Change the active locale if available. */
250
+ /** Change the active locale. */
246
251
  setLocale(newLocale) {
247
- if (this.messagesRef.current && newLocale in this.messagesRef.current) {
248
- this.localeRef.current = newLocale;
249
- return true;
250
- }
251
- return false;
252
+ this.localeRef.current = newLocale;
252
253
  }
253
254
  };
254
255
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "intor-translator",
3
- "version": "1.0.5",
3
+ "version": "1.0.7",
4
4
  "description": "A type safe translator that knows what to say and how to handle the rest. Supports custom messages, rich replacements, and async loading.",
5
5
  "author": "Yiming Liao",
6
6
  "license": "MIT",