t0n
Version:
Collection of elegant typescript resources for web artisans
33 lines (24 loc) • 592 B
text/typescript
export function getLength(item: any, type?: string): number {
if (!type) type = typeof item
switch (type) {
case 'string':
return item.length
case 'number':
case 'bigint':
// case 'function':
return item.toString().length
// case 'boolean':
// return item ? 1 : 0
// case 'symbol':
// return item.toString().length - 8
case 'object':
if (item === null)
return 0
if (Array.isArray(item))
return item.length
return Object.keys(item).length
case 'undefined':
default:
return 0
}
}