jsona
Version:
Provide data formatters (data model builder & json builder) to work with JSON API specification v1.0 in your JavaScript / TypeScript code
21 lines (20 loc) • 1.37 kB
TypeScript
import { IModelPropertiesMapper, IJsonPropertiesMapper, TAnyKeyValueObject, TJsonaModel, TJsonaRelationships, TJsonaRelationshipBuild, TJsonApiLinks, TResourceIdObj } from './JsonaTypes';
export declare const RELATIONSHIP_NAMES_PROP = "relationshipNames";
export declare class ModelPropertiesMapper implements IModelPropertiesMapper {
getId(model: TJsonaModel): any;
getType(model: TJsonaModel): any;
getAttributes(model: TJsonaModel): {};
getRelationships(model: TJsonaModel): {};
}
export declare function defineRelationGetter(model: any, relationName: any, buildRelation: TJsonaRelationshipBuild): void;
export declare class JsonPropertiesMapper implements IJsonPropertiesMapper {
createModel(type: string): TJsonaModel;
setId(model: TJsonaModel, id: string | number): void;
setAttributes(model: TJsonaModel, attributes: TAnyKeyValueObject): void;
setMeta(model: TJsonaModel, meta: TAnyKeyValueObject): void;
setLinks(model: TJsonaModel, links: TJsonApiLinks): void;
setResourceIdObjMeta(model: TJsonaModel, meta: TResourceIdObj): void;
setRelationships(model: TJsonaModel, relationships: TJsonaRelationships): void;
setRelationshipLinks(parentModel: TJsonaModel, relationName: string, links: TJsonApiLinks): void;
setRelationshipMeta(parentModel: TJsonaModel, relationName: string, links: TAnyKeyValueObject): void;
}