]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - client/src/app/shared/rest/rest-extractor.service.ts
Use typescript standard and lint all files
[github/Chocobozzz/PeerTube.git] / client / src / app / shared / rest / rest-extractor.service.ts
1 import { Injectable } from '@angular/core'
2 import { Response } from '@angular/http'
3 import { Observable } from 'rxjs/Observable'
4
5 export interface ResultList {
6 data: any[]
7 total: number
8 }
9
10 @Injectable()
11 export class RestExtractor {
12
13 extractDataBool (res: Response) {
14 return true
15 }
16
17 extractDataList (res: Response) {
18 const body = res.json()
19
20 const ret: ResultList = {
21 data: body.data,
22 total: body.total
23 }
24
25 return ret
26 }
27
28 extractDataGet (res: Response) {
29 return res.json()
30 }
31
32 handleError (res: Response) {
33 let text = 'Server error: '
34 text += res.text()
35 let json = ''
36
37 try {
38 json = res.json()
39 } catch (err) {
40 console.error('Cannot get JSON from response.')
41 }
42
43 const error = {
44 json,
45 text
46 }
47
48 console.error(error)
49
50 return Observable.throw(error)
51 }
52 }