node-fractal
Version:
Output complex, flexible, AJAX/RESTful data structures.
23 lines (22 loc) • 955 B
TypeScript
import { TransformerAbstract } from '..';
import { ResourceInterface } from './interface';
declare type Transformer<T> = (data: T) => any;
declare type Meta = Record<string, any>;
export declare abstract class ResourceAbstract<T extends Record<string, any>> implements ResourceInterface {
protected data: T | T[];
protected meta: Meta;
protected resourceKey: string;
protected transformer: Transformer<T> | TransformerAbstract;
constructor(data: T | T[], transformer: Transformer<T> | TransformerAbstract, resourceKey?: string);
getResourceKey(): string;
setResourceKey(resourceKey: string): this;
getMeta(): Meta;
setMeta(meta: Meta): this;
getMetaValue(metaKey: string): any;
setMetaValue(metaKey: string, metaValue: any): this;
getData(): T | T[];
setData(data: T): this;
getTransformer(): Transformer<T> | TransformerAbstract;
setTransformer(transformer: Transformer<T>): this;
}
export {};