@djforth/ajax-es6-fp
Version:
Promised Based Ajax Helper - With RoR in mind
1 lines • 1.83 kB
JavaScript
(function(global,factory){if('function'==typeof define&&define.amd)define(['module','exports','lodash/reject','lodash/isArray','lodash/clone'],factory);else if('undefined'!=typeof exports)factory(module,exports,require('lodash/reject'),require('lodash/isArray'),require('lodash/clone'));else{var mod={exports:{}};factory(mod,mod.exports,global.reject,global.isArray,global.clone),global.manage_headers=mod.exports}})(this,function(module,exports,_reject2,_isArray2,_clone2){'use strict';function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}Object.defineProperty(exports,'__esModule',{value:!0}),exports.default=function(){var headers=[],obj={add:function add(token){return headers=addHeaders(headers,token),obj},addDelete:function addDelete(){return headers=addHeaders(headers,{header:'X-Http-Method-Override',value:'delete'}),obj},addCSRF:function addCSRF(token){return headers=addHeaders(headers,{header:'X-CSRF-Token',value:token}),obj},addRails:function addRails(){return headers=addHeaders(headers,[{header:'Content-type',value:'application/json'},{header:'accept',value:'*/*;q=0.5, text/javascript, application/javascript, application/ecmascript, application/x-ecmascript'}]),obj},all:function all(){return headers},clear:function clear(){headers=[]},remove:function remove(header){headers=(0,_reject3.default)(headers,function(h){return h.header===header})},set:function set(xhr){headers.forEach(function(h){xhr.setRequestHeader(h.header,h.value)})}};return obj};var _reject3=_interopRequireDefault(_reject2),_isArray3=_interopRequireDefault(_isArray2),_clone3=_interopRequireDefault(_clone2),addHeaders=function(headers,token){return headers=(0,_clone3.default)(headers),(0,_isArray3.default)(token)?headers=headers.concat(token):headers.push(token),headers};module.exports=exports['default']});