WordPress\AiClient\Builders

PromptBuilder::includeOutputModalitiesprivateWP 0.1.0

Includes output modalities if not already present.

Adds the given modalities to the output modalities list if they're not already included. If output modalities is null, initializes it with the given modalities.

Method of the class: PromptBuilder{}

No Hooks.

Returns

null. Nothing (null).

Usage

// private - for code of main (parent) class only
$result = $this->includeOutputModalities( ModalityEnum ...$modalities ): void;
ModalityEnum ...$modalities(required)
.

Changelog

Since 0.1.0 Introduced.

PromptBuilder::includeOutputModalities() code WP 7.0

private function includeOutputModalities(ModalityEnum ...$modalities): void
{
    $existing = $this->modelConfig->getOutputModalities();
    // Initialize if null
    if ($existing === null) {
        $this->modelConfig->setOutputModalities($modalities);
        return;
    }
    // Build a set of existing modality values for O(1) lookup
    $existingValues = [];
    foreach ($existing as $existingModality) {
        $existingValues[$existingModality->value] = \true;
    }
    // Add new modalities that don't exist
    $toAdd = [];
    foreach ($modalities as $modality) {
        if (!isset($existingValues[$modality->value])) {
            $toAdd[] = $modality;
        }
    }
    // Update if we have new modalities to add
    if (!empty($toAdd)) {
        $this->modelConfig->setOutputModalities(array_merge($existing, $toAdd));
    }
}