filestack-js
Version:
Official JavaScript library for Filestack
52 lines (50 loc) • 4.91 kB
JavaScript
/*
* Copyright (c) 2018 by Filestack
* Some rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.urlfy = exports.combineURL = void 0;
/**
* Combine url with qs parameters
*
* @param {String} url base url
* @param {Object} params Query string params object
*/
var combineURL = function (url, params) {
if (!params) {
return url;
}
var serialized = (0, exports.urlfy)(params);
var hashIndex = url.indexOf('#');
if (hashIndex !== -1) {
url = url.slice(0, hashIndex);
}
return url + (url.indexOf('?') === -1 ? '?' : '&') + serialized;
};
exports.combineURL = combineURL;
/**
* Change request json params to url search ones
*
* @param {Object} obj Object to transform
*/
var urlfy = function (val) {
return Object.keys(val)
.filter(function (k) { return k && typeof val[k] !== 'undefined'; })
.map(function (k) { return "".concat(encodeURIComponent(k), "=").concat(encodeURIComponent(val[k])); })
.join('&');
};
exports.urlfy = urlfy;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVxdWVzdC9oZWxwZXJzL3VybC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHOzs7QUFFSDs7Ozs7R0FLRztBQUNJLElBQU0sVUFBVSxHQUFHLFVBQUMsR0FBRyxFQUFFLE1BQU07SUFDcEMsSUFBSSxDQUFDLE1BQU0sRUFBRTtRQUNYLE9BQU8sR0FBRyxDQUFDO0tBQ1o7SUFFRCxJQUFNLFVBQVUsR0FBRyxJQUFBLGFBQUssRUFBQyxNQUFNLENBQUMsQ0FBQztJQUNqQyxJQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRW5DLElBQUksU0FBUyxLQUFLLENBQUMsQ0FBQyxFQUFFO1FBQ3BCLEdBQUcsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztLQUMvQjtJQUVELE9BQU8sR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxVQUFVLENBQUM7QUFDbEUsQ0FBQyxDQUFDO0FBYlcsUUFBQSxVQUFVLGNBYXJCO0FBRUY7Ozs7R0FJRztBQUNJLElBQU0sS0FBSyxHQUFHLFVBQUEsR0FBRztJQUN0QixPQUFBLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1NBQ2IsTUFBTSxDQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsQ0FBQyxJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLFdBQVcsRUFBbEMsQ0FBa0MsQ0FBQztTQUMvQyxHQUFHLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxVQUFHLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxjQUFJLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFFLEVBQXhELENBQXdELENBQUM7U0FDbEUsSUFBSSxDQUFDLEdBQUcsQ0FBQztBQUhaLENBR1ksQ0FBQztBQUpGLFFBQUEsS0FBSyxTQUlIIiwiZmlsZSI6ImxpYi9yZXF1ZXN0L2hlbHBlcnMvdXJsLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2tcbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vKipcbiAqIENvbWJpbmUgdXJsIHdpdGggcXMgcGFyYW1ldGVyc1xuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSB1cmwgYmFzZSB1cmxcbiAqIEBwYXJhbSB7T2JqZWN0fSBwYXJhbXMgUXVlcnkgc3RyaW5nIHBhcmFtcyBvYmplY3RcbiAqL1xuZXhwb3J0IGNvbnN0IGNvbWJpbmVVUkwgPSAodXJsLCBwYXJhbXMpID0+IHtcbiAgaWYgKCFwYXJhbXMpIHtcbiAgICByZXR1cm4gdXJsO1xuICB9XG5cbiAgY29uc3Qgc2VyaWFsaXplZCA9IHVybGZ5KHBhcmFtcyk7XG4gIGNvbnN0IGhhc2hJbmRleCA9IHVybC5pbmRleE9mKCcjJyk7XG5cbiAgaWYgKGhhc2hJbmRleCAhPT0gLTEpIHtcbiAgICB1cmwgPSB1cmwuc2xpY2UoMCwgaGFzaEluZGV4KTtcbiAgfVxuXG4gIHJldHVybiB1cmwgKyAodXJsLmluZGV4T2YoJz8nKSA9PT0gLTEgPyAnPycgOiAnJicpICsgc2VyaWFsaXplZDtcbn07XG5cbi8qKlxuICogQ2hhbmdlIHJlcXVlc3QganNvbiBwYXJhbXMgdG8gdXJsIHNlYXJjaCBvbmVzXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IG9iaiBPYmplY3QgdG8gdHJhbnNmb3JtXG4gKi9cbmV4cG9ydCBjb25zdCB1cmxmeSA9IHZhbCA9PlxuICBPYmplY3Qua2V5cyh2YWwpXG4gICAgLmZpbHRlcihrID0+IGsgJiYgdHlwZW9mIHZhbFtrXSAhPT0gJ3VuZGVmaW5lZCcpXG4gICAgLm1hcChrID0+IGAke2VuY29kZVVSSUNvbXBvbmVudChrKX09JHtlbmNvZGVVUklDb21wb25lbnQodmFsW2tdKX1gKVxuICAgIC5qb2luKCcmJyk7XG4iXX0=
;