UNPKG

ilib

Version:

iLib is a cross-engine library of internationalization (i18n) classes written in pure JS

2 lines 1.53 kB
// !data charset charsetaliases charset/ISO-8859-1 charset/ISO-8859-15 charset/UTF-8 var ilib=require("./ilib.js"),Utils=require("./Utils.js"),Charset=function(options){var sync=!0,loadParams=void 0;this.originalName="UTF-8",options&&(void 0!==options.name&&(this.originalName=options.name),void 0!==options.sync&&(sync=!!options.sync),void 0!==options.loadParams&&(loadParams=options.loadParams)),this.info={description:"default",min:1,max:1,bigendian:!0,scripts:["Latn"],locales:["*"]},Utils.loadData({object:"Charset",locale:"-",nonlocale:!0,name:"charsetaliases.json",sync:sync,loadParams:loadParams,callback:ilib.bind(this,function(info){if(info){var n=this.originalName.replace(/[-_,:\+\.\(\)]/g,"").toUpperCase();this.name=info[n]}this.name||(this.name=this.originalName),Utils.loadData({object:"Charset",locale:"-",nonlocale:!0,name:"charset/"+this.name+".json",sync:sync,loadParams:loadParams,callback:ilib.bind(this,function(info){info&&ilib.extend(this.info,info),options&&"function"==typeof options.onLoad&&options.onLoad(this)})})})})};Charset.prototype={getName:function(){return this.name},getOriginalName:function(){return this.originalName},getDescription:function(){return this.info.description||this.getName()},getMinCharWidth:function(){return this.info.min},getMaxCharWidth:function(){return this.info.max},isMultibyte:function(){return this.getMaxCharWidth()>this.getMinCharWidth()},isBigEndian:function(){return this.info.bigendian},getScripts:function(){return this.info.scripts}},module.exports=Charset;