Skip to content

Instantly share code, notes, and snippets.

@busti
Created March 28, 2019 01:14
Show Gist options
  • Save busti/3ce2d6594e4d898f908457808d09d379 to your computer and use it in GitHub Desktop.
Save busti/3ce2d6594e4d898f908457808d09d379 to your computer and use it in GitHub Desktop.
trait RSeq[+A] extends Reactive[RSeqDelta[A], Seq[A]] {
def now: Seq[A]
def size: Signal[Int]
def apply(idx: Int): Signal[A]
def contains[B >: A](a: B): Signal[Boolean]
def count(p: A=>Boolean): Signal[Int]
def sigCount(p: A=>Boolean): Signal[Int]
def exists(p: A=>Boolean): Signal[Boolean]
def sigExists(p: A=>Boolean): Signal[Boolean]
def map[B](f: A => B): RSeq[B]
def sigMap[B](f: A => B): RSeq[B]
def filter(p: A => Boolean): RSeq[A]
def sigFilter(p: A => Boolean): RSeq[A]
def flatMap[B](f: A => RSeq[B]): RSeq[B]
def sigFlatMap[B](f: A => RSeq[B]): RSeq[B]
def ++[B >: A](that: RSeq[B]): RSeq[B]
def foldUndo[B](init: B)(op: (B, A) => B)(undo: (B, A) => B): Signal[B]
def aggregate[B](init: B)(op: (B, A) => B)(combine: (B, B) => B): Signal[B]
def sigAggregate[B](init: B)(op: (B, A) => B)(combine: (B, B) => B): Signal[B]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment