Automattic\WooCommerce\Vendor\GraphQL\Utils

SchemaPrinter::printFilteredSchemaprotected staticWC 1.0

Method of the class: SchemaPrinter{}

No Hooks.

Returns

null. Nothing (null).

Usage

$result = SchemaPrinter::printFilteredSchema( $schema, $directiveFilter, $typeFilter, $options ): string;
$schema(Schema) (required)
.
$directiveFilter(callable) (required)
.
$typeFilter(callable) (required)
.
$options(array) (required)
.

SchemaPrinter::printFilteredSchema() code WC 10.9.1

protected static function printFilteredSchema(Schema $schema, callable $directiveFilter, callable $typeFilter, array $options): string
{
    $directives = array_filter($schema->getDirectives(), $directiveFilter);
    $types = array_filter($schema->getTypeMap(), $typeFilter);

    if (isset($options['sortTypes']) && $options['sortTypes']) {
        ksort($types);
    }

    $elements = [static::printSchemaDefinition($schema)];

    foreach ($directives as $directive) {
        $elements[] = static::printDirective($directive, $options);
    }

    foreach ($types as $type) {
        $elements[] = static::printType($type, $options);
    }

    /** @phpstan-ignore arrayFilter.strict */
    return implode("\n\n", array_filter($elements)) . "\n";
}