UNPKG

globalize-compiler

Version:

Globalize.js runtime compiler for your formatters and parsers

31 lines (26 loc) 885 B
var esprima = require( "esprima" ); var Syntax = esprima.Syntax; function isDefaultProperty(prop) { return (prop.type === Syntax.Literal && prop.value === "default") || (prop.type === Syntax.Identifier && prop.name === "default"); } /** * Transform `_globalize2["default"].<fn>` or `_globalize2.default.<fn>` * (commonly generated by babel when transpiling ES6) into `Globalize.<fn>`. */ module.exports = { test: function( node ) { return node.type === Syntax.CallExpression && node.callee.type === Syntax.MemberExpression && node.callee.object.type === Syntax.MemberExpression && node.callee.object.object.type === Syntax.Identifier && node.callee.object.object.name === "_globalize2" && isDefaultProperty(node.callee.object.property); }, transform: function( node ) { node.callee.object = { type: Syntax.Identifier, name: "Globalize" }; } };