@opra/common
Version:
Opra common package
29 lines (28 loc) • 1.26 kB
TypeScript
import type { StrictOmit, Type } from 'ts-gems';
import { ResponsiveMap } from '../../helpers/index.js';
import { OpraSchema } from '../../schema/index.js';
import type { ApiDocument } from '../api-document';
import { ApiBase } from '../common/api-base.js';
import { HttpController } from './http-controller.js';
import type { HttpOperation } from './http-operation.js';
export declare namespace HttpApi {
interface InitArguments extends ApiBase.InitArguments, StrictOmit<OpraSchema.HttpApi, 'controllers'> {
transport: 'http';
}
}
/**
* @class HttpApi
*/
export declare class HttpApi extends ApiBase {
protected _controllerReverseMap: WeakMap<Type, HttpController | null>;
readonly owner: ApiDocument;
readonly transport = "http";
controllers: ResponsiveMap<HttpController>;
url?: string;
constructor(init: HttpApi.InitArguments);
findController(controller: Type): HttpController | undefined;
findController(resourcePath: string): HttpController | undefined;
findOperation(controller: Type, operationName: string): HttpOperation | undefined;
findOperation(resourcePath: string, operationName: string): HttpOperation | undefined;
toJSON(options?: ApiDocument.ExportOptions): OpraSchema.HttpApi;
}