@ipcom/extended-ami
Version:
Advanced manager for connecting to Asterisk
50 lines • 1.55 kB
JavaScript
export function _isUndefined(value) {
return value === undefined;
}
export function _isNull(value) {
return value === null;
}
export function _isEmpty(value) {
if (_isNull(value) || _isUndefined(value))
return true;
if (typeof value === 'string' || Array.isArray(value)) {
return value.length === 0;
}
if (typeof value === 'object' && value !== null) {
return Object.keys(value).length === 0;
}
return false;
}
export function _isNaN(value) {
return typeof value === 'number' && value !== value;
}
export function _isNumber(value) {
return typeof value === 'number' && !isNaN(value);
}
export function _toNumber(value) {
if (_isNull(value) || _isUndefined(value) || _isNaN(value))
return undefined;
const parsedNumber = Number(value);
return _isNumber(parsedNumber) ? parsedNumber : undefined;
}
export function _isFinite(value) {
if (value === null || _isUndefined(value) || _isNull(value) || _isNaN(value))
return false;
return Number.isFinite(value);
}
export function _indexOfArray(array, value) {
for (let i = 0; i < array.length; i++) {
const item = array[i];
if (typeof item === 'object' && item !== null) {
for (const key in item) {
if (Object.prototype.hasOwnProperty.call(item, key)) {
if (item[key] === value) {
return i;
}
}
}
}
}
return -1;
}
//# sourceMappingURL=functions.js.map