UNPKG

ilib

Version:

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

1 lines 1.09 kB
var ilib=require("./ilib.js");var SearchUtils=require("./SearchUtils.js");var Utils=require("./Utils.js");var Locale=require("./Locale.js");var IString=require("./IString.js");var CType={};CType._inRange=function(e,i,a){var r,t;if(e<0||!i||!a){return false}r=a[i];if(!r){return false}var n=function(e,i){if(e.length===1){return e[0]-i}else{return i<e[0]?e[0]-i:i>e[1]?e[1]-i:0}};var l=SearchUtils.bsearch(e,r,n);return l<r.length&&n(r[l],e)===0};CType.withinRange=function(e,i){if(!i){return false}var a;switch(typeof e){case"number":a=e;break;case"string":a=IString.toCodePoint(e,0);break;case"undefined":return false;default:a=e._toCodePoint(0);break}return CType._inRange(a,i.toLowerCase(),ilib.data.ctype)};CType._init=function(e,i,a){CType._load("ctype",e,i,a)};CType._load=function(e,i,a,r){if(!ilib.data[e]){var t=e?e+".json":"CType.json";Utils.loadData({name:t,locale:"-",nonlocale:true,sync:i,loadParams:a,callback:ilib.bind(this,function(i){ilib.data[e]=i;if(r&&typeof r==="function"){r(ilib.data[e])}})})}else{if(r&&typeof r==="function"){r(ilib.data[e])}}};module.exports=CType;