@catladder/cli
Version:
Panter cli tool for cloud CI/CD and DevOps
14 lines (12 loc) • 371 B
text/typescript
export async function filter<T>(
arr: T[],
iterator: (item: T) => Promise<boolean>,
) {
const fail = Symbol("fail");
return (
await Promise.all(
arr.map(async (item) => ((await iterator(item)) ? item : fail)),
)
).filter((i) => i !== fail) as any as Promise<T[]>;
}
export const delay = (ms: number) => new Promise((res) => setTimeout(res, ms));