UNPKG

filestack-js

Version:

Official JavaScript library for Filestack

52 lines (50 loc) 4.91 kB
"use strict"; /* * 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=