Class/Object

quasar.qscript

LeftShift

Related Docs: object LeftShift | package qscript

Permalink

final case class LeftShift[T[_[_]], A](src: A, struct: FreeMap[T], idStatus: IdStatus, repair: JoinFunc[T]) extends QScriptCore[T, A] with Product with Serializable

Flattens nested structure, converting each value into a data set, which are then unioned.

struct is an expression that evaluates to an array or object, which is then “exploded” into multiple values. idStatus indicates what each of those exploded values should look like (either just the value, just the “id” (i.e., the key or index), or a 2-element array of key and value). repair is applied across the new set, integrating the exploded values into the original set.

E.g., in: LeftShift(x, ProjectField(SrcHole, "bar"), ExcludeId, ConcatMaps(LeftSide, MakeMap("bar", RightSide))) If x consists of things that look like { foo: 7, bar: [1, 2, 3] }, then that’s what LeftSide is. And RightSide is values like 1, 2, and 3, because that’s what you get from flattening the struct.So then our right-biased quasar.qscript.MapFuncsCore.ConcatMaps says to concat { foo: 7, bar: [1, 2, 3] } with { bar: 1 }, resulting in { foo: 7, bar: 1 } (then again with { foo: 7, bar: 2 } and { foo: 7, bar: 3 }, finishing up the handling of that one element in the original (x) dataset.

Linear Supertypes
QScriptCore[T, A], Serializable, Serializable, Product, Equals, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. LeftShift
  2. QScriptCore
  3. Serializable
  4. Serializable
  5. Product
  6. Equals
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new LeftShift(src: A, struct: FreeMap[T], idStatus: IdStatus, repair: JoinFunc[T])

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  7. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  8. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  9. val idStatus: IdStatus

    Permalink
  10. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  11. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  12. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  13. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  14. val repair: JoinFunc[T]

    Permalink
  15. val src: A

    Permalink
  16. val struct: FreeMap[T]

    Permalink
  17. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  18. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  20. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from QScriptCore[T, A]

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped