Skip to content

Instantly share code, notes, and snippets.

View ramunasjurgilas's full-sized avatar

Ramūnas ramunasjurgilas

View GitHub Profile
@ramunasjurgilas
ramunasjurgilas / MapKeyPath.swift
Created January 30, 2020 08:46
map(_:) KeyPath as transforming operator
struct Person {
let firstName: String
let lastName: String
}
let publisher = PassthroughSubject<Person, Never>()
publisher
.map(\.firstName, \.lastName).sink {
print("\($0) \($1)")
@ramunasjurgilas
ramunasjurgilas / Map.Swift
Last active January 30, 2020 08:29
map() as transforming operator
["1", "2", "w", "3"]
.publisher.map {
Int($0)
}
.sink {
print($0)
}
// Output:
//Optional(1)
@ramunasjurgilas
ramunasjurgilas / Collect.swift
Created January 30, 2020 08:13
collect() as transforming operator
["L", "I", "E", "T", "U", "S", "!"]
.publisher.collect().sink {
print($0)
}
// Output: ["L", "I", "E", "T", "U", "S", "!"]
["L", "I", "E", "T", "U", "S", "!"]
.publisher.collect(4).sink {
print($0)
}