Packages

package split

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. Protected

Type Members

  1. class DuplicateKeysConfig extends AnyRef

    .split() operator does not tolerate duplicate keys, i.e.

    .split() operator does not tolerate duplicate keys, i.e. the Seq you provide it must not contain records that have the same key(record).

    However, checking for duplicate keys can get expensive when splitting very large lists, so this setting can be used to disable the checks.

    When warnings are enabled, YOUR CODE WILL STILL BREAK if the .split() operator encounters duplicate keys, but it will first print a warning in the browser console listing the duplicate keys at fault.

    We enable this setting by default to aid in debugging. As the end user, you might want to disable this either globally or for specific .split() usages to improve performance on very large lists.

    #TODO[Docs]: Add a short section to the docs about this.

    #TODO: Add more granular control later, if there is demand for that. For example, we could instruct Airstream to skip duplicate keys, or to raise an exception if a duplicate happens. In the latter case perhaps we could do that by catching the right exception, without the overhead of checking for duplicates. But not sure how bulletproof that logic would be.

  2. trait LowPrioritySplittableImplicits extends LowestPrioritySplittableImplicits

    If changing the order, check it first on all Scala versions (and be disappointed).

    If changing the order, check it first on all Scala versions (and be disappointed). Some of the errors caused by implicit ambiguity are not very deterministic in Scala 3. Be conservative.

  3. trait LowestPrioritySplittableImplicits extends AnyRef
  4. class SplitSignal[M[_], Input, Output, Key] extends SingleParentSignal[M[Input], M[Output]]

    Broadly similar to parent.map(_.map(project)), but the project part gets access to more data and is memoized by key.

    Broadly similar to parent.map(_.map(project)), but the project part gets access to more data and is memoized by key.

    See docs.

  5. trait Splittable[M[_]] extends AnyRef

    The split operator needs an implicit instance of Splittable[M] in order to work on observables of M[_]

  6. final class SplittableOneSignal[Input] extends AnyVal
  7. final class SplittableOneStream[Input] extends AnyVal
  8. final class SplittableOptionSignal[Input] extends AnyVal
  9. final class SplittableOptionStream[Input] extends AnyVal
  10. final class SplittableSignal[M[_], Input] extends AnyVal
  11. final class SplittableStream[M[_], Input] extends AnyVal

Ungrouped