diff --git a/lib/graph-js-sdk-core.js b/lib/graph-js-sdk-core.js index be2c00681..d31b844cc 100644 --- a/lib/graph-js-sdk-core.js +++ b/lib/graph-js-sdk-core.js @@ -1 +1 @@ -(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i1&&typeof propertyValue==="string"){allValues=Array.prototype.slice.call(additionalProperties)}this.urlComponents.oDataQueryParams[propertyName]+=allValues.join(",")};GraphRequest.prototype.delete=function(callback){var self=this,url=self.buildFullUrl(),options={method:RequestMethod_1.RequestMethod.DELETE};return self.sendRequestAndRouteResponse(url,options,callback)};GraphRequest.prototype.del=function(callback){return this.delete(callback)};GraphRequest.prototype.patch=function(content,callback){var self=this,url=self.buildFullUrl(),options={method:RequestMethod_1.RequestMethod.PATCH,body:GraphHelper_1.GraphHelper.serializeContent(content),headers:{"Content-Type":"application/json"}};return self.sendRequestAndRouteResponse(url,options,callback)};GraphRequest.prototype.post=function(content,callback){var self=this,url=self.buildFullUrl(),options={method:RequestMethod_1.RequestMethod.POST,body:GraphHelper_1.GraphHelper.serializeContent(content),headers:content.constructor!==undefined&&content.constructor.name==="FormData"?{}:{"Content-Type":"application/json"}};return self.sendRequestAndRouteResponse(url,options,callback)};GraphRequest.prototype.create=function(content,callback){return this.post(content,callback)};GraphRequest.prototype.put=function(content,callback){var self=this,url=self.buildFullUrl(),options={method:RequestMethod_1.RequestMethod.PUT,body:GraphHelper_1.GraphHelper.serializeContent(content),headers:{"Content-Type":"application/octet-stream"}};return self.sendRequestAndRouteResponse(url,options,callback)};GraphRequest.prototype.update=function(content,callback){return this.patch(content,callback)};GraphRequest.prototype.get=function(callback){var self=this,url=self.buildFullUrl(),options={method:RequestMethod_1.RequestMethod.GET};return self.sendRequestAndRouteResponse(url,options,callback)};GraphRequest.prototype.getStream=function(callback){var self=this,url=self.buildFullUrl(),options={method:RequestMethod_1.RequestMethod.GET};self.responseType(ResponseType_1.ResponseType.STREAM);return self.sendRequestAndRouteResponse(url,options,callback)};GraphRequest.prototype.putStream=function(stream,callback){var self=this,url=self.buildFullUrl(),options={method:RequestMethod_1.RequestMethod.PUT,headers:{"Content-Type":"application/octet-stream"},body:stream};return self.sendRequestAndRouteResponse(url,options,callback)};GraphRequest.prototype.sendRequestAndRouteResponse=function(request,options,callback){if(callback==null&&typeof es6_promise_1.Promise!=="undefined"){return this.routeResponseToPromise(request,options)}else{this.routeResponseToCallback(request,options,callback)}};GraphRequest.prototype.routeResponseToPromise=function(request,options){var _this=this;return new es6_promise_1.Promise(function(resolve,reject){_this.routeResponseToCallback(request,options,function(err,body){if(err!=null){reject(err)}else{resolve(body)}})})};GraphRequest.prototype.routeResponseToCallback=function(request,options,callback){var _this=this;if(callback===void 0){callback=function(){}}var self=this;self.config.authProvider(function(err,accessToken){if(err==null&&accessToken!=null){options=self.configureRequestOptions(options,accessToken);fetch(request,options).then(function(response){_this.convertResponseType(response).then(function(responseValue){ResponseHandler_1.ResponseHandler.init(response,undefined,responseValue,callback)}).catch(function(error){ResponseHandler_1.ResponseHandler.init(response,error,undefined,callback)})}).catch(function(error){ResponseHandler_1.ResponseHandler.init(undefined,error,undefined,callback)})}else{callback(err,null,null)}})};GraphRequest.prototype.configureRequestOptions=function(options,accessToken){var self=this,defaultHeaders={Authorization:"Bearer "+accessToken,SdkVersion:"graph-js-"+common_1.PACKAGE_VERSION};var configuredOptions={headers:{}};Object.assign(configuredOptions,self.config.fetchOptions,self._options,options);Object.assign(configuredOptions.headers,defaultHeaders,self._headers,options.headers);return configuredOptions};GraphRequest.prototype.query=function(queryDictionaryOrString){if(typeof queryDictionaryOrString==="string"){var queryStr=queryDictionaryOrString;var queryKey=queryStr.split("=")[0];var queryValue=queryStr.split("=")[1];this.urlComponents.otherURLQueryParams[queryKey]=queryValue}else{for(var key in queryDictionaryOrString){this.urlComponents.otherURLQueryParams[key]=queryDictionaryOrString[key]}}return this};GraphRequest.prototype.createQueryString=function(){var q=[];if(Object.keys(this.urlComponents.oDataQueryParams).length!=0){for(var property in this.urlComponents.oDataQueryParams){q.push(property+"="+this.urlComponents.oDataQueryParams[property])}}if(Object.keys(this.urlComponents.otherURLQueryParams).length!=0){for(var property in this.urlComponents.otherURLQueryParams){q.push(property+"="+this.urlComponents.otherURLQueryParams[property])}}if(q.length>0){return"?"+q.join("&")}return""};GraphRequest.prototype.convertResponseType=function(response){var responseValue;if(!this._responseType){this._responseType=""}switch(this._responseType.toLowerCase()){case ResponseType_1.ResponseType.ARRAYBUFFER:responseValue=response.arrayBuffer();break;case ResponseType_1.ResponseType.BLOB:responseValue=response.blob();break;case ResponseType_1.ResponseType.DOCUMENT:responseValue=response.json();break;case ResponseType_1.ResponseType.JSON:responseValue=response.json();break;case ResponseType_1.ResponseType.STREAM:responseValue=es6_promise_1.Promise.resolve(response.body);break;case ResponseType_1.ResponseType.TEXT:responseValue=response.text();break;default:responseValue=response.json();break}return responseValue};return GraphRequest}();exports.GraphRequest=GraphRequest},{"./GraphHelper":2,"./RequestMethod":5,"./ResponseHandler":6,"./ResponseType":7,"./common":8,"es6-promise":"es6-promise","isomorphic-fetch":"isomorphic-fetch"}],4:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var Range=function(){function Range(minVal,maxVal){if(minVal===void 0){minVal=-1}if(maxVal===void 0){maxVal=-1}var self=this;self.minValue=minVal;self.maxValue=maxVal}return Range}();exports.Range=Range},{}],5:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var RequestMethod;(function(RequestMethod){RequestMethod["GET"]="GET";RequestMethod["PATCH"]="PATCH";RequestMethod["POST"]="POST";RequestMethod["PUT"]="PUT";RequestMethod["DELETE"]="DELETE"})(RequestMethod=exports.RequestMethod||(exports.RequestMethod={}))},{}],6:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var ResponseHandler=function(){function ResponseHandler(){}ResponseHandler.init=function(res,err,resContents,callback){if(res&&res.ok){callback(null,resContents,res)}else{if(err==null&&res!=null)if(resContents!=null&&resContents.error!=null)callback(ResponseHandler.buildGraphErrorFromResponseObject(resContents.error,res.status),null,res);else callback(ResponseHandler.defaultGraphError(res.status),null,res);else callback(ResponseHandler.ParseError(err),null,res)}};ResponseHandler.ParseError=function(rawErr){if(!rawErr){return ResponseHandler.defaultGraphError(-1)}return ResponseHandler.buildGraphErrorFromErrorObject(rawErr)};ResponseHandler.defaultGraphError=function(statusCode){return{statusCode:statusCode,code:null,message:null,requestId:null,date:new Date,body:null}};ResponseHandler.buildGraphErrorFromErrorObject=function(errObj){var error=ResponseHandler.defaultGraphError(-1);error.body=errObj.toString();error.message=errObj.message;error.date=new Date;return error};ResponseHandler.buildGraphErrorFromResponseObject=function(errObj,statusCode){return{statusCode:statusCode,code:errObj.code,message:errObj.message,requestId:errObj.innerError!==undefined?errObj.innerError["request-id"]:"",date:errObj.innerError!==undefined?new Date(errObj.innerError.date):new Date,body:errObj}};return ResponseHandler}();exports.ResponseHandler=ResponseHandler},{}],7:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var ResponseType;(function(ResponseType){ResponseType["ARRAYBUFFER"]="arraybuffer";ResponseType["BLOB"]="blob";ResponseType["DOCUMENT"]="document";ResponseType["JSON"]="json";ResponseType["STREAM"]="stream";ResponseType["TEXT"]="text"})(ResponseType=exports.ResponseType||(exports.ResponseType={}))},{}],8:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.oDataQueryNames=["select","expand","orderby","filter","top","skip","skipToken","count"];exports.DEFAULT_VERSION="v1.0";exports.GRAPH_BASE_URL="https://graph.microsoft.com/";exports.PACKAGE_VERSION="1.2.0";exports.oDataQueryNames=exports.oDataQueryNames.concat(exports.oDataQueryNames.map(function(s){return"$"+s}))},{}],9:[function(require,module,exports){(function(Buffer){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):new P(function(resolve){resolve(result.value)}).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};var __generator=this&&this.__generator||function(thisArg,body){var _={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},f,y,t,g;return g={next:verb(0),throw:verb(1),return:verb(2)},typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]limit){var error=new Error("Maximum requests limit exceeded, Max allowed number of requests are "+limit);error.name="Limit Exceeded Error";throw error}for(var _i=0,requests_1=requests;_i0){batchRequestData.dependsOn=requestStep.dependsOn}requests.push(batchRequestData);cur=iterator.next();return[3,1];case 3:requestBody.requests=requests;return[2,requestBody]}})})};BatchRequestContent.validateDependencies=function(requests){var isParallel=function(requests){var iterator=requests.entries(),cur=iterator.next();while(!cur.done){var curReq=cur.value[1];if(curReq.dependsOn!==undefined&&curReq.dependsOn.length>0){return false}cur=iterator.next()}return true};var isSerial=function(requests){var iterator=requests.entries(),cur=iterator.next();var firstRequest=cur.value[1];if(firstRequest.dependsOn!==undefined&&firstRequest.dependsOn.length>0){return false}var prev=cur;cur=iterator.next();while(!cur.done){var curReq=cur.value[1];if(curReq.dependsOn===undefined||curReq.dependsOn.length!==1||curReq.dependsOn[0]!==prev.value[1].id){return false}prev=cur;cur=iterator.next()}return true};var isSame=function(requests){var iterator=requests.entries(),cur=iterator.next();var firstRequest=cur.value[1],dependencyId;if(firstRequest.dependsOn===undefined||firstRequest.dependsOn.length===0){dependencyId=firstRequest.id}else{if(firstRequest.dependsOn.length===1){var fDependencyId=firstRequest.dependsOn[0];if(fDependencyId!==firstRequest.id&&requests.has(fDependencyId)){dependencyId=fDependencyId}else{return false}}else{return false}}cur=iterator.next();while(!cur.done){var curReq=cur.value[1];if((curReq.dependsOn===undefined||curReq.dependsOn.length===0)&&dependencyId!==curReq.id){return false}if(curReq.dependsOn!==undefined&&curReq.dependsOn.length!==0){if(curReq.dependsOn.length===1&&(curReq.id===dependencyId||curReq.dependsOn[0]!==dependencyId)){return false}if(curReq.dependsOn.length>1){return false}}cur=iterator.next()}return true};if(requests.size===0){var error=new Error("Empty requests map, Please provide at least one request.");error.name="Empty Requests Error";throw error}return isParallel(requests)||isSerial(requests)||isSame(requests)};BatchRequestContent.getRequestData=function(request){return __awaiter(this,void 0,void 0,function(){var requestData,hasHttpRegex,headers,_a;return __generator(this,function(_b){switch(_b.label){case 0:requestData={};hasHttpRegex=new RegExp("^https?://");if(hasHttpRegex.test(request.url)){requestData.url="/"+request.url.split(/.*?\/\/.*?\//)[1]}else{requestData.url=request.url}requestData.method=request.method;headers={};request.headers.forEach(function(value,key){headers[key]=value});if(Object.keys(headers).length){requestData.headers=headers}if(!(request.method===RequestMethod_1.RequestMethod.PATCH||request.method===RequestMethod_1.RequestMethod.POST||request.method===RequestMethod_1.RequestMethod.PUT))return[3,2];_a=requestData;return[4,BatchRequestContent.getRequestBody(request)];case 1:_a.body=_b.sent();_b.label=2;case 2:return[2,requestData]}})})};BatchRequestContent.getRequestBody=function(request){return __awaiter(this,void 0,void 0,function(){var bodyParsed,body,cloneReq,e_1,blob_1,reader_1,buffer,e_2;return __generator(this,function(_a){switch(_a.label){case 0:bodyParsed=false;_a.label=1;case 1:_a.trys.push([1,3,,4]);cloneReq=request.clone();return[4,cloneReq.json()];case 2:body=_a.sent();bodyParsed=true;return[3,4];case 3:e_1=_a.sent();return[3,4];case 4:if(!!bodyParsed)return[3,12];_a.label=5;case 5:_a.trys.push([5,11,,12]);if(!(typeof Blob!=="undefined"))return[3,8];return[4,request.blob()];case 6:blob_1=_a.sent();reader_1=new FileReader;return[4,new Promise(function(resolve){reader_1.addEventListener("load",function(){var dataURL=reader_1.result,regex=new RegExp("^s*data:(.+?/.+?(;.+?=.+?)*)?(;base64)?,(.*)s*$"),segments=regex.exec(dataURL);resolve(segments[4])},false);reader_1.readAsDataURL(blob_1)})];case 7:body=_a.sent();return[3,10];case 8:if(!(typeof Buffer!=="undefined"))return[3,10];return[4,request.buffer()];case 9:buffer=_a.sent();body=buffer.toString("base64");_a.label=10;case 10:bodyParsed=true;return[3,12];case 11:e_2=_a.sent();return[3,12];case 12:return[2,body]}})})};BatchRequestContent.prototype.addDependency=function(dependentId,dependencyId){var self=this;if(!self.requests.has(dependentId)){var error=new Error("Dependent "+dependentId+" does not exists, Please check the id");error.name="Invalid Dependent";throw error}if(typeof dependencyId!=="undefined"&&!self.requests.has(dependencyId)){var error=new Error("Dependency "+dependencyId+" does not exists, Please check the id");error.name="Invalid Dependency";throw error}if(typeof dependencyId!=="undefined"){var dependent=self.requests.get(dependentId);if(dependent.dependsOn===undefined){dependent.dependsOn=[]}if(dependent.dependsOn.includes(dependencyId)){var error=new Error("Dependency "+dependencyId+" is already added for the request "+dependentId);error.name="Duplicate Dependency";throw error}dependent.dependsOn.push(dependencyId)}else{var prev=void 0,iterator=self.requests.entries(),cur=iterator.next();while(!cur.done&&cur.value[1].id!==dependentId){prev=cur;cur=iterator.next()}if(typeof prev!=="undefined"){var dependencyId_1=prev.value[0];if(cur.value[1].dependsOn===undefined){cur.value[1].dependsOn=[]}if(cur.value[1].dependsOn.includes(dependencyId_1)){var error=new Error("Dependency "+dependencyId_1+" is already added for the request "+dependentId);error.name="Duplicate Dependency";throw error}cur.value[1].dependsOn.push(dependencyId_1)}else{var error=new Error("Can't add dependency "+dependencyId+", There is only a dependent request in the batch");error.name="Invalid Dependency Addition";throw error}}};BatchRequestContent.prototype.removeDependency=function(dependentId,dependencyId){var request=this.requests.get(dependentId);if(typeof request==="undefined"||request.dependsOn===undefined||request.dependsOn.length===0){return false}if(typeof dependencyId!=="undefined"){var index=request.dependsOn.indexOf(dependencyId);if(index===-1){return false}request.dependsOn.splice(index,1);return true}else{delete request.dependsOn;return true}};BatchRequestContent.requestLimit=20;return BatchRequestContent}();exports.BatchRequestContent=BatchRequestContent}).call(this,require("buffer").Buffer)},{"../RequestMethod":5,buffer:16}],10:[function(require,module,exports){"use strict";var __generator=this&&this.__generator||function(thisArg,body){var _={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},f,y,t,g;return g={next:verb(0),throw:verb(1),return:verb(2)},typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]=self.file.size){maxValue=self.file.size-1}return new Range_1.Range(minVal,maxValue)};LargeFileUploadTask.prototype.sliceFile=function(range){var blob=this.file.content.slice(range.minValue,range.maxValue+1);return blob};LargeFileUploadTask.prototype.upload=function(){return __awaiter(this,void 0,void 0,function(){var self,nextRange,err,fileSlice,response,err_1;return __generator(this,function(_a){switch(_a.label){case 0:self=this;_a.label=1;case 1:_a.trys.push([1,5,,6]);_a.label=2;case 2:if(!true)return[3,4];nextRange=self.getNextRange();if(nextRange.maxValue===-1){err=new Error("Task with which you are trying to upload is already completed, Please check for your uploaded file");err.name="Invalid Session";throw err}fileSlice=self.sliceFile(nextRange);return[4,self.uploadSlice(fileSlice,nextRange,self.file.size)];case 3:response=_a.sent();if(response.id!==undefined){return[2,response]}else{self.updateTaskStatus(response)}return[3,2];case 4:return[3,6];case 5:err_1=_a.sent();throw err_1;case 6:return[2]}})})};LargeFileUploadTask.prototype.uploadSlice=function(fileSlice,range,totalSize){return __awaiter(this,void 0,void 0,function(){var self,err_2;return __generator(this,function(_a){switch(_a.label){case 0:self=this;_a.label=1;case 1:_a.trys.push([1,3,,4]);return[4,self.client.api(self.uploadSession.url).headers({"Content-Length":""+(range.maxValue-range.minValue+1),"Content-Range":"bytes "+range.minValue+"-"+range.maxValue+"/"+totalSize}).put(fileSlice)];case 2:return[2,_a.sent()];case 3:err_2=_a.sent();throw err_2;case 4:return[2]}})})};LargeFileUploadTask.prototype.cancel=function(){return __awaiter(this,void 0,void 0,function(){var self,err_3;return __generator(this,function(_a){switch(_a.label){case 0:self=this;_a.label=1;case 1:_a.trys.push([1,3,,4]);return[4,self.client.api(self.uploadSession.url).delete()];case 2:return[2,_a.sent()];case 3:err_3=_a.sent();throw err_3;case 4:return[2]}})})};LargeFileUploadTask.prototype.getStatus=function(){return __awaiter(this,void 0,void 0,function(){var self,response,err_4;return __generator(this,function(_a){switch(_a.label){case 0:self=this;_a.label=1;case 1:_a.trys.push([1,3,,4]);return[4,self.client.api(self.uploadSession.url).get()];case 2:response=_a.sent();self.updateTaskStatus(response);return[2,response];case 3:err_4=_a.sent();throw err_4;case 4:return[2]}})})};LargeFileUploadTask.prototype.resume=function(){return __awaiter(this,void 0,void 0,function(){var self,err_5;return __generator(this,function(_a){switch(_a.label){case 0:self=this;_a.label=1;case 1:_a.trys.push([1,4,,5]);return[4,self.getStatus()];case 2:_a.sent();return[4,self.upload()];case 3:return[2,_a.sent()];case 4:err_5=_a.sent();throw err_5;case 5:return[2]}})})};return LargeFileUploadTask}();exports.LargeFileUploadTask=LargeFileUploadTask},{"../Range":4}],13:[function(require,module,exports){"use strict";var __extends=this&&this.__extends||function(){var extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(b.hasOwnProperty(p))d[p]=b[p]};return function(d,b){extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):new P(function(resolve){resolve(result.value)}).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};var __generator=this&&this.__generator||function(thisArg,body){var _={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},f,y,t,g;return g={next:verb(0),throw:verb(1),return:verb(2)},typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]320*1024){value=Math.floor(value/(320*1024))*320*1024}return value};exports.getValidRangeSize=function(rangeSize){if(rangeSize===void 0){rangeSize=DEFAULT_FILE_SIZE}var sixtyMB=60*1024*1024;if(rangeSize>sixtyMB){rangeSize=sixtyMB}return roundTo320KB(rangeSize)}},{}],15:[function(require,module,exports){"use strict";exports.byteLength=byteLength;exports.toByteArray=toByteArray;exports.fromByteArray=fromByteArray;var lookup=[];var revLookup=[];var Arr=typeof Uint8Array!=="undefined"?Uint8Array:Array;var code="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var i=0,len=code.length;i0){throw new Error("Invalid string. Length must be a multiple of 4")}var validLen=b64.indexOf("=");if(validLen===-1)validLen=len;var placeHoldersLen=validLen===len?0:4-validLen%4;return[validLen,placeHoldersLen]}function byteLength(b64){var lens=getLens(b64);var validLen=lens[0];var placeHoldersLen=lens[1];return(validLen+placeHoldersLen)*3/4-placeHoldersLen}function _byteLength(b64,validLen,placeHoldersLen){return(validLen+placeHoldersLen)*3/4-placeHoldersLen}function toByteArray(b64){var tmp;var lens=getLens(b64);var validLen=lens[0];var placeHoldersLen=lens[1];var arr=new Arr(_byteLength(b64,validLen,placeHoldersLen));var curByte=0;var len=placeHoldersLen>0?validLen-4:validLen;for(var i=0;i>16&255;arr[curByte++]=tmp>>8&255;arr[curByte++]=tmp&255}if(placeHoldersLen===2){tmp=revLookup[b64.charCodeAt(i)]<<2|revLookup[b64.charCodeAt(i+1)]>>4;arr[curByte++]=tmp&255}if(placeHoldersLen===1){tmp=revLookup[b64.charCodeAt(i)]<<10|revLookup[b64.charCodeAt(i+1)]<<4|revLookup[b64.charCodeAt(i+2)]>>2;arr[curByte++]=tmp>>8&255;arr[curByte++]=tmp&255}return arr}function tripletToBase64(num){return lookup[num>>18&63]+lookup[num>>12&63]+lookup[num>>6&63]+lookup[num&63]}function encodeChunk(uint8,start,end){var tmp;var output=[];for(var i=start;ilen2?len2:i+maxChunkLength))}if(extraBytes===1){tmp=uint8[len-1];parts.push(lookup[tmp>>2]+lookup[tmp<<4&63]+"==")}else if(extraBytes===2){tmp=(uint8[len-2]<<8)+uint8[len-1];parts.push(lookup[tmp>>10]+lookup[tmp>>4&63]+lookup[tmp<<2&63]+"=")}return parts.join("")}},{}],16:[function(require,module,exports){(function(global){"use strict";var base64=require("base64-js");var ieee754=require("ieee754");var isArray=require("isarray");exports.Buffer=Buffer;exports.SlowBuffer=SlowBuffer;exports.INSPECT_MAX_BYTES=50;Buffer.TYPED_ARRAY_SUPPORT=global.TYPED_ARRAY_SUPPORT!==undefined?global.TYPED_ARRAY_SUPPORT:typedArraySupport();exports.kMaxLength=kMaxLength();function typedArraySupport(){try{var arr=new Uint8Array(1);arr.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}};return arr.foo()===42&&typeof arr.subarray==="function"&&arr.subarray(1,1).byteLength===0}catch(e){return false}}function kMaxLength(){return Buffer.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function createBuffer(that,length){if(kMaxLength()=kMaxLength()){throw new RangeError("Attempt to allocate Buffer larger than maximum "+"size: 0x"+kMaxLength().toString(16)+" bytes")}return length|0}function SlowBuffer(length){if(+length!=length){length=0}return Buffer.alloc(+length)}Buffer.isBuffer=function isBuffer(b){return!!(b!=null&&b._isBuffer)};Buffer.compare=function compare(a,b){if(!Buffer.isBuffer(a)||!Buffer.isBuffer(b)){throw new TypeError("Arguments must be Buffers")}if(a===b)return 0;var x=a.length;var y=b.length;for(var i=0,len=Math.min(x,y);i>>1;case"base64":return base64ToBytes(string).length;default:if(loweredCase)return utf8ToBytes(string).length;encoding=(""+encoding).toLowerCase();loweredCase=true}}}Buffer.byteLength=byteLength;function slowToString(encoding,start,end){var loweredCase=false;if(start===undefined||start<0){start=0}if(start>this.length){return""}if(end===undefined||end>this.length){end=this.length}if(end<=0){return""}end>>>=0;start>>>=0;if(end<=start){return""}if(!encoding)encoding="utf8";while(true){switch(encoding){case"hex":return hexSlice(this,start,end);case"utf8":case"utf-8":return utf8Slice(this,start,end);case"ascii":return asciiSlice(this,start,end);case"latin1":case"binary":return latin1Slice(this,start,end);case"base64":return base64Slice(this,start,end);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return utf16leSlice(this,start,end);default:if(loweredCase)throw new TypeError("Unknown encoding: "+encoding);encoding=(encoding+"").toLowerCase();loweredCase=true}}}Buffer.prototype._isBuffer=true;function swap(b,n,m){var i=b[n];b[n]=b[m];b[m]=i}Buffer.prototype.swap16=function swap16(){var len=this.length;if(len%2!==0){throw new RangeError("Buffer size must be a multiple of 16-bits")}for(var i=0;i0){str=this.toString("hex",0,max).match(/.{2}/g).join(" ");if(this.length>max)str+=" ... "}return""};Buffer.prototype.compare=function compare(target,start,end,thisStart,thisEnd){if(!Buffer.isBuffer(target)){throw new TypeError("Argument must be a Buffer")}if(start===undefined){start=0}if(end===undefined){end=target?target.length:0}if(thisStart===undefined){thisStart=0}if(thisEnd===undefined){thisEnd=this.length}if(start<0||end>target.length||thisStart<0||thisEnd>this.length){throw new RangeError("out of range index")}if(thisStart>=thisEnd&&start>=end){return 0}if(thisStart>=thisEnd){return-1}if(start>=end){return 1}start>>>=0;end>>>=0;thisStart>>>=0;thisEnd>>>=0;if(this===target)return 0;var x=thisEnd-thisStart;var y=end-start;var len=Math.min(x,y);var thisCopy=this.slice(thisStart,thisEnd);var targetCopy=target.slice(start,end);for(var i=0;i2147483647){byteOffset=2147483647}else if(byteOffset<-2147483648){byteOffset=-2147483648}byteOffset=+byteOffset;if(isNaN(byteOffset)){byteOffset=dir?0:buffer.length-1}if(byteOffset<0)byteOffset=buffer.length+byteOffset;if(byteOffset>=buffer.length){if(dir)return-1;else byteOffset=buffer.length-1}else if(byteOffset<0){if(dir)byteOffset=0;else return-1}if(typeof val==="string"){val=Buffer.from(val,encoding)}if(Buffer.isBuffer(val)){if(val.length===0){return-1}return arrayIndexOf(buffer,val,byteOffset,encoding,dir)}else if(typeof val==="number"){val=val&255;if(Buffer.TYPED_ARRAY_SUPPORT&&typeof Uint8Array.prototype.indexOf==="function"){if(dir){return Uint8Array.prototype.indexOf.call(buffer,val,byteOffset)}else{return Uint8Array.prototype.lastIndexOf.call(buffer,val,byteOffset)}}return arrayIndexOf(buffer,[val],byteOffset,encoding,dir)}throw new TypeError("val must be string, number or Buffer")}function arrayIndexOf(arr,val,byteOffset,encoding,dir){var indexSize=1;var arrLength=arr.length;var valLength=val.length;if(encoding!==undefined){encoding=String(encoding).toLowerCase();if(encoding==="ucs2"||encoding==="ucs-2"||encoding==="utf16le"||encoding==="utf-16le"){if(arr.length<2||val.length<2){return-1}indexSize=2;arrLength/=2;valLength/=2;byteOffset/=2}}function read(buf,i){if(indexSize===1){return buf[i]}else{return buf.readUInt16BE(i*indexSize)}}var i;if(dir){var foundIndex=-1;for(i=byteOffset;iarrLength)byteOffset=arrLength-valLength;for(i=byteOffset;i>=0;i--){var found=true;for(var j=0;jremaining){length=remaining}}var strLen=string.length;if(strLen%2!==0)throw new TypeError("Invalid hex string");if(length>strLen/2){length=strLen/2}for(var i=0;iremaining)length=remaining;if(string.length>0&&(length<0||offset<0)||offset>this.length){throw new RangeError("Attempt to write outside buffer bounds")}if(!encoding)encoding="utf8";var loweredCase=false;for(;;){switch(encoding){case"hex":return hexWrite(this,string,offset,length);case"utf8":case"utf-8":return utf8Write(this,string,offset,length);case"ascii":return asciiWrite(this,string,offset,length);case"latin1":case"binary":return latin1Write(this,string,offset,length);case"base64":return base64Write(this,string,offset,length);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ucs2Write(this,string,offset,length);default:if(loweredCase)throw new TypeError("Unknown encoding: "+encoding);encoding=(""+encoding).toLowerCase();loweredCase=true}}};Buffer.prototype.toJSON=function toJSON(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function base64Slice(buf,start,end){if(start===0&&end===buf.length){return base64.fromByteArray(buf)}else{return base64.fromByteArray(buf.slice(start,end))}}function utf8Slice(buf,start,end){end=Math.min(buf.length,end);var res=[];var i=start;while(i239?4:firstByte>223?3:firstByte>191?2:1;if(i+bytesPerSequence<=end){var secondByte,thirdByte,fourthByte,tempCodePoint;switch(bytesPerSequence){case 1:if(firstByte<128){codePoint=firstByte}break;case 2:secondByte=buf[i+1];if((secondByte&192)===128){tempCodePoint=(firstByte&31)<<6|secondByte&63;if(tempCodePoint>127){codePoint=tempCodePoint}}break;case 3:secondByte=buf[i+1];thirdByte=buf[i+2];if((secondByte&192)===128&&(thirdByte&192)===128){tempCodePoint=(firstByte&15)<<12|(secondByte&63)<<6|thirdByte&63;if(tempCodePoint>2047&&(tempCodePoint<55296||tempCodePoint>57343)){codePoint=tempCodePoint}}break;case 4:secondByte=buf[i+1];thirdByte=buf[i+2];fourthByte=buf[i+3];if((secondByte&192)===128&&(thirdByte&192)===128&&(fourthByte&192)===128){tempCodePoint=(firstByte&15)<<18|(secondByte&63)<<12|(thirdByte&63)<<6|fourthByte&63;if(tempCodePoint>65535&&tempCodePoint<1114112){codePoint=tempCodePoint}}}}if(codePoint===null){codePoint=65533;bytesPerSequence=1}else if(codePoint>65535){codePoint-=65536;res.push(codePoint>>>10&1023|55296);codePoint=56320|codePoint&1023}res.push(codePoint);i+=bytesPerSequence}return decodeCodePointsArray(res)}var MAX_ARGUMENTS_LENGTH=4096;function decodeCodePointsArray(codePoints){var len=codePoints.length;if(len<=MAX_ARGUMENTS_LENGTH){return String.fromCharCode.apply(String,codePoints)}var res="";var i=0;while(ilen)end=len;var out="";for(var i=start;ilen){start=len}if(end<0){end+=len;if(end<0)end=0}else if(end>len){end=len}if(endlength)throw new RangeError("Trying to access beyond buffer length")}Buffer.prototype.readUIntLE=function readUIntLE(offset,byteLength,noAssert){offset=offset|0;byteLength=byteLength|0;if(!noAssert)checkOffset(offset,byteLength,this.length);var val=this[offset];var mul=1;var i=0;while(++i0&&(mul*=256)){val+=this[offset+--byteLength]*mul}return val};Buffer.prototype.readUInt8=function readUInt8(offset,noAssert){if(!noAssert)checkOffset(offset,1,this.length);return this[offset]};Buffer.prototype.readUInt16LE=function readUInt16LE(offset,noAssert){if(!noAssert)checkOffset(offset,2,this.length);return this[offset]|this[offset+1]<<8};Buffer.prototype.readUInt16BE=function readUInt16BE(offset,noAssert){if(!noAssert)checkOffset(offset,2,this.length);return this[offset]<<8|this[offset+1]};Buffer.prototype.readUInt32LE=function readUInt32LE(offset,noAssert){if(!noAssert)checkOffset(offset,4,this.length);return(this[offset]|this[offset+1]<<8|this[offset+2]<<16)+this[offset+3]*16777216};Buffer.prototype.readUInt32BE=function readUInt32BE(offset,noAssert){if(!noAssert)checkOffset(offset,4,this.length);return this[offset]*16777216+(this[offset+1]<<16|this[offset+2]<<8|this[offset+3])};Buffer.prototype.readIntLE=function readIntLE(offset,byteLength,noAssert){offset=offset|0;byteLength=byteLength|0;if(!noAssert)checkOffset(offset,byteLength,this.length);var val=this[offset];var mul=1;var i=0;while(++i=mul)val-=Math.pow(2,8*byteLength);return val};Buffer.prototype.readIntBE=function readIntBE(offset,byteLength,noAssert){offset=offset|0;byteLength=byteLength|0;if(!noAssert)checkOffset(offset,byteLength,this.length);var i=byteLength;var mul=1;var val=this[offset+--i];while(i>0&&(mul*=256)){val+=this[offset+--i]*mul}mul*=128;if(val>=mul)val-=Math.pow(2,8*byteLength);return val};Buffer.prototype.readInt8=function readInt8(offset,noAssert){if(!noAssert)checkOffset(offset,1,this.length);if(!(this[offset]&128))return this[offset];return(255-this[offset]+1)*-1};Buffer.prototype.readInt16LE=function readInt16LE(offset,noAssert){if(!noAssert)checkOffset(offset,2,this.length);var val=this[offset]|this[offset+1]<<8;return val&32768?val|4294901760:val};Buffer.prototype.readInt16BE=function readInt16BE(offset,noAssert){if(!noAssert)checkOffset(offset,2,this.length);var val=this[offset+1]|this[offset]<<8;return val&32768?val|4294901760:val};Buffer.prototype.readInt32LE=function readInt32LE(offset,noAssert){if(!noAssert)checkOffset(offset,4,this.length);return this[offset]|this[offset+1]<<8|this[offset+2]<<16|this[offset+3]<<24};Buffer.prototype.readInt32BE=function readInt32BE(offset,noAssert){if(!noAssert)checkOffset(offset,4,this.length);return this[offset]<<24|this[offset+1]<<16|this[offset+2]<<8|this[offset+3]};Buffer.prototype.readFloatLE=function readFloatLE(offset,noAssert){if(!noAssert)checkOffset(offset,4,this.length);return ieee754.read(this,offset,true,23,4)};Buffer.prototype.readFloatBE=function readFloatBE(offset,noAssert){if(!noAssert)checkOffset(offset,4,this.length);return ieee754.read(this,offset,false,23,4)};Buffer.prototype.readDoubleLE=function readDoubleLE(offset,noAssert){if(!noAssert)checkOffset(offset,8,this.length);return ieee754.read(this,offset,true,52,8)};Buffer.prototype.readDoubleBE=function readDoubleBE(offset,noAssert){if(!noAssert)checkOffset(offset,8,this.length);return ieee754.read(this,offset,false,52,8)};function checkInt(buf,value,offset,ext,max,min){if(!Buffer.isBuffer(buf))throw new TypeError('"buffer" argument must be a Buffer instance');if(value>max||valuebuf.length)throw new RangeError("Index out of range")}Buffer.prototype.writeUIntLE=function writeUIntLE(value,offset,byteLength,noAssert){value=+value;offset=offset|0;byteLength=byteLength|0;if(!noAssert){var maxBytes=Math.pow(2,8*byteLength)-1;checkInt(this,value,offset,byteLength,maxBytes,0)}var mul=1;var i=0;this[offset]=value&255;while(++i=0&&(mul*=256)){this[offset+i]=value/mul&255}return offset+byteLength};Buffer.prototype.writeUInt8=function writeUInt8(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,1,255,0);if(!Buffer.TYPED_ARRAY_SUPPORT)value=Math.floor(value);this[offset]=value&255;return offset+1};function objectWriteUInt16(buf,value,offset,littleEndian){if(value<0)value=65535+value+1;for(var i=0,j=Math.min(buf.length-offset,2);i>>(littleEndian?i:1-i)*8}}Buffer.prototype.writeUInt16LE=function writeUInt16LE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,2,65535,0);if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=value&255;this[offset+1]=value>>>8}else{objectWriteUInt16(this,value,offset,true)}return offset+2};Buffer.prototype.writeUInt16BE=function writeUInt16BE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,2,65535,0);if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=value>>>8;this[offset+1]=value&255}else{objectWriteUInt16(this,value,offset,false)}return offset+2};function objectWriteUInt32(buf,value,offset,littleEndian){if(value<0)value=4294967295+value+1;for(var i=0,j=Math.min(buf.length-offset,4);i>>(littleEndian?i:3-i)*8&255}}Buffer.prototype.writeUInt32LE=function writeUInt32LE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,4,4294967295,0);if(Buffer.TYPED_ARRAY_SUPPORT){this[offset+3]=value>>>24;this[offset+2]=value>>>16;this[offset+1]=value>>>8;this[offset]=value&255}else{objectWriteUInt32(this,value,offset,true)}return offset+4};Buffer.prototype.writeUInt32BE=function writeUInt32BE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,4,4294967295,0);if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=value>>>24;this[offset+1]=value>>>16;this[offset+2]=value>>>8;this[offset+3]=value&255}else{objectWriteUInt32(this,value,offset,false)}return offset+4};Buffer.prototype.writeIntLE=function writeIntLE(value,offset,byteLength,noAssert){value=+value;offset=offset|0;if(!noAssert){var limit=Math.pow(2,8*byteLength-1);checkInt(this,value,offset,byteLength,limit-1,-limit)}var i=0;var mul=1;var sub=0;this[offset]=value&255;while(++i>0)-sub&255}return offset+byteLength};Buffer.prototype.writeIntBE=function writeIntBE(value,offset,byteLength,noAssert){value=+value;offset=offset|0;if(!noAssert){var limit=Math.pow(2,8*byteLength-1);checkInt(this,value,offset,byteLength,limit-1,-limit)}var i=byteLength-1;var mul=1;var sub=0;this[offset+i]=value&255;while(--i>=0&&(mul*=256)){if(value<0&&sub===0&&this[offset+i+1]!==0){sub=1}this[offset+i]=(value/mul>>0)-sub&255}return offset+byteLength};Buffer.prototype.writeInt8=function writeInt8(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,1,127,-128);if(!Buffer.TYPED_ARRAY_SUPPORT)value=Math.floor(value);if(value<0)value=255+value+1;this[offset]=value&255;return offset+1};Buffer.prototype.writeInt16LE=function writeInt16LE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,2,32767,-32768);if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=value&255;this[offset+1]=value>>>8}else{objectWriteUInt16(this,value,offset,true)}return offset+2};Buffer.prototype.writeInt16BE=function writeInt16BE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,2,32767,-32768);if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=value>>>8;this[offset+1]=value&255}else{objectWriteUInt16(this,value,offset,false)}return offset+2};Buffer.prototype.writeInt32LE=function writeInt32LE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,4,2147483647,-2147483648);if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=value&255;this[offset+1]=value>>>8;this[offset+2]=value>>>16;this[offset+3]=value>>>24}else{objectWriteUInt32(this,value,offset,true)}return offset+4};Buffer.prototype.writeInt32BE=function writeInt32BE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,4,2147483647,-2147483648);if(value<0)value=4294967295+value+1;if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=value>>>24;this[offset+1]=value>>>16;this[offset+2]=value>>>8;this[offset+3]=value&255}else{objectWriteUInt32(this,value,offset,false)}return offset+4};function checkIEEE754(buf,value,offset,ext,max,min){if(offset+ext>buf.length)throw new RangeError("Index out of range");if(offset<0)throw new RangeError("Index out of range")}function writeFloat(buf,value,offset,littleEndian,noAssert){if(!noAssert){checkIEEE754(buf,value,offset,4,34028234663852886e22,-34028234663852886e22)}ieee754.write(buf,value,offset,littleEndian,23,4);return offset+4}Buffer.prototype.writeFloatLE=function writeFloatLE(value,offset,noAssert){return writeFloat(this,value,offset,true,noAssert)};Buffer.prototype.writeFloatBE=function writeFloatBE(value,offset,noAssert){return writeFloat(this,value,offset,false,noAssert)};function writeDouble(buf,value,offset,littleEndian,noAssert){if(!noAssert){checkIEEE754(buf,value,offset,8,17976931348623157e292,-17976931348623157e292)}ieee754.write(buf,value,offset,littleEndian,52,8);return offset+8}Buffer.prototype.writeDoubleLE=function writeDoubleLE(value,offset,noAssert){return writeDouble(this,value,offset,true,noAssert)};Buffer.prototype.writeDoubleBE=function writeDoubleBE(value,offset,noAssert){return writeDouble(this,value,offset,false,noAssert)};Buffer.prototype.copy=function copy(target,targetStart,start,end){if(!start)start=0;if(!end&&end!==0)end=this.length;if(targetStart>=target.length)targetStart=target.length;if(!targetStart)targetStart=0;if(end>0&&end=this.length)throw new RangeError("sourceStart out of bounds");if(end<0)throw new RangeError("sourceEnd out of bounds");if(end>this.length)end=this.length;if(target.length-targetStart=0;--i){target[i+targetStart]=this[i+start]}}else if(len<1e3||!Buffer.TYPED_ARRAY_SUPPORT){for(i=0;i>>0;end=end===undefined?this.length:end>>>0;if(!val)val=0;var i;if(typeof val==="number"){for(i=start;i55295&&codePoint<57344){if(!leadSurrogate){if(codePoint>56319){if((units-=3)>-1)bytes.push(239,191,189);continue}else if(i+1===length){if((units-=3)>-1)bytes.push(239,191,189);continue}leadSurrogate=codePoint;continue}if(codePoint<56320){if((units-=3)>-1)bytes.push(239,191,189);leadSurrogate=codePoint;continue}codePoint=(leadSurrogate-55296<<10|codePoint-56320)+65536}else if(leadSurrogate){if((units-=3)>-1)bytes.push(239,191,189)}leadSurrogate=null;if(codePoint<128){if((units-=1)<0)break;bytes.push(codePoint)}else if(codePoint<2048){if((units-=2)<0)break;bytes.push(codePoint>>6|192,codePoint&63|128)}else if(codePoint<65536){if((units-=3)<0)break;bytes.push(codePoint>>12|224,codePoint>>6&63|128,codePoint&63|128)}else if(codePoint<1114112){if((units-=4)<0)break;bytes.push(codePoint>>18|240,codePoint>>12&63|128,codePoint>>6&63|128,codePoint&63|128)}else{throw new Error("Invalid code point")}}return bytes}function asciiToBytes(str){var byteArray=[];for(var i=0;i>8;lo=c%256;byteArray.push(lo);byteArray.push(hi)}return byteArray}function base64ToBytes(str){return base64.toByteArray(base64clean(str))}function blitBuffer(src,dst,offset,length){for(var i=0;i=dst.length||i>=src.length)break;dst[i+offset]=src[i]}return i}function isnan(val){return val!==val}}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{"base64-js":15,ieee754:17,isarray:18}],17:[function(require,module,exports){exports.read=function(buffer,offset,isLE,mLen,nBytes){var e,m;var eLen=nBytes*8-mLen-1;var eMax=(1<>1;var nBits=-7;var i=isLE?nBytes-1:0;var d=isLE?-1:1;var s=buffer[offset+i];i+=d;e=s&(1<<-nBits)-1;s>>=-nBits;nBits+=eLen;for(;nBits>0;e=e*256+buffer[offset+i],i+=d,nBits-=8){}m=e&(1<<-nBits)-1;e>>=-nBits;nBits+=mLen;for(;nBits>0;m=m*256+buffer[offset+i],i+=d,nBits-=8){}if(e===0){e=1-eBias}else if(e===eMax){return m?NaN:(s?-1:1)*Infinity}else{m=m+Math.pow(2,mLen);e=e-eBias}return(s?-1:1)*m*Math.pow(2,e-mLen)};exports.write=function(buffer,value,offset,isLE,mLen,nBytes){var e,m,c;var eLen=nBytes*8-mLen-1;var eMax=(1<>1;var rt=mLen===23?Math.pow(2,-24)-Math.pow(2,-77):0;var i=isLE?0:nBytes-1;var d=isLE?1:-1;var s=value<0||value===0&&1/value<0?1:0;value=Math.abs(value);if(isNaN(value)||value===Infinity){m=isNaN(value)?1:0;e=eMax}else{e=Math.floor(Math.log(value)/Math.LN2);if(value*(c=Math.pow(2,-e))<1){e--;c*=2}if(e+eBias>=1){value+=rt/c}else{value+=rt*Math.pow(2,1-eBias)}if(value*c>=2){e++;c/=2}if(e+eBias>=eMax){m=0;e=eMax}else if(e+eBias>=1){m=(value*c-1)*Math.pow(2,mLen);e=e+eBias}else{m=value*Math.pow(2,eBias-1)*Math.pow(2,mLen);e=0}}for(;mLen>=8;buffer[offset+i]=m&255,i+=d,m/=256,mLen-=8){}e=e<0;buffer[offset+i]=e&255,i+=d,e/=256,eLen-=8){}buffer[offset+i-d]|=s*128}},{}],18:[function(require,module,exports){var toString={}.toString;module.exports=Array.isArray||function(arr){return toString.call(arr)=="[object Array]"}},{}]},{},[1]); \ No newline at end of file +(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i1&&typeof propertyValue==="string"){allValues=Array.prototype.slice.call(additionalProperties)}this.urlComponents.oDataQueryParams[propertyName]+=allValues.join(",")};GraphRequest.prototype.delete=function(callback){var self=this,url=self.buildFullUrl(),options={method:RequestMethod_1.RequestMethod.DELETE};return self.sendRequestAndRouteResponse(url,options,callback)};GraphRequest.prototype.del=function(callback){return this.delete(callback)};GraphRequest.prototype.patch=function(content,callback){var self=this,url=self.buildFullUrl(),options={method:RequestMethod_1.RequestMethod.PATCH,body:GraphHelper_1.GraphHelper.serializeContent(content),headers:{"Content-Type":"application/json"}};return self.sendRequestAndRouteResponse(url,options,callback)};GraphRequest.prototype.post=function(content,callback){var self=this,url=self.buildFullUrl(),options={method:RequestMethod_1.RequestMethod.POST,body:GraphHelper_1.GraphHelper.serializeContent(content),headers:content.constructor!==undefined&&content.constructor.name==="FormData"?{}:{"Content-Type":"application/json"}};return self.sendRequestAndRouteResponse(url,options,callback)};GraphRequest.prototype.create=function(content,callback){return this.post(content,callback)};GraphRequest.prototype.put=function(content,callback){var self=this,url=self.buildFullUrl(),options={method:RequestMethod_1.RequestMethod.PUT,body:GraphHelper_1.GraphHelper.serializeContent(content),headers:{"Content-Type":"application/octet-stream"}};return self.sendRequestAndRouteResponse(url,options,callback)};GraphRequest.prototype.update=function(content,callback){return this.patch(content,callback)};GraphRequest.prototype.get=function(callback){var self=this,url=self.buildFullUrl(),options={method:RequestMethod_1.RequestMethod.GET};return self.sendRequestAndRouteResponse(url,options,callback)};GraphRequest.prototype.getStream=function(callback){var self=this,url=self.buildFullUrl(),options={method:RequestMethod_1.RequestMethod.GET};self.responseType(ResponseType_1.ResponseType.STREAM);return self.sendRequestAndRouteResponse(url,options,callback)};GraphRequest.prototype.putStream=function(stream,callback){var self=this,url=self.buildFullUrl(),options={method:RequestMethod_1.RequestMethod.PUT,headers:{"Content-Type":"application/octet-stream"},body:stream};return self.sendRequestAndRouteResponse(url,options,callback)};GraphRequest.prototype.sendRequestAndRouteResponse=function(request,options,callback){if(callback==null&&typeof es6_promise_1.Promise!=="undefined"){return this.routeResponseToPromise(request,options)}else{this.routeResponseToCallback(request,options,callback)}};GraphRequest.prototype.routeResponseToPromise=function(request,options){var _this=this;return new es6_promise_1.Promise(function(resolve,reject){_this.routeResponseToCallback(request,options,function(err,body){if(err!=null){reject(err)}else{resolve(body)}})})};GraphRequest.prototype.routeResponseToCallback=function(request,options,callback){var _this=this;if(callback===void 0){callback=function(){}}var self=this;self.config.authProvider(function(err,accessToken){if(err==null&&accessToken!=null){options=self.configureRequestOptions(options,accessToken);fetch(request,options).then(function(response){_this.convertResponseType(response).then(function(responseValue){ResponseHandler_1.ResponseHandler.init(response,undefined,responseValue,callback)}).catch(function(error){ResponseHandler_1.ResponseHandler.init(response,error,undefined,callback)})}).catch(function(error){ResponseHandler_1.ResponseHandler.init(undefined,error,undefined,callback)})}else{callback(err,null,null)}})};GraphRequest.prototype.configureRequestOptions=function(options,accessToken){var self=this,defaultHeaders={Authorization:"Bearer "+accessToken,SdkVersion:"graph-js-"+common_1.PACKAGE_VERSION};var configuredOptions={headers:{}};Object.assign(configuredOptions,self.config.fetchOptions,self._options,options);Object.assign(configuredOptions.headers,defaultHeaders,self._headers,options.headers);return configuredOptions};GraphRequest.prototype.query=function(queryDictionaryOrString){if(typeof queryDictionaryOrString==="string"){var queryStr=queryDictionaryOrString;var queryKey=queryStr.split("=")[0];var queryValue=queryStr.split("=")[1];this.urlComponents.otherURLQueryParams[queryKey]=queryValue}else{for(var key in queryDictionaryOrString){this.urlComponents.otherURLQueryParams[key]=queryDictionaryOrString[key]}}return this};GraphRequest.prototype.createQueryString=function(){var q=[];if(Object.keys(this.urlComponents.oDataQueryParams).length!=0){for(var property in this.urlComponents.oDataQueryParams){q.push(property+"="+this.urlComponents.oDataQueryParams[property])}}if(Object.keys(this.urlComponents.otherURLQueryParams).length!=0){for(var property in this.urlComponents.otherURLQueryParams){q.push(property+"="+this.urlComponents.otherURLQueryParams[property])}}if(q.length>0){return"?"+q.join("&")}return""};GraphRequest.prototype.convertResponseType=function(response){var responseValue;if(!this._responseType){this._responseType=""}switch(this._responseType.toLowerCase()){case ResponseType_1.ResponseType.ARRAYBUFFER:responseValue=response.arrayBuffer();break;case ResponseType_1.ResponseType.BLOB:responseValue=response.blob();break;case ResponseType_1.ResponseType.DOCUMENT:responseValue=response.json();break;case ResponseType_1.ResponseType.JSON:responseValue=response.json();break;case ResponseType_1.ResponseType.STREAM:responseValue=es6_promise_1.Promise.resolve(response.body);break;case ResponseType_1.ResponseType.TEXT:responseValue=response.text();break;default:responseValue=response.json();break}return responseValue};return GraphRequest}();exports.GraphRequest=GraphRequest},{"./GraphHelper":2,"./RequestMethod":5,"./ResponseHandler":6,"./ResponseType":7,"./common":8,"es6-promise":"es6-promise","isomorphic-fetch":"isomorphic-fetch"}],4:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var Range=function(){function Range(minVal,maxVal){if(minVal===void 0){minVal=-1}if(maxVal===void 0){maxVal=-1}var self=this;self.minValue=minVal;self.maxValue=maxVal}return Range}();exports.Range=Range},{}],5:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var RequestMethod;(function(RequestMethod){RequestMethod["GET"]="GET";RequestMethod["PATCH"]="PATCH";RequestMethod["POST"]="POST";RequestMethod["PUT"]="PUT";RequestMethod["DELETE"]="DELETE"})(RequestMethod=exports.RequestMethod||(exports.RequestMethod={}))},{}],6:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var ResponseHandler=function(){function ResponseHandler(){}ResponseHandler.init=function(res,err,resContents,callback){if(res&&res.ok){callback(null,resContents,res)}else{if(err==null&&res!=null)if(resContents!=null&&resContents.error!=null)callback(ResponseHandler.buildGraphErrorFromResponseObject(resContents.error,res.status),null,res);else callback(ResponseHandler.defaultGraphError(res.status),null,res);else callback(ResponseHandler.ParseError(err),null,res)}};ResponseHandler.ParseError=function(rawErr){if(!rawErr){return ResponseHandler.defaultGraphError(-1)}return ResponseHandler.buildGraphErrorFromErrorObject(rawErr)};ResponseHandler.defaultGraphError=function(statusCode){return{statusCode:statusCode,code:null,message:null,requestId:null,date:new Date,body:null}};ResponseHandler.buildGraphErrorFromErrorObject=function(errObj){var error=ResponseHandler.defaultGraphError(-1);error.body=errObj.toString();error.message=errObj.message;error.date=new Date;return error};ResponseHandler.buildGraphErrorFromResponseObject=function(errObj,statusCode){return{statusCode:statusCode,code:errObj.code,message:errObj.message,requestId:errObj.innerError!==undefined?errObj.innerError["request-id"]:"",date:errObj.innerError!==undefined?new Date(errObj.innerError.date):new Date,body:errObj}};return ResponseHandler}();exports.ResponseHandler=ResponseHandler},{}],7:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var ResponseType;(function(ResponseType){ResponseType["ARRAYBUFFER"]="arraybuffer";ResponseType["BLOB"]="blob";ResponseType["DOCUMENT"]="document";ResponseType["JSON"]="json";ResponseType["STREAM"]="stream";ResponseType["TEXT"]="text"})(ResponseType=exports.ResponseType||(exports.ResponseType={}))},{}],8:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.oDataQueryNames=["select","expand","orderby","filter","top","skip","skipToken","count"];exports.DEFAULT_VERSION="v1.0";exports.GRAPH_BASE_URL="https://graph.microsoft.com/";exports.PACKAGE_VERSION="1.3.0";exports.oDataQueryNames=exports.oDataQueryNames.concat(exports.oDataQueryNames.map(function(s){return"$"+s}))},{}],9:[function(require,module,exports){(function(Buffer){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):new P(function(resolve){resolve(result.value)}).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};var __generator=this&&this.__generator||function(thisArg,body){var _={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},f,y,t,g;return g={next:verb(0),throw:verb(1),return:verb(2)},typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]limit){var error=new Error("Maximum requests limit exceeded, Max allowed number of requests are "+limit);error.name="Limit Exceeded Error";throw error}for(var _i=0,requests_1=requests;_i0){batchRequestData.dependsOn=requestStep.dependsOn}requests.push(batchRequestData);cur=iterator.next();return[3,1];case 3:requestBody.requests=requests;return[2,requestBody]}})})};BatchRequestContent.validateDependencies=function(requests){var isParallel=function(requests){var iterator=requests.entries(),cur=iterator.next();while(!cur.done){var curReq=cur.value[1];if(curReq.dependsOn!==undefined&&curReq.dependsOn.length>0){return false}cur=iterator.next()}return true};var isSerial=function(requests){var iterator=requests.entries(),cur=iterator.next();var firstRequest=cur.value[1];if(firstRequest.dependsOn!==undefined&&firstRequest.dependsOn.length>0){return false}var prev=cur;cur=iterator.next();while(!cur.done){var curReq=cur.value[1];if(curReq.dependsOn===undefined||curReq.dependsOn.length!==1||curReq.dependsOn[0]!==prev.value[1].id){return false}prev=cur;cur=iterator.next()}return true};var isSame=function(requests){var iterator=requests.entries(),cur=iterator.next();var firstRequest=cur.value[1],dependencyId;if(firstRequest.dependsOn===undefined||firstRequest.dependsOn.length===0){dependencyId=firstRequest.id}else{if(firstRequest.dependsOn.length===1){var fDependencyId=firstRequest.dependsOn[0];if(fDependencyId!==firstRequest.id&&requests.has(fDependencyId)){dependencyId=fDependencyId}else{return false}}else{return false}}cur=iterator.next();while(!cur.done){var curReq=cur.value[1];if((curReq.dependsOn===undefined||curReq.dependsOn.length===0)&&dependencyId!==curReq.id){return false}if(curReq.dependsOn!==undefined&&curReq.dependsOn.length!==0){if(curReq.dependsOn.length===1&&(curReq.id===dependencyId||curReq.dependsOn[0]!==dependencyId)){return false}if(curReq.dependsOn.length>1){return false}}cur=iterator.next()}return true};if(requests.size===0){var error=new Error("Empty requests map, Please provide at least one request.");error.name="Empty Requests Error";throw error}return isParallel(requests)||isSerial(requests)||isSame(requests)};BatchRequestContent.getRequestData=function(request){return __awaiter(this,void 0,void 0,function(){var requestData,hasHttpRegex,headers,_a;return __generator(this,function(_b){switch(_b.label){case 0:requestData={};hasHttpRegex=new RegExp("^https?://");if(hasHttpRegex.test(request.url)){requestData.url="/"+request.url.split(/.*?\/\/.*?\//)[1]}else{requestData.url=request.url}requestData.method=request.method;headers={};request.headers.forEach(function(value,key){headers[key]=value});if(Object.keys(headers).length){requestData.headers=headers}if(!(request.method===RequestMethod_1.RequestMethod.PATCH||request.method===RequestMethod_1.RequestMethod.POST||request.method===RequestMethod_1.RequestMethod.PUT))return[3,2];_a=requestData;return[4,BatchRequestContent.getRequestBody(request)];case 1:_a.body=_b.sent();_b.label=2;case 2:return[2,requestData]}})})};BatchRequestContent.getRequestBody=function(request){return __awaiter(this,void 0,void 0,function(){var bodyParsed,body,cloneReq,e_1,blob_1,reader_1,buffer,e_2;return __generator(this,function(_a){switch(_a.label){case 0:bodyParsed=false;_a.label=1;case 1:_a.trys.push([1,3,,4]);cloneReq=request.clone();return[4,cloneReq.json()];case 2:body=_a.sent();bodyParsed=true;return[3,4];case 3:e_1=_a.sent();return[3,4];case 4:if(!!bodyParsed)return[3,12];_a.label=5;case 5:_a.trys.push([5,11,,12]);if(!(typeof Blob!=="undefined"))return[3,8];return[4,request.blob()];case 6:blob_1=_a.sent();reader_1=new FileReader;return[4,new Promise(function(resolve){reader_1.addEventListener("load",function(){var dataURL=reader_1.result,regex=new RegExp("^s*data:(.+?/.+?(;.+?=.+?)*)?(;base64)?,(.*)s*$"),segments=regex.exec(dataURL);resolve(segments[4])},false);reader_1.readAsDataURL(blob_1)})];case 7:body=_a.sent();return[3,10];case 8:if(!(typeof Buffer!=="undefined"))return[3,10];return[4,request.buffer()];case 9:buffer=_a.sent();body=buffer.toString("base64");_a.label=10;case 10:bodyParsed=true;return[3,12];case 11:e_2=_a.sent();return[3,12];case 12:return[2,body]}})})};BatchRequestContent.prototype.addDependency=function(dependentId,dependencyId){var self=this;if(!self.requests.has(dependentId)){var error=new Error("Dependent "+dependentId+" does not exists, Please check the id");error.name="Invalid Dependent";throw error}if(typeof dependencyId!=="undefined"&&!self.requests.has(dependencyId)){var error=new Error("Dependency "+dependencyId+" does not exists, Please check the id");error.name="Invalid Dependency";throw error}if(typeof dependencyId!=="undefined"){var dependent=self.requests.get(dependentId);if(dependent.dependsOn===undefined){dependent.dependsOn=[]}if(dependent.dependsOn.includes(dependencyId)){var error=new Error("Dependency "+dependencyId+" is already added for the request "+dependentId);error.name="Duplicate Dependency";throw error}dependent.dependsOn.push(dependencyId)}else{var prev=void 0,iterator=self.requests.entries(),cur=iterator.next();while(!cur.done&&cur.value[1].id!==dependentId){prev=cur;cur=iterator.next()}if(typeof prev!=="undefined"){var dependencyId_1=prev.value[0];if(cur.value[1].dependsOn===undefined){cur.value[1].dependsOn=[]}if(cur.value[1].dependsOn.includes(dependencyId_1)){var error=new Error("Dependency "+dependencyId_1+" is already added for the request "+dependentId);error.name="Duplicate Dependency";throw error}cur.value[1].dependsOn.push(dependencyId_1)}else{var error=new Error("Can't add dependency "+dependencyId+", There is only a dependent request in the batch");error.name="Invalid Dependency Addition";throw error}}};BatchRequestContent.prototype.removeDependency=function(dependentId,dependencyId){var request=this.requests.get(dependentId);if(typeof request==="undefined"||request.dependsOn===undefined||request.dependsOn.length===0){return false}if(typeof dependencyId!=="undefined"){var index=request.dependsOn.indexOf(dependencyId);if(index===-1){return false}request.dependsOn.splice(index,1);return true}else{delete request.dependsOn;return true}};BatchRequestContent.requestLimit=20;return BatchRequestContent}();exports.BatchRequestContent=BatchRequestContent}).call(this,require("buffer").Buffer)},{"../RequestMethod":5,buffer:17}],10:[function(require,module,exports){"use strict";var __generator=this&&this.__generator||function(thisArg,body){var _={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},f,y,t,g;return g={next:verb(0),throw:verb(1),return:verb(2)},typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]=self.file.size){maxValue=self.file.size-1}return new Range_1.Range(minVal,maxValue)};LargeFileUploadTask.prototype.sliceFile=function(range){var blob=this.file.content.slice(range.minValue,range.maxValue+1);return blob};LargeFileUploadTask.prototype.upload=function(){return __awaiter(this,void 0,void 0,function(){var self,nextRange,err,fileSlice,response,err_1;return __generator(this,function(_a){switch(_a.label){case 0:self=this;_a.label=1;case 1:_a.trys.push([1,5,,6]);_a.label=2;case 2:if(!true)return[3,4];nextRange=self.getNextRange();if(nextRange.maxValue===-1){err=new Error("Task with which you are trying to upload is already completed, Please check for your uploaded file");err.name="Invalid Session";throw err}fileSlice=self.sliceFile(nextRange);return[4,self.uploadSlice(fileSlice,nextRange,self.file.size)];case 3:response=_a.sent();if(response.id!==undefined){return[2,response]}else{self.updateTaskStatus(response)}return[3,2];case 4:return[3,6];case 5:err_1=_a.sent();throw err_1;case 6:return[2]}})})};LargeFileUploadTask.prototype.uploadSlice=function(fileSlice,range,totalSize){return __awaiter(this,void 0,void 0,function(){var self,err_2;return __generator(this,function(_a){switch(_a.label){case 0:self=this;_a.label=1;case 1:_a.trys.push([1,3,,4]);return[4,self.client.api(self.uploadSession.url).headers({"Content-Length":""+(range.maxValue-range.minValue+1),"Content-Range":"bytes "+range.minValue+"-"+range.maxValue+"/"+totalSize}).put(fileSlice)];case 2:return[2,_a.sent()];case 3:err_2=_a.sent();throw err_2;case 4:return[2]}})})};LargeFileUploadTask.prototype.cancel=function(){return __awaiter(this,void 0,void 0,function(){var self,err_3;return __generator(this,function(_a){switch(_a.label){case 0:self=this;_a.label=1;case 1:_a.trys.push([1,3,,4]);return[4,self.client.api(self.uploadSession.url).delete()];case 2:return[2,_a.sent()];case 3:err_3=_a.sent();throw err_3;case 4:return[2]}})})};LargeFileUploadTask.prototype.getStatus=function(){return __awaiter(this,void 0,void 0,function(){var self,response,err_4;return __generator(this,function(_a){switch(_a.label){case 0:self=this;_a.label=1;case 1:_a.trys.push([1,3,,4]);return[4,self.client.api(self.uploadSession.url).get()];case 2:response=_a.sent();self.updateTaskStatus(response);return[2,response];case 3:err_4=_a.sent();throw err_4;case 4:return[2]}})})};LargeFileUploadTask.prototype.resume=function(){return __awaiter(this,void 0,void 0,function(){var self,err_5;return __generator(this,function(_a){switch(_a.label){case 0:self=this;_a.label=1;case 1:_a.trys.push([1,4,,5]);return[4,self.getStatus()];case 2:_a.sent();return[4,self.upload()];case 3:return[2,_a.sent()];case 4:err_5=_a.sent();throw err_5;case 5:return[2]}})})};return LargeFileUploadTask}();exports.LargeFileUploadTask=LargeFileUploadTask},{"../Range":4}],13:[function(require,module,exports){"use strict";var __extends=this&&this.__extends||function(){var extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(b.hasOwnProperty(p))d[p]=b[p]};return function(d,b){extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):new P(function(resolve){resolve(result.value)}).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};var __generator=this&&this.__generator||function(thisArg,body){var _={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},f,y,t,g;return g={next:verb(0),throw:verb(1),return:verb(2)},typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]320*1024){value=Math.floor(value/(320*1024))*320*1024}return value};exports.getValidRangeSize=function(rangeSize){if(rangeSize===void 0){rangeSize=DEFAULT_FILE_SIZE}var sixtyMB=60*1024*1024;if(rangeSize>sixtyMB){rangeSize=sixtyMB}return roundTo320KB(rangeSize)}},{}],15:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):new P(function(resolve){resolve(result.value)}).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};var __generator=this&&this.__generator||function(thisArg,body){var _={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},f,y,t,g;return g={next:verb(0),throw:verb(1),return:verb(2)},typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]0){throw new Error("Invalid string. Length must be a multiple of 4")}var validLen=b64.indexOf("=");if(validLen===-1)validLen=len;var placeHoldersLen=validLen===len?0:4-validLen%4;return[validLen,placeHoldersLen]}function byteLength(b64){var lens=getLens(b64);var validLen=lens[0];var placeHoldersLen=lens[1];return(validLen+placeHoldersLen)*3/4-placeHoldersLen}function _byteLength(b64,validLen,placeHoldersLen){return(validLen+placeHoldersLen)*3/4-placeHoldersLen}function toByteArray(b64){var tmp;var lens=getLens(b64);var validLen=lens[0];var placeHoldersLen=lens[1];var arr=new Arr(_byteLength(b64,validLen,placeHoldersLen));var curByte=0;var len=placeHoldersLen>0?validLen-4:validLen;for(var i=0;i>16&255;arr[curByte++]=tmp>>8&255;arr[curByte++]=tmp&255}if(placeHoldersLen===2){tmp=revLookup[b64.charCodeAt(i)]<<2|revLookup[b64.charCodeAt(i+1)]>>4;arr[curByte++]=tmp&255}if(placeHoldersLen===1){tmp=revLookup[b64.charCodeAt(i)]<<10|revLookup[b64.charCodeAt(i+1)]<<4|revLookup[b64.charCodeAt(i+2)]>>2;arr[curByte++]=tmp>>8&255;arr[curByte++]=tmp&255}return arr}function tripletToBase64(num){return lookup[num>>18&63]+lookup[num>>12&63]+lookup[num>>6&63]+lookup[num&63]}function encodeChunk(uint8,start,end){var tmp;var output=[];for(var i=start;ilen2?len2:i+maxChunkLength))}if(extraBytes===1){tmp=uint8[len-1];parts.push(lookup[tmp>>2]+lookup[tmp<<4&63]+"==")}else if(extraBytes===2){tmp=(uint8[len-2]<<8)+uint8[len-1];parts.push(lookup[tmp>>10]+lookup[tmp>>4&63]+lookup[tmp<<2&63]+"=")}return parts.join("")}},{}],17:[function(require,module,exports){(function(global){"use strict";var base64=require("base64-js");var ieee754=require("ieee754");var isArray=require("isarray");exports.Buffer=Buffer;exports.SlowBuffer=SlowBuffer;exports.INSPECT_MAX_BYTES=50;Buffer.TYPED_ARRAY_SUPPORT=global.TYPED_ARRAY_SUPPORT!==undefined?global.TYPED_ARRAY_SUPPORT:typedArraySupport();exports.kMaxLength=kMaxLength();function typedArraySupport(){try{var arr=new Uint8Array(1);arr.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}};return arr.foo()===42&&typeof arr.subarray==="function"&&arr.subarray(1,1).byteLength===0}catch(e){return false}}function kMaxLength(){return Buffer.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function createBuffer(that,length){if(kMaxLength()=kMaxLength()){throw new RangeError("Attempt to allocate Buffer larger than maximum "+"size: 0x"+kMaxLength().toString(16)+" bytes")}return length|0}function SlowBuffer(length){if(+length!=length){length=0}return Buffer.alloc(+length)}Buffer.isBuffer=function isBuffer(b){return!!(b!=null&&b._isBuffer)};Buffer.compare=function compare(a,b){if(!Buffer.isBuffer(a)||!Buffer.isBuffer(b)){throw new TypeError("Arguments must be Buffers")}if(a===b)return 0;var x=a.length;var y=b.length;for(var i=0,len=Math.min(x,y);i>>1;case"base64":return base64ToBytes(string).length;default:if(loweredCase)return utf8ToBytes(string).length;encoding=(""+encoding).toLowerCase();loweredCase=true}}}Buffer.byteLength=byteLength;function slowToString(encoding,start,end){var loweredCase=false;if(start===undefined||start<0){start=0}if(start>this.length){return""}if(end===undefined||end>this.length){end=this.length}if(end<=0){return""}end>>>=0;start>>>=0;if(end<=start){return""}if(!encoding)encoding="utf8";while(true){switch(encoding){case"hex":return hexSlice(this,start,end);case"utf8":case"utf-8":return utf8Slice(this,start,end);case"ascii":return asciiSlice(this,start,end);case"latin1":case"binary":return latin1Slice(this,start,end);case"base64":return base64Slice(this,start,end);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return utf16leSlice(this,start,end);default:if(loweredCase)throw new TypeError("Unknown encoding: "+encoding);encoding=(encoding+"").toLowerCase();loweredCase=true}}}Buffer.prototype._isBuffer=true;function swap(b,n,m){var i=b[n];b[n]=b[m];b[m]=i}Buffer.prototype.swap16=function swap16(){var len=this.length;if(len%2!==0){throw new RangeError("Buffer size must be a multiple of 16-bits")}for(var i=0;i0){str=this.toString("hex",0,max).match(/.{2}/g).join(" ");if(this.length>max)str+=" ... "}return""};Buffer.prototype.compare=function compare(target,start,end,thisStart,thisEnd){if(!Buffer.isBuffer(target)){throw new TypeError("Argument must be a Buffer")}if(start===undefined){start=0}if(end===undefined){end=target?target.length:0}if(thisStart===undefined){thisStart=0}if(thisEnd===undefined){thisEnd=this.length}if(start<0||end>target.length||thisStart<0||thisEnd>this.length){throw new RangeError("out of range index")}if(thisStart>=thisEnd&&start>=end){return 0}if(thisStart>=thisEnd){return-1}if(start>=end){return 1}start>>>=0;end>>>=0;thisStart>>>=0;thisEnd>>>=0;if(this===target)return 0;var x=thisEnd-thisStart;var y=end-start;var len=Math.min(x,y);var thisCopy=this.slice(thisStart,thisEnd);var targetCopy=target.slice(start,end);for(var i=0;i2147483647){byteOffset=2147483647}else if(byteOffset<-2147483648){byteOffset=-2147483648}byteOffset=+byteOffset;if(isNaN(byteOffset)){byteOffset=dir?0:buffer.length-1}if(byteOffset<0)byteOffset=buffer.length+byteOffset;if(byteOffset>=buffer.length){if(dir)return-1;else byteOffset=buffer.length-1}else if(byteOffset<0){if(dir)byteOffset=0;else return-1}if(typeof val==="string"){val=Buffer.from(val,encoding)}if(Buffer.isBuffer(val)){if(val.length===0){return-1}return arrayIndexOf(buffer,val,byteOffset,encoding,dir)}else if(typeof val==="number"){val=val&255;if(Buffer.TYPED_ARRAY_SUPPORT&&typeof Uint8Array.prototype.indexOf==="function"){if(dir){return Uint8Array.prototype.indexOf.call(buffer,val,byteOffset)}else{return Uint8Array.prototype.lastIndexOf.call(buffer,val,byteOffset)}}return arrayIndexOf(buffer,[val],byteOffset,encoding,dir)}throw new TypeError("val must be string, number or Buffer")}function arrayIndexOf(arr,val,byteOffset,encoding,dir){var indexSize=1;var arrLength=arr.length;var valLength=val.length;if(encoding!==undefined){encoding=String(encoding).toLowerCase();if(encoding==="ucs2"||encoding==="ucs-2"||encoding==="utf16le"||encoding==="utf-16le"){if(arr.length<2||val.length<2){return-1}indexSize=2;arrLength/=2;valLength/=2;byteOffset/=2}}function read(buf,i){if(indexSize===1){return buf[i]}else{return buf.readUInt16BE(i*indexSize)}}var i;if(dir){var foundIndex=-1;for(i=byteOffset;iarrLength)byteOffset=arrLength-valLength;for(i=byteOffset;i>=0;i--){var found=true;for(var j=0;jremaining){length=remaining}}var strLen=string.length;if(strLen%2!==0)throw new TypeError("Invalid hex string");if(length>strLen/2){length=strLen/2}for(var i=0;iremaining)length=remaining;if(string.length>0&&(length<0||offset<0)||offset>this.length){throw new RangeError("Attempt to write outside buffer bounds")}if(!encoding)encoding="utf8";var loweredCase=false;for(;;){switch(encoding){case"hex":return hexWrite(this,string,offset,length);case"utf8":case"utf-8":return utf8Write(this,string,offset,length);case"ascii":return asciiWrite(this,string,offset,length);case"latin1":case"binary":return latin1Write(this,string,offset,length);case"base64":return base64Write(this,string,offset,length);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ucs2Write(this,string,offset,length);default:if(loweredCase)throw new TypeError("Unknown encoding: "+encoding);encoding=(""+encoding).toLowerCase();loweredCase=true}}};Buffer.prototype.toJSON=function toJSON(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function base64Slice(buf,start,end){if(start===0&&end===buf.length){return base64.fromByteArray(buf)}else{return base64.fromByteArray(buf.slice(start,end))}}function utf8Slice(buf,start,end){end=Math.min(buf.length,end);var res=[];var i=start;while(i239?4:firstByte>223?3:firstByte>191?2:1;if(i+bytesPerSequence<=end){var secondByte,thirdByte,fourthByte,tempCodePoint;switch(bytesPerSequence){case 1:if(firstByte<128){codePoint=firstByte}break;case 2:secondByte=buf[i+1];if((secondByte&192)===128){tempCodePoint=(firstByte&31)<<6|secondByte&63;if(tempCodePoint>127){codePoint=tempCodePoint}}break;case 3:secondByte=buf[i+1];thirdByte=buf[i+2];if((secondByte&192)===128&&(thirdByte&192)===128){tempCodePoint=(firstByte&15)<<12|(secondByte&63)<<6|thirdByte&63;if(tempCodePoint>2047&&(tempCodePoint<55296||tempCodePoint>57343)){codePoint=tempCodePoint}}break;case 4:secondByte=buf[i+1];thirdByte=buf[i+2];fourthByte=buf[i+3];if((secondByte&192)===128&&(thirdByte&192)===128&&(fourthByte&192)===128){tempCodePoint=(firstByte&15)<<18|(secondByte&63)<<12|(thirdByte&63)<<6|fourthByte&63;if(tempCodePoint>65535&&tempCodePoint<1114112){codePoint=tempCodePoint}}}}if(codePoint===null){codePoint=65533;bytesPerSequence=1}else if(codePoint>65535){codePoint-=65536;res.push(codePoint>>>10&1023|55296);codePoint=56320|codePoint&1023}res.push(codePoint);i+=bytesPerSequence}return decodeCodePointsArray(res)}var MAX_ARGUMENTS_LENGTH=4096;function decodeCodePointsArray(codePoints){var len=codePoints.length;if(len<=MAX_ARGUMENTS_LENGTH){return String.fromCharCode.apply(String,codePoints)}var res="";var i=0;while(ilen)end=len;var out="";for(var i=start;ilen){start=len}if(end<0){end+=len;if(end<0)end=0}else if(end>len){end=len}if(endlength)throw new RangeError("Trying to access beyond buffer length")}Buffer.prototype.readUIntLE=function readUIntLE(offset,byteLength,noAssert){offset=offset|0;byteLength=byteLength|0;if(!noAssert)checkOffset(offset,byteLength,this.length);var val=this[offset];var mul=1;var i=0;while(++i0&&(mul*=256)){val+=this[offset+--byteLength]*mul}return val};Buffer.prototype.readUInt8=function readUInt8(offset,noAssert){if(!noAssert)checkOffset(offset,1,this.length);return this[offset]};Buffer.prototype.readUInt16LE=function readUInt16LE(offset,noAssert){if(!noAssert)checkOffset(offset,2,this.length);return this[offset]|this[offset+1]<<8};Buffer.prototype.readUInt16BE=function readUInt16BE(offset,noAssert){if(!noAssert)checkOffset(offset,2,this.length);return this[offset]<<8|this[offset+1]};Buffer.prototype.readUInt32LE=function readUInt32LE(offset,noAssert){if(!noAssert)checkOffset(offset,4,this.length);return(this[offset]|this[offset+1]<<8|this[offset+2]<<16)+this[offset+3]*16777216};Buffer.prototype.readUInt32BE=function readUInt32BE(offset,noAssert){if(!noAssert)checkOffset(offset,4,this.length);return this[offset]*16777216+(this[offset+1]<<16|this[offset+2]<<8|this[offset+3])};Buffer.prototype.readIntLE=function readIntLE(offset,byteLength,noAssert){offset=offset|0;byteLength=byteLength|0;if(!noAssert)checkOffset(offset,byteLength,this.length);var val=this[offset];var mul=1;var i=0;while(++i=mul)val-=Math.pow(2,8*byteLength);return val};Buffer.prototype.readIntBE=function readIntBE(offset,byteLength,noAssert){offset=offset|0;byteLength=byteLength|0;if(!noAssert)checkOffset(offset,byteLength,this.length);var i=byteLength;var mul=1;var val=this[offset+--i];while(i>0&&(mul*=256)){val+=this[offset+--i]*mul}mul*=128;if(val>=mul)val-=Math.pow(2,8*byteLength);return val};Buffer.prototype.readInt8=function readInt8(offset,noAssert){if(!noAssert)checkOffset(offset,1,this.length);if(!(this[offset]&128))return this[offset];return(255-this[offset]+1)*-1};Buffer.prototype.readInt16LE=function readInt16LE(offset,noAssert){if(!noAssert)checkOffset(offset,2,this.length);var val=this[offset]|this[offset+1]<<8;return val&32768?val|4294901760:val};Buffer.prototype.readInt16BE=function readInt16BE(offset,noAssert){if(!noAssert)checkOffset(offset,2,this.length);var val=this[offset+1]|this[offset]<<8;return val&32768?val|4294901760:val};Buffer.prototype.readInt32LE=function readInt32LE(offset,noAssert){if(!noAssert)checkOffset(offset,4,this.length);return this[offset]|this[offset+1]<<8|this[offset+2]<<16|this[offset+3]<<24};Buffer.prototype.readInt32BE=function readInt32BE(offset,noAssert){if(!noAssert)checkOffset(offset,4,this.length);return this[offset]<<24|this[offset+1]<<16|this[offset+2]<<8|this[offset+3]};Buffer.prototype.readFloatLE=function readFloatLE(offset,noAssert){if(!noAssert)checkOffset(offset,4,this.length);return ieee754.read(this,offset,true,23,4)};Buffer.prototype.readFloatBE=function readFloatBE(offset,noAssert){if(!noAssert)checkOffset(offset,4,this.length);return ieee754.read(this,offset,false,23,4)};Buffer.prototype.readDoubleLE=function readDoubleLE(offset,noAssert){if(!noAssert)checkOffset(offset,8,this.length);return ieee754.read(this,offset,true,52,8)};Buffer.prototype.readDoubleBE=function readDoubleBE(offset,noAssert){if(!noAssert)checkOffset(offset,8,this.length);return ieee754.read(this,offset,false,52,8)};function checkInt(buf,value,offset,ext,max,min){if(!Buffer.isBuffer(buf))throw new TypeError('"buffer" argument must be a Buffer instance');if(value>max||valuebuf.length)throw new RangeError("Index out of range")}Buffer.prototype.writeUIntLE=function writeUIntLE(value,offset,byteLength,noAssert){value=+value;offset=offset|0;byteLength=byteLength|0;if(!noAssert){var maxBytes=Math.pow(2,8*byteLength)-1;checkInt(this,value,offset,byteLength,maxBytes,0)}var mul=1;var i=0;this[offset]=value&255;while(++i=0&&(mul*=256)){this[offset+i]=value/mul&255}return offset+byteLength};Buffer.prototype.writeUInt8=function writeUInt8(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,1,255,0);if(!Buffer.TYPED_ARRAY_SUPPORT)value=Math.floor(value);this[offset]=value&255;return offset+1};function objectWriteUInt16(buf,value,offset,littleEndian){if(value<0)value=65535+value+1;for(var i=0,j=Math.min(buf.length-offset,2);i>>(littleEndian?i:1-i)*8}}Buffer.prototype.writeUInt16LE=function writeUInt16LE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,2,65535,0);if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=value&255;this[offset+1]=value>>>8}else{objectWriteUInt16(this,value,offset,true)}return offset+2};Buffer.prototype.writeUInt16BE=function writeUInt16BE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,2,65535,0);if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=value>>>8;this[offset+1]=value&255}else{objectWriteUInt16(this,value,offset,false)}return offset+2};function objectWriteUInt32(buf,value,offset,littleEndian){if(value<0)value=4294967295+value+1;for(var i=0,j=Math.min(buf.length-offset,4);i>>(littleEndian?i:3-i)*8&255}}Buffer.prototype.writeUInt32LE=function writeUInt32LE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,4,4294967295,0);if(Buffer.TYPED_ARRAY_SUPPORT){this[offset+3]=value>>>24;this[offset+2]=value>>>16;this[offset+1]=value>>>8;this[offset]=value&255}else{objectWriteUInt32(this,value,offset,true)}return offset+4};Buffer.prototype.writeUInt32BE=function writeUInt32BE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,4,4294967295,0);if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=value>>>24;this[offset+1]=value>>>16;this[offset+2]=value>>>8;this[offset+3]=value&255}else{objectWriteUInt32(this,value,offset,false)}return offset+4};Buffer.prototype.writeIntLE=function writeIntLE(value,offset,byteLength,noAssert){value=+value;offset=offset|0;if(!noAssert){var limit=Math.pow(2,8*byteLength-1);checkInt(this,value,offset,byteLength,limit-1,-limit)}var i=0;var mul=1;var sub=0;this[offset]=value&255;while(++i>0)-sub&255}return offset+byteLength};Buffer.prototype.writeIntBE=function writeIntBE(value,offset,byteLength,noAssert){value=+value;offset=offset|0;if(!noAssert){var limit=Math.pow(2,8*byteLength-1);checkInt(this,value,offset,byteLength,limit-1,-limit)}var i=byteLength-1;var mul=1;var sub=0;this[offset+i]=value&255;while(--i>=0&&(mul*=256)){if(value<0&&sub===0&&this[offset+i+1]!==0){sub=1}this[offset+i]=(value/mul>>0)-sub&255}return offset+byteLength};Buffer.prototype.writeInt8=function writeInt8(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,1,127,-128);if(!Buffer.TYPED_ARRAY_SUPPORT)value=Math.floor(value);if(value<0)value=255+value+1;this[offset]=value&255;return offset+1};Buffer.prototype.writeInt16LE=function writeInt16LE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,2,32767,-32768);if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=value&255;this[offset+1]=value>>>8}else{objectWriteUInt16(this,value,offset,true)}return offset+2};Buffer.prototype.writeInt16BE=function writeInt16BE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,2,32767,-32768);if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=value>>>8;this[offset+1]=value&255}else{objectWriteUInt16(this,value,offset,false)}return offset+2};Buffer.prototype.writeInt32LE=function writeInt32LE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,4,2147483647,-2147483648);if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=value&255;this[offset+1]=value>>>8;this[offset+2]=value>>>16;this[offset+3]=value>>>24}else{objectWriteUInt32(this,value,offset,true)}return offset+4};Buffer.prototype.writeInt32BE=function writeInt32BE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,4,2147483647,-2147483648);if(value<0)value=4294967295+value+1;if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=value>>>24;this[offset+1]=value>>>16;this[offset+2]=value>>>8;this[offset+3]=value&255}else{objectWriteUInt32(this,value,offset,false)}return offset+4};function checkIEEE754(buf,value,offset,ext,max,min){if(offset+ext>buf.length)throw new RangeError("Index out of range");if(offset<0)throw new RangeError("Index out of range")}function writeFloat(buf,value,offset,littleEndian,noAssert){if(!noAssert){checkIEEE754(buf,value,offset,4,34028234663852886e22,-34028234663852886e22)}ieee754.write(buf,value,offset,littleEndian,23,4);return offset+4}Buffer.prototype.writeFloatLE=function writeFloatLE(value,offset,noAssert){return writeFloat(this,value,offset,true,noAssert)};Buffer.prototype.writeFloatBE=function writeFloatBE(value,offset,noAssert){return writeFloat(this,value,offset,false,noAssert)};function writeDouble(buf,value,offset,littleEndian,noAssert){if(!noAssert){checkIEEE754(buf,value,offset,8,17976931348623157e292,-17976931348623157e292)}ieee754.write(buf,value,offset,littleEndian,52,8);return offset+8}Buffer.prototype.writeDoubleLE=function writeDoubleLE(value,offset,noAssert){return writeDouble(this,value,offset,true,noAssert)};Buffer.prototype.writeDoubleBE=function writeDoubleBE(value,offset,noAssert){return writeDouble(this,value,offset,false,noAssert)};Buffer.prototype.copy=function copy(target,targetStart,start,end){if(!start)start=0;if(!end&&end!==0)end=this.length;if(targetStart>=target.length)targetStart=target.length;if(!targetStart)targetStart=0;if(end>0&&end=this.length)throw new RangeError("sourceStart out of bounds");if(end<0)throw new RangeError("sourceEnd out of bounds");if(end>this.length)end=this.length;if(target.length-targetStart=0;--i){target[i+targetStart]=this[i+start]}}else if(len<1e3||!Buffer.TYPED_ARRAY_SUPPORT){for(i=0;i>>0;end=end===undefined?this.length:end>>>0;if(!val)val=0;var i;if(typeof val==="number"){for(i=start;i55295&&codePoint<57344){if(!leadSurrogate){if(codePoint>56319){if((units-=3)>-1)bytes.push(239,191,189);continue}else if(i+1===length){if((units-=3)>-1)bytes.push(239,191,189);continue}leadSurrogate=codePoint;continue}if(codePoint<56320){if((units-=3)>-1)bytes.push(239,191,189);leadSurrogate=codePoint;continue}codePoint=(leadSurrogate-55296<<10|codePoint-56320)+65536}else if(leadSurrogate){if((units-=3)>-1)bytes.push(239,191,189)}leadSurrogate=null;if(codePoint<128){if((units-=1)<0)break;bytes.push(codePoint)}else if(codePoint<2048){if((units-=2)<0)break;bytes.push(codePoint>>6|192,codePoint&63|128)}else if(codePoint<65536){if((units-=3)<0)break;bytes.push(codePoint>>12|224,codePoint>>6&63|128,codePoint&63|128)}else if(codePoint<1114112){if((units-=4)<0)break;bytes.push(codePoint>>18|240,codePoint>>12&63|128,codePoint>>6&63|128,codePoint&63|128)}else{throw new Error("Invalid code point")}}return bytes}function asciiToBytes(str){var byteArray=[];for(var i=0;i>8;lo=c%256;byteArray.push(lo);byteArray.push(hi)}return byteArray}function base64ToBytes(str){return base64.toByteArray(base64clean(str))}function blitBuffer(src,dst,offset,length){for(var i=0;i=dst.length||i>=src.length)break;dst[i+offset]=src[i]}return i}function isnan(val){return val!==val}}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{"base64-js":16,ieee754:18,isarray:19}],18:[function(require,module,exports){exports.read=function(buffer,offset,isLE,mLen,nBytes){var e,m;var eLen=nBytes*8-mLen-1;var eMax=(1<>1;var nBits=-7;var i=isLE?nBytes-1:0;var d=isLE?-1:1;var s=buffer[offset+i];i+=d;e=s&(1<<-nBits)-1;s>>=-nBits;nBits+=eLen;for(;nBits>0;e=e*256+buffer[offset+i],i+=d,nBits-=8){}m=e&(1<<-nBits)-1;e>>=-nBits;nBits+=mLen;for(;nBits>0;m=m*256+buffer[offset+i],i+=d,nBits-=8){}if(e===0){e=1-eBias}else if(e===eMax){return m?NaN:(s?-1:1)*Infinity}else{m=m+Math.pow(2,mLen);e=e-eBias}return(s?-1:1)*m*Math.pow(2,e-mLen)};exports.write=function(buffer,value,offset,isLE,mLen,nBytes){var e,m,c;var eLen=nBytes*8-mLen-1;var eMax=(1<>1;var rt=mLen===23?Math.pow(2,-24)-Math.pow(2,-77):0;var i=isLE?0:nBytes-1;var d=isLE?1:-1;var s=value<0||value===0&&1/value<0?1:0;value=Math.abs(value);if(isNaN(value)||value===Infinity){m=isNaN(value)?1:0;e=eMax}else{e=Math.floor(Math.log(value)/Math.LN2);if(value*(c=Math.pow(2,-e))<1){e--;c*=2}if(e+eBias>=1){value+=rt/c}else{value+=rt*Math.pow(2,1-eBias)}if(value*c>=2){e++;c/=2}if(e+eBias>=eMax){m=0;e=eMax}else if(e+eBias>=1){m=(value*c-1)*Math.pow(2,mLen);e=e+eBias}else{m=value*Math.pow(2,eBias-1)*Math.pow(2,mLen);e=0}}for(;mLen>=8;buffer[offset+i]=m&255,i+=d,m/=256,mLen-=8){}e=e<0;buffer[offset+i]=e&255,i+=d,e/=256,eLen-=8){}buffer[offset+i-d]|=s*128}},{}],19:[function(require,module,exports){var toString={}.toString;module.exports=Array.isArray||function(arr){return toString.call(arr)=="[object Array]"}},{}]},{},[1]); \ No newline at end of file diff --git a/lib/graph-js-sdk-web.js b/lib/graph-js-sdk-web.js index fbef77d16..c0deeb390 100644 --- a/lib/graph-js-sdk-web.js +++ b/lib/graph-js-sdk-web.js @@ -1 +1 @@ -(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i1&&typeof propertyValue==="string"){allValues=Array.prototype.slice.call(additionalProperties)}this.urlComponents.oDataQueryParams[propertyName]+=allValues.join(",")};GraphRequest.prototype.delete=function(callback){var self=this,url=self.buildFullUrl(),options={method:RequestMethod_1.RequestMethod.DELETE};return self.sendRequestAndRouteResponse(url,options,callback)};GraphRequest.prototype.del=function(callback){return this.delete(callback)};GraphRequest.prototype.patch=function(content,callback){var self=this,url=self.buildFullUrl(),options={method:RequestMethod_1.RequestMethod.PATCH,body:GraphHelper_1.GraphHelper.serializeContent(content),headers:{"Content-Type":"application/json"}};return self.sendRequestAndRouteResponse(url,options,callback)};GraphRequest.prototype.post=function(content,callback){var self=this,url=self.buildFullUrl(),options={method:RequestMethod_1.RequestMethod.POST,body:GraphHelper_1.GraphHelper.serializeContent(content),headers:content.constructor!==undefined&&content.constructor.name==="FormData"?{}:{"Content-Type":"application/json"}};return self.sendRequestAndRouteResponse(url,options,callback)};GraphRequest.prototype.create=function(content,callback){return this.post(content,callback)};GraphRequest.prototype.put=function(content,callback){var self=this,url=self.buildFullUrl(),options={method:RequestMethod_1.RequestMethod.PUT,body:GraphHelper_1.GraphHelper.serializeContent(content),headers:{"Content-Type":"application/octet-stream"}};return self.sendRequestAndRouteResponse(url,options,callback)};GraphRequest.prototype.update=function(content,callback){return this.patch(content,callback)};GraphRequest.prototype.get=function(callback){var self=this,url=self.buildFullUrl(),options={method:RequestMethod_1.RequestMethod.GET};return self.sendRequestAndRouteResponse(url,options,callback)};GraphRequest.prototype.getStream=function(callback){var self=this,url=self.buildFullUrl(),options={method:RequestMethod_1.RequestMethod.GET};self.responseType(ResponseType_1.ResponseType.STREAM);return self.sendRequestAndRouteResponse(url,options,callback)};GraphRequest.prototype.putStream=function(stream,callback){var self=this,url=self.buildFullUrl(),options={method:RequestMethod_1.RequestMethod.PUT,headers:{"Content-Type":"application/octet-stream"},body:stream};return self.sendRequestAndRouteResponse(url,options,callback)};GraphRequest.prototype.sendRequestAndRouteResponse=function(request,options,callback){if(callback==null&&typeof es6_promise_1.Promise!=="undefined"){return this.routeResponseToPromise(request,options)}else{this.routeResponseToCallback(request,options,callback)}};GraphRequest.prototype.routeResponseToPromise=function(request,options){var _this=this;return new es6_promise_1.Promise(function(resolve,reject){_this.routeResponseToCallback(request,options,function(err,body){if(err!=null){reject(err)}else{resolve(body)}})})};GraphRequest.prototype.routeResponseToCallback=function(request,options,callback){var _this=this;if(callback===void 0){callback=function(){}}var self=this;self.config.authProvider(function(err,accessToken){if(err==null&&accessToken!=null){options=self.configureRequestOptions(options,accessToken);fetch(request,options).then(function(response){_this.convertResponseType(response).then(function(responseValue){ResponseHandler_1.ResponseHandler.init(response,undefined,responseValue,callback)}).catch(function(error){ResponseHandler_1.ResponseHandler.init(response,error,undefined,callback)})}).catch(function(error){ResponseHandler_1.ResponseHandler.init(undefined,error,undefined,callback)})}else{callback(err,null,null)}})};GraphRequest.prototype.configureRequestOptions=function(options,accessToken){var self=this,defaultHeaders={Authorization:"Bearer "+accessToken,SdkVersion:"graph-js-"+common_1.PACKAGE_VERSION};var configuredOptions={headers:{}};Object.assign(configuredOptions,self.config.fetchOptions,self._options,options);Object.assign(configuredOptions.headers,defaultHeaders,self._headers,options.headers);return configuredOptions};GraphRequest.prototype.query=function(queryDictionaryOrString){if(typeof queryDictionaryOrString==="string"){var queryStr=queryDictionaryOrString;var queryKey=queryStr.split("=")[0];var queryValue=queryStr.split("=")[1];this.urlComponents.otherURLQueryParams[queryKey]=queryValue}else{for(var key in queryDictionaryOrString){this.urlComponents.otherURLQueryParams[key]=queryDictionaryOrString[key]}}return this};GraphRequest.prototype.createQueryString=function(){var q=[];if(Object.keys(this.urlComponents.oDataQueryParams).length!=0){for(var property in this.urlComponents.oDataQueryParams){q.push(property+"="+this.urlComponents.oDataQueryParams[property])}}if(Object.keys(this.urlComponents.otherURLQueryParams).length!=0){for(var property in this.urlComponents.otherURLQueryParams){q.push(property+"="+this.urlComponents.otherURLQueryParams[property])}}if(q.length>0){return"?"+q.join("&")}return""};GraphRequest.prototype.convertResponseType=function(response){var responseValue;if(!this._responseType){this._responseType=""}switch(this._responseType.toLowerCase()){case ResponseType_1.ResponseType.ARRAYBUFFER:responseValue=response.arrayBuffer();break;case ResponseType_1.ResponseType.BLOB:responseValue=response.blob();break;case ResponseType_1.ResponseType.DOCUMENT:responseValue=response.json();break;case ResponseType_1.ResponseType.JSON:responseValue=response.json();break;case ResponseType_1.ResponseType.STREAM:responseValue=es6_promise_1.Promise.resolve(response.body);break;case ResponseType_1.ResponseType.TEXT:responseValue=response.text();break;default:responseValue=response.json();break}return responseValue};return GraphRequest}();exports.GraphRequest=GraphRequest},{"./GraphHelper":2,"./RequestMethod":5,"./ResponseHandler":6,"./ResponseType":7,"./common":8,"es6-promise":17,"isomorphic-fetch":20}],4:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var Range=function(){function Range(minVal,maxVal){if(minVal===void 0){minVal=-1}if(maxVal===void 0){maxVal=-1}var self=this;self.minValue=minVal;self.maxValue=maxVal}return Range}();exports.Range=Range},{}],5:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var RequestMethod;(function(RequestMethod){RequestMethod["GET"]="GET";RequestMethod["PATCH"]="PATCH";RequestMethod["POST"]="POST";RequestMethod["PUT"]="PUT";RequestMethod["DELETE"]="DELETE"})(RequestMethod=exports.RequestMethod||(exports.RequestMethod={}))},{}],6:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var ResponseHandler=function(){function ResponseHandler(){}ResponseHandler.init=function(res,err,resContents,callback){if(res&&res.ok){callback(null,resContents,res)}else{if(err==null&&res!=null)if(resContents!=null&&resContents.error!=null)callback(ResponseHandler.buildGraphErrorFromResponseObject(resContents.error,res.status),null,res);else callback(ResponseHandler.defaultGraphError(res.status),null,res);else callback(ResponseHandler.ParseError(err),null,res)}};ResponseHandler.ParseError=function(rawErr){if(!rawErr){return ResponseHandler.defaultGraphError(-1)}return ResponseHandler.buildGraphErrorFromErrorObject(rawErr)};ResponseHandler.defaultGraphError=function(statusCode){return{statusCode:statusCode,code:null,message:null,requestId:null,date:new Date,body:null}};ResponseHandler.buildGraphErrorFromErrorObject=function(errObj){var error=ResponseHandler.defaultGraphError(-1);error.body=errObj.toString();error.message=errObj.message;error.date=new Date;return error};ResponseHandler.buildGraphErrorFromResponseObject=function(errObj,statusCode){return{statusCode:statusCode,code:errObj.code,message:errObj.message,requestId:errObj.innerError!==undefined?errObj.innerError["request-id"]:"",date:errObj.innerError!==undefined?new Date(errObj.innerError.date):new Date,body:errObj}};return ResponseHandler}();exports.ResponseHandler=ResponseHandler},{}],7:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var ResponseType;(function(ResponseType){ResponseType["ARRAYBUFFER"]="arraybuffer";ResponseType["BLOB"]="blob";ResponseType["DOCUMENT"]="document";ResponseType["JSON"]="json";ResponseType["STREAM"]="stream";ResponseType["TEXT"]="text"})(ResponseType=exports.ResponseType||(exports.ResponseType={}))},{}],8:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.oDataQueryNames=["select","expand","orderby","filter","top","skip","skipToken","count"];exports.DEFAULT_VERSION="v1.0";exports.GRAPH_BASE_URL="https://graph.microsoft.com/";exports.PACKAGE_VERSION="1.2.0";exports.oDataQueryNames=exports.oDataQueryNames.concat(exports.oDataQueryNames.map(function(s){return"$"+s}))},{}],9:[function(require,module,exports){(function(Buffer){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):new P(function(resolve){resolve(result.value)}).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};var __generator=this&&this.__generator||function(thisArg,body){var _={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},f,y,t,g;return g={next:verb(0),throw:verb(1),return:verb(2)},typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]limit){var error=new Error("Maximum requests limit exceeded, Max allowed number of requests are "+limit);error.name="Limit Exceeded Error";throw error}for(var _i=0,requests_1=requests;_i0){batchRequestData.dependsOn=requestStep.dependsOn}requests.push(batchRequestData);cur=iterator.next();return[3,1];case 3:requestBody.requests=requests;return[2,requestBody]}})})};BatchRequestContent.validateDependencies=function(requests){var isParallel=function(requests){var iterator=requests.entries(),cur=iterator.next();while(!cur.done){var curReq=cur.value[1];if(curReq.dependsOn!==undefined&&curReq.dependsOn.length>0){return false}cur=iterator.next()}return true};var isSerial=function(requests){var iterator=requests.entries(),cur=iterator.next();var firstRequest=cur.value[1];if(firstRequest.dependsOn!==undefined&&firstRequest.dependsOn.length>0){return false}var prev=cur;cur=iterator.next();while(!cur.done){var curReq=cur.value[1];if(curReq.dependsOn===undefined||curReq.dependsOn.length!==1||curReq.dependsOn[0]!==prev.value[1].id){return false}prev=cur;cur=iterator.next()}return true};var isSame=function(requests){var iterator=requests.entries(),cur=iterator.next();var firstRequest=cur.value[1],dependencyId;if(firstRequest.dependsOn===undefined||firstRequest.dependsOn.length===0){dependencyId=firstRequest.id}else{if(firstRequest.dependsOn.length===1){var fDependencyId=firstRequest.dependsOn[0];if(fDependencyId!==firstRequest.id&&requests.has(fDependencyId)){dependencyId=fDependencyId}else{return false}}else{return false}}cur=iterator.next();while(!cur.done){var curReq=cur.value[1];if((curReq.dependsOn===undefined||curReq.dependsOn.length===0)&&dependencyId!==curReq.id){return false}if(curReq.dependsOn!==undefined&&curReq.dependsOn.length!==0){if(curReq.dependsOn.length===1&&(curReq.id===dependencyId||curReq.dependsOn[0]!==dependencyId)){return false}if(curReq.dependsOn.length>1){return false}}cur=iterator.next()}return true};if(requests.size===0){var error=new Error("Empty requests map, Please provide at least one request.");error.name="Empty Requests Error";throw error}return isParallel(requests)||isSerial(requests)||isSame(requests)};BatchRequestContent.getRequestData=function(request){return __awaiter(this,void 0,void 0,function(){var requestData,hasHttpRegex,headers,_a;return __generator(this,function(_b){switch(_b.label){case 0:requestData={};hasHttpRegex=new RegExp("^https?://");if(hasHttpRegex.test(request.url)){requestData.url="/"+request.url.split(/.*?\/\/.*?\//)[1]}else{requestData.url=request.url}requestData.method=request.method;headers={};request.headers.forEach(function(value,key){headers[key]=value});if(Object.keys(headers).length){requestData.headers=headers}if(!(request.method===RequestMethod_1.RequestMethod.PATCH||request.method===RequestMethod_1.RequestMethod.POST||request.method===RequestMethod_1.RequestMethod.PUT))return[3,2];_a=requestData;return[4,BatchRequestContent.getRequestBody(request)];case 1:_a.body=_b.sent();_b.label=2;case 2:return[2,requestData]}})})};BatchRequestContent.getRequestBody=function(request){return __awaiter(this,void 0,void 0,function(){var bodyParsed,body,cloneReq,e_1,blob_1,reader_1,buffer,e_2;return __generator(this,function(_a){switch(_a.label){case 0:bodyParsed=false;_a.label=1;case 1:_a.trys.push([1,3,,4]);cloneReq=request.clone();return[4,cloneReq.json()];case 2:body=_a.sent();bodyParsed=true;return[3,4];case 3:e_1=_a.sent();return[3,4];case 4:if(!!bodyParsed)return[3,12];_a.label=5;case 5:_a.trys.push([5,11,,12]);if(!(typeof Blob!=="undefined"))return[3,8];return[4,request.blob()];case 6:blob_1=_a.sent();reader_1=new FileReader;return[4,new Promise(function(resolve){reader_1.addEventListener("load",function(){var dataURL=reader_1.result,regex=new RegExp("^s*data:(.+?/.+?(;.+?=.+?)*)?(;base64)?,(.*)s*$"),segments=regex.exec(dataURL);resolve(segments[4])},false);reader_1.readAsDataURL(blob_1)})];case 7:body=_a.sent();return[3,10];case 8:if(!(typeof Buffer!=="undefined"))return[3,10];return[4,request.buffer()];case 9:buffer=_a.sent();body=buffer.toString("base64");_a.label=10;case 10:bodyParsed=true;return[3,12];case 11:e_2=_a.sent();return[3,12];case 12:return[2,body]}})})};BatchRequestContent.prototype.addDependency=function(dependentId,dependencyId){var self=this;if(!self.requests.has(dependentId)){var error=new Error("Dependent "+dependentId+" does not exists, Please check the id");error.name="Invalid Dependent";throw error}if(typeof dependencyId!=="undefined"&&!self.requests.has(dependencyId)){var error=new Error("Dependency "+dependencyId+" does not exists, Please check the id");error.name="Invalid Dependency";throw error}if(typeof dependencyId!=="undefined"){var dependent=self.requests.get(dependentId);if(dependent.dependsOn===undefined){dependent.dependsOn=[]}if(dependent.dependsOn.includes(dependencyId)){var error=new Error("Dependency "+dependencyId+" is already added for the request "+dependentId);error.name="Duplicate Dependency";throw error}dependent.dependsOn.push(dependencyId)}else{var prev=void 0,iterator=self.requests.entries(),cur=iterator.next();while(!cur.done&&cur.value[1].id!==dependentId){prev=cur;cur=iterator.next()}if(typeof prev!=="undefined"){var dependencyId_1=prev.value[0];if(cur.value[1].dependsOn===undefined){cur.value[1].dependsOn=[]}if(cur.value[1].dependsOn.includes(dependencyId_1)){var error=new Error("Dependency "+dependencyId_1+" is already added for the request "+dependentId);error.name="Duplicate Dependency";throw error}cur.value[1].dependsOn.push(dependencyId_1)}else{var error=new Error("Can't add dependency "+dependencyId+", There is only a dependent request in the batch");error.name="Invalid Dependency Addition";throw error}}};BatchRequestContent.prototype.removeDependency=function(dependentId,dependencyId){var request=this.requests.get(dependentId);if(typeof request==="undefined"||request.dependsOn===undefined||request.dependsOn.length===0){return false}if(typeof dependencyId!=="undefined"){var index=request.dependsOn.indexOf(dependencyId);if(index===-1){return false}request.dependsOn.splice(index,1);return true}else{delete request.dependsOn;return true}};BatchRequestContent.requestLimit=20;return BatchRequestContent}();exports.BatchRequestContent=BatchRequestContent}).call(this,require("buffer").Buffer)},{"../RequestMethod":5,buffer:16}],10:[function(require,module,exports){"use strict";var __generator=this&&this.__generator||function(thisArg,body){var _={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},f,y,t,g;return g={next:verb(0),throw:verb(1),return:verb(2)},typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]=self.file.size){maxValue=self.file.size-1}return new Range_1.Range(minVal,maxValue)};LargeFileUploadTask.prototype.sliceFile=function(range){var blob=this.file.content.slice(range.minValue,range.maxValue+1);return blob};LargeFileUploadTask.prototype.upload=function(){return __awaiter(this,void 0,void 0,function(){var self,nextRange,err,fileSlice,response,err_1;return __generator(this,function(_a){switch(_a.label){case 0:self=this;_a.label=1;case 1:_a.trys.push([1,5,,6]);_a.label=2;case 2:if(!true)return[3,4];nextRange=self.getNextRange();if(nextRange.maxValue===-1){err=new Error("Task with which you are trying to upload is already completed, Please check for your uploaded file");err.name="Invalid Session";throw err}fileSlice=self.sliceFile(nextRange);return[4,self.uploadSlice(fileSlice,nextRange,self.file.size)];case 3:response=_a.sent();if(response.id!==undefined){return[2,response]}else{self.updateTaskStatus(response)}return[3,2];case 4:return[3,6];case 5:err_1=_a.sent();throw err_1;case 6:return[2]}})})};LargeFileUploadTask.prototype.uploadSlice=function(fileSlice,range,totalSize){return __awaiter(this,void 0,void 0,function(){var self,err_2;return __generator(this,function(_a){switch(_a.label){case 0:self=this;_a.label=1;case 1:_a.trys.push([1,3,,4]);return[4,self.client.api(self.uploadSession.url).headers({"Content-Length":""+(range.maxValue-range.minValue+1),"Content-Range":"bytes "+range.minValue+"-"+range.maxValue+"/"+totalSize}).put(fileSlice)];case 2:return[2,_a.sent()];case 3:err_2=_a.sent();throw err_2;case 4:return[2]}})})};LargeFileUploadTask.prototype.cancel=function(){return __awaiter(this,void 0,void 0,function(){var self,err_3;return __generator(this,function(_a){switch(_a.label){case 0:self=this;_a.label=1;case 1:_a.trys.push([1,3,,4]);return[4,self.client.api(self.uploadSession.url).delete()];case 2:return[2,_a.sent()];case 3:err_3=_a.sent();throw err_3;case 4:return[2]}})})};LargeFileUploadTask.prototype.getStatus=function(){return __awaiter(this,void 0,void 0,function(){var self,response,err_4;return __generator(this,function(_a){switch(_a.label){case 0:self=this;_a.label=1;case 1:_a.trys.push([1,3,,4]);return[4,self.client.api(self.uploadSession.url).get()];case 2:response=_a.sent();self.updateTaskStatus(response);return[2,response];case 3:err_4=_a.sent();throw err_4;case 4:return[2]}})})};LargeFileUploadTask.prototype.resume=function(){return __awaiter(this,void 0,void 0,function(){var self,err_5;return __generator(this,function(_a){switch(_a.label){case 0:self=this;_a.label=1;case 1:_a.trys.push([1,4,,5]);return[4,self.getStatus()];case 2:_a.sent();return[4,self.upload()];case 3:return[2,_a.sent()];case 4:err_5=_a.sent();throw err_5;case 5:return[2]}})})};return LargeFileUploadTask}();exports.LargeFileUploadTask=LargeFileUploadTask},{"../Range":4}],13:[function(require,module,exports){"use strict";var __extends=this&&this.__extends||function(){var extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(b.hasOwnProperty(p))d[p]=b[p]};return function(d,b){extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):new P(function(resolve){resolve(result.value)}).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};var __generator=this&&this.__generator||function(thisArg,body){var _={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},f,y,t,g;return g={next:verb(0),throw:verb(1),return:verb(2)},typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]320*1024){value=Math.floor(value/(320*1024))*320*1024}return value};exports.getValidRangeSize=function(rangeSize){if(rangeSize===void 0){rangeSize=DEFAULT_FILE_SIZE}var sixtyMB=60*1024*1024;if(rangeSize>sixtyMB){rangeSize=sixtyMB}return roundTo320KB(rangeSize)}},{}],15:[function(require,module,exports){"use strict";exports.byteLength=byteLength;exports.toByteArray=toByteArray;exports.fromByteArray=fromByteArray;var lookup=[];var revLookup=[];var Arr=typeof Uint8Array!=="undefined"?Uint8Array:Array;var code="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var i=0,len=code.length;i0){throw new Error("Invalid string. Length must be a multiple of 4")}var validLen=b64.indexOf("=");if(validLen===-1)validLen=len;var placeHoldersLen=validLen===len?0:4-validLen%4;return[validLen,placeHoldersLen]}function byteLength(b64){var lens=getLens(b64);var validLen=lens[0];var placeHoldersLen=lens[1];return(validLen+placeHoldersLen)*3/4-placeHoldersLen}function _byteLength(b64,validLen,placeHoldersLen){return(validLen+placeHoldersLen)*3/4-placeHoldersLen}function toByteArray(b64){var tmp;var lens=getLens(b64);var validLen=lens[0];var placeHoldersLen=lens[1];var arr=new Arr(_byteLength(b64,validLen,placeHoldersLen));var curByte=0;var len=placeHoldersLen>0?validLen-4:validLen;for(var i=0;i>16&255;arr[curByte++]=tmp>>8&255;arr[curByte++]=tmp&255}if(placeHoldersLen===2){tmp=revLookup[b64.charCodeAt(i)]<<2|revLookup[b64.charCodeAt(i+1)]>>4;arr[curByte++]=tmp&255}if(placeHoldersLen===1){tmp=revLookup[b64.charCodeAt(i)]<<10|revLookup[b64.charCodeAt(i+1)]<<4|revLookup[b64.charCodeAt(i+2)]>>2;arr[curByte++]=tmp>>8&255;arr[curByte++]=tmp&255}return arr}function tripletToBase64(num){return lookup[num>>18&63]+lookup[num>>12&63]+lookup[num>>6&63]+lookup[num&63]}function encodeChunk(uint8,start,end){var tmp;var output=[];for(var i=start;ilen2?len2:i+maxChunkLength))}if(extraBytes===1){tmp=uint8[len-1];parts.push(lookup[tmp>>2]+lookup[tmp<<4&63]+"==")}else if(extraBytes===2){tmp=(uint8[len-2]<<8)+uint8[len-1];parts.push(lookup[tmp>>10]+lookup[tmp>>4&63]+lookup[tmp<<2&63]+"=")}return parts.join("")}},{}],16:[function(require,module,exports){(function(global){"use strict";var base64=require("base64-js");var ieee754=require("ieee754");var isArray=require("isarray");exports.Buffer=Buffer;exports.SlowBuffer=SlowBuffer;exports.INSPECT_MAX_BYTES=50;Buffer.TYPED_ARRAY_SUPPORT=global.TYPED_ARRAY_SUPPORT!==undefined?global.TYPED_ARRAY_SUPPORT:typedArraySupport();exports.kMaxLength=kMaxLength();function typedArraySupport(){try{var arr=new Uint8Array(1);arr.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}};return arr.foo()===42&&typeof arr.subarray==="function"&&arr.subarray(1,1).byteLength===0}catch(e){return false}}function kMaxLength(){return Buffer.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function createBuffer(that,length){if(kMaxLength()=kMaxLength()){throw new RangeError("Attempt to allocate Buffer larger than maximum "+"size: 0x"+kMaxLength().toString(16)+" bytes")}return length|0}function SlowBuffer(length){if(+length!=length){length=0}return Buffer.alloc(+length)}Buffer.isBuffer=function isBuffer(b){return!!(b!=null&&b._isBuffer)};Buffer.compare=function compare(a,b){if(!Buffer.isBuffer(a)||!Buffer.isBuffer(b)){throw new TypeError("Arguments must be Buffers")}if(a===b)return 0;var x=a.length;var y=b.length;for(var i=0,len=Math.min(x,y);i>>1;case"base64":return base64ToBytes(string).length;default:if(loweredCase)return utf8ToBytes(string).length;encoding=(""+encoding).toLowerCase();loweredCase=true}}}Buffer.byteLength=byteLength;function slowToString(encoding,start,end){var loweredCase=false;if(start===undefined||start<0){start=0}if(start>this.length){return""}if(end===undefined||end>this.length){end=this.length}if(end<=0){return""}end>>>=0;start>>>=0;if(end<=start){return""}if(!encoding)encoding="utf8";while(true){switch(encoding){case"hex":return hexSlice(this,start,end);case"utf8":case"utf-8":return utf8Slice(this,start,end);case"ascii":return asciiSlice(this,start,end);case"latin1":case"binary":return latin1Slice(this,start,end);case"base64":return base64Slice(this,start,end);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return utf16leSlice(this,start,end);default:if(loweredCase)throw new TypeError("Unknown encoding: "+encoding);encoding=(encoding+"").toLowerCase();loweredCase=true}}}Buffer.prototype._isBuffer=true;function swap(b,n,m){var i=b[n];b[n]=b[m];b[m]=i}Buffer.prototype.swap16=function swap16(){var len=this.length;if(len%2!==0){throw new RangeError("Buffer size must be a multiple of 16-bits")}for(var i=0;i0){str=this.toString("hex",0,max).match(/.{2}/g).join(" ");if(this.length>max)str+=" ... "}return""};Buffer.prototype.compare=function compare(target,start,end,thisStart,thisEnd){if(!Buffer.isBuffer(target)){throw new TypeError("Argument must be a Buffer")}if(start===undefined){start=0}if(end===undefined){end=target?target.length:0}if(thisStart===undefined){thisStart=0}if(thisEnd===undefined){thisEnd=this.length}if(start<0||end>target.length||thisStart<0||thisEnd>this.length){throw new RangeError("out of range index")}if(thisStart>=thisEnd&&start>=end){return 0}if(thisStart>=thisEnd){return-1}if(start>=end){return 1}start>>>=0;end>>>=0;thisStart>>>=0;thisEnd>>>=0;if(this===target)return 0;var x=thisEnd-thisStart;var y=end-start;var len=Math.min(x,y);var thisCopy=this.slice(thisStart,thisEnd);var targetCopy=target.slice(start,end);for(var i=0;i2147483647){byteOffset=2147483647}else if(byteOffset<-2147483648){byteOffset=-2147483648}byteOffset=+byteOffset;if(isNaN(byteOffset)){byteOffset=dir?0:buffer.length-1}if(byteOffset<0)byteOffset=buffer.length+byteOffset;if(byteOffset>=buffer.length){if(dir)return-1;else byteOffset=buffer.length-1}else if(byteOffset<0){if(dir)byteOffset=0;else return-1}if(typeof val==="string"){val=Buffer.from(val,encoding)}if(Buffer.isBuffer(val)){if(val.length===0){return-1}return arrayIndexOf(buffer,val,byteOffset,encoding,dir)}else if(typeof val==="number"){val=val&255;if(Buffer.TYPED_ARRAY_SUPPORT&&typeof Uint8Array.prototype.indexOf==="function"){if(dir){return Uint8Array.prototype.indexOf.call(buffer,val,byteOffset)}else{return Uint8Array.prototype.lastIndexOf.call(buffer,val,byteOffset)}}return arrayIndexOf(buffer,[val],byteOffset,encoding,dir)}throw new TypeError("val must be string, number or Buffer")}function arrayIndexOf(arr,val,byteOffset,encoding,dir){var indexSize=1;var arrLength=arr.length;var valLength=val.length;if(encoding!==undefined){encoding=String(encoding).toLowerCase();if(encoding==="ucs2"||encoding==="ucs-2"||encoding==="utf16le"||encoding==="utf-16le"){if(arr.length<2||val.length<2){return-1}indexSize=2;arrLength/=2;valLength/=2;byteOffset/=2}}function read(buf,i){if(indexSize===1){return buf[i]}else{return buf.readUInt16BE(i*indexSize)}}var i;if(dir){var foundIndex=-1;for(i=byteOffset;iarrLength)byteOffset=arrLength-valLength;for(i=byteOffset;i>=0;i--){var found=true;for(var j=0;jremaining){length=remaining}}var strLen=string.length;if(strLen%2!==0)throw new TypeError("Invalid hex string");if(length>strLen/2){length=strLen/2}for(var i=0;iremaining)length=remaining;if(string.length>0&&(length<0||offset<0)||offset>this.length){throw new RangeError("Attempt to write outside buffer bounds")}if(!encoding)encoding="utf8";var loweredCase=false;for(;;){switch(encoding){case"hex":return hexWrite(this,string,offset,length);case"utf8":case"utf-8":return utf8Write(this,string,offset,length);case"ascii":return asciiWrite(this,string,offset,length);case"latin1":case"binary":return latin1Write(this,string,offset,length);case"base64":return base64Write(this,string,offset,length);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ucs2Write(this,string,offset,length);default:if(loweredCase)throw new TypeError("Unknown encoding: "+encoding);encoding=(""+encoding).toLowerCase();loweredCase=true}}};Buffer.prototype.toJSON=function toJSON(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function base64Slice(buf,start,end){if(start===0&&end===buf.length){return base64.fromByteArray(buf)}else{return base64.fromByteArray(buf.slice(start,end))}}function utf8Slice(buf,start,end){end=Math.min(buf.length,end);var res=[];var i=start;while(i239?4:firstByte>223?3:firstByte>191?2:1;if(i+bytesPerSequence<=end){var secondByte,thirdByte,fourthByte,tempCodePoint;switch(bytesPerSequence){case 1:if(firstByte<128){codePoint=firstByte}break;case 2:secondByte=buf[i+1];if((secondByte&192)===128){tempCodePoint=(firstByte&31)<<6|secondByte&63;if(tempCodePoint>127){codePoint=tempCodePoint}}break;case 3:secondByte=buf[i+1];thirdByte=buf[i+2];if((secondByte&192)===128&&(thirdByte&192)===128){tempCodePoint=(firstByte&15)<<12|(secondByte&63)<<6|thirdByte&63;if(tempCodePoint>2047&&(tempCodePoint<55296||tempCodePoint>57343)){codePoint=tempCodePoint}}break;case 4:secondByte=buf[i+1];thirdByte=buf[i+2];fourthByte=buf[i+3];if((secondByte&192)===128&&(thirdByte&192)===128&&(fourthByte&192)===128){tempCodePoint=(firstByte&15)<<18|(secondByte&63)<<12|(thirdByte&63)<<6|fourthByte&63;if(tempCodePoint>65535&&tempCodePoint<1114112){codePoint=tempCodePoint}}}}if(codePoint===null){codePoint=65533;bytesPerSequence=1}else if(codePoint>65535){codePoint-=65536;res.push(codePoint>>>10&1023|55296);codePoint=56320|codePoint&1023}res.push(codePoint);i+=bytesPerSequence}return decodeCodePointsArray(res)}var MAX_ARGUMENTS_LENGTH=4096;function decodeCodePointsArray(codePoints){var len=codePoints.length;if(len<=MAX_ARGUMENTS_LENGTH){return String.fromCharCode.apply(String,codePoints)}var res="";var i=0;while(ilen)end=len;var out="";for(var i=start;ilen){start=len}if(end<0){end+=len;if(end<0)end=0}else if(end>len){end=len}if(endlength)throw new RangeError("Trying to access beyond buffer length")}Buffer.prototype.readUIntLE=function readUIntLE(offset,byteLength,noAssert){offset=offset|0;byteLength=byteLength|0;if(!noAssert)checkOffset(offset,byteLength,this.length);var val=this[offset];var mul=1;var i=0;while(++i0&&(mul*=256)){val+=this[offset+--byteLength]*mul}return val};Buffer.prototype.readUInt8=function readUInt8(offset,noAssert){if(!noAssert)checkOffset(offset,1,this.length);return this[offset]};Buffer.prototype.readUInt16LE=function readUInt16LE(offset,noAssert){if(!noAssert)checkOffset(offset,2,this.length);return this[offset]|this[offset+1]<<8};Buffer.prototype.readUInt16BE=function readUInt16BE(offset,noAssert){if(!noAssert)checkOffset(offset,2,this.length);return this[offset]<<8|this[offset+1]};Buffer.prototype.readUInt32LE=function readUInt32LE(offset,noAssert){if(!noAssert)checkOffset(offset,4,this.length);return(this[offset]|this[offset+1]<<8|this[offset+2]<<16)+this[offset+3]*16777216};Buffer.prototype.readUInt32BE=function readUInt32BE(offset,noAssert){if(!noAssert)checkOffset(offset,4,this.length);return this[offset]*16777216+(this[offset+1]<<16|this[offset+2]<<8|this[offset+3])};Buffer.prototype.readIntLE=function readIntLE(offset,byteLength,noAssert){offset=offset|0;byteLength=byteLength|0;if(!noAssert)checkOffset(offset,byteLength,this.length);var val=this[offset];var mul=1;var i=0;while(++i=mul)val-=Math.pow(2,8*byteLength);return val};Buffer.prototype.readIntBE=function readIntBE(offset,byteLength,noAssert){offset=offset|0;byteLength=byteLength|0;if(!noAssert)checkOffset(offset,byteLength,this.length);var i=byteLength;var mul=1;var val=this[offset+--i];while(i>0&&(mul*=256)){val+=this[offset+--i]*mul}mul*=128;if(val>=mul)val-=Math.pow(2,8*byteLength);return val};Buffer.prototype.readInt8=function readInt8(offset,noAssert){if(!noAssert)checkOffset(offset,1,this.length);if(!(this[offset]&128))return this[offset];return(255-this[offset]+1)*-1};Buffer.prototype.readInt16LE=function readInt16LE(offset,noAssert){if(!noAssert)checkOffset(offset,2,this.length);var val=this[offset]|this[offset+1]<<8;return val&32768?val|4294901760:val};Buffer.prototype.readInt16BE=function readInt16BE(offset,noAssert){if(!noAssert)checkOffset(offset,2,this.length);var val=this[offset+1]|this[offset]<<8;return val&32768?val|4294901760:val};Buffer.prototype.readInt32LE=function readInt32LE(offset,noAssert){if(!noAssert)checkOffset(offset,4,this.length);return this[offset]|this[offset+1]<<8|this[offset+2]<<16|this[offset+3]<<24};Buffer.prototype.readInt32BE=function readInt32BE(offset,noAssert){if(!noAssert)checkOffset(offset,4,this.length);return this[offset]<<24|this[offset+1]<<16|this[offset+2]<<8|this[offset+3]};Buffer.prototype.readFloatLE=function readFloatLE(offset,noAssert){if(!noAssert)checkOffset(offset,4,this.length);return ieee754.read(this,offset,true,23,4)};Buffer.prototype.readFloatBE=function readFloatBE(offset,noAssert){if(!noAssert)checkOffset(offset,4,this.length);return ieee754.read(this,offset,false,23,4)};Buffer.prototype.readDoubleLE=function readDoubleLE(offset,noAssert){if(!noAssert)checkOffset(offset,8,this.length);return ieee754.read(this,offset,true,52,8)};Buffer.prototype.readDoubleBE=function readDoubleBE(offset,noAssert){if(!noAssert)checkOffset(offset,8,this.length);return ieee754.read(this,offset,false,52,8)};function checkInt(buf,value,offset,ext,max,min){if(!Buffer.isBuffer(buf))throw new TypeError('"buffer" argument must be a Buffer instance');if(value>max||valuebuf.length)throw new RangeError("Index out of range")}Buffer.prototype.writeUIntLE=function writeUIntLE(value,offset,byteLength,noAssert){value=+value;offset=offset|0;byteLength=byteLength|0;if(!noAssert){var maxBytes=Math.pow(2,8*byteLength)-1;checkInt(this,value,offset,byteLength,maxBytes,0)}var mul=1;var i=0;this[offset]=value&255;while(++i=0&&(mul*=256)){this[offset+i]=value/mul&255}return offset+byteLength};Buffer.prototype.writeUInt8=function writeUInt8(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,1,255,0);if(!Buffer.TYPED_ARRAY_SUPPORT)value=Math.floor(value);this[offset]=value&255;return offset+1};function objectWriteUInt16(buf,value,offset,littleEndian){if(value<0)value=65535+value+1;for(var i=0,j=Math.min(buf.length-offset,2);i>>(littleEndian?i:1-i)*8}}Buffer.prototype.writeUInt16LE=function writeUInt16LE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,2,65535,0);if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=value&255;this[offset+1]=value>>>8}else{objectWriteUInt16(this,value,offset,true)}return offset+2};Buffer.prototype.writeUInt16BE=function writeUInt16BE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,2,65535,0);if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=value>>>8;this[offset+1]=value&255}else{objectWriteUInt16(this,value,offset,false)}return offset+2};function objectWriteUInt32(buf,value,offset,littleEndian){if(value<0)value=4294967295+value+1;for(var i=0,j=Math.min(buf.length-offset,4);i>>(littleEndian?i:3-i)*8&255}}Buffer.prototype.writeUInt32LE=function writeUInt32LE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,4,4294967295,0);if(Buffer.TYPED_ARRAY_SUPPORT){this[offset+3]=value>>>24;this[offset+2]=value>>>16;this[offset+1]=value>>>8;this[offset]=value&255}else{objectWriteUInt32(this,value,offset,true)}return offset+4};Buffer.prototype.writeUInt32BE=function writeUInt32BE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,4,4294967295,0);if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=value>>>24;this[offset+1]=value>>>16;this[offset+2]=value>>>8;this[offset+3]=value&255}else{objectWriteUInt32(this,value,offset,false)}return offset+4};Buffer.prototype.writeIntLE=function writeIntLE(value,offset,byteLength,noAssert){value=+value;offset=offset|0;if(!noAssert){var limit=Math.pow(2,8*byteLength-1);checkInt(this,value,offset,byteLength,limit-1,-limit)}var i=0;var mul=1;var sub=0;this[offset]=value&255;while(++i>0)-sub&255}return offset+byteLength};Buffer.prototype.writeIntBE=function writeIntBE(value,offset,byteLength,noAssert){value=+value;offset=offset|0;if(!noAssert){var limit=Math.pow(2,8*byteLength-1);checkInt(this,value,offset,byteLength,limit-1,-limit)}var i=byteLength-1;var mul=1;var sub=0;this[offset+i]=value&255;while(--i>=0&&(mul*=256)){if(value<0&&sub===0&&this[offset+i+1]!==0){sub=1}this[offset+i]=(value/mul>>0)-sub&255}return offset+byteLength};Buffer.prototype.writeInt8=function writeInt8(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,1,127,-128);if(!Buffer.TYPED_ARRAY_SUPPORT)value=Math.floor(value);if(value<0)value=255+value+1;this[offset]=value&255;return offset+1};Buffer.prototype.writeInt16LE=function writeInt16LE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,2,32767,-32768);if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=value&255;this[offset+1]=value>>>8}else{objectWriteUInt16(this,value,offset,true)}return offset+2};Buffer.prototype.writeInt16BE=function writeInt16BE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,2,32767,-32768);if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=value>>>8;this[offset+1]=value&255}else{objectWriteUInt16(this,value,offset,false)}return offset+2};Buffer.prototype.writeInt32LE=function writeInt32LE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,4,2147483647,-2147483648);if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=value&255;this[offset+1]=value>>>8;this[offset+2]=value>>>16;this[offset+3]=value>>>24}else{objectWriteUInt32(this,value,offset,true)}return offset+4};Buffer.prototype.writeInt32BE=function writeInt32BE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,4,2147483647,-2147483648);if(value<0)value=4294967295+value+1;if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=value>>>24;this[offset+1]=value>>>16;this[offset+2]=value>>>8;this[offset+3]=value&255}else{objectWriteUInt32(this,value,offset,false)}return offset+4};function checkIEEE754(buf,value,offset,ext,max,min){if(offset+ext>buf.length)throw new RangeError("Index out of range");if(offset<0)throw new RangeError("Index out of range")}function writeFloat(buf,value,offset,littleEndian,noAssert){if(!noAssert){checkIEEE754(buf,value,offset,4,34028234663852886e22,-34028234663852886e22)}ieee754.write(buf,value,offset,littleEndian,23,4);return offset+4}Buffer.prototype.writeFloatLE=function writeFloatLE(value,offset,noAssert){return writeFloat(this,value,offset,true,noAssert)};Buffer.prototype.writeFloatBE=function writeFloatBE(value,offset,noAssert){return writeFloat(this,value,offset,false,noAssert)};function writeDouble(buf,value,offset,littleEndian,noAssert){if(!noAssert){checkIEEE754(buf,value,offset,8,17976931348623157e292,-17976931348623157e292)}ieee754.write(buf,value,offset,littleEndian,52,8);return offset+8}Buffer.prototype.writeDoubleLE=function writeDoubleLE(value,offset,noAssert){return writeDouble(this,value,offset,true,noAssert)};Buffer.prototype.writeDoubleBE=function writeDoubleBE(value,offset,noAssert){return writeDouble(this,value,offset,false,noAssert)};Buffer.prototype.copy=function copy(target,targetStart,start,end){if(!start)start=0;if(!end&&end!==0)end=this.length;if(targetStart>=target.length)targetStart=target.length;if(!targetStart)targetStart=0;if(end>0&&end=this.length)throw new RangeError("sourceStart out of bounds");if(end<0)throw new RangeError("sourceEnd out of bounds");if(end>this.length)end=this.length;if(target.length-targetStart=0;--i){target[i+targetStart]=this[i+start]}}else if(len<1e3||!Buffer.TYPED_ARRAY_SUPPORT){for(i=0;i>>0;end=end===undefined?this.length:end>>>0;if(!val)val=0;var i;if(typeof val==="number"){for(i=start;i55295&&codePoint<57344){if(!leadSurrogate){if(codePoint>56319){if((units-=3)>-1)bytes.push(239,191,189);continue}else if(i+1===length){if((units-=3)>-1)bytes.push(239,191,189);continue}leadSurrogate=codePoint;continue}if(codePoint<56320){if((units-=3)>-1)bytes.push(239,191,189);leadSurrogate=codePoint;continue}codePoint=(leadSurrogate-55296<<10|codePoint-56320)+65536}else if(leadSurrogate){if((units-=3)>-1)bytes.push(239,191,189)}leadSurrogate=null;if(codePoint<128){if((units-=1)<0)break;bytes.push(codePoint)}else if(codePoint<2048){if((units-=2)<0)break;bytes.push(codePoint>>6|192,codePoint&63|128)}else if(codePoint<65536){if((units-=3)<0)break;bytes.push(codePoint>>12|224,codePoint>>6&63|128,codePoint&63|128)}else if(codePoint<1114112){if((units-=4)<0)break;bytes.push(codePoint>>18|240,codePoint>>12&63|128,codePoint>>6&63|128,codePoint&63|128)}else{throw new Error("Invalid code point")}}return bytes}function asciiToBytes(str){var byteArray=[];for(var i=0;i>8;lo=c%256;byteArray.push(lo);byteArray.push(hi)}return byteArray}function base64ToBytes(str){return base64.toByteArray(base64clean(str))}function blitBuffer(src,dst,offset,length){for(var i=0;i=dst.length||i>=src.length)break;dst[i+offset]=src[i]}return i}function isnan(val){return val!==val}}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{"base64-js":15,ieee754:18,isarray:19}],17:[function(require,module,exports){(function(process,global){(function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?module.exports=factory():typeof define==="function"&&define.amd?define(factory):global.ES6Promise=factory()})(this,function(){"use strict";function objectOrFunction(x){var type=typeof x;return x!==null&&(type==="object"||type==="function")}function isFunction(x){return typeof x==="function"}var _isArray=void 0;if(Array.isArray){_isArray=Array.isArray}else{_isArray=function(x){return Object.prototype.toString.call(x)==="[object Array]"}}var isArray=_isArray;var len=0;var vertxNext=void 0;var customSchedulerFn=void 0;var asap=function asap(callback,arg){queue[len]=callback;queue[len+1]=arg;len+=2;if(len===2){if(customSchedulerFn){customSchedulerFn(flush)}else{scheduleFlush()}}};function setScheduler(scheduleFn){customSchedulerFn=scheduleFn}function setAsap(asapFn){asap=asapFn}var browserWindow=typeof window!=="undefined"?window:undefined;var browserGlobal=browserWindow||{};var BrowserMutationObserver=browserGlobal.MutationObserver||browserGlobal.WebKitMutationObserver;var isNode=typeof self==="undefined"&&typeof process!=="undefined"&&{}.toString.call(process)==="[object process]";var isWorker=typeof Uint8ClampedArray!=="undefined"&&typeof importScripts!=="undefined"&&typeof MessageChannel!=="undefined";function useNextTick(){return function(){return process.nextTick(flush)}}function useVertxTimer(){if(typeof vertxNext!=="undefined"){return function(){vertxNext(flush)}}return useSetTimeout()}function useMutationObserver(){var iterations=0;var observer=new BrowserMutationObserver(flush);var node=document.createTextNode("");observer.observe(node,{characterData:true});return function(){node.data=iterations=++iterations%2}}function useMessageChannel(){var channel=new MessageChannel;channel.port1.onmessage=flush;return function(){return channel.port2.postMessage(0)}}function useSetTimeout(){var globalSetTimeout=setTimeout;return function(){return globalSetTimeout(flush,1)}}var queue=new Array(1e3);function flush(){for(var i=0;i>1;var nBits=-7;var i=isLE?nBytes-1:0;var d=isLE?-1:1;var s=buffer[offset+i];i+=d;e=s&(1<<-nBits)-1;s>>=-nBits;nBits+=eLen;for(;nBits>0;e=e*256+buffer[offset+i],i+=d,nBits-=8){}m=e&(1<<-nBits)-1;e>>=-nBits;nBits+=mLen;for(;nBits>0;m=m*256+buffer[offset+i],i+=d,nBits-=8){}if(e===0){e=1-eBias}else if(e===eMax){return m?NaN:(s?-1:1)*Infinity}else{m=m+Math.pow(2,mLen);e=e-eBias}return(s?-1:1)*m*Math.pow(2,e-mLen)};exports.write=function(buffer,value,offset,isLE,mLen,nBytes){var e,m,c;var eLen=nBytes*8-mLen-1;var eMax=(1<>1;var rt=mLen===23?Math.pow(2,-24)-Math.pow(2,-77):0;var i=isLE?0:nBytes-1;var d=isLE?1:-1;var s=value<0||value===0&&1/value<0?1:0;value=Math.abs(value);if(isNaN(value)||value===Infinity){m=isNaN(value)?1:0;e=eMax}else{e=Math.floor(Math.log(value)/Math.LN2);if(value*(c=Math.pow(2,-e))<1){e--;c*=2}if(e+eBias>=1){value+=rt/c}else{value+=rt*Math.pow(2,1-eBias)}if(value*c>=2){e++;c/=2}if(e+eBias>=eMax){m=0;e=eMax}else if(e+eBias>=1){m=(value*c-1)*Math.pow(2,mLen);e=e+eBias}else{m=value*Math.pow(2,eBias-1)*Math.pow(2,mLen);e=0}}for(;mLen>=8;buffer[offset+i]=m&255,i+=d,m/=256,mLen-=8){}e=e<0;buffer[offset+i]=e&255,i+=d,e/=256,eLen-=8){}buffer[offset+i-d]|=s*128}},{}],19:[function(require,module,exports){var toString={}.toString;module.exports=Array.isArray||function(arr){return toString.call(arr)=="[object Array]"}},{}],20:[function(require,module,exports){require("whatwg-fetch");module.exports=self.fetch.bind(self)},{"whatwg-fetch":22}],21:[function(require,module,exports){var process=module.exports={};var cachedSetTimeout;var cachedClearTimeout;function defaultSetTimout(){throw new Error("setTimeout has not been defined")}function defaultClearTimeout(){throw new Error("clearTimeout has not been defined")}(function(){try{if(typeof setTimeout==="function"){cachedSetTimeout=setTimeout}else{cachedSetTimeout=defaultSetTimout}}catch(e){cachedSetTimeout=defaultSetTimout}try{if(typeof clearTimeout==="function"){cachedClearTimeout=clearTimeout}else{cachedClearTimeout=defaultClearTimeout}}catch(e){cachedClearTimeout=defaultClearTimeout}})();function runTimeout(fun){if(cachedSetTimeout===setTimeout){return setTimeout(fun,0)}if((cachedSetTimeout===defaultSetTimout||!cachedSetTimeout)&&setTimeout){cachedSetTimeout=setTimeout;return setTimeout(fun,0)}try{return cachedSetTimeout(fun,0)}catch(e){try{return cachedSetTimeout.call(null,fun,0)}catch(e){return cachedSetTimeout.call(this,fun,0)}}}function runClearTimeout(marker){if(cachedClearTimeout===clearTimeout){return clearTimeout(marker)}if((cachedClearTimeout===defaultClearTimeout||!cachedClearTimeout)&&clearTimeout){cachedClearTimeout=clearTimeout;return clearTimeout(marker)}try{return cachedClearTimeout(marker)}catch(e){try{return cachedClearTimeout.call(null,marker)}catch(e){return cachedClearTimeout.call(this,marker)}}}var queue=[];var draining=false;var currentQueue;var queueIndex=-1;function cleanUpNextTick(){if(!draining||!currentQueue){return}draining=false;if(currentQueue.length){queue=currentQueue.concat(queue)}else{queueIndex=-1}if(queue.length){drainQueue()}}function drainQueue(){if(draining){return}var timeout=runTimeout(cleanUpNextTick);draining=true;var len=queue.length;while(len){currentQueue=queue;queue=[];while(++queueIndex1){for(var i=1;i-1}}function normalizeName(name){if(typeof name!=="string"){name=String(name)}if(/[^a-z0-9\-#$%&'*+.\^_`|~]/i.test(name)){throw new TypeError("Invalid character in header field name")}return name.toLowerCase()}function normalizeValue(value){if(typeof value!=="string"){value=String(value)}return value}function iteratorFor(items){var iterator={next:function(){var value=items.shift();return{done:value===undefined,value:value}}};if(support.iterable){iterator[Symbol.iterator]=function(){return iterator}}return iterator}function Headers(headers){this.map={};if(headers instanceof Headers){headers.forEach(function(value,name){this.append(name,value)},this)}else if(Array.isArray(headers)){headers.forEach(function(header){this.append(header[0],header[1])},this)}else if(headers){Object.getOwnPropertyNames(headers).forEach(function(name){this.append(name,headers[name])},this)}}Headers.prototype.append=function(name,value){name=normalizeName(name);value=normalizeValue(value);var oldValue=this.map[name];this.map[name]=oldValue?oldValue+","+value:value};Headers.prototype["delete"]=function(name){delete this.map[normalizeName(name)]};Headers.prototype.get=function(name){name=normalizeName(name);return this.has(name)?this.map[name]:null};Headers.prototype.has=function(name){return this.map.hasOwnProperty(normalizeName(name))};Headers.prototype.set=function(name,value){this.map[normalizeName(name)]=normalizeValue(value)};Headers.prototype.forEach=function(callback,thisArg){for(var name in this.map){if(this.map.hasOwnProperty(name)){callback.call(thisArg,this.map[name],name,this)}}};Headers.prototype.keys=function(){var items=[];this.forEach(function(value,name){items.push(name)});return iteratorFor(items)};Headers.prototype.values=function(){var items=[];this.forEach(function(value){items.push(value)});return iteratorFor(items)};Headers.prototype.entries=function(){var items=[];this.forEach(function(value,name){items.push([name,value])});return iteratorFor(items)};if(support.iterable){Headers.prototype[Symbol.iterator]=Headers.prototype.entries}function consumed(body){if(body.bodyUsed){return Promise.reject(new TypeError("Already read"))}body.bodyUsed=true}function fileReaderReady(reader){return new Promise(function(resolve,reject){reader.onload=function(){resolve(reader.result)};reader.onerror=function(){reject(reader.error)}})}function readBlobAsArrayBuffer(blob){var reader=new FileReader;var promise=fileReaderReady(reader);reader.readAsArrayBuffer(blob);return promise}function readBlobAsText(blob){var reader=new FileReader;var promise=fileReaderReady(reader);reader.readAsText(blob);return promise}function readArrayBufferAsText(buf){var view=new Uint8Array(buf);var chars=new Array(view.length);for(var i=0;i-1?upcased:method}function Request(input,options){options=options||{};var body=options.body;if(input instanceof Request){if(input.bodyUsed){throw new TypeError("Already read")}this.url=input.url;this.credentials=input.credentials;if(!options.headers){this.headers=new Headers(input.headers)}this.method=input.method;this.mode=input.mode;if(!body&&input._bodyInit!=null){body=input._bodyInit;input.bodyUsed=true}}else{this.url=String(input)}this.credentials=options.credentials||this.credentials||"omit";if(options.headers||!this.headers){this.headers=new Headers(options.headers)}this.method=normalizeMethod(options.method||this.method||"GET");this.mode=options.mode||this.mode||null;this.referrer=null;if((this.method==="GET"||this.method==="HEAD")&&body){throw new TypeError("Body not allowed for GET or HEAD requests")}this._initBody(body)}Request.prototype.clone=function(){return new Request(this,{body:this._bodyInit})};function decode(body){var form=new FormData;body.trim().split("&").forEach(function(bytes){if(bytes){var split=bytes.split("=");var name=split.shift().replace(/\+/g," ");var value=split.join("=").replace(/\+/g," ");form.append(decodeURIComponent(name),decodeURIComponent(value))}});return form}function parseHeaders(rawHeaders){var headers=new Headers;var preProcessedHeaders=rawHeaders.replace(/\r?\n[\t ]+/g," ");preProcessedHeaders.split(/\r?\n/).forEach(function(line){var parts=line.split(":");var key=parts.shift().trim();if(key){var value=parts.join(":").trim();headers.append(key,value)}});return headers}Body.call(Request.prototype);function Response(bodyInit,options){if(!options){options={}}this.type="default";this.status=options.status===undefined?200:options.status;this.ok=this.status>=200&&this.status<300;this.statusText="statusText"in options?options.statusText:"OK";this.headers=new Headers(options.headers);this.url=options.url||"";this._initBody(bodyInit)}Body.call(Response.prototype);Response.prototype.clone=function(){return new Response(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new Headers(this.headers),url:this.url})};Response.error=function(){var response=new Response(null,{status:0,statusText:""});response.type="error";return response};var redirectStatuses=[301,302,303,307,308];Response.redirect=function(url,status){if(redirectStatuses.indexOf(status)===-1){throw new RangeError("Invalid status code")}return new Response(null,{status:status,headers:{location:url}})};self.Headers=Headers;self.Request=Request;self.Response=Response;self.fetch=function(input,init){return new Promise(function(resolve,reject){var request=new Request(input,init);var xhr=new XMLHttpRequest;xhr.onload=function(){var options={status:xhr.status,statusText:xhr.statusText,headers:parseHeaders(xhr.getAllResponseHeaders()||"")};options.url="responseURL"in xhr?xhr.responseURL:options.headers.get("X-Request-URL");var body="response"in xhr?xhr.response:xhr.responseText;resolve(new Response(body,options))};xhr.onerror=function(){reject(new TypeError("Network request failed"))};xhr.ontimeout=function(){reject(new TypeError("Network request failed"))};xhr.open(request.method,request.url,true);if(request.credentials==="include"){xhr.withCredentials=true}else if(request.credentials==="omit"){xhr.withCredentials=false}if("responseType"in xhr&&support.blob){xhr.responseType="blob"}request.headers.forEach(function(value,name){xhr.setRequestHeader(name,value)});xhr.send(typeof request._bodyInit==="undefined"?null:request._bodyInit)})};self.fetch.polyfill=true})(typeof self!=="undefined"?self:this)},{}]},{},[1]); \ No newline at end of file +(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i1&&typeof propertyValue==="string"){allValues=Array.prototype.slice.call(additionalProperties)}this.urlComponents.oDataQueryParams[propertyName]+=allValues.join(",")};GraphRequest.prototype.delete=function(callback){var self=this,url=self.buildFullUrl(),options={method:RequestMethod_1.RequestMethod.DELETE};return self.sendRequestAndRouteResponse(url,options,callback)};GraphRequest.prototype.del=function(callback){return this.delete(callback)};GraphRequest.prototype.patch=function(content,callback){var self=this,url=self.buildFullUrl(),options={method:RequestMethod_1.RequestMethod.PATCH,body:GraphHelper_1.GraphHelper.serializeContent(content),headers:{"Content-Type":"application/json"}};return self.sendRequestAndRouteResponse(url,options,callback)};GraphRequest.prototype.post=function(content,callback){var self=this,url=self.buildFullUrl(),options={method:RequestMethod_1.RequestMethod.POST,body:GraphHelper_1.GraphHelper.serializeContent(content),headers:content.constructor!==undefined&&content.constructor.name==="FormData"?{}:{"Content-Type":"application/json"}};return self.sendRequestAndRouteResponse(url,options,callback)};GraphRequest.prototype.create=function(content,callback){return this.post(content,callback)};GraphRequest.prototype.put=function(content,callback){var self=this,url=self.buildFullUrl(),options={method:RequestMethod_1.RequestMethod.PUT,body:GraphHelper_1.GraphHelper.serializeContent(content),headers:{"Content-Type":"application/octet-stream"}};return self.sendRequestAndRouteResponse(url,options,callback)};GraphRequest.prototype.update=function(content,callback){return this.patch(content,callback)};GraphRequest.prototype.get=function(callback){var self=this,url=self.buildFullUrl(),options={method:RequestMethod_1.RequestMethod.GET};return self.sendRequestAndRouteResponse(url,options,callback)};GraphRequest.prototype.getStream=function(callback){var self=this,url=self.buildFullUrl(),options={method:RequestMethod_1.RequestMethod.GET};self.responseType(ResponseType_1.ResponseType.STREAM);return self.sendRequestAndRouteResponse(url,options,callback)};GraphRequest.prototype.putStream=function(stream,callback){var self=this,url=self.buildFullUrl(),options={method:RequestMethod_1.RequestMethod.PUT,headers:{"Content-Type":"application/octet-stream"},body:stream};return self.sendRequestAndRouteResponse(url,options,callback)};GraphRequest.prototype.sendRequestAndRouteResponse=function(request,options,callback){if(callback==null&&typeof es6_promise_1.Promise!=="undefined"){return this.routeResponseToPromise(request,options)}else{this.routeResponseToCallback(request,options,callback)}};GraphRequest.prototype.routeResponseToPromise=function(request,options){var _this=this;return new es6_promise_1.Promise(function(resolve,reject){_this.routeResponseToCallback(request,options,function(err,body){if(err!=null){reject(err)}else{resolve(body)}})})};GraphRequest.prototype.routeResponseToCallback=function(request,options,callback){var _this=this;if(callback===void 0){callback=function(){}}var self=this;self.config.authProvider(function(err,accessToken){if(err==null&&accessToken!=null){options=self.configureRequestOptions(options,accessToken);fetch(request,options).then(function(response){_this.convertResponseType(response).then(function(responseValue){ResponseHandler_1.ResponseHandler.init(response,undefined,responseValue,callback)}).catch(function(error){ResponseHandler_1.ResponseHandler.init(response,error,undefined,callback)})}).catch(function(error){ResponseHandler_1.ResponseHandler.init(undefined,error,undefined,callback)})}else{callback(err,null,null)}})};GraphRequest.prototype.configureRequestOptions=function(options,accessToken){var self=this,defaultHeaders={Authorization:"Bearer "+accessToken,SdkVersion:"graph-js-"+common_1.PACKAGE_VERSION};var configuredOptions={headers:{}};Object.assign(configuredOptions,self.config.fetchOptions,self._options,options);Object.assign(configuredOptions.headers,defaultHeaders,self._headers,options.headers);return configuredOptions};GraphRequest.prototype.query=function(queryDictionaryOrString){if(typeof queryDictionaryOrString==="string"){var queryStr=queryDictionaryOrString;var queryKey=queryStr.split("=")[0];var queryValue=queryStr.split("=")[1];this.urlComponents.otherURLQueryParams[queryKey]=queryValue}else{for(var key in queryDictionaryOrString){this.urlComponents.otherURLQueryParams[key]=queryDictionaryOrString[key]}}return this};GraphRequest.prototype.createQueryString=function(){var q=[];if(Object.keys(this.urlComponents.oDataQueryParams).length!=0){for(var property in this.urlComponents.oDataQueryParams){q.push(property+"="+this.urlComponents.oDataQueryParams[property])}}if(Object.keys(this.urlComponents.otherURLQueryParams).length!=0){for(var property in this.urlComponents.otherURLQueryParams){q.push(property+"="+this.urlComponents.otherURLQueryParams[property])}}if(q.length>0){return"?"+q.join("&")}return""};GraphRequest.prototype.convertResponseType=function(response){var responseValue;if(!this._responseType){this._responseType=""}switch(this._responseType.toLowerCase()){case ResponseType_1.ResponseType.ARRAYBUFFER:responseValue=response.arrayBuffer();break;case ResponseType_1.ResponseType.BLOB:responseValue=response.blob();break;case ResponseType_1.ResponseType.DOCUMENT:responseValue=response.json();break;case ResponseType_1.ResponseType.JSON:responseValue=response.json();break;case ResponseType_1.ResponseType.STREAM:responseValue=es6_promise_1.Promise.resolve(response.body);break;case ResponseType_1.ResponseType.TEXT:responseValue=response.text();break;default:responseValue=response.json();break}return responseValue};return GraphRequest}();exports.GraphRequest=GraphRequest},{"./GraphHelper":2,"./RequestMethod":5,"./ResponseHandler":6,"./ResponseType":7,"./common":8,"es6-promise":18,"isomorphic-fetch":21}],4:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var Range=function(){function Range(minVal,maxVal){if(minVal===void 0){minVal=-1}if(maxVal===void 0){maxVal=-1}var self=this;self.minValue=minVal;self.maxValue=maxVal}return Range}();exports.Range=Range},{}],5:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var RequestMethod;(function(RequestMethod){RequestMethod["GET"]="GET";RequestMethod["PATCH"]="PATCH";RequestMethod["POST"]="POST";RequestMethod["PUT"]="PUT";RequestMethod["DELETE"]="DELETE"})(RequestMethod=exports.RequestMethod||(exports.RequestMethod={}))},{}],6:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var ResponseHandler=function(){function ResponseHandler(){}ResponseHandler.init=function(res,err,resContents,callback){if(res&&res.ok){callback(null,resContents,res)}else{if(err==null&&res!=null)if(resContents!=null&&resContents.error!=null)callback(ResponseHandler.buildGraphErrorFromResponseObject(resContents.error,res.status),null,res);else callback(ResponseHandler.defaultGraphError(res.status),null,res);else callback(ResponseHandler.ParseError(err),null,res)}};ResponseHandler.ParseError=function(rawErr){if(!rawErr){return ResponseHandler.defaultGraphError(-1)}return ResponseHandler.buildGraphErrorFromErrorObject(rawErr)};ResponseHandler.defaultGraphError=function(statusCode){return{statusCode:statusCode,code:null,message:null,requestId:null,date:new Date,body:null}};ResponseHandler.buildGraphErrorFromErrorObject=function(errObj){var error=ResponseHandler.defaultGraphError(-1);error.body=errObj.toString();error.message=errObj.message;error.date=new Date;return error};ResponseHandler.buildGraphErrorFromResponseObject=function(errObj,statusCode){return{statusCode:statusCode,code:errObj.code,message:errObj.message,requestId:errObj.innerError!==undefined?errObj.innerError["request-id"]:"",date:errObj.innerError!==undefined?new Date(errObj.innerError.date):new Date,body:errObj}};return ResponseHandler}();exports.ResponseHandler=ResponseHandler},{}],7:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var ResponseType;(function(ResponseType){ResponseType["ARRAYBUFFER"]="arraybuffer";ResponseType["BLOB"]="blob";ResponseType["DOCUMENT"]="document";ResponseType["JSON"]="json";ResponseType["STREAM"]="stream";ResponseType["TEXT"]="text"})(ResponseType=exports.ResponseType||(exports.ResponseType={}))},{}],8:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.oDataQueryNames=["select","expand","orderby","filter","top","skip","skipToken","count"];exports.DEFAULT_VERSION="v1.0";exports.GRAPH_BASE_URL="https://graph.microsoft.com/";exports.PACKAGE_VERSION="1.3.0";exports.oDataQueryNames=exports.oDataQueryNames.concat(exports.oDataQueryNames.map(function(s){return"$"+s}))},{}],9:[function(require,module,exports){(function(Buffer){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):new P(function(resolve){resolve(result.value)}).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};var __generator=this&&this.__generator||function(thisArg,body){var _={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},f,y,t,g;return g={next:verb(0),throw:verb(1),return:verb(2)},typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]limit){var error=new Error("Maximum requests limit exceeded, Max allowed number of requests are "+limit);error.name="Limit Exceeded Error";throw error}for(var _i=0,requests_1=requests;_i0){batchRequestData.dependsOn=requestStep.dependsOn}requests.push(batchRequestData);cur=iterator.next();return[3,1];case 3:requestBody.requests=requests;return[2,requestBody]}})})};BatchRequestContent.validateDependencies=function(requests){var isParallel=function(requests){var iterator=requests.entries(),cur=iterator.next();while(!cur.done){var curReq=cur.value[1];if(curReq.dependsOn!==undefined&&curReq.dependsOn.length>0){return false}cur=iterator.next()}return true};var isSerial=function(requests){var iterator=requests.entries(),cur=iterator.next();var firstRequest=cur.value[1];if(firstRequest.dependsOn!==undefined&&firstRequest.dependsOn.length>0){return false}var prev=cur;cur=iterator.next();while(!cur.done){var curReq=cur.value[1];if(curReq.dependsOn===undefined||curReq.dependsOn.length!==1||curReq.dependsOn[0]!==prev.value[1].id){return false}prev=cur;cur=iterator.next()}return true};var isSame=function(requests){var iterator=requests.entries(),cur=iterator.next();var firstRequest=cur.value[1],dependencyId;if(firstRequest.dependsOn===undefined||firstRequest.dependsOn.length===0){dependencyId=firstRequest.id}else{if(firstRequest.dependsOn.length===1){var fDependencyId=firstRequest.dependsOn[0];if(fDependencyId!==firstRequest.id&&requests.has(fDependencyId)){dependencyId=fDependencyId}else{return false}}else{return false}}cur=iterator.next();while(!cur.done){var curReq=cur.value[1];if((curReq.dependsOn===undefined||curReq.dependsOn.length===0)&&dependencyId!==curReq.id){return false}if(curReq.dependsOn!==undefined&&curReq.dependsOn.length!==0){if(curReq.dependsOn.length===1&&(curReq.id===dependencyId||curReq.dependsOn[0]!==dependencyId)){return false}if(curReq.dependsOn.length>1){return false}}cur=iterator.next()}return true};if(requests.size===0){var error=new Error("Empty requests map, Please provide at least one request.");error.name="Empty Requests Error";throw error}return isParallel(requests)||isSerial(requests)||isSame(requests)};BatchRequestContent.getRequestData=function(request){return __awaiter(this,void 0,void 0,function(){var requestData,hasHttpRegex,headers,_a;return __generator(this,function(_b){switch(_b.label){case 0:requestData={};hasHttpRegex=new RegExp("^https?://");if(hasHttpRegex.test(request.url)){requestData.url="/"+request.url.split(/.*?\/\/.*?\//)[1]}else{requestData.url=request.url}requestData.method=request.method;headers={};request.headers.forEach(function(value,key){headers[key]=value});if(Object.keys(headers).length){requestData.headers=headers}if(!(request.method===RequestMethod_1.RequestMethod.PATCH||request.method===RequestMethod_1.RequestMethod.POST||request.method===RequestMethod_1.RequestMethod.PUT))return[3,2];_a=requestData;return[4,BatchRequestContent.getRequestBody(request)];case 1:_a.body=_b.sent();_b.label=2;case 2:return[2,requestData]}})})};BatchRequestContent.getRequestBody=function(request){return __awaiter(this,void 0,void 0,function(){var bodyParsed,body,cloneReq,e_1,blob_1,reader_1,buffer,e_2;return __generator(this,function(_a){switch(_a.label){case 0:bodyParsed=false;_a.label=1;case 1:_a.trys.push([1,3,,4]);cloneReq=request.clone();return[4,cloneReq.json()];case 2:body=_a.sent();bodyParsed=true;return[3,4];case 3:e_1=_a.sent();return[3,4];case 4:if(!!bodyParsed)return[3,12];_a.label=5;case 5:_a.trys.push([5,11,,12]);if(!(typeof Blob!=="undefined"))return[3,8];return[4,request.blob()];case 6:blob_1=_a.sent();reader_1=new FileReader;return[4,new Promise(function(resolve){reader_1.addEventListener("load",function(){var dataURL=reader_1.result,regex=new RegExp("^s*data:(.+?/.+?(;.+?=.+?)*)?(;base64)?,(.*)s*$"),segments=regex.exec(dataURL);resolve(segments[4])},false);reader_1.readAsDataURL(blob_1)})];case 7:body=_a.sent();return[3,10];case 8:if(!(typeof Buffer!=="undefined"))return[3,10];return[4,request.buffer()];case 9:buffer=_a.sent();body=buffer.toString("base64");_a.label=10;case 10:bodyParsed=true;return[3,12];case 11:e_2=_a.sent();return[3,12];case 12:return[2,body]}})})};BatchRequestContent.prototype.addDependency=function(dependentId,dependencyId){var self=this;if(!self.requests.has(dependentId)){var error=new Error("Dependent "+dependentId+" does not exists, Please check the id");error.name="Invalid Dependent";throw error}if(typeof dependencyId!=="undefined"&&!self.requests.has(dependencyId)){var error=new Error("Dependency "+dependencyId+" does not exists, Please check the id");error.name="Invalid Dependency";throw error}if(typeof dependencyId!=="undefined"){var dependent=self.requests.get(dependentId);if(dependent.dependsOn===undefined){dependent.dependsOn=[]}if(dependent.dependsOn.includes(dependencyId)){var error=new Error("Dependency "+dependencyId+" is already added for the request "+dependentId);error.name="Duplicate Dependency";throw error}dependent.dependsOn.push(dependencyId)}else{var prev=void 0,iterator=self.requests.entries(),cur=iterator.next();while(!cur.done&&cur.value[1].id!==dependentId){prev=cur;cur=iterator.next()}if(typeof prev!=="undefined"){var dependencyId_1=prev.value[0];if(cur.value[1].dependsOn===undefined){cur.value[1].dependsOn=[]}if(cur.value[1].dependsOn.includes(dependencyId_1)){var error=new Error("Dependency "+dependencyId_1+" is already added for the request "+dependentId);error.name="Duplicate Dependency";throw error}cur.value[1].dependsOn.push(dependencyId_1)}else{var error=new Error("Can't add dependency "+dependencyId+", There is only a dependent request in the batch");error.name="Invalid Dependency Addition";throw error}}};BatchRequestContent.prototype.removeDependency=function(dependentId,dependencyId){var request=this.requests.get(dependentId);if(typeof request==="undefined"||request.dependsOn===undefined||request.dependsOn.length===0){return false}if(typeof dependencyId!=="undefined"){var index=request.dependsOn.indexOf(dependencyId);if(index===-1){return false}request.dependsOn.splice(index,1);return true}else{delete request.dependsOn;return true}};BatchRequestContent.requestLimit=20;return BatchRequestContent}();exports.BatchRequestContent=BatchRequestContent}).call(this,require("buffer").Buffer)},{"../RequestMethod":5,buffer:17}],10:[function(require,module,exports){"use strict";var __generator=this&&this.__generator||function(thisArg,body){var _={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},f,y,t,g;return g={next:verb(0),throw:verb(1),return:verb(2)},typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]=self.file.size){maxValue=self.file.size-1}return new Range_1.Range(minVal,maxValue)};LargeFileUploadTask.prototype.sliceFile=function(range){var blob=this.file.content.slice(range.minValue,range.maxValue+1);return blob};LargeFileUploadTask.prototype.upload=function(){return __awaiter(this,void 0,void 0,function(){var self,nextRange,err,fileSlice,response,err_1;return __generator(this,function(_a){switch(_a.label){case 0:self=this;_a.label=1;case 1:_a.trys.push([1,5,,6]);_a.label=2;case 2:if(!true)return[3,4];nextRange=self.getNextRange();if(nextRange.maxValue===-1){err=new Error("Task with which you are trying to upload is already completed, Please check for your uploaded file");err.name="Invalid Session";throw err}fileSlice=self.sliceFile(nextRange);return[4,self.uploadSlice(fileSlice,nextRange,self.file.size)];case 3:response=_a.sent();if(response.id!==undefined){return[2,response]}else{self.updateTaskStatus(response)}return[3,2];case 4:return[3,6];case 5:err_1=_a.sent();throw err_1;case 6:return[2]}})})};LargeFileUploadTask.prototype.uploadSlice=function(fileSlice,range,totalSize){return __awaiter(this,void 0,void 0,function(){var self,err_2;return __generator(this,function(_a){switch(_a.label){case 0:self=this;_a.label=1;case 1:_a.trys.push([1,3,,4]);return[4,self.client.api(self.uploadSession.url).headers({"Content-Length":""+(range.maxValue-range.minValue+1),"Content-Range":"bytes "+range.minValue+"-"+range.maxValue+"/"+totalSize}).put(fileSlice)];case 2:return[2,_a.sent()];case 3:err_2=_a.sent();throw err_2;case 4:return[2]}})})};LargeFileUploadTask.prototype.cancel=function(){return __awaiter(this,void 0,void 0,function(){var self,err_3;return __generator(this,function(_a){switch(_a.label){case 0:self=this;_a.label=1;case 1:_a.trys.push([1,3,,4]);return[4,self.client.api(self.uploadSession.url).delete()];case 2:return[2,_a.sent()];case 3:err_3=_a.sent();throw err_3;case 4:return[2]}})})};LargeFileUploadTask.prototype.getStatus=function(){return __awaiter(this,void 0,void 0,function(){var self,response,err_4;return __generator(this,function(_a){switch(_a.label){case 0:self=this;_a.label=1;case 1:_a.trys.push([1,3,,4]);return[4,self.client.api(self.uploadSession.url).get()];case 2:response=_a.sent();self.updateTaskStatus(response);return[2,response];case 3:err_4=_a.sent();throw err_4;case 4:return[2]}})})};LargeFileUploadTask.prototype.resume=function(){return __awaiter(this,void 0,void 0,function(){var self,err_5;return __generator(this,function(_a){switch(_a.label){case 0:self=this;_a.label=1;case 1:_a.trys.push([1,4,,5]);return[4,self.getStatus()];case 2:_a.sent();return[4,self.upload()];case 3:return[2,_a.sent()];case 4:err_5=_a.sent();throw err_5;case 5:return[2]}})})};return LargeFileUploadTask}();exports.LargeFileUploadTask=LargeFileUploadTask},{"../Range":4}],13:[function(require,module,exports){"use strict";var __extends=this&&this.__extends||function(){var extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(b.hasOwnProperty(p))d[p]=b[p]};return function(d,b){extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):new P(function(resolve){resolve(result.value)}).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};var __generator=this&&this.__generator||function(thisArg,body){var _={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},f,y,t,g;return g={next:verb(0),throw:verb(1),return:verb(2)},typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]320*1024){value=Math.floor(value/(320*1024))*320*1024}return value};exports.getValidRangeSize=function(rangeSize){if(rangeSize===void 0){rangeSize=DEFAULT_FILE_SIZE}var sixtyMB=60*1024*1024;if(rangeSize>sixtyMB){rangeSize=sixtyMB}return roundTo320KB(rangeSize)}},{}],15:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):new P(function(resolve){resolve(result.value)}).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};var __generator=this&&this.__generator||function(thisArg,body){var _={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},f,y,t,g;return g={next:verb(0),throw:verb(1),return:verb(2)},typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]0){throw new Error("Invalid string. Length must be a multiple of 4")}var validLen=b64.indexOf("=");if(validLen===-1)validLen=len;var placeHoldersLen=validLen===len?0:4-validLen%4;return[validLen,placeHoldersLen]}function byteLength(b64){var lens=getLens(b64);var validLen=lens[0];var placeHoldersLen=lens[1];return(validLen+placeHoldersLen)*3/4-placeHoldersLen}function _byteLength(b64,validLen,placeHoldersLen){return(validLen+placeHoldersLen)*3/4-placeHoldersLen}function toByteArray(b64){var tmp;var lens=getLens(b64);var validLen=lens[0];var placeHoldersLen=lens[1];var arr=new Arr(_byteLength(b64,validLen,placeHoldersLen));var curByte=0;var len=placeHoldersLen>0?validLen-4:validLen;for(var i=0;i>16&255;arr[curByte++]=tmp>>8&255;arr[curByte++]=tmp&255}if(placeHoldersLen===2){tmp=revLookup[b64.charCodeAt(i)]<<2|revLookup[b64.charCodeAt(i+1)]>>4;arr[curByte++]=tmp&255}if(placeHoldersLen===1){tmp=revLookup[b64.charCodeAt(i)]<<10|revLookup[b64.charCodeAt(i+1)]<<4|revLookup[b64.charCodeAt(i+2)]>>2;arr[curByte++]=tmp>>8&255;arr[curByte++]=tmp&255}return arr}function tripletToBase64(num){return lookup[num>>18&63]+lookup[num>>12&63]+lookup[num>>6&63]+lookup[num&63]}function encodeChunk(uint8,start,end){var tmp;var output=[];for(var i=start;ilen2?len2:i+maxChunkLength))}if(extraBytes===1){tmp=uint8[len-1];parts.push(lookup[tmp>>2]+lookup[tmp<<4&63]+"==")}else if(extraBytes===2){tmp=(uint8[len-2]<<8)+uint8[len-1];parts.push(lookup[tmp>>10]+lookup[tmp>>4&63]+lookup[tmp<<2&63]+"=")}return parts.join("")}},{}],17:[function(require,module,exports){(function(global){"use strict";var base64=require("base64-js");var ieee754=require("ieee754");var isArray=require("isarray");exports.Buffer=Buffer;exports.SlowBuffer=SlowBuffer;exports.INSPECT_MAX_BYTES=50;Buffer.TYPED_ARRAY_SUPPORT=global.TYPED_ARRAY_SUPPORT!==undefined?global.TYPED_ARRAY_SUPPORT:typedArraySupport();exports.kMaxLength=kMaxLength();function typedArraySupport(){try{var arr=new Uint8Array(1);arr.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}};return arr.foo()===42&&typeof arr.subarray==="function"&&arr.subarray(1,1).byteLength===0}catch(e){return false}}function kMaxLength(){return Buffer.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function createBuffer(that,length){if(kMaxLength()=kMaxLength()){throw new RangeError("Attempt to allocate Buffer larger than maximum "+"size: 0x"+kMaxLength().toString(16)+" bytes")}return length|0}function SlowBuffer(length){if(+length!=length){length=0}return Buffer.alloc(+length)}Buffer.isBuffer=function isBuffer(b){return!!(b!=null&&b._isBuffer)};Buffer.compare=function compare(a,b){if(!Buffer.isBuffer(a)||!Buffer.isBuffer(b)){throw new TypeError("Arguments must be Buffers")}if(a===b)return 0;var x=a.length;var y=b.length;for(var i=0,len=Math.min(x,y);i>>1;case"base64":return base64ToBytes(string).length;default:if(loweredCase)return utf8ToBytes(string).length;encoding=(""+encoding).toLowerCase();loweredCase=true}}}Buffer.byteLength=byteLength;function slowToString(encoding,start,end){var loweredCase=false;if(start===undefined||start<0){start=0}if(start>this.length){return""}if(end===undefined||end>this.length){end=this.length}if(end<=0){return""}end>>>=0;start>>>=0;if(end<=start){return""}if(!encoding)encoding="utf8";while(true){switch(encoding){case"hex":return hexSlice(this,start,end);case"utf8":case"utf-8":return utf8Slice(this,start,end);case"ascii":return asciiSlice(this,start,end);case"latin1":case"binary":return latin1Slice(this,start,end);case"base64":return base64Slice(this,start,end);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return utf16leSlice(this,start,end);default:if(loweredCase)throw new TypeError("Unknown encoding: "+encoding);encoding=(encoding+"").toLowerCase();loweredCase=true}}}Buffer.prototype._isBuffer=true;function swap(b,n,m){var i=b[n];b[n]=b[m];b[m]=i}Buffer.prototype.swap16=function swap16(){var len=this.length;if(len%2!==0){throw new RangeError("Buffer size must be a multiple of 16-bits")}for(var i=0;i0){str=this.toString("hex",0,max).match(/.{2}/g).join(" ");if(this.length>max)str+=" ... "}return""};Buffer.prototype.compare=function compare(target,start,end,thisStart,thisEnd){if(!Buffer.isBuffer(target)){throw new TypeError("Argument must be a Buffer")}if(start===undefined){start=0}if(end===undefined){end=target?target.length:0}if(thisStart===undefined){thisStart=0}if(thisEnd===undefined){thisEnd=this.length}if(start<0||end>target.length||thisStart<0||thisEnd>this.length){throw new RangeError("out of range index")}if(thisStart>=thisEnd&&start>=end){return 0}if(thisStart>=thisEnd){return-1}if(start>=end){return 1}start>>>=0;end>>>=0;thisStart>>>=0;thisEnd>>>=0;if(this===target)return 0;var x=thisEnd-thisStart;var y=end-start;var len=Math.min(x,y);var thisCopy=this.slice(thisStart,thisEnd);var targetCopy=target.slice(start,end);for(var i=0;i2147483647){byteOffset=2147483647}else if(byteOffset<-2147483648){byteOffset=-2147483648}byteOffset=+byteOffset;if(isNaN(byteOffset)){byteOffset=dir?0:buffer.length-1}if(byteOffset<0)byteOffset=buffer.length+byteOffset;if(byteOffset>=buffer.length){if(dir)return-1;else byteOffset=buffer.length-1}else if(byteOffset<0){if(dir)byteOffset=0;else return-1}if(typeof val==="string"){val=Buffer.from(val,encoding)}if(Buffer.isBuffer(val)){if(val.length===0){return-1}return arrayIndexOf(buffer,val,byteOffset,encoding,dir)}else if(typeof val==="number"){val=val&255;if(Buffer.TYPED_ARRAY_SUPPORT&&typeof Uint8Array.prototype.indexOf==="function"){if(dir){return Uint8Array.prototype.indexOf.call(buffer,val,byteOffset)}else{return Uint8Array.prototype.lastIndexOf.call(buffer,val,byteOffset)}}return arrayIndexOf(buffer,[val],byteOffset,encoding,dir)}throw new TypeError("val must be string, number or Buffer")}function arrayIndexOf(arr,val,byteOffset,encoding,dir){var indexSize=1;var arrLength=arr.length;var valLength=val.length;if(encoding!==undefined){encoding=String(encoding).toLowerCase();if(encoding==="ucs2"||encoding==="ucs-2"||encoding==="utf16le"||encoding==="utf-16le"){if(arr.length<2||val.length<2){return-1}indexSize=2;arrLength/=2;valLength/=2;byteOffset/=2}}function read(buf,i){if(indexSize===1){return buf[i]}else{return buf.readUInt16BE(i*indexSize)}}var i;if(dir){var foundIndex=-1;for(i=byteOffset;iarrLength)byteOffset=arrLength-valLength;for(i=byteOffset;i>=0;i--){var found=true;for(var j=0;jremaining){length=remaining}}var strLen=string.length;if(strLen%2!==0)throw new TypeError("Invalid hex string");if(length>strLen/2){length=strLen/2}for(var i=0;iremaining)length=remaining;if(string.length>0&&(length<0||offset<0)||offset>this.length){throw new RangeError("Attempt to write outside buffer bounds")}if(!encoding)encoding="utf8";var loweredCase=false;for(;;){switch(encoding){case"hex":return hexWrite(this,string,offset,length);case"utf8":case"utf-8":return utf8Write(this,string,offset,length);case"ascii":return asciiWrite(this,string,offset,length);case"latin1":case"binary":return latin1Write(this,string,offset,length);case"base64":return base64Write(this,string,offset,length);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ucs2Write(this,string,offset,length);default:if(loweredCase)throw new TypeError("Unknown encoding: "+encoding);encoding=(""+encoding).toLowerCase();loweredCase=true}}};Buffer.prototype.toJSON=function toJSON(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function base64Slice(buf,start,end){if(start===0&&end===buf.length){return base64.fromByteArray(buf)}else{return base64.fromByteArray(buf.slice(start,end))}}function utf8Slice(buf,start,end){end=Math.min(buf.length,end);var res=[];var i=start;while(i239?4:firstByte>223?3:firstByte>191?2:1;if(i+bytesPerSequence<=end){var secondByte,thirdByte,fourthByte,tempCodePoint;switch(bytesPerSequence){case 1:if(firstByte<128){codePoint=firstByte}break;case 2:secondByte=buf[i+1];if((secondByte&192)===128){tempCodePoint=(firstByte&31)<<6|secondByte&63;if(tempCodePoint>127){codePoint=tempCodePoint}}break;case 3:secondByte=buf[i+1];thirdByte=buf[i+2];if((secondByte&192)===128&&(thirdByte&192)===128){tempCodePoint=(firstByte&15)<<12|(secondByte&63)<<6|thirdByte&63;if(tempCodePoint>2047&&(tempCodePoint<55296||tempCodePoint>57343)){codePoint=tempCodePoint}}break;case 4:secondByte=buf[i+1];thirdByte=buf[i+2];fourthByte=buf[i+3];if((secondByte&192)===128&&(thirdByte&192)===128&&(fourthByte&192)===128){tempCodePoint=(firstByte&15)<<18|(secondByte&63)<<12|(thirdByte&63)<<6|fourthByte&63;if(tempCodePoint>65535&&tempCodePoint<1114112){codePoint=tempCodePoint}}}}if(codePoint===null){codePoint=65533;bytesPerSequence=1}else if(codePoint>65535){codePoint-=65536;res.push(codePoint>>>10&1023|55296);codePoint=56320|codePoint&1023}res.push(codePoint);i+=bytesPerSequence}return decodeCodePointsArray(res)}var MAX_ARGUMENTS_LENGTH=4096;function decodeCodePointsArray(codePoints){var len=codePoints.length;if(len<=MAX_ARGUMENTS_LENGTH){return String.fromCharCode.apply(String,codePoints)}var res="";var i=0;while(ilen)end=len;var out="";for(var i=start;ilen){start=len}if(end<0){end+=len;if(end<0)end=0}else if(end>len){end=len}if(endlength)throw new RangeError("Trying to access beyond buffer length")}Buffer.prototype.readUIntLE=function readUIntLE(offset,byteLength,noAssert){offset=offset|0;byteLength=byteLength|0;if(!noAssert)checkOffset(offset,byteLength,this.length);var val=this[offset];var mul=1;var i=0;while(++i0&&(mul*=256)){val+=this[offset+--byteLength]*mul}return val};Buffer.prototype.readUInt8=function readUInt8(offset,noAssert){if(!noAssert)checkOffset(offset,1,this.length);return this[offset]};Buffer.prototype.readUInt16LE=function readUInt16LE(offset,noAssert){if(!noAssert)checkOffset(offset,2,this.length);return this[offset]|this[offset+1]<<8};Buffer.prototype.readUInt16BE=function readUInt16BE(offset,noAssert){if(!noAssert)checkOffset(offset,2,this.length);return this[offset]<<8|this[offset+1]};Buffer.prototype.readUInt32LE=function readUInt32LE(offset,noAssert){if(!noAssert)checkOffset(offset,4,this.length);return(this[offset]|this[offset+1]<<8|this[offset+2]<<16)+this[offset+3]*16777216};Buffer.prototype.readUInt32BE=function readUInt32BE(offset,noAssert){if(!noAssert)checkOffset(offset,4,this.length);return this[offset]*16777216+(this[offset+1]<<16|this[offset+2]<<8|this[offset+3])};Buffer.prototype.readIntLE=function readIntLE(offset,byteLength,noAssert){offset=offset|0;byteLength=byteLength|0;if(!noAssert)checkOffset(offset,byteLength,this.length);var val=this[offset];var mul=1;var i=0;while(++i=mul)val-=Math.pow(2,8*byteLength);return val};Buffer.prototype.readIntBE=function readIntBE(offset,byteLength,noAssert){offset=offset|0;byteLength=byteLength|0;if(!noAssert)checkOffset(offset,byteLength,this.length);var i=byteLength;var mul=1;var val=this[offset+--i];while(i>0&&(mul*=256)){val+=this[offset+--i]*mul}mul*=128;if(val>=mul)val-=Math.pow(2,8*byteLength);return val};Buffer.prototype.readInt8=function readInt8(offset,noAssert){if(!noAssert)checkOffset(offset,1,this.length);if(!(this[offset]&128))return this[offset];return(255-this[offset]+1)*-1};Buffer.prototype.readInt16LE=function readInt16LE(offset,noAssert){if(!noAssert)checkOffset(offset,2,this.length);var val=this[offset]|this[offset+1]<<8;return val&32768?val|4294901760:val};Buffer.prototype.readInt16BE=function readInt16BE(offset,noAssert){if(!noAssert)checkOffset(offset,2,this.length);var val=this[offset+1]|this[offset]<<8;return val&32768?val|4294901760:val};Buffer.prototype.readInt32LE=function readInt32LE(offset,noAssert){if(!noAssert)checkOffset(offset,4,this.length);return this[offset]|this[offset+1]<<8|this[offset+2]<<16|this[offset+3]<<24};Buffer.prototype.readInt32BE=function readInt32BE(offset,noAssert){if(!noAssert)checkOffset(offset,4,this.length);return this[offset]<<24|this[offset+1]<<16|this[offset+2]<<8|this[offset+3]};Buffer.prototype.readFloatLE=function readFloatLE(offset,noAssert){if(!noAssert)checkOffset(offset,4,this.length);return ieee754.read(this,offset,true,23,4)};Buffer.prototype.readFloatBE=function readFloatBE(offset,noAssert){if(!noAssert)checkOffset(offset,4,this.length);return ieee754.read(this,offset,false,23,4)};Buffer.prototype.readDoubleLE=function readDoubleLE(offset,noAssert){if(!noAssert)checkOffset(offset,8,this.length);return ieee754.read(this,offset,true,52,8)};Buffer.prototype.readDoubleBE=function readDoubleBE(offset,noAssert){if(!noAssert)checkOffset(offset,8,this.length);return ieee754.read(this,offset,false,52,8)};function checkInt(buf,value,offset,ext,max,min){if(!Buffer.isBuffer(buf))throw new TypeError('"buffer" argument must be a Buffer instance');if(value>max||valuebuf.length)throw new RangeError("Index out of range")}Buffer.prototype.writeUIntLE=function writeUIntLE(value,offset,byteLength,noAssert){value=+value;offset=offset|0;byteLength=byteLength|0;if(!noAssert){var maxBytes=Math.pow(2,8*byteLength)-1;checkInt(this,value,offset,byteLength,maxBytes,0)}var mul=1;var i=0;this[offset]=value&255;while(++i=0&&(mul*=256)){this[offset+i]=value/mul&255}return offset+byteLength};Buffer.prototype.writeUInt8=function writeUInt8(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,1,255,0);if(!Buffer.TYPED_ARRAY_SUPPORT)value=Math.floor(value);this[offset]=value&255;return offset+1};function objectWriteUInt16(buf,value,offset,littleEndian){if(value<0)value=65535+value+1;for(var i=0,j=Math.min(buf.length-offset,2);i>>(littleEndian?i:1-i)*8}}Buffer.prototype.writeUInt16LE=function writeUInt16LE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,2,65535,0);if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=value&255;this[offset+1]=value>>>8}else{objectWriteUInt16(this,value,offset,true)}return offset+2};Buffer.prototype.writeUInt16BE=function writeUInt16BE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,2,65535,0);if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=value>>>8;this[offset+1]=value&255}else{objectWriteUInt16(this,value,offset,false)}return offset+2};function objectWriteUInt32(buf,value,offset,littleEndian){if(value<0)value=4294967295+value+1;for(var i=0,j=Math.min(buf.length-offset,4);i>>(littleEndian?i:3-i)*8&255}}Buffer.prototype.writeUInt32LE=function writeUInt32LE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,4,4294967295,0);if(Buffer.TYPED_ARRAY_SUPPORT){this[offset+3]=value>>>24;this[offset+2]=value>>>16;this[offset+1]=value>>>8;this[offset]=value&255}else{objectWriteUInt32(this,value,offset,true)}return offset+4};Buffer.prototype.writeUInt32BE=function writeUInt32BE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,4,4294967295,0);if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=value>>>24;this[offset+1]=value>>>16;this[offset+2]=value>>>8;this[offset+3]=value&255}else{objectWriteUInt32(this,value,offset,false)}return offset+4};Buffer.prototype.writeIntLE=function writeIntLE(value,offset,byteLength,noAssert){value=+value;offset=offset|0;if(!noAssert){var limit=Math.pow(2,8*byteLength-1);checkInt(this,value,offset,byteLength,limit-1,-limit)}var i=0;var mul=1;var sub=0;this[offset]=value&255;while(++i>0)-sub&255}return offset+byteLength};Buffer.prototype.writeIntBE=function writeIntBE(value,offset,byteLength,noAssert){value=+value;offset=offset|0;if(!noAssert){var limit=Math.pow(2,8*byteLength-1);checkInt(this,value,offset,byteLength,limit-1,-limit)}var i=byteLength-1;var mul=1;var sub=0;this[offset+i]=value&255;while(--i>=0&&(mul*=256)){if(value<0&&sub===0&&this[offset+i+1]!==0){sub=1}this[offset+i]=(value/mul>>0)-sub&255}return offset+byteLength};Buffer.prototype.writeInt8=function writeInt8(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,1,127,-128);if(!Buffer.TYPED_ARRAY_SUPPORT)value=Math.floor(value);if(value<0)value=255+value+1;this[offset]=value&255;return offset+1};Buffer.prototype.writeInt16LE=function writeInt16LE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,2,32767,-32768);if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=value&255;this[offset+1]=value>>>8}else{objectWriteUInt16(this,value,offset,true)}return offset+2};Buffer.prototype.writeInt16BE=function writeInt16BE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,2,32767,-32768);if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=value>>>8;this[offset+1]=value&255}else{objectWriteUInt16(this,value,offset,false)}return offset+2};Buffer.prototype.writeInt32LE=function writeInt32LE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,4,2147483647,-2147483648);if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=value&255;this[offset+1]=value>>>8;this[offset+2]=value>>>16;this[offset+3]=value>>>24}else{objectWriteUInt32(this,value,offset,true)}return offset+4};Buffer.prototype.writeInt32BE=function writeInt32BE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,4,2147483647,-2147483648);if(value<0)value=4294967295+value+1;if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=value>>>24;this[offset+1]=value>>>16;this[offset+2]=value>>>8;this[offset+3]=value&255}else{objectWriteUInt32(this,value,offset,false)}return offset+4};function checkIEEE754(buf,value,offset,ext,max,min){if(offset+ext>buf.length)throw new RangeError("Index out of range");if(offset<0)throw new RangeError("Index out of range")}function writeFloat(buf,value,offset,littleEndian,noAssert){if(!noAssert){checkIEEE754(buf,value,offset,4,34028234663852886e22,-34028234663852886e22)}ieee754.write(buf,value,offset,littleEndian,23,4);return offset+4}Buffer.prototype.writeFloatLE=function writeFloatLE(value,offset,noAssert){return writeFloat(this,value,offset,true,noAssert)};Buffer.prototype.writeFloatBE=function writeFloatBE(value,offset,noAssert){return writeFloat(this,value,offset,false,noAssert)};function writeDouble(buf,value,offset,littleEndian,noAssert){if(!noAssert){checkIEEE754(buf,value,offset,8,17976931348623157e292,-17976931348623157e292)}ieee754.write(buf,value,offset,littleEndian,52,8);return offset+8}Buffer.prototype.writeDoubleLE=function writeDoubleLE(value,offset,noAssert){return writeDouble(this,value,offset,true,noAssert)};Buffer.prototype.writeDoubleBE=function writeDoubleBE(value,offset,noAssert){return writeDouble(this,value,offset,false,noAssert)};Buffer.prototype.copy=function copy(target,targetStart,start,end){if(!start)start=0;if(!end&&end!==0)end=this.length;if(targetStart>=target.length)targetStart=target.length;if(!targetStart)targetStart=0;if(end>0&&end=this.length)throw new RangeError("sourceStart out of bounds");if(end<0)throw new RangeError("sourceEnd out of bounds");if(end>this.length)end=this.length;if(target.length-targetStart=0;--i){target[i+targetStart]=this[i+start]}}else if(len<1e3||!Buffer.TYPED_ARRAY_SUPPORT){for(i=0;i>>0;end=end===undefined?this.length:end>>>0;if(!val)val=0;var i;if(typeof val==="number"){for(i=start;i55295&&codePoint<57344){if(!leadSurrogate){if(codePoint>56319){if((units-=3)>-1)bytes.push(239,191,189);continue}else if(i+1===length){if((units-=3)>-1)bytes.push(239,191,189);continue}leadSurrogate=codePoint;continue}if(codePoint<56320){if((units-=3)>-1)bytes.push(239,191,189);leadSurrogate=codePoint;continue}codePoint=(leadSurrogate-55296<<10|codePoint-56320)+65536}else if(leadSurrogate){if((units-=3)>-1)bytes.push(239,191,189)}leadSurrogate=null;if(codePoint<128){if((units-=1)<0)break;bytes.push(codePoint)}else if(codePoint<2048){if((units-=2)<0)break;bytes.push(codePoint>>6|192,codePoint&63|128)}else if(codePoint<65536){if((units-=3)<0)break;bytes.push(codePoint>>12|224,codePoint>>6&63|128,codePoint&63|128)}else if(codePoint<1114112){if((units-=4)<0)break;bytes.push(codePoint>>18|240,codePoint>>12&63|128,codePoint>>6&63|128,codePoint&63|128)}else{throw new Error("Invalid code point")}}return bytes}function asciiToBytes(str){var byteArray=[];for(var i=0;i>8;lo=c%256;byteArray.push(lo);byteArray.push(hi)}return byteArray}function base64ToBytes(str){return base64.toByteArray(base64clean(str))}function blitBuffer(src,dst,offset,length){for(var i=0;i=dst.length||i>=src.length)break;dst[i+offset]=src[i]}return i}function isnan(val){return val!==val}}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{"base64-js":16,ieee754:19,isarray:20}],18:[function(require,module,exports){(function(process,global){(function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?module.exports=factory():typeof define==="function"&&define.amd?define(factory):global.ES6Promise=factory()})(this,function(){"use strict";function objectOrFunction(x){var type=typeof x;return x!==null&&(type==="object"||type==="function")}function isFunction(x){return typeof x==="function"}var _isArray=void 0;if(Array.isArray){_isArray=Array.isArray}else{_isArray=function(x){return Object.prototype.toString.call(x)==="[object Array]"}}var isArray=_isArray;var len=0;var vertxNext=void 0;var customSchedulerFn=void 0;var asap=function asap(callback,arg){queue[len]=callback;queue[len+1]=arg;len+=2;if(len===2){if(customSchedulerFn){customSchedulerFn(flush)}else{scheduleFlush()}}};function setScheduler(scheduleFn){customSchedulerFn=scheduleFn}function setAsap(asapFn){asap=asapFn}var browserWindow=typeof window!=="undefined"?window:undefined;var browserGlobal=browserWindow||{};var BrowserMutationObserver=browserGlobal.MutationObserver||browserGlobal.WebKitMutationObserver;var isNode=typeof self==="undefined"&&typeof process!=="undefined"&&{}.toString.call(process)==="[object process]";var isWorker=typeof Uint8ClampedArray!=="undefined"&&typeof importScripts!=="undefined"&&typeof MessageChannel!=="undefined";function useNextTick(){return function(){return process.nextTick(flush)}}function useVertxTimer(){if(typeof vertxNext!=="undefined"){return function(){vertxNext(flush)}}return useSetTimeout()}function useMutationObserver(){var iterations=0;var observer=new BrowserMutationObserver(flush);var node=document.createTextNode("");observer.observe(node,{characterData:true});return function(){node.data=iterations=++iterations%2}}function useMessageChannel(){var channel=new MessageChannel;channel.port1.onmessage=flush;return function(){return channel.port2.postMessage(0)}}function useSetTimeout(){var globalSetTimeout=setTimeout;return function(){return globalSetTimeout(flush,1)}}var queue=new Array(1e3);function flush(){for(var i=0;i>1;var nBits=-7;var i=isLE?nBytes-1:0;var d=isLE?-1:1;var s=buffer[offset+i];i+=d;e=s&(1<<-nBits)-1;s>>=-nBits;nBits+=eLen;for(;nBits>0;e=e*256+buffer[offset+i],i+=d,nBits-=8){}m=e&(1<<-nBits)-1;e>>=-nBits;nBits+=mLen;for(;nBits>0;m=m*256+buffer[offset+i],i+=d,nBits-=8){}if(e===0){e=1-eBias}else if(e===eMax){return m?NaN:(s?-1:1)*Infinity}else{m=m+Math.pow(2,mLen);e=e-eBias}return(s?-1:1)*m*Math.pow(2,e-mLen)};exports.write=function(buffer,value,offset,isLE,mLen,nBytes){var e,m,c;var eLen=nBytes*8-mLen-1;var eMax=(1<>1;var rt=mLen===23?Math.pow(2,-24)-Math.pow(2,-77):0;var i=isLE?0:nBytes-1;var d=isLE?1:-1;var s=value<0||value===0&&1/value<0?1:0;value=Math.abs(value);if(isNaN(value)||value===Infinity){m=isNaN(value)?1:0;e=eMax}else{e=Math.floor(Math.log(value)/Math.LN2);if(value*(c=Math.pow(2,-e))<1){e--;c*=2}if(e+eBias>=1){value+=rt/c}else{value+=rt*Math.pow(2,1-eBias)}if(value*c>=2){e++;c/=2}if(e+eBias>=eMax){m=0;e=eMax}else if(e+eBias>=1){m=(value*c-1)*Math.pow(2,mLen);e=e+eBias}else{m=value*Math.pow(2,eBias-1)*Math.pow(2,mLen);e=0}}for(;mLen>=8;buffer[offset+i]=m&255,i+=d,m/=256,mLen-=8){}e=e<0;buffer[offset+i]=e&255,i+=d,e/=256,eLen-=8){}buffer[offset+i-d]|=s*128}},{}],20:[function(require,module,exports){var toString={}.toString;module.exports=Array.isArray||function(arr){return toString.call(arr)=="[object Array]"}},{}],21:[function(require,module,exports){require("whatwg-fetch");module.exports=self.fetch.bind(self)},{"whatwg-fetch":23}],22:[function(require,module,exports){var process=module.exports={};var cachedSetTimeout;var cachedClearTimeout;function defaultSetTimout(){throw new Error("setTimeout has not been defined")}function defaultClearTimeout(){throw new Error("clearTimeout has not been defined")}(function(){try{if(typeof setTimeout==="function"){cachedSetTimeout=setTimeout}else{cachedSetTimeout=defaultSetTimout}}catch(e){cachedSetTimeout=defaultSetTimout}try{if(typeof clearTimeout==="function"){cachedClearTimeout=clearTimeout}else{cachedClearTimeout=defaultClearTimeout}}catch(e){cachedClearTimeout=defaultClearTimeout}})();function runTimeout(fun){if(cachedSetTimeout===setTimeout){return setTimeout(fun,0)}if((cachedSetTimeout===defaultSetTimout||!cachedSetTimeout)&&setTimeout){cachedSetTimeout=setTimeout;return setTimeout(fun,0)}try{return cachedSetTimeout(fun,0)}catch(e){try{return cachedSetTimeout.call(null,fun,0)}catch(e){return cachedSetTimeout.call(this,fun,0)}}}function runClearTimeout(marker){if(cachedClearTimeout===clearTimeout){return clearTimeout(marker)}if((cachedClearTimeout===defaultClearTimeout||!cachedClearTimeout)&&clearTimeout){cachedClearTimeout=clearTimeout;return clearTimeout(marker)}try{return cachedClearTimeout(marker)}catch(e){try{return cachedClearTimeout.call(null,marker)}catch(e){return cachedClearTimeout.call(this,marker)}}}var queue=[];var draining=false;var currentQueue;var queueIndex=-1;function cleanUpNextTick(){if(!draining||!currentQueue){return}draining=false;if(currentQueue.length){queue=currentQueue.concat(queue)}else{queueIndex=-1}if(queue.length){drainQueue()}}function drainQueue(){if(draining){return}var timeout=runTimeout(cleanUpNextTick);draining=true;var len=queue.length;while(len){currentQueue=queue;queue=[];while(++queueIndex1){for(var i=1;i-1}}function normalizeName(name){if(typeof name!=="string"){name=String(name)}if(/[^a-z0-9\-#$%&'*+.\^_`|~]/i.test(name)){throw new TypeError("Invalid character in header field name")}return name.toLowerCase()}function normalizeValue(value){if(typeof value!=="string"){value=String(value)}return value}function iteratorFor(items){var iterator={next:function(){var value=items.shift();return{done:value===undefined,value:value}}};if(support.iterable){iterator[Symbol.iterator]=function(){return iterator}}return iterator}function Headers(headers){this.map={};if(headers instanceof Headers){headers.forEach(function(value,name){this.append(name,value)},this)}else if(Array.isArray(headers)){headers.forEach(function(header){this.append(header[0],header[1])},this)}else if(headers){Object.getOwnPropertyNames(headers).forEach(function(name){this.append(name,headers[name])},this)}}Headers.prototype.append=function(name,value){name=normalizeName(name);value=normalizeValue(value);var oldValue=this.map[name];this.map[name]=oldValue?oldValue+","+value:value};Headers.prototype["delete"]=function(name){delete this.map[normalizeName(name)]};Headers.prototype.get=function(name){name=normalizeName(name);return this.has(name)?this.map[name]:null};Headers.prototype.has=function(name){return this.map.hasOwnProperty(normalizeName(name))};Headers.prototype.set=function(name,value){this.map[normalizeName(name)]=normalizeValue(value)};Headers.prototype.forEach=function(callback,thisArg){for(var name in this.map){if(this.map.hasOwnProperty(name)){callback.call(thisArg,this.map[name],name,this)}}};Headers.prototype.keys=function(){var items=[];this.forEach(function(value,name){items.push(name)});return iteratorFor(items)};Headers.prototype.values=function(){var items=[];this.forEach(function(value){items.push(value)});return iteratorFor(items)};Headers.prototype.entries=function(){var items=[];this.forEach(function(value,name){items.push([name,value])});return iteratorFor(items)};if(support.iterable){Headers.prototype[Symbol.iterator]=Headers.prototype.entries}function consumed(body){if(body.bodyUsed){return Promise.reject(new TypeError("Already read"))}body.bodyUsed=true}function fileReaderReady(reader){return new Promise(function(resolve,reject){reader.onload=function(){resolve(reader.result)};reader.onerror=function(){reject(reader.error)}})}function readBlobAsArrayBuffer(blob){var reader=new FileReader;var promise=fileReaderReady(reader);reader.readAsArrayBuffer(blob);return promise}function readBlobAsText(blob){var reader=new FileReader;var promise=fileReaderReady(reader);reader.readAsText(blob);return promise}function readArrayBufferAsText(buf){var view=new Uint8Array(buf);var chars=new Array(view.length);for(var i=0;i-1?upcased:method}function Request(input,options){options=options||{};var body=options.body;if(input instanceof Request){if(input.bodyUsed){throw new TypeError("Already read")}this.url=input.url;this.credentials=input.credentials;if(!options.headers){this.headers=new Headers(input.headers)}this.method=input.method;this.mode=input.mode;if(!body&&input._bodyInit!=null){body=input._bodyInit;input.bodyUsed=true}}else{this.url=String(input)}this.credentials=options.credentials||this.credentials||"omit";if(options.headers||!this.headers){this.headers=new Headers(options.headers)}this.method=normalizeMethod(options.method||this.method||"GET");this.mode=options.mode||this.mode||null;this.referrer=null;if((this.method==="GET"||this.method==="HEAD")&&body){throw new TypeError("Body not allowed for GET or HEAD requests")}this._initBody(body)}Request.prototype.clone=function(){return new Request(this,{body:this._bodyInit})};function decode(body){var form=new FormData;body.trim().split("&").forEach(function(bytes){if(bytes){var split=bytes.split("=");var name=split.shift().replace(/\+/g," ");var value=split.join("=").replace(/\+/g," ");form.append(decodeURIComponent(name),decodeURIComponent(value))}});return form}function parseHeaders(rawHeaders){var headers=new Headers;var preProcessedHeaders=rawHeaders.replace(/\r?\n[\t ]+/g," ");preProcessedHeaders.split(/\r?\n/).forEach(function(line){var parts=line.split(":");var key=parts.shift().trim();if(key){var value=parts.join(":").trim();headers.append(key,value)}});return headers}Body.call(Request.prototype);function Response(bodyInit,options){if(!options){options={}}this.type="default";this.status=options.status===undefined?200:options.status;this.ok=this.status>=200&&this.status<300;this.statusText="statusText"in options?options.statusText:"OK";this.headers=new Headers(options.headers);this.url=options.url||"";this._initBody(bodyInit)}Body.call(Response.prototype);Response.prototype.clone=function(){return new Response(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new Headers(this.headers),url:this.url})};Response.error=function(){var response=new Response(null,{status:0,statusText:""});response.type="error";return response};var redirectStatuses=[301,302,303,307,308];Response.redirect=function(url,status){if(redirectStatuses.indexOf(status)===-1){throw new RangeError("Invalid status code")}return new Response(null,{status:status,headers:{location:url}})};self.Headers=Headers;self.Request=Request;self.Response=Response;self.fetch=function(input,init){return new Promise(function(resolve,reject){var request=new Request(input,init);var xhr=new XMLHttpRequest;xhr.onload=function(){var options={status:xhr.status,statusText:xhr.statusText,headers:parseHeaders(xhr.getAllResponseHeaders()||"")};options.url="responseURL"in xhr?xhr.responseURL:options.headers.get("X-Request-URL");var body="response"in xhr?xhr.response:xhr.responseText;resolve(new Response(body,options))};xhr.onerror=function(){reject(new TypeError("Network request failed"))};xhr.ontimeout=function(){reject(new TypeError("Network request failed"))};xhr.open(request.method,request.url,true);if(request.credentials==="include"){xhr.withCredentials=true}else if(request.credentials==="omit"){xhr.withCredentials=false}if("responseType"in xhr&&support.blob){xhr.responseType="blob"}request.headers.forEach(function(value,name){xhr.setRequestHeader(name,value)});xhr.send(typeof request._bodyInit==="undefined"?null:request._bodyInit)})};self.fetch.polyfill=true})(typeof self!=="undefined"?self:this)},{}]},{},[1]); \ No newline at end of file diff --git a/lib/src/common.d.ts b/lib/src/common.d.ts index 8a3a87f74..e807090e3 100644 --- a/lib/src/common.d.ts +++ b/lib/src/common.d.ts @@ -7,7 +7,7 @@ export declare const GRAPH_BASE_URL = "https://graph.microsoft.com/"; * @NOTE: This should be kept up to date with the version used in package.json. * If you are changing this please ensure you are also changing it in package.json. */ -export declare const PACKAGE_VERSION = "1.2.0"; +export declare const PACKAGE_VERSION = "1.3.0"; /** * @interface * Signature that defines callback for an authentication provider diff --git a/lib/src/common.js b/lib/src/common.js index e4256bd91..5a924ea64 100644 --- a/lib/src/common.js +++ b/lib/src/common.js @@ -9,10 +9,10 @@ exports.GRAPH_BASE_URL = "https://graph.microsoft.com/"; * @NOTE: This should be kept up to date with the version used in package.json. * If you are changing this please ensure you are also changing it in package.json. */ -exports.PACKAGE_VERSION = "1.2.0"; +exports.PACKAGE_VERSION = "1.3.0"; /** * @extends * support oData params with and without $ prefix */ exports.oDataQueryNames = exports.oDataQueryNames.concat(exports.oDataQueryNames.map(function (s) { return "$" + s; })); -//# sourceMappingURL=common.js.map \ No newline at end of file +//# sourceMappingURL=common.js.map diff --git a/lib/src/index.d.ts b/lib/src/index.d.ts index bebcc9018..b92bab5f0 100644 --- a/lib/src/index.d.ts +++ b/lib/src/index.d.ts @@ -7,8 +7,9 @@ export declare class Client { } export * from "./GraphRequest"; export * from "./common"; +export * from "./ResponseType"; export * from "./ResponseHandler"; export * from "./tasks/OneDriveLargeFileUploadTask"; -export * from "./ResponseType"; +export * from "./tasks/PageIterator"; export * from "./content/BatchRequestContent"; export * from "./content/BatchResponseContent"; diff --git a/lib/src/index.js b/lib/src/index.js index 381d1405b..8de0f6c67 100644 --- a/lib/src/index.js +++ b/lib/src/index.js @@ -32,9 +32,10 @@ var Client = /** @class */ (function () { exports.Client = Client; __export(require("./GraphRequest")); __export(require("./common")); +__export(require("./ResponseType")); __export(require("./ResponseHandler")); __export(require("./tasks/OneDriveLargeFileUploadTask")); -__export(require("./ResponseType")); +__export(require("./tasks/PageIterator")); __export(require("./content/BatchRequestContent")); __export(require("./content/BatchResponseContent")); -//# sourceMappingURL=index.js.map \ No newline at end of file +//# sourceMappingURL=index.js.map diff --git a/lib/src/index.js.map b/lib/src/index.js.map index e431eb78d..d93c7001a 100644 --- a/lib/src/index.js.map +++ b/lib/src/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;AAAA,mCAAiE;AACjE,+CAA2C;AAE3C;IAAA;QACI,0BAA0B;QAC1B,WAAM,GAAW;YACb,YAAY,EAAE,KAAK;YACnB,cAAc,EAAE,wBAAe;YAC/B,OAAO,EAAE,uBAAc;SAC1B,CAAC;IAiBN,CAAC;IAfU,WAAI,GAAX,UAAY,aAAsB;QAC9B,IAAI,WAAW,GAAG,IAAI,MAAM,EAAE,CAAC;QAC/B,KAAK,IAAI,GAAG,IAAI,aAAa,EAAE;YAC3B,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;SAChD;QACD,OAAO,WAAW,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,oBAAG,GAAH,UAAI,IAAW;QACX,OAAO,IAAI,2BAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC;IAEL,aAAC;AAAD,CAAC,AAvBD,IAuBC;AAvBY,wBAAM;AAyBnB,oCAA+B;AAC/B,8BAAyB;AACzB,uCAAkC;AAClC,yDAAoD;AACpD,oCAA+B;AAC/B,mDAA8C;AAC9C,oDAA+C"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;AAAA,mCAAiE;AACjE,+CAA2C;AAE3C;IAAA;QACI,0BAA0B;QAC1B,WAAM,GAAW;YACb,YAAY,EAAE,KAAK;YACnB,cAAc,EAAE,wBAAe;YAC/B,OAAO,EAAE,uBAAc;SAC1B,CAAC;IAiBN,CAAC;IAfU,WAAI,GAAX,UAAY,aAAsB;QAC9B,IAAI,WAAW,GAAG,IAAI,MAAM,EAAE,CAAC;QAC/B,KAAK,IAAI,GAAG,IAAI,aAAa,EAAE;YAC3B,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;SAChD;QACD,OAAO,WAAW,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,oBAAG,GAAH,UAAI,IAAW;QACX,OAAO,IAAI,2BAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC;IAEL,aAAC;AAAD,CAAC,AAvBD,IAuBC;AAvBY,wBAAM;AAyBnB,oCAA+B;AAC/B,8BAAyB;AACzB,oCAA+B;AAC/B,uCAAkC;AAElC,yDAAoD;AACpD,0CAAqC;AAErC,mDAA8C;AAC9C,oDAA+C"} \ No newline at end of file diff --git a/lib/src/tasks/PageIterator.d.ts b/lib/src/tasks/PageIterator.d.ts new file mode 100644 index 000000000..cf9e11183 --- /dev/null +++ b/lib/src/tasks/PageIterator.d.ts @@ -0,0 +1,91 @@ +/** + * @module PageIterator + */ +import { Client } from "../index"; +/** + * Signature representing PageCollection + * @property {any[]} value - The collection value + * @property {string} [@odata.nextLink] - The nextLine value + * @property {any} Additional - Any number of additional properties (This is to accept the any additional data returned by in the response to the nextLink request) + */ +export interface PageCollection { + value: any[]; + "@odata.nextLink"?: string; + "@odata.deltaLink"?: string; + [Key: string]: any; +} +/** + * Signature representing callback for page iterator + * @property {Function} callback - The callback function which should return boolean to continue the continue/stop the iteration. + */ +export interface PageIteratorCallback { + (any: any): boolean; +} +/** + * Class for PageIterator + */ +export declare class PageIterator { + /** + * @private + * Member holding the GraphClient instance + */ + private client; + /** + * @private + * Member holding the page collection + */ + private collection; + /** + * @private + * Member variable referring to nextLink of the page collection + */ + private nextLink; + /** + * @private + * Member variable referring to deltaLink of the request + */ + private deltaLink; + /** + * @private + * Holding callback for Iteration. + */ + private callback; + /** + * Creates new instance for PageIterator + * @param {Client} client - The graph client instance + * @param {PageCollection} pageCollection - The page collection object + * @param {PageIteratorCallback} callBack - The callback function + */ + constructor(client: Client, pageCollection: PageCollection, callback: PageIteratorCallback); + /** + * @private + * Iterates over a collection by enqueuing entries one by one and kicking the callback with the enqueued entry + * @return A boolean indicating the continue flag to process next page + */ + private iterationHelper; + /** + * @private + * @async + * Helper to make a get request to fetch next page with nextLink url and update the page iterator instance with the returned response + * @return A promise that resolves to a response data with next page collection + */ + private fetchAndUpdateNextPageData; + /** + * Getter to get the deltaLink in the current response + * @return A deltaLink which is being used to make delta requests in future + */ + getDeltaLink(): string | undefined; + /** + * @async + * Iterates over the collection and kicks callback for each item on iteration. Fetches next set of data through nextLink and iterates over again + * This happens until the nextLink is drained out or the user responds with a red flag to continue from callback + * @return A Promise that resolves to nothing on completion and throws error incase of any discrepancy. + */ + iterate(): Promise; + /** + * @async + * This internally calls the iterate method, It's just for more readability. + * @return A Promise that resolves to nothing on completion and throws error incase of any discrepancy + */ + resume(): Promise; +} diff --git a/lib/src/tasks/PageIterator.js b/lib/src/tasks/PageIterator.js new file mode 100644 index 000000000..9b4d3f839 --- /dev/null +++ b/lib/src/tasks/PageIterator.js @@ -0,0 +1,169 @@ +"use strict"; +/** + * @module PageIterator + */ +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * Class for PageIterator + */ +var PageIterator = /** @class */ (function () { + /** + * Creates new instance for PageIterator + * @param {Client} client - The graph client instance + * @param {PageCollection} pageCollection - The page collection object + * @param {PageIteratorCallback} callBack - The callback function + */ + function PageIterator(client, pageCollection, callback) { + var self = this; + self.client = client; + self.collection = pageCollection.value; + self.nextLink = pageCollection["@odata.nextLink"]; + self.deltaLink = pageCollection["@odata.deltaLink"]; + self.callback = callback; + } + /** + * @private + * Iterates over a collection by enqueuing entries one by one and kicking the callback with the enqueued entry + * @return A boolean indicating the continue flag to process next page + */ + PageIterator.prototype.iterationHelper = function () { + var self = this; + if (self.collection === undefined || self.collection.length === 0) { + return false; + } + var advance = true; + while (advance && self.collection.length !== 0) { + var item = self.collection.shift(); + advance = self.callback(item); + } + return advance; + }; + /** + * @private + * @async + * Helper to make a get request to fetch next page with nextLink url and update the page iterator instance with the returned response + * @return A promise that resolves to a response data with next page collection + */ + PageIterator.prototype.fetchAndUpdateNextPageData = function () { + return __awaiter(this, void 0, void 0, function () { + var self_1, response, error_1; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + self_1 = this; + return [4 /*yield*/, self_1.client.api(self_1.nextLink).get()]; + case 1: + response = _a.sent(); + self_1.collection = response.value; + self_1.nextLink = response["@odata.nextLink"]; + self_1.deltaLink = response["@odata.deltaLink"]; + return [3 /*break*/, 3]; + case 2: + error_1 = _a.sent(); + throw error_1; + case 3: return [2 /*return*/]; + } + }); + }); + }; + /** + * Getter to get the deltaLink in the current response + * @return A deltaLink which is being used to make delta requests in future + */ + PageIterator.prototype.getDeltaLink = function () { + return this.deltaLink; + }; + /** + * @async + * Iterates over the collection and kicks callback for each item on iteration. Fetches next set of data through nextLink and iterates over again + * This happens until the nextLink is drained out or the user responds with a red flag to continue from callback + * @return A Promise that resolves to nothing on completion and throws error incase of any discrepancy. + */ + PageIterator.prototype.iterate = function () { + return __awaiter(this, void 0, void 0, function () { + var self_2, advance, error_2; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 6, , 7]); + self_2 = this, advance = self_2.iterationHelper(); + _a.label = 1; + case 1: + if (!advance) return [3 /*break*/, 5]; + if (!(self_2.nextLink !== undefined)) return [3 /*break*/, 3]; + return [4 /*yield*/, self_2.fetchAndUpdateNextPageData()]; + case 2: + _a.sent(); + advance = self_2.iterationHelper(); + return [3 /*break*/, 4]; + case 3: + advance = false; + _a.label = 4; + case 4: return [3 /*break*/, 1]; + case 5: return [3 /*break*/, 7]; + case 6: + error_2 = _a.sent(); + throw error_2; + case 7: return [2 /*return*/]; + } + }); + }); + }; + /** + * @async + * This internally calls the iterate method, It's just for more readability. + * @return A Promise that resolves to nothing on completion and throws error incase of any discrepancy + */ + PageIterator.prototype.resume = function () { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + try { + return [2 /*return*/, this.iterate()]; + } + catch (error) { + throw error; + } + return [2 /*return*/]; + }); + }); + }; + return PageIterator; +}()); +exports.PageIterator = PageIterator; +//# sourceMappingURL=PageIterator.js.map \ No newline at end of file diff --git a/lib/src/tasks/PageIterator.js.map b/lib/src/tasks/PageIterator.js.map new file mode 100644 index 000000000..07363c9b6 --- /dev/null +++ b/lib/src/tasks/PageIterator.js.map @@ -0,0 +1 @@ +{"version":3,"file":"PageIterator.js","sourceRoot":"","sources":["../../../src/tasks/PageIterator.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBH;;GAEG;AACH;IAiCI;;;;;OAKG;IACH,sBAAY,MAAc,EAAE,cAA8B,EAAE,QAA8B;QACtF,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAAC;QAClD,IAAI,CAAC,SAAS,GAAG,cAAc,CAAC,kBAAkB,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACK,sCAAe,GAAvB;QACI,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YAC/D,OAAO,KAAK,CAAC;SAChB;QACD,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,OAAO,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5C,IAAI,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACnC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SACjC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAED;;;;;OAKG;IACW,iDAA0B,GAAxC;;;;;;;wBAEY,SAAO,IAAI;wBACgB,qBAAM,MAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,EAAA;;wBAArE,QAAQ,GAAmB,SAA0C;wBACzE,MAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC;wBACjC,MAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAAC;wBAC5C,MAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,kBAAkB,CAAC,CAAC;;;;wBAE9C,MAAM,OAAK,CAAC;;;;;KAEnB;IAED;;;OAGG;IACH,mCAAY,GAAZ;QACI,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED;;;;;OAKG;IACG,8BAAO,GAAb;;;;;;;wBAEY,SAAO,IAAI,EACf,OAAO,GAAG,MAAI,CAAC,eAAe,EAAE,CAAC;;;6BAC1B,OAAO;6BACN,CAAA,MAAI,CAAC,QAAQ,KAAK,SAAS,CAAA,EAA3B,wBAA2B;wBAC3B,qBAAM,MAAI,CAAC,0BAA0B,EAAE,EAAA;;wBAAvC,SAAuC,CAAC;wBACxC,OAAO,GAAG,MAAI,CAAC,eAAe,EAAE,CAAC;;;wBAEjC,OAAO,GAAG,KAAK,CAAC;;;;;;wBAIxB,MAAM,OAAK,CAAC;;;;;KAEnB;IAED;;;;OAIG;IACG,6BAAM,GAAZ;;;gBACI,IAAI;oBACA,sBAAO,IAAI,CAAC,OAAO,EAAE,EAAC;iBACzB;gBAAC,OAAO,KAAK,EAAE;oBACZ,MAAM,KAAK,CAAC;iBACf;;;;KACJ;IACL,mBAAC;AAAD,CAAC,AA/HD,IA+HC;AA/HY,oCAAY"} \ No newline at end of file diff --git a/spec/tasks/PageIterator.ts b/spec/tasks/PageIterator.ts new file mode 100644 index 000000000..fddea2b37 --- /dev/null +++ b/spec/tasks/PageIterator.ts @@ -0,0 +1,121 @@ +import {assert} from "chai"; +import {Client} from "../../lib/src/index"; +import { getClient } from "../test-helper"; +import {PageIterator, PageCollection, PageIteratorCallback} from "../../lib/src/tasks/PageIterator"; + +declare const describe, it; + +let client: Client = getClient(); + +let value = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; + +const getPageCollection = () => { + return { + value: Object.assign([], value), + additionalContent: "additional content" + } +}; + +const getPageCollectionWithNext = () => { + return { + value: Object.assign([], value), + "@odata.nextLink": "nextURL", + additionalContent: "additional content" + } +}; + +const getEmptyPageCollection = () => { + return { + value: [] + } +}; + +const getEmptyPageCollectionWithNext = () =>{ + return { + value: [], + "@odata.nextLink": "nextURL" + } +}; + +let truthyCallback: PageIteratorCallback = (data) => { + return true; +}; + +let truthyCallbackCounter = 5; +let truthyCallbackWithCounter: PageIteratorCallback = (data) => { + truthyCallbackCounter--; + return true; +}; + +let halfWayCallbackCounter = 5; +let halfWayCallback: PageIteratorCallback = (data) => { + halfWayCallbackCounter--; + if(halfWayCallbackCounter === 0) { + return false; + } else { + return true; + } +}; + +describe("Constructor", function () { + it("Should create instance without nextLink", () => { + let pageIterator = new PageIterator(client, getPageCollection(), truthyCallback); + assert.equal(pageIterator.constructor.name, "PageIterator"); + }); + + it("Should create instance with nextLink", () => { + let pageIterator = new PageIterator(client, getPageCollectionWithNext(), truthyCallback); + assert.equal(pageIterator.constructor.name, "PageIterator"); + }); +}); + +describe("iterate", function() { + it("Should iterate over a complete collection without nextLink", async () => { + truthyCallbackCounter = 10; + let pageIterator = new PageIterator(client, getPageCollection(), truthyCallbackWithCounter); + try { + await pageIterator.iterate(); + assert.equal(truthyCallbackCounter, 0); + } catch (error) { + throw error; + } + }); + + it("Should not iterate over an empty collection", async () => { + let pageIterator = new PageIterator(client, getEmptyPageCollection(), truthyCallback); + halfWayCallbackCounter = 1; + try { + await pageIterator.iterate(); + assert.equal(halfWayCallbackCounter, 1); + } catch (error) { + throw error; + } + }); + + it("Should break in the middle way", async () => { + let pageIterator = new PageIterator(client, getPageCollection(), halfWayCallback); + halfWayCallbackCounter = 5; + try { + await pageIterator.iterate(); + assert.equal(halfWayCallbackCounter, 0); + } catch (error) { + throw error; + } + }); +}); + +describe("resume", function() { + it("Should start from the place where it left the iteration", async () => { + let pageIterator = new PageIterator(client, getPageCollection(), halfWayCallback); + halfWayCallbackCounter = 5; + try { + await pageIterator.iterate(); + assert.equal(halfWayCallbackCounter, 0); + halfWayCallbackCounter = 5; + await pageIterator.resume(); + assert.equal(halfWayCallbackCounter, 0) + } catch (error) { + throw error; + } + }); +}); diff --git a/src/index.ts b/src/index.ts index 4c4b11a5c..8cd6fb9db 100644 --- a/src/index.ts +++ b/src/index.ts @@ -28,8 +28,11 @@ export class Client { export * from "./GraphRequest"; export * from "./common"; +export * from "./ResponseType"; export * from "./ResponseHandler"; + export * from "./tasks/OneDriveLargeFileUploadTask"; -export * from "./ResponseType"; +export * from "./tasks/PageIterator"; + export * from "./content/BatchRequestContent"; export * from "./content/BatchResponseContent"; diff --git a/src/tasks/PageIterator.ts b/src/tasks/PageIterator.ts new file mode 100644 index 000000000..d827d82fb --- /dev/null +++ b/src/tasks/PageIterator.ts @@ -0,0 +1,158 @@ +/** + * @module PageIterator + */ + +import { Client } from "../index"; + +/** + * Signature representing PageCollection + * @property {any[]} value - The collection value + * @property {string} [@odata.nextLink] - The nextLine value + * @property {any} Additional - Any number of additional properties (This is to accept the any additional data returned by in the response to the nextLink request) + */ +export interface PageCollection { + value: any[]; + "@odata.nextLink"?: string; + "@odata.deltaLink"?: string; + [Key: string]: any; +} + +/** + * Signature representing callback for page iterator + * @property {Function} callback - The callback function which should return boolean to continue the continue/stop the iteration. + */ +export interface PageIteratorCallback { + (any): boolean; +} + +/** + * Class for PageIterator + */ +export class PageIterator { + + /** + * @private + * Member holding the GraphClient instance + */ + private client: Client; + + /** + * @private + * Member holding the page collection + */ + private collection: any[]; + + /** + * @private + * Member variable referring to nextLink of the page collection + */ + private nextLink: string | undefined; + + /** + * @private + * Member variable referring to deltaLink of the request + */ + private deltaLink: string | undefined; + + /** + * @private + * Holding callback for Iteration. + */ + + private callback: PageIteratorCallback; + + /** + * Creates new instance for PageIterator + * @param {Client} client - The graph client instance + * @param {PageCollection} pageCollection - The page collection object + * @param {PageIteratorCallback} callBack - The callback function + */ + constructor(client: Client, pageCollection: PageCollection, callback: PageIteratorCallback) { + let self = this; + self.client = client; + self.collection = pageCollection.value; + self.nextLink = pageCollection["@odata.nextLink"]; + self.deltaLink = pageCollection["@odata.deltaLink"]; + self.callback = callback; + } + + /** + * @private + * Iterates over a collection by enqueuing entries one by one and kicking the callback with the enqueued entry + * @return A boolean indicating the continue flag to process next page + */ + private iterationHelper(): boolean { + let self = this; + if (self.collection === undefined || self.collection.length === 0) { + return false; + } + let advance = true; + while (advance && self.collection.length !== 0) { + let item = self.collection.shift(); + advance = self.callback(item); + } + return advance; + } + + /** + * @private + * @async + * Helper to make a get request to fetch next page with nextLink url and update the page iterator instance with the returned response + * @return A promise that resolves to a response data with next page collection + */ + private async fetchAndUpdateNextPageData(): Promise { + try { + let self = this, + response: PageCollection = await self.client.api(self.nextLink).get(); + self.collection = response.value; + self.nextLink = response["@odata.nextLink"]; + self.deltaLink = response["@odata.deltaLink"]; + } catch (error) { + throw error; + } + } + + /** + * Getter to get the deltaLink in the current response + * @return A deltaLink which is being used to make delta requests in future + */ + getDeltaLink(): string | undefined { + return this.deltaLink; + } + + /** + * @async + * Iterates over the collection and kicks callback for each item on iteration. Fetches next set of data through nextLink and iterates over again + * This happens until the nextLink is drained out or the user responds with a red flag to continue from callback + * @return A Promise that resolves to nothing on completion and throws error incase of any discrepancy. + */ + async iterate(): Promise { + try { + let self = this, + advance = self.iterationHelper(); + while (advance) { + if (self.nextLink !== undefined) { + await self.fetchAndUpdateNextPageData(); + advance = self.iterationHelper(); + } else { + advance = false; + } + } + } catch (error) { + throw error; + } + } + + /** + * @async + * This internally calls the iterate method, It's just for more readability. + * @return A Promise that resolves to nothing on completion and throws error incase of any discrepancy + */ + async resume(): Promise { + try { + return this.iterate(); + } catch (error) { + throw error; + } + } +}