shyft
Version:
Model driven GraphQL API framework
28 lines (27 loc) • 1.25 kB
TypeScript
import { DataType, DataTypeFunction } from '../datatype/DataType';
import { ProtocolConfiguration } from './ProtocolConfiguration';
import { ComplexDataType } from '../..';
export declare type ProtocolTypeSetup = {
name?: string;
description?: string;
isProtocolDataType?: (protocolDataType: any) => boolean;
};
export declare type ProtocolDataType = {
name: string | Function;
};
export declare class ProtocolType {
name: string;
description: string;
isProtocolDataType: (protocolDataType: any) => boolean;
protocolConfiguration: ProtocolConfiguration;
private _dataTypeMap;
private _dynamicDataTypeMap;
constructor(setup?: ProtocolTypeSetup);
addDataTypeMap(schemaDataType: DataType | DataTypeFunction, protocolDataType: ProtocolDataType): void;
addDynamicDataTypeMap(schemaDataTypeDetector: Function, protocolDataType: any): void;
convertToProtocolDataType(schemaDataType: DataType | ComplexDataType | DataTypeFunction, sourceName?: string, asInput?: boolean): any;
setProtocolConfiguration(protocolConfiguration: any): void;
getProtocolConfiguration(): ProtocolConfiguration;
toString(): string;
}
export declare const isProtocolType: (obj: unknown) => obj is ProtocolType;