8
8
import Foundation
9
9
import RxSwift
10
10
11
- public extension Timer {
11
+ public extension Reactive where Base : Timer {
12
12
13
- class var rx_timer : Observable < Void > {
14
- return rx_timer ( 1.0 )
13
+ static var timer : Observable < Void > {
14
+ return timer ( 1.0 )
15
15
}
16
16
17
- class func rx_timer ( _ time: TimeInterval ) -> Observable < Void > {
17
+ static func timer ( _ time: TimeInterval ) -> Observable < Void > {
18
18
return Observable < Void > . create { observer in
19
19
observer. onNext ( ( ) )
20
- let timer = Timer . schedule ( repeatInterval: time) {
20
+ let timer = Timer . rx . schedule ( repeatInterval: time) {
21
21
observer. onNext ( ( ) )
22
22
}
23
23
return Disposables . create {
@@ -28,7 +28,7 @@ public extension Timer {
28
28
}
29
29
}
30
30
31
- private extension Timer {
31
+ private extension Reactive where Base : Timer {
32
32
/*
33
33
Creates and schedules a one-time `NSTimer` instance.
34
34
@@ -37,7 +37,7 @@ private extension Timer {
37
37
- handler: A closure to execute after `delay`.
38
38
- Returns: The newly-created `NSTimer` instance.
39
39
*/
40
- class func schedule( delay: TimeInterval , handler: @escaping ( ) -> ( ) ) -> Timer {
40
+ static func schedule( delay: TimeInterval , handler: @escaping ( ) -> ( ) ) -> Timer {
41
41
let fireDate = delay + CFAbsoluteTimeGetCurrent( )
42
42
let timer = CFRunLoopTimerCreateWithHandler ( kCFAllocatorDefault, fireDate, 0 , 0 , 0 ) { theTimer in
43
43
handler ( )
@@ -57,7 +57,7 @@ private extension Timer {
57
57
- handler: A closure to execute at each `repeatInterval`.
58
58
- Returns: The newly-created `NSTimer` instance.
59
59
*/
60
- class func schedule( repeatInterval interval: TimeInterval , handler: @escaping ( ) -> Void )
60
+ static func schedule( repeatInterval interval: TimeInterval , handler: @escaping ( ) -> Void )
61
61
-> Timer {
62
62
let fireDate = interval + CFAbsoluteTimeGetCurrent( )
63
63
let timer = CFRunLoopTimerCreateWithHandler ( kCFAllocatorDefault, fireDate, interval, 0 , 0 ) {
0 commit comments