@loopback/docs 5.0.0 → 5.1.2
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.
- package/CHANGELOG.md +63 -0
- package/LICENSE +2 -2
- package/package.json +5 -5
- package/site/BelongsTo-relation.md +1 -1
- package/site/Context.md +1 -1
- package/site/Copyright-generator.md +8 -7
- package/site/Crafting-LoopBack-4.md +3 -3
- package/site/DEVELOPING.md +2 -2
- package/site/Discovering-models.md +5 -0
- package/site/Dynamic-models-repositories-controllers.md +2 -2
- package/site/Implementing-features.shelved.md +1 -1
- package/site/Include-filter.md +1 -1
- package/site/Interceptor-generator.md +1 -1
- package/site/LB3-vs-LB4-request-response-cycle.md +4 -4
- package/site/Model-generator.md +1 -1
- package/site/Model.md +2 -2
- package/site/{Polymorphic-relations.md → Polymorphic-relation.md} +2 -2
- package/site/REST-middleware-sequence.md +1 -1
- package/site/Repository-generator.md +2 -2
- package/site/Repository.md +1 -1
- package/site/Request-response-cycle.md +6 -6
- package/site/Rest-Crud-generator.md +7 -1
- package/site/Serving-static-files.md +1 -1
- package/site/Testing-your-application.md +1 -1
- package/site/apidocs/authentication-jwt.myuserservice.md +1 -1
- package/site/apidocs/authentication-jwt.refreshtokenrepository.md +1 -1
- package/site/apidocs/authentication-jwt.usercredentialsrepository.md +1 -1
- package/site/apidocs/authentication-jwt.userrepository.md +3 -3
- package/site/apidocs/authentication-passport.strategyadapter.md +1 -1
- package/site/apidocs/authentication.authenticateactionprovider.md +5 -5
- package/site/apidocs/authentication.authenticationmetadata.md +5 -5
- package/site/apidocs/authentication.authenticationmiddlewareprovider.md +1 -1
- package/site/apidocs/authentication.authenticationoptions.md +4 -4
- package/site/apidocs/authentication.authenticationstrategy.md +3 -3
- package/site/apidocs/authentication.authenticationstrategyprovider.md +3 -3
- package/site/apidocs/authentication.authmetadataprovider.md +1 -1
- package/site/apidocs/authentication.md +3 -3
- package/site/apidocs/authorization.authorizationcontext.md +7 -7
- package/site/apidocs/authorization.authorizationinterceptor.md +1 -1
- package/site/apidocs/authorization.authorizationmetadata.md +8 -8
- package/site/apidocs/authorization.authorizationoptions.md +6 -6
- package/site/apidocs/authorization.authorizationrequest.md +6 -6
- package/site/apidocs/authorization.authorizemethoddecoratorfactory.md +2 -2
- package/site/apidocs/boot.baseartifactbooter.md +5 -5
- package/site/apidocs/boot.bootable.md +4 -4
- package/site/apidocs/boot.bootmixin.md +44 -44
- package/site/apidocs/boot.instancewithbooters.md +3 -3
- package/site/apidocs/boot.md +10 -10
- package/site/apidocs/context-explorer.contextbinding.md +4 -4
- package/site/apidocs/context-explorer.contextgraph.md +2 -2
- package/site/apidocs/context.binding.md +11 -11
- package/site/apidocs/context.bindingelement.md +4 -4
- package/site/apidocs/context.bindinginspectoptions.md +3 -3
- package/site/apidocs/context.bindingkey.md +4 -4
- package/site/apidocs/context.bindingscope.md +2 -2
- package/site/apidocs/context.bindingtagfilter.md +3 -3
- package/site/apidocs/context.config.getter.md +1 -1
- package/site/apidocs/context.config.view.md +1 -1
- package/site/apidocs/context.configinjectionmetadata.md +4 -4
- package/site/apidocs/context.context.find.md +1 -1
- package/site/apidocs/context.context.md +15 -15
- package/site/apidocs/context.contextinspectoptions.md +3 -3
- package/site/apidocs/context.contextobserver.md +4 -4
- package/site/apidocs/context.contextsubscriptionmanager.md +5 -5
- package/site/apidocs/context.contextview.md +7 -7
- package/site/apidocs/context.contextviewevent.md +3 -3
- package/site/apidocs/context.defaultconfigurationresolver.md +1 -1
- package/site/apidocs/context.dynamicvalueproviderclass.md +3 -3
- package/site/apidocs/context.genericinterceptorchain.md +1 -1
- package/site/apidocs/context.inject.binding.md +1 -1
- package/site/apidocs/context.inject.getter.md +1 -1
- package/site/apidocs/context.inject.md +2 -2
- package/site/apidocs/context.inject.setter.md +1 -1
- package/site/apidocs/context.inject.tag.md +1 -1
- package/site/apidocs/context.inject.view.md +1 -1
- package/site/apidocs/context.injectable.md +1 -1
- package/site/apidocs/context.injectbindingmetadata.md +3 -3
- package/site/apidocs/context.injection.md +8 -8
- package/site/apidocs/context.injectiondescriptor.md +5 -5
- package/site/apidocs/context.injectionelement.md +4 -4
- package/site/apidocs/context.injectionmetadata.md +5 -5
- package/site/apidocs/context.intercept.md +2 -2
- package/site/apidocs/context.interceptionhandler.md +1 -1
- package/site/apidocs/context.interceptor.md +1 -1
- package/site/apidocs/context.interceptorbindingoptions.md +5 -5
- package/site/apidocs/context.invocationcontext.md +7 -7
- package/site/apidocs/context.invocationsource.md +4 -4
- package/site/apidocs/context.jsonarray.md +1 -1
- package/site/apidocs/context.jsonobject.md +1 -1
- package/site/apidocs/context.md +9 -9
- package/site/apidocs/context.notification.md +3 -3
- package/site/apidocs/context.proxysource.md +2 -2
- package/site/apidocs/context.resolutioncontext.md +5 -5
- package/site/apidocs/context.resolutionerror.md +1 -1
- package/site/apidocs/context.resolutionoptions.md +5 -5
- package/site/apidocs/context.resolutionsession.md +5 -5
- package/site/apidocs/context.subscription.md +3 -3
- package/site/apidocs/core.application.md +13 -13
- package/site/apidocs/core.applicationconfig.md +4 -4
- package/site/apidocs/core.applicationmetadata.md +5 -5
- package/site/apidocs/core.component.md +9 -9
- package/site/apidocs/core.lifecycleobserverregistry.md +8 -8
- package/site/apidocs/core.server.md +3 -3
- package/site/apidocs/core.service.md +1 -1
- package/site/apidocs/core.serviceoptions.md +3 -3
- package/site/apidocs/cron.croncomponent.md +1 -1
- package/site/apidocs/cron.md +1 -1
- package/site/apidocs/express.basemiddlewarebindingoptions.md +4 -4
- package/site/apidocs/express.expressapplication.md +2 -2
- package/site/apidocs/express.expressmiddlewareinterceptorprovider.md +4 -4
- package/site/apidocs/express.expressserver.md +7 -7
- package/site/apidocs/express.handlercontext.md +4 -4
- package/site/apidocs/express.invokemiddlewareoptions.md +7 -7
- package/site/apidocs/express.middleware.md +1 -1
- package/site/apidocs/express.middlewarebindingoptions.md +6 -6
- package/site/apidocs/express.middlewarechain.md +1 -1
- package/site/apidocs/express.middlewarecontext.md +3 -3
- package/site/apidocs/express.middlewarecreationoptions.md +4 -4
- package/site/apidocs/express.middlewareinterceptorbindingoptions.md +4 -4
- package/site/apidocs/express.middlewaremixin.md +28 -28
- package/site/apidocs/express.middlewareview.md +1 -1
- package/site/apidocs/filter.andclause.md +3 -3
- package/site/apidocs/filter.filter.md +9 -9
- package/site/apidocs/filter.inclusion.md +5 -5
- package/site/apidocs/filter.md +3 -3
- package/site/apidocs/filter.orclause.md +3 -3
- package/site/apidocs/graphql.graphqlresolutioncontext.md +2 -2
- package/site/apidocs/graphql.graphqlserver.md +3 -3
- package/site/apidocs/graphql.graphqlserveroptions.md +6 -6
- package/site/apidocs/graphql.loopbackcontainer.md +1 -1
- package/site/apidocs/http-caching-proxy.proxyoptions.md +7 -7
- package/site/apidocs/http-server.basehttpoptions.md +4 -4
- package/site/apidocs/http-server.httpoptions.md +3 -3
- package/site/apidocs/http-server.httpserver.md +8 -8
- package/site/apidocs/http-server.httpsoptions.md +3 -3
- package/site/apidocs/index.md +1 -1
- package/site/apidocs/logging.winstonloggerprovider.md +1 -1
- package/site/apidocs/metadata.classdecoratorfactory.md +3 -3
- package/site/apidocs/metadata.decoratorfactory.md +11 -11
- package/site/apidocs/metadata.decoratoroptions.md +5 -5
- package/site/apidocs/metadata.designtimemethodmetadata.md +5 -5
- package/site/apidocs/metadata.inspectionoptions.md +3 -3
- package/site/apidocs/metadata.metadataaccessor.md +1 -1
- package/site/apidocs/metadata.metadatainspector.md +2 -2
- package/site/apidocs/metadata.methoddecoratorfactory.md +3 -3
- package/site/apidocs/metadata.methodmultidecoratorfactory.md +3 -3
- package/site/apidocs/metadata.methodparameterdecoratorfactory.md +3 -3
- package/site/apidocs/metadata.parameterdecoratorfactory.md +3 -3
- package/site/apidocs/metadata.propertydecoratorfactory.md +3 -3
- package/site/apidocs/metrics.metricsoptions.md +7 -7
- package/site/apidocs/mock-oauth2-provider.myuser.md +10 -10
- package/site/apidocs/model-api-builder.modelapibuilder.md +3 -3
- package/site/apidocs/openapi-spec-builder.builderbase.md +1 -1
- package/site/apidocs/openapi-spec-builder.componentsspecbuilder.md +1 -1
- package/site/apidocs/openapi-spec-builder.openapispecbuilder.md +1 -1
- package/site/apidocs/openapi-spec-builder.operationspecbuilder.md +1 -1
- package/site/apidocs/openapi-v3.controllerspec.md +5 -5
- package/site/apidocs/openapi-v3.deprecated.md +2 -2
- package/site/apidocs/openapi-v3.md +9 -9
- package/site/apidocs/openapi-v3.oasenhancer.md +3 -3
- package/site/apidocs/openapi-v3.oasenhancerservice.md +1 -1
- package/site/apidocs/openapi-v3.param.query.md +1 -1
- package/site/apidocs/openapi-v3.requestbody.array.md +3 -3
- package/site/apidocs/openapi-v3.requestbody.file.md +3 -3
- package/site/apidocs/openapi-v3.requestbody.md +1 -1
- package/site/apidocs/openapi-v3.responsedecoratormetadataitem.md +6 -6
- package/site/apidocs/openapi-v3.restendpoint.md +5 -5
- package/site/apidocs/openapi-v3.tags.md +2 -2
- package/site/apidocs/openapi-v3.tagsdecoratormetadata.md +3 -3
- package/site/apidocs/openapi-v3.visibility.md +2 -2
- package/site/apidocs/pooling.pooledvalue.md +4 -4
- package/site/apidocs/pooling.poolfactory.md +1 -1
- package/site/apidocs/pooling.poolingservice.md +2 -2
- package/site/apidocs/pooling.poolingserviceoptions.md +4 -4
- package/site/apidocs/repository-json-schema.filterschemaoptions.md +4 -4
- package/site/apidocs/repository-json-schema.jsonschemaoptions.md +7 -7
- package/site/apidocs/repository-json-schema.md +3 -3
- package/site/apidocs/repository-tests.crudfeatures.md +8 -8
- package/site/apidocs/repository.anytype.md +2 -2
- package/site/apidocs/repository.arraytype.md +2 -2
- package/site/apidocs/repository.baserepositoryclass.md +3 -3
- package/site/apidocs/repository.belongstoaccessor.md +3 -3
- package/site/apidocs/repository.belongstodefinition.md +7 -7
- package/site/apidocs/repository.booleantype.md +2 -2
- package/site/apidocs/repository.buffertype.md +2 -2
- package/site/apidocs/repository.connector.md +5 -5
- package/site/apidocs/repository.count.md +3 -3
- package/site/apidocs/repository.crudrepository.md +1 -1
- package/site/apidocs/repository.crudrepositoryimpl.md +2 -2
- package/site/apidocs/repository.datasource.md +5 -5
- package/site/apidocs/repository.datetype.md +2 -2
- package/site/apidocs/repository.defaultbelongstorepository.md +1 -1
- package/site/apidocs/repository.defaultcrudrepository.definepersistedmodel.md +1 -1
- package/site/apidocs/repository.defaultcrudrepository.md +21 -21
- package/site/apidocs/repository.defaulthasmanyrepository.md +1 -1
- package/site/apidocs/repository.defaulthasmanythroughrepository.md +1 -1
- package/site/apidocs/repository.defaulthasonerepository.md +1 -1
- package/site/apidocs/repository.defaultkeyvaluerepository.md +2 -2
- package/site/apidocs/repository.defaultreferencesmanyrepository.md +1 -1
- package/site/apidocs/repository.defaulttransactionalrepository.md +2 -2
- package/site/apidocs/repository.entitycrudrepository.md +5 -5
- package/site/apidocs/repository.entityrepository.md +1 -1
- package/site/apidocs/repository.executablerepository.md +1 -1
- package/site/apidocs/repository.hasmanydefinition.md +7 -7
- package/site/apidocs/repository.hasmanyrepositoryfactory.md +3 -3
- package/site/apidocs/repository.hasonedefinition.md +7 -7
- package/site/apidocs/repository.hasonerepositoryfactory.md +3 -3
- package/site/apidocs/repository.keyvaluerepository.md +1 -1
- package/site/apidocs/repository.md +14 -14
- package/site/apidocs/repository.modeldefinition.md +1 -1
- package/site/apidocs/repository.modeldefinitionsyntax.md +7 -7
- package/site/apidocs/repository.modelrepositoryclass.md +3 -3
- package/site/apidocs/repository.modelsettings.md +7 -7
- package/site/apidocs/repository.modeltype.md +2 -2
- package/site/apidocs/repository.nulltype.md +2 -2
- package/site/apidocs/repository.numbertype.md +2 -2
- package/site/apidocs/repository.objecttype.md +1 -1
- package/site/apidocs/repository.propertydefinition.md +9 -9
- package/site/apidocs/repository.propertyform.md +5 -5
- package/site/apidocs/repository.referencesmanyaccessor.md +3 -3
- package/site/apidocs/repository.referencesmanydefinition.md +6 -6
- package/site/apidocs/repository.relationdefinitionbase.md +7 -7
- package/site/apidocs/repository.repositorycomponent.md +4 -4
- package/site/apidocs/repository.repositorymetadata._constructor_.md +1 -1
- package/site/apidocs/repository.repositorymixin.md +50 -50
- package/site/apidocs/repository.repositorymixindoc.md +1 -1
- package/site/apidocs/repository.schemamigrationoptions.md +4 -4
- package/site/apidocs/repository.stringtype.md +2 -2
- package/site/apidocs/repository.transaction.md +3 -3
- package/site/apidocs/repository.transactionalrepository.md +1 -1
- package/site/apidocs/repository.type.md +3 -3
- package/site/apidocs/repository.uniontype.md +2 -2
- package/site/apidocs/rest-crud.crudrestapibuilder.md +1 -1
- package/site/apidocs/{rest-crud.crudrestcontroller.create.md → rest-crud.crudrestcontroller.find.md} +8 -8
- package/site/apidocs/rest-crud.crudrestcontroller.md +4 -4
- package/site/apidocs/rest-crud.crudrestcontrolleroptions.md +4 -3
- package/site/apidocs/rest-crud.crudrestcontrolleroptions.readonly.md +23 -0
- package/site/apidocs/rest-crud.modelcrudrestapiconfig.md +4 -3
- package/site/apidocs/rest-crud.modelcrudrestapiconfig.readonly.md +23 -0
- package/site/apidocs/rest-explorer.restexplorerbindings.md +1 -1
- package/site/apidocs/rest.apiexploreroptions.md +5 -5
- package/site/apidocs/rest.baseroute.md +3 -3
- package/site/apidocs/rest.bodyparser.md +3 -3
- package/site/apidocs/rest.controllerroute.md +4 -4
- package/site/apidocs/rest.defaultsequence.md +5 -5
- package/site/apidocs/rest.findroutemiddlewareprovider.md +1 -1
- package/site/apidocs/rest.httphandler.md +5 -5
- package/site/apidocs/rest.httpserverlike.md +3 -3
- package/site/apidocs/rest.infospecenhancer.md +1 -1
- package/site/apidocs/rest.invokemethodmiddlewareprovider.md +1 -1
- package/site/apidocs/rest.md +1 -1
- package/site/apidocs/rest.middlewaresequence.md +3 -3
- package/site/apidocs/rest.node.md +7 -7
- package/site/apidocs/rest.openapispecform.md +4 -4
- package/site/apidocs/rest.openapispecoptions.md +7 -7
- package/site/apidocs/rest.parseparamsmiddlewareprovider.md +1 -1
- package/site/apidocs/rest.redirectroute.md +8 -8
- package/site/apidocs/rest.regexprouter.md +3 -3
- package/site/apidocs/rest.requestbodyparser.md +1 -1
- package/site/apidocs/rest.requestbodyparseroptions.md +7 -7
- package/site/apidocs/rest.requestcontext.md +7 -7
- package/site/apidocs/rest.requestwithsession.md +3 -3
- package/site/apidocs/rest.resolvednode.md +4 -4
- package/site/apidocs/rest.resolvedroute.md +4 -4
- package/site/apidocs/rest.restapplication.md +3 -3
- package/site/apidocs/rest.restbindings.md +1 -1
- package/site/apidocs/rest.resthttperrors.validationerrordetails.md +6 -6
- package/site/apidocs/rest.restserver.md +22 -22
- package/site/apidocs/rest.restserverresolvedoptions.md +13 -13
- package/site/apidocs/rest.route.md +2 -2
- package/site/apidocs/rest.routeentry.md +5 -5
- package/site/apidocs/rest.routesource.md +2 -2
- package/site/apidocs/rest.sendresponsemiddlewareprovider.md +1 -1
- package/site/apidocs/rest.session.md +3 -3
- package/site/apidocs/rest.sessionuserprofile.md +5 -5
- package/site/apidocs/rest.trie.md +1 -1
- package/site/apidocs/rest.trierouter.md +3 -3
- package/site/apidocs/rest.validationoptions.md +8 -8
- package/site/apidocs/rest.valuevalidationoptions.md +4 -4
- package/site/apidocs/security.defaultsubject.md +4 -4
- package/site/apidocs/security.md +2 -2
- package/site/apidocs/security.permission.md +1 -1
- package/site/apidocs/security.principal.md +3 -3
- package/site/apidocs/security.role.md +3 -3
- package/site/apidocs/security.scope.md +3 -3
- package/site/apidocs/security.subject.md +5 -5
- package/site/apidocs/security.typedprincipal.md +3 -3
- package/site/apidocs/security.userprofile.md +4 -4
- package/site/apidocs/service-proxy.md +1 -1
- package/site/apidocs/service-proxy.servicemixin.md +43 -43
- package/site/apidocs/service-proxy.serviceproxy.md +2 -2
- package/site/apidocs/socketio.defaultsocketiosequence.md +5 -5
- package/site/apidocs/socketio.httpserverresolvedoptions.md +7 -7
- package/site/apidocs/socketio.socketio.md +1 -1
- package/site/apidocs/socketio.socketioapplication.md +1 -1
- package/site/apidocs/socketio.socketiobooter.md +1 -1
- package/site/apidocs/socketio.socketioconnectioncontext.md +1 -1
- package/site/apidocs/socketio.socketiocontrollerfactory.md +4 -4
- package/site/apidocs/socketio.socketioinvokemethodprovider.md +1 -1
- package/site/apidocs/socketio.socketiometadata.md +4 -4
- package/site/apidocs/socketio.socketiorejectprovider.md +1 -1
- package/site/apidocs/socketio.socketiosendprovider.md +1 -1
- package/site/apidocs/socketio.socketioserver.md +4 -4
- package/site/apidocs/socketio.socketioserveroptions.md +4 -4
- package/site/apidocs/testlab.expresscontextstub.md +6 -6
- package/site/apidocs/testlab.handlercontextstub.md +5 -5
- package/site/apidocs/testlab.hostport.md +4 -4
- package/site/apidocs/testlab.httpoptions.md +3 -3
- package/site/apidocs/testlab.httpsoptions.md +3 -3
- package/site/apidocs/testlab.md +1 -1
- package/site/apidocs/testlab.restapplicationlike.md +3 -3
- package/site/apidocs/testlab.restserverlike.md +4 -4
- package/site/apidocs/testlab.testsandbox.md +1 -1
- package/site/apidocs/testlab.testsandboxoptions.md +3 -3
- package/site/apidocs/tsdocs.apidocsoptions.md +9 -9
- package/site/apidocs/tsdocs.extractoroptions.md +8 -8
- package/site/apidocs/tsdocs.lernapackage.md +7 -7
- package/site/apidocs/typeorm.md +1 -1
- package/site/apidocs/typeorm.typeormmixin.md +61 -61
- package/site/changelogs/bodyparsers/rest-msgpack/CHANGELOG.md +30 -0
- package/site/changelogs/examples/access-control-migration/CHANGELOG.md +30 -0
- package/site/changelogs/examples/binding-resolution/CHANGELOG.md +30 -0
- package/site/changelogs/examples/context/CHANGELOG.md +30 -0
- package/site/changelogs/examples/express-composition/CHANGELOG.md +30 -0
- package/site/changelogs/examples/file-transfer/CHANGELOG.md +30 -0
- package/site/changelogs/examples/graphql/CHANGELOG.md +30 -0
- package/site/changelogs/examples/greeter-extension/CHANGELOG.md +30 -0
- package/site/changelogs/examples/greeting-app/CHANGELOG.md +30 -0
- package/site/changelogs/examples/hello-world/CHANGELOG.md +30 -0
- package/site/changelogs/examples/lb3-application/CHANGELOG.md +33 -0
- package/site/changelogs/examples/log-extension/CHANGELOG.md +33 -0
- package/site/changelogs/examples/metrics-prometheus/CHANGELOG.md +30 -0
- package/site/changelogs/examples/multi-tenancy/CHANGELOG.md +34 -1
- package/site/changelogs/examples/passport-login/CHANGELOG.md +30 -0
- package/site/changelogs/examples/references-many/CHANGELOG.md +29 -0
- package/site/changelogs/examples/rest-crud/CHANGELOG.md +33 -0
- package/site/changelogs/examples/rpc-server/CHANGELOG.md +30 -0
- package/site/changelogs/examples/soap-calculator/CHANGELOG.md +30 -0
- package/site/changelogs/examples/socketio/CHANGELOG.md +30 -0
- package/site/changelogs/examples/todo/CHANGELOG.md +30 -0
- package/site/changelogs/examples/todo-jwt/CHANGELOG.md +33 -0
- package/site/changelogs/examples/todo-list/CHANGELOG.md +30 -0
- package/site/changelogs/examples/validation-app/CHANGELOG.md +30 -0
- package/site/changelogs/examples/webpack/CHANGELOG.md +30 -0
- package/site/changelogs/extensions/apiconnect/CHANGELOG.md +30 -0
- package/site/changelogs/extensions/authentication-jwt/CHANGELOG.md +30 -0
- package/site/changelogs/extensions/authentication-passport/CHANGELOG.md +30 -0
- package/site/changelogs/extensions/context-explorer/CHANGELOG.md +30 -0
- package/site/changelogs/extensions/cron/CHANGELOG.md +30 -0
- package/site/changelogs/extensions/graphql/CHANGELOG.md +30 -0
- package/site/changelogs/extensions/health/CHANGELOG.md +30 -0
- package/site/changelogs/extensions/logging/CHANGELOG.md +30 -0
- package/site/changelogs/extensions/metrics/CHANGELOG.md +30 -0
- package/site/changelogs/extensions/pooling/CHANGELOG.md +30 -0
- package/site/changelogs/extensions/socketio/CHANGELOG.md +30 -0
- package/site/changelogs/extensions/typeorm/CHANGELOG.md +32 -0
- package/site/changelogs/fixtures/mock-oauth2-provider/CHANGELOG.md +309 -0
- package/site/changelogs/packages/authentication/CHANGELOG.md +30 -0
- package/site/changelogs/packages/authorization/CHANGELOG.md +30 -0
- package/site/changelogs/packages/boot/CHANGELOG.md +33 -0
- package/site/changelogs/packages/booter-lb3app/CHANGELOG.md +30 -0
- package/site/changelogs/packages/build/CHANGELOG.md +28 -0
- package/site/changelogs/packages/cli/CHANGELOG.md +62 -0
- package/site/changelogs/packages/context/CHANGELOG.md +30 -0
- package/site/changelogs/packages/core/CHANGELOG.md +33 -0
- package/site/changelogs/packages/eslint-config/CHANGELOG.md +27 -0
- package/site/changelogs/packages/express/CHANGELOG.md +30 -0
- package/site/changelogs/packages/filter/CHANGELOG.md +34 -0
- package/site/changelogs/packages/http-caching-proxy/CHANGELOG.md +30 -0
- package/site/changelogs/packages/http-server/CHANGELOG.md +35 -0
- package/site/changelogs/packages/metadata/CHANGELOG.md +30 -0
- package/site/changelogs/packages/model-api-builder/CHANGELOG.md +30 -0
- package/site/changelogs/packages/monorepo/CHANGELOG.md +24 -0
- package/site/changelogs/packages/openapi-spec-builder/CHANGELOG.md +30 -0
- package/site/changelogs/packages/openapi-v3/CHANGELOG.md +36 -0
- package/site/changelogs/packages/repository/CHANGELOG.md +39 -0
- package/site/changelogs/packages/repository-json-schema/CHANGELOG.md +33 -0
- package/site/changelogs/packages/repository-tests/CHANGELOG.md +31 -0
- package/site/changelogs/packages/rest/CHANGELOG.md +30 -0
- package/site/changelogs/packages/rest-crud/CHANGELOG.md +36 -0
- package/site/changelogs/packages/rest-explorer/CHANGELOG.md +30 -0
- package/site/changelogs/packages/security/CHANGELOG.md +30 -0
- package/site/changelogs/packages/service-proxy/CHANGELOG.md +30 -0
- package/site/changelogs/packages/testlab/CHANGELOG.md +24 -0
- package/site/changelogs/packages/tsdocs/CHANGELOG.md +30 -0
- package/site/decorators/Decorators_openapi.md +3 -3
- package/site/deployment/Deploy-for-GDPR-readiness.md +1 -1
- package/site/migration/LB3-vs-LB4-booting.md +1 -1
- package/site/migration/auth/passport.md +2 -2
- package/site/readmes/loopback-next/examples/lb3-application/README.md +1 -1
- package/site/readmes/loopback-next/examples/log-extension/README.md +1 -1
- package/site/readmes/loopback-next/examples/rest-crud/README.md +1 -1
- package/site/readmes/loopback-next/examples/todo-jwt/README.md +1 -1
- package/site/readmes/loopback-next/packages/boot/README.md +1 -1
- package/site/readmes/loopback-next/packages/build/README.md +2 -2
- package/site/readmes/loopback-next/packages/rest-crud/README.md +3 -2
- package/site/sidebars/lb4_sidebar.yml +4 -0
- package/site/tutorials/core/11-summary.md +1 -1
- package/site/tutorials/core/3-context-in-action.md +3 -3
- package/site/tutorials/soap-calculator/soap-calculator-tutorial-add-controller.md +1 -1
- package/site/tutorials/soap-calculator/soap-calculator-tutorial-scaffolding.md +1 -1
|
@@ -23,9 +23,9 @@ export interface AuthenticationOptions
|
|
|
23
23
|
|
|
24
24
|
## Properties
|
|
25
25
|
|
|
26
|
-
| Property | Type | Description |
|
|
27
|
-
| --- | --- | --- |
|
|
28
|
-
| [defaultMetadata?](./authentication.authenticationoptions.defaultmetadata.md) | [AuthenticationMetadata](./authentication.authenticationmetadata.md)<!-- -->\[\] | <i>(Optional)</i> Default authentication metadata if a method or class is not decorated with <code>@authenticate</code>. If not set, no default authentication will be enforced for those methods without authentication metadata. |
|
|
29
|
-
| [failOnError?](./authentication.authenticationoptions.failonerror.md) | boolean | <i>(Optional)</i> This flag allows an authentication strategy to abort the authentication by throwing an error if <code>failOnError</code> is set to <code>true</code>. By default, the authentication process continues to the next one even when a strategy throws an error. If one of other strategies succeed, the error will be discarded. |
|
|
26
|
+
| Property | Modifiers | Type | Description |
|
|
27
|
+
| --- | --- | --- | --- |
|
|
28
|
+
| [defaultMetadata?](./authentication.authenticationoptions.defaultmetadata.md) | | [AuthenticationMetadata](./authentication.authenticationmetadata.md)<!-- -->\[\] | <i>(Optional)</i> Default authentication metadata if a method or class is not decorated with <code>@authenticate</code>. If not set, no default authentication will be enforced for those methods without authentication metadata. |
|
|
29
|
+
| [failOnError?](./authentication.authenticationoptions.failonerror.md) | | boolean | <i>(Optional)</i> This flag allows an authentication strategy to abort the authentication by throwing an error if <code>failOnError</code> is set to <code>true</code>. By default, the authentication process continues to the next one even when a strategy throws an error. If one of other strategies succeed, the error will be discarded. |
|
|
30
30
|
|
|
31
31
|
|
|
@@ -25,9 +25,9 @@ export interface AuthenticationStrategy
|
|
|
25
25
|
|
|
26
26
|
## Properties
|
|
27
27
|
|
|
28
|
-
| Property | Type | Description |
|
|
29
|
-
| --- | --- | --- |
|
|
30
|
-
| [name](./authentication.authenticationstrategy.name.md) | string | The 'name' property is a unique identifier for the authentication strategy ( for example : 'basic', 'jwt', etc) |
|
|
28
|
+
| Property | Modifiers | Type | Description |
|
|
29
|
+
| --- | --- | --- | --- |
|
|
30
|
+
| [name](./authentication.authenticationstrategy.name.md) | | string | The 'name' property is a unique identifier for the authentication strategy ( for example : 'basic', 'jwt', etc) |
|
|
31
31
|
|
|
32
32
|
## Methods
|
|
33
33
|
|
|
@@ -22,7 +22,7 @@ It declares an extension point to which all authentication strategy implementati
|
|
|
22
22
|
```typescript
|
|
23
23
|
export declare class AuthenticationStrategyProvider implements Provider<AuthenticationStrategy[] | undefined>
|
|
24
24
|
```
|
|
25
|
-
<b>Implements:</b> [Provider](./context.provider.md)<!-- --><[AuthenticationStrategy](./authentication.authenticationstrategy.md)
|
|
25
|
+
<b>Implements:</b> [Provider](./context.provider.md)<!-- --><[AuthenticationStrategy](./authentication.authenticationstrategy.md)<!-- -->\[\] \| undefined>
|
|
26
26
|
|
|
27
27
|
## Example
|
|
28
28
|
|
|
@@ -38,8 +38,8 @@ export declare class AuthenticationStrategyProvider implements Provider<Authenti
|
|
|
38
38
|
|
|
39
39
|
| Property | Modifiers | Type | Description |
|
|
40
40
|
| --- | --- | --- | --- |
|
|
41
|
-
| [authenticationStrategies](./authentication.authenticationstrategyprovider.authenticationstrategies.md) |
|
|
42
|
-
| [metadata?](./authentication.authenticationstrategyprovider.metadata.md) |
|
|
41
|
+
| [authenticationStrategies](./authentication.authenticationstrategyprovider.authenticationstrategies.md) | <code>protected</code> | [Getter](./context.getter.md)<!-- --><[AuthenticationStrategy](./authentication.authenticationstrategy.md)<!-- -->\[\]> | |
|
|
42
|
+
| [metadata?](./authentication.authenticationstrategyprovider.metadata.md) | <code>protected</code> | [AuthenticationMetadata](./authentication.authenticationmetadata.md)<!-- -->\[\] \| undefined | <i>(Optional)</i> |
|
|
43
43
|
|
|
44
44
|
## Methods
|
|
45
45
|
|
|
@@ -20,7 +20,7 @@ Provides authentication metadata of a controller method
|
|
|
20
20
|
```typescript
|
|
21
21
|
export declare class AuthMetadataProvider implements Provider<AuthenticationMetadata[] | undefined>
|
|
22
22
|
```
|
|
23
|
-
<b>Implements:</b> [Provider](./context.provider.md)<!-- --><[AuthenticationMetadata](./authentication.authenticationmetadata.md)
|
|
23
|
+
<b>Implements:</b> [Provider](./context.provider.md)<!-- --><[AuthenticationMetadata](./authentication.authenticationmetadata.md)<!-- -->\[\] \| undefined>
|
|
24
24
|
|
|
25
25
|
## Example
|
|
26
26
|
|
|
@@ -30,7 +30,7 @@ It contains:
|
|
|
30
30
|
| [AuthenticateActionProvider](./authentication.authenticateactionprovider.md) | Provides the authentication action for a sequence |
|
|
31
31
|
| [AuthenticationComponent](./authentication.authenticationcomponent.md) | |
|
|
32
32
|
| [AuthenticationMiddlewareProvider](./authentication.authenticationmiddlewareprovider.md) | |
|
|
33
|
-
| [AuthenticationStrategyProvider](./authentication.authenticationstrategyprovider.md) | An authentication strategy provider responsible for resolving an authentication strategy by name
|
|
33
|
+
| [AuthenticationStrategyProvider](./authentication.authenticationstrategyprovider.md) | <p>An authentication strategy provider responsible for resolving an authentication strategy by name.</p><p>It declares an extension point to which all authentication strategy implementations must register themselves as extensions.</p> |
|
|
34
34
|
| [AuthMetadataProvider](./authentication.authmetadataprovider.md) | Provides authentication metadata of a controller method |
|
|
35
35
|
|
|
36
36
|
## Functions
|
|
@@ -49,11 +49,11 @@ It contains:
|
|
|
49
49
|
| [AuthenticateFn](./authentication.authenticatefn.md) | interface definition of a function which accepts a request and returns an authenticated user |
|
|
50
50
|
| [AuthenticationMetadata](./authentication.authenticationmetadata.md) | Authentication metadata stored via Reflection API |
|
|
51
51
|
| [AuthenticationOptions](./authentication.authenticationoptions.md) | Options for authentication component |
|
|
52
|
-
| [AuthenticationStrategy](./authentication.authenticationstrategy.md) | An interface that describes the common authentication strategy
|
|
52
|
+
| [AuthenticationStrategy](./authentication.authenticationstrategy.md) | <p>An interface that describes the common authentication strategy.</p><p>An authentication strategy is a class with an 'authenticate' method that verifies a user's credentials and returns the corresponding user profile.</p> |
|
|
53
53
|
| [TokenService](./authentication.tokenservice.md) | An interface for generating and verifying a token |
|
|
54
54
|
| [UserIdentityService](./authentication.useridentityservice.md) | The User Identity service links a user to profiles from an external source (eg: ldap, oauth2 provider, saml) which can identify the user. The profile typically has the following information: name, email-id, uuid, roles, authorizations, scope of accessible resources, expiration time for given access |
|
|
55
55
|
| [UserProfileFactory](./authentication.userprofilefactory.md) | interface definition of a factory function which accepts a user definition and returns the user profile |
|
|
56
|
-
| [UserService](./authentication.userservice.md) | A service for performing the login action in an authentication strategy
|
|
56
|
+
| [UserService](./authentication.userservice.md) | <p>A service for performing the login action in an authentication strategy.</p><p>Usually a client user uses basic credentials to login, or is redirected to a third-party application that grants limited access.</p><p>Note: The creation of user is handled in the user controller by calling user repository APIs. For Basic auth, the user has to register first using some endpoint like <code>/register</code>. For 3rd-party auth, the user will be created if login is successful and the user doesn't exist in database yet.</p><p>Type <code>C</code> stands for the type of your credential object.</p><p>- For local strategy:</p><p>A typical credential would be: { username: username, password: password }</p><p>- For oauth strategy:</p><p>A typical credential would be: { clientId: string; clientSecret: string; callbackURL: string; }</p><p>It could be read from a local configuration file in the app</p><p>- For saml strategy:</p><p>A typical credential would be:</p><p>{ path: string; issuer: string; entryPoint: string; }</p><p>It could be read from a local configuration file in the app.</p> |
|
|
57
57
|
|
|
58
58
|
## Namespaces
|
|
59
59
|
|
|
@@ -23,12 +23,12 @@ export interface AuthorizationContext
|
|
|
23
23
|
|
|
24
24
|
## Properties
|
|
25
25
|
|
|
26
|
-
| Property | Type | Description |
|
|
27
|
-
| --- | --- | --- |
|
|
28
|
-
| [invocationContext](./authorization.authorizationcontext.invocationcontext.md) | [InvocationContext](./context.invocationcontext.md) | Context for the invocation |
|
|
29
|
-
| [principals](./authorization.authorizationcontext.principals.md) | [Principal](./security.principal.md)<!-- -->\[\] | An array of principals identified for the request - it should come from authentication |
|
|
30
|
-
| [resource](./authorization.authorizationcontext.resource.md) | string | An name for the target resource to be accessed, such as <code>OrderController.prototype.cancelOrder</code> |
|
|
31
|
-
| [roles](./authorization.authorizationcontext.roles.md) | [Role](./security.role.md)<!-- -->\[\] | An array of roles for principals |
|
|
32
|
-
| [scopes](./authorization.authorizationcontext.scopes.md) | string\[\] | An array of scopes representing granted permissions - usually come from access tokens |
|
|
26
|
+
| Property | Modifiers | Type | Description |
|
|
27
|
+
| --- | --- | --- | --- |
|
|
28
|
+
| [invocationContext](./authorization.authorizationcontext.invocationcontext.md) | | [InvocationContext](./context.invocationcontext.md) | Context for the invocation |
|
|
29
|
+
| [principals](./authorization.authorizationcontext.principals.md) | | [Principal](./security.principal.md)<!-- -->\[\] | An array of principals identified for the request - it should come from authentication |
|
|
30
|
+
| [resource](./authorization.authorizationcontext.resource.md) | | string | An name for the target resource to be accessed, such as <code>OrderController.prototype.cancelOrder</code> |
|
|
31
|
+
| [roles](./authorization.authorizationcontext.roles.md) | | [Role](./security.role.md)<!-- -->\[\] | An array of roles for principals |
|
|
32
|
+
| [scopes](./authorization.authorizationcontext.scopes.md) | | string\[\] | An array of scopes representing granted permissions - usually come from access tokens |
|
|
33
33
|
|
|
34
34
|
|
|
@@ -18,7 +18,7 @@ permalink: /doc/en/lb4/apidocs.authorization.authorizationinterceptor.html
|
|
|
18
18
|
```typescript
|
|
19
19
|
export declare class AuthorizationInterceptor implements Provider<Interceptor>
|
|
20
20
|
```
|
|
21
|
-
<b>Implements:</b> [Provider](./context.provider.md)<!-- --><[Interceptor](./context.interceptor.md)
|
|
21
|
+
<b>Implements:</b> [Provider](./context.provider.md)<!-- --><[Interceptor](./context.interceptor.md)<!-- -->>
|
|
22
22
|
|
|
23
23
|
## Constructors
|
|
24
24
|
|
|
@@ -23,13 +23,13 @@ export interface AuthorizationMetadata
|
|
|
23
23
|
|
|
24
24
|
## Properties
|
|
25
25
|
|
|
26
|
-
| Property | Type | Description |
|
|
27
|
-
| --- | --- | --- |
|
|
28
|
-
| [allowedRoles?](./authorization.authorizationmetadata.allowedroles.md) | string\[\] | <i>(Optional)</i> Roles that are allowed access |
|
|
29
|
-
| [deniedRoles?](./authorization.authorizationmetadata.deniedroles.md) | string\[\] | <i>(Optional)</i> Roles that are denied access |
|
|
30
|
-
| [resource?](./authorization.authorizationmetadata.resource.md) | string | <i>(Optional)</i> Name of the resource, default to the method name |
|
|
31
|
-
| [scopes?](./authorization.authorizationmetadata.scopes.md) | string\[\] | <i>(Optional)</i> Define the access scopes |
|
|
32
|
-
| [skip?](./authorization.authorizationmetadata.skip.md) | boolean | <i>(Optional)</i> A flag to skip authorization |
|
|
33
|
-
| [voters?](./authorization.authorizationmetadata.voters.md) | ([Authorizer](./authorization.authorizer.md) \| [BindingAddress](./context.bindingaddress.md)<!-- --><[Authorizer](./authorization.authorizer.md)<!-- -->>)\[\] | <i>(Optional)</i> Voters that help make the authorization decision |
|
|
26
|
+
| Property | Modifiers | Type | Description |
|
|
27
|
+
| --- | --- | --- | --- |
|
|
28
|
+
| [allowedRoles?](./authorization.authorizationmetadata.allowedroles.md) | | string\[\] | <i>(Optional)</i> Roles that are allowed access |
|
|
29
|
+
| [deniedRoles?](./authorization.authorizationmetadata.deniedroles.md) | | string\[\] | <i>(Optional)</i> Roles that are denied access |
|
|
30
|
+
| [resource?](./authorization.authorizationmetadata.resource.md) | | string | <i>(Optional)</i> Name of the resource, default to the method name |
|
|
31
|
+
| [scopes?](./authorization.authorizationmetadata.scopes.md) | | string\[\] | <i>(Optional)</i> Define the access scopes |
|
|
32
|
+
| [skip?](./authorization.authorizationmetadata.skip.md) | | boolean | <i>(Optional)</i> A flag to skip authorization |
|
|
33
|
+
| [voters?](./authorization.authorizationmetadata.voters.md) | | ([Authorizer](./authorization.authorizer.md) \| [BindingAddress](./context.bindingaddress.md)<!-- --><[Authorizer](./authorization.authorizer.md)<!-- -->>)\[\] | <i>(Optional)</i> Voters that help make the authorization decision |
|
|
34
34
|
|
|
35
35
|
|
|
@@ -21,11 +21,11 @@ export interface AuthorizationOptions
|
|
|
21
21
|
|
|
22
22
|
## Properties
|
|
23
23
|
|
|
24
|
-
| Property | Type | Description |
|
|
25
|
-
| --- | --- | --- |
|
|
26
|
-
| [defaultDecision?](./authorization.authorizationoptions.defaultdecision.md) | [AuthorizationDecision.DENY](./authorization.authorizationdecision.md) \| [AuthorizationDecision.ALLOW](./authorization.authorizationdecision.md) | <i>(Optional)</i> Default decision if all authorizers vote for ABSTAIN If not set, default to <code>AuthorizationDecision.DENY</code> |
|
|
27
|
-
| [defaultMetadata?](./authorization.authorizationoptions.defaultmetadata.md) | [AuthorizationMetadata](./authorization.authorizationmetadata.md) | <i>(Optional)</i> Default authorization metadata if a method is not decorated with <code>@authorize</code>. If not set, no authorization will be enforced for those methods that are not associated with authorization metadata. |
|
|
28
|
-
| [defaultStatusCodeForDeny?](./authorization.authorizationoptions.defaultstatuscodefordeny.md) | number | <i>(Optional)</i> Default HTTP status code when the final decision is <code>AuthorizationDecision.DENY</code>. If not set, default to 403 |
|
|
29
|
-
| [precedence?](./authorization.authorizationoptions.precedence.md) | [AuthorizationDecision.DENY](./authorization.authorizationdecision.md) \| [AuthorizationDecision.ALLOW](./authorization.authorizationdecision.md) | <i>(Optional)</i> Controls if Allow/Deny vote takes precedence and override other votes. If not set, default to <code>AuthorizationDecision.DENY</code
|
|
24
|
+
| Property | Modifiers | Type | Description |
|
|
25
|
+
| --- | --- | --- | --- |
|
|
26
|
+
| [defaultDecision?](./authorization.authorizationoptions.defaultdecision.md) | | [AuthorizationDecision.DENY](./authorization.authorizationdecision.md) \| [AuthorizationDecision.ALLOW](./authorization.authorizationdecision.md) | <i>(Optional)</i> Default decision if all authorizers vote for ABSTAIN If not set, default to <code>AuthorizationDecision.DENY</code> |
|
|
27
|
+
| [defaultMetadata?](./authorization.authorizationoptions.defaultmetadata.md) | | [AuthorizationMetadata](./authorization.authorizationmetadata.md) | <i>(Optional)</i> Default authorization metadata if a method is not decorated with <code>@authorize</code>. If not set, no authorization will be enforced for those methods that are not associated with authorization metadata. |
|
|
28
|
+
| [defaultStatusCodeForDeny?](./authorization.authorizationoptions.defaultstatuscodefordeny.md) | | number | <i>(Optional)</i> Default HTTP status code when the final decision is <code>AuthorizationDecision.DENY</code>. If not set, default to 403 |
|
|
29
|
+
| [precedence?](./authorization.authorizationoptions.precedence.md) | | [AuthorizationDecision.DENY](./authorization.authorizationdecision.md) \| [AuthorizationDecision.ALLOW](./authorization.authorizationdecision.md) | <p><i>(Optional)</i> Controls if Allow/Deny vote takes precedence and override other votes. If not set, default to <code>AuthorizationDecision.DENY</code>.</p><p>Once a vote matches the <code>precedence</code>, it becomes the final decision. The rest of votes will be skipped.</p> |
|
|
30
30
|
|
|
31
31
|
|
|
@@ -23,11 +23,11 @@ export interface AuthorizationRequest
|
|
|
23
23
|
|
|
24
24
|
## Properties
|
|
25
25
|
|
|
26
|
-
| Property | Type | Description |
|
|
27
|
-
| --- | --- | --- |
|
|
28
|
-
| [action](./authorization.authorizationrequest.action.md) | string | The operation that the requestor performs on the resource. |
|
|
29
|
-
| [domain?](./authorization.authorizationrequest.domain.md) | string | <i>(Optional)</i> The domain (realm/tenant) |
|
|
30
|
-
| [object](./authorization.authorizationrequest.object.md) | string | The resource that is going to be accessed. |
|
|
31
|
-
| [subject](./authorization.authorizationrequest.subject.md) | string | The requestor that wants to access a resource. |
|
|
26
|
+
| Property | Modifiers | Type | Description |
|
|
27
|
+
| --- | --- | --- | --- |
|
|
28
|
+
| [action](./authorization.authorizationrequest.action.md) | | string | The operation that the requestor performs on the resource. |
|
|
29
|
+
| [domain?](./authorization.authorizationrequest.domain.md) | | string | <i>(Optional)</i> The domain (realm/tenant) |
|
|
30
|
+
| [object](./authorization.authorizationrequest.object.md) | | string | The resource that is going to be accessed. |
|
|
31
|
+
| [subject](./authorization.authorizationrequest.subject.md) | | string | The requestor that wants to access a resource. |
|
|
32
32
|
|
|
33
33
|
|
|
@@ -18,12 +18,12 @@ permalink: /doc/en/lb4/apidocs.authorization.authorizemethoddecoratorfactory.htm
|
|
|
18
18
|
```typescript
|
|
19
19
|
export declare class AuthorizeMethodDecoratorFactory extends MethodDecoratorFactory<AuthorizationMetadata>
|
|
20
20
|
```
|
|
21
|
-
<b>Extends:</b> [MethodDecoratorFactory](./metadata.methoddecoratorfactory.md)<!-- --><[AuthorizationMetadata](./authorization.authorizationmetadata.md)
|
|
21
|
+
<b>Extends:</b> [MethodDecoratorFactory](./metadata.methoddecoratorfactory.md)<!-- --><[AuthorizationMetadata](./authorization.authorizationmetadata.md)<!-- -->>
|
|
22
22
|
|
|
23
23
|
## Methods
|
|
24
24
|
|
|
25
25
|
| Method | Modifiers | Description |
|
|
26
26
|
| --- | --- | --- |
|
|
27
|
-
| [mergeWithOwn(ownMetadata, target, methodName, methodDescriptor)](./authorization.authorizemethoddecoratorfactory.mergewithown.md) |
|
|
27
|
+
| [mergeWithOwn(ownMetadata, target, methodName, methodDescriptor)](./authorization.authorizemethoddecoratorfactory.mergewithown.md) | <code>protected</code> | |
|
|
28
28
|
|
|
29
29
|
|
|
@@ -38,21 +38,21 @@ export declare class BaseArtifactBooter implements Booter
|
|
|
38
38
|
|
|
39
39
|
| Property | Modifiers | Type | Description |
|
|
40
40
|
| --- | --- | --- | --- |
|
|
41
|
-
| [artifactName](./boot.baseartifactbooter.artifactname.md) |
|
|
41
|
+
| [artifactName](./boot.baseartifactbooter.artifactname.md) | <code>readonly</code> | string | Get the name of the artifact loaded by this booter, e.g. "Controller". Subclasses can override the default logic based on the class name. |
|
|
42
42
|
| [classes](./boot.baseartifactbooter.classes.md) | | [Constructor](./context.constructor.md)<!-- --><{}>\[\] | List of exported classes discovered in the files |
|
|
43
43
|
| [dirs](./boot.baseartifactbooter.dirs.md) | | string\[\] | Relative paths of directories to be searched |
|
|
44
44
|
| [discovered](./boot.baseartifactbooter.discovered.md) | | string\[\] | List of files discovered by the Booter that matched artifact requirements |
|
|
45
45
|
| [extensions](./boot.baseartifactbooter.extensions.md) | | string\[\] | File extensions to be searched |
|
|
46
46
|
| [glob](./boot.baseartifactbooter.glob.md) | | string | <code>glob</code> pattern to match artifact paths |
|
|
47
|
-
| [options](./boot.baseartifactbooter.options.md) |
|
|
48
|
-
| [projectRoot](./boot.baseartifactbooter.projectroot.md) |
|
|
47
|
+
| [options](./boot.baseartifactbooter.options.md) | <code>readonly</code> | [ArtifactOptions](./boot.artifactoptions.md) | Options being used by the Booter. |
|
|
48
|
+
| [projectRoot](./boot.baseartifactbooter.projectroot.md) | <code>readonly</code> | string | Project root relative to which all other paths are resolved |
|
|
49
49
|
|
|
50
50
|
## Methods
|
|
51
51
|
|
|
52
52
|
| Method | Modifiers | Description |
|
|
53
53
|
| --- | --- | --- |
|
|
54
|
-
| [configure()](./boot.baseartifactbooter.configure.md) | | Configure the Booter by initializing the 'dirs', 'extensions' and 'glob' properties
|
|
54
|
+
| [configure()](./boot.baseartifactbooter.configure.md) | | <p>Configure the Booter by initializing the 'dirs', 'extensions' and 'glob' properties.</p><p>NOTE: All properties are configured even if all aren't used.</p> |
|
|
55
55
|
| [discover()](./boot.baseartifactbooter.discover.md) | | Discover files based on the 'glob' property relative to the 'projectRoot'. Discovered artifact files matching the pattern are saved to the 'discovered' property. |
|
|
56
|
-
| [load()](./boot.baseartifactbooter.load.md) | | Filters the exports of 'discovered' files to only be Classes (in case function / types are exported) as an artifact is a Class. The filtered artifact Classes are saved in the 'classes' property
|
|
56
|
+
| [load()](./boot.baseartifactbooter.load.md) | | <p>Filters the exports of 'discovered' files to only be Classes (in case function / types are exported) as an artifact is a Class. The filtered artifact Classes are saved in the 'classes' property.</p><p>NOTE: Booters extending this class should call this method (await super.load()) and then process the artifact classes as appropriate.</p> |
|
|
57
57
|
|
|
58
58
|
|
|
@@ -23,10 +23,10 @@ export interface Bootable
|
|
|
23
23
|
|
|
24
24
|
## Properties
|
|
25
25
|
|
|
26
|
-
| Property | Type | Description |
|
|
27
|
-
| --- | --- | --- |
|
|
28
|
-
| [bootOptions?](./boot.bootable.bootoptions.md) | [BootOptions](./boot.bootoptions.md) | <i>(Optional)</i> Options for boot |
|
|
29
|
-
| [projectRoot](./boot.bootable.projectroot.md) | string | Root directory for the project to be booted |
|
|
26
|
+
| Property | Modifiers | Type | Description |
|
|
27
|
+
| --- | --- | --- | --- |
|
|
28
|
+
| [bootOptions?](./boot.bootable.bootoptions.md) | | [BootOptions](./boot.bootoptions.md) | <i>(Optional)</i> Options for boot |
|
|
29
|
+
| [projectRoot](./boot.bootable.projectroot.md) | | string | Root directory for the project to be booted |
|
|
30
30
|
|
|
31
31
|
## Methods
|
|
32
32
|
|
|
@@ -26,74 +26,74 @@ export declare function BootMixin<T extends MixinTarget<Application>>(superClass
|
|
|
26
26
|
start(): Promise<void>;
|
|
27
27
|
boot(): Promise<void>;
|
|
28
28
|
booters(...booterCls: Constructor<Booter>[]): Binding[];
|
|
29
|
-
applicationBooter(subApp: Application & Bootable, filter?: BindingFilter
|
|
30
|
-
component<C extends Component = Component>(componentCtor: Constructor<C>, nameOrOptions?: string | BindingFromClassOptions
|
|
29
|
+
applicationBooter(subApp: Application & Bootable, filter?: BindingFilter): Binding<Booter>;
|
|
30
|
+
component<C extends Component = Component>(componentCtor: Constructor<C>, nameOrOptions?: string | BindingFromClassOptions): Binding<C>;
|
|
31
31
|
mountComponentBooters(componentInstanceOrClass: Constructor<unknown> | InstanceWithBooters): void;
|
|
32
|
-
readonly options:
|
|
32
|
+
readonly options: import("@loopback/core").ApplicationConfig;
|
|
33
33
|
readonly state: string;
|
|
34
|
-
controller: <T_1>(controllerCtor:
|
|
35
|
-
server: <T_2 extends
|
|
36
|
-
servers: <T_3 extends
|
|
37
|
-
getServer: <T_4 extends
|
|
34
|
+
controller: <T_1>(controllerCtor: import("@loopback/core").ControllerClass<T_1>, nameOrOptions?: string | BindingFromClassOptions | undefined) => Binding<T_1>;
|
|
35
|
+
server: <T_2 extends import("@loopback/core").Server>(ctor: Constructor<T_2>, nameOrOptions?: string | BindingFromClassOptions | undefined) => Binding<T_2>;
|
|
36
|
+
servers: <T_3 extends import("@loopback/core").Server>(ctors: Constructor<T_3>[]) => Binding<any>[];
|
|
37
|
+
getServer: <T_4 extends import("@loopback/core").Server>(target: string | Constructor<T_4>) => Promise<T_4>;
|
|
38
38
|
init: () => Promise<void>;
|
|
39
|
-
onInit: (fn: () =>
|
|
40
|
-
onStart: (fn: () =>
|
|
39
|
+
onInit: (fn: () => import("@loopback/core").ValueOrPromise<void>) => Binding<import("@loopback/core").LifeCycleObserver>;
|
|
40
|
+
onStart: (fn: () => import("@loopback/core").ValueOrPromise<void>) => Binding<import("@loopback/core").LifeCycleObserver>;
|
|
41
41
|
stop: () => Promise<void>;
|
|
42
|
-
onStop: (fn: () =>
|
|
43
|
-
setMetadata: (metadata:
|
|
44
|
-
lifeCycleObserver: <T_5 extends
|
|
45
|
-
service: <S>(cls:
|
|
46
|
-
interceptor: (interceptor:
|
|
42
|
+
onStop: (fn: () => import("@loopback/core").ValueOrPromise<void>) => Binding<import("@loopback/core").LifeCycleObserver>;
|
|
43
|
+
setMetadata: (metadata: import("@loopback/core").ApplicationMetadata) => void;
|
|
44
|
+
lifeCycleObserver: <T_5 extends import("@loopback/core").LifeCycleObserver>(ctor: Constructor<T_5>, nameOrOptions?: string | BindingFromClassOptions | undefined) => Binding<T_5>;
|
|
45
|
+
service: <S>(cls: import("@loopback/core").ServiceOrProviderClass<S>, nameOrOptions?: string | import("@loopback/core").ServiceOptions | undefined) => Binding<S>;
|
|
46
|
+
interceptor: (interceptor: import("@loopback/core").Interceptor | Constructor<import("@loopback/core").Provider<import("@loopback/core").Interceptor>>, nameOrOptions?: string | import("@loopback/core").InterceptorBindingOptions | undefined) => Binding<import("@loopback/core").Interceptor>;
|
|
47
47
|
readonly name: string;
|
|
48
|
-
readonly subscriptionManager:
|
|
48
|
+
readonly subscriptionManager: import("@loopback/core").ContextSubscriptionManager;
|
|
49
49
|
scope: BindingScope;
|
|
50
50
|
readonly parent: Context | undefined;
|
|
51
|
-
emitEvent: <T_6 extends
|
|
51
|
+
emitEvent: <T_6 extends import("@loopback/core").ContextEvent>(type: string, event: T_6) => void;
|
|
52
52
|
emitError: (err: unknown) => void;
|
|
53
|
-
bind: <ValueType = any>(key:
|
|
53
|
+
bind: <ValueType = any>(key: import("@loopback/core").BindingAddress<ValueType>) => Binding<ValueType>;
|
|
54
54
|
add: (binding: Binding<unknown>) => Application;
|
|
55
|
-
configure: <ConfigValueType = any>(key?:
|
|
56
|
-
getConfigAsValueOrPromise: <ConfigValueType_1>(key:
|
|
57
|
-
getConfig: <ConfigValueType_2>(key:
|
|
58
|
-
getConfigSync: <ConfigValueType_3>(key:
|
|
59
|
-
unbind: (key:
|
|
60
|
-
subscribe: (observer:
|
|
61
|
-
unsubscribe: (observer:
|
|
55
|
+
configure: <ConfigValueType = any>(key?: import("@loopback/core").BindingAddress<unknown> | undefined) => Binding<ConfigValueType>;
|
|
56
|
+
getConfigAsValueOrPromise: <ConfigValueType_1>(key: import("@loopback/core").BindingAddress<unknown>, propertyPath?: string | undefined, resolutionOptions?: import("@loopback/core").ResolutionOptions | undefined) => import("@loopback/core").ValueOrPromise<ConfigValueType_1 | undefined>;
|
|
57
|
+
getConfig: <ConfigValueType_2>(key: import("@loopback/core").BindingAddress<unknown>, propertyPath?: string | undefined, resolutionOptions?: import("@loopback/core").ResolutionOptions | undefined) => Promise<ConfigValueType_2 | undefined>;
|
|
58
|
+
getConfigSync: <ConfigValueType_3>(key: import("@loopback/core").BindingAddress<unknown>, propertyPath?: string | undefined, resolutionOptions?: import("@loopback/core").ResolutionOptions | undefined) => ConfigValueType_3 | undefined;
|
|
59
|
+
unbind: (key: import("@loopback/core").BindingAddress<unknown>) => boolean;
|
|
60
|
+
subscribe: (observer: import("@loopback/core").ContextEventObserver) => import("@loopback/core").Subscription;
|
|
61
|
+
unsubscribe: (observer: import("@loopback/core").ContextEventObserver) => boolean;
|
|
62
62
|
close: () => void;
|
|
63
|
-
isSubscribed: (observer:
|
|
64
|
-
createView: <T_7 = unknown>(filter: BindingFilter, comparator?:
|
|
65
|
-
contains: (key:
|
|
66
|
-
isBound: (key:
|
|
67
|
-
getOwnerContext: (keyOrBinding: Readonly<Binding<unknown>> |
|
|
63
|
+
isSubscribed: (observer: import("@loopback/core").ContextObserver) => boolean;
|
|
64
|
+
createView: <T_7 = unknown>(filter: BindingFilter, comparator?: import("@loopback/core").BindingComparator | undefined, options?: Omit<import("@loopback/core").ResolutionOptions, "session"> | undefined) => import("@loopback/core").ContextView<T_7>;
|
|
65
|
+
contains: (key: import("@loopback/core").BindingAddress<unknown>) => boolean;
|
|
66
|
+
isBound: (key: import("@loopback/core").BindingAddress<unknown>) => boolean;
|
|
67
|
+
getOwnerContext: (keyOrBinding: Readonly<Binding<unknown>> | import("@loopback/core").BindingAddress<unknown>) => Context | undefined;
|
|
68
68
|
getScopedContext: (scope: BindingScope.APPLICATION | BindingScope.SERVER | BindingScope.REQUEST) => Context | undefined;
|
|
69
69
|
getResolutionContext: (binding: Readonly<Binding<unknown>>) => Context | undefined;
|
|
70
70
|
isVisibleTo: (ctx: Context) => boolean;
|
|
71
71
|
find: <ValueType_1 = any>(pattern?: string | RegExp | BindingFilter | undefined) => Readonly<Binding<ValueType_1>>[];
|
|
72
|
-
findByTag: <ValueType_2 = any>(tagFilter: RegExp |
|
|
72
|
+
findByTag: <ValueType_2 = any>(tagFilter: RegExp | import("@loopback/core").BindingTag) => Readonly<Binding<ValueType_2>>[];
|
|
73
73
|
get: {
|
|
74
|
-
<ValueType_3>(keyWithPath:
|
|
75
|
-
<ValueType_4>(keyWithPath:
|
|
74
|
+
<ValueType_3>(keyWithPath: import("@loopback/core").BindingAddress<ValueType_3>, session?: import("@loopback/core").ResolutionSession | undefined): Promise<ValueType_3>;
|
|
75
|
+
<ValueType_4>(keyWithPath: import("@loopback/core").BindingAddress<ValueType_4>, options: import("@loopback/core").ResolutionOptions): Promise<ValueType_4 | undefined>;
|
|
76
76
|
};
|
|
77
77
|
getSync: {
|
|
78
|
-
<ValueType_5>(keyWithPath:
|
|
79
|
-
<ValueType_6>(keyWithPath:
|
|
78
|
+
<ValueType_5>(keyWithPath: import("@loopback/core").BindingAddress<ValueType_5>, session?: import("@loopback/core").ResolutionSession | undefined): ValueType_5;
|
|
79
|
+
<ValueType_6>(keyWithPath: import("@loopback/core").BindingAddress<ValueType_6>, options?: import("@loopback/core").ResolutionOptions | undefined): ValueType_6 | undefined;
|
|
80
80
|
};
|
|
81
81
|
getBinding: {
|
|
82
|
-
<ValueType_7 = any>(key:
|
|
83
|
-
<ValueType_8>(key:
|
|
82
|
+
<ValueType_7 = any>(key: import("@loopback/core").BindingAddress<ValueType_7>): Binding<ValueType_7>;
|
|
83
|
+
<ValueType_8>(key: import("@loopback/core").BindingAddress<ValueType_8>, options?: {
|
|
84
84
|
optional?: boolean | undefined;
|
|
85
85
|
} | undefined): Binding<ValueType_8> | undefined;
|
|
86
86
|
};
|
|
87
|
-
findOrCreateBinding: <T_8>(key:
|
|
88
|
-
getValueOrPromise: <ValueType_9>(keyWithPath:
|
|
89
|
-
toJSON: () =>
|
|
90
|
-
inspect: (options?:
|
|
87
|
+
findOrCreateBinding: <T_8>(key: import("@loopback/core").BindingAddress<T_8>, policy?: import("@loopback/core").BindingCreationPolicy | undefined) => Binding<T_8>;
|
|
88
|
+
getValueOrPromise: <ValueType_9>(keyWithPath: import("@loopback/core").BindingAddress<ValueType_9>, optionsOrSession?: import("@loopback/core").ResolutionOptionsOrSession | undefined) => import("@loopback/core").ValueOrPromise<ValueType_9 | undefined>;
|
|
89
|
+
toJSON: () => import("@loopback/core").JSONObject;
|
|
90
|
+
inspect: (options?: import("@loopback/core").ContextInspectOptions | undefined) => import("@loopback/core").JSONObject;
|
|
91
91
|
on: {
|
|
92
|
-
(eventName: "bind" | "unbind", listener:
|
|
92
|
+
(eventName: "bind" | "unbind", listener: import("@loopback/core").ContextEventListener): Application;
|
|
93
93
|
(event: string | symbol, listener: (...args: any[]) => void): Application;
|
|
94
94
|
};
|
|
95
95
|
once: {
|
|
96
|
-
(eventName: "bind" | "unbind", listener:
|
|
96
|
+
(eventName: "bind" | "unbind", listener: import("@loopback/core").ContextEventListener): Application;
|
|
97
97
|
(event: string | symbol, listener: (...args: any[]) => void): Application;
|
|
98
98
|
};
|
|
99
99
|
addListener: (event: string | symbol, listener: (...args: any[]) => void) => Application;
|
|
@@ -105,7 +105,7 @@ export declare function BootMixin<T extends MixinTarget<Application>>(superClass
|
|
|
105
105
|
listeners: (event: string | symbol) => Function[];
|
|
106
106
|
rawListeners: (event: string | symbol) => Function[];
|
|
107
107
|
emit: (event: string | symbol, ...args: any[]) => boolean;
|
|
108
|
-
listenerCount: (
|
|
108
|
+
listenerCount: (event: string | symbol) => number;
|
|
109
109
|
prependListener: (event: string | symbol, listener: (...args: any[]) => void) => Application;
|
|
110
110
|
prependOnceListener: (event: string | symbol, listener: (...args: any[]) => void) => Application;
|
|
111
111
|
eventNames: () => (string | symbol)[];
|
|
@@ -121,7 +121,7 @@ export declare function BootMixin<T extends MixinTarget<Application>>(superClass
|
|
|
121
121
|
|
|
122
122
|
<b>Returns:</b>
|
|
123
123
|
|
|
124
|
-
{ new (...args: any\[\]): { projectRoot: string; bootOptions?: [BootOptions](./boot.bootoptions.md) \| undefined; booted: boolean; start(): Promise<void>; boot(): Promise<void>; booters(...booterCls: [Constructor](./context.constructor.md)<!-- --><[Booter](./boot.booter.md)<!-- -->>\[\]): [Binding](./context.binding.md)<!-- -->\[\]; applicationBooter(subApp: [Application](./core.application.md) & [Bootable](./boot.bootable.md)<!-- -->, filter?: [BindingFilter](./context.bindingfilter.md) \| undefined): [Binding](./context.binding.md)<!-- --><[Booter](./boot.booter.md)<!-- -->>; component<C extends [Component](./core.component.md) = [Component](./core.component.md)<!-- -->>(componentCtor: [Constructor](./context.constructor.md)<!-- --><C>, nameOrOptions?: string \| [BindingFromClassOptions](./context.bindingfromclassoptions.md) \| undefined): [Binding](./context.binding.md)<!-- --><C>; mountComponentBooters(componentInstanceOrClass: [Constructor](./context.constructor.md)<!-- --><unknown> \| [InstanceWithBooters](./boot.instancewithbooters.md)<!-- -->): void; readonly options: loopbackContext.[ApplicationConfig](./core.applicationconfig.md)<!-- -->; readonly state: string; controller: <T\_1>(controllerCtor: loopbackContext.[ControllerClass](./core.controllerclass.md)<!-- --><T\_1>, nameOrOptions?: string \| [BindingFromClassOptions](./context.bindingfromclassoptions.md) \| undefined) => [Binding](./context.binding.md)<!-- --><T\_1>; server: <T\_2 extends loopbackContext.[Server](./core.server.md)<!-- -->>(ctor: [Constructor](./context.constructor.md)<!-- --><T\_2>, nameOrOptions?: string \| [BindingFromClassOptions](./context.bindingfromclassoptions.md) \| undefined) => [Binding](./context.binding.md)<!-- --><T\_2>; servers: <T\_3 extends loopbackContext.[Server](./core.server.md)<!-- -->>(ctors: [Constructor](./context.constructor.md)<!-- --><T\_3>\[\]) => [Binding](./context.binding.md)<!-- --><any>\[\]; getServer: <T\_4 extends loopbackContext.[Server](./core.server.md)<!-- -->>(target: string \| [Constructor](./context.constructor.md)<!-- --><T\_4>) => Promise<T\_4>; init: () => Promise<void>; onInit: (fn: () => loopbackContext.[ValueOrPromise](./context.valueorpromise.md)<!-- --><void>) => [Binding](./context.binding.md)<!-- --><loopbackContext.[LifeCycleObserver](./core.lifecycleobserver.md)<!-- -->>; onStart: (fn: () => loopbackContext.[ValueOrPromise](./context.valueorpromise.md)<!-- --><void>) => [Binding](./context.binding.md)<!-- --><loopbackContext.[LifeCycleObserver](./core.lifecycleobserver.md)<!-- -->>; stop: () => Promise<void>; onStop: (fn: () => loopbackContext.[ValueOrPromise](./context.valueorpromise.md)<!-- --><void>) => [Binding](./context.binding.md)<!-- --><loopbackContext.[LifeCycleObserver](./core.lifecycleobserver.md)<!-- -->>; setMetadata: (metadata: loopbackContext.[ApplicationMetadata](./core.applicationmetadata.md)<!-- -->) => void; lifeCycleObserver: <T\_5 extends loopbackContext.[LifeCycleObserver](./core.lifecycleobserver.md)<!-- -->>(ctor: [Constructor](./context.constructor.md)<!-- --><T\_5>, nameOrOptions?: string \| [BindingFromClassOptions](./context.bindingfromclassoptions.md) \| undefined) => [Binding](./context.binding.md)<!-- --><T\_5>; service: <S>(cls: loopbackContext.[ServiceOrProviderClass](./core.serviceorproviderclass.md)<!-- --><S>, nameOrOptions?: string \| loopbackContext.[ServiceOptions](./core.serviceoptions.md) \| undefined) => [Binding](./context.binding.md)<!-- --><S>; interceptor: (interceptor: loopbackContext.[Interceptor](./context.interceptor.md) \| [Constructor](./context.constructor.md)<!-- --><loopbackContext.[Provider](./context.provider.md)<!-- --><loopbackContext.[Interceptor](./context.interceptor.md)<!-- -->>>, nameOrOptions?: string \| loopbackContext.[InterceptorBindingOptions](./context.interceptorbindingoptions.md) \| undefined) => [Binding](./context.binding.md)<!-- --><loopbackContext.[Interceptor](./context.interceptor.md)<!-- -->>; readonly name: string; readonly subscriptionManager: loopbackContext.[ContextSubscriptionManager](./context.contextsubscriptionmanager.md)<!-- -->; scope: [BindingScope](./context.bindingscope.md)<!-- -->; readonly parent: [Context](./context.context.md) \| undefined; emitEvent: <T\_6 extends loopbackContext.[ContextEvent](./context.contextevent.md)<!-- -->>(type: string, event: T\_6) => void; emitError: (err: unknown) => void; bind: <ValueType = any>(key: loopbackContext.[BindingAddress](./context.bindingaddress.md)<!-- --><ValueType>) => [Binding](./context.binding.md)<!-- --><ValueType>; add: (binding: [Binding](./context.binding.md)<!-- --><unknown>) => [Application](./core.application.md)<!-- -->; configure: <ConfigValueType = any>(key?: loopbackContext.[BindingAddress](./context.bindingaddress.md)<!-- --><unknown> \| undefined) => [Binding](./context.binding.md)<!-- --><ConfigValueType>; getConfigAsValueOrPromise: <ConfigValueType\_1>(key: loopbackContext.[BindingAddress](./context.bindingaddress.md)<!-- --><unknown>, propertyPath?: string \| undefined, resolutionOptions?: loopbackContext.[ResolutionOptions](./context.resolutionoptions.md) \| undefined) => loopbackContext.[ValueOrPromise](./context.valueorpromise.md)<!-- --><ConfigValueType\_1 \| undefined>; getConfig: <ConfigValueType\_2>(key: loopbackContext.[BindingAddress](./context.bindingaddress.md)<!-- --><unknown>, propertyPath?: string \| undefined, resolutionOptions?: loopbackContext.[ResolutionOptions](./context.resolutionoptions.md) \| undefined) => Promise<ConfigValueType\_2 \| undefined>; getConfigSync: <ConfigValueType\_3>(key: loopbackContext.[BindingAddress](./context.bindingaddress.md)<!-- --><unknown>, propertyPath?: string \| undefined, resolutionOptions?: loopbackContext.[ResolutionOptions](./context.resolutionoptions.md) \| undefined) => ConfigValueType\_3 \| undefined; unbind: (key: loopbackContext.[BindingAddress](./context.bindingaddress.md)<!-- --><unknown>) => boolean; subscribe: (observer: loopbackContext.[ContextEventObserver](./context.contexteventobserver.md)<!-- -->) => loopbackContext.[Subscription](./context.subscription.md)<!-- -->; unsubscribe: (observer: loopbackContext.[ContextEventObserver](./context.contexteventobserver.md)<!-- -->) => boolean; close: () => void; isSubscribed: (observer: loopbackContext.[ContextObserver](./context.contextobserver.md)<!-- -->) => boolean; createView: <T\_7 = unknown>(filter: [BindingFilter](./context.bindingfilter.md)<!-- -->, comparator?: loopbackContext.[BindingComparator](./context.bindingcomparator.md) \| undefined, options?: Omit<loopbackContext.[ResolutionOptions](./context.resolutionoptions.md)<!-- -->, "session"> \| undefined) => loopbackContext.[ContextView](./context.contextview.md)<!-- --><T\_7>; contains: (key: loopbackContext.[BindingAddress](./context.bindingaddress.md)<!-- --><unknown>) => boolean; isBound: (key: loopbackContext.[BindingAddress](./context.bindingaddress.md)<!-- --><unknown>) => boolean; getOwnerContext: (keyOrBinding: Readonly<[Binding](./context.binding.md)<!-- --><unknown>> \| loopbackContext.[BindingAddress](./context.bindingaddress.md)<!-- --><unknown>) => [Context](./context.context.md) \| undefined; getScopedContext: (scope: [BindingScope.APPLICATION](./context.bindingscope.md) \| [BindingScope.SERVER](./context.bindingscope.md) \| [BindingScope.REQUEST](./context.bindingscope.md)<!-- -->) => [Context](./context.context.md) \| undefined; getResolutionContext: (binding: Readonly<[Binding](./context.binding.md)<!-- --><unknown>>) => [Context](./context.context.md) \| undefined; isVisibleTo: (ctx: [Context](./context.context.md)<!-- -->) => boolean; find: <ValueType\_1 = any>(pattern?: string \| RegExp \| [BindingFilter](./context.bindingfilter.md) \| undefined) => Readonly<[Binding](./context.binding.md)<!-- --><ValueType\_1>>\[\]; findByTag: <ValueType\_2 = any>(tagFilter: RegExp \| loopbackContext.[BindingTag](./context.bindingtag.md)<!-- -->) => Readonly<[Binding](./context.binding.md)<!-- --><ValueType\_2>>\[\]; get: { <ValueType\_3>(keyWithPath: loopbackContext.[BindingAddress](./context.bindingaddress.md)<!-- --><ValueType\_3>, session?: loopbackContext.[ResolutionSession](./context.resolutionsession.md) \| undefined): Promise<ValueType\_3>; <ValueType\_4>(keyWithPath: loopbackContext.[BindingAddress](./context.bindingaddress.md)<!-- --><ValueType\_4>, options: loopbackContext.[ResolutionOptions](./context.resolutionoptions.md)<!-- -->): Promise<ValueType\_4 \| undefined>; }; getSync: { <ValueType\_5>(keyWithPath: loopbackContext.[BindingAddress](./context.bindingaddress.md)<!-- --><ValueType\_5>, session?: loopbackContext.[ResolutionSession](./context.resolutionsession.md) \| undefined): ValueType\_5; <ValueType\_6>(keyWithPath: loopbackContext.[BindingAddress](./context.bindingaddress.md)<!-- --><ValueType\_6>, options?: loopbackContext.[ResolutionOptions](./context.resolutionoptions.md) \| undefined): ValueType\_6 \| undefined; }; getBinding: { <ValueType\_7 = any>(key: loopbackContext.[BindingAddress](./context.bindingaddress.md)<!-- --><ValueType\_7>): [Binding](./context.binding.md)<!-- --><ValueType\_7>; <ValueType\_8>(key: loopbackContext.[BindingAddress](./context.bindingaddress.md)<!-- --><ValueType\_8>, options?: { optional?: boolean \| undefined; } \| undefined): [Binding](./context.binding.md)<!-- --><ValueType\_8> \| undefined; }; findOrCreateBinding: <T\_8>(key: loopbackContext.[BindingAddress](./context.bindingaddress.md)<!-- --><T\_8>, policy?: loopbackContext.[BindingCreationPolicy](./context.bindingcreationpolicy.md) \| undefined) => [Binding](./context.binding.md)<!-- --><T\_8>; getValueOrPromise: <ValueType\_9>(keyWithPath: loopbackContext.[BindingAddress](./context.bindingaddress.md)<!-- --><ValueType\_9>, optionsOrSession?: loopbackContext.[ResolutionOptionsOrSession](./context.resolutionoptionsorsession.md) \| undefined) => loopbackContext.[ValueOrPromise](./context.valueorpromise.md)<!-- --><ValueType\_9 \| undefined>; toJSON: () => loopbackContext.[JSONObject](./context.jsonobject.md)<!-- -->; inspect: (options?: loopbackContext.[ContextInspectOptions](./context.contextinspectoptions.md) \| undefined) => 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\[\]) => 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\[\]) => void): [Application](./core.application.md)<!-- -->; }; addListener: (event: string \| symbol, listener: (...args: any\[\]) => void) => [Application](./core.application.md)<!-- -->; removeListener: (event: string \| symbol, listener: (...args: any\[\]) => void) => [Application](./core.application.md)<!-- -->; off: (event: string \| symbol, listener: (...args: any\[\]) => void) => [Application](./core.application.md)<!-- -->; removeAllListeners: (event?: string \| symbol \| undefined) => [Application](./core.application.md)<!-- -->; setMaxListeners: (n: number) => [Application](./core.application.md)<!-- -->; getMaxListeners: () => number; listeners: (event: string \| symbol) => Function\[\]; rawListeners: (event: string \| symbol) => Function\[\]; emit: (event: string \| symbol, ...args: any\[\]) => boolean; listenerCount: (type: string \| symbol) => number; prependListener: (event: string \| symbol, listener: (...args: any\[\]) => void) => [Application](./core.application.md)<!-- -->; prependOnceListener: (event: string \| symbol, listener: (...args: any\[\]) => void) => [Application](./core.application.md)<!-- -->; eventNames: () => (string \| symbol)\[\]; }; } & T
|
|
124
|
+
{ new (...args: any\[\]): { projectRoot: string; bootOptions?: [BootOptions](./boot.bootoptions.md) \| undefined; booted: boolean; start(): Promise<void>; boot(): Promise<void>; booters(...booterCls: [Constructor](./context.constructor.md)<!-- --><[Booter](./boot.booter.md)<!-- -->>\[\]): [Binding](./context.binding.md)<!-- -->\[\]; applicationBooter(subApp: [Application](./core.application.md) & [Bootable](./boot.bootable.md)<!-- -->, filter?: [BindingFilter](./context.bindingfilter.md)<!-- -->): [Binding](./context.binding.md)<!-- --><[Booter](./boot.booter.md)<!-- -->>; component<C extends [Component](./core.component.md) = [Component](./core.component.md)<!-- -->>(componentCtor: [Constructor](./context.constructor.md)<!-- --><C>, nameOrOptions?: string \| [BindingFromClassOptions](./context.bindingfromclassoptions.md)<!-- -->): [Binding](./context.binding.md)<!-- --><C>; mountComponentBooters(componentInstanceOrClass: [Constructor](./context.constructor.md)<!-- --><unknown> \| [InstanceWithBooters](./boot.instancewithbooters.md)<!-- -->): void; readonly options: import("@loopback/core").[ApplicationConfig](./core.applicationconfig.md)<!-- -->; readonly state: string; controller: <T\_1>(controllerCtor: import("@loopback/core").[ControllerClass](./core.controllerclass.md)<!-- --><T\_1>, nameOrOptions?: string \| [BindingFromClassOptions](./context.bindingfromclassoptions.md) \| undefined) => [Binding](./context.binding.md)<!-- --><T\_1>; server: <T\_2 extends import("@loopback/core").[Server](./core.server.md)<!-- -->>(ctor: [Constructor](./context.constructor.md)<!-- --><T\_2>, nameOrOptions?: string \| [BindingFromClassOptions](./context.bindingfromclassoptions.md) \| undefined) => [Binding](./context.binding.md)<!-- --><T\_2>; servers: <T\_3 extends import("@loopback/core").[Server](./core.server.md)<!-- -->>(ctors: [Constructor](./context.constructor.md)<!-- --><T\_3>\[\]) => [Binding](./context.binding.md)<!-- --><any>\[\]; getServer: <T\_4 extends import("@loopback/core").[Server](./core.server.md)<!-- -->>(target: string \| [Constructor](./context.constructor.md)<!-- --><T\_4>) => Promise<T\_4>; init: () => Promise<void>; onInit: (fn: () => import("@loopback/core").[ValueOrPromise](./context.valueorpromise.md)<!-- --><void>) => [Binding](./context.binding.md)<!-- --><import("@loopback/core").[LifeCycleObserver](./core.lifecycleobserver.md)<!-- -->>; onStart: (fn: () => import("@loopback/core").[ValueOrPromise](./context.valueorpromise.md)<!-- --><void>) => [Binding](./context.binding.md)<!-- --><import("@loopback/core").[LifeCycleObserver](./core.lifecycleobserver.md)<!-- -->>; stop: () => Promise<void>; onStop: (fn: () => import("@loopback/core").[ValueOrPromise](./context.valueorpromise.md)<!-- --><void>) => [Binding](./context.binding.md)<!-- --><import("@loopback/core").[LifeCycleObserver](./core.lifecycleobserver.md)<!-- -->>; setMetadata: (metadata: import("@loopback/core").[ApplicationMetadata](./core.applicationmetadata.md)<!-- -->) => void; lifeCycleObserver: <T\_5 extends import("@loopback/core").[LifeCycleObserver](./core.lifecycleobserver.md)<!-- -->>(ctor: [Constructor](./context.constructor.md)<!-- --><T\_5>, nameOrOptions?: string \| [BindingFromClassOptions](./context.bindingfromclassoptions.md) \| undefined) => [Binding](./context.binding.md)<!-- --><T\_5>; service: <S>(cls: import("@loopback/core").[ServiceOrProviderClass](./core.serviceorproviderclass.md)<!-- --><S>, nameOrOptions?: string \| import("@loopback/core").[ServiceOptions](./core.serviceoptions.md) \| undefined) => [Binding](./context.binding.md)<!-- --><S>; interceptor: (interceptor: import("@loopback/core").[Interceptor](./context.interceptor.md) \| [Constructor](./context.constructor.md)<!-- --><import("@loopback/core").[Provider](./context.provider.md)<!-- --><import("@loopback/core").[Interceptor](./context.interceptor.md)<!-- -->>>, nameOrOptions?: string \| import("@loopback/core").[InterceptorBindingOptions](./context.interceptorbindingoptions.md) \| undefined) => [Binding](./context.binding.md)<!-- --><import("@loopback/core").[Interceptor](./context.interceptor.md)<!-- -->>; readonly name: string; readonly subscriptionManager: import("@loopback/core").[ContextSubscriptionManager](./context.contextsubscriptionmanager.md)<!-- -->; scope: [BindingScope](./context.bindingscope.md)<!-- -->; readonly parent: [Context](./context.context.md) \| undefined; emitEvent: <T\_6 extends import("@loopback/core").[ContextEvent](./context.contextevent.md)<!-- -->>(type: string, event: T\_6) => void; emitError: (err: unknown) => void; bind: <ValueType = any>(key: import("@loopback/core").[BindingAddress](./context.bindingaddress.md)<!-- --><ValueType>) => [Binding](./context.binding.md)<!-- --><ValueType>; add: (binding: [Binding](./context.binding.md)<!-- --><unknown>) => [Application](./core.application.md)<!-- -->; configure: <ConfigValueType = any>(key?: import("@loopback/core").[BindingAddress](./context.bindingaddress.md)<!-- --><unknown> \| undefined) => [Binding](./context.binding.md)<!-- --><ConfigValueType>; getConfigAsValueOrPromise: <ConfigValueType\_1>(key: import("@loopback/core").[BindingAddress](./context.bindingaddress.md)<!-- --><unknown>, propertyPath?: string \| undefined, resolutionOptions?: import("@loopback/core").[ResolutionOptions](./context.resolutionoptions.md) \| undefined) => import("@loopback/core").[ValueOrPromise](./context.valueorpromise.md)<!-- --><ConfigValueType\_1 \| undefined>; getConfig: <ConfigValueType\_2>(key: import("@loopback/core").[BindingAddress](./context.bindingaddress.md)<!-- --><unknown>, propertyPath?: string \| undefined, resolutionOptions?: import("@loopback/core").[ResolutionOptions](./context.resolutionoptions.md) \| undefined) => Promise<ConfigValueType\_2 \| undefined>; getConfigSync: <ConfigValueType\_3>(key: import("@loopback/core").[BindingAddress](./context.bindingaddress.md)<!-- --><unknown>, propertyPath?: string \| undefined, resolutionOptions?: import("@loopback/core").[ResolutionOptions](./context.resolutionoptions.md) \| undefined) => ConfigValueType\_3 \| undefined; unbind: (key: import("@loopback/core").[BindingAddress](./context.bindingaddress.md)<!-- --><unknown>) => boolean; subscribe: (observer: import("@loopback/core").[ContextEventObserver](./context.contexteventobserver.md)<!-- -->) => import("@loopback/core").[Subscription](./context.subscription.md)<!-- -->; unsubscribe: (observer: import("@loopback/core").[ContextEventObserver](./context.contexteventobserver.md)<!-- -->) => boolean; close: () => void; isSubscribed: (observer: import("@loopback/core").[ContextObserver](./context.contextobserver.md)<!-- -->) => boolean; createView: <T\_7 = unknown>(filter: [BindingFilter](./context.bindingfilter.md)<!-- -->, comparator?: import("@loopback/core").[BindingComparator](./context.bindingcomparator.md) \| undefined, options?: Omit<import("@loopback/core").[ResolutionOptions](./context.resolutionoptions.md)<!-- -->, "session"> \| undefined) => import("@loopback/core").[ContextView](./context.contextview.md)<!-- --><T\_7>; contains: (key: import("@loopback/core").[BindingAddress](./context.bindingaddress.md)<!-- --><unknown>) => boolean; isBound: (key: import("@loopback/core").[BindingAddress](./context.bindingaddress.md)<!-- --><unknown>) => boolean; getOwnerContext: (keyOrBinding: Readonly<[Binding](./context.binding.md)<!-- --><unknown>> \| import("@loopback/core").[BindingAddress](./context.bindingaddress.md)<!-- --><unknown>) => [Context](./context.context.md) \| undefined; getScopedContext: (scope: [BindingScope.APPLICATION](./context.bindingscope.md) \| [BindingScope.SERVER](./context.bindingscope.md) \| [BindingScope.REQUEST](./context.bindingscope.md)<!-- -->) => [Context](./context.context.md) \| undefined; getResolutionContext: (binding: Readonly<[Binding](./context.binding.md)<!-- --><unknown>>) => [Context](./context.context.md) \| undefined; isVisibleTo: (ctx: [Context](./context.context.md)<!-- -->) => boolean; find: <ValueType\_1 = any>(pattern?: string \| RegExp \| [BindingFilter](./context.bindingfilter.md) \| undefined) => Readonly<[Binding](./context.binding.md)<!-- --><ValueType\_1>>\[\]; findByTag: <ValueType\_2 = any>(tagFilter: RegExp \| import("@loopback/core").[BindingTag](./context.bindingtag.md)<!-- -->) => Readonly<[Binding](./context.binding.md)<!-- --><ValueType\_2>>\[\]; get: { <ValueType\_3>(keyWithPath: import("@loopback/core").[BindingAddress](./context.bindingaddress.md)<!-- --><ValueType\_3>, session?: import("@loopback/core").[ResolutionSession](./context.resolutionsession.md) \| undefined): Promise<ValueType\_3>; <ValueType\_4>(keyWithPath: import("@loopback/core").[BindingAddress](./context.bindingaddress.md)<!-- --><ValueType\_4>, options: import("@loopback/core").[ResolutionOptions](./context.resolutionoptions.md)<!-- -->): Promise<ValueType\_4 \| undefined>; }; getSync: { <ValueType\_5>(keyWithPath: import("@loopback/core").[BindingAddress](./context.bindingaddress.md)<!-- --><ValueType\_5>, session?: import("@loopback/core").[ResolutionSession](./context.resolutionsession.md) \| undefined): ValueType\_5; <ValueType\_6>(keyWithPath: import("@loopback/core").[BindingAddress](./context.bindingaddress.md)<!-- --><ValueType\_6>, options?: import("@loopback/core").[ResolutionOptions](./context.resolutionoptions.md) \| undefined): ValueType\_6 \| undefined; }; getBinding: { <ValueType\_7 = any>(key: import("@loopback/core").[BindingAddress](./context.bindingaddress.md)<!-- --><ValueType\_7>): [Binding](./context.binding.md)<!-- --><ValueType\_7>; <ValueType\_8>(key: import("@loopback/core").[BindingAddress](./context.bindingaddress.md)<!-- --><ValueType\_8>, options?: { optional?: boolean \| undefined; } \| undefined): [Binding](./context.binding.md)<!-- --><ValueType\_8> \| undefined; }; findOrCreateBinding: <T\_8>(key: import("@loopback/core").[BindingAddress](./context.bindingaddress.md)<!-- --><T\_8>, policy?: import("@loopback/core").[BindingCreationPolicy](./context.bindingcreationpolicy.md) \| undefined) => [Binding](./context.binding.md)<!-- --><T\_8>; getValueOrPromise: <ValueType\_9>(keyWithPath: import("@loopback/core").[BindingAddress](./context.bindingaddress.md)<!-- --><ValueType\_9>, optionsOrSession?: import("@loopback/core").[ResolutionOptionsOrSession](./context.resolutionoptionsorsession.md) \| undefined) => import("@loopback/core").[ValueOrPromise](./context.valueorpromise.md)<!-- --><ValueType\_9 \| undefined>; toJSON: () => import("@loopback/core").[JSONObject](./context.jsonobject.md)<!-- -->; inspect: (options?: import("@loopback/core").[ContextInspectOptions](./context.contextinspectoptions.md) \| undefined) => import("@loopback/core").[JSONObject](./context.jsonobject.md)<!-- -->; on: { (eventName: "bind" \| "unbind", listener: import("@loopback/core").[ContextEventListener](./context.contexteventlistener.md)<!-- -->): [Application](./core.application.md)<!-- -->; (event: string \| symbol, listener: (...args: any\[\]) => void): [Application](./core.application.md)<!-- -->; }; once: { (eventName: "bind" \| "unbind", listener: import("@loopback/core").[ContextEventListener](./context.contexteventlistener.md)<!-- -->): [Application](./core.application.md)<!-- -->; (event: string \| symbol, listener: (...args: any\[\]) => void): [Application](./core.application.md)<!-- -->; }; addListener: (event: string \| symbol, listener: (...args: any\[\]) => void) => [Application](./core.application.md)<!-- -->; removeListener: (event: string \| symbol, listener: (...args: any\[\]) => void) => [Application](./core.application.md)<!-- -->; off: (event: string \| symbol, listener: (...args: any\[\]) => void) => [Application](./core.application.md)<!-- -->; removeAllListeners: (event?: string \| symbol \| undefined) => [Application](./core.application.md)<!-- -->; setMaxListeners: (n: number) => [Application](./core.application.md)<!-- -->; getMaxListeners: () => number; listeners: (event: string \| symbol) => Function\[\]; rawListeners: (event: string \| symbol) => Function\[\]; emit: (event: string \| symbol, ...args: any\[\]) => boolean; listenerCount: (event: string \| symbol) => number; prependListener: (event: string \| symbol, listener: (...args: any\[\]) => void) => [Application](./core.application.md)<!-- -->; prependOnceListener: (event: string \| symbol, listener: (...args: any\[\]) => void) => [Application](./core.application.md)<!-- -->; eventNames: () => (string \| symbol)\[\]; }; } & T
|
|
125
125
|
|
|
126
126
|
A new class that extends the super class with boot related methods
|
|
127
127
|
|
|
@@ -23,8 +23,8 @@ export interface InstanceWithBooters
|
|
|
23
23
|
|
|
24
24
|
## Properties
|
|
25
25
|
|
|
26
|
-
| Property | Type | Description |
|
|
27
|
-
| --- | --- | --- |
|
|
28
|
-
| [booters?](./boot.instancewithbooters.booters.md) | [Constructor](./context.constructor.md)<!-- --><[Booter](./boot.booter.md)<!-- -->>\[\] | <i>(Optional)</i> |
|
|
26
|
+
| Property | Modifiers | Type | Description |
|
|
27
|
+
| --- | --- | --- | --- |
|
|
28
|
+
| [booters?](./boot.instancewithbooters.booters.md) | | [Constructor](./context.constructor.md)<!-- --><[Booter](./boot.booter.md)<!-- -->>\[\] | <i>(Optional)</i> |
|
|
29
29
|
|
|
30
30
|
|
package/site/apidocs/boot.md
CHANGED
|
@@ -28,17 +28,17 @@ A Bootstrapper is needed to manage the Booters and execute them. This is provide
|
|
|
28
28
|
| Class | Description |
|
|
29
29
|
| --- | --- |
|
|
30
30
|
| [ApplicationMetadataBooter](./boot.applicationmetadatabooter.md) | Configure the application with metadata from <code>package.json</code> |
|
|
31
|
-
| [BaseArtifactBooter](./boot.baseartifactbooter.md) | This class serves as a base class for Booters which follow a pattern of configure, discover files in a folder(s) using explicit folder / extensions or a glob pattern and lastly identifying exported classes from such files and performing an action on such files such as binding them
|
|
31
|
+
| [BaseArtifactBooter](./boot.baseartifactbooter.md) | <p>This class serves as a base class for Booters which follow a pattern of configure, discover files in a folder(s) using explicit folder / extensions or a glob pattern and lastly identifying exported classes from such files and performing an action on such files such as binding them.</p><p>Any Booter extending this base class is expected to</p><p>1. Set the 'options' property to a object of ArtifactOptions type. (Each extending class should provide defaults for the ArtifactOptions and use Object.assign to merge the properties with user provided Options). 2. Provide it's own logic for 'load' after calling 'await super.load()' to actually boot the Artifact classes.</p><p>Currently supports the following boot phases: configure, discover, load.</p> |
|
|
32
32
|
| [BootComponent](./boot.bootcomponent.md) | BootComponent is used to export the default list of Booter's made available by this module as well as bind the BootStrapper to the app so it can be used to run the Booters. |
|
|
33
|
-
| [Bootstrapper](./boot.bootstrapper.md) | The Bootstrapper class provides the <code>boot</code> function that is responsible for finding and executing the Booters in an application based on given options
|
|
34
|
-
| [ControllerBooter](./boot.controllerbooter.md) | A class that extends BaseArtifactBooter to boot the 'Controller' artifact type. Discovered controllers are bound using <code>app.controller()</code
|
|
35
|
-
| [DataSourceBooter](./boot.datasourcebooter.md) | A class that extends BaseArtifactBooter to boot the 'DataSource' artifact type. Discovered DataSources are bound using <code>app.dataSource()</code
|
|
36
|
-
| [InterceptorProviderBooter](./boot.interceptorproviderbooter.md) | A class that extends BaseArtifactBooter to boot the 'InterceptorProvider' artifact type
|
|
37
|
-
| [LifeCycleObserverBooter](./boot.lifecycleobserverbooter.md) | A class that extends BaseArtifactBooter to boot the 'LifeCycleObserver' artifact type
|
|
33
|
+
| [Bootstrapper](./boot.bootstrapper.md) | <p>The Bootstrapper class provides the <code>boot</code> function that is responsible for finding and executing the Booters in an application based on given options.</p><p>NOTE: Bootstrapper should be bound as a SINGLETON so it can be cached as it does not maintain any state of it's own.</p> |
|
|
34
|
+
| [ControllerBooter](./boot.controllerbooter.md) | <p>A class that extends BaseArtifactBooter to boot the 'Controller' artifact type. Discovered controllers are bound using <code>app.controller()</code>.</p><p>Supported phases: configure, discover, load</p> |
|
|
35
|
+
| [DataSourceBooter](./boot.datasourcebooter.md) | <p>A class that extends BaseArtifactBooter to boot the 'DataSource' artifact type. Discovered DataSources are bound using <code>app.dataSource()</code>.</p><p>Supported phases: configure, discover, load</p> |
|
|
36
|
+
| [InterceptorProviderBooter](./boot.interceptorproviderbooter.md) | <p>A class that extends BaseArtifactBooter to boot the 'InterceptorProvider' artifact type.</p><p>Supported phases: configure, discover, load</p> |
|
|
37
|
+
| [LifeCycleObserverBooter](./boot.lifecycleobserverbooter.md) | <p>A class that extends BaseArtifactBooter to boot the 'LifeCycleObserver' artifact type.</p><p>Supported phases: configure, discover, load</p> |
|
|
38
38
|
| [ModelApiBooter](./boot.modelapibooter.md) | |
|
|
39
|
-
| [ModelBooter](./boot.modelbooter.md) | A class that extends BaseArtifactBooter to boot the 'Model' artifact type
|
|
40
|
-
| [RepositoryBooter](./boot.repositorybooter.md) | A class that extends BaseArtifactBooter to boot the 'Repository' artifact type. Discovered repositories are bound using <code>app.repository()</code> which must be added to an Application using the <code>RepositoryMixin</code> from <code>@loopback/repository</code
|
|
41
|
-
| [ServiceBooter](./boot.servicebooter.md) | A class that extends BaseArtifactBooter to boot the 'Service' artifact type. Discovered services are bound using <code>app.service()</code
|
|
39
|
+
| [ModelBooter](./boot.modelbooter.md) | <p>A class that extends BaseArtifactBooter to boot the 'Model' artifact type.</p><p>Supported phases: configure, discover, load</p> |
|
|
40
|
+
| [RepositoryBooter](./boot.repositorybooter.md) | <p>A class that extends BaseArtifactBooter to boot the 'Repository' artifact type. Discovered repositories are bound using <code>app.repository()</code> which must be added to an Application using the <code>RepositoryMixin</code> from <code>@loopback/repository</code>.</p><p>Supported phases: configure, discover, load</p> |
|
|
41
|
+
| [ServiceBooter](./boot.servicebooter.md) | <p>A class that extends BaseArtifactBooter to boot the 'Service' artifact type. Discovered services are bound using <code>app.service()</code>.</p><p>Supported phases: configure, discover, load</p> |
|
|
42
42
|
|
|
43
43
|
## Functions
|
|
44
44
|
|
|
@@ -58,7 +58,7 @@ A Bootstrapper is needed to manage the Booters and execute them. This is provide
|
|
|
58
58
|
| Interface | Description |
|
|
59
59
|
| --- | --- |
|
|
60
60
|
| [Bootable](./boot.bootable.md) | Interface to describe the additions made available to an Application that uses BootMixin. |
|
|
61
|
-
| [Booter](./boot.booter.md) | Defines the requirements to implement a Booter for LoopBack applications: - configure() - discover() - load()
|
|
61
|
+
| [Booter](./boot.booter.md) | <p>Defines the requirements to implement a Booter for LoopBack applications: - configure() - discover() - load()</p><p>A Booter will run through the above methods in order.</p> |
|
|
62
62
|
| [InstanceWithBooters](./boot.instancewithbooters.md) | Interface to describe an object that may have an array of <code>booters</code>. |
|
|
63
63
|
|
|
64
64
|
## Namespaces
|
|
@@ -31,9 +31,9 @@ export declare class ContextBinding
|
|
|
31
31
|
|
|
32
32
|
| Property | Modifiers | Type | Description |
|
|
33
33
|
| --- | --- | --- | --- |
|
|
34
|
-
| [binding](./context-explorer.contextbinding.binding.md) |
|
|
35
|
-
| [context](./context-explorer.contextbinding.context.md) |
|
|
36
|
-
| [id](./context-explorer.contextbinding.id.md) |
|
|
37
|
-
| [level](./context-explorer.contextbinding.level.md) |
|
|
34
|
+
| [binding](./context-explorer.contextbinding.binding.md) | <code>readonly</code> | [JSONObject](./context.jsonobject.md) | |
|
|
35
|
+
| [context](./context-explorer.contextbinding.context.md) | <code>readonly</code> | [JSONObject](./context.jsonobject.md) | |
|
|
36
|
+
| [id](./context-explorer.contextbinding.id.md) | <code>readonly</code> | string | |
|
|
37
|
+
| [level](./context-explorer.contextbinding.level.md) | <code>readonly</code> | number | |
|
|
38
38
|
|
|
39
39
|
|
|
@@ -33,7 +33,7 @@ export declare class ContextGraph
|
|
|
33
33
|
| --- | --- | --- |
|
|
34
34
|
| [build()](./context-explorer.contextgraph.build.md) | | Build a direct graph |
|
|
35
35
|
| [render()](./context-explorer.contextgraph.render.md) | | Render the context graph in graphviz dot format |
|
|
36
|
-
| [renderBinding(parent, { binding, id })](./context-explorer.contextgraph.renderbinding.md) |
|
|
37
|
-
| [renderConfig(parent, { binding, level, id })](./context-explorer.contextgraph.renderconfig.md) |
|
|
36
|
+
| [renderBinding(parent, { binding, id })](./context-explorer.contextgraph.renderbinding.md) | <code>protected</code> | Render a binding object |
|
|
37
|
+
| [renderConfig(parent, { binding, level, id })](./context-explorer.contextgraph.renderconfig.md) | <code>protected</code> | Create an edge for a binding to its configuration |
|
|
38
38
|
|
|
39
39
|
|