@woosh/meep-engine
Version:
Pure JavaScript game engine. Fully featured and production ready.
34 lines (27 loc) • 617 B
JavaScript
import { isTypedArray } from "./typed/isTypedArray.js";
/**
*
* @param {object} o
* @returns {boolean}
*/
export function isArrayLike(o) {
if (Array.isArray(o)) {
return true;
}
if (typeof o !== "object") {
return false;
}
if (o === null) {
return false;
}
if (isTypedArray(o)) {
return true;
}
const len = o.length;
// we're expecting valid length property
if (typeof len !== "number" && !Number.isInteger(len) || len < 0) {
return false;
}
// assume array-like
return true;
}