Table of Contents

Method SnapshotLatest

Namespace
SodaFlow
Assembly
SodaFlow.dll

SnapshotLatest<T, TResult>(Stream<T>, Cell<TResult>)

Gives a stream that fires the latest value of the cell at the moment of each firing.

public static Stream<TResult> SnapshotLatest<T, TResult>(this Stream<T> s, Cell<TResult> c)

Parameters

s Stream<T>

The stream.

c Cell<TResult>

The cell to put together with this one.

Returns

Stream<TResult>

A stream that fires the value of the cell at the end of the transaction of each firing.

Type Parameters

T

The type of the stream.

TResult

The return type.

Remarks

Snapshot<T, TResult>(Stream<T>, Cell<TResult>) gives the value of the cell from before the transaction. This gives the new value if the same transaction updates the cell, and the current value if it does not. Only this stream causes the firing. An update of the cell alone does not. Unlike Snapshot<T, TResult>(Stream<T>, Cell<TResult>), this cannot close a loop. Do not give a cell that the stream from this call updates in the same transaction. To get the latest values of more than one cell, give a cell from Lift<T, T2, TResult>(Cell<T>, Cell<T2>, Func<T, T2, TResult>) .

SnapshotLatest<T, TResult>(Stream<T>, Behavior<TResult>)

Gives a stream that fires the latest value of the behavior at the moment of each firing.

public static Stream<TResult> SnapshotLatest<T, TResult>(this Stream<T> s, Behavior<TResult> b)

Parameters

s Stream<T>

The stream.

b Behavior<TResult>

The behavior to put together with this one.

Returns

Stream<TResult>

A stream that fires the value of the behavior at the end of the transaction of each firing.

Type Parameters

T

The type of the stream.

TResult

The return type.

Remarks

Snapshot<T, TResult>(Stream<T>, Behavior<TResult>) gives the value of the behavior from before the transaction. This gives the new value if the same transaction updates the behavior, and the current value if it does not. Only this stream causes the firing. An update of the behavior alone does not. Unlike Snapshot<T, TResult>(Stream<T>, Behavior<TResult>), this cannot close a loop. Do not give a behavior that the stream from this call updates in the same transaction.

SnapshotLatest<T, T1, TResult>(Stream<T>, Cell<T1>, Func<T, T1, TResult>)

Gives a stream that fires the result of the given function on the fired value and the latest value of the cell.

public static Stream<TResult> SnapshotLatest<T, T1, TResult>(this Stream<T> s, Cell<T1> c, Func<T, T1, TResult> f)

Parameters

s Stream<T>

The stream.

c Cell<T1>

The cell to put together with this one.

f Func<T, T1, TResult>

A function to change the stream value and cell value into a return value.

Returns

Stream<TResult>

A stream that fires the result of the given function on the fired value and the latest value of the cell.

Type Parameters

T

The type of the stream.

T1

The type of the cell.

TResult

The return type.

Remarks

Snapshot<T, T1, TResult>(Stream<T>, Cell<T1>, Func<T, T1, TResult>) gives the value of the cell from before the transaction. This gives the new value if the same transaction updates the cell, and the current value if it does not. Only this stream causes the firing. An update of the cell alone does not. For example, c1.Values().SnapshotLatest(c2, f) fires when c1 changes, with the value that c2 has after the same transaction. Unlike Snapshot<T, T1, TResult>(Stream<T>, Cell<T1>, Func<T, T1, TResult>) , this cannot close a loop. Do not give a cell that the stream from this call updates in the same transaction. Other overloads accept more than one cell. For more cells than they accept, give a cell from Lift<T, T2, TResult>(Cell<T>, Cell<T2>, Func<T, T2, TResult>) .

SnapshotLatest<T, T1, TResult>(Stream<T>, Behavior<T1>, Func<T, T1, TResult>)

Gives a stream that fires the result of the given function on the fired value and the latest value of the behavior.

public static Stream<TResult> SnapshotLatest<T, T1, TResult>(this Stream<T> s, Behavior<T1> b, Func<T, T1, TResult> f)

Parameters

s Stream<T>

The stream.

b Behavior<T1>

The behavior to put together with this one.

f Func<T, T1, TResult>

A function to change the stream value and behavior value into a return value.

Returns

Stream<TResult>

A stream that fires the result of the given function on the fired value and the latest value of the behavior.

Type Parameters

T

The type of the stream.

T1

The type of the behavior.

TResult

The return type.

Remarks

Snapshot<T, T1, TResult>(Stream<T>, Behavior<T1>, Func<T, T1, TResult>) gives the value of the behavior from before the transaction. This gives the new value if the same transaction updates the behavior, and the current value if it does not. Only this stream causes the firing. An update of the behavior alone does not. Unlike Snapshot<T, T1, TResult>(Stream<T>, Behavior<T1>, Func<T, T1, TResult>) , this cannot close a loop. Do not give a behavior that the stream from this call updates in the same transaction.

SnapshotLatest<T, T1, T2, TResult>(Stream<T>, Cell<T1>, Cell<T2>, Func<T, T1, T2, TResult>)

Gives a stream that fires the result of the given function on the fired value and the latest values of the cells.

public static Stream<TResult> SnapshotLatest<T, T1, T2, TResult>(this Stream<T> s, Cell<T1> c1, Cell<T2> c2, Func<T, T1, T2, TResult> f)

Parameters

s Stream<T>

The stream.

c1 Cell<T1>

The first cell to put together with this one.

c2 Cell<T2>

The second cell to put together with this one.

f Func<T, T1, T2, TResult>

A function to change the stream value and cell values into a return value.

Returns

Stream<TResult>

A stream that fires the result of the given function on the fired value and the latest values of the cells.

Type Parameters

T

The type of the stream.

T1

The type of the first cell.

T2

The type of the second cell.

TResult

The return type.

Remarks

Snapshot gives the values of the cells from before the transaction. This gives the new value of each cell that the same transaction updates, and the current value of each cell that it does not update. Only this stream causes the firing. An update of the cells alone does not. This cannot close a loop, as Snapshot can. Do not give a cell that the stream from this call updates in the same transaction.

SnapshotLatest<T, T1, T2, TResult>(Stream<T>, Behavior<T1>, Behavior<T2>, Func<T, T1, T2, TResult>)

Gives a stream that fires the result of the given function on the fired value and the latest values of the behaviors.

public static Stream<TResult> SnapshotLatest<T, T1, T2, TResult>(this Stream<T> s, Behavior<T1> b1, Behavior<T2> b2, Func<T, T1, T2, TResult> f)

Parameters

s Stream<T>

The stream.

b1 Behavior<T1>

The first behavior to put together with this one.

b2 Behavior<T2>

The second behavior to put together with this one.

f Func<T, T1, T2, TResult>

A function to change the stream value and behavior values into a return value.

Returns

Stream<TResult>

A stream that fires the result of the given function on the fired value and the latest values of the behaviors.

Type Parameters

T

The type of the stream.

T1

The type of the first behavior.

T2

The type of the second behavior.

TResult

The return type.

Remarks

Snapshot gives the values of the behaviors from before the transaction. This gives the new value of each behavior that the same transaction updates, and the current value of each behavior that it does not update. Only this stream causes the firing. An update of the behaviors alone does not. This cannot close a loop, as Snapshot can. Do not give a behavior that the stream from this call updates in the same transaction.

SnapshotLatest<T, T1, T2, T3, TResult>(Stream<T>, Cell<T1>, Cell<T2>, Cell<T3>, Func<T, T1, T2, T3, TResult>)

Gives a stream that fires the result of the given function on the fired value and the latest values of the cells.

public static Stream<TResult> SnapshotLatest<T, T1, T2, T3, TResult>(this Stream<T> s, Cell<T1> c1, Cell<T2> c2, Cell<T3> c3, Func<T, T1, T2, T3, TResult> f)

Parameters

s Stream<T>

The stream.

c1 Cell<T1>

The first cell to put together with this one.

c2 Cell<T2>

The second cell to put together with this one.

c3 Cell<T3>

The third cell to put together with this one.

f Func<T, T1, T2, T3, TResult>

A function to change the stream value and cell values into a return value.

Returns

Stream<TResult>

A stream that fires the result of the given function on the fired value and the latest values of the cells.

Type Parameters

T

The type of the stream.

T1

The type of the first cell.

T2

The type of the second cell.

T3

The type of the third cell.

TResult

The return type.

Remarks

Snapshot gives the values of the cells from before the transaction. This gives the new value of each cell that the same transaction updates, and the current value of each cell that it does not update. Only this stream causes the firing. An update of the cells alone does not. This cannot close a loop, as Snapshot can. Do not give a cell that the stream from this call updates in the same transaction.

SnapshotLatest<T, T1, T2, T3, TResult>(Stream<T>, Behavior<T1>, Behavior<T2>, Behavior<T3>, Func<T, T1, T2, T3, TResult>)

Gives a stream that fires the result of the given function on the fired value and the latest values of the behaviors.

public static Stream<TResult> SnapshotLatest<T, T1, T2, T3, TResult>(this Stream<T> s, Behavior<T1> b1, Behavior<T2> b2, Behavior<T3> b3, Func<T, T1, T2, T3, TResult> f)

Parameters

s Stream<T>

The stream.

b1 Behavior<T1>

The first behavior to put together with this one.

b2 Behavior<T2>

The second behavior to put together with this one.

b3 Behavior<T3>

The third behavior to put together with this one.

f Func<T, T1, T2, T3, TResult>

A function to change the stream value and behavior values into a return value.

Returns

Stream<TResult>

A stream that fires the result of the given function on the fired value and the latest values of the behaviors.

Type Parameters

T

The type of the stream.

T1

The type of the first behavior.

T2

The type of the second behavior.

T3

The type of the third behavior.

TResult

The return type.

Remarks

Snapshot gives the values of the behaviors from before the transaction. This gives the new value of each behavior that the same transaction updates, and the current value of each behavior that it does not update. Only this stream causes the firing. An update of the behaviors alone does not. This cannot close a loop, as Snapshot can. Do not give a behavior that the stream from this call updates in the same transaction.

SnapshotLatest<T, T1, T2, T3, T4, TResult>(Stream<T>, Cell<T1>, Cell<T2>, Cell<T3>, Cell<T4>, Func<T, T1, T2, T3, T4, TResult>)

Gives a stream that fires the result of the given function on the fired value and the latest values of the cells.

public static Stream<TResult> SnapshotLatest<T, T1, T2, T3, T4, TResult>(this Stream<T> s, Cell<T1> c1, Cell<T2> c2, Cell<T3> c3, Cell<T4> c4, Func<T, T1, T2, T3, T4, TResult> f)

Parameters

s Stream<T>

The stream.

c1 Cell<T1>

The first cell to put together with this one.

c2 Cell<T2>

The second cell to put together with this one.

c3 Cell<T3>

The third cell to put together with this one.

c4 Cell<T4>

The fourth cell to put together with this one.

f Func<T, T1, T2, T3, T4, TResult>

A function to change the stream value and cell values into a return value.

Returns

Stream<TResult>

A stream that fires the result of the given function on the fired value and the latest values of the cells.

Type Parameters

T

The type of the stream.

T1

The type of the first cell.

T2

The type of the second cell.

T3

The type of the third cell.

T4

The type of the fourth cell.

TResult

The return type.

Remarks

Snapshot gives the values of the cells from before the transaction. This gives the new value of each cell that the same transaction updates, and the current value of each cell that it does not update. Only this stream causes the firing. An update of the cells alone does not. This cannot close a loop, as Snapshot can. Do not give a cell that the stream from this call updates in the same transaction.

SnapshotLatest<T, T1, T2, T3, T4, TResult>(Stream<T>, Behavior<T1>, Behavior<T2>, Behavior<T3>, Behavior<T4>, Func<T, T1, T2, T3, T4, TResult>)

Gives a stream that fires the result of the given function on the fired value and the latest values of the behaviors.

public static Stream<TResult> SnapshotLatest<T, T1, T2, T3, T4, TResult>(this Stream<T> s, Behavior<T1> b1, Behavior<T2> b2, Behavior<T3> b3, Behavior<T4> b4, Func<T, T1, T2, T3, T4, TResult> f)

Parameters

s Stream<T>

The stream.

b1 Behavior<T1>

The first behavior to put together with this one.

b2 Behavior<T2>

The second behavior to put together with this one.

b3 Behavior<T3>

The third behavior to put together with this one.

b4 Behavior<T4>

The fourth behavior to put together with this one.

f Func<T, T1, T2, T3, T4, TResult>

A function to change the stream value and behavior values into a return value.

Returns

Stream<TResult>

A stream that fires the result of the given function on the fired value and the latest values of the behaviors.

Type Parameters

T

The type of the stream.

T1

The type of the first behavior.

T2

The type of the second behavior.

T3

The type of the third behavior.

T4

The type of the fourth behavior.

TResult

The return type.

Remarks

Snapshot gives the values of the behaviors from before the transaction. This gives the new value of each behavior that the same transaction updates, and the current value of each behavior that it does not update. Only this stream causes the firing. An update of the behaviors alone does not. This cannot close a loop, as Snapshot can. Do not give a behavior that the stream from this call updates in the same transaction.

SnapshotLatest<T, T1, T2, T3, T4, T5, TResult>(Stream<T>, Cell<T1>, Cell<T2>, Cell<T3>, Cell<T4>, Cell<T5>, Func<T, T1, T2, T3, T4, T5, TResult>)

Gives a stream that fires the result of the given function on the fired value and the latest values of the cells.

public static Stream<TResult> SnapshotLatest<T, T1, T2, T3, T4, T5, TResult>(this Stream<T> s, Cell<T1> c1, Cell<T2> c2, Cell<T3> c3, Cell<T4> c4, Cell<T5> c5, Func<T, T1, T2, T3, T4, T5, TResult> f)

Parameters

s Stream<T>

The stream.

c1 Cell<T1>

The first cell to put together with this one.

c2 Cell<T2>

The second cell to put together with this one.

c3 Cell<T3>

The third cell to put together with this one.

c4 Cell<T4>

The fourth cell to put together with this one.

c5 Cell<T5>

The fifth cell to put together with this one.

f Func<T, T1, T2, T3, T4, T5, TResult>

A function to change the stream value and cell values into a return value.

Returns

Stream<TResult>

A stream that fires the result of the given function on the fired value and the latest values of the cells.

Type Parameters

T

The type of the stream.

T1

The type of the first cell.

T2

The type of the second cell.

T3

The type of the third cell.

T4

The type of the fourth cell.

T5

The type of the fifth cell.

TResult

The return type.

Remarks

Snapshot gives the values of the cells from before the transaction. This gives the new value of each cell that the same transaction updates, and the current value of each cell that it does not update. Only this stream causes the firing. An update of the cells alone does not. This cannot close a loop, as Snapshot can. Do not give a cell that the stream from this call updates in the same transaction.

SnapshotLatest<T, T1, T2, T3, T4, T5, TResult>(Stream<T>, Behavior<T1>, Behavior<T2>, Behavior<T3>, Behavior<T4>, Behavior<T5>, Func<T, T1, T2, T3, T4, T5, TResult>)

Gives a stream that fires the result of the given function on the fired value and the latest values of the behaviors.

public static Stream<TResult> SnapshotLatest<T, T1, T2, T3, T4, T5, TResult>(this Stream<T> s, Behavior<T1> b1, Behavior<T2> b2, Behavior<T3> b3, Behavior<T4> b4, Behavior<T5> b5, Func<T, T1, T2, T3, T4, T5, TResult> f)

Parameters

s Stream<T>

The stream.

b1 Behavior<T1>

The first behavior to put together with this one.

b2 Behavior<T2>

The second behavior to put together with this one.

b3 Behavior<T3>

The third behavior to put together with this one.

b4 Behavior<T4>

The fourth behavior to put together with this one.

b5 Behavior<T5>

The fifth behavior to put together with this one.

f Func<T, T1, T2, T3, T4, T5, TResult>

A function to change the stream value and behavior values into a return value.

Returns

Stream<TResult>

A stream that fires the result of the given function on the fired value and the latest values of the behaviors.

Type Parameters

T

The type of the stream.

T1

The type of the first behavior.

T2

The type of the second behavior.

T3

The type of the third behavior.

T4

The type of the fourth behavior.

T5

The type of the fifth behavior.

TResult

The return type.

Remarks

Snapshot gives the values of the behaviors from before the transaction. This gives the new value of each behavior that the same transaction updates, and the current value of each behavior that it does not update. Only this stream causes the firing. An update of the behaviors alone does not. This cannot close a loop, as Snapshot can. Do not give a behavior that the stream from this call updates in the same transaction.

SnapshotLatest<T, T1, T2, T3, T4, T5, T6, TResult>(Stream<T>, Cell<T1>, Cell<T2>, Cell<T3>, Cell<T4>, Cell<T5>, Cell<T6>, Func<T, T1, T2, T3, T4, T5, T6, TResult>)

Gives a stream that fires the result of the given function on the fired value and the latest values of the cells.

public static Stream<TResult> SnapshotLatest<T, T1, T2, T3, T4, T5, T6, TResult>(this Stream<T> s, Cell<T1> c1, Cell<T2> c2, Cell<T3> c3, Cell<T4> c4, Cell<T5> c5, Cell<T6> c6, Func<T, T1, T2, T3, T4, T5, T6, TResult> f)

Parameters

s Stream<T>

The stream.

c1 Cell<T1>

The first cell to put together with this one.

c2 Cell<T2>

The second cell to put together with this one.

c3 Cell<T3>

The third cell to put together with this one.

c4 Cell<T4>

The fourth cell to put together with this one.

c5 Cell<T5>

The fifth cell to put together with this one.

c6 Cell<T6>

The sixth cell to put together with this one.

f Func<T, T1, T2, T3, T4, T5, T6, TResult>

A function to change the stream value and cell values into a return value.

Returns

Stream<TResult>

A stream that fires the result of the given function on the fired value and the latest values of the cells.

Type Parameters

T

The type of the stream.

T1

The type of the first cell.

T2

The type of the second cell.

T3

The type of the third cell.

T4

The type of the fourth cell.

T5

The type of the fifth cell.

T6

The type of the sixth cell.

TResult

The return type.

Remarks

Snapshot gives the values of the cells from before the transaction. This gives the new value of each cell that the same transaction updates, and the current value of each cell that it does not update. Only this stream causes the firing. An update of the cells alone does not. This cannot close a loop, as Snapshot can. Do not give a cell that the stream from this call updates in the same transaction.

SnapshotLatest<T, T1, T2, T3, T4, T5, T6, TResult>(Stream<T>, Behavior<T1>, Behavior<T2>, Behavior<T3>, Behavior<T4>, Behavior<T5>, Behavior<T6>, Func<T, T1, T2, T3, T4, T5, T6, TResult>)

Gives a stream that fires the result of the given function on the fired value and the latest values of the behaviors.

public static Stream<TResult> SnapshotLatest<T, T1, T2, T3, T4, T5, T6, TResult>(this Stream<T> s, Behavior<T1> b1, Behavior<T2> b2, Behavior<T3> b3, Behavior<T4> b4, Behavior<T5> b5, Behavior<T6> b6, Func<T, T1, T2, T3, T4, T5, T6, TResult> f)

Parameters

s Stream<T>

The stream.

b1 Behavior<T1>

The first behavior to put together with this one.

b2 Behavior<T2>

The second behavior to put together with this one.

b3 Behavior<T3>

The third behavior to put together with this one.

b4 Behavior<T4>

The fourth behavior to put together with this one.

b5 Behavior<T5>

The fifth behavior to put together with this one.

b6 Behavior<T6>

The sixth behavior to put together with this one.

f Func<T, T1, T2, T3, T4, T5, T6, TResult>

A function to change the stream value and behavior values into a return value.

Returns

Stream<TResult>

A stream that fires the result of the given function on the fired value and the latest values of the behaviors.

Type Parameters

T

The type of the stream.

T1

The type of the first behavior.

T2

The type of the second behavior.

T3

The type of the third behavior.

T4

The type of the fourth behavior.

T5

The type of the fifth behavior.

T6

The type of the sixth behavior.

TResult

The return type.

Remarks

Snapshot gives the values of the behaviors from before the transaction. This gives the new value of each behavior that the same transaction updates, and the current value of each behavior that it does not update. Only this stream causes the firing. An update of the behaviors alone does not. This cannot close a loop, as Snapshot can. Do not give a behavior that the stream from this call updates in the same transaction.

SnapshotLatest<T, T1, T2, T3, T4, T5, T6, T7, TResult>(Stream<T>, Cell<T1>, Cell<T2>, Cell<T3>, Cell<T4>, Cell<T5>, Cell<T6>, Cell<T7>, Func<T, T1, T2, T3, T4, T5, T6, T7, TResult>)

Gives a stream that fires the result of the given function on the fired value and the latest values of the cells.

public static Stream<TResult> SnapshotLatest<T, T1, T2, T3, T4, T5, T6, T7, TResult>(this Stream<T> s, Cell<T1> c1, Cell<T2> c2, Cell<T3> c3, Cell<T4> c4, Cell<T5> c5, Cell<T6> c6, Cell<T7> c7, Func<T, T1, T2, T3, T4, T5, T6, T7, TResult> f)

Parameters

s Stream<T>

The stream.

c1 Cell<T1>

The first cell to put together with this one.

c2 Cell<T2>

The second cell to put together with this one.

c3 Cell<T3>

The third cell to put together with this one.

c4 Cell<T4>

The fourth cell to put together with this one.

c5 Cell<T5>

The fifth cell to put together with this one.

c6 Cell<T6>

The sixth cell to put together with this one.

c7 Cell<T7>

The seventh cell to put together with this one.

f Func<T, T1, T2, T3, T4, T5, T6, T7, TResult>

A function to change the stream value and cell values into a return value.

Returns

Stream<TResult>

A stream that fires the result of the given function on the fired value and the latest values of the cells.

Type Parameters

T

The type of the stream.

T1

The type of the first cell.

T2

The type of the second cell.

T3

The type of the third cell.

T4

The type of the fourth cell.

T5

The type of the fifth cell.

T6

The type of the sixth cell.

T7

The type of the seventh cell.

TResult

The return type.

Remarks

Snapshot gives the values of the cells from before the transaction. This gives the new value of each cell that the same transaction updates, and the current value of each cell that it does not update. Only this stream causes the firing. An update of the cells alone does not. This cannot close a loop, as Snapshot can. Do not give a cell that the stream from this call updates in the same transaction.

SnapshotLatest<T, T1, T2, T3, T4, T5, T6, T7, TResult>(Stream<T>, Behavior<T1>, Behavior<T2>, Behavior<T3>, Behavior<T4>, Behavior<T5>, Behavior<T6>, Behavior<T7>, Func<T, T1, T2, T3, T4, T5, T6, T7, TResult>)

Gives a stream that fires the result of the given function on the fired value and the latest values of the behaviors.

public static Stream<TResult> SnapshotLatest<T, T1, T2, T3, T4, T5, T6, T7, TResult>(this Stream<T> s, Behavior<T1> b1, Behavior<T2> b2, Behavior<T3> b3, Behavior<T4> b4, Behavior<T5> b5, Behavior<T6> b6, Behavior<T7> b7, Func<T, T1, T2, T3, T4, T5, T6, T7, TResult> f)

Parameters

s Stream<T>

The stream.

b1 Behavior<T1>

The first behavior to put together with this one.

b2 Behavior<T2>

The second behavior to put together with this one.

b3 Behavior<T3>

The third behavior to put together with this one.

b4 Behavior<T4>

The fourth behavior to put together with this one.

b5 Behavior<T5>

The fifth behavior to put together with this one.

b6 Behavior<T6>

The sixth behavior to put together with this one.

b7 Behavior<T7>

The seventh behavior to put together with this one.

f Func<T, T1, T2, T3, T4, T5, T6, T7, TResult>

A function to change the stream value and behavior values into a return value.

Returns

Stream<TResult>

A stream that fires the result of the given function on the fired value and the latest values of the behaviors.

Type Parameters

T

The type of the stream.

T1

The type of the first behavior.

T2

The type of the second behavior.

T3

The type of the third behavior.

T4

The type of the fourth behavior.

T5

The type of the fifth behavior.

T6

The type of the sixth behavior.

T7

The type of the seventh behavior.

TResult

The return type.

Remarks

Snapshot gives the values of the behaviors from before the transaction. This gives the new value of each behavior that the same transaction updates, and the current value of each behavior that it does not update. Only this stream causes the firing. An update of the behaviors alone does not. This cannot close a loop, as Snapshot can. Do not give a behavior that the stream from this call updates in the same transaction.

SnapshotLatest<T, T1, T2, T3, T4, T5, T6, T7, T8, TResult>(Stream<T>, Cell<T1>, Cell<T2>, Cell<T3>, Cell<T4>, Cell<T5>, Cell<T6>, Cell<T7>, Cell<T8>, Func<T, T1, T2, T3, T4, T5, T6, T7, T8, TResult>)

Gives a stream that fires the result of the given function on the fired value and the latest values of the cells.

public static Stream<TResult> SnapshotLatest<T, T1, T2, T3, T4, T5, T6, T7, T8, TResult>(this Stream<T> s, Cell<T1> c1, Cell<T2> c2, Cell<T3> c3, Cell<T4> c4, Cell<T5> c5, Cell<T6> c6, Cell<T7> c7, Cell<T8> c8, Func<T, T1, T2, T3, T4, T5, T6, T7, T8, TResult> f)

Parameters

s Stream<T>

The stream.

c1 Cell<T1>

The first cell to put together with this one.

c2 Cell<T2>

The second cell to put together with this one.

c3 Cell<T3>

The third cell to put together with this one.

c4 Cell<T4>

The fourth cell to put together with this one.

c5 Cell<T5>

The fifth cell to put together with this one.

c6 Cell<T6>

The sixth cell to put together with this one.

c7 Cell<T7>

The seventh cell to put together with this one.

c8 Cell<T8>

The eighth cell to put together with this one.

f Func<T, T1, T2, T3, T4, T5, T6, T7, T8, TResult>

A function to change the stream value and cell values into a return value.

Returns

Stream<TResult>

A stream that fires the result of the given function on the fired value and the latest values of the cells.

Type Parameters

T

The type of the stream.

T1

The type of the first cell.

T2

The type of the second cell.

T3

The type of the third cell.

T4

The type of the fourth cell.

T5

The type of the fifth cell.

T6

The type of the sixth cell.

T7

The type of the seventh cell.

T8

The type of the eighth cell.

TResult

The return type.

Remarks

Snapshot gives the values of the cells from before the transaction. This gives the new value of each cell that the same transaction updates, and the current value of each cell that it does not update. Only this stream causes the firing. An update of the cells alone does not. This cannot close a loop, as Snapshot can. Do not give a cell that the stream from this call updates in the same transaction.

SnapshotLatest<T, T1, T2, T3, T4, T5, T6, T7, T8, TResult>(Stream<T>, Behavior<T1>, Behavior<T2>, Behavior<T3>, Behavior<T4>, Behavior<T5>, Behavior<T6>, Behavior<T7>, Behavior<T8>, Func<T, T1, T2, T3, T4, T5, T6, T7, T8, TResult>)

Gives a stream that fires the result of the given function on the fired value and the latest values of the behaviors.

public static Stream<TResult> SnapshotLatest<T, T1, T2, T3, T4, T5, T6, T7, T8, TResult>(this Stream<T> s, Behavior<T1> b1, Behavior<T2> b2, Behavior<T3> b3, Behavior<T4> b4, Behavior<T5> b5, Behavior<T6> b6, Behavior<T7> b7, Behavior<T8> b8, Func<T, T1, T2, T3, T4, T5, T6, T7, T8, TResult> f)

Parameters

s Stream<T>

The stream.

b1 Behavior<T1>

The first behavior to put together with this one.

b2 Behavior<T2>

The second behavior to put together with this one.

b3 Behavior<T3>

The third behavior to put together with this one.

b4 Behavior<T4>

The fourth behavior to put together with this one.

b5 Behavior<T5>

The fifth behavior to put together with this one.

b6 Behavior<T6>

The sixth behavior to put together with this one.

b7 Behavior<T7>

The seventh behavior to put together with this one.

b8 Behavior<T8>

The eighth behavior to put together with this one.

f Func<T, T1, T2, T3, T4, T5, T6, T7, T8, TResult>

A function to change the stream value and behavior values into a return value.

Returns

Stream<TResult>

A stream that fires the result of the given function on the fired value and the latest values of the behaviors.

Type Parameters

T

The type of the stream.

T1

The type of the first behavior.

T2

The type of the second behavior.

T3

The type of the third behavior.

T4

The type of the fourth behavior.

T5

The type of the fifth behavior.

T6

The type of the sixth behavior.

T7

The type of the seventh behavior.

T8

The type of the eighth behavior.

TResult

The return type.

Remarks

Snapshot gives the values of the behaviors from before the transaction. This gives the new value of each behavior that the same transaction updates, and the current value of each behavior that it does not update. Only this stream causes the firing. An update of the behaviors alone does not. This cannot close a loop, as Snapshot can. Do not give a behavior that the stream from this call updates in the same transaction.