X-Git-Url: http://git.squeep.com/?p=squeep-indieauth-helper;a=blobdiff_plain;f=lib%2Fcommon.js;h=f199b4947ed1ba537a29350c617322cf64678512;hp=dc0585471303780c5720ab0d5f62fdf55d11d059;hb=30851a8cb9f8823b1b395ace8f53d62c5c53abd8;hpb=92b0d18597c3dc659182adec495f1d4b972f2f3e diff --git a/lib/common.js b/lib/common.js index dc05854..f199b49 100644 --- a/lib/common.js +++ b/lib/common.js @@ -17,8 +17,8 @@ const fileScope = (filename) => { /** * Pick out useful axios response fields. - * @param {*} res - * @returns + * @param {AxiosResponse} res + * @returns {Object} */ const axiosResponseLogData = (res) => { const data = pick(res, [ @@ -97,6 +97,17 @@ const properURLComponentName = (component) => { } +/** + * Encodes single-level object as form data string. + * @param {Object} data + */ +const formData = (data) => { + const formData = new URLSearchParams(); + Object.entries(data).forEach(([name, value]) => formData.set(name, value)); + return formData.toString(); +}; + + module.exports = { fileScope, axiosResponseLogData, @@ -104,4 +115,5 @@ module.exports = { pick, setSymmetricDifference, properURLComponentName, + formData, }; \ No newline at end of file