aboutsummaryrefslogtreecommitdiff
path: root/includes/fetcher/node_modules/axios/lib/helpers/toFormData.js
diff options
context:
space:
mode:
authorMinteck <contact@minteck.org>2022-04-14 17:43:06 +0200
committerMinteck <contact@minteck.org>2022-04-14 17:43:06 +0200
commit3071764c42c63f47cd76d80b5b90fe280ac9f0ab (patch)
tree2458441ce5218cc88a8be165b364f174a9ba8e3b /includes/fetcher/node_modules/axios/lib/helpers/toFormData.js
parentf6e5be4e0ef648d3eb1d8a12edcb48dbb8c31037 (diff)
downloadember-3071764c42c63f47cd76d80b5b90fe280ac9f0ab.tar.gz
ember-3071764c42c63f47cd76d80b5b90fe280ac9f0ab.tar.bz2
ember-3071764c42c63f47cd76d80b5b90fe280ac9f0ab.zip
Fetcher
Diffstat (limited to 'includes/fetcher/node_modules/axios/lib/helpers/toFormData.js')
-rw-r--r--includes/fetcher/node_modules/axios/lib/helpers/toFormData.js55
1 files changed, 55 insertions, 0 deletions
diff --git a/includes/fetcher/node_modules/axios/lib/helpers/toFormData.js b/includes/fetcher/node_modules/axios/lib/helpers/toFormData.js
new file mode 100644
index 0000000..e21d0a7
--- /dev/null
+++ b/includes/fetcher/node_modules/axios/lib/helpers/toFormData.js
@@ -0,0 +1,55 @@
+'use strict';
+
+function combinedKey(parentKey, elKey) {
+ return parentKey + '.' + elKey;
+}
+
+function buildFormData(formData, data, parentKey) {
+ if (Array.isArray(data)) {
+ data.forEach(function buildArray(el, i) {
+ buildFormData(formData, el, combinedKey(parentKey, i));
+ });
+ } else if (
+ typeof data === 'object' &&
+ !(data instanceof File || data === null)
+ ) {
+ Object.keys(data).forEach(function buildObject(key) {
+ buildFormData(
+ formData,
+ data[key],
+ parentKey ? combinedKey(parentKey, key) : key
+ );
+ });
+ } else {
+ if (data === undefined) {
+ return;
+ }
+
+ var value =
+ typeof data === 'boolean' || typeof data === 'number'
+ ? data.toString()
+ : data;
+ formData.append(parentKey, value);
+ }
+}
+
+/**
+ * convert a data object to FormData
+ *
+ * type FormDataPrimitive = string | Blob | number | boolean
+ * interface FormDataNest {
+ * [x: string]: FormVal
+ * }
+ *
+ * type FormVal = FormDataNest | FormDataPrimitive
+ *
+ * @param {FormVal} data
+ */
+
+module.exports = function getFormData(data) {
+ var formData = new FormData();
+
+ buildFormData(formData, data);
+
+ return formData;
+};