rest-client-sdk
Version:
Rest Client SDK for API
75 lines (74 loc) • 3.88 kB
TypeScript
import ClassMetadata from '../Mapping/ClassMetadata';
import SerializerInterface, { Entity, NormalizedObject, NormalizedList, EntityList } from './SerializerInterface';
declare class Serializer implements SerializerInterface {
/**
* convert an entity to a plain javascript object
* @param {object} entity - The entity to convert
* @param {ClassMetadata} classMetadata - the class metadata
* @return {object} the object to serialize
*/
normalizeItem(entity: Entity, classMetadata: ClassMetadata): NormalizedObject;
/**
* convert a plain javascript object to string
* @param {object} object - The object to convert to convert
* @param {ClassMetadata} classMetadata - the class metadata
* @return {string} the content of the request
*/
encodeItem(object: NormalizedObject, classMetadata: ClassMetadata): string;
/**
* convert an entity to string that will be sent as the request content
* @param {any} entity - The entity to convert
* @param {ClassMetadata} classMetadata - the class metadata
* @return {string} the content of the request
*/
serializeItem(object: Entity, classMetadata: ClassMetadata): string;
/**
* convert a plain object to an entity
* @param {object} object - The plain javascript object
* @param {ClassMetadata} classMetadata - the class metadata
* @param {Record<string, unknown>} response - the HTTP response
* @return {object} an entity
*/
denormalizeItem(object: NormalizedObject, classMetadata: ClassMetadata, response: Response): Entity;
/**
* convert a string containing an object to a plain javascript object
* @param {string} rawData - The string fetched from the response
* @param {ClassMetadata} classMetadata - the class metadata
* @param {Record<string, unknown>} response - the HTTP response
* @return {object} the normalized object
*/
decodeItem(rawData: string, classMetadata: ClassMetadata, response: Response): NormalizedObject;
/**
* convert a string containing an object to an entity
* @param {string} rawData - The string fetched from the response
* @param {ClassMetadata} classMetadata - the class metadata
* @param {Record<string, unknown>} response - the HTTP response
* @return {object} the entity
*/
deserializeItem(rawData: string, classMetadata: ClassMetadata, response: Response): Entity;
/**
* convert a plain object list to an entity list
* @param {Iterable<object>} objectList - The plain javascript object list (or an iterable object)
* @param {ClassMetadata} classMetadata - the class metadata
* @param {Record<string, unknown>} response - the HTTP response
* @return {Iterable<object>} a list of entities
*/
denormalizeList(objectList: NormalizedList, classMetadata: ClassMetadata, response: Response): EntityList;
/**
* convert a string containing a list of objects to a list of plain javascript objects
* @param {string} rawListData - The string fetched from the response
* @param {ClassMetadata} classMetadata - the class metadata
* @param {Record<string, unknown>} response - the HTTP response
* @return {Iterable<object>} a list of normalized objects
*/
decodeList(rawListData: string, classMetadata: ClassMetadata, response: Response): NormalizedList;
/**
* convert a string containing a list of objects to a list of entities
* @param {string} rawListData - The string fetched from the response
* @param {ClassMetadata} classMetadata - the class metadata
* @param {Record<string, unknown>} response - the HTTP response
* @return {Iterable<object>} a list of entities
*/
deserializeList(rawListData: string, classMetadata: ClassMetadata, response: Response): EntityList;
}
export default Serializer;