Automattic\WooCommerce\Vendor\GraphQL\Utils

BreakingChangesFinder::findAddedNonNullDirectiveArgspublic staticWC 1.0

Method of the class: BreakingChangesFinder{}

No Hooks.

Returns

Array. Change>

Usage

$result = BreakingChangesFinder::findAddedNonNullDirectiveArgs( $oldSchema, $newSchema ): array;
$oldSchema(Schema) (required)
.
$newSchema(Schema) (required)
.

BreakingChangesFinder::findAddedNonNullDirectiveArgs() code WC 10.9.1

public static function findAddedNonNullDirectiveArgs(Schema $oldSchema, Schema $newSchema): array
{
    $addedNonNullableArgs = [];
    $oldSchemaDirectiveMap = self::getDirectiveMapForSchema($oldSchema);

    foreach ($newSchema->getDirectives() as $newDirective) {
        if (! isset($oldSchemaDirectiveMap[$newDirective->name])) {
            continue;
        }

        foreach (
            self::findAddedArgsForDirective(
                $oldSchemaDirectiveMap[$newDirective->name],
                $newDirective
            ) as $arg
        ) {
            if ($arg->isRequired()) {
                $addedNonNullableArgs[] = [
                    'type' => self::BREAKING_CHANGE_REQUIRED_DIRECTIVE_ARG_ADDED,
                    'description' => "A required arg {$arg->name} on directive {$newDirective->name} was added",
                ];
            }
        }
    }

    return $addedNonNullableArgs;
}