@formatjs/intl
Advanced tools
Comparing version 1.5.1 to 1.6.0
@@ -1,2 +0,2 @@ | ||
import { OptionalIntlConfig, IntlCache, IntlShape } from './types'; | ||
import { OptionalIntlConfig, IntlCache, IntlShape, IntlConfig } from './types'; | ||
export interface CreateIntlFn<T = string, C extends OptionalIntlConfig<T> = OptionalIntlConfig<T>, S extends IntlShape<T> = IntlShape<T>> { | ||
@@ -10,3 +10,9 @@ (config: C, cache?: IntlCache): S; | ||
*/ | ||
export declare function createIntl<T = string>(config: OptionalIntlConfig<T>, cache?: IntlCache): IntlShape<T>; | ||
export declare function createIntl<T = string>(config: OptionalIntlConfig<T>, cache?: IntlCache): IntlShape<T> & { | ||
/** | ||
* This is not really public, primarily for ember-intl | ||
* @param messages Additional messages | ||
*/ | ||
__addMessages(messages: IntlConfig<T>['messages']): void; | ||
}; | ||
//# sourceMappingURL=create-intl.d.ts.map |
@@ -11,2 +11,14 @@ import { __assign } from "tslib"; | ||
import { formatDisplayName } from './displayName'; | ||
function messagesContainAst(messages) { | ||
var firstMessage = messages | ||
? messages[Object.keys(messages)[0]] | ||
: undefined; | ||
return typeof firstMessage === 'object' && !!firstMessage; | ||
} | ||
function verifyConfigMessages(config) { | ||
if (config.defaultRichTextElements && | ||
!messagesContainAst(config.messages || {})) { | ||
console.warn("[@formatjs/intl] \"defaultRichTextElements\" was specified but \"message\" was not pre-compiled. \nPlease consider using \"@formatjs/cli\" to pre-compile your messages for performance.\nFor more details see https://formatjs.io/docs/getting-started/message-distribution"); | ||
} | ||
} | ||
/** | ||
@@ -39,11 +51,14 @@ * Create intl object | ||
} | ||
var firstMessage = config.messages | ||
? config.messages[Object.keys(config.messages)[0]] | ||
: undefined; | ||
if (config.defaultRichTextElements && | ||
firstMessage && | ||
typeof firstMessage === 'string') { | ||
console.warn("[@formatjs/intl] \"defaultRichTextElements\" was specified but \"message\" was not pre-compiled. \nPlease consider using \"@formatjs/cli\" to pre-compile your messages for performance.\nFor more details see https://formatjs.io/docs/getting-started/message-distribution"); | ||
} | ||
return __assign(__assign({}, resolvedConfig), { formatters: formatters, formatNumber: formatNumber.bind(null, resolvedConfig, formatters.getNumberFormat), formatNumberToParts: formatNumberToParts.bind(null, resolvedConfig, formatters.getNumberFormat), formatRelativeTime: formatRelativeTime.bind(null, resolvedConfig, formatters.getRelativeTimeFormat), formatDate: formatDate.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatDateToParts: formatDateToParts.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatTime: formatTime.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatDateTimeRange: formatDateTimeRange.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatTimeToParts: formatTimeToParts.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatPlural: formatPlural.bind(null, resolvedConfig, formatters.getPluralRules), formatMessage: formatMessage.bind(null, resolvedConfig, formatters), formatList: formatList.bind(null, resolvedConfig, formatters.getListFormat), formatDisplayName: formatDisplayName.bind(null, resolvedConfig, formatters.getDisplayNames) }); | ||
verifyConfigMessages(resolvedConfig); | ||
return __assign(__assign({}, resolvedConfig), { formatters: formatters, formatNumber: formatNumber.bind(null, resolvedConfig, formatters.getNumberFormat), formatNumberToParts: formatNumberToParts.bind(null, resolvedConfig, formatters.getNumberFormat), formatRelativeTime: formatRelativeTime.bind(null, resolvedConfig, formatters.getRelativeTimeFormat), formatDate: formatDate.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatDateToParts: formatDateToParts.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatTime: formatTime.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatDateTimeRange: formatDateTimeRange.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatTimeToParts: formatTimeToParts.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatPlural: formatPlural.bind(null, resolvedConfig, formatters.getPluralRules), formatMessage: formatMessage.bind(null, resolvedConfig, formatters), formatList: formatList.bind(null, resolvedConfig, formatters.getListFormat), formatDisplayName: formatDisplayName.bind(null, resolvedConfig, formatters.getDisplayNames), __addMessages: function (messages) { | ||
var existingMessagesContainAst = messagesContainAst(resolvedConfig.messages); | ||
var mergingMessagesContainAst = messagesContainAst(messages); | ||
if (config.onError && | ||
((existingMessagesContainAst && !mergingMessagesContainAst) || | ||
(!existingMessagesContainAst && mergingMessagesContainAst))) { | ||
config.onError(new InvalidConfigError("Cannot mix AST & non-AST messages for locale " + resolvedConfig.locale)); | ||
} | ||
// @ts-expect-error this is fine | ||
resolvedConfig.messages = __assign(__assign({}, resolvedConfig.messages), messages); | ||
} }); | ||
} |
{ | ||
"name": "@formatjs/intl", | ||
"version": "1.5.1", | ||
"version": "1.6.0", | ||
"description": "Internationalize JS apps. This library provides an API to format dates, numbers, and strings, including pluralization and handling translations.", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
@@ -1,2 +0,2 @@ | ||
import { OptionalIntlConfig, IntlCache, IntlShape } from './types'; | ||
import { OptionalIntlConfig, IntlCache, IntlShape, IntlConfig } from './types'; | ||
export interface CreateIntlFn<T = string, C extends OptionalIntlConfig<T> = OptionalIntlConfig<T>, S extends IntlShape<T> = IntlShape<T>> { | ||
@@ -10,3 +10,9 @@ (config: C, cache?: IntlCache): S; | ||
*/ | ||
export declare function createIntl<T = string>(config: OptionalIntlConfig<T>, cache?: IntlCache): IntlShape<T>; | ||
export declare function createIntl<T = string>(config: OptionalIntlConfig<T>, cache?: IntlCache): IntlShape<T> & { | ||
/** | ||
* This is not really public, primarily for ember-intl | ||
* @param messages Additional messages | ||
*/ | ||
__addMessages(messages: IntlConfig<T>['messages']): void; | ||
}; | ||
//# sourceMappingURL=create-intl.d.ts.map |
@@ -14,2 +14,14 @@ "use strict"; | ||
var displayName_1 = require("./displayName"); | ||
function messagesContainAst(messages) { | ||
var firstMessage = messages | ||
? messages[Object.keys(messages)[0]] | ||
: undefined; | ||
return typeof firstMessage === 'object' && !!firstMessage; | ||
} | ||
function verifyConfigMessages(config) { | ||
if (config.defaultRichTextElements && | ||
!messagesContainAst(config.messages || {})) { | ||
console.warn("[@formatjs/intl] \"defaultRichTextElements\" was specified but \"message\" was not pre-compiled. \nPlease consider using \"@formatjs/cli\" to pre-compile your messages for performance.\nFor more details see https://formatjs.io/docs/getting-started/message-distribution"); | ||
} | ||
} | ||
/** | ||
@@ -42,12 +54,15 @@ * Create intl object | ||
} | ||
var firstMessage = config.messages | ||
? config.messages[Object.keys(config.messages)[0]] | ||
: undefined; | ||
if (config.defaultRichTextElements && | ||
firstMessage && | ||
typeof firstMessage === 'string') { | ||
console.warn("[@formatjs/intl] \"defaultRichTextElements\" was specified but \"message\" was not pre-compiled. \nPlease consider using \"@formatjs/cli\" to pre-compile your messages for performance.\nFor more details see https://formatjs.io/docs/getting-started/message-distribution"); | ||
} | ||
return tslib_1.__assign(tslib_1.__assign({}, resolvedConfig), { formatters: formatters, formatNumber: number_1.formatNumber.bind(null, resolvedConfig, formatters.getNumberFormat), formatNumberToParts: number_1.formatNumberToParts.bind(null, resolvedConfig, formatters.getNumberFormat), formatRelativeTime: relativeTime_1.formatRelativeTime.bind(null, resolvedConfig, formatters.getRelativeTimeFormat), formatDate: dateTime_1.formatDate.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatDateToParts: dateTime_1.formatDateToParts.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatTime: dateTime_1.formatTime.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatDateTimeRange: dateTime_1.formatDateTimeRange.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatTimeToParts: dateTime_1.formatTimeToParts.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatPlural: plural_1.formatPlural.bind(null, resolvedConfig, formatters.getPluralRules), formatMessage: message_1.formatMessage.bind(null, resolvedConfig, formatters), formatList: list_1.formatList.bind(null, resolvedConfig, formatters.getListFormat), formatDisplayName: displayName_1.formatDisplayName.bind(null, resolvedConfig, formatters.getDisplayNames) }); | ||
verifyConfigMessages(resolvedConfig); | ||
return tslib_1.__assign(tslib_1.__assign({}, resolvedConfig), { formatters: formatters, formatNumber: number_1.formatNumber.bind(null, resolvedConfig, formatters.getNumberFormat), formatNumberToParts: number_1.formatNumberToParts.bind(null, resolvedConfig, formatters.getNumberFormat), formatRelativeTime: relativeTime_1.formatRelativeTime.bind(null, resolvedConfig, formatters.getRelativeTimeFormat), formatDate: dateTime_1.formatDate.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatDateToParts: dateTime_1.formatDateToParts.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatTime: dateTime_1.formatTime.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatDateTimeRange: dateTime_1.formatDateTimeRange.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatTimeToParts: dateTime_1.formatTimeToParts.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatPlural: plural_1.formatPlural.bind(null, resolvedConfig, formatters.getPluralRules), formatMessage: message_1.formatMessage.bind(null, resolvedConfig, formatters), formatList: list_1.formatList.bind(null, resolvedConfig, formatters.getListFormat), formatDisplayName: displayName_1.formatDisplayName.bind(null, resolvedConfig, formatters.getDisplayNames), __addMessages: function (messages) { | ||
var existingMessagesContainAst = messagesContainAst(resolvedConfig.messages); | ||
var mergingMessagesContainAst = messagesContainAst(messages); | ||
if (config.onError && | ||
((existingMessagesContainAst && !mergingMessagesContainAst) || | ||
(!existingMessagesContainAst && mergingMessagesContainAst))) { | ||
config.onError(new error_1.InvalidConfigError("Cannot mix AST & non-AST messages for locale " + resolvedConfig.locale)); | ||
} | ||
// @ts-expect-error this is fine | ||
resolvedConfig.messages = tslib_1.__assign(tslib_1.__assign({}, resolvedConfig.messages), messages); | ||
} }); | ||
} | ||
exports.createIntl = createIntl; |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
129209
1976