-
Notifications
You must be signed in to change notification settings - Fork 600
/
Copy pathcore.js
117 lines (104 loc) · 3.13 KB
/
core.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
define([
"cldr",
"./common/create-error",
"./common/format-message",
"./common/format-message-to-parts",
"./common/parts/join",
"./common/parts/push",
"./common/runtime-bind",
"./common/validate",
"./common/validate/cldr",
"./common/validate/default-locale",
"./common/validate/parameter-presence",
"./common/validate/parameter-range",
"./common/validate/parameter-type",
"./common/validate/parameter-type/locale",
"./common/validate/parameter-type/plain-object",
"./util/always-array",
"./util/always-cldr",
"./util/is-plain-object",
"./util/object/extend",
"./util/regexp/escape",
"./util/string/pad",
"cldr/event"
], function( Cldr, createError, formatMessage, formatMessageToParts, partsJoin, partsPush,
runtimeBind, validate, validateCldr, validateDefaultLocale, validateParameterPresence,
validateParameterRange, validateParameterType, validateParameterTypeLocale,
validateParameterTypePlainObject, alwaysArray, alwaysCldr, isPlainObject, objectExtend,
regexpEscape, stringPad ) {
function validateLikelySubtags( cldr ) {
cldr.once( "get", validateCldr );
cldr.get( "supplemental/likelySubtags" );
}
/**
* [new] Globalize( locale|cldr )
*
* @locale [String]
*
* @cldr [Cldr instance]
*
* Create a Globalize instance.
*/
function Globalize( locale ) {
if ( !( this instanceof Globalize ) ) {
return new Globalize( locale );
}
validateParameterPresence( locale, "locale" );
validateParameterTypeLocale( locale, "locale" );
this.cldr = alwaysCldr( locale );
validateLikelySubtags( this.cldr );
}
/**
* Globalize.load( json, ... )
*
* @json [JSON]
*
* Load resolved or unresolved cldr data.
* Somewhat equivalent to previous Globalize.addCultureInfo(...).
*/
Globalize.load = function() {
// validations are delegated to Cldr.load().
Cldr.load.apply( Cldr, arguments );
};
/**
* Globalize.locale( [locale|cldr] )
*
* @locale [String]
*
* @cldr [Cldr instance]
*
* Set default Cldr instance if locale or cldr argument is passed.
*
* Return the default Cldr instance.
*/
Globalize.locale = function( locale ) {
validateParameterTypeLocale( locale, "locale" );
if ( arguments.length ) {
this.cldr = alwaysCldr( locale );
validateLikelySubtags( this.cldr );
}
return this.cldr;
};
/**
* Optimization to avoid duplicating some internal functions across modules.
*/
Globalize._alwaysArray = alwaysArray;
Globalize._createError = createError;
Globalize._formatMessage = formatMessage;
Globalize._formatMessageToParts = formatMessageToParts;
Globalize._isPlainObject = isPlainObject;
Globalize._objectExtend = objectExtend;
Globalize._partsJoin = partsJoin;
Globalize._partsPush = partsPush;
Globalize._regexpEscape = regexpEscape;
Globalize._runtimeBind = runtimeBind;
Globalize._stringPad = stringPad;
Globalize._validate = validate;
Globalize._validateCldr = validateCldr;
Globalize._validateDefaultLocale = validateDefaultLocale;
Globalize._validateParameterPresence = validateParameterPresence;
Globalize._validateParameterRange = validateParameterRange;
Globalize._validateParameterTypePlainObject = validateParameterTypePlainObject;
Globalize._validateParameterType = validateParameterType;
return Globalize;
});