diff --git a/Capture/Info.plist b/Capture/Info.plist
index 064fd17..74ccf6d 100755
--- a/Capture/Info.plist
+++ b/Capture/Info.plist
@@ -32,7 +32,7 @@
CFBundlePackageType
APPL
CFBundleShortVersionString
- 2.0.0
+ 2.0.1
CFBundleVersion
2
LSMinimumSystemVersion
diff --git a/Cartfile b/Cartfile
index 5c0e682..ff4c9dd 100644
--- a/Cartfile
+++ b/Cartfile
@@ -1,6 +1,6 @@
github "Clipy/KeyHolder"
github "Clipy/Magnet"
-github "dehlen/Regift" ~> 1.5.1
+github "dehlen/Regift" ~> 1.5.3
github "mxcl/PromiseKit"
github "PromiseKit/Foundation" ~> 3.0
github "dehlen/AboutWindowController" ~> 1.5.7
\ No newline at end of file
diff --git a/Cartfile.resolved b/Cartfile.resolved
index 7b7e7f3..06c1cf3 100644
--- a/Cartfile.resolved
+++ b/Cartfile.resolved
@@ -1,6 +1,6 @@
github "Clipy/KeyHolder" "v3.0.1"
github "Clipy/Magnet" "v2.3.1"
-github "PromiseKit/Foundation" "3.3.1"
+github "PromiseKit/Foundation" "3.3.2"
github "dehlen/AboutWindowController" "1.5.7"
-github "dehlen/Regift" "1.5.1"
-github "mxcl/PromiseKit" "6.8.3"
+github "dehlen/Regift" "1.5.3"
+github "mxcl/PromiseKit" "6.8.4"
diff --git a/Carthage/Checkouts/Foundation/.travis.yml b/Carthage/Checkouts/Foundation/.travis.yml
index 35b5cc9..2492e04 100644
--- a/Carthage/Checkouts/Foundation/.travis.yml
+++ b/Carthage/Checkouts/Foundation/.travis.yml
@@ -48,6 +48,10 @@ jobs:
osx_image: xcode10
env: SWIFT=4.2
name: pod lib lint --swift-version=4.2
+ - <<: *pod
+ osx_image: xcode10.2
+ env: SWIFT=5.0
+ name: pod lib lint --swift-version=5.0
- &linux
stage: compile
@@ -85,8 +89,8 @@ jobs:
env: SWIFT_BUILD_VERSION=4 SWIFT_VERSION=4.2
name: Linux / Swift 4.2
- <<: *linux
- env: SWIFT_BUILD_VERSION=5 SWIFT_VERSION=5.0-DEVELOPMENT-SNAPSHOT-2019-01-22-a
- name: Linux / Swift 5.0 (2019-01-22)
+ env: SWIFT_BUILD_VERSION=5 SWIFT_VERSION=5.0
+ name: Linux / Swift 5.0
- &swiftpm
stage: compile
diff --git a/Carthage/Checkouts/Foundation/Cartfile.resolved b/Carthage/Checkouts/Foundation/Cartfile.resolved
index f55bd34..6113513 100644
--- a/Carthage/Checkouts/Foundation/Cartfile.resolved
+++ b/Carthage/Checkouts/Foundation/Cartfile.resolved
@@ -1,2 +1,2 @@
-github "AliSoftware/OHHTTPStubs" "6.1.0"
-github "mxcl/PromiseKit" "6.5.0"
+github "AliSoftware/OHHTTPStubs" "6.2.0"
+github "mxcl/PromiseKit" "6.8.3"
diff --git a/Carthage/Checkouts/Foundation/PMKFoundation.xcodeproj/project.pbxproj b/Carthage/Checkouts/Foundation/PMKFoundation.xcodeproj/project.pbxproj
index de63cc2..04839a8 100644
--- a/Carthage/Checkouts/Foundation/PMKFoundation.xcodeproj/project.pbxproj
+++ b/Carthage/Checkouts/Foundation/PMKFoundation.xcodeproj/project.pbxproj
@@ -194,7 +194,7 @@
isa = PBXProject;
attributes = {
LastSwiftUpdateCheck = 0800;
- LastUpgradeCheck = 0930;
+ LastUpgradeCheck = 1020;
ORGANIZATIONNAME = "Max Howell";
TargetAttributes = {
63C7FFA61D5BEE09003BAE60 = {
@@ -204,17 +204,18 @@
};
63C7FFF11D5C020D003BAE60 = {
CreatedOnToolsVersion = 8.0;
- LastSwiftMigration = 0900;
+ LastSwiftMigration = 1020;
ProvisioningStyle = Automatic;
};
};
};
buildConfigurationList = 63C7FFA11D5BEE09003BAE60 /* Build configuration list for PBXProject "PMKFoundation" */;
compatibilityVersion = "Xcode 3.2";
- developmentRegion = English;
+ developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
+ Base,
);
mainGroup = 63C7FF9D1D5BEE09003BAE60;
productRefGroup = 63C7FFA81D5BEE09003BAE60 /* Products */;
@@ -344,7 +345,7 @@
SUPPORTED_PLATFORMS = "iphonesimulator iphoneos watchsimulator watchos macosx appletvsimulator appletvos";
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
- SWIFT_VERSION = 3.0;
+ SWIFT_VERSION = 4.0;
TARGETED_DEVICE_FAMILY = "1,2,3,4";
TVOS_DEPLOYMENT_TARGET = 9.0;
WATCHOS_DEPLOYMENT_TARGET = 2.0;
@@ -402,7 +403,7 @@
PRODUCT_BUNDLE_IDENTIFIER = org.promisekit.Foundation;
SUPPORTED_PLATFORMS = "iphonesimulator iphoneos watchsimulator watchos macosx appletvsimulator appletvos";
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
- SWIFT_VERSION = 3.0;
+ SWIFT_VERSION = 4.0;
TARGETED_DEVICE_FAMILY = "1,2,3,4";
TVOS_DEPLOYMENT_TARGET = 9.0;
VALIDATE_PRODUCT = YES;
diff --git a/Carthage/Checkouts/Foundation/PMKFoundation.xcodeproj/xcshareddata/xcschemes/PMKFoundation.xcscheme b/Carthage/Checkouts/Foundation/PMKFoundation.xcodeproj/xcshareddata/xcschemes/PMKFoundation.xcscheme
index 660f49f..741434b 100644
--- a/Carthage/Checkouts/Foundation/PMKFoundation.xcodeproj/xcshareddata/xcschemes/PMKFoundation.xcscheme
+++ b/Carthage/Checkouts/Foundation/PMKFoundation.xcodeproj/xcshareddata/xcschemes/PMKFoundation.xcscheme
@@ -1,6 +1,6 @@
6.0"
```
-The extensions are built into `PromiseKit.framework` thus nothing else is needed.
+The extensions are built into `PromiseKit.framework` thus nothing else is
+needed.
## Carthage
+> Note we can no longer support Swift 3 with Carthage due to Xcode 10.2 dropping
+it and our only being able to provide a single `.xcodeproj`.
+
```ruby
github "PromiseKit/Foundation" ~> 3.0
```
@@ -35,11 +40,7 @@ import PMKFoundation
## SwiftPM
```swift
-let package = Package(
- dependencies: [
- .Package(url: "https://github.com/PromiseKit/Foundation.git", majorVersion: 3)
- ]
-)
+package.dependencies.append(.package(url: "https://github.com/PromiseKit/Foundation.git", from: "3.0.0"))
```
diff --git a/Carthage/Checkouts/PromiseKit/.github/.jazzy.yaml b/Carthage/Checkouts/PromiseKit/.github/.jazzy.yaml
deleted file mode 100644
index d990792..0000000
--- a/Carthage/Checkouts/PromiseKit/.github/.jazzy.yaml
+++ /dev/null
@@ -1,8 +0,0 @@
-root_url:
- https://promisekit.org/reference/
-readme:
- foo.md
-exclude:
- - Sources/Deprecations.swift
- - Sources/AnyPromise.swift
-
\ No newline at end of file
diff --git a/Carthage/Checkouts/PromiseKit/.github/PromiseKit.podspec b/Carthage/Checkouts/PromiseKit/.github/PromiseKit.podspec
index ae5b63b..616825f 100644
--- a/Carthage/Checkouts/PromiseKit/.github/PromiseKit.podspec
+++ b/Carthage/Checkouts/PromiseKit/.github/PromiseKit.podspec
@@ -1,9 +1,7 @@
Pod::Spec.new do |s|
s.name = "PromiseKit"
- `xcodebuild -project PromiseKit.xcodeproj -showBuildSettings` =~ /CURRENT_PROJECT_VERSION = ((\d\.)+\d)/
- abort("No version detected") if $1.nil?
- s.version = $1
+ s.version = '0.0.1'
s.source = {
:git => "https://github.com/mxcl/#{s.name}.git",
@@ -13,17 +11,15 @@ Pod::Spec.new do |s|
s.license = 'MIT'
s.summary = 'Promises for Swift & ObjC.'
- s.homepage = 'http://promisekit.org'
+ s.homepage = 'http://mxcl.dev/PromiseKit/'
s.description = 'A thoughtful and complete implementation of promises for iOS, macOS, watchOS and tvOS with first-class support for both Objective-C and Swift.'
s.social_media_url = 'https://twitter.com/mxcl'
s.authors = { 'Max Howell' => 'mxcl@me.com' }
- s.documentation_url = 'http://promisekit.org/docs/'
+ s.documentation_url = 'http://mxcl.dev/PromiseKit/reference/v6/Classes/Promise.html'
s.default_subspecs = 'CorePromise', 'UIKit', 'Foundation'
s.requires_arc = true
- # CocoaPods documentation (like usual) is unclear about the
- # consequences of setting this; we support 3.2 THROUGH 4.2
- # s.swift_version = '4.0'
+ s.swift_versions = ['3.1', '3.2', '3.3', '3.4', '4.0', '4.1', '4.2', '5.0']
# CocoaPods requires us to specify the root deployment targets
# even though for us it is nonsense. Our root spec has no
diff --git a/Carthage/Checkouts/PromiseKit/.github/jazzy.yml b/Carthage/Checkouts/PromiseKit/.github/jazzy.yml
new file mode 100644
index 0000000..9e8d71f
--- /dev/null
+++ b/Carthage/Checkouts/PromiseKit/.github/jazzy.yml
@@ -0,0 +1,18 @@
+module: PromiseKit
+custom_categories:
+ - name: Core Components
+ children:
+ - Promise
+ - Guarantee
+ - Thenable
+ - CatchMixin
+ - Resolver
+xcodebuild_arguments:
+ - UseModernBuildSystem=NO
+output:
+ ../output
+ # output directory is relative to config file… ugh
+readme:
+ Documentation/README.md
+theme:
+ fullwidth
diff --git a/Carthage/Checkouts/PromiseKit/.github/ranger.yml b/Carthage/Checkouts/PromiseKit/.github/ranger.yml
index 380c58e..c9169dc 100644
--- a/Carthage/Checkouts/PromiseKit/.github/ranger.yml
+++ b/Carthage/Checkouts/PromiseKit/.github/ranger.yml
@@ -1,3 +1,2 @@
merges:
- action: delete_branch
- - action: tag
diff --git a/Carthage/Checkouts/PromiseKit/.travis.yml b/Carthage/Checkouts/PromiseKit/.travis.yml
index 7e98f1c..c6864cc 100644
--- a/Carthage/Checkouts/PromiseKit/.travis.yml
+++ b/Carthage/Checkouts/PromiseKit/.travis.yml
@@ -38,7 +38,7 @@ jobs:
name: Carthage / Xcode 9.4
- <<: *carthage
osx_image: xcode10.1
- name: Carthage / Xcode 10.0
+ name: Carthage / Xcode 10.1
- &pod
stage: lint
@@ -49,7 +49,7 @@ jobs:
cache: cocoapods
language: objective-c
before_install: mv .github/PromiseKit.podspec .
- install: gem install cocoapods --prerelease --version 1.6.0.rc.2
+ install: gem install cocoapods --pre -v 1.7.0.beta.2
script: pod lib lint --subspec=PromiseKit/CorePromise --fail-fast --swift-version=$SWIFT
- <<: *pod
osx_image: xcode9.2
@@ -75,6 +75,10 @@ jobs:
osx_image: xcode10.1
env: SWIFT=4.2
name: pod lib lint --swift-version=4.2
+ - <<: *pod
+ osx_image: xcode10.2
+ env: SWIFT=4.2
+ name: pod lib lint --swift-version=5.0
- &linux
stage: compile
@@ -102,13 +106,13 @@ jobs:
env: SWIFT_BUILD_VERSION=4 SWIFT_VERSION=4.1.2
name: Linux / Swift 4.1
- <<: *linux
- env: SWIFT_BUILD_VERSION=4 SWIFT_VERSION=4.2.1
+ env: SWIFT_BUILD_VERSION=4 SWIFT_VERSION=4.2.2
name: Linux / Swift 4.2
stage: test
script: swift test -Xswiftc -swift-version -Xswiftc 4
- <<: *linux
- env: SWIFT_BUILD_VERSION=5 SWIFT_VERSION=5.0-DEVELOPMENT-SNAPSHOT-2019-01-22-a
- name: Linux / Swift 5.0 (2019-01-22)
+ env: SWIFT_BUILD_VERSION=5 SWIFT_VERSION=5.0
+ name: Linux / Swift 5.0
stage: test
script: swift test -Xswiftc -swift-version -Xswiftc 5
@@ -180,42 +184,41 @@ jobs:
name: SwiftPM / macOS / Xcode 10.1 / Swift 4.2
- stage: deploy
+ install: gem install cocoapods --pre -v 1.7.0.beta.2
+ before_script: |
+ mv .github/PromiseKit.podspec .
+ sed -i '' "s/s.version = '0.0.1'/s.version = '$TRAVIS_TAG'/g" PromiseKit.podspec
script: |
set -exo pipefail
- gem install cocoapods --prerelease --version 1.6.0.rc.2
- mv .github/PromiseKit.podspec .
- pod trunk push --verbose --allow-warnings --swift-version=4.2 | ruby -e 'ARGF.each{ print "." }'
+ pod trunk push --verbose --allow-warnings | tee pod.log | ruby -e 'ARGF.each{ print "." }'
# ^^ pipe because Travis times us out if there is no output
# AND `pod` defaults to hardly any output
# BUT `--verbose` generates so much output that Travis kills our script due to *too much* output!
# --allow-warnings because Bolts generates warnings and CocoaPods fails you even if your deps emit warnings
os: osx
osx_image: xcode10.1
- language: objective-c
+ language: swift
+ after_failure: cat pod.log | grep error
- - stage: deploy
- name: Generate Documentation
+ - name: Generate Documentation
os: osx
+ git.depth: false
osx_image: xcode10.1
language: swift
install: gem install jazzy
script: |
set -exo pipefail
- jazzy \
- --theme fullwidth \
- --output foo \
- --documentation=Documentation/*.md \
- --readme Documentation/README.md \
- --github_url https://github.com/mxcl/PromiseKit \
- --xcodebuild-arguments UseModernBuildSystem=NO \
- --module PromiseKit \
- --module-version "$TRAVIS_TAG"
+ jazzy --config .github/jazzy.yml \
+ --github_url "https://github.com/$TRAVIS_REPO_SLUG" \
+ --module-version "$TRAVIS_TAG"
+ git remote update
+ git fetch origin gh-pages:gh-pages --depth 1
git checkout gh-pages
- rm -rf reference
- mv foo reference
- git add reference
+ rm -rf reference/v6
+ mv output reference/v6
+ git add reference/v6
git config user.name "Travis"
- git config user.email "bot@travis-ci.com"
+ git config user.email "jazzy@travis-ci.com"
git commit -m "Updated docs for v$TRAVIS_TAG"
- git remote add secure-origin https://${GITHUB_TOKEN}@github.com/mxcl/PromiseKit.git
+ git remote add secure-origin https://${GITHUB_TOKEN}@github.com/$TRAVIS_REPO_SLUG.git
git push secure-origin gh-pages
diff --git a/Carthage/Checkouts/PromiseKit/Documentation/CommonPatterns.md b/Carthage/Checkouts/PromiseKit/Documentation/CommonPatterns.md
index a8674ba..0768cf8 100644
--- a/Carthage/Checkouts/PromiseKit/Documentation/CommonPatterns.md
+++ b/Carthage/Checkouts/PromiseKit/Documentation/CommonPatterns.md
@@ -129,7 +129,7 @@ avoiding throwing an error because you couldn't be bothered to define a good glo
`Error` `enum`.
-## Abstracting Away Asychronicity
+## Abstracting Away Asynchronicity
```swift
var fetch = API.fetch()
diff --git a/Carthage/Checkouts/PromiseKit/Documentation/FAQ.md b/Carthage/Checkouts/PromiseKit/Documentation/FAQ.md
index ae1feb8..0c91162 100644
--- a/Carthage/Checkouts/PromiseKit/Documentation/FAQ.md
+++ b/Carthage/Checkouts/PromiseKit/Documentation/FAQ.md
@@ -54,11 +54,11 @@ use `weak self` (and check for `self == nil`) to prevent any such side effects.
should be protected against are in fact *not* side effects.
Side effects include changes to global application state. They *do not* include
-changing the display state of a viewController. So, protect against setting UserDefaults or
+changing the display state of a view-controller. So, protect against setting `UserDefaults` or
modifying the application database, and don't bother protecting against changing
the text in a `UILabel`.
-[This stackoverflow question](https://stackoverflow.com/questions/39281214/should-i-use-weak-self-in-promisekit-blocks)
+[This StackOverflow question](https://stackoverflow.com/questions/39281214/should-i-use-weak-self-in-promisekit-blocks)
has some good discussion on this topic.
## Do I need to retain my promises?
@@ -211,12 +211,12 @@ to a suitable problem, RxSwift can yield great benefits in robustness and simpli
But not all applications are suitable for RxSwift.
By contrast, PromiseKit selectively applies the best parts of reactive programming
-to the hardest part of pure Swift development, the management of asynchrony. It's a broadly
+to the hardest part of pure Swift development, the management of asynchronicity. It's a broadly
applicable tool. Most asynchronous code can be clarified, simplified and made more robust
just by converting it to use promises. (And the conversion process is easy.)
Promises make for code that is clear to most developers. RxSwift, perhaps not. Take a look at this
-[signup panel](https://github.com/ReactiveX/RxSwift/tree/master/RxExample/RxExample/Examples/GitHubSignup)
+[sign-up panel](https://github.com/ReactiveX/RxSwift/tree/master/RxExample/RxExample/Examples/GitHubSignup)
implemented in RxSwift and see what you think. (Note that this is one of RxSwift's own examples.)
Even where PromiseKit and RxSwift are broadly similar, there are many differences in implementation:
@@ -244,7 +244,7 @@ deallocated. All promises yield a single value, terminate and then automatically
You can find some additional discussion in [this ticket](https://github.com/mxcl/PromiseKit/issues/484).
-## Why can’t I return from a catch like I can in Javascript?
+## Why can’t I return from a catch like I can in JavaScript?
Swift demands that functions have one purpose. Thus, we have two error handlers:
@@ -377,7 +377,7 @@ By default PromiseKit emits console messages when certain events occur. These e
- A promise has been deallocated without being fulfilled
- An error which occurred while fulfilling a promise was swallowed using cauterize
-You may turn off or redirect this output by setting a thread safe closure in [PMKCOnfiguration](https://github.com/mxcl/PromiseKit/blob/master/Sources/Configuration.swift) **before** processing any promises. For example, to turn off console output:
+You may turn off or redirect this output by setting a thread safe closure in [PMKConfiguration](https://github.com/mxcl/PromiseKit/blob/master/Sources/Configuration.swift) **before** processing any promises. For example, to turn off console output:
```swift
conf.logHandler = { event in }
diff --git a/Carthage/Checkouts/PromiseKit/Documentation/GettingStarted.md b/Carthage/Checkouts/PromiseKit/Documentation/GettingStarted.md
index a3cfa2e..8f6af48 100644
--- a/Carthage/Checkouts/PromiseKit/Documentation/GettingStarted.md
+++ b/Carthage/Checkouts/PromiseKit/Documentation/GettingStarted.md
@@ -532,4 +532,4 @@ different API (sorry about that, but Swift has changed a lot over the years and
we had to too).
-[API Reference]: https://promisekit.org/reference/
+[API Reference]: https://mxcl.dev/PromiseKit/reference/v6/Classes/Promise.html
diff --git a/Carthage/Checkouts/PromiseKit/Documentation/Installation.md b/Carthage/Checkouts/PromiseKit/Documentation/Installation.md
index 12ac8f7..4009a2f 100644
--- a/Carthage/Checkouts/PromiseKit/Documentation/Installation.md
+++ b/Carthage/Checkouts/PromiseKit/Documentation/Installation.md
@@ -63,16 +63,14 @@ PromiseKit contains Swift, so there have been rev-lock issues with Xcode:
| PromiseKit | Swift | Xcode | CI Status | Release Notes |
| ---------- | ----------------------- | -------- | ------------ | ----------------- |
-| 6 | 3.1, 3.2, 3.3, 4.x | 8.3, 9.x, 10.x | ![ci-master] | [2018/02][news-6] |
-| 5 | 3.1, 3.2, 3.3, 4.x | 8.3, 9.x, 10.x | *Deprecated* | *n/a* |
-| 4† | 3.0, 3.1, 3.2, 3.3, 4.x | 8.x, 9.x, 10.x | ![ci-master] | [2016/09][news-4] |
+| 6 | 3.1, 3.2, 3.3, 4.x, 5.x | 8.3, 9.x, 10.x | ![ci-master] | [2018/02][news-6] |
+| 5 | 3.1, 3.2, 3.3, 4.x | 8.3, 9.x, 10.1 | *Deprecated* | *n/a* |
+| 4 | 3.0, 3.1, 3.2, 3.3, 4.x | 8.x, 9.x, 10.1 | ![ci-master] | [2016/09][news-4] |
| 3 | 2.x | 7.x, 8.0 | ![ci-swift2] | [2015/10][news-3] |
| 2 | 1.x | 7.x | *Deprecated* | [2015/10][news-3] |
-| 1‡ | *N/A* | * | ![ci-legacy] | – |
+| 1† | *N/A* | * | ![ci-legacy] | – |
-† Probably supports Xcode 10 and Swift 4.2, if not, PR welcome.
-
-‡ PromiseKit 1 is pure Objective-C and thus can be used with any Xcode, it is
+† PromiseKit 1 is pure Objective-C and thus can be used with any Xcode, it is
also your only choice if you need to support iOS 7 or below.
---
@@ -109,10 +107,10 @@ github "mxcl/PromiseKit" ~> 3.5
[ci-23]: https://travis-ci.org/mxcl/PromiseKit.svg?branch=swift-2.3-minimal-changes
[ci-22]: https://travis-ci.org/mxcl/PromiseKit.svg?branch=swift-2.2-minimal-changes
[ci-20]: https://travis-ci.org/mxcl/PromiseKit.svg?branch=swift-2.0-minimal-changes
-[news-2]: http://promisekit.org/news/2015/05/PromiseKit-2.0-Released/
-[news-3]: https://github.com/mxcl/PromiseKit/blob/master/CHANGELOG.markdown#300-oct-1st-2015
-[news-4]: http://promisekit.org/news/2016/09/PromiseKit-4.0-Released/
-[news-6]: http://promisekit.org/news/2018/02/PromiseKit-6.0-Released/
+[news-2]: http://mxcl.dev/PromiseKit/news/2015/05/PromiseKit-2.0-Released/
+[news-3]: https://github.com/mxcl/PromiseKit/blob/212f31f41864d1e3ec54f5dd529bd8e1e5697024/CHANGELOG.markdown#300-oct-1st-2015
+[news-4]: http://mxcl.dev/PromiseKit/news/2016/09/PromiseKit-4.0-Released/
+[news-6]: http://mxcl.dev/PromiseKit/news/2018/02/PromiseKit-6.0-Released/
[swift-2.3-minimal-changes]: https://github.com/mxcl/PromiseKit/tree/swift-2.3-minimal-changes
[swift-2.2-minimal-changes]: https://github.com/mxcl/PromiseKit/tree/swift-2.2-minimal-changes
[swift-2.0-minimal-changes]: https://github.com/mxcl/PromiseKit/tree/swift-2.0-minimal-changes
@@ -192,7 +190,7 @@ If you still are using Xcode 6 and Swift 1.2 then use PromiseKit 2.
## [2.0](https://github.com/mxcl/PromiseKit/releases/tag/2.0.0) May 14th, 2015
-[PromiseKit 2 announcement post](http://promisekit.org/news/2015/05/PromiseKit-2.0-Released/).
+[PromiseKit 2 announcement post](http://mxcl.dev/PromiseKit/news/2015/05/PromiseKit-2.0-Released/).
## [1.5](https://github.com/mxcl/PromiseKit/releases/tag/1.5.0)
diff --git a/Carthage/Checkouts/PromiseKit/Documentation/ObjectiveC.md b/Carthage/Checkouts/PromiseKit/Documentation/ObjectiveC.md
index 2e5f6e8..5d8c682 100644
--- a/Carthage/Checkouts/PromiseKit/Documentation/ObjectiveC.md
+++ b/Carthage/Checkouts/PromiseKit/Documentation/ObjectiveC.md
@@ -50,7 +50,7 @@ myPromise.then(^{
});
```
-One important feature is the syntactic flexability of your handlers:
+One important feature is the syntactic flexibility of your handlers:
```objc
myPromise.then(^{
@@ -192,7 +192,7 @@ that contains the throw statement.
This pattern will consequently result in memory leaks if you're not careful.
> *Note:* Only having a strong reference to the closure would result in memory leaks.
-> In our case, PromisKit automatically keeps a strong reference to the closure until it's released.
+> In our case, PromiseKit automatically keeps a strong reference to the closure until it's released.
__Workarounds:__
@@ -210,7 +210,7 @@ myPromise.then(^{
//…
});
```
-2. Enable ARC for exceptions in Objective-C (not recomended)\
+2. Enable ARC for exceptions in Objective-C (not recommended)\
You can add this ```-fobjc-arc-exceptions to your``` to your compiler flags to enable ARC for exceptions.
This is not recommended unless you've read the Apple documentation and are comfortable with the caveats.
diff --git a/Carthage/Checkouts/PromiseKit/Documentation/README.md b/Carthage/Checkouts/PromiseKit/Documentation/README.md
index 7749d40..a03f4aa 100644
--- a/Carthage/Checkouts/PromiseKit/Documentation/README.md
+++ b/Carthage/Checkouts/PromiseKit/Documentation/README.md
@@ -1,6 +1,6 @@
# Contents
-* [README](/README.md)
+* [README](../README.md)
* Handbook
* [Getting Started](GettingStarted.md)
* [Promises: Common Patterns](CommonPatterns.md)
@@ -11,4 +11,4 @@
* [Troubleshooting](Troubleshooting.md)
* [Appendix](Appendix.md)
* [Examples](Examples)
-* [API Reference](https://promisekit.org/reference/)
+* [API Reference](https://mxcl.dev/PromiseKit/reference/v6/Classes/Promise.html)
diff --git a/Carthage/Checkouts/PromiseKit/Documentation/Troubleshooting.md b/Carthage/Checkouts/PromiseKit/Documentation/Troubleshooting.md
index 444bcac..1e38b26 100644
--- a/Carthage/Checkouts/PromiseKit/Documentation/Troubleshooting.md
+++ b/Carthage/Checkouts/PromiseKit/Documentation/Troubleshooting.md
@@ -122,7 +122,7 @@ closure entirely and giving you an error message that makes no sense at all.
When faced with this kind of enigmatic complaint, a good rule of thumb is to
double-check your argument and return types carefully. If everything looks OK,
temporarily add explicit type information as shown above, just to rule
-out mis-inference as a possible cause.
+out misinference as a possible cause.
### Try moving code to a temporary inline function
@@ -189,7 +189,7 @@ Yes: we hope they revert this change in Swift 5 too.
## "Ambiguous reference to 'firstly(execute:)'"
-Remove the firstly, eg:
+Remove the firstly, e.g.:
```swift
firstly {
diff --git a/Carthage/Checkouts/PromiseKit/PromiseKit.xcodeproj/project.pbxproj b/Carthage/Checkouts/PromiseKit/PromiseKit.xcodeproj/project.pbxproj
index 57bc001..c26963e 100644
--- a/Carthage/Checkouts/PromiseKit/PromiseKit.xcodeproj/project.pbxproj
+++ b/Carthage/Checkouts/PromiseKit/PromiseKit.xcodeproj/project.pbxproj
@@ -930,7 +930,7 @@
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
- CURRENT_PROJECT_VERSION = 6.8.3;
+ CURRENT_PROJECT_VERSION = 6.8.4;
DEBUG_INFORMATION_FORMAT = dwarf;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
@@ -991,7 +991,7 @@
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
- CURRENT_PROJECT_VERSION = 6.8.3;
+ CURRENT_PROJECT_VERSION = 6.8.4;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
diff --git a/Carthage/Checkouts/PromiseKit/README.md b/Carthage/Checkouts/PromiseKit/README.md
index be47284..084c7f3 100644
--- a/Carthage/Checkouts/PromiseKit/README.md
+++ b/Carthage/Checkouts/PromiseKit/README.md
@@ -1,6 +1,6 @@
-![PromiseKit](http://promisekit.org/public/img/logo-tight.png)
+![PromiseKit](../gh-pages/public/img/logo-tight.png)
-![badge-pod] ![badge-languages] ![badge-pms] ![badge-platforms] [![Build Status](https://travis-ci.org/mxcl/PromiseKit.svg?branch=master)](https://travis-ci.org/mxcl/PromiseKit)
+[![badge-pod][]][cocoapods] ![badge-languages][] ![badge-pms][] ![badge-platforms][] [![badge-travis][]][travis]
---
@@ -62,7 +62,7 @@ recommend [Carthage](https://github.com/Carthage/Carthage).
# Professionally Supported PromiseKit is Now Available
-Tidelift gives software development teams a single source for purchasing
+TideLift gives software development teams a single source for purchasing
and maintaining their software, with professional grade assurances from
the experts who know it best, while seamlessly integrating with existing
tools.
@@ -71,15 +71,18 @@ tools.
# PromiseKit is Thousands of Hours of Work
-Hi, I’m Max Howell and I have written a lot of open source software, and
-probably you already use some of it (Homebrew anyone?). Please help me so I
-can continue to make tools and software you need and love. I appreciate it x.
+Hey there, I’m Max Howell. I’m a prolific producer of open source software and
+probably you already use some of it (I created [`brew`]). I work full-time on
+open source and it’s hard; currently *I earn less than minimum wage*. Please
+help me continue my work, I appreciate it 🙏🏻
-[Other donation/tipping options](http://mxcl.github.io/donate/)
+[Other ways to say thanks](http://mxcl.dev/#donate).
+
+[`brew`]: https://brew.sh
# Documentation
@@ -92,7 +95,7 @@ can continue to make tools and software you need and love. I appreciate it x.
* [Objective-C Guide](Documentation/ObjectiveC.md)
* [Troubleshooting](Documentation/Troubleshooting.md) (e.g., solutions to common compile errors)
* [Appendix](Documentation/Appendix.md)
-* [API Reference](https://promisekit.org/reference/)
+* [API Reference](https://mxcl.dev/PromiseKit/reference/v6/Classes/Promise.html)
# Extensions
@@ -169,10 +172,10 @@ Nowadays, considering that:
* We almost always POST JSON
* We now have `JSONDecoder`
* PromiseKit now has `map` and other functional primitives
-* PromiseKit (like Alamofire, but not raw-URLSession) also defaults to having callbacks go to the main thread
+* PromiseKit (like Alamofire, but not raw-`URLSession`) also defaults to having callbacks go to the main thread
We recommend vanilla `URLSession`. It uses fewer black boxes and sticks closer to the
-metal. Alamofire was essential until the three bulletpoints above became true,
+metal. Alamofire was essential until the three bullet points above became true,
but nowadays it isn’t really necessary.
# Support
@@ -192,5 +195,8 @@ if after that you still have a question, ask at our [Gitter chat channel] or on
[Gitter chat channel]: https://gitter.im/mxcl/PromiseKit
[our bug tracker]: https://github.com/mxcl/PromiseKit/issues/new
[Podfile]: https://guides.cocoapods.org/syntax/podfile.html
-[PMK6]: http://promisekit.org/news/2018/02/PromiseKit-6.0-Released/
+[PMK6]: http://mxcl.dev/PromiseKit/news/2018/02/PromiseKit-6.0-Released/
[Installation Guide]: Documentation/Installation.md
+[badge-travis]: https://travis-ci.org/mxcl/PromiseKit.svg?branch=master
+[travis]: https://travis-ci.org/mxcl/PromiseKit
+[cocoapods]: https://cocoapods.org/pods/PromiseKit
diff --git a/Carthage/Checkouts/PromiseKit/Sources/AnyPromise.h b/Carthage/Checkouts/PromiseKit/Sources/AnyPromise.h
index cd625d9..fd1ad3a 100644
--- a/Carthage/Checkouts/PromiseKit/Sources/AnyPromise.h
+++ b/Carthage/Checkouts/PromiseKit/Sources/AnyPromise.h
@@ -28,8 +28,8 @@ typedef void (^PMKResolver)(id __nullable) NS_REFINED_FOR_SWIFT;
- Parameter block: The provided block is immediately executed, inside the block call `resolve` to resolve this promise and cause any attached handlers to execute. If you are wrapping a delegate-based system, we recommend instead to use: initWithResolver:
- Returns: A new promise.
- Warning: Resolving a promise with `nil` fulfills it.
- - SeeAlso: http://promisekit.org/sealing-your-own-promises/
- - SeeAlso: http://promisekit.org/wrapping-delegation/
+ - SeeAlso: https://github.com/mxcl/PromiseKit/blob/master/Documentation/GettingStarted.md#making-promises
+ - SeeAlso: https://github.com/mxcl/PromiseKit/blob/master/Documentation/CommonPatterns.md#wrapping-delegate-systems
*/
+ (instancetype __nonnull)promiseWithResolverBlock:(void (^ __nonnull)(__nonnull PMKResolver))resolveBlock NS_REFINED_FOR_SWIFT;
@@ -232,7 +232,7 @@ typedef void (^PMKBooleanAdapter)(BOOL, NSError * __nullable) NS_REFINED_FOR_SWI
@warning *Important* If both parameters are nil, the promise fulfills,
if both are non-nil the promise rejects. This is per the convention.
- @see http://promisekit.org/sealing-your-own-promises/
+ @see https://github.com/mxcl/PromiseKit/blob/master/Documentation/GettingStarted.md#making-promises
*/
+ (instancetype __nonnull)promiseWithAdapterBlock:(void (^ __nonnull)(PMKAdapter __nonnull adapter))block NS_REFINED_FOR_SWIFT;
diff --git a/Carthage/Checkouts/PromiseKit/Sources/Catchable.swift b/Carthage/Checkouts/PromiseKit/Sources/Catchable.swift
index 1b640ff..596abdc 100644
--- a/Carthage/Checkouts/PromiseKit/Sources/Catchable.swift
+++ b/Carthage/Checkouts/PromiseKit/Sources/Catchable.swift
@@ -18,7 +18,7 @@ public extension CatchMixin {
- Parameter policy: The default policy does not execute your handler for cancellation errors.
- Parameter execute: The handler to execute if this promise is rejected.
- Returns: A promise finalizer.
- - SeeAlso: [Cancellation](http://promisekit.org/docs/)
+ - SeeAlso: [Cancellation](https://github.com/mxcl/PromiseKit/blob/master/Documentation/CommonPatterns.md#cancellation)
*/
@discardableResult
func `catch`(on: DispatchQueue? = conf.Q.return, flags: DispatchWorkItemFlags? = nil, policy: CatchPolicy = conf.catchPolicy, _ body: @escaping(Error) -> Void) -> PMKFinalizer {
@@ -70,7 +70,7 @@ public extension CatchMixin {
- Parameter on: The queue to which the provided closure dispatches.
- Parameter body: The handler to execute if this promise is rejected.
- - SeeAlso: [Cancellation](http://promisekit.org/docs/)
+ - SeeAlso: [Cancellation](https://github.com/mxcl/PromiseKit/blob/master/Documentation/CommonPatterns.md#cancellation)
*/
func recover(on: DispatchQueue? = conf.Q.map, flags: DispatchWorkItemFlags? = nil, policy: CatchPolicy = conf.catchPolicy, _ body: @escaping(Error) throws -> U) -> Promise where U.T == T {
let rp = Promise(.pending)
@@ -103,7 +103,7 @@ public extension CatchMixin {
- Note it is logically impossible for this to take a `catchPolicy`, thus `allErrors` are handled.
- Parameter on: The queue to which the provided closure dispatches.
- Parameter body: The handler to execute if this promise is rejected.
- - SeeAlso: [Cancellation](http://promisekit.org/docs/)
+ - SeeAlso: [Cancellation](https://github.com/mxcl/PromiseKit/blob/master/Documentation/CommonPatterns.md#cancellation)
*/
@discardableResult
func recover(on: DispatchQueue? = conf.Q.map, flags: DispatchWorkItemFlags? = nil, _ body: @escaping(Error) -> Guarantee) -> Guarantee {
@@ -203,7 +203,7 @@ public extension CatchMixin where T == Void {
- Parameter on: The queue to which the provided closure dispatches.
- Parameter body: The handler to execute if this promise is rejected.
- - SeeAlso: [Cancellation](http://promisekit.org/docs/)
+ - SeeAlso: [Cancellation](https://github.com/mxcl/PromiseKit/blob/master/Documentation/CommonPatterns.md#cancellation)
*/
@discardableResult
func recover(on: DispatchQueue? = conf.Q.map, flags: DispatchWorkItemFlags? = nil, _ body: @escaping(Error) -> Void) -> Guarantee {
@@ -229,7 +229,7 @@ public extension CatchMixin where T == Void {
- Parameter on: The queue to which the provided closure dispatches.
- Parameter body: The handler to execute if this promise is rejected.
- - SeeAlso: [Cancellation](http://promisekit.org/docs/)
+ - SeeAlso: [Cancellation](https://github.com/mxcl/PromiseKit/blob/master/Documentation/CommonPatterns.md#cancellation)
*/
func recover(on: DispatchQueue? = conf.Q.map, flags: DispatchWorkItemFlags? = nil, policy: CatchPolicy = conf.catchPolicy, _ body: @escaping(Error) throws -> Void) -> Promise {
let rg = Promise(.pending)
diff --git a/Carthage/Checkouts/PromiseKit/Sources/LogEvent.swift b/Carthage/Checkouts/PromiseKit/Sources/LogEvent.swift
index 075b1b5..99683bd 100644
--- a/Carthage/Checkouts/PromiseKit/Sources/LogEvent.swift
+++ b/Carthage/Checkouts/PromiseKit/Sources/LogEvent.swift
@@ -5,7 +5,7 @@
/// A promise or guarantee has blocked the main thread
case waitOnMainThread
- /// A promise has been deallocated without being fulfilled
+ /// A promise has been deallocated without being resolved
case pendingPromiseDeallocated
/// An error which occurred while fulfilling a promise was swallowed
@@ -19,12 +19,12 @@ public enum LogEvent {
/// A promise or guarantee has blocked the main thread
case waitOnMainThread
- /// A promise has been deallocated without being fulfilled
+ /// A promise has been deallocated without being resolved
case pendingPromiseDeallocated
- /// A guarantee has been deallocated without being fulfilled
+ /// A guarantee has been deallocated without being resolved
case pendingGuaranteeDeallocated
- /// An error which occurred while fulfilling a promise was swallowed
+ /// An error which occurred while resolving a promise was swallowed
case cauterized(Error)
}
diff --git a/Carthage/Checkouts/PromiseKit/Sources/hang.swift b/Carthage/Checkouts/PromiseKit/Sources/hang.swift
index f974c2f..e944abb 100644
--- a/Carthage/Checkouts/PromiseKit/Sources/hang.swift
+++ b/Carthage/Checkouts/PromiseKit/Sources/hang.swift
@@ -14,9 +14,13 @@ import CoreFoundation
*/
public func hang(_ promise: Promise) throws -> T {
#if os(Linux) || os(Android)
+#if swift(>=5)
+ let runLoopMode: CFRunLoopMode = kCFRunLoopDefaultMode
+#else
// isMainThread is not yet implemented on Linux.
let runLoopModeRaw = RunLoopMode.defaultRunLoopMode.rawValue._bridgeToObjectiveC()
let runLoopMode: CFString = unsafeBitCast(runLoopModeRaw, to: CFString.self)
+#endif
#else
guard Thread.isMainThread else {
// hang doesn't make sense on threads that aren't the main thread.
diff --git a/Carthage/Checkouts/Regift/Regift/Regift.swift b/Carthage/Checkouts/Regift/Regift/Regift.swift
index 9421f89..27edeaf 100644
--- a/Carthage/Checkouts/Regift/Regift/Regift.swift
+++ b/Carthage/Checkouts/Regift/Regift/Regift.swift
@@ -322,7 +322,6 @@ public struct Regift {
// Create a dispatch group to force synchronous behavior on an asynchronous method.
let gifGroup = Group()
- var dispatchError: Bool = false
gifGroup.enter()
var handledTimes: Double = 0
@@ -330,8 +329,9 @@ public struct Regift {
handledTimes += 1
guard let imageRef = image , error == nil else {
print("An error occurred: \(String(describing: error)), image is \(String(describing: image))")
- dispatchError = true
- gifGroup.leave()
+ if requestedTime == times.last?.timeValue {
+ gifGroup.leave()
+ }
return
}
@@ -344,11 +344,6 @@ public struct Regift {
// Wait for the asynchronous generator to finish.
gifGroup.wait()
-
- // If there was an error in the generator, throw the error.
- if dispatchError {
- throw RegiftError.AddFrameToDestination
- }
CGImageDestinationSetProperties(destination, fileProperties as CFDictionary)