UNPKG

danbooru

Version:
29 lines (23 loc) 712 B
'use strict'; exports.queryString = function (input) { if (!Array.isArray(input) && Object(input) !== input) return ''; var output = []; unwrap(false, input); return '?' + output.join('&'); function unwrap(base, input) { var before = '', after = ''; if (base) { before = base + '['; after = ']'; } if (Array.isArray(input)) for (var i = 0; i < input.length; i++) { loop(i + '', input[i]); } else if (Object(input) === input) for (var key in input) { loop(key, input[key]); } else output.push(base + '=' + encodeURIComponent(input)); function loop(key, value) { unwrap(before + encodeURIComponent(key) + after, value); } } };