export interface IBaseResponse { data: T; head?: string; link?: string; paging?: IPaging; } export class BaseResponse implements IBaseResponse { public data: T; public head: string; public link: string; public paging: IPaging; constructor(data: IBaseResponse) { (Object as any).entries(data).map(([key, value]) => { if (BaseResponse.hasOwnProperty(key)) { this[key] = value; } }); } } export interface IPaging { limit: number; start: number; next: string; } export interface BaseHeader { signer_public_key: string; } export interface BaseData { header: T; header_signature: string; }