Skip to content

Instantly share code, notes, and snippets.

View yoching's full-sized avatar
👋

Yoshikuni Kato yoching

👋
View GitHub Profile
@yoching
yoching / Task.swift
Created April 19, 2018 05:48
Simple Task implementation in swift
typealias Completion<Value, Error: Swift.Error> = (Result<Value, Error>) -> Void
typealias TaskHandler<Value, Error: Swift.Error> = (@escaping Completion<Value, Error>) -> Void
struct Task<Value, Error: Swift.Error> {
private let handler: TaskHandler<Value, Error>
init(_ handler: @escaping TaskHandler<Value, Error>) {
self.handler = handler
}
@yoching
yoching / SingleOrMultiple.swift
Last active April 12, 2018 06:07
Data container which express single or multiple ojects
enum SingleOrMultiple<Value> {
case single(Value)
case multiple([Value])
func map<T>(_ transform: (Value) throws -> T) rethrows -> SingleOrMultiple<T> {
switch self {
case let .single(value): return .single(try transform(value))
case let .multiple(values): return .multiple(try values.map(transform))
}
}
@roana0229
roana0229 / sample.swift
Last active September 17, 2017 15:16
関数を引数として渡す書き方のポイントのおまけ調べ
func printFunc(str: String) {
print(str)
}
// Int2つを、引数として宣言
func someFunc(a: Int, b: Int) -> String {
return "a: \(a), b: \(b)"
}
// Int2つを持つタプルを、引数として宣言
@inamiy
inamiy / SwiftElmFrameworkList.md
Last active March 11, 2024 10:20
React & Elm inspired frameworks in Swift