Swiftpack.co - Package - tinrobots/AdvancedOperation

AdvancedOperation CI

AdvancedOperation

GitHub release

Operation usefull extensions.

Requirements

Swift 5.2 Platforms Xcode

Carthage Compatible CocoaPods Compatible

Documentation

Documentation is available online.

http://www.tinrobots.org/AdvancedOperation/

Installation

CocoaPods

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '12.0'
use_frameworks!

target '<Your Target Name>' do
    pod 'AdvancedOperation', '~> 6.2.0'
end

Carthage

github "tinrobots/AdvancedOperation" ~> 6.2.0

Swift Package Manager

dependencies: [
    .package(url: "https://github.com/tinrobots/AdvancedOperation.git", .upToNextMajor(from: "6.2.0"))
]

License

License MIT

AdvancedOperation is released under the MIT license. See LICENSE for details.

Contributing

Pull requests are welcome!
Show your ❤ with a ★

Github

link
Stars: 2

Dependencies

Used By

Total: 0

Releases

6.2.0 - 2020-05-29 16:08:29

  • Added ResultOperation, an AsynchronousOperation that produces a result once finished.
  • Added FailableAsynchronousOperation, an AsynchronousOperation that can finish with an error.

6.1.0 - 2020-05-28 10:22:26

  • AsyncOperation now conforms to ProgressReporting.
  • AsyncOperation progress now gets successfully reported by the OperationQueue running the operation.
  • More tests.

6.0.3 - 2020-04-22 07:34:30

  • Fix multi-thread issues when calling the start() method.
  • More tests.

6.0.2 - 2020-04-15 15:04:53

  • Minor refinements

6.0.1 - 2020-04-09 17:06:36

  • Minor refinements

6.0.0 - 2020-04-01 08:49:31

This release aims to be super lightweight offering just a few basic operations:

  • AsyncOperation
  • AsyncBlockOperation
  • AsyncGroupOperation

5.4.0 - 2020-03-29 16:23:45

  • ResultOperation has been renamed AsyncResultOperation.

5.3.0 - 2020-03-29 12:20:05

  • The isReady property is not participating anymore in the AsyncOperation internal state change.
  • A NSException will be thrown if an AsyncOperation gets started without being ready.
  • A NSException will be thrown if an AsyncOperation gets started multiple times.
  • Added ObservableOperation to easily observe all KVC compliant Operation properties.
  • Removed LoggableOperation.
  • OutputProducingOperation operations must now implement the onOutputProduced variable.

5.2.0 - 2020-03-02 08:46:29

  • Improved the underlying implementawtion of GroupOperation.
  • LoggableOperation now exposes a log variable.
  • Refinements.

5.1.0 - 2020-02-18 10:55:51

  • Added GroupOperation.
  • Added ResultOperation.
  • Added GeneratorOperation protocol.
  • FailableOperation is now generic over its Error type.
  • Improved logs for operations conforming to FailableOperation.

5.0.0 - 2020-01-24 10:48:53

  • Added AsynchronousOperation.
  • Added AsynchronousBlockOperation.
  • renamed inject into injectOutput.
  • Removed AdvancedOperation
  • Removed conditions.

4.0.0 - 2019-10-26 10:12:36

  • An AdvancedOperation can now be cancelled or finished with only one single Error.
  • Injection doesn't require an adapter operation anymore.
  • OperationConditionResult has beed replaced by the Swift Result type.
  • Removed AdvancedOperationQueue.
  • New ExclusivityManager implementation.
  • Removed then operator.
  • Added Operation.addDependencies(_:) method.

3.2.0 - 2019-06-26 19:44:54

  • Added OperationDidExecuteObserving protocol.

3.1.0 - 2019-06-25 12:40:40

  • Improved GroupOperation.
  • OperationInputHaving deprecated, use InputRequiring instead.
  • OperationOutputHaving deprecated, use OutputProducing instead.
  • Bugfixes.

3.0.0 - 2019-04-01 09:51:14

  • AdvancedOperation is now completely migrated to Swift 5.0.
  • Bugfixes.

2.3.0 - 2019-02-25 17:01:57

  • Improved produced operations.
  • Bugfixes.

2.2.2 - 2018-12-23 18:32:44

  • GroupOperation Bugfixes.

2.2.1 - 2018-12-09 11:22:43

  • Bugfixes.

2.2.0 - 2018-12-08 10:16:09

  • Added duration (in seconds) to AdvancedOperation.
  • Added MutualExclusivityCondition.
  • Bugfixes.

2.1.0 - 2018-11-08 13:45:11

  • AdvancedBlockOperation supports ProgressReporting.
  • Bugfixes.

2.0.0 - 2018-11-04 10:41:39

  • Added BlockCondition.
  • Added TimeoutObserver.
  • Added support for isAsynchronous \ isCondurrent operation.
  • Fixed KVO for the isCancelled property in AdvancedOperation.
  • A GroupOperation can be cancelled correctly even if it's not yet started.
  • The property failed in AdvancedOperation has been renamed hasErrors to better reflect its intent.
  • Removed ExclusivityManager.
  • Conditions are evaluated as a dependency operation.
  • Bugfixes.

1.1.0 - 2018-10-10 10:20:13

  • Added a UIBackgroundObserver to let an AdvancedOperation run in background (for a small amount of time) on iOS and tvOS.
  • The main phases of an AdvancedOperation can now be monitored via OSLog.
  • ExclusivityManager improvements.
  • Better OperationCondition errors.
  • Bugfixes.

1.0.0 - 2018-09-16 20:46:56

  • AdvancedOperation is now completely migrated to Swift 4.2.

0.7.6 - 2018-08-10 10:49:23

  • Small fixes.

0.7.5 - 2018-08-07 15:12:33

  • The main function in GroupOperation is now overridable.

0.7.4 - 2018-08-07 11:03:40

  • An Injectable operation now has a transform closure.

0.7.3 - 2018-08-07 10:14:26

  • Fixed access levels.

0.7.2 - 2018-07-28 11:09:37

  • Resolved an ExclusivityManager bug where a cancelled operation was added the operation list.

0.7.1 - 2018-07-27 12:18:57

  • Fixed some thread safety isssues.
  • Fixed an issue occurring while cancelling a DelayOperation.

0.7.0 - 2018-07-10 19:43:20

  • Injectable operations.
  • Now an operation cancelled while evaluating its conditions, will be flagged as cancelled only after the evaluation.
  • Bugfixes.
  • More tests.