mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2024-11-08 20:22:42 +01:00
3631 lines
109 KiB
JavaScript
Vendored
3631 lines
109 KiB
JavaScript
Vendored
/******/ (() => { // webpackBootstrap
|
|
/******/ var __webpack_modules__ = ({
|
|
|
|
/***/ "./node_modules/axios/index.js":
|
|
/*!*************************************!*\
|
|
!*** ./node_modules/axios/index.js ***!
|
|
\*************************************/
|
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
|
|
module.exports = __webpack_require__(/*! ./lib/axios */ "./node_modules/axios/lib/axios.js");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/axios/lib/adapters/xhr.js":
|
|
/*!************************************************!*\
|
|
!*** ./node_modules/axios/lib/adapters/xhr.js ***!
|
|
\************************************************/
|
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
|
|
"use strict";
|
|
|
|
|
|
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");
|
|
var settle = __webpack_require__(/*! ./../core/settle */ "./node_modules/axios/lib/core/settle.js");
|
|
var cookies = __webpack_require__(/*! ./../helpers/cookies */ "./node_modules/axios/lib/helpers/cookies.js");
|
|
var buildURL = __webpack_require__(/*! ./../helpers/buildURL */ "./node_modules/axios/lib/helpers/buildURL.js");
|
|
var buildFullPath = __webpack_require__(/*! ../core/buildFullPath */ "./node_modules/axios/lib/core/buildFullPath.js");
|
|
var parseHeaders = __webpack_require__(/*! ./../helpers/parseHeaders */ "./node_modules/axios/lib/helpers/parseHeaders.js");
|
|
var isURLSameOrigin = __webpack_require__(/*! ./../helpers/isURLSameOrigin */ "./node_modules/axios/lib/helpers/isURLSameOrigin.js");
|
|
var createError = __webpack_require__(/*! ../core/createError */ "./node_modules/axios/lib/core/createError.js");
|
|
var defaults = __webpack_require__(/*! ../defaults */ "./node_modules/axios/lib/defaults.js");
|
|
var Cancel = __webpack_require__(/*! ../cancel/Cancel */ "./node_modules/axios/lib/cancel/Cancel.js");
|
|
|
|
module.exports = function xhrAdapter(config) {
|
|
return new Promise(function dispatchXhrRequest(resolve, reject) {
|
|
var requestData = config.data;
|
|
var requestHeaders = config.headers;
|
|
var responseType = config.responseType;
|
|
var onCanceled;
|
|
function done() {
|
|
if (config.cancelToken) {
|
|
config.cancelToken.unsubscribe(onCanceled);
|
|
}
|
|
|
|
if (config.signal) {
|
|
config.signal.removeEventListener('abort', onCanceled);
|
|
}
|
|
}
|
|
|
|
if (utils.isFormData(requestData)) {
|
|
delete requestHeaders['Content-Type']; // Let the browser set it
|
|
}
|
|
|
|
var request = new XMLHttpRequest();
|
|
|
|
// HTTP basic authentication
|
|
if (config.auth) {
|
|
var username = config.auth.username || '';
|
|
var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';
|
|
requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);
|
|
}
|
|
|
|
var fullPath = buildFullPath(config.baseURL, config.url);
|
|
request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);
|
|
|
|
// Set the request timeout in MS
|
|
request.timeout = config.timeout;
|
|
|
|
function onloadend() {
|
|
if (!request) {
|
|
return;
|
|
}
|
|
// Prepare the response
|
|
var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;
|
|
var responseData = !responseType || responseType === 'text' || responseType === 'json' ?
|
|
request.responseText : request.response;
|
|
var response = {
|
|
data: responseData,
|
|
status: request.status,
|
|
statusText: request.statusText,
|
|
headers: responseHeaders,
|
|
config: config,
|
|
request: request
|
|
};
|
|
|
|
settle(function _resolve(value) {
|
|
resolve(value);
|
|
done();
|
|
}, function _reject(err) {
|
|
reject(err);
|
|
done();
|
|
}, response);
|
|
|
|
// Clean up request
|
|
request = null;
|
|
}
|
|
|
|
if ('onloadend' in request) {
|
|
// Use onloadend if available
|
|
request.onloadend = onloadend;
|
|
} else {
|
|
// Listen for ready state to emulate onloadend
|
|
request.onreadystatechange = function handleLoad() {
|
|
if (!request || request.readyState !== 4) {
|
|
return;
|
|
}
|
|
|
|
// The request errored out and we didn't get a response, this will be
|
|
// handled by onerror instead
|
|
// With one exception: request that using file: protocol, most browsers
|
|
// will return status as 0 even though it's a successful request
|
|
if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {
|
|
return;
|
|
}
|
|
// readystate handler is calling before onerror or ontimeout handlers,
|
|
// so we should call onloadend on the next 'tick'
|
|
setTimeout(onloadend);
|
|
};
|
|
}
|
|
|
|
// Handle browser request cancellation (as opposed to a manual cancellation)
|
|
request.onabort = function handleAbort() {
|
|
if (!request) {
|
|
return;
|
|
}
|
|
|
|
reject(createError('Request aborted', config, 'ECONNABORTED', request));
|
|
|
|
// Clean up request
|
|
request = null;
|
|
};
|
|
|
|
// Handle low level network errors
|
|
request.onerror = function handleError() {
|
|
// Real errors are hidden from us by the browser
|
|
// onerror should only fire if it's a network error
|
|
reject(createError('Network Error', config, null, request));
|
|
|
|
// Clean up request
|
|
request = null;
|
|
};
|
|
|
|
// Handle timeout
|
|
request.ontimeout = function handleTimeout() {
|
|
var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';
|
|
var transitional = config.transitional || defaults.transitional;
|
|
if (config.timeoutErrorMessage) {
|
|
timeoutErrorMessage = config.timeoutErrorMessage;
|
|
}
|
|
reject(createError(
|
|
timeoutErrorMessage,
|
|
config,
|
|
transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED',
|
|
request));
|
|
|
|
// Clean up request
|
|
request = null;
|
|
};
|
|
|
|
// Add xsrf header
|
|
// This is only done if running in a standard browser environment.
|
|
// Specifically not if we're in a web worker, or react-native.
|
|
if (utils.isStandardBrowserEnv()) {
|
|
// Add xsrf header
|
|
var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?
|
|
cookies.read(config.xsrfCookieName) :
|
|
undefined;
|
|
|
|
if (xsrfValue) {
|
|
requestHeaders[config.xsrfHeaderName] = xsrfValue;
|
|
}
|
|
}
|
|
|
|
// Add headers to the request
|
|
if ('setRequestHeader' in request) {
|
|
utils.forEach(requestHeaders, function setRequestHeader(val, key) {
|
|
if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {
|
|
// Remove Content-Type if data is undefined
|
|
delete requestHeaders[key];
|
|
} else {
|
|
// Otherwise add header to the request
|
|
request.setRequestHeader(key, val);
|
|
}
|
|
});
|
|
}
|
|
|
|
// Add withCredentials to request if needed
|
|
if (!utils.isUndefined(config.withCredentials)) {
|
|
request.withCredentials = !!config.withCredentials;
|
|
}
|
|
|
|
// Add responseType to request if needed
|
|
if (responseType && responseType !== 'json') {
|
|
request.responseType = config.responseType;
|
|
}
|
|
|
|
// Handle progress if needed
|
|
if (typeof config.onDownloadProgress === 'function') {
|
|
request.addEventListener('progress', config.onDownloadProgress);
|
|
}
|
|
|
|
// Not all browsers support upload events
|
|
if (typeof config.onUploadProgress === 'function' && request.upload) {
|
|
request.upload.addEventListener('progress', config.onUploadProgress);
|
|
}
|
|
|
|
if (config.cancelToken || config.signal) {
|
|
// Handle cancellation
|
|
// eslint-disable-next-line func-names
|
|
onCanceled = function(cancel) {
|
|
if (!request) {
|
|
return;
|
|
}
|
|
reject(!cancel || (cancel && cancel.type) ? new Cancel('canceled') : cancel);
|
|
request.abort();
|
|
request = null;
|
|
};
|
|
|
|
config.cancelToken && config.cancelToken.subscribe(onCanceled);
|
|
if (config.signal) {
|
|
config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);
|
|
}
|
|
}
|
|
|
|
if (!requestData) {
|
|
requestData = null;
|
|
}
|
|
|
|
// Send the request
|
|
request.send(requestData);
|
|
});
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/axios/lib/axios.js":
|
|
/*!*****************************************!*\
|
|
!*** ./node_modules/axios/lib/axios.js ***!
|
|
\*****************************************/
|
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
|
|
"use strict";
|
|
|
|
|
|
var utils = __webpack_require__(/*! ./utils */ "./node_modules/axios/lib/utils.js");
|
|
var bind = __webpack_require__(/*! ./helpers/bind */ "./node_modules/axios/lib/helpers/bind.js");
|
|
var Axios = __webpack_require__(/*! ./core/Axios */ "./node_modules/axios/lib/core/Axios.js");
|
|
var mergeConfig = __webpack_require__(/*! ./core/mergeConfig */ "./node_modules/axios/lib/core/mergeConfig.js");
|
|
var defaults = __webpack_require__(/*! ./defaults */ "./node_modules/axios/lib/defaults.js");
|
|
|
|
/**
|
|
* Create an instance of Axios
|
|
*
|
|
* @param {Object} defaultConfig The default config for the instance
|
|
* @return {Axios} A new instance of Axios
|
|
*/
|
|
function createInstance(defaultConfig) {
|
|
var context = new Axios(defaultConfig);
|
|
var instance = bind(Axios.prototype.request, context);
|
|
|
|
// Copy axios.prototype to instance
|
|
utils.extend(instance, Axios.prototype, context);
|
|
|
|
// Copy context to instance
|
|
utils.extend(instance, context);
|
|
|
|
// Factory for creating new instances
|
|
instance.create = function create(instanceConfig) {
|
|
return createInstance(mergeConfig(defaultConfig, instanceConfig));
|
|
};
|
|
|
|
return instance;
|
|
}
|
|
|
|
// Create the default instance to be exported
|
|
var axios = createInstance(defaults);
|
|
|
|
// Expose Axios class to allow class inheritance
|
|
axios.Axios = Axios;
|
|
|
|
// Expose Cancel & CancelToken
|
|
axios.Cancel = __webpack_require__(/*! ./cancel/Cancel */ "./node_modules/axios/lib/cancel/Cancel.js");
|
|
axios.CancelToken = __webpack_require__(/*! ./cancel/CancelToken */ "./node_modules/axios/lib/cancel/CancelToken.js");
|
|
axios.isCancel = __webpack_require__(/*! ./cancel/isCancel */ "./node_modules/axios/lib/cancel/isCancel.js");
|
|
axios.VERSION = (__webpack_require__(/*! ./env/data */ "./node_modules/axios/lib/env/data.js").version);
|
|
|
|
// Expose all/spread
|
|
axios.all = function all(promises) {
|
|
return Promise.all(promises);
|
|
};
|
|
axios.spread = __webpack_require__(/*! ./helpers/spread */ "./node_modules/axios/lib/helpers/spread.js");
|
|
|
|
// Expose isAxiosError
|
|
axios.isAxiosError = __webpack_require__(/*! ./helpers/isAxiosError */ "./node_modules/axios/lib/helpers/isAxiosError.js");
|
|
|
|
module.exports = axios;
|
|
|
|
// Allow use of default import syntax in TypeScript
|
|
module.exports["default"] = axios;
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/axios/lib/cancel/Cancel.js":
|
|
/*!*************************************************!*\
|
|
!*** ./node_modules/axios/lib/cancel/Cancel.js ***!
|
|
\*************************************************/
|
|
/***/ ((module) => {
|
|
|
|
"use strict";
|
|
|
|
|
|
/**
|
|
* A `Cancel` is an object that is thrown when an operation is canceled.
|
|
*
|
|
* @class
|
|
* @param {string=} message The message.
|
|
*/
|
|
function Cancel(message) {
|
|
this.message = message;
|
|
}
|
|
|
|
Cancel.prototype.toString = function toString() {
|
|
return 'Cancel' + (this.message ? ': ' + this.message : '');
|
|
};
|
|
|
|
Cancel.prototype.__CANCEL__ = true;
|
|
|
|
module.exports = Cancel;
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/axios/lib/cancel/CancelToken.js":
|
|
/*!******************************************************!*\
|
|
!*** ./node_modules/axios/lib/cancel/CancelToken.js ***!
|
|
\******************************************************/
|
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
|
|
"use strict";
|
|
|
|
|
|
var Cancel = __webpack_require__(/*! ./Cancel */ "./node_modules/axios/lib/cancel/Cancel.js");
|
|
|
|
/**
|
|
* A `CancelToken` is an object that can be used to request cancellation of an operation.
|
|
*
|
|
* @class
|
|
* @param {Function} executor The executor function.
|
|
*/
|
|
function CancelToken(executor) {
|
|
if (typeof executor !== 'function') {
|
|
throw new TypeError('executor must be a function.');
|
|
}
|
|
|
|
var resolvePromise;
|
|
|
|
this.promise = new Promise(function promiseExecutor(resolve) {
|
|
resolvePromise = resolve;
|
|
});
|
|
|
|
var token = this;
|
|
|
|
// eslint-disable-next-line func-names
|
|
this.promise.then(function(cancel) {
|
|
if (!token._listeners) return;
|
|
|
|
var i;
|
|
var l = token._listeners.length;
|
|
|
|
for (i = 0; i < l; i++) {
|
|
token._listeners[i](cancel);
|
|
}
|
|
token._listeners = null;
|
|
});
|
|
|
|
// eslint-disable-next-line func-names
|
|
this.promise.then = function(onfulfilled) {
|
|
var _resolve;
|
|
// eslint-disable-next-line func-names
|
|
var promise = new Promise(function(resolve) {
|
|
token.subscribe(resolve);
|
|
_resolve = resolve;
|
|
}).then(onfulfilled);
|
|
|
|
promise.cancel = function reject() {
|
|
token.unsubscribe(_resolve);
|
|
};
|
|
|
|
return promise;
|
|
};
|
|
|
|
executor(function cancel(message) {
|
|
if (token.reason) {
|
|
// Cancellation has already been requested
|
|
return;
|
|
}
|
|
|
|
token.reason = new Cancel(message);
|
|
resolvePromise(token.reason);
|
|
});
|
|
}
|
|
|
|
/**
|
|
* Throws a `Cancel` if cancellation has been requested.
|
|
*/
|
|
CancelToken.prototype.throwIfRequested = function throwIfRequested() {
|
|
if (this.reason) {
|
|
throw this.reason;
|
|
}
|
|
};
|
|
|
|
/**
|
|
* Subscribe to the cancel signal
|
|
*/
|
|
|
|
CancelToken.prototype.subscribe = function subscribe(listener) {
|
|
if (this.reason) {
|
|
listener(this.reason);
|
|
return;
|
|
}
|
|
|
|
if (this._listeners) {
|
|
this._listeners.push(listener);
|
|
} else {
|
|
this._listeners = [listener];
|
|
}
|
|
};
|
|
|
|
/**
|
|
* Unsubscribe from the cancel signal
|
|
*/
|
|
|
|
CancelToken.prototype.unsubscribe = function unsubscribe(listener) {
|
|
if (!this._listeners) {
|
|
return;
|
|
}
|
|
var index = this._listeners.indexOf(listener);
|
|
if (index !== -1) {
|
|
this._listeners.splice(index, 1);
|
|
}
|
|
};
|
|
|
|
/**
|
|
* Returns an object that contains a new `CancelToken` and a function that, when called,
|
|
* cancels the `CancelToken`.
|
|
*/
|
|
CancelToken.source = function source() {
|
|
var cancel;
|
|
var token = new CancelToken(function executor(c) {
|
|
cancel = c;
|
|
});
|
|
return {
|
|
token: token,
|
|
cancel: cancel
|
|
};
|
|
};
|
|
|
|
module.exports = CancelToken;
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/axios/lib/cancel/isCancel.js":
|
|
/*!***************************************************!*\
|
|
!*** ./node_modules/axios/lib/cancel/isCancel.js ***!
|
|
\***************************************************/
|
|
/***/ ((module) => {
|
|
|
|
"use strict";
|
|
|
|
|
|
module.exports = function isCancel(value) {
|
|
return !!(value && value.__CANCEL__);
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/axios/lib/core/Axios.js":
|
|
/*!**********************************************!*\
|
|
!*** ./node_modules/axios/lib/core/Axios.js ***!
|
|
\**********************************************/
|
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
|
|
"use strict";
|
|
|
|
|
|
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");
|
|
var buildURL = __webpack_require__(/*! ../helpers/buildURL */ "./node_modules/axios/lib/helpers/buildURL.js");
|
|
var InterceptorManager = __webpack_require__(/*! ./InterceptorManager */ "./node_modules/axios/lib/core/InterceptorManager.js");
|
|
var dispatchRequest = __webpack_require__(/*! ./dispatchRequest */ "./node_modules/axios/lib/core/dispatchRequest.js");
|
|
var mergeConfig = __webpack_require__(/*! ./mergeConfig */ "./node_modules/axios/lib/core/mergeConfig.js");
|
|
var validator = __webpack_require__(/*! ../helpers/validator */ "./node_modules/axios/lib/helpers/validator.js");
|
|
|
|
var validators = validator.validators;
|
|
/**
|
|
* Create a new instance of Axios
|
|
*
|
|
* @param {Object} instanceConfig The default config for the instance
|
|
*/
|
|
function Axios(instanceConfig) {
|
|
this.defaults = instanceConfig;
|
|
this.interceptors = {
|
|
request: new InterceptorManager(),
|
|
response: new InterceptorManager()
|
|
};
|
|
}
|
|
|
|
/**
|
|
* Dispatch a request
|
|
*
|
|
* @param {Object} config The config specific for this request (merged with this.defaults)
|
|
*/
|
|
Axios.prototype.request = function request(configOrUrl, config) {
|
|
/*eslint no-param-reassign:0*/
|
|
// Allow for axios('example/url'[, config]) a la fetch API
|
|
if (typeof configOrUrl === 'string') {
|
|
config = config || {};
|
|
config.url = configOrUrl;
|
|
} else {
|
|
config = configOrUrl || {};
|
|
}
|
|
|
|
if (!config.url) {
|
|
throw new Error('Provided config url is not valid');
|
|
}
|
|
|
|
config = mergeConfig(this.defaults, config);
|
|
|
|
// Set config.method
|
|
if (config.method) {
|
|
config.method = config.method.toLowerCase();
|
|
} else if (this.defaults.method) {
|
|
config.method = this.defaults.method.toLowerCase();
|
|
} else {
|
|
config.method = 'get';
|
|
}
|
|
|
|
var transitional = config.transitional;
|
|
|
|
if (transitional !== undefined) {
|
|
validator.assertOptions(transitional, {
|
|
silentJSONParsing: validators.transitional(validators.boolean),
|
|
forcedJSONParsing: validators.transitional(validators.boolean),
|
|
clarifyTimeoutError: validators.transitional(validators.boolean)
|
|
}, false);
|
|
}
|
|
|
|
// filter out skipped interceptors
|
|
var requestInterceptorChain = [];
|
|
var synchronousRequestInterceptors = true;
|
|
this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {
|
|
if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {
|
|
return;
|
|
}
|
|
|
|
synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;
|
|
|
|
requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);
|
|
});
|
|
|
|
var responseInterceptorChain = [];
|
|
this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {
|
|
responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);
|
|
});
|
|
|
|
var promise;
|
|
|
|
if (!synchronousRequestInterceptors) {
|
|
var chain = [dispatchRequest, undefined];
|
|
|
|
Array.prototype.unshift.apply(chain, requestInterceptorChain);
|
|
chain = chain.concat(responseInterceptorChain);
|
|
|
|
promise = Promise.resolve(config);
|
|
while (chain.length) {
|
|
promise = promise.then(chain.shift(), chain.shift());
|
|
}
|
|
|
|
return promise;
|
|
}
|
|
|
|
|
|
var newConfig = config;
|
|
while (requestInterceptorChain.length) {
|
|
var onFulfilled = requestInterceptorChain.shift();
|
|
var onRejected = requestInterceptorChain.shift();
|
|
try {
|
|
newConfig = onFulfilled(newConfig);
|
|
} catch (error) {
|
|
onRejected(error);
|
|
break;
|
|
}
|
|
}
|
|
|
|
try {
|
|
promise = dispatchRequest(newConfig);
|
|
} catch (error) {
|
|
return Promise.reject(error);
|
|
}
|
|
|
|
while (responseInterceptorChain.length) {
|
|
promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());
|
|
}
|
|
|
|
return promise;
|
|
};
|
|
|
|
Axios.prototype.getUri = function getUri(config) {
|
|
if (!config.url) {
|
|
throw new Error('Provided config url is not valid');
|
|
}
|
|
config = mergeConfig(this.defaults, config);
|
|
return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\?/, '');
|
|
};
|
|
|
|
// Provide aliases for supported request methods
|
|
utils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {
|
|
/*eslint func-names:0*/
|
|
Axios.prototype[method] = function(url, config) {
|
|
return this.request(mergeConfig(config || {}, {
|
|
method: method,
|
|
url: url,
|
|
data: (config || {}).data
|
|
}));
|
|
};
|
|
});
|
|
|
|
utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {
|
|
/*eslint func-names:0*/
|
|
Axios.prototype[method] = function(url, data, config) {
|
|
return this.request(mergeConfig(config || {}, {
|
|
method: method,
|
|
url: url,
|
|
data: data
|
|
}));
|
|
};
|
|
});
|
|
|
|
module.exports = Axios;
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/axios/lib/core/InterceptorManager.js":
|
|
/*!***********************************************************!*\
|
|
!*** ./node_modules/axios/lib/core/InterceptorManager.js ***!
|
|
\***********************************************************/
|
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
|
|
"use strict";
|
|
|
|
|
|
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");
|
|
|
|
function InterceptorManager() {
|
|
this.handlers = [];
|
|
}
|
|
|
|
/**
|
|
* Add a new interceptor to the stack
|
|
*
|
|
* @param {Function} fulfilled The function to handle `then` for a `Promise`
|
|
* @param {Function} rejected The function to handle `reject` for a `Promise`
|
|
*
|
|
* @return {Number} An ID used to remove interceptor later
|
|
*/
|
|
InterceptorManager.prototype.use = function use(fulfilled, rejected, options) {
|
|
this.handlers.push({
|
|
fulfilled: fulfilled,
|
|
rejected: rejected,
|
|
synchronous: options ? options.synchronous : false,
|
|
runWhen: options ? options.runWhen : null
|
|
});
|
|
return this.handlers.length - 1;
|
|
};
|
|
|
|
/**
|
|
* Remove an interceptor from the stack
|
|
*
|
|
* @param {Number} id The ID that was returned by `use`
|
|
*/
|
|
InterceptorManager.prototype.eject = function eject(id) {
|
|
if (this.handlers[id]) {
|
|
this.handlers[id] = null;
|
|
}
|
|
};
|
|
|
|
/**
|
|
* Iterate over all the registered interceptors
|
|
*
|
|
* This method is particularly useful for skipping over any
|
|
* interceptors that may have become `null` calling `eject`.
|
|
*
|
|
* @param {Function} fn The function to call for each interceptor
|
|
*/
|
|
InterceptorManager.prototype.forEach = function forEach(fn) {
|
|
utils.forEach(this.handlers, function forEachHandler(h) {
|
|
if (h !== null) {
|
|
fn(h);
|
|
}
|
|
});
|
|
};
|
|
|
|
module.exports = InterceptorManager;
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/axios/lib/core/buildFullPath.js":
|
|
/*!******************************************************!*\
|
|
!*** ./node_modules/axios/lib/core/buildFullPath.js ***!
|
|
\******************************************************/
|
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
|
|
"use strict";
|
|
|
|
|
|
var isAbsoluteURL = __webpack_require__(/*! ../helpers/isAbsoluteURL */ "./node_modules/axios/lib/helpers/isAbsoluteURL.js");
|
|
var combineURLs = __webpack_require__(/*! ../helpers/combineURLs */ "./node_modules/axios/lib/helpers/combineURLs.js");
|
|
|
|
/**
|
|
* Creates a new URL by combining the baseURL with the requestedURL,
|
|
* only when the requestedURL is not already an absolute URL.
|
|
* If the requestURL is absolute, this function returns the requestedURL untouched.
|
|
*
|
|
* @param {string} baseURL The base URL
|
|
* @param {string} requestedURL Absolute or relative URL to combine
|
|
* @returns {string} The combined full path
|
|
*/
|
|
module.exports = function buildFullPath(baseURL, requestedURL) {
|
|
if (baseURL && !isAbsoluteURL(requestedURL)) {
|
|
return combineURLs(baseURL, requestedURL);
|
|
}
|
|
return requestedURL;
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/axios/lib/core/createError.js":
|
|
/*!****************************************************!*\
|
|
!*** ./node_modules/axios/lib/core/createError.js ***!
|
|
\****************************************************/
|
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
|
|
"use strict";
|
|
|
|
|
|
var enhanceError = __webpack_require__(/*! ./enhanceError */ "./node_modules/axios/lib/core/enhanceError.js");
|
|
|
|
/**
|
|
* Create an Error with the specified message, config, error code, request and response.
|
|
*
|
|
* @param {string} message The error message.
|
|
* @param {Object} config The config.
|
|
* @param {string} [code] The error code (for example, 'ECONNABORTED').
|
|
* @param {Object} [request] The request.
|
|
* @param {Object} [response] The response.
|
|
* @returns {Error} The created error.
|
|
*/
|
|
module.exports = function createError(message, config, code, request, response) {
|
|
var error = new Error(message);
|
|
return enhanceError(error, config, code, request, response);
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/axios/lib/core/dispatchRequest.js":
|
|
/*!********************************************************!*\
|
|
!*** ./node_modules/axios/lib/core/dispatchRequest.js ***!
|
|
\********************************************************/
|
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
|
|
"use strict";
|
|
|
|
|
|
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");
|
|
var transformData = __webpack_require__(/*! ./transformData */ "./node_modules/axios/lib/core/transformData.js");
|
|
var isCancel = __webpack_require__(/*! ../cancel/isCancel */ "./node_modules/axios/lib/cancel/isCancel.js");
|
|
var defaults = __webpack_require__(/*! ../defaults */ "./node_modules/axios/lib/defaults.js");
|
|
var Cancel = __webpack_require__(/*! ../cancel/Cancel */ "./node_modules/axios/lib/cancel/Cancel.js");
|
|
|
|
/**
|
|
* Throws a `Cancel` if cancellation has been requested.
|
|
*/
|
|
function throwIfCancellationRequested(config) {
|
|
if (config.cancelToken) {
|
|
config.cancelToken.throwIfRequested();
|
|
}
|
|
|
|
if (config.signal && config.signal.aborted) {
|
|
throw new Cancel('canceled');
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Dispatch a request to the server using the configured adapter.
|
|
*
|
|
* @param {object} config The config that is to be used for the request
|
|
* @returns {Promise} The Promise to be fulfilled
|
|
*/
|
|
module.exports = function dispatchRequest(config) {
|
|
throwIfCancellationRequested(config);
|
|
|
|
// Ensure headers exist
|
|
config.headers = config.headers || {};
|
|
|
|
// Transform request data
|
|
config.data = transformData.call(
|
|
config,
|
|
config.data,
|
|
config.headers,
|
|
config.transformRequest
|
|
);
|
|
|
|
// Flatten headers
|
|
config.headers = utils.merge(
|
|
config.headers.common || {},
|
|
config.headers[config.method] || {},
|
|
config.headers
|
|
);
|
|
|
|
utils.forEach(
|
|
['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],
|
|
function cleanHeaderConfig(method) {
|
|
delete config.headers[method];
|
|
}
|
|
);
|
|
|
|
var adapter = config.adapter || defaults.adapter;
|
|
|
|
return adapter(config).then(function onAdapterResolution(response) {
|
|
throwIfCancellationRequested(config);
|
|
|
|
// Transform response data
|
|
response.data = transformData.call(
|
|
config,
|
|
response.data,
|
|
response.headers,
|
|
config.transformResponse
|
|
);
|
|
|
|
return response;
|
|
}, function onAdapterRejection(reason) {
|
|
if (!isCancel(reason)) {
|
|
throwIfCancellationRequested(config);
|
|
|
|
// Transform response data
|
|
if (reason && reason.response) {
|
|
reason.response.data = transformData.call(
|
|
config,
|
|
reason.response.data,
|
|
reason.response.headers,
|
|
config.transformResponse
|
|
);
|
|
}
|
|
}
|
|
|
|
return Promise.reject(reason);
|
|
});
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/axios/lib/core/enhanceError.js":
|
|
/*!*****************************************************!*\
|
|
!*** ./node_modules/axios/lib/core/enhanceError.js ***!
|
|
\*****************************************************/
|
|
/***/ ((module) => {
|
|
|
|
"use strict";
|
|
|
|
|
|
/**
|
|
* Update an Error with the specified config, error code, and response.
|
|
*
|
|
* @param {Error} error The error to update.
|
|
* @param {Object} config The config.
|
|
* @param {string} [code] The error code (for example, 'ECONNABORTED').
|
|
* @param {Object} [request] The request.
|
|
* @param {Object} [response] The response.
|
|
* @returns {Error} The error.
|
|
*/
|
|
module.exports = function enhanceError(error, config, code, request, response) {
|
|
error.config = config;
|
|
if (code) {
|
|
error.code = code;
|
|
}
|
|
|
|
error.request = request;
|
|
error.response = response;
|
|
error.isAxiosError = true;
|
|
|
|
error.toJSON = function toJSON() {
|
|
return {
|
|
// Standard
|
|
message: this.message,
|
|
name: this.name,
|
|
// Microsoft
|
|
description: this.description,
|
|
number: this.number,
|
|
// Mozilla
|
|
fileName: this.fileName,
|
|
lineNumber: this.lineNumber,
|
|
columnNumber: this.columnNumber,
|
|
stack: this.stack,
|
|
// Axios
|
|
config: this.config,
|
|
code: this.code,
|
|
status: this.response && this.response.status ? this.response.status : null
|
|
};
|
|
};
|
|
return error;
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/axios/lib/core/mergeConfig.js":
|
|
/*!****************************************************!*\
|
|
!*** ./node_modules/axios/lib/core/mergeConfig.js ***!
|
|
\****************************************************/
|
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
|
|
"use strict";
|
|
|
|
|
|
var utils = __webpack_require__(/*! ../utils */ "./node_modules/axios/lib/utils.js");
|
|
|
|
/**
|
|
* Config-specific merge-function which creates a new config-object
|
|
* by merging two configuration objects together.
|
|
*
|
|
* @param {Object} config1
|
|
* @param {Object} config2
|
|
* @returns {Object} New object resulting from merging config2 to config1
|
|
*/
|
|
module.exports = function mergeConfig(config1, config2) {
|
|
// eslint-disable-next-line no-param-reassign
|
|
config2 = config2 || {};
|
|
var config = {};
|
|
|
|
function getMergedValue(target, source) {
|
|
if (utils.isPlainObject(target) && utils.isPlainObject(source)) {
|
|
return utils.merge(target, source);
|
|
} else if (utils.isPlainObject(source)) {
|
|
return utils.merge({}, source);
|
|
} else if (utils.isArray(source)) {
|
|
return source.slice();
|
|
}
|
|
return source;
|
|
}
|
|
|
|
// eslint-disable-next-line consistent-return
|
|
function mergeDeepProperties(prop) {
|
|
if (!utils.isUndefined(config2[prop])) {
|
|
return getMergedValue(config1[prop], config2[prop]);
|
|
} else if (!utils.isUndefined(config1[prop])) {
|
|
return getMergedValue(undefined, config1[prop]);
|
|
}
|
|
}
|
|
|
|
// eslint-disable-next-line consistent-return
|
|
function valueFromConfig2(prop) {
|
|
if (!utils.isUndefined(config2[prop])) {
|
|
return getMergedValue(undefined, config2[prop]);
|
|
}
|
|
}
|
|
|
|
// eslint-disable-next-line consistent-return
|
|
function defaultToConfig2(prop) {
|
|
if (!utils.isUndefined(config2[prop])) {
|
|
return getMergedValue(undefined, config2[prop]);
|
|
} else if (!utils.isUndefined(config1[prop])) {
|
|
return getMergedValue(undefined, config1[prop]);
|
|
}
|
|
}
|
|
|
|
// eslint-disable-next-line consistent-return
|
|
function mergeDirectKeys(prop) {
|
|
if (prop in config2) {
|
|
return getMergedValue(config1[prop], config2[prop]);
|
|
} else if (prop in config1) {
|
|
return getMergedValue(undefined, config1[prop]);
|
|
}
|
|
}
|
|
|
|
var mergeMap = {
|
|
'url': valueFromConfig2,
|
|
'method': valueFromConfig2,
|
|
'data': valueFromConfig2,
|
|
'baseURL': defaultToConfig2,
|
|
'transformRequest': defaultToConfig2,
|
|
'transformResponse': defaultToConfig2,
|
|
'paramsSerializer': defaultToConfig2,
|
|
'timeout': defaultToConfig2,
|
|
'timeoutMessage': defaultToConfig2,
|
|
'withCredentials': defaultToConfig2,
|
|
'adapter': defaultToConfig2,
|
|
'responseType': defaultToConfig2,
|
|
'xsrfCookieName': defaultToConfig2,
|
|
'xsrfHeaderName': defaultToConfig2,
|
|
'onUploadProgress': defaultToConfig2,
|
|
'onDownloadProgress': defaultToConfig2,
|
|
'decompress': defaultToConfig2,
|
|
'maxContentLength': defaultToConfig2,
|
|
'maxBodyLength': defaultToConfig2,
|
|
'transport': defaultToConfig2,
|
|
'httpAgent': defaultToConfig2,
|
|
'httpsAgent': defaultToConfig2,
|
|
'cancelToken': defaultToConfig2,
|
|
'socketPath': defaultToConfig2,
|
|
'responseEncoding': defaultToConfig2,
|
|
'validateStatus': mergeDirectKeys
|
|
};
|
|
|
|
utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {
|
|
var merge = mergeMap[prop] || mergeDeepProperties;
|
|
var configValue = merge(prop);
|
|
(utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);
|
|
});
|
|
|
|
return config;
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/axios/lib/core/settle.js":
|
|
/*!***********************************************!*\
|
|
!*** ./node_modules/axios/lib/core/settle.js ***!
|
|
\***********************************************/
|
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
|
|
"use strict";
|
|
|
|
|
|
var createError = __webpack_require__(/*! ./createError */ "./node_modules/axios/lib/core/createError.js");
|
|
|
|
/**
|
|
* Resolve or reject a Promise based on response status.
|
|
*
|
|
* @param {Function} resolve A function that resolves the promise.
|
|
* @param {Function} reject A function that rejects the promise.
|
|
* @param {object} response The response.
|
|
*/
|
|
module.exports = function settle(resolve, reject, response) {
|
|
var validateStatus = response.config.validateStatus;
|
|
if (!response.status || !validateStatus || validateStatus(response.status)) {
|
|
resolve(response);
|
|
} else {
|
|
reject(createError(
|
|
'Request failed with status code ' + response.status,
|
|
response.config,
|
|
null,
|
|
response.request,
|
|
response
|
|
));
|
|
}
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/axios/lib/core/transformData.js":
|
|
/*!******************************************************!*\
|
|
!*** ./node_modules/axios/lib/core/transformData.js ***!
|
|
\******************************************************/
|
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
|
|
"use strict";
|
|
|
|
|
|
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");
|
|
var defaults = __webpack_require__(/*! ./../defaults */ "./node_modules/axios/lib/defaults.js");
|
|
|
|
/**
|
|
* Transform the data for a request or a response
|
|
*
|
|
* @param {Object|String} data The data to be transformed
|
|
* @param {Array} headers The headers for the request or response
|
|
* @param {Array|Function} fns A single function or Array of functions
|
|
* @returns {*} The resulting transformed data
|
|
*/
|
|
module.exports = function transformData(data, headers, fns) {
|
|
var context = this || defaults;
|
|
/*eslint no-param-reassign:0*/
|
|
utils.forEach(fns, function transform(fn) {
|
|
data = fn.call(context, data, headers);
|
|
});
|
|
|
|
return data;
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/axios/lib/defaults.js":
|
|
/*!********************************************!*\
|
|
!*** ./node_modules/axios/lib/defaults.js ***!
|
|
\********************************************/
|
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
|
|
"use strict";
|
|
/* provided dependency */ var process = __webpack_require__(/*! process/browser.js */ "./node_modules/process/browser.js");
|
|
|
|
|
|
var utils = __webpack_require__(/*! ./utils */ "./node_modules/axios/lib/utils.js");
|
|
var normalizeHeaderName = __webpack_require__(/*! ./helpers/normalizeHeaderName */ "./node_modules/axios/lib/helpers/normalizeHeaderName.js");
|
|
var enhanceError = __webpack_require__(/*! ./core/enhanceError */ "./node_modules/axios/lib/core/enhanceError.js");
|
|
|
|
var DEFAULT_CONTENT_TYPE = {
|
|
'Content-Type': 'application/x-www-form-urlencoded'
|
|
};
|
|
|
|
function setContentTypeIfUnset(headers, value) {
|
|
if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {
|
|
headers['Content-Type'] = value;
|
|
}
|
|
}
|
|
|
|
function getDefaultAdapter() {
|
|
var adapter;
|
|
if (typeof XMLHttpRequest !== 'undefined') {
|
|
// For browsers use XHR adapter
|
|
adapter = __webpack_require__(/*! ./adapters/xhr */ "./node_modules/axios/lib/adapters/xhr.js");
|
|
} else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {
|
|
// For node use HTTP adapter
|
|
adapter = __webpack_require__(/*! ./adapters/http */ "./node_modules/axios/lib/adapters/xhr.js");
|
|
}
|
|
return adapter;
|
|
}
|
|
|
|
function stringifySafely(rawValue, parser, encoder) {
|
|
if (utils.isString(rawValue)) {
|
|
try {
|
|
(parser || JSON.parse)(rawValue);
|
|
return utils.trim(rawValue);
|
|
} catch (e) {
|
|
if (e.name !== 'SyntaxError') {
|
|
throw e;
|
|
}
|
|
}
|
|
}
|
|
|
|
return (encoder || JSON.stringify)(rawValue);
|
|
}
|
|
|
|
var defaults = {
|
|
|
|
transitional: {
|
|
silentJSONParsing: true,
|
|
forcedJSONParsing: true,
|
|
clarifyTimeoutError: false
|
|
},
|
|
|
|
adapter: getDefaultAdapter(),
|
|
|
|
transformRequest: [function transformRequest(data, headers) {
|
|
normalizeHeaderName(headers, 'Accept');
|
|
normalizeHeaderName(headers, 'Content-Type');
|
|
|
|
if (utils.isFormData(data) ||
|
|
utils.isArrayBuffer(data) ||
|
|
utils.isBuffer(data) ||
|
|
utils.isStream(data) ||
|
|
utils.isFile(data) ||
|
|
utils.isBlob(data)
|
|
) {
|
|
return data;
|
|
}
|
|
if (utils.isArrayBufferView(data)) {
|
|
return data.buffer;
|
|
}
|
|
if (utils.isURLSearchParams(data)) {
|
|
setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');
|
|
return data.toString();
|
|
}
|
|
if (utils.isObject(data) || (headers && headers['Content-Type'] === 'application/json')) {
|
|
setContentTypeIfUnset(headers, 'application/json');
|
|
return stringifySafely(data);
|
|
}
|
|
return data;
|
|
}],
|
|
|
|
transformResponse: [function transformResponse(data) {
|
|
var transitional = this.transitional || defaults.transitional;
|
|
var silentJSONParsing = transitional && transitional.silentJSONParsing;
|
|
var forcedJSONParsing = transitional && transitional.forcedJSONParsing;
|
|
var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';
|
|
|
|
if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {
|
|
try {
|
|
return JSON.parse(data);
|
|
} catch (e) {
|
|
if (strictJSONParsing) {
|
|
if (e.name === 'SyntaxError') {
|
|
throw enhanceError(e, this, 'E_JSON_PARSE');
|
|
}
|
|
throw e;
|
|
}
|
|
}
|
|
}
|
|
|
|
return data;
|
|
}],
|
|
|
|
/**
|
|
* A timeout in milliseconds to abort a request. If set to 0 (default) a
|
|
* timeout is not created.
|
|
*/
|
|
timeout: 0,
|
|
|
|
xsrfCookieName: 'XSRF-TOKEN',
|
|
xsrfHeaderName: 'X-XSRF-TOKEN',
|
|
|
|
maxContentLength: -1,
|
|
maxBodyLength: -1,
|
|
|
|
validateStatus: function validateStatus(status) {
|
|
return status >= 200 && status < 300;
|
|
},
|
|
|
|
headers: {
|
|
common: {
|
|
'Accept': 'application/json, text/plain, */*'
|
|
}
|
|
}
|
|
};
|
|
|
|
utils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {
|
|
defaults.headers[method] = {};
|
|
});
|
|
|
|
utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {
|
|
defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);
|
|
});
|
|
|
|
module.exports = defaults;
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/axios/lib/env/data.js":
|
|
/*!********************************************!*\
|
|
!*** ./node_modules/axios/lib/env/data.js ***!
|
|
\********************************************/
|
|
/***/ ((module) => {
|
|
|
|
module.exports = {
|
|
"version": "0.25.0"
|
|
};
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/axios/lib/helpers/bind.js":
|
|
/*!************************************************!*\
|
|
!*** ./node_modules/axios/lib/helpers/bind.js ***!
|
|
\************************************************/
|
|
/***/ ((module) => {
|
|
|
|
"use strict";
|
|
|
|
|
|
module.exports = function bind(fn, thisArg) {
|
|
return function wrap() {
|
|
var args = new Array(arguments.length);
|
|
for (var i = 0; i < args.length; i++) {
|
|
args[i] = arguments[i];
|
|
}
|
|
return fn.apply(thisArg, args);
|
|
};
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/axios/lib/helpers/buildURL.js":
|
|
/*!****************************************************!*\
|
|
!*** ./node_modules/axios/lib/helpers/buildURL.js ***!
|
|
\****************************************************/
|
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
|
|
"use strict";
|
|
|
|
|
|
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");
|
|
|
|
function encode(val) {
|
|
return encodeURIComponent(val).
|
|
replace(/%3A/gi, ':').
|
|
replace(/%24/g, '$').
|
|
replace(/%2C/gi, ',').
|
|
replace(/%20/g, '+').
|
|
replace(/%5B/gi, '[').
|
|
replace(/%5D/gi, ']');
|
|
}
|
|
|
|
/**
|
|
* Build a URL by appending params to the end
|
|
*
|
|
* @param {string} url The base of the url (e.g., http://www.google.com)
|
|
* @param {object} [params] The params to be appended
|
|
* @returns {string} The formatted url
|
|
*/
|
|
module.exports = function buildURL(url, params, paramsSerializer) {
|
|
/*eslint no-param-reassign:0*/
|
|
if (!params) {
|
|
return url;
|
|
}
|
|
|
|
var serializedParams;
|
|
if (paramsSerializer) {
|
|
serializedParams = paramsSerializer(params);
|
|
} else if (utils.isURLSearchParams(params)) {
|
|
serializedParams = params.toString();
|
|
} else {
|
|
var parts = [];
|
|
|
|
utils.forEach(params, function serialize(val, key) {
|
|
if (val === null || typeof val === 'undefined') {
|
|
return;
|
|
}
|
|
|
|
if (utils.isArray(val)) {
|
|
key = key + '[]';
|
|
} else {
|
|
val = [val];
|
|
}
|
|
|
|
utils.forEach(val, function parseValue(v) {
|
|
if (utils.isDate(v)) {
|
|
v = v.toISOString();
|
|
} else if (utils.isObject(v)) {
|
|
v = JSON.stringify(v);
|
|
}
|
|
parts.push(encode(key) + '=' + encode(v));
|
|
});
|
|
});
|
|
|
|
serializedParams = parts.join('&');
|
|
}
|
|
|
|
if (serializedParams) {
|
|
var hashmarkIndex = url.indexOf('#');
|
|
if (hashmarkIndex !== -1) {
|
|
url = url.slice(0, hashmarkIndex);
|
|
}
|
|
|
|
url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;
|
|
}
|
|
|
|
return url;
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/axios/lib/helpers/combineURLs.js":
|
|
/*!*******************************************************!*\
|
|
!*** ./node_modules/axios/lib/helpers/combineURLs.js ***!
|
|
\*******************************************************/
|
|
/***/ ((module) => {
|
|
|
|
"use strict";
|
|
|
|
|
|
/**
|
|
* Creates a new URL by combining the specified URLs
|
|
*
|
|
* @param {string} baseURL The base URL
|
|
* @param {string} relativeURL The relative URL
|
|
* @returns {string} The combined URL
|
|
*/
|
|
module.exports = function combineURLs(baseURL, relativeURL) {
|
|
return relativeURL
|
|
? baseURL.replace(/\/+$/, '') + '/' + relativeURL.replace(/^\/+/, '')
|
|
: baseURL;
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/axios/lib/helpers/cookies.js":
|
|
/*!***************************************************!*\
|
|
!*** ./node_modules/axios/lib/helpers/cookies.js ***!
|
|
\***************************************************/
|
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
|
|
"use strict";
|
|
|
|
|
|
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");
|
|
|
|
module.exports = (
|
|
utils.isStandardBrowserEnv() ?
|
|
|
|
// Standard browser envs support document.cookie
|
|
(function standardBrowserEnv() {
|
|
return {
|
|
write: function write(name, value, expires, path, domain, secure) {
|
|
var cookie = [];
|
|
cookie.push(name + '=' + encodeURIComponent(value));
|
|
|
|
if (utils.isNumber(expires)) {
|
|
cookie.push('expires=' + new Date(expires).toGMTString());
|
|
}
|
|
|
|
if (utils.isString(path)) {
|
|
cookie.push('path=' + path);
|
|
}
|
|
|
|
if (utils.isString(domain)) {
|
|
cookie.push('domain=' + domain);
|
|
}
|
|
|
|
if (secure === true) {
|
|
cookie.push('secure');
|
|
}
|
|
|
|
document.cookie = cookie.join('; ');
|
|
},
|
|
|
|
read: function read(name) {
|
|
var match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)'));
|
|
return (match ? decodeURIComponent(match[3]) : null);
|
|
},
|
|
|
|
remove: function remove(name) {
|
|
this.write(name, '', Date.now() - 86400000);
|
|
}
|
|
};
|
|
})() :
|
|
|
|
// Non standard browser env (web workers, react-native) lack needed support.
|
|
(function nonStandardBrowserEnv() {
|
|
return {
|
|
write: function write() {},
|
|
read: function read() { return null; },
|
|
remove: function remove() {}
|
|
};
|
|
})()
|
|
);
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/axios/lib/helpers/isAbsoluteURL.js":
|
|
/*!*********************************************************!*\
|
|
!*** ./node_modules/axios/lib/helpers/isAbsoluteURL.js ***!
|
|
\*********************************************************/
|
|
/***/ ((module) => {
|
|
|
|
"use strict";
|
|
|
|
|
|
/**
|
|
* Determines whether the specified URL is absolute
|
|
*
|
|
* @param {string} url The URL to test
|
|
* @returns {boolean} True if the specified URL is absolute, otherwise false
|
|
*/
|
|
module.exports = function isAbsoluteURL(url) {
|
|
// A URL is considered absolute if it begins with "<scheme>://" or "//" (protocol-relative URL).
|
|
// RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed
|
|
// by any combination of letters, digits, plus, period, or hyphen.
|
|
return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url);
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/axios/lib/helpers/isAxiosError.js":
|
|
/*!********************************************************!*\
|
|
!*** ./node_modules/axios/lib/helpers/isAxiosError.js ***!
|
|
\********************************************************/
|
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
|
|
"use strict";
|
|
|
|
|
|
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");
|
|
|
|
/**
|
|
* Determines whether the payload is an error thrown by Axios
|
|
*
|
|
* @param {*} payload The value to test
|
|
* @returns {boolean} True if the payload is an error thrown by Axios, otherwise false
|
|
*/
|
|
module.exports = function isAxiosError(payload) {
|
|
return utils.isObject(payload) && (payload.isAxiosError === true);
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/axios/lib/helpers/isURLSameOrigin.js":
|
|
/*!***********************************************************!*\
|
|
!*** ./node_modules/axios/lib/helpers/isURLSameOrigin.js ***!
|
|
\***********************************************************/
|
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
|
|
"use strict";
|
|
|
|
|
|
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");
|
|
|
|
module.exports = (
|
|
utils.isStandardBrowserEnv() ?
|
|
|
|
// Standard browser envs have full support of the APIs needed to test
|
|
// whether the request URL is of the same origin as current location.
|
|
(function standardBrowserEnv() {
|
|
var msie = /(msie|trident)/i.test(navigator.userAgent);
|
|
var urlParsingNode = document.createElement('a');
|
|
var originURL;
|
|
|
|
/**
|
|
* Parse a URL to discover it's components
|
|
*
|
|
* @param {String} url The URL to be parsed
|
|
* @returns {Object}
|
|
*/
|
|
function resolveURL(url) {
|
|
var href = url;
|
|
|
|
if (msie) {
|
|
// IE needs attribute set twice to normalize properties
|
|
urlParsingNode.setAttribute('href', href);
|
|
href = urlParsingNode.href;
|
|
}
|
|
|
|
urlParsingNode.setAttribute('href', href);
|
|
|
|
// urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils
|
|
return {
|
|
href: urlParsingNode.href,
|
|
protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',
|
|
host: urlParsingNode.host,
|
|
search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '',
|
|
hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',
|
|
hostname: urlParsingNode.hostname,
|
|
port: urlParsingNode.port,
|
|
pathname: (urlParsingNode.pathname.charAt(0) === '/') ?
|
|
urlParsingNode.pathname :
|
|
'/' + urlParsingNode.pathname
|
|
};
|
|
}
|
|
|
|
originURL = resolveURL(window.location.href);
|
|
|
|
/**
|
|
* Determine if a URL shares the same origin as the current location
|
|
*
|
|
* @param {String} requestURL The URL to test
|
|
* @returns {boolean} True if URL shares the same origin, otherwise false
|
|
*/
|
|
return function isURLSameOrigin(requestURL) {
|
|
var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;
|
|
return (parsed.protocol === originURL.protocol &&
|
|
parsed.host === originURL.host);
|
|
};
|
|
})() :
|
|
|
|
// Non standard browser envs (web workers, react-native) lack needed support.
|
|
(function nonStandardBrowserEnv() {
|
|
return function isURLSameOrigin() {
|
|
return true;
|
|
};
|
|
})()
|
|
);
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/axios/lib/helpers/normalizeHeaderName.js":
|
|
/*!***************************************************************!*\
|
|
!*** ./node_modules/axios/lib/helpers/normalizeHeaderName.js ***!
|
|
\***************************************************************/
|
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
|
|
"use strict";
|
|
|
|
|
|
var utils = __webpack_require__(/*! ../utils */ "./node_modules/axios/lib/utils.js");
|
|
|
|
module.exports = function normalizeHeaderName(headers, normalizedName) {
|
|
utils.forEach(headers, function processHeader(value, name) {
|
|
if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {
|
|
headers[normalizedName] = value;
|
|
delete headers[name];
|
|
}
|
|
});
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/axios/lib/helpers/parseHeaders.js":
|
|
/*!********************************************************!*\
|
|
!*** ./node_modules/axios/lib/helpers/parseHeaders.js ***!
|
|
\********************************************************/
|
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
|
|
"use strict";
|
|
|
|
|
|
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");
|
|
|
|
// Headers whose duplicates are ignored by node
|
|
// c.f. https://nodejs.org/api/http.html#http_message_headers
|
|
var ignoreDuplicateOf = [
|
|
'age', 'authorization', 'content-length', 'content-type', 'etag',
|
|
'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',
|
|
'last-modified', 'location', 'max-forwards', 'proxy-authorization',
|
|
'referer', 'retry-after', 'user-agent'
|
|
];
|
|
|
|
/**
|
|
* Parse headers into an object
|
|
*
|
|
* ```
|
|
* Date: Wed, 27 Aug 2014 08:58:49 GMT
|
|
* Content-Type: application/json
|
|
* Connection: keep-alive
|
|
* Transfer-Encoding: chunked
|
|
* ```
|
|
*
|
|
* @param {String} headers Headers needing to be parsed
|
|
* @returns {Object} Headers parsed into an object
|
|
*/
|
|
module.exports = function parseHeaders(headers) {
|
|
var parsed = {};
|
|
var key;
|
|
var val;
|
|
var i;
|
|
|
|
if (!headers) { return parsed; }
|
|
|
|
utils.forEach(headers.split('\n'), function parser(line) {
|
|
i = line.indexOf(':');
|
|
key = utils.trim(line.substr(0, i)).toLowerCase();
|
|
val = utils.trim(line.substr(i + 1));
|
|
|
|
if (key) {
|
|
if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {
|
|
return;
|
|
}
|
|
if (key === 'set-cookie') {
|
|
parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);
|
|
} else {
|
|
parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;
|
|
}
|
|
}
|
|
});
|
|
|
|
return parsed;
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/axios/lib/helpers/spread.js":
|
|
/*!**************************************************!*\
|
|
!*** ./node_modules/axios/lib/helpers/spread.js ***!
|
|
\**************************************************/
|
|
/***/ ((module) => {
|
|
|
|
"use strict";
|
|
|
|
|
|
/**
|
|
* Syntactic sugar for invoking a function and expanding an array for arguments.
|
|
*
|
|
* Common use case would be to use `Function.prototype.apply`.
|
|
*
|
|
* ```js
|
|
* function f(x, y, z) {}
|
|
* var args = [1, 2, 3];
|
|
* f.apply(null, args);
|
|
* ```
|
|
*
|
|
* With `spread` this example can be re-written.
|
|
*
|
|
* ```js
|
|
* spread(function(x, y, z) {})([1, 2, 3]);
|
|
* ```
|
|
*
|
|
* @param {Function} callback
|
|
* @returns {Function}
|
|
*/
|
|
module.exports = function spread(callback) {
|
|
return function wrap(arr) {
|
|
return callback.apply(null, arr);
|
|
};
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/axios/lib/helpers/validator.js":
|
|
/*!*****************************************************!*\
|
|
!*** ./node_modules/axios/lib/helpers/validator.js ***!
|
|
\*****************************************************/
|
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
|
|
"use strict";
|
|
|
|
|
|
var VERSION = (__webpack_require__(/*! ../env/data */ "./node_modules/axios/lib/env/data.js").version);
|
|
|
|
var validators = {};
|
|
|
|
// eslint-disable-next-line func-names
|
|
['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {
|
|
validators[type] = function validator(thing) {
|
|
return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;
|
|
};
|
|
});
|
|
|
|
var deprecatedWarnings = {};
|
|
|
|
/**
|
|
* Transitional option validator
|
|
* @param {function|boolean?} validator - set to false if the transitional option has been removed
|
|
* @param {string?} version - deprecated version / removed since version
|
|
* @param {string?} message - some message with additional info
|
|
* @returns {function}
|
|
*/
|
|
validators.transitional = function transitional(validator, version, message) {
|
|
function formatMessage(opt, desc) {
|
|
return '[Axios v' + VERSION + '] Transitional option \'' + opt + '\'' + desc + (message ? '. ' + message : '');
|
|
}
|
|
|
|
// eslint-disable-next-line func-names
|
|
return function(value, opt, opts) {
|
|
if (validator === false) {
|
|
throw new Error(formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')));
|
|
}
|
|
|
|
if (version && !deprecatedWarnings[opt]) {
|
|
deprecatedWarnings[opt] = true;
|
|
// eslint-disable-next-line no-console
|
|
console.warn(
|
|
formatMessage(
|
|
opt,
|
|
' has been deprecated since v' + version + ' and will be removed in the near future'
|
|
)
|
|
);
|
|
}
|
|
|
|
return validator ? validator(value, opt, opts) : true;
|
|
};
|
|
};
|
|
|
|
/**
|
|
* Assert object's properties type
|
|
* @param {object} options
|
|
* @param {object} schema
|
|
* @param {boolean?} allowUnknown
|
|
*/
|
|
|
|
function assertOptions(options, schema, allowUnknown) {
|
|
if (typeof options !== 'object') {
|
|
throw new TypeError('options must be an object');
|
|
}
|
|
var keys = Object.keys(options);
|
|
var i = keys.length;
|
|
while (i-- > 0) {
|
|
var opt = keys[i];
|
|
var validator = schema[opt];
|
|
if (validator) {
|
|
var value = options[opt];
|
|
var result = value === undefined || validator(value, opt, options);
|
|
if (result !== true) {
|
|
throw new TypeError('option ' + opt + ' must be ' + result);
|
|
}
|
|
continue;
|
|
}
|
|
if (allowUnknown !== true) {
|
|
throw Error('Unknown option ' + opt);
|
|
}
|
|
}
|
|
}
|
|
|
|
module.exports = {
|
|
assertOptions: assertOptions,
|
|
validators: validators
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/axios/lib/utils.js":
|
|
/*!*****************************************!*\
|
|
!*** ./node_modules/axios/lib/utils.js ***!
|
|
\*****************************************/
|
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
|
|
"use strict";
|
|
|
|
|
|
var bind = __webpack_require__(/*! ./helpers/bind */ "./node_modules/axios/lib/helpers/bind.js");
|
|
|
|
// utils is a library of generic helper functions non-specific to axios
|
|
|
|
var toString = Object.prototype.toString;
|
|
|
|
/**
|
|
* Determine if a value is an Array
|
|
*
|
|
* @param {Object} val The value to test
|
|
* @returns {boolean} True if value is an Array, otherwise false
|
|
*/
|
|
function isArray(val) {
|
|
return Array.isArray(val);
|
|
}
|
|
|
|
/**
|
|
* Determine if a value is undefined
|
|
*
|
|
* @param {Object} val The value to test
|
|
* @returns {boolean} True if the value is undefined, otherwise false
|
|
*/
|
|
function isUndefined(val) {
|
|
return typeof val === 'undefined';
|
|
}
|
|
|
|
/**
|
|
* Determine if a value is a Buffer
|
|
*
|
|
* @param {Object} val The value to test
|
|
* @returns {boolean} True if value is a Buffer, otherwise false
|
|
*/
|
|
function isBuffer(val) {
|
|
return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)
|
|
&& typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);
|
|
}
|
|
|
|
/**
|
|
* Determine if a value is an ArrayBuffer
|
|
*
|
|
* @param {Object} val The value to test
|
|
* @returns {boolean} True if value is an ArrayBuffer, otherwise false
|
|
*/
|
|
function isArrayBuffer(val) {
|
|
return toString.call(val) === '[object ArrayBuffer]';
|
|
}
|
|
|
|
/**
|
|
* Determine if a value is a FormData
|
|
*
|
|
* @param {Object} val The value to test
|
|
* @returns {boolean} True if value is an FormData, otherwise false
|
|
*/
|
|
function isFormData(val) {
|
|
return toString.call(val) === '[object FormData]';
|
|
}
|
|
|
|
/**
|
|
* Determine if a value is a view on an ArrayBuffer
|
|
*
|
|
* @param {Object} val The value to test
|
|
* @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false
|
|
*/
|
|
function isArrayBufferView(val) {
|
|
var result;
|
|
if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {
|
|
result = ArrayBuffer.isView(val);
|
|
} else {
|
|
result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));
|
|
}
|
|
return result;
|
|
}
|
|
|
|
/**
|
|
* Determine if a value is a String
|
|
*
|
|
* @param {Object} val The value to test
|
|
* @returns {boolean} True if value is a String, otherwise false
|
|
*/
|
|
function isString(val) {
|
|
return typeof val === 'string';
|
|
}
|
|
|
|
/**
|
|
* Determine if a value is a Number
|
|
*
|
|
* @param {Object} val The value to test
|
|
* @returns {boolean} True if value is a Number, otherwise false
|
|
*/
|
|
function isNumber(val) {
|
|
return typeof val === 'number';
|
|
}
|
|
|
|
/**
|
|
* Determine if a value is an Object
|
|
*
|
|
* @param {Object} val The value to test
|
|
* @returns {boolean} True if value is an Object, otherwise false
|
|
*/
|
|
function isObject(val) {
|
|
return val !== null && typeof val === 'object';
|
|
}
|
|
|
|
/**
|
|
* Determine if a value is a plain Object
|
|
*
|
|
* @param {Object} val The value to test
|
|
* @return {boolean} True if value is a plain Object, otherwise false
|
|
*/
|
|
function isPlainObject(val) {
|
|
if (toString.call(val) !== '[object Object]') {
|
|
return false;
|
|
}
|
|
|
|
var prototype = Object.getPrototypeOf(val);
|
|
return prototype === null || prototype === Object.prototype;
|
|
}
|
|
|
|
/**
|
|
* Determine if a value is a Date
|
|
*
|
|
* @param {Object} val The value to test
|
|
* @returns {boolean} True if value is a Date, otherwise false
|
|
*/
|
|
function isDate(val) {
|
|
return toString.call(val) === '[object Date]';
|
|
}
|
|
|
|
/**
|
|
* Determine if a value is a File
|
|
*
|
|
* @param {Object} val The value to test
|
|
* @returns {boolean} True if value is a File, otherwise false
|
|
*/
|
|
function isFile(val) {
|
|
return toString.call(val) === '[object File]';
|
|
}
|
|
|
|
/**
|
|
* Determine if a value is a Blob
|
|
*
|
|
* @param {Object} val The value to test
|
|
* @returns {boolean} True if value is a Blob, otherwise false
|
|
*/
|
|
function isBlob(val) {
|
|
return toString.call(val) === '[object Blob]';
|
|
}
|
|
|
|
/**
|
|
* Determine if a value is a Function
|
|
*
|
|
* @param {Object} val The value to test
|
|
* @returns {boolean} True if value is a Function, otherwise false
|
|
*/
|
|
function isFunction(val) {
|
|
return toString.call(val) === '[object Function]';
|
|
}
|
|
|
|
/**
|
|
* Determine if a value is a Stream
|
|
*
|
|
* @param {Object} val The value to test
|
|
* @returns {boolean} True if value is a Stream, otherwise false
|
|
*/
|
|
function isStream(val) {
|
|
return isObject(val) && isFunction(val.pipe);
|
|
}
|
|
|
|
/**
|
|
* Determine if a value is a URLSearchParams object
|
|
*
|
|
* @param {Object} val The value to test
|
|
* @returns {boolean} True if value is a URLSearchParams object, otherwise false
|
|
*/
|
|
function isURLSearchParams(val) {
|
|
return toString.call(val) === '[object URLSearchParams]';
|
|
}
|
|
|
|
/**
|
|
* Trim excess whitespace off the beginning and end of a string
|
|
*
|
|
* @param {String} str The String to trim
|
|
* @returns {String} The String freed of excess whitespace
|
|
*/
|
|
function trim(str) {
|
|
return str.trim ? str.trim() : str.replace(/^\s+|\s+$/g, '');
|
|
}
|
|
|
|
/**
|
|
* Determine if we're running in a standard browser environment
|
|
*
|
|
* This allows axios to run in a web worker, and react-native.
|
|
* Both environments support XMLHttpRequest, but not fully standard globals.
|
|
*
|
|
* web workers:
|
|
* typeof window -> undefined
|
|
* typeof document -> undefined
|
|
*
|
|
* react-native:
|
|
* navigator.product -> 'ReactNative'
|
|
* nativescript
|
|
* navigator.product -> 'NativeScript' or 'NS'
|
|
*/
|
|
function isStandardBrowserEnv() {
|
|
if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||
|
|
navigator.product === 'NativeScript' ||
|
|
navigator.product === 'NS')) {
|
|
return false;
|
|
}
|
|
return (
|
|
typeof window !== 'undefined' &&
|
|
typeof document !== 'undefined'
|
|
);
|
|
}
|
|
|
|
/**
|
|
* Iterate over an Array or an Object invoking a function for each item.
|
|
*
|
|
* If `obj` is an Array callback will be called passing
|
|
* the value, index, and complete array for each item.
|
|
*
|
|
* If 'obj' is an Object callback will be called passing
|
|
* the value, key, and complete object for each property.
|
|
*
|
|
* @param {Object|Array} obj The object to iterate
|
|
* @param {Function} fn The callback to invoke for each item
|
|
*/
|
|
function forEach(obj, fn) {
|
|
// Don't bother if no value provided
|
|
if (obj === null || typeof obj === 'undefined') {
|
|
return;
|
|
}
|
|
|
|
// Force an array if not already something iterable
|
|
if (typeof obj !== 'object') {
|
|
/*eslint no-param-reassign:0*/
|
|
obj = [obj];
|
|
}
|
|
|
|
if (isArray(obj)) {
|
|
// Iterate over array values
|
|
for (var i = 0, l = obj.length; i < l; i++) {
|
|
fn.call(null, obj[i], i, obj);
|
|
}
|
|
} else {
|
|
// Iterate over object keys
|
|
for (var key in obj) {
|
|
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
fn.call(null, obj[key], key, obj);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Accepts varargs expecting each argument to be an object, then
|
|
* immutably merges the properties of each object and returns result.
|
|
*
|
|
* When multiple objects contain the same key the later object in
|
|
* the arguments list will take precedence.
|
|
*
|
|
* Example:
|
|
*
|
|
* ```js
|
|
* var result = merge({foo: 123}, {foo: 456});
|
|
* console.log(result.foo); // outputs 456
|
|
* ```
|
|
*
|
|
* @param {Object} obj1 Object to merge
|
|
* @returns {Object} Result of all merge properties
|
|
*/
|
|
function merge(/* obj1, obj2, obj3, ... */) {
|
|
var result = {};
|
|
function assignValue(val, key) {
|
|
if (isPlainObject(result[key]) && isPlainObject(val)) {
|
|
result[key] = merge(result[key], val);
|
|
} else if (isPlainObject(val)) {
|
|
result[key] = merge({}, val);
|
|
} else if (isArray(val)) {
|
|
result[key] = val.slice();
|
|
} else {
|
|
result[key] = val;
|
|
}
|
|
}
|
|
|
|
for (var i = 0, l = arguments.length; i < l; i++) {
|
|
forEach(arguments[i], assignValue);
|
|
}
|
|
return result;
|
|
}
|
|
|
|
/**
|
|
* Extends object a by mutably adding to it the properties of object b.
|
|
*
|
|
* @param {Object} a The object to be extended
|
|
* @param {Object} b The object to copy properties from
|
|
* @param {Object} thisArg The object to bind function to
|
|
* @return {Object} The resulting value of object a
|
|
*/
|
|
function extend(a, b, thisArg) {
|
|
forEach(b, function assignValue(val, key) {
|
|
if (thisArg && typeof val === 'function') {
|
|
a[key] = bind(val, thisArg);
|
|
} else {
|
|
a[key] = val;
|
|
}
|
|
});
|
|
return a;
|
|
}
|
|
|
|
/**
|
|
* Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)
|
|
*
|
|
* @param {string} content with BOM
|
|
* @return {string} content value without BOM
|
|
*/
|
|
function stripBOM(content) {
|
|
if (content.charCodeAt(0) === 0xFEFF) {
|
|
content = content.slice(1);
|
|
}
|
|
return content;
|
|
}
|
|
|
|
module.exports = {
|
|
isArray: isArray,
|
|
isArrayBuffer: isArrayBuffer,
|
|
isBuffer: isBuffer,
|
|
isFormData: isFormData,
|
|
isArrayBufferView: isArrayBufferView,
|
|
isString: isString,
|
|
isNumber: isNumber,
|
|
isObject: isObject,
|
|
isPlainObject: isPlainObject,
|
|
isUndefined: isUndefined,
|
|
isDate: isDate,
|
|
isFile: isFile,
|
|
isBlob: isBlob,
|
|
isFunction: isFunction,
|
|
isStream: isStream,
|
|
isURLSearchParams: isURLSearchParams,
|
|
isStandardBrowserEnv: isStandardBrowserEnv,
|
|
forEach: forEach,
|
|
merge: merge,
|
|
extend: extend,
|
|
trim: trim,
|
|
stripBOM: stripBOM
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./resources/js/app.js":
|
|
/*!*****************************!*\
|
|
!*** ./resources/js/app.js ***!
|
|
\*****************************/
|
|
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
|
|
|
|
/**
|
|
* Axios
|
|
*
|
|
* Promise based HTTP client for the browser and node.js
|
|
* https://github.com/axios/axios
|
|
*/
|
|
window.axios = __webpack_require__(/*! axios */ "./node_modules/axios/index.js");
|
|
|
|
/**
|
|
* card-validator
|
|
*
|
|
* Validate credit cards as users type.
|
|
* https://github.com/braintree/card-validator
|
|
*/
|
|
window.valid = __webpack_require__(/*! card-validator */ "./node_modules/card-validator/dist/index.js");
|
|
|
|
/**
|
|
* Remove flashing message div after 3 seconds.
|
|
*/
|
|
document.querySelectorAll('.disposable-alert').forEach(function (element) {
|
|
setTimeout(function () {
|
|
element.remove();
|
|
}, 5000);
|
|
});
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/card-validator/dist/card-number.js":
|
|
/*!*********************************************************!*\
|
|
!*** ./node_modules/card-validator/dist/card-number.js ***!
|
|
\*********************************************************/
|
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
exports.cardNumber = void 0;
|
|
var luhn10 = __webpack_require__(/*! ./luhn-10 */ "./node_modules/card-validator/dist/luhn-10.js");
|
|
var getCardTypes = __webpack_require__(/*! credit-card-type */ "./node_modules/credit-card-type/dist/index.js");
|
|
function verification(card, isPotentiallyValid, isValid) {
|
|
return {
|
|
card: card,
|
|
isPotentiallyValid: isPotentiallyValid,
|
|
isValid: isValid,
|
|
};
|
|
}
|
|
function cardNumber(value, options) {
|
|
if (options === void 0) { options = {}; }
|
|
var isPotentiallyValid, isValid, maxLength;
|
|
if (typeof value !== "string" && typeof value !== "number") {
|
|
return verification(null, false, false);
|
|
}
|
|
var testCardValue = String(value).replace(/-|\s/g, "");
|
|
if (!/^\d*$/.test(testCardValue)) {
|
|
return verification(null, false, false);
|
|
}
|
|
var potentialTypes = getCardTypes(testCardValue);
|
|
if (potentialTypes.length === 0) {
|
|
return verification(null, false, false);
|
|
}
|
|
else if (potentialTypes.length !== 1) {
|
|
return verification(null, true, false);
|
|
}
|
|
var cardType = potentialTypes[0];
|
|
if (options.maxLength && testCardValue.length > options.maxLength) {
|
|
return verification(cardType, false, false);
|
|
}
|
|
if (cardType.type === getCardTypes.types.UNIONPAY &&
|
|
options.luhnValidateUnionPay !== true) {
|
|
isValid = true;
|
|
}
|
|
else {
|
|
isValid = luhn10(testCardValue);
|
|
}
|
|
maxLength = Math.max.apply(null, cardType.lengths);
|
|
if (options.maxLength) {
|
|
maxLength = Math.min(options.maxLength, maxLength);
|
|
}
|
|
for (var i = 0; i < cardType.lengths.length; i++) {
|
|
if (cardType.lengths[i] === testCardValue.length) {
|
|
isPotentiallyValid = testCardValue.length < maxLength || isValid;
|
|
return verification(cardType, isPotentiallyValid, isValid);
|
|
}
|
|
}
|
|
return verification(cardType, testCardValue.length < maxLength, false);
|
|
}
|
|
exports.cardNumber = cardNumber;
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/card-validator/dist/cardholder-name.js":
|
|
/*!*************************************************************!*\
|
|
!*** ./node_modules/card-validator/dist/cardholder-name.js ***!
|
|
\*************************************************************/
|
|
/***/ ((__unused_webpack_module, exports) => {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
exports.cardholderName = void 0;
|
|
var CARD_NUMBER_REGEX = /^[\d\s-]*$/;
|
|
var MAX_LENGTH = 255;
|
|
function verification(isValid, isPotentiallyValid) {
|
|
return { isValid: isValid, isPotentiallyValid: isPotentiallyValid };
|
|
}
|
|
function cardholderName(value) {
|
|
if (typeof value !== "string") {
|
|
return verification(false, false);
|
|
}
|
|
if (value.length === 0) {
|
|
return verification(false, true);
|
|
}
|
|
if (value.length > MAX_LENGTH) {
|
|
return verification(false, false);
|
|
}
|
|
if (CARD_NUMBER_REGEX.test(value)) {
|
|
return verification(false, true);
|
|
}
|
|
return verification(true, true);
|
|
}
|
|
exports.cardholderName = cardholderName;
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/card-validator/dist/cvv.js":
|
|
/*!*************************************************!*\
|
|
!*** ./node_modules/card-validator/dist/cvv.js ***!
|
|
\*************************************************/
|
|
/***/ ((__unused_webpack_module, exports) => {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
exports.cvv = void 0;
|
|
var DEFAULT_LENGTH = 3;
|
|
function includes(array, thing) {
|
|
for (var i = 0; i < array.length; i++) {
|
|
if (thing === array[i]) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
function max(array) {
|
|
var maximum = DEFAULT_LENGTH;
|
|
var i = 0;
|
|
for (; i < array.length; i++) {
|
|
maximum = array[i] > maximum ? array[i] : maximum;
|
|
}
|
|
return maximum;
|
|
}
|
|
function verification(isValid, isPotentiallyValid) {
|
|
return { isValid: isValid, isPotentiallyValid: isPotentiallyValid };
|
|
}
|
|
function cvv(value, maxLength) {
|
|
if (maxLength === void 0) { maxLength = DEFAULT_LENGTH; }
|
|
maxLength = maxLength instanceof Array ? maxLength : [maxLength];
|
|
if (typeof value !== "string") {
|
|
return verification(false, false);
|
|
}
|
|
if (!/^\d*$/.test(value)) {
|
|
return verification(false, false);
|
|
}
|
|
if (includes(maxLength, value.length)) {
|
|
return verification(true, true);
|
|
}
|
|
if (value.length < Math.min.apply(null, maxLength)) {
|
|
return verification(false, true);
|
|
}
|
|
if (value.length > max(maxLength)) {
|
|
return verification(false, false);
|
|
}
|
|
return verification(true, true);
|
|
}
|
|
exports.cvv = cvv;
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/card-validator/dist/expiration-date.js":
|
|
/*!*************************************************************!*\
|
|
!*** ./node_modules/card-validator/dist/expiration-date.js ***!
|
|
\*************************************************************/
|
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __assign = (this && this.__assign) || function () {
|
|
__assign = Object.assign || function(t) {
|
|
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
s = arguments[i];
|
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
t[p] = s[p];
|
|
}
|
|
return t;
|
|
};
|
|
return __assign.apply(this, arguments);
|
|
};
|
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
exports.expirationDate = void 0;
|
|
var parse_date_1 = __webpack_require__(/*! ./lib/parse-date */ "./node_modules/card-validator/dist/lib/parse-date.js");
|
|
var expiration_month_1 = __webpack_require__(/*! ./expiration-month */ "./node_modules/card-validator/dist/expiration-month.js");
|
|
var expiration_year_1 = __webpack_require__(/*! ./expiration-year */ "./node_modules/card-validator/dist/expiration-year.js");
|
|
function verification(isValid, isPotentiallyValid, month, year) {
|
|
return {
|
|
isValid: isValid,
|
|
isPotentiallyValid: isPotentiallyValid,
|
|
month: month,
|
|
year: year,
|
|
};
|
|
}
|
|
function expirationDate(value, maxElapsedYear) {
|
|
var date;
|
|
if (typeof value === "string") {
|
|
value = value.replace(/^(\d\d) (\d\d(\d\d)?)$/, "$1/$2");
|
|
date = parse_date_1.parseDate(String(value));
|
|
}
|
|
else if (value !== null && typeof value === "object") {
|
|
var fullDate = __assign({}, value);
|
|
date = {
|
|
month: String(fullDate.month),
|
|
year: String(fullDate.year),
|
|
};
|
|
}
|
|
else {
|
|
return verification(false, false, null, null);
|
|
}
|
|
var monthValid = expiration_month_1.expirationMonth(date.month);
|
|
var yearValid = expiration_year_1.expirationYear(date.year, maxElapsedYear);
|
|
if (monthValid.isValid) {
|
|
if (yearValid.isCurrentYear) {
|
|
var isValidForThisYear = monthValid.isValidForThisYear;
|
|
return verification(isValidForThisYear, isValidForThisYear, date.month, date.year);
|
|
}
|
|
if (yearValid.isValid) {
|
|
return verification(true, true, date.month, date.year);
|
|
}
|
|
}
|
|
if (monthValid.isPotentiallyValid && yearValid.isPotentiallyValid) {
|
|
return verification(false, true, null, null);
|
|
}
|
|
return verification(false, false, null, null);
|
|
}
|
|
exports.expirationDate = expirationDate;
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/card-validator/dist/expiration-month.js":
|
|
/*!**************************************************************!*\
|
|
!*** ./node_modules/card-validator/dist/expiration-month.js ***!
|
|
\**************************************************************/
|
|
/***/ ((__unused_webpack_module, exports) => {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
exports.expirationMonth = void 0;
|
|
function verification(isValid, isPotentiallyValid, isValidForThisYear) {
|
|
return {
|
|
isValid: isValid,
|
|
isPotentiallyValid: isPotentiallyValid,
|
|
isValidForThisYear: isValidForThisYear || false,
|
|
};
|
|
}
|
|
function expirationMonth(value) {
|
|
var currentMonth = new Date().getMonth() + 1;
|
|
if (typeof value !== "string") {
|
|
return verification(false, false);
|
|
}
|
|
if (value.replace(/\s/g, "") === "" || value === "0") {
|
|
return verification(false, true);
|
|
}
|
|
if (!/^\d*$/.test(value)) {
|
|
return verification(false, false);
|
|
}
|
|
var month = parseInt(value, 10);
|
|
if (isNaN(Number(value))) {
|
|
return verification(false, false);
|
|
}
|
|
var result = month > 0 && month < 13;
|
|
return verification(result, result, result && month >= currentMonth);
|
|
}
|
|
exports.expirationMonth = expirationMonth;
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/card-validator/dist/expiration-year.js":
|
|
/*!*************************************************************!*\
|
|
!*** ./node_modules/card-validator/dist/expiration-year.js ***!
|
|
\*************************************************************/
|
|
/***/ ((__unused_webpack_module, exports) => {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
exports.expirationYear = void 0;
|
|
var DEFAULT_VALID_NUMBER_OF_YEARS_IN_THE_FUTURE = 19;
|
|
function verification(isValid, isPotentiallyValid, isCurrentYear) {
|
|
return {
|
|
isValid: isValid,
|
|
isPotentiallyValid: isPotentiallyValid,
|
|
isCurrentYear: isCurrentYear || false,
|
|
};
|
|
}
|
|
function expirationYear(value, maxElapsedYear) {
|
|
if (maxElapsedYear === void 0) { maxElapsedYear = DEFAULT_VALID_NUMBER_OF_YEARS_IN_THE_FUTURE; }
|
|
var isCurrentYear;
|
|
if (typeof value !== "string") {
|
|
return verification(false, false);
|
|
}
|
|
if (value.replace(/\s/g, "") === "") {
|
|
return verification(false, true);
|
|
}
|
|
if (!/^\d*$/.test(value)) {
|
|
return verification(false, false);
|
|
}
|
|
var len = value.length;
|
|
if (len < 2) {
|
|
return verification(false, true);
|
|
}
|
|
var currentYear = new Date().getFullYear();
|
|
if (len === 3) {
|
|
// 20x === 20x
|
|
var firstTwo = value.slice(0, 2);
|
|
var currentFirstTwo = String(currentYear).slice(0, 2);
|
|
return verification(false, firstTwo === currentFirstTwo);
|
|
}
|
|
if (len > 4) {
|
|
return verification(false, false);
|
|
}
|
|
var numericValue = parseInt(value, 10);
|
|
var twoDigitYear = Number(String(currentYear).substr(2, 2));
|
|
var valid = false;
|
|
if (len === 2) {
|
|
if (String(currentYear).substr(0, 2) === value) {
|
|
return verification(false, true);
|
|
}
|
|
isCurrentYear = twoDigitYear === numericValue;
|
|
valid =
|
|
numericValue >= twoDigitYear &&
|
|
numericValue <= twoDigitYear + maxElapsedYear;
|
|
}
|
|
else if (len === 4) {
|
|
isCurrentYear = currentYear === numericValue;
|
|
valid =
|
|
numericValue >= currentYear &&
|
|
numericValue <= currentYear + maxElapsedYear;
|
|
}
|
|
return verification(valid, valid, isCurrentYear);
|
|
}
|
|
exports.expirationYear = expirationYear;
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/card-validator/dist/index.js":
|
|
/*!***************************************************!*\
|
|
!*** ./node_modules/card-validator/dist/index.js ***!
|
|
\***************************************************/
|
|
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
if (k2 === undefined) k2 = k;
|
|
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
}) : (function(o, m, k, k2) {
|
|
if (k2 === undefined) k2 = k;
|
|
o[k2] = m[k];
|
|
}));
|
|
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
}) : function(o, v) {
|
|
o["default"] = v;
|
|
});
|
|
var __importStar = (this && this.__importStar) || function (mod) {
|
|
if (mod && mod.__esModule) return mod;
|
|
var result = {};
|
|
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
__setModuleDefault(result, mod);
|
|
return result;
|
|
};
|
|
var creditCardType = __importStar(__webpack_require__(/*! credit-card-type */ "./node_modules/credit-card-type/dist/index.js"));
|
|
var cardholder_name_1 = __webpack_require__(/*! ./cardholder-name */ "./node_modules/card-validator/dist/cardholder-name.js");
|
|
var card_number_1 = __webpack_require__(/*! ./card-number */ "./node_modules/card-validator/dist/card-number.js");
|
|
var expiration_date_1 = __webpack_require__(/*! ./expiration-date */ "./node_modules/card-validator/dist/expiration-date.js");
|
|
var expiration_month_1 = __webpack_require__(/*! ./expiration-month */ "./node_modules/card-validator/dist/expiration-month.js");
|
|
var expiration_year_1 = __webpack_require__(/*! ./expiration-year */ "./node_modules/card-validator/dist/expiration-year.js");
|
|
var cvv_1 = __webpack_require__(/*! ./cvv */ "./node_modules/card-validator/dist/cvv.js");
|
|
var postal_code_1 = __webpack_require__(/*! ./postal-code */ "./node_modules/card-validator/dist/postal-code.js");
|
|
var cardValidator = {
|
|
creditCardType: creditCardType,
|
|
cardholderName: cardholder_name_1.cardholderName,
|
|
number: card_number_1.cardNumber,
|
|
expirationDate: expiration_date_1.expirationDate,
|
|
expirationMonth: expiration_month_1.expirationMonth,
|
|
expirationYear: expiration_year_1.expirationYear,
|
|
cvv: cvv_1.cvv,
|
|
postalCode: postal_code_1.postalCode,
|
|
};
|
|
module.exports = cardValidator;
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/card-validator/dist/lib/is-array.js":
|
|
/*!**********************************************************!*\
|
|
!*** ./node_modules/card-validator/dist/lib/is-array.js ***!
|
|
\**********************************************************/
|
|
/***/ ((__unused_webpack_module, exports) => {
|
|
|
|
"use strict";
|
|
|
|
// Polyfill taken from <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray#Polyfill>.
|
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
exports.isArray = void 0;
|
|
exports.isArray = Array.isArray ||
|
|
function (arg) {
|
|
return Object.prototype.toString.call(arg) === "[object Array]";
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/card-validator/dist/lib/parse-date.js":
|
|
/*!************************************************************!*\
|
|
!*** ./node_modules/card-validator/dist/lib/parse-date.js ***!
|
|
\************************************************************/
|
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
exports.parseDate = void 0;
|
|
var expiration_year_1 = __webpack_require__(/*! ../expiration-year */ "./node_modules/card-validator/dist/expiration-year.js");
|
|
var is_array_1 = __webpack_require__(/*! ./is-array */ "./node_modules/card-validator/dist/lib/is-array.js");
|
|
function getNumberOfMonthDigitsInDateString(dateString) {
|
|
var firstCharacter = Number(dateString[0]);
|
|
var assumedYear;
|
|
/*
|
|
if the first character in the string starts with `0`,
|
|
we know that the month will be 2 digits.
|
|
|
|
'0122' => {month: '01', year: '22'}
|
|
*/
|
|
if (firstCharacter === 0) {
|
|
return 2;
|
|
}
|
|
/*
|
|
if the first character in the string starts with
|
|
number greater than 1, it must be a 1 digit month
|
|
|
|
'322' => {month: '3', year: '22'}
|
|
*/
|
|
if (firstCharacter > 1) {
|
|
return 1;
|
|
}
|
|
/*
|
|
if the first 2 characters make up a number between
|
|
13-19, we know that the month portion must be 1
|
|
|
|
'139' => {month: '1', year: '39'}
|
|
*/
|
|
if (firstCharacter === 1 && Number(dateString[1]) > 2) {
|
|
return 1;
|
|
}
|
|
/*
|
|
if the first 2 characters make up a number between
|
|
10-12, we check if the year portion would be considered
|
|
valid if we assumed that the month was 1. If it is
|
|
not potentially valid, we assume the month must have
|
|
2 digits.
|
|
|
|
'109' => {month: '10', year: '9'}
|
|
'120' => {month: '1', year: '20'} // when checked in the year 2019
|
|
'120' => {month: '12', year: '0'} // when checked in the year 2021
|
|
*/
|
|
if (firstCharacter === 1) {
|
|
assumedYear = dateString.substr(1);
|
|
return expiration_year_1.expirationYear(assumedYear).isPotentiallyValid ? 1 : 2;
|
|
}
|
|
/*
|
|
If the length of the value is exactly 5 characters,
|
|
we assume a full year was passed in, meaning the remaining
|
|
single leading digit must be the month value.
|
|
|
|
'12202' => {month: '1', year: '2202'}
|
|
*/
|
|
if (dateString.length === 5) {
|
|
return 1;
|
|
}
|
|
/*
|
|
If the length of the value is more than five characters,
|
|
we assume a full year was passed in addition to the month
|
|
and therefore the month portion must be 2 digits.
|
|
|
|
'112020' => {month: '11', year: '2020'}
|
|
*/
|
|
if (dateString.length > 5) {
|
|
return 2;
|
|
}
|
|
/*
|
|
By default, the month value is the first value
|
|
*/
|
|
return 1;
|
|
}
|
|
function parseDate(datestring) {
|
|
var date;
|
|
if (/^\d{4}-\d{1,2}$/.test(datestring)) {
|
|
date = datestring.split("-").reverse();
|
|
}
|
|
else if (/\//.test(datestring)) {
|
|
date = datestring.split(/\s*\/\s*/g);
|
|
}
|
|
else if (/\s/.test(datestring)) {
|
|
date = datestring.split(/ +/g);
|
|
}
|
|
if (is_array_1.isArray(date)) {
|
|
return {
|
|
month: date[0] || "",
|
|
year: date.slice(1).join(),
|
|
};
|
|
}
|
|
var numberOfDigitsInMonth = getNumberOfMonthDigitsInDateString(datestring);
|
|
var month = datestring.substr(0, numberOfDigitsInMonth);
|
|
return {
|
|
month: month,
|
|
year: datestring.substr(month.length),
|
|
};
|
|
}
|
|
exports.parseDate = parseDate;
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/card-validator/dist/luhn-10.js":
|
|
/*!*****************************************************!*\
|
|
!*** ./node_modules/card-validator/dist/luhn-10.js ***!
|
|
\*****************************************************/
|
|
/***/ ((module) => {
|
|
|
|
"use strict";
|
|
/* eslint-disable */
|
|
/*
|
|
* Luhn algorithm implementation in JavaScript
|
|
* Copyright (c) 2009 Nicholas C. Zakas
|
|
*
|
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
* of this software and associated documentation files (the "Software"), to deal
|
|
* in the Software without restriction, including without limitation the rights
|
|
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
* copies of the Software, and to permit persons to whom the Software is
|
|
* furnished to do so, subject to the following conditions:
|
|
*
|
|
* The above copyright notice and this permission notice shall be included in
|
|
* all copies or substantial portions of the Software.
|
|
*
|
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
* THE SOFTWARE.
|
|
*/
|
|
|
|
function luhn10(identifier) {
|
|
var sum = 0;
|
|
var alt = false;
|
|
var i = identifier.length - 1;
|
|
var num;
|
|
while (i >= 0) {
|
|
num = parseInt(identifier.charAt(i), 10);
|
|
if (alt) {
|
|
num *= 2;
|
|
if (num > 9) {
|
|
num = (num % 10) + 1; // eslint-disable-line no-extra-parens
|
|
}
|
|
}
|
|
alt = !alt;
|
|
sum += num;
|
|
i--;
|
|
}
|
|
return sum % 10 === 0;
|
|
}
|
|
module.exports = luhn10;
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/card-validator/dist/postal-code.js":
|
|
/*!*********************************************************!*\
|
|
!*** ./node_modules/card-validator/dist/postal-code.js ***!
|
|
\*********************************************************/
|
|
/***/ ((__unused_webpack_module, exports) => {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
exports.postalCode = void 0;
|
|
var DEFAULT_MIN_POSTAL_CODE_LENGTH = 3;
|
|
function verification(isValid, isPotentiallyValid) {
|
|
return { isValid: isValid, isPotentiallyValid: isPotentiallyValid };
|
|
}
|
|
function postalCode(value, options) {
|
|
if (options === void 0) { options = {}; }
|
|
var minLength = options.minLength || DEFAULT_MIN_POSTAL_CODE_LENGTH;
|
|
if (typeof value !== "string") {
|
|
return verification(false, false);
|
|
}
|
|
else if (value.length < minLength) {
|
|
return verification(false, true);
|
|
}
|
|
return verification(true, true);
|
|
}
|
|
exports.postalCode = postalCode;
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/credit-card-type/dist/index.js":
|
|
/*!*****************************************************!*\
|
|
!*** ./node_modules/credit-card-type/dist/index.js ***!
|
|
\*****************************************************/
|
|
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __assign = (this && this.__assign) || function () {
|
|
__assign = Object.assign || function(t) {
|
|
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
s = arguments[i];
|
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
t[p] = s[p];
|
|
}
|
|
return t;
|
|
};
|
|
return __assign.apply(this, arguments);
|
|
};
|
|
var cardTypes = __webpack_require__(/*! ./lib/card-types */ "./node_modules/credit-card-type/dist/lib/card-types.js");
|
|
var add_matching_cards_to_results_1 = __webpack_require__(/*! ./lib/add-matching-cards-to-results */ "./node_modules/credit-card-type/dist/lib/add-matching-cards-to-results.js");
|
|
var is_valid_input_type_1 = __webpack_require__(/*! ./lib/is-valid-input-type */ "./node_modules/credit-card-type/dist/lib/is-valid-input-type.js");
|
|
var find_best_match_1 = __webpack_require__(/*! ./lib/find-best-match */ "./node_modules/credit-card-type/dist/lib/find-best-match.js");
|
|
var clone_1 = __webpack_require__(/*! ./lib/clone */ "./node_modules/credit-card-type/dist/lib/clone.js");
|
|
var customCards = {};
|
|
var cardNames = {
|
|
VISA: "visa",
|
|
MASTERCARD: "mastercard",
|
|
AMERICAN_EXPRESS: "american-express",
|
|
DINERS_CLUB: "diners-club",
|
|
DISCOVER: "discover",
|
|
JCB: "jcb",
|
|
UNIONPAY: "unionpay",
|
|
MAESTRO: "maestro",
|
|
ELO: "elo",
|
|
MIR: "mir",
|
|
HIPER: "hiper",
|
|
HIPERCARD: "hipercard",
|
|
};
|
|
var ORIGINAL_TEST_ORDER = [
|
|
cardNames.VISA,
|
|
cardNames.MASTERCARD,
|
|
cardNames.AMERICAN_EXPRESS,
|
|
cardNames.DINERS_CLUB,
|
|
cardNames.DISCOVER,
|
|
cardNames.JCB,
|
|
cardNames.UNIONPAY,
|
|
cardNames.MAESTRO,
|
|
cardNames.ELO,
|
|
cardNames.MIR,
|
|
cardNames.HIPER,
|
|
cardNames.HIPERCARD,
|
|
];
|
|
var testOrder = clone_1.clone(ORIGINAL_TEST_ORDER);
|
|
function findType(cardType) {
|
|
return customCards[cardType] || cardTypes[cardType];
|
|
}
|
|
function getAllCardTypes() {
|
|
return testOrder.map(function (cardType) { return clone_1.clone(findType(cardType)); });
|
|
}
|
|
function getCardPosition(name, ignoreErrorForNotExisting) {
|
|
if (ignoreErrorForNotExisting === void 0) { ignoreErrorForNotExisting = false; }
|
|
var position = testOrder.indexOf(name);
|
|
if (!ignoreErrorForNotExisting && position === -1) {
|
|
throw new Error('"' + name + '" is not a supported card type.');
|
|
}
|
|
return position;
|
|
}
|
|
function creditCardType(cardNumber) {
|
|
var results = [];
|
|
if (!is_valid_input_type_1.isValidInputType(cardNumber)) {
|
|
return results;
|
|
}
|
|
if (cardNumber.length === 0) {
|
|
return getAllCardTypes();
|
|
}
|
|
testOrder.forEach(function (cardType) {
|
|
var cardConfiguration = findType(cardType);
|
|
add_matching_cards_to_results_1.addMatchingCardsToResults(cardNumber, cardConfiguration, results);
|
|
});
|
|
var bestMatch = find_best_match_1.findBestMatch(results);
|
|
if (bestMatch) {
|
|
return [bestMatch];
|
|
}
|
|
return results;
|
|
}
|
|
creditCardType.getTypeInfo = function (cardType) {
|
|
return clone_1.clone(findType(cardType));
|
|
};
|
|
creditCardType.removeCard = function (name) {
|
|
var position = getCardPosition(name);
|
|
testOrder.splice(position, 1);
|
|
};
|
|
creditCardType.addCard = function (config) {
|
|
var existingCardPosition = getCardPosition(config.type, true);
|
|
customCards[config.type] = config;
|
|
if (existingCardPosition === -1) {
|
|
testOrder.push(config.type);
|
|
}
|
|
};
|
|
creditCardType.updateCard = function (cardType, updates) {
|
|
var originalObject = customCards[cardType] || cardTypes[cardType];
|
|
if (!originalObject) {
|
|
throw new Error("\"" + cardType + "\" is not a recognized type. Use `addCard` instead.'");
|
|
}
|
|
if (updates.type && originalObject.type !== updates.type) {
|
|
throw new Error("Cannot overwrite type parameter.");
|
|
}
|
|
var clonedCard = clone_1.clone(originalObject);
|
|
clonedCard = __assign(__assign({}, clonedCard), updates);
|
|
customCards[clonedCard.type] = clonedCard;
|
|
};
|
|
creditCardType.changeOrder = function (name, position) {
|
|
var currentPosition = getCardPosition(name);
|
|
testOrder.splice(currentPosition, 1);
|
|
testOrder.splice(position, 0, name);
|
|
};
|
|
creditCardType.resetModifications = function () {
|
|
testOrder = clone_1.clone(ORIGINAL_TEST_ORDER);
|
|
customCards = {};
|
|
};
|
|
creditCardType.types = cardNames;
|
|
module.exports = creditCardType;
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/credit-card-type/dist/lib/add-matching-cards-to-results.js":
|
|
/*!*********************************************************************************!*\
|
|
!*** ./node_modules/credit-card-type/dist/lib/add-matching-cards-to-results.js ***!
|
|
\*********************************************************************************/
|
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
exports.addMatchingCardsToResults = void 0;
|
|
var clone_1 = __webpack_require__(/*! ./clone */ "./node_modules/credit-card-type/dist/lib/clone.js");
|
|
var matches_1 = __webpack_require__(/*! ./matches */ "./node_modules/credit-card-type/dist/lib/matches.js");
|
|
function addMatchingCardsToResults(cardNumber, cardConfiguration, results) {
|
|
var i, patternLength;
|
|
for (i = 0; i < cardConfiguration.patterns.length; i++) {
|
|
var pattern = cardConfiguration.patterns[i];
|
|
if (!matches_1.matches(cardNumber, pattern)) {
|
|
continue;
|
|
}
|
|
var clonedCardConfiguration = clone_1.clone(cardConfiguration);
|
|
if (Array.isArray(pattern)) {
|
|
patternLength = String(pattern[0]).length;
|
|
}
|
|
else {
|
|
patternLength = String(pattern).length;
|
|
}
|
|
if (cardNumber.length >= patternLength) {
|
|
clonedCardConfiguration.matchStrength = patternLength;
|
|
}
|
|
results.push(clonedCardConfiguration);
|
|
break;
|
|
}
|
|
}
|
|
exports.addMatchingCardsToResults = addMatchingCardsToResults;
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/credit-card-type/dist/lib/card-types.js":
|
|
/*!**************************************************************!*\
|
|
!*** ./node_modules/credit-card-type/dist/lib/card-types.js ***!
|
|
\**************************************************************/
|
|
/***/ ((module) => {
|
|
|
|
"use strict";
|
|
|
|
var cardTypes = {
|
|
visa: {
|
|
niceType: "Visa",
|
|
type: "visa",
|
|
patterns: [4],
|
|
gaps: [4, 8, 12],
|
|
lengths: [16, 18, 19],
|
|
code: {
|
|
name: "CVV",
|
|
size: 3,
|
|
},
|
|
},
|
|
mastercard: {
|
|
niceType: "Mastercard",
|
|
type: "mastercard",
|
|
patterns: [[51, 55], [2221, 2229], [223, 229], [23, 26], [270, 271], 2720],
|
|
gaps: [4, 8, 12],
|
|
lengths: [16],
|
|
code: {
|
|
name: "CVC",
|
|
size: 3,
|
|
},
|
|
},
|
|
"american-express": {
|
|
niceType: "American Express",
|
|
type: "american-express",
|
|
patterns: [34, 37],
|
|
gaps: [4, 10],
|
|
lengths: [15],
|
|
code: {
|
|
name: "CID",
|
|
size: 4,
|
|
},
|
|
},
|
|
"diners-club": {
|
|
niceType: "Diners Club",
|
|
type: "diners-club",
|
|
patterns: [[300, 305], 36, 38, 39],
|
|
gaps: [4, 10],
|
|
lengths: [14, 16, 19],
|
|
code: {
|
|
name: "CVV",
|
|
size: 3,
|
|
},
|
|
},
|
|
discover: {
|
|
niceType: "Discover",
|
|
type: "discover",
|
|
patterns: [6011, [644, 649], 65],
|
|
gaps: [4, 8, 12],
|
|
lengths: [16, 19],
|
|
code: {
|
|
name: "CID",
|
|
size: 3,
|
|
},
|
|
},
|
|
jcb: {
|
|
niceType: "JCB",
|
|
type: "jcb",
|
|
patterns: [2131, 1800, [3528, 3589]],
|
|
gaps: [4, 8, 12],
|
|
lengths: [16, 17, 18, 19],
|
|
code: {
|
|
name: "CVV",
|
|
size: 3,
|
|
},
|
|
},
|
|
unionpay: {
|
|
niceType: "UnionPay",
|
|
type: "unionpay",
|
|
patterns: [
|
|
620,
|
|
[624, 626],
|
|
[62100, 62182],
|
|
[62184, 62187],
|
|
[62185, 62197],
|
|
[62200, 62205],
|
|
[622010, 622999],
|
|
622018,
|
|
[622019, 622999],
|
|
[62207, 62209],
|
|
[622126, 622925],
|
|
[623, 626],
|
|
6270,
|
|
6272,
|
|
6276,
|
|
[627700, 627779],
|
|
[627781, 627799],
|
|
[6282, 6289],
|
|
6291,
|
|
6292,
|
|
810,
|
|
[8110, 8131],
|
|
[8132, 8151],
|
|
[8152, 8163],
|
|
[8164, 8171],
|
|
],
|
|
gaps: [4, 8, 12],
|
|
lengths: [14, 15, 16, 17, 18, 19],
|
|
code: {
|
|
name: "CVN",
|
|
size: 3,
|
|
},
|
|
},
|
|
maestro: {
|
|
niceType: "Maestro",
|
|
type: "maestro",
|
|
patterns: [
|
|
493698,
|
|
[500000, 504174],
|
|
[504176, 506698],
|
|
[506779, 508999],
|
|
[56, 59],
|
|
63,
|
|
67,
|
|
6,
|
|
],
|
|
gaps: [4, 8, 12],
|
|
lengths: [12, 13, 14, 15, 16, 17, 18, 19],
|
|
code: {
|
|
name: "CVC",
|
|
size: 3,
|
|
},
|
|
},
|
|
elo: {
|
|
niceType: "Elo",
|
|
type: "elo",
|
|
patterns: [
|
|
401178,
|
|
401179,
|
|
438935,
|
|
457631,
|
|
457632,
|
|
431274,
|
|
451416,
|
|
457393,
|
|
504175,
|
|
[506699, 506778],
|
|
[509000, 509999],
|
|
627780,
|
|
636297,
|
|
636368,
|
|
[650031, 650033],
|
|
[650035, 650051],
|
|
[650405, 650439],
|
|
[650485, 650538],
|
|
[650541, 650598],
|
|
[650700, 650718],
|
|
[650720, 650727],
|
|
[650901, 650978],
|
|
[651652, 651679],
|
|
[655000, 655019],
|
|
[655021, 655058],
|
|
],
|
|
gaps: [4, 8, 12],
|
|
lengths: [16],
|
|
code: {
|
|
name: "CVE",
|
|
size: 3,
|
|
},
|
|
},
|
|
mir: {
|
|
niceType: "Mir",
|
|
type: "mir",
|
|
patterns: [[2200, 2204]],
|
|
gaps: [4, 8, 12],
|
|
lengths: [16, 17, 18, 19],
|
|
code: {
|
|
name: "CVP2",
|
|
size: 3,
|
|
},
|
|
},
|
|
hiper: {
|
|
niceType: "Hiper",
|
|
type: "hiper",
|
|
patterns: [637095, 63737423, 63743358, 637568, 637599, 637609, 637612],
|
|
gaps: [4, 8, 12],
|
|
lengths: [16],
|
|
code: {
|
|
name: "CVC",
|
|
size: 3,
|
|
},
|
|
},
|
|
hipercard: {
|
|
niceType: "Hipercard",
|
|
type: "hipercard",
|
|
patterns: [606282],
|
|
gaps: [4, 8, 12],
|
|
lengths: [16],
|
|
code: {
|
|
name: "CVC",
|
|
size: 3,
|
|
},
|
|
},
|
|
};
|
|
module.exports = cardTypes;
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/credit-card-type/dist/lib/clone.js":
|
|
/*!*********************************************************!*\
|
|
!*** ./node_modules/credit-card-type/dist/lib/clone.js ***!
|
|
\*********************************************************/
|
|
/***/ ((__unused_webpack_module, exports) => {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
exports.clone = void 0;
|
|
function clone(originalObject) {
|
|
if (!originalObject) {
|
|
return null;
|
|
}
|
|
return JSON.parse(JSON.stringify(originalObject));
|
|
}
|
|
exports.clone = clone;
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/credit-card-type/dist/lib/find-best-match.js":
|
|
/*!*******************************************************************!*\
|
|
!*** ./node_modules/credit-card-type/dist/lib/find-best-match.js ***!
|
|
\*******************************************************************/
|
|
/***/ ((__unused_webpack_module, exports) => {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
exports.findBestMatch = void 0;
|
|
function hasEnoughResultsToDetermineBestMatch(results) {
|
|
var numberOfResultsWithMaxStrengthProperty = results.filter(function (result) { return result.matchStrength; }).length;
|
|
/*
|
|
* if all possible results have a maxStrength property that means the card
|
|
* number is sufficiently long enough to determine conclusively what the card
|
|
* type is
|
|
* */
|
|
return (numberOfResultsWithMaxStrengthProperty > 0 &&
|
|
numberOfResultsWithMaxStrengthProperty === results.length);
|
|
}
|
|
function findBestMatch(results) {
|
|
if (!hasEnoughResultsToDetermineBestMatch(results)) {
|
|
return null;
|
|
}
|
|
return results.reduce(function (bestMatch, result) {
|
|
if (!bestMatch) {
|
|
return result;
|
|
}
|
|
/*
|
|
* If the current best match pattern is less specific than this result, set
|
|
* the result as the new best match
|
|
* */
|
|
if (Number(bestMatch.matchStrength) < Number(result.matchStrength)) {
|
|
return result;
|
|
}
|
|
return bestMatch;
|
|
});
|
|
}
|
|
exports.findBestMatch = findBestMatch;
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/credit-card-type/dist/lib/is-valid-input-type.js":
|
|
/*!***********************************************************************!*\
|
|
!*** ./node_modules/credit-card-type/dist/lib/is-valid-input-type.js ***!
|
|
\***********************************************************************/
|
|
/***/ ((__unused_webpack_module, exports) => {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
exports.isValidInputType = void 0;
|
|
function isValidInputType(cardNumber) {
|
|
return typeof cardNumber === "string" || cardNumber instanceof String;
|
|
}
|
|
exports.isValidInputType = isValidInputType;
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/credit-card-type/dist/lib/matches.js":
|
|
/*!***********************************************************!*\
|
|
!*** ./node_modules/credit-card-type/dist/lib/matches.js ***!
|
|
\***********************************************************/
|
|
/***/ ((__unused_webpack_module, exports) => {
|
|
|
|
"use strict";
|
|
|
|
/*
|
|
* Adapted from https://github.com/polvo-labs/card-type/blob/aaab11f80fa1939bccc8f24905a06ae3cd864356/src/cardType.js#L37-L42
|
|
* */
|
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
exports.matches = void 0;
|
|
function matchesRange(cardNumber, min, max) {
|
|
var maxLengthToCheck = String(min).length;
|
|
var substr = cardNumber.substr(0, maxLengthToCheck);
|
|
var integerRepresentationOfCardNumber = parseInt(substr, 10);
|
|
min = parseInt(String(min).substr(0, substr.length), 10);
|
|
max = parseInt(String(max).substr(0, substr.length), 10);
|
|
return (integerRepresentationOfCardNumber >= min &&
|
|
integerRepresentationOfCardNumber <= max);
|
|
}
|
|
function matchesPattern(cardNumber, pattern) {
|
|
pattern = String(pattern);
|
|
return (pattern.substring(0, cardNumber.length) ===
|
|
cardNumber.substring(0, pattern.length));
|
|
}
|
|
function matches(cardNumber, pattern) {
|
|
if (Array.isArray(pattern)) {
|
|
return matchesRange(cardNumber, pattern[0], pattern[1]);
|
|
}
|
|
return matchesPattern(cardNumber, pattern);
|
|
}
|
|
exports.matches = matches;
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./resources/sass/app.scss":
|
|
/*!*********************************!*\
|
|
!*** ./resources/sass/app.scss ***!
|
|
\*********************************/
|
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
// extracted by mini-css-extract-plugin
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/process/browser.js":
|
|
/*!*****************************************!*\
|
|
!*** ./node_modules/process/browser.js ***!
|
|
\*****************************************/
|
|
/***/ ((module) => {
|
|
|
|
// shim for using process in browser
|
|
var process = module.exports = {};
|
|
|
|
// cached from whatever global is present so that test runners that stub it
|
|
// don't break things. But we need to wrap it in a try catch in case it is
|
|
// wrapped in strict mode code which doesn't define any globals. It's inside a
|
|
// function because try/catches deoptimize in certain engines.
|
|
|
|
var cachedSetTimeout;
|
|
var cachedClearTimeout;
|
|
|
|
function defaultSetTimout() {
|
|
throw new Error('setTimeout has not been defined');
|
|
}
|
|
function defaultClearTimeout () {
|
|
throw new Error('clearTimeout has not been defined');
|
|
}
|
|
(function () {
|
|
try {
|
|
if (typeof setTimeout === 'function') {
|
|
cachedSetTimeout = setTimeout;
|
|
} else {
|
|
cachedSetTimeout = defaultSetTimout;
|
|
}
|
|
} catch (e) {
|
|
cachedSetTimeout = defaultSetTimout;
|
|
}
|
|
try {
|
|
if (typeof clearTimeout === 'function') {
|
|
cachedClearTimeout = clearTimeout;
|
|
} else {
|
|
cachedClearTimeout = defaultClearTimeout;
|
|
}
|
|
} catch (e) {
|
|
cachedClearTimeout = defaultClearTimeout;
|
|
}
|
|
} ())
|
|
function runTimeout(fun) {
|
|
if (cachedSetTimeout === setTimeout) {
|
|
//normal enviroments in sane situations
|
|
return setTimeout(fun, 0);
|
|
}
|
|
// if setTimeout wasn't available but was latter defined
|
|
if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
|
|
cachedSetTimeout = setTimeout;
|
|
return setTimeout(fun, 0);
|
|
}
|
|
try {
|
|
// when when somebody has screwed with setTimeout but no I.E. maddness
|
|
return cachedSetTimeout(fun, 0);
|
|
} catch(e){
|
|
try {
|
|
// When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
|
|
return cachedSetTimeout.call(null, fun, 0);
|
|
} catch(e){
|
|
// same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error
|
|
return cachedSetTimeout.call(this, fun, 0);
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
function runClearTimeout(marker) {
|
|
if (cachedClearTimeout === clearTimeout) {
|
|
//normal enviroments in sane situations
|
|
return clearTimeout(marker);
|
|
}
|
|
// if clearTimeout wasn't available but was latter defined
|
|
if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
|
|
cachedClearTimeout = clearTimeout;
|
|
return clearTimeout(marker);
|
|
}
|
|
try {
|
|
// when when somebody has screwed with setTimeout but no I.E. maddness
|
|
return cachedClearTimeout(marker);
|
|
} catch (e){
|
|
try {
|
|
// When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
|
|
return cachedClearTimeout.call(null, marker);
|
|
} catch (e){
|
|
// same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.
|
|
// Some versions of I.E. have different rules for clearTimeout vs setTimeout
|
|
return cachedClearTimeout.call(this, marker);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
}
|
|
var queue = [];
|
|
var draining = false;
|
|
var currentQueue;
|
|
var queueIndex = -1;
|
|
|
|
function cleanUpNextTick() {
|
|
if (!draining || !currentQueue) {
|
|
return;
|
|
}
|
|
draining = false;
|
|
if (currentQueue.length) {
|
|
queue = currentQueue.concat(queue);
|
|
} else {
|
|
queueIndex = -1;
|
|
}
|
|
if (queue.length) {
|
|
drainQueue();
|
|
}
|
|
}
|
|
|
|
function drainQueue() {
|
|
if (draining) {
|
|
return;
|
|
}
|
|
var timeout = runTimeout(cleanUpNextTick);
|
|
draining = true;
|
|
|
|
var len = queue.length;
|
|
while(len) {
|
|
currentQueue = queue;
|
|
queue = [];
|
|
while (++queueIndex < len) {
|
|
if (currentQueue) {
|
|
currentQueue[queueIndex].run();
|
|
}
|
|
}
|
|
queueIndex = -1;
|
|
len = queue.length;
|
|
}
|
|
currentQueue = null;
|
|
draining = false;
|
|
runClearTimeout(timeout);
|
|
}
|
|
|
|
process.nextTick = function (fun) {
|
|
var args = new Array(arguments.length - 1);
|
|
if (arguments.length > 1) {
|
|
for (var i = 1; i < arguments.length; i++) {
|
|
args[i - 1] = arguments[i];
|
|
}
|
|
}
|
|
queue.push(new Item(fun, args));
|
|
if (queue.length === 1 && !draining) {
|
|
runTimeout(drainQueue);
|
|
}
|
|
};
|
|
|
|
// v8 likes predictible objects
|
|
function Item(fun, array) {
|
|
this.fun = fun;
|
|
this.array = array;
|
|
}
|
|
Item.prototype.run = function () {
|
|
this.fun.apply(null, this.array);
|
|
};
|
|
process.title = 'browser';
|
|
process.browser = true;
|
|
process.env = {};
|
|
process.argv = [];
|
|
process.version = ''; // empty string to avoid regexp issues
|
|
process.versions = {};
|
|
|
|
function noop() {}
|
|
|
|
process.on = noop;
|
|
process.addListener = noop;
|
|
process.once = noop;
|
|
process.off = noop;
|
|
process.removeListener = noop;
|
|
process.removeAllListeners = noop;
|
|
process.emit = noop;
|
|
process.prependListener = noop;
|
|
process.prependOnceListener = noop;
|
|
|
|
process.listeners = function (name) { return [] }
|
|
|
|
process.binding = function (name) {
|
|
throw new Error('process.binding is not supported');
|
|
};
|
|
|
|
process.cwd = function () { return '/' };
|
|
process.chdir = function (dir) {
|
|
throw new Error('process.chdir is not supported');
|
|
};
|
|
process.umask = function() { return 0; };
|
|
|
|
|
|
/***/ })
|
|
|
|
/******/ });
|
|
/************************************************************************/
|
|
/******/ // The module cache
|
|
/******/ var __webpack_module_cache__ = {};
|
|
/******/
|
|
/******/ // The require function
|
|
/******/ function __webpack_require__(moduleId) {
|
|
/******/ // Check if module is in cache
|
|
/******/ var cachedModule = __webpack_module_cache__[moduleId];
|
|
/******/ if (cachedModule !== undefined) {
|
|
/******/ return cachedModule.exports;
|
|
/******/ }
|
|
/******/ // Create a new module (and put it into the cache)
|
|
/******/ var module = __webpack_module_cache__[moduleId] = {
|
|
/******/ // no module.id needed
|
|
/******/ // no module.loaded needed
|
|
/******/ exports: {}
|
|
/******/ };
|
|
/******/
|
|
/******/ // Execute the module function
|
|
/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
|
/******/
|
|
/******/ // Return the exports of the module
|
|
/******/ return module.exports;
|
|
/******/ }
|
|
/******/
|
|
/******/ // expose the modules object (__webpack_modules__)
|
|
/******/ __webpack_require__.m = __webpack_modules__;
|
|
/******/
|
|
/************************************************************************/
|
|
/******/ /* webpack/runtime/chunk loaded */
|
|
/******/ (() => {
|
|
/******/ var deferred = [];
|
|
/******/ __webpack_require__.O = (result, chunkIds, fn, priority) => {
|
|
/******/ if(chunkIds) {
|
|
/******/ priority = priority || 0;
|
|
/******/ for(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];
|
|
/******/ deferred[i] = [chunkIds, fn, priority];
|
|
/******/ return;
|
|
/******/ }
|
|
/******/ var notFulfilled = Infinity;
|
|
/******/ for (var i = 0; i < deferred.length; i++) {
|
|
/******/ var [chunkIds, fn, priority] = deferred[i];
|
|
/******/ var fulfilled = true;
|
|
/******/ for (var j = 0; j < chunkIds.length; j++) {
|
|
/******/ if ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {
|
|
/******/ chunkIds.splice(j--, 1);
|
|
/******/ } else {
|
|
/******/ fulfilled = false;
|
|
/******/ if(priority < notFulfilled) notFulfilled = priority;
|
|
/******/ }
|
|
/******/ }
|
|
/******/ if(fulfilled) {
|
|
/******/ deferred.splice(i--, 1)
|
|
/******/ var r = fn();
|
|
/******/ if (r !== undefined) result = r;
|
|
/******/ }
|
|
/******/ }
|
|
/******/ return result;
|
|
/******/ };
|
|
/******/ })();
|
|
/******/
|
|
/******/ /* webpack/runtime/hasOwnProperty shorthand */
|
|
/******/ (() => {
|
|
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
|
|
/******/ })();
|
|
/******/
|
|
/******/ /* webpack/runtime/make namespace object */
|
|
/******/ (() => {
|
|
/******/ // define __esModule on exports
|
|
/******/ __webpack_require__.r = (exports) => {
|
|
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
|
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
/******/ }
|
|
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
|
/******/ };
|
|
/******/ })();
|
|
/******/
|
|
/******/ /* webpack/runtime/jsonp chunk loading */
|
|
/******/ (() => {
|
|
/******/ // no baseURI
|
|
/******/
|
|
/******/ // object to store loaded and loading chunks
|
|
/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched
|
|
/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded
|
|
/******/ var installedChunks = {
|
|
/******/ "/js/app": 0,
|
|
/******/ "css/app": 0
|
|
/******/ };
|
|
/******/
|
|
/******/ // no chunk on demand loading
|
|
/******/
|
|
/******/ // no prefetching
|
|
/******/
|
|
/******/ // no preloaded
|
|
/******/
|
|
/******/ // no HMR
|
|
/******/
|
|
/******/ // no HMR manifest
|
|
/******/
|
|
/******/ __webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);
|
|
/******/
|
|
/******/ // install a JSONP callback for chunk loading
|
|
/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => {
|
|
/******/ var [chunkIds, moreModules, runtime] = data;
|
|
/******/ // add "moreModules" to the modules object,
|
|
/******/ // then flag all "chunkIds" as loaded and fire callback
|
|
/******/ var moduleId, chunkId, i = 0;
|
|
/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) {
|
|
/******/ for(moduleId in moreModules) {
|
|
/******/ if(__webpack_require__.o(moreModules, moduleId)) {
|
|
/******/ __webpack_require__.m[moduleId] = moreModules[moduleId];
|
|
/******/ }
|
|
/******/ }
|
|
/******/ if(runtime) var result = runtime(__webpack_require__);
|
|
/******/ }
|
|
/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data);
|
|
/******/ for(;i < chunkIds.length; i++) {
|
|
/******/ chunkId = chunkIds[i];
|
|
/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {
|
|
/******/ installedChunks[chunkId][0]();
|
|
/******/ }
|
|
/******/ installedChunks[chunkId] = 0;
|
|
/******/ }
|
|
/******/ return __webpack_require__.O(result);
|
|
/******/ }
|
|
/******/
|
|
/******/ var chunkLoadingGlobal = self["webpackChunk"] = self["webpackChunk"] || [];
|
|
/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));
|
|
/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));
|
|
/******/ })();
|
|
/******/
|
|
/************************************************************************/
|
|
/******/
|
|
/******/ // startup
|
|
/******/ // Load entry module and return exports
|
|
/******/ // This entry module depends on other loaded chunks and execution need to be delayed
|
|
/******/ __webpack_require__.O(undefined, ["css/app"], () => (__webpack_require__("./resources/js/app.js")))
|
|
/******/ var __webpack_exports__ = __webpack_require__.O(undefined, ["css/app"], () => (__webpack_require__("./resources/sass/app.scss")))
|
|
/******/ __webpack_exports__ = __webpack_require__.O(__webpack_exports__);
|
|
/******/
|
|
/******/ })()
|
|
; |