Module

Prospero.Schema

Package
purescript-prospero
Repository
rowtype-yoga/purescript-prospero

#GqlSchema Source

class GqlSchema :: Type -> Row Type -> Type -> Type -> Constraintclass GqlSchema ctx errs a gql | a -> gql where

Maps a PureScript type to its GraphQL type-level representation and runtime behavior. The fundep a -> gql means the GraphQL schema shape is fully determined by the PureScript type.

Members

Instances

#GqlSchemaFields Source

class GqlSchemaFields :: Type -> Row Type -> RowList Type -> Row Type -> Row Type -> Constraintclass GqlSchemaFields ctx errs rl r fieldsGql | rl -> fieldsGql where

Walks a record's RowList and produces both runtime GqlFields and a type-level row of field types.

Members

Instances

#GqlSchemaArgs Source

class GqlSchemaArgs :: Type -> Row Type -> RowList Type -> Constraintclass GqlSchemaArgs ctx errs rl  where

Members

Instances

#GqlFieldArgs Source

class GqlFieldArgs :: Type -> Row Type -> Type -> Constraintclass GqlFieldArgs ctx errs a  where

Produces the runtime argument list for a field type.

Members

Instances

#GqlArgTypes Source

class GqlArgTypes a gql | a -> gql

Maps a PureScript argument type to its GraphQL input type.

Instances

#ToGqlArgs Source

class ToGqlArgs :: RowList Type -> Row Type -> Constraintclass ToGqlArgs rl argsGql | rl -> argsGql

Maps argument record RowList to type-level argument row.

Instances

#GqlFieldType Source

class GqlFieldType a gql fieldGql | a -> fieldGql

Determines whether a field is plain or has arguments, producing the appropriate GqlField/GqlFieldWithArgs.

Instances

#GqlEnumValues Source

#GqlEnumResolve Source

#genericFromInputValue Source

#GqlVariantMembers Source

class GqlVariantMembers :: Type -> Row Type -> RowList Type -> Row Type -> Constraintclass GqlVariantMembers ctx errs rl row | rl -> row where

Members

Instances

#GqlSchemaByKind Source

class GqlSchemaByKind :: Type -> Row Type -> Type -> Symbol -> Type -> Type -> Constraintclass GqlSchemaByKind ctx errs kind name a gql | kind a -> gql where

Dispatch GqlSchema behavior based on the GqlKind tag

Members

Instances

#GqlArgTypesByKind Source

class GqlArgTypesByKind :: Type -> Symbol -> Type -> Type -> Constraintclass GqlArgTypesByKind kind name a gql | kind a -> gql

Instances