Automattic\WooCommerce\Vendor\GraphQL\Validator\Rules

LoneSchemaDefinition::getSDLVisitorpublicWC 1.0

Метод класса: LoneSchemaDefinition{}

Хуков нет.

Возвращает

null. Ничего (null).

Использование

$LoneSchemaDefinition = new LoneSchemaDefinition();
$LoneSchemaDefinition->getSDLVisitor( $context ): array;
$context(SDLValidationContext) (обязательный)
.

Код LoneSchemaDefinition::getSDLVisitor() WC 10.9.1

public function getSDLVisitor(SDLValidationContext $context): array
{
    $oldSchema = $context->getSchema();
    $alreadyDefined = $oldSchema === null
        ? false
        : (
            $oldSchema->astNode !== null
            || $oldSchema->getQueryType() !== null
            || $oldSchema->getMutationType() !== null
            || $oldSchema->getSubscriptionType() !== null
        );

    $schemaDefinitionsCount = 0;

    return [
        NodeKind::SCHEMA_DEFINITION => static function (SchemaDefinitionNode $node) use ($alreadyDefined, $context, &$schemaDefinitionsCount): void {
            if ($alreadyDefined) {
                $context->reportError(new Error(static::canNotDefineSchemaWithinExtensionMessage(), $node));

                return;
            }

            if ($schemaDefinitionsCount > 0) {
                $context->reportError(new Error(static::schemaDefinitionNotAloneMessage(), $node));
            }

            ++$schemaDefinitionsCount;
        },
    ];
}