summaryrefslogtreecommitdiff
path: root/fetcher/node_modules/axios/lib/helpers/validator.js
diff options
context:
space:
mode:
authorMinteck <contact@minteck.org>2022-05-08 13:18:04 +0200
committerMinteck <contact@minteck.org>2022-05-08 13:18:04 +0200
commit16da8f48c7328c334a5c0d863078fd00257ae6b4 (patch)
tree4ab80e4106c4c7a61e5a7caf6102d612b8dd985d /fetcher/node_modules/axios/lib/helpers/validator.js
downloaddownloadcenter-16da8f48c7328c334a5c0d863078fd00257ae6b4.tar.gz
downloadcenter-16da8f48c7328c334a5c0d863078fd00257ae6b4.tar.bz2
downloadcenter-16da8f48c7328c334a5c0d863078fd00257ae6b4.zip
Initial commit
Diffstat (limited to 'fetcher/node_modules/axios/lib/helpers/validator.js')
-rw-r--r--fetcher/node_modules/axios/lib/helpers/validator.js86
1 files changed, 86 insertions, 0 deletions
diff --git a/fetcher/node_modules/axios/lib/helpers/validator.js b/fetcher/node_modules/axios/lib/helpers/validator.js
new file mode 100644
index 0000000..8095b90
--- /dev/null
+++ b/fetcher/node_modules/axios/lib/helpers/validator.js
@@ -0,0 +1,86 @@
+'use strict';
+
+var VERSION = require('../env/data').version;
+var AxiosError = require('../core/AxiosError');
+
+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 AxiosError(
+ formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),
+ AxiosError.ERR_DEPRECATED
+ );
+ }
+
+ 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 AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);
+ }
+ 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 AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);
+ }
+ continue;
+ }
+ if (allowUnknown !== true) {
+ throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);
+ }
+ }
+}
+
+module.exports = {
+ assertOptions: assertOptions,
+ validators: validators
+};