Automattic\WooCommerce\Vendor\GraphQL\Utils

BuildClientSchema::buildEnumDefprivateWC 1.0

Method of the class: BuildClientSchema{}

No Hooks.

Returns

null. Nothing (null).

Usage

// private - for code of main (parent) class only
$result = $this->buildEnumDef( $enum ): EnumType;
$enum(array) (required)
.

BuildClientSchema::buildEnumDef() code WC 10.9.1

private function buildEnumDef(array $enum): EnumType
{
    if (! array_key_exists('enumValues', $enum)) {
        $safeEnum = Utils::printSafeJson($enum);
        throw new InvariantViolation("Introspection result missing enumValues: {$safeEnum}.");
    }

    $values = [];
    foreach ($enum['enumValues'] as $value) {
        $values[$value['name']] = [
            'description' => $value['description'],
            'deprecationReason' => $value['deprecationReason'],
        ];
    }

    return new EnumType([
        'name' => $enum['name'],
        'description' => $enum['description'],
        'values' => $values,
    ]);
}