HttpApiEndpoint
Constructors
Signature
declare const del: {
<Name extends string>(name: Name): Constructor<Name, "DELETE">;
<Name extends string>(name: Name, path: `/${string}`): HttpApiEndpoint<Name, "DELETE">;
};Signature
declare const get: {
<Name extends string>(name: Name): Constructor<Name, "GET">;
<Name extends string>(name: Name, path: `/${string}`): HttpApiEndpoint<Name, "GET">;
};Signature
declare const head: {
<Name extends string>(name: Name): Constructor<Name, "HEAD">;
<Name extends string>(name: Name, path: `/${string}`): HttpApiEndpoint<Name, "HEAD">;
};Signature
declare function make<Method extends HttpMethod>(
method: Method,
): {
<Name extends string>(name: Name): Constructor<Name, Method>;
<Name extends string>(name: Name, path: `/${string}`): HttpApiEndpoint<Name, Method>;
};Signature
declare const options: {
<Name extends string>(name: Name): Constructor<Name, "OPTIONS">;
<Name extends string>(name: Name, path: `/${string}`): HttpApiEndpoint<Name, "OPTIONS">;
};Signature
declare const patch: {
<Name extends string>(name: Name): Constructor<Name, "PATCH">;
<Name extends string>(name: Name, path: `/${string}`): HttpApiEndpoint<Name, "PATCH">;
};Signature
declare const post: {
<Name extends string>(name: Name): Constructor<Name, "POST">;
<Name extends string>(name: Name, path: `/${string}`): HttpApiEndpoint<Name, "POST">;
};Signature
declare const put: {
<Name extends string>(name: Name): Constructor<Name, "PUT">;
<Name extends string>(name: Name, path: `/${string}`): HttpApiEndpoint<Name, "PUT">;
};Guards
isHttpApiEndpoint
Added in v1.0.0
Source
Signature
declare function isHttpApiEndpoint(
u: unknown,
): u is HttpApiEndpoint<any, any, any, never, never, never, void, never, never, never>;Models
HttpApiEndpoint
Added in v1.0.0
Source
HttpApiEndpoint interface
Added in v1.0.0
Source
Signature
interface HttpApiEndpoint<
out Name extends string,
out Method extends HttpMethod,
in out Path = never,
in out UrlParams = never,
in out Payload = never,
in out Headers = never,
in out Success = void,
in out Error = never,
out R = never,
out RE = never,
> extends Pipeable {
readonly [TypeId]: typeof TypeId;
readonly annotations: Context<never>;
readonly errorSchema: any;
readonly headersSchema: Option<any>;
readonly method: Method;
readonly middlewares: ReadonlySet<TagClassAny>;
readonly name: Name;
readonly path: `/${string}`;
readonly pathSchema: Option<any>;
readonly payloadSchema: Option<any>;
readonly successSchema: any;
readonly urlParamsSchema: Option<any>;
addError<E extends Any>(
schema: E,
annotations?: {
readonly status?: number;
},
): HttpApiEndpoint<
Name,
Method,
Path,
UrlParams,
Payload,
Headers,
Success,
Error | Type<E>,
R,
any
>;
addSuccess<S extends Any>(
schema: S,
annotations?: {
readonly status?: number;
},
): HttpApiEndpoint<
Name,
Method,
Path,
UrlParams,
Payload,
Headers,
Exclude<Success, void> | Type<S>,
Error,
any,
RE
>;
annotate<I, S>(
tag: Tag<I, S>,
value: S,
): HttpApiEndpoint<Name, Method, Path, UrlParams, Payload, Headers, Success, Error, R, RE>;
annotateContext<I>(
context: Context<I>,
): HttpApiEndpoint<Name, Method, Path, UrlParams, Payload, Headers, Success, Error, R, RE>;
middleware<I extends AnyId, S>(
middleware: Tag<I, S>,
): HttpApiEndpoint<
Name,
Method,
Path,
UrlParams,
Payload,
Headers,
Success,
Error | Error<I>,
R | I,
RE | ErrorContext<I>
>;
prefix(
prefix: `/${string}`,
): HttpApiEndpoint<Name, Method, Path, UrlParams, Payload, Headers, Success, Error, R, RE>;
setHeaders<H extends Any>(
schema: any,
): HttpApiEndpoint<Name, Method, Path, UrlParams, Payload, Type<H>, Success, Error, any, RE>;
setPath<Path extends Any>(
schema: any,
): HttpApiEndpoint<
Name,
Method,
Type<Path>,
UrlParams,
Payload,
Headers,
Success,
Error,
any,
RE
>;
setPayload<P extends Any>(
schema: P & ValidatePayload<Method, P>,
): HttpApiEndpoint<Name, Method, Path, UrlParams, Type<P>, Headers, Success, Error, any, RE>;
setUrlParams<UrlParams extends Any>(
schema: any,
): HttpApiEndpoint<
Name,
Method,
Path,
Type<UrlParams>,
Payload,
Headers,
Success,
Error,
any,
RE
>;
}PathSegment type
Added in v1.0.0
Source
Represents a path segment. A path segment is a string that represents a segment of a URL path.
Signature
type PathSegment = `/${string}`;
Represents an API endpoint. An API endpoint is mapped to a single route on the underlying
HttpRouter.