-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.js
94 lines (63 loc) · 1.44 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
import _ from 'lodash';
export class TorrentTimeData{
dataHandler = {};
peers = [];
torrents = [];
peerFiles = [];
constructor(dataHandler){
this.dataHandler = dataHandler;
this.open();
}
getPeers(){
return this.peers;
}
addPeer(peer){
this.peers.push(peer);
}
removePeer(peer){
_.remove(this.peers, (r)=> r.id = peer.id)
}
setPeers(peers){
this.peers = peers;
}
getTorrents(){
return this.torrents;
}
addTorrent(torrent){
this.torrents.push(torrent);
}
removeTorrent(torrent){
_.remove(this.torrents, (r)=> r.id = torrent.id)
}
setTorrents(torrents){
this.torrents = torrents;
}
getPeerFiles(){
return this.peerFiles;
}
addPeerFiles(torrent){
this.peerFiles.push(peerFiles);
}
removePeerFiles(peerFiles){
_.remove(this.peerFiles, (r)=> r.id = peerFiles.id)
}
setPeerFiles(peerFiles){
this.peerFiles = peerFiles;
}
toJSON(){
return {
peers: this.peers,
torrents: this.torrents,
peerFile: this.peerFile
}
}
save(){
this.dataHandler.save(this.toJSON())
}
open(){
const json = this.dataHandler.getJson();
this.setPeers(json.peers);
this.setTorrents(json.torrents);
this.setPeerFiles(json.peerFiles);
}
}