1 | import { Observable } from '../libs';
|
2 | export interface IGithubRepo {
|
3 | repo: string;
|
4 | file: (path: string, branch?: string) => IGithubFileMonitor;
|
5 | }
|
6 | export interface IGithubFileMonitor {
|
7 | date: Date;
|
8 | path: string;
|
9 | content?: string;
|
10 | events$: Observable<IGithubFileEvent>;
|
11 | errors$: Observable<IGithubHttpError>;
|
12 | changed$: Observable<IGithubFileChangeEvent>;
|
13 | monitor: (delay: number, repeat: number) => IGithubFileMonitor;
|
14 | get: () => Promise<IGithubData>;
|
15 | isDisposed: boolean;
|
16 | dispose: () => void;
|
17 | }
|
18 | export interface IGithubData {
|
19 | content?: string;
|
20 | isChanged?: boolean;
|
21 | error?: IGithubHttpError;
|
22 | }
|
23 | export interface IGithubFileEvent {
|
24 | content?: string;
|
25 | event: 'PULL_START' | 'PULL_END' | 'CHANGED' | 'ERROR';
|
26 | error?: IGithubHttpError;
|
27 | }
|
28 | export interface IGithubFileChangeEvent {
|
29 | content?: string;
|
30 | }
|
31 | export interface IGithubHttpError {
|
32 | message: string;
|
33 | status: number;
|
34 | }
|