UNPKG

@opra/common

Version:
29 lines (28 loc) 1.26 kB
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; }