UNPKG

@djforth/ajax-es6-fp

Version:

Promised Based Ajax Helper - With RoR in mind

1 lines 2.46 kB
(function(global,factory){if('function'==typeof define&&define.amd)define(['module','exports','lodash/isFunction','./check_status','./create_error','./parse','./set_progress','./create_success','./ready_state'],factory);else if('undefined'!=typeof exports)factory(module,exports,require('lodash/isFunction'),require('./check_status'),require('./create_error'),require('./parse'),require('./set_progress'),require('./create_success'),require('./ready_state'));else{var mod={exports:{}};factory(mod,mod.exports,global.isFunction,global.check_status,global.create_error,global.parse,global.set_progress,global.create_success,global.ready_state),global.set_request=mod.exports}})(this,function(module,exports,_isFunction2,_check_status,_create_error,_parse,_set_progress,_create_success,_ready_state){'use strict';function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function addError(xhr,err){xhr.addEventListener('error',function(evt){err('Network Error: '+evt.error.message)}),xhr.addEventListener('abort',function(evt){err('Network Abort: '+evt.error.message)})}function addProgress(xhr,prog){var check_prog=(0,_set_progress2.default)(prog);xhr.addEventListener('progress',function(evt){check_prog(evt.loaded,evt.total,evt.lengthComputable)})}function addReadyState(xhr,stateChange){xhr.addEventListener('readystatechange',function(){stateChange(xhr)})}Object.defineProperty(exports,'__esModule',{value:!0}),exports.default=function(resolve,reject){var err,stateChange,suc,xhr=new XMLHttpRequest;err=(0,_create_error2.default)(reject,_parse2.default),suc=(0,_create_success2.default)(resolve,_parse2.default),stateChange=(0,_ready_state2.default)(suc,err,_check_status2.default),addError(xhr,err),addReadyState(xhr,stateChange);var obj={progress:function progress(prog){return(0,_isFunction3.default)(prog)?(addProgress(xhr,prog),obj):obj},get:function get(){return xhr},open:function open(state,url){return xhr.open(state,url,!0),obj},send:function send(_send){var data=_send?JSON.stringify(_send):null;xhr.send(data)}};return obj};var _isFunction3=_interopRequireDefault(_isFunction2),_check_status2=_interopRequireDefault(_check_status),_create_error2=_interopRequireDefault(_create_error),_parse2=_interopRequireDefault(_parse),_set_progress2=_interopRequireDefault(_set_progress),_create_success2=_interopRequireDefault(_create_success),_ready_state2=_interopRequireDefault(_ready_state);module.exports=exports['default']});