Swiftpack.co - Package - alemar11/AdvancedOperation
Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.

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.1'
end

Carthage

github "tinrobots/AdvancedOperation" ~> 6.2.1

Swift Package Manager

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

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

Releases

6.2.1 - 2020-10-14T08:29:05

  • Fix a KVO crash in GroupOperation.
  • Fix memory leak in GroupOperation.

6.2.0 - 2020-05-29T16: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-28T10: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-22T07:34:30

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

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

  • Minor refinements

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

  • Minor refinements

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

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

  • AsyncOperation
  • AsyncBlockOperation
  • AsyncGroupOperation

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

  • ResultOperation has been renamed AsyncResultOperation.

5.3.0 - 2020-03-29T12: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-02T08:46:29

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

5.1.0 - 2020-02-18T10: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-24T10:48:53

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

4.0.0 - 2019-10-26T10: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-26T19:44:54

  • Added OperationDidExecuteObserving protocol.

3.1.0 - 2019-06-25T12:40:40

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

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

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

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

  • Improved produced operations.
  • Bugfixes.

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

  • GroupOperation Bugfixes.

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

  • Bugfixes.

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

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

2.1.0 - 2018-11-08T13:45:11

  • AdvancedBlockOperation supports ProgressReporting.
  • Bugfixes.

2.0.0 - 2018-11-04T10: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-10T10: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-16T20:46:56

  • AdvancedOperation is now completely migrated to Swift 4.2.

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

  • Small fixes.

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

  • The main function in GroupOperation is now overridable.

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

  • An Injectable operation now has a transform closure.

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

  • Fixed access levels.

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

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

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

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