FnDispatcher
in package
Dispatches to named JMESPath functions using a single function that has the following signature:
mixed $result = fn(string $function_name, array $args)
Table of Contents
- __invoke() : mixed
- getInstance() : FnDispatcher
- Gets a cached instance of the default function implementations.
- fn_abs() : mixed
- fn_avg() : mixed
- fn_ceil() : mixed
- fn_contains() : mixed
- fn_ends_with() : mixed
- fn_floor() : mixed
- fn_join() : mixed
- fn_keys() : mixed
- fn_length() : mixed
- fn_map() : mixed
- fn_max() : mixed
- fn_max_by() : mixed
- fn_merge() : mixed
- fn_min() : mixed
- fn_min_by() : mixed
- fn_not_null() : mixed
- fn_reverse() : mixed
- fn_sort() : mixed
- fn_sort_by() : mixed
- fn_starts_with() : mixed
- fn_sum() : mixed
- fn_to_array() : mixed
- fn_to_number() : mixed
- fn_to_string() : mixed
- fn_type() : mixed
- fn_values() : mixed
- reduce() : mixed
- Reduces and validates an array of values to a single value using a fn.
- typeError() : mixed
- validate() : mixed
- validateArity() : mixed
- validateSeq() : mixed
- Validates value A and B, ensures they both are correctly typed, and of the same type.
- validateType() : mixed
- wrapExpression() : callable
- Validates the return values of expressions as they are applied.
Methods
__invoke()
public
__invoke(string $fn, array<string|int, mixed> $args) : mixed
Parameters
- $fn : string
-
Function name.
- $args : array<string|int, mixed>
-
Function arguments.
Return values
mixed —getInstance()
Gets a cached instance of the default function implementations.
public
static getInstance() : FnDispatcher
Return values
FnDispatcher —fn_abs()
private
fn_abs(array<string|int, mixed> $args) : mixed
Parameters
- $args : array<string|int, mixed>
Return values
mixed —fn_avg()
private
fn_avg(array<string|int, mixed> $args) : mixed
Parameters
- $args : array<string|int, mixed>
Return values
mixed —fn_ceil()
private
fn_ceil(array<string|int, mixed> $args) : mixed
Parameters
- $args : array<string|int, mixed>
Return values
mixed —fn_contains()
private
fn_contains(array<string|int, mixed> $args) : mixed
Parameters
- $args : array<string|int, mixed>
Return values
mixed —fn_ends_with()
private
fn_ends_with(array<string|int, mixed> $args) : mixed
Parameters
- $args : array<string|int, mixed>
Return values
mixed —fn_floor()
private
fn_floor(array<string|int, mixed> $args) : mixed
Parameters
- $args : array<string|int, mixed>
Return values
mixed —fn_join()
private
fn_join(array<string|int, mixed> $args) : mixed
Parameters
- $args : array<string|int, mixed>
Return values
mixed —fn_keys()
private
fn_keys(array<string|int, mixed> $args) : mixed
Parameters
- $args : array<string|int, mixed>
Return values
mixed —fn_length()
private
fn_length(array<string|int, mixed> $args) : mixed
Parameters
- $args : array<string|int, mixed>
Return values
mixed —fn_map()
private
fn_map(array<string|int, mixed> $args) : mixed
Parameters
- $args : array<string|int, mixed>
Return values
mixed —fn_max()
private
fn_max(array<string|int, mixed> $args) : mixed
Parameters
- $args : array<string|int, mixed>
Return values
mixed —fn_max_by()
private
fn_max_by(array<string|int, mixed> $args) : mixed
Parameters
- $args : array<string|int, mixed>
Return values
mixed —fn_merge()
private
fn_merge(array<string|int, mixed> $args) : mixed
Parameters
- $args : array<string|int, mixed>
Return values
mixed —fn_min()
private
fn_min(array<string|int, mixed> $args) : mixed
Parameters
- $args : array<string|int, mixed>
Return values
mixed —fn_min_by()
private
fn_min_by(array<string|int, mixed> $args) : mixed
Parameters
- $args : array<string|int, mixed>
Return values
mixed —fn_not_null()
private
fn_not_null(array<string|int, mixed> $args) : mixed
Parameters
- $args : array<string|int, mixed>
Return values
mixed —fn_reverse()
private
fn_reverse(array<string|int, mixed> $args) : mixed
Parameters
- $args : array<string|int, mixed>
Return values
mixed —fn_sort()
private
fn_sort(array<string|int, mixed> $args) : mixed
Parameters
- $args : array<string|int, mixed>
Return values
mixed —fn_sort_by()
private
fn_sort_by(array<string|int, mixed> $args) : mixed
Parameters
- $args : array<string|int, mixed>
Return values
mixed —fn_starts_with()
private
fn_starts_with(array<string|int, mixed> $args) : mixed
Parameters
- $args : array<string|int, mixed>
Return values
mixed —fn_sum()
private
fn_sum(array<string|int, mixed> $args) : mixed
Parameters
- $args : array<string|int, mixed>
Return values
mixed —fn_to_array()
private
fn_to_array(array<string|int, mixed> $args) : mixed
Parameters
- $args : array<string|int, mixed>
Return values
mixed —fn_to_number()
private
fn_to_number(array<string|int, mixed> $args) : mixed
Parameters
- $args : array<string|int, mixed>
Return values
mixed —fn_to_string()
private
fn_to_string(array<string|int, mixed> $args) : mixed
Parameters
- $args : array<string|int, mixed>
Return values
mixed —fn_type()
private
fn_type(array<string|int, mixed> $args) : mixed
Parameters
- $args : array<string|int, mixed>
Return values
mixed —fn_values()
private
fn_values(array<string|int, mixed> $args) : mixed
Parameters
- $args : array<string|int, mixed>
Return values
mixed —reduce()
Reduces and validates an array of values to a single value using a fn.
private
reduce(string $from, array<string|int, mixed> $values, array<string|int, mixed> $types, callable $reduce) : mixed
Parameters
- $from : string
-
String of function:argument_position
- $values : array<string|int, mixed>
-
Values to reduce.
- $types : array<string|int, mixed>
-
Array of valid value types.
- $reduce : callable
-
Reduce function that accepts ($carry, $item).
Return values
mixed —typeError()
private
typeError(mixed $from, mixed $msg) : mixed
Parameters
- $from : mixed
- $msg : mixed
Return values
mixed —validate()
private
validate(mixed $from, mixed $args[, mixed $types = [] ]) : mixed
Parameters
- $from : mixed
- $args : mixed
- $types : mixed = []
Return values
mixed —validateArity()
private
validateArity(mixed $from, mixed $given, mixed $expected) : mixed
Parameters
- $from : mixed
- $given : mixed
- $expected : mixed
Return values
mixed —validateSeq()
Validates value A and B, ensures they both are correctly typed, and of the same type.
private
validateSeq(string $from, array<string|int, mixed> $types, mixed $a, mixed $b) : mixed
Parameters
- $from : string
-
String of function:argument_position
- $types : array<string|int, mixed>
-
Array of valid value types.
- $a : mixed
-
Value A
- $b : mixed
-
Value B
Return values
mixed —validateType()
private
validateType(mixed $from, mixed $value, array<string|int, mixed> $types) : mixed
Parameters
- $from : mixed
- $value : mixed
- $types : array<string|int, mixed>
Return values
mixed —wrapExpression()
Validates the return values of expressions as they are applied.
private
wrapExpression(string $from, callable $expr, array<string|int, mixed> $types) : callable
Parameters
- $from : string
-
Function name : position
- $expr : callable
-
Expression function to validate.
- $types : array<string|int, mixed>
-
Array of acceptable return type values.
Return values
callable —Returns a wrapped function