KMP PHP API Reference

WorkflowDefinitionValidator
in package

Shared workflow definition graph validator for seeds, publishing, and CI checks.

Table of Contents

Methods

validate()  : array<string|int, string>
detectCycles()  : array<string|int, array<string|int, string>>
dfsDetectCycles()  : void
findReachableNodes()  : array<string|int, string>
findWaitingForEachDescendants()  : array<string, string>
Find async/waiting nodes reachable from a forEach iterate output.
isSchemaFieldHidden()  : bool
validateActionOrConditionNode()  : void
validateRequiredParams()  : void

Methods

validate()

public validate(array<string|int, mixed> $definition) : array<string|int, string>
Parameters
$definition : array<string|int, mixed>

Workflow graph to validate

Return values
array<string|int, string>

detectCycles()

private detectCycles(string $startKey, array<string|int, mixed> $nodes) : array<string|int, array<string|int, string>>
Parameters
$startKey : string

Starting node key

$nodes : array<string|int, mixed>

Workflow nodes

Return values
array<string|int, array<string|int, string>>

dfsDetectCycles()

private dfsDetectCycles(string $nodeKey, array<string|int, mixed> $nodes, array<string, bool> &$visited, array<string, bool> &$stack, array<string|int, array<string|int, string>> &$cycles) : void
Parameters
$nodeKey : string

Node key

$nodes : array<string|int, mixed>

Workflow nodes

$visited : array<string, bool>

Visited map

$stack : array<string, bool>

Recursion stack

$cycles : array<string|int, array<string|int, string>>

Cycle accumulator

findReachableNodes()

private findReachableNodes(string $startKey, array<string|int, mixed> $nodes) : array<string|int, string>
Parameters
$startKey : string

Starting node key

$nodes : array<string|int, mixed>

Workflow nodes

Return values
array<string|int, string>

findWaitingForEachDescendants()

Find async/waiting nodes reachable from a forEach iterate output.

private findWaitingForEachDescendants(string $nodeKey, array<string|int, mixed> $node, array<string|int, mixed> $nodes) : array<string, string>
Parameters
$nodeKey : string

ForEach node key

$node : array<string|int, mixed>

ForEach node definition

$nodes : array<string|int, mixed>

Workflow nodes

Return values
array<string, string>

Node ID to node type

isSchemaFieldHidden()

private isSchemaFieldHidden(array<string|int, mixed> $paramMeta) : bool
Parameters
$paramMeta : array<string|int, mixed>

Schema metadata

Return values
bool

validateActionOrConditionNode()

private validateActionOrConditionNode(string $key, array<string|int, mixed> $node, array<string|int, string> &$errors) : void
Parameters
$key : string

Node key

$node : array<string|int, mixed>

Node definition

$errors : array<string|int, string>

Errors accumulator

validateRequiredParams()

private validateRequiredParams(string $prefix, array<string|int, mixed> $inputSchema, array<string|int, mixed> $params, array<string|int, mixed> $config, array<string|int, string> &$errors) : void
Parameters
$prefix : string

Error prefix

$inputSchema : array<string|int, mixed>

Registry input schema

$params : array<string|int, mixed>

Node params

$config : array<string|int, mixed>

Node config

$errors : array<string|int, string>

Errors accumulator

On this page

Search results