@apollographql/graphql-upload-8-fork
Version:
Fork of graphql-upload@8 that works with graphql@15 for compatibility with apollo-server@2
49 lines (39 loc) • 1.31 kB
TypeScript
// Type definitions for graphql-upload 8.0
// Project: https://github.com/jaydenseric/graphql-upload#readme
// Definitions by: Mike Marcacci <https://github.com/mike-marcacci>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 3.3
/* tslint:disable:no-unnecessary-generics */
import { IncomingMessage, ServerResponse } from 'http'
import { GraphQLScalarType } from 'graphql'
import { RequestHandler } from 'express'
import { Middleware } from 'koa'
import { ReadStream } from 'fs-capacitor'
export interface UploadOptions {
maxFieldSize?: number
maxFileSize?: number
maxFiles?: number
}
export interface GraphQLOperation {
query: string
operationName?: null | string
variables?: null | unknown
}
export function processRequest(
request: IncomingMessage,
response: ServerResponse,
uploadOptions?: UploadOptions
): Promise<GraphQLOperation | GraphQLOperation[]>
export function graphqlUploadExpress(
uploadOptions?: UploadOptions
): RequestHandler
export function graphqlUploadKoa<StateT = any, CustomT = {}>(
uploadOptions?: UploadOptions
): Middleware<StateT, CustomT>
export const GraphQLUpload: GraphQLScalarType
export interface FileUpload {
filename: string
mimetype: string
encoding: string
createReadStream(): ReadStream
}