Flow PHP

ScalarFunction extends FunctionTree, Describable

Methods

children()  : array<int, FunctionTree>
Every operand of this node that is an expression, in constructor order.
describe()  : null|Description
deterministic()  : bool
True when this node and every node in children() produce the same value for the same input row.
eval()  : Column
One column of $rows->count() values, of returns()'s type (nullable), same row order.
fromDescription()  : static
resolved()  : bool
True when this node and every node in children() can answer returns().
returns()  : Type<string|int, mixed>
The type of the column this function produces, before any row is read.
withChildren()  : static
A copy of this node with $children in place of children(): same count, same order, same per-element narrowing. Never mutates $this.

Methods

children()

Every operand of this node that is an expression, in constructor order.

public children() : array<int, FunctionTree>

Raw scalars, enums, Types and scope-introducing bodies are fields, not children.

Return values
array<int, FunctionTree>

describe()

public describe() : null|Description
Return values
null|Description —

null when this instance cannot cross a process boundary (a live client, a custom collaborator)

deterministic()

True when this node and every node in children() produce the same value for the same input row.

public deterministic() : bool

False for a generator (now(), uuid, a random string): a caller that evaluates the tree once per FILE or per partition instead of once per row must refuse a non-deterministic one.

Return values
bool

fromDescription()

public static fromDescription(array<string|int, mixed> $data, Rebuild $rebuild) : static
Parameters
$data : array<string|int, mixed>
$rebuild : Rebuild
Return values
static

resolved()

True when this node and every node in children() can answer returns().

public resolved() : bool
Return values
bool

returns()

The type of the column this function produces, before any row is read.

public returns() : Type<string|int, mixed>

Column-representable only: MixedType and a multi-member UnionType are refused; NullType is permitted. A top-level OptionalType is permitted and is what "this column is nullable" means - it is the only legal OptionalType position for a declaration, because OptionalType never nests and type_bare() strips exactly one level.

Return values
Type<string|int, mixed>

withChildren()

A copy of this node with $children in place of children(): same count, same order, same per-element narrowing. Never mutates $this.

public withChildren(array<int, FunctionTree> $children) : static
Parameters
$children : array<int, FunctionTree>
Return values
static
On this page

Search results