ilib
Version:
iLib is a cross-engine library of internationalization (i18n) classes written in pure JS
2 lines • 1.52 kB
JavaScript
// !data numplan
var ilib=require("../index.js"),Utils=require("./Utils.js"),Locale=require("./Locale.js"),NumberingPlan=function(options){var sync=!0,loadParams={};this.locale=new Locale(),options&&(options.locale&&(this.locale="string"==typeof options.locale?new Locale(options.locale):options.locale),void 0!==options.sync&&(sync=!!options.sync),options.loadParams)&&(loadParams=options.loadParams),Utils.loadData({name:"numplan.json",object:"NumberingPlan",locale:this.locale,sync:sync,loadParams:loadParams,callback:ilib.bind(this,function(npdata){this.npdata=npdata=npdata||{region:"XX",skipTrunk:!1,trunkCode:"0",iddCode:"00",dialingPlan:"closed",commonFormatChars:" ()-./",fieldLengths:{areaCode:0,cic:0,mobilePrefix:0,serviceCode:0}},options&&"function"==typeof options.onLoad&&options.onLoad(this)})})};NumberingPlan.prototype={getName:function(){return this.npdata.region},getTrunkCode:function(){return this.npdata.trunkCode},getIDDCode:function(){return this.npdata.iddCode},getPlanStyle:function(){return this.npdata.dialingPlan},getContextFree:function(){return this.npdata.contextFree},getFindExtensions:function(){return this.npdata.findExtensions},getSkipTrunk:function(){return this.npdata.skipTrunk},getTrunkRequired:function(){return this.npdata.trunkRequired},getExtendedAreaCode:function(){return this.npdata.extendedAreaCodes},getCommonFormatChars:function(){return this.npdata.commonFormatChars},getFieldLength:function(field){return this.npdata.fieldLengths[field]}},module.exports=NumberingPlan;