jsona
Version:
Provide data formatters (data model builder & json builder) to work with JSON API specification v1.0 in your JavaScript / TypeScript code
22 lines (21 loc) • 1.35 kB
TypeScript
import { TJsonaModel, TJsonApiBody, TJsonApiData, TJsonaDenormalizedIncludeNames, TJsonaNormalizedIncludeNamesTree, TJsonaUniqueIncluded, IModelPropertiesMapper, IModelsSerializer } from '../JsonaTypes';
export declare class ModelsSerializer implements IModelsSerializer {
protected propertiesMapper: IModelPropertiesMapper;
protected stuff: TJsonaModel | Array<TJsonaModel>;
protected includeNamesTree: TJsonaNormalizedIncludeNamesTree;
private buildIncludedIndex;
constructor(propertiesMapper?: IModelPropertiesMapper);
setPropertiesMapper(propertiesMapper: IModelPropertiesMapper): void;
setStuff(stuff: TJsonaModel | TJsonaModel[]): void;
setIncludeNames(includeNames: TJsonaDenormalizedIncludeNames | TJsonaNormalizedIncludeNamesTree): void;
build(): TJsonApiBody;
buildDataByModel(model: TJsonaModel | null): TJsonApiData;
buildResourceObjectPart(relation: TJsonaModel): {
id?: string | number;
type: string;
};
buildRelationshipsByModel(model: TJsonaModel): {};
buildIncludedByModel(model: TJsonaModel, includeTree: TJsonaNormalizedIncludeNamesTree, builtIncluded?: TJsonaUniqueIncluded): void;
buildIncludedItem(relationModel: TJsonaModel, subIncludeTree: TJsonaNormalizedIncludeNamesTree, builtIncluded: TJsonaUniqueIncluded): void;
}
export default ModelsSerializer;