X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fapp%2Fvideos%2Fvideo-watch%2Fwebtorrent.service.ts;h=211894bfd3e546559c13955745d9fc957a29b7de;hb=8b13c289f8db1666a3970882797d42f6cfd6128b;hp=bf38b5aaaa38da97edd5d136212422c7cc2c36e5;hpb=4a6995be18b15de1834a39c8921a0e4109671bb6;p=github%2FChocobozzz%2FPeerTube.git
diff --git a/client/src/app/videos/video-watch/webtorrent.service.ts b/client/src/app/videos/video-watch/webtorrent.service.ts
index bf38b5aaa..211894bfd 100644
--- a/client/src/app/videos/video-watch/webtorrent.service.ts
+++ b/client/src/app/videos/video-watch/webtorrent.service.ts
@@ -1,26 +1,33 @@
-// Don't use webtorrent typings for now
-// It misses some little things I'll fix later
-//
+import { Injectable } from '@angular/core'
+import { Subject } from 'rxjs/Subject'
-import { Injectable } from '@angular/core';
-
-// import WebTorrent = require('webtorrent');
-declare var WebTorrent: any;
+import * as WebTorrent from 'webtorrent'
@Injectable()
export class WebTorrentService {
- // private client: WebTorrent.Client;
- private client: any;
+ errors = new Subject()
+ warnings = new Subject()
+
+ // TODO: use WebTorrent @type
+ // private client: WebTorrent.Client
+ private client: any
+
+ constructor () {
+ this.client = new WebTorrent({ dht: false })
+
+ this.client.on('error', (err) => this.errors.next(err))
+ this.client.on('warning', (err) => this.warnings.next(err))
+ }
- constructor() {
- this.client = new WebTorrent({ dht: false });
+ add (magnetUri: string, callback: Function) {
+ return this.client.add(magnetUri, callback)
}
- add(magnetUri: string, callback: Function) {
- return this.client.add(magnetUri, callback);
+ remove (magnetUri: string) {
+ return this.client.remove(magnetUri)
}
- remove(magnetUri: string) {
- return this.client.remove(magnetUri);
+ has (magnetUri: string) {
+ return this.client.get(magnetUri) !== null
}
}