@m-ld/gateway
Version:
m-ld gateway for services
65 lines (64 loc) • 2.75 kB
TypeScript
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 {};