@loopback/docs 3.26.1 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (248) hide show
  1. package/CHANGELOG.md +59 -0
  2. package/package.json +5 -5
  3. package/site/Authorization-component-authorizer.md +3 -0
  4. package/site/Community-extensions.md +4 -0
  5. package/site/DEVELOPING.md +2 -2
  6. package/site/Examples.md +4 -0
  7. package/site/Include-filter.md +5 -0
  8. package/site/LoopBack-types.md +1 -1
  9. package/site/apidocs/authentication.authenticateactionprovider.md +0 -1
  10. package/site/apidocs/authentication.authenticationbindings.auth_action.md +0 -1
  11. package/site/apidocs/authentication.authenticationbindings.metadata.md +0 -1
  12. package/site/apidocs/authentication.authenticationbindings.strategy.md +0 -1
  13. package/site/apidocs/authentication.authenticationbindings.user_profile_factory.md +0 -1
  14. package/site/apidocs/authentication.userservice.verifycredentials.md +0 -2
  15. package/site/apidocs/authorization.authorizationoptions.md +2 -2
  16. package/site/apidocs/boot.bootmixin.md +2 -2
  17. package/site/apidocs/context.aliasbindingsource.md +1 -1
  18. package/site/apidocs/context.any_tag_value.md +0 -1
  19. package/site/apidocs/context.asyncproxy.md +0 -2
  20. package/site/apidocs/context.binding.apply.md +0 -1
  21. package/site/apidocs/context.binding.configure.md +0 -1
  22. package/site/apidocs/context.binding.getvalue.md +0 -1
  23. package/site/apidocs/context.binding.tag.md +0 -1
  24. package/site/apidocs/context.binding.to.md +0 -1
  25. package/site/apidocs/context.binding.todynamicvalue.md +0 -1
  26. package/site/apidocs/context.binding.toinjectable.md +0 -1
  27. package/site/apidocs/context.binding.toprovider.md +0 -1
  28. package/site/apidocs/context.bindingcomparator.md +0 -1
  29. package/site/apidocs/context.bindingfilter.md +0 -1
  30. package/site/apidocs/context.bindingkey.create.md +0 -1
  31. package/site/apidocs/context.classbindingsource.md +1 -1
  32. package/site/apidocs/context.constantbindingsource.md +1 -1
  33. package/site/apidocs/context.context._constructor_.md +0 -1
  34. package/site/apidocs/context.context._debug.md +0 -1
  35. package/site/apidocs/context.context.createview.md +2 -1
  36. package/site/apidocs/context.context.get.md +0 -1
  37. package/site/apidocs/context.context.get_1.md +0 -1
  38. package/site/apidocs/context.context.getdebugnamespace.md +0 -1
  39. package/site/apidocs/context.context.getscopedcontext.md +1 -1
  40. package/site/apidocs/context.context.getsync.md +0 -1
  41. package/site/apidocs/context.context.getsync_1.md +0 -1
  42. package/site/apidocs/context.context.md +1 -1
  43. package/site/apidocs/context.context.unbind.md +0 -1
  44. package/site/apidocs/context.contextview._constructor_.md +2 -1
  45. package/site/apidocs/context.contextview.asgetter.md +2 -2
  46. package/site/apidocs/context.contextview.md +1 -1
  47. package/site/apidocs/context.contextview.resolve.md +2 -2
  48. package/site/apidocs/context.contextview.singlevalue.md +2 -2
  49. package/site/apidocs/context.contextview.values.md +2 -2
  50. package/site/apidocs/context.createviewgetter_1.md +2 -2
  51. package/site/apidocs/context.dynamicvaluebindingsource.md +1 -1
  52. package/site/apidocs/context.dynamicvalueproviderclass.md +0 -1
  53. package/site/apidocs/context.genericinterceptor.md +0 -1
  54. package/site/apidocs/context.inject.binding.md +0 -1
  55. package/site/apidocs/context.inject.context.md +0 -1
  56. package/site/apidocs/context.inject.tag.md +0 -1
  57. package/site/apidocs/context.inject.view.md +0 -1
  58. package/site/apidocs/context.injectionmetadata.md +2 -2
  59. package/site/apidocs/context.intercept.md +0 -1
  60. package/site/apidocs/context.provider.md +0 -1
  61. package/site/apidocs/context.providerbindingsource.md +1 -1
  62. package/site/apidocs/context.resolvelist.md +0 -2
  63. package/site/apidocs/context.resolvemap.md +0 -2
  64. package/site/apidocs/context.resolverfunction.md +0 -1
  65. package/site/apidocs/context.setter.md +0 -1
  66. package/site/apidocs/context.typenamespacemapping.md +0 -1
  67. package/site/apidocs/core.application.component.md +0 -1
  68. package/site/apidocs/core.application.controller.md +0 -1
  69. package/site/apidocs/core.application.md +1 -1
  70. package/site/apidocs/core.application.server.md +0 -1
  71. package/site/apidocs/core.application.servers.md +0 -1
  72. package/site/apidocs/core.application.service.md +0 -1
  73. package/site/apidocs/core.application.state.md +1 -1
  74. package/site/apidocs/core.component.bindings.md +0 -1
  75. package/site/apidocs/core.component.classes.md +0 -1
  76. package/site/apidocs/core.component.providers.md +0 -1
  77. package/site/apidocs/core.extensionpoint.md +0 -1
  78. package/site/apidocs/core.extensions.list.md +2 -2
  79. package/site/apidocs/core.extensions.md +2 -2
  80. package/site/apidocs/core.extensions.view.md +2 -2
  81. package/site/apidocs/core.lifecycleobserveroptions.md +1 -0
  82. package/site/apidocs/core.md +1 -1
  83. package/site/apidocs/core.mixintarget.md +0 -3
  84. package/site/apidocs/core.service.md +0 -1
  85. package/site/apidocs/cron.cronjob.md +0 -1
  86. package/site/apidocs/express.expressmiddlewareinterceptorprovider.md +0 -2
  87. package/site/apidocs/express.invokeexpressmiddleware.md +0 -1
  88. package/site/apidocs/express.middleware.md +0 -1
  89. package/site/apidocs/express.middlewaremixin.md +2 -2
  90. package/site/apidocs/express.middlewareregistry.expressmiddleware.md +0 -1
  91. package/site/apidocs/express.middlewareregistry.expressmiddleware_1.md +0 -1
  92. package/site/apidocs/express.middlewareregistry.middleware.md +0 -1
  93. package/site/apidocs/express.tointerceptor.md +0 -1
  94. package/site/apidocs/express.tomiddleware.md +0 -1
  95. package/site/apidocs/filter.andclause.md +0 -1
  96. package/site/apidocs/filter.condition.md +0 -1
  97. package/site/apidocs/filter.filterbuilder.md +0 -1
  98. package/site/apidocs/filter.inclusion.md +1 -1
  99. package/site/apidocs/filter.inclusion.scope.md +3 -1
  100. package/site/apidocs/filter.orclause.md +0 -1
  101. package/site/apidocs/filter.where.md +0 -1
  102. package/site/apidocs/filter.wherebuilder.md +0 -1
  103. package/site/apidocs/graphql.graphqlserver.exportgraphqlschema.md +33 -0
  104. package/site/apidocs/graphql.graphqlserver.md +1 -0
  105. package/site/apidocs/logging.loginvocation.md +0 -1
  106. package/site/apidocs/metadata.decoratorfactory.md +0 -3
  107. package/site/apidocs/metadata.designtimemethodmetadata.md +0 -2
  108. package/site/apidocs/metadata.methodmultidecoratorfactory.md +0 -1
  109. package/site/apidocs/metadata.methodparameterdecoratorfactory.md +0 -1
  110. package/site/apidocs/openapi-v3.api.md +0 -1
  111. package/site/apidocs/openapi-v3.deprecated.md +0 -1
  112. package/site/apidocs/openapi-v3.getmodelschemaref.md +0 -1
  113. package/site/apidocs/openapi-v3.param.array.md +0 -1
  114. package/site/apidocs/openapi-v3.param.filter.md +0 -1
  115. package/site/apidocs/openapi-v3.param.where.md +0 -1
  116. package/site/apidocs/openapi-v3.requestbody.array.md +0 -1
  117. package/site/apidocs/openapi-v3.requestbody.file.md +0 -1
  118. package/site/apidocs/openapi-v3.response.file.md +0 -1
  119. package/site/apidocs/openapi-v3.schemaref.md +0 -1
  120. package/site/apidocs/openapi-v3.tags.md +0 -2
  121. package/site/apidocs/openapi-v3.visibility.md +0 -1
  122. package/site/apidocs/repository-json-schema.getjsonschemaref.md +0 -1
  123. package/site/apidocs/repository-json-schema.jsonschemaoptions.partial.md +0 -1
  124. package/site/apidocs/repository-json-schema.optional.md +0 -1
  125. package/site/apidocs/repository.belongstodefinition.md +1 -1
  126. package/site/apidocs/repository.constructorfunction.md +0 -1
  127. package/site/apidocs/repository.crudrepositoryimpl.md +0 -1
  128. package/site/apidocs/repository.defaultcrudrepository.createhasmanyrepositoryfactoryfor.md +0 -1
  129. package/site/apidocs/repository.defaultcrudrepository.createhasmanythroughrepositoryfactoryfor.md +0 -1
  130. package/site/apidocs/repository.defaultcrudrepository.execute.md +0 -1
  131. package/site/apidocs/repository.defaultcrudrepository.execute_1.md +0 -1
  132. package/site/apidocs/repository.definecrudrepositoryclass.md +0 -1
  133. package/site/apidocs/repository.definekeyvaluerepositoryclass.md +0 -1
  134. package/site/apidocs/repository.definemodelclass.md +0 -3
  135. package/site/apidocs/repository.definerepositoryclass.md +0 -1
  136. package/site/apidocs/repository.findbyforeignkeys.md +4 -2
  137. package/site/apidocs/repository.hasmanydefinition.md +1 -1
  138. package/site/apidocs/repository.hasonedefinition.md +1 -1
  139. package/site/apidocs/repository.modeldefinition.idproperties.md +0 -1
  140. package/site/apidocs/repository.repository_1.md +0 -1
  141. package/site/apidocs/repository.repositorymixin.md +2 -3
  142. package/site/apidocs/repository.repositorymixindoc.component.md +0 -1
  143. package/site/apidocs/repository.repositorymixindoc.datasource.md +0 -1
  144. package/site/apidocs/repository.repositorymixindoc.repository.md +0 -1
  145. package/site/apidocs/rest-crud.definecrudrestcontroller.md +0 -1
  146. package/site/apidocs/rest.defaultsequence.md +0 -1
  147. package/site/apidocs/rest.restapplication.exportopenapispec.md +2 -5
  148. package/site/apidocs/rest.restapplication.expressmiddleware.md +0 -1
  149. package/site/apidocs/rest.restapplication.expressmiddleware_1.md +0 -1
  150. package/site/apidocs/rest.restapplication.middleware.md +0 -1
  151. package/site/apidocs/rest.restapplication.redirect.md +0 -1
  152. package/site/apidocs/rest.restapplication.requesthandler.md +0 -1
  153. package/site/apidocs/rest.restapplication.route.md +0 -1
  154. package/site/apidocs/rest.restapplication.route_1.md +0 -1
  155. package/site/apidocs/rest.restapplication.route_2.md +0 -1
  156. package/site/apidocs/rest.restapplication.route_3.md +0 -1
  157. package/site/apidocs/rest.restserver.controller.md +0 -1
  158. package/site/apidocs/rest.restserver.exportopenapispec.md +2 -5
  159. package/site/apidocs/rest.restserver.handler.md +0 -1
  160. package/site/apidocs/rest.restserver.md +0 -3
  161. package/site/apidocs/rest.restserver.oasenhancerservice.md +0 -1
  162. package/site/apidocs/rest.restserver.redirect.md +0 -1
  163. package/site/apidocs/rest.restserver.route.md +0 -1
  164. package/site/apidocs/rest.restserver.route_1.md +0 -1
  165. package/site/apidocs/rest.restserver.route_2.md +0 -1
  166. package/site/apidocs/rest.restserver.sequence.md +0 -1
  167. package/site/apidocs/service-proxy.servicemixin.md +2 -3
  168. package/site/apidocs/service-proxy.servicemixindoc.component.md +0 -1
  169. package/site/apidocs/service-proxy.servicemixindoc.serviceprovider.md +0 -1
  170. package/site/apidocs/socketio.socketio.md +0 -1
  171. package/site/apidocs/socketio.socketio.subscribe.md +0 -1
  172. package/site/apidocs/socketio.socketiobindings.io.md +1 -1
  173. package/site/apidocs/socketio.socketiobindings.socket.md +1 -1
  174. package/site/apidocs/socketio.socketioserver.route.md +2 -2
  175. package/site/apidocs/socketio.socketioserver.use.md +2 -2
  176. package/site/apidocs/testlab.skipif.md +0 -1
  177. package/site/apidocs/testlab.skipontravis.md +0 -1
  178. package/site/apidocs/testlab.testsandbox._constructor_.md +0 -1
  179. package/site/apidocs/typeorm.typeormmixin.md +2 -2
  180. package/site/changelogs/bodyparsers/rest-msgpack/CHANGELOG.md +45 -0
  181. package/site/changelogs/examples/access-control-migration/CHANGELOG.md +56 -0
  182. package/site/changelogs/examples/binding-resolution/CHANGELOG.md +56 -0
  183. package/site/changelogs/examples/context/CHANGELOG.md +56 -0
  184. package/site/changelogs/examples/express-composition/CHANGELOG.md +56 -0
  185. package/site/changelogs/examples/file-transfer/CHANGELOG.md +56 -0
  186. package/site/changelogs/examples/graphql/CHANGELOG.md +56 -0
  187. package/site/changelogs/examples/greeter-extension/CHANGELOG.md +56 -0
  188. package/site/changelogs/examples/greeting-app/CHANGELOG.md +56 -0
  189. package/site/changelogs/examples/hello-world/CHANGELOG.md +56 -0
  190. package/site/changelogs/examples/lb3-application/CHANGELOG.md +56 -0
  191. package/site/changelogs/examples/log-extension/CHANGELOG.md +56 -0
  192. package/site/changelogs/examples/metrics-prometheus/CHANGELOG.md +56 -0
  193. package/site/changelogs/examples/multi-tenancy/CHANGELOG.md +59 -0
  194. package/site/changelogs/examples/passport-login/CHANGELOG.md +56 -0
  195. package/site/changelogs/examples/rest-crud/CHANGELOG.md +56 -0
  196. package/site/changelogs/examples/rpc-server/CHANGELOG.md +56 -0
  197. package/site/changelogs/examples/soap-calculator/CHANGELOG.md +56 -0
  198. package/site/changelogs/examples/socketio/CHANGELOG.md +49 -0
  199. package/site/changelogs/examples/todo/CHANGELOG.md +56 -0
  200. package/site/changelogs/examples/todo-jwt/CHANGELOG.md +56 -0
  201. package/site/changelogs/examples/todo-list/CHANGELOG.md +56 -0
  202. package/site/changelogs/examples/validation-app/CHANGELOG.md +56 -0
  203. package/site/changelogs/examples/webpack/CHANGELOG.md +59 -0
  204. package/site/changelogs/extensions/apiconnect/CHANGELOG.md +45 -0
  205. package/site/changelogs/extensions/authentication-jwt/CHANGELOG.md +54 -0
  206. package/site/changelogs/extensions/authentication-passport/CHANGELOG.md +45 -0
  207. package/site/changelogs/extensions/context-explorer/CHANGELOG.md +45 -0
  208. package/site/changelogs/extensions/cron/CHANGELOG.md +48 -0
  209. package/site/changelogs/extensions/graphql/CHANGELOG.md +48 -0
  210. package/site/changelogs/extensions/health/CHANGELOG.md +45 -0
  211. package/site/changelogs/extensions/logging/CHANGELOG.md +45 -0
  212. package/site/changelogs/extensions/metrics/CHANGELOG.md +50 -0
  213. package/site/changelogs/extensions/pooling/CHANGELOG.md +48 -0
  214. package/site/changelogs/extensions/socketio/CHANGELOG.md +48 -0
  215. package/site/changelogs/extensions/typeorm/CHANGELOG.md +48 -0
  216. package/site/changelogs/fixtures/mock-oauth2-provider/CHANGELOG.md +45 -0
  217. package/site/changelogs/packages/authentication/CHANGELOG.md +45 -0
  218. package/site/changelogs/packages/authorization/CHANGELOG.md +45 -0
  219. package/site/changelogs/packages/boot/CHANGELOG.md +45 -0
  220. package/site/changelogs/packages/booter-lb3app/CHANGELOG.md +45 -0
  221. package/site/changelogs/packages/build/CHANGELOG.md +45 -0
  222. package/site/changelogs/packages/cli/CHANGELOG.md +53 -0
  223. package/site/changelogs/packages/context/CHANGELOG.md +48 -0
  224. package/site/changelogs/packages/core/CHANGELOG.md +56 -0
  225. package/site/changelogs/packages/eslint-config/CHANGELOG.md +45 -0
  226. package/site/changelogs/packages/express/CHANGELOG.md +45 -0
  227. package/site/changelogs/packages/filter/CHANGELOG.md +56 -0
  228. package/site/changelogs/packages/http-caching-proxy/CHANGELOG.md +50 -0
  229. package/site/changelogs/packages/http-server/CHANGELOG.md +45 -0
  230. package/site/changelogs/packages/metadata/CHANGELOG.md +45 -0
  231. package/site/changelogs/packages/model-api-builder/CHANGELOG.md +50 -0
  232. package/site/changelogs/packages/monorepo/CHANGELOG.md +45 -0
  233. package/site/changelogs/packages/openapi-spec-builder/CHANGELOG.md +45 -0
  234. package/site/changelogs/packages/openapi-v3/CHANGELOG.md +59 -0
  235. package/site/changelogs/packages/repository/CHANGELOG.md +48 -0
  236. package/site/changelogs/packages/repository-json-schema/CHANGELOG.md +62 -0
  237. package/site/changelogs/packages/repository-tests/CHANGELOG.md +45 -0
  238. package/site/changelogs/packages/rest/CHANGELOG.md +59 -0
  239. package/site/changelogs/packages/rest-crud/CHANGELOG.md +56 -0
  240. package/site/changelogs/packages/rest-explorer/CHANGELOG.md +45 -0
  241. package/site/changelogs/packages/security/CHANGELOG.md +45 -0
  242. package/site/changelogs/packages/service-proxy/CHANGELOG.md +45 -0
  243. package/site/changelogs/packages/testlab/CHANGELOG.md +45 -0
  244. package/site/changelogs/packages/tsdocs/CHANGELOG.md +51 -0
  245. package/site/index.md +1 -1
  246. package/site/readmes/loopback-next/extensions/authentication-jwt/README.md +3 -2
  247. package/site/readmes/loopback-next/extensions/graphql/README.md +48 -1
  248. package/site/readmes/loopback-next/packages/build/README.md +9 -0
@@ -38,7 +38,6 @@ export declare function toInterceptor<CTX extends Context = InvocationContext>(f
38
38
  ```ts
39
39
  toInterceptor(fn);
40
40
  toInterceptor(fn1, fn2, fn3);
41
-
42
41
  ```
43
42
 
44
43
 
@@ -40,7 +40,6 @@ A LoopBack middleware function that wraps the list of Express middleware
40
40
  ```ts
41
41
  toMiddleware(fn);
42
42
  toMiddleware(fn1, fn2, fn3);
43
-
44
43
  ```
45
44
 
46
45
 
@@ -28,7 +28,6 @@ export interface AndClause<MT extends object>
28
28
  {
29
29
  and: [...],
30
30
  }
31
-
32
31
  ```
33
32
 
34
33
  ## Properties
@@ -33,7 +33,6 @@ export declare type Condition<MT extends object> = {
33
33
  status: 'ACTIVE',
34
34
  age: {gte: 40}
35
35
  }
36
-
37
36
  ```
38
37
 
39
38
 
@@ -33,7 +33,6 @@ const filter = filterBuilder
33
33
  .order(['a ASC', 'b DESC'])
34
34
  .where({id: 1})
35
35
  .build();
36
-
37
36
  ```
38
37
 
39
38
  ## Constructors
@@ -30,6 +30,6 @@ export interface Inclusion
30
30
  | Property | Type | Description |
31
31
  | --- | --- | --- |
32
32
  | [relation](./filter.inclusion.relation.md) | string | |
33
- | [scope?](./filter.inclusion.scope.md) | [Filter](./filter.filter.md)<!-- -->&lt;AnyObject&gt; | <i>(Optional)</i> |
33
+ | [scope?](./filter.inclusion.scope.md) | [Filter](./filter.filter.md)<!-- -->&lt;AnyObject&gt; &amp; { totalLimit?: number; } | <i>(Optional)</i> |
34
34
 
35
35
 
@@ -16,6 +16,8 @@ permalink: /doc/en/lb4/apidocs.filter.inclusion.scope.html
16
16
  <b>Signature:</b>
17
17
 
18
18
  ```typescript
19
- scope?: Filter<AnyObject>;
19
+ scope?: Filter<AnyObject> & {
20
+ totalLimit?: number;
21
+ };
20
22
  ```
21
23
 
@@ -28,7 +28,6 @@ export interface OrClause<MT extends object>
28
28
  {
29
29
  or: [...],
30
30
  }
31
-
32
31
  ```
33
32
 
34
33
  ## Properties
@@ -32,7 +32,6 @@ export declare type Where<MT extends object = AnyObject> = Condition<MT> | AndCl
32
32
  and: [...],
33
33
  or: [...],
34
34
  }
35
-
36
35
  ```
37
36
 
38
37
 
@@ -32,7 +32,6 @@ const where = whereBuilder
32
32
  .and({b: 'b'}, {c: {lt: 1}})
33
33
  .or({d: 'd'}, {e: {neq: 1}})
34
34
  .build();
35
-
36
35
  ```
37
36
 
38
37
  ## Constructors
@@ -0,0 +1,33 @@
1
+ ---
2
+ lang: en
3
+ title: 'API docs: graphql.graphqlserver.exportgraphqlschema'
4
+ keywords: LoopBack 4.0, LoopBack 4, Node.js, TypeScript, OpenAPI
5
+ sidebar: lb4_sidebar
6
+ editurl: https://github.com/loopbackio/loopback-next/tree/master/extensions/graphql
7
+ permalink: /doc/en/lb4/apidocs.graphql.graphqlserver.exportgraphqlschema.html
8
+ ---
9
+
10
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
11
+
12
+ [Home](./index.md) &gt; [@loopback/graphql](./graphql.md) &gt; [GraphQLServer](./graphql.graphqlserver.md) &gt; [exportGraphQLSchema](./graphql.graphqlserver.exportgraphqlschema.md)
13
+
14
+ ## GraphQLServer.exportGraphQLSchema() method
15
+
16
+ <b>Signature:</b>
17
+
18
+ ```typescript
19
+ exportGraphQLSchema(outFile?: string, log?: (message?: any, ...optionalParams: any[]) => void): Promise<void>;
20
+ ```
21
+
22
+ ## Parameters
23
+
24
+ | Parameter | Type | Description |
25
+ | --- | --- | --- |
26
+ | outFile | string | |
27
+ | log | (message?: any, ...optionalParams: any\[\]) =&gt; void | |
28
+
29
+ <b>Returns:</b>
30
+
31
+ Promise&lt;void&gt;
32
+
33
+
@@ -42,6 +42,7 @@ export declare class GraphQLServer extends Context implements Server
42
42
 
43
43
  | Method | Modifiers | Description |
44
44
  | --- | --- | --- |
45
+ | [exportGraphQLSchema(outFile, log)](./graphql.graphqlserver.exportgraphqlschema.md) | | |
45
46
  | [getMiddlewareList()](./graphql.graphqlserver.getmiddlewarelist.md) | | Get a list of middleware |
46
47
  | [getResolverClasses()](./graphql.graphqlserver.getresolverclasses.md) | | Get a list of resolver classes |
47
48
  | [middleware(middleware)](./graphql.graphqlserver.middleware.md) | | Register a GraphQL middleware |
@@ -36,7 +36,6 @@ export class HelloController {
36
36
  return `Hello, ${name}`;
37
37
  }
38
38
  }
39
-
40
39
  ```
41
40
 
42
41
 
@@ -30,7 +30,6 @@ D extends DecoratorType>
30
30
  function classDecorator(spec: MySpec): ClassDecorator {
31
31
  return ClassDecoratorFactory.createDecorator('my-key', spec);
32
32
  }
33
-
34
33
  ```
35
34
  or
36
35
 
@@ -39,14 +38,12 @@ function classDecorator(spec: MySpec): ClassDecorator {
39
38
  const factory: ClassDecoratorFactory<MySpec>('my-key', spec);
40
39
  return factory.create();
41
40
  }
42
-
43
41
  ```
44
42
  These functions above declare `@classDecorator` that can be used as follows:
45
43
 
46
44
  ```
47
45
  @classDecorator({x: 1})
48
46
  class MyController {}
49
-
50
47
  ```
51
48
 
52
49
  ## Constructors
@@ -32,7 +32,6 @@ class MyController
32
32
  return true;
33
33
  }
34
34
  }
35
-
36
35
  ```
37
36
  The `myMethod` above has design-time metadata as follows:
38
37
 
@@ -42,7 +41,6 @@ The `myMethod` above has design-time metadata as follows:
42
41
  parameterTypes: [String, Number, MyClass],
43
42
  returnType: Boolean
44
43
  }
45
-
46
44
  ```
47
45
 
48
46
  ## Properties
@@ -32,7 +32,6 @@ export declare class MethodMultiDecoratorFactory<T> extends MethodDecoratorFacto
32
32
  @response(404, NotFoundTwo)
33
33
  @response(409, {schema: {}})
34
34
  public async myMethod() {}
35
-
36
35
  ```
37
36
  In the case that a ResponseObject is passed, it becomes the default for description/content, and if possible, further Models are incorporated as a `oneOf: []` array.
38
37
 
@@ -32,7 +32,6 @@ class MyController {
32
32
  @param('msg') // Parameter 1
33
33
  greet() {}
34
34
  }
35
-
36
35
  ```
37
36
 
38
37
  ## Methods
@@ -41,7 +41,6 @@ ClassDecorator
41
41
  class MyController {
42
42
  // ...
43
43
  }
44
-
45
44
  ```
46
45
 
47
46
 
@@ -57,7 +57,6 @@ class MyOtherController {
57
57
  return 'Echo!'
58
58
  }
59
59
  }
60
-
61
60
  ```
62
61
 
63
62
 
@@ -49,7 +49,6 @@ const schema = {
49
49
  }
50
50
  }
51
51
  }
52
-
53
52
  ```
54
53
 
55
54
 
@@ -31,7 +31,6 @@ export class MyController {
31
31
  return `Hello, ${names}`;
32
32
  }
33
33
  }
34
-
35
34
  ```
36
35
 
37
36
 
@@ -43,7 +43,6 @@ async find(
43
43
  ): Promise<(T & Relations)[]> {
44
44
  // ...
45
45
  }
46
-
47
46
  ```
48
47
 
49
48
 
@@ -41,7 +41,6 @@ async count(
41
41
  ): Promise<Count> {
42
42
  // ...
43
43
  }
44
-
45
44
  ```
46
45
 
47
46
 
@@ -37,7 +37,6 @@ export class MyController {
37
37
  return `Hello, ${names}`;
38
38
  }
39
39
  }
40
-
41
40
  ```
42
41
 
43
42
 
@@ -40,7 +40,6 @@ class MyController {
40
40
  // ...
41
41
  }
42
42
  }
43
-
44
43
  ```
45
44
 
46
45
 
@@ -38,7 +38,6 @@ class MyController {
38
38
  // use response.download(...);
39
39
  }
40
40
  }
41
-
42
41
  ```
43
42
 
44
43
 
@@ -38,7 +38,6 @@ const spec: SchemaRef = {
38
38
  }
39
39
  }
40
40
  }
41
-
42
41
  ```
43
42
 
44
43
 
@@ -47,7 +47,6 @@ class MyController {
47
47
  return 'Hello world!';
48
48
  }
49
49
  }
50
-
51
50
  ```
52
51
  or
53
52
 
@@ -64,7 +63,6 @@ class MyController {
64
63
  return 'Hello world!';
65
64
  }
66
65
  }
67
-
68
66
  ```
69
67
 
70
68
 
@@ -57,7 +57,6 @@ class MyOtherController {
57
57
  return 'Echo!'
58
58
  }
59
59
  }
60
-
61
60
  ```
62
61
 
63
62
 
@@ -49,7 +49,6 @@ const schema = {
49
49
  }
50
50
  }
51
51
  }
52
-
53
52
  ```
54
53
 
55
54
 
@@ -52,7 +52,6 @@ const schemaRef1 = getModelSchemaRef(Customer, {partial: true});
52
52
  // The following schema allows properties of `customer` and
53
53
  // `customer.address` optional
54
54
  const schemaRef2 = getModelSchemaRef(Customer, {partial: 'deep'});
55
-
56
55
  ```
57
56
 
58
57
 
@@ -36,7 +36,6 @@ type Props = Optional<Props>;
36
36
 
37
37
  // Expect: { name: string; age?: number; visible?: boolean; }
38
38
  type Props = Optional<Props, 'age' | 'visible'>;
39
-
40
39
  ```
41
40
 
42
41
 
@@ -27,6 +27,6 @@ export interface BelongsToDefinition extends RelationDefinitionBase
27
27
  | [keyFrom?](./repository.belongstodefinition.keyfrom.md) | string | <i>(Optional)</i> |
28
28
  | [keyTo?](./repository.belongstodefinition.keyto.md) | string | <i>(Optional)</i> |
29
29
  | [targetsMany](./repository.belongstodefinition.targetsmany.md) | false | |
30
- | [type](./repository.belongstodefinition.type.md) | [RelationType.belongsTo](./repository.relationtype.belongsto.md) | |
30
+ | [type](./repository.belongstodefinition.type.md) | [RelationType.belongsTo](./repository.relationtype.md) | |
31
31
 
32
32
 
@@ -29,7 +29,6 @@ function Foo(x) {
29
29
  if (!(this instanceof Foo)) { return new Foo(x); }
30
30
  this.x = x;
31
31
  }
32
-
33
32
  ```
34
33
 
35
34
 
@@ -39,7 +39,6 @@ export class TestRepository extends CrudRepositoryImpl<Test> {
39
39
  return Promise.reject(new Error('deleteAll is disabled'));
40
40
  }
41
41
  }
42
-
43
42
  ```
44
43
 
45
44
  ## Constructors
@@ -54,7 +54,6 @@ class CustomerRepository extends DefaultCrudRepository<
54
54
  );
55
55
  }
56
56
  }
57
-
58
57
  ```
59
58
 
60
59
 
@@ -56,7 +56,6 @@ class CustomerRepository extends DefaultCrudRepository<
56
56
  );
57
57
  }
58
58
  }
59
-
60
59
  ```
61
60
 
62
61
 
@@ -52,7 +52,6 @@ const result = await repo.execute(
52
52
  'SELECT * FROM Products WHERE size > $1',
53
53
  [42]
54
54
  );
55
-
56
55
  ```
57
56
 
58
57
 
@@ -48,7 +48,6 @@ const result = await repo.execute('MyCollection', 'aggregate', [
48
48
  {$unwind: '$data'},
49
49
  {$out: 'tempData'}
50
50
  ]);
51
-
52
51
  ```
53
52
 
54
53
 
@@ -42,7 +42,6 @@ const ProductRepository = defineCrudRepositoryClass<
42
42
  typeof Product.prototype.id,
43
43
  ProductRelations
44
44
  >(Product);
45
-
46
45
  ```
47
46
 
48
47
 
@@ -38,7 +38,6 @@ export declare function defineKeyValueRepositoryClass<M extends Model>(modelClas
38
38
 
39
39
  ```ts
40
40
  const ProductKeyValueRepository = defineKeyValueRepositoryClass(Product);
41
-
42
41
  ```
43
42
 
44
43
 
@@ -37,7 +37,6 @@ export declare function defineModelClass<BaseCtor extends typeof Model, Props ex
37
37
 
38
38
  ```ts
39
39
  const Product = defineModelClass(Entity, new ModelDefinition('Product'));
40
-
41
40
  ```
42
41
  To enable type safety, you should describe properties of your model:
43
42
 
@@ -46,7 +45,6 @@ const Product = defineModelClass<
46
45
  typeof Entity,
47
46
  {id: number, name: string}
48
47
  >(Entity, new ModelDefinition('Product'));
49
-
50
48
  ```
51
49
  If your model allows arbitrary (free-form) properties, then add `AnyObject` to the type describing model properties.
52
50
 
@@ -55,7 +53,6 @@ const Product = defineModelClass<
55
53
  typeof Entity,
56
54
  AnyObject & {id: number},
57
55
  >(Entity, new ModelDefinition('Product'));
58
-
59
56
  ```
60
57
 
61
58
 
@@ -48,7 +48,6 @@ const AddressRepository = defineRepositoryClass<
48
48
  AddressRelations
49
49
  >,
50
50
  >(Address, DefaultCrudRepository);
51
-
52
51
  ```
53
52
 
54
53
 
@@ -18,7 +18,9 @@ Finds model instances that contain any of the provided foreign key values.
18
18
  <b>Signature:</b>
19
19
 
20
20
  ```typescript
21
- export declare function findByForeignKeys<Target extends Entity, TargetRelations extends object, ForeignKey extends StringKeyOf<Target>>(targetRepository: EntityCrudRepository<Target, unknown, TargetRelations>, fkName: ForeignKey, fkValues: Target[ForeignKey][] | Target[ForeignKey], scope?: Filter<Target>, options?: Options): Promise<(Target & TargetRelations)[]>;
21
+ export declare function findByForeignKeys<Target extends Entity, TargetRelations extends object, ForeignKey extends StringKeyOf<Target>>(targetRepository: EntityCrudRepository<Target, unknown, TargetRelations>, fkName: ForeignKey, fkValues: Target[ForeignKey][] | Target[ForeignKey], scope?: Filter<Target> & {
22
+ totalLimit?: number;
23
+ }, options?: Options): Promise<(Target & TargetRelations)[]>;
22
24
  ```
23
25
 
24
26
  ## Parameters
@@ -28,7 +30,7 @@ export declare function findByForeignKeys<Target extends Entity, TargetRelations
28
30
  | targetRepository | [EntityCrudRepository](./repository.entitycrudrepository.md)<!-- -->&lt;Target, unknown, TargetRelations&gt; | The target repository where the related model instances are found |
29
31
  | fkName | ForeignKey | Name of the foreign key |
30
32
  | fkValues | Target\[ForeignKey\]\[\] \| Target\[ForeignKey\] | One value or array of values of the foreign key to be included |
31
- | scope | [Filter](./filter.filter.md)<!-- -->&lt;Target&gt; | Additional scope constraints |
33
+ | scope | [Filter](./filter.filter.md)<!-- -->&lt;Target&gt; &amp; { totalLimit?: number; } | Additional scope constraints |
32
34
  | options | [Options](./repository.options.md) | Options for the operations |
33
35
 
34
36
  <b>Returns:</b>
@@ -30,6 +30,6 @@ export interface HasManyDefinition extends RelationDefinitionBase
30
30
  | [keyTo?](./repository.hasmanydefinition.keyto.md) | string | <i>(Optional)</i> keyTo: The foreign key used by the target model for this relation. keyFrom: The source key used by the source model for this relation.<!-- -->E.g. when a Customer has many Order instances, then keyTo is "customerId". Note that "customerId" is the default FK assumed by the framework, users can provide a custom FK name by setting "keyTo". And Customer.id is keyFrom. keyFrom defaults to the id property of a model. Users can provide a custom source key name by setting "keyTo". |
31
31
  | [targetsMany](./repository.hasmanydefinition.targetsmany.md) | true | |
32
32
  | [through?](./repository.hasmanydefinition.through.md) | { model: [TypeResolver](./repository.typeresolver.md)<!-- -->&lt;[Entity](./repository.entity.md)<!-- -->, typeof [Entity](./repository.entity.md)<!-- -->&gt;; keyFrom?: string; keyTo?: string; } | <i>(Optional)</i> Description of the through model of the hasManyThrough relation.<!-- -->A <code>hasManyThrough</code> relation defines a many-to-many connection with another model. This relation indicates that the declaring model can be matched with zero or more instances of another model by proceeding through a third model.<!-- -->E.g a Category has many Products, and a Product can have many Categories. CategoryProductLink can be the through model. Such a through model has information of foreign keys of the source model(Category) and the target model(Product).<!-- -->Warning: The hasManyThrough interface is experimental and is subject to change. If backwards-incompatible changes are made, a new major version may not be released. |
33
- | [type](./repository.hasmanydefinition.type.md) | [RelationType.hasMany](./repository.relationtype.hasmany.md) | |
33
+ | [type](./repository.hasmanydefinition.type.md) | [RelationType.hasMany](./repository.relationtype.md) | |
34
34
 
35
35
 
@@ -27,6 +27,6 @@ export interface HasOneDefinition extends RelationDefinitionBase
27
27
  | [keyFrom?](./repository.hasonedefinition.keyfrom.md) | string | <i>(Optional)</i> |
28
28
  | [keyTo?](./repository.hasonedefinition.keyto.md) | string | <i>(Optional)</i> keyTo: The foreign key used by the target model for this relation. keyFrom: The source key used by the source model for this relation.<!-- -->E.g. when a Customer has one Address instance, then keyTo is "customerId". Note that "customerId" is the default FK assumed by the framework, users can provide a custom FK name by setting "keyTo". And Customer.id is keyFrom. keyFrom defaults to the id property of a model. Users can provide a custom source key name by setting "keyTo". |
29
29
  | [targetsMany](./repository.hasonedefinition.targetsmany.md) | false | |
30
- | [type](./repository.hasonedefinition.type.md) | [RelationType.hasOne](./repository.relationtype.hasone.md) | |
30
+ | [type](./repository.hasonedefinition.type.md) | [RelationType.hasOne](./repository.relationtype.md) | |
31
31
 
32
32
 
@@ -52,7 +52,6 @@ class CustomerController {
52
52
  ) {}
53
53
  // ...
54
54
  }
55
-
56
55
  ```
57
56
 
58
57
 
@@ -61,7 +61,7 @@ export declare function RepositoryMixin<T extends MixinTarget<Application>>(supe
61
61
  unsubscribe: (observer: loopbackContext.ContextEventObserver) => boolean;
62
62
  close: () => void;
63
63
  isSubscribed: (observer: loopbackContext.ContextObserver) => boolean;
64
- createView: <T_7 = unknown>(filter: loopbackContext.BindingFilter, comparator?: loopbackContext.BindingComparator | undefined) => loopbackContext.ContextView<T_7>;
64
+ createView: <T_7 = unknown>(filter: loopbackContext.BindingFilter, comparator?: loopbackContext.BindingComparator | undefined, options?: Omit<loopbackContext.ResolutionOptions, "session"> | undefined) => loopbackContext.ContextView<T_7>;
65
65
  contains: (key: loopbackContext.BindingAddress<unknown>) => boolean;
66
66
  isBound: (key: loopbackContext.BindingAddress<unknown>) => boolean;
67
67
  getOwnerContext: (keyOrBinding: loopbackContext.BindingAddress<unknown> | Readonly<Binding<unknown>>) => loopbackContext.Context | undefined;
@@ -121,7 +121,7 @@ export declare function RepositoryMixin<T extends MixinTarget<Application>>(supe
121
121
 
122
122
  <b>Returns:</b>
123
123
 
124
- { new (...args: any\[\]): { repository&lt;R extends [Repository](./repository.repository.md)<!-- -->&lt;any&gt;&gt;(repoClass: [Class](./repository.class.md)<!-- -->&lt;R&gt;, nameOrOptions?: string \| [BindingFromClassOptions](./context.bindingfromclassoptions.md) \| undefined): [Binding](./context.binding.md)<!-- -->&lt;R&gt;; getRepository&lt;R\_1 extends [Repository](./repository.repository.md)<!-- -->&lt;any&gt;&gt;(repo: [Class](./repository.class.md)<!-- -->&lt;R\_1&gt;): Promise&lt;R\_1&gt;; dataSource&lt;D extends juggler.DataSource&gt;(dataSource: D \| [Class](./repository.class.md)<!-- -->&lt;D&gt;, nameOrOptions?: string \| [BindingFromClassOptions](./context.bindingfromclassoptions.md) \| undefined): [Binding](./context.binding.md)<!-- -->&lt;D&gt;; model&lt;M extends [Class](./repository.class.md)<!-- -->&lt;unknown&gt;&gt;(modelClass: M): [Binding](./context.binding.md)<!-- -->&lt;M&gt;; component&lt;C extends [Component](./core.component.md) = [Component](./core.component.md)<!-- -->&gt;(componentCtor: [Constructor](./context.constructor.md)<!-- -->&lt;C&gt;, nameOrOptions?: string \| [BindingFromClassOptions](./context.bindingfromclassoptions.md) \| undefined): [Binding](./context.binding.md)<!-- -->&lt;C&gt;; mountComponentRepositories(componentInstanceOrClass: [Class](./repository.class.md)<!-- -->&lt;unknown&gt; \| [RepositoryComponent](./repository.repositorycomponent.md)<!-- -->): void; mountComponentModels(component: [RepositoryComponent](./repository.repositorycomponent.md)<!-- -->): void; migrateSchema(options?: [SchemaMigrationOptions](./repository.schemamigrationoptions.md)<!-- -->): Promise&lt;void&gt;; readonly options: loopbackContext.[ApplicationConfig](./core.applicationconfig.md)<!-- -->; readonly state: string; controller: &lt;T\_1&gt;(controllerCtor: loopbackContext.[ControllerClass](./core.controllerclass.md)<!-- -->&lt;T\_1&gt;, nameOrOptions?: string \| [BindingFromClassOptions](./context.bindingfromclassoptions.md) \| undefined) =&gt; [Binding](./context.binding.md)<!-- -->&lt;T\_1&gt;; server: &lt;T\_2 extends loopbackContext.[Server](./core.server.md)<!-- -->&gt;(ctor: [Constructor](./context.constructor.md)<!-- -->&lt;T\_2&gt;, nameOrOptions?: string \| [BindingFromClassOptions](./context.bindingfromclassoptions.md) \| undefined) =&gt; [Binding](./context.binding.md)<!-- -->&lt;T\_2&gt;; servers: &lt;T\_3 extends loopbackContext.[Server](./core.server.md)<!-- -->&gt;(ctors: [Constructor](./context.constructor.md)<!-- -->&lt;T\_3&gt;\[\]) =&gt; [Binding](./context.binding.md)<!-- -->&lt;any&gt;\[\]; getServer: &lt;T\_4 extends loopbackContext.[Server](./core.server.md)<!-- -->&gt;(target: string \| [Constructor](./context.constructor.md)<!-- -->&lt;T\_4&gt;) =&gt; Promise&lt;T\_4&gt;; init: () =&gt; Promise&lt;void&gt;; onInit: (fn: () =&gt; loopbackContext.[ValueOrPromise](./context.valueorpromise.md)<!-- -->&lt;void&gt;) =&gt; [Binding](./context.binding.md)<!-- -->&lt;loopbackContext.[LifeCycleObserver](./core.lifecycleobserver.md)<!-- -->&gt;; start: () =&gt; Promise&lt;void&gt;; onStart: (fn: () =&gt; loopbackContext.[ValueOrPromise](./context.valueorpromise.md)<!-- -->&lt;void&gt;) =&gt; [Binding](./context.binding.md)<!-- -->&lt;loopbackContext.[LifeCycleObserver](./core.lifecycleobserver.md)<!-- -->&gt;; stop: () =&gt; Promise&lt;void&gt;; onStop: (fn: () =&gt; loopbackContext.[ValueOrPromise](./context.valueorpromise.md)<!-- -->&lt;void&gt;) =&gt; [Binding](./context.binding.md)<!-- -->&lt;loopbackContext.[LifeCycleObserver](./core.lifecycleobserver.md)<!-- -->&gt;; setMetadata: (metadata: loopbackContext.[ApplicationMetadata](./core.applicationmetadata.md)<!-- -->) =&gt; void; lifeCycleObserver: &lt;T\_5 extends loopbackContext.[LifeCycleObserver](./core.lifecycleobserver.md)<!-- -->&gt;(ctor: [Constructor](./context.constructor.md)<!-- -->&lt;T\_5&gt;, nameOrOptions?: string \| [BindingFromClassOptions](./context.bindingfromclassoptions.md) \| undefined) =&gt; [Binding](./context.binding.md)<!-- -->&lt;T\_5&gt;; service: &lt;S&gt;(cls: loopbackContext.[ServiceOrProviderClass](./core.serviceorproviderclass.md)<!-- -->&lt;S&gt;, nameOrOptions?: string \| loopbackContext.[ServiceOptions](./core.serviceoptions.md) \| undefined) =&gt; [Binding](./context.binding.md)<!-- -->&lt;S&gt;; interceptor: (interceptor: loopbackContext.[Interceptor](./context.interceptor.md) \| [Constructor](./context.constructor.md)<!-- -->&lt;loopbackContext.[Provider](./context.provider.md)<!-- -->&lt;loopbackContext.[Interceptor](./context.interceptor.md)<!-- -->&gt;&gt;, nameOrOptions?: string \| loopbackContext.[InterceptorBindingOptions](./context.interceptorbindingoptions.md) \| undefined) =&gt; [Binding](./context.binding.md)<!-- -->&lt;loopbackContext.[Interceptor](./context.interceptor.md)<!-- -->&gt;; readonly name: string; readonly subscriptionManager: loopbackContext.[ContextSubscriptionManager](./context.contextsubscriptionmanager.md)<!-- -->; scope: [BindingScope](./context.bindingscope.md)<!-- -->; readonly parent: loopbackContext.[Context](./context.context.md) \| undefined; emitEvent: &lt;T\_6 extends loopbackContext.[ContextEvent](./context.contextevent.md)<!-- -->&gt;(type: string, event: T\_6) =&gt; void; emitError: (err: unknown) =&gt; void; bind: &lt;ValueType = any&gt;(key: loopbackContext.[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;ValueType&gt;) =&gt; [Binding](./context.binding.md)<!-- -->&lt;ValueType&gt;; add: (binding: [Binding](./context.binding.md)<!-- -->&lt;unknown&gt;) =&gt; [Application](./core.application.md)<!-- -->; configure: &lt;ConfigValueType = any&gt;(key?: loopbackContext.[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;unknown&gt; \| undefined) =&gt; [Binding](./context.binding.md)<!-- -->&lt;ConfigValueType&gt;; getConfigAsValueOrPromise: &lt;ConfigValueType\_1&gt;(key: loopbackContext.[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;unknown&gt;, propertyPath?: string \| undefined, resolutionOptions?: loopbackContext.[ResolutionOptions](./context.resolutionoptions.md) \| undefined) =&gt; loopbackContext.[ValueOrPromise](./context.valueorpromise.md)<!-- -->&lt;ConfigValueType\_1 \| undefined&gt;; getConfig: &lt;ConfigValueType\_2&gt;(key: loopbackContext.[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;unknown&gt;, propertyPath?: string \| undefined, resolutionOptions?: loopbackContext.[ResolutionOptions](./context.resolutionoptions.md) \| undefined) =&gt; Promise&lt;ConfigValueType\_2 \| undefined&gt;; getConfigSync: &lt;ConfigValueType\_3&gt;(key: loopbackContext.[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;unknown&gt;, propertyPath?: string \| undefined, resolutionOptions?: loopbackContext.[ResolutionOptions](./context.resolutionoptions.md) \| undefined) =&gt; ConfigValueType\_3 \| undefined; unbind: (key: loopbackContext.[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;unknown&gt;) =&gt; boolean; subscribe: (observer: loopbackContext.[ContextEventObserver](./context.contexteventobserver.md)<!-- -->) =&gt; loopbackContext.[Subscription](./context.subscription.md)<!-- -->; unsubscribe: (observer: loopbackContext.[ContextEventObserver](./context.contexteventobserver.md)<!-- -->) =&gt; boolean; close: () =&gt; void; isSubscribed: (observer: loopbackContext.[ContextObserver](./context.contextobserver.md)<!-- -->) =&gt; boolean; createView: &lt;T\_7 = unknown&gt;(filter: loopbackContext.[BindingFilter](./context.bindingfilter.md)<!-- -->, comparator?: loopbackContext.[BindingComparator](./context.bindingcomparator.md) \| undefined) =&gt; loopbackContext.[ContextView](./context.contextview.md)<!-- -->&lt;T\_7&gt;; contains: (key: loopbackContext.[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;unknown&gt;) =&gt; boolean; isBound: (key: loopbackContext.[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;unknown&gt;) =&gt; boolean; getOwnerContext: (keyOrBinding: loopbackContext.[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;unknown&gt; \| Readonly&lt;[Binding](./context.binding.md)<!-- -->&lt;unknown&gt;&gt;) =&gt; loopbackContext.[Context](./context.context.md) \| undefined; getScopedContext: (scope: [BindingScope.APPLICATION](./context.bindingscope.application.md) \| [BindingScope.SERVER](./context.bindingscope.server.md) \| [BindingScope.REQUEST](./context.bindingscope.request.md)<!-- -->) =&gt; loopbackContext.[Context](./context.context.md) \| undefined; getResolutionContext: (binding: Readonly&lt;[Binding](./context.binding.md)<!-- -->&lt;unknown&gt;&gt;) =&gt; loopbackContext.[Context](./context.context.md) \| undefined; isVisibleTo: (ctx: loopbackContext.[Context](./context.context.md)<!-- -->) =&gt; boolean; find: &lt;ValueType\_1 = any&gt;(pattern?: string \| RegExp \| loopbackContext.[BindingFilter](./context.bindingfilter.md) \| undefined) =&gt; Readonly&lt;[Binding](./context.binding.md)<!-- -->&lt;ValueType\_1&gt;&gt;\[\]; findByTag: &lt;ValueType\_2 = any&gt;(tagFilter: RegExp \| loopbackContext.[BindingTag](./context.bindingtag.md)<!-- -->) =&gt; Readonly&lt;[Binding](./context.binding.md)<!-- -->&lt;ValueType\_2&gt;&gt;\[\]; get: { &lt;ValueType\_3&gt;(keyWithPath: loopbackContext.[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;ValueType\_3&gt;, session?: loopbackContext.[ResolutionSession](./context.resolutionsession.md) \| undefined): Promise&lt;ValueType\_3&gt;; &lt;ValueType\_4&gt;(keyWithPath: loopbackContext.[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;ValueType\_4&gt;, options: loopbackContext.[ResolutionOptions](./context.resolutionoptions.md)<!-- -->): Promise&lt;ValueType\_4 \| undefined&gt;; }; getSync: { &lt;ValueType\_5&gt;(keyWithPath: loopbackContext.[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;ValueType\_5&gt;, session?: loopbackContext.[ResolutionSession](./context.resolutionsession.md) \| undefined): ValueType\_5; &lt;ValueType\_6&gt;(keyWithPath: loopbackContext.[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;ValueType\_6&gt;, options?: loopbackContext.[ResolutionOptions](./context.resolutionoptions.md) \| undefined): ValueType\_6 \| undefined; }; getBinding: { &lt;ValueType\_7 = any&gt;(key: loopbackContext.[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;ValueType\_7&gt;): [Binding](./context.binding.md)<!-- -->&lt;ValueType\_7&gt;; &lt;ValueType\_8&gt;(key: loopbackContext.[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;ValueType\_8&gt;, options?: { optional?: boolean \| undefined; } \| undefined): [Binding](./context.binding.md)<!-- -->&lt;ValueType\_8&gt; \| undefined; }; findOrCreateBinding: &lt;T\_8&gt;(key: loopbackContext.[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;T\_8&gt;, policy?: loopbackContext.[BindingCreationPolicy](./context.bindingcreationpolicy.md) \| undefined) =&gt; [Binding](./context.binding.md)<!-- -->&lt;T\_8&gt;; getValueOrPromise: &lt;ValueType\_9&gt;(keyWithPath: loopbackContext.[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;ValueType\_9&gt;, optionsOrSession?: loopbackContext.[ResolutionOptionsOrSession](./context.resolutionoptionsorsession.md) \| undefined) =&gt; loopbackContext.[ValueOrPromise](./context.valueorpromise.md)<!-- -->&lt;ValueType\_9 \| undefined&gt;; toJSON: () =&gt; loopbackContext.[JSONObject](./context.jsonobject.md)<!-- -->; inspect: (options?: loopbackContext.[ContextInspectOptions](./context.contextinspectoptions.md) \| undefined) =&gt; loopbackContext.[JSONObject](./context.jsonobject.md)<!-- -->; on: { (eventName: "bind" \| "unbind", listener: loopbackContext.[ContextEventListener](./context.contexteventlistener.md)<!-- -->): [Application](./core.application.md)<!-- -->; (event: string \| symbol, listener: (...args: any\[\]) =&gt; void): [Application](./core.application.md)<!-- -->; }; once: { (eventName: "bind" \| "unbind", listener: loopbackContext.[ContextEventListener](./context.contexteventlistener.md)<!-- -->): [Application](./core.application.md)<!-- -->; (event: string \| symbol, listener: (...args: any\[\]) =&gt; void): [Application](./core.application.md)<!-- -->; }; addListener: (event: string \| symbol, listener: (...args: any\[\]) =&gt; void) =&gt; [Application](./core.application.md)<!-- -->; removeListener: (event: string \| symbol, listener: (...args: any\[\]) =&gt; void) =&gt; [Application](./core.application.md)<!-- -->; off: (event: string \| symbol, listener: (...args: any\[\]) =&gt; void) =&gt; [Application](./core.application.md)<!-- -->; removeAllListeners: (event?: string \| symbol \| undefined) =&gt; [Application](./core.application.md)<!-- -->; setMaxListeners: (n: number) =&gt; [Application](./core.application.md)<!-- -->; getMaxListeners: () =&gt; number; listeners: (event: string \| symbol) =&gt; Function\[\]; rawListeners: (event: string \| symbol) =&gt; Function\[\]; emit: (event: string \| symbol, ...args: any\[\]) =&gt; boolean; listenerCount: (type: string \| symbol) =&gt; number; prependListener: (event: string \| symbol, listener: (...args: any\[\]) =&gt; void) =&gt; [Application](./core.application.md)<!-- -->; prependOnceListener: (event: string \| symbol, listener: (...args: any\[\]) =&gt; void) =&gt; [Application](./core.application.md)<!-- -->; eventNames: () =&gt; (string \| symbol)\[\]; }; } &amp; T
124
+ { new (...args: any\[\]): { repository&lt;R extends [Repository](./repository.repository.md)<!-- -->&lt;any&gt;&gt;(repoClass: [Class](./repository.class.md)<!-- -->&lt;R&gt;, nameOrOptions?: string \| [BindingFromClassOptions](./context.bindingfromclassoptions.md) \| undefined): [Binding](./context.binding.md)<!-- -->&lt;R&gt;; getRepository&lt;R\_1 extends [Repository](./repository.repository.md)<!-- -->&lt;any&gt;&gt;(repo: [Class](./repository.class.md)<!-- -->&lt;R\_1&gt;): Promise&lt;R\_1&gt;; dataSource&lt;D extends juggler.DataSource&gt;(dataSource: D \| [Class](./repository.class.md)<!-- -->&lt;D&gt;, nameOrOptions?: string \| [BindingFromClassOptions](./context.bindingfromclassoptions.md) \| undefined): [Binding](./context.binding.md)<!-- -->&lt;D&gt;; model&lt;M extends [Class](./repository.class.md)<!-- -->&lt;unknown&gt;&gt;(modelClass: M): [Binding](./context.binding.md)<!-- -->&lt;M&gt;; component&lt;C extends [Component](./core.component.md) = [Component](./core.component.md)<!-- -->&gt;(componentCtor: [Constructor](./context.constructor.md)<!-- -->&lt;C&gt;, nameOrOptions?: string \| [BindingFromClassOptions](./context.bindingfromclassoptions.md) \| undefined): [Binding](./context.binding.md)<!-- -->&lt;C&gt;; mountComponentRepositories(componentInstanceOrClass: [Class](./repository.class.md)<!-- -->&lt;unknown&gt; \| [RepositoryComponent](./repository.repositorycomponent.md)<!-- -->): void; mountComponentModels(component: [RepositoryComponent](./repository.repositorycomponent.md)<!-- -->): void; migrateSchema(options?: [SchemaMigrationOptions](./repository.schemamigrationoptions.md)<!-- -->): Promise&lt;void&gt;; readonly options: loopbackContext.[ApplicationConfig](./core.applicationconfig.md)<!-- -->; readonly state: string; controller: &lt;T\_1&gt;(controllerCtor: loopbackContext.[ControllerClass](./core.controllerclass.md)<!-- -->&lt;T\_1&gt;, nameOrOptions?: string \| [BindingFromClassOptions](./context.bindingfromclassoptions.md) \| undefined) =&gt; [Binding](./context.binding.md)<!-- -->&lt;T\_1&gt;; server: &lt;T\_2 extends loopbackContext.[Server](./core.server.md)<!-- -->&gt;(ctor: [Constructor](./context.constructor.md)<!-- -->&lt;T\_2&gt;, nameOrOptions?: string \| [BindingFromClassOptions](./context.bindingfromclassoptions.md) \| undefined) =&gt; [Binding](./context.binding.md)<!-- -->&lt;T\_2&gt;; servers: &lt;T\_3 extends loopbackContext.[Server](./core.server.md)<!-- -->&gt;(ctors: [Constructor](./context.constructor.md)<!-- -->&lt;T\_3&gt;\[\]) =&gt; [Binding](./context.binding.md)<!-- -->&lt;any&gt;\[\]; getServer: &lt;T\_4 extends loopbackContext.[Server](./core.server.md)<!-- -->&gt;(target: string \| [Constructor](./context.constructor.md)<!-- -->&lt;T\_4&gt;) =&gt; Promise&lt;T\_4&gt;; init: () =&gt; Promise&lt;void&gt;; onInit: (fn: () =&gt; loopbackContext.[ValueOrPromise](./context.valueorpromise.md)<!-- -->&lt;void&gt;) =&gt; [Binding](./context.binding.md)<!-- -->&lt;loopbackContext.[LifeCycleObserver](./core.lifecycleobserver.md)<!-- -->&gt;; start: () =&gt; Promise&lt;void&gt;; onStart: (fn: () =&gt; loopbackContext.[ValueOrPromise](./context.valueorpromise.md)<!-- -->&lt;void&gt;) =&gt; [Binding](./context.binding.md)<!-- -->&lt;loopbackContext.[LifeCycleObserver](./core.lifecycleobserver.md)<!-- -->&gt;; stop: () =&gt; Promise&lt;void&gt;; onStop: (fn: () =&gt; loopbackContext.[ValueOrPromise](./context.valueorpromise.md)<!-- -->&lt;void&gt;) =&gt; [Binding](./context.binding.md)<!-- -->&lt;loopbackContext.[LifeCycleObserver](./core.lifecycleobserver.md)<!-- -->&gt;; setMetadata: (metadata: loopbackContext.[ApplicationMetadata](./core.applicationmetadata.md)<!-- -->) =&gt; void; lifeCycleObserver: &lt;T\_5 extends loopbackContext.[LifeCycleObserver](./core.lifecycleobserver.md)<!-- -->&gt;(ctor: [Constructor](./context.constructor.md)<!-- -->&lt;T\_5&gt;, nameOrOptions?: string \| [BindingFromClassOptions](./context.bindingfromclassoptions.md) \| undefined) =&gt; [Binding](./context.binding.md)<!-- -->&lt;T\_5&gt;; service: &lt;S&gt;(cls: loopbackContext.[ServiceOrProviderClass](./core.serviceorproviderclass.md)<!-- -->&lt;S&gt;, nameOrOptions?: string \| loopbackContext.[ServiceOptions](./core.serviceoptions.md) \| undefined) =&gt; [Binding](./context.binding.md)<!-- -->&lt;S&gt;; interceptor: (interceptor: loopbackContext.[Interceptor](./context.interceptor.md) \| [Constructor](./context.constructor.md)<!-- -->&lt;loopbackContext.[Provider](./context.provider.md)<!-- -->&lt;loopbackContext.[Interceptor](./context.interceptor.md)<!-- -->&gt;&gt;, nameOrOptions?: string \| loopbackContext.[InterceptorBindingOptions](./context.interceptorbindingoptions.md) \| undefined) =&gt; [Binding](./context.binding.md)<!-- -->&lt;loopbackContext.[Interceptor](./context.interceptor.md)<!-- -->&gt;; readonly name: string; readonly subscriptionManager: loopbackContext.[ContextSubscriptionManager](./context.contextsubscriptionmanager.md)<!-- -->; scope: [BindingScope](./context.bindingscope.md)<!-- -->; readonly parent: loopbackContext.[Context](./context.context.md) \| undefined; emitEvent: &lt;T\_6 extends loopbackContext.[ContextEvent](./context.contextevent.md)<!-- -->&gt;(type: string, event: T\_6) =&gt; void; emitError: (err: unknown) =&gt; void; bind: &lt;ValueType = any&gt;(key: loopbackContext.[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;ValueType&gt;) =&gt; [Binding](./context.binding.md)<!-- -->&lt;ValueType&gt;; add: (binding: [Binding](./context.binding.md)<!-- -->&lt;unknown&gt;) =&gt; [Application](./core.application.md)<!-- -->; configure: &lt;ConfigValueType = any&gt;(key?: loopbackContext.[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;unknown&gt; \| undefined) =&gt; [Binding](./context.binding.md)<!-- -->&lt;ConfigValueType&gt;; getConfigAsValueOrPromise: &lt;ConfigValueType\_1&gt;(key: loopbackContext.[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;unknown&gt;, propertyPath?: string \| undefined, resolutionOptions?: loopbackContext.[ResolutionOptions](./context.resolutionoptions.md) \| undefined) =&gt; loopbackContext.[ValueOrPromise](./context.valueorpromise.md)<!-- -->&lt;ConfigValueType\_1 \| undefined&gt;; getConfig: &lt;ConfigValueType\_2&gt;(key: loopbackContext.[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;unknown&gt;, propertyPath?: string \| undefined, resolutionOptions?: loopbackContext.[ResolutionOptions](./context.resolutionoptions.md) \| undefined) =&gt; Promise&lt;ConfigValueType\_2 \| undefined&gt;; getConfigSync: &lt;ConfigValueType\_3&gt;(key: loopbackContext.[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;unknown&gt;, propertyPath?: string \| undefined, resolutionOptions?: loopbackContext.[ResolutionOptions](./context.resolutionoptions.md) \| undefined) =&gt; ConfigValueType\_3 \| undefined; unbind: (key: loopbackContext.[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;unknown&gt;) =&gt; boolean; subscribe: (observer: loopbackContext.[ContextEventObserver](./context.contexteventobserver.md)<!-- -->) =&gt; loopbackContext.[Subscription](./context.subscription.md)<!-- -->; unsubscribe: (observer: loopbackContext.[ContextEventObserver](./context.contexteventobserver.md)<!-- -->) =&gt; boolean; close: () =&gt; void; isSubscribed: (observer: loopbackContext.[ContextObserver](./context.contextobserver.md)<!-- -->) =&gt; boolean; createView: &lt;T\_7 = unknown&gt;(filter: loopbackContext.[BindingFilter](./context.bindingfilter.md)<!-- -->, comparator?: loopbackContext.[BindingComparator](./context.bindingcomparator.md) \| undefined, options?: Omit&lt;loopbackContext.[ResolutionOptions](./context.resolutionoptions.md)<!-- -->, "session"&gt; \| undefined) =&gt; loopbackContext.[ContextView](./context.contextview.md)<!-- -->&lt;T\_7&gt;; contains: (key: loopbackContext.[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;unknown&gt;) =&gt; boolean; isBound: (key: loopbackContext.[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;unknown&gt;) =&gt; boolean; getOwnerContext: (keyOrBinding: loopbackContext.[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;unknown&gt; \| Readonly&lt;[Binding](./context.binding.md)<!-- -->&lt;unknown&gt;&gt;) =&gt; loopbackContext.[Context](./context.context.md) \| undefined; getScopedContext: (scope: [BindingScope.APPLICATION](./context.bindingscope.md) \| [BindingScope.SERVER](./context.bindingscope.md) \| [BindingScope.REQUEST](./context.bindingscope.md)<!-- -->) =&gt; loopbackContext.[Context](./context.context.md) \| undefined; getResolutionContext: (binding: Readonly&lt;[Binding](./context.binding.md)<!-- -->&lt;unknown&gt;&gt;) =&gt; loopbackContext.[Context](./context.context.md) \| undefined; isVisibleTo: (ctx: loopbackContext.[Context](./context.context.md)<!-- -->) =&gt; boolean; find: &lt;ValueType\_1 = any&gt;(pattern?: string \| RegExp \| loopbackContext.[BindingFilter](./context.bindingfilter.md) \| undefined) =&gt; Readonly&lt;[Binding](./context.binding.md)<!-- -->&lt;ValueType\_1&gt;&gt;\[\]; findByTag: &lt;ValueType\_2 = any&gt;(tagFilter: RegExp \| loopbackContext.[BindingTag](./context.bindingtag.md)<!-- -->) =&gt; Readonly&lt;[Binding](./context.binding.md)<!-- -->&lt;ValueType\_2&gt;&gt;\[\]; get: { &lt;ValueType\_3&gt;(keyWithPath: loopbackContext.[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;ValueType\_3&gt;, session?: loopbackContext.[ResolutionSession](./context.resolutionsession.md) \| undefined): Promise&lt;ValueType\_3&gt;; &lt;ValueType\_4&gt;(keyWithPath: loopbackContext.[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;ValueType\_4&gt;, options: loopbackContext.[ResolutionOptions](./context.resolutionoptions.md)<!-- -->): Promise&lt;ValueType\_4 \| undefined&gt;; }; getSync: { &lt;ValueType\_5&gt;(keyWithPath: loopbackContext.[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;ValueType\_5&gt;, session?: loopbackContext.[ResolutionSession](./context.resolutionsession.md) \| undefined): ValueType\_5; &lt;ValueType\_6&gt;(keyWithPath: loopbackContext.[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;ValueType\_6&gt;, options?: loopbackContext.[ResolutionOptions](./context.resolutionoptions.md) \| undefined): ValueType\_6 \| undefined; }; getBinding: { &lt;ValueType\_7 = any&gt;(key: loopbackContext.[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;ValueType\_7&gt;): [Binding](./context.binding.md)<!-- -->&lt;ValueType\_7&gt;; &lt;ValueType\_8&gt;(key: loopbackContext.[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;ValueType\_8&gt;, options?: { optional?: boolean \| undefined; } \| undefined): [Binding](./context.binding.md)<!-- -->&lt;ValueType\_8&gt; \| undefined; }; findOrCreateBinding: &lt;T\_8&gt;(key: loopbackContext.[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;T\_8&gt;, policy?: loopbackContext.[BindingCreationPolicy](./context.bindingcreationpolicy.md) \| undefined) =&gt; [Binding](./context.binding.md)<!-- -->&lt;T\_8&gt;; getValueOrPromise: &lt;ValueType\_9&gt;(keyWithPath: loopbackContext.[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;ValueType\_9&gt;, optionsOrSession?: loopbackContext.[ResolutionOptionsOrSession](./context.resolutionoptionsorsession.md) \| undefined) =&gt; loopbackContext.[ValueOrPromise](./context.valueorpromise.md)<!-- -->&lt;ValueType\_9 \| undefined&gt;; toJSON: () =&gt; loopbackContext.[JSONObject](./context.jsonobject.md)<!-- -->; inspect: (options?: loopbackContext.[ContextInspectOptions](./context.contextinspectoptions.md) \| undefined) =&gt; loopbackContext.[JSONObject](./context.jsonobject.md)<!-- -->; on: { (eventName: "bind" \| "unbind", listener: loopbackContext.[ContextEventListener](./context.contexteventlistener.md)<!-- -->): [Application](./core.application.md)<!-- -->; (event: string \| symbol, listener: (...args: any\[\]) =&gt; void): [Application](./core.application.md)<!-- -->; }; once: { (eventName: "bind" \| "unbind", listener: loopbackContext.[ContextEventListener](./context.contexteventlistener.md)<!-- -->): [Application](./core.application.md)<!-- -->; (event: string \| symbol, listener: (...args: any\[\]) =&gt; void): [Application](./core.application.md)<!-- -->; }; addListener: (event: string \| symbol, listener: (...args: any\[\]) =&gt; void) =&gt; [Application](./core.application.md)<!-- -->; removeListener: (event: string \| symbol, listener: (...args: any\[\]) =&gt; void) =&gt; [Application](./core.application.md)<!-- -->; off: (event: string \| symbol, listener: (...args: any\[\]) =&gt; void) =&gt; [Application](./core.application.md)<!-- -->; removeAllListeners: (event?: string \| symbol \| undefined) =&gt; [Application](./core.application.md)<!-- -->; setMaxListeners: (n: number) =&gt; [Application](./core.application.md)<!-- -->; getMaxListeners: () =&gt; number; listeners: (event: string \| symbol) =&gt; Function\[\]; rawListeners: (event: string \| symbol) =&gt; Function\[\]; emit: (event: string \| symbol, ...args: any\[\]) =&gt; boolean; listenerCount: (type: string \| symbol) =&gt; number; prependListener: (event: string \| symbol, listener: (...args: any\[\]) =&gt; void) =&gt; [Application](./core.application.md)<!-- -->; prependOnceListener: (event: string \| symbol, listener: (...args: any\[\]) =&gt; void) =&gt; [Application](./core.application.md)<!-- -->; eventNames: () =&gt; (string \| symbol)\[\]; }; } &amp; T
125
125
 
126
126
  A new class that extends the super class with repository related methods
127
127
 
@@ -130,7 +130,6 @@ A new class that extends the super class with repository related methods
130
130
 
131
131
  ```ts
132
132
  class MyApplication extends RepositoryMixin(Application) {}
133
-
134
133
  ```
135
134
  Please note: the members in the mixin function are documented in a dummy class called <a href="#RepositoryMixinDoc">RepositoryMixinDoc</a>
136
135
 
@@ -46,7 +46,6 @@ export class ProductComponent {
46
46
  };
47
47
 
48
48
  app.component(ProductComponent);
49
-
50
49
  ```
51
50
 
52
51
 
@@ -48,7 +48,6 @@ app.dataSource(ds);
48
48
  constructor(@inject('datasources.db') dataSource: DataSourceType) {
49
49
 
50
50
  }
51
-
52
51
  ```
53
52
 
54
53