UNPKG

@m-ld/gateway

Version:

m-ld gateway for services

65 lines (64 loc) 2.75 kB
import { Formatter, RequestHandler, RequestHandlerType, Response, RouteOptions, Server as RestServer } from 'restify'; import { StringFormat } from '../lib/index.js'; import { Consumable } from 'rx-flowable'; import 'reflect-metadata'; export declare const formatter: (format: StringFormat) => Formatter; export declare const JSON_LD_FORMAT: StringFormat; export declare const HTML_FORMAT: StringFormat; export declare function sendChunked(res: Response, results: Consumable<any>, status?: number): Promise<void>; type Verb = 'del' | 'get' | 'head' | 'put' | 'post' | 'patch'; type RouteDef = string | RegExp | RouteOptions; type Routable = Pick<RestServer, Verb>; export interface HasContext<K extends string, V> { get(key: K): V; set(key: K, value: V): void; } interface EndPointSetup { use(...handlers: RequestHandlerType[]): void; useFor(verb: Verb, ...handlers: RequestHandlerType[]): void; } export declare class EndPoint<Outer extends Routable> implements Routable { readonly outer: Outer; del: RestServer['del']; get: RestServer['get']; head: RestServer['head']; put: RestServer['put']; post: RestServer['post']; patch: RestServer['patch']; private useHandlers; private useForHandlers; constructor(outer: Outer, stem: string, beforeHandlers?: (setup: EndPointSetup) => void); static checkRoute(route: string): void; private use; private useFor; private nextify; } export declare const use: { (target: EndPoint<Routable>, _handlerName: string, descriptor: TypedPropertyDescriptor<RequestHandler>): void; (opts: RouteDef): MethodDecorator; }; export declare const del: { (target: EndPoint<Routable>, _handlerName: string, descriptor: TypedPropertyDescriptor<RequestHandler>): void; (opts: RouteDef): MethodDecorator; }; export declare const get: { (target: EndPoint<Routable>, _handlerName: string, descriptor: TypedPropertyDescriptor<RequestHandler>): void; (opts: RouteDef): MethodDecorator; }; export declare const head: { (target: EndPoint<Routable>, _handlerName: string, descriptor: TypedPropertyDescriptor<RequestHandler>): void; (opts: RouteDef): MethodDecorator; }; export declare const put: { (target: EndPoint<Routable>, _handlerName: string, descriptor: TypedPropertyDescriptor<RequestHandler>): void; (opts: RouteDef): MethodDecorator; }; export declare const post: { (target: EndPoint<Routable>, _handlerName: string, descriptor: TypedPropertyDescriptor<RequestHandler>): void; (opts: RouteDef): MethodDecorator; }; export declare const patch: { (target: EndPoint<Routable>, _handlerName: string, descriptor: TypedPropertyDescriptor<RequestHandler>): void; (opts: RouteDef): MethodDecorator; }; export {};