-
-
Notifications
You must be signed in to change notification settings - Fork 59
/
Copy pathdynamics-web-api-callbacks.min.js
2 lines (2 loc) · 28 KB
/
dynamics-web-api-callbacks.min.js
1
2
/*! dynamics-web-api-callbacks v1.4.0 (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=6)}([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")}},keyParameterCheck:function(e,t,n){try{r.stringParameterCheck(e,t,n);var i=/[0-9A-F]{8}[-]?([0-9A-F]{4}[-]?){3}[0-9A-F]{12}/i.exec(e);if(i)return i[0];var c=e.split(",");if(c.length)for(var s=0;s<c.length;s++)c[s]=c[s].trim(),/^[\w\d\_]+\='[^\'\r\n]+'$/i.exec(c[s])[0];return c.join(",")}catch(e){a(t,n,"String representing GUID or Alternate Key")}},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-1!==r&&r===t},String.prototype.startsWith=function(e,t){return t=t||0,this.substr(t,e.length)===e}},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.duplicateDetection&&(i.boolParameterCheck(e.duplicateDetection,"DynamicsWebApi."+t,"request.duplicateDetection"),o["MSCRM.SuppressDuplicateDetection"]="false"),e.entity&&i.parameterCheck(e.entity,"DynamicsWebApi."+t,"request.entity"),e.data&&i.parameterCheck(e.data,"DynamicsWebApi."+t,"request.data"),e.noCache&&(i.boolParameterCheck(e.noCache,"DynamicsWebApi."+t,"request.noCache"),o["Cache-Control"]="no-cache"),e.expand&&e.expand.length)if(i.stringOrArrayParameterCheck(e.expand,"DynamicsWebApi."+t,"request.expand"),"string"==typeof e.expand)l.push("$expand="+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,";"),y=h.query;y&&y.length&&(y="("+y+")"),p.push(e.expand[m].property+y)}p.length&&l.push("$expand="+p.join(","))}}return{url:a,query:l.join(n),headers:o}}function n(e,t,a){var n,c="";return e.url?(i.stringParameterCheck(e.url,"DynamicsWebApi."+t,"request.url"),c=e.url.replace(a.webApiUrl,""),n=r(e,t,c,"&",a)):(e._unboundRequest||e.collection||i.parameterCheck(e.collection,"DynamicsWebApi."+t,"request.collection"),e.collection&&(i.stringParameterCheck(e.collection,"DynamicsWebApi."+t,"request.collection"),c=e.collection,e.key?e.key=i.keyParameterCheck(e.key,"DynamicsWebApi."+t,"request.key"):e.id&&(e.key=i.guidParameterCheck(e.id,"DynamicsWebApi."+t,"request.id")),e.key&&(c+="("+e.key+")")),e._additionalUrl&&(c&&(c+="/"),c+=e._additionalUrl),n=r(e,t,c,"&",a),e.fetchXml?(i.stringParameterCheck(e.fetchXml,"DynamicsWebApi."+t,"request.fetchXml"),n.url+="?fetchXml="+encodeURIComponent(e.fetchXml)):n.query&&(n.url+="?"+encodeURI(n.query))),e.hasOwnProperty("async")&&null!=e.async?(i.boolParameterCheck(e.async,"DynamicsWebApi."+t,"request.async"),n.async=e.async):n.async=!0,{url:n.url,headers:n.headers,async:n.async}}var i=(a(0),a(1)),c=a(12),s={convertRequestOptions:r,convertRequest:n};e.exports=s},function(e,t,a){function r(e){return void 0===e||"unknown"==typeof e||null==e}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 a=(e+16*Math.random())%16|0;return e=Math.floor(e/16),("x"===t?a:3&a|8).toString(16)})}function i(){if("undefined"!=typeof GetGlobalContext)return GetGlobalContext();if("undefined"!=typeof Xrm){if(!r(Xrm.Utility)&&!r(Xrm.Utility.getGlobalContext))return Xrm.Utility.getGlobalContext();if(!r(Xrm.Page)&&!r(Xrm.Page.context))return Xrm.Page.context}throw new Error("Xrm Context is not available. In most cases, it can be resolved by adding a reference to a ClientGlobalContext.js.aspx. Please refer to MSDN documentation for more details.")}function c(){var e=i();if(e){var t=e.getClientUrl();return t.match(/\/$/)&&(t=t.substring(0,t.length-1)),t}return""}function s(e){return c()+"/api/data/v"+e+"/"}function o(){return"undefined"!=typeof Xrm?Xrm.Internal:null}var l={buildFunctionParameters:a(11),getFetchXmlPagingCookie:a(14),convertToReferenceObject:a(13),isNull:r,generateUUID:n,getXrmContext:i,getXrmInternal:o,getClientUrl:c,initWebApiUrl:s};e.exports=l},function(e,t,a){function r(e){var t=m.getXrmInternal();if(!m.isNull(t)){var a=t.getEntitySetName(e);return a||e}var a=null;if(!m.isNull(p)&&(a=p[e],m.isNull(a)))for(var r in p)if(p[r]==e)return e;return a}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}function i(e,t){var a;return e&&(a=JSON.stringify(e,function(e,a){if((e.endsWith("@odata.bind")||e.endsWith("@odata.id"))&&"string"==typeof a){if(/\(\{[\w\d-]+\}\)/g.test(a)&&(a=a.replace(/(.+)\(\{([\w\d-]+)\}\)/g,"$1($2)")),t.useEntityNames){var n=/([\w_]+)(\([\d\w-]+\))$/,i=n.exec(a);if(i.length>2){var c=r(i[1]);m.isNull(c)||(a=a.replace(n,c+"$2"))}}a.startsWith(t.webApiUrl)||(a=t.webApiUrl+a.replace(/^\\/,""))}return a}),a=a.replace(/[\u007F-\uFFFF]/g,function(e){return"\\u"+("0000"+e.charCodeAt(0).toString(16)).substr(-4)})),a}function c(e,t,r,c,s,o,l,u){s||(s={}),s=n(s);var p=i(c,r);if(t.length>2e3){var h="dwa_batch_"+m.generateUUID(),y=[];y.push("--"+h),y.push("Content-Type: application/http"),y.push("Content-Transfer-Encoding: binary\n"),y.push(e+" "+r.webApiUrl+t+" HTTP/1.1");for(var f in s)y.push(f+": "+s[f]),delete s[f];y.push("\n--"+h+"--"),p=y.join("\n"),s=n(s),s["Content-Type"]="multipart/mixed;boundary="+h,t="$batch",e="POST"}r.impersonate&&!s.MSCRMCallerID&&(s.MSCRMCallerID=r.impersonate);var d;d=a(10);var k=function(a){a&&(s||(s={}),s.Authorization="Bearer "+a.accessToken),d(e,r.webApiUrl+t,p,s,o,l,u)};r.onTokenRefresh&&(!s||s&&!s.Authorization)?r.onTokenRefresh(k):k()}function s(e,t,a,n){var i=function(t){p={};for(var n=0;n<t.data.value.length;n++)p[t.data.value[n].LogicalName]=t.data.value[n].LogicalCollectionName;a(r(e))},s=function(e){n({message:"Unable to fetch EntityDefinitions. Error: "+e.message})},o=h.convertRequest({collection:"EntityDefinitions",select:["LogicalCollectionName","LogicalName"],noCache:!0},"retrieveMultiple",t);c("GET",o.url,t,null,o.headers,i,s,o.async)}function o(e){return["EntityDefinitions","$metadata"].indexOf(e)>-1}function l(e,t,a,n){if(o(e)||m.isNull(e))return void a(e);if(e=e.toLowerCase(),!t.useEntityNames)return void a(e);try{var i=r(e);m.isNull(i)?s(e,t,a,n):a(i)}catch(e){n({message:"Unable to fetch Collection Names. Error: "+e.message})}}function u(e,t,a,r,n,i){var s=function(s){t.collection=s;var o=h.convertRequest(t,a,r);c(e,o.url,r,t.data||t.entity,o.headers,n,i,o.async)};l(t.collection,r,s,i)}var p,m=(a(0),a(4)),h=a(3);e.exports={sendRequest:c,makeRequest:u,getCollectionName:r}},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),this.setConfig=function(e){e.webApiVersion&&(s.stringParameterCheck(e.webApiVersion,"DynamicsWebApi.setConfig","config.webApiVersion"),t.webApiVersion=e.webApiVersion),e.webApiUrl?(s.stringParameterCheck(e.webApiUrl,"DynamicsWebApi.setConfig","config.webApiUrl"),t.webApiUrl=e.webApiUrl):t.webApiUrl=i.initWebApiUrl(t.webApiVersion),e.impersonate&&(t.impersonate=s.guidParameterCheck(e.impersonate,"DynamicsWebApi.setConfig","config.impersonate")),e.onTokenRefresh&&(s.callbackParameterCheck(e.onTokenRefresh,"DynamicsWebApi.setConfig","config.onTokenRefresh"),t.onTokenRefresh=e.onTokenRefresh),e.includeAnnotations&&(s.stringParameterCheck(e.includeAnnotations,"DynamicsWebApi.setConfig","config.includeAnnotations"),t.includeAnnotations=e.includeAnnotations),e.maxPageSize&&(s.numberParameterCheck(e.maxPageSize,"DynamicsWebApi.setConfig","config.maxPageSize"),t.maxPageSize=e.maxPageSize),e.returnRepresentation&&(s.boolParameterCheck(e.returnRepresentation,"DynamicsWebApi.setConfig","config.returnRepresentation"),t.returnRepresentation=e.returnRepresentation),e.useEntityNames&&(s.boolParameterCheck(e.useEntityNames,"DynamicsWebApi.setConfig","config.useEntityNames"),t.useEntityNames=e.useEntityNames)},this.setConfig(e);var a=function(e,a,r,n,i){o.makeRequest(e,a,r,t,n,i)};this.create=function(e,r,n,i,o,l){s.parameterCheck(e,"DynamicsWebApi.create","object"),s.stringParameterCheck(r,"DynamicsWebApi.create","collection"),s.callbackParameterCheck(n,"DynamicsWebApi.create","successCallback"),s.callbackParameterCheck(i,"DynamicsWebApi.create","errorCallback"),o&&s.stringOrArrayParameterCheck(o,"DynamicsWebApi.create","prefer"),l&&s.arrayParameterCheck(l,"DynamicsWebApi.create","select");var u={collection:r,select:l,prefer:o,entity:e};c.convertRequest(u,"create",t);a("POST",u,"create",function(e){if(e.data)n(e.data);else{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];n(a)}},i)},this.updateRequest=function(e,t,r){s.parameterCheck(e,"DynamicsWebApi.update","request"),s.callbackParameterCheck(t,"DynamicsWebApi.update","successCallback"),s.callbackParameterCheck(r,"DynamicsWebApi.update","errorCallback"),null==e.ifmatch&&(e.ifmatch="*");var n=function(e){t(e.data?e.data:!0)},i=e.ifmatch;a("PATCH",e,"update",n,function(e){i&&412==e.status?t(!1):r(e)})},this.update=function(e,t,a,r,n,i,c){s.stringParameterCheck(e,"DynamicsWebApi.update","key"),e=s.keyParameterCheck(e,"DynamicsWebApi.update","key"),s.parameterCheck(a,"DynamicsWebApi.update","object"),s.stringParameterCheck(t,"DynamicsWebApi.update","collection"),s.callbackParameterCheck(r,"DynamicsWebApi.update","successCallback"),s.callbackParameterCheck(n,"DynamicsWebApi.update","errorCallback"),i&&s.stringOrArrayParameterCheck(i,"DynamicsWebApi.update","prefer"),c&&s.arrayParameterCheck(c,"DynamicsWebApi.update","select");var o={collection:t,key:e,select:c,prefer:i,entity:a};this.updateRequest(o,r,n)},this.updateSingleProperty=function(e,t,r,n,i,c,o){s.stringParameterCheck(e,"DynamicsWebApi.updateSingleProperty","key"),e=s.keyParameterCheck(e,"DynamicsWebApi.updateSingleProperty","key"),s.parameterCheck(r,"DynamicsWebApi.updateSingleProperty","keyValuePair"),s.stringParameterCheck(t,"DynamicsWebApi.updateSingleProperty","collection"),s.callbackParameterCheck(n,"DynamicsWebApi.updateSingleProperty","successCallback"),s.callbackParameterCheck(i,"DynamicsWebApi.updateSingleProperty","errorCallback"),c&&s.stringOrArrayParameterCheck(c,"DynamicsWebApi.updateSingleProperty","prefer"),o&&s.arrayParameterCheck(o,"DynamicsWebApi.updateSingleProperty","select");var l=Object.keys(r)[0],u=r[l];a("PUT",{collection:t,key:e,select:o,prefer:c,navigationProperty:l,data:{value:u}},"updateSingleProperty",function(e){e.data?n(e.data):n()},i)},this.deleteRequest=function(e,t,r){s.parameterCheck(e,"DynamicsWebApi.delete","request"),s.callbackParameterCheck(t,"DynamicsWebApi.delete","successCallback"),s.callbackParameterCheck(r,"DynamicsWebApi.delete","errorCallback");var n=function(){t(!0)},i=e.ifmatch;a("DELETE",e,"delete",n,function(e){i&&412==e.status?t(!1):r(e)})},this.deleteRecord=function(e,t,r,n,i){s.stringParameterCheck(e,"DynamicsWebApi.delete","key"),e=s.keyParameterCheck(e,"DynamicsWebApi.delete","key"),s.stringParameterCheck(t,"DynamicsWebApi.delete","collection"),s.callbackParameterCheck(r,"DynamicsWebApi.delete","successCallback"),s.callbackParameterCheck(n,"DynamicsWebApi.delete","errorCallback"),null!=i&&s.stringParameterCheck(i,"DynamicsWebApi.delete","propertyName"),a("DELETE",{key:e,collection:t,navigationProperty:i},"delete",function(e){r()},n)},this.retrieveRequest=function(e,t,r){s.parameterCheck(e,"DynamicsWebApi.retrieve","request"),s.callbackParameterCheck(t,"DynamicsWebApi.retrieve","successCallback"),s.callbackParameterCheck(r,"DynamicsWebApi.retrieve","errorCallback");var n=e.select;a("GET",e,"retrieve",function(e){t(null!=n&&1==n.length&&n[0].endsWith("/$ref")&&null!=e.data["@odata.id"]?i.convertToReferenceObject(e.data):e.data)},r)},this.retrieve=function(e,t,a,r,n,i){s.stringParameterCheck(e,"DynamicsWebApi.retrieve","key"),e=s.keyParameterCheck(e,"DynamicsWebApi.retrieve","key"),s.stringParameterCheck(t,"DynamicsWebApi.retrieve","collection"),s.callbackParameterCheck(a,"DynamicsWebApi.retrieve","successCallback"),s.callbackParameterCheck(r,"DynamicsWebApi.retrieve","errorCallback"),n&&n.length&&s.arrayParameterCheck(n,"DynamicsWebApi.retrieve","select"),i&&i.length&&s.stringOrArrayParameterCheck(i,"DynamicsWebApi.retrieve","expand");var c={collection:t,key:e,select:n,expand:i};this.retrieveRequest(c,a,r)},this.upsertRequest=function(e,t,r){s.parameterCheck(e,"DynamicsWebApi.upsert","request"),s.parameterCheck(e.entity,"DynamicsWebApi.upsert","request.entity"),s.callbackParameterCheck(t,"DynamicsWebApi.upsert","successCallback"),s.callbackParameterCheck(r,"DynamicsWebApi.upsert","errorCallback");var n=e.ifnonematch,i=e.ifmatch;a("PATCH",e,"upsert",function(e){if(e.headers["OData-EntityId"]||e.headers["odata-entityid"]){var a=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(a)[0];t(r)}else e.data?t(e.data):t()},function(e){n&&412==e.status?t():i&&404==e.status?t():r(e)})},this.upsert=function(e,t,a,r,n,i,c){s.stringParameterCheck(e,"DynamicsWebApi.upsert","key"),e=s.keyParameterCheck(e,"DynamicsWebApi.upsert","key"),s.parameterCheck(a,"DynamicsWebApi.upsert","object"),s.stringParameterCheck(t,"DynamicsWebApi.upsert","collection"),s.callbackParameterCheck(r,"DynamicsWebApi.upsert","successCallback"),s.callbackParameterCheck(n,"DynamicsWebApi.upsert","errorCallback"),i&&s.stringOrArrayParameterCheck(i,"DynamicsWebApi.upsert","prefer"),c&&s.arrayParameterCheck(c,"DynamicsWebApi.upsert","select");var o={collection:t,key:e,select:c,prefer:i,entity:a};this.upsertRequest(o,r,n)},this.count=function(e,t,r,n){if(null!=n&&(null==n||n.length))return this.retrieveMultipleRequest({collection:e,filter:n,count:!0},function(e){t(e.oDataCount?e.oDataCount:0)},r);s.stringParameterCheck(e,"DynamicsWebApi.count","collection"),s.callbackParameterCheck(t,"DynamicsWebApi.count","successCallback"),s.callbackParameterCheck(r,"DynamicsWebApi.count","errorCallback"),a("GET",{collection:e,navigationProperty:"$count"},"count",function(e){t(e.data?parseInt(e.data):0)},r)},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 u({collection:e,select:r,filter:n},t,a)};var l=function(e,t,r,n){s.callbackParameterCheck(t,"DynamicsWebApi.retrieveMultiple","successCallback"),s.callbackParameterCheck(r,"DynamicsWebApi.retrieveMultiple","errorCallback"),n&&(s.stringParameterCheck(n,"DynamicsWebApi.retrieveMultiple","nextPageLink"),e.url=n);var i=e.count;a("GET",e,"retrieveMultiple",function(e){i&&(e.data.oDataCount=e.data.oDataCount||0),t(e.data)},r)};this.retrieveMultipleRequest=l;var u=function(e,t,a,r,n){var n=n||[];l(e,function(r){n=n.concat(r.value),r.oDataNextLink?u(e,t,a,r.oDataNextLink,n):t({value:n})},a,r)};this.retrieveAllRequest=function(e,t,a){u(e,t,a)};var p=function(e,t,r,c,o,l,u,p){s.stringParameterCheck(e,"DynamicsWebApi.executeFetchXml","collection"),s.stringParameterCheck(t,"DynamicsWebApi.executeFetchXml","fetchXml"),s.callbackParameterCheck(r,"DynamicsWebApi.executeFetchXml","successCallback"),s.callbackParameterCheck(c,"DynamicsWebApi.executeFetchXml","errorCallback"),l=l||1,s.numberParameterCheck(l,"DynamicsWebApi.executeFetchXml","pageNumber");var m='$1 page="'+l+'"';null!=u&&(s.stringParameterCheck(u,"DynamicsWebApi.executeFetchXml","pagingCookie"),m+=' paging-cookie="'+u+'"'),t=t.replace(/^(<fetch[\w\d\s'"=]+)/,m),a("GET",{collection:e,includeAnnotations:o,impersonate:p,fetchXml:t,impersonate:p,includeAnnotations:o},"executeFetchXml",function(e){null!=e.data["@"+n.Prefer.Annotations.FetchXmlPagingCookie]&&(e.data.PagingInfo=i.getFetchXmlPagingCookie(e.data["@"+n.Prefer.Annotations.FetchXmlPagingCookie],l)),r(e.data)},c)};this.fetch=this.executeFetchXml=p;var m=function(e,t,a,r,n,i,c,s,o){var o=o||[];p(e,t,function(i){o=o.concat(i.value),i.PagingInfo?m(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 m(e,t,a,r,n,null,null,i)},this.associate=function(e,t,r,n,i,c,o,l){s.stringParameterCheck(e,"DynamicsWebApi.associate","collection"),s.stringParameterCheck(n,"DynamicsWebApi.associate","relatedCollection"),s.stringParameterCheck(r,"DynamicsWebApi.associate","relationshipName"),t=s.keyParameterCheck(t,"DynamicsWebApi.associate","primaryKey"),i=s.keyParameterCheck(i,"DynamicsWebApi.associate","relatedKey"),s.callbackParameterCheck(c,"DynamicsWebApi.associate","successCallback"),s.callbackParameterCheck(o,"DynamicsWebApi.associate","errorCallback"),a("POST",{_additionalUrl:r+"/$ref",collection:e,key:t,impersonate:l,data:{"@odata.id":n+"("+i+")"}},"associate",function(){c()},o)},this.disassociate=function(e,t,r,n,i,c,o){s.stringParameterCheck(e,"DynamicsWebApi.disassociate","collection"),s.stringParameterCheck(r,"DynamicsWebApi.disassociate","relationshipName"),t=s.keyParameterCheck(t,"DynamicsWebApi.disassociate","primaryKey"),n=s.keyParameterCheck(n,"DynamicsWebApi.disassociate","relatedKey"),s.callbackParameterCheck(i,"DynamicsWebApi.disassociate","successCallback"),s.callbackParameterCheck(c,"DynamicsWebApi.disassociate","errorCallback"),a("DELETE",{_additionalUrl:r+"("+n+")/$ref",collection:e,key:t,impersonate:o},"disassociate",function(){i()},c)},this.associateSingleValued=function(e,t,r,n,i,c,o,l){s.stringParameterCheck(e,"DynamicsWebApi.associateSingleValued","collection"),t=s.keyParameterCheck(t,"DynamicsWebApi.associateSingleValued","key"),i=s.keyParameterCheck(i,"DynamicsWebApi.associateSingleValued","relatedKey"),s.stringParameterCheck(r,"DynamicsWebApi.associateSingleValued","singleValuedNavigationPropertyName"),s.stringParameterCheck(n,"DynamicsWebApi.associateSingleValued","relatedCollection"),s.callbackParameterCheck(c,"DynamicsWebApi.associateSingleValued","successCallback"),s.callbackParameterCheck(o,"DynamicsWebApi.associateSingleValued","errorCallback"),a("PUT",{_additionalUrl:r+"/$ref",collection:e,key:t,impersonate:l,data:{"@odata.id":n+"("+i+")"}},"associateSingleValued",function(){c()},o)},this.disassociateSingleValued=function(e,t,r,n,i,c){s.stringParameterCheck(e,"DynamicsWebApi.disassociateSingleValued","collection"),t=s.keyParameterCheck(t,"DynamicsWebApi.disassociateSingleValued","key"),s.stringParameterCheck(r,"DynamicsWebApi.disassociateSingleValued","singleValuedNavigationPropertyName"),s.callbackParameterCheck(n,"DynamicsWebApi.disassociateSingleValued","successCallback"),s.callbackParameterCheck(i,"DynamicsWebApi.disassociateSingleValued","errorCallback"),a("DELETE",{_additionalUrl:r+"/$ref",key:t,collection:e,impersonate:c},"disassociateSingleValued",function(){n()},i)},this.executeUnboundFunction=function(e,t,a,r,n){return h(e,r,null,null,t,a,n,!0)},this.executeBoundFunction=function(e,t,a,r,n,i,c){return h(a,i,t,e,r,n,c)};var h=function(e,t,r,n,c,o,l,u){s.stringParameterCheck(e,"DynamicsWebApi.executeFunction","functionName"),s.callbackParameterCheck(c,"DynamicsWebApi.executeFunction","successCallback"),s.callbackParameterCheck(o,"DynamicsWebApi.executeFunction","errorCallback");var p={_additionalUrl:e+i.buildFunctionParameters(t),_unboundRequest:u,key:n,collection:r,impersonate:l};a("GET",p,"executeFunction",function(e){e.data?c(e.data):c()},o)};this.executeUnboundAction=function(e,t,a,r,n){return y(e,t,null,null,a,r,n,!0)},this.executeBoundAction=function(e,t,a,r,n,i,c){return y(a,r,t,e,n,i,c)};var y=function(e,t,r,n,i,c,o,l){s.stringParameterCheck(e,"DynamicsWebApi.executeAction","actionName"),s.callbackParameterCheck(i,"DynamicsWebApi.executeAction","successCallback"),s.callbackParameterCheck(c,"DynamicsWebApi.executeAction","errorCallback"),a("POST",{_additionalUrl:e,_unboundRequest:l,collection:r,key:n,impersonate:o,data:t},"executeAction",function(e){e.data?i(e.data):i()},c)};this.initializeInstance=function(e){return e||(e=t),new r(e)}}var n=a(0),i=a(4),c=a(3),s=a(1),o=a(5);String.prototype.endsWith&&String.prototype.startsWith||a(2),r.prototype.utility={getCollectionName:o.getCollectionName},e.exports=r},function(e,t){e.exports=function(e,t){var a;return"string"==typeof t&&(a=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(?:Z|[-+]\d{2}:\d{2})$/.exec(t))?new Date(Date.UTC(+a[1],+a[2]-1,+a[3],+a[4],+a[5],+a[6])):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=[],n=0;n<a.length;n++){var i=a[n],s=i.substring(i.indexOf("{"),i.lastIndexOf("}")+1);r.push(JSON.parse(s,c))}return r}function n(e){for(var t=Object.keys(e),a=0;a<t.length;a++){if(null!=e[t[a]]&&e[t[a]].constructor===Array)for(var r=0;r<e[t[a]].length;r++)e[t[a]][r]=n(e[t[a]][r]);if(-1!=t[a].indexOf("@")){var c=t[a].split("@"),s=null;switch(c[1]){case"odata.context":s="oDataContext";break;case"odata.count":s="oDataCount",e[t[a]]=null!=e[t[a]]?parseInt(e[t[a]]):0;break;case"odata.nextLink":s="oDataNextLink";break;case i.Prefer.Annotations.FormattedValue:s=c[0]+"_Formatted";break;case i.Prefer.Annotations.AssociatedNavigationProperty:s=c[0]+"_NavigationProperty";break;case i.Prefer.Annotations.LookupLogicalName:s=c[0]+"_LogicalName"}s&&(e[s]=e[t[a]])}}return e}var i=a(0),c=a(7);String.prototype.endsWith&&String.prototype.startsWith||a(2),e.exports=function(e){var t=null;return e.length&&(t=t=e.indexOf("--batchresponse_")>-1?r(e)[0]:JSON.parse(e,c),t=n(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(8),n=a(9),i=function(e,t,a,i,c,s,o){var l=new XMLHttpRequest;l.open(e,t,o);for(var u in i)l.setRequestHeader(u,i[u]);l.onreadystatechange=function(){if(4===l.readyState){switch(l.status){case 200:case 201:case 204:case 304:var e=r(l.responseText),t={data:e,headers:n(l.getAllResponseHeaders()),status:l.status};c(t);break;default:var a;try{a=JSON.parse(l.response).error}catch(e){a=l.response.length>0?{message:l.response}:{message:"Unexpected Error"}}a.status=l.status,s(a)}l=null}},l.onerror=function(){s({message:"Network Error"}),l=null},l.ontimeout=function(e){s({message:"Request Timed Out"}),l=null},a?l.send(a):l.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||a.includeAnnotations,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||"",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,"<").replace(/>/g,">").replace(/\"/g,"'").replace(/\'/g,"""),page:r,nextPage:r+1}}return{cookie:"",page:t,nextPage:t+1}}}])});