UNPKG

playbasis

Version:
250 lines (129 loc) 2.84 kB
'use strict'; module.exports=function(Playbasis){ var helpers=Playbasis.helpers={}; helpers.joinParams=function(paramKvp) { if(paramKvp==null) return""; var encodedParams=""; var params=Object.keys(paramKvp); var count=params.length; for(var i=0;i<count;i++) { encodedParams+=encodeURIComponent(params[i])+"="+encodeURIComponent(paramKvp[params[i]]); if(i<count-1) encodedParams+="&"; } return encodedParams; }; helpers.joinIfNotNullAsUrlParam=function(param) { if(arguments.length==0||arguments.length%2!=0) throw"number of argument cannot be 0, and must be multiple of 2"; var result=""; for(var i=0;i<arguments.length;i+=2){ var key=arguments[i]; var value=arguments[i+1]; if(key!=null&&value!=null){ if(i!=0){ result+="&"; } result+=encodeURIComponent(key)+"="+encodeURIComponent(value); } } return result; }; helpers.appendAndJoinIfNotNullAsUrlParam=function(param) { if(arguments.length==0||arguments.length%2!=0) throw"number of argument cannot be 0, and must be multiple of 2"; var result=""; for(var i=0;i<arguments.length;i+=2){ var key=arguments[i]; var value=arguments[i+1]; if(key!=null&&value!=null){ result+="&"; result+=encodeURIComponent(key)+"="+encodeURIComponent(value); } } return result; }; helpers.appendAndJoinIfNotNullAsUrlParam2=function(keys,defaultValues,inputObj) { var result=""; for(var i=0;i<keys.length;i++){ var key=keys[i]; var value=defaultValues[i]; if(inputObj!=null){ if(inputObj[key]!=null){ value=inputObj[key]; } } if(key!=null&&value!=null){ result+="&"; result+=encodeURIComponent(key)+"="+encodeURIComponent(value); } } return result; }; helpers.createObjectFromTarget=function(obj,keysLimit) { var retObj={}; if(obj==null) return retObj; var keys=Object.keys(obj); for(var i=0;i<keys.length;i++){ var key=keys[i]; var value=obj[key]; if(key!=null&&value!=null){ if(keysLimit!=null){ if(keysLimit.indexOf(key)!=-1){ retObj[key]=value; } }else { retObj[key]=value; } } } return retObj; }; helpers.combineObjects=function(objA,objB) { var retObj={}; if(objA==null&&objB==null) return retObj; if(objA==null){ retObj=objB; return retObj; }else if(objB==null){ retObj=objA; return retObj; } var keys=Object.keys(objB); retObj=objA; for(var i=0;i<keys.length;i++){ var key=keys[i]; var value=objB[key]; if(key!=null&&value!=null){ retObj[key]=value; } } return retObj; }; helpers.createApiUrl=function(method,param) { var options=[]; for(var i=1;i<arguments.length;i++){ options.push(arguments[i]); } if(options&&options.length>0){ var optionsString=options.join("/"); return Playbasis.env.global.baseUrl+"/"+method+"/"+optionsString+"?api_key="+Playbasis.env.global.apiKey; }else { return Playbasis.env.global.baseUrl+"/"+method+"?api_key="+Playbasis.env.global.apiKey; } }; };