@ctx-core/nanostores
Version:
ctx-core nanostores
32 lines (31 loc) • 641 B
text/typescript
import { test } from 'uvu'
import { equal } from 'uvu/assert'
import { neq_atom_ } from '../index.js'
test('neq_atom_()()', ()=>{
const v$ = neq_atom_<number|null|undefined>(1)
const v_a:any[] = []
v$.subscribe(v=>v_a.push(v))
equal(v$(), 1)
equal(v$._, 1)
equal(v_a, [1])
v$.set(2)
equal(v$(), 2)
equal(v$._, 2)
equal(v_a, [1, 2])
v$.set(2)
equal(v$._, 2)
equal(v_a, [1, 2])
v$.set(3)
equal(v$._, 3)
equal(v_a, [1, 2, 3])
v$.set(0)
equal(v$._, 0)
equal(v_a, [1, 2, 3, 0])
v$.set(null)
equal(v$._, null)
equal(v_a, [1, 2, 3, 0, null])
v$.set(undefined)
equal(v$._, null)
equal(v_a, [1, 2, 3, 0, null])
})
test.run()