@panyam/tsutils
Version:
Some basic TS utils for personal use
44 lines (43 loc) • 1.89 kB
TypeScript
import { EventHub } from "../comms/events";
import { Nullable } from "../types";
export declare enum ResourceApiEvent {
LIST_STARTED = "LIST_STARTED",
LIST_FINISHED = "LIST_FINISHED",
LIST_FAILED = "LIST_FAILED",
CREATE_STARTED = "CREATE_STARTED",
CREATE_FINISHED = "CREATE_FINISHED",
CREATE_FAILED = "CREATE_FAILED",
BATCH_GET_STARTED = "BATCH_GET_STARTED",
BATCH_GET_FINISHED = "BATCH_GET_FINISHED",
BATCH_GET_FAILED = "BATCH_GET_FAILED",
GET_STARTED = "GET_STARTED",
GET_FINISHED = "GET_FINISHED",
GET_FAILED = "GET_FAILED",
DELETE_STARTED = "DELETE_STARTED",
DELETE_FINISHED = "DELETE_FINISHED",
DELETE_FAILED = "DELETE_FAILED",
UPDATE_STARTED = "UPDATE_STARTED",
UPDATE_FINISHED = "UPDATE_FINISHED",
UPDATE_FAILED = "UPDATE_FAILED"
}
export declare abstract class ResourceEvApi<ResType> extends EventHub {
abstract urlForGet(resId: string, params: any): string;
abstract urlForBatchGet(resIds: string[]): string;
abstract urlForDelete(resId: string, params: any): string;
abstract urlForUpdate(resId: string, params: any): string;
abstract urlForList(params: any): string;
abstract urlForCreate(params: any): string;
abstract processListResponse(response: Response): ResType[];
abstract processGetResponse(response: Response): Nullable<ResType>;
abstract processDeleteResponse(response: Response): boolean;
abstract processUpdateResponse(response: Response): ResType;
abstract processCreateResponse(response: Response): ResType;
abstract processUpdateParams(params: any): any;
abstract processCreateParams(params: any): any;
create(params: any): void;
batchGet(...resIds: string[]): void;
get(resId: string, params: any): void;
list(params: any): void;
update(resId: string, params: any): void;
delete(resId: string, params: any): void;
}