@loopback/docs
Version:
Documentation files rendered at [https://loopback.io](https://loopback.io)
81 lines (41 loc) • 2.03 kB
Markdown
---
lang: en
title: 'API docs: context.createbindingfromclass'
keywords: LoopBack 4.0, LoopBack 4, Node.js, TypeScript, OpenAPI
sidebar: lb4_sidebar
editurl: https://github.com/loopbackio/loopback-next/tree/master/packages/context
permalink: /doc/en/lb4/apidocs.context.createbindingfromclass.html
---
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) > [@loopback/context](./context.md) > [createBindingFromClass](./context.createbindingfromclass.md)
## createBindingFromClass() function
Create a binding from a class with decorated metadata. The class is attached to the binding as follows: - `binding.toClass(cls)`<!-- -->: if `cls` is a plain class such as `MyController` - `binding.toProvider(cls)`<!-- -->: if `cls` is a value provider class with a prototype method `value()` - `binding.toDynamicValue(cls)`<!-- -->: if `cls` is a dynamic value provider class with a static method `value()`
**Signature:**
```typescript
export declare function createBindingFromClass<T>(cls: Constructor<T | Provider<T>> | DynamicValueProviderClass<T>, options?: BindingFromClassOptions): Binding<T>;
```
## Parameters
<table><thead><tr><th>
Parameter
</th><th>
Type
</th><th>
Description
</th></tr></thead>
<tbody><tr><td markdown="1">
cls
</td><td markdown="1">
[Constructor](./context.constructor.md)<!-- --><T \| [Provider](./context.provider.md)<!-- --><T>> \| [DynamicValueProviderClass](./context.dynamicvalueproviderclass.md)<!-- --><T>
</td><td markdown="1">
A class. It can be either a plain class, a value provider class, or a dynamic value provider class
</td></tr>
<tr><td markdown="1">
options
</td><td markdown="1">
[BindingFromClassOptions](./context.bindingfromclassoptions.md)
</td><td markdown="1">
_(Optional)_ Options to customize the binding key
</td></tr>
</tbody></table>
**Returns:**
[Binding](./context.binding.md)<!-- --><T>