Skip to content

Repository files navigation

SArray

Convenient array signals for S.js.

SArray adds utility methods to S signals carrying arrays. These utility methods parallel the standard ES3/5/6 array methods.

// transformations without SArrayvararr=S.data([1,2,3]),mapped=S(()=>arr().map((x)=>x*2)),filtered=S(()=>arr().filter((x)=>x>2));// transformations with SArrayvararr=SArray([1,2,3]),mapped=arr.map((x)=>x*2),// arr() now has array methodsfiltered=arr.filter((x)=>x>2);// mutations without SArrayvartmp=S.sample(arr).slice(0);tmp.push(4);arr(tmp);// mutations with SArrayarr.push(4);// SArray methods also return SArraysvarmappedAndFiltered=arr.map((x)=>x*2).filter((x)=>x>2);// Any array-carrying signal can be 'lifted' to create an SArrayvarplain=S.data([1,2,3]),arr=SArray.lift(plain),mapped=arr.map((x)=>x*2);// etc// When an array signal changes, map() will re-use prior computations// for new items that === the old.varrands=arr.map(()=>Math.random().toFixed(2));rands();// ["0.83", "0.75", "0.77"]arr.push(4);rands();// ["0.83", "0.75", "0.77", "0.25"] unchanged values reused

For a full list of methods and their signatures, consult index.ts.

About

Utility methods for working with arrays in S.js / Surplus

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages