UNPKG

filestack-js

Version:

Official JavaScript library for Filestack

107 lines (94 loc) 3.35 kB
/* * 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. */ /** * Determine if a value is an Array * * @param {Object} val The value to test * @returns {boolean} True if value is an Array, otherwise false */ export const isArray = (val: any[]) => Object.prototype.toString.call(val) === '[object Array]'; /** * Determine if a value is an ArrayBuffer * * @param {Object} val The value to test * @returns {boolean} True if value is an ArrayBuffer, otherwise false */ export const isArrayBuffer = (val: ArrayBuffer) => Object.prototype.toString.call(val) === '[object ArrayBuffer]'; /** * Determine if a value is a view on an ArrayBuffer * * @param {Object} val The value to test * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false */ export const isArrayBufferView = (val: ArrayBufferView) => { let result; if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) { result = ArrayBuffer.isView(val); } else { result = val && val.buffer && val.buffer instanceof ArrayBuffer; } return result; }; /** * Determine if a value is an Object * * @param {Object} val The value to test * @returns {boolean} True if value is an Object, otherwise false */ export const isObject = (val: any) => val !== null && typeof val === 'object'; /** * Determine if a value is an Object * * @param {Object} val The value to test * @returns {boolean} True if value is an Object, otherwise false */ export const isString = (val: any) => typeof val === 'string' || val instanceof String; /** * Determine if a value is a File * * @param {Object} val The value to test * @returns {boolean} True if value is a File, otherwise false */ export const isFile = (val: File) => Object.prototype.toString.call(val) === '[object File]'; /** * Determine if a value is a Blob * * @param {Object} val The value to test * @returns {boolean} True if value is a Blob, otherwise false */ export const isBlob = (val: Blob) => Object.prototype.toString.call(val) === '[object Blob]'; /** * Determine if a value is a URLSearchParams object * * @param {Object} val The value to test * @returns {boolean} True if value is a URLSearchParams object, otherwise false */ export const isURLSearchParams = (val: URLSearchParams) => typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams; /** * Determine if value is form data * * @param val */ export const isFormData = val => typeof FormData !== 'undefined' && val instanceof FormData; /** * Trim excess whitespace off the beginning and end of a string * * @param {String} str The String to trim * @returns {String} The String freed of excess whitespace */ export const trim = str => str.replace(/^\s*/, '').replace(/\s*$/, ''); export * from './utils.node';