npm.io
1.1.5 • Published 2 years ago

@types/nut-pipe

Licence
MIT
Version
1.1.5
Deps
1
Size
7 kB
Vulns
0
Weekly
0
Stars
51.4K

Installation

npm install --save @types/nut-pipe

Summary

This package contains type definitions for nut-pipe (https://github.com/nodejs-projects-kenanhancer/nut-pipe).

Details

Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/nut-pipe.

index.d.ts

import {
    APIGatewayProxyEventV2,
    APIGatewayProxyHandlerV2,
    APIGatewayProxyStructuredResultV2,
    Context,
} from "aws-lambda";

export type AsyncBasicHandler<TContext = any, TResult = any> = (context: TContext) => Promise<TResult | Error>;

export type AsyncBasicMiddleware<T extends AsyncBasicHandler = AsyncBasicHandler> = T extends
    AsyncBasicHandler<infer TContext, infer TResult>
    ? (context: TContext, next: AsyncBasicHandler<TContext, TResult>) => Promise<TResult>
    : never;

export type AsyncLambdaHandler<
    TEvent = APIGatewayProxyEventV2,
    TContext = Context,
    TResult = APIGatewayProxyStructuredResultV2,
> = (event: TEvent, context: TContext) => Promise<TResult | Error>;

export type AsyncLambdaMiddleware<T extends AsyncLambdaHandler = AsyncLambdaHandler> = T extends
    AsyncLambdaHandler<infer TEvent, infer TContext, infer TResult>
    ? (event: TEvent, context: TContext, next: T) => Promise<TResult | Error>
    : never;

export type AsyncBasicMiddlewareWithServices<T extends AsyncBasicHandler = AsyncBasicHandler> = T extends
    AsyncBasicHandler<infer TContext, infer TResult> ? (
        context: TContext,
        services: Record<string, any>,
        next: AsyncBasicHandler<TContext, TResult>,
    ) => Promise<TResult | Error>
    : never;

export type AsyncLambdaMiddlewareWithServices<T extends AsyncLambdaHandler = AsyncLambdaHandler> = T extends
    AsyncLambdaHandler<infer TEvent, infer TContext, infer TResult>
    ? (event: TEvent, context: TContext, services: Record<string, any>, next: T) => Promise<TResult | Error>
    : never;

export type AsyncHandler = AsyncBasicHandler & AsyncLambdaHandler;

export type AsyncMiddleware<T = never> =
    | AsyncBasicMiddleware
    | AsyncBasicMiddlewareWithServices
    | AsyncLambdaMiddleware
    | AsyncLambdaMiddlewareWithServices
    | T;

export function buildPipeline(
    functions: Array<AsyncMiddleware<any>>,
    services?: Record<string, any>,
    index?: number,
): AsyncHandler;

Additional Details

Credits

These definitions were written by kenan hancer.