ilib
Version:
iLib is a cross-engine library of internationalization (i18n) classes written in pure JS
1 lines • 985 B
JavaScript
var ilib=require("./ilib.js"),JSUtils=require("./JSUtils.js"),Charset=require("./Charset.js"),Charmap=require("./Charmap.js");function circumventWebpackCharmap(x){return"./"+x+".js"}var CharmapFactory=function(options){var instance,charsetName=options&&options.name||"ISO-8859-15",sync=!0;return options?"boolean"==typeof options.sync&&(sync=options.sync):options={sync:!0},new Charset({name:charsetName,sync:sync,loadParams:options.loadParams,onLoad:function(charset){var cons,name=charset.getName();if(!Charmap._algorithms[name]&&ilib.isDynCode()){var entry=CharmapFactory._dynMap[name]||"CharmapTable";cons=Charmap._algorithms[name]=require(circumventWebpackCharmap(entry))}cons||(cons=Charmap._algorithms[name]||Charmap._algorithms.CharmapTable),instance=cons&&new cons(JSUtils.merge(options||{},{charset:charset}))}}),instance};CharmapFactory._dynMap={"UTF-8":"UTF8","UTF-16":"UTF16LE","UTF-16LE":"UTF16LE","UTF-16BE":"UTF16BE","US-ASCII":"Charmap"},module.exports=CharmapFactory;