Package

eu.cdevreeze.yaidom

jsdom

Permalink

package jsdom

Wrapper around class org.scalajs.dom.raw.Element, adapting it to the eu.cdevreeze.yaidom.queryapi.ElemLike API.

It is comparable to the yaidom DOM wrapper on the JVM, except that this (browser) DOM runs in the browser.

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. jsdom
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. sealed trait CanBeDomDocumentChild extends JsDomNode with CanBeDocumentChild

    Permalink
  2. final class JsDomComment extends CanBeDomDocumentChild with Comment

    Permalink
  3. final class JsDomDocument extends BackingDocumentApi

    Permalink

    Wrapper around org.scalajs.dom.raw.Document.

    Wrapper around org.scalajs.dom.raw.Document. The yaidom wrapper is not considered to be a node, unlike the wrapped DOM document (which is a DOM node).

    Use these wrappers only if there is a specific need for them. They are not immutable, and they are not thread-safe (which is no issue in the browser).

  4. final class JsDomElem extends CanBeDomDocumentChild with Elem with ScopedElemLike with HasParent

    Permalink

    Wrapper around org.scalajs.dom.raw.Element, conforming to the eu.cdevreeze.yaidom.queryapi.BackingElemApi API.

    Wrapper around org.scalajs.dom.raw.Element, conforming to the eu.cdevreeze.yaidom.queryapi.BackingElemApi API.

    See the documentation of the mixed-in query API trait(s) for more details on the uniform query API offered by this class.

    By design the only state of the JsDomElem is the wrapped element. Otherwise it would be easy to cause any inconsistency between this wrapper element and the wrapped element.

  5. sealed trait JsDomNode extends Node

    Permalink

    Wrappers around org.scalajs.dom.raw.Node and subclasses, such that the wrapper around org.scalajs.dom.raw.Element conforms to the eu.cdevreeze.yaidom.queryapi.ElemLike API.

    Wrappers around org.scalajs.dom.raw.Node and subclasses, such that the wrapper around org.scalajs.dom.raw.Element conforms to the eu.cdevreeze.yaidom.queryapi.ElemLike API.

    Not all DOM node types are exposed via these wrappers. For example, attributes are not nodes according to the ElemLike API, so there is no wrapper for attributes.

    Use these wrappers only if there is a specific need for them. They are not immutable, and they are not thread-safe. On the other hand, in the browser this is not an issue.

    The wrappers are very light-weight, and typically very short-lived. On the other hand, each query may create many wrapper instances for the query results. By design, the only state of each wrapper instance is the wrapped DOM node, so changes to the state of that wrapped DOM node cannot corrupt the wrapper instance.

    This does have a down-side, namely that Path (relative to the root element) and base URI computations are expensive. Therefore these JS DOM wrappers are not the best performing BackingElemApi element implementations if fast Path and base URI computations are required. Yaidom native indexed elements may be better in those cases, and JS DOM wrappers could be used as "builders" of those indexed elements.

  6. final class JsDomProcessingInstruction extends CanBeDomDocumentChild with ProcessingInstruction

    Permalink
  7. final class JsDomText extends JsDomNode with Text

    Permalink

Inherited from AnyRef

Inherited from Any

Ungrouped