@elium/mighty
Version:
Context agnostic TS & JS ORM
29 lines (28 loc) • 1.58 kB
TypeScript
import { IHttpRequest } from './http.request';
import { IAdapter, Adapter } from '../core/adapter/adapter';
import { IHookable, IHook } from '../core/utils/hook';
import { IRecord } from '../core/resource/record';
import { IResource } from '../core/resource/resource';
import { IResponse } from '../core/adapter/response';
import { IDataLayer } from './layers/layer';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/mergeMap';
import 'rxjs/add/observable/of';
export interface IHttpAdapter extends IAdapter {
baseUrl: string;
dataLayer: IDataLayer;
}
export declare class HttpAdapter extends Adapter implements IHttpAdapter, IHookable {
dataLayer: IDataLayer;
baseUrl: string;
constructor(baseURl?: string, dataLayer?: IDataLayer);
addHook: (hook: IHook) => void;
removeHook: (hook: IHook) => void;
applyHook: <I, O>(name: string, input: I) => Observable<I | O>;
create<R extends IRecord>(resource: IResource<R>, request: IHttpRequest): Observable<IResponse>;
findOne<R extends IRecord>(resource: IResource<R>, request: IHttpRequest): Observable<IResponse>;
find<R extends IRecord>(resource: IResource<R>, request: IHttpRequest): Observable<IResponse>;
save<R extends IRecord>(resource: IResource<R>, request: IHttpRequest): Observable<IResponse>;
destroy<R extends IRecord>(resource: IResource<R>, request: IHttpRequest): Observable<IResponse>;
protected _getBaseRequestData<R extends IRecord>(resource: IResource<R>, request: IHttpRequest): Observable<IHttpRequest>;
}