prray
Version:
'Promisified' Array, comes with async method supports(such as mapAsync). And it is compatible with normal array.
44 lines (35 loc) • 887 B
text/typescript
import test from 'ava'
import { prray } from '../src/prray'
import { toPrrayPromise, genRandArr } from './test-utils'
const func = (a, b) => a - b
const getTests = () => {
return [
[],
[],
[],
// ['3','b',1,2,'a',4,'2000'],
genRandArr(),
genRandArr(),
genRandArr(),
genRandArr(),
genRandArr(),
]
}
test('prray sort', async t => {
for (const arr of getTests()) {
const p = prray(arr)
const expect = prray(arr.sort(func))
t.deepEqual(p.sort(func), expect)
t.deepEqual(p.sort(), expect)
t.deepEqual(p, expect) // mutable
}
})
test('prraypromise sort', async t => {
for (const arr of getTests()) {
const pp = toPrrayPromise(arr)
const expect = prray(arr.sort(func))
t.deepEqual(await pp.sort(func), expect)
t.deepEqual(await pp.sort(), expect)
t.deepEqual(await pp, expect) // mutable
}
})