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

xhook

Package Overview
Dependencies
Maintainers
2
Versions
20
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

xhook - npm Package Compare versions

Comparing version

to
1.5.0

dist/xhook.js.map

1329

dist/xhook.js

@@ -1,138 +0,306 @@

// XHook - v1.4.9 - https://github.com/jpillora/xhook
// Jaime Pillora <dev@jpillora.com> - MIT Copyright 2018
(function(undefined) {
var AFTER, BEFORE, COMMON_EVENTS, EventEmitter, FETCH, FIRE, FormData, NativeFetch, NativeFormData, NativeXMLHttp, OFF, ON, READY_STATE, UPLOAD_EVENTS, WINDOW, XHookFetchRequest, XHookFormData, XHookHttpRequest, XMLHTTP, convertHeaders, depricatedProp, document, fakeEvent, mergeObjects, msie, nullify, proxyEvents, slice, useragent, xhook, _base,
__indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };
/*!
* XHook - v1.5.0 - https://github.com/jpillora/xhook
* Jaime Pillora <dev@jpillora.com> - MIT Copyright 2022
*/
/******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId]) {
/******/ return installedModules[moduleId].exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.l = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ }
/******/ };
/******/
/******/ // define __esModule on exports
/******/ __webpack_require__.r = function(exports) {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/
/******/ // create a fake namespace object
/******/ // mode & 1: value is a module id, require it
/******/ // mode & 2: merge all properties of value into the ns
/******/ // mode & 4: return value when already ns object
/******/ // mode & 8|1: behave like require
/******/ __webpack_require__.t = function(value, mode) {
/******/ if(mode & 1) value = __webpack_require__(value);
/******/ if(mode & 8) return value;
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ var ns = Object.create(null);
/******/ __webpack_require__.r(ns);
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ return ns;
/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function getDefault() { return module['default']; } :
/******/ function getModuleExports() { return module; };
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/ };
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "";
/******/
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = "./src/main.js");
/******/ })
/************************************************************************/
/******/ ({
WINDOW = null;
/***/ "./node_modules/webpack/buildin/amd-options.js":
/*!****************************************!*\
!*** (webpack)/buildin/amd-options.js ***!
\****************************************/
/*! no static exports found */
/***/ (function(module, exports) {
if (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope) {
WINDOW = self;
} else if (typeof global !== 'undefined') {
WINDOW = global;
} else {
WINDOW = window;
/* WEBPACK VAR INJECTION */(function(__webpack_amd_options__) {/* globals __webpack_amd_options__ */
module.exports = __webpack_amd_options__;
/* WEBPACK VAR INJECTION */}.call(this, {}))
/***/ }),
/***/ "./node_modules/webpack/buildin/global.js":
/*!***********************************!*\
!*** (webpack)/buildin/global.js ***!
\***********************************/
/*! no static exports found */
/***/ (function(module, exports) {
var g;
// This works in non-strict mode
g = (function() {
return this;
})();
try {
// This works if eval is allowed (see CSP)
g = g || new Function("return this")();
} catch (e) {
// This works if the window reference is available
if (typeof window === "object") g = window;
}
document = WINDOW.document;
// g can still be undefined, but nothing to do about it...
// We return undefined, instead of nothing here, so it's
// easier to handle this case. if(!global) { ...}
BEFORE = 'before';
module.exports = g;
AFTER = 'after';
READY_STATE = 'readyState';
/***/ }),
ON = 'addEventListener';
/***/ "./node_modules/webpack/buildin/harmony-module.js":
/*!*******************************************!*\
!*** (webpack)/buildin/harmony-module.js ***!
\*******************************************/
/*! no static exports found */
/***/ (function(module, exports) {
OFF = 'removeEventListener';
module.exports = function(originalModule) {
if (!originalModule.webpackPolyfill) {
var module = Object.create(originalModule);
// module.parent = undefined by default
if (!module.children) module.children = [];
Object.defineProperty(module, "loaded", {
enumerable: true,
get: function() {
return module.l;
}
});
Object.defineProperty(module, "id", {
enumerable: true,
get: function() {
return module.i;
}
});
Object.defineProperty(module, "exports", {
enumerable: true
});
module.webpackPolyfill = 1;
}
return module;
};
FIRE = 'dispatchEvent';
XMLHTTP = 'XMLHttpRequest';
/***/ }),
FETCH = 'fetch';
/***/ "./src/main.js":
/*!*********************!*\
!*** ./src/main.js ***!
\*********************/
/*! no exports provided */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
FormData = 'FormData';
"use strict";
__webpack_require__.r(__webpack_exports__);
/* WEBPACK VAR INJECTION */(function(module) {/* harmony import */ var _misc_event_emitter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./misc/event-emitter */ "./src/misc/event-emitter.js");
/* harmony import */ var _misc_window__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./misc/window */ "./src/misc/window.js");
/* harmony import */ var _misc_headers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./misc/headers */ "./src/misc/headers.js");
/* harmony import */ var _patch_xmlhttprequest__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./patch/xmlhttprequest */ "./src/patch/xmlhttprequest.js");
/* harmony import */ var _patch_fetch__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./patch/fetch */ "./src/patch/fetch.js");
/* harmony import */ var _patch_formdata__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./patch/formdata */ "./src/patch/formdata.js");
/* harmony import */ var _misc_hooks__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./misc/hooks */ "./src/misc/hooks.js");
UPLOAD_EVENTS = ['load', 'loadend', 'loadstart'];
COMMON_EVENTS = ['progress', 'abort', 'error', 'timeout'];
useragent = typeof navigator !== 'undefined' && navigator['useragent'] ? navigator.userAgent : '';
msie = parseInt((/msie (\d+)/.exec(useragent.toLowerCase()) || [])[1]);
//patchable types
if (isNaN(msie)) {
msie = parseInt((/trident\/.*; rv:(\d+)/.exec(useragent.toLowerCase()) || [])[1]);
}
(_base = Array.prototype).indexOf || (_base.indexOf = function(item) {
var i, x, _i, _len;
for (i = _i = 0, _len = this.length; _i < _len; i = ++_i) {
x = this[i];
if (x === item) {
return i;
}
}
return -1;
});
slice = function(o, n) {
return Array.prototype.slice.call(o, n);
};
depricatedProp = function(p) {
return p === "returnValue" || p === "totalSize" || p === "position";
};
//global state
mergeObjects = function(src, dst) {
var k, v;
for (k in src) {
v = src[k];
if (depricatedProp(k)) {
continue;
}
try {
dst[k] = src[k];
} catch (_error) {}
//the global hooks event emitter is also the global xhook object
//(not the best decision in hindsight)
const xhook = _misc_hooks__WEBPACK_IMPORTED_MODULE_6__["default"];
xhook.EventEmitter = _misc_event_emitter__WEBPACK_IMPORTED_MODULE_0__["EventEmitter"];
//modify hooks
xhook.before = function(handler, i) {
if (handler.length < 1 || handler.length > 2) {
throw "invalid hook";
}
return dst;
return xhook.on("before", handler, i);
};
nullify = function(res) {
if (res === void 0) {
return null;
xhook.after = function(handler, i) {
if (handler.length < 2 || handler.length > 3) {
throw "invalid hook";
}
return res;
return xhook.on("after", handler, i);
};
proxyEvents = function(events, src, dst) {
var event, p, _i, _len;
p = function(event) {
return function(e) {
var clone, k, val;
clone = {};
for (k in e) {
if (depricatedProp(k)) {
continue;
}
val = e[k];
clone[k] = val === src ? dst : val;
}
return dst[FIRE](event, clone);
};
};
for (_i = 0, _len = events.length; _i < _len; _i++) {
event = events[_i];
if (dst._has(event)) {
src["on" + event] = p(event);
}
}
//globally enable/disable
xhook.enable = function() {
_patch_xmlhttprequest__WEBPACK_IMPORTED_MODULE_3__["default"].patch();
_patch_fetch__WEBPACK_IMPORTED_MODULE_4__["default"].patch();
_patch_formdata__WEBPACK_IMPORTED_MODULE_5__["default"].patch();
};
xhook.disable = function() {
_patch_xmlhttprequest__WEBPACK_IMPORTED_MODULE_3__["default"].unpatch();
_patch_fetch__WEBPACK_IMPORTED_MODULE_4__["default"].unpatch();
_patch_formdata__WEBPACK_IMPORTED_MODULE_5__["default"].unpatch();
};
//expose native objects
xhook.XMLHttpRequest = _patch_xmlhttprequest__WEBPACK_IMPORTED_MODULE_3__["default"].Native;
xhook.fetch = _patch_fetch__WEBPACK_IMPORTED_MODULE_4__["default"].Native;
xhook.FormData = _patch_formdata__WEBPACK_IMPORTED_MODULE_5__["default"].Native;
fakeEvent = function(type) {
var msieEventObject;
if (document && (document.createEventObject != null)) {
msieEventObject = document.createEventObject();
msieEventObject.type = type;
return msieEventObject;
} else {
try {
return new Event(type);
} catch (_error) {
return {
type: type
};
//expose helpers
xhook.headers = _misc_headers__WEBPACK_IMPORTED_MODULE_2__["default"].convert;
//enable by default
xhook.enable();
//publicise (amd+commonjs+window)
if (typeof define === "function" && __webpack_require__(/*! !webpack amd options */ "./node_modules/webpack/buildin/amd-options.js")) {
define("xhook", [], () => xhook);
} else if (module && typeof module === "object" && module.exports) {
module.exports = { xhook };
} else if (_misc_window__WEBPACK_IMPORTED_MODULE_1__["window"]) {
_misc_window__WEBPACK_IMPORTED_MODULE_1__["window"].xhook = xhook;
}
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../node_modules/webpack/buildin/harmony-module.js */ "./node_modules/webpack/buildin/harmony-module.js")(module)))
/***/ }),
/***/ "./src/misc/array.js":
/*!***************************!*\
!*** ./src/misc/array.js ***!
\***************************/
/*! exports provided: slice */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "slice", function() { return slice; });
//if required, add 'indexOf' method to Array
if (!Array.prototype.indexOf) {
Array.prototype.indexOf = function(item) {
for (let i = 0; i < this.length; i++) {
const x = this[i];
if (x === item) {
return i;
}
}
}
};
return -1;
};
}
EventEmitter = function(nodeStyle) {
var emitter, events, listeners;
events = {};
listeners = function(event) {
return events[event] || [];
};
emitter = {};
emitter[ON] = function(event, callback, i) {
const slice = (o, n) => Array.prototype.slice.call(o, n);
/***/ }),
/***/ "./src/misc/event-emitter.js":
/*!***********************************!*\
!*** ./src/misc/event-emitter.js ***!
\***********************************/
/*! exports provided: EventEmitter */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "EventEmitter", function() { return EventEmitter; });
/* harmony import */ var _array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./array */ "./src/misc/array.js");
/* harmony import */ var _events__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./events */ "./src/misc/events.js");
//tiny event emitter
const EventEmitter = function(nodeStyle) {
//private
let events = {};
const listeners = event => events[event] || [];
//public
const emitter = {};
emitter.addEventListener = function(event, callback, i) {
events[event] = listeners(event);

@@ -145,4 +313,4 @@ if (events[event].indexOf(callback) >= 0) {

};
emitter[OFF] = function(event, callback) {
var i;
emitter.removeEventListener = function(event, callback) {
//remove all
if (event === undefined) {

@@ -152,6 +320,8 @@ events = {};

}
//remove all of type event
if (callback === undefined) {
events[event] = [];
}
i = listeners(event).indexOf(callback);
//remove particular handler
const i = listeners(event).indexOf(callback);
if (i === -1) {

@@ -162,32 +332,27 @@ return;

};
emitter[FIRE] = function() {
var args, event, i, legacylistener, listener, _i, _len, _ref;
args = slice(arguments);
event = args.shift();
emitter.dispatchEvent = function() {
const args = Object(_array__WEBPACK_IMPORTED_MODULE_0__["slice"])(arguments);
const event = args.shift();
if (!nodeStyle) {
args[0] = mergeObjects(args[0], fakeEvent(event));
args[0] = Object(_events__WEBPACK_IMPORTED_MODULE_1__["mergeObjects"])(args[0], Object(_events__WEBPACK_IMPORTED_MODULE_1__["fakeEvent"])(event));
}
legacylistener = emitter["on" + event];
const legacylistener = emitter[`on${event}`];
if (legacylistener) {
legacylistener.apply(emitter, args);
}
_ref = listeners(event).concat(listeners("*"));
for (i = _i = 0, _len = _ref.length; _i < _len; i = ++_i) {
listener = _ref[i];
const iterable = listeners(event).concat(listeners("*"));
for (let i = 0; i < iterable.length; i++) {
const listener = iterable[i];
listener.apply(emitter, args);
}
};
emitter._has = function(event) {
return !!(events[event] || emitter["on" + event]);
};
emitter._has = event => !!(events[event] || emitter[`on${event}`]);
//add extra aliases
if (nodeStyle) {
emitter.listeners = function(event) {
return slice(listeners(event));
};
emitter.on = emitter[ON];
emitter.off = emitter[OFF];
emitter.fire = emitter[FIRE];
emitter.listeners = event => Object(_array__WEBPACK_IMPORTED_MODULE_0__["slice"])(listeners(event));
emitter.on = emitter.addEventListener;
emitter.off = emitter.removeEventListener;
emitter.fire = emitter.dispatchEvent;
emitter.once = function(e, fn) {
var fire;
fire = function() {
var fire = function() {
emitter.off(e, fire);

@@ -198,47 +363,102 @@ return fn.apply(null, arguments);

};
emitter.destroy = function() {
return events = {};
};
emitter.destroy = () => (events = {});
}
return emitter;
};
xhook = EventEmitter(true);
xhook.EventEmitter = EventEmitter;
/***/ }),
xhook[BEFORE] = function(handler, i) {
if (handler.length < 1 || handler.length > 2) {
throw "invalid hook";
/***/ "./src/misc/events.js":
/*!****************************!*\
!*** ./src/misc/events.js ***!
\****************************/
/*! exports provided: UPLOAD_EVENTS, COMMON_EVENTS, mergeObjects, proxyEvents, fakeEvent */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "UPLOAD_EVENTS", function() { return UPLOAD_EVENTS; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "COMMON_EVENTS", function() { return COMMON_EVENTS; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mergeObjects", function() { return mergeObjects; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "proxyEvents", function() { return proxyEvents; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "fakeEvent", function() { return fakeEvent; });
/* harmony import */ var _window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./window */ "./src/misc/window.js");
const UPLOAD_EVENTS = ["load", "loadend", "loadstart"];
const COMMON_EVENTS = ["progress", "abort", "error", "timeout"];
const depricatedProp = p =>
["returnValue", "totalSize", "position"].includes(p);
const mergeObjects = function(src, dst) {
for (let k in src) {
if (depricatedProp(k)) {
continue;
}
const v = src[k];
try {
dst[k] = v;
} catch (error) {}
}
return xhook[ON](BEFORE, handler, i);
return dst;
};
xhook[AFTER] = function(handler, i) {
if (handler.length < 2 || handler.length > 3) {
throw "invalid hook";
//proxy events from one emitter to another
const proxyEvents = function(events, src, dst) {
const p = event =>
function(e) {
const clone = {};
//copies event, with dst emitter inplace of src
for (let k in e) {
if (depricatedProp(k)) {
continue;
}
const val = e[k];
clone[k] = val === src ? dst : val;
}
//emits out the dst
return dst.dispatchEvent(event, clone);
};
//dont proxy manual events
for (let event of Array.from(events)) {
if (dst._has(event)) {
src[`on${event}`] = p(event);
}
}
return xhook[ON](AFTER, handler, i);
};
xhook.enable = function() {
WINDOW[XMLHTTP] = XHookHttpRequest;
if (typeof XHookFetchRequest === "function") {
WINDOW[FETCH] = XHookFetchRequest;
//create fake event
const fakeEvent = function(type) {
if (_window__WEBPACK_IMPORTED_MODULE_0__["document"] && _window__WEBPACK_IMPORTED_MODULE_0__["document"].createEventObject != null) {
const msieEventObject = _window__WEBPACK_IMPORTED_MODULE_0__["document"].createEventObject();
msieEventObject.type = type;
return msieEventObject;
}
if (NativeFormData) {
WINDOW[FormData] = XHookFormData;
// on some platforms like android 4.1.2 and safari on windows, it appears
// that new Event is not allowed
try {
return new Event(type);
} catch (error) {
return { type };
}
};
xhook.disable = function() {
WINDOW[XMLHTTP] = xhook[XMLHTTP];
WINDOW[FETCH] = xhook[FETCH];
if (NativeFormData) {
WINDOW[FormData] = NativeFormData;
}
};
convertHeaders = xhook.headers = function(h, dest) {
var header, headers, k, name, v, value, _i, _len, _ref;
/***/ }),
/***/ "./src/misc/headers.js":
/*!*****************************!*\
!*** ./src/misc/headers.js ***!
\*****************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
//helper
const convert = function(h, dest) {
let name;
if (dest == null) {

@@ -249,16 +469,15 @@ dest = {};

case "object":
headers = [];
for (k in h) {
v = h[k];
var headers = [];
for (let k in h) {
const v = h[k];
name = k.toLowerCase();
headers.push("" + name + ":\t" + v);
headers.push(`${name}:\t${v}`);
}
return headers.join('\n') + '\n';
return headers.join("\n") + "\n";
case "string":
headers = h.split('\n');
for (_i = 0, _len = headers.length; _i < _len; _i++) {
header = headers[_i];
headers = h.split("\n");
for (let header of Array.from(headers)) {
if (/([^:]+):\s*(.+)/.test(header)) {
name = (_ref = RegExp.$1) != null ? _ref.toLowerCase() : void 0;
value = RegExp.$2;
name = RegExp.$1 != null ? RegExp.$1.toLowerCase() : undefined;
const value = RegExp.$2;
if (dest[name] == null) {

@@ -271,69 +490,337 @@ dest[name] = value;

}
return [];
};
NativeFormData = WINDOW[FormData];
/* harmony default export */ __webpack_exports__["default"] = ({ convert });
XHookFormData = function(form) {
var entries;
this.fd = form ? new NativeFormData(form) : new NativeFormData();
/***/ }),
/***/ "./src/misc/hooks.js":
/*!***************************!*\
!*** ./src/misc/hooks.js ***!
\***************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _event_emitter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./event-emitter */ "./src/misc/event-emitter.js");
//global set of hook functions,
//uses event emitter to store hooks
const hooks = Object(_event_emitter__WEBPACK_IMPORTED_MODULE_0__["EventEmitter"])(true);
/* harmony default export */ __webpack_exports__["default"] = (hooks);
/***/ }),
/***/ "./src/misc/window.js":
/*!****************************!*\
!*** ./src/misc/window.js ***!
\****************************/
/*! exports provided: msie, window, document */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* WEBPACK VAR INJECTION */(function(global) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "msie", function() { return msie; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "window", function() { return window; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "document", function() { return document; });
let result = null;
//find global object
if (
typeof WorkerGlobalScope !== "undefined" &&
self instanceof WorkerGlobalScope
) {
result = self;
} else if (typeof global !== "undefined") {
result = global;
} else if (window) {
result = window;
}
//find IE version
const useragent =
typeof navigator !== "undefined" && navigator["useragent"]
? navigator.userAgent
: "";
let msie = null;
if (
/msie (\d+)/.test(useragent.toLowerCase()) ||
/trident\/.*; rv:(\d+)/.test(useragent.toLowerCase())
) {
msie = parseInt(RegExp.$1, 10);
}
const window = result;
const document = result.document;
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../node_modules/webpack/buildin/global.js */ "./node_modules/webpack/buildin/global.js")))
/***/ }),
/***/ "./src/patch/fetch.js":
/*!****************************!*\
!*** ./src/patch/fetch.js ***!
\****************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _misc_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../misc/window */ "./src/misc/window.js");
/* harmony import */ var _misc_events__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../misc/events */ "./src/misc/events.js");
/* harmony import */ var _misc_hooks__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../misc/hooks */ "./src/misc/hooks.js");
/* harmony import */ var _formdata__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./formdata */ "./src/patch/formdata.js");
//browser's fetch
const Native = _misc_window__WEBPACK_IMPORTED_MODULE_0__["window"].fetch;
//xhook's fetch
const Xhook = function(url, options) {
if (options == null) {
options = { headers: {} };
}
options.url = url;
let request = null;
const beforeHooks = _misc_hooks__WEBPACK_IMPORTED_MODULE_2__["default"].listeners("before");
const afterHooks = _misc_hooks__WEBPACK_IMPORTED_MODULE_2__["default"].listeners("after");
return new Promise(function(resolve, reject) {
let fullfiled = resolve
const getRequest = function() {
if (options.body instanceof _formdata__WEBPACK_IMPORTED_MODULE_3__["default"].Xhook) {
options.body = options.body.fd;
}
if (options.headers) {
options.headers = new Headers(options.headers);
}
if (!request) {
request = new Request(options.url, options);
}
return Object(_misc_events__WEBPACK_IMPORTED_MODULE_1__["mergeObjects"])(options, request);
};
var processAfter = function(response) {
if (!afterHooks.length) {
return fullfiled(response);
}
const hook = afterHooks.shift();
if (hook.length === 2) {
hook(getRequest(), response);
return processAfter(response);
} else if (hook.length === 3) {
return hook(getRequest(), response, processAfter);
} else {
return processAfter(response);
}
};
const done = function(userResponse) {
if (userResponse !== undefined) {
const response = new Response(
userResponse.body || userResponse.text,
userResponse
);
resolve(response);
processAfter(response);
return;
}
//continue processing until no hooks left
processBefore();
};
var processBefore = function() {
if (!beforeHooks.length) {
send();
return;
}
const hook = beforeHooks.shift();
if (hook.length === 1) {
return done(hook(options));
} else if (hook.length === 2) {
return hook(getRequest(), done);
}
};
var send = () =>
Native(getRequest())
.then(response => processAfter(response))
.catch(function(err) {
fullfiled = reject
processAfter(err);
return reject(err);
});
processBefore();
});
};
//patch interface
/* harmony default export */ __webpack_exports__["default"] = ({
patch() {
if (Native) {
_misc_window__WEBPACK_IMPORTED_MODULE_0__["window"].fetch = Xhook;
}
},
unpatch() {
if (Native) {
_misc_window__WEBPACK_IMPORTED_MODULE_0__["window"].fetch = Native;
}
},
Native,
Xhook
});
/***/ }),
/***/ "./src/patch/formdata.js":
/*!*******************************!*\
!*** ./src/patch/formdata.js ***!
\*******************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _misc_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../misc/window */ "./src/misc/window.js");
/* harmony import */ var _misc_array__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../misc/array */ "./src/misc/array.js");
//note:
// we can patch FormData safely because all XHR
// is hooked, so we can ensure the real FormData
// object is used on send
//browser's FormData
var Native = _misc_window__WEBPACK_IMPORTED_MODULE_0__["window"].FormData;
//xhooks's FormData
const Xhook = function(form) {
this.fd = form ? new Native(form) : new Native();
this.form = form;
entries = [];
Object.defineProperty(this, 'entries', {
get: function() {
var fentries;
fentries = !form ? [] : slice(form.querySelectorAll("input,select")).filter(function(e) {
var _ref;
return ((_ref = e.type) !== 'checkbox' && _ref !== 'radio') || e.checked;
}).map(function(e) {
return [e.name, e.type === "file" ? e.files : e.value];
});
const entries = [];
Object.defineProperty(this, "entries", {
get() {
//extract form entries
const fentries = !form
? []
: Object(_misc_array__WEBPACK_IMPORTED_MODULE_1__["slice"])(form.querySelectorAll("input,select"))
.filter(e => !["checkbox", "radio"].includes(e.type) || e.checked)
.map(e => [e.name, e.type === "file" ? e.files : e.value]);
//combine with js entries
return fentries.concat(entries);
}
});
this.append = (function(_this) {
return function() {
var args;
args = slice(arguments);
entries.push(args);
return _this.fd.append.apply(_this.fd, args);
};
})(this);
this.append = function() {
const args = Object(_misc_array__WEBPACK_IMPORTED_MODULE_1__["slice"])(arguments);
entries.push(args);
return this.fd.append.apply(this.fd, args);
}.bind(this);
};
if (NativeFormData) {
xhook[FormData] = NativeFormData;
WINDOW[FormData] = XHookFormData;
}
//patch interface
/* harmony default export */ __webpack_exports__["default"] = ({
patch() {
if (Native) {
_misc_window__WEBPACK_IMPORTED_MODULE_0__["window"].FormData = Xhook;
}
},
unpatch() {
if (Native) {
_misc_window__WEBPACK_IMPORTED_MODULE_0__["window"].FormData = Native;
}
},
Native,
Xhook
});
NativeXMLHttp = WINDOW[XMLHTTP];
xhook[XMLHTTP] = NativeXMLHttp;
/***/ }),
XHookHttpRequest = WINDOW[XMLHTTP] = function() {
var ABORTED, currentState, emitFinal, emitReadyState, event, facade, hasError, hasErrorHandler, readBody, readHead, request, response, setReadyState, status, transiting, writeBody, writeHead, xhr, _i, _len, _ref;
ABORTED = -1;
xhr = new xhook[XMLHTTP]();
request = {};
status = null;
hasError = void 0;
transiting = void 0;
response = void 0;
readHead = function() {
var key, name, val, _ref;
/***/ "./src/patch/xmlhttprequest.js":
/*!*************************************!*\
!*** ./src/patch/xmlhttprequest.js ***!
\*************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _misc_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../misc/window */ "./src/misc/window.js");
/* harmony import */ var _misc_events__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../misc/events */ "./src/misc/events.js");
/* harmony import */ var _misc_event_emitter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../misc/event-emitter */ "./src/misc/event-emitter.js");
/* harmony import */ var _misc_headers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../misc/headers */ "./src/misc/headers.js");
/* harmony import */ var _formdata__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./formdata */ "./src/patch/formdata.js");
const nullify = res => (res === undefined ? null : res);
//browser's XMLHttpRequest
const Native = _misc_window__WEBPACK_IMPORTED_MODULE_0__["window"].XMLHttpRequest;
//xhook's XMLHttpRequest
const Xhook = function() {
const ABORTED = -1;
const xhr = new Native();
//==========================
// Extra state
const request = {};
let status = null;
let hasError = undefined;
let transiting = undefined;
let response = undefined;
var currentState = 0;
//==========================
// Private API
//read results from real xhr into response
const readHead = function() {
// Accessing attributes on an aborted xhr object will
// throw an 'c00c023f error' in IE9 and lower, don't touch it.
response.status = status || xhr.status;
if (!(status === ABORTED && msie < 10)) {
if (status !== ABORTED || !(_misc_window__WEBPACK_IMPORTED_MODULE_0__["msie"] < 10)) {
response.statusText = xhr.statusText;
}
if (status !== ABORTED) {
_ref = convertHeaders(xhr.getAllResponseHeaders());
for (key in _ref) {
val = _ref[key];
const object = _misc_headers__WEBPACK_IMPORTED_MODULE_3__["default"].convert(xhr.getAllResponseHeaders());
for (let key in object) {
const val = object[key];
if (!response.headers[key]) {
name = key.toLowerCase();
const name = key.toLowerCase();
response.headers[name] = val;
}
}
return;
}
};
readBody = function() {
const readBody = function() {
//https://xhr.spec.whatwg.org/
if (!xhr.responseType || xhr.responseType === "text") {

@@ -344,5 +831,7 @@ response.text = xhr.responseText;

response.xml = xhr.responseXML;
} catch (_error) {
}
} catch (error) {}
// unable to set responseXML due to response type, we attempt to assign responseXML
// when the type is text even though it's against the spec due to several libraries
// and browser vendors who allow this behavior. causing these requests to fail when
// xhook is installed on a page.
} else if (xhr.responseType === "document") {

@@ -354,2 +843,3 @@ response.xml = xhr.responseXML;

}
//new in some browsers
if ("responseURL" in xhr) {

@@ -359,25 +849,42 @@ response.finalUrl = xhr.responseURL;

};
writeHead = function() {
//write response into facade xhr
const writeHead = function() {
facade.status = response.status;
facade.statusText = response.statusText;
};
writeBody = function() {
if ('text' in response) {
const writeBody = function() {
if ("text" in response) {
facade.responseText = response.text;
}
if ('xml' in response) {
if ("xml" in response) {
facade.responseXML = response.xml;
}
if ('data' in response) {
if ("data" in response) {
facade.response = response.data;
}
if ('finalUrl' in response) {
if ("finalUrl" in response) {
facade.responseURL = response.finalUrl;
}
};
emitReadyState = function(n) {
const emitFinal = function() {
if (!hasError) {
facade.dispatchEvent("load", {});
}
facade.dispatchEvent("loadend", {});
if (hasError) {
facade.readyState = 0;
}
};
//ensure ready state 0 through 4 is handled
const emitReadyState = function(n) {
while (n > currentState && currentState < 4) {
facade[READY_STATE] = ++currentState;
facade.readyState = ++currentState;
// make fake events for libraries that actually check the type on
// the event object
if (currentState === 1) {
facade[FIRE]("loadstart", {});
facade.dispatchEvent("loadstart", {});
}

@@ -391,3 +898,4 @@ if (currentState === 2) {

}
facade[FIRE]("readystatechange", {});
facade.dispatchEvent("readystatechange", {});
//delay final events incase of error
if (currentState === 4) {

@@ -402,14 +910,6 @@ if (request.async === false) {

};
emitFinal = function() {
if (!hasError) {
facade[FIRE]("load", {});
}
facade[FIRE]("loadend", {});
if (hasError) {
facade[READY_STATE] = 0;
}
};
currentState = 0;
setReadyState = function(n) {
var hooks, process;
//control facade ready state
const setReadyState = function(n) {
//emit events until readyState reaches 4
if (n !== 4) {

@@ -419,28 +919,40 @@ emitReadyState(n);

}
hooks = xhook.listeners(AFTER);
process = function() {
var hook;
if (!hooks.length) {
return emitReadyState(4);
}
hook = hooks.shift();
if (hook.length === 2) {
hook(request, response);
return process();
} else if (hook.length === 3 && request.async) {
return hook(request, response, process);
//before emitting 4, run all 'after' hooks in sequence
const hooks = xhook.listeners("after");
var process = function() {
if (hooks.length > 0) {
//execute each 'before' hook one at a time
const hook = hooks.shift();
if (hook.length === 2) {
hook(request, response);
process();
} else if (hook.length === 3 && request.async) {
hook(request, response, process);
} else {
process();
}
} else {
return process();
//response ready for reading
emitReadyState(4);
}
return;
};
process();
};
facade = request.xhr = EventEmitter();
//==========================
// Facade XHR
var facade = Object(_misc_event_emitter__WEBPACK_IMPORTED_MODULE_2__["EventEmitter"])();
request.xhr = facade;
// Handle the underlying ready state
xhr.onreadystatechange = function(event) {
//pull status and headers
try {
if (xhr[READY_STATE] === 2) {
if (xhr.readyState === 2) {
readHead();
}
} catch (_error) {}
if (xhr[READY_STATE] === 4) {
} catch (error) {}
//pull response data
if (xhr.readyState === 4) {
transiting = false;

@@ -450,35 +962,44 @@ readHead();

}
setReadyState(xhr[READY_STATE]);
setReadyState(xhr.readyState);
};
hasErrorHandler = function() {
//mark this xhr as errored
const hasErrorHandler = function() {
hasError = true;
};
facade[ON]('error', hasErrorHandler);
facade[ON]('timeout', hasErrorHandler);
facade[ON]('abort', hasErrorHandler);
facade[ON]('progress', function() {
facade.addEventListener("error", hasErrorHandler);
facade.addEventListener("timeout", hasErrorHandler);
facade.addEventListener("abort", hasErrorHandler);
// progress means we're current downloading...
facade.addEventListener("progress", function(event) {
if (currentState < 3) {
setReadyState(3);
} else {
facade[FIRE]("readystatechange", {});
} else if (xhr.readyState <= 3) {
//until ready (4), each progress event is followed by readystatechange...
facade.dispatchEvent("readystatechange", {}); //TODO fake an XHR event
}
});
if ('withCredentials' in xhr || xhook.addWithCredentials) {
// initialise 'withCredentials' on facade xhr in browsers with it
// or if explicitly told to do so
if ("withCredentials" in xhr || xhook.addWithCredentials) {
facade.withCredentials = false;
}
facade.status = 0;
_ref = COMMON_EVENTS.concat(UPLOAD_EVENTS);
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
event = _ref[_i];
facade["on" + event] = null;
// initialise all possible event handlers
for (let event of Array.from(_misc_events__WEBPACK_IMPORTED_MODULE_1__["COMMON_EVENTS"].concat(_misc_events__WEBPACK_IMPORTED_MODULE_1__["UPLOAD_EVENTS"]))) {
facade[`on${event}`] = null;
}
facade.open = function(method, url, async, user, pass) {
// Initailize empty XHR facade
currentState = 0;
hasError = false;
transiting = false;
//reset request
request.headers = {};
request.headerNames = {};
request.status = 0;
response = {};
response.headers = {};
request.method = method;

@@ -489,9 +1010,13 @@ request.url = url;

request.pass = pass;
//reset response
response = {};
response.headers = {};
// openned facade xhr (not real xhr)
setReadyState(1);
};
facade.send = function(body) {
var hooks, k, modk, process, send, _j, _len1, _ref1;
_ref1 = ['type', 'timeout', 'withCredentials'];
for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) {
k = _ref1[_j];
//read xhr settings before hooking
let k, modk;
for (k of ["type", "timeout", "withCredentials"]) {
modk = k === "type" ? "responseType" : k;

@@ -502,14 +1027,29 @@ if (modk in facade) {

}
request.body = body;
send = function() {
var header, value, _k, _len2, _ref2, _ref3;
proxyEvents(COMMON_EVENTS, xhr, facade);
const send = function() {
//proxy all events from real xhr to facade
Object(_misc_events__WEBPACK_IMPORTED_MODULE_1__["proxyEvents"])(_misc_events__WEBPACK_IMPORTED_MODULE_1__["COMMON_EVENTS"], xhr, facade);
//proxy all upload events from the real to the upload facade
if (facade.upload) {
proxyEvents(COMMON_EVENTS.concat(UPLOAD_EVENTS), xhr.upload, facade.upload);
Object(_misc_events__WEBPACK_IMPORTED_MODULE_1__["proxyEvents"])(
_misc_events__WEBPACK_IMPORTED_MODULE_1__["COMMON_EVENTS"].concat(_misc_events__WEBPACK_IMPORTED_MODULE_1__["UPLOAD_EVENTS"]),
xhr.upload,
facade.upload
);
}
//prepare request all at once
transiting = true;
xhr.open(request.method, request.url, request.async, request.user, request.pass);
_ref2 = ['type', 'timeout', 'withCredentials'];
for (_k = 0, _len2 = _ref2.length; _k < _len2; _k++) {
k = _ref2[_k];
//perform open
xhr.open(
request.method,
request.url,
request.async,
request.user,
request.pass
);
//write xhr settings
for (k of ["type", "timeout", "withCredentials"]) {
modk = k === "type" ? "responseType" : k;

@@ -520,5 +1060,6 @@ if (k in request) {

}
_ref3 = request.headers;
for (header in _ref3) {
value = _ref3[header];
//insert headers
for (let header in request.headers) {
const value = request.headers[header];
if (header) {

@@ -528,17 +1069,26 @@ xhr.setRequestHeader(header, value);

}
if (request.body instanceof XHookFormData) {
//extract real formdata
if (request.body instanceof _formdata__WEBPACK_IMPORTED_MODULE_4__["default"].Xhook) {
request.body = request.body.fd;
}
//real send!
xhr.send(request.body);
};
hooks = xhook.listeners(BEFORE);
process = function() {
var done, hook;
const hooks = xhook.listeners("before");
//process hooks sequentially
var process = function() {
if (!hooks.length) {
return send();
}
done = function(userResponse) {
if (typeof userResponse === 'object' && (typeof userResponse.status === 'number' || typeof response.status === 'number')) {
mergeObjects(userResponse, response);
if (__indexOf.call(userResponse, 'data') < 0) {
//go to next hook OR optionally provide response
const done = function(userResponse) {
//break chain - provide dummy response (readyState 4)
if (
typeof userResponse === "object" &&
(typeof userResponse.status === "number" ||
typeof response.status === "number")
) {
Object(_misc_events__WEBPACK_IMPORTED_MODULE_1__["mergeObjects"])(userResponse, response);
if (!("data" in userResponse)) {
userResponse.data = userResponse.response || userResponse.text;

@@ -549,56 +1099,73 @@ }

}
//continue processing until no hooks left
process();
};
//specifically provide headers (readyState 2)
done.head = function(userResponse) {
mergeObjects(userResponse, response);
return setReadyState(2);
Object(_misc_events__WEBPACK_IMPORTED_MODULE_1__["mergeObjects"])(userResponse, response);
setReadyState(2);
};
//specifically provide partial text (responseText readyState 3)
done.progress = function(userResponse) {
mergeObjects(userResponse, response);
return setReadyState(3);
Object(_misc_events__WEBPACK_IMPORTED_MODULE_1__["mergeObjects"])(userResponse, response);
setReadyState(3);
};
hook = hooks.shift();
const hook = hooks.shift();
//async or sync?
if (hook.length === 1) {
return done(hook(request));
done(hook(request));
} else if (hook.length === 2 && request.async) {
return hook(request, done);
//async handlers must use an async xhr
hook(request, done);
} else {
return done();
//skip async hook on sync requests
done();
}
return;
};
//kick off
process();
};
facade.abort = function() {
status = ABORTED;
if (transiting) {
xhr.abort();
xhr.abort(); //this will emit an 'abort' for us
} else {
facade[FIRE]('abort', {});
facade.dispatchEvent("abort", {});
}
};
facade.setRequestHeader = function(header, value) {
var lName, name;
lName = header != null ? header.toLowerCase() : void 0;
name = request.headerNames[lName] = request.headerNames[lName] || header;
//the first header set is used for all future case-alternatives of 'name'
const lName = header != null ? header.toLowerCase() : undefined;
const name = (request.headerNames[lName] =
request.headerNames[lName] || header);
//append header to any previous values
if (request.headers[name]) {
value = request.headers[name] + ', ' + value;
value = request.headers[name] + ", " + value;
}
request.headers[name] = value;
};
facade.getResponseHeader = function(header) {
var name;
name = header != null ? header.toLowerCase() : void 0;
return nullify(response.headers[name]);
};
facade.getAllResponseHeaders = function() {
return nullify(convertHeaders(response.headers));
};
facade.getResponseHeader = header =>
nullify(response.headers[header ? header.toLowerCase() : undefined]);
facade.getAllResponseHeaders = () =>
nullify(_misc_headers__WEBPACK_IMPORTED_MODULE_3__["default"].convert(response.headers));
//proxy call only when supported
if (xhr.overrideMimeType) {
facade.overrideMimeType = function() {
return xhr.overrideMimeType.apply(xhr, arguments);
xhr.overrideMimeType.apply(xhr, arguments);
};
}
//create emitter when supported
if (xhr.upload) {
facade.upload = request.upload = EventEmitter();
let up = Object(_misc_event_emitter__WEBPACK_IMPORTED_MODULE_2__["EventEmitter"])();
facade.upload = up;
request.upload = up;
}
facade.UNSENT = 0;

@@ -609,111 +1176,39 @@ facade.OPENED = 1;

facade.DONE = 4;
facade.response = '';
facade.responseText = '';
// fill in default values for an empty XHR object according to the spec
facade.response = "";
facade.responseText = "";
facade.responseXML = null;
facade.readyState = 0;
facade.statusText = '';
facade.statusText = "";
return facade;
};
if (typeof WINDOW[FETCH] === "function") {
NativeFetch = WINDOW[FETCH];
xhook[FETCH] = NativeFetch;
XHookFetchRequest = WINDOW[FETCH] = function(url, options) {
var afterHooks, beforeHooks, request;
if (options == null) {
options = {
headers: {}
};
Xhook.UNSENT = 0;
Xhook.OPENED = 1;
Xhook.HEADERS_RECEIVED = 2;
Xhook.LOADING = 3;
Xhook.DONE = 4;
//patch interface
/* harmony default export */ __webpack_exports__["default"] = ({
patch() {
if (Native) {
_misc_window__WEBPACK_IMPORTED_MODULE_0__["window"].XMLHttpRequest = Xhook;
}
options.url = url;
request = null;
beforeHooks = xhook.listeners(BEFORE);
afterHooks = xhook.listeners(AFTER);
return new Promise(function(resolve, reject) {
var done, getRequest, processAfter, processBefore, send;
getRequest = function() {
if (options.body instanceof XHookFormData) {
options.body = options.body.fd;
}
if (options.headers) {
options.headers = new Headers(options.headers);
}
if (!request) {
request = new Request(options.url, options);
}
return mergeObjects(options, request);
};
processAfter = function(response) {
var hook;
if (!afterHooks.length) {
return resolve(response);
}
hook = afterHooks.shift();
if (hook.length === 2) {
hook(getRequest(), response);
return processAfter(response);
} else if (hook.length === 3) {
return hook(getRequest(), response, processAfter);
} else {
return processAfter(response);
}
};
done = function(userResponse) {
var response;
if (userResponse !== void 0) {
response = new Response(userResponse.body || userResponse.text, userResponse);
resolve(response);
processAfter(response);
return;
}
processBefore();
};
processBefore = function() {
var hook;
if (!beforeHooks.length) {
send();
return;
}
hook = beforeHooks.shift();
if (hook.length === 1) {
return done(hook(options));
} else if (hook.length === 2) {
return hook(getRequest(), done);
}
};
send = function() {
return NativeFetch(getRequest()).then(function(response) {
return processAfter(response);
})["catch"](function(err) {
processAfter(err);
return reject(err);
});
};
processBefore();
});
};
}
},
unpatch() {
if (Native) {
_misc_window__WEBPACK_IMPORTED_MODULE_0__["window"].XMLHttpRequest = Native;
}
},
Native,
Xhook
});
XHookHttpRequest.UNSENT = 0;
XHookHttpRequest.OPENED = 1;
/***/ })
XHookHttpRequest.HEADERS_RECEIVED = 2;
XHookHttpRequest.LOADING = 3;
XHookHttpRequest.DONE = 4;
if (typeof define === "function" && define.amd) {
define("xhook", [], function() {
return xhook;
});
} else if (typeof module === "object" && module.exports) {
module.exports = {
xhook: xhook
};
} else if (WINDOW) {
WINDOW.xhook = xhook;
}
}.call(this));
/******/ });
//# sourceMappingURL=xhook.js.map

@@ -1,3 +0,5 @@

// XHook - v1.4.9 - https://github.com/jpillora/xhook
// Jaime Pillora <dev@jpillora.com> - MIT Copyright 2018
(function(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H=[].indexOf||function(a){for(var b=0,c=this.length;b<c;b++)if(b in this&&this[b]===a)return b;return-1};q=null,q="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:"undefined"!=typeof global?global:a,x=q.document,d="before",c="after",o="readyState",n="addEventListener",m="removeEventListener",h="dispatchEvent",u="XMLHttpRequest",g="fetch",i="FormData",p=["load","loadend","loadstart"],e=["progress","abort","error","timeout"],E="undefined"!=typeof navigator&&navigator.useragent?navigator.userAgent:"",A=parseInt((/msie (\d+)/.exec(E.toLowerCase())||[])[1]),isNaN(A)&&(A=parseInt((/trident\/.*; rv:(\d+)/.exec(E.toLowerCase())||[])[1])),(G=Array.prototype).indexOf||(G.indexOf=function(a){var b,c,d,e;for(b=d=0,e=this.length;d<e;b=++d)if(c=this[b],c===a)return b;return-1}),D=function(a,b){return Array.prototype.slice.call(a,b)},w=function(a){return"returnValue"===a||"totalSize"===a||"position"===a},z=function(a,b){var c;for(c in a)if(a[c],!w(c))try{b[c]=a[c]}catch(a){}return b},B=function(a){return void 0===a?null:a},C=function(a,b,c){var d,e,f,g;for(e=function(a){return function(d){var e,f,g;e={};for(f in d)w(f)||(g=d[f],e[f]=g===b?c:g);return c[h](a,e)}},f=0,g=a.length;f<g;f++)d=a[f],c._has(d)&&(b["on"+d]=e(d))},y=function(a){var b;if(x&&null!=x.createEventObject)return b=x.createEventObject(),b.type=a,b;try{return new Event(a)}catch(b){return{type:a}}},f=function(a){var c,d,e;return d={},e=function(a){return d[a]||[]},c={},c[n]=function(a,c,f){d[a]=e(a),d[a].indexOf(c)>=0||(f=f===b?d[a].length:f,d[a].splice(f,0,c))},c[m]=function(a,c){var f;if(a===b)return void(d={});c===b&&(d[a]=[]),f=e(a).indexOf(c),f!==-1&&e(a).splice(f,1)},c[h]=function(){var b,d,f,g,h,i,j,k;for(b=D(arguments),d=b.shift(),a||(b[0]=z(b[0],y(d))),g=c["on"+d],g&&g.apply(c,b),k=e(d).concat(e("*")),f=i=0,j=k.length;i<j;f=++i)h=k[f],h.apply(c,b)},c._has=function(a){return!(!d[a]&&!c["on"+a])},a&&(c.listeners=function(a){return D(e(a))},c.on=c[n],c.off=c[m],c.fire=c[h],c.once=function(a,b){var d;return d=function(){return c.off(a,d),b.apply(null,arguments)},c.on(a,d)},c.destroy=function(){return d={}}),c},F=f(!0),F.EventEmitter=f,F[d]=function(a,b){if(a.length<1||a.length>2)throw"invalid hook";return F[n](d,a,b)},F[c]=function(a,b){if(a.length<2||a.length>3)throw"invalid hook";return F[n](c,a,b)},F.enable=function(){q[u]=t,"function"==typeof r&&(q[g]=r),k&&(q[i]=s)},F.disable=function(){q[u]=F[u],q[g]=F[g],k&&(q[i]=k)},v=F.headers=function(a,b){var c,d,e,f,g,h,i,j,k;switch(null==b&&(b={}),typeof a){case"object":d=[];for(e in a)g=a[e],f=e.toLowerCase(),d.push(f+":\t"+g);return d.join("\n")+"\n";case"string":for(d=a.split("\n"),i=0,j=d.length;i<j;i++)c=d[i],/([^:]+):\s*(.+)/.test(c)&&(f=null!=(k=RegExp.$1)?k.toLowerCase():void 0,h=RegExp.$2,null==b[f]&&(b[f]=h));return b}},k=q[i],s=function(a){var b;this.fd=a?new k(a):new k,this.form=a,b=[],Object.defineProperty(this,"entries",{get:function(){var c;return c=a?D(a.querySelectorAll("input,select")).filter(function(a){var b;return"checkbox"!==(b=a.type)&&"radio"!==b||a.checked}).map(function(a){return[a.name,"file"===a.type?a.files:a.value]}):[],c.concat(b)}}),this.append=function(a){return function(){var c;return c=D(arguments),b.push(c),a.fd.append.apply(a.fd,c)}}(this)},k&&(F[i]=k,q[i]=s),l=q[u],F[u]=l,t=q[u]=function(){var a,b,g,i,j,k,l,m,q,r,t,w,x,y,D,E,G,I,J,K,L;a=-1,I=new F[u],t={},y=null,l=void 0,D=void 0,w=void 0,r=function(){var b,c,d,e;if(w.status=y||I.status,y===a&&A<10||(w.statusText=I.statusText),y!==a){e=v(I.getAllResponseHeaders());for(b in e)d=e[b],w.headers[b]||(c=b.toLowerCase(),w.headers[c]=d)}},q=function(){if(I.responseType&&"text"!==I.responseType)"document"===I.responseType?(w.xml=I.responseXML,w.data=I.responseXML):w.data=I.response;else{w.text=I.responseText,w.data=I.responseText;try{w.xml=I.responseXML}catch(a){}}"responseURL"in I&&(w.finalUrl=I.responseURL)},G=function(){k.status=w.status,k.statusText=w.statusText},E=function(){"text"in w&&(k.responseText=w.text),"xml"in w&&(k.responseXML=w.xml),"data"in w&&(k.response=w.data),"finalUrl"in w&&(k.responseURL=w.finalUrl)},i=function(a){for(;a>b&&b<4;)k[o]=++b,1===b&&k[h]("loadstart",{}),2===b&&G(),4===b&&(G(),E()),k[h]("readystatechange",{}),4===b&&(t.async===!1?g():setTimeout(g,0))},g=function(){l||k[h]("load",{}),k[h]("loadend",{}),l&&(k[o]=0)},b=0,x=function(a){var b,d;if(4!==a)return void i(a);b=F.listeners(c),(d=function(){var a;return b.length?(a=b.shift(),2===a.length?(a(t,w),d()):3===a.length&&t.async?a(t,w,d):d()):i(4)})()},k=t.xhr=f(),I.onreadystatechange=function(a){try{2===I[o]&&r()}catch(a){}4===I[o]&&(D=!1,r(),q()),x(I[o])},m=function(){l=!0},k[n]("error",m),k[n]("timeout",m),k[n]("abort",m),k[n]("progress",function(){b<3?x(3):k[h]("readystatechange",{})}),("withCredentials"in I||F.addWithCredentials)&&(k.withCredentials=!1),k.status=0,L=e.concat(p);for(J=0,K=L.length;J<K;J++)j=L[J],k["on"+j]=null;return k.open=function(a,c,d,e,f){b=0,l=!1,D=!1,t.headers={},t.headerNames={},t.status=0,w={},w.headers={},t.method=a,t.url=c,t.async=d!==!1,t.user=e,t.pass=f,x(1)},k.send=function(a){var b,c,f,g,h,i,j,l;for(l=["type","timeout","withCredentials"],i=0,j=l.length;i<j;i++)c=l[i],f="type"===c?"responseType":c,f in k&&(t[c]=k[f]);t.body=a,h=function(){var a,b,d,g,h,i;for(C(e,I,k),k.upload&&C(e.concat(p),I.upload,k.upload),D=!0,I.open(t.method,t.url,t.async,t.user,t.pass),h=["type","timeout","withCredentials"],d=0,g=h.length;d<g;d++)c=h[d],f="type"===c?"responseType":c,c in t&&(I[f]=t[c]);i=t.headers;for(a in i)b=i[a],a&&I.setRequestHeader(a,b);t.body instanceof s&&(t.body=t.body.fd),I.send(t.body)},b=F.listeners(d),(g=function(){var a,c;return b.length?(a=function(a){if("object"==typeof a&&("number"==typeof a.status||"number"==typeof w.status))return z(a,w),H.call(a,"data")<0&&(a.data=a.response||a.text),void x(4);g()},a.head=function(a){return z(a,w),x(2)},a.progress=function(a){return z(a,w),x(3)},c=b.shift(),1===c.length?a(c(t)):2===c.length&&t.async?c(t,a):a()):h()})()},k.abort=function(){y=a,D?I.abort():k[h]("abort",{})},k.setRequestHeader=function(a,b){var c,d;c=null!=a?a.toLowerCase():void 0,d=t.headerNames[c]=t.headerNames[c]||a,t.headers[d]&&(b=t.headers[d]+", "+b),t.headers[d]=b},k.getResponseHeader=function(a){var b;return b=null!=a?a.toLowerCase():void 0,B(w.headers[b])},k.getAllResponseHeaders=function(){return B(v(w.headers))},I.overrideMimeType&&(k.overrideMimeType=function(){return I.overrideMimeType.apply(I,arguments)}),I.upload&&(k.upload=t.upload=f()),k.UNSENT=0,k.OPENED=1,k.HEADERS_RECEIVED=2,k.LOADING=3,k.DONE=4,k.response="",k.responseText="",k.responseXML=null,k.readyState=0,k.statusText="",k},"function"==typeof q[g]&&(j=q[g],F[g]=j,r=q[g]=function(a,b){var e,f,g;return null==b&&(b={headers:{}}),b.url=a,g=null,f=F.listeners(d),e=F.listeners(c),new Promise(function(a,c){var d,h,i,k,l;h=function(){return b.body instanceof s&&(b.body=b.body.fd),b.headers&&(b.headers=new Headers(b.headers)),g||(g=new Request(b.url,b)),z(b,g)},i=function(b){var c;return e.length?(c=e.shift(),2===c.length?(c(h(),b),i(b)):3===c.length?c(h(),b,i):i(b)):a(b)},d=function(b){var c;if(void 0!==b)return c=new Response(b.body||b.text,b),a(c),void i(c);k()},k=function(){var a;return f.length?(a=f.shift(),1===a.length?d(a(b)):2===a.length?a(h(),d):void 0):void l()},l=function(){return j(h()).then(function(a){return i(a)}).catch(function(a){return i(a),c(a)})},k()})}),t.UNSENT=0,t.OPENED=1,t.HEADERS_RECEIVED=2,t.LOADING=3,t.DONE=4,"function"==typeof define&&define.amd?define("xhook",[],function(){return F}):"object"==typeof module&&module.exports?module.exports={xhook:F}:q&&(q.xhook=F)}).call(this,window);
/*!
* XHook - v1.5.0 - https://github.com/jpillora/xhook
* Jaime Pillora <dev@jpillora.com> - MIT Copyright 2022
*/!function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=9)}([function(e,t,n){"use strict";(function(e){n.d(t,"b",(function(){return s})),n.d(t,"c",(function(){return a})),n.d(t,"a",(function(){return i}));let o=null;"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?o=self:void 0!==e?o=e:a&&(o=a);const r="undefined"!=typeof navigator&&navigator.useragent?navigator.userAgent:"";let s=null;(/msie (\d+)/.test(r.toLowerCase())||/trident\/.*; rv:(\d+)/.test(r.toLowerCase()))&&(s=parseInt(RegExp.$1,10));const a=o,i=o.document}).call(this,n(11))},function(e,t,n){"use strict";n.d(t,"b",(function(){return r})),n.d(t,"a",(function(){return s})),n.d(t,"d",(function(){return i})),n.d(t,"e",(function(){return c})),n.d(t,"c",(function(){return u}));var o=n(0);const r=["load","loadend","loadstart"],s=["progress","abort","error","timeout"],a=e=>["returnValue","totalSize","position"].includes(e),i=function(e,t){for(let n in e){if(a(n))continue;const o=e[n];try{t[n]=o}catch(e){}}return t},c=function(e,t,n){const o=e=>function(o){const r={};for(let e in o){if(a(e))continue;const s=o[e];r[e]=s===t?n:s}return n.dispatchEvent(e,r)};for(let r of Array.from(e))n._has(r)&&(t[`on${r}`]=o(r))},u=function(e){if(o.a&&null!=o.a.createEventObject){const t=o.a.createEventObject();return t.type=e,t}try{return new Event(e)}catch(t){return{type:e}}}},function(e,t,n){"use strict";var o=n(0),r=n(4),s=o.c.FormData;const a=function(e){this.fd=e?new s(e):new s,this.form=e;const t=[];Object.defineProperty(this,"entries",{get:()=>(e?Object(r.a)(e.querySelectorAll("input,select")).filter(e=>!["checkbox","radio"].includes(e.type)||e.checked).map(e=>[e.name,"file"===e.type?e.files:e.value]):[]).concat(t)}),this.append=function(){const e=Object(r.a)(arguments);return t.push(e),this.fd.append.apply(this.fd,e)}.bind(this)};t.a={patch(){s&&(o.c.FormData=a)},unpatch(){s&&(o.c.FormData=s)},Native:s,Xhook:a}},function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var o=n(4),r=n(1);const s=function(e){let t={};const n=e=>t[e]||[],s={addEventListener:function(e,o,r){t[e]=n(e),t[e].indexOf(o)>=0||(r=void 0===r?t[e].length:r,t[e].splice(r,0,o))},removeEventListener:function(e,o){if(void 0===e)return void(t={});void 0===o&&(t[e]=[]);const r=n(e).indexOf(o);-1!==r&&n(e).splice(r,1)},dispatchEvent:function(){const t=Object(o.a)(arguments),a=t.shift();e||(t[0]=Object(r.d)(t[0],Object(r.c)(a)));const i=s[`on${a}`];i&&i.apply(s,t);const c=n(a).concat(n("*"));for(let e=0;e<c.length;e++){c[e].apply(s,t)}},_has:e=>!(!t[e]&&!s[`on${e}`])};return e&&(s.listeners=e=>Object(o.a)(n(e)),s.on=s.addEventListener,s.off=s.removeEventListener,s.fire=s.dispatchEvent,s.once=function(e,t){var n=function(){return s.off(e,n),t.apply(null,arguments)};return s.on(e,n)},s.destroy=()=>t={}),s}},function(e,t,n){"use strict";n.d(t,"a",(function(){return o})),Array.prototype.indexOf||(Array.prototype.indexOf=function(e){for(let t=0;t<this.length;t++){if(this[t]===e)return t}return-1});const o=(e,t)=>Array.prototype.slice.call(e,t)},function(e,t,n){"use strict";t.a={convert:function(e,t){let n;switch(null==t&&(t={}),typeof e){case"object":var o=[];for(let t in e){const r=e[t];n=t.toLowerCase(),o.push(`${n}:\t${r}`)}return o.join("\n")+"\n";case"string":o=e.split("\n");for(let e of Array.from(o))if(/([^:]+):\s*(.+)/.test(e)){n=null!=RegExp.$1?RegExp.$1.toLowerCase():void 0;const e=RegExp.$2;null==t[n]&&(t[n]=e)}return t}return[]}}},function(e,t,n){"use strict";var o=n(3);const r=Object(o.a)(!0);t.a=r},function(e,t,n){"use strict";var o=n(0),r=n(1),s=n(3),a=n(5),i=n(2);const c=e=>void 0===e?null:e,u=o.c.XMLHttpRequest,f=function(){const e=new u,t={};let n=null,f=void 0,d=void 0,l=void 0;var p=0;const h=function(){if(l.status=n||e.status,-1===n&&o.b<10||(l.statusText=e.statusText),-1===n);else{const t=a.a.convert(e.getAllResponseHeaders());for(let e in t){const n=t[e];if(!l.headers[e]){const t=e.toLowerCase();l.headers[t]=n}}}},y=function(){x.status=l.status,x.statusText=l.statusText},v=function(){f||x.dispatchEvent("load",{}),x.dispatchEvent("loadend",{}),f&&(x.readyState=0)},b=function(e){for(;e>p&&p<4;)x.readyState=++p,1===p&&x.dispatchEvent("loadstart",{}),2===p&&y(),4===p&&(y(),"text"in l&&(x.responseText=l.text),"xml"in l&&(x.responseXML=l.xml),"data"in l&&(x.response=l.data),"finalUrl"in l&&(x.responseURL=l.finalUrl)),x.dispatchEvent("readystatechange",{}),4===p&&(!1===t.async?v():setTimeout(v,0))},g=function(e){if(4!==e)return void b(e);const n=xhook.listeners("after");var o=function(){if(n.length>0){const e=n.shift();2===e.length?(e(t,l),o()):3===e.length&&t.async?e(t,l,o):o()}else b(4)};o()};var x=Object(s.a)();t.xhr=x,e.onreadystatechange=function(t){try{2===e.readyState&&h()}catch(e){}4===e.readyState&&(d=!1,h(),function(){if(e.responseType&&"text"!==e.responseType)"document"===e.responseType?(l.xml=e.responseXML,l.data=e.responseXML):l.data=e.response;else{l.text=e.responseText,l.data=e.responseText;try{l.xml=e.responseXML}catch(e){}}"responseURL"in e&&(l.finalUrl=e.responseURL)}()),g(e.readyState)};const m=function(){f=!0};x.addEventListener("error",m),x.addEventListener("timeout",m),x.addEventListener("abort",m),x.addEventListener("progress",(function(t){p<3?g(3):e.readyState<=3&&x.dispatchEvent("readystatechange",{})})),("withCredentials"in e||xhook.addWithCredentials)&&(x.withCredentials=!1),x.status=0;for(let e of Array.from(r.a.concat(r.b)))x[`on${e}`]=null;if(x.open=function(e,n,o,r,s){p=0,f=!1,d=!1,t.headers={},t.headerNames={},t.status=0,t.method=e,t.url=n,t.async=!1!==o,t.user=r,t.pass=s,l={},l.headers={},g(1)},x.send=function(n){let o,s;for(o of["type","timeout","withCredentials"])s="type"===o?"responseType":o,s in x&&(t[o]=x[s]);t.body=n;const a=xhook.listeners("before");var c=function(){if(!a.length)return function(){for(o of(Object(r.e)(r.a,e,x),x.upload&&Object(r.e)(r.a.concat(r.b),e.upload,x.upload),d=!0,e.open(t.method,t.url,t.async,t.user,t.pass),["type","timeout","withCredentials"]))s="type"===o?"responseType":o,o in t&&(e[s]=t[o]);for(let n in t.headers){const o=t.headers[n];n&&e.setRequestHeader(n,o)}t.body instanceof i.a.Xhook&&(t.body=t.body.fd),e.send(t.body)}();const n=function(e){if("object"==typeof e&&("number"==typeof e.status||"number"==typeof l.status))return Object(r.d)(e,l),"data"in e||(e.data=e.response||e.text),void g(4);c()};n.head=function(e){Object(r.d)(e,l),g(2)},n.progress=function(e){Object(r.d)(e,l),g(3)};const u=a.shift();1===u.length?n(u(t)):2===u.length&&t.async?u(t,n):n()};c()},x.abort=function(){n=-1,d?e.abort():x.dispatchEvent("abort",{})},x.setRequestHeader=function(e,n){const o=null!=e?e.toLowerCase():void 0,r=t.headerNames[o]=t.headerNames[o]||e;t.headers[r]&&(n=t.headers[r]+", "+n),t.headers[r]=n},x.getResponseHeader=e=>c(l.headers[e?e.toLowerCase():void 0]),x.getAllResponseHeaders=()=>c(a.a.convert(l.headers)),e.overrideMimeType&&(x.overrideMimeType=function(){e.overrideMimeType.apply(e,arguments)}),e.upload){let e=Object(s.a)();x.upload=e,t.upload=e}return x.UNSENT=0,x.OPENED=1,x.HEADERS_RECEIVED=2,x.LOADING=3,x.DONE=4,x.response="",x.responseText="",x.responseXML=null,x.readyState=0,x.statusText="",x};f.UNSENT=0,f.OPENED=1,f.HEADERS_RECEIVED=2,f.LOADING=3,f.DONE=4,t.a={patch(){u&&(o.c.XMLHttpRequest=f)},unpatch(){u&&(o.c.XMLHttpRequest=u)},Native:u,Xhook:f}},function(e,t,n){"use strict";var o=n(0),r=n(1),s=n(6),a=n(2);const i=o.c.fetch,c=function(e,t){null==t&&(t={headers:{}}),t.url=e;let n=null;const o=s.a.listeners("before"),c=s.a.listeners("after");return new Promise((function(e,s){let u=e;const f=function(){return t.body instanceof a.a.Xhook&&(t.body=t.body.fd),t.headers&&(t.headers=new Headers(t.headers)),n||(n=new Request(t.url,t)),Object(r.d)(t,n)};var d=function(e){if(!c.length)return u(e);const t=c.shift();return 2===t.length?(t(f(),e),d(e)):3===t.length?t(f(),e,d):d(e)};const l=function(t){if(void 0!==t){const n=new Response(t.body||t.text,t);return e(n),void d(n)}p()};var p=function(){if(!o.length)return void h();const e=o.shift();return 1===e.length?l(e(t)):2===e.length?e(f(),l):void 0},h=()=>i(f()).then(e=>d(e)).catch((function(e){return u=s,d(e),s(e)}));p()}))};t.a={patch(){i&&(o.c.fetch=c)},unpatch(){i&&(o.c.fetch=i)},Native:i,Xhook:c}},function(e,t,n){"use strict";n.r(t),function(e){var t=n(3),o=n(0),r=n(5),s=n(7),a=n(8),i=n(2);const c=n(6).a;c.EventEmitter=t.a,c.before=function(e,t){if(e.length<1||e.length>2)throw"invalid hook";return c.on("before",e,t)},c.after=function(e,t){if(e.length<2||e.length>3)throw"invalid hook";return c.on("after",e,t)},c.enable=function(){s.a.patch(),a.a.patch(),i.a.patch()},c.disable=function(){s.a.unpatch(),a.a.unpatch(),i.a.unpatch()},c.XMLHttpRequest=s.a.Native,c.fetch=a.a.Native,c.FormData=i.a.Native,c.headers=r.a.convert,c.enable(),"function"==typeof define&&n(12)?define("xhook",[],()=>c):e&&"object"==typeof e&&e.exports?e.exports={xhook:c}:o.c&&(o.c.xhook=c)}.call(this,n(10)(e))},function(e,t){e.exports=function(e){if(!e.webpackPolyfill){var t=Object.create(e);t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),Object.defineProperty(t,"exports",{enumerable:!0}),t.webpackPolyfill=1}return t}},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t){(function(t){e.exports=t}).call(this,{})}]);
//# sourceMappingURL=xhook.min.js.map
{
"name": "xhook",
"version": "1.4.9",
"version": "1.5.0",
"description": "Easily intercept and modify XHR request and response",
"browser": "dist/xhook.js",
"main": "dist/xhook.js",
"main": "src/main.js",
"scripts": {
"start": "grunt-source --server=3000",
"test": "testcafe chrome:headless tests",
"start": "webpack-dev-server --mode development",
"build": "webpack-cli --mode development && webpack-cli --mode production --output-filename xhook.min.js",
"test": "playwright test",
"test:server": "http-server --port 8080",
"test:all": "testcafe all tests"

@@ -39,5 +41,9 @@ },

"devDependencies": {
"testcafe": "^0.16.2",
"testcafe-browser-provider-saucelabs": "^1.3.0"
}
"@playwright/test": "^1.23.0",
"http-server": "^14.1.1",
"webpack": "^4.42.0",
"webpack-cli": "^3.3.11",
"webpack-dev-server": "^3.10.3"
},
"prettier": {}
}