# ConverterService Class
Module | import { ConverterService } from "@tsed/common" |
---|---|
Source | /packages/common/src/converters/services/ConverterService.ts |
# Overview
class ConverterService {
<span class="token keyword">constructor</span><span class="token punctuation">(</span>injectorService<span class="token punctuation">:</span> <a href="/api/di/services/InjectorService.html"><span class="token">InjectorService</span></a><span class="token punctuation">,</span> configuration<span class="token punctuation">:</span> <a href="/api/di/decorators/Configuration.html"><span class="token">Configuration</span></a><span class="token punctuation">)</span><span class="token punctuation">;</span>
/**
* Return a JsonMetadata for a properties.
* @param properties
* @param propertyKey
* @returns <span class="token punctuation">{</span>undefined|V|<span class="token keyword">string</span>|<span class="token keyword">any</span>|T|IDBRequest<span class="token punctuation">}</span>
*/
<span class="token keyword">static</span> <span class="token function">getPropertyMetadata</span><span class="token punctuation">(</span>properties<span class="token punctuation">:</span> Map<<span class="token keyword">string</span> | symbol<span class="token punctuation">,</span> <a href="/api/common/mvc/models/PropertyMetadata.html"><span class="token">PropertyMetadata</span></a>><span class="token punctuation">,</span> propertyKey<span class="token punctuation">:</span> <span class="token keyword">string</span> | symbol<span class="token punctuation">)</span><span class="token punctuation">:</span> <a href="/api/common/mvc/models/PropertyMetadata.html"><span class="token">PropertyMetadata</span></a> | undefined<span class="token punctuation">;</span>
/**
* Convert instance to plainObject.
*
* ### <a href="/api/common/mvc/decorators/method/Options.html"><span class="token">Options</span></a>
*
* - `checkRequiredValue`<span class="token punctuation">:</span> Disable the required check condition.
*
* @param obj
* @param options
*/
<span class="token function">serialize</span><span class="token punctuation">(</span>obj<span class="token punctuation">:</span> <span class="token keyword">any</span><span class="token punctuation">,</span> options?<span class="token punctuation">:</span> <a href="/api/common/converters/interfaces/IConverterOptions.html"><span class="token">IConverterOptions</span></a><span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">any</span><span class="token punctuation">;</span>
/**
*
* @param obj
* @param <span class="token punctuation">{</span><a href="/api/common/converters/interfaces/IConverterOptions.html"><span class="token">IConverterOptions</span></a><span class="token punctuation">}</span> options
* @returns <span class="token punctuation">{</span><span class="token keyword">any</span><span class="token punctuation">}</span>
*/
<span class="token function">serializeClass</span><span class="token punctuation">(</span>obj<span class="token punctuation">:</span> <span class="token keyword">any</span><span class="token punctuation">,</span> options?<span class="token punctuation">:</span> <a href="/api/common/converters/interfaces/IConverterOptions.html"><span class="token">IConverterOptions</span></a><span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">any</span><span class="token punctuation">;</span>
/**
* Convert a plainObject to targetType.
*
* ### <a href="/api/common/mvc/decorators/method/Options.html"><span class="token">Options</span></a>
*
* - `ignoreCallback`<span class="token punctuation">:</span> callback called for each object which will be deserialized. The callback can return a <span class="token keyword">boolean</span> to avoid the default converter behavior.
* - `checkRequiredValue`<span class="token punctuation">:</span> Disable the required check condition.
*
* @param obj Object source that will be deserialized
* @param targetType <a href="/api/common/jsonschema/decorators/Pattern.html"><span class="token">Pattern</span></a> of the object deserialized
* @param baseType
* @param options
* @returns <span class="token punctuation">{</span><span class="token keyword">any</span><span class="token punctuation">}</span>
*/
<span class="token function">deserialize</span><span class="token punctuation">(</span>obj<span class="token punctuation">:</span> <span class="token keyword">any</span><span class="token punctuation">,</span> targetType<span class="token punctuation">:</span> <span class="token keyword">any</span><span class="token punctuation">,</span> baseType?<span class="token punctuation">:</span> <span class="token keyword">any</span><span class="token punctuation">,</span> options?<span class="token punctuation">:</span> <a href="/api/common/converters/interfaces/IConverterOptions.html"><span class="token">IConverterOptions</span></a><span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">any</span><span class="token punctuation">;</span>
/**
*
* @param targetType
* @returns <span class="token punctuation">{</span><span class="token keyword">any</span><span class="token punctuation">}</span>
*/
getConverter<T <span class="token keyword">extends</span> <a href="/api/common/converters/interfaces/IConverter.html"><span class="token">IConverter</span></a>><span class="token punctuation">(</span>targetType<span class="token punctuation">:</span> <span class="token keyword">any</span><span class="token punctuation">)</span><span class="token punctuation">:</span> T | undefined<span class="token punctuation">;</span>
/**
*
* @param <span class="token punctuation">{</span><a href="/api/core/interfaces/Type.html"><span class="token">Type</span></a><<span class="token keyword">any</span>><span class="token punctuation">}</span> target
* @returns <span class="token punctuation">{</span>"error" | "accept" | "ignore"<span class="token punctuation">}</span>
*/
<span class="token function">getAdditionalPropertiesLevel</span><span class="token punctuation">(</span>target<span class="token punctuation">:</span> <a href="/api/core/interfaces/Type.html"><span class="token">Type</span></a><<span class="token keyword">any</span>><span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token string">"error"</span> | "accept" | "ignore" | undefined<span class="token punctuation">;</span>
/**
*
* @param obj
* @param instance
* @param <span class="token punctuation">{</span><span class="token keyword">string</span><span class="token punctuation">}</span> propertyName
* @param <span class="token punctuation">{</span><a href="/api/common/mvc/models/PropertyMetadata.html"><span class="token">PropertyMetadata</span></a><span class="token punctuation">}</span> propertyMetadata
* @param options
*/
/**
* @deprecated
* @param instance
* @param <span class="token punctuation">{</span>Map<<span class="token keyword">string</span> | symbol<span class="token punctuation">,</span> <a href="/api/common/mvc/models/PropertyMetadata.html"><span class="token">PropertyMetadata</span></a>><span class="token punctuation">}</span> properties
*/
/**
*
* @param instance
* @param <span class="token punctuation">{</span><span class="token keyword">string</span><span class="token punctuation">}</span> propertyKey
* @param <span class="token punctuation">{</span><a href="/api/common/mvc/models/PropertyMetadata.html"><span class="token">PropertyMetadata</span></a> | undefined<span class="token punctuation">}</span> propertyMetadata
* @param options
*/
}
# Members
static getPropertyMetadata(properties: Map<string | symbol, PropertyMetadata>, propertyKey: string | symbol): PropertyMetadata | undefined;
Return a JsonMetadata for a properties.
serialize(obj: any, options?: IConverterOptions): any;
Convert instance to plainObject.
# Options
checkRequiredValue
: Disable the required check condition.
serializeClass(obj: any, options?: IConverterOptions): any;
deserialize(obj: any, targetType: any, baseType?: any, options?: IConverterOptions): any;
Param | Type | Description |
---|---|---|
obj | any | Object source that will be deserialized targetType |
Convert a plainObject to targetType.
# Options
ignoreCallback
: callback called for each object which will be deserialized. The callback can return a boolean to avoid the default converter behavior.checkRequiredValue
: Disable the required check condition.
getConverter<T extends IConverter>(targetType: any): T | undefined;
getAdditionalPropertiesLevel(target: Type<any>): "error" | "accept" | "ignore" | undefined;
- Session & cookies
- Passport.js
- TypeORM
- Mongoose
- GraphQL
- Socket.io
- Swagger
- AJV
- Multer
- Serve static files
- Templating
- Throw HTTP Exceptions
- Customize 404
- AWS
- Jest
- Seq
- Controllers
- Providers
- Model
- Converters
- Middlewares
- Pipes
- Interceptors
- Authentication
- Hooks
- Injection scopes
- Custom providers
- Custom endpoint decorator
- Testing