Skip to content

Commit 85a3415

Browse files
authored
Timetable 2025 (#72)
1 parent 3083d58 commit 85a3415

File tree

22 files changed

+2860
-240
lines changed

22 files changed

+2860
-240
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22
#
33
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
44

5+
## macOS
6+
.DS_Store
7+
58
## User settings
69
xcuserdata/
710

MyLibrary/Package.resolved

Lines changed: 41 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -5,35 +5,35 @@
55
"kind" : "remoteSourceControl",
66
"location" : "https://github.com/pointfreeco/combine-schedulers",
77
"state" : {
8-
"revision" : "9dc9cbe4bc45c65164fa653a563d8d8db61b09bb",
9-
"version" : "1.0.0"
8+
"revision" : "5928286acce13def418ec36d05a001a9641086f2",
9+
"version" : "1.0.3"
1010
}
1111
},
1212
{
13-
"identity" : "licenseprovider",
13+
"identity" : "licensesplugin",
1414
"kind" : "remoteSourceControl",
15-
"location" : "https://github.com/zunda-pixel/LicenseProvider",
15+
"location" : "https://github.com/maiyama18/LicensesPlugin",
1616
"state" : {
17-
"revision" : "39cd5f269955fc961630f970c370f9182fe56911",
18-
"version" : "1.1.1"
17+
"revision" : "3061787a7eca7ba801d7a3abccfc077053e79d73",
18+
"version" : "0.2.0"
1919
}
2020
},
2121
{
2222
"identity" : "swift-case-paths",
2323
"kind" : "remoteSourceControl",
2424
"location" : "https://github.com/pointfreeco/swift-case-paths",
2525
"state" : {
26-
"revision" : "551150d5e60e3be78972607d89cd69069cca3e7c",
27-
"version" : "1.2.4"
26+
"revision" : "19b7263bacb9751f151ec0c93ec816fe1ef67c7b",
27+
"version" : "1.6.1"
2828
}
2929
},
3030
{
3131
"identity" : "swift-clocks",
3232
"kind" : "remoteSourceControl",
3333
"location" : "https://github.com/pointfreeco/swift-clocks",
3434
"state" : {
35-
"revision" : "a8421d68068d8f45fbceb418fbf22c5dad4afd33",
36-
"version" : "1.0.2"
35+
"revision" : "cc46202b53476d64e824e0b6612da09d84ffde8e",
36+
"version" : "1.0.6"
3737
}
3838
},
3939
{
@@ -50,80 +50,89 @@
5050
"kind" : "remoteSourceControl",
5151
"location" : "https://github.com/pointfreeco/swift-composable-architecture",
5252
"state" : {
53-
"revision" : "687e27795a99ee90cb149c2446673f07ad02f394",
54-
"version" : "1.9.1"
53+
"revision" : "76c4411e02cc7768a3f27ca058bd2143c342e5b2",
54+
"version" : "1.18.0"
5555
}
5656
},
5757
{
5858
"identity" : "swift-concurrency-extras",
5959
"kind" : "remoteSourceControl",
6060
"location" : "https://github.com/pointfreeco/swift-concurrency-extras",
6161
"state" : {
62-
"revision" : "bb5059bde9022d69ac516803f4f227d8ac967f71",
63-
"version" : "1.1.0"
62+
"revision" : "82a4ae7170d98d8538ec77238b7eb8e7199ef2e8",
63+
"version" : "1.3.1"
6464
}
6565
},
6666
{
6767
"identity" : "swift-custom-dump",
6868
"kind" : "remoteSourceControl",
6969
"location" : "https://github.com/pointfreeco/swift-custom-dump",
7070
"state" : {
71-
"revision" : "3ce83179e5f0c83ad54c305779c6b438e82aaf1d",
72-
"version" : "1.2.1"
71+
"revision" : "82645ec760917961cfa08c9c0c7104a57a0fa4b1",
72+
"version" : "1.3.3"
7373
}
7474
},
7575
{
7676
"identity" : "swift-dependencies",
7777
"kind" : "remoteSourceControl",
7878
"location" : "https://github.com/pointfreeco/swift-dependencies",
7979
"state" : {
80-
"revision" : "09e49dd46932adfe80ce672b4b3772d79ee6c21a",
81-
"version" : "1.2.1"
80+
"revision" : "ec2862d1364536fc22ec56a3094e7a034bbc7da8",
81+
"version" : "1.8.1"
8282
}
8383
},
8484
{
8585
"identity" : "swift-identified-collections",
8686
"kind" : "remoteSourceControl",
8787
"location" : "https://github.com/pointfreeco/swift-identified-collections",
8888
"state" : {
89-
"revision" : "d1e45f3e1eee2c9193f5369fa9d70a6ddad635e8",
90-
"version" : "1.0.0"
89+
"revision" : "322d9ffeeba85c9f7c4984b39422ec7cc3c56597",
90+
"version" : "1.1.1"
91+
}
92+
},
93+
{
94+
"identity" : "swift-navigation",
95+
"kind" : "remoteSourceControl",
96+
"location" : "https://github.com/pointfreeco/swift-navigation",
97+
"state" : {
98+
"revision" : "db6bc9dbfed001f21e6728fd36413d9342c235b4",
99+
"version" : "2.3.0"
91100
}
92101
},
93102
{
94103
"identity" : "swift-perception",
95104
"kind" : "remoteSourceControl",
96105
"location" : "https://github.com/pointfreeco/swift-perception",
97106
"state" : {
98-
"revision" : "42240120b2a8797595433288ab4118f8042214c3",
99-
"version" : "1.1.1"
107+
"revision" : "671fa54b279fd73933b4a8b34782ebf6c8869145",
108+
"version" : "1.5.1"
100109
}
101110
},
102111
{
103-
"identity" : "swift-syntax",
112+
"identity" : "swift-sharing",
104113
"kind" : "remoteSourceControl",
105-
"location" : "https://github.com/apple/swift-syntax",
114+
"location" : "https://github.com/pointfreeco/swift-sharing",
106115
"state" : {
107-
"revision" : "64889f0c732f210a935a0ad7cda38f77f876262d",
108-
"version" : "509.1.1"
116+
"revision" : "2c840cf2ae0526ad6090e7796c4e13d9a2339f4a",
117+
"version" : "2.3.3"
109118
}
110119
},
111120
{
112-
"identity" : "swiftui-navigation",
121+
"identity" : "swift-syntax",
113122
"kind" : "remoteSourceControl",
114-
"location" : "https://github.com/pointfreeco/swiftui-navigation",
123+
"location" : "https://github.com/swiftlang/swift-syntax",
115124
"state" : {
116-
"revision" : "d9e72f3083c08375794afa216fb2f89c0114f303",
117-
"version" : "1.2.1"
125+
"revision" : "64889f0c732f210a935a0ad7cda38f77f876262d",
126+
"version" : "509.1.1"
118127
}
119128
},
120129
{
121130
"identity" : "xctest-dynamic-overlay",
122131
"kind" : "remoteSourceControl",
123132
"location" : "https://github.com/pointfreeco/xctest-dynamic-overlay",
124133
"state" : {
125-
"revision" : "b58e6627149808b40634c4552fcf2f44d0b3ca87",
126-
"version" : "1.1.0"
134+
"revision" : "39de59b2d47f7ef3ca88a039dff3084688fe27f4",
135+
"version" : "1.5.2"
127136
}
128137
}
129138
],

MyLibrary/Package.swift

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,8 @@ let package = Package(
2727
targets: ["trySwiftFeature"]),
2828
],
2929
dependencies: [
30-
.package(url: "https://github.com/pointfreeco/swift-composable-architecture", from: "1.9.1"),
31-
.package(url: "https://github.com/pointfreeco/swift-dependencies", from: "1.2.0"),
32-
.package(url: "https://github.com/zunda-pixel/LicenseProvider", from: "1.1.1"),
30+
.package(url: "https://github.com/pointfreeco/swift-composable-architecture", from: "1.18.0"),
31+
.package(url: "https://github.com/maiyama18/LicensesPlugin", from: "0.2.0"),
3332
],
3433
targets: [
3534
.target(
@@ -54,7 +53,7 @@ let package = Package(
5453
.target(
5554
name: "DependencyExtra",
5655
dependencies: [
57-
.product(name: "Dependencies", package: "swift-dependencies")
56+
.product(name: "ComposableArchitecture", package: "swift-composable-architecture"),
5857
]
5958
),
6059
.target(
@@ -97,7 +96,7 @@ let package = Package(
9796
.product(name: "ComposableArchitecture", package: "swift-composable-architecture"),
9897
],
9998
plugins: [
100-
.plugin(name: "LicenseProviderPlugin", package: "LicenseProvider")
99+
.plugin(name: "LicensesPlugin", package: "LicensesPlugin"),
101100
]
102101
),
103102
.testTarget(

MyLibrary/Sources/DataClient/Client.swift

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
import Dependencies
22
import DependenciesMacros
33
import Foundation
4+
import os.log
45
import SharedModels
56

67
@DependencyClient
78
public struct DataClient {
89
public var fetchDay1: @Sendable () throws -> Conference
910
public var fetchDay2: @Sendable () throws -> Conference
10-
public var fetchWorkshop: @Sendable () throws -> Conference
11+
public var fetchDay3: @Sendable () throws -> Conference
1112
public var fetchSponsors: @Sendable () throws -> Sponsors
1213
public var fetchOrganizers: @Sendable () throws -> [Organizer]
1314
public var fetchSpeakers: @Sendable () throws -> [Speaker]
@@ -17,17 +18,20 @@ extension DataClient: DependencyKey {
1718

1819
static public var liveValue: DataClient = .init(
1920
fetchDay1: {
20-
let data = loadDataFromBundle(fileName: "day1")
21+
Logger().log(level: .info, "loading day 1")
22+
let data = loadDataFromBundle(fileName: "2025-day1")
2123
let response = try jsonDecoder.decode(Conference.self, from: data)
2224
return response
2325
},
2426
fetchDay2: {
25-
let data = loadDataFromBundle(fileName: "day2")
27+
Logger().log(level: .info, "loading day 2")
28+
let data = loadDataFromBundle(fileName: "2025-day2")
2629
let response = try jsonDecoder.decode(Conference.self, from: data)
2730
return response
2831
},
29-
fetchWorkshop: {
30-
let data = loadDataFromBundle(fileName: "workshop")
32+
fetchDay3: {
33+
Logger().log(level: .info, "loading day 3")
34+
let data = loadDataFromBundle(fileName: "2025-day3")
3135
let response = try jsonDecoder.decode(Conference.self, from: data)
3236
return response
3337
},
@@ -49,6 +53,7 @@ extension DataClient: DependencyKey {
4953
)
5054

5155
static func loadDataFromBundle(fileName: String) -> Data {
56+
5257
let filePath = Bundle.module.path(forResource: fileName, ofType: "json")!
5358
let fileURL = URL(fileURLWithPath: filePath)
5459
let data = try! Data(contentsOf: fileURL)

MyLibrary/Sources/DataClient/Resources/day2.json renamed to MyLibrary/Sources/DataClient/Resources/2024-day2.json

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -211,6 +211,50 @@
211211
}
212212
]
213213
},
214+
{
215+
"id": 11,
216+
"time": "2025-04-11T13:10:00+09:00",
217+
"sessions": [
218+
{
219+
"id": 21,
220+
"title": "Swift over Coffee Live",
221+
"place": "Hall",
222+
"description": "Join us for a live recording of the popular podcast \"Swift over Coffee,\" where the latest Swift news and practical techniques are discussed. Hosted by Paul Hudson and Mikaela Caron, the show dives into new Swift features, community trends, and coding tips that prove invaluable in everyday development. In addition to the standard recording session, the event features a Q&A with the audience—offering a unique chance to hear exclusive behind-the-scenes stories and up-to-the-minute development insights. This is an ideal opportunity for Swift developers to catch up on cutting-edge trends and strengthen their ties within the community.",
223+
"speakers": [
224+
{
225+
"id": 89,
226+
"name": "Paul Hudson",
227+
"image_name": "paul_hudson",
228+
"bio": "Paul is the author of Hacking with Swift, Pro Swift, Swift Design Patterns, Testing Swift, Swift Interview Challenges, and more. Suffice it to say, he quite likes Swift. And coffee. (But mostly Swift.) (And coffee.)",
229+
"job_title": "Creator at Hacking with Swift",
230+
"links": [
231+
{
232+
"name": "@twostraws",
233+
"url": "https://x.com/twostraws"
234+
},
235+
{
236+
"name": "@twostraws",
237+
"url": "https://github.com/twostraws"
238+
}
239+
]
240+
},
241+
{
242+
"id": 90,
243+
"name": "Mikaela Caron",
244+
"image_name": "mikaela_caron",
245+
"bio": "Mikaela Caron is an independent iOS Engineer who actively shares her expertise on social media, focusing on iOS development, building apps in public, and freelancing. She’s continuing to work on her indie app Fruitful, which helps people connect with others at conferences, while also traveling as much as she can. She’s also an organizer for iOSDevHappyHour and loves giving back to the community.",
246+
"job_title": "Indie iOS Developer",
247+
"links": [
248+
{
249+
"url": "https://mikaelacaron.com",
250+
"name": "mikaelacaron.com"
251+
}
252+
]
253+
}
254+
]
255+
}
256+
]
257+
},
214258
{
215259
"id": 28,
216260
"time": "2024-03-23T14:15:00+09:00",

0 commit comments

Comments
 (0)