web-video-creator
Version:
A framework for creating videos based on Node.js + Puppeteer + FFmpeg.
132 lines (119 loc) • 2.79 kB
JavaScript
/**
* 内部工具包
*
* 被用于浏览器环境内
*/
export default () => ({
/**
* 简易的断言
*
* @param {any} value - 值
* @param {string} message - 断言消息
*/
assert(value, message) {
if (value === true) return;
throw (message instanceof Error ? message : new Error(message));
},
/**
* 判断是否对象
*
* @param {any} value - 值
* @returns {boolean} - 是否对象
*/
isObject(value) {
return value instanceof Object;
},
/**
* 判断是否函数
*
* @param {any} value - 值
* @returns {boolean} - 是否函数
*/
isFunction(value) {
return value instanceof Function;
},
/**
* 判断是否Uint8Array
*
* @param {any} value - 值
* @returns {boolean} - 是否Unit8Array
*/
isUint8Array(value) {
return value instanceof Uint8Array;
},
/**
* 判断是否未定义
*
* @param {any} value - 值
* @returns {boolean} - 是否未定义
*/
isUndefined(value) {
return value === undefined;
},
/**
* 判断是否为null
*
* @param {any} value - 值
* @returns {boolean} - 是否为null
*/
isNull(value) {
return value === null;
},
/**
* 判断是否未定义或为null
*
* @param {any} value - 值
* @returns {boolean} - 是否未定义或为null
*/
isNil(value) {
return this.isUndefined(value) || this.isNull(value);
},
/**
* 是否为字符串值
*
* @param {any} value - 值
* @returns {boolean} - 是否字符串
*/
isString(value) {
return typeof value == "string";
},
/**
* 判断是否数字值
*
* @param {any} value - 值
* @returns {boolean} - 是否数字
*/
isNumber(value) {
return !isNaN(value);
},
/**
* 判断是否布尔值
*
* @param {any} value - 值
* @returns {boolean} - 是否布尔值
*/
isBoolean(value) {
return value === true || value === false;
},
/**
* 判断是否错误对象
*
* @param {any} value - 值
* @returns {boolean} - 是否错误对象
*/
isError(value) {
return value instanceof Error;
},
/**
* 默认值赋值
*
* @param {any} value - 值
* @param {any} defaultValue - 默认值
* @returns {any} - 值
*/
defaultTo(value, defaultValue) {
if(this.isNil(value))
return defaultValue;
return value;
}
});