OverviewFilesCommitsIssuesDocsReleasesPeers

keet-deobfuscated / @holepunchto / keet-store / store / lib / array.js

25 lines · javascript ref:
export const EMPTY_ARRAY = Object.freeze([])
export const first = (r) => (r ? r[0] : void 0)
export const last = (r) => (r?.length > 0 ? r[r.length - 1] : void 0)
export const isEmpty = (r) => !Array.isArray(r) || 0 === r.length
export const arrayEqual = (r, t) => {
  if (r === t) return !0
  if (!r || !t) return !1
  const { length: e } = r
  if (e !== t.length) return !1
  for (let n = 0; n < e; n += 1) if (r[n] !== t[n]) return !1
  return !0
}
export const getChanged = (r, t) => {
  if (!Array.isArray(t)) return null
  if (!Array.isArray(r)) return t
  if (r.length !== t.length) return t
  for (let e = 0; e < t.length; e += 1) if (r[e] !== t[e]) return t
  return null
}
export const chunk = (r, t) => {
  const e = []
  for (let n = 0; n < r.length; n += t) e.push(r.slice(n, n + t))
  return e
}