mock-table-data
Version:
mock api 내에서 table row data를 생성 및 관리하기(CRUD) 위한 라이브러리 입니다.
47 lines (46 loc) • 1.95 kB
TypeScript
export declare type ConditionItem = {
[key: string]: any;
type?: 'string' | 'number' | 'boolean';
required?: boolean;
like?: boolean;
};
export declare type TableDataOptions = {
primaryKey?: string;
dataProcessing?: (dataSource: Record<string, any>[]) => Record<string, any>[];
};
export interface TableMetaData {
result: Record<string, any>[];
meta: {
totalCount: number;
currentCount: number;
limit: number;
offset: number;
};
}
export default class TableData {
private readonly _dataSource;
private readonly _primaryKey?;
private readonly dataProcessing?;
constructor(dataSource: Record<string, any>[], tableOptions?: TableDataOptions);
private static convertValue;
static getConditions(items: ConditionItem[]): Record<string, any>[];
static getSortOption(sort: any): any[] | undefined;
get dataSource(): Record<string, any>[];
sortedList(rows: Record<string, any>[], sorts: string[]): Record<string, any>[];
filteredList(conditions: Record<string, any>[]): Record<string, any>[];
getRows(limit: any, offset: any, conditions?: Record<string, any>[], sorts?: string[], meta?: boolean): Record<string, any>[] | {
result: Record<string, any>[];
meta: {
totalCount: number;
currentCount: number;
limit: number;
offset: number;
};
};
selectRow(conditions: Record<string, any>[]): Record<string, any> | undefined;
insertRow(item: any): Record<string, any>;
updateRow(conditions: Record<string, any>[], item?: Record<string, any>): boolean;
deleteRow(conditions: Record<string, any>[]): boolean;
selectRows(limit?: any, offset?: any, conditions?: Record<string, any>[], sort?: any, meta?: false): Record<string, any>[];
selectRows(limit?: any, offset?: any, conditions?: Record<string, any>[], sort?: any, meta?: true): TableMetaData;
}