The Stream is the base class of all other streams.
single()
Returns the produced value.
import { val } from '@fluentfixture/core';
// val() returns a Stream with a static value.
const stream = val('a static value');
console.log(stream.single());
// 'a static value'
many()
Returns the produced array.
Parameter
Type
Default
Description
length
Integer
10
target length
import { val } from '@fluentfixture/core';
// val() returns a Stream with a static value.
const stream = val('a static value');
console.log(stream.many(2));
// ['a static value', 'a static value']
import { val } from '@fluentfixture/core';
// val() returns a Stream with a static value.
const stream = val('value')
.format('VALUE IS ${:upperCase()}');
console.log(stream.single());
// 'VALUE IS VALUE
optional()
Returns a Stream that may produce value or undefined.
Parameter
Type
Default
Description
percentage
Float
0.5
chance causing it to be defined
import { val } from '@fluentfixture/core';
// val() returns a Stream with a static value.
const stream = val('value')
.optional(0.3);
console.log(stream.single());
// undefined or 'value'
import { val } from '@fluentfixture/core';
// val() returns a Stream with a static value.
const stream = val('value')
.nullable(0.3);
console.log(stream.single());
// null or 'value'
convert()
Returns a Stream with maps the produced value to another type.
Parameter
Type
Default
Description
fn
Function
converter function
import { val } from '@fluentfixture/core';
// val() returns a Stream with a static value.
const stream = val('value')
.convert(i => i.length);
console.log(stream.single());
// 5
apply()
Returns a Stream with maps the produced value to the same type.
Parameter
Type
Default
Description
fn
Function
apply function
import { val } from '@fluentfixture/core';
// val() returns a Stream with a static value.
const stream = val('value')
.apply(i => i.padStart(7, '*'));
console.log(stream.single());
// '**value'
memo()
Memoizes and returns the same Stream that always produces the same value.
import { val } from '@fluentfixture/core';
// val() returns a Stream with a static value.
const stream = val('value')
.apply(i => i.padStart(7, '*'))
.memo();
console.log(stream.many(2));
// ['**value', '**value']