Document `Disposables`.

This commit is contained in:
Mo Ramezanpoor 2016-08-10 15:14:26 +01:00
parent 8754166f35
commit f8a11aa0cb
3 changed files with 25 additions and 2 deletions

View File

@ -62,8 +62,13 @@ public final class AnonymousDisposable : DisposeBase, Cancelable {
public extension Disposables {
static func create(with action: () -> ()) -> Cancelable {
return AnonymousDisposable(disposeAction: action)
/**
Constructs a new disposable with the given action used for disposal.
- parameter dispose: Disposal action which will be run upon calling `dispose`.
*/
static func create(with dispose: () -> ()) -> Cancelable {
return AnonymousDisposable(disposeAction: dispose)
}
}

View File

@ -55,6 +55,9 @@ private final class BinaryDisposable : DisposeBase, Cancelable {
public extension Disposables {
/**
Creates a disposable with the given disposables.
*/
static func create(_ disposable1: Disposable, _ disposable2: Disposable) -> Cancelable {
return BinaryDisposable(disposable1, disposable2)
}

View File

@ -8,6 +8,9 @@
import Foundation
/**
A collection of utility methods for common disposable operations.
*/
public struct Disposables {
private init() {}
@ -18,14 +21,23 @@ public extension Disposables {
private static let noOp: Disposable = NopDisposable()
/**
Creates a disposable that does nothing on disposal.
*/
static func create() -> Disposable {
return noOp
}
/**
Creates a disposable with the given disposables.
*/
static func create(_ disposable1: Disposable, _ disposable2: Disposable, _ disposable3: Disposable) -> Cancelable {
return CompositeDisposable(disposable1, disposable2, disposable3)
}
/**
Creates a disposable with the given disposables.
*/
static func create(_ disposable1: Disposable, _ disposable2: Disposable, _ disposable3: Disposable, _ disposables: Disposable ...) -> Cancelable {
var disposables = disposables
disposables.append(disposable1)
@ -34,6 +46,9 @@ public extension Disposables {
return CompositeDisposable(disposables: disposables)
}
/**
Creates a disposable with the given disposables.
*/
static func create(_ disposables: [Disposable]) -> Cancelable {
switch disposables.count {
case 2: