]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - server/tests/utils/miscs/miscs.ts
Set sort refractoring
[github/Chocobozzz/PeerTube.git] / server / tests / utils / miscs / miscs.ts
CommitLineData
0e1dc3e7 1import * as WebTorrent from 'webtorrent'
0e1dc3e7
C
2
3let webtorrent = new WebTorrent()
4
26d21b78
C
5function immutableAssign <T, U> (target: T, source: U) {
6 return Object.assign<{}, T, U>({}, target, source)
7}
8
b1f5b93e
C
9 // Default interval -> 5 minutes
10function dateIsValid (dateString: string, interval = 300000) {
0e1dc3e7
C
11 const dateToCheck = new Date(dateString)
12 const now = new Date()
13
14 return Math.abs(now.getTime() - dateToCheck.getTime()) <= interval
15}
16
17function wait (milliseconds: number) {
18 return new Promise(resolve => setTimeout(resolve, milliseconds))
19}
20
21function webtorrentAdd (torrent: string, refreshWebTorrent = false) {
22 if (refreshWebTorrent === true) webtorrent = new WebTorrent()
23
24 return new Promise<WebTorrent.Torrent>(res => webtorrent.add(torrent, res))
25}
26
27// ---------------------------------------------------------------------------
28
29export {
0e1dc3e7
C
30 dateIsValid,
31 wait,
26d21b78
C
32 webtorrentAdd,
33 immutableAssign
0e1dc3e7 34}