@loopback/docs
Version:
Documentation for LoopBack 4
2,189 lines (1,539 loc) • 282 kB
HTML
<!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title></title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="css/code-themes/sl-theme.css">
<link rel="stylesheet" href="css/main.css">
</head>
<body>
<div class="navbar navbar-inverse navbar-static-top" role="navigation">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/">docs.strongloop.com</a>
</div>
<div id="modules"></div>
</div>
<div class="row">
<div class="col-lg-3 column scroll-spy-target">
<ul class="nav nav-pills nav-stacked">
<div id="versions"></div>
<li class="depth-3">
<a href="#coerceParameter">coerceParameter()</a>
</li>
<li class="depth-3">
<a href="#DateCoercionOptions">Type: DateCoercionOptions</a>
</li>
<li class="depth-3">
<a href="#IntegerCoercionOptions">Type: IntegerCoercionOptions</a>
</li>
<li class="depth-3">
<a href="#getOAIPrimitiveType">getOAIPrimitiveType()</a>
</li>
<li class="depth-3">
<a href="#isEmpty">isEmpty()</a>
</li>
<li class="depth-3">
<a href="#isFalse">isFalse()</a>
</li>
<li class="depth-3">
<a href="#isTrue">isTrue()</a>
</li>
<li class="depth-3">
<a href="#isValidDateTime">isValidDateTime()</a>
</li>
<li class="depth-3">
<a href="#matchDateFormat">matchDateFormat()</a>
</li>
<li class="depth-3">
<a href="#Validator">Class: Validator</a>
</li>
<li class="depth-4">
<a href="#Validator.constructor">constructor()</a>
</li>
<li class="depth-4">
<a href="#Validator.prototype.ctx">ctx</a>
</li>
<li class="depth-4">
<a href="#Validator.prototype.isAbsent">isAbsent()</a>
</li>
<li class="depth-4">
<a href="#Validator.prototype.isRequired">isRequired()</a>
</li>
<li class="depth-4">
<a href="#Validator.prototype.validateParamBeforeCoercion">validateParamBeforeCoercion()</a>
</li>
<li class="depth-3">
<a href="#ValidationContext">Type: ValidationContext</a>
</li>
<li class="depth-3">
<a href="#ValidationOptions">Type: ValidationOptions</a>
</li>
<li class="depth-3">
<a href="#HttpHandler">Class: HttpHandler</a>
</li>
<li class="depth-4">
<a href="#HttpHandler.constructor">constructor()</a>
</li>
<li class="depth-4">
<a href="#HttpHandler.prototype.handleRequest">handleRequest</a>
</li>
<li class="depth-4">
<a href="#HttpHandler.prototype.describeApiPaths">describeApiPaths()</a>
</li>
<li class="depth-4">
<a href="#HttpHandler.prototype.findRoute">findRoute()</a>
</li>
<li class="depth-4">
<a href="#HttpHandler.prototype.getApiDefinitions">getApiDefinitions()</a>
</li>
<li class="depth-4">
<a href="#HttpHandler.prototype.registerApiDefinitions">registerApiDefinitions()</a>
</li>
<li class="depth-4">
<a href="#HttpHandler.prototype.registerController">registerController()</a>
</li>
<li class="depth-4">
<a href="#HttpHandler.prototype.registerRoute">registerRoute()</a>
</li>
<li class="depth-3">
<a href="#RestBindings">Namespace: RestBindings</a>
</li>
<li class="depth-4">
<a href="#RestBindings.Http">Namespace: Http</a>
</li>
<li class="depth-4">
<a href="#RestBindings.SequenceActions">Namespace: SequenceActions</a>
</li>
<li class="depth-4">
<a href="#RestBindings.API_SPEC">API_SPEC</a>
</li>
<li class="depth-4">
<a href="#RestBindings.BIND_ELEMENT">BIND_ELEMENT</a>
</li>
<li class="depth-4">
<a href="#RestBindings.CONFIG">CONFIG</a>
</li>
<li class="depth-4">
<a href="#RestBindings.ERROR_WRITER_OPTIONS">ERROR_WRITER_OPTIONS</a>
</li>
<li class="depth-4">
<a href="#RestBindings.GET_FROM_CONTEXT">GET_FROM_CONTEXT</a>
</li>
<li class="depth-4">
<a href="#RestBindings.HANDLER">HANDLER</a>
</li>
<li class="depth-4">
<a href="#RestBindings.HOST">HOST</a>
</li>
<li class="depth-4">
<a href="#RestBindings.HTTPS_OPTIONS">HTTPS_OPTIONS</a>
</li>
<li class="depth-4">
<a href="#RestBindings.PORT">PORT</a>
</li>
<li class="depth-4">
<a href="#RestBindings.PROTOCOL">PROTOCOL</a>
</li>
<li class="depth-4">
<a href="#RestBindings.SEQUENCE">SEQUENCE</a>
</li>
<li class="depth-4">
<a href="#RestBindings.URL">URL</a>
</li>
<li class="depth-3">
<a href="#QUERY_NOT_PARSED">QUERY_NOT_PARSED</a>
</li>
<li class="depth-3">
<a href="#parseOperationArgs">parseOperationArgs()</a>
</li>
<li class="depth-3">
<a href="#BindElementProvider">Class: BindElementProvider</a>
</li>
<li class="depth-4">
<a href="#BindElementProvider.constructor">constructor()</a>
</li>
<li class="depth-4">
<a href="#BindElementProvider.prototype.action">action()</a>
</li>
<li class="depth-4">
<a href="#BindElementProvider.prototype.value">value()</a>
</li>
<li class="depth-3">
<a href="#FindRouteProvider">Class: FindRouteProvider</a>
</li>
<li class="depth-4">
<a href="#FindRouteProvider.constructor">constructor()</a>
</li>
<li class="depth-4">
<a href="#FindRouteProvider.prototype.action">action()</a>
</li>
<li class="depth-4">
<a href="#FindRouteProvider.prototype.value">value()</a>
</li>
<li class="depth-3">
<a href="#GetFromContextProvider">Class: GetFromContextProvider</a>
</li>
<li class="depth-4">
<a href="#GetFromContextProvider.constructor">constructor()</a>
</li>
<li class="depth-4">
<a href="#GetFromContextProvider.prototype.action">action()</a>
</li>
<li class="depth-4">
<a href="#GetFromContextProvider.prototype.value">value()</a>
</li>
<li class="depth-3">
<a href="#InvokeMethodProvider">Class: InvokeMethodProvider</a>
</li>
<li class="depth-4">
<a href="#InvokeMethodProvider.constructor">constructor()</a>
</li>
<li class="depth-4">
<a href="#InvokeMethodProvider.prototype.action">action()</a>
</li>
<li class="depth-4">
<a href="#InvokeMethodProvider.prototype.value">value()</a>
</li>
<li class="depth-3">
<a href="#LogErrorProvider">Class: LogErrorProvider</a>
</li>
<li class="depth-4">
<a href="#LogErrorProvider.prototype.action">action()</a>
</li>
<li class="depth-4">
<a href="#LogErrorProvider.prototype.value">value()</a>
</li>
<li class="depth-3">
<a href="#ParseParamsProvider">Class: ParseParamsProvider</a>
</li>
<li class="depth-4">
<a href="#ParseParamsProvider.prototype.value">value()</a>
</li>
<li class="depth-3">
<a href="#RejectProvider">Class: RejectProvider</a>
</li>
<li class="depth-4">
<a href="#RejectProvider.constructor">constructor()</a>
</li>
<li class="depth-4">
<a href="#RejectProvider.prototype.action">action()</a>
</li>
<li class="depth-4">
<a href="#RejectProvider.prototype.value">value()</a>
</li>
<li class="depth-3">
<a href="#SendProvider">Class: SendProvider</a>
</li>
<li class="depth-4">
<a href="#SendProvider.prototype.value">value()</a>
</li>
<li class="depth-3">
<a href="#RequestContext">Class: RequestContext</a>
</li>
<li class="depth-4">
<a href="#RequestContext.constructor">constructor()</a>
</li>
<li class="depth-4">
<a href="#RequestContext.prototype.request">request</a>
</li>
<li class="depth-4">
<a href="#RequestContext.prototype.response">response</a>
</li>
<li class="depth-3">
<a href="#RestHttpErrors">Namespace: RestHttpErrors</a>
</li>
<li class="depth-4">
<a href="#RestHttpErrors.ValidationErrorDetails">Interface: ValidationErrorDetails</a>
</li>
<li class="depth-4">
<a href="#RestHttpErrors.INVALID_REQUEST_BODY_MESSAGE">INVALID_REQUEST_BODY_MESSAGE</a>
</li>
<li class="depth-4">
<a href="#RestHttpErrors.invalidData">invalidData()</a>
</li>
<li class="depth-4">
<a href="#RestHttpErrors.invalidParamLocation">invalidParamLocation()</a>
</li>
<li class="depth-4">
<a href="#RestHttpErrors.invalidRequestBody">invalidRequestBody()</a>
</li>
<li class="depth-4">
<a href="#RestHttpErrors.missingRequired">missingRequired()</a>
</li>
<li class="depth-3">
<a href="#RestApplication">Class: RestApplication</a>
</li>
<li class="depth-4">
<a href="#RestApplication.constructor">constructor()</a>
</li>
<li class="depth-4">
<a href="#RestApplication.requestHandler">>requestHandler</a>
</li>
<li class="depth-4">
<a href="#RestApplication.restServer">>restServer</a>
</li>
<li class="depth-4">
<a href="#RestApplication.prototype.api">api()</a>
</li>
<li class="depth-4">
<a href="#RestApplication.prototype.handler">handler()</a>
</li>
<li class="depth-4">
<a href="#RestApplication.prototype.route">route()</a>
</li>
<li class="depth-4">
<a href="#RestApplication.prototype.sequence">sequence()</a>
</li>
<li class="depth-4">
<a href="#RestApplication.prototype.server">server()</a>
</li>
<li class="depth-4">
<a href="#RestApplication.prototype.static">static()</a>
</li>
<li class="depth-3">
<a href="#ERR_NO_MULTI_SERVER">ERR_NO_MULTI_SERVER</a>
</li>
<li class="depth-3">
<a href="#SequenceActions">SequenceActions</a>
</li>
<li class="depth-3">
<a href="#RestComponent">Class: RestComponent</a>
</li>
<li class="depth-4">
<a href="#RestComponent.constructor">constructor()</a>
</li>
<li class="depth-4">
<a href="#RestComponent.providers">Object: providers</a>
</li>
<li class="depth-4">
<a href="#RestComponent.servers">Object: servers</a>
</li>
<li class="depth-3">
<a href="#RestComponentConfig">Type: RestComponentConfig</a>
</li>
<li class="depth-3">
<a href="#RestServer">Class: RestServer</a>
</li>
<li class="depth-4">
<a href="#RestServer.constructor">constructor()</a>
</li>
<li class="depth-4">
<a href="#RestServer.prototype.config">config</a>
</li>
<li class="depth-4">
<a href="#RestServer.prototype.requestHandler">requestHandler</a>
</li>
<li class="depth-4">
<a href="#RestServer.listening">>listening</a>
</li>
<li class="depth-4">
<a href="#RestServer.url">>url</a>
</li>
<li class="depth-4">
<a href="#RestServer.prototype.api">api()</a>
</li>
<li class="depth-4">
<a href="#RestServer.prototype.controller">controller()</a>
</li>
<li class="depth-4">
<a href="#RestServer.prototype.getApiSpec">getApiSpec()</a>
</li>
<li class="depth-4">
<a href="#RestServer.prototype.handler">handler()</a>
</li>
<li class="depth-4">
<a href="#RestServer.prototype.route">route()</a>
</li>
<li class="depth-4">
<a href="#RestServer.prototype.sequence">sequence()</a>
</li>
<li class="depth-4">
<a href="#RestServer.prototype.start">start()</a>
</li>
<li class="depth-4">
<a href="#RestServer.prototype.static">static()</a>
</li>
<li class="depth-4">
<a href="#RestServer.prototype.stop">stop()</a>
</li>
<li class="depth-3">
<a href="#ApiExplorerOptions">Interface: ApiExplorerOptions</a>
</li>
<li class="depth-4">
<a href="#ApiExplorerOptions.prototype.httpUrl">httpUrl</a>
</li>
<li class="depth-4">
<a href="#ApiExplorerOptions.prototype.url">url</a>
</li>
<li class="depth-3">
<a href="#HttpServerLike">Interface: HttpServerLike</a>
</li>
<li class="depth-4">
<a href="#HttpServerLike.prototype.requestHandler">requestHandler</a>
</li>
<li class="depth-3">
<a href="#OpenApiSpecForm">Interface: OpenApiSpecForm</a>
</li>
<li class="depth-4">
<a href="#OpenApiSpecForm.prototype.format">format</a>
</li>
<li class="depth-4">
<a href="#OpenApiSpecForm.prototype.version">version</a>
</li>
<li class="depth-3">
<a href="#OpenApiSpecOptions">Interface: OpenApiSpecOptions</a>
</li>
<li class="depth-4">
<a href="#OpenApiSpecOptions.prototype.endpointMapping">endpointMapping</a>
</li>
<li class="depth-4">
<a href="#OpenApiSpecOptions.prototype.servers">servers</a>
</li>
<li class="depth-4">
<a href="#OpenApiSpecOptions.prototype.setServersFromRequest">setServersFromRequest</a>
</li>
<li class="depth-3">
<a href="#RestServerOptions">Interface: RestServerOptions</a>
</li>
<li class="depth-4">
<a href="#RestServerOptions.prototype.apiExplorer">apiExplorer</a>
</li>
<li class="depth-4">
<a href="#RestServerOptions.prototype.cors">cors</a>
</li>
<li class="depth-4">
<a href="#RestServerOptions.prototype.openApiSpec">openApiSpec</a>
</li>
<li class="depth-4">
<a href="#RestServerOptions.prototype.sequence">sequence</a>
</li>
<li class="depth-3">
<a href="#HttpRequestListener">Type: HttpRequestListener</a>
</li>
<li class="depth-3">
<a href="#RestServerConfig">Type: RestServerConfig</a>
</li>
<li class="depth-3">
<a href="#BaseRoute">Class: BaseRoute</a>
</li>
<li class="depth-4">
<a href="#BaseRoute.constructor">constructor()</a>
</li>
<li class="depth-4">
<a href="#BaseRoute.prototype.path">path</a>
</li>
<li class="depth-4">
<a href="#BaseRoute.prototype.spec">spec</a>
</li>
<li class="depth-4">
<a href="#BaseRoute.prototype.verb">verb</a>
</li>
<li class="depth-4">
<a href="#BaseRoute.prototype.describe">describe()</a>
</li>
<li class="depth-4">
<a href="#BaseRoute.prototype.invokeHandler">invokeHandler()</a>
</li>
<li class="depth-4">
<a href="#BaseRoute.prototype.match">match()</a>
</li>
<li class="depth-4">
<a href="#BaseRoute.prototype.updateBindings">updateBindings()</a>
</li>
<li class="depth-3">
<a href="#ControllerRoute">Class: ControllerRoute</a>
</li>
<li class="depth-4">
<a href="#ControllerRoute.constructor">constructor()</a>
</li>
<li class="depth-4">
<a href="#ControllerRoute.prototype.describe">describe()</a>
</li>
<li class="depth-4">
<a href="#ControllerRoute.prototype.invokeHandler">invokeHandler()</a>
</li>
<li class="depth-4">
<a href="#ControllerRoute.prototype.updateBindings">updateBindings()</a>
</li>
<li class="depth-3">
<a href="#Route">Class: Route</a>
</li>
<li class="depth-4">
<a href="#Route.constructor">constructor()</a>
</li>
<li class="depth-4">
<a href="#Route.prototype.spec">spec</a>
</li>
<li class="depth-4">
<a href="#Route.prototype.describe">describe()</a>
</li>
<li class="depth-4">
<a href="#Route.prototype.invokeHandler">invokeHandler()</a>
</li>
<li class="depth-4">
<a href="#Route.prototype.updateBindings">updateBindings()</a>
</li>
<li class="depth-3">
<a href="#RoutingTable">Class: RoutingTable</a>
</li>
<li class="depth-4">
<a href="#RoutingTable.prototype.describeApiPaths">describeApiPaths()</a>
</li>
<li class="depth-4">
<a href="#RoutingTable.prototype.find">find()</a>
</li>
<li class="depth-4">
<a href="#RoutingTable.prototype.registerController">registerController()</a>
</li>
<li class="depth-4">
<a href="#RoutingTable.prototype.registerRoute">registerRoute()</a>
</li>
<li class="depth-4">
<a href="#RoutingTable.joinPath">static joinPath()</a>
</li>
<li class="depth-3">
<a href="#ResolvedRoute">Interface: ResolvedRoute</a>
</li>
<li class="depth-4">
<a href="#ResolvedRoute.prototype.pathParams">pathParams</a>
</li>
<li class="depth-4">
<a href="#ResolvedRoute.prototype.schemas">schemas</a>
</li>
<li class="depth-3">
<a href="#RouteEntry">Interface: RouteEntry</a>
</li>
<li class="depth-4">
<a href="#RouteEntry.prototype.path">path</a>
</li>
<li class="depth-4">
<a href="#RouteEntry.prototype.spec">spec</a>
</li>
<li class="depth-4">
<a href="#RouteEntry.prototype.verb">verb</a>
</li>
<li class="depth-4">
<a href="#RouteEntry.prototype.describe">describe()</a>
</li>
<li class="depth-4">
<a href="#RouteEntry.prototype.invokeHandler">invokeHandler()</a>
</li>
<li class="depth-4">
<a href="#RouteEntry.prototype.match">match()</a>
</li>
<li class="depth-4">
<a href="#RouteEntry.prototype.updateBindings">updateBindings()</a>
</li>
<li class="depth-3">
<a href="#ControllerClass">Type: ControllerClass</a>
</li>
<li class="depth-3">
<a href="#ControllerFactory">Type: ControllerFactory</a>
</li>
<li class="depth-3">
<a href="#ControllerInstance">Type: ControllerInstance</a>
</li>
<li class="depth-3">
<a href="#createControllerFactoryForBinding">createControllerFactoryForBinding()</a>
</li>
<li class="depth-3">
<a href="#createControllerFactoryForClass">createControllerFactoryForClass()</a>
</li>
<li class="depth-3">
<a href="#createControllerFactoryForInstance">createControllerFactoryForInstance()</a>
</li>
<li class="depth-3">
<a href="#createResolvedRoute">createResolvedRoute()</a>
</li>
<li class="depth-3">
<a href="#DefaultSequence">Class: DefaultSequence</a>
</li>
<li class="depth-4">
<a href="#DefaultSequence.constructor">constructor()</a>
</li>
<li class="depth-4">
<a href="#DefaultSequence.prototype.reject">reject</a>
</li>
<li class="depth-4">
<a href="#DefaultSequence.prototype.send">send</a>
</li>
<li class="depth-4">
<a href="#DefaultSequence.prototype.handle">handle()</a>
</li>
<li class="depth-3">
<a href="#SequenceHandler">Interface: SequenceHandler</a>
</li>
<li class="depth-4">
<a href="#SequenceHandler.prototype.handle">handle()</a>
</li>
<li class="depth-3">
<a href="#SequenceFunction">Type: SequenceFunction</a>
</li>
<li class="depth-3">
<a href="#HandlerContext">Interface: HandlerContext</a>
</li>
<li class="depth-4">
<a href="#HandlerContext.prototype.request">request</a>
</li>
<li class="depth-4">
<a href="#HandlerContext.prototype.response">response</a>
</li>
<li class="depth-3">
<a href="#BindElement">Type: BindElement</a>
</li>
<li class="depth-3">
<a href="#FindRoute">Type: FindRoute</a>
</li>
<li class="depth-3">
<a href="#GetFromContext">Type: GetFromContext</a>
</li>
<li class="depth-3">
<a href="#InvokeMethod">Type: InvokeMethod</a>
</li>
<li class="depth-3">
<a href="#LogError">Type: LogError</a>
</li>
<li class="depth-3">
<a href="#OperationArgs">Type: OperationArgs</a>
</li>
<li class="depth-3">
<a href="#OperationRetval">Type: OperationRetval</a>
</li>
<li class="depth-3">
<a href="#ParseParams">Type: ParseParams</a>
</li>
<li class="depth-3">
<a href="#PathParameterValues">Type: PathParameterValues</a>
</li>
<li class="depth-3">
<a href="#Reject">Type: Reject</a>
</li>
<li class="depth-3">
<a href="#Send">Type: Send</a>
</li>
<li class="depth-3">
<a href="#validateRequestBody">validateRequestBody()</a>
</li>
<li class="depth-3">
<a href="#writeResultToResponse">writeResultToResponse()</a>
</li>
</ul>
</div>
<div class="col-lg-9 col-lg-offset-3 column" data-spy="scroll" data-target=".scroll-spy-target" data-offset="0">
<div class="readability">
<section class="code-doc ">
<a name="coerceParameter"></a>
<h3 class="code-ref">Function: coerceParameter</h3>
<section class="code-doc ">
<a name="coerceParameter"></a>
<h4 class="code-ref">coerceParameter(data: string | undefined | any, spec: <a href="#ParameterObject">ParameterObject</a>) : undefined | string | number | false | true | object</h4>
<!--
Used for displaying comments in Class, Interface, Properties Constructor,
Function and Parameters of constructor or function.
(Excludes Type alias).
-->
<div class="code-desc">
<p><p>Coerce the http raw data to a JavaScript type data of a parameter
according to its OpenAPI schema specification.</p>
</p>
<p></p>
</div>
<!-- A table of members such as parameters/properties/variables -->
<div class="code-arguments-hdr">Parameters</div>
<table class="params code-arguments">
<tr>
<th class="hdr-name">Name</th>
<th class="hdr-type">Type</th>
<th class="hdr-default-value">Default Value</th>
<th class="hdr-flags">Flags</th>
<th class="hdr-desc">Description</th>
</tr>
<tr class="code-arg">
<td>
<a name=""></a>
<strong class="code-arg-name">
data
</strong>
</td>
<td class="code-arg-types">
<code>string | undefined | any</code>
</td>
<td class="code-arg-default-value">
</td>
<td class="code-arg-flags">
</td>
<td class="code-arg-desc">
<!--
Used for displaying comments in Class, Interface, Properties Constructor,
Function and Parameters of constructor or function.
(Excludes Type alias).
-->
<div class="code-desc">
<p></p>
<p><p>The raw data get from http request</p>
</p>
</div>
</td>
</tr>
<tr class="code-arg">
<td>
<a name=""></a>
<strong class="code-arg-name">
spec
</strong>
</td>
<td class="code-arg-types">
<code><a href="#ParameterObject">ParameterObject</a></code>
</td>
<td class="code-arg-default-value">
</td>
<td class="code-arg-flags">
</td>
<td class="code-arg-desc">
<!--
Used for displaying comments in Class, Interface, Properties Constructor,
Function and Parameters of constructor or function.
(Excludes Type alias).
-->
</td>
</tr>
</table>
</section>
</section>
<section class="code-doc ">
<a name="getOAIPrimitiveType"></a>
<h3 class="code-ref">Function: getOAIPrimitiveType</h3>
<section class="code-doc ">
<a name="getOAIPrimitiveType"></a>
<h4 class="code-ref">getOAIPrimitiveType(type: undefined | string, format: undefined | string) : undefined | | | | | | | | | | | | | | </h4>
<!--
Used for displaying comments in Class, Interface, Properties Constructor,
Function and Parameters of constructor or function.
(Excludes Type alias).
-->
<div class="code-desc">
<p><p>Return the corresponding OpenAPI data type given an OpenAPI schema</p>
</p>
<p></p>
</div>
<!-- A table of members such as parameters/properties/variables -->
<div class="code-arguments-hdr">Parameters</div>
<table class="params code-arguments">
<tr>
<th class="hdr-name">Name</th>
<th class="hdr-type">Type</th>
<th class="hdr-default-value">Default Value</th>
<th class="hdr-flags">Flags</th>
<th class="hdr-desc">Description</th>
</tr>
<tr class="code-arg">
<td>
<a name=""></a>
<strong class="code-arg-name">
type
</strong>
</td>
<td class="code-arg-types">
<code>undefined | string</code>
</td>
<td class="code-arg-default-value">
</td>
<td class="code-arg-flags">
optional
</td>
<td class="code-arg-desc">
<!--
Used for displaying comments in Class, Interface, Properties Constructor,
Function and Parameters of constructor or function.
(Excludes Type alias).
-->
<div class="code-desc">
<p></p>
<p><p>The type in an OpenAPI schema specification</p>
</p>
</div>
</td>
</tr>
<tr class="code-arg">
<td>
<a name=""></a>
<strong class="code-arg-name">
format
</strong>
</td>
<td class="code-arg-types">
<code>undefined | string</code>
</td>
<td class="code-arg-default-value">
</td>
<td class="code-arg-flags">
optional
</td>
<td class="code-arg-desc">
<!--
Used for displaying comments in Class, Interface, Properties Constructor,
Function and Parameters of constructor or function.
(Excludes Type alias).
-->
<div class="code-desc">
<p></p>
<p><p>The format in an OpenAPI schema specification</p>
</p>
</div>
</td>
</tr>
</table>
</section>
</section>
<section class="code-doc ">
<a name="isEmpty"></a>
<h3 class="code-ref">Function: isEmpty</h3>
<section class="code-doc ">
<a name="isEmpty"></a>
<h4 class="code-ref">isEmpty(data: string) : boolean</h4>
<!--
Used for displaying comments in Class, Interface, Properties Constructor,
Function and Parameters of constructor or function.
(Excludes Type alias).
-->
<!-- A table of members such as parameters/properties/variables -->
<div class="code-arguments-hdr">Parameters</div>
<table class="params code-arguments">
<tr>
<th class="hdr-name">Name</th>
<th class="hdr-type">Type</th>
<th class="hdr-default-value">Default Value</th>
<th class="hdr-flags">Flags</th>
<th class="hdr-desc">Description</th>
</tr>
<tr class="code-arg">
<td>
<a name=""></a>
<strong class="code-arg-name">
data
</strong>
</td>
<td class="code-arg-types">
<code>string</code>
</td>
<td class="code-arg-default-value">
</td>
<td class="code-arg-flags">
</td>
<td class="code-arg-desc">
<!--
Used for displaying comments in Class, Interface, Properties Constructor,
Function and Parameters of constructor or function.
(Excludes Type alias).
-->
</td>
</tr>
</table>
</section>
</section>
<section class="code-doc ">
<a name="isFalse"></a>
<h3 class="code-ref">Function: isFalse</h3>
<section class="code-doc ">
<a name="isFalse"></a>
<h4 class="code-ref">isFalse(data: string) : boolean</h4>
<!--
Used for displaying comments in Class, Interface, Properties Constructor,
Function and Parameters of constructor or function.
(Excludes Type alias).
-->
<div class="code-desc">
<p><p>A set of falsy values. A data in this set will be coerced to <code>false</code>.</p>
</p>
<p></p>
</div>
Returns: <p><p>The corresponding coerced boolean type</p>
</p>
<!-- A table of members such as parameters/properties/variables -->
<div class="code-arguments-hdr">Parameters</div>
<table class="params code-arguments">
<tr>
<th class="hdr-name">Name</th>
<th class="hdr-type">Type</th>
<th class="hdr-default-value">Default Value</th>
<th class="hdr-flags">Flags</th>
<th class="hdr-desc">Description</th>
</tr>
<tr class="code-arg">
<td>
<a name=""></a>
<strong class="code-arg-name">
data
</strong>
</td>
<td class="code-arg-types">
<code>string</code>
</td>
<td class="code-arg-default-value">
</td>
<td class="code-arg-flags">
</td>
<td class="code-arg-desc">
<!--
Used for displaying comments in Class, Interface, Properties Constructor,
Function and Parameters of constructor or function.
(Excludes Type alias).
-->
<div class="code-desc">
<p></p>
<p><p>The raw data get from http request</p>
</p>
</div>
</td>
</tr>
</table>
</section>
</section>
<section class="code-doc ">
<a name="isTrue"></a>
<h3 class="code-ref">Function: isTrue</h3>
<section class="code-doc ">
<a name="isTrue"></a>
<h4 class="code-ref">isTrue(data: string) : boolean</h4>
<!--
Used for displaying comments in Class, Interface, Properties Constructor,
Function and Parameters of constructor or function.
(Excludes Type alias).
-->
<div class="code-desc">
<p><p>A set of truthy values. A data in this set will be coerced to <code>true</code>.</p>
</p>
<p></p>
</div>
Returns: <p><p>The corresponding coerced boolean type</p>
</p>
<!-- A table of members such as parameters/properties/variables -->
<div class="code-arguments-hdr">Parameters</div>
<table class="params code-arguments">
<tr>
<th class="hdr-name">Name</th>
<th class="hdr-type">Type</th>
<th class="hdr-default-value">Default Value</th>
<th class="hdr-flags">Flags</th>
<th class="hdr-desc">Description</th>
</tr>
<tr class="code-arg">
<td>
<a name=""></a>
<strong class="code-arg-name">
data
</strong>
</td>
<td class="code-arg-types">
<code>string</code>
</td>
<td class="code-arg-default-value">
</td>
<td class="code-arg-flags">
</td>
<td class="code-arg-desc">
<!--
Used for displaying comments in Class, Interface, Properties Constructor,
Function and Parameters of constructor or function.
(Excludes Type alias).
-->
<div class="code-desc">
<p></p>
<p><p>The raw data get from http request</p>
</p>
</div>
</td>
</tr>
</table>
</section>
</section>
<section class="code-doc ">
<a name="isValidDateTime"></a>
<h3 class="code-ref">Function: isValidDateTime</h3>
<section class="code-doc ">
<a name="isValidDateTime"></a>
<h4 class="code-ref">isValidDateTime(data: <a href="#Date">Date</a>) : boolean</h4>
<!--
Used for displaying comments in Class, Interface, Properties Constructor,
Function and Parameters of constructor or function.
(Excludes Type alias).
-->
<div class="code-desc">
<p><p>Return false for invalid date</p>
</p>
<p></p>
</div>
<!-- A table of members such as parameters/properties/variables -->
<div class="code-arguments-hdr">Parameters</div>
<table class="params code-arguments">
<tr>
<th class="hdr-name">Name</th>
<th class="hdr-type">Type</th>
<th class="hdr-default-value">Default Value</th>
<th class="hdr-flags">Flags</th>
<th class="hdr-desc">Description</th>
</tr>
<tr class="code-arg">
<td>
<a name=""></a>
<strong class="code-arg-name">
data
</strong>
</td>
<td class="code-arg-types">
<code><a href="#Date">Date</a></code>
</td>
<td class="code-arg-default-value">
</td>
<td class="code-arg-flags">
</td>
<td class="code-arg-desc">
<!--
Used for displaying comments in Class, Interface, Properties Constructor,
Function and Parameters of constructor or function.
(Excludes Type alias).
-->
</td>
</tr>
</table>
</section>
</section>
<section class="code-doc ">
<a name="matchDateFormat"></a>
<h3 class="code-ref">Function: matchDateFormat</h3>
<section class="code-doc ">
<a name="matchDateFormat"></a>
<h4 class="code-ref">matchDateFormat(date: string) : boolean</h4>
<!--
Used for displaying comments in Class, Interface, Properties Constructor,
Function and Parameters of constructor or function.
(Excludes Type alias).
-->
<div class="code-desc">
<p><p>Return true when a date follows the RFC3339 standard</p>
</p>
<p></p>
</div>
<!-- A table of members such as parameters/properties/variables -->
<div class="code-arguments-hdr">Parameters</div>
<table class="params code-arguments">
<tr>
<th class="hdr-name">Name</th>
<th class="hdr-type">Type</th>
<th class="hdr-default-value">Default Value</th>
<th class="hdr-flags">Flags</th>
<th class="hdr-desc">Description</th>
</tr>
<tr class="code-arg">
<td>
<a name=""></a>
<strong class="code-arg-name">
date
</strong>
</td>
<td class="code-arg-types">
<code>string</code>
</td>
<td class="code-arg-default-value">
</td>
<td class="code-arg-flags">
</td>
<td class="code-arg-desc">
<!--
Used for displaying comments in Class, Interface, Properties Constructor,
Function and Parameters of constructor or function.
(Excludes Type alias).
-->
<div class="code-desc">
<p></p>
<p><p>The date to verify</p>
</p>
</div>
</td>
</tr>
</table>
</section>
</section>
<section class="code-doc ">
<a name="Validator"></a>
<h3 class="code-ref">Class: validator = new Validator()</h3>
<!--
Used for displaying comments in Class, Interface, Properties Constructor,
Function and Parameters of constructor or function.
(Excludes Type alias).
-->
<div class="code-desc">
<p><p>Validator class provides a bunch of functions that perform
validations on the request parameters and request body.</p>
</p>
<p></p>
</div>
</section>
<section class="code-doc">
<!-- A table of members such as parameters/properties/variables -->
<div class="code-arguments-hdr">Properties</div>
<table class="params code-arguments">
<tr>
<th class="hdr-name">Name</th>
<th class="hdr-type">Type</th>
<th class="hdr-default-value">Default Value</th>
<th class="hdr-flags">Flags</th>
<th class="hdr-desc">Description</th>
</tr>
<tr class="code-arg">
<td>
<a name="Validator.prototype.ctx"></a>
<strong class="code-arg-name">
ctx
</strong>
</td>
<td class="code-arg-types">
<code><a href="#ValidationContext">ValidationContext</a></code>
</td>
<td class="code-arg-default-value">
</td>
<td class="code-arg-flags">
constructorProperty exported public
</td>
<td class="code-arg-desc">
<!--
Used for displaying comments in Class, Interface, Properties Constructor,
Function and Parameters of constructor or function.
(Excludes Type alias).
-->
<div class="code-desc">
<p><p>Validator class provides a bunch of functions that perform
validations on the request parameters and request body.</p>
</p>
<p></p>
</div>
</td>
</tr>
</table>
</section>
<section class="code-doc ">
<a name="Validator.constructor"></a>
<h4 class="code-ref">constructor(ctx: <a href="#ValidationContext">ValidationContext</a>) : <a href="#Validator">Validator</a></h4>
<!--
Used for displaying comments in Class, Interface, Properties Constructor,
Function and Parameters of constructor or function.
(Excludes Type alias).
-->
<!-- A table of members such as parameters/properties/variables -->
<div class="code-arguments-hdr">Parameters</div>
<table class="params code-arguments">
<tr>
<th class="hdr-name">Name</th>
<th class="hdr-type">Type</th>
<th class="hdr-default-value">Default Value</th>
<th class="hdr-flags">Flags</th>
<th class="hdr-desc">Description</th>
</tr>
<tr class="code-arg">
<td>
<a name=""></a>
<strong class="code-arg-name">
ctx
</strong>
</td>
<td class="code-arg-types">
<code><a href="#ValidationContext">ValidationContext</a></code>
</td>
<td class="code-arg-default-value">
</td>
<td class="code-arg-flags">
</td>
<td class="code-arg-desc">
<!--
Used for displaying comments in Class, Interface, Properties Constructor,
Function and Parameters of constructor or function.
(Excludes Type alias).
-->
<div class="code-desc">
<p><p>Validator class provides a bunch of functions that perform
validations on the request parameters and request body.</p>
</p>
<p></p>
</div>
</td>
</tr>
</table>
</section>
<section class="code-doc ">
<a name="Validator.prototype.isAbsent"></a>
<h4 class="code-ref">isAbsent(value: any) : boolean</h4>
<!--
Used for displaying comments in Class, Interface, Properties Constructor,
Function and Parameters of constructor or function.
(Excludes Type alias).
-->
<div class="code-desc">
<p><p>Return <code>true</code> if the value is empty, return <code>false</code> otherwise.</p>
</p>
<p></p>
</div>
<!-- A table of members such as parameters/properties/variables -->
<div class="code-arguments-hdr">Parameters</div>
<table class="params code-arguments">
<tr>
<th class="hdr-name">Name</th>
<th class="hdr-type">Type</th>
<th class="hdr-default-value">Default Value</th>
<th class="hdr-flags">Flags</th>
<th class="hdr-desc">Description</th>
</tr>
<tr class="code-arg">
<td>
<a name=""></a>
<strong class="code-arg-name">
value
</strong>
</td>
<td class="code-arg-types">
<code>any</code>
</td>
<td class="code-arg-default-value">
</td>
<td class="code-arg-flags">
</td>
<td class="code-arg-desc">
<!--
Used for displaying comments in Class, Interface, Properties Constructor,
Function and Parameters of constructor or function.
(Excludes Type alias).
-->
<div class="code-desc">
<p></p>
<p></p>
</div>
</td>
</tr>
</table>
</section>
<section class="code-doc ">
<a name="Validator.prototype.isRequired"></a>
<h4 class="code-ref">isRequired(opts: <a href="#ValidationOptions">ValidationOptions</a>) : boolean</h4>
<!--
Used for displaying comments in Class, Interface, Properties Constructor,
Function and Parameters of constructor or function.
(Excludes Type alias).
-->
<div class="code-desc">
<p><p>Check is a parameter required or not.</p>
</p>
<p></p>
</div>
<!-- A table of members such as parameters/properties/variables -->
<div class="code-arguments-hdr">Parameters</div>
<table class="params code-arguments">
<tr>
<th class="hdr-name">Name</th>
<th class="hdr-type">Type</th>
<th class="hdr-default-value">Default Value</th>
<th class="hdr-flags">Flags</th>
<th class="hdr-desc">Description</th>
</tr>
<tr class="code-arg">
<td>
<a name=""></a>
<strong class="code-arg-name">
opts
</strong>
</td>
<td class="code-arg-types">
<code><a href="#ValidationOptions">ValidationOptions</a></code>
</td>
<td class="code-arg-default-value">
</td>
<td class="code-arg-flags">
optional
</td>
<td class="code-arg-desc">
<!--
Used for displaying comments in Class, Interface, Properties Constructor,
Function and Parameters of constructor or function.
(Excludes Type alias).
-->
<div class="code-desc">
<p></p>
<p></p>
</div>
</td>
</tr>
</table>
</section>
<section class="code-doc ">
<a name="Validator.prototype.validateParamBeforeCoercion"></a>
<h4 class="code-ref">validateParamBeforeCoercion(value: string | any | undefined, opts: <a href="#ValidationOptions">ValidationOptions</a>) : void</h4>
<!--
Used for displaying comments in Class, Interface, Properties Constructor,
Function and Parameters of constructor or function.
(Excludes Type alias).
-->
<div class="code-desc">
<p><p>The validation executed before type coercion. Like
checking absence.</p>
</p>
<p></p>
</div>
<!-- A table of members such as parameters/properties/variables -->
<div class="code-arguments-hdr">Parameters</div>
<table class="params code-arguments">
<tr>
<th class="hdr-name">Name</th>
<th class="hdr-type">Type</th>
<th class="hdr-default-value">Default Value</th>
<th class="hdr-flags">Flags</th>
<th class="hdr-desc">Description</th>
</tr>
<tr class="code-arg">
<td>
<a name=""></a>
<strong class="code-arg-name">
value
</strong>
</td>
<td class="code-arg-types">
<code>string | any | undefined</code>
</td>
<td class="code-arg-default-value">
</td>
<td class="code-arg-flags">
</td>
<td class="code-arg-desc">
<!--
Used for displaying comments in Class, Interface, Properties Constructor,
Function and Parameters of constructor or function.
(Excludes Type alias).
-->
<div class="code-desc">
<p></p>
<p><p>A parameter's raw value from http request.</p>
</p>
</div>
</td>
</tr>
<tr class="code-arg">
<td>
<a name=""></a>
<strong class="code-arg-name">
opts
</strong>
</td>
<td class="code-arg-types">
<code><a href="#ValidationOptions">ValidationOptions</a></code>
</td>
<td class="code-arg-default-value">
</td>
<td class="code-arg-flags">
optional
</td>
<td class="code-arg-desc">
<!--
Used for displaying comments in Class, Interface, Properties Constructor,
Function and Parameters of constructor or function.
(Excludes Type alias).
-->
<div class="code-desc">
<p></p>
<p><p>options</p>
</p>
</div>
</td>
</tr>
</table>
</section>
<section class="code-doc ">
<a name="HttpHandler"></a>
<h3 class="code-ref">Class: httphandler = new HttpHandler()</h3>
<!--
Used for displaying comments in Class, Interface, Properties Constructor,
Function and Parameters of constructor or function.
(Excludes Type alias).
-->
</section>
<section class="code-doc">
<!-- A table of members such as parameters/properties/variables -->
<div class="code-arguments-hdr">Properties</div>
<table class="params code-arguments">
<tr>
<th class="hdr-name">Name</th>
<th class="hdr-type">Type</th>
<th class="hdr-default-value">Default Value</th>
<th class="hdr-flags">Flags</th>
<th class="hdr-desc">Description</th>
</tr>
<tr class="code-arg">
<td>
<a name="HttpHandler.prototype.handleRequest"></a>
<strong class="code-arg-name">
handleRequest
</strong>
</td>
<td class="code-arg-types">
<code>anonymous</code>
</td>
<td class="code-arg-default-value">
</td>
<td class="code-arg-flags">
exported public
</td>
<td class="code-arg-desc">
<!--
Used for displaying comments in Class, Interface, Properties Constructor,
Function and Parameters of constructor or function.
(Excludes Type alias).
-->
</td>
</tr>
</table>
</section>
<section class="code-doc ">
<a name="HttpHandler.constructor"></a>
<h4 class="code-ref">constructor(_rootContext: <a href="#Context">Context</a>) : <a href="#HttpHandler">HttpHandler</a></h4>
<!--
Used for displaying comments in Class, Interface, Properties Constructor,
Function and Parameters of constructor or function.
(Excludes Type alias).
-->
<!-- A table of members such as parameters/properties/variables -->
<div class="code-arguments-hdr">Parameters</div>
<table class="params code-arguments">
<tr>
<th class="hdr-name">Name</th>
<th class="hdr-type">Type</th>
<th class="hdr-default-value">Default Value</th>
<th class="hdr-flags">Flags</th>
<th class="hdr-desc">Description</th>
</tr>
<tr class="code-arg">
<td>
<a name=""></a>
<strong class="code-arg-name">
_rootContext
</strong>
</td>
<td class="code-arg-types">
<code><a href="#Context">Context</a></code>
</td>
<td class="code-arg-default-value">
</td>
<td class="code-arg-flags">
</td>
<td class="code-arg-desc">
<!--
Used for displaying comments in Class, Interface, Properties Constructor,
Function and Parameters of constructor or function.
(Excludes Type alias).
-->
</td>
</tr>
</table>
</section>
<section class="code-doc ">
<a name="HttpHandler.prototype.describeApiPaths"></a>
<h4 class="code-ref">describeApiPaths() : <a href="#PathObject">PathObject</a></h4>
<!--
Used for displaying comments in Class, Interface, Properties Constructor,
Function and Parameters of constructor or function.
(Excludes Type alias).
-->
</section>
<section class="code-doc ">
<a name="HttpHandler.prototype.findRoute"></a>
<h4 class="code-ref">findRoute(request: <a href="#Request">Request</a>) : <a href="#ResolvedRoute">ResolvedRoute</a></h4>
<!--
Used for displaying comments in Class, Interface, Properties Constructor,
Function and Parameters of constructor or function.
(Excludes Type alias).
-->
<!-- A table of members such as parameters/properties/variables -->
<div class="code-arguments-hdr">Parameters</div>
<table class="params code-arguments">
<tr>
<th class="hdr-name">Name</th>
<th class="hdr-type">Type</th>
<th class="hdr-default-value">Default Value</th>
<th class="hdr-flags">Flags</th>
<th class="hdr-desc">Description</th>
</tr>
<tr class="code-arg">
<td>
<a name=""></a>
<strong class="code-arg-name">
request
</strong>
</td>
<td class="code-arg-types">
<code><a href="#Request">Request</a></code>
</td>
<td class="code-arg-default-value">
</td>
<td class="code-arg-flags">
</td>
<td class="code-arg-desc">
<!--
Used for displaying comments in Class, Interface, Properties Constructor,
Function and Parameters of constructor or function.
(Excludes Type alias).
-->
</td>
</tr>
</table>
</section>
<section class="code-doc ">
<a name="HttpHandler.prototype.getApiDefinitions"></a>
<h4 class="code-ref">getApiDefinitions() : <a href="#SchemasObject">SchemasObject</a></h4>
<!--
Used for displaying comments in Class, Interface, Properties Constructor,
Function and Parameters of constructor or function.
(Excludes Type alias).
-->
</section>
<section class="code-doc ">
<a name="HttpHandler.prototype.registerApiDefinitions"></a>
<h4 class="code-ref">registerApiDefinitions(defs: <a href="#SchemasObject">SchemasObject</a>) : void</h4>
<!--
Used for displaying comments in Class, Interface, Properties Constructor,
Function and Parameters of constructor or function.
(Excludes Type alias).
-->
<!-- A table of members such as parameters/properties/variables -->
<div class="code-arguments-hdr">Parameters</div>
<table class="params code-arguments">
<tr>
<th class="hdr-name">Name</th>
<th class="hdr-type">Type</th>
<th class="hdr-default-value">Default Value</th>
<th class="hdr-flags">Flags</th>
<th class="hdr-desc">Description</th>
</tr>
<tr class="code-arg">
<td>
<a name=""></a>
<strong class="code-arg-name">
defs
</strong>
</td>
<td class="code-arg-types">
<code><a href="#SchemasObject">SchemasObject</a></code>
</td>
<td class="code-arg-default-value">
</td>
<td class="code-arg-flags">
</td>
<td class="code-arg-desc">
<!--
Used for displaying com