In @fluentfixture, streams cannot be initialized directly. To take advantage of the stream's fluent interface, we can use generator functions.
Boolean
bool()
Returns a BooleanStream
that produces a boolean value.
Parameter
Type
Default
Description
chance causing it to be true
import { bool } from '@fluentfixture/core';
const stream = bool(0.9);
console.log(stream.many(5));
// [true, true, false, true, true]
truthy()
Returns a BooleanStream
that always produces true
.
import { truthy } from '@fluentfixture/core';
const stream = truthy();
console.log(stream.many(5));
// [true, true, true, true, true]
falsy()
Returns a BooleanStream
that always produces false
.
import { falsy } from '@fluentfixture/core';
const stream = falsy();
console.log(stream.many(5));
// [false, false, false, false, false]
Number
int()
Returns an NumberStream
that produces an integer value.
Parameter
Type
Default
Description
import { int } from '@fluentfixture/core';
const stream = int(1, 10)
console.log(stream.many(5));
// [7, 1, 6, 4, 9]
real()
Returns an NumberStream
that produces a float value.
Parameter
Type
Default
Description
import { real } from '@fluentfixture/core';
const stream = real(1, 10)
console.log(stream.many(5));
// [9.298, 3.86, 9.31, 8.38, 8.23]
num()
Returns an NumberStream
that always produces the given number.
Parameter
Type
Default
Description
import { num } from '@fluentfixture/core';
const stream = num(1881);
console.log(stream.many(5));
// [1881, 1881, 1881, 1881, 1881]
zero()
Returns an NumberStream
that always produces zero
.
import { zero } from '@fluentfixture/core';
const stream = zero();
console.log(stream.many(5));
// [0, 0, 0, 0, 0]
one()
Returns an NumberStream
that always produces one
.
import { one } from '@fluentfixture/core';
const stream = one();
console.log(stream.many(5));
// [1, 1, 1, 1, 1]
String
text()
Returns a StringStream
that always produces the given value.
Parameter
Type
Default
Description
import { text } from '@fluentfixture/core';
const stream = text('hello');
console.log(stream.single());
// 'hello'
str()
Returns a StringStream
that produces a string.
Parameter
Type
Default
Description
import { str } from '@fluentfixture/core';
const stream = str('abc', 10);
console.log(stream.single());
// 'abcca'
hex()
Returns a StringStream
that produces a hex string.
Parameter
Type
Default
Description
import { hex } from '@fluentfixture/core';
const stream = hex(10);
console.log(stream.single());
// '22c839cce0'
binary()
Returns a StringStream
that produces a binary string.
Parameter
Type
Default
Description
import { binary } from '@fluentfixture/core';
const stream = binary(10);
console.log(stream.single());
// '1100001110'
octal()
Returns a StringStream
that produces an octal string.
Parameter
Type
Default
Description
import { octal } from '@fluentfixture/core';
const stream = octal(10);
console.log(stream.single());
// '2025723760'
numeric()
Returns a StringStream
that produces a numeric string.
Parameter
Type
Default
Description
import { numeric } from '@fluentfixture/core';
const stream = numeric(10);
console.log(stream.single());
// '0843683947'
alphabetic()
Returns a StringStream
that produces an alphabetic string.
Parameter
Type
Default
Description
import { alphabetic } from '@fluentfixture/core';
const stream = alphabetic(10);
console.log(stream.single());
// 'KlmobUQbyt'
alphanumeric()
Returns a StringStream
that produces an alphanumeric string.
Parameter
Type
Default
Description
import { alphanumeric } from '@fluentfixture/core';
const stream = alphanumeric(10);
console.log(stream.single());
// 'iZvY8UtXxh'
Date
date()
Returns a DateStream
that produces a date.
Parameter
Type
Default
Description
import { date } from '@fluentfixture/core';
const stream = date();
console.log(stream.single());
// Tue Sep 06 2022 11:10:26 GMT+0300 (GMT+03:00)
now()
Returns a DateStream
that produces the current date.
import { now } from '@fluentfixture/core';
const stream = now();
console.log(stream.single());
// Tue Sep 06 2022 11:10:26 GMT+0300 (GMT+03:00)
Object
obj()
Returns an ObjectStream
that produces an object.
Parameter
Type
Default
Description
import { int, obj, pick } from '@fluentfixture/core';
const stream = obj({
amount: int(1, 100),
currency: pick(['USD', 'EUR']),
});
console.log(stream.single());
// {amount: 59, currency: 'EUR'}
Utilities
nil()
Returns a Stream
that always produces null.
import { nil } from '@fluentfixture/core';
const stream = nil();
console.log(stream.single());
// null
undef()
Returns a Stream
that always produces undefined.
import { undef } from '@fluentfixture/core';
const stream = undef();
console.log(stream.single());
// null
val()
Returns a Stream
that always produces the given value.
Parameter
Type
Default
Description
import { val } from '@fluentfixture/core';
const stream = val(5);
console.log(stream.single());
// 5
from()
Returns a Stream
that produces the result of the given function.
Parameter
Type
Default
Description
import { from } from '@fluentfixture/core';
const stream = from(() => 5);
console.log(stream.single());
// 5
list()
Returns an ArrayStream
that produces that contains the given list.
Parameter
Type
Default
Description
import { list } from '@fluentfixture/core';
const stream = list([1, 2, 3])
.map(i => i * 2);
console.log(stream.single());
// [2, 4, 6]
pick()
Returns a Stream
that picks an item from the given list.
import { pick } from '@fluentfixture/core';
const stream = pick([1, 2, 3]);
console.log(stream.single());
// 3
sample()
Returns an ArrayStream
that takes items from the given list.
Parameter
Type
Default
Description
import { sample } from '@fluentfixture/core';
const stream = sample([1, 2, 3], 2);
console.log(stream.single());
// [2, 3]
shuffle()
Returns an ArrayStream
that shuffles the given list.
import { shuffle } from '@fluentfixture/core';
const stream = shuffle([1, 2, 3]);
console.log(stream.single());
// [2, 3, 1]
Last updated