New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

dynamics-web-api

Package Overview
Dependencies
Maintainers
1
Versions
89
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

dynamics-web-api - npm Package Compare versions

Comparing version 1.2.7 to 1.2.8

lib/requests/helpers/parseResponse.js

2

dist/dwa.js

@@ -1,2 +0,2 @@

/*! dwa v1.2.7 (c) 2017 Aleksandr Rogov */
/*! dwa v1.2.8 (c) 2017 Aleksandr Rogov */
(function webpackUniversalModuleDefinition(root, factory) {

@@ -3,0 +3,0 @@ if(typeof exports === 'object' && typeof module === 'object')

@@ -1,2 +0,2 @@

/*! dynamics-web-api-callbacks v1.2.7 (c) 2017 Aleksandr Rogov */
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("DynamicsWebApi",[],t):"object"==typeof exports?exports.DynamicsWebApi=t():e.DynamicsWebApi=t()}(this,function(){return function(e){function t(r){if(a[r])return a[r].exports;var n=a[r]={i:r,l:!1,exports:{}};return e[r].call(n.exports,n,n.exports,t),n.l=!0,n.exports}var a={};return t.m=e,t.c=a,t.i=function(e){return e},t.d=function(e,a,r){t.o(e,a)||Object.defineProperty(e,a,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var a=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(a,"a",a),a},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=13)}([function(e,t){var a={Types:{ResponseBase:function(){this.oDataContext=""},Response:function(){a.Types.ResponseBase.call(this),this.value={}},ReferenceResponse:function(){a.Types.ResponseBase.call(this),this.id="",this.collection=""},MultipleResponse:function(){a.Types.ResponseBase.call(this),this.oDataNextLink="",this.oDataCount=0,this.value=[]},FetchXmlResponse:function(){a.Types.ResponseBase.call(this),this.value=[],this.PagingInfo={cookie:"",page:0,nextPage:1}}},Prefer:{ReturnRepresentation:"return=representation",Annotations:{AssociatedNavigationProperty:"Microsoft.Dynamics.CRM.associatednavigationproperty",LookupLogicalName:"Microsoft.Dynamics.CRM.lookuplogicalname",All:"*",FormattedValue:"OData.Community.Display.V1.FormattedValue",FetchXmlPagingCookie:"Microsoft.Dynamics.CRM.fetchxmlpagingcookie"}}};e.exports=a},function(e,t){function a(e,t,a){throw new Error(a?e+" requires the "+t+" parameter to be of type "+a:e+" requires the "+t+" parameter.")}var r={handleErrorResponse:function(e){throw new Error("Error: "+e.status+": "+e.message)},parameterCheck:function(e,t,r,n){void 0!==e&&null!==e&&""!=e||a(t,r,n)},stringParameterCheck:function(e,t,r){"string"!=typeof e&&a(t,r,"String")},arrayParameterCheck:function(e,t,r){e.constructor!==Array&&a(t,r,"Array")},stringOrArrayParameterCheck:function(e,t,r){e.constructor!==Array&&"string"!=typeof e&&a(t,r,"String or Array")},numberParameterCheck:function(e,t,r){if("number"!=typeof e){if("string"==typeof e&&e&&!isNaN(parseInt(e)))return;a(t,r,"Number")}},boolParameterCheck:function(e,t,r){"boolean"!=typeof e&&a(t,r,"Boolean")},guidParameterCheck:function(e,t,r){try{return/[0-9A-F]{8}[-]?([0-9A-F]{4}[-]?){3}[0-9A-F]{12}/i.exec(e)[0]}catch(e){a(t,r,"GUID String")}},callbackParameterCheck:function(e,t,r){"function"!=typeof e&&a(t,r,"Function")}};e.exports=r},function(e,t){String.prototype.endsWith=function(e,t){var a=this.toString();("number"!=typeof t||!isFinite(t)||Math.floor(t)!==t||t>a.length)&&(t=a.length),t-=e.length;var r=a.lastIndexOf(e,t);return r!==-1&&r===t},String.prototype.startsWith=function(e,t){return t=t||0,this.substr(t,e.length)===e}},function(e,t,a){a(0);e.exports=function(e,t,r,n,i,c,s){r.impersonate&&(!i||i&&!i.MSCRMCallerID)&&(i||(i={}),i.MSCRMCallerID=r.impersonate);var o;n&&(o=JSON.stringify(n,function(e,t){return e.endsWith("@odata.bind")&&"string"==typeof t&&(/\(\{[\w\d-]+\}\)/g.test(t)&&(t=t.replace(/(.+)\(\{([\w\d-]+)\}\)/g,"$1($2)")),t.startsWith(r.webApiUrl)||(t=r.webApiUrl+t)),t}));var l;"undefined"!=typeof XMLHttpRequest&&(l=a(8));var u=function(a){a&&(i||(i={}),i.Authorization="Bearer "+a.accessToken),l(e,r.webApiUrl+t,o,i,c,s)};r.onTokenRefresh&&(!i||i&&!i.Authorization)?r.onTokenRefresh(u):u()}},function(e,t,a){function r(e,t,a,n,s){var o={},l=[];if(n=null!=n?n:"&",e){e.navigationProperty&&(i.stringParameterCheck(e.navigationProperty,"DynamicsWebApi."+t,"request.navigationProperty"),a+="/"+e.navigationProperty),null!=e.select&&e.select.length&&(i.arrayParameterCheck(e.select,"DynamicsWebApi."+t,"request.select"),"retrieve"==t&&1==e.select.length&&e.select[0].endsWith("/$ref")?a+="/"+e.select[0]:(e.select[0].startsWith("/")&&"retrieve"==t&&(null==e.navigationProperty?a+=e.select.shift():e.select.shift()),e.select.length&&l.push("$select="+e.select.join(",")))),e.filter&&(i.stringParameterCheck(e.filter,"DynamicsWebApi."+t,"request.filter"),l.push("$filter="+e.filter)),e.savedQuery&&l.push("savedQuery="+i.guidParameterCheck(e.savedQuery,"DynamicsWebApi."+t,"request.savedQuery")),e.userQuery&&l.push("userQuery="+i.guidParameterCheck(e.userQuery,"DynamicsWebApi."+t,"request.userQuery")),e.count&&(i.boolParameterCheck(e.count,"DynamicsWebApi."+t,"request.count"),l.push("$count="+e.count)),e.top&&e.top>0&&(i.numberParameterCheck(e.top,"DynamicsWebApi."+t,"request.top"),l.push("$top="+e.top)),null!=e.orderBy&&e.orderBy.length&&(i.arrayParameterCheck(e.orderBy,"DynamicsWebApi."+t,"request.orderBy"),l.push("$orderby="+e.orderBy.join(",")));var u=c(e,t,s);if(u.length&&(o.Prefer=u),null!=e.ifmatch&&null!=e.ifnonematch)throw new Error("DynamicsWebApi."+t+". Either one of request.ifmatch or request.ifnonematch parameters should be used in a call, not both.");if(e.ifmatch&&(i.stringParameterCheck(e.ifmatch,"DynamicsWebApi."+t,"request.ifmatch"),o["If-Match"]=e.ifmatch),e.ifnonematch&&(i.stringParameterCheck(e.ifnonematch,"DynamicsWebApi."+t,"request.ifnonematch"),o["If-None-Match"]=e.ifnonematch),e.impersonate&&(i.stringParameterCheck(e.impersonate,"DynamicsWebApi."+t,"request.impersonate"),o.MSCRMCallerID=i.guidParameterCheck(e.impersonate,"DynamicsWebApi."+t,"request.impersonate")),e.token&&(i.stringParameterCheck(e.token,"DynamicsWebApi."+t,"request.token"),o.Authorization="Bearer "+e.token),e.expand&&e.expand.length)if(i.stringOrArrayParameterCheck(e.expand,"DynamicsWebApi."+t,"request.expand"),"string"==typeof e.expand)l.push("$expand="+encodeURI(e.expand));else{for(var p=[],m=0;m<e.expand.length;m++)if(e.expand[m].property){var h=r(e.expand[m],t+" $expand",null,";"),d=h.query;d&&d.length&&(d="("+d+")"),p.push(e.expand[m].property+d)}p.length&&l.push("$expand="+encodeURI(p.join(",")))}}return{url:a,query:l.join(n),headers:o}}function n(e,t,a){e.collection?i.stringParameterCheck(e.collection,"DynamicsWebApi."+t,"request.collection"):i.parameterCheck(e.collection,"DynamicsWebApi."+t,"request.collection");var n=e.collection.toLowerCase();e.id&&(e.id=i.guidParameterCheck(e.id,"DynamicsWebApi."+t,"request.id"),n+="("+e.id+")");var c=r(e,t,n,"&",a);return c.query&&(c.url+="?"+encodeURI(c.query)),{url:c.url,headers:c.headers}}var i=(a(0),a(1)),c=a(10),s={convertRequestOptions:r,convertRequest:n};e.exports=s},function(e,t,a){var r={buildFunctionParameters:a(9),getFetchXmlPagingCookie:a(12),convertToReferenceObject:a(11)};e.exports=r},function(e,t){e.exports=function(e,t){return"string"==typeof t&&/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$/.exec(t)?new Date(t):t}},function(e,t){e.exports=function(e){var t={};if(!e)return t;for(var a=e.split("\r\n"),r=0,n=a.length;r<n;r++){var i=a[r],c=i.indexOf(": ");c>0&&(t[i.substring(0,c)]=i.substring(c+2))}return t}},function(e,t,a){var r=a(6),n=a(7),i=function(e,t,a,i,c,s){var o=new XMLHttpRequest;if(o.open(e,t,!0),o.setRequestHeader("OData-MaxVersion","4.0"),o.setRequestHeader("OData-Version","4.0"),o.setRequestHeader("Accept","application/json"),o.setRequestHeader("Content-Type","application/json; charset=utf-8"),null!=i)for(var l in i)o.setRequestHeader(l,i[l]);o.onreadystatechange=function(){if(4===o.readyState){switch(o.status){case 200:case 201:case 204:case 304:var e=null;o.responseText&&(e=JSON.parse(o.responseText,r));c({data:e,headers:n(o.getAllResponseHeaders()),status:o.status});break;default:var t;try{t=JSON.parse(o.response).error}catch(e){t=o.response.length>0?{message:o.response}:{message:"Unexpected Error"}}t.status=o.status,s(t)}o=null}},o.onerror=function(){s({message:"Network Error"}),o=null},o.ontimeout=function(e){s({message:"Request Timed Out"}),o=null},a?o.send(a):o.send()};e.exports=i},function(e,t){e.exports=function(e){if(e){for(var t=Object.keys(e),a="",r="",n=1;n<=t.length;n++){var i=t[n-1],c=e[i];n>1&&(a+=",",r+="&"),a+=i+"=@p"+n,r+="@p"+n+"="+("string"==typeof c?"'"+c+"'":c)}return"("+a+")?"+r}return"()"}},function(e,t,a){var r=a(0),n=a(1);e.exports=function(e,t,a){var i=e.returnRepresentation,c=e.includeAnnotations,s=e.maxPageSize;if(e.prefer&&e.prefer.length){n.stringOrArrayParameterCheck(e.prefer,"DynamicsWebApi."+t,"request.prefer");var o=e.prefer;"string"==typeof o&&(o=o.split(","));for(var l in o){var u=o[l].trim();u===r.Prefer.ReturnRepresentation?i=!0:u.startsWith("odata.include-annotations=")?c=u.replace("odata.include-annotations=","").replace(/"/g,""):u.startsWith("odata.maxpagesize=")&&(s=u.replace("odata.maxpagesize=","").replace(/"/g,""))}}a&&(null==i&&(i=a.returnRepresentation),c=c?c:a.includeAnnotations,s=s?s:a.maxPageSize);var o=[];return i&&(n.boolParameterCheck(i,"DynamicsWebApi."+t,"request.returnRepresentation"),o.push(r.Prefer.ReturnRepresentation)),c&&(n.stringParameterCheck(c,"DynamicsWebApi."+t,"request.includeAnnotations"),o.push('odata.include-annotations="'+c+'"')),s&&s>0&&(n.numberParameterCheck(s,"DynamicsWebApi."+t,"request.maxPageSize"),o.push("odata.maxpagesize="+s)),o.join(",")}},function(e,t){e.exports=function(e){var t=/\/(\w+)\(([0-9A-F]{8}[-]?([0-9A-F]{4}[-]?){3}[0-9A-F]{12})/i.exec(e["@odata.id"]);return{id:t[2],collection:t[1],oDataContext:e["@odata.context"]}}},function(e,t){e.exports=function(e,t){e=e?e:"",t=t?t:1,e=unescape(unescape(e));var a=/pagingcookie="(<cookie page="(\d+)".+<\/cookie>)/.exec(e);if(null!=a){var r=parseInt(a[2]);return{cookie:a[1].replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/\"/g,"'").replace(/\'/g,"&quot;"),page:r,nextPage:r+1}}return{cookie:"",page:t,nextPage:t+1}}},function(e,t,a){function r(e){var t={webApiVersion:"8.0",webApiUrl:"",impersonate:null,onTokenRefresh:null,includeAnnotations:null,maxPageSize:null,returnRepresentation:null};e||(e=t);var a=function(){if("undefined"!=typeof GetGlobalContext)return GetGlobalContext();if("undefined"!=typeof Xrm)return Xrm.Page.context;throw new Error("Xrm Context is not available.")},o=function(){var e=a();if(e){var t=e.getClientUrl();return t.match(/\/$/)&&(t=t.substring(0,t.length-1)),t}return""},l=function(){return o()+"/api/data/v"+t.webApiVersion+"/"};this.setConfig=function(e){e.webApiVersion&&(c.stringParameterCheck(e.webApiVersion,"DynamicsWebApi.setConfig","config.webApiVersion"),t.webApiVersion=e.webApiVersion),e.webApiUrl?(c.stringParameterCheck(e.webApiUrl,"DynamicsWebApi.setConfig","config.webApiUrl"),t.webApiUrl=e.webApiUrl):t.webApiUrl=l(),e.impersonate&&(t.impersonate=c.guidParameterCheck(e.impersonate,"DynamicsWebApi.setConfig","config.impersonate")),e.onTokenRefresh&&(c.callbackParameterCheck(e.onTokenRefresh,"DynamicsWebApi.setConfig","config.onTokenRefresh"),t.onTokenRefresh=e.onTokenRefresh),e.includeAnnotations&&(c.stringParameterCheck(e.includeAnnotations,"DynamicsWebApi.setConfig","config.includeAnnotations"),t.includeAnnotations=e.includeAnnotations),e.maxPageSize&&(c.numberParameterCheck(e.maxPageSize,"DynamicsWebApi.setConfig","config.maxPageSize"),t.maxPageSize=e.maxPageSize),e.returnRepresentation&&(c.boolParameterCheck(e.returnRepresentation,"DynamicsWebApi.setConfig","config.returnRepresentation"),t.returnRepresentation=e.returnRepresentation)},this.setConfig(e);var u=function(e,a,r,n,i,c){s(e,a,t,r,n,i,c)};this.create=function(e,a,r,n,s,o){c.parameterCheck(e,"DynamicsWebApi.create","object"),c.stringParameterCheck(a,"DynamicsWebApi.create","collection"),c.callbackParameterCheck(r,"DynamicsWebApi.create","successCallback"),c.callbackParameterCheck(n,"DynamicsWebApi.create","errorCallback"),s&&c.stringOrArrayParameterCheck(s,"DynamicsWebApi.create","prefer"),o&&c.arrayParameterCheck(o,"DynamicsWebApi.create","select");var l={collection:a,select:o,prefer:s},p=i.convertRequest(l,"create",t),m=function(e){if(e.data)r(e.data);else{var t=e.headers["OData-EntityId"]?e.headers["OData-EntityId"]:e.headers["odata-entityid"];r(/[0-9A-F]{8}[-]?([0-9A-F]{4}[-]?){3}[0-9A-F]{12}/i.exec(t)[0])}};u("POST",p.url,e,p.headers,m,n)},this.updateRequest=function(e,a,r){c.parameterCheck(e,"DynamicsWebApi.update","request"),c.parameterCheck(e.entity,"DynamicsWebApi.update","request.entity"),c.callbackParameterCheck(a,"DynamicsWebApi.update","successCallback"),c.callbackParameterCheck(r,"DynamicsWebApi.update","errorCallback");var n=i.convertRequest(e,"update",t);null==e.ifmatch&&(n.headers["If-Match"]="*");var s=function(e){a(e.data?e.data:!0)},o=e.ifmatch,l=function(e){o&&412==e.status?a(!1):r(e)};u("PATCH",n.url,e.entity,n.headers,s,l)},this.update=function(e,t,a,r,n,i,s){c.stringParameterCheck(e,"DynamicsWebApi.update","id"),e=c.guidParameterCheck(e,"DynamicsWebApi.update","id"),c.parameterCheck(a,"DynamicsWebApi.update","object"),c.stringParameterCheck(t,"DynamicsWebApi.update","collection"),c.callbackParameterCheck(r,"DynamicsWebApi.update","successCallback"),c.callbackParameterCheck(n,"DynamicsWebApi.update","errorCallback"),i&&c.stringOrArrayParameterCheck(i,"DynamicsWebApi.update","prefer"),s&&c.arrayParameterCheck(s,"DynamicsWebApi.update","select");var o={collection:t,id:e,select:s,prefer:i,entity:a};this.updateRequest(o,r,n)},this.updateSingleProperty=function(e,a,r,n,s,o,l){c.stringParameterCheck(e,"DynamicsWebApi.updateSingleProperty","id"),e=c.guidParameterCheck(e,"DynamicsWebApi.updateSingleProperty","id"),c.parameterCheck(r,"DynamicsWebApi.updateSingleProperty","keyValuePair"),c.stringParameterCheck(a,"DynamicsWebApi.updateSingleProperty","collection"),c.callbackParameterCheck(n,"DynamicsWebApi.updateSingleProperty","successCallback"),c.callbackParameterCheck(s,"DynamicsWebApi.updateSingleProperty","errorCallback"),o&&c.stringOrArrayParameterCheck(o,"DynamicsWebApi.updateSingleProperty","prefer"),l&&c.arrayParameterCheck(l,"DynamicsWebApi.updateSingleProperty","select");var p=Object.keys(r)[0],m=r[p],h={collection:a,id:e,select:l,prefer:o,navigationProperty:p},d=i.convertRequest(h,"updateSingleProperty",t),b=function(e){e.data?n(e.data):n()};u("PUT",d.url,{value:m},d.headers,b,s)},this.deleteRequest=function(e,a,r){c.parameterCheck(e,"DynamicsWebApi.delete","request"),c.callbackParameterCheck(a,"DynamicsWebApi.delete","successCallback"),c.callbackParameterCheck(r,"DynamicsWebApi.delete","errorCallback");var n=i.convertRequest(e,"delete",t),s=function(){a(!0)},o=e.ifmatch,l=function(e){o&&412==e.status?a(!1):r(e)};u("DELETE",n.url,null,n.headers,s,l)},this.deleteRecord=function(e,t,a,r,n){c.stringParameterCheck(e,"DynamicsWebApi.delete","id"),e=c.guidParameterCheck(e,"DynamicsWebApi.delete","id"),c.stringParameterCheck(t,"DynamicsWebApi.delete","collection"),c.callbackParameterCheck(a,"DynamicsWebApi.delete","successCallback"),c.callbackParameterCheck(r,"DynamicsWebApi.delete","errorCallback"),null!=n&&c.stringParameterCheck(n,"DynamicsWebApi.delete","propertyName");var i=t.toLowerCase()+"("+e+")";null!=n&&(i+="/"+n),u("DELETE",i,null,null,function(e){a()},r)},this.retrieveRequest=function(e,a,r){c.parameterCheck(e,"DynamicsWebApi.retrieve","request"),c.callbackParameterCheck(a,"DynamicsWebApi.retrieve","successCallback"),c.callbackParameterCheck(r,"DynamicsWebApi.retrieve","errorCallback");var s=i.convertRequest(e,"retrieve",t),o=e.select,l=function(e){a(null!=o&&1==o.length&&o[0].endsWith("/$ref")&&null!=e.data["@odata.id"]?n.convertToReferenceObject(e.data):e.data)};u("GET",s.url,null,s.headers,l,r)},this.retrieve=function(e,t,a,r,n,i){c.stringParameterCheck(e,"DynamicsWebApi.retrieve","id"),e=c.guidParameterCheck(e,"DynamicsWebApi.retrieve","id"),c.stringParameterCheck(t,"DynamicsWebApi.retrieve","collection"),c.callbackParameterCheck(a,"DynamicsWebApi.retrieve","successCallback"),c.callbackParameterCheck(r,"DynamicsWebApi.retrieve","errorCallback"),n&&n.length&&c.arrayParameterCheck(n,"DynamicsWebApi.retrieve","select"),i&&i.length&&c.stringOrArrayParameterCheck(i,"DynamicsWebApi.retrieve","expand");var s={collection:t,id:e,select:n,expand:i};this.retrieveRequest(s,a,r)},this.upsertRequest=function(e,a,r){c.parameterCheck(e,"DynamicsWebApi.upsert","request"),c.parameterCheck(e.entity,"DynamicsWebApi.upsert","request.entity"),c.callbackParameterCheck(a,"DynamicsWebApi.upsert","successCallback"),c.callbackParameterCheck(r,"DynamicsWebApi.upsert","errorCallback");var n=i.convertRequest(e,"upsert",t),s=e.ifnonematch,o=e.ifmatch,l=function(e){if(e.headers["OData-EntityId"]||e.headers["odata-entityid"]){var t=e.headers["OData-EntityId"]?e.headers["OData-EntityId"]:e.headers["odata-entityid"];a(/[0-9A-F]{8}[-]?([0-9A-F]{4}[-]?){3}[0-9A-F]{12}/i.exec(t)[0])}else e.data?a(e.data):a()},p=function(e){s&&412==e.status?a():o&&404==e.status?a():r(e)};u("PATCH",n.url,e.entity,n.headers,l,p)},this.upsert=function(e,t,a,r,n,i,s){c.stringParameterCheck(e,"DynamicsWebApi.upsert","id"),e=c.guidParameterCheck(e,"DynamicsWebApi.upsert","id"),c.parameterCheck(a,"DynamicsWebApi.upsert","object"),c.stringParameterCheck(t,"DynamicsWebApi.upsert","collection"),c.callbackParameterCheck(r,"DynamicsWebApi.upsert","successCallback"),c.callbackParameterCheck(n,"DynamicsWebApi.upsert","errorCallback"),i&&c.stringOrArrayParameterCheck(i,"DynamicsWebApi.upsert","prefer"),s&&c.arrayParameterCheck(s,"DynamicsWebApi.upsert","select");var o={collection:t,id:e,select:s,prefer:i,entity:a};this.upsertRequest(o,r,n)},this.count=function(e,t,a,r){if(null!=r&&(null==r||r.length))return this.retrieveMultipleRequest({collection:e,filter:r,count:!0},function(e){t(e.oDataCount?e.oDataCount:0)},a);c.stringParameterCheck(e,"DynamicsWebApi.count","collection"),c.callbackParameterCheck(t,"DynamicsWebApi.count","successCallback"),c.callbackParameterCheck(a,"DynamicsWebApi.count","errorCallback");var n=function(e){t(e.data?parseInt(e.data):0)};u("GET",e.toLowerCase()+"/$count",null,null,n,a)},this.countAll=function(e,t,a,r,n){return this.retrieveAllRequest({collection:e,filter:r,select:n},function(e){t(e&&e.value?e.value.length:0)},a)},this.retrieveMultiple=function(e,t,a,r,n,i){return this.retrieveMultipleRequest({collection:e,select:r,filter:n},t,a,i)},this.retrieveAll=function(e,t,a,r,n){return m({collection:e,select:r,filter:n},t,a)};var p=function(e,a,r,n){c.callbackParameterCheck(a,"DynamicsWebApi.retrieveMultiple","successCallback"),c.callbackParameterCheck(r,"DynamicsWebApi.retrieveMultiple","errorCallback"),n&&!e.collection&&(e.collection="any");var s=i.convertRequest(e,"retrieveMultiple",t);n&&(c.stringParameterCheck(n,"DynamicsWebApi.retrieveMultiple","nextPageLink"),s.url=n.replace(t.webApiUrl,""));var o=e.count,l=function(e){null!=e.data["@odata.nextLink"]&&(e.data.oDataNextLink=e.data["@odata.nextLink"]),o&&(e.data.oDataCount=null!=e.data["@odata.count"]?parseInt(e.data["@odata.count"]):0),null!=e.data["@odata.context"]&&(e.data.oDataContext=e.data["@odata.context"]),a(e.data)};u("GET",s.url,null,s.headers,l,r)};this.retrieveMultipleRequest=p;var m=function(e,t,a,r,n){var n=n||[];p(e,function(r){n=n.concat(r.value),r.oDataNextLink?m(e,t,a,r.oDataNextLink,n):t({value:n})},a,r)};this.retrieveAllRequest=function(e,t,a){m(e,t,a)};var h=function(e,a,r,s,o,l,p,m){c.stringParameterCheck(e,"DynamicsWebApi.executeFetchXml","collection"),c.stringParameterCheck(a,"DynamicsWebApi.executeFetchXml","fetchXml"),c.callbackParameterCheck(r,"DynamicsWebApi.executeFetchXml","successCallback"),c.callbackParameterCheck(s,"DynamicsWebApi.executeFetchXml","errorCallback"),null==l&&(l=1),c.numberParameterCheck(l,"DynamicsWebApi.executeFetchXml","pageNumber");var h='$1 page="'+l+'"';null!=p&&(c.stringParameterCheck(p,"DynamicsWebApi.executeFetchXml","pagingCookie"),h+=' paging-cookie="'+p+'"'),a=a.replace(/^(<fetch[\w\d\s'"=]+)/,h),o&&c.stringParameterCheck(o,"DynamicsWebApi.executeFetchXml","includeAnnotations"),m&&(m=c.guidParameterCheck(m,"DynamicsWebApi.executeFetchXml","impersonateUserId"));var d={collection:e,includeAnnotations:o,impersonate:m},b=i.convertRequest(d,"executeFetchXml",t),f=encodeURIComponent(a),y=function(e){null!=e.data["@Microsoft.Dynamics.CRM.fetchxmlpagingcookie"]&&(e.data.PagingInfo=n.getFetchXmlPagingCookie(e.data["@Microsoft.Dynamics.CRM.fetchxmlpagingcookie"],l)),null!=e.data["@odata.context"]&&(e.data.oDataContext=e.data["@odata.context"]),r(e.data)};u("GET",b.url+"?fetchXml="+f,null,b.headers,y,s)};this.fetch=this.executeFetchXml=h;var d=function(e,t,a,r,n,i,c,s,o){var o=o||[];h(e,t,function(i){o=o.concat(i.value),i.PagingInfo?d(e,t,a,r,n,i.PagingInfo.nextPage,i.PagingInfo.cookie,s,o):a({value:o})},r,n,i,c,s)};this.fetchAll=this.executeFetchXmlAll=function(e,t,a,r,n,i){return d(e,t,a,r,n,null,null,i)},this.associate=function(e,a,r,n,i,s,o,l){c.stringParameterCheck(e,"DynamicsWebApi.associate","primarycollection"),c.stringParameterCheck(n,"DynamicsWebApi.associate","relatedcollection"),c.stringParameterCheck(r,"DynamicsWebApi.associate","relationshipName"),a=c.guidParameterCheck(a,"DynamicsWebApi.associate","primaryId"),i=c.guidParameterCheck(i,"DynamicsWebApi.associate","relatedId"),c.callbackParameterCheck(s,"DynamicsWebApi.associate","successCallback"),c.callbackParameterCheck(o,"DynamicsWebApi.associate","errorCallback");var p=function(){s()},m={};null!=l&&(l=c.guidParameterCheck(l,"DynamicsWebApi.associate","impersonateUserId"),m.MSCRMCallerID=l),u("POST",e+"("+a+")/"+r+"/$ref",{"@odata.id":t.webApiUrl+n+"("+i+")"},m,p,o)},this.disassociate=function(e,t,a,r,n,i,s){c.stringParameterCheck(e,"DynamicsWebApi.disassociate","primarycollection"),c.stringParameterCheck(a,"DynamicsWebApi.disassociate","relationshipName"),t=c.guidParameterCheck(t,"DynamicsWebApi.disassociate","primaryId"),r=c.guidParameterCheck(r,"DynamicsWebApi.disassociate","relatedId"),c.callbackParameterCheck(n,"DynamicsWebApi.disassociate","successCallback"),c.callbackParameterCheck(i,"DynamicsWebApi.disassociate","errorCallback");var o=function(){n()},l={};null!=s&&(s=c.guidParameterCheck(s,"DynamicsWebApi.associate","impersonateUserId"),l.MSCRMCallerID=s),u("DELETE",e+"("+t+")/"+a+"("+r+")/$ref",null,l,o,i)},this.associateSingleValued=function(e,a,r,n,i,s,o,l){c.stringParameterCheck(e,"DynamicsWebApi.associateSingleValued","collection"),a=c.guidParameterCheck(a,"DynamicsWebApi.associateSingleValued","id"),i=c.guidParameterCheck(i,"DynamicsWebApi.associateSingleValued","relatedId"),c.stringParameterCheck(r,"DynamicsWebApi.associateSingleValued","singleValuedNavigationPropertyName"),c.stringParameterCheck(n,"DynamicsWebApi.associateSingleValued","relatedcollection"),c.callbackParameterCheck(s,"DynamicsWebApi.associateSingleValued","successCallback"),c.callbackParameterCheck(o,"DynamicsWebApi.associateSingleValued","errorCallback");var p=function(){s()},m={};null!=l&&(l=c.guidParameterCheck(l,"DynamicsWebApi.associate","impersonateUserId"),m.MSCRMCallerID=l),u("PUT",e+"("+a+")/"+r+"/$ref",{"@odata.id":t.webApiUrl+n+"("+i+")"},m,p,o)},this.disassociateSingleValued=function(e,t,a,r,n,i){c.stringParameterCheck(e,"DynamicsWebApi.disassociateSingleValued","collection"),t=c.guidParameterCheck(t,"DynamicsWebApi.disassociateSingleValued","id"),c.stringParameterCheck(a,"DynamicsWebApi.disassociateSingleValued","singleValuedNavigationPropertyName"),c.callbackParameterCheck(r,"DynamicsWebApi.disassociateSingleValued","successCallback"),c.callbackParameterCheck(n,"DynamicsWebApi.disassociateSingleValued","errorCallback");var s={};null!=i&&(i=c.guidParameterCheck(i,"DynamicsWebApi.associate","impersonateUserId"),s.MSCRMCallerID=i),u("DELETE",e+"("+t+")/"+a+"/$ref",null,s,function(){r()},n)},this.executeUnboundFunction=function(e,t,a,r,n){return b(e,r,null,null,t,a,n)},this.executeBoundFunction=function(e,t,a,r,n,i,c){return b(a,i,t,e,r,n,c)};var b=function(e,t,a,r,i,s,o){c.stringParameterCheck(e,"DynamicsWebApi.executeFunction","functionName"),c.callbackParameterCheck(i,"DynamicsWebApi.executeFunction","successCallback"),c.callbackParameterCheck(s,"DynamicsWebApi.executeFunction","errorCallback");var l=e+n.buildFunctionParameters(t);null!=a&&(c.stringParameterCheck(a,"DynamicsWebApi.executeFunction","collection"),r=c.guidParameterCheck(r,"DynamicsWebApi.executeFunction","id"),l=a+"("+r+")/"+l);var p={};o&&(p.MSCRMCallerID=c.guidParameterCheck(o,"DynamicsWebApi.executionFunction","impersonateUserId")),u("GET",l,null,p,function(e){e.data?i(e.data):i()},s)};this.executeUnboundAction=function(e,t,a,r,n){return f(e,t,null,null,a,r,n)},this.executeBoundAction=function(e,t,a,r,n,i,c){return f(a,r,t,e,n,i,c)};var f=function(e,t,a,r,n,i,s){c.stringParameterCheck(e,"DynamicsWebApi.executeAction","actionName"),c.callbackParameterCheck(n,"DynamicsWebApi.executeAction","successCallback"),c.callbackParameterCheck(i,"DynamicsWebApi.executeAction","errorCallback");var o=e;null!=a&&(c.stringParameterCheck(a,"DynamicsWebApi.executeAction","collection"),r=c.guidParameterCheck(r,"DynamicsWebApi.executeAction","id"),o=a+"("+r+")/"+o);var l={};null!=s&&(s=c.guidParameterCheck(s,"DynamicsWebApi.associate","impersonateUserId"),l.MSCRMCallerID=s),u("POST",o,t,l,function(e){e.data?n(e.data):n()},i)};this.initializeInstance=function(e){return e||(e=t),new r(e)}}var n=(a(0),a(5)),i=a(4),c=a(1),s=a(3);String.prototype.endsWith&&String.prototype.startsWith||a(2),e.exports=r}])});
/*! dynamics-web-api-callbacks v1.2.8 (c) 2017 Aleksandr Rogov */
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("DynamicsWebApi",[],t):"object"==typeof exports?exports.DynamicsWebApi=t():e.DynamicsWebApi=t()}(this,function(){return function(e){function t(r){if(a[r])return a[r].exports;var n=a[r]={i:r,l:!1,exports:{}};return e[r].call(n.exports,n,n.exports,t),n.l=!0,n.exports}var a={};return t.m=e,t.c=a,t.i=function(e){return e},t.d=function(e,a,r){t.o(e,a)||Object.defineProperty(e,a,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var a=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(a,"a",a),a},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=14)}([function(e,t){var a={Types:{ResponseBase:function(){this.oDataContext=""},Response:function(){a.Types.ResponseBase.call(this),this.value={}},ReferenceResponse:function(){a.Types.ResponseBase.call(this),this.id="",this.collection=""},MultipleResponse:function(){a.Types.ResponseBase.call(this),this.oDataNextLink="",this.oDataCount=0,this.value=[]},FetchXmlResponse:function(){a.Types.ResponseBase.call(this),this.value=[],this.PagingInfo={cookie:"",page:0,nextPage:1}}},Prefer:{ReturnRepresentation:"return=representation",Annotations:{AssociatedNavigationProperty:"Microsoft.Dynamics.CRM.associatednavigationproperty",LookupLogicalName:"Microsoft.Dynamics.CRM.lookuplogicalname",All:"*",FormattedValue:"OData.Community.Display.V1.FormattedValue",FetchXmlPagingCookie:"Microsoft.Dynamics.CRM.fetchxmlpagingcookie"}}};e.exports=a},function(e,t){function a(e,t,a){throw new Error(a?e+" requires the "+t+" parameter to be of type "+a:e+" requires the "+t+" parameter.")}var r={handleErrorResponse:function(e){throw new Error("Error: "+e.status+": "+e.message)},parameterCheck:function(e,t,r,n){void 0!==e&&null!==e&&""!=e||a(t,r,n)},stringParameterCheck:function(e,t,r){"string"!=typeof e&&a(t,r,"String")},arrayParameterCheck:function(e,t,r){e.constructor!==Array&&a(t,r,"Array")},stringOrArrayParameterCheck:function(e,t,r){e.constructor!==Array&&"string"!=typeof e&&a(t,r,"String or Array")},numberParameterCheck:function(e,t,r){if("number"!=typeof e){if("string"==typeof e&&e&&!isNaN(parseInt(e)))return;a(t,r,"Number")}},boolParameterCheck:function(e,t,r){"boolean"!=typeof e&&a(t,r,"Boolean")},guidParameterCheck:function(e,t,r){try{return/[0-9A-F]{8}[-]?([0-9A-F]{4}[-]?){3}[0-9A-F]{12}/i.exec(e)[0]}catch(e){a(t,r,"GUID String")}},callbackParameterCheck:function(e,t,r){"function"!=typeof e&&a(t,r,"Function")}};e.exports=r},function(e,t){String.prototype.endsWith=function(e,t){var a=this.toString();("number"!=typeof t||!isFinite(t)||Math.floor(t)!==t||t>a.length)&&(t=a.length),t-=e.length;var r=a.lastIndexOf(e,t);return r!==-1&&r===t},String.prototype.startsWith=function(e,t){return t=t||0,this.substr(t,e.length)===e}},function(e,t,a){function r(){var e=(new Date).getTime();return"undefined"!=typeof performance&&"function"==typeof performance.now&&(e+=performance.now()),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){var a=(e+16*Math.random())%16|0;return e=Math.floor(e/16),("x"===t?a:3&a|8).toString(16)})}function n(e){return e.Accept="application/json",e["OData-MaxVersion"]="4.0",e["OData-Version"]="4.0",e["Content-Type"]="application/json; charset=utf-8",e}a(0);e.exports=function(e,t,i,c,s,o,l){s||(s={}),s=n(s);var u;if(c&&(u=JSON.stringify(c,function(e,t){return e.endsWith("@odata.bind")&&"string"==typeof t&&(/\(\{[\w\d-]+\}\)/g.test(t)&&(t=t.replace(/(.+)\(\{([\w\d-]+)\}\)/g,"$1($2)")),t.startsWith(i.webApiUrl)||(t=i.webApiUrl+t)),t})),t.length>2083){var p="dwa_batch_"+r(),m=[];m.push("--"+p),m.push("Content-Type: application/http"),m.push("Content-Transfer-Encoding: binary\n"),m.push(e+" "+i.webApiUrl+t+" HTTP/1.1");for(var h in s)m.push(h+": "+s[h]),delete s[h];m.push("\n--"+p+"--"),u=m.join("\n"),s=n(s),s["Content-Type"]="multipart/mixed;boundary="+p,t="$batch",e="POST"}i.impersonate&&!s.MSCRMCallerID&&(s.MSCRMCallerID=i.impersonate);var d;"undefined"!=typeof XMLHttpRequest&&(d=a(9));var f=function(a){a&&(s||(s={}),s.Authorization="Bearer "+a.accessToken),d(e,i.webApiUrl+t,u,s,o,l)};i.onTokenRefresh&&(!s||s&&!s.Authorization)?i.onTokenRefresh(f):f()}},function(e,t,a){function r(e,t,a,n,s){var o={},l=[];if(n=null!=n?n:"&",e){e.navigationProperty&&(i.stringParameterCheck(e.navigationProperty,"DynamicsWebApi."+t,"request.navigationProperty"),a+="/"+e.navigationProperty),null!=e.select&&e.select.length&&(i.arrayParameterCheck(e.select,"DynamicsWebApi."+t,"request.select"),"retrieve"==t&&1==e.select.length&&e.select[0].endsWith("/$ref")?a+="/"+e.select[0]:(e.select[0].startsWith("/")&&"retrieve"==t&&(null==e.navigationProperty?a+=e.select.shift():e.select.shift()),e.select.length&&l.push("$select="+e.select.join(",")))),e.filter&&(i.stringParameterCheck(e.filter,"DynamicsWebApi."+t,"request.filter"),l.push("$filter="+e.filter)),e.savedQuery&&l.push("savedQuery="+i.guidParameterCheck(e.savedQuery,"DynamicsWebApi."+t,"request.savedQuery")),e.userQuery&&l.push("userQuery="+i.guidParameterCheck(e.userQuery,"DynamicsWebApi."+t,"request.userQuery")),e.count&&(i.boolParameterCheck(e.count,"DynamicsWebApi."+t,"request.count"),l.push("$count="+e.count)),e.top&&e.top>0&&(i.numberParameterCheck(e.top,"DynamicsWebApi."+t,"request.top"),l.push("$top="+e.top)),null!=e.orderBy&&e.orderBy.length&&(i.arrayParameterCheck(e.orderBy,"DynamicsWebApi."+t,"request.orderBy"),l.push("$orderby="+e.orderBy.join(",")));var u=c(e,t,s);if(u.length&&(o.Prefer=u),null!=e.ifmatch&&null!=e.ifnonematch)throw new Error("DynamicsWebApi."+t+". Either one of request.ifmatch or request.ifnonematch parameters should be used in a call, not both.");if(e.ifmatch&&(i.stringParameterCheck(e.ifmatch,"DynamicsWebApi."+t,"request.ifmatch"),o["If-Match"]=e.ifmatch),e.ifnonematch&&(i.stringParameterCheck(e.ifnonematch,"DynamicsWebApi."+t,"request.ifnonematch"),o["If-None-Match"]=e.ifnonematch),e.impersonate&&(i.stringParameterCheck(e.impersonate,"DynamicsWebApi."+t,"request.impersonate"),o.MSCRMCallerID=i.guidParameterCheck(e.impersonate,"DynamicsWebApi."+t,"request.impersonate")),e.token&&(i.stringParameterCheck(e.token,"DynamicsWebApi."+t,"request.token"),o.Authorization="Bearer "+e.token),e.expand&&e.expand.length)if(i.stringOrArrayParameterCheck(e.expand,"DynamicsWebApi."+t,"request.expand"),"string"==typeof e.expand)l.push("$expand="+encodeURI(e.expand));else{for(var p=[],m=0;m<e.expand.length;m++)if(e.expand[m].property){var h=r(e.expand[m],t+" $expand",null,";"),d=h.query;d&&d.length&&(d="("+d+")"),p.push(e.expand[m].property+d)}p.length&&l.push("$expand="+encodeURI(p.join(",")))}}return{url:a,query:l.join(n),headers:o}}function n(e,t,a){e.collection?i.stringParameterCheck(e.collection,"DynamicsWebApi."+t,"request.collection"):i.parameterCheck(e.collection,"DynamicsWebApi."+t,"request.collection");var n=e.collection.toLowerCase();e.id&&(e.id=i.guidParameterCheck(e.id,"DynamicsWebApi."+t,"request.id"),n+="("+e.id+")");var c=r(e,t,n,"&",a);return c.query&&(c.url+="?"+encodeURI(c.query)),{url:c.url,headers:c.headers}}var i=(a(0),a(1)),c=a(11),s={convertRequestOptions:r,convertRequest:n};e.exports=s},function(e,t,a){var r={buildFunctionParameters:a(10),getFetchXmlPagingCookie:a(13),convertToReferenceObject:a(12)};e.exports=r},function(e,t){e.exports=function(e,t){return"string"==typeof t&&/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$/.exec(t)?new Date(t):t}},function(e,t,a){function r(e){var t=e.substr(0,e.indexOf("\r\n")),a=e.split(t);a.shift(),a.pop();for(var r=[],i=0;i<a.length;i++){var c=a[i],s=c.substring(c.indexOf("{"),c.lastIndexOf("}")+1);r.push(JSON.parse(s,n))}return r}var n=a(6);e.exports=function(e){var t=null;return e.length&&(t=t=e.indexOf("--batchresponse_")>-1?r(e)[0]:JSON.parse(e,n)),t}},function(e,t){e.exports=function(e){var t={};if(!e)return t;for(var a=e.split("\r\n"),r=0,n=a.length;r<n;r++){var i=a[r],c=i.indexOf(": ");c>0&&(t[i.substring(0,c)]=i.substring(c+2))}return t}},function(e,t,a){var r=a(7),n=a(8),i=function(e,t,a,i,c,s){var o=new XMLHttpRequest;o.open(e,t,!0);for(var l in i)o.setRequestHeader(l,i[l]);o.onreadystatechange=function(){if(4===o.readyState){switch(o.status){case 200:case 201:case 204:case 304:c({data:r(o.responseText),headers:n(o.getAllResponseHeaders()),status:o.status});break;default:var e;try{e=JSON.parse(o.response).error}catch(t){e=o.response.length>0?{message:o.response}:{message:"Unexpected Error"}}e.status=o.status,s(e)}o=null}},o.onerror=function(){s({message:"Network Error"}),o=null},o.ontimeout=function(e){s({message:"Request Timed Out"}),o=null},a?o.send(a):o.send()};e.exports=i},function(e,t){e.exports=function(e){if(e){for(var t=Object.keys(e),a="",r="",n=1;n<=t.length;n++){var i=t[n-1],c=e[i];n>1&&(a+=",",r+="&"),a+=i+"=@p"+n,r+="@p"+n+"="+("string"==typeof c?"'"+c+"'":c)}return"("+a+")?"+r}return"()"}},function(e,t,a){var r=a(0),n=a(1);e.exports=function(e,t,a){var i=e.returnRepresentation,c=e.includeAnnotations,s=e.maxPageSize;if(e.prefer&&e.prefer.length){n.stringOrArrayParameterCheck(e.prefer,"DynamicsWebApi."+t,"request.prefer");var o=e.prefer;"string"==typeof o&&(o=o.split(","));for(var l in o){var u=o[l].trim();u===r.Prefer.ReturnRepresentation?i=!0:u.startsWith("odata.include-annotations=")?c=u.replace("odata.include-annotations=","").replace(/"/g,""):u.startsWith("odata.maxpagesize=")&&(s=u.replace("odata.maxpagesize=","").replace(/"/g,""))}}a&&(null==i&&(i=a.returnRepresentation),c=c?c:a.includeAnnotations,s=s?s:a.maxPageSize);var o=[];return i&&(n.boolParameterCheck(i,"DynamicsWebApi."+t,"request.returnRepresentation"),o.push(r.Prefer.ReturnRepresentation)),c&&(n.stringParameterCheck(c,"DynamicsWebApi."+t,"request.includeAnnotations"),o.push('odata.include-annotations="'+c+'"')),s&&s>0&&(n.numberParameterCheck(s,"DynamicsWebApi."+t,"request.maxPageSize"),o.push("odata.maxpagesize="+s)),o.join(",")}},function(e,t){e.exports=function(e){var t=/\/(\w+)\(([0-9A-F]{8}[-]?([0-9A-F]{4}[-]?){3}[0-9A-F]{12})/i.exec(e["@odata.id"]);return{id:t[2],collection:t[1],oDataContext:e["@odata.context"]}}},function(e,t){e.exports=function(e,t){e=e?e:"",t=t?t:1,e=unescape(unescape(e));var a=/pagingcookie="(<cookie page="(\d+)".+<\/cookie>)/.exec(e);if(null!=a){var r=parseInt(a[2]);return{cookie:a[1].replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/\"/g,"'").replace(/\'/g,"&quot;"),page:r,nextPage:r+1}}return{cookie:"",page:t,nextPage:t+1}}},function(e,t,a){function r(e){var t={webApiVersion:"8.0",webApiUrl:"",impersonate:null,onTokenRefresh:null,includeAnnotations:null,maxPageSize:null,returnRepresentation:null};e||(e=t);var a=function(){if("undefined"!=typeof GetGlobalContext)return GetGlobalContext();if("undefined"!=typeof Xrm)return Xrm.Page.context;throw new Error("Xrm Context is not available.")},o=function(){var e=a();if(e){var t=e.getClientUrl();return t.match(/\/$/)&&(t=t.substring(0,t.length-1)),t}return""},l=function(){return o()+"/api/data/v"+t.webApiVersion+"/"};this.setConfig=function(e){e.webApiVersion&&(c.stringParameterCheck(e.webApiVersion,"DynamicsWebApi.setConfig","config.webApiVersion"),t.webApiVersion=e.webApiVersion),e.webApiUrl?(c.stringParameterCheck(e.webApiUrl,"DynamicsWebApi.setConfig","config.webApiUrl"),t.webApiUrl=e.webApiUrl):t.webApiUrl=l(),e.impersonate&&(t.impersonate=c.guidParameterCheck(e.impersonate,"DynamicsWebApi.setConfig","config.impersonate")),e.onTokenRefresh&&(c.callbackParameterCheck(e.onTokenRefresh,"DynamicsWebApi.setConfig","config.onTokenRefresh"),t.onTokenRefresh=e.onTokenRefresh),e.includeAnnotations&&(c.stringParameterCheck(e.includeAnnotations,"DynamicsWebApi.setConfig","config.includeAnnotations"),t.includeAnnotations=e.includeAnnotations),e.maxPageSize&&(c.numberParameterCheck(e.maxPageSize,"DynamicsWebApi.setConfig","config.maxPageSize"),t.maxPageSize=e.maxPageSize),e.returnRepresentation&&(c.boolParameterCheck(e.returnRepresentation,"DynamicsWebApi.setConfig","config.returnRepresentation"),t.returnRepresentation=e.returnRepresentation)},this.setConfig(e);var u=function(e,a,r,n,i,c){s(e,a,t,r,n,i,c)};this.create=function(e,a,r,n,s,o){c.parameterCheck(e,"DynamicsWebApi.create","object"),c.stringParameterCheck(a,"DynamicsWebApi.create","collection"),c.callbackParameterCheck(r,"DynamicsWebApi.create","successCallback"),c.callbackParameterCheck(n,"DynamicsWebApi.create","errorCallback"),s&&c.stringOrArrayParameterCheck(s,"DynamicsWebApi.create","prefer"),o&&c.arrayParameterCheck(o,"DynamicsWebApi.create","select");var l={collection:a,select:o,prefer:s},p=i.convertRequest(l,"create",t),m=function(e){if(e.data)r(e.data);else{var t=e.headers["OData-EntityId"]?e.headers["OData-EntityId"]:e.headers["odata-entityid"];r(/[0-9A-F]{8}[-]?([0-9A-F]{4}[-]?){3}[0-9A-F]{12}/i.exec(t)[0])}};u("POST",p.url,e,p.headers,m,n)},this.updateRequest=function(e,a,r){c.parameterCheck(e,"DynamicsWebApi.update","request"),c.parameterCheck(e.entity,"DynamicsWebApi.update","request.entity"),c.callbackParameterCheck(a,"DynamicsWebApi.update","successCallback"),c.callbackParameterCheck(r,"DynamicsWebApi.update","errorCallback");var n=i.convertRequest(e,"update",t);null==e.ifmatch&&(n.headers["If-Match"]="*");var s=function(e){a(e.data?e.data:!0)},o=e.ifmatch,l=function(e){o&&412==e.status?a(!1):r(e)};u("PATCH",n.url,e.entity,n.headers,s,l)},this.update=function(e,t,a,r,n,i,s){c.stringParameterCheck(e,"DynamicsWebApi.update","id"),e=c.guidParameterCheck(e,"DynamicsWebApi.update","id"),c.parameterCheck(a,"DynamicsWebApi.update","object"),c.stringParameterCheck(t,"DynamicsWebApi.update","collection"),c.callbackParameterCheck(r,"DynamicsWebApi.update","successCallback"),c.callbackParameterCheck(n,"DynamicsWebApi.update","errorCallback"),i&&c.stringOrArrayParameterCheck(i,"DynamicsWebApi.update","prefer"),s&&c.arrayParameterCheck(s,"DynamicsWebApi.update","select");var o={collection:t,id:e,select:s,prefer:i,entity:a};this.updateRequest(o,r,n)},this.updateSingleProperty=function(e,a,r,n,s,o,l){c.stringParameterCheck(e,"DynamicsWebApi.updateSingleProperty","id"),e=c.guidParameterCheck(e,"DynamicsWebApi.updateSingleProperty","id"),c.parameterCheck(r,"DynamicsWebApi.updateSingleProperty","keyValuePair"),c.stringParameterCheck(a,"DynamicsWebApi.updateSingleProperty","collection"),c.callbackParameterCheck(n,"DynamicsWebApi.updateSingleProperty","successCallback"),c.callbackParameterCheck(s,"DynamicsWebApi.updateSingleProperty","errorCallback"),o&&c.stringOrArrayParameterCheck(o,"DynamicsWebApi.updateSingleProperty","prefer"),l&&c.arrayParameterCheck(l,"DynamicsWebApi.updateSingleProperty","select");var p=Object.keys(r)[0],m=r[p],h={collection:a,id:e,select:l,prefer:o,navigationProperty:p},d=i.convertRequest(h,"updateSingleProperty",t),f=function(e){e.data?n(e.data):n()};u("PUT",d.url,{value:m},d.headers,f,s)},this.deleteRequest=function(e,a,r){c.parameterCheck(e,"DynamicsWebApi.delete","request"),c.callbackParameterCheck(a,"DynamicsWebApi.delete","successCallback"),c.callbackParameterCheck(r,"DynamicsWebApi.delete","errorCallback");var n=i.convertRequest(e,"delete",t),s=function(){a(!0)},o=e.ifmatch,l=function(e){o&&412==e.status?a(!1):r(e)};u("DELETE",n.url,null,n.headers,s,l)},this.deleteRecord=function(e,t,a,r,n){c.stringParameterCheck(e,"DynamicsWebApi.delete","id"),e=c.guidParameterCheck(e,"DynamicsWebApi.delete","id"),c.stringParameterCheck(t,"DynamicsWebApi.delete","collection"),c.callbackParameterCheck(a,"DynamicsWebApi.delete","successCallback"),c.callbackParameterCheck(r,"DynamicsWebApi.delete","errorCallback"),null!=n&&c.stringParameterCheck(n,"DynamicsWebApi.delete","propertyName");var i=t.toLowerCase()+"("+e+")";null!=n&&(i+="/"+n),u("DELETE",i,null,null,function(e){a()},r)},this.retrieveRequest=function(e,a,r){c.parameterCheck(e,"DynamicsWebApi.retrieve","request"),c.callbackParameterCheck(a,"DynamicsWebApi.retrieve","successCallback"),c.callbackParameterCheck(r,"DynamicsWebApi.retrieve","errorCallback");var s=i.convertRequest(e,"retrieve",t),o=e.select,l=function(e){a(null!=o&&1==o.length&&o[0].endsWith("/$ref")&&null!=e.data["@odata.id"]?n.convertToReferenceObject(e.data):e.data)};u("GET",s.url,null,s.headers,l,r)},this.retrieve=function(e,t,a,r,n,i){c.stringParameterCheck(e,"DynamicsWebApi.retrieve","id"),e=c.guidParameterCheck(e,"DynamicsWebApi.retrieve","id"),c.stringParameterCheck(t,"DynamicsWebApi.retrieve","collection"),c.callbackParameterCheck(a,"DynamicsWebApi.retrieve","successCallback"),c.callbackParameterCheck(r,"DynamicsWebApi.retrieve","errorCallback"),n&&n.length&&c.arrayParameterCheck(n,"DynamicsWebApi.retrieve","select"),i&&i.length&&c.stringOrArrayParameterCheck(i,"DynamicsWebApi.retrieve","expand");var s={collection:t,id:e,select:n,expand:i};this.retrieveRequest(s,a,r)},this.upsertRequest=function(e,a,r){c.parameterCheck(e,"DynamicsWebApi.upsert","request"),c.parameterCheck(e.entity,"DynamicsWebApi.upsert","request.entity"),c.callbackParameterCheck(a,"DynamicsWebApi.upsert","successCallback"),c.callbackParameterCheck(r,"DynamicsWebApi.upsert","errorCallback");var n=i.convertRequest(e,"upsert",t),s=e.ifnonematch,o=e.ifmatch,l=function(e){if(e.headers["OData-EntityId"]||e.headers["odata-entityid"]){var t=e.headers["OData-EntityId"]?e.headers["OData-EntityId"]:e.headers["odata-entityid"];a(/[0-9A-F]{8}[-]?([0-9A-F]{4}[-]?){3}[0-9A-F]{12}/i.exec(t)[0])}else e.data?a(e.data):a()},p=function(e){s&&412==e.status?a():o&&404==e.status?a():r(e)};u("PATCH",n.url,e.entity,n.headers,l,p)},this.upsert=function(e,t,a,r,n,i,s){c.stringParameterCheck(e,"DynamicsWebApi.upsert","id"),e=c.guidParameterCheck(e,"DynamicsWebApi.upsert","id"),c.parameterCheck(a,"DynamicsWebApi.upsert","object"),c.stringParameterCheck(t,"DynamicsWebApi.upsert","collection"),c.callbackParameterCheck(r,"DynamicsWebApi.upsert","successCallback"),c.callbackParameterCheck(n,"DynamicsWebApi.upsert","errorCallback"),i&&c.stringOrArrayParameterCheck(i,"DynamicsWebApi.upsert","prefer"),s&&c.arrayParameterCheck(s,"DynamicsWebApi.upsert","select");var o={collection:t,id:e,select:s,prefer:i,entity:a};this.upsertRequest(o,r,n)},this.count=function(e,t,a,r){if(null!=r&&(null==r||r.length))return this.retrieveMultipleRequest({collection:e,filter:r,count:!0},function(e){t(e.oDataCount?e.oDataCount:0)},a);c.stringParameterCheck(e,"DynamicsWebApi.count","collection"),c.callbackParameterCheck(t,"DynamicsWebApi.count","successCallback"),c.callbackParameterCheck(a,"DynamicsWebApi.count","errorCallback");var n=function(e){t(e.data?parseInt(e.data):0)};u("GET",e.toLowerCase()+"/$count",null,null,n,a)},this.countAll=function(e,t,a,r,n){return this.retrieveAllRequest({collection:e,filter:r,select:n},function(e){t(e&&e.value?e.value.length:0)},a)},this.retrieveMultiple=function(e,t,a,r,n,i){return this.retrieveMultipleRequest({collection:e,select:r,filter:n},t,a,i)},this.retrieveAll=function(e,t,a,r,n){return m({collection:e,select:r,filter:n},t,a)};var p=function(e,a,r,n){c.callbackParameterCheck(a,"DynamicsWebApi.retrieveMultiple","successCallback"),c.callbackParameterCheck(r,"DynamicsWebApi.retrieveMultiple","errorCallback"),n&&!e.collection&&(e.collection="any");var s=i.convertRequest(e,"retrieveMultiple",t);n&&(c.stringParameterCheck(n,"DynamicsWebApi.retrieveMultiple","nextPageLink"),s.url=n.replace(t.webApiUrl,""));var o=e.count,l=function(e){null!=e.data["@odata.nextLink"]&&(e.data.oDataNextLink=e.data["@odata.nextLink"]),o&&(e.data.oDataCount=null!=e.data["@odata.count"]?parseInt(e.data["@odata.count"]):0),null!=e.data["@odata.context"]&&(e.data.oDataContext=e.data["@odata.context"]),a(e.data)};u("GET",s.url,null,s.headers,l,r)};this.retrieveMultipleRequest=p;var m=function(e,t,a,r,n){var n=n||[];p(e,function(r){n=n.concat(r.value),r.oDataNextLink?m(e,t,a,r.oDataNextLink,n):t({value:n})},a,r)};this.retrieveAllRequest=function(e,t,a){m(e,t,a)};var h=function(e,a,r,s,o,l,p,m){c.stringParameterCheck(e,"DynamicsWebApi.executeFetchXml","collection"),c.stringParameterCheck(a,"DynamicsWebApi.executeFetchXml","fetchXml"),c.callbackParameterCheck(r,"DynamicsWebApi.executeFetchXml","successCallback"),c.callbackParameterCheck(s,"DynamicsWebApi.executeFetchXml","errorCallback"),null==l&&(l=1),c.numberParameterCheck(l,"DynamicsWebApi.executeFetchXml","pageNumber");var h='$1 page="'+l+'"';null!=p&&(c.stringParameterCheck(p,"DynamicsWebApi.executeFetchXml","pagingCookie"),h+=' paging-cookie="'+p+'"'),a=a.replace(/^(<fetch[\w\d\s'"=]+)/,h),o&&c.stringParameterCheck(o,"DynamicsWebApi.executeFetchXml","includeAnnotations"),m&&(m=c.guidParameterCheck(m,"DynamicsWebApi.executeFetchXml","impersonateUserId"));var d={collection:e,includeAnnotations:o,impersonate:m},f=i.convertRequest(d,"executeFetchXml",t),b=encodeURIComponent(a),y=function(e){null!=e.data["@Microsoft.Dynamics.CRM.fetchxmlpagingcookie"]&&(e.data.PagingInfo=n.getFetchXmlPagingCookie(e.data["@Microsoft.Dynamics.CRM.fetchxmlpagingcookie"],l)),null!=e.data["@odata.context"]&&(e.data.oDataContext=e.data["@odata.context"]),r(e.data)};u("GET",f.url+"?fetchXml="+b,null,f.headers,y,s)};this.fetch=this.executeFetchXml=h;var d=function(e,t,a,r,n,i,c,s,o){var o=o||[];h(e,t,function(i){o=o.concat(i.value),i.PagingInfo?d(e,t,a,r,n,i.PagingInfo.nextPage,i.PagingInfo.cookie,s,o):a({value:o})},r,n,i,c,s)};this.fetchAll=this.executeFetchXmlAll=function(e,t,a,r,n,i){return d(e,t,a,r,n,null,null,i)},this.associate=function(e,a,r,n,i,s,o,l){c.stringParameterCheck(e,"DynamicsWebApi.associate","primarycollection"),c.stringParameterCheck(n,"DynamicsWebApi.associate","relatedcollection"),c.stringParameterCheck(r,"DynamicsWebApi.associate","relationshipName"),a=c.guidParameterCheck(a,"DynamicsWebApi.associate","primaryId"),i=c.guidParameterCheck(i,"DynamicsWebApi.associate","relatedId"),c.callbackParameterCheck(s,"DynamicsWebApi.associate","successCallback"),c.callbackParameterCheck(o,"DynamicsWebApi.associate","errorCallback");var p=function(){s()},m={};null!=l&&(l=c.guidParameterCheck(l,"DynamicsWebApi.associate","impersonateUserId"),m.MSCRMCallerID=l),u("POST",e+"("+a+")/"+r+"/$ref",{"@odata.id":t.webApiUrl+n+"("+i+")"},m,p,o)},this.disassociate=function(e,t,a,r,n,i,s){c.stringParameterCheck(e,"DynamicsWebApi.disassociate","primarycollection"),c.stringParameterCheck(a,"DynamicsWebApi.disassociate","relationshipName"),t=c.guidParameterCheck(t,"DynamicsWebApi.disassociate","primaryId"),r=c.guidParameterCheck(r,"DynamicsWebApi.disassociate","relatedId"),c.callbackParameterCheck(n,"DynamicsWebApi.disassociate","successCallback"),c.callbackParameterCheck(i,"DynamicsWebApi.disassociate","errorCallback");var o=function(){n()},l={};null!=s&&(s=c.guidParameterCheck(s,"DynamicsWebApi.associate","impersonateUserId"),l.MSCRMCallerID=s),u("DELETE",e+"("+t+")/"+a+"("+r+")/$ref",null,l,o,i)},this.associateSingleValued=function(e,a,r,n,i,s,o,l){c.stringParameterCheck(e,"DynamicsWebApi.associateSingleValued","collection"),a=c.guidParameterCheck(a,"DynamicsWebApi.associateSingleValued","id"),i=c.guidParameterCheck(i,"DynamicsWebApi.associateSingleValued","relatedId"),c.stringParameterCheck(r,"DynamicsWebApi.associateSingleValued","singleValuedNavigationPropertyName"),c.stringParameterCheck(n,"DynamicsWebApi.associateSingleValued","relatedcollection"),c.callbackParameterCheck(s,"DynamicsWebApi.associateSingleValued","successCallback"),c.callbackParameterCheck(o,"DynamicsWebApi.associateSingleValued","errorCallback");var p=function(){s()},m={};null!=l&&(l=c.guidParameterCheck(l,"DynamicsWebApi.associate","impersonateUserId"),m.MSCRMCallerID=l),u("PUT",e+"("+a+")/"+r+"/$ref",{"@odata.id":t.webApiUrl+n+"("+i+")"},m,p,o)},this.disassociateSingleValued=function(e,t,a,r,n,i){c.stringParameterCheck(e,"DynamicsWebApi.disassociateSingleValued","collection"),t=c.guidParameterCheck(t,"DynamicsWebApi.disassociateSingleValued","id"),c.stringParameterCheck(a,"DynamicsWebApi.disassociateSingleValued","singleValuedNavigationPropertyName"),c.callbackParameterCheck(r,"DynamicsWebApi.disassociateSingleValued","successCallback"),c.callbackParameterCheck(n,"DynamicsWebApi.disassociateSingleValued","errorCallback");var s={};null!=i&&(i=c.guidParameterCheck(i,"DynamicsWebApi.associate","impersonateUserId"),s.MSCRMCallerID=i),u("DELETE",e+"("+t+")/"+a+"/$ref",null,s,function(){r()},n)},this.executeUnboundFunction=function(e,t,a,r,n){return f(e,r,null,null,t,a,n)},this.executeBoundFunction=function(e,t,a,r,n,i,c){return f(a,i,t,e,r,n,c)};var f=function(e,t,a,r,i,s,o){c.stringParameterCheck(e,"DynamicsWebApi.executeFunction","functionName"),c.callbackParameterCheck(i,"DynamicsWebApi.executeFunction","successCallback"),c.callbackParameterCheck(s,"DynamicsWebApi.executeFunction","errorCallback");var l=e+n.buildFunctionParameters(t);null!=a&&(c.stringParameterCheck(a,"DynamicsWebApi.executeFunction","collection"),r=c.guidParameterCheck(r,"DynamicsWebApi.executeFunction","id"),l=a+"("+r+")/"+l);var p={};o&&(p.MSCRMCallerID=c.guidParameterCheck(o,"DynamicsWebApi.executionFunction","impersonateUserId")),u("GET",l,null,p,function(e){e.data?i(e.data):i()},s)};this.executeUnboundAction=function(e,t,a,r,n){return b(e,t,null,null,a,r,n)},this.executeBoundAction=function(e,t,a,r,n,i,c){return b(a,r,t,e,n,i,c)};var b=function(e,t,a,r,n,i,s){c.stringParameterCheck(e,"DynamicsWebApi.executeAction","actionName"),c.callbackParameterCheck(n,"DynamicsWebApi.executeAction","successCallback"),c.callbackParameterCheck(i,"DynamicsWebApi.executeAction","errorCallback");var o=e;null!=a&&(c.stringParameterCheck(a,"DynamicsWebApi.executeAction","collection"),r=c.guidParameterCheck(r,"DynamicsWebApi.executeAction","id"),o=a+"("+r+")/"+o);var l={};null!=s&&(s=c.guidParameterCheck(s,"DynamicsWebApi.associate","impersonateUserId"),l.MSCRMCallerID=s),u("POST",o,t,l,function(e){e.data?n(e.data):n()},i)};this.initializeInstance=function(e){return e||(e=t),new r(e)}}var n=(a(0),a(5)),i=a(4),c=a(1),s=a(3);String.prototype.endsWith&&String.prototype.startsWith||a(2),e.exports=r}])});

@@ -1,2 +0,2 @@

/*! dynamics-web-api v1.2.7 (c) 2017 Aleksandr Rogov */
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("DynamicsWebApi",[],t):"object"==typeof exports?exports.DynamicsWebApi=t():e.DynamicsWebApi=t()}(this,function(){return function(e){function t(n){if(r[n])return r[n].exports;var a=r[n]={i:n,l:!1,exports:{}};return e[n].call(a.exports,a,a.exports,t),a.l=!0,a.exports}var r={};return t.m=e,t.c=r,t.i=function(e){return e},t.d=function(e,r,n){t.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:n})},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=13)}([function(e,t){var r={Types:{ResponseBase:function(){this.oDataContext=""},Response:function(){r.Types.ResponseBase.call(this),this.value={}},ReferenceResponse:function(){r.Types.ResponseBase.call(this),this.id="",this.collection=""},MultipleResponse:function(){r.Types.ResponseBase.call(this),this.oDataNextLink="",this.oDataCount=0,this.value=[]},FetchXmlResponse:function(){r.Types.ResponseBase.call(this),this.value=[],this.PagingInfo={cookie:"",page:0,nextPage:1}}},Prefer:{ReturnRepresentation:"return=representation",Annotations:{AssociatedNavigationProperty:"Microsoft.Dynamics.CRM.associatednavigationproperty",LookupLogicalName:"Microsoft.Dynamics.CRM.lookuplogicalname",All:"*",FormattedValue:"OData.Community.Display.V1.FormattedValue",FetchXmlPagingCookie:"Microsoft.Dynamics.CRM.fetchxmlpagingcookie"}}};e.exports=r},function(e,t){function r(e,t,r){throw new Error(r?e+" requires the "+t+" parameter to be of type "+r:e+" requires the "+t+" parameter.")}var n={handleErrorResponse:function(e){throw new Error("Error: "+e.status+": "+e.message)},parameterCheck:function(e,t,n,a){void 0!==e&&null!==e&&""!=e||r(t,n,a)},stringParameterCheck:function(e,t,n){"string"!=typeof e&&r(t,n,"String")},arrayParameterCheck:function(e,t,n){e.constructor!==Array&&r(t,n,"Array")},stringOrArrayParameterCheck:function(e,t,n){e.constructor!==Array&&"string"!=typeof e&&r(t,n,"String or Array")},numberParameterCheck:function(e,t,n){if("number"!=typeof e){if("string"==typeof e&&e&&!isNaN(parseInt(e)))return;r(t,n,"Number")}},boolParameterCheck:function(e,t,n){"boolean"!=typeof e&&r(t,n,"Boolean")},guidParameterCheck:function(e,t,n){try{return/[0-9A-F]{8}[-]?([0-9A-F]{4}[-]?){3}[0-9A-F]{12}/i.exec(e)[0]}catch(e){r(t,n,"GUID String")}},callbackParameterCheck:function(e,t,n){"function"!=typeof e&&r(t,n,"Function")}};e.exports=n},function(e,t){String.prototype.endsWith=function(e,t){var r=this.toString();("number"!=typeof t||!isFinite(t)||Math.floor(t)!==t||t>r.length)&&(t=r.length),t-=e.length;var n=r.lastIndexOf(e,t);return n!==-1&&n===t},String.prototype.startsWith=function(e,t){return t=t||0,this.substr(t,e.length)===e}},function(e,t,r){r(0);e.exports=function(e,t,n,a,i,o,c){n.impersonate&&(!i||i&&!i.MSCRMCallerID)&&(i||(i={}),i.MSCRMCallerID=n.impersonate);var s;a&&(s=JSON.stringify(a,function(e,t){return e.endsWith("@odata.bind")&&"string"==typeof t&&(/\(\{[\w\d-]+\}\)/g.test(t)&&(t=t.replace(/(.+)\(\{([\w\d-]+)\}\)/g,"$1($2)")),t.startsWith(n.webApiUrl)||(t=n.webApiUrl+t)),t}));var u;"undefined"!=typeof XMLHttpRequest&&(u=r(8));var l=function(r){r&&(i||(i={}),i.Authorization="Bearer "+r.accessToken),u(e,n.webApiUrl+t,s,i,o,c)};n.onTokenRefresh&&(!i||i&&!i.Authorization)?n.onTokenRefresh(l):l()}},function(e,t,r){function n(e,t,r,a,c){var s={},u=[];if(a=null!=a?a:"&",e){e.navigationProperty&&(i.stringParameterCheck(e.navigationProperty,"DynamicsWebApi."+t,"request.navigationProperty"),r+="/"+e.navigationProperty),null!=e.select&&e.select.length&&(i.arrayParameterCheck(e.select,"DynamicsWebApi."+t,"request.select"),"retrieve"==t&&1==e.select.length&&e.select[0].endsWith("/$ref")?r+="/"+e.select[0]:(e.select[0].startsWith("/")&&"retrieve"==t&&(null==e.navigationProperty?r+=e.select.shift():e.select.shift()),e.select.length&&u.push("$select="+e.select.join(",")))),e.filter&&(i.stringParameterCheck(e.filter,"DynamicsWebApi."+t,"request.filter"),u.push("$filter="+e.filter)),e.savedQuery&&u.push("savedQuery="+i.guidParameterCheck(e.savedQuery,"DynamicsWebApi."+t,"request.savedQuery")),e.userQuery&&u.push("userQuery="+i.guidParameterCheck(e.userQuery,"DynamicsWebApi."+t,"request.userQuery")),e.count&&(i.boolParameterCheck(e.count,"DynamicsWebApi."+t,"request.count"),u.push("$count="+e.count)),e.top&&e.top>0&&(i.numberParameterCheck(e.top,"DynamicsWebApi."+t,"request.top"),u.push("$top="+e.top)),null!=e.orderBy&&e.orderBy.length&&(i.arrayParameterCheck(e.orderBy,"DynamicsWebApi."+t,"request.orderBy"),u.push("$orderby="+e.orderBy.join(",")));var l=o(e,t,c);if(l.length&&(s.Prefer=l),null!=e.ifmatch&&null!=e.ifnonematch)throw new Error("DynamicsWebApi."+t+". Either one of request.ifmatch or request.ifnonematch parameters should be used in a call, not both.");if(e.ifmatch&&(i.stringParameterCheck(e.ifmatch,"DynamicsWebApi."+t,"request.ifmatch"),s["If-Match"]=e.ifmatch),e.ifnonematch&&(i.stringParameterCheck(e.ifnonematch,"DynamicsWebApi."+t,"request.ifnonematch"),s["If-None-Match"]=e.ifnonematch),e.impersonate&&(i.stringParameterCheck(e.impersonate,"DynamicsWebApi."+t,"request.impersonate"),s.MSCRMCallerID=i.guidParameterCheck(e.impersonate,"DynamicsWebApi."+t,"request.impersonate")),e.token&&(i.stringParameterCheck(e.token,"DynamicsWebApi."+t,"request.token"),s.Authorization="Bearer "+e.token),e.expand&&e.expand.length)if(i.stringOrArrayParameterCheck(e.expand,"DynamicsWebApi."+t,"request.expand"),"string"==typeof e.expand)u.push("$expand="+encodeURI(e.expand));else{for(var p=[],m=0;m<e.expand.length;m++)if(e.expand[m].property){var h=n(e.expand[m],t+" $expand",null,";"),d=h.query;d&&d.length&&(d="("+d+")"),p.push(e.expand[m].property+d)}p.length&&u.push("$expand="+encodeURI(p.join(",")))}}return{url:r,query:u.join(a),headers:s}}function a(e,t,r){e.collection?i.stringParameterCheck(e.collection,"DynamicsWebApi."+t,"request.collection"):i.parameterCheck(e.collection,"DynamicsWebApi."+t,"request.collection");var a=e.collection.toLowerCase();e.id&&(e.id=i.guidParameterCheck(e.id,"DynamicsWebApi."+t,"request.id"),a+="("+e.id+")");var o=n(e,t,a,"&",r);return o.query&&(o.url+="?"+encodeURI(o.query)),{url:o.url,headers:o.headers}}var i=(r(0),r(1)),o=r(10),c={convertRequestOptions:n,convertRequest:a};e.exports=c},function(e,t,r){var n={buildFunctionParameters:r(9),getFetchXmlPagingCookie:r(12),convertToReferenceObject:r(11)};e.exports=n},function(e,t){e.exports=function(e,t){return"string"==typeof t&&/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$/.exec(t)?new Date(t):t}},function(e,t){e.exports=function(e){var t={};if(!e)return t;for(var r=e.split("\r\n"),n=0,a=r.length;n<a;n++){var i=r[n],o=i.indexOf(": ");o>0&&(t[i.substring(0,o)]=i.substring(o+2))}return t}},function(e,t,r){var n=r(6),a=r(7),i=function(e,t,r,i,o,c){var s=new XMLHttpRequest;if(s.open(e,t,!0),s.setRequestHeader("OData-MaxVersion","4.0"),s.setRequestHeader("OData-Version","4.0"),s.setRequestHeader("Accept","application/json"),s.setRequestHeader("Content-Type","application/json; charset=utf-8"),null!=i)for(var u in i)s.setRequestHeader(u,i[u]);s.onreadystatechange=function(){if(4===s.readyState){switch(s.status){case 200:case 201:case 204:case 304:var e=null;s.responseText&&(e=JSON.parse(s.responseText,n));o({data:e,headers:a(s.getAllResponseHeaders()),status:s.status});break;default:var t;try{t=JSON.parse(s.response).error}catch(e){t=s.response.length>0?{message:s.response}:{message:"Unexpected Error"}}t.status=s.status,c(t)}s=null}},s.onerror=function(){c({message:"Network Error"}),s=null},s.ontimeout=function(e){c({message:"Request Timed Out"}),s=null},r?s.send(r):s.send()};e.exports=i},function(e,t){e.exports=function(e){if(e){for(var t=Object.keys(e),r="",n="",a=1;a<=t.length;a++){var i=t[a-1],o=e[i];a>1&&(r+=",",n+="&"),r+=i+"=@p"+a,n+="@p"+a+"="+("string"==typeof o?"'"+o+"'":o)}return"("+r+")?"+n}return"()"}},function(e,t,r){var n=r(0),a=r(1);e.exports=function(e,t,r){var i=e.returnRepresentation,o=e.includeAnnotations,c=e.maxPageSize;if(e.prefer&&e.prefer.length){a.stringOrArrayParameterCheck(e.prefer,"DynamicsWebApi."+t,"request.prefer");var s=e.prefer;"string"==typeof s&&(s=s.split(","));for(var u in s){var l=s[u].trim();l===n.Prefer.ReturnRepresentation?i=!0:l.startsWith("odata.include-annotations=")?o=l.replace("odata.include-annotations=","").replace(/"/g,""):l.startsWith("odata.maxpagesize=")&&(c=l.replace("odata.maxpagesize=","").replace(/"/g,""))}}r&&(null==i&&(i=r.returnRepresentation),o=o?o:r.includeAnnotations,c=c?c:r.maxPageSize);var s=[];return i&&(a.boolParameterCheck(i,"DynamicsWebApi."+t,"request.returnRepresentation"),s.push(n.Prefer.ReturnRepresentation)),o&&(a.stringParameterCheck(o,"DynamicsWebApi."+t,"request.includeAnnotations"),s.push('odata.include-annotations="'+o+'"')),c&&c>0&&(a.numberParameterCheck(c,"DynamicsWebApi."+t,"request.maxPageSize"),s.push("odata.maxpagesize="+c)),s.join(",")}},function(e,t){e.exports=function(e){var t=/\/(\w+)\(([0-9A-F]{8}[-]?([0-9A-F]{4}[-]?){3}[0-9A-F]{12})/i.exec(e["@odata.id"]);return{id:t[2],collection:t[1],oDataContext:e["@odata.context"]}}},function(e,t){e.exports=function(e,t){e=e?e:"",t=t?t:1,e=unescape(unescape(e));var r=/pagingcookie="(<cookie page="(\d+)".+<\/cookie>)/.exec(e);if(null!=r){var n=parseInt(r[2]);return{cookie:r[1].replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/\"/g,"'").replace(/\'/g,"&quot;"),page:n,nextPage:n+1}}return{cookie:"",page:t,nextPage:t+1}}},function(e,t,r){function n(e){var t={webApiVersion:"8.0",webApiUrl:null,impersonate:null,onTokenRefresh:null,includeAnnotations:null,maxPageSize:null,returnRepresentation:null};e||(e=t);var r=function(){if("undefined"!=typeof GetGlobalContext)return GetGlobalContext();if("undefined"!=typeof Xrm)return Xrm.Page.context;throw new Error("Xrm Context is not available.")},s=function(){var e=r();if(e){var t=e.getClientUrl();return t.match(/\/$/)&&(t=t.substring(0,t.length-1)),t}return""},u=function(){return s()+"/api/data/v"+t.webApiVersion+"/"};this.setConfig=function(e){e.webApiVersion&&(o.stringParameterCheck(e.webApiVersion,"DynamicsWebApi.setConfig","config.webApiVersion"),t.webApiVersion=e.webApiVersion),e.webApiUrl?(o.stringParameterCheck(e.webApiUrl,"DynamicsWebApi.setConfig","config.webApiUrl"),t.webApiUrl=e.webApiUrl):t.webApiUrl=u(),e.impersonate&&(t.impersonate=o.guidParameterCheck(e.impersonate,"DynamicsWebApi.setConfig","config.impersonate")),e.onTokenRefresh&&(o.callbackParameterCheck(e.onTokenRefresh,"DynamicsWebApi.setConfig","config.onTokenRefresh"),t.onTokenRefresh=e.onTokenRefresh),e.includeAnnotations&&(o.stringParameterCheck(e.includeAnnotations,"DynamicsWebApi.setConfig","config.includeAnnotations"),t.includeAnnotations=e.includeAnnotations),e.maxPageSize&&(o.numberParameterCheck(e.maxPageSize,"DynamicsWebApi.setConfig","config.maxPageSize"),t.maxPageSize=e.maxPageSize),e.returnRepresentation&&(o.boolParameterCheck(e.returnRepresentation,"DynamicsWebApi.setConfig","config.returnRepresentation"),t.returnRepresentation=e.returnRepresentation)},this.setConfig(e);var l=function(e,r,n,a){return new Promise(function(i,o){c(e,r,t,n,a,i,o)})};this.create=function(e,r,n,a){o.parameterCheck(e,"DynamicsWebApi.create","object"),o.stringParameterCheck(r,"DynamicsWebApi.create","collection"),n&&o.stringOrArrayParameterCheck(n,"DynamicsWebApi.create","prefer"),a&&o.arrayParameterCheck(a,"DynamicsWebApi.create","select");var c={collection:r,select:a,prefer:n},s=i.convertRequest(c,"create",t);return l("POST",s.url,e,s.headers).then(function(e){if(e.data)return e.data;var t=e.headers["OData-EntityId"]?e.headers["OData-EntityId"]:e.headers["odata-entityid"];return/[0-9A-F]{8}[-]?([0-9A-F]{4}[-]?){3}[0-9A-F]{12}/i.exec(t)[0]})},this.retrieveRequest=function(e){o.parameterCheck(e,"DynamicsWebApi.retrieve","request");var r=i.convertRequest(e,"retrieve",t),n=e.select;return l("GET",r.url,null,r.headers).then(function(e){return null!=n&&1==n.length&&n[0].endsWith("/$ref")&&null!=e.data["@odata.id"]?a.convertToReferenceObject(e.data):e.data})},this.retrieve=function(e,t,r,n){o.stringParameterCheck(e,"DynamicsWebApi.retrieve","id"),e=o.guidParameterCheck(e,"DynamicsWebApi.retrieve","id"),o.stringParameterCheck(t,"DynamicsWebApi.retrieve","collection"),r&&r.length&&o.arrayParameterCheck(r,"DynamicsWebApi.retrieve","select"),n&&n.length&&o.stringOrArrayParameterCheck(n,"DynamicsWebApi.retrieve","expand");var a={collection:t,id:e,select:r,expand:n};return this.retrieveRequest(a)},this.updateRequest=function(e){o.parameterCheck(e,"DynamicsWebApi.update","request"),o.parameterCheck(e.entity,"DynamicsWebApi.update","request.entity"),null==e.ifmatch&&(e.ifmatch="*");var r=i.convertRequest(e,"update",t),n=e.ifmatch;return l("PATCH",r.url,e.entity,r.headers).then(function(e){return!e.data||e.data}).catch(function(e){if(n&&412==e.status)return!1;throw e})},this.update=function(e,t,r,n,a){o.stringParameterCheck(e,"DynamicsWebApi.update","id"),e=o.guidParameterCheck(e,"DynamicsWebApi.update","id"),o.parameterCheck(r,"DynamicsWebApi.update","object"),o.stringParameterCheck(t,"DynamicsWebApi.update","collection"),n&&o.stringOrArrayParameterCheck(n,"DynamicsWebApi.update","prefer"),a&&o.arrayParameterCheck(a,"DynamicsWebApi.update","select");var i={collection:t,id:e,select:a,prefer:n,entity:r};return this.updateRequest(i)},this.updateSingleProperty=function(e,r,n,a,c){o.stringParameterCheck(e,"DynamicsWebApi.updateSingleProperty","id"),e=o.guidParameterCheck(e,"DynamicsWebApi.updateSingleProperty","id"),o.parameterCheck(n,"DynamicsWebApi.updateSingleProperty","keyValuePair"),o.stringParameterCheck(r,"DynamicsWebApi.updateSingleProperty","collection");var s=Object.keys(n)[0],u=n[s];a&&o.stringOrArrayParameterCheck(a,"DynamicsWebApi.updateSingleProperty","prefer"),c&&o.arrayParameterCheck(c,"DynamicsWebApi.updateSingleProperty","select");var p={collection:r,id:e,select:c,prefer:a,navigationProperty:s},m=i.convertRequest(p,"updateSingleProperty",t);return l("PUT",m.url,{value:u},m.headers).then(function(e){if(e.data)return e.data})},this.deleteRequest=function(e){o.parameterCheck(e,"DynamicsWebApi.delete","request");var r=i.convertRequest(e,"deleteRequest",t),n=e.ifmatch;return l("DELETE",r.url,null,r.headers).then(function(){return!0}).catch(function(e){if(n&&412==e.status)return!1;throw e})},this.deleteRecord=function(e,t,r){o.stringParameterCheck(e,"DynamicsWebApi.deleteRecord","id"),e=o.guidParameterCheck(e,"DynamicsWebApi.deleteRecord","id"),o.stringParameterCheck(t,"DynamicsWebApi.deleteRecord","collection"),null!=r&&o.stringParameterCheck(r,"DynamicsWebApi.deleteRecord","propertyName");var n=t.toLowerCase()+"("+e+")";return null!=r&&(n+="/"+r),l("DELETE",n).then(function(){})},this.upsertRequest=function(e){o.parameterCheck(e,"DynamicsWebApi.upsert","request"),o.parameterCheck(e.entity,"DynamicsWebApi.upsert","request.entity");var r=i.convertRequest(e,"upsert",t),n=e.ifnonematch,a=e.ifmatch;return l("PATCH",r.url,e.entity,r.headers).then(function(e){if(e.headers["OData-EntityId"]||e.headers["odata-entityid"]){var t=e.headers["OData-EntityId"]?e.headers["OData-EntityId"]:e.headers["odata-entityid"];return/[0-9A-F]{8}[-]?([0-9A-F]{4}[-]?){3}[0-9A-F]{12}/i.exec(t)[0]}if(e.data)return e.data}).catch(function(e){if(!(n&&412==e.status||a&&404==e.status))throw e})},this.upsert=function(e,t,r,n,a){o.stringParameterCheck(e,"DynamicsWebApi.upsert","id"),e=o.guidParameterCheck(e,"DynamicsWebApi.upsert","id"),o.parameterCheck(r,"DynamicsWebApi.upsert","object"),o.stringParameterCheck(t,"DynamicsWebApi.upsert","collection"),n&&o.stringOrArrayParameterCheck(n,"DynamicsWebApi.upsert","prefer"),a&&o.arrayParameterCheck(a,"DynamicsWebApi.upsert","select");var i={collection:t,id:e,select:a,prefer:n,entity:r};return this.upsertRequest(i)};var p=function(e,r){r&&!e.collection&&(e.collection="any");var n=i.convertRequest(e,"retrieveMultiple",t);r&&(o.stringParameterCheck(r,"DynamicsWebApi.retrieveMultiple","nextPageLink"),n.url=r.replace(t.webApiUrl,""));var a=e.count;return l("GET",n.url,null,n.headers).then(function(e){return null!=e.data["@odata.nextLink"]&&(e.data.oDataNextLink=e.data["@odata.nextLink"]),a&&(e.data.oDataCount=null!=e.data["@odata.count"]?parseInt(e.data["@odata.count"]):0),null!=e.data["@odata.context"]&&(e.data.oDataContext=e.data["@odata.context"]),e.data})};this.retrieveMultipleRequest=p;var m=function(e,t,r){var r=r||[];return p(e,t).then(function(t){return r=r.concat(t.value),t.oDataNextLink?m(e,t.oDataNextLink,r):{value:r}})};this.retrieveAllRequest=function(e){return m(e)},this.count=function(e,t){return null==t||null!=t&&!t.length?(o.stringParameterCheck(e,"DynamicsWebApi.count","collection"),l("GET",e.toLowerCase()+"/$count").then(function(e){return e.data?parseInt(e.data):0})):this.retrieveMultipleRequest({collection:e,filter:t,count:!0},null).then(function(e){return e.oDataCount?e.oDataCount:0})},this.countAll=function(e,t,r){return m({collection:e,filter:t,select:r}).then(function(e){return e&&e.value?e.value.length:0})},this.retrieveMultiple=function(e,t,r,n){return this.retrieveMultipleRequest({collection:e,select:t,filter:r},n)},this.retrieveAll=function(e,t,r){return m({collection:e,select:t,filter:r})};var h=function(e,r,n,c,s,u){o.stringParameterCheck(e,"DynamicsWebApi.executeFetchXml","type"),o.stringParameterCheck(r,"DynamicsWebApi.executeFetchXml","fetchXml"),c=c||1,o.numberParameterCheck(c,"DynamicsWebApi.executeFetchXml","pageNumber");var p='$1 page="'+c+'"';null!=s&&(o.stringParameterCheck(s,"DynamicsWebApi.executeFetchXml","pagingCookie"),p+=' paging-cookie="'+s+'"'),r=r.replace(/^(<fetch[\w\d\s'"=]+)/,p),n&&o.stringParameterCheck(n,"DynamicsWebApi.executeFetchXml","includeAnnotations"),u&&(u=o.guidParameterCheck(u,"DynamicsWebApi.executeFetchXml","impersonateUserId"));var m={collection:e,includeAnnotations:n,impersonate:u},h=i.convertRequest(m,"executeFetchXml",t),d=encodeURIComponent(r);return l("GET",h.url+"?fetchXml="+d,null,h.headers).then(function(e){return null!=e.data["@Microsoft.Dynamics.CRM.fetchxmlpagingcookie"]&&(e.data.PagingInfo=a.getFetchXmlPagingCookie(e.data["@Microsoft.Dynamics.CRM.fetchxmlpagingcookie"],c)),null!=e.data["@odata.context"]&&(e.data.oDataContext=e.data["@odata.context"]),e.data})};this.fetch=this.executeFetchXml=h;var d=function(e,t,r,n,a,i,o){var o=o||[];return h(e,t,r,n,a,i,o).then(function(n){return o=o.concat(n.value),n.PagingInfo?d(e,t,r,n.PagingInfo.nextPage,n.PagingInfo.cookie,i,o):{value:o}})};this.fetchAll=this.executeFetchXmlAll=function(e,t,r,n){return d(e,t,r,null,null,n)},this.associate=function(e,r,n,a,i,c){o.stringParameterCheck(e,"DynamicsWebApi.associate","primarycollection"),o.stringParameterCheck(a,"DynamicsWebApi.associate","relatedcollection"),o.stringParameterCheck(n,"DynamicsWebApi.associate","relationshipName"),r=o.guidParameterCheck(r,"DynamicsWebApi.associate","primaryId"),i=o.guidParameterCheck(i,"DynamicsWebApi.associate","relatedId");var s={};return null!=c&&(c=o.guidParameterCheck(c,"DynamicsWebApi.associate","impersonateUserId"),s.MSCRMCallerID=c),l("POST",e+"("+r+")/"+n+"/$ref",{"@odata.id":t.webApiUrl+a+"("+i+")"},s).then(function(){})},this.disassociate=function(e,t,r,n,a){o.stringParameterCheck(e,"DynamicsWebApi.disassociate","primarycollection"),o.stringParameterCheck(r,"DynamicsWebApi.disassociate","relationshipName"),t=o.guidParameterCheck(t,"DynamicsWebApi.disassociate","primaryId"),n=o.guidParameterCheck(n,"DynamicsWebApi.disassociate","relatedId");var i={};return null!=a&&(a=o.guidParameterCheck(a,"DynamicsWebApi.associate","impersonateUserId"),i.MSCRMCallerID=a),l("DELETE",e+"("+t+")/"+r+"("+n+")/$ref",null,i).then(function(){})},this.associateSingleValued=function(e,r,n,a,i,c){o.stringParameterCheck(e,"DynamicsWebApi.associateSingleValued","collection"),r=o.guidParameterCheck(r,"DynamicsWebApi.associateSingleValued","id"),i=o.guidParameterCheck(i,"DynamicsWebApi.associateSingleValued","relatedId"),o.stringParameterCheck(n,"DynamicsWebApi.associateSingleValued","singleValuedNavigationPropertyName"),o.stringParameterCheck(a,"DynamicsWebApi.associateSingleValued","relatedcollection");var s={};return null!=c&&(c=o.guidParameterCheck(c,"DynamicsWebApi.associate","impersonateUserId"),s.MSCRMCallerID=c),l("PUT",e+"("+r+")/"+n+"/$ref",{"@odata.id":t.webApiUrl+a+"("+i+")"},s).then(function(){})},this.disassociateSingleValued=function(e,t,r,n){o.stringParameterCheck(e,"DynamicsWebApi.disassociateSingleValued","collection"),t=o.guidParameterCheck(t,"DynamicsWebApi.disassociateSingleValued","id"),o.stringParameterCheck(r,"DynamicsWebApi.disassociateSingleValued","singleValuedNavigationPropertyName");var a={};return null!=n&&(n=o.guidParameterCheck(n,"DynamicsWebApi.associate","impersonateUserId"),a.MSCRMCallerID=n),l("DELETE",e+"("+t+")/"+r+"/$ref",null,a).then(function(){})},this.executeUnboundFunction=function(e,t,r){return f(e,t,null,null,r)},this.executeBoundFunction=function(e,t,r,n,a){return f(r,n,t,e,a)};var f=function(e,t,r,n,i){o.stringParameterCheck(e,"DynamicsWebApi.executeFunction","functionName");var c=e+a.buildFunctionParameters(t);null!=r&&(o.stringParameterCheck(r,"DynamicsWebApi.executeFunction","collection"),n=o.guidParameterCheck(n,"DynamicsWebApi.executeFunction","id"),c=r+"("+n+")/"+c);var s={};return i&&(s.MSCRMCallerID=o.guidParameterCheck(i,"DynamicsWebApi.executeFunction","impersonateUserId")),l("GET",c,null,s).then(function(e){if(e.data)return e.data})};this.executeUnboundAction=function(e,t,r){return g(e,t,null,null,r)},this.executeBoundAction=function(e,t,r,n,a){return g(r,n,t,e,a)};var g=function(e,t,r,n,a){o.stringParameterCheck(e,"DynamicsWebApi.executeAction","actionName");var i=e;null!=r&&(o.stringParameterCheck(r,"DynamicsWebApi.executeAction","collection"),n=o.guidParameterCheck(n,"DynamicsWebApi.executeAction","id"),i=r+"("+n+")/"+i);var c={};return null!=a&&(a=o.guidParameterCheck(a,"DynamicsWebApi.executeAction","impersonateUserId"),c.MSCRMCallerID=a),l("POST",i,t,c).then(function(e){if(e.data)return e.data})};this.initializeInstance=function(e){return e||(e=t),new n(e)}}var a=(r(0),r(5)),i=r(4),o=r(1),c=r(3);String.prototype.endsWith&&String.prototype.startsWith||r(2),e.exports=n}])});
/*! dynamics-web-api v1.2.8 (c) 2017 Aleksandr Rogov */
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("DynamicsWebApi",[],t):"object"==typeof exports?exports.DynamicsWebApi=t():e.DynamicsWebApi=t()}(this,function(){return function(e){function t(n){if(r[n])return r[n].exports;var a=r[n]={i:n,l:!1,exports:{}};return e[n].call(a.exports,a,a.exports,t),a.l=!0,a.exports}var r={};return t.m=e,t.c=r,t.i=function(e){return e},t.d=function(e,r,n){t.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:n})},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=14)}([function(e,t){var r={Types:{ResponseBase:function(){this.oDataContext=""},Response:function(){r.Types.ResponseBase.call(this),this.value={}},ReferenceResponse:function(){r.Types.ResponseBase.call(this),this.id="",this.collection=""},MultipleResponse:function(){r.Types.ResponseBase.call(this),this.oDataNextLink="",this.oDataCount=0,this.value=[]},FetchXmlResponse:function(){r.Types.ResponseBase.call(this),this.value=[],this.PagingInfo={cookie:"",page:0,nextPage:1}}},Prefer:{ReturnRepresentation:"return=representation",Annotations:{AssociatedNavigationProperty:"Microsoft.Dynamics.CRM.associatednavigationproperty",LookupLogicalName:"Microsoft.Dynamics.CRM.lookuplogicalname",All:"*",FormattedValue:"OData.Community.Display.V1.FormattedValue",FetchXmlPagingCookie:"Microsoft.Dynamics.CRM.fetchxmlpagingcookie"}}};e.exports=r},function(e,t){function r(e,t,r){throw new Error(r?e+" requires the "+t+" parameter to be of type "+r:e+" requires the "+t+" parameter.")}var n={handleErrorResponse:function(e){throw new Error("Error: "+e.status+": "+e.message)},parameterCheck:function(e,t,n,a){void 0!==e&&null!==e&&""!=e||r(t,n,a)},stringParameterCheck:function(e,t,n){"string"!=typeof e&&r(t,n,"String")},arrayParameterCheck:function(e,t,n){e.constructor!==Array&&r(t,n,"Array")},stringOrArrayParameterCheck:function(e,t,n){e.constructor!==Array&&"string"!=typeof e&&r(t,n,"String or Array")},numberParameterCheck:function(e,t,n){if("number"!=typeof e){if("string"==typeof e&&e&&!isNaN(parseInt(e)))return;r(t,n,"Number")}},boolParameterCheck:function(e,t,n){"boolean"!=typeof e&&r(t,n,"Boolean")},guidParameterCheck:function(e,t,n){try{return/[0-9A-F]{8}[-]?([0-9A-F]{4}[-]?){3}[0-9A-F]{12}/i.exec(e)[0]}catch(e){r(t,n,"GUID String")}},callbackParameterCheck:function(e,t,n){"function"!=typeof e&&r(t,n,"Function")}};e.exports=n},function(e,t){String.prototype.endsWith=function(e,t){var r=this.toString();("number"!=typeof t||!isFinite(t)||Math.floor(t)!==t||t>r.length)&&(t=r.length),t-=e.length;var n=r.lastIndexOf(e,t);return n!==-1&&n===t},String.prototype.startsWith=function(e,t){return t=t||0,this.substr(t,e.length)===e}},function(e,t,r){function n(){var e=(new Date).getTime();return"undefined"!=typeof performance&&"function"==typeof performance.now&&(e+=performance.now()),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){var r=(e+16*Math.random())%16|0;return e=Math.floor(e/16),("x"===t?r:3&r|8).toString(16)})}function a(e){return e.Accept="application/json",e["OData-MaxVersion"]="4.0",e["OData-Version"]="4.0",e["Content-Type"]="application/json; charset=utf-8",e}r(0);e.exports=function(e,t,i,o,c,s,u){c||(c={}),c=a(c);var l;if(o&&(l=JSON.stringify(o,function(e,t){return e.endsWith("@odata.bind")&&"string"==typeof t&&(/\(\{[\w\d-]+\}\)/g.test(t)&&(t=t.replace(/(.+)\(\{([\w\d-]+)\}\)/g,"$1($2)")),t.startsWith(i.webApiUrl)||(t=i.webApiUrl+t)),t})),t.length>2083){var p="dwa_batch_"+n(),h=[];h.push("--"+p),h.push("Content-Type: application/http"),h.push("Content-Transfer-Encoding: binary\n"),h.push(e+" "+i.webApiUrl+t+" HTTP/1.1");for(var m in c)h.push(m+": "+c[m]),delete c[m];h.push("\n--"+p+"--"),l=h.join("\n"),c=a(c),c["Content-Type"]="multipart/mixed;boundary="+p,t="$batch",e="POST"}i.impersonate&&!c.MSCRMCallerID&&(c.MSCRMCallerID=i.impersonate);var d;"undefined"!=typeof XMLHttpRequest&&(d=r(9));var f=function(r){r&&(c||(c={}),c.Authorization="Bearer "+r.accessToken),d(e,i.webApiUrl+t,l,c,s,u)};i.onTokenRefresh&&(!c||c&&!c.Authorization)?i.onTokenRefresh(f):f()}},function(e,t,r){function n(e,t,r,a,c){var s={},u=[];if(a=null!=a?a:"&",e){e.navigationProperty&&(i.stringParameterCheck(e.navigationProperty,"DynamicsWebApi."+t,"request.navigationProperty"),r+="/"+e.navigationProperty),null!=e.select&&e.select.length&&(i.arrayParameterCheck(e.select,"DynamicsWebApi."+t,"request.select"),"retrieve"==t&&1==e.select.length&&e.select[0].endsWith("/$ref")?r+="/"+e.select[0]:(e.select[0].startsWith("/")&&"retrieve"==t&&(null==e.navigationProperty?r+=e.select.shift():e.select.shift()),e.select.length&&u.push("$select="+e.select.join(",")))),e.filter&&(i.stringParameterCheck(e.filter,"DynamicsWebApi."+t,"request.filter"),u.push("$filter="+e.filter)),e.savedQuery&&u.push("savedQuery="+i.guidParameterCheck(e.savedQuery,"DynamicsWebApi."+t,"request.savedQuery")),e.userQuery&&u.push("userQuery="+i.guidParameterCheck(e.userQuery,"DynamicsWebApi."+t,"request.userQuery")),e.count&&(i.boolParameterCheck(e.count,"DynamicsWebApi."+t,"request.count"),u.push("$count="+e.count)),e.top&&e.top>0&&(i.numberParameterCheck(e.top,"DynamicsWebApi."+t,"request.top"),u.push("$top="+e.top)),null!=e.orderBy&&e.orderBy.length&&(i.arrayParameterCheck(e.orderBy,"DynamicsWebApi."+t,"request.orderBy"),u.push("$orderby="+e.orderBy.join(",")));var l=o(e,t,c);if(l.length&&(s.Prefer=l),null!=e.ifmatch&&null!=e.ifnonematch)throw new Error("DynamicsWebApi."+t+". Either one of request.ifmatch or request.ifnonematch parameters should be used in a call, not both.");if(e.ifmatch&&(i.stringParameterCheck(e.ifmatch,"DynamicsWebApi."+t,"request.ifmatch"),s["If-Match"]=e.ifmatch),e.ifnonematch&&(i.stringParameterCheck(e.ifnonematch,"DynamicsWebApi."+t,"request.ifnonematch"),s["If-None-Match"]=e.ifnonematch),e.impersonate&&(i.stringParameterCheck(e.impersonate,"DynamicsWebApi."+t,"request.impersonate"),s.MSCRMCallerID=i.guidParameterCheck(e.impersonate,"DynamicsWebApi."+t,"request.impersonate")),e.token&&(i.stringParameterCheck(e.token,"DynamicsWebApi."+t,"request.token"),s.Authorization="Bearer "+e.token),e.expand&&e.expand.length)if(i.stringOrArrayParameterCheck(e.expand,"DynamicsWebApi."+t,"request.expand"),"string"==typeof e.expand)u.push("$expand="+encodeURI(e.expand));else{for(var p=[],h=0;h<e.expand.length;h++)if(e.expand[h].property){var m=n(e.expand[h],t+" $expand",null,";"),d=m.query;d&&d.length&&(d="("+d+")"),p.push(e.expand[h].property+d)}p.length&&u.push("$expand="+encodeURI(p.join(",")))}}return{url:r,query:u.join(a),headers:s}}function a(e,t,r){e.collection?i.stringParameterCheck(e.collection,"DynamicsWebApi."+t,"request.collection"):i.parameterCheck(e.collection,"DynamicsWebApi."+t,"request.collection");var a=e.collection.toLowerCase();e.id&&(e.id=i.guidParameterCheck(e.id,"DynamicsWebApi."+t,"request.id"),a+="("+e.id+")");var o=n(e,t,a,"&",r);return o.query&&(o.url+="?"+encodeURI(o.query)),{url:o.url,headers:o.headers}}var i=(r(0),r(1)),o=r(11),c={convertRequestOptions:n,convertRequest:a};e.exports=c},function(e,t,r){var n={buildFunctionParameters:r(10),getFetchXmlPagingCookie:r(13),convertToReferenceObject:r(12)};e.exports=n},function(e,t){e.exports=function(e,t){return"string"==typeof t&&/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$/.exec(t)?new Date(t):t}},function(e,t,r){function n(e){var t=e.substr(0,e.indexOf("\r\n")),r=e.split(t);r.shift(),r.pop();for(var n=[],i=0;i<r.length;i++){var o=r[i],c=o.substring(o.indexOf("{"),o.lastIndexOf("}")+1);n.push(JSON.parse(c,a))}return n}var a=r(6);e.exports=function(e){var t=null;return e.length&&(t=t=e.indexOf("--batchresponse_")>-1?n(e)[0]:JSON.parse(e,a)),t}},function(e,t){e.exports=function(e){var t={};if(!e)return t;for(var r=e.split("\r\n"),n=0,a=r.length;n<a;n++){var i=r[n],o=i.indexOf(": ");o>0&&(t[i.substring(0,o)]=i.substring(o+2))}return t}},function(e,t,r){var n=r(7),a=r(8),i=function(e,t,r,i,o,c){var s=new XMLHttpRequest;s.open(e,t,!0);for(var u in i)s.setRequestHeader(u,i[u]);s.onreadystatechange=function(){if(4===s.readyState){switch(s.status){case 200:case 201:case 204:case 304:o({data:n(s.responseText),headers:a(s.getAllResponseHeaders()),status:s.status});break;default:var e;try{e=JSON.parse(s.response).error}catch(t){e=s.response.length>0?{message:s.response}:{message:"Unexpected Error"}}e.status=s.status,c(e)}s=null}},s.onerror=function(){c({message:"Network Error"}),s=null},s.ontimeout=function(e){c({message:"Request Timed Out"}),s=null},r?s.send(r):s.send()};e.exports=i},function(e,t){e.exports=function(e){if(e){for(var t=Object.keys(e),r="",n="",a=1;a<=t.length;a++){var i=t[a-1],o=e[i];a>1&&(r+=",",n+="&"),r+=i+"=@p"+a,n+="@p"+a+"="+("string"==typeof o?"'"+o+"'":o)}return"("+r+")?"+n}return"()"}},function(e,t,r){var n=r(0),a=r(1);e.exports=function(e,t,r){var i=e.returnRepresentation,o=e.includeAnnotations,c=e.maxPageSize;if(e.prefer&&e.prefer.length){a.stringOrArrayParameterCheck(e.prefer,"DynamicsWebApi."+t,"request.prefer");var s=e.prefer;"string"==typeof s&&(s=s.split(","));for(var u in s){var l=s[u].trim();l===n.Prefer.ReturnRepresentation?i=!0:l.startsWith("odata.include-annotations=")?o=l.replace("odata.include-annotations=","").replace(/"/g,""):l.startsWith("odata.maxpagesize=")&&(c=l.replace("odata.maxpagesize=","").replace(/"/g,""))}}r&&(null==i&&(i=r.returnRepresentation),o=o?o:r.includeAnnotations,c=c?c:r.maxPageSize);var s=[];return i&&(a.boolParameterCheck(i,"DynamicsWebApi."+t,"request.returnRepresentation"),s.push(n.Prefer.ReturnRepresentation)),o&&(a.stringParameterCheck(o,"DynamicsWebApi."+t,"request.includeAnnotations"),s.push('odata.include-annotations="'+o+'"')),c&&c>0&&(a.numberParameterCheck(c,"DynamicsWebApi."+t,"request.maxPageSize"),s.push("odata.maxpagesize="+c)),s.join(",")}},function(e,t){e.exports=function(e){var t=/\/(\w+)\(([0-9A-F]{8}[-]?([0-9A-F]{4}[-]?){3}[0-9A-F]{12})/i.exec(e["@odata.id"]);return{id:t[2],collection:t[1],oDataContext:e["@odata.context"]}}},function(e,t){e.exports=function(e,t){e=e?e:"",t=t?t:1,e=unescape(unescape(e));var r=/pagingcookie="(<cookie page="(\d+)".+<\/cookie>)/.exec(e);if(null!=r){var n=parseInt(r[2]);return{cookie:r[1].replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/\"/g,"'").replace(/\'/g,"&quot;"),page:n,nextPage:n+1}}return{cookie:"",page:t,nextPage:t+1}}},function(e,t,r){function n(e){var t={webApiVersion:"8.0",webApiUrl:null,impersonate:null,onTokenRefresh:null,includeAnnotations:null,maxPageSize:null,returnRepresentation:null};e||(e=t);var r=function(){if("undefined"!=typeof GetGlobalContext)return GetGlobalContext();if("undefined"!=typeof Xrm)return Xrm.Page.context;throw new Error("Xrm Context is not available.")},s=function(){var e=r();if(e){var t=e.getClientUrl();return t.match(/\/$/)&&(t=t.substring(0,t.length-1)),t}return""},u=function(){return s()+"/api/data/v"+t.webApiVersion+"/"};this.setConfig=function(e){e.webApiVersion&&(o.stringParameterCheck(e.webApiVersion,"DynamicsWebApi.setConfig","config.webApiVersion"),t.webApiVersion=e.webApiVersion),e.webApiUrl?(o.stringParameterCheck(e.webApiUrl,"DynamicsWebApi.setConfig","config.webApiUrl"),t.webApiUrl=e.webApiUrl):t.webApiUrl=u(),e.impersonate&&(t.impersonate=o.guidParameterCheck(e.impersonate,"DynamicsWebApi.setConfig","config.impersonate")),e.onTokenRefresh&&(o.callbackParameterCheck(e.onTokenRefresh,"DynamicsWebApi.setConfig","config.onTokenRefresh"),t.onTokenRefresh=e.onTokenRefresh),e.includeAnnotations&&(o.stringParameterCheck(e.includeAnnotations,"DynamicsWebApi.setConfig","config.includeAnnotations"),t.includeAnnotations=e.includeAnnotations),e.maxPageSize&&(o.numberParameterCheck(e.maxPageSize,"DynamicsWebApi.setConfig","config.maxPageSize"),t.maxPageSize=e.maxPageSize),e.returnRepresentation&&(o.boolParameterCheck(e.returnRepresentation,"DynamicsWebApi.setConfig","config.returnRepresentation"),t.returnRepresentation=e.returnRepresentation)},this.setConfig(e);var l=function(e,r,n,a){return new Promise(function(i,o){c(e,r,t,n,a,i,o)})};this.create=function(e,r,n,a){o.parameterCheck(e,"DynamicsWebApi.create","object"),o.stringParameterCheck(r,"DynamicsWebApi.create","collection"),n&&o.stringOrArrayParameterCheck(n,"DynamicsWebApi.create","prefer"),a&&o.arrayParameterCheck(a,"DynamicsWebApi.create","select");var c={collection:r,select:a,prefer:n},s=i.convertRequest(c,"create",t);return l("POST",s.url,e,s.headers).then(function(e){if(e.data)return e.data;var t=e.headers["OData-EntityId"]?e.headers["OData-EntityId"]:e.headers["odata-entityid"];return/[0-9A-F]{8}[-]?([0-9A-F]{4}[-]?){3}[0-9A-F]{12}/i.exec(t)[0]})},this.retrieveRequest=function(e){o.parameterCheck(e,"DynamicsWebApi.retrieve","request");var r=i.convertRequest(e,"retrieve",t),n=e.select;return l("GET",r.url,null,r.headers).then(function(e){return null!=n&&1==n.length&&n[0].endsWith("/$ref")&&null!=e.data["@odata.id"]?a.convertToReferenceObject(e.data):e.data})},this.retrieve=function(e,t,r,n){o.stringParameterCheck(e,"DynamicsWebApi.retrieve","id"),e=o.guidParameterCheck(e,"DynamicsWebApi.retrieve","id"),o.stringParameterCheck(t,"DynamicsWebApi.retrieve","collection"),r&&r.length&&o.arrayParameterCheck(r,"DynamicsWebApi.retrieve","select"),n&&n.length&&o.stringOrArrayParameterCheck(n,"DynamicsWebApi.retrieve","expand");var a={collection:t,id:e,select:r,expand:n};return this.retrieveRequest(a)},this.updateRequest=function(e){o.parameterCheck(e,"DynamicsWebApi.update","request"),o.parameterCheck(e.entity,"DynamicsWebApi.update","request.entity"),null==e.ifmatch&&(e.ifmatch="*");var r=i.convertRequest(e,"update",t),n=e.ifmatch;return l("PATCH",r.url,e.entity,r.headers).then(function(e){return!e.data||e.data}).catch(function(e){if(n&&412==e.status)return!1;throw e})},this.update=function(e,t,r,n,a){o.stringParameterCheck(e,"DynamicsWebApi.update","id"),e=o.guidParameterCheck(e,"DynamicsWebApi.update","id"),o.parameterCheck(r,"DynamicsWebApi.update","object"),o.stringParameterCheck(t,"DynamicsWebApi.update","collection"),n&&o.stringOrArrayParameterCheck(n,"DynamicsWebApi.update","prefer"),a&&o.arrayParameterCheck(a,"DynamicsWebApi.update","select");var i={collection:t,id:e,select:a,prefer:n,entity:r};return this.updateRequest(i)},this.updateSingleProperty=function(e,r,n,a,c){o.stringParameterCheck(e,"DynamicsWebApi.updateSingleProperty","id"),e=o.guidParameterCheck(e,"DynamicsWebApi.updateSingleProperty","id"),o.parameterCheck(n,"DynamicsWebApi.updateSingleProperty","keyValuePair"),o.stringParameterCheck(r,"DynamicsWebApi.updateSingleProperty","collection");var s=Object.keys(n)[0],u=n[s];a&&o.stringOrArrayParameterCheck(a,"DynamicsWebApi.updateSingleProperty","prefer"),c&&o.arrayParameterCheck(c,"DynamicsWebApi.updateSingleProperty","select");var p={collection:r,id:e,select:c,prefer:a,navigationProperty:s},h=i.convertRequest(p,"updateSingleProperty",t);return l("PUT",h.url,{value:u},h.headers).then(function(e){if(e.data)return e.data})},this.deleteRequest=function(e){o.parameterCheck(e,"DynamicsWebApi.delete","request");var r=i.convertRequest(e,"deleteRequest",t),n=e.ifmatch;return l("DELETE",r.url,null,r.headers).then(function(){return!0}).catch(function(e){if(n&&412==e.status)return!1;throw e})},this.deleteRecord=function(e,t,r){o.stringParameterCheck(e,"DynamicsWebApi.deleteRecord","id"),e=o.guidParameterCheck(e,"DynamicsWebApi.deleteRecord","id"),o.stringParameterCheck(t,"DynamicsWebApi.deleteRecord","collection"),null!=r&&o.stringParameterCheck(r,"DynamicsWebApi.deleteRecord","propertyName");var n=t.toLowerCase()+"("+e+")";return null!=r&&(n+="/"+r),l("DELETE",n).then(function(){})},this.upsertRequest=function(e){o.parameterCheck(e,"DynamicsWebApi.upsert","request"),o.parameterCheck(e.entity,"DynamicsWebApi.upsert","request.entity");var r=i.convertRequest(e,"upsert",t),n=e.ifnonematch,a=e.ifmatch;return l("PATCH",r.url,e.entity,r.headers).then(function(e){if(e.headers["OData-EntityId"]||e.headers["odata-entityid"]){var t=e.headers["OData-EntityId"]?e.headers["OData-EntityId"]:e.headers["odata-entityid"];return/[0-9A-F]{8}[-]?([0-9A-F]{4}[-]?){3}[0-9A-F]{12}/i.exec(t)[0]}if(e.data)return e.data}).catch(function(e){if(!(n&&412==e.status||a&&404==e.status))throw e})},this.upsert=function(e,t,r,n,a){o.stringParameterCheck(e,"DynamicsWebApi.upsert","id"),e=o.guidParameterCheck(e,"DynamicsWebApi.upsert","id"),o.parameterCheck(r,"DynamicsWebApi.upsert","object"),o.stringParameterCheck(t,"DynamicsWebApi.upsert","collection"),n&&o.stringOrArrayParameterCheck(n,"DynamicsWebApi.upsert","prefer"),a&&o.arrayParameterCheck(a,"DynamicsWebApi.upsert","select");var i={collection:t,id:e,select:a,prefer:n,entity:r};return this.upsertRequest(i)};var p=function(e,r){r&&!e.collection&&(e.collection="any");var n=i.convertRequest(e,"retrieveMultiple",t);r&&(o.stringParameterCheck(r,"DynamicsWebApi.retrieveMultiple","nextPageLink"),n.url=r.replace(t.webApiUrl,""));var a=e.count;return l("GET",n.url,null,n.headers).then(function(e){return null!=e.data["@odata.nextLink"]&&(e.data.oDataNextLink=e.data["@odata.nextLink"]),a&&(e.data.oDataCount=null!=e.data["@odata.count"]?parseInt(e.data["@odata.count"]):0),null!=e.data["@odata.context"]&&(e.data.oDataContext=e.data["@odata.context"]),e.data})};this.retrieveMultipleRequest=p;var h=function(e,t,r){var r=r||[];return p(e,t).then(function(t){return r=r.concat(t.value),t.oDataNextLink?h(e,t.oDataNextLink,r):{value:r}})};this.retrieveAllRequest=function(e){return h(e)},this.count=function(e,t){return null==t||null!=t&&!t.length?(o.stringParameterCheck(e,"DynamicsWebApi.count","collection"),l("GET",e.toLowerCase()+"/$count").then(function(e){return e.data?parseInt(e.data):0})):this.retrieveMultipleRequest({collection:e,filter:t,count:!0},null).then(function(e){return e.oDataCount?e.oDataCount:0})},this.countAll=function(e,t,r){return h({collection:e,filter:t,select:r}).then(function(e){return e&&e.value?e.value.length:0})},this.retrieveMultiple=function(e,t,r,n){return this.retrieveMultipleRequest({collection:e,select:t,filter:r},n)},this.retrieveAll=function(e,t,r){return h({collection:e,select:t,filter:r})};var m=function(e,r,n,c,s,u){o.stringParameterCheck(e,"DynamicsWebApi.executeFetchXml","type"),o.stringParameterCheck(r,"DynamicsWebApi.executeFetchXml","fetchXml"),c=c||1,o.numberParameterCheck(c,"DynamicsWebApi.executeFetchXml","pageNumber");var p='$1 page="'+c+'"';null!=s&&(o.stringParameterCheck(s,"DynamicsWebApi.executeFetchXml","pagingCookie"),p+=' paging-cookie="'+s+'"'),r=r.replace(/^(<fetch[\w\d\s'"=]+)/,p),n&&o.stringParameterCheck(n,"DynamicsWebApi.executeFetchXml","includeAnnotations"),u&&(u=o.guidParameterCheck(u,"DynamicsWebApi.executeFetchXml","impersonateUserId"));var h={collection:e,includeAnnotations:n,impersonate:u},m=i.convertRequest(h,"executeFetchXml",t),d=encodeURIComponent(r);return l("GET",m.url+"?fetchXml="+d,null,m.headers).then(function(e){return null!=e.data["@Microsoft.Dynamics.CRM.fetchxmlpagingcookie"]&&(e.data.PagingInfo=a.getFetchXmlPagingCookie(e.data["@Microsoft.Dynamics.CRM.fetchxmlpagingcookie"],c)),null!=e.data["@odata.context"]&&(e.data.oDataContext=e.data["@odata.context"]),e.data})};this.fetch=this.executeFetchXml=m;var d=function(e,t,r,n,a,i,o){var o=o||[];return m(e,t,r,n,a,i,o).then(function(n){return o=o.concat(n.value),n.PagingInfo?d(e,t,r,n.PagingInfo.nextPage,n.PagingInfo.cookie,i,o):{value:o}})};this.fetchAll=this.executeFetchXmlAll=function(e,t,r,n){return d(e,t,r,null,null,n)},this.associate=function(e,r,n,a,i,c){o.stringParameterCheck(e,"DynamicsWebApi.associate","primarycollection"),o.stringParameterCheck(a,"DynamicsWebApi.associate","relatedcollection"),o.stringParameterCheck(n,"DynamicsWebApi.associate","relationshipName"),r=o.guidParameterCheck(r,"DynamicsWebApi.associate","primaryId"),i=o.guidParameterCheck(i,"DynamicsWebApi.associate","relatedId");var s={};return null!=c&&(c=o.guidParameterCheck(c,"DynamicsWebApi.associate","impersonateUserId"),s.MSCRMCallerID=c),l("POST",e+"("+r+")/"+n+"/$ref",{"@odata.id":t.webApiUrl+a+"("+i+")"},s).then(function(){})},this.disassociate=function(e,t,r,n,a){o.stringParameterCheck(e,"DynamicsWebApi.disassociate","primarycollection"),o.stringParameterCheck(r,"DynamicsWebApi.disassociate","relationshipName"),t=o.guidParameterCheck(t,"DynamicsWebApi.disassociate","primaryId"),n=o.guidParameterCheck(n,"DynamicsWebApi.disassociate","relatedId");var i={};return null!=a&&(a=o.guidParameterCheck(a,"DynamicsWebApi.associate","impersonateUserId"),i.MSCRMCallerID=a),l("DELETE",e+"("+t+")/"+r+"("+n+")/$ref",null,i).then(function(){})},this.associateSingleValued=function(e,r,n,a,i,c){o.stringParameterCheck(e,"DynamicsWebApi.associateSingleValued","collection"),r=o.guidParameterCheck(r,"DynamicsWebApi.associateSingleValued","id"),i=o.guidParameterCheck(i,"DynamicsWebApi.associateSingleValued","relatedId"),o.stringParameterCheck(n,"DynamicsWebApi.associateSingleValued","singleValuedNavigationPropertyName"),o.stringParameterCheck(a,"DynamicsWebApi.associateSingleValued","relatedcollection");var s={};return null!=c&&(c=o.guidParameterCheck(c,"DynamicsWebApi.associate","impersonateUserId"),s.MSCRMCallerID=c),l("PUT",e+"("+r+")/"+n+"/$ref",{"@odata.id":t.webApiUrl+a+"("+i+")"},s).then(function(){})},this.disassociateSingleValued=function(e,t,r,n){o.stringParameterCheck(e,"DynamicsWebApi.disassociateSingleValued","collection"),t=o.guidParameterCheck(t,"DynamicsWebApi.disassociateSingleValued","id"),o.stringParameterCheck(r,"DynamicsWebApi.disassociateSingleValued","singleValuedNavigationPropertyName");var a={};return null!=n&&(n=o.guidParameterCheck(n,"DynamicsWebApi.associate","impersonateUserId"),a.MSCRMCallerID=n),l("DELETE",e+"("+t+")/"+r+"/$ref",null,a).then(function(){})},this.executeUnboundFunction=function(e,t,r){return f(e,t,null,null,r)},this.executeBoundFunction=function(e,t,r,n,a){return f(r,n,t,e,a)};var f=function(e,t,r,n,i){o.stringParameterCheck(e,"DynamicsWebApi.executeFunction","functionName");var c=e+a.buildFunctionParameters(t);null!=r&&(o.stringParameterCheck(r,"DynamicsWebApi.executeFunction","collection"),n=o.guidParameterCheck(n,"DynamicsWebApi.executeFunction","id"),c=r+"("+n+")/"+c);var s={};return i&&(s.MSCRMCallerID=o.guidParameterCheck(i,"DynamicsWebApi.executeFunction","impersonateUserId")),l("GET",c,null,s).then(function(e){if(e.data)return e.data})};this.executeUnboundAction=function(e,t,r){return g(e,t,null,null,r)},this.executeBoundAction=function(e,t,r,n,a){return g(r,n,t,e,a)};var g=function(e,t,r,n,a){o.stringParameterCheck(e,"DynamicsWebApi.executeAction","actionName");var i=e;null!=r&&(o.stringParameterCheck(r,"DynamicsWebApi.executeAction","collection"),n=o.guidParameterCheck(n,"DynamicsWebApi.executeAction","id"),i=r+"("+n+")/"+i);var c={};return null!=a&&(a=o.guidParameterCheck(a,"DynamicsWebApi.executeAction","impersonateUserId"),c.MSCRMCallerID=a),l("POST",i,t,c).then(function(e){if(e.data)return e.data})};this.initializeInstance=function(e){return e||(e=t),new n(e)}}var a=(r(0),r(5)),i=r(4),o=r(1),c=r(3);String.prototype.endsWith&&String.prototype.startsWith||r(2),e.exports=n}])});
var http = require('http');
var https = require('https');
var url = require('url');
var dateReviver = require('./helpers/dateReviver');
var parseResponseHeaders = require('./helpers/parseResponseHeaders');
var parseResponse = require('./helpers/parseResponse');

@@ -18,18 +17,18 @@ /**

var httpRequest = function (method, uri, data, additionalHeaders, successCallback, errorCallback) {
var headers = {
"Accept": "application/json",
"OData-MaxVersion": "4.0",
"OData-Version": "4.0"
};
var headers = {};
// "Accept": "application/json",
// "OData-MaxVersion": "4.0",
// "OData-Version": "4.0"
//};
if (data) {
headers["Content-Type"] = "application/json";
headers["Content-Type"] = additionalHeaders['Content-Type'];
headers["Content-Length"] = data.length;
delete additionalHeaders['Content-Type'];
}
//set additional headers
if (additionalHeaders != null) {
for (var key in additionalHeaders) {
headers[key] = additionalHeaders[key];
}
for (var key in additionalHeaders) {
headers[key] = additionalHeaders[key];
}

@@ -64,6 +63,3 @@

case 304: {// Success with Not Modified
var responseData = null;
if (rawData.length) {
responseData = JSON.parse(rawData, dateReviver);
}
var responseData = parseResponse(rawData);

@@ -70,0 +66,0 @@ var response = {

var DWA = require('../dwa');
//var RequestConverter = require('../utilities/RequestConverter');
//https://stackoverflow.com/a/8809472
function generateUUID() { // Public Domain/MIT
var d = new Date().getTime();
if (typeof performance !== 'undefined' && typeof performance.now === 'function') {
d += performance.now(); //use high-precision timer if available
}
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
var r = (d + Math.random() * 16) % 16 | 0;
d = Math.floor(d / 16);
return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16);
});
}
function setStandardHeaders(additionalHeaders) {
additionalHeaders["Accept"] = "application/json";
additionalHeaders["OData-MaxVersion"] = "4.0";
additionalHeaders["OData-Version"] = "4.0";
additionalHeaders['Content-Type'] = 'application/json; charset=utf-8';
return additionalHeaders;
}
/**

@@ -16,9 +39,9 @@ * Sends a request to given URL with given parameters

module.exports = function sendRequest(method, uri, config, data, additionalHeaders, successCallback, errorCallback) {
if (config.impersonate && (!additionalHeaders || (additionalHeaders && !additionalHeaders["MSCRMCallerID"]))) {
if (!additionalHeaders) {
additionalHeaders = {};
}
additionalHeaders['MSCRMCallerID'] = config.impersonate;
if (!additionalHeaders) {
additionalHeaders = {};
}
additionalHeaders = setStandardHeaders(additionalHeaders);
var stringifiedData;

@@ -31,3 +54,3 @@ if (data) {

//remove brackets in guid
if (/\(\{[\w\d-]+\}\)/g.test(value)){
if (/\(\{[\w\d-]+\}\)/g.test(value)) {
value = value.replace(/(.+)\(\{([\w\d-]+)\}\)/g, '$1($2)');

@@ -46,2 +69,31 @@ }

//if the URL contains more characters than max possible limit, convert the request to a batch request
if (uri.length > 2083) {
var batchBoundary = 'dwa_batch_' + generateUUID();
var batchBody = [];
batchBody.push('--' + batchBoundary);
batchBody.push('Content-Type: application/http');
batchBody.push('Content-Transfer-Encoding: binary\n');
batchBody.push(method + ' ' + config.webApiUrl + uri + ' HTTP/1.1');
for (var key in additionalHeaders) {
batchBody.push(key + ': ' + additionalHeaders[key]);
delete additionalHeaders[key];
}
batchBody.push('\n--' + batchBoundary + '--');
stringifiedData = batchBody.join('\n');
additionalHeaders = setStandardHeaders(additionalHeaders);
additionalHeaders['Content-Type'] = 'multipart/mixed;boundary=' + batchBoundary;
uri = '$batch';
method = 'POST';
}
if (config.impersonate && !additionalHeaders['MSCRMCallerID']) {
additionalHeaders['MSCRMCallerID'] = config.impersonate;
}
var executeRequest;

@@ -62,3 +114,3 @@ if (typeof XMLHttpRequest !== 'undefined') {

}
additionalHeaders['Authorization'] = "Bearer " + token.accessToken;
additionalHeaders['Authorization'] = 'Bearer ' + token.accessToken;
}

@@ -70,3 +122,3 @@

//call a token refresh callback only if it is set and there is no "Authorization" header set yet
if (config.onTokenRefresh && (!additionalHeaders || (additionalHeaders && !additionalHeaders["Authorization"]))) {
if (config.onTokenRefresh && (!additionalHeaders || (additionalHeaders && !additionalHeaders['Authorization']))) {
config.onTokenRefresh(sendInternalRequest);

@@ -73,0 +125,0 @@ }

@@ -1,3 +0,2 @@


var dateReviver = require('./helpers/dateReviver');
var parseResponse = require('./helpers/parseResponse');
var parseResponseHeaders = require('./helpers/parseResponseHeaders');

@@ -18,12 +17,10 @@

request.open(method, uri, true);
request.setRequestHeader("OData-MaxVersion", "4.0");
request.setRequestHeader("OData-Version", "4.0");
request.setRequestHeader("Accept", "application/json");
request.setRequestHeader("Content-Type", "application/json; charset=utf-8");
//request.setRequestHeader("OData-MaxVersion", "4.0");
//request.setRequestHeader("OData-Version", "4.0");
//request.setRequestHeader("Accept", "application/json");
//request.setRequestHeader("Content-Type", "application/json; charset=utf-8");
//set additional headers
if (additionalHeaders != null) {
for (var key in additionalHeaders) {
request.setRequestHeader(key, additionalHeaders[key]);
}
for (var key in additionalHeaders) {
request.setRequestHeader(key, additionalHeaders[key]);
}

@@ -38,6 +35,3 @@

case 304: {// Success with Not Modified
var responseData = null;
if (request.responseText) {
responseData = JSON.parse(request.responseText, dateReviver);
}
var responseData = parseResponse(request.responseText);

@@ -44,0 +38,0 @@ var response = {

{
"name": "dynamics-web-api",
"version": "1.2.7",
"version": "1.2.8",
"description": "DynamicsWebApi is a Microsoft Dynamics CRM Web API helper library",

@@ -5,0 +5,0 @@ "keywords": [

@@ -89,3 +89,3 @@ # DynamicsWebApi for Microsoft Dynamics CRM Web API

//OAuth Token Endpoint
var authorityUrl = 'https://login.windows.net/00000000-0000-0000-0000-000000000011/oauth2/token';
var authorityUrl = 'https://login.microsoftonline.com/00000000-0000-0000-0000-000000000011/oauth2/token';
//CRM Organization URL

@@ -92,0 +92,0 @@ var resource = 'https://myorg.crm.dynamics.com';

var chai = require('chai');
var expect = chai.expect;
var nock = require('nock');
var sinon = require('sinon');
var DWA = require('../lib/dwa');

@@ -10,17 +13,18 @@ var Utility = require('../lib/utilities/Utility');

var dateReviver = require('../lib/requests/helpers/dateReviver');
var sendRequest = require('../lib/requests/sendRequest');
describe("Utility.buildFunctionParameters - ", function() {
it("no parameters", function() {
describe("Utility.buildFunctionParameters - ", function () {
it("no parameters", function () {
var result = Utility.buildFunctionParameters();
expect(result).to.equal("()");
});
it("1 parameter", function() {
it("1 parameter", function () {
var result = Utility.buildFunctionParameters({ param1: "value1" });
expect(result).to.equal("(param1=@p1)?@p1='value1'");
});
it("2 parameters", function() {
it("2 parameters", function () {
var result = Utility.buildFunctionParameters({ param1: "value1", param2: 2 });
expect(result).to.equal("(param1=@p1,param2=@p2)?@p1='value1'&@p2=2");
});
it("3 parameters", function() {
it("3 parameters", function () {
var result = Utility.buildFunctionParameters({ param1: "value1", param2: 2, param3: "value2" });

@@ -31,4 +35,4 @@ expect(result).to.equal("(param1=@p1,param2=@p2,param3=@p3)?@p1='value1'&@p2=2&@p3='value2'");

describe("Utility.getFetchXmlPagingCookie -", function() {
it("paginCookie is empty", function() {
describe("Utility.getFetchXmlPagingCookie -", function () {
it("paginCookie is empty", function () {
var result = Utility.getFetchXmlPagingCookie("", 2);

@@ -42,3 +46,3 @@ expect(result).to.deep.equal({

it("paginCookie is null or undefined", function() {
it("paginCookie is null or undefined", function () {
var result = Utility.getFetchXmlPagingCookie(null, 2);

@@ -59,3 +63,3 @@ expect(result).to.deep.equal({

it("pagingCookie is normal", function() {
it("pagingCookie is normal", function () {
var result = Utility.getFetchXmlPagingCookie(mocks.data.fetchXmls.cookiePage2, 2);

@@ -73,5 +77,5 @@ expect(result).to.deep.equal(mocks.data.fetchXmls.fetchXmlResultPage2Cookie.PagingInfo);

describe("RequestConverter.convertRequestOptions -", function() {
describe("RequestConverter.convertRequestOptions -", function () {
var stubUrl = mocks.webApiUrl + "tests";
it("request is empty", function() {
it("request is empty", function () {
var dwaRequest;

@@ -90,3 +94,3 @@

it("count=true", function() {
it("count=true", function () {
var dwaRequest = {

@@ -100,3 +104,3 @@ count: true

it("count=false", function() {
it("count=false", function () {
var dwaRequest = {

@@ -110,3 +114,3 @@ count: false

it("expand is empty", function() {
it("expand is empty", function () {
var dwaRequest = {

@@ -134,3 +138,3 @@ expand: undefined

it("expand - filter without expand.property", function() {
it("expand - filter without expand.property", function () {
var dwaRequest = {

@@ -156,3 +160,3 @@ expand: [{

it("expand - property", function() {
it("expand - property", function () {
var dwaRequest = {

@@ -168,3 +172,3 @@ expand: [{

it("expand - property,filter empty", function() {
it("expand - property,filter empty", function () {
var dwaRequest = {

@@ -191,3 +195,3 @@ expand: [{

it("expand - property,filter", function() {
it("expand - property,filter", function () {
var dwaRequest = {

@@ -204,3 +208,3 @@ expand: [{

it("expand - property,orderBy empty", function() {
it("expand - property,orderBy empty", function () {
var dwaRequest = {

@@ -227,3 +231,3 @@ expand: [{

it("expand - property,orderBy", function() {
it("expand - property,orderBy", function () {
var dwaRequest = {

@@ -250,3 +254,3 @@ expand: [{

it("expand - property,select empty", function() {
it("expand - property,select empty", function () {
var dwaRequest = {

@@ -273,3 +277,3 @@ expand: [{

it("expand - property,select", function() {
it("expand - property,select", function () {
var dwaRequest = {

@@ -296,3 +300,3 @@ expand: [{

it("expand - property,top empty or <=0", function() {
it("expand - property,top empty or <=0", function () {
var dwaRequest = {

@@ -329,3 +333,3 @@ expand: [{

it("expand - property,top", function() {
it("expand - property,top", function () {
var dwaRequest = {

@@ -342,3 +346,3 @@ expand: [{

it("expand - different properties", function() {
it("expand - different properties", function () {
var dwaRequest = {

@@ -368,3 +372,3 @@ expand: [{

it("filter empty", function() {
it("filter empty", function () {
var dwaRequest = {

@@ -385,3 +389,3 @@ filter: ""

it("filter", function() {
it("filter", function () {
var dwaRequest = {

@@ -395,3 +399,3 @@ filter: "name eq 'name'"

it("ifmatch empty", function() {
it("ifmatch empty", function () {
var dwaRequest = {

@@ -412,3 +416,3 @@ ifmatch: ""

it("ifmatch", function() {
it("ifmatch", function () {
var dwaRequest = {

@@ -422,3 +426,3 @@ ifmatch: "*"

it("ifnonematch empty", function() {
it("ifnonematch empty", function () {
var dwaRequest = {

@@ -439,3 +443,3 @@ ifnonematch: ""

it("ifnonematch", function() {
it("ifnonematch", function () {
var dwaRequest = {

@@ -449,3 +453,3 @@ ifnonematch: "*"

it("ifmatch & ifnonematch both specified - throws an error", function() {
it("ifmatch & ifnonematch both specified - throws an error", function () {
var dwaRequest = {

@@ -456,3 +460,3 @@ ifmatch: "*",

var result = expect(function() {
var result = expect(function () {
RequestConverter.convertRequestOptions(dwaRequest, "fun", stubUrl);

@@ -462,3 +466,3 @@ }).to.throw("DynamicsWebApi.fun. Either one of request.ifmatch or request.ifnonematch parameters should be used in a call, not both.");

it("impersonate empty", function() {
it("impersonate empty", function () {
var dwaRequest = {

@@ -479,3 +483,3 @@ impersonate: ""

it("impersonate", function() {
it("impersonate", function () {
var dwaRequest = {

@@ -489,3 +493,3 @@ impersonate: mocks.data.testEntityId

it("includeAnnotations empty", function() {
it("includeAnnotations empty", function () {
var dwaRequest = {

@@ -506,3 +510,3 @@ includeAnnotations: ""

it("includeAnnotations", function() {
it("includeAnnotations", function () {
var dwaRequest = {

@@ -516,3 +520,3 @@ includeAnnotations: DWA.Prefer.Annotations.AssociatedNavigationProperty

it("maxPageSize empty or <=0", function() {
it("maxPageSize empty or <=0", function () {
var dwaRequest = {

@@ -540,3 +544,3 @@ maxPageSize: 0

it("maxPageSize", function() {
it("maxPageSize", function () {
var dwaRequest = {

@@ -550,3 +554,3 @@ maxPageSize: 10

it("navigationProperty empty", function() {
it("navigationProperty empty", function () {
var dwaRequest = {

@@ -567,3 +571,3 @@ navigationProperty: ""

it("navigationProperty", function() {
it("navigationProperty", function () {
var dwaRequest = {

@@ -577,3 +581,3 @@ navigationProperty: "nav"

it("orderBy empty", function() {
it("orderBy empty", function () {
var dwaRequest = {

@@ -594,3 +598,3 @@ orderBy: []

it("orderBy", function() {
it("orderBy", function () {
var dwaRequest = {

@@ -613,3 +617,3 @@ orderBy: ["name"]

it("returnRepresentation empty", function() {
it("returnRepresentation empty", function () {
var dwaRequest = {

@@ -623,3 +627,3 @@ returnRepresentation: false

it("returnRepresentation null", function() {
it("returnRepresentation null", function () {
var dwaRequest = {

@@ -633,3 +637,3 @@ returnRepresentation: null

it("returnRepresentation", function() {
it("returnRepresentation", function () {
var dwaRequest = {

@@ -643,3 +647,3 @@ returnRepresentation: true

it("select empty", function() {
it("select empty", function () {
var dwaRequest = {

@@ -660,3 +664,3 @@ select: []

it("select", function() {
it("select", function () {
var dwaRequest = {

@@ -677,3 +681,3 @@ select: ["name"]

it("select navigation property", function() {
it("select navigation property", function () {
var dwaRequest = {

@@ -701,3 +705,3 @@ select: ["/nav"]

it("select reference", function() {
it("select reference", function () {
var dwaRequest = {

@@ -711,3 +715,3 @@ select: ["nav/$ref"]

it("top empty or <=0", function() {
it("top empty or <=0", function () {
var dwaRequest = {

@@ -735,3 +739,3 @@ top: 0

it("top", function() {
it("top", function () {
var dwaRequest = {

@@ -745,3 +749,3 @@ top: 3

it("savedQuery empty", function() {
it("savedQuery empty", function () {
var dwaRequest = {

@@ -762,3 +766,3 @@ savedQuery: ""

it("savedQuery", function() {
it("savedQuery", function () {
var dwaRequest = {

@@ -772,3 +776,3 @@ savedQuery: mocks.data.testEntityId

it("userQuery empty", function() {
it("userQuery empty", function () {
var dwaRequest = {

@@ -789,3 +793,3 @@ userQuery: ""

it("userQuery", function() {
it("userQuery", function () {
var dwaRequest = {

@@ -799,3 +803,3 @@ userQuery: mocks.data.testEntityId

it("multiple options", function() {
it("multiple options", function () {
var dwaRequest = {

@@ -1068,5 +1072,5 @@ select: ["name", "subject"],

describe("RequestConverter.convertRequest -", function() {
describe("RequestConverter.convertRequest -", function () {
//{ url: result.url, headers: result.headers }
it("collection", function() {
it("collection", function () {
var dwaRequest = {

@@ -1080,3 +1084,3 @@ collection: "cols"

it("collection empty - throw error", function() {
it("collection empty - throw error", function () {
var dwaRequest = {

@@ -1086,3 +1090,3 @@ collection: ""

var test = function() {
var test = function () {
RequestConverter.convertRequest(dwaRequest);

@@ -1100,3 +1104,3 @@ }

it("collection, id empty", function() {
it("collection, id empty", function () {
var dwaRequest = {

@@ -1116,3 +1120,3 @@ collection: "cols",

it("collection, id - wrong format throw error", function() {
it("collection, id - wrong format throw error", function () {
var dwaRequest = {

@@ -1123,3 +1127,3 @@ collection: "cols",

var test = function() {
var test = function () {
RequestConverter.convertRequest(dwaRequest);

@@ -1131,3 +1135,3 @@ }

it("collection, id", function() {
it("collection, id", function () {
var dwaRequest = {

@@ -1142,3 +1146,3 @@ collection: "cols",

it("collection, id in brackets {} converted to id without brackets", function() {
it("collection, id in brackets {} converted to id without brackets", function () {
var dwaRequest = {

@@ -1153,3 +1157,3 @@ collection: "cols",

it("full", function() {
it("full", function () {
var dwaRequest = {

@@ -1172,4 +1176,4 @@ collection: "cols",

describe("ErrorHelper.handleErrorResponse", function() {
it("returns a correct error object", function() {
describe("ErrorHelper.handleErrorResponse", function () {
it("returns a correct error object", function () {
var errorResponse = {

@@ -1180,3 +1184,3 @@ status: 500,

expect(function() {
expect(function () {
ErrorHelper.handleErrorResponse(errorResponse);

@@ -1187,14 +1191,14 @@ }).to.throw("Error: 500: Invalid");

describe("ErrorHelper.parameterCheck", function() {
it("does not return anything", function() {
describe("ErrorHelper.parameterCheck", function () {
it("does not return anything", function () {
var result = ErrorHelper.parameterCheck(2, "fun", "param", "type");
expect(result).to.be.undefined;
});
it("when parameter is null it throws an error", function() {
expect(function() {
it("when parameter is null it throws an error", function () {
expect(function () {
ErrorHelper.parameterCheck(null, "fun", "param", "type");
}).to.throw("fun requires the param parameter to be of type type");
});
it("throws Error with message without type", function() {
expect(function() {
it("throws Error with message without type", function () {
expect(function () {
ErrorHelper.parameterCheck(null, "fun", "param");

@@ -1205,9 +1209,9 @@ }).to.throw("fun requires the param parameter");

describe("ErrorHelper.stringParameterCheck", function() {
it("does not return anything", function() {
describe("ErrorHelper.stringParameterCheck", function () {
it("does not return anything", function () {
var result = ErrorHelper.stringParameterCheck("2", "fun", "param");
expect(result).to.be.undefined;
});
it("when parameter is wrong it throws an error", function() {
expect(function() {
it("when parameter is wrong it throws an error", function () {
expect(function () {
ErrorHelper.stringParameterCheck(4, "fun", "param");

@@ -1218,9 +1222,9 @@ }).to.throw("fun requires the param parameter to be of type String");

describe("ErrorHelper.arrayParameterCheck", function() {
it("does not return anything", function() {
describe("ErrorHelper.arrayParameterCheck", function () {
it("does not return anything", function () {
var result = ErrorHelper.arrayParameterCheck([], "fun", "param");
expect(result).to.be.undefined;
});
it("when parameter is wrong it throws an error", function() {
expect(function() {
it("when parameter is wrong it throws an error", function () {
expect(function () {
ErrorHelper.arrayParameterCheck({}, "fun", "param");

@@ -1231,4 +1235,4 @@ }).to.throw("fun requires the param parameter to be of type Array");

describe("ErrorHelper.stringOrArrayParameterCheck", function() {
it("does not return anything", function() {
describe("ErrorHelper.stringOrArrayParameterCheck", function () {
it("does not return anything", function () {
var result = ErrorHelper.stringOrArrayParameterCheck([], "fun", "param");

@@ -1240,4 +1244,4 @@ expect(result).to.be.undefined;

});
it("when parameter is wrong it throws an error", function() {
expect(function() {
it("when parameter is wrong it throws an error", function () {
expect(function () {
ErrorHelper.stringOrArrayParameterCheck({}, "fun", "param");

@@ -1248,13 +1252,13 @@ }).to.throw("fun requires the param parameter to be of type String or Array");

describe("ErrorHelper.numberParameterCheck", function() {
it("does not return anything", function() {
describe("ErrorHelper.numberParameterCheck", function () {
it("does not return anything", function () {
var result = ErrorHelper.numberParameterCheck(54, "fun", "param");
expect(result).to.be.undefined;
});
it("when parameter is a string-number then the function does not return anything", function() {
it("when parameter is a string-number then the function does not return anything", function () {
var result = ErrorHelper.numberParameterCheck("54", "fun", "param");
expect(result).to.be.undefined;
});
it("when parameter is wrong it throws an error", function() {
expect(function() {
it("when parameter is wrong it throws an error", function () {
expect(function () {
ErrorHelper.numberParameterCheck("a word", "fun", "param");

@@ -1265,9 +1269,9 @@ }).to.throw("fun requires the param parameter to be of type Number");

describe("ErrorHelper.boolParameterCheck", function() {
it("does not return anything", function() {
describe("ErrorHelper.boolParameterCheck", function () {
it("does not return anything", function () {
var result = ErrorHelper.boolParameterCheck(false, "fun", "param");
expect(result).to.be.undefined;
});
it("when parameter is wrong it throws an error", function() {
expect(function() {
it("when parameter is wrong it throws an error", function () {
expect(function () {
ErrorHelper.boolParameterCheck("a word", "fun", "param");

@@ -1278,9 +1282,9 @@ }).to.throw("fun requires the param parameter to be of type Boolean");

describe("ErrorHelper.callbackParameterCheck", function() {
it("does not return anything", function() {
var result = ErrorHelper.callbackParameterCheck(function() { }, "fun", "param");
describe("ErrorHelper.callbackParameterCheck", function () {
it("does not return anything", function () {
var result = ErrorHelper.callbackParameterCheck(function () { }, "fun", "param");
expect(result).to.be.undefined;
});
it("when parameter is wrong it throws an error", function() {
expect(function() {
it("when parameter is wrong it throws an error", function () {
expect(function () {
ErrorHelper.callbackParameterCheck("a word", "fun", "param");

@@ -1291,4 +1295,4 @@ }).to.throw("fun requires the param parameter to be of type Function");

describe("ErrorHelper.guidParameterCheck", function() {
it("parses guid in brackets and removes them", function() {
describe("ErrorHelper.guidParameterCheck", function () {
it("parses guid in brackets and removes them", function () {
var guid = "{00000000-0000-0000-0000-000000000001}";

@@ -1299,4 +1303,4 @@ var result = ErrorHelper.guidParameterCheck(guid);

it("throws an error", function() {
expect(function() {
it("throws an error", function () {
expect(function () {
ErrorHelper.guidParameterCheck("ds", "fun", "param");

@@ -1307,4 +1311,4 @@ }).to.throw("fun requires the param parameter to be of type GUID String");

describe("dateReviver", function() {
it("returns date when a string matches exact 'YYYY-MM-DDTHH:MM:SSZ' teamplate", function() {
describe("dateReviver", function () {
it("returns date when a string matches exact 'YYYY-MM-DDTHH:MM:SSZ' teamplate", function () {
var result = dateReviver('any', '2016-12-22T23:22:12Z');

@@ -1314,3 +1318,3 @@ expect(result).to.deep.equal(new Date('2016-12-22T23:22:12Z'));

it("returns the same value when a string does not match exact 'YYYY-MM-DDTHH:MM:SSZ' teamplate", function() {
it("returns the same value when a string does not match exact 'YYYY-MM-DDTHH:MM:SSZ' teamplate", function () {
var result = dateReviver('any', 'other');

@@ -1320,3 +1324,3 @@ expect(result).to.equal('other');

it("returns the same value when its type is not String", function() {
it("returns the same value when its type is not String", function () {
var result = dateReviver('any', 54);

@@ -1327,12 +1331,12 @@ expect(result).to.equal(54);

describe("DWA.Types", function() {
it("ResponseBase", function() {
describe("DWA.Types", function () {
it("ResponseBase", function () {
expect(new DWA.Types.ResponseBase().oDataContext).to.eq("");
});
it("Response", function() {
it("Response", function () {
expect(new DWA.Types.Response().value).to.deep.equal({});
});
it("ReferenceResponse", function() {
it("ReferenceResponse", function () {
expect(new DWA.Types.ReferenceResponse()).to.deep

@@ -1342,3 +1346,3 @@ .equal({ oDataContext: "", id: "", collection: "" });

it("MultipleResponse", function() {
it("MultipleResponse", function () {
expect(new DWA.Types.MultipleResponse()).to.deep

@@ -1348,3 +1352,3 @@ .equal({ oDataContext: "", oDataNextLink: "", oDataCount: 0, value: [] });

it("FetchXmlResponse", function() {
it("FetchXmlResponse", function () {
expect(new DWA.Types.FetchXmlResponse()).to.deep

@@ -1357,2 +1361,61 @@ .equal({

});
});
describe("sendRequest", function () {
describe("when url is long, request is converted to batch", function () {
var scope;
var url = 'test';
while (url.length < 2085) {
url += 'test';
};
var rBody = mocks.data.batch.replace('{0}', mocks.webApiUrl + url);
var rBodys = rBody.split('\n');
var checkBody = '';
for (var i = 0; i < rBodys.length; i++) {
checkBody += rBodys[i];
}
console.error(rBody + '!');
before(function () {
var response = mocks.responses.batch;
scope = nock(mocks.webApiUrl + '$batch')
.filteringRequestBody(function (body) {
body = body.replace(/dwa_batch_[\d\w]{8}-[\d\w]{4}-[\d\w]{4}-[\d\w]{4}-[\d\w]{12}/g, 'dwa_batch_XXX');
var bodys = body.split('\n');
var resultBody = '';
for (var i = 0; i < bodys.length; i++) {
resultBody += bodys[i];
}
return resultBody;
})
.post("", checkBody)
.reply(response.status, response.responseText, response.responseHeaders);
});
after(function () {
nock.cleanAll();
});
it("returns a correct response", function (done) {
sendRequest('GET', url, { webApiUrl: mocks.webApiUrl }, null, null, function (object) {
var multiple = mocks.responses.multiple();
delete multiple.oDataContext;
var expectedO = {
status: 200,
headers: {},
data: multiple
};
expect(object).to.deep.equal(expectedO);
done();
}, function (object) {
expect(object).to.be.undefined;
done();
});
});
it("all requests have been made", function () {
expect(scope.isDone()).to.be.true;
});
});
});

@@ -64,2 +64,12 @@ //<cookie pagenumber="2" pagingcookie="<cookie page="1"><accountid last="{EF72AE29-B3DE-E611-8102-5065F38A7BF1}" first="{475B158C-541C-E511-80D3-3863BB347BA8}" /></cookie>" istracking="False" />

},
batch:
'--dwa_batch_XXX\n' +
'Content-Type: application/http\n' +
'Content-Transfer-Encoding: binary\n\n' +
'GET {0} HTTP/1.1\n' +
'Accept: application/json\n' +
'OData-MaxVersion: 4.0\n' +
'OData-Version: 4.0\n' +
'Content-Type: application/json; charset=utf-8\n\n' +
'--dwa_batch_XXX--',

@@ -169,3 +179,3 @@ fetchXmls: {

}
}
},
}

@@ -218,2 +228,17 @@ };

},
batch: {
status: 200,
responseText:
'--batchresponse_904020fa-6213-43d4-a26a-5347b70095e8\r\n' +
'Content-Type: application/http\r\n' +
'Content-Transfer-Encoding: binary\r\n\r\n' +
'HTTP/ 1.1 200 OK\r\n' +
'Access-Control-Expose-Headers: Preference-Applied, OData-EntityId, Location, ETag, OData-Version, Content-Encoding, Transfer-Encoding, Content-Length, Retry-After\r\n' +
'Content-Type: application/json; odata.metadata=minimal\r\n' +
'OData-Version: 4.0\r\n\r\n' +
JSON.stringify(dataStubs.multiple) + '\r\n' +
'--batchresponse_904020fa-6213-43d4-a26a-5347b70095e8--'
},
fetchXmlResponsePage1Cookie: {

@@ -220,0 +245,0 @@ status: 200,

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc