関西モバイルアプリ研究会 #24 の発表資料とさせてください。
- Presentations by d_date // Speaker Deck
- 色々発表されていそう
import Himotoki | |
struct User: Decodable { ... } | |
struct Foo: Decodable { | |
let name: String | |
let users: [User] | |
static func decode(e: Extractor) -> Foo? { | |
let create = { Foo($0) } |
let values = [ "1", "foo", "3" ] | |
// Swift 1.2 | |
extension Array { | |
func filterMap(@noescape transform: T -> U?) -> [U] { | |
var results = [U]() | |
for x in self { | |
if let mapped = transform(x) { | |
results.append(mapped) |
public func toScopedDisposable(disposable: Disposable) -> ScopedDisposable { | |
return ScopedDisposable(disposable) | |
} |
diff --git a/Source/CarthageKit/Cartfile.swift b/Source/CarthageKit/Cartfile.swift | |
index b1b1b46..172b3c2 100644 | |
--- a/Source/CarthageKit/Cartfile.swift | |
+++ b/Source/CarthageKit/Cartfile.swift | |
@@ -274,11 +274,14 @@ public struct Dependency<V: VersionType>: Equatable { | |
/// The project corresponding to this dependency. | |
public let project: ProjectIdentifier | |
+ public let dependencyOf: ProjectIdentifier? | |
+ |
diff --git a/Source/CarthageKit/Resolver.swift b/Source/CarthageKit/Resolver.swift | |
index 884880b..4f20925 100644 | |
--- a/Source/CarthageKit/Resolver.swift | |
+++ b/Source/CarthageKit/Resolver.swift | |
@@ -117,13 +117,13 @@ public struct Resolver { | |
private func resolveDependenciesFromNodePermutations(permutationsProducer: SignalProducer<[DependencyNode], CarthageError>) -> SignalProducer<DependencyGraph, CarthageError> { | |
return permutationsProducer | |
- .flatMap(.Concat) { rootNodes -> SignalProducer<Event<DependencyGraph, CarthageError>, CarthageError> in | |
+ .flatMap(.Concat) { rootNodes -> SignalProducer<DependencyGraph, CarthageError> in |
diff --git a/Source/CarthageKit/Errors.swift b/Source/CarthageKit/Errors.swift | |
index f15cc3b..07ac87f 100644 | |
--- a/Source/CarthageKit/Errors.swift | |
+++ b/Source/CarthageKit/Errors.swift | |
@@ -28,6 +28,9 @@ public enum CarthageError: ErrorType, Equatable { | |
/// a dependency. | |
case RequiredVersionNotFound(ProjectIdentifier, VersionSpecifier) | |
+ /// A git submodule didn't exist which is listed in `.gitmodules` entries. | |
+ case SubmoduleNotFound(String) |
// https://twitter.com/watura/status/708164552882425856 | |
import Himotoki | |
struct Foo: Decodable { | |
let JSON: [String: AnyJSON] | |
static func decode(e: Extractor) throws -> Foo { | |
let dictFromJSONStringTransformer = Transformer<String, [String: AnyJSON]> { string in | |
guard let data = string.dataUsingEncoding(NSUTF8StringEncoding) else { |
#!/usr/bin/env bash | |
# Automatically installs swiftenv and run's swiftenv install. | |
# This script was designed for usage in CI systems. | |
git clone -b support-installing-previews --depth 1 https://github.com/ikesyo/swiftenv.git ~/.swiftenv | |
export SWIFTENV_ROOT="$HOME/.swiftenv" | |
export PATH="$SWIFTENV_ROOT/bin:$SWIFTENV_ROOT/shims:$PATH" | |
if [ -f ".swift-version" ] || [ -n "$SWIFT_VERSION" ]; then | |
swiftenv install -s |
関西モバイルアプリ研究会 #24 の発表資料とさせてください。
Kansai.kt #4 〜呑んだくれLT大会〜の発表資料とさせてください。