DomZippersFastAndSlow

sealed trait DomZippersFastAndSlow[F[_], Dom, A] extends Store[F, Dom, A, <none>]

Fusion of two DomZippers over identical content.

One zipper ("fast") is used for all of the inspection, the other zipper ("slow") is used when real DOM is needed.

Since

2.3.0

Companion
object
trait Store[F, Dom, A, [X[_], Y] =>> DomZippersFastAndSlow[X, Dom, Y]]
trait DomZipper[F, Dom, A, [X[_], Y] =>> DomZippersFastAndSlow[X, Dom, Y]]
class Object
trait Matchable
class Any

Type members

Inherited types

final protected type Peek[B] = Pos => B
Inherited from
Store

Value members

Concrete methods

override def apply(name: String, sel: String, which: MofN): F[DomZippersFastAndSlow[F, Dom, A]]
Definition Classes
override def checked: F[Boolean]
Definition Classes
override def child(name: String, sel: String, which: MofN): F[DomZippersFastAndSlow[F, Dom, A]]
Definition Classes
override def children01(sel: String): DomCollection[[X[_], Y] =>> DomZippersFastAndSlow[X, Dom, Y], F, [A] =>> Option[A], Dom, A]
Definition Classes
override def children01: DomCollection[[X[_], Y] =>> DomZippersFastAndSlow[X, Dom, Y], F, [A] =>> Option[A], Dom, A]
Definition Classes
override def children0n(sel: String): DomCollection[[X[_], Y] =>> DomZippersFastAndSlow[X, Dom, Y], F, Vector, Dom, A]
Definition Classes
override def children0n: DomCollection[[X[_], Y] =>> DomZippersFastAndSlow[X, Dom, Y], F, Vector, Dom, A]
Definition Classes
override def children1n(sel: String): DomCollection[[X[_], Y] =>> DomZippersFastAndSlow[X, Dom, Y], F, Vector, Dom, A]
Definition Classes
override def children1n: DomCollection[[X[_], Y] =>> DomZippersFastAndSlow[X, Dom, Y], F, Vector, Dom, A]
Definition Classes
override def classes: Set[String]
Definition Classes
override def collect01(sel: String): DomCollection[[X[_], Y] =>> DomZippersFastAndSlow[X, Dom, Y], F, [A] =>> Option[A], Dom, A]
Definition Classes
override def collect0n(sel: String): DomCollection[[X[_], Y] =>> DomZippersFastAndSlow[X, Dom, Y], F, Vector, Dom, A]
Definition Classes
override def collect1n(sel: String): DomCollection[[X[_], Y] =>> DomZippersFastAndSlow[X, Dom, Y], F, Vector, Dom, A]
Definition Classes
override def describe: String
Definition Classes
final override def dom: Dom
Definition Classes
override def enrichErr(msg: String): String
Definition Classes
override def getAttribute(name: String): Option[String]
Definition Classes
override def innerText: String
Definition Classes
final override def isCapable(c: Capability): Boolean
Definition Classes
override def matches(css: String): F[Boolean]
Definition Classes
override def parent: F[DomZippersFastAndSlow[F, Dom, A]]
Definition Classes
override def scrubHtml(f: HtmlScrub): DomZippersFastAndSlow[F, Dom, A]
Definition Classes
def slowOnly(): F[DomZippersFastAndSlow[F, Dom, Dom]]

Drops the fast DomZipper and uses the slow one exclusively.

Drops the fast DomZipper and uses the slow one exclusively.

override def tagName: String
Definition Classes
final override def unmap: DomZippersFastAndSlow[F, Dom, Dom]
Definition Classes
override def value: F[String]
Definition Classes

Inherited methods

final def apply(name: String, sel: String): F[DomZippersFastAndSlow[F, Dom, A]]
Inherited from
DomZipper
final def apply(sel: String, which: MofN): F[DomZippersFastAndSlow[F, Dom, A]]
Inherited from
DomZipper
final def apply(sel: String): F[DomZippersFastAndSlow[F, Dom, A]]
Inherited from
DomZipper
final def child(name: String, sel: String): F[DomZippersFastAndSlow[F, Dom, A]]
Inherited from
DomZipper
final def child(sel: String, which: MofN): F[DomZippersFastAndSlow[F, Dom, A]]
Inherited from
DomZipper
final def child(which: MofN): F[DomZippersFastAndSlow[F, Dom, A]]
Inherited from
DomZipper
final def child(sel: String): F[DomZippersFastAndSlow[F, Dom, A]]
Inherited from
DomZipper
def count(sel: String): Int
Inherited from
DomZipper
final override def duplicate: DomZippersFastAndSlow[F, Dom, DomZippersFastAndSlow[F, Dom, A]]
Definition Classes
Inherited from
Store
final def editables01: DomCollection[[X[_], Y] =>> DomZippersFastAndSlow[X, Dom, Y], F, [A] =>> Option[A], Dom, A]
Inherited from
DomZipper
final def editables0n: DomCollection[[X[_], Y] =>> DomZippersFastAndSlow[X, Dom, Y], F, Vector, Dom, A]
Inherited from
DomZipper
final def editables1n: DomCollection[[X[_], Y] =>> DomZippersFastAndSlow[X, Dom, Y], F, Vector, Dom, A]
Inherited from
DomZipper
final def ensureConsistency[B](f: DomZippersFastAndSlow[F, Dom, A] => B): F[B]

To ensure that DOM doesn't change in the middle of an observation, replace code like...

To ensure that DOM doesn't change in the middle of an observation, replace code like...

 new Obs($)

...with code like...

 $.ensureConsistency(new Obs(_))
Inherited from
DomZipper
def exists(sel: String, suchThat: DomZippersFastAndSlow[F, Dom, A] => Boolean): Boolean
Inherited from
DomZipper
def exists(sel: String): Boolean
Inherited from
DomZipper
final override def extend[B](f: DomZippersFastAndSlow[F, Dom, A] => B): DomZippersFastAndSlow[F, Dom, B]
Definition Classes
Inherited from
Store
final override def extract: A
Definition Classes
Inherited from
Store
def findSelfOrChildWithAttribute(attr: String): F[Option[DomZippersFastAndSlow[F, Dom, A]]]
Inherited from
DomZipper
final def innerHTML: String
Inherited from
DomZipper
final override def map[B](f: A => B): DomZippersFastAndSlow[F, Dom, B]
Definition Classes
Inherited from
Store
final def needAttribute(name: String): F[String]
Inherited from
DomZipper
final protected def newStore[B](peek: () => B): DomZippersFastAndSlow[F, Dom, B]
Inherited from
Store
final def outerHTML: String
Inherited from
DomZipper
final def prepare[B](f: DomZippersFastAndSlow[F, Dom, A] => B): () => B
Inherited from
DomZipper
final def scrubHtml(f: String => String): DomZippersFastAndSlow[F, Dom, A]
Inherited from
DomZipper
def selectedOption: F[DomCollection[[X[_], Y] =>> DomZippersFastAndSlow[X, Dom, Y], F, [A] =>> Option[A], Dom, A]]

The currently selected option in a <select> dropdown.

The currently selected option in a <select> dropdown.

Inherited from
DomZipper
def selectedOptionText: F[Option[String]]

The text value of the currently selected option in a <select> dropdown.

The text value of the currently selected option in a <select> dropdown.

Inherited from
DomZipper
def startConsistencyCheck(): () => F[Unit]

To ensure that DOM doesn't change in the middle of an observation, use this pattern:

To ensure that DOM doesn't change in the middle of an observation, use this pattern:

 class Obs($: DomZipper) {

   // Before making any observations...
   private val checkConsistency = $.startConsistencyCheck()

   // ... obs here ...

   // After making all observations...
   checkConsistency()
 }

(This assumes you're using ErrorHandler.Throw)

Inherited from
DomZipper

Deprecated and Inherited methods

@deprecated("Use .describe", "2.3.0")
final def describeLoc: String
Deprecated
Inherited from
DomZipper