UNPKG

wsemi

Version:

A support package for web developer.

82 lines (74 loc) 1.38 kB
import toLower from 'lodash/toLower' import trim from 'lodash/trim' import isbol from './isbol.mjs' import isestr from './isestr.mjs' /** * 布林值或字串轉布林值 * * Unit Test: {@link https://github.com/yuda-lyu/wsemi/blob/master/test/cbol.test.mjs Github} * @memberOf wsemi * @param {*} v 輸入任意值 * @returns {Boolean} 回傳布林值 * @example * * console.log(cbol(true)) * // => true * * console.log(cbol(false)) * // => false * * console.log(cbol(0)) * // => false * * console.log(cbol(1)) * // => true * * console.log(cbol('true')) * // => true * * console.log(cbol('tRuE')) * // => true * * console.log(cbol('TRUE')) * // => true * * console.log(cbol('abc')) * // => false * * console.log(cbol('')) * // => false * * console.log(cbol([])) * // => false * * console.log(cbol({})) * // => false * * console.log(cbol(null)) * // => false * * console.log(cbol(undefined)) * // => false * */ function cbol(v) { //cehck if (isbol(v)) { return v } if (v === 0) { return false } if (v === 1) { return true } let r = false if (isestr(v)) { v = toLower(trim(v)) if (v === 'true') { r = true } } return r } export default cbol