@graphql-mesh/soap
Version:
65 lines (64 loc) • 3.18 kB
TypeScript
import { GraphQLScalarType, GraphQLOutputType, GraphQLInputType, GraphQLList } from 'graphql';
/**
* Resolver that converts WSDL types, that are not fully defined in the WSDL itself, to GraphQL types.
* This is especially necessary for all primitive WSDL types (resp. scalar GraphQL types) like 'string', 'datetime', etc.
*
* You can provide your own resolver to handle custom types of your WSDL.
* But you must still provide resolvment for primitive types like 'string', e.g by re-using DefaultTypeResolver.
*/
export interface CustomTypeResolver {
outputType(typeName: string): GraphQLOutputType;
inputType(typeName: string): GraphQLInputType;
}
/**
* Default implementation of CustomTypeResolver.
* Based on https://www.w3.org/TR/xmlschema-2/#built-in-datatypes
*/
export declare class DefaultTypeResolver implements CustomTypeResolver {
string: GraphQLScalarType<string, string>;
base64Binary: GraphQLScalarType<unknown, unknown>;
hexBinary: GraphQLScalarType<unknown, unknown>;
duration: GraphQLScalarType<unknown, unknown>;
gYearMonth: GraphQLScalarType<string, string>;
gYear: GraphQLScalarType<string, string>;
gMonthDay: GraphQLScalarType<string, string>;
gDay: GraphQLScalarType<string, string>;
gMonth: GraphQLScalarType<string, string>;
anyURI: GraphQLScalarType<unknown, unknown>;
QName: GraphQLScalarType<string, string>;
normalizedString: GraphQLScalarType<string, string>;
token: GraphQLScalarType<string, string>;
NMTOKEN: GraphQLScalarType<string, string>;
NMTOKENS: GraphQLScalarType<string, string>;
language: GraphQLScalarType<string, string>;
Name: GraphQLScalarType<string, string>;
NCName: GraphQLScalarType<string, string>;
IDREF: GraphQLScalarType<string, string>;
IDREFS: GraphQLList<GraphQLScalarType<string, string>>;
ENTITY: GraphQLScalarType<string, string>;
ENTITIES: GraphQLList<GraphQLScalarType<string, string>>;
ID: GraphQLScalarType<string, string>;
boolean: GraphQLScalarType<boolean, boolean>;
byte: GraphQLScalarType<unknown, unknown>;
unsignedByte: GraphQLScalarType<unknown, unknown>;
short: GraphQLScalarType<number, number>;
unsignedShort: GraphQLScalarType<unknown, unknown>;
int: GraphQLScalarType<number, number>;
unsignedInt: GraphQLScalarType<unknown, unknown>;
integer: GraphQLScalarType<number, number>;
positiveInteger: GraphQLScalarType<unknown, unknown>;
nonPositiveInteger: GraphQLScalarType<unknown, unknown>;
negativeInteger: GraphQLScalarType<unknown, unknown>;
nonNegativeInteger: GraphQLScalarType<unknown, unknown>;
long: GraphQLScalarType<unknown, unknown>;
unsignedLong: GraphQLScalarType<unknown, unknown>;
decimal: GraphQLScalarType<number, number>;
float: GraphQLScalarType<number, number>;
double: GraphQLScalarType<number, number>;
dateTime: GraphQLScalarType<unknown, unknown>;
date: GraphQLScalarType<unknown, unknown>;
time: GraphQLScalarType<unknown, unknown>;
resolve(typeName: string): GraphQLScalarType;
outputType(typeName: string): GraphQLOutputType;
inputType(typeName: string): GraphQLInputType;
}