You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

31 lines
820 B

  1. //
  2. // VoidPromise.swift
  3. // then
  4. //
  5. // Created by Sacha DSO on 27/09/2017.
  6. // Copyright © 2017 s4cha. All rights reserved.
  7. //
  8. import Foundation
  9. extension Promise where T == Void {
  10. public convenience init(callback: @escaping (
  11. _ resolve: @escaping (() -> Void),
  12. _ reject: @escaping ((Error) -> Void)) -> Void) {
  13. self.init()
  14. setProgressCallBack { resolve, reject, _ in
  15. callback(resolve, reject)
  16. }
  17. }
  18. public convenience init(callback2: @escaping (
  19. _ resolve: @escaping (() -> Void),
  20. _ reject: @escaping ((Error) -> Void),
  21. _ progress: @escaping ((Float) -> Void)) -> Void) {
  22. self.init()
  23. setProgressCallBack { resolve, reject, progress in
  24. callback2(resolve, reject, progress)
  25. }
  26. }
  27. }