Skip to content

Commit cbb1974

Browse files
committed
upd SwiftFormat rules and github actions
1 parent 32716d2 commit cbb1974

9 files changed

Lines changed: 54 additions & 78 deletions

.github/workflows/swift_macos.yml

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ on:
44
push:
55
branches:
66
- "main"
7+
- $default-branch
78
paths:
89
- ".github/workflows/**"
910
- "Package.swift"
@@ -30,7 +31,11 @@ jobs:
3031
fail-fast: false
3132
matrix:
3233
include:
33-
- xcode: "Xcode_16"
34+
- xcode: "Xcode_16.3"
35+
runsOn: macOS-15
36+
swift: "6.1"
37+
outputFilter: xcbeautify --renderer github-actions
38+
- xcode: "Xcode_16.0"
3439
runsOn: macOS-15
3540
swift: "6.0"
3641
outputFilter: xcbeautify --renderer github-actions
@@ -42,12 +47,8 @@ jobs:
4247
runsOn: macOS-14
4348
swift: "5.9"
4449
outputFilter: xcbeautify --renderer github-actions
45-
- xcode: "Xcode_14.3"
46-
runsOn: macOS-13
47-
swift: "5.8"
48-
outputFilter: xcbeautify --renderer github-actions
4950
steps:
50-
- uses: NeedleInAJayStack/setup-swift@feat/swift-6 # swift-actions/setup-swift@main
51+
- uses: swift-actions/setup-swift@v2
5152
with:
5253
swift-version: ${{ matrix.swift }}
5354
- uses: actions/checkout@v4

Package.swift

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,13 @@ let package = Package(
1313
.watchOS(.v6)
1414
],
1515
products: [
16-
.library(name: "DefferedTaskKit", targets: ["DefferedTaskKit"])
16+
.library(name: "DefferedTaskKit", targets: ["DefferedTaskKit"]),
17+
.library(name: "DefferedTaskKitStatic", type: .static, targets: ["DefferedTaskKit"]),
18+
.library(name: "DefferedTaskKitDynamic", type: .dynamic, targets: ["DefferedTaskKit"])
1719
],
1820
dependencies: [
19-
.package(url: "https://github.com/NikSativa/Threading.git", .upToNextMinor(from: "2.1.1")),
20-
.package(url: "https://github.com/NikSativa/SpryKit.git", .upToNextMinor(from: "3.0.2"))
21+
.package(url: "https://github.com/NikSativa/Threading.git", from: "2.2.0"),
22+
.package(url: "https://github.com/NikSativa/SpryKit.git", from: "3.0.4")
2123
],
2224
targets: [
2325
.target(name: "DefferedTaskKit",

Package@swift-5.8.swift

Lines changed: 0 additions & 38 deletions
This file was deleted.

Package@swift-5.9.swift

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,13 @@ let package = Package(
1313
.watchOS(.v6)
1414
],
1515
products: [
16-
.library(name: "DefferedTaskKit", targets: ["DefferedTaskKit"])
16+
.library(name: "DefferedTaskKit", targets: ["DefferedTaskKit"]),
17+
.library(name: "DefferedTaskKitStatic", type: .static, targets: ["DefferedTaskKit"]),
18+
.library(name: "DefferedTaskKitDynamic", type: .dynamic, targets: ["DefferedTaskKit"])
1719
],
1820
dependencies: [
19-
.package(url: "https://github.com/NikSativa/Threading.git", .upToNextMinor(from: "2.1.1")),
20-
.package(url: "https://github.com/NikSativa/SpryKit.git", .upToNextMinor(from: "3.0.2"))
21+
.package(url: "https://github.com/NikSativa/Threading.git", from: "2.2.0"),
22+
.package(url: "https://github.com/NikSativa/SpryKit.git", from: "3.0.4")
2123
],
2224
targets: [
2325
.target(name: "DefferedTaskKit",

Source/DefferedTask+combine.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ public extension DefferedTask {
5454
case (.success(let a), .success(let b)):
5555
let result: (OriginalResult, OtherResult) = (a, b)
5656
return .success(result)
57+
5758
case (_, .failure(let a)),
5859
(.failure(let a), _):
5960
return .failure(a)
@@ -100,6 +101,7 @@ public extension DefferedTask {
100101
case (.success(let a), .success(let b)):
101102
let result: (OriginalResult, OtherResult) = (a, b)
102103
return .success(result)
104+
103105
case (_, .failure(let a)),
104106
(.failure(let a), _):
105107
return .failure(a)

Source/DefferedTask.swift

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public final class DefferedTask<ResultType: Sendable>: @unchecked Sendable {
1717
private var completeCallback: Completion?
1818
private var afterCallback: Completion?
1919
private var options: MemoryOption = .selfRetained
20-
private var mutex: Mutexing = AnyMutex.pthread(.recursive)
20+
private var mutex: Locking = AnyLock.pthread(.recursive)
2121
private var completionQueue: DelayedQueue = .absent
2222
private var workQueue: DelayedQueue = .absent
2323
private var strongyfy: DefferedTask?
@@ -47,7 +47,7 @@ public final class DefferedTask<ResultType> {
4747
private var completeCallback: Completion?
4848
private var afterCallback: Completion?
4949
private var options: MemoryOption = .selfRetained
50-
private var mutex: Mutexing = AnyMutex.pthread(.recursive)
50+
private var mutex: Locking = AnyLock.pthread(.recursive)
5151
private var completionQueue: DelayedQueue = .absent
5252
private var workQueue: DelayedQueue = .absent
5353
private var strongyfy: DefferedTask?
@@ -81,6 +81,7 @@ public extension DefferedTask {
8181
guard let self else {
8282
return
8383
}
84+
8485
strongyfy = nil
8586

8687
callbacks.before?(result)
@@ -108,10 +109,12 @@ public extension DefferedTask {
108109
guard let self else {
109110
return
110111
}
112+
111113
work { [weak self] in
112114
guard let self else {
113115
return
114116
}
117+
115118
complete($0)
116119
}
117120
}
@@ -400,7 +403,7 @@ public extension DefferedTask {
400403

401404
func set(userInfo value: Any) -> Self {
402405
assert(!completed, "you can't change configuration after `onComplete`")
403-
mutex.sync {
406+
mutex.syncUnchecked {
404407
userInfo = value
405408
}
406409
return self

Source/PendingTask.swift

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ public class PendingTask<ResultType: Sendable>: @unchecked Sendable {
99
public typealias ServiceClosure = DefferedTask.TaskClosure
1010
public typealias Completion = DefferedTask.Completion
1111

12-
private var mutex: Mutexing = AnyMutex.pthread(.recursive)
12+
private var mutex: Locking = AnyLock.pthread(.recursive)
1313
private var cached: DefferedTask?
1414

1515
private var beforeCallback: Completion?
@@ -28,7 +28,7 @@ public class PendingTask<ResultType> {
2828
public typealias ServiceClosure = DefferedTask.TaskClosure
2929
public typealias Completion = DefferedTask.Completion
3030

31-
private var mutex: Mutexing = AnyMutex.pthread(.recursive)
31+
private var mutex: Locking = AnyLock.pthread(.recursive)
3232
private var cached: DefferedTask?
3333

3434
private var beforeCallback: Completion?
@@ -53,7 +53,7 @@ public extension PendingTask {
5353
}
5454

5555
func current(_ closure: () -> DefferedTask) -> DefferedTask {
56-
return mutex.sync {
56+
return mutex.syncUnchecked {
5757
let loacalCached: DefferedTask = cached ?? closure()
5858
return .init(execute: { [weak self, loacalCached] actual in
5959
guard let self else {
@@ -78,11 +78,9 @@ public extension PendingTask {
7878
.assign(to: &self.cached)
7979
.weakify()
8080
.onComplete { [weak self] result in
81-
self?.mutex.sync {
81+
let cachedCallback = self?.mutex.syncUnchecked {
8282
self?.cached = nil
83-
}
8483

85-
let cachedCallback = self?.mutex.sync {
8684
let originalCallback = self?.cachedCallback
8785
self?.cachedCallback = nil
8886
return originalCallback

Tests/DefferedTask+andThen.swift

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,22 +10,23 @@ final class DefferedTask_andThen: XCTestCase {
1010
let subject: (Int) -> String? = { [unowned self] v in
1111
let actual: SendableResult<String?> = .init()
1212
let exp = expectation(description: "wait")
13-
DefferedTask<Int>(result: v).andThen { v in
14-
return .init { actual in
15-
Queue.main.async {
16-
actual("\(v)")
13+
DefferedTask<Int>(result: v)
14+
.andThen { v in
15+
return .init { actual in
16+
Queue.main.async {
17+
actual("\(v)")
18+
}
1719
}
20+
.set(workQueue: .n.async(.background))
21+
.set(completionQueue: .n.async(.background))
1822
}
1923
.set(workQueue: .n.async(.background))
2024
.set(completionQueue: .n.async(.background))
21-
}
22-
.set(workQueue: .n.async(.background))
23-
.set(completionQueue: .n.async(.background))
24-
// .weakify() <- 'andThen' makes 'strongify()'
25-
.onComplete { result in
26-
actual.value = result
27-
exp.fulfill()
28-
}
25+
// .weakify() <- 'andThen' makes 'strongify()'
26+
.onComplete { result in
27+
actual.value = result
28+
exp.fulfill()
29+
}
2930
wait(for: [exp], timeout: 1)
3031
return actual.value
3132
}
@@ -41,7 +42,8 @@ final class DefferedTask_andThen: XCTestCase {
4142

4243
let exp = expectation(description: "wait")
4344
exp.isInverted = true
44-
DefferedTask<Int>(result: v).weakify()
45+
DefferedTask<Int>(result: v)
46+
.weakify()
4547
.andThen { v in
4648
return .init { actual in
4749
Queue.main.async {

Tests/DefferedTaskTests.swift

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -390,15 +390,19 @@ final class DefferedTaskTests: XCTestCase {
390390
}
391391

392392
XCTAssertThrowsAssertion {
393-
_ = createSubject().flatMap { _ in
394-
return "str"
395-
}.flatMapVoid()
393+
_ = createSubject()
394+
.flatMap { _ in
395+
return "str"
396+
}
397+
.flatMapVoid()
396398
}
397399

398400
XCTAssertThrowsAssertion {
399-
_ = createSubject().compactMap { _ in
400-
return "str"
401-
}.flatMapVoid()
401+
_ = createSubject()
402+
.compactMap { _ in
403+
return "str"
404+
}
405+
.flatMapVoid()
402406
}
403407

404408
XCTAssertThrowsAssertion {

0 commit comments

Comments
 (0)