redux-resource-xhr
Version:
Action creators for Redux Resource using the xhr library
2 lines (1 loc) • 2.82 kB
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("redux-resource"),require("xhr")):"function"==typeof define&&define.amd?define(["exports","redux-resource","xhr"],t):t(e.ReduxResourceXHR={},e.ReduxResource,e.xhr)}(this,function(e,R,i){"use strict";i=i&&i.hasOwnProperty("default")?i.default:i;var n=Object.prototype.hasOwnProperty;function u(e){return decodeURIComponent(e.replace(/\+/g," "))}var s={stringify:function(e,t){t=t||"";var r=[];for(var o in"string"!=typeof t&&(t="?"),e)n.call(e,o)&&r.push(encodeURIComponent(o)+"="+encodeURIComponent(e[o]));return r.length?t+r.join("&"):""},parse:function(e){for(var t,r=/([^=?&]+)=?([^&]*)/g,o={};t=r.exec(e);o[u(t[1])]=u(t[2]));return o}},f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},S=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(e[o]=r[o])}return e};function g(e,t,r){var n={};"object"===(void 0===e?"undefined":f(e))?n=e:"string"==typeof e&&"object"===(void 0===t?"undefined":f(t))?(n=t).uri=e:n.uri=e,n.uri=function(e,t){if(t.qs){var r=(t.qsStringify||s.stringify)(t.qs,t.qsStringifyOptions);"?"!==r[0]&&(r="?"+r),e+=r}return e}(n.uri?n.uri:n.url,n),n.url&&delete n.url;var o=void 0;return"function"==typeof t?o=t:"function"==typeof r&&(o=r),o?i(n,o):new Promise(function(r,o){i(n,function(e,t){e?o(e):r(t)})})}["get","put","post","patch","head","delete"].forEach(function(i){g["delete"===i?"del":i]=function(e,t,r){var o=void 0,n=void 0;return"object"===(void 0===e?"undefined":f(e))?(o=e,n=t):"object"===(void 0===t?"undefined":f(t))?(o=Object.assign({uri:e},t),n=r):"string"==typeof e&&"object"!==(void 0===t?"undefined":f(t))&&(o={uri:e},n=t),o.method=i.toUpperCase(),g(o,n)}}),e.crudRequest=function(e,f){var c=f.dispatch,t=f.xhrOptions,r=void 0===t?{}:t,d=f.transformData,o=f.actionDefaults,p=void 0===o?{}:o,n=f.onPending,a=f.onFailed,y=f.onSucceeded,l=f.onAborted,v=p.requestProperties,b=(e||"").toUpperCase(),i=S({},p,{type:R.actionTypes[b+"_RESOURCES_PENDING"],requestProperties:v});n?n(i):c(i);var h=g(r,function(e,t,r){var o=t?t.statusCode:null;if(h.aborted){var n=S({},p,{type:R.actionTypes[b+"_RESOURCES_IDLE"],requestProperties:v,res:t});l?l(n,t):c(n)}else if(e||400<=o||0===o){var i=S({},p,{type:R.actionTypes[b+"_RESOURCES_FAILED"],requestProperties:S({},v,{statusCode:o}),res:t,err:e});a?a(i,e,t):c(i)}else{var u=void 0;u=r?d?d(r,f):r:p.resources;var s=S({},p,{type:R.actionTypes[b+"_RESOURCES_SUCCEEDED"],requestProperties:S({},v,{statusCode:o}),resources:u,res:t});y?y(s,t,r):c(s)}});return h},e.xhr=g,Object.defineProperty(e,"__esModule",{value:!0})});