thecodingmachine/graphqlite-misc-types

A collection of non-standard GraphQL types to be used with GraphQLite.

dev-master / 4.0.x-dev 2020-03-09 08:50 UTC

README

Latest Stable Version Total Downloads Latest Unstable Version License Scrutinizer Code Quality Build Status Coverage Status

GraphQLite miscellaneous types

This package is an add-on to the GraphQLite PHP library. It contains a set of GraphQL scalar types that can be added to GraphQLite.

Install

$ composer require thecodingmachine/graphqlite-misc-types

"Any" scalar type

This types adds support for a "AnyScalar" type that can be any of "string", "int", "float" or "bool".

Usage

/**
 * @Query()
 * @param scalar $scalar
 * @return scalar
 */
public function echoScalar($scalar)
{
    return $scalar;
}

Use the "scalar" type-hint in the DocBlock to cast a value to "AnyScalar".

Registering AnyScalar

Using the SchemaFactory

If you are using the SchemaFactory to initialize GraphQLite, use this code to add support for AnyScalar:

$schemaFactory->addRootTypeMapper(new \TheCodingMachine\GraphQLite\Types\AnyScalar\AnyScalarTypeMapper());

Using the Symfony bundle

If you are using the Symfony bundle to initialize GraphQLite, register the AnyScalarTypeMapper as a service:

# config/services.yaml
services:
    TheCodingMachine\GraphQLite\Types\AnyScalar\AnyScalarTypeMapper:
        tags: ['graphql.root_type_mapper']