---
lang: en
title: 'API docs: core'
keywords: LoopBack 4.0, LoopBack 4
sidebar: lb4_sidebar
permalink: /doc/en/lb4/apidocs.core.html
---

<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[Home](./index.md) &gt; [@loopback/core](./core.md)

## core package

[@loopback/core](https://github.com/strongloop/loopback-next/tree/master/packages/core)

## Classes

|  Class | Description |
|  --- | --- |
|  [Application](./core.application.md) | Application is the container for various types of artifacts, such as components, servers, controllers, repositories, datasources, connectors, and models. |
|  [LifeCycleObserverRegistry](./core.lifecycleobserverregistry.md) | A context-based registry for life cycle observers |

## Functions

|  Function | Description |
|  --- | --- |
|  [addExtension(context, extensionPointName, extensionClass, options)](./core.addextension.md) | Register an extension for the given extension point to the context |
|  [asLifeCycleObserver(binding)](./core.aslifecycleobserver.md) | A <code>BindingTemplate</code> function to configure the binding as life cycle observer by tagging it with <code>CoreTags.LIFE_CYCLE_OBSERVER</code>. |
|  [extensionFilter(extensionPointName)](./core.extensionfilter.md) | A factory function to create binding filter for extensions of a named extension point |
|  [extensionFor(extensionPointName)](./core.extensionfor.md) | A factory function to create binding template for extensions of the given extension point |
|  [extensionPoint(name, specs)](./core.extensionpoint.md) | Decorate a class as a named extension point. If the decoration is not present, the name of the class will be used. |
|  [extensions(extensionPointName)](./core.extensions.md) | Shortcut to inject extensions for the given extension point. |
|  [isLifeCycleObserver(obj)](./core.islifecycleobserver.md) | Test if an object implements LifeCycleObserver |
|  [isLifeCycleObserverClass(ctor)](./core.islifecycleobserverclass.md) | Test if a class implements LifeCycleObserver |
|  [lifeCycleObserver(group, specs)](./core.lifecycleobserver.md) | Sugar decorator to mark a class as life cycle observer |
|  [lifeCycleObserverFilter(binding)](./core.lifecycleobserverfilter.md) | Find all life cycle observer bindings. By default, a binding tagged with <code>CoreTags.LIFE_CYCLE_OBSERVER</code>. It's used as <code>BindingFilter</code>. |
|  [mountComponent(app, component)](./core.mountcomponent.md) | Mount a component to an Application. |

## Interfaces

|  Interface | Description |
|  --- | --- |
|  [ApplicationConfig](./core.applicationconfig.md) | Configuration for application |
|  [ApplicationMetadata](./core.applicationmetadata.md) | Type description for <code>package.json</code> |
|  [ClassMap](./core.classmap.md) | A map of classes to be bound to a context |
|  [Component](./core.component.md) | A component declares a set of artifacts so that they cane be contributed to an application as a group |
|  [JSONArray](./core.jsonarray.md) |  |
|  [JSONObject](./core.jsonobject.md) |  |
|  [LifeCycleObserver](./core.lifecycleobserver.md) | Observers to handle life cycle start/stop events |
|  [ProviderMap](./core.providermap.md) | A map of provider classes to be bound to a context |
|  [Server](./core.server.md) | Defines the requirements to implement a Server for LoopBack applications: start() : Promise<void> stop() : Promise<void> It is recommended that each Server implementation creates its own child Context, which inherits from the parent Application context. This way, any Server-specific bindings will remain local to the Server instance, and will avoid polluting its parent module scope. |

## Namespaces

|  Namespace | Description |
|  --- | --- |
|  [CoreBindings](./core.corebindings.md) | Namespace for core binding keys |
|  [CoreTags](./core.coretags.md) |  |

## Variables

|  Variable | Description |
|  --- | --- |
|  [DEFAULT\_ORDERED\_GROUPS](./core.default_ordered_groups.md) |  |

## Type Aliases

|  Type Alias | Description |
|  --- | --- |
|  [ControllerClass](./core.controllerclass.md) |  |
|  [JSONPrimitive](./core.jsonprimitive.md) | Type definition for JSON |
|  [JSONValue](./core.jsonvalue.md) |  |
|  [LifeCycleObserverGroup](./core.lifecycleobservergroup.md) | A group of life cycle observers |
|  [LifeCycleObserverOptions](./core.lifecycleobserveroptions.md) |  |


