UNPKG

@voerkai18n/babel

Version:
6 lines 1.76 kB
import {getIdMap}from'@voerkai18n/utils';/*** * ---=== VoerkaI18n for babel ===--- * https://zhangfisher.github.io/voerka-i18n/* */ function m(r){for(let e of r.node.body)if(e.type==="ImportDeclaration"||e.type==="ExportNamedDeclaration"||e.type==="ExportDefaultDeclaration")return true}function f(r){for(let e of r.node.body)if(e.type==="ImportDeclaration"&&Array.isArray(e.specifiers)&&e.specifiers.findIndex(t=>t.type==="ImportSpecifier"&&t.imported.name=="t"&&t.local.name==="t")>-1)return true}function d(r){for(let e of r.node.body)if(e.type==="VariableDeclaration"&&Array.isArray(e.specifiers)&&e.specifiers.findIndex(t=>t.type==="ImportSpecifier"&&t.imported.name=="t"&&t.local.name==="t")>-1)return true}function g(r){let e=r.types,t={autoImport:false,idMap:{}},a={};return {visitor:{Program(i,o){let{autoImport:n,idMap:u}=Object.assign(t,o.opts||{});if(Object.keys(a).length===0&&(a=u||getIdMap()||{}),n){let l=m.call(t,i)?"esm":"cjs",s="t",p=typeof n=="string"?n:"@/languages";["esm","es","cjs","commonjs"].includes(l)||(l="esm"),l==="esm"?f.call(t,i)||i.node.body.unshift(e.importDeclaration([e.ImportSpecifier(e.identifier(s),e.identifier(s))],e.stringLiteral(p))):d.call(t,i)||i.node.body.unshift(e.variableDeclaration("const",[e.variableDeclarator(e.ObjectPattern([e.ObjectProperty(e.Identifier(s),e.Identifier(s),false,true)]),e.CallExpression(e.Identifier("require"),[e.stringLiteral(p)]))]));}},CallExpression(i){if(i.node.callee.name==="t"){if(i.node.arguments.length>0&&e.isStringLiteral(i.node.arguments[0])){let o=i.node.arguments[0].value,n=o in a?a[o]:o;i.node.arguments[0]=e.stringLiteral(String(n));}}else i.skip();}}}}export{g as default};//# sourceMappingURL=index.mjs.map //# sourceMappingURL=index.mjs.map