34 lines
580 B
Plaintext
34 lines
580 B
Plaintext
'use strict'
|
|
|
|
/**
|
|
* Array.isArray() on its own give type any[]
|
|
*
|
|
* @param {unknown} value
|
|
* @returns {value is unknown[]}
|
|
*/
|
|
function typesafeIsArray (value) {
|
|
return Array.isArray(value)
|
|
}
|
|
|
|
/**
|
|
* @param {unknown} value
|
|
* @returns {value is string[]}
|
|
*/
|
|
function isStringArray (value) {
|
|
if (!typesafeIsArray(value)) return false
|
|
return value.every(item => typeof item === 'string')
|
|
}
|
|
|
|
/**
|
|
* @param {object} value
|
|
* @returns {boolean}
|
|
*/
|
|
function isNonEmpty (value) {
|
|
return Object.keys(value).length !== 0
|
|
}
|
|
|
|
module.exports = {
|
|
isNonEmpty,
|
|
isStringArray,
|
|
}
|