@progress/kendo-angular-intl
Version:
Kendo UI Internationalization for Angular 2 components
92 lines (91 loc) • 2.09 kB
JavaScript
import * as intl from '@telerik/kendo-intl';
import { errorSolutions } from './error-solutions';
function formatMessage(error) {
var message = error.message;
var errorSolution = errorSolutions[Object.keys(errorSolutions).filter(function (key) { return message.indexOf(key) === 0; })[0]];
return errorSolution ? message + " " + errorSolution : message;
}
function intlMethod(fn) {
return function () {
var values = [];
for (var _i = 0; _i < arguments.length; _i++) {
values[_i] = arguments[_i];
}
try {
return fn.apply(null, values);
}
catch (error) {
error.message = formatMessage(error);
throw error;
}
};
}
/**
* @hidden
*/
export var dateFormatNames = intlMethod(intl.dateFormatNames);
/**
* @hidden
*/
export var dateFieldName = intlMethod(intl.dateFieldName);
/**
* @hidden
*/
export var firstDay = intlMethod(intl.firstDay);
/**
* @hidden
*/
export var format = intlMethod(intl.format);
/**
* @hidden
*/
export var formatDate = intlMethod(intl.formatDate);
/**
* @hidden
*/
export var formatNumber = intlMethod(intl.formatNumber);
/**
* @hidden
*/
export var load = intlMethod(intl.load);
/**
* @hidden
*/
export var numberSymbols = intlMethod(intl.numberSymbols);
/**
* @hidden
*/
export var parseDate = intlMethod(intl.parseDate);
/**
* @hidden
*/
export var parseNumber = intlMethod(intl.parseNumber);
/**
* @hidden
*/
export var splitDateFormat = intlMethod(intl.splitDateFormat);
/**
* @hidden
*/
export var toString = intlMethod(intl.toString);
/**
* Sets a pre-built locale.
*
* @params data - The pre-built locale data.
*/
export var setData = function (data) { return intl.setData(data); };
/**
* Retrieves the locale data for the specified locale.
*
* @params locale - The locale id.
* @returns data - The locale data.
*/
export var localeData = function (locale) {
try {
return intl.localeInfo(locale);
}
catch (error) {
error.message = formatMessage(error);
throw error;
}
};