Skip to content

Commit ae7fd23

Browse files
committed
Add dateToPartsFormatter support
Fixes globalizejs#24
1 parent 88c4292 commit ae7fd23

File tree

6 files changed

+32
-9
lines changed

6 files changed

+32
-9
lines changed

lib/compile.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,15 @@ COMPILED_ORDER = [
1616

1717
// Depends on number and/or plural.
1818
"currencyFormatter",
19-
"dateFormatter",
19+
"dateToPartsFormatter",
2020
"dateParser",
2121
"relativeTimeFormatter",
2222
"unitFormatter"
2323
];
2424

2525
DEPENDENCIES = {
2626
currencyFormatter: { currency: true, number: true },
27-
dateFormatter: { date: true },
27+
dateToPartsFormatter: { date: true },
2828
dateParser: { date: true },
2929
messageFormatter: { message: true },
3030
numberFormatter: { number: true },
@@ -41,9 +41,9 @@ DEPENDENCIES_VARS = {
4141
validateParameterPresence: true,
4242
validateParameterTypeNumber: true
4343
},
44-
dateFormatter: {
45-
dateFormatterFn: true,
46-
dateFormat: true,
44+
dateToPartsFormatter: {
45+
dateToPartsFormatterFn: true,
46+
dateToPartsFormat: true,
4747
validateParameterPresence: true,
4848
validateParameterTypeDate: true
4949
},
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
var escodegen = require( "escodegen" );
2+
var esprima = require( "esprima" );
3+
4+
var Syntax = esprima.Syntax;
5+
6+
module.exports = {
7+
test: function( node ) {
8+
return node.type === Syntax.CallExpression &&
9+
node.callee.type === Syntax.MemberExpression &&
10+
node.callee.object.type === Syntax.Identifier &&
11+
node.callee.object.name === "Globalize" &&
12+
node.callee.property.type === Syntax.Identifier &&
13+
node.callee.property.name === "dateFormatter";
14+
},
15+
16+
getFormatterOrParser: function( node ) {
17+
return "Globalize.dateToPartsFormatter(" +
18+
escodegen.generate( node.arguments[ 0 ] ) +
19+
")";
20+
}
21+
};

lib/extract-visitors/global-various-formatters-and-parsers-aliases.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ var Syntax = esprima.Syntax;
55

66
var map = {
77
formatCurrency: "currencyFormatter",
8-
formatDate: "dateFormatter",
8+
formatDate: "dateToPartsFormatter",
9+
formatDateToParts: "dateToPartsFormatter",
910
formatNumber: "numberFormatter",
1011
formatRelativeTime: "relativeTimeFormatter",
1112
formatUnit: "unitFormatter",

lib/extract-visitors/global-various-formatters-and-parsers.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ module.exports = {
1111
node.callee.object.name === "Globalize" &&
1212
node.callee.property.type === Syntax.Identifier && (
1313
node.callee.property.name === "currencyFormatter" ||
14-
node.callee.property.name === "dateFormatter" ||
14+
node.callee.property.name === "dateToPartsFormatter" ||
1515
node.callee.property.name === "dateParser" ||
1616
node.callee.property.name === "numberFormatter" ||
1717
node.callee.property.name === "numberParser" ||

lib/extract-visitors/index.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
module.exports = [
2+
require( "./global-date-formatter" ),
23
require( "./global-format-message" ),
34
require( "./global-message-formatter" ),
45
require( "./global-various-formatters-and-parsers" ),

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,13 +35,13 @@
3535
},
3636
"peerDependencies": {
3737
"cldr-data": ">=25",
38-
"globalize": "^1.1.0 <1.3.0"
38+
"globalize": ">=1.3.0-a <2.0.0"
3939
},
4040
"devDependencies": {
4141
"babel": "^5.6.14",
4242
"chai": "1.10.x",
4343
"cldr-data": ">=25",
44-
"globalize": "^1.1.0 <1.3.0",
44+
"globalize": ">=1.3.0-a <2.0.0",
4545
"jshint": "2.6.x",
4646
"mocha": "2.1.0"
4747
}

0 commit comments

Comments
 (0)