@tempots/std
Version:
Std library for TypeScript. Natural complement to the Tempo libraries.
70 lines (69 loc) • 1.12 kB
JavaScript
const i = (t, e) => {
if (e <= 0)
return [];
const r = [];
let o = 0;
for (const n of t) {
if (o >= e)
break;
r.push(n), o++;
}
return r;
}, f = (t, e) => ({
*[Symbol.iterator]() {
let r = 0;
for (const o of t) {
if (r < e) {
r++;
continue;
}
yield o;
}
}
}), s = (t, e) => ({
*[Symbol.iterator]() {
for (const r of t)
e(r) && (yield r);
}
}), c = (t, e) => ({
*[Symbol.iterator]() {
for (const r of t)
yield e(r);
}
}), u = (t, e, r) => {
let o = r;
for (const n of t)
o = e(o, n);
return o;
}, l = (t, e) => {
for (const r of t)
if (e(r))
return r;
}, a = (t, e) => {
for (const r of t)
if (!e(r))
return !1;
return !0;
}, m = (t, e) => {
for (const r of t)
if (e(r))
return !0;
return !1;
}, y = (t) => Array.from(t), d = (...t) => ({
*[Symbol.iterator]() {
for (const e of t)
yield* e;
}
});
export {
d as chain,
a as every,
s as filter,
l as find,
c as map,
u as reduce,
f as skip,
m as some,
i as take,
y as toArray
};