filestack-js
Version:
Official JavaScript library for Filestack
59 lines (57 loc) • 6.43 kB
JavaScript
/*
* Copyright (c) 2019 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.
*/
import * as SparkMD5 from 'spark-md5';
var mobileRegexp = /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino|android|ipad|playbook|silk/i;
/**
* Calculates a MD5 checksum for passed buffer
* @private
* @param data Data to be hashed
* @returns base64 encoded MD5 hash
*/
export var md5 = function (data) {
/* istanbul ignore next */
return btoa(SparkMD5.ArrayBuffer.hash(data, true));
};
/**
* return based string
*
* @param data
*/
export var b64 = function (data, safeUrl) {
if (safeUrl === void 0) { safeUrl = false; }
var b64 = btoa(data);
if (safeUrl) {
return b64.replace(/\//g, '_').replace(/\+/g, '-');
}
return b64;
};
/**
* Return currently used filestack-js sdk version
*/
export var getVersion = function () {
return 'JS-4.0.2';
};
/**
* Returns if browser is a mobile device (if node env always return false)
*/
/* istanbul ignore next */
export var isMobile = function () { return navigator && navigator.userAgent && mobileRegexp.test(navigator.userAgent); };
/**
* Check if application is runned in facebook browser
*/
export var isFacebook = function () { return navigator && navigator.userAgent && /\[FB.*;/i.test(navigator.userAgent); };
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvdXRpbHMvaW5kZXguYnJvd3Nlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFDSCxPQUFPLEtBQUssUUFBUSxNQUFNLFdBQVcsQ0FBQztBQUV0QyxJQUFNLFlBQVksR0FBRyw0VkFBNFYsQ0FBQztBQUVsWDs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxJQUFNLEdBQUcsR0FBRyxVQUFDLElBQVM7SUFDM0IsMEJBQTBCO0lBQzFCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQ3JELENBQUMsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsSUFBTSxHQUFHLEdBQUcsVUFBQyxJQUFZLEVBQUUsT0FBd0I7SUFBeEIsd0JBQUEsRUFBQSxlQUF3QjtJQUN4RCxJQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFdkIsSUFBSSxPQUFPLEVBQUU7UUFDWCxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7S0FDcEQ7SUFFRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLElBQU0sVUFBVSxHQUFHO0lBQ3hCLE9BQU8sZUFBZSxDQUFDO0FBQ3pCLENBQUMsQ0FBQztBQUVGOztHQUVHO0FBQ0gsMEJBQTBCO0FBQzFCLE1BQU0sQ0FBQyxJQUFNLFFBQVEsR0FBRyxjQUFNLE9BQUEsU0FBUyxJQUFJLFNBQVMsQ0FBQyxTQUFTLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQTFFLENBQTBFLENBQUM7QUFFekc7O0dBRUc7QUFDSCxNQUFNLENBQUMsSUFBTSxVQUFVLEdBQUcsY0FBTSxPQUFBLFNBQVMsSUFBSSxTQUFTLENBQUMsU0FBUyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUF4RSxDQUF3RSxDQUFDIiwiZmlsZSI6ImxpYi91dGlscy9pbmRleC5icm93c2VyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOSBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCAqIGFzIFNwYXJrTUQ1IGZyb20gJ3NwYXJrLW1kNSc7XG5cbmNvbnN0IG1vYmlsZVJlZ2V4cCA9IC8oYW5kcm9pZHxiYlxcZCt8bWVlZ28pLittb2JpbGV8YXZhbnRnb3xiYWRhXFwvfGJsYWNrYmVycnl8YmxhemVyfGNvbXBhbHxlbGFpbmV8ZmVubmVjfGhpcHRvcHxpZW1vYmlsZXxpcChob25lfG9kKXxpcmlzfGtpbmRsZXxsZ2UgfG1hZW1vfG1pZHB8bW1wfG1vYmlsZS4rZmlyZWZveHxuZXRmcm9udHxvcGVyYSBtKG9ifGluKWl8cGFsbSggb3MpP3xwaG9uZXxwKGl4aXxyZSlcXC98cGx1Y2tlcnxwb2NrZXR8cHNwfHNlcmllc1s0Nl0wfHN5bWJpYW58dHJlb3x1cFxcLihicm93c2VyfGxpbmspfHZvZGFmb25lfHdhcHx3aW5kb3dzIChjZXxwaG9uZSl8eGRhfHhpaW5vfGFuZHJvaWR8aXBhZHxwbGF5Ym9va3xzaWxrL2k7XG5cbi8qKlxuICogQ2FsY3VsYXRlcyBhIE1ENSBjaGVja3N1bSBmb3IgcGFzc2VkIGJ1ZmZlclxuICogQHByaXZhdGVcbiAqIEBwYXJhbSBkYXRhICBEYXRhIHRvIGJlIGhhc2hlZFxuICogQHJldHVybnMgICAgIGJhc2U2NCBlbmNvZGVkIE1ENSBoYXNoXG4gKi9cbmV4cG9ydCBjb25zdCBtZDUgPSAoZGF0YTogYW55KTogc3RyaW5nID0+IHtcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgcmV0dXJuIGJ0b2EoU3BhcmtNRDUuQXJyYXlCdWZmZXIuaGFzaChkYXRhLCB0cnVlKSk7XG59O1xuXG4vKipcbiAqIHJldHVybiBiYXNlZCBzdHJpbmdcbiAqXG4gKiBAcGFyYW0gZGF0YVxuICovXG5leHBvcnQgY29uc3QgYjY0ID0gKGRhdGE6IHN0cmluZywgc2FmZVVybDogYm9vbGVhbiA9IGZhbHNlKTogc3RyaW5nID0+IHtcbiAgY29uc3QgYjY0ID0gYnRvYShkYXRhKTtcblxuICBpZiAoc2FmZVVybCkge1xuICAgIHJldHVybiBiNjQucmVwbGFjZSgvXFwvL2csICdfJykucmVwbGFjZSgvXFwrL2csICctJyk7XG4gIH1cblxuICByZXR1cm4gYjY0O1xufTtcblxuLyoqXG4gKiBSZXR1cm4gY3VycmVudGx5IHVzZWQgZmlsZXN0YWNrLWpzIHNkayB2ZXJzaW9uXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRWZXJzaW9uID0gKCkgPT4ge1xuICByZXR1cm4gJ0pTLUB7VkVSU0lPTn0nO1xufTtcblxuLyoqXG4gKiBSZXR1cm5zIGlmIGJyb3dzZXIgaXMgYSBtb2JpbGUgZGV2aWNlIChpZiBub2RlIGVudiBhbHdheXMgcmV0dXJuIGZhbHNlKVxuICovXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuZXhwb3J0IGNvbnN0IGlzTW9iaWxlID0gKCkgPT4gbmF2aWdhdG9yICYmIG5hdmlnYXRvci51c2VyQWdlbnQgJiYgbW9iaWxlUmVnZXhwLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk7XG5cbi8qKlxuICogQ2hlY2sgaWYgYXBwbGljYXRpb24gaXMgcnVubmVkIGluIGZhY2Vib29rIGJyb3dzZXJcbiAqL1xuZXhwb3J0IGNvbnN0IGlzRmFjZWJvb2sgPSAoKSA9PiBuYXZpZ2F0b3IgJiYgbmF2aWdhdG9yLnVzZXJBZ2VudCAmJiAvXFxbRkIuKjsvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpO1xuIl19