This repository has been archived on 2026-04-03. You can view files and clone it, but cannot push or open issues or pull requests.
nyx/node_modules/is-what/dist/isIterable.js
Nico e2667f8e12 Initial nyx project — fork of hermes-frontend
Forked from hermes-frontend, stripped openclaw/bun specifics:
- Auth tokens: openclaw_session -> nyx_session
- Vite proxy: localhost:3003 -> localhost:8000 (assay)
- Prod WS: wss://assay.loop42.de/ws
- Workspace paths: removed openclaw-specific paths
- Added missing deps: @heroicons/vue, overlayscrollbars-vue
- Branding: title -> nyx

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 20:23:27 +02:00

17 lines
721 B
JavaScript

/** Returns whether the payload is an iterable (regular or async) */
export function isIterable(payload) {
// oxlint-disable-next-line no-typeof-undefined
if (typeof Symbol === 'undefined' || typeof Symbol.iterator === 'undefined') {
return false;
}
// oxlint-disable-next-line no-null
if (payload === null || payload === undefined)
return false;
// Strings are iterable, even though they're primitives.
if (typeof payload === 'string')
return true;
// For objects, arrays and functions, check if Symbol.iterator is a function.
return ((typeof payload === 'object' || typeof payload === 'function') &&
typeof payload[Symbol.iterator] === 'function');
}