prray
Version:
'Promisified' Array, comes with async method supports(such as mapAsync). And it is compatible with normal array.
40 lines (34 loc) • 811 B
text/typescript
import test from 'ava'
import { Prray } from '../src/prray'
test('prray from', async t => {
const p1 = Prray.from('foo')
t.true(p1 instanceof Prray)
t.is(p1[0], 'f')
t.is(p1[1], 'o')
t.is(p1[2], 'o')
t.is(p1.length, 3)
const p2 = Prray.from(['foo', 1])
t.true(p2 instanceof Prray)
t.is(p2[0], 'foo')
t.is(p2[1], 1)
t.is(p2.length, 2)
const p3 = Prray.from([1, 2, 3], x => x + x)
t.true(p3 instanceof Prray)
t.is(p3[0], 2)
t.is(p3[1], 4)
t.is(p3[2], 6)
t.is(p3.length, 3)
function f() {
return Array.from(arguments)
}
const p4 = Prray.from((f as any)(1, 2, 3))
t.true(p4 instanceof Prray)
t.is(p4[0], 1)
t.is(p4[1], 2)
t.is(p4[2], 3)
t.is(p4.length, 3)
const p5 = Prray.from([1])
t.true(p5 instanceof Prray)
t.is(p5[0], 1)
t.is(p5.length, 1)
})