diff --git a/Example/Japx.xcodeproj/project.pbxproj b/Example/Japx.xcodeproj/project.pbxproj index 494e0f6..9b80983 100644 --- a/Example/Japx.xcodeproj/project.pbxproj +++ b/Example/Japx.xcodeproj/project.pbxproj @@ -318,7 +318,6 @@ 607FACCD1AFB9204008FA782 /* Frameworks */, 607FACCE1AFB9204008FA782 /* Resources */, 96D02A5ECB10B9C3FD14051B /* [CP] Embed Pods Frameworks */, - 78CFFA8D2659DE60E07D1809 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -338,7 +337,6 @@ 607FACE21AFB9204008FA782 /* Frameworks */, 607FACE31AFB9204008FA782 /* Resources */, C1B5BB1EF527CE5CA3158537 /* [CP] Embed Pods Frameworks */, - 57C5F4BE81E7BAB86A782D47 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -357,7 +355,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0830; - LastUpgradeCheck = 0930; + LastUpgradeCheck = 0940; ORGANIZATIONNAME = CocoaPods; TargetAttributes = { 607FACCF1AFB9204008FA782 = { @@ -445,36 +443,6 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 57C5F4BE81E7BAB86A782D47 /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "[CP] Copy Pods Resources"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Japx_Tests/Pods-Japx_Tests-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; - 78CFFA8D2659DE60E07D1809 /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "[CP] Copy Pods Resources"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Japx_Example/Pods-Japx_Example-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; 8E3A6C4DC2C586DFBC4BD045 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -502,12 +470,16 @@ "${SRCROOT}/Pods/Target Support Files/Pods-Japx_Example/Pods-Japx_Example-frameworks.sh", "${BUILT_PRODUCTS_DIR}/Alamofire/Alamofire.framework", "${BUILT_PRODUCTS_DIR}/Japx/Japx.framework", + "${BUILT_PRODUCTS_DIR}/Moya/Moya.framework", + "${BUILT_PRODUCTS_DIR}/Result/Result.framework", "${BUILT_PRODUCTS_DIR}/RxSwift/RxSwift.framework", ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Alamofire.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Japx.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Moya.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Result.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxSwift.framework", ); runOnlyForDeploymentPostprocessing = 0; diff --git a/Example/Japx.xcworkspace/xcshareddata/xcschemes/Japx.xcscheme b/Example/Japx.xcworkspace/xcshareddata/xcschemes/Japx.xcscheme index df4c957..f7333a3 100644 --- a/Example/Japx.xcworkspace/xcshareddata/xcschemes/Japx.xcscheme +++ b/Example/Japx.xcworkspace/xcshareddata/xcschemes/Japx.xcscheme @@ -1,6 +1,6 @@ @@ -42,7 +42,7 @@ @@ -64,7 +64,7 @@ @@ -82,7 +82,7 @@ diff --git a/Example/Japx.xcworkspace/xcshareddata/xcschemes/JapxExample.xcscheme b/Example/Japx.xcworkspace/xcshareddata/xcschemes/JapxExample.xcscheme index 59b6f54..796d810 100644 --- a/Example/Japx.xcworkspace/xcshareddata/xcschemes/JapxExample.xcscheme +++ b/Example/Japx.xcworkspace/xcshareddata/xcschemes/JapxExample.xcscheme @@ -1,6 +1,6 @@ '../' + pod 'Japx/RxCodableMoya', :path => '../' target 'Japx_Tests' do inherit! :search_paths diff --git a/Example/Podfile.lock b/Example/Podfile.lock index 2378730..bbaa443 100644 --- a/Example/Podfile.lock +++ b/Example/Podfile.lock @@ -1,40 +1,59 @@ PODS: - - Alamofire (4.7.0) - - Japx/Alamofire (1.0.0): - - Alamofire (~> 4.5) + - Alamofire (4.7.3) + - Japx/Codable (1.0.2): - Japx/Core - - Japx/Codable (1.0.0): - - Japx/Core - - Japx/CodableAlamofire (1.0.0): - - Japx/Alamofire + - Japx/CodableMoya (1.0.2): - Japx/Codable - - Japx/Core (1.0.0) - - Japx/RxAlamofire (1.0.0): - - Japx/Alamofire + - Japx/Core + - Japx/Moya + - Japx/Core (1.0.2) + - Japx/Moya (1.0.2): + - Japx/Core + - Moya/RxSwift (~> 11.0) + - Japx/RxCodableMoya (1.0.2): + - Japx/CodableMoya + - Japx/Core + - Japx/RxMoya + - Japx/RxMoya (1.0.2): + - Japx/Moya + - Moya/Core (11.0.2): + - Alamofire (~> 4.1) + - Result (~> 3.0) + - Moya/RxSwift (11.0.2): + - Moya/Core - RxSwift (~> 4.0) - - Japx/RxCodableAlamofire (1.0.0): - - Japx/CodableAlamofire - - Japx/RxAlamofire - Nimble (7.0.3) - Quick (1.2.0) - - RxSwift (4.1.2) + - Result (3.2.4) + - RxSwift (4.2.0) DEPENDENCIES: - - Japx/RxCodableAlamofire (from `../`) + - Japx/RxCodableMoya (from `../`) - Nimble (~> 7.0.2) - Quick (~> 1.2.0) +SPEC REPOS: + https://github.com/cocoapods/specs.git: + - Alamofire + - Moya + - Nimble + - Quick + - Result + - RxSwift + EXTERNAL SOURCES: Japx: - :path: ../ + :path: "../" SPEC CHECKSUMS: - Alamofire: 907e0a98eb68cdb7f9d1f541a563d6ac5dc77b25 - Japx: 1565d63a2fad537f6213956702cbc51cc20ea656 + Alamofire: c7287b6e5d7da964a70935e5db17046b7fde6568 + Japx: 08b7b2d2bc7a378c9e28e9f56c6e4bc48a0e54da + Moya: a725035953bc1c0eb1be505ab903984501d82440 Nimble: 7f5a9c447a33002645a071bddafbfb24ea70e0ac Quick: 58d203b1c5e27fff7229c4c1ae445ad7069a7a08 - RxSwift: e49536837d9901277638493ea537394d4b55f570 + Result: d2d07204ce72856f1fd9130bbe42c35a7b0fea10 + RxSwift: 99e10317ddfcc7fbe01356aafd118fde4a0be104 -PODFILE CHECKSUM: 98601fe2b9583a38fcc317df035455d25482a5c8 +PODFILE CHECKSUM: e4775c503c3da317938d070d15dc4acc1a5c8e6f -COCOAPODS: 1.4.0 +COCOAPODS: 1.5.2 diff --git a/Example/Pods/Alamofire/README.md b/Example/Pods/Alamofire/README.md index 3b04d71..0208252 100644 --- a/Example/Pods/Alamofire/README.md +++ b/Example/Pods/Alamofire/README.md @@ -4,7 +4,7 @@ [![CocoaPods Compatible](https://img.shields.io/cocoapods/v/Alamofire.svg)](https://img.shields.io/cocoapods/v/Alamofire.svg) [![Carthage Compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) [![Platform](https://img.shields.io/cocoapods/p/Alamofire.svg?style=flat)](https://alamofire.github.io/Alamofire) -[![Twitter](https://img.shields.io/badge/twitter-@AlamofireSF-blue.svg?style=flat)](http://twitter.com/AlamofireSF) +[![Twitter](https://img.shields.io/badge/twitter-@AlamofireSF-blue.svg?style=flat)](https://twitter.com/AlamofireSF) [![Gitter](https://badges.gitter.im/Alamofire/Alamofire.svg)](https://gitter.im/Alamofire/Alamofire?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) Alamofire is an HTTP networking library written in Swift. @@ -68,8 +68,8 @@ In order to keep Alamofire focused specifically on core networking implementatio ## Communication -- If you **need help**, use [Stack Overflow](http://stackoverflow.com/questions/tagged/alamofire). (Tag 'alamofire') -- If you'd like to **ask a general question**, use [Stack Overflow](http://stackoverflow.com/questions/tagged/alamofire). +- If you **need help**, use [Stack Overflow](https://stackoverflow.com/questions/tagged/alamofire). (Tag 'alamofire') +- If you'd like to **ask a general question**, use [Stack Overflow](https://stackoverflow.com/questions/tagged/alamofire). - If you **found a bug**, open an issue. - If you **have a feature request**, open an issue. - If you **want to contribute**, submit a pull request. @@ -78,7 +78,7 @@ In order to keep Alamofire focused specifically on core networking implementatio ### CocoaPods -[CocoaPods](http://cocoapods.org) is a dependency manager for Cocoa projects. You can install it with the following command: +[CocoaPods](https://cocoapods.org) is a dependency manager for Cocoa projects. You can install it with the following command: ```bash $ gem install cocoapods @@ -108,7 +108,7 @@ $ pod install [Carthage](https://github.com/Carthage/Carthage) is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks. -You can install Carthage with [Homebrew](http://brew.sh/) using the following command: +You can install Carthage with [Homebrew](https://brew.sh/) using the following command: ```bash $ brew update @@ -157,7 +157,7 @@ If you prefer not to use any of the aforementioned dependency managers, you can $ git init ``` -- Add Alamofire as a git [submodule](http://git-scm.com/docs/git-submodule) by running the following command: +- Add Alamofire as a git [submodule](https://git-scm.com/docs/git-submodule) by running the following command: ```bash $ git submodule add https://github.com/Alamofire/Alamofire.git @@ -220,15 +220,22 @@ If you believe you have identified a security vulnerability with Alamofire, you ## Donations -The [ASF](https://github.com/Alamofire/Foundation#members) is looking to raise money to officially register as a federal non-profit organization. Registering will allow us members to gain some legal protections and also allow us to put donations to use, tax free. Donating to the ASF will enable us to: +The [ASF](https://github.com/Alamofire/Foundation#members) is looking to raise money to officially stay registered as a federal non-profit organization. +Registering will allow us members to gain some legal protections and also allow us to put donations to use, tax free. +Donating to the ASF will enable us to: -- Pay our legal fees to register as a federal non-profit organization - Pay our yearly legal fees to keep the non-profit in good status - Pay for our mail servers to help us stay on top of all questions and security issues - Potentially fund test servers to make it easier for us to test the edge cases - Potentially fund developers to work on one of our projects full-time -The community adoption of the ASF libraries has been amazing. We are greatly humbled by your enthusiasm around the projects, and want to continue to do everything we can to move the needle forward. With your continued support, the ASF will be able to improve its reach and also provide better legal safety for the core members. If you use any of our libraries for work, see if your employers would be interested in donating. Our initial goal is to raise $1000 to get all our legal ducks in a row and kickstart this campaign. Any amount you can donate today to help us reach our goal would be greatly appreciated. +The community adoption of the ASF libraries has been amazing. +We are greatly humbled by your enthusiasm around the projects, and want to continue to do everything we can to move the needle forward. +With your continued support, the ASF will be able to improve its reach and also provide better legal safety for the core members. +If you use any of our libraries for work, see if your employers would be interested in donating. +Any amount you can donate today to help us reach our goal would be greatly appreciated. + +[![paypal](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=W34WPEE74APJQ) ## License diff --git a/Example/Pods/Alamofire/Source/AFError.swift b/Example/Pods/Alamofire/Source/AFError.swift index 585ae14..8b90d84 100644 --- a/Example/Pods/Alamofire/Source/AFError.swift +++ b/Example/Pods/Alamofire/Source/AFError.swift @@ -1,7 +1,7 @@ // // AFError.swift // -// Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) +// Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Example/Pods/Alamofire/Source/Alamofire.swift b/Example/Pods/Alamofire/Source/Alamofire.swift index e971613..2fcc05c 100644 --- a/Example/Pods/Alamofire/Source/Alamofire.swift +++ b/Example/Pods/Alamofire/Source/Alamofire.swift @@ -1,7 +1,7 @@ // // Alamofire.swift // -// Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) +// Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Example/Pods/Alamofire/Source/DispatchQueue+Alamofire.swift b/Example/Pods/Alamofire/Source/DispatchQueue+Alamofire.swift index 9031395..dea3ebc 100644 --- a/Example/Pods/Alamofire/Source/DispatchQueue+Alamofire.swift +++ b/Example/Pods/Alamofire/Source/DispatchQueue+Alamofire.swift @@ -1,7 +1,7 @@ // // DispatchQueue+Alamofire.swift // -// Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) +// Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Example/Pods/Alamofire/Source/MultipartFormData.swift b/Example/Pods/Alamofire/Source/MultipartFormData.swift index ba02d24..057e68b 100644 --- a/Example/Pods/Alamofire/Source/MultipartFormData.swift +++ b/Example/Pods/Alamofire/Source/MultipartFormData.swift @@ -1,7 +1,7 @@ // // MultipartFormData.swift // -// Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) +// Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Example/Pods/Alamofire/Source/NetworkReachabilityManager.swift b/Example/Pods/Alamofire/Source/NetworkReachabilityManager.swift index 1e4d830..3ff2e7f 100644 --- a/Example/Pods/Alamofire/Source/NetworkReachabilityManager.swift +++ b/Example/Pods/Alamofire/Source/NetworkReachabilityManager.swift @@ -1,7 +1,7 @@ // // NetworkReachabilityManager.swift // -// Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) +// Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Example/Pods/Alamofire/Source/Notifications.swift b/Example/Pods/Alamofire/Source/Notifications.swift index f301031..e1b6120 100644 --- a/Example/Pods/Alamofire/Source/Notifications.swift +++ b/Example/Pods/Alamofire/Source/Notifications.swift @@ -1,7 +1,7 @@ // // Notifications.swift // -// Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) +// Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Example/Pods/Alamofire/Source/ParameterEncoding.swift b/Example/Pods/Alamofire/Source/ParameterEncoding.swift index ac49a40..4a54f2d 100644 --- a/Example/Pods/Alamofire/Source/ParameterEncoding.swift +++ b/Example/Pods/Alamofire/Source/ParameterEncoding.swift @@ -1,7 +1,7 @@ // // ParameterEncoding.swift // -// Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) +// Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Example/Pods/Alamofire/Source/Request.swift b/Example/Pods/Alamofire/Source/Request.swift index d93c52d..ea43411 100644 --- a/Example/Pods/Alamofire/Source/Request.swift +++ b/Example/Pods/Alamofire/Source/Request.swift @@ -1,7 +1,7 @@ // // Request.swift // -// Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) +// Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal @@ -102,7 +102,7 @@ open class Request { open var task: URLSessionTask? { return delegate.task } /// The session belonging to the underlying task. - open let session: URLSession + public let session: URLSession /// The request sent or to be sent to the server. open var request: URLRequest? { return task?.originalRequest } @@ -184,7 +184,7 @@ open class Request { /// - parameter password: The password. /// /// - returns: A tuple with Authorization header and credential value if encoding succeeds, `nil` otherwise. - open static func authorizationHeader(user: String, password: String) -> (key: String, value: String)? { + open class func authorizationHeader(user: String, password: String) -> (key: String, value: String)? { guard let data = "\(user):\(password)".data(using: .utf8) else { return nil } let credential = data.base64EncodedString(options: []) @@ -333,7 +333,8 @@ extension Request: CustomDebugStringConvertible { } for (field, value) in headers { - components.append("-H \"\(field): \(value)\"") + let escapedValue = String(describing: value).replacingOccurrences(of: "\"", with: "\\\"") + components.append("-H \"\(field): \(escapedValue)\"") } if let httpBodyData = request.httpBody, let httpBody = String(data: httpBodyData, encoding: .utf8) { diff --git a/Example/Pods/Alamofire/Source/Response.swift b/Example/Pods/Alamofire/Source/Response.swift index 814662c..74b1ef5 100644 --- a/Example/Pods/Alamofire/Source/Response.swift +++ b/Example/Pods/Alamofire/Source/Response.swift @@ -1,7 +1,7 @@ // // Response.swift // -// Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) +// Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Example/Pods/Alamofire/Source/ResponseSerialization.swift b/Example/Pods/Alamofire/Source/ResponseSerialization.swift index 54f493e..3333726 100644 --- a/Example/Pods/Alamofire/Source/ResponseSerialization.swift +++ b/Example/Pods/Alamofire/Source/ResponseSerialization.swift @@ -1,7 +1,7 @@ // // ResponseSerialization.swift // -// Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) +// Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Example/Pods/Alamofire/Source/Result.swift b/Example/Pods/Alamofire/Source/Result.swift index bbd3c61..df62e12 100644 --- a/Example/Pods/Alamofire/Source/Result.swift +++ b/Example/Pods/Alamofire/Source/Result.swift @@ -1,7 +1,7 @@ // // Result.swift // -// Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) +// Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Example/Pods/Alamofire/Source/ServerTrustPolicy.swift b/Example/Pods/Alamofire/Source/ServerTrustPolicy.swift index 1ad3530..7f44c8d 100644 --- a/Example/Pods/Alamofire/Source/ServerTrustPolicy.swift +++ b/Example/Pods/Alamofire/Source/ServerTrustPolicy.swift @@ -1,7 +1,7 @@ // // ServerTrustPolicy.swift // -// Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) +// Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal @@ -27,7 +27,7 @@ import Foundation /// Responsible for managing the mapping of `ServerTrustPolicy` objects to a given host. open class ServerTrustPolicyManager { /// The dictionary of policies mapped to a particular host. - open let policies: [String: ServerTrustPolicy] + public let policies: [String: ServerTrustPolicy] /// Initializes the `ServerTrustPolicyManager` instance with the given policies. /// diff --git a/Example/Pods/Alamofire/Source/SessionDelegate.swift b/Example/Pods/Alamofire/Source/SessionDelegate.swift index 0f695e4..03bcb7c 100644 --- a/Example/Pods/Alamofire/Source/SessionDelegate.swift +++ b/Example/Pods/Alamofire/Source/SessionDelegate.swift @@ -1,7 +1,7 @@ // // SessionDelegate.swift // -// Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) +// Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal @@ -163,7 +163,7 @@ open class SessionDelegate: NSObject { var retrier: RequestRetrier? weak var sessionManager: SessionManager? - private var requests: [Int: Request] = [:] + var requests: [Int: Request] = [:] private let lock = NSLock() /// Access the task delegate for the specified task in a thread-safe manner. diff --git a/Example/Pods/Alamofire/Source/SessionManager.swift b/Example/Pods/Alamofire/Source/SessionManager.swift index 0ff677b..8779efd 100644 --- a/Example/Pods/Alamofire/Source/SessionManager.swift +++ b/Example/Pods/Alamofire/Source/SessionManager.swift @@ -1,7 +1,7 @@ // // SessionManager.swift // -// Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) +// Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal @@ -45,7 +45,7 @@ open class SessionManager { /// A default instance of `SessionManager`, used by top-level Alamofire request methods, and suitable for use /// directly for any ad hoc requests. - open static let `default`: SessionManager = { + public static let `default`: SessionManager = { let configuration = URLSessionConfiguration.default configuration.httpAdditionalHeaders = SessionManager.defaultHTTPHeaders @@ -53,7 +53,7 @@ open class SessionManager { }() /// Creates default values for the "Accept-Encoding", "Accept-Language" and "User-Agent" headers. - open static let defaultHTTPHeaders: HTTPHeaders = { + public static let defaultHTTPHeaders: HTTPHeaders = { // Accept-Encoding HTTP Header; see https://tools.ietf.org/html/rfc7230#section-4.2.3 let acceptEncoding: String = "gzip;q=1.0, compress;q=0.5" @@ -118,13 +118,13 @@ open class SessionManager { }() /// Default memory threshold used when encoding `MultipartFormData` in bytes. - open static let multipartFormDataEncodingMemoryThreshold: UInt64 = 10_000_000 + public static let multipartFormDataEncodingMemoryThreshold: UInt64 = 10_000_000 /// The underlying session. - open let session: URLSession + public let session: URLSession /// The session delegate handling all the task and session delegate callbacks. - open let delegate: SessionDelegate + public let delegate: SessionDelegate /// Whether to start requests immediately after being constructed. `true` by default. open var startRequestsImmediately: Bool = true @@ -848,6 +848,10 @@ open class SessionManager { do { let task = try originalTask.task(session: session, adapter: adapter, queue: queue) + if let originalTask = request.task { + delegate[originalTask] = nil // removes the old request to avoid endless growth + } + request.delegate.task = task // resets all task delegate data request.retryCount += 1 diff --git a/Example/Pods/Alamofire/Source/TaskDelegate.swift b/Example/Pods/Alamofire/Source/TaskDelegate.swift index 0607758..8e19888 100644 --- a/Example/Pods/Alamofire/Source/TaskDelegate.swift +++ b/Example/Pods/Alamofire/Source/TaskDelegate.swift @@ -1,7 +1,7 @@ // // TaskDelegate.swift // -// Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) +// Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal @@ -31,7 +31,7 @@ open class TaskDelegate: NSObject { // MARK: Properties /// The serial operation queue used to execute all operations after the task completes. - open let queue: OperationQueue + public let queue: OperationQueue /// The data returned by the server. public var data: Data? { return nil } diff --git a/Example/Pods/Alamofire/Source/Timeline.swift b/Example/Pods/Alamofire/Source/Timeline.swift index c5dabd1..181c988 100644 --- a/Example/Pods/Alamofire/Source/Timeline.swift +++ b/Example/Pods/Alamofire/Source/Timeline.swift @@ -1,7 +1,7 @@ // // Timeline.swift // -// Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) +// Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Example/Pods/Alamofire/Source/Validation.swift b/Example/Pods/Alamofire/Source/Validation.swift index 989ac20..ec2c5c3 100644 --- a/Example/Pods/Alamofire/Source/Validation.swift +++ b/Example/Pods/Alamofire/Source/Validation.swift @@ -1,7 +1,7 @@ // // Validation.swift // -// Copyright (c) 2014-2017 Alamofire Software Foundation (http://alamofire.org/) +// Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Example/Pods/Local Podspecs/Japx.podspec.json b/Example/Pods/Local Podspecs/Japx.podspec.json index a189f48..c489b39 100644 --- a/Example/Pods/Local Podspecs/Japx.podspec.json +++ b/Example/Pods/Local Podspecs/Japx.podspec.json @@ -1,6 +1,6 @@ { "name": "Japx", - "version": "1.0.0", + "version": "1.0.2", "summary": "Lightweight JSON:API parser.", "description": "Lightweight JSON:API parser that flattens complex JSON:API structure and turns it into simple JSON. It can also take simple JSON and turn it into JSON:API structure.\nIt works by transfering Dictionary to Dictionary, so you can use Codable, Unbox, Wrap, ObjectMapper, or any other object mapping tool that you preffer.", "homepage": "https://github.com/infinum/Japx", @@ -15,7 +15,7 @@ }, "source": { "git": "https://github.com/infinum/Japx.git", - "tag": "1.0.0" + "tag": "1.0.2" }, "requires_arc": true, "platforms": { @@ -83,6 +83,57 @@ ], "Japx/RxAlamofire": [ + ] + } + }, + { + "name": "Moya", + "source_files": "Japx/Classes/Moya/**/*", + "dependencies": { + "Japx/Core": [ + + ], + "Moya/RxSwift": [ + "~> 11.0" + ] + } + }, + { + "name": "RxMoya", + "source_files": "Japx/Classes/RxMoya/**/*", + "dependencies": { + "Japx/Moya": [ + + ] + } + }, + { + "name": "CodableMoya", + "source_files": "Japx/Classes/CodableMoya/**/*", + "dependencies": { + "Japx/Core": [ + + ], + "Japx/Codable": [ + + ], + "Japx/Moya": [ + + ] + } + }, + { + "name": "RxCodableMoya", + "source_files": "Japx/Classes/RxCodableMoya/**/*", + "dependencies": { + "Japx/Core": [ + + ], + "Japx/CodableMoya": [ + + ], + "Japx/RxMoya": [ + ] } } diff --git a/Example/Pods/Manifest.lock b/Example/Pods/Manifest.lock index 2378730..bbaa443 100644 --- a/Example/Pods/Manifest.lock +++ b/Example/Pods/Manifest.lock @@ -1,40 +1,59 @@ PODS: - - Alamofire (4.7.0) - - Japx/Alamofire (1.0.0): - - Alamofire (~> 4.5) + - Alamofire (4.7.3) + - Japx/Codable (1.0.2): - Japx/Core - - Japx/Codable (1.0.0): - - Japx/Core - - Japx/CodableAlamofire (1.0.0): - - Japx/Alamofire + - Japx/CodableMoya (1.0.2): - Japx/Codable - - Japx/Core (1.0.0) - - Japx/RxAlamofire (1.0.0): - - Japx/Alamofire + - Japx/Core + - Japx/Moya + - Japx/Core (1.0.2) + - Japx/Moya (1.0.2): + - Japx/Core + - Moya/RxSwift (~> 11.0) + - Japx/RxCodableMoya (1.0.2): + - Japx/CodableMoya + - Japx/Core + - Japx/RxMoya + - Japx/RxMoya (1.0.2): + - Japx/Moya + - Moya/Core (11.0.2): + - Alamofire (~> 4.1) + - Result (~> 3.0) + - Moya/RxSwift (11.0.2): + - Moya/Core - RxSwift (~> 4.0) - - Japx/RxCodableAlamofire (1.0.0): - - Japx/CodableAlamofire - - Japx/RxAlamofire - Nimble (7.0.3) - Quick (1.2.0) - - RxSwift (4.1.2) + - Result (3.2.4) + - RxSwift (4.2.0) DEPENDENCIES: - - Japx/RxCodableAlamofire (from `../`) + - Japx/RxCodableMoya (from `../`) - Nimble (~> 7.0.2) - Quick (~> 1.2.0) +SPEC REPOS: + https://github.com/cocoapods/specs.git: + - Alamofire + - Moya + - Nimble + - Quick + - Result + - RxSwift + EXTERNAL SOURCES: Japx: - :path: ../ + :path: "../" SPEC CHECKSUMS: - Alamofire: 907e0a98eb68cdb7f9d1f541a563d6ac5dc77b25 - Japx: 1565d63a2fad537f6213956702cbc51cc20ea656 + Alamofire: c7287b6e5d7da964a70935e5db17046b7fde6568 + Japx: 08b7b2d2bc7a378c9e28e9f56c6e4bc48a0e54da + Moya: a725035953bc1c0eb1be505ab903984501d82440 Nimble: 7f5a9c447a33002645a071bddafbfb24ea70e0ac Quick: 58d203b1c5e27fff7229c4c1ae445ad7069a7a08 - RxSwift: e49536837d9901277638493ea537394d4b55f570 + Result: d2d07204ce72856f1fd9130bbe42c35a7b0fea10 + RxSwift: 99e10317ddfcc7fbe01356aafd118fde4a0be104 -PODFILE CHECKSUM: 98601fe2b9583a38fcc317df035455d25482a5c8 +PODFILE CHECKSUM: e4775c503c3da317938d070d15dc4acc1a5c8e6f -COCOAPODS: 1.4.0 +COCOAPODS: 1.5.2 diff --git a/Example/Pods/Moya/License.md b/Example/Pods/Moya/License.md new file mode 100644 index 0000000..58ef14f --- /dev/null +++ b/Example/Pods/Moya/License.md @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014-present Artsy, Ash Furrow + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/Example/Pods/Moya/Readme.md b/Example/Pods/Moya/Readme.md new file mode 100644 index 0000000..383d700 --- /dev/null +++ b/Example/Pods/Moya/Readme.md @@ -0,0 +1,320 @@ +

+ +

+ +# Moya + +[![CircleCI](https://img.shields.io/circleci/project/github/Moya/Moya/master.svg)](https://circleci.com/gh/Moya/Moya/tree/master) +[![codecov.io](https://codecov.io/github/Moya/Moya/coverage.svg?branch=master)](https://codecov.io/github/Moya/Moya?branch=master) +[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) +[![CocoaPods compatible](https://img.shields.io/cocoapods/v/Moya.svg)](https://cocoapods.org/pods/Moya) +[![Swift Package Manager compatible](https://img.shields.io/badge/Swift%20Package%20Manager-compatible-brightgreen.svg)](https://github.com/apple/swift-package-manager) + +*A Chinese version of this document can be found [here](Readme_CN.md).* + +You're a smart developer. You probably use [Alamofire](https://github.com/Alamofire/Alamofire) to abstract away access to +`URLSession` and all those nasty details you don't really care about. But then, +like lots of smart developers, you write ad hoc network abstraction layers. They +are probably called "APIManager" or "NetworkModel", and they always end in tears. + +![Moya Overview](web/diagram.png) + +Ad hoc network layers are common in iOS apps. They're bad for a few reasons: + +- Makes it hard to write new apps ("where do I begin?") +- Makes it hard to maintain existing apps ("oh my god, this mess...") +- Makes it hard to write unit tests ("how do I do this again?") + +So the basic idea of Moya is that we want some network abstraction layer that +sufficiently encapsulates actually calling Alamofire directly. It should be simple +enough that common things are easy, but comprehensive enough that complicated things +are also easy. + +> If you use Alamofire to abstract away `URLSession`, why not use something +to abstract away the nitty gritty of URLs, parameters, etc? + +Some awesome features of Moya: + +- Compile-time checking for correct API endpoint accesses. +- Lets you define a clear usage of different endpoints with associated enum values. +- Treats test stubs as first-class citizens so unit testing is super-easy. + +You can check out more about the project direction in the [vision document](Vision.md). + +## Sample Projects + +We have provided two sample projects in the repository. To use it download the repo, run `carthage update` to download the required libraries and open [Moya.xcodeproj](https://github.com/Moya/Moya/tree/master/Moya.xcodeproj). You'll see two schemes: `Basic` and `Multi-Target` - select one and then build & run! Source files for these are in the `Examples` directory in project navigator. Have fun! + +## Project Status + +This project is actively under development, and is being used in [Artsy's +new auction app](https://github.com/Artsy/eidolon). We consider it +ready for production use. + +## Installation + +### Moya version vs Swift version. + +Below is a table that shows which version of Moya you should use for +your Swift version. + +| Swift | Moya | RxMoya | ReactiveMoya | +| ----- | ------------- |---------------|---------------| +| 4.X | >= 9.0 | >= 10.0 | >= 9.0 | +| 3.X | 8.0.0 - 8.0.5 | 8.0.0 - 8.0.5 | 8.0.0 - 8.0.5 | +| 2.3 | 7.0.2 - 7.0.4 | 7.0.2 - 7.0.4 | 7.0.2 - 7.0.4 | +| 2.2 | <= 7.0.1 | <= 7.0.1 | <= 7.0.1 | + +**Upgrading to a new major version of Moya? Check out our [migration guides](https://github.com/Moya/Moya/blob/master/docs/MigrationGuides).** + +### Swift Package Manager + +To integrate using Apple's Swift package manager, add the following as a dependency to your `Package.swift`: + +```swift +.package(url: "https://github.com/Moya/Moya.git", .upToNextMajor(from: "11.0.0")) +``` + +and then specify `"Moya"` as a dependency of the Target in which you wish to use Moya. +If you want to use reactive extensions, add also `"ReactiveMoya"` or `"RxMoya"` as your Target dependency respectively. +Here's an example `PackageDescription`: + +```swift +// swift-tools-version:4.0 +import PackageDescription + +let package = Package( + name: "MyPackage", + products: [ + .library( + name: "MyPackage", + targets: ["MyPackage"]), + ], + dependencies: [ + .package(url: "https://github.com/Moya/Moya.git", .upToNextMajor(from: "11.0.0")) + ], + targets: [ + .target( + name: "MyPackage", + dependencies: ["ReactiveMoya"]) + ] +) +``` + +Note that as of Moya 10, SPM only works with Swift 4 toolchain and greater. + +### CocoaPods + +For Moya, use the following entry in your Podfile: + +```rb +pod 'Moya', '~> 11.0' + +# or + +pod 'Moya/RxSwift', '~> 11.0' + +# or + +pod 'Moya/ReactiveSwift', '~> 11.0' +``` + +Then run `pod install`. + +In any file you'd like to use Moya in, don't forget to +import the framework with `import Moya`. + +### Carthage + +Carthage users can point to this repository and use whichever +generated framework they'd like, `Moya`, `RxMoya`, or `ReactiveMoya`. + +Make the following entry in your Cartfile: + +``` +github "Moya/Moya" +``` + +Then run `carthage update`. + +If this is your first time using Carthage in the project, you'll need to go through some additional steps as explained [over at Carthage](https://github.com/Carthage/Carthage#adding-frameworks-to-an-application). + +> NOTE: At this time, Carthage does not provide a way to build only specific repository submodules. All submodules and their dependencies will be built with the above command. However, you don't need to copy frameworks you aren't using into your project. For instance, if you aren't using `ReactiveSwift`, feel free to delete that framework along with `ReactiveMoya` from the Carthage Build directory after `carthage update` completes. Or if you are using `ReactiveSwift` but not `RxSwift`, then `RxMoya`, `RxTest`, `RxCocoa`, etc. can safely be deleted. + +### Manually + +- Open up Terminal, `cd` into your top-level project directory, and run the following command *if* your project is not initialized as a git repository: + +```bash +$ git init +``` + +- Add Alamofire, Result & Moya as a git [submodule](http://git-scm.com/docs/git-submodule) by running the following commands: + +```bash +$ git submodule add https://github.com/Alamofire/Alamofire.git +$ git submodule add https://github.com/antitypical/Result.git +$ git submodule add https://github.com/Moya/Moya.git +``` + +- Open the new `Alamofire` folder, and drag the `Alamofire.xcodeproj` into the Project Navigator of your application's Xcode project. Do the same with the `Result.xcodeproj` in the `Result` folder and `Moya.xcodeproj` in the `Moya` folder. + +> They should appear nested underneath your application's blue project icon. Whether it is above or below all the other Xcode groups does not matter. + +- Verify that the deployment targets of the `xcodeproj`s match that of your application target in the Project Navigator. +- Next, select your application project in the Project Navigator (blue project icon) to navigate to the target configuration window and select the application target under the "Targets" heading in the sidebar. +- In the tab bar at the top of that window, open the "General" panel. +- Click on the `+` button under the "Embedded Binaries" section. +- You will see two different `Alamofire.xcodeproj` folders each with two different versions of the `Alamofire.framework` nested inside a `Products` folder. + +> It does not matter which `Products` folder you choose from, but it does matter whether you choose the top or bottom `Alamofire.framework`. + +- Select the top `Alamofire.framework` for iOS and the bottom one for OS X. + +> You can verify which one you selected by inspecting the build log for your project. The build target for `Alamofire` will be listed as either `Alamofire iOS`, `Alamofire macOS`, `Alamofire tvOS` or `Alamofire watchOS`. + +- Click on the `+` button under "Embedded Binaries" again and add the build target you need for `Result`. +- Click on the `+` button again and add the correct build target for `Moya`. + +- And that's it! + +> The three frameworks are automagically added as a target dependency, linked framework and embedded framework in a copy files build phase which is all you need to build on the simulator and a device. + +## Usage + +After [some setup](docs/Examples/Basic.md), using Moya is really simple. You can access an API like this: + +```swift +provider = MoyaProvider() +provider.request(.zen) { result in + switch result { + case let .success(moyaResponse): + let data = moyaResponse.data + let statusCode = moyaResponse.statusCode + // do something with the response data or statusCode + case let .failure(error): + // this means there was a network failure - either the request + // wasn't sent (connectivity), or no response was received (server + // timed out). If the server responds with a 4xx or 5xx error, that + // will be sent as a ".success"-ful response. + } +} +``` + +That's a basic example. Many API requests need parameters. Moya encodes these +into the enum you use to access the endpoint, like this: + +```swift +provider = MoyaProvider() +provider.request(.userProfile("ashfurrow")) { result in + // do something with the result +} +``` + +No more typos in URLs. No more missing parameter values. No more messing with +parameter encoding. + +For more examples, see the [documentation](docs/Examples). + +## Reactive Extensions + +Even cooler are the reactive extensions. Moya provides reactive extensions for +[ReactiveSwift](https://github.com/ReactiveCocoa/ReactiveSwift) and +[RxSwift](https://github.com/ReactiveX/RxSwift). + +### ReactiveSwift + +[`ReactiveSwift` extension](docs/ReactiveSwift.md) provides both `reactive.request(:callbackQueue:)` and +`reactive.requestWithProgress(:callbackQueue:)` methods that immediately return +`SignalProducer`s that you can start, bind, map, or whatever you want to do. +To handle errors, for instance, we could do the following: + +```swift +provider = MoyaProvider() +provider.reactive.request(.userProfile("ashfurrow")).start { event in + switch event { + case let .value(response): + image = UIImage(data: response.data) + case let .failed(error): + print(error) + default: + break + } +} +``` + +### RxSwift + +[`RxSwift` extension](docs/RxSwift.md) also provide both `rx.request(:callbackQueue:)` and +`rx.requestWithProgress(:callbackQueue:)` methods, but return type is +different for both. In case of a normal `rx.request(:callbackQueue)`, the +return type is `Single` which emits either single element or an +error. In case of a `rx.requestWithProgress(:callbackQueue:)`, the return +type is `Observable`, since we may get multiple events +from progress and one last event which is a response. + +To handle errors, for instance, we could do the following: + +```swift +provider = MoyaProvider() +provider.rx.request(.userProfile("ashfurrow")).subscribe { event in + switch event { + case let .success(response): + image = UIImage(data: response.data) + case let .error(error): + print(error) + } +} +``` + +In addition to the option of using signals instead of callback blocks, there are +also a series of signal operators for RxSwift and ReactiveSwift that will attempt +to map the data received from the network response into either an image, some JSON, +or a string, with `mapImage()`, `mapJSON()`, and `mapString()`, respectively. If the mapping is unsuccessful, you'll get an error on the signal. You also get handy methods +for filtering out certain status codes. This means that you can place your code for +handling API errors like 400's in the same places as code for handling invalid +responses. + +## Community Projects + +[Moya has a great community around it and some people have created some very helpful extensions](https://github.com/Moya/Moya/blob/master/docs/CommunityProjects.md). + +## Contributing + +Hey! Do you like Moya? Awesome! We could actually really use your help! + +Open source isn't just writing code. Moya could use your help with any of the +following: + +- Finding (and reporting!) bugs. +- New feature suggestions. +- Answering questions on issues. +- Documentation improvements. +- Reviewing pull requests. +- Helping to manage issue priorities. +- Fixing bugs/new features. + +If any of that sounds cool to you, send a pull request! After your first +contribution, we will add you as a member to the repo so you can merge pull +requests and help steer the ship :ship: You can read more details about that [in our contributor guidelines](https://github.com/Moya/Moya/blob/master/Contributing.md). + +Moya's community has a tremendous positive energy, and the maintainers are committed to keeping things awesome. Like [in the CocoaPods community](https://github.com/CocoaPods/CocoaPods/wiki/Communication-&-Design-Rules), always assume positive intent; even if a comment sounds mean-spirited, give the person the benefit of the doubt. + +Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by [its terms](https://github.com/Moya/Moya/blob/master/Code%20of%20Conduct.md). + +### Adding new source files + +If you add or remove a source file from Moya, a corresponding change needs to be made to the `Moya.xcodeproj` project at the root of this repository. This project is used for Carthage. Don't worry, you'll get an automated warning when submitting a pull request if you forget. + +### Help us improve Moya documentation +Whether you’re a core member or a user trying it out for the first time, you can make a valuable contribution to Moya by improving the documentation. Help us by: + +- sending us feedback about something you thought was confusing or simply missing +- suggesting better wording or ways of explaining certain topics +- sending us a pull request via GitHub +- improving the [Chinese documentation](Readme_CN.md) + + +## License + +Moya is released under an MIT license. See [License.md](License.md) for more information. diff --git a/Example/Pods/Moya/Sources/Moya/AnyEncodable.swift b/Example/Pods/Moya/Sources/Moya/AnyEncodable.swift new file mode 100644 index 0000000..15c7128 --- /dev/null +++ b/Example/Pods/Moya/Sources/Moya/AnyEncodable.swift @@ -0,0 +1,14 @@ +import Foundation + +struct AnyEncodable: Encodable { + + private let encodable: Encodable + + public init(_ encodable: Encodable) { + self.encodable = encodable + } + + func encode(to encoder: Encoder) throws { + try encodable.encode(to: encoder) + } +} diff --git a/Example/Pods/Moya/Sources/Moya/Cancellable.swift b/Example/Pods/Moya/Sources/Moya/Cancellable.swift new file mode 100644 index 0000000..9a9c783 --- /dev/null +++ b/Example/Pods/Moya/Sources/Moya/Cancellable.swift @@ -0,0 +1,26 @@ +/// Protocol to define the opaque type returned from a request. +public protocol Cancellable { + + /// A Boolean value stating whether a request is cancelled. + var isCancelled: Bool { get } + + /// Cancels the represented request. + func cancel() +} + +internal class CancellableWrapper: Cancellable { + internal var innerCancellable: Cancellable = SimpleCancellable() + + var isCancelled: Bool { return innerCancellable.isCancelled } + + internal func cancel() { + innerCancellable.cancel() + } +} + +internal class SimpleCancellable: Cancellable { + var isCancelled = false + func cancel() { + isCancelled = true + } +} diff --git a/Example/Pods/Moya/Sources/Moya/Endpoint.swift b/Example/Pods/Moya/Sources/Moya/Endpoint.swift new file mode 100755 index 0000000..51a843e --- /dev/null +++ b/Example/Pods/Moya/Sources/Moya/Endpoint.swift @@ -0,0 +1,137 @@ +import Foundation + +/// Used for stubbing responses. +public enum EndpointSampleResponse { + + /// The network returned a response, including status code and data. + case networkResponse(Int, Data) + + /// The network returned response which can be fully customized. + case response(HTTPURLResponse, Data) + + /// The network failed to send the request, or failed to retrieve a response (eg a timeout). + case networkError(NSError) +} + +/// Class for reifying a target of the `Target` enum unto a concrete `Endpoint`. +/// - Note: As of Moya 11.0.0 Endpoint is no longer generic. +/// Existing code should work as is after removing the generic. +/// See #1529 and #1524 for the discussion. +open class Endpoint { + public typealias SampleResponseClosure = () -> EndpointSampleResponse + + /// A string representation of the URL for the request. + open let url: String + + /// A closure responsible for returning an `EndpointSampleResponse`. + open let sampleResponseClosure: SampleResponseClosure + + /// The HTTP method for the request. + open let method: Moya.Method + + /// The `Task` for the request. + open let task: Task + + /// The HTTP header fields for the request. + open let httpHeaderFields: [String: String]? + + public init(url: String, + sampleResponseClosure: @escaping SampleResponseClosure, + method: Moya.Method, + task: Task, + httpHeaderFields: [String: String]?) { + + self.url = url + self.sampleResponseClosure = sampleResponseClosure + self.method = method + self.task = task + self.httpHeaderFields = httpHeaderFields + } + + /// Convenience method for creating a new `Endpoint` with the same properties as the receiver, but with added HTTP header fields. + open func adding(newHTTPHeaderFields: [String: String]) -> Endpoint { + return Endpoint(url: url, sampleResponseClosure: sampleResponseClosure, method: method, task: task, httpHeaderFields: add(httpHeaderFields: newHTTPHeaderFields)) + } + + /// Convenience method for creating a new `Endpoint` with the same properties as the receiver, but with replaced `task` parameter. + open func replacing(task: Task) -> Endpoint { + return Endpoint(url: url, sampleResponseClosure: sampleResponseClosure, method: method, task: task, httpHeaderFields: httpHeaderFields) + } + + fileprivate func add(httpHeaderFields headers: [String: String]?) -> [String: String]? { + guard let unwrappedHeaders = headers, unwrappedHeaders.isEmpty == false else { + return self.httpHeaderFields + } + + var newHTTPHeaderFields = self.httpHeaderFields ?? [:] + unwrappedHeaders.forEach { key, value in + newHTTPHeaderFields[key] = value + } + return newHTTPHeaderFields + } +} + +/// Extension for converting an `Endpoint` into a `URLRequest`. +extension Endpoint { + // swiftlint:disable cyclomatic_complexity + /// Returns the `Endpoint` converted to a `URLRequest` if valid. Throws an error otherwise. + public func urlRequest() throws -> URLRequest { + guard let requestURL = Foundation.URL(string: url) else { + throw MoyaError.requestMapping(url) + } + + var request = URLRequest(url: requestURL) + request.httpMethod = method.rawValue + request.allHTTPHeaderFields = httpHeaderFields + + switch task { + case .requestPlain, .uploadFile, .uploadMultipart, .downloadDestination: + return request + case .requestData(let data): + request.httpBody = data + return request + case let .requestJSONEncodable(encodable): + return try request.encoded(encodable: encodable) + case let .requestCustomJSONEncodable(encodable, encoder: encoder): + return try request.encoded(encodable: encodable, encoder: encoder) + case let .requestParameters(parameters, parameterEncoding): + return try request.encoded(parameters: parameters, parameterEncoding: parameterEncoding) + case let .uploadCompositeMultipart(_, urlParameters): + let parameterEncoding = URLEncoding(destination: .queryString) + return try request.encoded(parameters: urlParameters, parameterEncoding: parameterEncoding) + case let .downloadParameters(parameters, parameterEncoding, _): + return try request.encoded(parameters: parameters, parameterEncoding: parameterEncoding) + case let .requestCompositeData(bodyData: bodyData, urlParameters: urlParameters): + request.httpBody = bodyData + let parameterEncoding = URLEncoding(destination: .queryString) + return try request.encoded(parameters: urlParameters, parameterEncoding: parameterEncoding) + case let .requestCompositeParameters(bodyParameters: bodyParameters, bodyEncoding: bodyParameterEncoding, urlParameters: urlParameters): + if let bodyParameterEncoding = bodyParameterEncoding as? URLEncoding, bodyParameterEncoding.destination != .httpBody { + fatalError("Only URLEncoding that `bodyEncoding` accepts is URLEncoding.httpBody. Others like `default`, `queryString` or `methodDependent` are prohibited - if you want to use them, add your parameters to `urlParameters` instead.") + } + let bodyfulRequest = try request.encoded(parameters: bodyParameters, parameterEncoding: bodyParameterEncoding) + let urlEncoding = URLEncoding(destination: .queryString) + return try bodyfulRequest.encoded(parameters: urlParameters, parameterEncoding: urlEncoding) + } + } + // swiftlint:enable cyclomatic_complexity +} + +/// Required for using `Endpoint` as a key type in a `Dictionary`. +extension Endpoint: Equatable, Hashable { + public var hashValue: Int { + let request = try? urlRequest() + return request?.hashValue ?? url.hashValue + } + + /// Note: If both Endpoints fail to produce a URLRequest the comparison will + /// fall back to comparing each Endpoint's hashValue. + public static func == (lhs: Endpoint, rhs: Endpoint) -> Bool { + let lhsRequest = try? lhs.urlRequest() + let rhsRequest = try? rhs.urlRequest() + if lhsRequest != nil, rhsRequest == nil { return false } + if lhsRequest == nil, rhsRequest != nil { return false } + if lhsRequest == nil, rhsRequest == nil { return lhs.hashValue == rhs.hashValue } + return (lhsRequest == rhsRequest) + } +} diff --git a/Example/Pods/Moya/Sources/Moya/Image.swift b/Example/Pods/Moya/Sources/Moya/Image.swift new file mode 100644 index 0000000..6e82908 --- /dev/null +++ b/Example/Pods/Moya/Sources/Moya/Image.swift @@ -0,0 +1,10 @@ +#if os(iOS) || os(watchOS) || os(tvOS) + import UIKit.UIImage + public typealias ImageType = UIImage +#elseif os(OSX) + import AppKit.NSImage + public typealias ImageType = NSImage +#endif + +/// An alias for the SDK's image type. +public typealias Image = ImageType diff --git a/Example/Pods/Moya/Sources/Moya/Moya+Alamofire.swift b/Example/Pods/Moya/Sources/Moya/Moya+Alamofire.swift new file mode 100644 index 0000000..8d4cd4a --- /dev/null +++ b/Example/Pods/Moya/Sources/Moya/Moya+Alamofire.swift @@ -0,0 +1,90 @@ +import Foundation +import Alamofire + +public typealias Manager = Alamofire.SessionManager +internal typealias Request = Alamofire.Request +internal typealias DownloadRequest = Alamofire.DownloadRequest +internal typealias UploadRequest = Alamofire.UploadRequest +internal typealias DataRequest = Alamofire.DataRequest + +internal typealias URLRequestConvertible = Alamofire.URLRequestConvertible + +/// Represents an HTTP method. +public typealias Method = Alamofire.HTTPMethod + +/// Choice of parameter encoding. +public typealias ParameterEncoding = Alamofire.ParameterEncoding +public typealias JSONEncoding = Alamofire.JSONEncoding +public typealias URLEncoding = Alamofire.URLEncoding +public typealias PropertyListEncoding = Alamofire.PropertyListEncoding + +/// Multipart form. +public typealias RequestMultipartFormData = Alamofire.MultipartFormData + +/// Multipart form data encoding result. +public typealias MultipartFormDataEncodingResult = Manager.MultipartFormDataEncodingResult +public typealias DownloadDestination = Alamofire.DownloadRequest.DownloadFileDestination + +/// Make the Alamofire Request type conform to our type, to prevent leaking Alamofire to plugins. +extension Request: RequestType { } + +/// Internal token that can be used to cancel requests +public final class CancellableToken: Cancellable, CustomDebugStringConvertible { + let cancelAction: () -> Void + let request: Request? + + public fileprivate(set) var isCancelled = false + + fileprivate var lock: DispatchSemaphore = DispatchSemaphore(value: 1) + + public func cancel() { + _ = lock.wait(timeout: DispatchTime.distantFuture) + defer { lock.signal() } + guard !isCancelled else { return } + isCancelled = true + cancelAction() + } + + public init(action: @escaping () -> Void) { + self.cancelAction = action + self.request = nil + } + + init(request: Request) { + self.request = request + self.cancelAction = { + request.cancel() + } + } + + /// A textual representation of this instance, suitable for debugging. + public var debugDescription: String { + guard let request = self.request else { + return "Empty Request" + } + return request.debugDescription + } + +} + +internal typealias RequestableCompletion = (HTTPURLResponse?, URLRequest?, Data?, Swift.Error?) -> Void + +internal protocol Requestable { + func response(callbackQueue: DispatchQueue?, completionHandler: @escaping RequestableCompletion) -> Self +} + +extension DataRequest: Requestable { + internal func response(callbackQueue: DispatchQueue?, completionHandler: @escaping RequestableCompletion) -> Self { + return response(queue: callbackQueue) { handler in + completionHandler(handler.response, handler.request, handler.data, handler.error) + } + } +} + +extension DownloadRequest: Requestable { + internal func response(callbackQueue: DispatchQueue?, completionHandler: @escaping RequestableCompletion) -> Self { + return response(queue: callbackQueue) { handler in + completionHandler(handler.response, handler.request, nil, handler.error) + } + } +} diff --git a/Example/Pods/Moya/Sources/Moya/MoyaError.swift b/Example/Pods/Moya/Sources/Moya/MoyaError.swift new file mode 100644 index 0000000..472026c --- /dev/null +++ b/Example/Pods/Moya/Sources/Moya/MoyaError.swift @@ -0,0 +1,76 @@ +import Foundation + +/// A type representing possible errors Moya can throw. +public enum MoyaError: Swift.Error { + + /// Indicates a response failed to map to an image. + case imageMapping(Response) + + /// Indicates a response failed to map to a JSON structure. + case jsonMapping(Response) + + /// Indicates a response failed to map to a String. + case stringMapping(Response) + + /// Indicates a response failed to map to a Decodable object. + case objectMapping(Swift.Error, Response) + + /// Indicates that Encodable couldn't be encoded into Data + case encodableMapping(Swift.Error) + + /// Indicates a response failed with an invalid HTTP status code. + case statusCode(Response) + + /// Indicates a response failed due to an underlying `Error`. + case underlying(Swift.Error, Response?) + + /// Indicates that an `Endpoint` failed to map to a `URLRequest`. + case requestMapping(String) + + /// Indicates that an `Endpoint` failed to encode the parameters for the `URLRequest`. + case parameterEncoding(Swift.Error) +} + +public extension MoyaError { + /// Depending on error type, returns a `Response` object. + var response: Moya.Response? { + switch self { + case .imageMapping(let response): return response + case .jsonMapping(let response): return response + case .stringMapping(let response): return response + case .objectMapping(_, let response): return response + case .statusCode(let response): return response + case .underlying(_, let response): return response + case .encodableMapping: return nil + case .requestMapping: return nil + case .parameterEncoding: return nil + } + } +} + +// MARK: - Error Descriptions + +extension MoyaError: LocalizedError { + public var errorDescription: String? { + switch self { + case .imageMapping: + return "Failed to map data to an Image." + case .jsonMapping: + return "Failed to map data to JSON." + case .stringMapping: + return "Failed to map data to a String." + case .objectMapping: + return "Failed to map data to a Decodable object." + case .encodableMapping: + return "Failed to encode Encodable object into data." + case .statusCode: + return "Status code didn't fall within the given range." + case .requestMapping: + return "Failed to map Endpoint to a URLRequest." + case .parameterEncoding(let error): + return "Failed to encode parameters for URLRequest. \(error.localizedDescription)" + case .underlying(let error, _): + return error.localizedDescription + } + } +} diff --git a/Example/Pods/Moya/Sources/Moya/MoyaProvider+Defaults.swift b/Example/Pods/Moya/Sources/Moya/MoyaProvider+Defaults.swift new file mode 100644 index 0000000..7f39824 --- /dev/null +++ b/Example/Pods/Moya/Sources/Moya/MoyaProvider+Defaults.swift @@ -0,0 +1,36 @@ +import Foundation + +/// These functions are default mappings to `MoyaProvider`'s properties: endpoints, requests, manager, etc. +public extension MoyaProvider { + public final class func defaultEndpointMapping(for target: Target) -> Endpoint { + return Endpoint( + url: URL(target: target).absoluteString, + sampleResponseClosure: { .networkResponse(200, target.sampleData) }, + method: target.method, + task: target.task, + httpHeaderFields: target.headers + ) + } + + public final class func defaultRequestMapping(for endpoint: Endpoint, closure: RequestResultClosure) { + do { + let urlRequest = try endpoint.urlRequest() + closure(.success(urlRequest)) + } catch MoyaError.requestMapping(let url) { + closure(.failure(MoyaError.requestMapping(url))) + } catch MoyaError.parameterEncoding(let error) { + closure(.failure(MoyaError.parameterEncoding(error))) + } catch { + closure(.failure(MoyaError.underlying(error, nil))) + } + } + + public final class func defaultAlamofireManager() -> Manager { + let configuration = URLSessionConfiguration.default + configuration.httpAdditionalHeaders = Manager.defaultHTTPHeaders + + let manager = Manager(configuration: configuration) + manager.startRequestsImmediately = false + return manager + } +} diff --git a/Example/Pods/Moya/Sources/Moya/MoyaProvider+Internal.swift b/Example/Pods/Moya/Sources/Moya/MoyaProvider+Internal.swift new file mode 100644 index 0000000..e8bb4d2 --- /dev/null +++ b/Example/Pods/Moya/Sources/Moya/MoyaProvider+Internal.swift @@ -0,0 +1,274 @@ +import Foundation +import Result + +// MARK: - Method + +extension Method { + /// A Boolean value determining whether the request supports multipart. + public var supportsMultipart: Bool { + switch self { + case .post, .put, .patch, .connect: + return true + case .get, .delete, .head, .options, .trace: + return false + } + } +} + +// MARK: - MoyaProvider + +/// Internal extension to keep the inner-workings outside the main Moya.swift file. +public extension MoyaProvider { + /// Performs normal requests. + func requestNormal(_ target: Target, callbackQueue: DispatchQueue?, progress: Moya.ProgressBlock?, completion: @escaping Moya.Completion) -> Cancellable { + let endpoint = self.endpoint(target) + let stubBehavior = self.stubClosure(target) + let cancellableToken = CancellableWrapper() + + // Allow plugins to modify response + let pluginsWithCompletion: Moya.Completion = { result in + let processedResult = self.plugins.reduce(result) { $1.process($0, target: target) } + completion(processedResult) + } + + if trackInflights { + objc_sync_enter(self) + var inflightCompletionBlocks = self.inflightRequests[endpoint] + inflightCompletionBlocks?.append(pluginsWithCompletion) + self.inflightRequests[endpoint] = inflightCompletionBlocks + objc_sync_exit(self) + + if inflightCompletionBlocks != nil { + return cancellableToken + } else { + objc_sync_enter(self) + self.inflightRequests[endpoint] = [pluginsWithCompletion] + objc_sync_exit(self) + } + } + + let performNetworking = { (requestResult: Result) in + if cancellableToken.isCancelled { + self.cancelCompletion(pluginsWithCompletion, target: target) + return + } + + var request: URLRequest! + + switch requestResult { + case .success(let urlRequest): + request = urlRequest + case .failure(let error): + pluginsWithCompletion(.failure(error)) + return + } + + // Allow plugins to modify request + let preparedRequest = self.plugins.reduce(request) { $1.prepare($0, target: target) } + + let networkCompletion: Moya.Completion = { result in + if self.trackInflights { + self.inflightRequests[endpoint]?.forEach { $0(result) } + + objc_sync_enter(self) + self.inflightRequests.removeValue(forKey: endpoint) + objc_sync_exit(self) + } else { + pluginsWithCompletion(result) + } + } + + cancellableToken.innerCancellable = self.performRequest(target, request: preparedRequest, callbackQueue: callbackQueue, progress: progress, completion: networkCompletion, endpoint: endpoint, stubBehavior: stubBehavior) + } + + requestClosure(endpoint, performNetworking) + + return cancellableToken + } + + // swiftlint:disable:next function_parameter_count + private func performRequest(_ target: Target, request: URLRequest, callbackQueue: DispatchQueue?, progress: Moya.ProgressBlock?, completion: @escaping Moya.Completion, endpoint: Endpoint, stubBehavior: Moya.StubBehavior) -> Cancellable { + switch stubBehavior { + case .never: + switch endpoint.task { + case .requestPlain, .requestData, .requestJSONEncodable, .requestCustomJSONEncodable, .requestParameters, .requestCompositeData, .requestCompositeParameters: + return self.sendRequest(target, request: request, callbackQueue: callbackQueue, progress: progress, completion: completion) + case .uploadFile(let file): + return self.sendUploadFile(target, request: request, callbackQueue: callbackQueue, file: file, progress: progress, completion: completion) + case .uploadMultipart(let multipartBody), .uploadCompositeMultipart(let multipartBody, _): + guard !multipartBody.isEmpty && endpoint.method.supportsMultipart else { + fatalError("\(target) is not a multipart upload target.") + } + return self.sendUploadMultipart(target, request: request, callbackQueue: callbackQueue, multipartBody: multipartBody, progress: progress, completion: completion) + case .downloadDestination(let destination), .downloadParameters(_, _, let destination): + return self.sendDownloadRequest(target, request: request, callbackQueue: callbackQueue, destination: destination, progress: progress, completion: completion) + } + default: + return self.stubRequest(target, request: request, callbackQueue: callbackQueue, completion: completion, endpoint: endpoint, stubBehavior: stubBehavior) + } + } + + func cancelCompletion(_ completion: Moya.Completion, target: Target) { + let error = MoyaError.underlying(NSError(domain: NSURLErrorDomain, code: NSURLErrorCancelled, userInfo: nil), nil) + plugins.forEach { $0.didReceive(.failure(error), target: target) } + completion(.failure(error)) + } + + /// Creates a function which, when called, executes the appropriate stubbing behavior for the given parameters. + public final func createStubFunction(_ token: CancellableToken, forTarget target: Target, withCompletion completion: @escaping Moya.Completion, endpoint: Endpoint, plugins: [PluginType], request: URLRequest) -> (() -> Void) { // swiftlint:disable:this function_parameter_count + return { + if token.isCancelled { + self.cancelCompletion(completion, target: target) + return + } + + let validate = { (response: Moya.Response) -> Result in + let validCodes = target.validationType.statusCodes + guard !validCodes.isEmpty else { return .success(response) } + if validCodes.contains(response.statusCode) { + return .success(response) + } else { + let statusError = MoyaError.statusCode(response) + let error = MoyaError.underlying(statusError, response) + return .failure(error) + } + } + + switch endpoint.sampleResponseClosure() { + case .networkResponse(let statusCode, let data): + let response = Moya.Response(statusCode: statusCode, data: data, request: request, response: nil) + let result = validate(response) + plugins.forEach { $0.didReceive(result, target: target) } + completion(result) + case .response(let customResponse, let data): + let response = Moya.Response(statusCode: customResponse.statusCode, data: data, request: request, response: customResponse) + let result = validate(response) + plugins.forEach { $0.didReceive(result, target: target) } + completion(result) + case .networkError(let error): + let error = MoyaError.underlying(error, nil) + plugins.forEach { $0.didReceive(.failure(error), target: target) } + completion(.failure(error)) + } + } + } + + /// Notify all plugins that a stub is about to be performed. You must call this if overriding `stubRequest`. + final func notifyPluginsOfImpendingStub(for request: URLRequest, target: Target) { + let alamoRequest = manager.request(request as URLRequestConvertible) + plugins.forEach { $0.willSend(alamoRequest, target: target) } + alamoRequest.cancel() + } +} + +private extension MoyaProvider { + func sendUploadMultipart(_ target: Target, request: URLRequest, callbackQueue: DispatchQueue?, multipartBody: [MultipartFormData], progress: Moya.ProgressBlock? = nil, completion: @escaping Moya.Completion) -> CancellableWrapper { + let cancellable = CancellableWrapper() + + let multipartFormData: (RequestMultipartFormData) -> Void = { form in + form.applyMoyaMultipartFormData(multipartBody) + } + + manager.upload(multipartFormData: multipartFormData, with: request) { result in + switch result { + case .success(let alamoRequest, _, _): + if cancellable.isCancelled { + self.cancelCompletion(completion, target: target) + return + } + let validationCodes = target.validationType.statusCodes + let validatedRequest = validationCodes.isEmpty ? alamoRequest : alamoRequest.validate(statusCode: validationCodes) + cancellable.innerCancellable = self.sendAlamofireRequest(validatedRequest, target: target, callbackQueue: callbackQueue, progress: progress, completion: completion) + case .failure(let error): + completion(.failure(MoyaError.underlying(error as NSError, nil))) + } + } + + return cancellable + } + + func sendUploadFile(_ target: Target, request: URLRequest, callbackQueue: DispatchQueue?, file: URL, progress: ProgressBlock? = nil, completion: @escaping Completion) -> CancellableToken { + let uploadRequest = manager.upload(file, with: request) + let validationCodes = target.validationType.statusCodes + let alamoRequest = validationCodes.isEmpty ? uploadRequest : uploadRequest.validate(statusCode: validationCodes) + return self.sendAlamofireRequest(alamoRequest, target: target, callbackQueue: callbackQueue, progress: progress, completion: completion) + } + + func sendDownloadRequest(_ target: Target, request: URLRequest, callbackQueue: DispatchQueue?, destination: @escaping DownloadDestination, progress: ProgressBlock? = nil, completion: @escaping Completion) -> CancellableToken { + let downloadRequest = manager.download(request, to: destination) + let validationCodes = target.validationType.statusCodes + let alamoRequest = validationCodes.isEmpty ? downloadRequest : downloadRequest.validate(statusCode: validationCodes) + return self.sendAlamofireRequest(alamoRequest, target: target, callbackQueue: callbackQueue, progress: progress, completion: completion) + } + + func sendRequest(_ target: Target, request: URLRequest, callbackQueue: DispatchQueue?, progress: Moya.ProgressBlock?, completion: @escaping Moya.Completion) -> CancellableToken { + let initialRequest = manager.request(request as URLRequestConvertible) + let validationCodes = target.validationType.statusCodes + let alamoRequest = validationCodes.isEmpty ? initialRequest : initialRequest.validate(statusCode: validationCodes) + return sendAlamofireRequest(alamoRequest, target: target, callbackQueue: callbackQueue, progress: progress, completion: completion) + } + + // swiftlint:disable:next cyclomatic_complexity + func sendAlamofireRequest(_ alamoRequest: T, target: Target, callbackQueue: DispatchQueue?, progress progressCompletion: Moya.ProgressBlock?, completion: @escaping Moya.Completion) -> CancellableToken where T: Requestable, T: Request { + // Give plugins the chance to alter the outgoing request + let plugins = self.plugins + plugins.forEach { $0.willSend(alamoRequest, target: target) } + + var progressAlamoRequest = alamoRequest + let progressClosure: (Progress) -> Void = { progress in + let sendProgress: () -> Void = { + progressCompletion?(ProgressResponse(progress: progress)) + } + + if let callbackQueue = callbackQueue { + callbackQueue.async(execute: sendProgress) + } else { + sendProgress() + } + } + + // Perform the actual request + if progressCompletion != nil { + switch progressAlamoRequest { + case let downloadRequest as DownloadRequest: + if let downloadRequest = downloadRequest.downloadProgress(closure: progressClosure) as? T { + progressAlamoRequest = downloadRequest + } + case let uploadRequest as UploadRequest: + if let uploadRequest = uploadRequest.uploadProgress(closure: progressClosure) as? T { + progressAlamoRequest = uploadRequest + } + case let dataRequest as DataRequest: + if let dataRequest = dataRequest.downloadProgress(closure: progressClosure) as? T { + progressAlamoRequest = dataRequest + } + default: break + } + } + + let completionHandler: RequestableCompletion = { response, request, data, error in + let result = convertResponseToResult(response, request: request, data: data, error: error) + // Inform all plugins about the response + plugins.forEach { $0.didReceive(result, target: target) } + if let progressCompletion = progressCompletion { + switch progressAlamoRequest { + case let downloadRequest as DownloadRequest: + progressCompletion(ProgressResponse(progress: downloadRequest.progress, response: result.value)) + case let uploadRequest as UploadRequest: + progressCompletion(ProgressResponse(progress: uploadRequest.uploadProgress, response: result.value)) + case let dataRequest as DataRequest: + progressCompletion(ProgressResponse(progress: dataRequest.progress, response: result.value)) + default: + progressCompletion(ProgressResponse(response: result.value)) + } + } + completion(result) + } + + progressAlamoRequest = progressAlamoRequest.response(callbackQueue: callbackQueue, completionHandler: completionHandler) + + progressAlamoRequest.resume() + + return CancellableToken(request: progressAlamoRequest) + } +} diff --git a/Example/Pods/Moya/Sources/Moya/MoyaProvider.swift b/Example/Pods/Moya/Sources/Moya/MoyaProvider.swift new file mode 100755 index 0000000..bc5e870 --- /dev/null +++ b/Example/Pods/Moya/Sources/Moya/MoyaProvider.swift @@ -0,0 +1,206 @@ +import Foundation +import Result + +/// Closure to be executed when a request has completed. +public typealias Completion = (_ result: Result) -> Void + +/// Closure to be executed when progress changes. +public typealias ProgressBlock = (_ progress: ProgressResponse) -> Void + +/// A type representing the progress of a request. +public struct ProgressResponse { + + /// The optional response of the request. + public let response: Response? + + /// An object that conveys ongoing progress for a given request. + public let progressObject: Progress? + + /// Initializes a `ProgressResponse`. + public init(progress: Progress? = nil, response: Response? = nil) { + self.progressObject = progress + self.response = response + } + + /// The fraction of the overall work completed by the progress object. + public var progress: Double { + return progressObject?.fractionCompleted ?? 1.0 + } + + /// A Boolean value stating whether the request is completed. + public var completed: Bool { + return progress == 1.0 && response != nil + } +} + +/// A protocol representing a minimal interface for a MoyaProvider. +/// Used by the reactive provider extensions. +public protocol MoyaProviderType: AnyObject { + + associatedtype Target: TargetType + + /// Designated request-making method. Returns a `Cancellable` token to cancel the request later. + func request(_ target: Target, callbackQueue: DispatchQueue?, progress: Moya.ProgressBlock?, completion: @escaping Moya.Completion) -> Cancellable +} + +/// Request provider class. Requests should be made through this class only. +open class MoyaProvider: MoyaProviderType { + + /// Closure that defines the endpoints for the provider. + public typealias EndpointClosure = (Target) -> Endpoint + + /// Closure that decides if and what request should be performed. + public typealias RequestResultClosure = (Result) -> Void + + /// Closure that resolves an `Endpoint` into a `RequestResult`. + public typealias RequestClosure = (Endpoint, @escaping RequestResultClosure) -> Void + + /// Closure that decides if/how a request should be stubbed. + public typealias StubClosure = (Target) -> Moya.StubBehavior + + /// A closure responsible for mapping a `TargetType` to an `EndPoint`. + open let endpointClosure: EndpointClosure + + /// A closure deciding if and what request should be performed. + open let requestClosure: RequestClosure + + /// A closure responsible for determining the stubbing behavior + /// of a request for a given `TargetType`. + open let stubClosure: StubClosure + + /// The manager for the session. + open let manager: Manager + + /// A list of plugins. + /// e.g. for logging, network activity indicator or credentials. + open let plugins: [PluginType] + + open let trackInflights: Bool + + open internal(set) var inflightRequests: [Endpoint: [Moya.Completion]] = [:] + + /// Propagated to Alamofire as callback queue. If nil - the Alamofire default (as of their API in 2017 - the main queue) will be used. + let callbackQueue: DispatchQueue? + + /// Initializes a provider. + public init(endpointClosure: @escaping EndpointClosure = MoyaProvider.defaultEndpointMapping, + requestClosure: @escaping RequestClosure = MoyaProvider.defaultRequestMapping, + stubClosure: @escaping StubClosure = MoyaProvider.neverStub, + callbackQueue: DispatchQueue? = nil, + manager: Manager = MoyaProvider.defaultAlamofireManager(), + plugins: [PluginType] = [], + trackInflights: Bool = false) { + + self.endpointClosure = endpointClosure + self.requestClosure = requestClosure + self.stubClosure = stubClosure + self.manager = manager + self.plugins = plugins + self.trackInflights = trackInflights + self.callbackQueue = callbackQueue + } + + /// Returns an `Endpoint` based on the token, method, and parameters by invoking the `endpointClosure`. + open func endpoint(_ token: Target) -> Endpoint { + return endpointClosure(token) + } + + /// Designated request-making method. Returns a `Cancellable` token to cancel the request later. + @discardableResult + open func request(_ target: Target, + callbackQueue: DispatchQueue? = .none, + progress: ProgressBlock? = .none, + completion: @escaping Completion) -> Cancellable { + + let callbackQueue = callbackQueue ?? self.callbackQueue + return requestNormal(target, callbackQueue: callbackQueue, progress: progress, completion: completion) + } + + // swiftlint:disable function_parameter_count + /// When overriding this method, take care to `notifyPluginsOfImpendingStub` and to perform the stub using the `createStubFunction` method. + /// Note: this was previously in an extension, however it must be in the original class declaration to allow subclasses to override. + @discardableResult + open func stubRequest(_ target: Target, request: URLRequest, callbackQueue: DispatchQueue?, completion: @escaping Moya.Completion, endpoint: Endpoint, stubBehavior: Moya.StubBehavior) -> CancellableToken { + let callbackQueue = callbackQueue ?? self.callbackQueue + let cancellableToken = CancellableToken { } + notifyPluginsOfImpendingStub(for: request, target: target) + let plugins = self.plugins + let stub: () -> Void = createStubFunction(cancellableToken, forTarget: target, withCompletion: completion, endpoint: endpoint, plugins: plugins, request: request) + switch stubBehavior { + case .immediate: + switch callbackQueue { + case .none: + stub() + case .some(let callbackQueue): + callbackQueue.async(execute: stub) + } + case .delayed(let delay): + let killTimeOffset = Int64(CDouble(delay) * CDouble(NSEC_PER_SEC)) + let killTime = DispatchTime.now() + Double(killTimeOffset) / Double(NSEC_PER_SEC) + (callbackQueue ?? DispatchQueue.main).asyncAfter(deadline: killTime) { + stub() + } + case .never: + fatalError("Method called to stub request when stubbing is disabled.") + } + + return cancellableToken + } + // swiftlint:enable function_parameter_count +} + +/// Mark: Stubbing + +/// Controls how stub responses are returned. +public enum StubBehavior { + + /// Do not stub. + case never + + /// Return a response immediately. + case immediate + + /// Return a response after a delay. + case delayed(seconds: TimeInterval) +} + +public extension MoyaProvider { + + // Swift won't let us put the StubBehavior enum inside the provider class, so we'll + // at least add some class functions to allow easy access to common stubbing closures. + + /// Do not stub. + public final class func neverStub(_: Target) -> Moya.StubBehavior { + return .never + } + + /// Return a response immediately. + public final class func immediatelyStub(_: Target) -> Moya.StubBehavior { + return .immediate + } + + /// Return a response after a delay. + public final class func delayedStub(_ seconds: TimeInterval) -> (Target) -> Moya.StubBehavior { + return { _ in return .delayed(seconds: seconds) } + } +} + +/// A public function responsible for converting the result of a `URLRequest` to a Result. +public func convertResponseToResult(_ response: HTTPURLResponse?, request: URLRequest?, data: Data?, error: Swift.Error?) -> + Result { + switch (response, data, error) { + case let (.some(response), data, .none): + let response = Moya.Response(statusCode: response.statusCode, data: data ?? Data(), request: request, response: response) + return .success(response) + case let (.some(response), _, .some(error)): + let response = Moya.Response(statusCode: response.statusCode, data: data ?? Data(), request: request, response: response) + let error = MoyaError.underlying(error, response) + return .failure(error) + case let (_, _, .some(error)): + let error = MoyaError.underlying(error, nil) + return .failure(error) + default: + let error = MoyaError.underlying(NSError(domain: NSURLErrorDomain, code: NSURLErrorUnknown, userInfo: nil), nil) + return .failure(error) + } +} diff --git a/Example/Pods/Moya/Sources/Moya/MultiTarget.swift b/Example/Pods/Moya/Sources/Moya/MultiTarget.swift new file mode 100644 index 0000000..7b813e4 --- /dev/null +++ b/Example/Pods/Moya/Sources/Moya/MultiTarget.swift @@ -0,0 +1,54 @@ +import Foundation + +/// A `TargetType` used to enable `MoyaProvider` to process multiple `TargetType`s. +public enum MultiTarget: TargetType { + /// The embedded `TargetType`. + case target(TargetType) + + /// Initializes a `MultiTarget`. + public init(_ target: TargetType) { + self = MultiTarget.target(target) + } + + /// The embedded target's base `URL`. + public var path: String { + return target.path + } + + /// The baseURL of the embedded target. + public var baseURL: URL { + return target.baseURL + } + + /// The HTTP method of the embedded target. + public var method: Moya.Method { + return target.method + } + + /// The sampleData of the embedded target. + public var sampleData: Data { + return target.sampleData + } + + /// The `Task` of the embedded target. + public var task: Task { + return target.task + } + + /// The `ValidationType` of the embedded target. + public var validationType: ValidationType { + return target.validationType + } + + /// The headers of the embedded target. + public var headers: [String: String]? { + return target.headers + } + + /// The embedded `TargetType`. + public var target: TargetType { + switch self { + case .target(let target): return target + } + } +} diff --git a/Example/Pods/Moya/Sources/Moya/MultipartFormData.swift b/Example/Pods/Moya/Sources/Moya/MultipartFormData.swift new file mode 100644 index 0000000..418cae2 --- /dev/null +++ b/Example/Pods/Moya/Sources/Moya/MultipartFormData.swift @@ -0,0 +1,73 @@ +import Foundation +import Alamofire + +/// Represents "multipart/form-data" for an upload. +public struct MultipartFormData { + + /// Method to provide the form data. + public enum FormDataProvider { + case data(Foundation.Data) + case file(URL) + case stream(InputStream, UInt64) + } + + public init(provider: FormDataProvider, name: String, fileName: String? = nil, mimeType: String? = nil) { + self.provider = provider + self.name = name + self.fileName = fileName + self.mimeType = mimeType + } + + /// The method being used for providing form data. + public let provider: FormDataProvider + + /// The name. + public let name: String + + /// The file name. + public let fileName: String? + + /// The MIME type + public let mimeType: String? + +} + +// MARK: RequestMultipartFormData appending +internal extension RequestMultipartFormData { + func append(data: Data, bodyPart: MultipartFormData) { + if let mimeType = bodyPart.mimeType { + if let fileName = bodyPart.fileName { + append(data, withName: bodyPart.name, fileName: fileName, mimeType: mimeType) + } else { + append(data, withName: bodyPart.name, mimeType: mimeType) + } + } else { + append(data, withName: bodyPart.name) + } + } + + func append(fileURL url: URL, bodyPart: MultipartFormData) { + if let fileName = bodyPart.fileName, let mimeType = bodyPart.mimeType { + append(url, withName: bodyPart.name, fileName: fileName, mimeType: mimeType) + } else { + append(url, withName: bodyPart.name) + } + } + + func append(stream: InputStream, length: UInt64, bodyPart: MultipartFormData) { + append(stream, withLength: length, name: bodyPart.name, fileName: bodyPart.fileName ?? "", mimeType: bodyPart.mimeType ?? "") + } + + func applyMoyaMultipartFormData(_ multipartBody: [Moya.MultipartFormData]) { + for bodyPart in multipartBody { + switch bodyPart.provider { + case .data(let data): + append(data: data, bodyPart: bodyPart) + case .file(let url): + append(fileURL: url, bodyPart: bodyPart) + case .stream(let stream, let length): + append(stream: stream, length: length, bodyPart: bodyPart) + } + } + } +} diff --git a/Example/Pods/Moya/Sources/Moya/Plugin.swift b/Example/Pods/Moya/Sources/Moya/Plugin.swift new file mode 100644 index 0000000..3f5bd6c --- /dev/null +++ b/Example/Pods/Moya/Sources/Moya/Plugin.swift @@ -0,0 +1,47 @@ +import Foundation +import Result + +/// A Moya Plugin receives callbacks to perform side effects wherever a request is sent or received. +/// +/// for example, a plugin may be used to +/// - log network requests +/// - hide and show a network activity indicator +/// - inject additional information into a request +public protocol PluginType { + /// Called to modify a request before sending. + func prepare(_ request: URLRequest, target: TargetType) -> URLRequest + + /// Called immediately before a request is sent over the network (or stubbed). + func willSend(_ request: RequestType, target: TargetType) + + /// Called after a response has been received, but before the MoyaProvider has invoked its completion handler. + func didReceive(_ result: Result, target: TargetType) + + /// Called to modify a result before completion. + func process(_ result: Result, target: TargetType) -> Result +} + +public extension PluginType { + func prepare(_ request: URLRequest, target: TargetType) -> URLRequest { return request } + func willSend(_ request: RequestType, target: TargetType) { } + func didReceive(_ result: Result, target: TargetType) { } + func process(_ result: Result, target: TargetType) -> Result { return result } +} + +/// Request type used by `willSend` plugin function. +public protocol RequestType { + + // Note: + // + // We use this protocol instead of the Alamofire request to avoid leaking that abstraction. + // A plugin should not know about Alamofire at all. + + /// Retrieve an `NSURLRequest` representation. + var request: URLRequest? { get } + + /// Authenticates the request with a username and password. + func authenticate(user: String, password: String, persistence: URLCredential.Persistence) -> Self + + /// Authenticates the request with an `NSURLCredential` instance. + func authenticate(usingCredential credential: URLCredential) -> Self +} diff --git a/Example/Pods/Moya/Sources/Moya/Plugins/AccessTokenPlugin.swift b/Example/Pods/Moya/Sources/Moya/Plugins/AccessTokenPlugin.swift new file mode 100644 index 0000000..65ba520 --- /dev/null +++ b/Example/Pods/Moya/Sources/Moya/Plugins/AccessTokenPlugin.swift @@ -0,0 +1,78 @@ +import Foundation +import Result + +// MARK: - AccessTokenAuthorizable + +/// A protocol for controlling the behavior of `AccessTokenPlugin`. +public protocol AccessTokenAuthorizable { + + /// Represents the authorization header to use for requests. + var authorizationType: AuthorizationType { get } +} + +// MARK: - AuthorizationType + +/// An enum representing the header to use with an `AccessTokenPlugin` +public enum AuthorizationType: String { + /// No header. + case none + + /// The `"Basic"` header. + case basic = "Basic" + + /// The `"Bearer"` header. + case bearer = "Bearer" +} + +// MARK: - AccessTokenPlugin + +/** + A plugin for adding basic or bearer-type authorization headers to requests. Example: + + ``` + Authorization: Bearer + Authorization: Basic + ``` + +*/ +public struct AccessTokenPlugin: PluginType { + + /// A closure returning the access token to be applied in the header. + public let tokenClosure: () -> String + + /** + Initialize a new `AccessTokenPlugin`. + + - parameters: + - tokenClosure: A closure returning the token to be applied in the pattern `Authorization: ` + */ + public init(tokenClosure: @escaping @autoclosure () -> String) { + self.tokenClosure = tokenClosure + } + + /** + Prepare a request by adding an authorization header if necessary. + + - parameters: + - request: The request to modify. + - target: The target of the request. + - returns: The modified `URLRequest`. + */ + public func prepare(_ request: URLRequest, target: TargetType) -> URLRequest { + guard let authorizable = target as? AccessTokenAuthorizable else { return request } + + let authorizationType = authorizable.authorizationType + + var request = request + + switch authorizationType { + case .basic, .bearer: + let authValue = authorizationType.rawValue + " " + tokenClosure() + request.addValue(authValue, forHTTPHeaderField: "Authorization") + case .none: + break + } + + return request + } +} diff --git a/Example/Pods/Moya/Sources/Moya/Plugins/CredentialsPlugin.swift b/Example/Pods/Moya/Sources/Moya/Plugins/CredentialsPlugin.swift new file mode 100644 index 0000000..5f22aab --- /dev/null +++ b/Example/Pods/Moya/Sources/Moya/Plugins/CredentialsPlugin.swift @@ -0,0 +1,22 @@ +import Foundation +import Result + +/// Provides each request with optional URLCredentials. +public final class CredentialsPlugin: PluginType { + + public typealias CredentialClosure = (TargetType) -> URLCredential? + let credentialsClosure: CredentialClosure + + /// Initializes a CredentialsPlugin. + public init(credentialsClosure: @escaping CredentialClosure) { + self.credentialsClosure = credentialsClosure + } + + // MARK: Plugin + + public func willSend(_ request: RequestType, target: TargetType) { + if let credentials = credentialsClosure(target) { + _ = request.authenticate(usingCredential: credentials) + } + } +} diff --git a/Example/Pods/Moya/Sources/Moya/Plugins/NetworkActivityPlugin.swift b/Example/Pods/Moya/Sources/Moya/Plugins/NetworkActivityPlugin.swift new file mode 100644 index 0000000..c900105 --- /dev/null +++ b/Example/Pods/Moya/Sources/Moya/Plugins/NetworkActivityPlugin.swift @@ -0,0 +1,31 @@ +import Foundation +import Result + +/// Network activity change notification type. +public enum NetworkActivityChangeType { + case began, ended +} + +/// Notify a request's network activity changes (request begins or ends). +public final class NetworkActivityPlugin: PluginType { + + public typealias NetworkActivityClosure = (_ change: NetworkActivityChangeType, _ target: TargetType) -> Void + let networkActivityClosure: NetworkActivityClosure + + /// Initializes a NetworkActivityPlugin. + public init(networkActivityClosure: @escaping NetworkActivityClosure) { + self.networkActivityClosure = networkActivityClosure + } + + // MARK: Plugin + + /// Called by the provider as soon as the request is about to start + public func willSend(_ request: RequestType, target: TargetType) { + networkActivityClosure(.began, target) + } + + /// Called by the provider as soon as a response arrives, even if the request is canceled. + public func didReceive(_ result: Result, target: TargetType) { + networkActivityClosure(.ended, target) + } +} diff --git a/Example/Pods/Moya/Sources/Moya/Plugins/NetworkLoggerPlugin.swift b/Example/Pods/Moya/Sources/Moya/Plugins/NetworkLoggerPlugin.swift new file mode 100644 index 0000000..cc91afe --- /dev/null +++ b/Example/Pods/Moya/Sources/Moya/Plugins/NetworkLoggerPlugin.swift @@ -0,0 +1,114 @@ +import Foundation +import Result + +/// Logs network activity (outgoing requests and incoming responses). +public final class NetworkLoggerPlugin: PluginType { + fileprivate let loggerId = "Moya_Logger" + fileprivate let dateFormatString = "dd/MM/yyyy HH:mm:ss" + fileprivate let dateFormatter = DateFormatter() + fileprivate let separator = ", " + fileprivate let terminator = "\n" + fileprivate let cURLTerminator = "\\\n" + fileprivate let output: (_ separator: String, _ terminator: String, _ items: Any...) -> Void + fileprivate let requestDataFormatter: ((Data) -> (String))? + fileprivate let responseDataFormatter: ((Data) -> (Data))? + + /// A Boolean value determing whether response body data should be logged. + public let isVerbose: Bool + public let cURL: Bool + + /// Initializes a NetworkLoggerPlugin. + public init(verbose: Bool = false, cURL: Bool = false, output: ((_ separator: String, _ terminator: String, _ items: Any...) -> Void)? = nil, requestDataFormatter: ((Data) -> (String))? = nil, responseDataFormatter: ((Data) -> (Data))? = nil) { + self.cURL = cURL + self.isVerbose = verbose + self.output = output ?? NetworkLoggerPlugin.reversedPrint + self.requestDataFormatter = requestDataFormatter + self.responseDataFormatter = responseDataFormatter + } + + public func willSend(_ request: RequestType, target: TargetType) { + if let request = request as? CustomDebugStringConvertible, cURL { + output(separator, terminator, request.debugDescription) + return + } + outputItems(logNetworkRequest(request.request as URLRequest?)) + } + + public func didReceive(_ result: Result, target: TargetType) { + if case .success(let response) = result { + outputItems(logNetworkResponse(response.response, data: response.data, target: target)) + } else { + outputItems(logNetworkResponse(nil, data: nil, target: target)) + } + } + + fileprivate func outputItems(_ items: [String]) { + if isVerbose { + items.forEach { output(separator, terminator, $0) } + } else { + output(separator, terminator, items) + } + } +} + +private extension NetworkLoggerPlugin { + + var date: String { + dateFormatter.dateFormat = dateFormatString + dateFormatter.locale = Locale(identifier: "en_US_POSIX") + return dateFormatter.string(from: Date()) + } + + func format(_ loggerId: String, date: String, identifier: String, message: String) -> String { + return "\(loggerId): [\(date)] \(identifier): \(message)" + } + + func logNetworkRequest(_ request: URLRequest?) -> [String] { + + var output = [String]() + + output += [format(loggerId, date: date, identifier: "Request", message: request?.description ?? "(invalid request)")] + + if let headers = request?.allHTTPHeaderFields { + output += [format(loggerId, date: date, identifier: "Request Headers", message: headers.description)] + } + + if let bodyStream = request?.httpBodyStream { + output += [format(loggerId, date: date, identifier: "Request Body Stream", message: bodyStream.description)] + } + + if let httpMethod = request?.httpMethod { + output += [format(loggerId, date: date, identifier: "HTTP Request Method", message: httpMethod)] + } + + if let body = request?.httpBody, let stringOutput = requestDataFormatter?(body) ?? String(data: body, encoding: .utf8), isVerbose { + output += [format(loggerId, date: date, identifier: "Request Body", message: stringOutput)] + } + + return output + } + + func logNetworkResponse(_ response: HTTPURLResponse?, data: Data?, target: TargetType) -> [String] { + guard let response = response else { + return [format(loggerId, date: date, identifier: "Response", message: "Received empty network response for \(target).")] + } + + var output = [String]() + + output += [format(loggerId, date: date, identifier: "Response", message: response.description)] + + if let data = data, let stringData = String(data: responseDataFormatter?(data) ?? data, encoding: String.Encoding.utf8), isVerbose { + output += [stringData] + } + + return output + } +} + +fileprivate extension NetworkLoggerPlugin { + static func reversedPrint(_ separator: String, terminator: String, items: Any...) { + for item in items { + print(item, separator: separator, terminator: terminator) + } + } +} diff --git a/Example/Pods/Moya/Sources/Moya/Response.swift b/Example/Pods/Moya/Sources/Moya/Response.swift new file mode 100644 index 0000000..ee0b259 --- /dev/null +++ b/Example/Pods/Moya/Sources/Moya/Response.swift @@ -0,0 +1,192 @@ +import Foundation + +/// Represents a response to a `MoyaProvider.request`. +public final class Response: CustomDebugStringConvertible, Equatable { + + /// The status code of the response. + public let statusCode: Int + + /// The response data. + public let data: Data + + /// The original URLRequest for the response. + public let request: URLRequest? + + /// The HTTPURLResponse object. + public let response: HTTPURLResponse? + + public init(statusCode: Int, data: Data, request: URLRequest? = nil, response: HTTPURLResponse? = nil) { + self.statusCode = statusCode + self.data = data + self.request = request + self.response = response + } + + /// A text description of the `Response`. + public var description: String { + return "Status Code: \(statusCode), Data Length: \(data.count)" + } + + /// A text description of the `Response`. Suitable for debugging. + public var debugDescription: String { + return description + } + + public static func == (lhs: Response, rhs: Response) -> Bool { + return lhs.statusCode == rhs.statusCode + && lhs.data == rhs.data + && lhs.response == rhs.response + } +} + +public extension Response { + + /** + Returns the `Response` if the `statusCode` falls within the specified range. + + - parameters: + - statusCodes: The range of acceptable status codes. + - throws: `MoyaError.statusCode` when others are encountered. + */ + public func filter(statusCodes: ClosedRange) throws -> Response { + guard statusCodes.contains(statusCode) else { + throw MoyaError.statusCode(self) + } + return self + } + + /** + Returns the `Response` if it has the specified `statusCode`. + + - parameters: + - statusCode: The acceptable status code. + - throws: `MoyaError.statusCode` when others are encountered. + */ + public func filter(statusCode: Int) throws -> Response { + return try filter(statusCodes: statusCode...statusCode) + } + + /** + Returns the `Response` if the `statusCode` falls within the range 200 - 299. + + - throws: `MoyaError.statusCode` when others are encountered. + */ + public func filterSuccessfulStatusCodes() throws -> Response { + return try filter(statusCodes: 200...299) + } + + /** + Returns the `Response` if the `statusCode` falls within the range 200 - 399. + + - throws: `MoyaError.statusCode` when others are encountered. + */ + public func filterSuccessfulStatusAndRedirectCodes() throws -> Response { + return try filter(statusCodes: 200...399) + } + + /// Maps data received from the signal into a UIImage. + func mapImage() throws -> Image { + guard let image = Image(data: data) else { + throw MoyaError.imageMapping(self) + } + return image + } + + /// Maps data received from the signal into a JSON object. + /// + /// - parameter failsOnEmptyData: A Boolean value determining + /// whether the mapping should fail if the data is empty. + func mapJSON(failsOnEmptyData: Bool = true) throws -> Any { + do { + return try JSONSerialization.jsonObject(with: data, options: .allowFragments) + } catch { + if data.count < 1 && !failsOnEmptyData { + return NSNull() + } + throw MoyaError.jsonMapping(self) + } + } + + /// Maps data received from the signal into a String. + /// + /// - parameter atKeyPath: Optional key path at which to parse string. + public func mapString(atKeyPath keyPath: String? = nil) throws -> String { + if let keyPath = keyPath { + // Key path was provided, try to parse string at key path + guard let jsonDictionary = try mapJSON() as? NSDictionary, + let string = jsonDictionary.value(forKeyPath: keyPath) as? String else { + throw MoyaError.stringMapping(self) + } + return string + } else { + // Key path was not provided, parse entire response as string + guard let string = String(data: data, encoding: .utf8) else { + throw MoyaError.stringMapping(self) + } + return string + } + } + + /// Maps data received from the signal into a Decodable object. + /// + /// - parameter atKeyPath: Optional key path at which to parse object. + /// - parameter using: A `JSONDecoder` instance which is used to decode data to an object. + func map(_ type: D.Type, atKeyPath keyPath: String? = nil, using decoder: JSONDecoder = JSONDecoder(), failsOnEmptyData: Bool = true) throws -> D { + let serializeToData: (Any) throws -> Data? = { (jsonObject) in + guard JSONSerialization.isValidJSONObject(jsonObject) else { + return nil + } + do { + return try JSONSerialization.data(withJSONObject: jsonObject) + } catch { + throw MoyaError.jsonMapping(self) + } + } + let jsonData: Data + keyPathCheck: if let keyPath = keyPath { + guard let jsonObject = (try mapJSON(failsOnEmptyData: failsOnEmptyData) as? NSDictionary)?.value(forKeyPath: keyPath) else { + if failsOnEmptyData { + throw MoyaError.jsonMapping(self) + } else { + jsonData = data + break keyPathCheck + } + } + + if let data = try serializeToData(jsonObject) { + jsonData = data + } else { + let wrappedJsonObject = ["value": jsonObject] + let wrappedJsonData: Data + if let data = try serializeToData(wrappedJsonObject) { + wrappedJsonData = data + } else { + throw MoyaError.jsonMapping(self) + } + do { + return try decoder.decode(DecodableWrapper.self, from: wrappedJsonData).value + } catch let error { + throw MoyaError.objectMapping(error, self) + } + } + } else { + jsonData = data + } + do { + if jsonData.count < 1 && !failsOnEmptyData { + if let emptyJSONObjectData = "{}".data(using: .utf8), let emptyDecodableValue = try? decoder.decode(D.self, from: emptyJSONObjectData) { + return emptyDecodableValue + } else if let emptyJSONArrayData = "[{}]".data(using: .utf8), let emptyDecodableValue = try? decoder.decode(D.self, from: emptyJSONArrayData) { + return emptyDecodableValue + } + } + return try decoder.decode(D.self, from: jsonData) + } catch let error { + throw MoyaError.objectMapping(error, self) + } + } +} + +private struct DecodableWrapper: Decodable { + let value: T +} diff --git a/Example/Pods/Moya/Sources/Moya/TargetType.swift b/Example/Pods/Moya/Sources/Moya/TargetType.swift new file mode 100644 index 0000000..48c77a0 --- /dev/null +++ b/Example/Pods/Moya/Sources/Moya/TargetType.swift @@ -0,0 +1,44 @@ +import Foundation + +/// The protocol used to define the specifications necessary for a `MoyaProvider`. +public protocol TargetType { + + /// The target's base `URL`. + var baseURL: URL { get } + + /// The path to be appended to `baseURL` to form the full `URL`. + var path: String { get } + + /// The HTTP method used in the request. + var method: Moya.Method { get } + + /// Provides stub data for use in testing. + var sampleData: Data { get } + + /// The type of HTTP task to be performed. + var task: Task { get } + + /// The type of validation to perform on the request. Default is `.none`. + var validationType: ValidationType { get } + + /// The headers to be used in the request. + var headers: [String: String]? { get } +} + +public extension TargetType { + + /// The type of validation to perform on the request. Default is `.none`. + var validationType: ValidationType { + return .none + } +} + +// MARK: - Deprecated + +extension TargetType { + @available(*, deprecated: 11.0, message: + "TargetType's validate property has been deprecated in 11.0. Please use validationType: ValidationType.") + var validate: Bool { + return false + } +} diff --git a/Example/Pods/Moya/Sources/Moya/Task.swift b/Example/Pods/Moya/Sources/Moya/Task.swift new file mode 100644 index 0000000..191e259 --- /dev/null +++ b/Example/Pods/Moya/Sources/Moya/Task.swift @@ -0,0 +1,41 @@ +import Foundation + +/// Represents an HTTP task. +public enum Task { + + /// A request with no additional data. + case requestPlain + + /// A requests body set with data. + case requestData(Data) + + /// A request body set with `Encodable` type + case requestJSONEncodable(Encodable) + + /// A request body set with `Encodable` type and custom encoder + case requestCustomJSONEncodable(Encodable, encoder: JSONEncoder) + + /// A requests body set with encoded parameters. + case requestParameters(parameters: [String: Any], encoding: ParameterEncoding) + + /// A requests body set with data, combined with url parameters. + case requestCompositeData(bodyData: Data, urlParameters: [String: Any]) + + /// A requests body set with encoded parameters combined with url parameters. + case requestCompositeParameters(bodyParameters: [String: Any], bodyEncoding: ParameterEncoding, urlParameters: [String: Any]) + + /// A file upload task. + case uploadFile(URL) + + /// A "multipart/form-data" upload task. + case uploadMultipart([MultipartFormData]) + + /// A "multipart/form-data" upload task combined with url parameters. + case uploadCompositeMultipart([MultipartFormData], urlParameters: [String: Any]) + + /// A file download task to a destination. + case downloadDestination(DownloadDestination) + + /// A file download task to a destination with extra parameters using the given encoding. + case downloadParameters(parameters: [String: Any], encoding: ParameterEncoding, destination: DownloadDestination) +} diff --git a/Example/Pods/Moya/Sources/Moya/URL+Moya.swift b/Example/Pods/Moya/Sources/Moya/URL+Moya.swift new file mode 100644 index 0000000..9351fa4 --- /dev/null +++ b/Example/Pods/Moya/Sources/Moya/URL+Moya.swift @@ -0,0 +1,16 @@ +import Foundation + +public extension URL { + + /// Initialize URL from Moya's `TargetType`. + init(target: T) { + // When a TargetType's path is empty, URL.appendingPathComponent may introduce trailing /, which may not be wanted in some cases + // See: https://github.com/Moya/Moya/pull/1053 + // And: https://github.com/Moya/Moya/issues/1049 + if target.path.isEmpty { + self = target.baseURL + } else { + self = target.baseURL.appendingPathComponent(target.path) + } + } +} diff --git a/Example/Pods/Moya/Sources/Moya/URLRequest+Encoding.swift b/Example/Pods/Moya/Sources/Moya/URLRequest+Encoding.swift new file mode 100644 index 0000000..232d86d --- /dev/null +++ b/Example/Pods/Moya/Sources/Moya/URLRequest+Encoding.swift @@ -0,0 +1,28 @@ +import Foundation + +internal extension URLRequest { + + mutating func encoded(encodable: Encodable, encoder: JSONEncoder = JSONEncoder()) throws -> URLRequest { + do { + let encodable = AnyEncodable(encodable) + httpBody = try encoder.encode(encodable) + + let contentTypeHeaderName = "Content-Type" + if value(forHTTPHeaderField: contentTypeHeaderName) == nil { + setValue("application/json", forHTTPHeaderField: contentTypeHeaderName) + } + + return self + } catch { + throw MoyaError.encodableMapping(error) + } + } + + func encoded(parameters: [String: Any], parameterEncoding: ParameterEncoding) throws -> URLRequest { + do { + return try parameterEncoding.encode(self, with: parameters) + } catch { + throw MoyaError.parameterEncoding(error) + } + } +} diff --git a/Example/Pods/Moya/Sources/Moya/ValidationType.swift b/Example/Pods/Moya/Sources/Moya/ValidationType.swift new file mode 100644 index 0000000..ffc8d8f --- /dev/null +++ b/Example/Pods/Moya/Sources/Moya/ValidationType.swift @@ -0,0 +1,47 @@ +import Foundation + +/// Represents the status codes to validate through Alamofire. +public enum ValidationType { + + /// No validation. + case none + + /// Validate success codes (only 2xx). + case successCodes + + /// Validate success codes and redirection codes (only 2xx and 3xx). + case successAndRedirectCodes + + /// Validate only the given status codes. + case customCodes([Int]) + + /// The list of HTTP status codes to validate. + var statusCodes: [Int] { + switch self { + case .successCodes: + return Array(200..<300) + case .successAndRedirectCodes: + return Array(200..<400) + case .customCodes(let codes): + return codes + case .none: + return [] + } + } +} + +extension ValidationType: Equatable { + + public static func == (lhs: ValidationType, rhs: ValidationType) -> Bool { + switch (lhs, rhs) { + case (.none, .none), + (.successCodes, .successCodes), + (.successAndRedirectCodes, .successAndRedirectCodes): + return true + case (.customCodes(let code1), .customCodes(let code2)): + return code1 == code2 + default: + return false + } + } +} diff --git a/Example/Pods/Moya/Sources/RxMoya/MoyaProvider+Rx.swift b/Example/Pods/Moya/Sources/RxMoya/MoyaProvider+Rx.swift new file mode 100644 index 0000000..350c9d9 --- /dev/null +++ b/Example/Pods/Moya/Sources/RxMoya/MoyaProvider+Rx.swift @@ -0,0 +1,64 @@ +import Foundation +import RxSwift +#if !COCOAPODS +import Moya +#endif + +extension MoyaProvider: ReactiveCompatible {} + +public extension Reactive where Base: MoyaProviderType { + + /// Designated request-making method. + /// + /// - Parameters: + /// - token: Entity, which provides specifications necessary for a `MoyaProvider`. + /// - callbackQueue: Callback queue. If nil - queue from provider initializer will be used. + /// - Returns: Single response object. + public func request(_ token: Base.Target, callbackQueue: DispatchQueue? = nil) -> Single { + return Single.create { [weak base] single in + let cancellableToken = base?.request(token, callbackQueue: callbackQueue, progress: nil) { result in + switch result { + case let .success(response): + single(.success(response)) + case let .failure(error): + single(.error(error)) + } + } + + return Disposables.create { + cancellableToken?.cancel() + } + } + } + + /// Designated request-making method with progress. + public func requestWithProgress(_ token: Base.Target, callbackQueue: DispatchQueue? = nil) -> Observable { + let progressBlock: (AnyObserver) -> (ProgressResponse) -> Void = { observer in + return { progress in + observer.onNext(progress) + } + } + + let response: Observable = Observable.create { [weak base] observer in + let cancellableToken = base?.request(token, callbackQueue: callbackQueue, progress: progressBlock(observer)) { result in + switch result { + case .success: + observer.onCompleted() + case let .failure(error): + observer.onError(error) + } + } + + return Disposables.create { + cancellableToken?.cancel() + } + } + + // Accumulate all progress and combine them when the result comes + return response.scan(ProgressResponse()) { last, progress in + let progressObject = progress.progressObject ?? last.progressObject + let response = progress.response ?? last.response + return ProgressResponse(progress: progressObject, response: response) + } + } +} diff --git a/Example/Pods/Moya/Sources/RxMoya/Observable+Response.swift b/Example/Pods/Moya/Sources/RxMoya/Observable+Response.swift new file mode 100644 index 0000000..b860814 --- /dev/null +++ b/Example/Pods/Moya/Sources/RxMoya/Observable+Response.swift @@ -0,0 +1,91 @@ +import Foundation +import RxSwift +#if !COCOAPODS +import Moya +#endif + +/// Extension for processing raw NSData generated by network access. +extension ObservableType where E == Response { + + /// Filters out responses that don't fall within the given range, generating errors when others are encountered. + public func filter(statusCodes: ClosedRange) -> Observable { + return flatMap { response -> Observable in + return Observable.just(try response.filter(statusCodes: statusCodes)) + } + } + + public func filter(statusCode: Int) -> Observable { + return flatMap { response -> Observable in + return Observable.just(try response.filter(statusCode: statusCode)) + } + } + + public func filterSuccessfulStatusCodes() -> Observable { + return flatMap { response -> Observable in + return Observable.just(try response.filterSuccessfulStatusCodes()) + } + } + + public func filterSuccessfulStatusAndRedirectCodes() -> Observable { + return flatMap { response -> Observable in + return Observable.just(try response.filterSuccessfulStatusAndRedirectCodes()) + } + } + + /// Maps data received from the signal into an Image. If the conversion fails, the signal errors. + public func mapImage() -> Observable { + return flatMap { response -> Observable in + return Observable.just(try response.mapImage()) + } + } + + /// Maps data received from the signal into a JSON object. If the conversion fails, the signal errors. + public func mapJSON(failsOnEmptyData: Bool = true) -> Observable { + return flatMap { response -> Observable in + return Observable.just(try response.mapJSON(failsOnEmptyData: failsOnEmptyData)) + } + } + + /// Maps received data at key path into a String. If the conversion fails, the signal errors. + public func mapString(atKeyPath keyPath: String? = nil) -> Observable { + return flatMap { response -> Observable in + return Observable.just(try response.mapString(atKeyPath: keyPath)) + } + } + + /// Maps received data at key path into a Decodable object. If the conversion fails, the signal errors. + public func map(_ type: D.Type, atKeyPath keyPath: String? = nil, using decoder: JSONDecoder = JSONDecoder(), failsOnEmptyData: Bool = true) -> Observable { + return flatMap { response -> Observable in + return Observable.just(try response.map(type, atKeyPath: keyPath, using: decoder, failsOnEmptyData: failsOnEmptyData)) + } + } +} + +extension ObservableType where E == ProgressResponse { + + /** + Filter completed progress response and maps to actual response + + - returns: response associated with ProgressResponse object + */ + public func filterCompleted() -> Observable { + return self + .filter { $0.completed } + .flatMap { progress -> Observable in + // Just a formatlity to satisfy the compiler (completed progresses have responses). + switch progress.response { + case .some(let response): return .just(response) + case .none: return .empty() + } + } + } + + /** + Filter progress events of current ProgressResponse + + - returns: observable of progress events + */ + public func filterProgress() -> Observable { + return self.filter { !$0.completed }.map { $0.progress } + } +} diff --git a/Example/Pods/Moya/Sources/RxMoya/Single+Response.swift b/Example/Pods/Moya/Sources/RxMoya/Single+Response.swift new file mode 100644 index 0000000..d3c7325 --- /dev/null +++ b/Example/Pods/Moya/Sources/RxMoya/Single+Response.swift @@ -0,0 +1,62 @@ +import Foundation +import RxSwift +#if !COCOAPODS + import Moya +#endif + +/// Extension for processing raw NSData generated by network access. +extension PrimitiveSequence where TraitType == SingleTrait, ElementType == Response { + + /// Filters out responses that don't fall within the given range, generating errors when others are encountered. + public func filter(statusCodes: ClosedRange) -> Single { + return flatMap { response -> Single in + return Single.just(try response.filter(statusCodes: statusCodes)) + } + } + + public func filter(statusCode: Int) -> Single { + return flatMap { response -> Single in + return Single.just(try response.filter(statusCode: statusCode)) + } + } + + public func filterSuccessfulStatusCodes() -> Single { + return flatMap { response -> Single in + return Single.just(try response.filterSuccessfulStatusCodes()) + } + } + + public func filterSuccessfulStatusAndRedirectCodes() -> Single { + return flatMap { response -> Single in + return Single.just(try response.filterSuccessfulStatusAndRedirectCodes()) + } + } + + /// Maps data received from the signal into an Image. If the conversion fails, the signal errors. + public func mapImage() -> Single { + return flatMap { response -> Single in + return Single.just(try response.mapImage()) + } + } + + /// Maps data received from the signal into a JSON object. If the conversion fails, the signal errors. + public func mapJSON(failsOnEmptyData: Bool = true) -> Single { + return flatMap { response -> Single in + return Single.just(try response.mapJSON(failsOnEmptyData: failsOnEmptyData)) + } + } + + /// Maps received data at key path into a String. If the conversion fails, the signal errors. + public func mapString(atKeyPath keyPath: String? = nil) -> Single { + return flatMap { response -> Single in + return Single.just(try response.mapString(atKeyPath: keyPath)) + } + } + + /// Maps received data at key path into a Decodable object. If the conversion fails, the signal errors. + public func map(_ type: D.Type, atKeyPath keyPath: String? = nil, using decoder: JSONDecoder = JSONDecoder(), failsOnEmptyData: Bool = true) -> Single { + return flatMap { response -> Single in + return Single.just(try response.map(type, atKeyPath: keyPath, using: decoder, failsOnEmptyData: failsOnEmptyData)) + } + } +} diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj index e24e198..ad3b733 100644 --- a/Example/Pods/Pods.xcodeproj/project.pbxproj +++ b/Example/Pods/Pods.xcodeproj/project.pbxproj @@ -7,1044 +7,1220 @@ objects = { /* Begin PBXBuildFile section */ - 0238DC8284AF2E23894D5BE5EDEC55A4 /* Skip.swift in Sources */ = {isa = PBXBuildFile; fileRef = A0D1C49E40C9824F7A57414F340EB5E6 /* Skip.swift */; }; - 0259D2F16D0FC6FFB0AE38FFBCEF7899 /* ObservableType+PrimitiveSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C9646D6B27A51FEB7760FFD7ABA8FE3 /* ObservableType+PrimitiveSequence.swift */; }; - 0356CC31F467F2A05442342D8E3013C3 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34BA459FC9CCA4108DCDC867D44E9F4D /* Foundation.framework */; }; - 0571AC6959BD60F98BD32376280C49D8 /* String+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03A011C2B92675A1E945C8589797B124 /* String+Rx.swift */; }; - 05933DB67D82DE8A63DF135A20C23270 /* Observable.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA9886708ABC4A18D6E3A14286A583C3 /* Observable.swift */; }; - 075E34B4C08E3EF281D30B32E23D926D /* Completable+AndThen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A0149C89142E332D1AF21EBD653D6A3 /* Completable+AndThen.swift */; }; - 0A17FD9D02DD6815813895ED394CA2BB /* StartWith.swift in Sources */ = {isa = PBXBuildFile; fileRef = 216B0FE5458AD740CD800577BCA431B8 /* StartWith.swift */; }; - 0A2CA8B0DD7E300ABFCF1956E6B58248 /* Nimble.h in Headers */ = {isa = PBXBuildFile; fileRef = AB4D3208A1875F555588AE8C753EBB19 /* Nimble.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0B3E3B7D095B32ECE47367E25856B0A2 /* CombineLatest+Collection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 569109481AA868B84E487C40B1F677E8 /* CombineLatest+Collection.swift */; }; - 0DBD633AD236ED31E92C3E55253FABD4 /* ScheduledDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0F125FDA9DD4D11A8373B4B8DFF00663 /* ScheduledDisposable.swift */; }; - 0E8D5BF0ACE0F2EBDC10C0C703CBFF66 /* ElementAt.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF9DAEB47D56E9A9047971D6F5E12960 /* ElementAt.swift */; }; - 0EF877FB0795D934E83DBC098085869C /* Merge.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2329FE822D335182725B17A4C55F35BF /* Merge.swift */; }; - 10B2322EABD13D8AA8432DE67C7F576F /* ToArray.swift in Sources */ = {isa = PBXBuildFile; fileRef = D3082C2B53788431AB6E6D54D94250BF /* ToArray.swift */; }; - 10BAEAE27970D5ECDE1F13401B48ABCF /* CurrentThreadScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 05E21AAF28B2AB4181ACA225F7AB0510 /* CurrentThreadScheduler.swift */; }; - 10EB23E9ECC4B33E16933BB1EA560B6A /* Timeline.swift in Sources */ = {isa = PBXBuildFile; fileRef = 898B36208C53945A0BD5975C58D26C19 /* Timeline.swift */; }; - 11C32E4252F6A76160F1A14F6B774B8B /* Empty.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0ADC503F14629E708672F9224A3B209A /* Empty.swift */; }; - 12B89BF3E593EF24EE3FA1D8F3560576 /* Window.swift in Sources */ = {isa = PBXBuildFile; fileRef = B70D284E5223A7FC72C970F6428DB969 /* Window.swift */; }; - 13E4016B602F645BF13F3B84317FBB82 /* ObservableConvertibleType.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6652196BA74CB20494F39BFAFADA9EF /* ObservableConvertibleType.swift */; }; - 1469CE9BCCAC1BB562E10876BB7F66CD /* Pods-Japx_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 92FE598729E7160B39EFCDB1912A0336 /* Pods-Japx_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 15304D72C1754185CF6D95C94F4AE26A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34BA459FC9CCA4108DCDC867D44E9F4D /* Foundation.framework */; }; - 16A414967B9844FB7FABC4135E625310 /* Catch.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28504DFC5C78BB998DA212F304E6CAB5 /* Catch.swift */; }; - 17C8EE7DF3F57C8F99EAF63C6E61EA99 /* FailureMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC4CEB4BA6F8664656E257DC7B6C7EFD /* FailureMessage.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 1A3E19B9F5EEB773C3BB61CA42F8BF62 /* DSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = D57E32CED7C48F581A4FE64E83AEE79E /* DSL.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 1B6272DCF4279505F8DE5F813F4D2515 /* Pods-Japx_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = A2B7363E87183D6C3C117EA16F819C34 /* Pods-Japx_Tests-dummy.m */; }; - 1B9EDEDC964E6B08F78920B4F4B9DB84 /* Alamofire-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 5DD052F9A5416B2358B0F4BFD9EC8296 /* Alamofire-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1C3ED823B03F694C15800BF9F65D66B6 /* Scan.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42DD9857C631351E474828B68F45F556 /* Scan.swift */; }; - 1E1CE28FFCCD7499620B47C910E9B9E9 /* BeLogical.swift in Sources */ = {isa = PBXBuildFile; fileRef = ACA604C309564C3F549216E334793C7A /* BeLogical.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 1E8B3CD935A1C306FAF88EE88F49C2EF /* DeprecationWarner.swift in Sources */ = {isa = PBXBuildFile; fileRef = D62659E4452122DC3398A6674F35C5F5 /* DeprecationWarner.swift */; }; - 1F35286091D331F29A4A02070971F7C1 /* ObserveOn.swift in Sources */ = {isa = PBXBuildFile; fileRef = D681D5D0182BBE1E956BD88F968163D2 /* ObserveOn.swift */; }; - 1FD161067914283B07F04A619B9DE678 /* AnonymousDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7C48D85EF9642867FD839461D8B13FC /* AnonymousDisposable.swift */; }; - 20FE6EDEB4C51BA076C896A64D8F7F07 /* ConcurrentMainScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8DAC66E795B84776F52EECB31B6D700 /* ConcurrentMainScheduler.swift */; }; - 22E9F6FA56858A5F7A5D664E5968ECB0 /* NMBExceptionCapture.h in Headers */ = {isa = PBXBuildFile; fileRef = DAE808E4DF28D422D69E4BA0347C5EA5 /* NMBExceptionCapture.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2498ED596098BCB92E9B3775FB5E45C0 /* Maybe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 707089661FC952DB94FA9C9841F5C0AF /* Maybe.swift */; }; - 25906E7AEB4FC9E4C5C3524EBB2FC2AF /* Alamofire.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1CA2B82B5F13B08478940759EF8358E8 /* Alamofire.framework */; }; - 25D1805055756CAA69A167CA03B2465C /* ContainElementSatisfying.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0B5658991929C1FAF1AB94268FACF2AD /* ContainElementSatisfying.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 25D34F6037074802BA82C1D7D706545E /* Quick.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AF5A0D48BA3B862D2D2D3C093E2E173 /* Quick.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 272A5CA88782502F32DF1C7C3305E362 /* SwitchIfEmpty.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A56D37588F1AE973B96C0EB0A0FE439 /* SwitchIfEmpty.swift */; }; - 27927E9214BF5C75C0B35BDA4623B6DD /* XCTestSuite+QuickTestSuiteBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = 7976A3521A8469AA75056638F5B90E68 /* XCTestSuite+QuickTestSuiteBuilder.m */; }; - 27972486CF6DAD8D55A6D2C534DAB8C0 /* Timer.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED7BD574D00DBB1CB6BC8112B79D9242 /* Timer.swift */; }; - 27C392E7712B15883B4140BF9DAC7701 /* QuickConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = 698ADA71B26874A5F56087166E6181F3 /* QuickConfiguration.m */; }; - 28CE61A3F3551433F4B960AD483A20E3 /* Never.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E7AD6A9F6814D9221B62E5B2CD7F576 /* Never.swift */; }; - 29A65FF7D1752DFFF87F5DC8F55CE859 /* ToSucceed.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2A84D6C84F30FBE9E9EFDA4D73CE0AE /* ToSucceed.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 2AA5D46906B9E306E5890AA9610A6D1C /* SchedulerType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B3963D55647AAE13B2ABE9E4969D6C7 /* SchedulerType.swift */; }; - 2B0B9DF0BE35DCA3C0A28A609BD01584 /* Zip+Collection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13CF1D961FB293C796AE38939191FACF /* Zip+Collection.swift */; }; - 2C6E56D499411791278C686CFA74C51B /* CompositeDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6391860AA2FED2C1ABD304DB5B8DBD44 /* CompositeDisposable.swift */; }; - 2D0ADAA06E82437DB8C3D7C3FBB2372D /* JapxAlamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 313B36FCA6E6ED617A0A898DFF958EE7 /* JapxAlamofire.swift */; }; - 2E09D9F3C6ACF462B457DDB9525F741C /* ObserverType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18DA7B4E2C92193CD0FBC77BD67D82F5 /* ObserverType.swift */; }; - 2EF0D238D66571905ED789CF3A168FFE /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = C66DFA6CF552724526629F1688A27262 /* Error.swift */; }; - 2F0276903AB33168DFE6ECAB0D1AFCC4 /* Lock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02BAEC26EACF6C2DF93DDA2C7041DE93 /* Lock.swift */; }; - 2F048394FAD29A13B30FAF950CCCBA0D /* AsyncSubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83CC1F2D168EC1115D72BF4E9DCFFD90 /* AsyncSubject.swift */; }; - 2F8AEC83E254C13A2B7129D94751BC89 /* TakeLast.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08CD26AF27AD1C14D9B83F74D0821C56 /* TakeLast.swift */; }; - 31A3217D30EEA9A302F634778F316555 /* SchedulerServices+Emulation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E337F83919CE4DD127D3F17C17E1CAE /* SchedulerServices+Emulation.swift */; }; - 31C39ED8CB1C9317F1F2840FC919662D /* PostNotification.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB71B6D9DC363CFCDA1DA94293A80B95 /* PostNotification.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 32802A496F3A70CEA5572794CE57DF72 /* RecursiveLock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B2DCB8269C4E998FFBCA4F6D651046D /* RecursiveLock.swift */; }; - 32B38992751B96F21324BFC9923BFCBD /* AssertionDispatcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B076C7D04F563FDF34B2706C62954F1 /* AssertionDispatcher.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 347374C57A2E1518AA1C3D8046B06A31 /* Queue.swift in Sources */ = {isa = PBXBuildFile; fileRef = E43294C4FBFA81BA9A6CD48CE79E4DFA /* Queue.swift */; }; - 356CE4DCA8E16BAA47785A80C4EC61BF /* Japx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2297755880CA1360AA9D5E2F6D9EA0E3 /* Japx.swift */; }; - 35CADB1AD8E063A35DF68147F3183206 /* CwlMachBadInstructionHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 6799B047391520643DDAD7FA4BF34BF0 /* CwlMachBadInstructionHandler.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 35CF7EA90082AD018F0FB0F6CCCA1BF0 /* AnonymousObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E87AEEB57283BB00F3457829C4DD2B0 /* AnonymousObserver.swift */; }; - 3626B94094672CB1C9DEA32B9F9502E1 /* TaskDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95E42258FAFB6EEB406372AA64AEF031 /* TaskDelegate.swift */; }; - 368584B73CF34D9E410D7A8B02B13680 /* PublishSubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = 00548BAE91F8EBAC6A1F26FD7965E408 /* PublishSubject.swift */; }; - 3685BA36EFC38FFC2DC4B2C82F51D8D3 /* Single.swift in Sources */ = {isa = PBXBuildFile; fileRef = B874165FC81E48D911712B58130AFB02 /* Single.swift */; }; - 3794BF34E6A577A387D4E321E82707C5 /* Optional.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7ABFFC41CD51253E95153D617F22667B /* Optional.swift */; }; - 379F94F0E1ED07BC8EE608F1DF3D82AC /* DispatchQueueConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = C68375B9F28124F7B21E644229CC4267 /* DispatchQueueConfiguration.swift */; }; - 389EB93083A01779C3B80CBC75E2D94E /* SubjectType.swift in Sources */ = {isa = PBXBuildFile; fileRef = A085545942D1D7E397D1F13F4282E7F2 /* SubjectType.swift */; }; - 3B3A88E074630B1EBC2139F4F70F0443 /* ThrowAssertion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6061E0E41E6E9E9718B38DE9EAD51111 /* ThrowAssertion.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 3BFDD7324519DB6E4E96F4054A41C2AA /* Delay.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC54A0C5B1F0197DC59979D98E0A9CCC /* Delay.swift */; }; - 3C66D2692E811DAE57A244A67E7AC555 /* BeVoid.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2D0AEB2E40A1CD3580FF89AADDB91B0 /* BeVoid.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 3D1A89FDD6B579BAA92AD398E5C019F9 /* EndWith.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A2B786E2DD7AAFDB2B2151CE645454B /* EndWith.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 3D3C9E3354221FA6BB488B20A0F2A9EB /* Sink.swift in Sources */ = {isa = PBXBuildFile; fileRef = 079EA2F46F0155E1CB4846F9F78F848E /* Sink.swift */; }; - 3DAC35DB1EDB163FAF9CF0042709FD0F /* ExampleHooks.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6F54173CC08A3DADFB0A9D088F487071 /* ExampleHooks.swift */; }; - 3DE538162F627C9EF1EB8D2EF64FC992 /* Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0664D803A79EE39850AC2BBFD7D0B8A /* Rx.swift */; }; - 3E04D23B2995705A6106D41F3E3E4E33 /* ExpectationMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27C41284E5A1F9BA1B8104577A938209 /* ExpectationMessage.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 3E0BA858A43AB1018C4275320890C19A /* RetryWhen.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE899583FCD2DE91D8C9F909266B87FD /* RetryWhen.swift */; }; - 40ADE642DC50544254BB628EA3A53313 /* Materialize.swift in Sources */ = {isa = PBXBuildFile; fileRef = 91119C9F6EB4094361252ED031F33D22 /* Materialize.swift */; }; - 413A12DDFFFB4B9B31821B11EE463EE9 /* GroupedObservable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 97253BD23FFE71484DEBCC6B8C7069F9 /* GroupedObservable.swift */; }; - 41C783192F7ECD485C8C6384D30CBF11 /* CwlDarwinDefinitions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083E6DE1D634F485952B15D7530BD236 /* CwlDarwinDefinitions.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 42EAAE8CFB95F2352FCE036F263263E1 /* CwlCatchException.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2B4A7C9F02535DBEF3369D81F9540A47 /* CwlCatchException.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 45F183320C688F9978649F30ABE21D09 /* MatchError.swift in Sources */ = {isa = PBXBuildFile; fileRef = A34F289FCD2ABEBDBF19431242F89A0B /* MatchError.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 46053A7FEA71D8D3CEF1CDF778D7EEC6 /* Reactive.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0FA30BA7DAD552B1A93F8A9F784B55BD /* Reactive.swift */; }; - 46680571534E1D0626B9CBA998199BBE /* Completable.swift in Sources */ = {isa = PBXBuildFile; fileRef = BEC2BD1894D0CE4C5DE875EC3C6DF066 /* Completable.swift */; }; - 4852B2379F7EC2A77DF67FD0B0512980 /* JapxRxCodableAlamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = F0A46C6E2E88C46C56F15BF1C97476E9 /* JapxRxCodableAlamofire.swift */; }; - 4960AB4A42F69F5BA9AA2DC3BF72974A /* GroupBy.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5CE0E1FBE0C9ED7777E5AD2314FB622 /* GroupBy.swift */; }; - 4BA3E5B5A12800CA26EC28E3C8FB2783 /* JapxRxAlamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE2AB57CE34609849A6AC549803367B2 /* JapxRxAlamofire.swift */; }; - 4BF04DC94F13D54381EEC2044E368C25 /* Sample.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E8F8222D03579ACB0ECBE9A8A59BFC7 /* Sample.swift */; }; - 4C4F6970871C504C51E62473D0AA9EA8 /* AsyncLock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8DEF053D251A1FB1F8E299B9824D4247 /* AsyncLock.swift */; }; - 4C7697997735BB2CB09074777013FB7E /* Amb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 21C53CE1D51F9C233E64FC5C98AB12C1 /* Amb.swift */; }; - 4CDACD8A5A6CFB688838AA988E7D1E43 /* Nimble-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7E7178C22D9FEA5A0AFB0F5D97D3B881 /* Nimble-dummy.m */; }; - 4F19C653434D07C59BFB2F9C62F31541 /* QuickSpecBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 052FEE40347F4ED7797526ADB365577C /* QuickSpecBase.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4FABBF5CA8F735F48035BE4144613CB7 /* Expression.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31D8F2B011DD4D668D22D4B934A410C2 /* Expression.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 50698F14E7847E18B907E9373FBF4C21 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34BA459FC9CCA4108DCDC867D44E9F4D /* Foundation.framework */; }; - 52C3E8DA89DD198E95270AA1F7D40C2D /* Generate.swift in Sources */ = {isa = PBXBuildFile; fileRef = D083168A2B38A72D806E419BD7D5AE6D /* Generate.swift */; }; - 52F4499A6065D5681597591E8F566CF5 /* Just.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DDC7ED28FBB04564910C85643299195 /* Just.swift */; }; - 5387216E723A3C68E851CA15573CDD71 /* Request.swift in Sources */ = {isa = PBXBuildFile; fileRef = E29B1459D55DDCB6045A519C55F66864 /* Request.swift */; }; - 54CC2049C937561A469575AF9E6A6FE9 /* NimbleEnvironment.swift in Sources */ = {isa = PBXBuildFile; fileRef = E3C1BB58EE5A570A9F93068F57631B23 /* NimbleEnvironment.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 55AD6DC30D68B94BA14D697F99FD586C /* Create.swift in Sources */ = {isa = PBXBuildFile; fileRef = C459B517E950220EB7FB7082A5B583E3 /* Create.swift */; }; - 55AFF7437CF33619E8DAFD075001FA89 /* DSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99FE3158C3E25E5B8F38A97C197AE66C /* DSL.swift */; }; - 570CB73A585A69075A873F3BDA471635 /* Timeout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BBDDE699DCA7ED0627585151FBC55EB /* Timeout.swift */; }; - 577839181E1D94BB115C6EFCE2D4A3B6 /* QuickSpec.h in Headers */ = {isa = PBXBuildFile; fileRef = 105F90F7282EE3DE064B05EB0435E2C7 /* QuickSpec.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 58C0125D796A97541FDE3414001D8A92 /* BeEmpty.swift in Sources */ = {isa = PBXBuildFile; fileRef = 839C803921C384FAB1498421D819A80A /* BeEmpty.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 58CE52A76A3B522180B0BE5B5EFA06D3 /* VirtualTimeConverterType.swift in Sources */ = {isa = PBXBuildFile; fileRef = E45FDA44F876FE813761177E4A343EA4 /* VirtualTimeConverterType.swift */; }; - 58D964317DFBB10F54A273CB12843017 /* BeGreaterThanOrEqualTo.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2FB16D357015F6A7B1CA55F15DFB6C0 /* BeGreaterThanOrEqualTo.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 5AB9DB61D62D8BF7B1C734B373F361E7 /* CurrentTestCaseTracker.h in Headers */ = {isa = PBXBuildFile; fileRef = F5FF301CC90571EA25A008306A3A5901 /* CurrentTestCaseTracker.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 5BF274C2DEF332ED79B1CD15CFEC3498 /* ThrowError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63223F5732426B5C41FD59D0F32AF283 /* ThrowError.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 5C02995E600D03317E9CC21F7F71B141 /* Debug.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84FB2A8A2E32EA4D8E111CE2EB9E68ED /* Debug.swift */; }; - 5CC8C7118E09E2BD1FD783B004F3ACA1 /* PriorityQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4DBD0813F3547174C6A3088B497B8451 /* PriorityQueue.swift */; }; - 5DBCC0E4C72649C9A39A00D40D944DDA /* Nimble-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 792B5B264B714DAF85A5A5C7E1148443 /* Nimble-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5E00DD7FDB534F9F5492B28CE9785026 /* Reduce.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A92F103D54975DCB696C7A6DF4AA166 /* Reduce.swift */; }; - 5F92AB90FEBE7806C24C5E35927EEA3F /* QuickConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = 9BE0E5DE916786A224B761D4B5EB05A5 /* QuickConfiguration.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5F9AFDECC14365CD10F3D83D50020E32 /* CwlMachBadInstructionHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 74C6C05C94C4E74D0B6D41B510B72225 /* CwlMachBadInstructionHandler.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 61200D01A1855D7920CEF835C8BE00B0 /* DispatchQueue+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = B53C46DF14DCA66C4490D6AAF143019D /* DispatchQueue+Alamofire.swift */; }; - 62D26CE7BA3AEDB4E5E87218FDCBBA90 /* Functional.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAF7346BDB24E7BFFA0D97917495C02B /* Functional.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 62F65AD8DC4F0F9610F4B8B4738EC094 /* ServerTrustPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD5376C8918D5540F732DA8F4F27C8BF /* ServerTrustPolicy.swift */; }; - 64FB01FFC4067E2DDCADFECECACE427E /* CombineLatest+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F9C7472DADB65F9513C309CC3083249 /* CombineLatest+arity.swift */; }; - 653D8530CDFFBAFF8C49CDE0164BE471 /* Zip+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 364745B4A2B2DC826269A2BFAEEABAB0 /* Zip+arity.swift */; }; - 6593C547A71CCEFC480CD578080A327F /* mach_excServer.h in Headers */ = {isa = PBXBuildFile; fileRef = A5D92A47AD6F731AB9D26F529AC70820 /* mach_excServer.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 65985C142EE8A74E6E56D5E30A39C79C /* Expectation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 966F637A113B41B67C494C7B70CD53B5 /* Expectation.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 669AE9F4397E6762B6E691A5FDF7FB4A /* Zip.swift in Sources */ = {isa = PBXBuildFile; fileRef = B19084006DE9A333682FCD48BEEC9162 /* Zip.swift */; }; - 6776642435A8737A85CAA67364A71A4A /* PrimitiveSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9618A38A1BE99355DCCDDB262F75DCC7 /* PrimitiveSequence.swift */; }; - 68FD03C72D719117929696B62038B3D7 /* NMBExpectation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9E207979BAB67CE06F62D5E6894C6CF0 /* NMBExpectation.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 69B80157634D6FAF248D37F397732357 /* CwlPreconditionTesting.h in Headers */ = {isa = PBXBuildFile; fileRef = E658C299FC4D72A220D2AC13510598A5 /* CwlPreconditionTesting.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6ABDC7D84F9D68BA1ED313DC54DB5D32 /* World+DSL.h in Headers */ = {isa = PBXBuildFile; fileRef = A4B6CB2469FD981176F63F9328272695 /* World+DSL.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6BB0EBEB4730B94AC07458E398D142C8 /* MatcherProtocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = B078AC79645C5AC826611D34C99AC651 /* MatcherProtocols.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 6BCEAE949B5F713C1F547E7B117ED688 /* JapxCodable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7E9033A4DFD9D2B13338886973253B7C /* JapxCodable.swift */; }; - 6CB4890B9BF5F846E980634AFE83917D /* NMBExceptionCapture.m in Sources */ = {isa = PBXBuildFile; fileRef = C2709D01215E240F4622813BC698E7C6 /* NMBExceptionCapture.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 6DC91DAD7DE99B02FA8CE13387372410 /* SerialDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 90009DC6A28C371D5F59D7A2C730CB9F /* SerialDisposable.swift */; }; - 6E6EBBA63E0D8A217E3280D5D74E8C26 /* Bag.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2ECA9B5908A76D8E8E708D3DED8408AE /* Bag.swift */; }; - 6F40546434B7DEF1E30ECCBE734521E5 /* Quick-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 4DE21072675A1A570C9629203BFBEE82 /* Quick-dummy.m */; }; - 7186D2E6E91BEEAAA244E32D73AD307C /* AddRef.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9C864871785D202D826BE192B6E6DE6 /* AddRef.swift */; }; - 71872152A23B40DAB124608BF05905C7 /* Pods-Japx_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = DFF492C498912CE8DE92C966FD343FD3 /* Pods-Japx_Example-dummy.m */; }; - 73B9C996AED49ED7CF8EC2A6F1738059 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34BA459FC9CCA4108DCDC867D44E9F4D /* Foundation.framework */; }; - 73BC5AC2ECDB8722E085F14B53E0D24E /* AssertionRecorder.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECA0A787B2C67EF97CE9C3A861052AB3 /* AssertionRecorder.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 73E13207C17958D8631A45D4137633AA /* Pods-Japx_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 1735312D340D5865D497D65007E2AED0 /* Pods-Japx_Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 75538A8B20C7A20AF3D54BBF35D56FFE /* BeLessThanOrEqual.swift in Sources */ = {isa = PBXBuildFile; fileRef = 038C19ABD182805E8DFE584C76872123 /* BeLessThanOrEqual.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 75ABB48E3C30C2D736C3D05D6FD566A8 /* BeNil.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9BE0E397766E5B068862902E5D30355D /* BeNil.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 76596645880DA056F47FF06E38E7AC6A /* Concat.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7D3C5987BE3BDCC72FD32C7F4D8DF819 /* Concat.swift */; }; - 7868DE7A35832B799AFBC727C9FE8D51 /* RecursiveScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA6A52839726EFA8E8063838EFBCF436 /* RecursiveScheduler.swift */; }; - 794F81613E4F047F94BB56FFC6C05D8B /* ErrorUtility.swift in Sources */ = {isa = PBXBuildFile; fileRef = 287F8AEE013462052FC021EAE107A568 /* ErrorUtility.swift */; }; - 797330196DFE589E6180CA11B6A8E69A /* Repeat.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0B7E93815BEBBD07BF13E76FAE786384 /* Repeat.swift */; }; - 79B86458FAFAF2653FCA6AF3DB271B29 /* Disposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54821BB42904E50A738AAD0388C077D4 /* Disposable.swift */; }; - 7B5222991D1C53DF737242CA6C90012C /* CwlCatchException.m in Sources */ = {isa = PBXBuildFile; fileRef = 2AF6CB3C3D3757A5747C75C1D11E5877 /* CwlCatchException.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 7B5FE28C7EA4122B0598738E54DBEBD8 /* SessionDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A9EA5C9CE41A2599527B641A7C5ED86 /* SessionDelegate.swift */; }; - 7D8CC01E8C9EFFF9F4D65406CDE0AB66 /* Result.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4445D2D3E1C06EBB9D3A819D2BFF5474 /* Result.swift */; }; - 7E0C9AE6468A5DF91F0F4C7A387D725C /* BeAKindOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = A247A29FF4347852A9A2613EE7400AA5 /* BeAKindOf.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 810E26F8B53D8EBA916AB96B6F4159AC /* ReplaySubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0B3EC680002145D1CA5CA6F871A22BDE /* ReplaySubject.swift */; }; - 8170866E2ACE0ACFBC6D90081354EC65 /* Stringers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 118E9674AD142D35AB824A19F89F92BE /* Stringers.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 828AA008CA716044EA663B2D72B30432 /* InfiniteSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 00523230D0263E1914B5D6E9D9D02482 /* InfiniteSequence.swift */; }; - 829D885741495B1ED6B240970410DE78 /* RxSwift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = C96045075372EA4A6962ECCE19045740 /* RxSwift-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 857E1DD1EA520D0E59676D8B8045BC45 /* ConnectableObservableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71662F638FB767799CAF66059B8D107A /* ConnectableObservableType.swift */; }; - 85977D9A458101685D30FC45954C967B /* ExampleMetadata.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DD1EC05FD9E349BE69440E9C652EFBA /* ExampleMetadata.swift */; }; - 85D75914CC935D36088315E1613A0F79 /* RxMutableBox.swift in Sources */ = {isa = PBXBuildFile; fileRef = E04F146F81D16880229387978333686D /* RxMutableBox.swift */; }; - 8A05E9F812EE0D23E550BB4555CAA6EC /* AnyObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 47428B5639FBDEBDA304B0CA654EB5BB /* AnyObserver.swift */; }; - 8B55BD430033027AD5FF22D630DD9F62 /* DSL.m in Sources */ = {isa = PBXBuildFile; fileRef = CD2BCDD8EFD286EAF5C64EB115106BCC /* DSL.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 8B7D42BBA63A5828D02D81F271BC5D6E /* RefCountDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 199E32C7CFC03F19441EAC1863FA61E4 /* RefCountDisposable.swift */; }; - 8D327DB8A64D5514859560006569F7AB /* Bag+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 324CA97B04AA87FF722CECE6992D6245 /* Bag+Rx.swift */; }; - 8D371A6D63C4756429C4E7381D2806ED /* MainScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 115D2AF64BD603B587662B7B665AC826 /* MainScheduler.swift */; }; - 8E51F8D33DB227AA370B7636C402CF10 /* HistoricalScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = E116481BA77E9D871A8266744F0DD8A8 /* HistoricalScheduler.swift */; }; - 902FACEEEB0B9A3CAF32DE6D385AAD5B /* Sequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 074CFE3CD2E45B7561678C97A0518927 /* Sequence.swift */; }; - 90F30B4B4F6E7CC4F7CE28BF8C42153A /* Map.swift in Sources */ = {isa = PBXBuildFile; fileRef = A6B2FF1D56719B0E1299CC841A0E0A3C /* Map.swift */; }; - 91791C67448D3C44336F39BF03DF4441 /* LockOwnerType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9AC93DCA520633F99CF846C3841E6283 /* LockOwnerType.swift */; }; - 940A0432A04492ADD2B578E45442FE7C /* RxSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F0130BAA2EA3D9380B9FC134CF67413A /* RxSwift.framework */; }; - 94F14CBD8570A8907BE19C2379C47B9A /* Take.swift in Sources */ = {isa = PBXBuildFile; fileRef = C062B0A66219161792147C4AB804AA09 /* Take.swift */; }; - 951F595EEA5078B6F328B79993817440 /* OperationQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73A3DB43F08D1F1130C8C47606C75BFC /* OperationQueueScheduler.swift */; }; - 957B5728A0F37AC62E767E3F6C95C6D0 /* World.h in Headers */ = {isa = PBXBuildFile; fileRef = 5249FD117E6411CC9CCD18D2D2740AD6 /* World.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 959D6AF56E548C02B57D18463A022C68 /* Producer.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8C4A95655D2F368D8ACFB28CC41D040 /* Producer.swift */; }; - 96132E7432F8DD315A88A07C6B4F9C72 /* NMBStringify.h in Headers */ = {isa = PBXBuildFile; fileRef = 727B1E9DD3434B19FCE08F90D7A87546 /* NMBStringify.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9622C744A62A2876DF2C4396F3C9F2F8 /* Throttle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9787FD32D4F56CE298741D1362BA125D /* Throttle.swift */; }; - 96ACA92879959C423898B5325FE582C7 /* Cancelable.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFEA1F5BC5C4B657FECED953BEDC0890 /* Cancelable.swift */; }; - 988EED125395950177DC14AF9BC87D8D /* HaveCount.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04D61A3BA08BE6CF90D507C5BD9C0724 /* HaveCount.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 9926DCB06D955AA56554DC3487F53FEA /* Event.swift in Sources */ = {isa = PBXBuildFile; fileRef = 10025FCA582FE116474572162EBE0908 /* Event.swift */; }; - 9ABDB43306A8DBC2A34E0A9FD32B3C1E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34BA459FC9CCA4108DCDC867D44E9F4D /* Foundation.framework */; }; - 9B627FDFC6E6E0240B2B583D64C8F3BB /* Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 960FF17E70FD45843714BBEA27709973 /* Configuration.swift */; }; - 9B73EDBA1A0F74D797889C2E01507B10 /* SerialDispatchQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4C9A123966D165DBE13B25BA9CA3C1C /* SerialDispatchQueueScheduler.swift */; }; - 9CB7E13278AE9D30759F2AB01F54184A /* Range.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C4A6F1FA192EE0F2DABD350DDF97D1A /* Range.swift */; }; - 9E5AF9C843323BC0FB82DD735753F15F /* Do.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB16EF5E0D01210DEB2D59DCE35D6932 /* Do.swift */; }; - 9ED2BB2981896E0A39EFA365503F58CE /* AFError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 268E9C65DD45A2A09E30A60FAC728E8F /* AFError.swift */; }; - 9F3671AFFB163B673AFB3E3A03385277 /* Filter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2CAC9260E9F45CB6F2433F2D4B40629B /* Filter.swift */; }; - 9F87A7414D53181E39F3001F2D2D6166 /* BooleanDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = B11A64B8ED98B96B41BB72FDF55A7DA2 /* BooleanDisposable.swift */; }; - A24DD414D6A3DD5B9513C73E32BC46BD /* ScheduledItemType.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAF3EACF0170114AF88CA3841AC3F06D /* ScheduledItemType.swift */; }; - A271C6A95D236C09243EE42B25045F5A /* QuickTestSuite.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF973934E6FC71710A761CE16268D732 /* QuickTestSuite.swift */; }; - A272932A4DF9AC2D3B0A21AC70606F6D /* CwlBadInstructionException.swift in Sources */ = {isa = PBXBuildFile; fileRef = 971B0E7A8670959665C1E6E99A9E787C /* CwlBadInstructionException.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - A2A6F71B727312BD45CC7A4AAD7B0AB7 /* NetworkReachabilityManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = F162334FB6259B64BA846AD0374740B5 /* NetworkReachabilityManager.swift */; }; - A2D8C67B37388B44F088E68840C26465 /* Errors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A507EFB75564F8147DF105B71812B81 /* Errors.swift */; }; - A2EA51C5E3CC10E8C7DD458AF934631E /* SubscribeOn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 249BC1E14888C1258B92083FE3822344 /* SubscribeOn.swift */; }; - A363102C0F9B03CF4B92AE12B4F598AD /* SingleAssignmentDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32CE93F156699EF82D4255180FCFA9F5 /* SingleAssignmentDisposable.swift */; }; - A61ADD214AA182EEB2AC95EA3F3D658F /* XCTestObservationCenter+Register.m in Sources */ = {isa = PBXBuildFile; fileRef = FA274B46D2EBAD17A575F2478C7221F9 /* XCTestObservationCenter+Register.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - A74537420FF0CEDC6B9E82E1DC4C2B15 /* Contain.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1697CA59BF8706A7A9A3FC53CE5B7FA /* Contain.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - A7C13C62E4116CA964A3E82179092AD5 /* NMBObjCMatcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F67E2A9AA84A27111CAB918C938A8E7 /* NMBObjCMatcher.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - A994EF6983D9936454BF832A923345CF /* QuickSpecBase.m in Sources */ = {isa = PBXBuildFile; fileRef = E11A2A69662571C92BE8A0CAE1ABBD5E /* QuickSpecBase.m */; }; - A9EEEA7477981DEEBC72432DE9990A4B /* Alamofire-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 9933303CE4E32D02AC2C5FC47D282D70 /* Alamofire-dummy.m */; }; - AAA2830BBCD86431B3EEB0ED968DF4A3 /* CwlCatchException.h in Headers */ = {isa = PBXBuildFile; fileRef = 697005094FD61AC8662B6EB6E9DEA33E /* CwlCatchException.h */; settings = {ATTRIBUTES = (Public, ); }; }; - AAAE98292178D7CF4197DFE6B3B50D01 /* SkipUntil.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1330A538B316793D311A8FC360B62C6D /* SkipUntil.swift */; }; - AC31922F5E006B39540686F5C0434FDE /* Disposables.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4FBFB8FE0C62CB6CC9078D8760AD62D6 /* Disposables.swift */; }; - ADE2227DB8D7EB883B73BD1C7BBCA26E /* Closures.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87CB365772D4AB4BAC4F276BABBF0FA7 /* Closures.swift */; }; - ADEE95A3A188BE3095990E20766BCCC8 /* DSL+Wait.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C5C0F64D55EED2EE62AFC634A6FB91A /* DSL+Wait.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - AE171B0E7C546CA50DB66F6762478821 /* Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6974958B3C17E278FF09E0A95E1502A6 /* Deprecated.swift */; }; - AE1EF48399533730D0066E04B22CA2D6 /* SessionManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = FE5E0D2D2D91A09279998E5F15170B75 /* SessionManager.swift */; }; - AE442FC332084E3A259A0BEF01B4ADAF /* RxSwift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 458ECD6884289595A3107155F5BE1F5C /* RxSwift-dummy.m */; }; - AE4DA49ECD693BF384CD824DF02D7C6E /* NMBStringify.m in Sources */ = {isa = PBXBuildFile; fileRef = 437B2E076FDA4C55BD47576B3B9226FA /* NMBStringify.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - AF1174085D9BC5D50FCE0480E9C2BE94 /* BeGreaterThan.swift in Sources */ = {isa = PBXBuildFile; fileRef = C22B723860B9CB0C9F3F2E1FD07CAC91 /* BeGreaterThan.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - AFE54E8B773F1A0FD5308A078C8DDF52 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34BA459FC9CCA4108DCDC867D44E9F4D /* Foundation.framework */; }; - B033AB26579793E45D4384749ADABC2B /* URL+FileName.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0154895DF07E6B30F910888318E4F0AD /* URL+FileName.swift */; }; - B08EB320A4FF01C8527DBB30071B99EF /* DistinctUntilChanged.swift in Sources */ = {isa = PBXBuildFile; fileRef = 97C8EBD03BDE0C5FA71C0EFA8FB0BC69 /* DistinctUntilChanged.swift */; }; - B0A4B4E500282DAEF9EB00F10001431F /* NSBundle+CurrentTestBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50068E6E8FBE7B01CCF0E7931673F5D7 /* NSBundle+CurrentTestBundle.swift */; }; - B102ABE4E54B71B3D2C2118E2782FAB9 /* BeLessThan.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7D3D90744BD570D6FC6EDBABA5E21172 /* BeLessThan.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - B1D70E190E659D6E8442D07FA35933B8 /* CombineLatest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9417B252A87A2766CE78F456B40F0F0E /* CombineLatest.swift */; }; - B2C151B20635A480E1937E3D2B509BB4 /* Async.swift in Sources */ = {isa = PBXBuildFile; fileRef = 846F8D8FACA6C6088F86171D07229A76 /* Async.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - B476DB4275D496BCE15146A7E6D5CB14 /* Platform.Linux.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C31A9C55AAAA02E782DD2DDF26AE45C /* Platform.Linux.swift */; }; - B49C8B7F70E4A3D293C4F8CFC7E7555F /* SkipWhile.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADDF541BFFF4BC0BBF315FB2200E0E1A /* SkipWhile.swift */; }; - B65FCF589DA398C3EFE0128064E510EC /* MultipartFormData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A0255F4BDEB13C57743F341515828CD /* MultipartFormData.swift */; }; - B6D1F1CD0D2578ECBDD6A349DA585A48 /* SwiftSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 682B065B025D559DF4971BC66D3AE1F1 /* SwiftSupport.swift */; }; - B72D88FD1BC8A769ED31F1EAD8E385B7 /* Quick-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AD993A2A11D6A52D4D8CA71AF40A388 /* Quick-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B797B9ED5B378E2B0945507C9E9468AF /* DefaultIfEmpty.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2D649083D03ECAE83EA157EE95428C9 /* DefaultIfEmpty.swift */; }; - B8891CBD25CF106F270F3A1BA47CB568 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9755D95591A6CE47328DB68A733307C0 /* XCTest.framework */; }; - B92F782FA6C9F7C89A2A74F8F15D640F /* ExampleGroup.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6FB19C2E0495662C1CA7CBEA098BB9E2 /* ExampleGroup.swift */; }; - B9C590A0348902ED7FC5DFC07AD3AA46 /* DelaySubscription.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1AEF9222AAA8E0733D95C8D6B55CF4C4 /* DelaySubscription.swift */; }; - BBEFE2F9CEB73DC7BD97FFA66A0D9D4F /* Validation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E7CA6C84587D7F4B6787197088C3E6D /* Validation.swift */; }; - BC7B9761322C74FA27969BD55833BA47 /* Errors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B232D2C999B17D8228B3AB2B2DDB7E9 /* Errors.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - BE5C67A07E289FE1F9BE27335B159997 /* ParameterEncoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0F3A051D1F47EDE746E2A7E27DDECD04 /* ParameterEncoding.swift */; }; - BF3B7218901760A6226C7F6346BEF454 /* BeCloseTo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 44EBC51E25E78405384286FF0D732206 /* BeCloseTo.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - BF5109DAFE870E9EB4A2B6BE26DD9847 /* JapxCodableAlamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C66CE912DD6988E3CDFFC40979A1805 /* JapxCodableAlamofire.swift */; }; - C06FA100C1BBEE34B863BCB8A65359C1 /* MatcherFunc.swift in Sources */ = {isa = PBXBuildFile; fileRef = 798503352437186E021492F2E1529571 /* MatcherFunc.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - C134AE854AC90B47FB84AED8F8189578 /* SingleAsync.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17E42F780B018765E8895A4757AE99B7 /* SingleAsync.swift */; }; - C1D862177DC2999FAC710AC25F253BD0 /* BeAnInstanceOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8600EE331791E5534B0600EBDF838BB /* BeAnInstanceOf.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - C22544C6A47EEF9E3FFFCF9748259E36 /* InvocableScheduledItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14CC75C42A789023A911BA311F90AC07 /* InvocableScheduledItem.swift */; }; - C2467221FCD579800B9CD8FBBDB10B4D /* CwlCatchBadInstruction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3FA61843B4ED051E444D708685226773 /* CwlCatchBadInstruction.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - C2D66184014A595D491F95B274DFC93C /* InvocableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = B81FAC0C845B1B71D26621E12E7CD2C7 /* InvocableType.swift */; }; - C2E166BE59A45C16D6A0E2F081C765A0 /* ObservableType+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C57122A997A35A6219DFFC7E9BEA64F /* ObservableType+Extensions.swift */; }; - C3589761599DB33E2BB68468B2612A08 /* Example.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ACC4749EA0948D58B108FDF7F64721E /* Example.swift */; }; - C461BEAAB1389F4E969C3E57FC0D47A0 /* NSString+C99ExtendedIdentifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7BFC4B71347026DF6B17A06DF1A56FEA /* NSString+C99ExtendedIdentifier.swift */; }; - C5EA114ACFA4BD269477B40BFEF5857D /* SynchronizedDisposeType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 067A78E146F046EEED509D030588A248 /* SynchronizedDisposeType.swift */; }; - C6D529ED0450EE769BC7C07BEAF3B6BF /* AsMaybe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5ADC9D134A9FB7A2B97360F96081BB5F /* AsMaybe.swift */; }; - C7CAA21C769F1FD5C81EA8B28A7C643D /* Platform.Darwin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DA92B3C094355E7C0F2DD2A6712F5D8 /* Platform.Darwin.swift */; }; - C8131835BAB022AFA58FC4BBC3488B3F /* QuickSelectedTestSuiteBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = C5FD88C5978C7AF5D39A28415385C2F6 /* QuickSelectedTestSuiteBuilder.swift */; }; - C8320A6164C870ADDB8A855ADEBBBDC9 /* Equal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A888DD7166830ADB9331E9A49069259 /* Equal.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - CB6D60925223897FFA2662667DF83E8A /* Response.swift in Sources */ = {isa = PBXBuildFile; fileRef = 47B871B3CAED2808EDE55AB0AEE37093 /* Response.swift */; }; - CCDAF11E7AF29E720C587B038145F622 /* BeginWith.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D391DC86DCA48185A622775944706C6 /* BeginWith.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - CF55697859D633C852C3586384647EB6 /* NimbleXCTestHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18BA2207C4CD41EBF48FC00ABBBFBE2E /* NimbleXCTestHandler.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - D102DB616A5E0D548B990A0ABEC79C36 /* Deferred.swift in Sources */ = {isa = PBXBuildFile; fileRef = EFC3965AA3B1848FD041D2AD7FF437AD /* Deferred.swift */; }; - D11F504731B4E8893BE93AF5870CC6A1 /* DisposeBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29882C9887010BB260EBA8CB15F720B3 /* DisposeBase.swift */; }; - D2EC0E3D6A523B6CEE890BAE0C1A1959 /* QCKDSL.m in Sources */ = {isa = PBXBuildFile; fileRef = 0F5589B275C5F60829B3701EB3CA7DE2 /* QCKDSL.m */; }; - D48CF982DF62E1E2F67C0F95B52D5CD1 /* QCKDSL.h in Headers */ = {isa = PBXBuildFile; fileRef = 21F560EF55C7D8C17CCE9EA6758740EE /* QCKDSL.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D5BD67B0F4C932E0A37C61E65D4EA43D /* TakeWhile.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B98085EA95080D58651A79EABD8C0BD /* TakeWhile.swift */; }; - D6057791701181C2937D9C3A4F5F9061 /* HistoricalSchedulerTimeConverter.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5B412B85883B95D580DF16976B84CC7 /* HistoricalSchedulerTimeConverter.swift */; }; - D671F40683BC521D417947E5FB045E12 /* Filter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B0CF9B3E3B805E2577C267913985B36 /* Filter.swift */; }; - D67378D88A2EB83B66EB177C7FA588A6 /* Buffer.swift in Sources */ = {isa = PBXBuildFile; fileRef = C7187A72208E6393A69E2B9E2E8DAC7D /* Buffer.swift */; }; - D775A71F0A3EA5DF255E4AA78E8BC332 /* ImmediateSchedulerType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 90315A8C49392ACA3BDD49C010911FB6 /* ImmediateSchedulerType.swift */; }; - D944B27BA96EDC31A875750C20CEE4D7 /* First.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8722C45C9C02A6DDDF854067A875A04 /* First.swift */; }; - D9E62C41794D0B5D2CD68CA92C4BA836 /* mach_excServer.c in Sources */ = {isa = PBXBuildFile; fileRef = CEAF9FAA7B171C3D0B085B650C71B425 /* mach_excServer.c */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - DBA9D13485E410E6FF45070E7802F9F5 /* DisposeBag.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A4BFF354997AE420A769E6E96AEF7A0 /* DisposeBag.swift */; }; - DC1FCF0AB8C347D53010190BED7F6C3C /* VirtualTimeScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C2BE0FCF915519EDB81B9010D190509 /* VirtualTimeScheduler.swift */; }; - DD3575513C45BB40B134540DB757C67E /* Callsite.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB8E4929B630CD353DDB3A13FD7E6370 /* Callsite.swift */; }; - DEBBC77AE4A9DAA7E3EFAF6899195DEE /* TailRecursiveSink.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D463CDC43BD9759CA0383B258DE9801 /* TailRecursiveSink.swift */; }; - DEECCF6F51E0E2F5EE42135C29337183 /* ObservableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 037773F08922DAA566B17C49EAE78648 /* ObservableType.swift */; }; - DF026F6F406A4FB6CEA63B0A4B9E27DD /* AllPass.swift in Sources */ = {isa = PBXBuildFile; fileRef = C5E3BE18018C4BF55656762D618EF6BD /* AllPass.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - E094F13F654E9683E9BD78BD4CBC6083 /* NopDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = AFA4959C2E495AF4582D368D0EE7DFCB /* NopDisposable.swift */; }; - E331CB85D97C0B837FD66B4FDC112242 /* Dematerialize.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1876A5676EA428369212FEC44959AA55 /* Dematerialize.swift */; }; - E35D3CC75814A5907C59296480648C23 /* ShareReplayScope.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFC1DCFB80C5D8A90D9FC51279DE0553 /* ShareReplayScope.swift */; }; - E49C97A82EA15BECFE26A8845CB991B8 /* QuickSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = F3A18B76F9534F5B7DC2F39928E4C70E /* QuickSpec.m */; }; - E4F523C0C195E1EB64E381492B877F9E /* ScheduledItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8BB1BC87779E2F49D1309AC46EE06AAA /* ScheduledItem.swift */; }; - E8B323BE9104F97993D4017B50193E3F /* Japx-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = A645920F4CBD2366A30DD1E41DD3416C /* Japx-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EA66CA7C67B005FEFCF3040941AC6ACC /* Enumerated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C7C371FDC4AF3477CDE33E2976A4520 /* Enumerated.swift */; }; - EAAA05EBBC34225C0DB45797712E24A1 /* AsyncMatcherWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 751BFBAC89F1C4D240E927CE00D3E572 /* AsyncMatcherWrapper.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - EAE2AAE5EB826B38978692984BB22FDD /* RaisesException.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7D75DCB847C7B5310C4AFE3A8D41846E /* RaisesException.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - EAF2C7BCC7DE2CBC70C76D7E5D2FF7F2 /* SynchronizedOnType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 667088F20DA4DA9BD670F13532D877A0 /* SynchronizedOnType.swift */; }; - EB0CED6E5817E02DAA197C736961342B /* Behavior.swift in Sources */ = {isa = PBXBuildFile; fileRef = 81EB6960202A0523E2FA7F40638354A1 /* Behavior.swift */; }; - EB3A73071ABA60E77E0704649637D8BD /* SatisfyAnyOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30C2C1C92381EDF6290FE7FE231B5878 /* SatisfyAnyOf.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - EC99D94DD7AA9C33D3D4E310D1BB5874 /* Using.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C39CEBD744C1A9180438DD8B9D960DF /* Using.swift */; }; - ECFEF9DE2BC5D248FA8A323BA1F1D411 /* ConcurrentDispatchQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 903A18F62D9865F6ED5F9CA1BE50C4A8 /* ConcurrentDispatchQueueScheduler.swift */; }; - EF48111215AE0086A668D8EB1BB2B9E6 /* Japx-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = EE10D6AFDF891C305E89BC3D25F629DE /* Japx-dummy.m */; }; - EF8548E0C37E8888D9DDC11ED89D3568 /* Predicate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9AF01413E6EEE4279CCA07D29785E7DE /* Predicate.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - EFD264FC408EBF3BA2528E70B08DDD94 /* Notifications.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC483F4F3665705DC364550807515527 /* Notifications.swift */; }; - F134BEB057CEF003ACB2CA961647DED9 /* World+DSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0066A524B7EC6E8D33FFB87B06696AB0 /* World+DSL.swift */; }; - F28003B228B82B7E1497D4F41F55A31E /* Match.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71E840C6F4C203668391A3CED393AB13 /* Match.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - F2FD612EF3768E0BE050E5604E253207 /* SuiteHooks.swift in Sources */ = {isa = PBXBuildFile; fileRef = D326CAF5CC696D74701D8222B844D231 /* SuiteHooks.swift */; }; - F3A248145C9C6C7D1754543B665457D9 /* TakeUntil.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9946F45C2E4D761E36FA644D176B67EC /* TakeUntil.swift */; }; - F3BAA36614ABDBC0538B0DEA99CF80A0 /* SourceLocation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19FD1C8E394C68AEDE4E45F943B5AFC3 /* SourceLocation.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - F4BD249C60F21F5E0F7C1FAC8A5BC2AF /* BeIdenticalTo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4890B059FA97D8A32DD1EA3B8AB293B5 /* BeIdenticalTo.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - F62C928597E99BBDB9E7C78EC077D8A7 /* BehaviorSubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87218742C41108C1125E87CF1BF2636E /* BehaviorSubject.swift */; }; - F6BECD98B97CBFEBE2C96F0E9E72A6C0 /* ResponseSerialization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C0CE75D766D6CE10B287AED5F0B1045 /* ResponseSerialization.swift */; }; - F73689E33FBF48B41C32B0893A6E50F4 /* ObserverBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = FE5403035B2D6CB8870191A70F85D360 /* ObserverBase.swift */; }; - F74A8AC6A87E689F98B0595D561F31CD /* DispatchQueue+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = F74E3D28F387A1D8B8BF7D41ED5DA29C /* DispatchQueue+Extensions.swift */; }; - F77BA5C2B1ECA662BF4DEBAC13E3A331 /* SubscriptionDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7275D8608A3EF9F362876206E7113B2D /* SubscriptionDisposable.swift */; }; - F8B3D3092ED0417E8CDF32033F6122F5 /* Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE7E03418757851DD548577EFB22344C /* Alamofire.swift */; }; - F8E9792F6D806B71DFC72B3C9EB351C5 /* Switch.swift in Sources */ = {isa = PBXBuildFile; fileRef = CF34597E0B31A3DEA59EB05510D557A1 /* Switch.swift */; }; - F94E208C95820CCFFAFA01833B242A8C /* HooksPhase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A771BDF71AC5E2C1440AAE33D0C153C /* HooksPhase.swift */; }; - F9649DD59BAEE88C6864EEFE73ECA88C /* AdapterProtocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8836E9F02ED6A7274EABF58918D0E55F /* AdapterProtocols.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - F98D10F55E5FD9D31A1EC8345DC6E553 /* Debounce.swift in Sources */ = {isa = PBXBuildFile; fileRef = 542F6846F3B4D9B107C65A547EFBFC9E /* Debounce.swift */; }; - F9CB9B51DAAEBAC7FF06C2A6864ABCF2 /* World.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1CA87CD664CB9BDCA1ADF0D8CB02FA5 /* World.swift */; }; - FA69D3C39DFF99FE0EE0E83C574A6980 /* BinaryDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65701D077A3072AFBA3AD2905F111FA5 /* BinaryDisposable.swift */; }; - FB433A84B0A557CD5E5948A8B6705024 /* DSL.h in Headers */ = {isa = PBXBuildFile; fileRef = EA1F5791D0EF9C2CA66F3494164EE1B0 /* DSL.h */; settings = {ATTRIBUTES = (Public, ); }; }; - FB66B164FF45C3F575AA1D4ADAA2A0C7 /* Multicast.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20FA1C6050DE20DDD68D96F9375367F6 /* Multicast.swift */; }; - FBFBB592D558862901E0ED96519DE093 /* WithLatestFrom.swift in Sources */ = {isa = PBXBuildFile; fileRef = 91BAE8AC939D90CBD1FE62D3DB93F983 /* WithLatestFrom.swift */; }; - FC690632910AD300D50E6904B3E3B6B2 /* PrimitiveSequence+Zip+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = B084AE800D01363F8437DB00D433C868 /* PrimitiveSequence+Zip+arity.swift */; }; - FE14365F80A945F899EC2B6097CC9A0F /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34BA459FC9CCA4108DCDC867D44E9F4D /* Foundation.framework */; }; - FF2A984586464F917E01118863FB1F72 /* AsSingle.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE5BC35CCEF5C4390E8514B0AB4AB8E3 /* AsSingle.swift */; }; - FF7C3B7246BE5812EF16DC29F40854C6 /* SynchronizedUnsubscribeType.swift in Sources */ = {isa = PBXBuildFile; fileRef = E3C94665B290279B87070CBA20D47DE8 /* SynchronizedUnsubscribeType.swift */; }; + 00399A52C2004ED7BEBAA1C74EDA3842 /* Event.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F5D8632CEB38209515FD063603B1D4C /* Event.swift */; }; + 033D85268EC28FE56BFEA6B6A3E38B9E /* AsyncSubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0F213C703816302C1FC519CA44E89B09 /* AsyncSubject.swift */; }; + 03B16140A9D42C7FA905BD8B677F4816 /* Filter.swift in Sources */ = {isa = PBXBuildFile; fileRef = E5D4CA34718DC2189C79903261ABE6F7 /* Filter.swift */; }; + 058189B37AE7AA319D0E881CC8C1C121 /* CombineLatest.swift in Sources */ = {isa = PBXBuildFile; fileRef = C5CB837EA3E20EDFE8F0A814318C592F /* CombineLatest.swift */; }; + 061F49032EB6748C81D28AFD85E5CC01 /* ConcurrentMainScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52E3637A7FBA41E48F0B6045E0B07906 /* ConcurrentMainScheduler.swift */; }; + 062B3A93EF3144CE5DBB45FA051DD71B /* Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E1A0E353BC410A6D98F94B6D541D5EB /* Deprecated.swift */; }; + 066DAD935262A89E48C3917E7A6A0187 /* ObservableConvertibleType.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1BD1141524C70A09B6975944A31E206 /* ObservableConvertibleType.swift */; }; + 0742BA126D692B382DDDC526346F2E7F /* Pods-Japx_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 73C6432511FFB3FED30C271FE37AA8FA /* Pods-Japx_Example-dummy.m */; }; + 07D630C4426F73B48712A79DB54D2547 /* SkipWhile.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5418677511097E9E8B99938A890158EE /* SkipWhile.swift */; }; + 080DE6ED33F6AC8412AF51859CCDA1E9 /* Pods-Japx_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 5DA43DCB2628FC69F59B550812E314A9 /* Pods-Japx_Tests-dummy.m */; }; + 08FF9F6BA7779D2074678192CC5D4A9F /* MultipartFormData.swift in Sources */ = {isa = PBXBuildFile; fileRef = E747D4622461BFF7BB7CAF95CEADC5F6 /* MultipartFormData.swift */; }; + 0A2CA8B0DD7E300ABFCF1956E6B58248 /* Nimble.h in Headers */ = {isa = PBXBuildFile; fileRef = 50823C91FA794B750723BED19AF1C573 /* Nimble.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0A7C994DA0DEE76ED36A8B17CC678F0B /* Task.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A85F3A2C53FDBE2027E3973F47BB50A /* Task.swift */; }; + 0A9C175F00C8A943716870C3987011F1 /* Scan.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75CE69E4D485E98BBE509E99DB93E556 /* Scan.swift */; }; + 0AF15569EA481C082884687D13CA410C /* QuickSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 0DC84A417ACBE762363F0A79E13561E5 /* QuickSpec.m */; }; + 0D3F4575D79584C2E9EFCB37DF7A16A2 /* MoyaProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2587973419AEA476D3224FC601607861 /* MoyaProvider.swift */; }; + 0F2FDD90D7259F9A7676C727651527C4 /* Reactive.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9AB89DEAE45B8EC70AE1F4B827F7C35A /* Reactive.swift */; }; + 10EB23E9ECC4B33E16933BB1EA560B6A /* Timeline.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88A33BF60AAAD283385D9E613AC49004 /* Timeline.swift */; }; + 111E39C8BED962618189BE0C330D4CAA /* Take.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13141CB56E3AC3D2D5DBE7087963EA53 /* Take.swift */; }; + 12113A29B6660ED4BA7E56B0EBB58E78 /* RxSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F915CBFCBBEB88CBCC7D93015D584DFE /* RxSwift.framework */; }; + 128B7DF04DC86C5A823F357D479B9B06 /* SynchronizedUnsubscribeType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9FD2B04636FD8803B7C42CD278281DD3 /* SynchronizedUnsubscribeType.swift */; }; + 12A4CDDC58AA23F6309962776033B2CC /* AnonymousDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D4FE39442B46A76DBC1580B7FA1C80B /* AnonymousDisposable.swift */; }; + 12B07B28799F639DF798E2651F6E93B5 /* LockOwnerType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7FC5E77303F2A8A7D20D3038E50B44D3 /* LockOwnerType.swift */; }; + 13134BF8466F37A134FAEBF98F1F73F7 /* GroupBy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60BDCE900A35953A9EB19E27537674E3 /* GroupBy.swift */; }; + 132645B88A8337AE39E2466EE1137FEB /* Zip+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42EA6F1225D5D70E75E262AE656ABF6A /* Zip+arity.swift */; }; + 13D0CD4BB54DFDC748B636A7D67B2AC3 /* PublishSubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A4B837D91836C3DA9A18CCFB1C3C851 /* PublishSubject.swift */; }; + 140C3FDCEEC03854A158994DE9E0D10E /* Result-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 2704AA557DFC396D7E21F5EBA985FD57 /* Result-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 14741FC5510E61F4D634666F668FFE43 /* ScheduledItemType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 274159699B983A005F3218012B42ABE2 /* ScheduledItemType.swift */; }; + 148DD528E0E1CD9EB056AD94C8043266 /* Do.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F0A29B7B6FD4B435A5E9296B9C6BED4 /* Do.swift */; }; + 14E1FC9ADEA2CE1C4D030E639CEAC3DC /* ImmediateSchedulerType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B69BACF70D824B6402090896888B9D1 /* ImmediateSchedulerType.swift */; }; + 1623D0EB0A811D4822FAFB35D2049B68 /* Endpoint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5171F2FC35EE544F7DAB4297F867EBAE /* Endpoint.swift */; }; + 17C8EE7DF3F57C8F99EAF63C6E61EA99 /* FailureMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CB4427395C8F1E6BCF2644B2414040F /* FailureMessage.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 1908012CBEC7D35936295E7D7A29FA4F /* SerialDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64AC852CBD8F6B93AA83249DA23DE0EE /* SerialDisposable.swift */; }; + 19A573A8F0F4223CB3A44F82A6A61B5C /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD602B190FB54A88B2CF444F113337BE /* Foundation.framework */; }; + 19A8657AE20531A00E4535550609B7DE /* QuickSpecBase.m in Sources */ = {isa = PBXBuildFile; fileRef = D897CC94A15C3535F821F5C491CAE35E /* QuickSpecBase.m */; }; + 1A3E19B9F5EEB773C3BB61CA42F8BF62 /* DSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4197071D08DC9739C4E00693278BA20A /* DSL.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 1A47531AAFC65C791875C14FA8D07700 /* SchedulerServices+Emulation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9074236AF6317394DD5E0FF7290DB64E /* SchedulerServices+Emulation.swift */; }; + 1A63734641579C3F753D817DEE3A51C4 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD602B190FB54A88B2CF444F113337BE /* Foundation.framework */; }; + 1AA2A882C339A2B1EC4BD1D2FBB81C0A /* HistoricalSchedulerTimeConverter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A088D498C2679127BD45775A6FEBEFA /* HistoricalSchedulerTimeConverter.swift */; }; + 1B16005006B0E13FCF85C92B5FC6F73A /* ObserverType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E6C3EF54AA8B4D50C8D623A404E836C /* ObserverType.swift */; }; + 1B9EDEDC964E6B08F78920B4F4B9DB84 /* Alamofire-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = F0B4F2534BD345C1DCFA63E6B7B0B8FC /* Alamofire-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1D90C5685BBD6A1CA2AF238218218C9B /* MoyaProvider+Defaults.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EEA8869D65812DF81AD7E3B17F2F633 /* MoyaProvider+Defaults.swift */; }; + 1DD0382ED1DA408607C5D6FED3B37846 /* NopDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4FE63B2FB004FBD0C62F30A29844A818 /* NopDisposable.swift */; }; + 1E1CE28FFCCD7499620B47C910E9B9E9 /* BeLogical.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20977FE7BE5109842DA8652999F4352F /* BeLogical.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 1F04F44B961E9CF42B78B095D12494D4 /* SuiteHooks.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAECF7493900D53E23E6884FA68FF9E1 /* SuiteHooks.swift */; }; + 1F404E631988DB77A576B6DAA68696BA /* QuickConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = CE1E507505B8B14448ABB5913BC081E9 /* QuickConfiguration.m */; }; + 1F9EA5959B58B8FD10145E3B3E432523 /* Deferred.swift in Sources */ = {isa = PBXBuildFile; fileRef = 522750AB4BEE587938EB8617D63BBAF7 /* Deferred.swift */; }; + 20CB24B8F02EC24E2E1250E3E4EAD6D0 /* RxSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F915CBFCBBEB88CBCC7D93015D584DFE /* RxSwift.framework */; }; + 21BAE4B3A56019422D329632CF672738 /* Japx-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C02D605C111C05258C581CB47DD77E6 /* Japx-dummy.m */; }; + 222AB7EC7AE93BD9EF6A544952BC2DDB /* Optional.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC4F6C03B906E25845A6F28BC8ECD82 /* Optional.swift */; }; + 22E9F6FA56858A5F7A5D664E5968ECB0 /* NMBExceptionCapture.h in Headers */ = {isa = PBXBuildFile; fileRef = 93BC50CD60E71662E2A5B0EE0634F3B2 /* NMBExceptionCapture.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2370D6A129B89CE90A672D706E7249A9 /* QuickConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = 41AA896D6678B7652B8AF843515851B0 /* QuickConfiguration.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 25D1805055756CAA69A167CA03B2465C /* ContainElementSatisfying.swift in Sources */ = {isa = PBXBuildFile; fileRef = CCE07F47A520885E23BC234548832652 /* ContainElementSatisfying.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 274831A04749ADFF3212F57A6AF6CB04 /* PrimitiveSequence+Zip+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = B227048231C28C97DA7D14E37FDE08E4 /* PrimitiveSequence+Zip+arity.swift */; }; + 29049C35319CA1A85ADD01DE3C260FBD /* VirtualTimeScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D4C8EF6C26058C25EDBDBAF2041E24B /* VirtualTimeScheduler.swift */; }; + 2905A5A0D194B12C27330AB447B79058 /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CCE11F24EA0A8A3EB453F711162ACA5 /* Error.swift */; }; + 292CE76429DA8CAA861F907AA870242D /* CredentialsPlugin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2EF0C60460023D90EA5729A92C56EA10 /* CredentialsPlugin.swift */; }; + 29A65FF7D1752DFFF87F5DC8F55CE859 /* ToSucceed.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8546F9356E7A6B593BF71B5E44991647 /* ToSucceed.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 2C4D253DD2096DF063F1D70BB2DBC9FA /* DefaultIfEmpty.swift in Sources */ = {isa = PBXBuildFile; fileRef = EF8C02D87859DD01AA0AC13414FF4DBF /* DefaultIfEmpty.swift */; }; + 2DFCF6BF7138AFD8C2D90E14F8E6FBB0 /* Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A1BD1EA551FB452B8EDDFEBA8641DCB /* Configuration.swift */; }; + 30CBCA17BB1997D5A2B4D1849A5BCDAA /* SkipUntil.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95A19BA53EF1680499505638CED9D5EF /* SkipUntil.swift */; }; + 31C39ED8CB1C9317F1F2840FC919662D /* PostNotification.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4380713E29F271AAD2903866367376C /* PostNotification.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 32B38992751B96F21324BFC9923BFCBD /* AssertionDispatcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A33D1C142901BD76E76AF033C5AFDDE /* AssertionDispatcher.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 346AFD4169B27BFDC3EED181D24D6A19 /* Multicast.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9FA43287C0027961478DE1720BC71006 /* Multicast.swift */; }; + 34750FA41701964C97B42AF0F32A7656 /* AccessTokenPlugin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 229A85AAFFE11F6A6D79D2B225C0A1DE /* AccessTokenPlugin.swift */; }; + 34AC1AC1F4A48D237D2068B4DAD0B488 /* Maybe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 914185F20469F589BD5340499FD17B5D /* Maybe.swift */; }; + 35745C0FA4AEAC227F80A3DA2474F099 /* MainScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671BB5AC31C02E55FEE9E86C7C245BD8 /* MainScheduler.swift */; }; + 35916EDCBED40823BA04668AFC78E66F /* Quick-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = A1B92476D154AAD5CCF67BF92BDE0B27 /* Quick-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 35CADB1AD8E063A35DF68147F3183206 /* CwlMachBadInstructionHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 84D6BE7E27537A5294F1D8971A1CBBF1 /* CwlMachBadInstructionHandler.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3626B94094672CB1C9DEA32B9F9502E1 /* TaskDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA93CAF72399A0E2E2A33ECDBE009016 /* TaskDelegate.swift */; }; + 37BCE0AE354677A1E4198A462BCEFC80 /* DisposeBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17D8CE9AE9F2CFEA0210C47B1D30180D /* DisposeBase.swift */; }; + 38741E184C5B75EFA3CD45B6C7A9FDCC /* Japx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0ED6D5079EB13600CC0376256416A9A4 /* Japx.swift */; }; + 3A8227736A498C75FE2E0442EC0AA4EC /* DSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = A6176AA35CCF3CBFE6D60E435FC48165 /* DSL.swift */; }; + 3AF210BEFB88B3B3E8B1DDEB17BF0A81 /* RxSwift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = A38A89A1406CE3F642EBA3E2EF36A955 /* RxSwift-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3B3068A649BF615A1802D43A2550D02F /* Example.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5BFB3C3D528E7D2C16E9E259C50F526 /* Example.swift */; }; + 3B3A88E074630B1EBC2139F4F70F0443 /* ThrowAssertion.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB6587B5B9E54D74961ED1F5285AD259 /* ThrowAssertion.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 3C66D2692E811DAE57A244A67E7AC555 /* BeVoid.swift in Sources */ = {isa = PBXBuildFile; fileRef = 128903CC4F88D353B1CA91FCA4B208A3 /* BeVoid.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 3D1A89FDD6B579BAA92AD398E5C019F9 /* EndWith.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A5490F4D68218245A863D4FBF436232 /* EndWith.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 3DFDDAF1580B869CF971E9E77FCBD5C5 /* JapxMoya.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4EABB50B5F050499A8AF0FAD27F281D /* JapxMoya.swift */; }; + 3E04D23B2995705A6106D41F3E3E4E33 /* ExpectationMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2281E6131B58F50F5DA7019D70B3FA0 /* ExpectationMessage.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 3FCA60683262D82F4228B33DF3474C5B /* ObserveOn.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE58F77E1823FBFF70E78EE1F5FC73E9 /* ObserveOn.swift */; }; + 41C783192F7ECD485C8C6384D30CBF11 /* CwlDarwinDefinitions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E582F153401E75131FA8B2287849733 /* CwlDarwinDefinitions.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 42EAAE8CFB95F2352FCE036F263263E1 /* CwlCatchException.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D8C58E0CD57957D1BB597F1DA9A688C /* CwlCatchException.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 436BC52B5C585CAA81BE0A0926EF4DA7 /* Platform.Linux.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CBA800E4A3629F29A14A6A49BF233B7 /* Platform.Linux.swift */; }; + 43EFD54A383940490A037D926C1B16BE /* Completable+AndThen.swift in Sources */ = {isa = PBXBuildFile; fileRef = F918EECFC77113D263A34C16E69B1272 /* Completable+AndThen.swift */; }; + 447E8B73853297F7B2FD41F6B14CAF4B /* World.h in Headers */ = {isa = PBXBuildFile; fileRef = E299A7FF7FC61B32CE8593712BF888E5 /* World.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 44DAF56AF9B154587E0C5B5ED20DAFDE /* Empty.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D7A19CAFC1AA23C06B796462E9C9216 /* Empty.swift */; }; + 4567442C3345AA90846A1D95F48D1C11 /* Result.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D1E495A11E8D1AEE4A4A5CEA8B0CD28 /* Result.swift */; }; + 456A72DB162F809398BB9FDC21031B87 /* Enumerated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3230757DAE9D809BC846B81246E2A79F /* Enumerated.swift */; }; + 45F183320C688F9978649F30ABE21D09 /* MatchError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F35556E662E59760FAC7050D90368AC /* MatchError.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 460AF107823B7FCF76924C553D184E4D /* ObservableType+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 05135B548EBE9BC078D8DEA38F9FF867 /* ObservableType+Extensions.swift */; }; + 4752BACADD963F4C22CB9F37BD29878B /* Amb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43D1F118CB3866571BCF2DC6C0DB0DAC /* Amb.swift */; }; + 488236FD518579A9C025B83E0A165486 /* HooksPhase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B9962D34AE794A4B4E5EB8F7B49CABA /* HooksPhase.swift */; }; + 48C68B11D96843EA0444B4BCBB9CB1DB /* Generate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 70F3138504C320914D35D93049FE8B32 /* Generate.swift */; }; + 490C90F69CC2E3EBD57F96E501F023B0 /* RecursiveScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5228E2E16ECA74D1200959B428E0CD2D /* RecursiveScheduler.swift */; }; + 49FA489CDE96798B21AF5652CABE318A /* Alamofire.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2A53DEF4004E988FDD94DDADFBC6E907 /* Alamofire.framework */; }; + 4B649E8E91B2070FA7ADB99F2FC5DD09 /* ExampleMetadata.swift in Sources */ = {isa = PBXBuildFile; fileRef = A91EB0BB97C7DE77CB9AA48325CC1C2B /* ExampleMetadata.swift */; }; + 4BCE671B9AB8D84AB79C9CF31B6B2666 /* Pods-Japx_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 2362AADF472FB2493BC611CE7C8130F5 /* Pods-Japx_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4CDACD8A5A6CFB688838AA988E7D1E43 /* Nimble-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C688EB1853CF4023BB360F4AED37F9FE /* Nimble-dummy.m */; }; + 4F1BF8AB490D9BF4DFCCB4F48D65ED4F /* ScheduledDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5B7DA3995DA3B9B249FB04FE55BC236 /* ScheduledDisposable.swift */; }; + 4F5E8F9C6E5A44584E58209889524975 /* First.swift in Sources */ = {isa = PBXBuildFile; fileRef = B03EF87114313288DDDAC1C425E6DFDA /* First.swift */; }; + 4FABBF5CA8F735F48035BE4144613CB7 /* Expression.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8FD00F8A7863356C8C81CEAA8FAA4E3B /* Expression.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 4FC9DBCBFD7B54199F9D25C4CFF83D56 /* GroupedObservable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A6CC04F19B56B3A559FC6879B371467 /* GroupedObservable.swift */; }; + 4FE0D6CC8073DB126A998D38FB7A851D /* SchedulerType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 86321CA28DA1483FD89A99AAF6E3F6CB /* SchedulerType.swift */; }; + 5044E4A67B05672A0BDFA80C81DB05A2 /* Switch.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63D62F76853346FE647CDEDA674BA9EC /* Switch.swift */; }; + 50698F14E7847E18B907E9373FBF4C21 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD602B190FB54A88B2CF444F113337BE /* Foundation.framework */; }; + 50ED8B633C96C56DFD7AAF79BA0B7CC3 /* ObservableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C3F84CDE875F239F0CE5974778BA5B4 /* ObservableType.swift */; }; + 51241E722BE781C2DD49ED2B40C95D24 /* QuickSpecBase.h in Headers */ = {isa = PBXBuildFile; fileRef = B88DE1FB1AE9A49E1433D979904A7A56 /* QuickSpecBase.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 52713C12955C377E25ED8501B498EA17 /* JapxRxMoya.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14446CAFF29C45E54E01A99F0EF79FAD /* JapxRxMoya.swift */; }; + 52732083FB3EB3272F8FDE641B15BA5E /* Timeout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 114533F98FAD008233F74FF2AD6763E3 /* Timeout.swift */; }; + 5387216E723A3C68E851CA15573CDD71 /* Request.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06C8604B51CCA5FDFBF8FD4118BC9B14 /* Request.swift */; }; + 5431AF159C2347F7B68F50B08D9713EC /* ReplaySubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = 051599D672E2CFA01D9BF1A12E9C79C5 /* ReplaySubject.swift */; }; + 54CC2049C937561A469575AF9E6A6FE9 /* NimbleEnvironment.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECCB3A5FAD752C9957A933F4882558B1 /* NimbleEnvironment.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 552FFC4573FF82DC5D1FF3E6D41D53CC /* BooleanDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 193BADA772F8A2891C19CC5177512009 /* BooleanDisposable.swift */; }; + 56A1522C36B6BB1AA65E3ECAFAC3EF39 /* RxMutableBox.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57A0C68E820E7B259A717CBD18E701ED /* RxMutableBox.swift */; }; + 58C0125D796A97541FDE3414001D8A92 /* BeEmpty.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D87C098123F52C53D0712CDFD6EDEAE /* BeEmpty.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 58D964317DFBB10F54A273CB12843017 /* BeGreaterThanOrEqualTo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1998A3F621473122C6AA6A986CD06429 /* BeGreaterThanOrEqualTo.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 5AB9DB61D62D8BF7B1C734B373F361E7 /* CurrentTestCaseTracker.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F8708C8DD3330AAD6308F240407CBE4 /* CurrentTestCaseTracker.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 5B396B4E44AF947054A83D8E1641A123 /* StartWith.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63A6AEFC1E017B7DDDAC4743CA06AFDA /* StartWith.swift */; }; + 5BF274C2DEF332ED79B1CD15CFEC3498 /* ThrowError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7572C8A24DE646B2CF1E1E1D0327E3DD /* ThrowError.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 5DBCC0E4C72649C9A39A00D40D944DDA /* Nimble-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E5EB419D7F9243585A5433D94D36959 /* Nimble-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5DF04BDE9CA9594855D43C190D8D0C34 /* Bag.swift in Sources */ = {isa = PBXBuildFile; fileRef = C7DBE7B62FBD55530B15FDE979259863 /* Bag.swift */; }; + 5E92D619D6295BF90349C30740CD459B /* Moya+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4FC42E99FB0F361A2ACACC3C4EE8927F /* Moya+Alamofire.swift */; }; + 5EA266564CBF187AB4BB9F9F1436A563 /* NSBundle+CurrentTestBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = AFDFC1F191D506C3BF3BA6079EB43753 /* NSBundle+CurrentTestBundle.swift */; }; + 5F9AFDECC14365CD10F3D83D50020E32 /* CwlMachBadInstructionHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E1E0015F509D3FE2FF729D973164EAE /* CwlMachBadInstructionHandler.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 61200D01A1855D7920CEF835C8BE00B0 /* DispatchQueue+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA96D4FE595A02F276983200B32B973F /* DispatchQueue+Alamofire.swift */; }; + 61553F86D4C7FF97534903BA025FE19D /* DeprecationWarner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 56409CCF42965D1970DC083F3B3A845A /* DeprecationWarner.swift */; }; + 615A986F18FB8BD3BC10B4035C34DD7A /* Reduce.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A76BD23B9C927E7728319A16CC067F9 /* Reduce.swift */; }; + 6192F78DF2B71D27A7524690810BF783 /* SubjectType.swift in Sources */ = {isa = PBXBuildFile; fileRef = CFD51EF6FB762D4D92B57F3A68BC2C37 /* SubjectType.swift */; }; + 62D26CE7BA3AEDB4E5E87218FDCBBA90 /* Functional.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CB208F6E6C5AB4FB6B7E6C9EAFA9AD0 /* Functional.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 62F65AD8DC4F0F9610F4B8B4738EC094 /* ServerTrustPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 779DFFA139BEDC139AA5C74E119C0EF8 /* ServerTrustPolicy.swift */; }; + 6454EE30A8B0813E2F435958D187E0CC /* ResultProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E8083881592E71B12CCA186C47CF8A0 /* ResultProtocol.swift */; }; + 6593C547A71CCEFC480CD578080A327F /* mach_excServer.h in Headers */ = {isa = PBXBuildFile; fileRef = 3629F994397DAFD40D0E7E1642BEA4C3 /* mach_excServer.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 65985C142EE8A74E6E56D5E30A39C79C /* Expectation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B7449E2CCC2804FB68D46B3A3C639A3 /* Expectation.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 65C320DD0E12D7E83F48A632FF9240C3 /* InvocableScheduledItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDE206A52E5C9E5E5CAA6026CA92973A /* InvocableScheduledItem.swift */; }; + 669A6380C474BD1A3788BA99DA9340C2 /* RefCountDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 86CA4B47622668DDD91C382A3E608A18 /* RefCountDisposable.swift */; }; + 67086EF2A7963D54F4768B6F4E5A5171 /* InvocableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD2A8B0E519456109A59A9D322F1544F /* InvocableType.swift */; }; + 676D3A0C9283BB4F3FDDDCF82C19A344 /* Repeat.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69B4192E019D2ACBD6B387D21945CD5D /* Repeat.swift */; }; + 68FD03C72D719117929696B62038B3D7 /* NMBExpectation.swift in Sources */ = {isa = PBXBuildFile; fileRef = D74FD20C443322527235A8934E2C20F9 /* NMBExpectation.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 69B80157634D6FAF248D37F397732357 /* CwlPreconditionTesting.h in Headers */ = {isa = PBXBuildFile; fileRef = 23F26F0EB999564CF86B6B17CE3171C4 /* CwlPreconditionTesting.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6A596EB05C7712D932C3D12F2F44DC84 /* World+DSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = C90A26DCE79C5549814BD8A253424E4D /* World+DSL.swift */; }; + 6A9DD5A089CC11971DC59B831BC9507D /* SingleAssignmentDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAF2CEDE839B84696890E3853E01B188 /* SingleAssignmentDisposable.swift */; }; + 6BB0EBEB4730B94AC07458E398D142C8 /* MatcherProtocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2748BFBC220EFF2160607C4D1A2B851E /* MatcherProtocols.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 6C7F5F9964C75AE333B97EBF800B7FE0 /* Debounce.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA418117AEBC99135481DD409F17EE6A /* Debounce.swift */; }; + 6CB4890B9BF5F846E980634AFE83917D /* NMBExceptionCapture.m in Sources */ = {isa = PBXBuildFile; fileRef = EB25A8DB416BDC1A94755DFF2CE31BCE /* NMBExceptionCapture.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 6F7453623269AD225ED88899E69A326D /* CombineLatest+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E45E3CF36DB1E3E9304BC2B649E697F /* CombineLatest+arity.swift */; }; + 6F80FBA381EB1FEB7705443C1EDCF08E /* Moya.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CC3E5B317173B8F27E5F8EC1C12F1B3C /* Moya.framework */; }; + 6FDB07EE1737B068E830424D4B8F5870 /* SubscribeOn.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1E2E4EC08ACCF85818D5FE08E491987 /* SubscribeOn.swift */; }; + 70D4BB68F087A4F5061ED9637979AF5A /* NetworkLoggerPlugin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7C1CAB8EBD1CE7B4D96A675268BDDDD4 /* NetworkLoggerPlugin.swift */; }; + 7210570ADAE611BBD577B7EFDB656887 /* BehaviorSubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = B7A90D89FE8E0F1B8100295262130799 /* BehaviorSubject.swift */; }; + 72EBD6E556B56DA39B4947BC976CA365 /* AsSingle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 837CA4FB7647575CF176F6BA93F51DAA /* AsSingle.swift */; }; + 73B9C996AED49ED7CF8EC2A6F1738059 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD602B190FB54A88B2CF444F113337BE /* Foundation.framework */; }; + 73BC5AC2ECDB8722E085F14B53E0D24E /* AssertionRecorder.swift in Sources */ = {isa = PBXBuildFile; fileRef = F71D5F26A62B979B98A5E47A83B3F62C /* AssertionRecorder.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 75538A8B20C7A20AF3D54BBF35D56FFE /* BeLessThanOrEqual.swift in Sources */ = {isa = PBXBuildFile; fileRef = 55F597B7C6A19E4BDEAB3112981DF2E0 /* BeLessThanOrEqual.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 75ABB48E3C30C2D736C3D05D6FD566A8 /* BeNil.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7436721712C7D5D585636B9714BC4C15 /* BeNil.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 768466B51B324B36C642D45824D80297 /* Platform.Darwin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2AE198E212DFD9AE72567E9A8E71A22A /* Platform.Darwin.swift */; }; + 76B135065AC5B6733D083190E92DB34A /* Timer.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA9016BEB9CF606131E6F70CE6144978 /* Timer.swift */; }; + 771E73AED3F835054DA508520873DDBA /* Throttle.swift in Sources */ = {isa = PBXBuildFile; fileRef = FAA7F2D869DB1AE64296372E5473976F /* Throttle.swift */; }; + 78788D2FA9969133663E3EAE7E18933D /* MoyaError.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB0EC43D7518167748E5FE9A2EDAD5D5 /* MoyaError.swift */; }; + 78D4E947A5D8099990AF48A66D767D05 /* Zip+Collection.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1A1BC777F00FDF35F89C7F9666E0C0E /* Zip+Collection.swift */; }; + 795D08FAF05D31B14526AB30BAAC787D /* Response.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC57FB31563EBFCDE68A7FD9C47CDAAC /* Response.swift */; }; + 7995E11723ECC6DD179CDB6CA9C49B51 /* Moya-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 1D2484DC70B6EC5BACAC3E966687ED16 /* Moya-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7B5222991D1C53DF737242CA6C90012C /* CwlCatchException.m in Sources */ = {isa = PBXBuildFile; fileRef = 231CDD9CC7A8E023D0DCABAB45910914 /* CwlCatchException.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 7B5FE28C7EA4122B0598738E54DBEBD8 /* SessionDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 38E770EC57760526C4A912AF7BC24189 /* SessionDelegate.swift */; }; + 7B94DEFDD352A6C8FE3DD467F55B0FE0 /* AnyObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9E550C16050A3AC8B2C4B778B168A70E /* AnyObserver.swift */; }; + 7CB80D5F877AA16FABF74F2D5AD2EF76 /* ConnectableObservableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C66BA3750D4DE19F9FC16BB6CE0533B5 /* ConnectableObservableType.swift */; }; + 7D6211414D720A761372E54D8CCFD011 /* CompositeDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4177AB53FBBFF6A7783DFF419B60E2C6 /* CompositeDisposable.swift */; }; + 7D7B651425905F8A350E642203C1BF9D /* RxSwift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = E593560BFC94D27A3426E2FCC987512A /* RxSwift-dummy.m */; }; + 7D8CC01E8C9EFFF9F4D65406CDE0AB66 /* Result.swift in Sources */ = {isa = PBXBuildFile; fileRef = 345F59F7444265DBD72E5E04CDB9E34C /* Result.swift */; }; + 7E0C9AE6468A5DF91F0F4C7A387D725C /* BeAKindOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8E2E2998305D24376F237C8F5BD8561D /* BeAKindOf.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 7E2476DA3FC32C054C234C6C612B1724 /* TargetType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C6CE0F5E13DA33F987212FCB96749248 /* TargetType.swift */; }; + 7F5EAFD1915BA1C746A5BBA266A60379 /* Using.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE2845CF5F425AF0E6E32089C1746097 /* Using.swift */; }; + 80CDEDCB6B842618AFF9AE35BDAD61BF /* NetworkActivityPlugin.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3E7A8447D054951C94842A044C47054 /* NetworkActivityPlugin.swift */; }; + 813D86729F463786EAA024AD83988A08 /* Single.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBC6054DCFE397A8DB5A24FD4A3CD362 /* Single.swift */; }; + 8170866E2ACE0ACFBC6D90081354EC65 /* Stringers.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0A1D1BBDADA24792AE8E5B761112027 /* Stringers.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 81DB5DBB60E74DA1B5A6A37CD6643822 /* ConcurrentDispatchQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8C696139ED3705260CFED2F30C4EC86 /* ConcurrentDispatchQueueScheduler.swift */; }; + 82536696152C6E337796CC8321C57714 /* ValidationType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 954EC803E64CD8087DA3E0F39FAFBF0B /* ValidationType.swift */; }; + 83517278D8D41C1698CA645D45D13D87 /* CurrentThreadScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = FED87B8C5C1CA75F2132A21B5C31BD65 /* CurrentThreadScheduler.swift */; }; + 85D4A34499179AF23C3CD28B76A62144 /* PriorityQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11DA158AC331F11C0D18DE0DC5396439 /* PriorityQueue.swift */; }; + 85E65FE38CDA7D8439074272CA58D21A /* Disposables.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E85D624237F499F8AC9C1336584BB70 /* Disposables.swift */; }; + 86F32620C450BD3C04D9A25356B0EEAD /* NSString+C99ExtendedIdentifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4D156BEE49E52C4CF57071DAE7D780B /* NSString+C99ExtendedIdentifier.swift */; }; + 8AA537B997903B84A0B3F0B4E71E1044 /* RecursiveLock.swift in Sources */ = {isa = PBXBuildFile; fileRef = F0DB93CC434FE9A5AC74EC23A1DF76D1 /* RecursiveLock.swift */; }; + 8AC809289D0DC21D27A0CAF3B045B1DC /* Sample.swift in Sources */ = {isa = PBXBuildFile; fileRef = B93D3B3B58E11F659896073D32FB949B /* Sample.swift */; }; + 8B55BD430033027AD5FF22D630DD9F62 /* DSL.m in Sources */ = {isa = PBXBuildFile; fileRef = EA9A79AD6A6F7850611F2598B323C81C /* DSL.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 8CE64E119DCD026167BBED389401872E /* Create.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18CF3D5D9C2475DAB9F82ACAEA1E5469 /* Create.swift */; }; + 8DAFD4AA6AE8CE4892BCAFFDC1009F8B /* Cancelable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 26ED22DCFD3EA84DB3AB1275C091B18A /* Cancelable.swift */; }; + 8E5A64D9A2EEF6E29C9354C79328B0C5 /* ScheduledItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9834C0265D7BA52E959BBE975B898B48 /* ScheduledItem.swift */; }; + 8FD46E42243225162E2B31F6A8508778 /* URLRequest+Encoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0F158D3D70051A2768853AA7ACBA8BBD /* URLRequest+Encoding.swift */; }; + 9003A5C6A316F5E6866EE5F428F27AF6 /* SerialDispatchQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2DA5EFE2C6807D97BB9923F22D757D1E /* SerialDispatchQueueScheduler.swift */; }; + 90A8194914F6CCD709FCCEBBF0261667 /* Image.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7090F5D7C7307A959696489444D8BCAC /* Image.swift */; }; + 90F5EEE2C33AF9E4E71ADB55F955ADA7 /* SynchronizedDisposeType.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1913915A906B09F418AB2724046D8F4 /* SynchronizedDisposeType.swift */; }; + 92D53E97B74C0DD3A08E59D52ABCA999 /* Concat.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA7925289DB16B861C72B406739ED4F8 /* Concat.swift */; }; + 944E13495DE92C7DED3533DD5833059D /* DispatchQueue+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF9E0BDDF4389459BA5662038B900E79 /* DispatchQueue+Extensions.swift */; }; + 94B23DC11D769DF0336A12EEB6094410 /* TakeUntil.swift in Sources */ = {isa = PBXBuildFile; fileRef = AC13B2A23966C40420EC05F79880657A /* TakeUntil.swift */; }; + 94BA3F90E7446EA8BECCE29150918164 /* QuickSpec.h in Headers */ = {isa = PBXBuildFile; fileRef = B68200E7C85C1C8015011E9D5E041306 /* QuickSpec.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 95CC529E37A3EF6BDAADAF0238C9FAC9 /* JapxRxCodableMoya.swift in Sources */ = {isa = PBXBuildFile; fileRef = 48D247C87158725D44393FBB22466172 /* JapxRxCodableMoya.swift */; }; + 96132E7432F8DD315A88A07C6B4F9C72 /* NMBStringify.h in Headers */ = {isa = PBXBuildFile; fileRef = 82D8AFC528967CFFBF04509F8BEDBA12 /* NMBStringify.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 968485FE0AF1A5CE5B7C57212C80B11B /* WithLatestFrom.swift in Sources */ = {isa = PBXBuildFile; fileRef = A0203B44D8D036DD01240548F7BD00F9 /* WithLatestFrom.swift */; }; + 985AB346EF906089F563DA05B554B438 /* ObservableType+PrimitiveSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 949D3B3731A39AF6D59BEA8DAA03ECD7 /* ObservableType+PrimitiveSequence.swift */; }; + 988EED125395950177DC14AF9BC87D8D /* HaveCount.swift in Sources */ = {isa = PBXBuildFile; fileRef = BCBE5DECA4970DDA49112EAF4C035467 /* HaveCount.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 9A9044DCBD226FAA3FC65BA5B313C9E1 /* Bag+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 15BF6C7A84C05786BA9D9DEB361D6526 /* Bag+Rx.swift */; }; + 9B802B48B825082D4FB1F36861D6175B /* Result-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B953401C4DD41EAB548AC18810E6E354 /* Result-dummy.m */; }; + 9C87BE40B73057B4606BD9B1E1AD9DCB /* Range.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F9EF1EA71F75145A40C122B73FE8B47 /* Range.swift */; }; + 9CC405BDB04357640302A517EB37E0F5 /* World.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8BDE63B1A5581B1A53E268330C4C639E /* World.swift */; }; + 9CCF1C6E809BE491B8083DF4A848ED87 /* Closures.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EFBA91F24A943393168E207390EFC2F /* Closures.swift */; }; + 9CD0A1F419279F9B07111F8CCE63628D /* Map.swift in Sources */ = {isa = PBXBuildFile; fileRef = B7DA5F5E42101310898A04E49E3A0B41 /* Map.swift */; }; + 9CD98E3A592DAED8572E6DF272B653CA /* Window.swift in Sources */ = {isa = PBXBuildFile; fileRef = D93634ECCD53767D3570308CEDF19EAB /* Window.swift */; }; + 9CE350F0E7CCD03890FF5FD771BF9B37 /* SwiftSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = EFC700B19D5FCB81E84867A360C0F221 /* SwiftSupport.swift */; }; + 9CEF63CDB0508C2310445FCC11F59CCA /* Queue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84D377E313C9CA80973197760EA2BB01 /* Queue.swift */; }; + 9D1EE1FB90B5F7ED8190C419CF0D5B86 /* Sink.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9E87ABE48945E8EFFDDCC5F68C285E37 /* Sink.swift */; }; + 9D816B3BFECEFA51033849F099C02D60 /* QCKDSL.m in Sources */ = {isa = PBXBuildFile; fileRef = 40DA704856F58FD24435A6308DB47408 /* QCKDSL.m */; }; + 9E679639BD4303FFFF5FC3B1E7F8D34A /* Observable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 80525979B25FB17D1672780438FB8082 /* Observable.swift */; }; + 9ED2BB2981896E0A39EFA365503F58CE /* AFError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06CF7639652CB0AC8948745F7C4C6833 /* AFError.swift */; }; + A01CDAF81A1DFCBDAC27FBA316DBD034 /* ObserverBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A43BC60953605EAB46D5BF7C6E409F2 /* ObserverBase.swift */; }; + A024992C0678642018D5FE3CB6BFA10D /* Cancellable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14DC11C1BA6FCE9B087A39DEC5E2519D /* Cancellable.swift */; }; + A08395E84A951A59901AE081CAA5194F /* World+DSL.h in Headers */ = {isa = PBXBuildFile; fileRef = 3C7EE8F42D9C85C6989B8B95CF9D0766 /* World+DSL.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A0EF605648992557C7D6C1DEB8504940 /* Materialize.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52FCB1FEA498766C6ECB813A75C3E78D /* Materialize.swift */; }; + A21153621A6B5DCAE6A0FB9A0ADF9A3D /* ExampleGroup.swift in Sources */ = {isa = PBXBuildFile; fileRef = F2840ADD9D8AE2133B861E30EC6746C8 /* ExampleGroup.swift */; }; + A24AE704D4432A7DE23813521F1B71BD /* ExampleHooks.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6007DE5BAED0199A3BE04EBDCEAE2123 /* ExampleHooks.swift */; }; + A272932A4DF9AC2D3B0A21AC70606F6D /* CwlBadInstructionException.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08C99547FCB865BC15313A1A836BCCB2 /* CwlBadInstructionException.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + A2A6F71B727312BD45CC7A4AAD7B0AB7 /* NetworkReachabilityManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 237371A3A511DCBC2049FDC6BC1250B2 /* NetworkReachabilityManager.swift */; }; + A2B4CADA26C1853A2FC2180807DD826B /* SubscriptionDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30FFCD949E4F5EAD2F1464756E40D56E /* SubscriptionDisposable.swift */; }; + A30838E30D4C9D4B3BC6D7A8D4B48C73 /* Buffer.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF93788451B4D1F997FCB6125C2018A2 /* Buffer.swift */; }; + A33DF39D369840C4CC595BD5945EAA02 /* Completable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F74B6C04E73CAD22FAA9B23C52AAD07 /* Completable.swift */; }; + A3ED36FBBAA7764BA2A5F086E549F46F /* Callsite.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A18E5DCD85C9EE8D982B010ADBD0693 /* Callsite.swift */; }; + A5E7E703E01642CBEF31C94143A29B9B /* DisposeBag.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C303EC240F06FD04180442D18A82B3C /* DisposeBag.swift */; }; + A61ADD214AA182EEB2AC95EA3F3D658F /* XCTestObservationCenter+Register.m in Sources */ = {isa = PBXBuildFile; fileRef = 2EA819AA0527D4526B0FE09C02D6935F /* XCTestObservationCenter+Register.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + A74537420FF0CEDC6B9E82E1DC4C2B15 /* Contain.swift in Sources */ = {isa = PBXBuildFile; fileRef = B60582E9281F912366D1CA0CC36C6B5A /* Contain.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + A7C13C62E4116CA964A3E82179092AD5 /* NMBObjCMatcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8BBF0E562A88303BB79C6AE9645158B4 /* NMBObjCMatcher.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + A8CA82B0A1495E07AE9504BC4DCD1C60 /* Catch.swift in Sources */ = {isa = PBXBuildFile; fileRef = 803E22FE6E9ACAC547AC55BEF505AF50 /* Catch.swift */; }; + A9EEEA7477981DEEBC72432DE9990A4B /* Alamofire-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C048191B5A4A3C802C5FBF7132884E84 /* Alamofire-dummy.m */; }; + AA15248E72F85361BC413423B03EED79 /* Plugin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A14F163E70D28028ADD4A1E85C9F733 /* Plugin.swift */; }; + AAA2830BBCD86431B3EEB0ED968DF4A3 /* CwlCatchException.h in Headers */ = {isa = PBXBuildFile; fileRef = 767CA25E36BBAD68263720A68F512531 /* CwlCatchException.h */; settings = {ATTRIBUTES = (Public, ); }; }; + AC319D49A5623B6D7A724408A403829F /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD602B190FB54A88B2CF444F113337BE /* Foundation.framework */; }; + ADA09EBE196F974445073790817E6E0E /* DelaySubscription.swift in Sources */ = {isa = PBXBuildFile; fileRef = DEEA5178DDD0EA00050174A7A9FC2C2A /* DelaySubscription.swift */; }; + ADEE95A3A188BE3095990E20766BCCC8 /* DSL+Wait.swift in Sources */ = {isa = PBXBuildFile; fileRef = A488BC91B241795E0CFA94B7373787B0 /* DSL+Wait.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + AE1EF48399533730D0066E04B22CA2D6 /* SessionManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8025BBEA7863AF9ACF7EE93E72B568D5 /* SessionManager.swift */; }; + AE45E79509C4E73E190F07EE64EDE3F8 /* SwitchIfEmpty.swift in Sources */ = {isa = PBXBuildFile; fileRef = 492258887E283924F899B89BEEBC4475 /* SwitchIfEmpty.swift */; }; + AE4DA49ECD693BF384CD824DF02D7C6E /* NMBStringify.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EC216A14145887F493C08DE6EC3C636 /* NMBStringify.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + AEE8500983E6006A647864471D9A7976 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD602B190FB54A88B2CF444F113337BE /* Foundation.framework */; }; + AF1174085D9BC5D50FCE0480E9C2BE94 /* BeGreaterThan.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D309F4F93E5511C02332FE43AAB484E /* BeGreaterThan.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + B0081158163EE077B5D16103227A278B /* Dematerialize.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4FD5F3E126F9ADCE5AA9651CF1129A8D /* Dematerialize.swift */; }; + B102ABE4E54B71B3D2C2118E2782FAB9 /* BeLessThan.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58F9F10AF27EA1C8595152E27E72766 /* BeLessThan.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + B13A776F45D0F865D666C284B1763CF9 /* Never.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63E78F75855461A35ADCDCC3759E25F7 /* Never.swift */; }; + B14F7FA34D5C60DF358E577B5ACF170A /* Japx-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 33689C45B0B43BEDAD1F1760490EE741 /* Japx-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B158D3261922F3483161FCED0302AFAE /* Lock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 888E46C1106F1397D10476C132A15D20 /* Lock.swift */; }; + B1D700818CE0C7B16D43C698DD387EB9 /* String+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04C2F2BA4A12BD11B55895E3FC363D93 /* String+Rx.swift */; }; + B2C151B20635A480E1937E3D2B509BB4 /* Async.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4EA6D234041FEE17BC62952F52FA3ADA /* Async.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + B3D7921E83F95FD365211C5ECB5A649F /* AsyncLock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 470AF7E48BF0F67225866EAEC9FBD503 /* AsyncLock.swift */; }; + B3FE451BE6FC3E15806A14FEA5A7EA90 /* Errors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4922614020830155C2FF34F6320E87DE /* Errors.swift */; }; + B587D97E0B3A36A96D8267C8885FD70A /* Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8364770BBA59755CC47E7546E1037B6E /* Rx.swift */; }; + B65FCF589DA398C3EFE0128064E510EC /* MultipartFormData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11CFFB1130FF24027ECE8E412A4457E0 /* MultipartFormData.swift */; }; + B6C46BC8EF86AE12165FCBEAA93E0687 /* Sequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = AF3462CC93DC3B7D10A5E00C35E6BD13 /* Sequence.swift */; }; + B7396480C3587F7AEF9DB24924CE4314 /* Pods-Japx_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 75EF2B75026DE9E7ADACE04C5F355DF0 /* Pods-Japx_Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B7BB4428EBD03225A5745DE194BC75DB /* Producer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1854933DD73824D05B3E0833A3DC8124 /* Producer.swift */; }; + B99714DC717627A2426E15B9076482CB /* CombineLatest+Collection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 108C6B84FE43BA554A77B5BB9C4B6213 /* CombineLatest+Collection.swift */; }; + BA7E96822747E1BF9F3CD5302B0110E4 /* ErrorUtility.swift in Sources */ = {isa = PBXBuildFile; fileRef = F803EC5A0031D90DA4595CAA2A07FD6F /* ErrorUtility.swift */; }; + BBB4E87C7E58D1D9BAC4D87DB3198F95 /* AsMaybe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 12BAD92F92F2FDD3FBC9B1BC1747F5C4 /* AsMaybe.swift */; }; + BBEFE2F9CEB73DC7BD97FFA66A0D9D4F /* Validation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 352012581262B4A2C05B9C9F4B6B9357 /* Validation.swift */; }; + BC7B9761322C74FA27969BD55833BA47 /* Errors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C0FE751E63079656C64EAE962C28947 /* Errors.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + BD83346D3C105C59B6F16C6015D8E57E /* AnyEncodable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62716404808E37DAC75B4B28F5114B35 /* AnyEncodable.swift */; }; + BE5C67A07E289FE1F9BE27335B159997 /* ParameterEncoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 21AA52C1F4B14FC5C28CD64B374470ED /* ParameterEncoding.swift */; }; + BF35F347C7D2C09D578193877BEC077C /* ToArray.swift in Sources */ = {isa = PBXBuildFile; fileRef = F50D9CE4517DA594B7EBFD91E4B3592F /* ToArray.swift */; }; + BF3B7218901760A6226C7F6346BEF454 /* BeCloseTo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88386A27943C6BC11B2448D4086FED0A /* BeCloseTo.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + C02F556A23F781AC8DC44A2D31E7F0CA /* AddRef.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62C1F3FB9A8890AAE46E50905E594ABD /* AddRef.swift */; }; + C06FA100C1BBEE34B863BCB8A65359C1 /* MatcherFunc.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96D743DFD99B482EC9449040EB4D7105 /* MatcherFunc.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + C1D862177DC2999FAC710AC25F253BD0 /* BeAnInstanceOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8CC4E6B55881B0EABF690CF4D78F5B9 /* BeAnInstanceOf.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + C2467221FCD579800B9CD8FBBDB10B4D /* CwlCatchBadInstruction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A769F0C4D8CC54726DF64B6BDC3A564 /* CwlCatchBadInstruction.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + C3008C42585C5135A52E4EE3E5E65089 /* Just.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE2C86157C98992A9122F83BC299C5D5 /* Just.swift */; }; + C36C6F1BE72926FC1720F5BFF7B35533 /* MoyaProvider+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2832A6D6CD7DE52F857CC96FD085491F /* MoyaProvider+Rx.swift */; }; + C37275DA714D6C983FBD5D4BC592994F /* MoyaProvider+Internal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 436717D4115E0ACB94734EE8CA26FD8B /* MoyaProvider+Internal.swift */; }; + C3F69AACDE11624D79F2C1A59279D0F5 /* Moya-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 5240B237EC523FB510935A4F1491B39E /* Moya-dummy.m */; }; + C774939FBB5CA5D5DF722EB392031161 /* JapxCodable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 499C84C1F389DD80A524AD06A622421C /* JapxCodable.swift */; }; + C8320A6164C870ADDB8A855ADEBBBDC9 /* Equal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9E3BC5930669935BC560E64FCDA49E52 /* Equal.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + CA4B91F17A58D027724EF1545BEA6C45 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD602B190FB54A88B2CF444F113337BE /* Foundation.framework */; }; + CB6D60925223897FFA2662667DF83E8A /* Response.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36EB9F071F4D52D362E833CEAECA3856 /* Response.swift */; }; + CCDAF11E7AF29E720C587B038145F622 /* BeginWith.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A2FD63B4823D4C8053F0AE71A4B3470 /* BeginWith.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + CEC510617FA770151E7527E1946133A5 /* Filter.swift in Sources */ = {isa = PBXBuildFile; fileRef = E5F969B54CC8C6A46B46C9289FC91E0D /* Filter.swift */; }; + CF4DEA2E17D5881E2305EFE695F031D9 /* Behavior.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA481C8ACC00029090ACBC5BB7EE25D2 /* Behavior.swift */; }; + CF55697859D633C852C3586384647EB6 /* NimbleXCTestHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53372BD17003BC1197E71F28B2BE7C30 /* NimbleXCTestHandler.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + CF6BD1FD1094C8EEA16689715E139EB9 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD602B190FB54A88B2CF444F113337BE /* Foundation.framework */; }; + CF978341DB3912E80983036C4AD5881A /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A98F46249E9984443862EF0861F3E9EF /* XCTest.framework */; }; + D1BC7C74C478C26B04E9B214E11F8CF0 /* TakeLast.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA6211CDCE47E159FA636CA58798CB95 /* TakeLast.swift */; }; + D1BDE3C84B30FA19C767BCFDE5E2DC2E /* MultiTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = AFD24C91CBBD123959078CD584E3AA00 /* MultiTarget.swift */; }; + D26B4EA48128B4E33FA61705A5C61BC7 /* Zip.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E804251021183BBD8D7157DB6FDADAC /* Zip.swift */; }; + D45DB2100AC3183D861A3FF5C0103BF5 /* Observable+Response.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C7206EF0FEBD5DBF659FF608DDE9827 /* Observable+Response.swift */; }; + D45EC1BC2E9A90389F7C5757386B70BF /* Disposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = A4A520412E605F1F7CFA382C294B4DAB /* Disposable.swift */; }; + D571EA48FD71D69F0401C85BFC8B36E3 /* DispatchQueueConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA5774EED10484CC4DCBCC712A6F03E9 /* DispatchQueueConfiguration.swift */; }; + D7A277400B8F745FBC4CE5EE6CF48957 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD602B190FB54A88B2CF444F113337BE /* Foundation.framework */; }; + D90B73B00255C4166D1522707E2610A0 /* Quick.h in Headers */ = {isa = PBXBuildFile; fileRef = 0C856AA71B93EAC1CDB7702D3E5D5BE9 /* Quick.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D9C9B3C9E36B2D0910E140D9BD902859 /* AnonymousObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50CB7C5033B890A4E1AE16717D3B5819 /* AnonymousObserver.swift */; }; + D9E62C41794D0B5D2CD68CA92C4BA836 /* mach_excServer.c in Sources */ = {isa = PBXBuildFile; fileRef = 538437DFA209BF2EC5C569110F9BC8C8 /* mach_excServer.c */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + DA8A8F1674995D32AF82EE54EB1E2E1B /* SingleAsync.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBDAECFE4EB9DD3BD8CDD84C4E155B01 /* SingleAsync.swift */; }; + DACF6E50E013825D03DAA54FEF577341 /* QCKDSL.h in Headers */ = {isa = PBXBuildFile; fileRef = A676781DECFBC86CF17ABDE9E756BD33 /* QCKDSL.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DC5CAF854B6440F1A789054FC66B37FC /* Alamofire.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2A53DEF4004E988FDD94DDADFBC6E907 /* Alamofire.framework */; }; + DCDFB51017FD7C4D722CEC7890E703AF /* SynchronizedOnType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6219963A0E5A66DA8A30DD4A70ADD86F /* SynchronizedOnType.swift */; }; + DF026F6F406A4FB6CEA63B0A4B9E27DD /* AllPass.swift in Sources */ = {isa = PBXBuildFile; fileRef = A902BE5C9CE8BBC1D531CD222033CA85 /* AllPass.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + DF331DCCE0756C6AB8B50CD9E2E8844A /* OperationQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 429421E9AA08E1E5112BDE0D03E9D6A9 /* OperationQueueScheduler.swift */; }; + E0AE3DFF19777028263816715E8400DB /* Quick-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E40BDEB9364E0C2044ADF9E2B6A16B6 /* Quick-dummy.m */; }; + E11966EEA55E65DA06DA3129DE556C5E /* Merge.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0F89BCEF834F678BB25CA4A40A0B2B38 /* Merge.swift */; }; + E2D972939BFD5E3C26FBB7E29939D16A /* Single+Response.swift in Sources */ = {isa = PBXBuildFile; fileRef = 807E0EF4CB3BAF1ACED599B22F437B53 /* Single+Response.swift */; }; + E45E7EFBCF9DAC2BB080F2752F5F3038 /* ShareReplayScope.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C1E9E622D0E42AE3D778D8DBA35C38A /* ShareReplayScope.swift */; }; + E59E2D4DB62E33FEF9E2334E0EE96AF8 /* JapxCodableMoya.swift in Sources */ = {isa = PBXBuildFile; fileRef = B79B13C2B9AB37A805A72EE1E3A936EC /* JapxCodableMoya.swift */; }; + E5B0FE736C7255DFCAD61EE81ACAE51B /* Delay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 439FB70C2E203E7E916F1D3679FD0D60 /* Delay.swift */; }; + E5C60A980D1B1B9CC6749B45740F518F /* PrimitiveSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7E4760B29C5E17AA375E4BE1848AC8A /* PrimitiveSequence.swift */; }; + E79523879896C127F294BA7A4B2749F9 /* Skip.swift in Sources */ = {isa = PBXBuildFile; fileRef = 517D2DC5B869A01D077E5736E914225B /* Skip.swift */; }; + E8102D513FA0AD4D27500AD592581A3A /* BinaryDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = AEF79319F1199557E3471C080E343127 /* BinaryDisposable.swift */; }; + E8DA971272BE68E938AC1EF969319EE2 /* Result.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 88A394019320EC38C7DDEF62A7103457 /* Result.framework */; }; + E9AB40CB45AF8FA8A996B662237AA51F /* Debug.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62372382F78A37CEF0C5CEBF2E04567B /* Debug.swift */; }; + E9FD641CE1FEAE09EFE482EAA686F452 /* DistinctUntilChanged.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7517C42D99C9198B3E71AF74223FFD74 /* DistinctUntilChanged.swift */; }; + EAAA05EBBC34225C0DB45797712E24A1 /* AsyncMatcherWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = B16644096C89686747C681C7F1AD68D7 /* AsyncMatcherWrapper.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + EAE2AAE5EB826B38978692984BB22FDD /* RaisesException.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F815D1DC6AEF3D33D609A2BC5B39EF2 /* RaisesException.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + EB3A73071ABA60E77E0704649637D8BD /* SatisfyAnyOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = 438D1F85491E34F92FF334A8FC400FE0 /* SatisfyAnyOf.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + EB4A3975355F568B2F34099349770360 /* QuickSelectedTestSuiteBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7C8BA8D8BCCDE4C7ECE9E8A1D4026B5 /* QuickSelectedTestSuiteBuilder.swift */; }; + EC71D4524973916BE85594859C1AFF09 /* QuickTestSuite.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD7FD200D4A958105F0AE67367016C4E /* QuickTestSuite.swift */; }; + ED8308AB94214C929C1E1E8CE2A5C74A /* TakeWhile.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0183468864D157FDD6333D9B48A03C03 /* TakeWhile.swift */; }; + EDF319752DDDAC04159052B03F52B395 /* URL+FileName.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ADCFF9C84CFCC3DC3C6A83540F432C7 /* URL+FileName.swift */; }; + EEA5D5813C1D02724CD4957300831D8D /* URL+Moya.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA5DD01B85490ABC2EFCCBC864908E38 /* URL+Moya.swift */; }; + EF045E5A16C208915ABEF549056082B9 /* TailRecursiveSink.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6689EAF51519F8B9F04BA3D39939BA58 /* TailRecursiveSink.swift */; }; + EF8548E0C37E8888D9DDC11ED89D3568 /* Predicate.swift in Sources */ = {isa = PBXBuildFile; fileRef = B59E40670C314C4DB8FED68B7622F957 /* Predicate.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + EFD264FC408EBF3BA2528E70B08DDD94 /* Notifications.swift in Sources */ = {isa = PBXBuildFile; fileRef = E805A47CB8FE3FDE48121C67752DBB85 /* Notifications.swift */; }; + F0A4642AAB528D1347762C017BB89168 /* Result.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 88A394019320EC38C7DDEF62A7103457 /* Result.framework */; }; + F28003B228B82B7E1497D4F41F55A31E /* Match.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C5CC6EDF42D583BD7BC160F02E0B1C3 /* Match.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + F3BAA36614ABDBC0538B0DEA99CF80A0 /* SourceLocation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1471A792DB50C056A926BA43C39DA0B2 /* SourceLocation.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + F4BD249C60F21F5E0F7C1FAC8A5BC2AF /* BeIdenticalTo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07112AD221EC0B24BAAE0BE16D51446D /* BeIdenticalTo.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + F54BA07E62E334431FDFF0782F3A5948 /* RetryWhen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6DD5F748E230E521CEDF576E6D29BFCC /* RetryWhen.swift */; }; + F658EC9DA6371370B19665D6991B4AC8 /* XCTestSuite+QuickTestSuiteBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = 763C7401AD2B3B99E1DC5B4B7AD3E81D /* XCTestSuite+QuickTestSuiteBuilder.m */; }; + F6BECD98B97CBFEBE2C96F0E9E72A6C0 /* ResponseSerialization.swift in Sources */ = {isa = PBXBuildFile; fileRef = A4C9F516B8F2C0B86D2AC93D4DDE5E35 /* ResponseSerialization.swift */; }; + F8B3D3092ED0417E8CDF32033F6122F5 /* Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2755F41E7417700F0F8D1FEF401CD85A /* Alamofire.swift */; }; + F8F266A2F6C6BA8EBADE27405DE1C202 /* InfiniteSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A2876C7ED12BA30ACFB368B805ADDF7 /* InfiniteSequence.swift */; }; + F9637CAB2F025969EB24564769F195F0 /* ElementAt.swift in Sources */ = {isa = PBXBuildFile; fileRef = A22C1F2D2BF06C9E9B302D1FB94C3E95 /* ElementAt.swift */; }; + F9649DD59BAEE88C6864EEFE73ECA88C /* AdapterProtocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = 210F077051BDF92B962E04825298F577 /* AdapterProtocols.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + FA113C281E8BCCD7008AD04825152EDA /* HistoricalScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6D7B6A446D99FA2D6D1E3B873865FC3 /* HistoricalScheduler.swift */; }; + FB433A84B0A557CD5E5948A8B6705024 /* DSL.h in Headers */ = {isa = PBXBuildFile; fileRef = 5FC9C675AA478C49C264FFF4348B9A4A /* DSL.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FFE76A01CF53DB228AE35DF39AEF356F /* VirtualTimeConverterType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76182A43426D6A47730C23BB285198FB /* VirtualTimeConverterType.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 192CADB5EC1999B30BF0A92322CF5A4A /* PBXContainerItemProxy */ = { + 08644A555DDFE61D57B1CF6076099D58 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; remoteGlobalIDString = 88E9EC28B8B46C3631E6B242B50F4442; remoteInfo = Alamofire; }; - 2EAF0F0AB725BCFC94D92CBD7217C67A /* PBXContainerItemProxy */ = { + 1051253A2B735B0D524EE473ED622886 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = A70629C98C5E84B36701C72AA4CFC996; + remoteGlobalIDString = A2810CFD2F7804F4DDEE293DAF0CB816; + remoteInfo = Result; + }; + 24C59E25433B62B1AB6FF09EEDFC0B7A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 13E8BC2B8F78489CAA88ADF133AF25E9; remoteInfo = RxSwift; }; - 609179F5D55B508B7BC728AE9487FE06 /* PBXContainerItemProxy */ = { + 560BEEB1A76366EC2308A075004D90E7 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 12B24240C4358F90D4E62CD52D23F563; - remoteInfo = Japx; + remoteGlobalIDString = 88E9EC28B8B46C3631E6B242B50F4442; + remoteInfo = Alamofire; }; - 81BD698DCEDF661045B3B6FF1BC6531E /* PBXContainerItemProxy */ = { + 817E59FF323FEE6C9517F730AE2AC0AE /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; remoteGlobalIDString = DD7C8BF89FE8053D0A2A2D88BB49CF07; remoteInfo = Nimble; }; - B71B38F8EA013B23E058C125F2F153BF /* PBXContainerItemProxy */ = { + 8FCF5CF9B706CCE6AE06785ADCF90B99 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 339E1A979E3BCDCDF17FF7FEB91E0F91; + remoteInfo = Japx; + }; + 98F5489719B1BE0C16BF0EEC4AAA8E3B /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = A70629C98C5E84B36701C72AA4CFC996; + remoteGlobalIDString = 13E8BC2B8F78489CAA88ADF133AF25E9; remoteInfo = RxSwift; }; - C481F2D1FFDD09FAB14569C2AEF6E780 /* PBXContainerItemProxy */ = { + 98F7951434A033DDF6215040F807B9DA /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = A91D5873AE40CAE74B9D12EB82E52DB5; + remoteInfo = Moya; + }; + 9EDEB279299895187129D9D7054CF97E /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = A91D5873AE40CAE74B9D12EB82E52DB5; + remoteInfo = Moya; + }; + AAC17173EA9936B8836E1FE03F979383 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = A2810CFD2F7804F4DDEE293DAF0CB816; + remoteInfo = Result; + }; + B28FA2C2C7EC27E0B379F5E70CE34DCB /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; remoteGlobalIDString = 88E9EC28B8B46C3631E6B242B50F4442; remoteInfo = Alamofire; }; - CBA4F5B3579DF1BE3A00D7E1C545D26C /* PBXContainerItemProxy */ = { + C3491C1DAD2DE10DD2E04959C1B28AA0 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 8D80B17FFD19E1059251B7AA6DA966BB; + remoteGlobalIDString = A2810CFD2F7804F4DDEE293DAF0CB816; + remoteInfo = Result; + }; + DA388092F0C7A16237CDD36190F7640F /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = ED23BA911866CDCD4E089941642E31C9; remoteInfo = Quick; }; + E840003EA4A4A4DD21E989A19ACE946A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 84EC6C9ECBA41963BF9D7768FFEB1007; + remoteInfo = "Pods-Japx_Example"; + }; + EDD8231D9E41A0170903C8735FF7A505 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 13E8BC2B8F78489CAA88ADF133AF25E9; + remoteInfo = RxSwift; + }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 00523230D0263E1914B5D6E9D9D02482 /* InfiniteSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InfiniteSequence.swift; path = Platform/DataStructures/InfiniteSequence.swift; sourceTree = ""; }; - 00548BAE91F8EBAC6A1F26FD7965E408 /* PublishSubject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PublishSubject.swift; path = RxSwift/Subjects/PublishSubject.swift; sourceTree = ""; }; - 0066A524B7EC6E8D33FFB87B06696AB0 /* World+DSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "World+DSL.swift"; path = "Sources/Quick/DSL/World+DSL.swift"; sourceTree = ""; }; - 0154895DF07E6B30F910888318E4F0AD /* URL+FileName.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "URL+FileName.swift"; path = "Sources/Quick/URL+FileName.swift"; sourceTree = ""; }; - 02BAEC26EACF6C2DF93DDA2C7041DE93 /* Lock.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Lock.swift; path = RxSwift/Concurrency/Lock.swift; sourceTree = ""; }; - 037773F08922DAA566B17C49EAE78648 /* ObservableType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObservableType.swift; path = RxSwift/ObservableType.swift; sourceTree = ""; }; - 038C19ABD182805E8DFE584C76872123 /* BeLessThanOrEqual.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeLessThanOrEqual.swift; path = Sources/Nimble/Matchers/BeLessThanOrEqual.swift; sourceTree = ""; }; - 03A011C2B92675A1E945C8589797B124 /* String+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+Rx.swift"; path = "RxSwift/Extensions/String+Rx.swift"; sourceTree = ""; }; - 04D61A3BA08BE6CF90D507C5BD9C0724 /* HaveCount.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HaveCount.swift; path = Sources/Nimble/Matchers/HaveCount.swift; sourceTree = ""; }; - 052FEE40347F4ED7797526ADB365577C /* QuickSpecBase.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = QuickSpecBase.h; path = Sources/QuickSpecBase/include/QuickSpecBase.h; sourceTree = ""; }; - 05E21AAF28B2AB4181ACA225F7AB0510 /* CurrentThreadScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CurrentThreadScheduler.swift; path = RxSwift/Schedulers/CurrentThreadScheduler.swift; sourceTree = ""; }; - 067A78E146F046EEED509D030588A248 /* SynchronizedDisposeType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SynchronizedDisposeType.swift; path = RxSwift/Concurrency/SynchronizedDisposeType.swift; sourceTree = ""; }; - 074CFE3CD2E45B7561678C97A0518927 /* Sequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Sequence.swift; path = RxSwift/Observables/Sequence.swift; sourceTree = ""; }; - 079EA2F46F0155E1CB4846F9F78F848E /* Sink.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Sink.swift; path = RxSwift/Observables/Sink.swift; sourceTree = ""; }; - 083E6DE1D634F485952B15D7530BD236 /* CwlDarwinDefinitions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CwlDarwinDefinitions.swift; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlPreconditionTesting/CwlDarwinDefinitions.swift; sourceTree = ""; }; - 08CD26AF27AD1C14D9B83F74D0821C56 /* TakeLast.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TakeLast.swift; path = RxSwift/Observables/TakeLast.swift; sourceTree = ""; }; - 09879FC4C8B25CAE96DF055AAE8D9246 /* RxSwift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxSwift-prefix.pch"; sourceTree = ""; }; - 0A4BB666826A5D9D6CC7578046098AD6 /* Pods-Japx_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Japx_Tests.debug.xcconfig"; sourceTree = ""; }; - 0A56D37588F1AE973B96C0EB0A0FE439 /* SwitchIfEmpty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwitchIfEmpty.swift; path = RxSwift/Observables/SwitchIfEmpty.swift; sourceTree = ""; }; - 0ADC503F14629E708672F9224A3B209A /* Empty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Empty.swift; path = RxSwift/Observables/Empty.swift; sourceTree = ""; }; - 0B3EC680002145D1CA5CA6F871A22BDE /* ReplaySubject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ReplaySubject.swift; path = RxSwift/Subjects/ReplaySubject.swift; sourceTree = ""; }; - 0B5658991929C1FAF1AB94268FACF2AD /* ContainElementSatisfying.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ContainElementSatisfying.swift; path = Sources/Nimble/Matchers/ContainElementSatisfying.swift; sourceTree = ""; }; - 0B7E93815BEBBD07BF13E76FAE786384 /* Repeat.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Repeat.swift; path = RxSwift/Observables/Repeat.swift; sourceTree = ""; }; - 0C7C371FDC4AF3477CDE33E2976A4520 /* Enumerated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Enumerated.swift; path = RxSwift/Observables/Enumerated.swift; sourceTree = ""; }; - 0E4E9F7C630528A8BD32AB500AA6E70D /* Pods-Japx_Example-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Japx_Example-resources.sh"; sourceTree = ""; }; - 0F125FDA9DD4D11A8373B4B8DFF00663 /* ScheduledDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ScheduledDisposable.swift; path = RxSwift/Disposables/ScheduledDisposable.swift; sourceTree = ""; }; - 0F3A051D1F47EDE746E2A7E27DDECD04 /* ParameterEncoding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ParameterEncoding.swift; path = Source/ParameterEncoding.swift; sourceTree = ""; }; - 0F5589B275C5F60829B3701EB3CA7DE2 /* QCKDSL.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = QCKDSL.m; path = Sources/QuickObjectiveC/DSL/QCKDSL.m; sourceTree = ""; }; - 0FA30BA7DAD552B1A93F8A9F784B55BD /* Reactive.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Reactive.swift; path = RxSwift/Reactive.swift; sourceTree = ""; }; - 10025FCA582FE116474572162EBE0908 /* Event.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Event.swift; path = RxSwift/Event.swift; sourceTree = ""; }; - 105F90F7282EE3DE064B05EB0435E2C7 /* QuickSpec.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = QuickSpec.h; path = Sources/QuickObjectiveC/QuickSpec.h; sourceTree = ""; }; - 10F2D0413D0AFCD8103B205E351E0FFD /* Pods-Japx_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Japx_Tests-acknowledgements.plist"; sourceTree = ""; }; - 115D2AF64BD603B587662B7B665AC826 /* MainScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MainScheduler.swift; path = RxSwift/Schedulers/MainScheduler.swift; sourceTree = ""; }; - 118E9674AD142D35AB824A19F89F92BE /* Stringers.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Stringers.swift; path = Sources/Nimble/Utils/Stringers.swift; sourceTree = ""; }; - 1270BE528B2945A8FE806AE5F8BDBB85 /* Pods-Japx_Tests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Japx_Tests-frameworks.sh"; sourceTree = ""; }; - 1330A538B316793D311A8FC360B62C6D /* SkipUntil.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SkipUntil.swift; path = RxSwift/Observables/SkipUntil.swift; sourceTree = ""; }; - 13CF1D961FB293C796AE38939191FACF /* Zip+Collection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Zip+Collection.swift"; path = "RxSwift/Observables/Zip+Collection.swift"; sourceTree = ""; }; - 14CC75C42A789023A911BA311F90AC07 /* InvocableScheduledItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InvocableScheduledItem.swift; path = RxSwift/Schedulers/Internal/InvocableScheduledItem.swift; sourceTree = ""; }; - 15F69E4CDEBEBC74C2886CC935A74C99 /* Quick-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Quick-prefix.pch"; sourceTree = ""; }; - 1735312D340D5865D497D65007E2AED0 /* Pods-Japx_Tests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-Japx_Tests-umbrella.h"; sourceTree = ""; }; - 17E42F780B018765E8895A4757AE99B7 /* SingleAsync.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SingleAsync.swift; path = RxSwift/Observables/SingleAsync.swift; sourceTree = ""; }; - 1876A5676EA428369212FEC44959AA55 /* Dematerialize.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Dematerialize.swift; path = RxSwift/Observables/Dematerialize.swift; sourceTree = ""; }; - 18BA2207C4CD41EBF48FC00ABBBFBE2E /* NimbleXCTestHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NimbleXCTestHandler.swift; path = Sources/Nimble/Adapters/NimbleXCTestHandler.swift; sourceTree = ""; }; - 18DA7B4E2C92193CD0FBC77BD67D82F5 /* ObserverType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObserverType.swift; path = RxSwift/ObserverType.swift; sourceTree = ""; }; - 199E32C7CFC03F19441EAC1863FA61E4 /* RefCountDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RefCountDisposable.swift; path = RxSwift/Disposables/RefCountDisposable.swift; sourceTree = ""; }; - 19FD1C8E394C68AEDE4E45F943B5AFC3 /* SourceLocation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SourceLocation.swift; path = Sources/Nimble/Utils/SourceLocation.swift; sourceTree = ""; }; - 1ACC4749EA0948D58B108FDF7F64721E /* Example.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Example.swift; path = Sources/Quick/Example.swift; sourceTree = ""; }; - 1AD993A2A11D6A52D4D8CA71AF40A388 /* Quick-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Quick-umbrella.h"; sourceTree = ""; }; - 1AEF9222AAA8E0733D95C8D6B55CF4C4 /* DelaySubscription.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DelaySubscription.swift; path = RxSwift/Observables/DelaySubscription.swift; sourceTree = ""; }; - 1CA2B82B5F13B08478940759EF8358E8 /* Alamofire.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Alamofire.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 1E87AEEB57283BB00F3457829C4DD2B0 /* AnonymousObserver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnonymousObserver.swift; path = RxSwift/Observers/AnonymousObserver.swift; sourceTree = ""; }; - 1EB9C383CF1317A7DFFC29BC82B8F07E /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; - 20FA1C6050DE20DDD68D96F9375367F6 /* Multicast.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Multicast.swift; path = RxSwift/Observables/Multicast.swift; sourceTree = ""; }; - 216B0FE5458AD740CD800577BCA431B8 /* StartWith.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StartWith.swift; path = RxSwift/Observables/StartWith.swift; sourceTree = ""; }; - 21C53CE1D51F9C233E64FC5C98AB12C1 /* Amb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Amb.swift; path = RxSwift/Observables/Amb.swift; sourceTree = ""; }; - 21F560EF55C7D8C17CCE9EA6758740EE /* QCKDSL.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = QCKDSL.h; path = Sources/QuickObjectiveC/DSL/QCKDSL.h; sourceTree = ""; }; - 2297755880CA1360AA9D5E2F6D9EA0E3 /* Japx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Japx.swift; path = Japx/Classes/Core/Japx.swift; sourceTree = ""; }; - 2329FE822D335182725B17A4C55F35BF /* Merge.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Merge.swift; path = RxSwift/Observables/Merge.swift; sourceTree = ""; }; - 249BC1E14888C1258B92083FE3822344 /* SubscribeOn.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SubscribeOn.swift; path = RxSwift/Observables/SubscribeOn.swift; sourceTree = ""; }; - 250446796C41D2870101F382CC5F188D /* Japx.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; path = Japx.podspec; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 268E9C65DD45A2A09E30A60FAC728E8F /* AFError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AFError.swift; path = Source/AFError.swift; sourceTree = ""; }; - 27C41284E5A1F9BA1B8104577A938209 /* ExpectationMessage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExpectationMessage.swift; path = Sources/Nimble/ExpectationMessage.swift; sourceTree = ""; }; - 28504DFC5C78BB998DA212F304E6CAB5 /* Catch.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Catch.swift; path = RxSwift/Observables/Catch.swift; sourceTree = ""; }; - 287F8AEE013462052FC021EAE107A568 /* ErrorUtility.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ErrorUtility.swift; path = Sources/Quick/ErrorUtility.swift; sourceTree = ""; }; - 29882C9887010BB260EBA8CB15F720B3 /* DisposeBase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DisposeBase.swift; path = RxSwift/Disposables/DisposeBase.swift; sourceTree = ""; }; - 2AF6CB3C3D3757A5747C75C1D11E5877 /* CwlCatchException.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CwlCatchException.m; path = Carthage/Checkouts/CwlCatchException/Sources/CwlCatchExceptionSupport/CwlCatchException.m; sourceTree = ""; }; - 2B4A7C9F02535DBEF3369D81F9540A47 /* CwlCatchException.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CwlCatchException.swift; path = Carthage/Checkouts/CwlCatchException/Sources/CwlCatchException/CwlCatchException.swift; sourceTree = ""; }; - 2C0CE75D766D6CE10B287AED5F0B1045 /* ResponseSerialization.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ResponseSerialization.swift; path = Source/ResponseSerialization.swift; sourceTree = ""; }; - 2CAC9260E9F45CB6F2433F2D4B40629B /* Filter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Filter.swift; path = RxSwift/Observables/Filter.swift; sourceTree = ""; }; - 2E0F6540280E217543515B0D778FF272 /* Japx-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Japx-prefix.pch"; sourceTree = ""; }; - 2E337F83919CE4DD127D3F17C17E1CAE /* SchedulerServices+Emulation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "SchedulerServices+Emulation.swift"; path = "RxSwift/Schedulers/SchedulerServices+Emulation.swift"; sourceTree = ""; }; - 2E7CA6C84587D7F4B6787197088C3E6D /* Validation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Validation.swift; path = Source/Validation.swift; sourceTree = ""; }; - 2ECA9B5908A76D8E8E708D3DED8408AE /* Bag.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Bag.swift; path = Platform/DataStructures/Bag.swift; sourceTree = ""; }; - 30C2C1C92381EDF6290FE7FE231B5878 /* SatisfyAnyOf.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SatisfyAnyOf.swift; path = Sources/Nimble/Matchers/SatisfyAnyOf.swift; sourceTree = ""; }; - 313B36FCA6E6ED617A0A898DFF958EE7 /* JapxAlamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = JapxAlamofire.swift; path = Japx/Classes/Alamofire/JapxAlamofire.swift; sourceTree = ""; }; - 313FA9F60E41A7A978F04BA01F735842 /* Japx.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = Japx.modulemap; sourceTree = ""; }; - 31D8F2B011DD4D668D22D4B934A410C2 /* Expression.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Expression.swift; path = Sources/Nimble/Expression.swift; sourceTree = ""; }; - 324CA97B04AA87FF722CECE6992D6245 /* Bag+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Bag+Rx.swift"; path = "RxSwift/Extensions/Bag+Rx.swift"; sourceTree = ""; }; - 32CE93F156699EF82D4255180FCFA9F5 /* SingleAssignmentDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SingleAssignmentDisposable.swift; path = RxSwift/Disposables/SingleAssignmentDisposable.swift; sourceTree = ""; }; - 34BA459FC9CCA4108DCDC867D44E9F4D /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - 364745B4A2B2DC826269A2BFAEEABAB0 /* Zip+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Zip+arity.swift"; path = "RxSwift/Observables/Zip+arity.swift"; sourceTree = ""; }; - 39F627B6E3B31C264C3CF5DDA9E03252 /* Pods-Japx_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-Japx_Tests-acknowledgements.markdown"; sourceTree = ""; }; - 3A112C0B91CEF1630FE54DCA13FC3788 /* Nimble.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Nimble.xcconfig; sourceTree = ""; }; - 3A4BFF354997AE420A769E6E96AEF7A0 /* DisposeBag.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DisposeBag.swift; path = RxSwift/Disposables/DisposeBag.swift; sourceTree = ""; }; - 3A9EA5C9CE41A2599527B641A7C5ED86 /* SessionDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SessionDelegate.swift; path = Source/SessionDelegate.swift; sourceTree = ""; }; - 3AF5A0D48BA3B862D2D2D3C093E2E173 /* Quick.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Quick.h; path = Sources/QuickObjectiveC/Quick.h; sourceTree = ""; }; - 3B076C7D04F563FDF34B2706C62954F1 /* AssertionDispatcher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AssertionDispatcher.swift; path = Sources/Nimble/Adapters/AssertionDispatcher.swift; sourceTree = ""; }; - 3BCE198B8FFAD1BB5E1C661463E29027 /* Pods-Japx_Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Japx_Example-frameworks.sh"; sourceTree = ""; }; - 3C57122A997A35A6219DFFC7E9BEA64F /* ObservableType+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableType+Extensions.swift"; path = "RxSwift/ObservableType+Extensions.swift"; sourceTree = ""; }; - 3DDC7ED28FBB04564910C85643299195 /* Just.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Just.swift; path = RxSwift/Observables/Just.swift; sourceTree = ""; }; - 3F67E2A9AA84A27111CAB918C938A8E7 /* NMBObjCMatcher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NMBObjCMatcher.swift; path = Sources/Nimble/Adapters/NMBObjCMatcher.swift; sourceTree = ""; }; - 3FA61843B4ED051E444D708685226773 /* CwlCatchBadInstruction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CwlCatchBadInstruction.swift; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlPreconditionTesting/CwlCatchBadInstruction.swift; sourceTree = ""; }; - 42DD9857C631351E474828B68F45F556 /* Scan.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Scan.swift; path = RxSwift/Observables/Scan.swift; sourceTree = ""; }; - 437B2E076FDA4C55BD47576B3B9226FA /* NMBStringify.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = NMBStringify.m; path = Sources/NimbleObjectiveC/NMBStringify.m; sourceTree = ""; }; - 4445D2D3E1C06EBB9D3A819D2BFF5474 /* Result.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Result.swift; path = Source/Result.swift; sourceTree = ""; }; - 44EBC51E25E78405384286FF0D732206 /* BeCloseTo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeCloseTo.swift; path = Sources/Nimble/Matchers/BeCloseTo.swift; sourceTree = ""; }; - 458ECD6884289595A3107155F5BE1F5C /* RxSwift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "RxSwift-dummy.m"; sourceTree = ""; }; - 47428B5639FBDEBDA304B0CA654EB5BB /* AnyObserver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnyObserver.swift; path = RxSwift/AnyObserver.swift; sourceTree = ""; }; - 47B871B3CAED2808EDE55AB0AEE37093 /* Response.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Response.swift; path = Source/Response.swift; sourceTree = ""; }; - 4890B059FA97D8A32DD1EA3B8AB293B5 /* BeIdenticalTo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeIdenticalTo.swift; path = Sources/Nimble/Matchers/BeIdenticalTo.swift; sourceTree = ""; }; - 49ED35B5C880A926C6DDAAA853BBA9FA /* Nimble-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Nimble-prefix.pch"; sourceTree = ""; }; - 4A0149C89142E332D1AF21EBD653D6A3 /* Completable+AndThen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Completable+AndThen.swift"; path = "RxSwift/Traits/Completable+AndThen.swift"; sourceTree = ""; }; - 4A2B786E2DD7AAFDB2B2151CE645454B /* EndWith.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EndWith.swift; path = Sources/Nimble/Matchers/EndWith.swift; sourceTree = ""; }; - 4A507EFB75564F8147DF105B71812B81 /* Errors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Errors.swift; path = RxSwift/Errors.swift; sourceTree = ""; }; - 4BBDDE699DCA7ED0627585151FBC55EB /* Timeout.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Timeout.swift; path = RxSwift/Observables/Timeout.swift; sourceTree = ""; }; - 4C815370BC38CCF7DB3AC27156333975 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 4DBD0813F3547174C6A3088B497B8451 /* PriorityQueue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PriorityQueue.swift; path = Platform/DataStructures/PriorityQueue.swift; sourceTree = ""; }; - 4DE21072675A1A570C9629203BFBEE82 /* Quick-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Quick-dummy.m"; sourceTree = ""; }; - 4E7AD6A9F6814D9221B62E5B2CD7F576 /* Never.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Never.swift; path = RxSwift/Observables/Never.swift; sourceTree = ""; }; - 4E8F8222D03579ACB0ECBE9A8A59BFC7 /* Sample.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Sample.swift; path = RxSwift/Observables/Sample.swift; sourceTree = ""; }; - 4FBFB8FE0C62CB6CC9078D8760AD62D6 /* Disposables.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Disposables.swift; path = RxSwift/Disposables/Disposables.swift; sourceTree = ""; }; - 50068E6E8FBE7B01CCF0E7931673F5D7 /* NSBundle+CurrentTestBundle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSBundle+CurrentTestBundle.swift"; path = "Sources/Quick/NSBundle+CurrentTestBundle.swift"; sourceTree = ""; }; - 50A1ED302A17E942BF256E58DE2FFB39 /* Pods-Japx_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-Japx_Example-acknowledgements.markdown"; sourceTree = ""; }; - 5249FD117E6411CC9CCD18D2D2740AD6 /* World.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = World.h; path = Sources/QuickObjectiveC/World.h; sourceTree = ""; }; - 542F6846F3B4D9B107C65A547EFBFC9E /* Debounce.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Debounce.swift; path = RxSwift/Observables/Debounce.swift; sourceTree = ""; }; - 54807B9E8CA013A5FF01809967A12ED5 /* Pods-Japx_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = "Pods-Japx_Example.modulemap"; sourceTree = ""; }; - 54821BB42904E50A738AAD0388C077D4 /* Disposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Disposable.swift; path = RxSwift/Disposable.swift; sourceTree = ""; }; - 569109481AA868B84E487C40B1F677E8 /* CombineLatest+Collection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "CombineLatest+Collection.swift"; path = "RxSwift/Observables/CombineLatest+Collection.swift"; sourceTree = ""; }; - 5A04CEE5ED96AB41F021B1EC7A47A39F /* Alamofire-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Alamofire-prefix.pch"; sourceTree = ""; }; - 5A771BDF71AC5E2C1440AAE33D0C153C /* HooksPhase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HooksPhase.swift; path = Sources/Quick/Hooks/HooksPhase.swift; sourceTree = ""; }; - 5ADC9D134A9FB7A2B97360F96081BB5F /* AsMaybe.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsMaybe.swift; path = RxSwift/Observables/AsMaybe.swift; sourceTree = ""; }; - 5B232D2C999B17D8228B3AB2B2DDB7E9 /* Errors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Errors.swift; path = Sources/Nimble/Utils/Errors.swift; sourceTree = ""; }; - 5DD052F9A5416B2358B0F4BFD9EC8296 /* Alamofire-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Alamofire-umbrella.h"; sourceTree = ""; }; - 5F9C7472DADB65F9513C309CC3083249 /* CombineLatest+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "CombineLatest+arity.swift"; path = "RxSwift/Observables/CombineLatest+arity.swift"; sourceTree = ""; }; - 6061E0E41E6E9E9718B38DE9EAD51111 /* ThrowAssertion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ThrowAssertion.swift; path = Sources/Nimble/Matchers/ThrowAssertion.swift; sourceTree = ""; }; - 63223F5732426B5C41FD59D0F32AF283 /* ThrowError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ThrowError.swift; path = Sources/Nimble/Matchers/ThrowError.swift; sourceTree = ""; }; - 6391860AA2FED2C1ABD304DB5B8DBD44 /* CompositeDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CompositeDisposable.swift; path = RxSwift/Disposables/CompositeDisposable.swift; sourceTree = ""; }; - 65701D077A3072AFBA3AD2905F111FA5 /* BinaryDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BinaryDisposable.swift; path = RxSwift/Disposables/BinaryDisposable.swift; sourceTree = ""; }; - 667088F20DA4DA9BD670F13532D877A0 /* SynchronizedOnType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SynchronizedOnType.swift; path = RxSwift/Concurrency/SynchronizedOnType.swift; sourceTree = ""; }; - 6799B047391520643DDAD7FA4BF34BF0 /* CwlMachBadInstructionHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CwlMachBadInstructionHandler.h; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlMachBadInstructionHandler/include/CwlMachBadInstructionHandler.h; sourceTree = ""; }; - 67B422C681BDAE2ABC153415D54DBBBC /* Quick.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Quick.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 682B065B025D559DF4971BC66D3AE1F1 /* SwiftSupport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwiftSupport.swift; path = RxSwift/SwiftSupport/SwiftSupport.swift; sourceTree = ""; }; - 697005094FD61AC8662B6EB6E9DEA33E /* CwlCatchException.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CwlCatchException.h; path = Carthage/Checkouts/CwlCatchException/Sources/CwlCatchExceptionSupport/include/CwlCatchException.h; sourceTree = ""; }; - 6974958B3C17E278FF09E0A95E1502A6 /* Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Deprecated.swift; path = RxSwift/Deprecated.swift; sourceTree = ""; }; - 698ADA71B26874A5F56087166E6181F3 /* QuickConfiguration.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = QuickConfiguration.m; path = Sources/QuickObjectiveC/Configuration/QuickConfiguration.m; sourceTree = ""; }; - 6A888DD7166830ADB9331E9A49069259 /* Equal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Equal.swift; path = Sources/Nimble/Matchers/Equal.swift; sourceTree = ""; }; - 6C2BE0FCF915519EDB81B9010D190509 /* VirtualTimeScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = VirtualTimeScheduler.swift; path = RxSwift/Schedulers/VirtualTimeScheduler.swift; sourceTree = ""; }; - 6C31A9C55AAAA02E782DD2DDF26AE45C /* Platform.Linux.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Platform.Linux.swift; path = Platform/Platform.Linux.swift; sourceTree = ""; }; - 6C9646D6B27A51FEB7760FFD7ABA8FE3 /* ObservableType+PrimitiveSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableType+PrimitiveSequence.swift"; path = "RxSwift/Traits/ObservableType+PrimitiveSequence.swift"; sourceTree = ""; }; - 6F54173CC08A3DADFB0A9D088F487071 /* ExampleHooks.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExampleHooks.swift; path = Sources/Quick/Hooks/ExampleHooks.swift; sourceTree = ""; }; - 6FB19C2E0495662C1CA7CBEA098BB9E2 /* ExampleGroup.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExampleGroup.swift; path = Sources/Quick/ExampleGroup.swift; sourceTree = ""; }; - 707089661FC952DB94FA9C9841F5C0AF /* Maybe.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Maybe.swift; path = RxSwift/Traits/Maybe.swift; sourceTree = ""; }; - 71662F638FB767799CAF66059B8D107A /* ConnectableObservableType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConnectableObservableType.swift; path = RxSwift/ConnectableObservableType.swift; sourceTree = ""; }; - 71E840C6F4C203668391A3CED393AB13 /* Match.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Match.swift; path = Sources/Nimble/Matchers/Match.swift; sourceTree = ""; }; - 7275D8608A3EF9F362876206E7113B2D /* SubscriptionDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SubscriptionDisposable.swift; path = RxSwift/Disposables/SubscriptionDisposable.swift; sourceTree = ""; }; - 727B1E9DD3434B19FCE08F90D7A87546 /* NMBStringify.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = NMBStringify.h; path = Sources/NimbleObjectiveC/NMBStringify.h; sourceTree = ""; }; - 73A3DB43F08D1F1130C8C47606C75BFC /* OperationQueueScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = OperationQueueScheduler.swift; path = RxSwift/Schedulers/OperationQueueScheduler.swift; sourceTree = ""; }; - 74C6C05C94C4E74D0B6D41B510B72225 /* CwlMachBadInstructionHandler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CwlMachBadInstructionHandler.m; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlMachBadInstructionHandler/CwlMachBadInstructionHandler.m; sourceTree = ""; }; - 751BFBAC89F1C4D240E927CE00D3E572 /* AsyncMatcherWrapper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsyncMatcherWrapper.swift; path = Sources/Nimble/Matchers/AsyncMatcherWrapper.swift; sourceTree = ""; }; - 792B5B264B714DAF85A5A5C7E1148443 /* Nimble-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Nimble-umbrella.h"; sourceTree = ""; }; - 7976A3521A8469AA75056638F5B90E68 /* XCTestSuite+QuickTestSuiteBuilder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "XCTestSuite+QuickTestSuiteBuilder.m"; path = "Sources/QuickObjectiveC/XCTestSuite+QuickTestSuiteBuilder.m"; sourceTree = ""; }; - 798503352437186E021492F2E1529571 /* MatcherFunc.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MatcherFunc.swift; path = Sources/Nimble/Matchers/MatcherFunc.swift; sourceTree = ""; }; - 7A4D662E75A20B78E2D3E0D9D2BF5488 /* Nimble.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = Nimble.modulemap; sourceTree = ""; }; - 7ABFFC41CD51253E95153D617F22667B /* Optional.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Optional.swift; path = RxSwift/Observables/Optional.swift; sourceTree = ""; }; - 7B3963D55647AAE13B2ABE9E4969D6C7 /* SchedulerType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SchedulerType.swift; path = RxSwift/SchedulerType.swift; sourceTree = ""; }; - 7BC0203F68825B665D6E24AC418105D2 /* Nimble.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Nimble.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 7BFC4B71347026DF6B17A06DF1A56FEA /* NSString+C99ExtendedIdentifier.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSString+C99ExtendedIdentifier.swift"; path = "Sources/Quick/NSString+C99ExtendedIdentifier.swift"; sourceTree = ""; }; - 7D3C5987BE3BDCC72FD32C7F4D8DF819 /* Concat.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Concat.swift; path = RxSwift/Observables/Concat.swift; sourceTree = ""; }; - 7D3D90744BD570D6FC6EDBABA5E21172 /* BeLessThan.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeLessThan.swift; path = Sources/Nimble/Matchers/BeLessThan.swift; sourceTree = ""; }; - 7D75DCB847C7B5310C4AFE3A8D41846E /* RaisesException.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RaisesException.swift; path = Sources/Nimble/Matchers/RaisesException.swift; sourceTree = ""; }; - 7E7178C22D9FEA5A0AFB0F5D97D3B881 /* Nimble-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Nimble-dummy.m"; sourceTree = ""; }; - 7E9033A4DFD9D2B13338886973253B7C /* JapxCodable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = JapxCodable.swift; path = Japx/Classes/Codable/JapxCodable.swift; sourceTree = ""; }; - 81EB6960202A0523E2FA7F40638354A1 /* Behavior.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Behavior.swift; path = Sources/Quick/Behavior.swift; sourceTree = ""; }; - 839C803921C384FAB1498421D819A80A /* BeEmpty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeEmpty.swift; path = Sources/Nimble/Matchers/BeEmpty.swift; sourceTree = ""; }; - 83CC1F2D168EC1115D72BF4E9DCFFD90 /* AsyncSubject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsyncSubject.swift; path = RxSwift/Subjects/AsyncSubject.swift; sourceTree = ""; }; - 846F8D8FACA6C6088F86171D07229A76 /* Async.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Async.swift; path = Sources/Nimble/Utils/Async.swift; sourceTree = ""; }; - 84FB2A8A2E32EA4D8E111CE2EB9E68ED /* Debug.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Debug.swift; path = RxSwift/Observables/Debug.swift; sourceTree = ""; }; - 87218742C41108C1125E87CF1BF2636E /* BehaviorSubject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BehaviorSubject.swift; path = RxSwift/Subjects/BehaviorSubject.swift; sourceTree = ""; }; - 87CB365772D4AB4BAC4F276BABBF0FA7 /* Closures.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Closures.swift; path = Sources/Quick/Hooks/Closures.swift; sourceTree = ""; }; - 8836E9F02ED6A7274EABF58918D0E55F /* AdapterProtocols.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AdapterProtocols.swift; path = Sources/Nimble/Adapters/AdapterProtocols.swift; sourceTree = ""; }; - 885419A71A750BDC233BD1762001C7E9 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 898B36208C53945A0BD5975C58D26C19 /* Timeline.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Timeline.swift; path = Source/Timeline.swift; sourceTree = ""; }; - 89EDBC25DE24A5D7A9BD94B39228F411 /* Pods-Japx_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Japx_Tests.release.xcconfig"; sourceTree = ""; }; - 8A0255F4BDEB13C57743F341515828CD /* MultipartFormData.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MultipartFormData.swift; path = Source/MultipartFormData.swift; sourceTree = ""; }; - 8A5D64D4CB3970CC41325C63068D3385 /* Japx.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Japx.xcconfig; sourceTree = ""; }; - 8A92F103D54975DCB696C7A6DF4AA166 /* Reduce.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Reduce.swift; path = RxSwift/Observables/Reduce.swift; sourceTree = ""; }; - 8B0CF9B3E3B805E2577C267913985B36 /* Filter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Filter.swift; path = Sources/Quick/Filter.swift; sourceTree = ""; }; - 8B2DCB8269C4E998FFBCA4F6D651046D /* RecursiveLock.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RecursiveLock.swift; path = Platform/RecursiveLock.swift; sourceTree = ""; }; - 8B98085EA95080D58651A79EABD8C0BD /* TakeWhile.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TakeWhile.swift; path = RxSwift/Observables/TakeWhile.swift; sourceTree = ""; }; - 8BB1BC87779E2F49D1309AC46EE06AAA /* ScheduledItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ScheduledItem.swift; path = RxSwift/Schedulers/Internal/ScheduledItem.swift; sourceTree = ""; }; - 8C39CEBD744C1A9180438DD8B9D960DF /* Using.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Using.swift; path = RxSwift/Observables/Using.swift; sourceTree = ""; }; - 8C4A6F1FA192EE0F2DABD350DDF97D1A /* Range.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Range.swift; path = RxSwift/Observables/Range.swift; sourceTree = ""; }; - 8D391DC86DCA48185A622775944706C6 /* BeginWith.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeginWith.swift; path = Sources/Nimble/Matchers/BeginWith.swift; sourceTree = ""; }; - 8DEF053D251A1FB1F8E299B9824D4247 /* AsyncLock.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsyncLock.swift; path = RxSwift/Concurrency/AsyncLock.swift; sourceTree = ""; }; - 90009DC6A28C371D5F59D7A2C730CB9F /* SerialDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SerialDisposable.swift; path = RxSwift/Disposables/SerialDisposable.swift; sourceTree = ""; }; - 90315A8C49392ACA3BDD49C010911FB6 /* ImmediateSchedulerType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImmediateSchedulerType.swift; path = RxSwift/ImmediateSchedulerType.swift; sourceTree = ""; }; - 903A18F62D9865F6ED5F9CA1BE50C4A8 /* ConcurrentDispatchQueueScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConcurrentDispatchQueueScheduler.swift; path = RxSwift/Schedulers/ConcurrentDispatchQueueScheduler.swift; sourceTree = ""; }; - 91119C9F6EB4094361252ED031F33D22 /* Materialize.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Materialize.swift; path = RxSwift/Observables/Materialize.swift; sourceTree = ""; }; - 91BAE8AC939D90CBD1FE62D3DB93F983 /* WithLatestFrom.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WithLatestFrom.swift; path = RxSwift/Observables/WithLatestFrom.swift; sourceTree = ""; }; - 92FE598729E7160B39EFCDB1912A0336 /* Pods-Japx_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-Japx_Example-umbrella.h"; sourceTree = ""; }; - 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 9417B252A87A2766CE78F456B40F0F0E /* CombineLatest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CombineLatest.swift; path = RxSwift/Observables/CombineLatest.swift; sourceTree = ""; }; - 95E42258FAFB6EEB406372AA64AEF031 /* TaskDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TaskDelegate.swift; path = Source/TaskDelegate.swift; sourceTree = ""; }; - 960FF17E70FD45843714BBEA27709973 /* Configuration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Configuration.swift; path = Sources/Quick/Configuration/Configuration.swift; sourceTree = ""; }; - 9618A38A1BE99355DCCDDB262F75DCC7 /* PrimitiveSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PrimitiveSequence.swift; path = RxSwift/Traits/PrimitiveSequence.swift; sourceTree = ""; }; - 966F637A113B41B67C494C7B70CD53B5 /* Expectation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Expectation.swift; path = Sources/Nimble/Expectation.swift; sourceTree = ""; }; - 971B0E7A8670959665C1E6E99A9E787C /* CwlBadInstructionException.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CwlBadInstructionException.swift; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlPreconditionTesting/CwlBadInstructionException.swift; sourceTree = ""; }; - 97253BD23FFE71484DEBCC6B8C7069F9 /* GroupedObservable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GroupedObservable.swift; path = RxSwift/GroupedObservable.swift; sourceTree = ""; }; - 9755D95591A6CE47328DB68A733307C0 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; - 9787FD32D4F56CE298741D1362BA125D /* Throttle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Throttle.swift; path = RxSwift/Observables/Throttle.swift; sourceTree = ""; }; - 97C8EBD03BDE0C5FA71C0EFA8FB0BC69 /* DistinctUntilChanged.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DistinctUntilChanged.swift; path = RxSwift/Observables/DistinctUntilChanged.swift; sourceTree = ""; }; - 9933303CE4E32D02AC2C5FC47D282D70 /* Alamofire-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Alamofire-dummy.m"; sourceTree = ""; }; - 9946F45C2E4D761E36FA644D176B67EC /* TakeUntil.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TakeUntil.swift; path = RxSwift/Observables/TakeUntil.swift; sourceTree = ""; }; - 99FE3158C3E25E5B8F38A97C197AE66C /* DSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DSL.swift; path = Sources/Quick/DSL/DSL.swift; sourceTree = ""; }; - 9AC93DCA520633F99CF846C3841E6283 /* LockOwnerType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LockOwnerType.swift; path = RxSwift/Concurrency/LockOwnerType.swift; sourceTree = ""; }; - 9AF01413E6EEE4279CCA07D29785E7DE /* Predicate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Predicate.swift; path = Sources/Nimble/Matchers/Predicate.swift; sourceTree = ""; }; - 9BE0E397766E5B068862902E5D30355D /* BeNil.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeNil.swift; path = Sources/Nimble/Matchers/BeNil.swift; sourceTree = ""; }; - 9BE0E5DE916786A224B761D4B5EB05A5 /* QuickConfiguration.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = QuickConfiguration.h; path = Sources/QuickObjectiveC/Configuration/QuickConfiguration.h; sourceTree = ""; }; - 9C5C0F64D55EED2EE62AFC634A6FB91A /* DSL+Wait.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DSL+Wait.swift"; path = "Sources/Nimble/DSL+Wait.swift"; sourceTree = ""; }; - 9C66CE912DD6988E3CDFFC40979A1805 /* JapxCodableAlamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = JapxCodableAlamofire.swift; path = Japx/Classes/CodableAlamofire/JapxCodableAlamofire.swift; sourceTree = ""; }; - 9CE2612588A0713A4ADE0E4D3FF20DA2 /* Pods-Japx_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Japx_Example.debug.xcconfig"; sourceTree = ""; }; - 9D463CDC43BD9759CA0383B258DE9801 /* TailRecursiveSink.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TailRecursiveSink.swift; path = RxSwift/Observers/TailRecursiveSink.swift; sourceTree = ""; }; - 9DA92B3C094355E7C0F2DD2A6712F5D8 /* Platform.Darwin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Platform.Darwin.swift; path = Platform/Platform.Darwin.swift; sourceTree = ""; }; - 9DD1EC05FD9E349BE69440E9C652EFBA /* ExampleMetadata.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExampleMetadata.swift; path = Sources/Quick/ExampleMetadata.swift; sourceTree = ""; }; - 9E207979BAB67CE06F62D5E6894C6CF0 /* NMBExpectation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NMBExpectation.swift; path = Sources/Nimble/Adapters/NMBExpectation.swift; sourceTree = ""; }; - 9F75F04C33A4F822487AE31340CEDBC1 /* Pods-Japx_Tests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = "Pods-Japx_Tests.modulemap"; sourceTree = ""; }; - A085545942D1D7E397D1F13F4282E7F2 /* SubjectType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SubjectType.swift; path = RxSwift/Subjects/SubjectType.swift; sourceTree = ""; }; - A0CD3AFE944ED18B9B7C7DF9CF09BC6D /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - A0D1C49E40C9824F7A57414F340EB5E6 /* Skip.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Skip.swift; path = RxSwift/Observables/Skip.swift; sourceTree = ""; }; - A23986EBD362324D6DBD0E9D7D493F34 /* Alamofire.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Alamofire.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - A247A29FF4347852A9A2613EE7400AA5 /* BeAKindOf.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeAKindOf.swift; path = Sources/Nimble/Matchers/BeAKindOf.swift; sourceTree = ""; }; - A2B7363E87183D6C3C117EA16F819C34 /* Pods-Japx_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Japx_Tests-dummy.m"; sourceTree = ""; }; - A34F289FCD2ABEBDBF19431242F89A0B /* MatchError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MatchError.swift; path = Sources/Nimble/Matchers/MatchError.swift; sourceTree = ""; }; - A374A3385D718B5E1BC5942045B3D4F6 /* Quick.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = Quick.modulemap; sourceTree = ""; }; - A4B6CB2469FD981176F63F9328272695 /* World+DSL.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "World+DSL.h"; path = "Sources/QuickObjectiveC/DSL/World+DSL.h"; sourceTree = ""; }; - A5B412B85883B95D580DF16976B84CC7 /* HistoricalSchedulerTimeConverter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HistoricalSchedulerTimeConverter.swift; path = RxSwift/Schedulers/HistoricalSchedulerTimeConverter.swift; sourceTree = ""; }; - A5D92A47AD6F731AB9D26F529AC70820 /* mach_excServer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mach_excServer.h; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlMachBadInstructionHandler/mach_excServer.h; sourceTree = ""; }; - A645920F4CBD2366A30DD1E41DD3416C /* Japx-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Japx-umbrella.h"; sourceTree = ""; }; - A6B2FF1D56719B0E1299CC841A0E0A3C /* Map.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Map.swift; path = RxSwift/Observables/Map.swift; sourceTree = ""; }; - A8C4A95655D2F368D8ACFB28CC41D040 /* Producer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Producer.swift; path = RxSwift/Observables/Producer.swift; sourceTree = ""; }; - AB4D3208A1875F555588AE8C753EBB19 /* Nimble.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Nimble.h; path = Sources/Nimble/Nimble.h; sourceTree = ""; }; - AB9DEFF2140A36C8EAB1ADE041C2EF1D /* Pods-Japx_Tests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Japx_Tests-resources.sh"; sourceTree = ""; }; - ACA604C309564C3F549216E334793C7A /* BeLogical.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeLogical.swift; path = Sources/Nimble/Matchers/BeLogical.swift; sourceTree = ""; }; - ADDF541BFFF4BC0BBF315FB2200E0E1A /* SkipWhile.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SkipWhile.swift; path = RxSwift/Observables/SkipWhile.swift; sourceTree = ""; }; - AE2AB57CE34609849A6AC549803367B2 /* JapxRxAlamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = JapxRxAlamofire.swift; path = Japx/Classes/RxAlamofire/JapxRxAlamofire.swift; sourceTree = ""; }; - AFA4959C2E495AF4582D368D0EE7DFCB /* NopDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NopDisposable.swift; path = RxSwift/Disposables/NopDisposable.swift; sourceTree = ""; }; - B0664D803A79EE39850AC2BBFD7D0B8A /* Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Rx.swift; path = RxSwift/Rx.swift; sourceTree = ""; }; - B078AC79645C5AC826611D34C99AC651 /* MatcherProtocols.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MatcherProtocols.swift; path = Sources/Nimble/Matchers/MatcherProtocols.swift; sourceTree = ""; }; - B084AE800D01363F8437DB00D433C868 /* PrimitiveSequence+Zip+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "PrimitiveSequence+Zip+arity.swift"; path = "RxSwift/Traits/PrimitiveSequence+Zip+arity.swift"; sourceTree = ""; }; - B11A64B8ED98B96B41BB72FDF55A7DA2 /* BooleanDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BooleanDisposable.swift; path = RxSwift/Disposables/BooleanDisposable.swift; sourceTree = ""; }; - B19084006DE9A333682FCD48BEEC9162 /* Zip.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Zip.swift; path = RxSwift/Observables/Zip.swift; sourceTree = ""; }; - B1C2D3A07F59AF870371697995136CB0 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - B2A84D6C84F30FBE9E9EFDA4D73CE0AE /* ToSucceed.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ToSucceed.swift; path = Sources/Nimble/Matchers/ToSucceed.swift; sourceTree = ""; }; - B2D0AEB2E40A1CD3580FF89AADDB91B0 /* BeVoid.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeVoid.swift; path = Sources/Nimble/Matchers/BeVoid.swift; sourceTree = ""; }; - B53C46DF14DCA66C4490D6AAF143019D /* DispatchQueue+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DispatchQueue+Alamofire.swift"; path = "Source/DispatchQueue+Alamofire.swift"; sourceTree = ""; }; - B70D284E5223A7FC72C970F6428DB969 /* Window.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Window.swift; path = RxSwift/Observables/Window.swift; sourceTree = ""; }; - B81FAC0C845B1B71D26621E12E7CD2C7 /* InvocableType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InvocableType.swift; path = RxSwift/Schedulers/Internal/InvocableType.swift; sourceTree = ""; }; - B874165FC81E48D911712B58130AFB02 /* Single.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Single.swift; path = RxSwift/Traits/Single.swift; sourceTree = ""; }; - B9CF9D23F80A36179D29353E9EA57E3A /* Japx.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Japx.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - BA9886708ABC4A18D6E3A14286A583C3 /* Observable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Observable.swift; path = RxSwift/Observable.swift; sourceTree = ""; }; - BC483F4F3665705DC364550807515527 /* Notifications.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Notifications.swift; path = Source/Notifications.swift; sourceTree = ""; }; - BC8579CD4DEBFFDA2F9F65CFF2A94E5C /* Quick.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Quick.xcconfig; sourceTree = ""; }; - BD5376C8918D5540F732DA8F4F27C8BF /* ServerTrustPolicy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ServerTrustPolicy.swift; path = Source/ServerTrustPolicy.swift; sourceTree = ""; }; - BEC2BD1894D0CE4C5DE875EC3C6DF066 /* Completable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Completable.swift; path = RxSwift/Traits/Completable.swift; sourceTree = ""; }; - BF973934E6FC71710A761CE16268D732 /* QuickTestSuite.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = QuickTestSuite.swift; path = Sources/Quick/QuickTestSuite.swift; sourceTree = ""; }; - BFEA1F5BC5C4B657FECED953BEDC0890 /* Cancelable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cancelable.swift; path = RxSwift/Cancelable.swift; sourceTree = ""; }; - C062B0A66219161792147C4AB804AA09 /* Take.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Take.swift; path = RxSwift/Observables/Take.swift; sourceTree = ""; }; - C22B723860B9CB0C9F3F2E1FD07CAC91 /* BeGreaterThan.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeGreaterThan.swift; path = Sources/Nimble/Matchers/BeGreaterThan.swift; sourceTree = ""; }; - C2709D01215E240F4622813BC698E7C6 /* NMBExceptionCapture.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = NMBExceptionCapture.m; path = Sources/NimbleObjectiveC/NMBExceptionCapture.m; sourceTree = ""; }; - C2D98FB24EA2ED1798969C15C85F552F /* RxSwift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = RxSwift.modulemap; sourceTree = ""; }; - C459B517E950220EB7FB7082A5B583E3 /* Create.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Create.swift; path = RxSwift/Observables/Create.swift; sourceTree = ""; }; - C5E3BE18018C4BF55656762D618EF6BD /* AllPass.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AllPass.swift; path = Sources/Nimble/Matchers/AllPass.swift; sourceTree = ""; }; - C5FD88C5978C7AF5D39A28415385C2F6 /* QuickSelectedTestSuiteBuilder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = QuickSelectedTestSuiteBuilder.swift; path = Sources/Quick/QuickSelectedTestSuiteBuilder.swift; sourceTree = ""; }; - C66DFA6CF552724526629F1688A27262 /* Error.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Error.swift; path = RxSwift/Observables/Error.swift; sourceTree = ""; }; - C68375B9F28124F7B21E644229CC4267 /* DispatchQueueConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DispatchQueueConfiguration.swift; path = RxSwift/Schedulers/Internal/DispatchQueueConfiguration.swift; sourceTree = ""; }; - C7187A72208E6393A69E2B9E2E8DAC7D /* Buffer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Buffer.swift; path = RxSwift/Observables/Buffer.swift; sourceTree = ""; }; - C96045075372EA4A6962ECCE19045740 /* RxSwift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxSwift-umbrella.h"; sourceTree = ""; }; - C9C864871785D202D826BE192B6E6DE6 /* AddRef.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AddRef.swift; path = RxSwift/Observables/AddRef.swift; sourceTree = ""; }; - CA6A52839726EFA8E8063838EFBCF436 /* RecursiveScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RecursiveScheduler.swift; path = RxSwift/Schedulers/RecursiveScheduler.swift; sourceTree = ""; }; - CAF7346BDB24E7BFFA0D97917495C02B /* Functional.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Functional.swift; path = Sources/Nimble/Utils/Functional.swift; sourceTree = ""; }; - CB6A658480CEBF6A16EFD03E923BC5F2 /* Pods-Japx_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Japx_Example-acknowledgements.plist"; sourceTree = ""; }; - CB8E4929B630CD353DDB3A13FD7E6370 /* Callsite.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Callsite.swift; path = Sources/Quick/Callsite.swift; sourceTree = ""; }; - CC4CEB4BA6F8664656E257DC7B6C7EFD /* FailureMessage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FailureMessage.swift; path = Sources/Nimble/FailureMessage.swift; sourceTree = ""; }; - CD2BCDD8EFD286EAF5C64EB115106BCC /* DSL.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DSL.m; path = Sources/NimbleObjectiveC/DSL.m; sourceTree = ""; }; - CE5BC35CCEF5C4390E8514B0AB4AB8E3 /* AsSingle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsSingle.swift; path = RxSwift/Observables/AsSingle.swift; sourceTree = ""; }; - CE7E03418757851DD548577EFB22344C /* Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Alamofire.swift; path = Source/Alamofire.swift; sourceTree = ""; }; - CEAF9FAA7B171C3D0B085B650C71B425 /* mach_excServer.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = mach_excServer.c; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlMachBadInstructionHandler/mach_excServer.c; sourceTree = ""; }; - CF2091B6FA6B24C28FF876A0E514055E /* Pods_Japx_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Japx_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - CF34597E0B31A3DEA59EB05510D557A1 /* Switch.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Switch.swift; path = RxSwift/Observables/Switch.swift; sourceTree = ""; }; - CF4E0F462781508C6CE39DBAC0C54B3C /* Pods_Japx_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Japx_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D083168A2B38A72D806E419BD7D5AE6D /* Generate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Generate.swift; path = RxSwift/Observables/Generate.swift; sourceTree = ""; }; - D1CA87CD664CB9BDCA1ADF0D8CB02FA5 /* World.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = World.swift; path = Sources/Quick/World.swift; sourceTree = ""; }; - D2D649083D03ECAE83EA157EE95428C9 /* DefaultIfEmpty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DefaultIfEmpty.swift; path = RxSwift/Observables/DefaultIfEmpty.swift; sourceTree = ""; }; - D2FB16D357015F6A7B1CA55F15DFB6C0 /* BeGreaterThanOrEqualTo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeGreaterThanOrEqualTo.swift; path = Sources/Nimble/Matchers/BeGreaterThanOrEqualTo.swift; sourceTree = ""; }; - D3082C2B53788431AB6E6D54D94250BF /* ToArray.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ToArray.swift; path = RxSwift/Observables/ToArray.swift; sourceTree = ""; }; - D326CAF5CC696D74701D8222B844D231 /* SuiteHooks.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SuiteHooks.swift; path = Sources/Quick/Hooks/SuiteHooks.swift; sourceTree = ""; }; - D57E32CED7C48F581A4FE64E83AEE79E /* DSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DSL.swift; path = Sources/Nimble/DSL.swift; sourceTree = ""; }; - D5CE0E1FBE0C9ED7777E5AD2314FB622 /* GroupBy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GroupBy.swift; path = RxSwift/Observables/GroupBy.swift; sourceTree = ""; }; - D62659E4452122DC3398A6674F35C5F5 /* DeprecationWarner.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DeprecationWarner.swift; path = Platform/DeprecationWarner.swift; sourceTree = ""; }; - D681D5D0182BBE1E956BD88F968163D2 /* ObserveOn.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObserveOn.swift; path = RxSwift/Observables/ObserveOn.swift; sourceTree = ""; }; - D8722C45C9C02A6DDDF854067A875A04 /* First.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = First.swift; path = RxSwift/Observables/First.swift; sourceTree = ""; }; - DAE808E4DF28D422D69E4BA0347C5EA5 /* NMBExceptionCapture.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = NMBExceptionCapture.h; path = Sources/NimbleObjectiveC/NMBExceptionCapture.h; sourceTree = ""; }; - DE899583FCD2DE91D8C9F909266B87FD /* RetryWhen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RetryWhen.swift; path = RxSwift/Observables/RetryWhen.swift; sourceTree = ""; }; - DFF492C498912CE8DE92C966FD343FD3 /* Pods-Japx_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Japx_Example-dummy.m"; sourceTree = ""; }; - E04F146F81D16880229387978333686D /* RxMutableBox.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxMutableBox.swift; path = RxSwift/RxMutableBox.swift; sourceTree = ""; }; - E1058010A96D80B29FC66DF80177CF84 /* RxSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RxSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - E116481BA77E9D871A8266744F0DD8A8 /* HistoricalScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HistoricalScheduler.swift; path = RxSwift/Schedulers/HistoricalScheduler.swift; sourceTree = ""; }; - E11A2A69662571C92BE8A0CAE1ABBD5E /* QuickSpecBase.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = QuickSpecBase.m; path = Sources/QuickSpecBase/QuickSpecBase.m; sourceTree = ""; }; - E1697CA59BF8706A7A9A3FC53CE5B7FA /* Contain.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Contain.swift; path = Sources/Nimble/Matchers/Contain.swift; sourceTree = ""; }; - E29B1459D55DDCB6045A519C55F66864 /* Request.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Request.swift; path = Source/Request.swift; sourceTree = ""; }; - E3C1BB58EE5A570A9F93068F57631B23 /* NimbleEnvironment.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NimbleEnvironment.swift; path = Sources/Nimble/Adapters/NimbleEnvironment.swift; sourceTree = ""; }; - E3C94665B290279B87070CBA20D47DE8 /* SynchronizedUnsubscribeType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SynchronizedUnsubscribeType.swift; path = RxSwift/Concurrency/SynchronizedUnsubscribeType.swift; sourceTree = ""; }; - E43294C4FBFA81BA9A6CD48CE79E4DFA /* Queue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Queue.swift; path = Platform/DataStructures/Queue.swift; sourceTree = ""; }; - E45FDA44F876FE813761177E4A343EA4 /* VirtualTimeConverterType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = VirtualTimeConverterType.swift; path = RxSwift/Schedulers/VirtualTimeConverterType.swift; sourceTree = ""; }; - E63C726C8FED08FEB860347BCDAECDDE /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - E658C299FC4D72A220D2AC13510598A5 /* CwlPreconditionTesting.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CwlPreconditionTesting.h; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlPreconditionTesting/Mach/CwlPreconditionTesting.h; sourceTree = ""; }; - E6652196BA74CB20494F39BFAFADA9EF /* ObservableConvertibleType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObservableConvertibleType.swift; path = RxSwift/ObservableConvertibleType.swift; sourceTree = ""; }; - E8600EE331791E5534B0600EBDF838BB /* BeAnInstanceOf.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeAnInstanceOf.swift; path = Sources/Nimble/Matchers/BeAnInstanceOf.swift; sourceTree = ""; }; - E8DAC66E795B84776F52EECB31B6D700 /* ConcurrentMainScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConcurrentMainScheduler.swift; path = RxSwift/Schedulers/ConcurrentMainScheduler.swift; sourceTree = ""; }; - E9B25CD6D88890CD3B2156BC736E3B7F /* RxSwift.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RxSwift.xcconfig; sourceTree = ""; }; - EA1F5791D0EF9C2CA66F3494164EE1B0 /* DSL.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DSL.h; path = Sources/NimbleObjectiveC/DSL.h; sourceTree = ""; }; - EAF3EACF0170114AF88CA3841AC3F06D /* ScheduledItemType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ScheduledItemType.swift; path = RxSwift/Schedulers/Internal/ScheduledItemType.swift; sourceTree = ""; }; - EB16EF5E0D01210DEB2D59DCE35D6932 /* Do.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Do.swift; path = RxSwift/Observables/Do.swift; sourceTree = ""; }; - EC54A0C5B1F0197DC59979D98E0A9CCC /* Delay.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Delay.swift; path = RxSwift/Observables/Delay.swift; sourceTree = ""; }; - ECA0A787B2C67EF97CE9C3A861052AB3 /* AssertionRecorder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AssertionRecorder.swift; path = Sources/Nimble/Adapters/AssertionRecorder.swift; sourceTree = ""; }; - ED7BD574D00DBB1CB6BC8112B79D9242 /* Timer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Timer.swift; path = RxSwift/Observables/Timer.swift; sourceTree = ""; }; - EE10D6AFDF891C305E89BC3D25F629DE /* Japx-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Japx-dummy.m"; sourceTree = ""; }; - EFC3965AA3B1848FD041D2AD7FF437AD /* Deferred.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Deferred.swift; path = RxSwift/Observables/Deferred.swift; sourceTree = ""; }; - F0130BAA2EA3D9380B9FC134CF67413A /* RxSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RxSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - F0A46C6E2E88C46C56F15BF1C97476E9 /* JapxRxCodableAlamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = JapxRxCodableAlamofire.swift; path = Japx/Classes/RxCodableAlamofire/JapxRxCodableAlamofire.swift; sourceTree = ""; }; - F10C9A1AEDAA86BC55AAD4D362FDB3F6 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = LICENSE; sourceTree = ""; }; - F162334FB6259B64BA846AD0374740B5 /* NetworkReachabilityManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NetworkReachabilityManager.swift; path = Source/NetworkReachabilityManager.swift; sourceTree = ""; }; - F3A18B76F9534F5B7DC2F39928E4C70E /* QuickSpec.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = QuickSpec.m; path = Sources/QuickObjectiveC/QuickSpec.m; sourceTree = ""; }; - F4C9A123966D165DBE13B25BA9CA3C1C /* SerialDispatchQueueScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SerialDispatchQueueScheduler.swift; path = RxSwift/Schedulers/SerialDispatchQueueScheduler.swift; sourceTree = ""; }; - F5FF301CC90571EA25A008306A3A5901 /* CurrentTestCaseTracker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CurrentTestCaseTracker.h; path = Sources/NimbleObjectiveC/CurrentTestCaseTracker.h; sourceTree = ""; }; - F60985C72F31CCEFE8D2898688C2B26D /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - F74E3D28F387A1D8B8BF7D41ED5DA29C /* DispatchQueue+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DispatchQueue+Extensions.swift"; path = "Platform/DispatchQueue+Extensions.swift"; sourceTree = ""; }; - F7C48D85EF9642867FD839461D8B13FC /* AnonymousDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnonymousDisposable.swift; path = RxSwift/Disposables/AnonymousDisposable.swift; sourceTree = ""; }; - FA274B46D2EBAD17A575F2478C7221F9 /* XCTestObservationCenter+Register.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "XCTestObservationCenter+Register.m"; path = "Sources/NimbleObjectiveC/XCTestObservationCenter+Register.m"; sourceTree = ""; }; - FB71B6D9DC363CFCDA1DA94293A80B95 /* PostNotification.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PostNotification.swift; path = Sources/Nimble/Matchers/PostNotification.swift; sourceTree = ""; }; - FBB132961F23CC9596818249A56A6445 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - FC56E90CD36BDF8347916E6FCBE18D25 /* Alamofire.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = Alamofire.modulemap; sourceTree = ""; }; - FCE705319C1314307DFFF400D6A0A6B8 /* Pods-Japx_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Japx_Example.release.xcconfig"; sourceTree = ""; }; - FE5403035B2D6CB8870191A70F85D360 /* ObserverBase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObserverBase.swift; path = RxSwift/Observers/ObserverBase.swift; sourceTree = ""; }; - FE5E0D2D2D91A09279998E5F15170B75 /* SessionManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SessionManager.swift; path = Source/SessionManager.swift; sourceTree = ""; }; - FE87FBA426E98B9D6160B92493FD3ABB /* Alamofire.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Alamofire.xcconfig; sourceTree = ""; }; - FF9DAEB47D56E9A9047971D6F5E12960 /* ElementAt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ElementAt.swift; path = RxSwift/Observables/ElementAt.swift; sourceTree = ""; }; - FFC1DCFB80C5D8A90D9FC51279DE0553 /* ShareReplayScope.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ShareReplayScope.swift; path = RxSwift/Observables/ShareReplayScope.swift; sourceTree = ""; }; + 0183468864D157FDD6333D9B48A03C03 /* TakeWhile.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TakeWhile.swift; path = RxSwift/Observables/TakeWhile.swift; sourceTree = ""; }; + 04C2F2BA4A12BD11B55895E3FC363D93 /* String+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+Rx.swift"; path = "RxSwift/Extensions/String+Rx.swift"; sourceTree = ""; }; + 05135B548EBE9BC078D8DEA38F9FF867 /* ObservableType+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableType+Extensions.swift"; path = "RxSwift/ObservableType+Extensions.swift"; sourceTree = ""; }; + 051599D672E2CFA01D9BF1A12E9C79C5 /* ReplaySubject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ReplaySubject.swift; path = RxSwift/Subjects/ReplaySubject.swift; sourceTree = ""; }; + 06C8604B51CCA5FDFBF8FD4118BC9B14 /* Request.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Request.swift; path = Source/Request.swift; sourceTree = ""; }; + 06CF7639652CB0AC8948745F7C4C6833 /* AFError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AFError.swift; path = Source/AFError.swift; sourceTree = ""; }; + 07112AD221EC0B24BAAE0BE16D51446D /* BeIdenticalTo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeIdenticalTo.swift; path = Sources/Nimble/Matchers/BeIdenticalTo.swift; sourceTree = ""; }; + 08C99547FCB865BC15313A1A836BCCB2 /* CwlBadInstructionException.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CwlBadInstructionException.swift; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlPreconditionTesting/CwlBadInstructionException.swift; sourceTree = ""; }; + 0A18E5DCD85C9EE8D982B010ADBD0693 /* Callsite.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Callsite.swift; path = Sources/Quick/Callsite.swift; sourceTree = ""; }; + 0A769F0C4D8CC54726DF64B6BDC3A564 /* CwlCatchBadInstruction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CwlCatchBadInstruction.swift; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlPreconditionTesting/CwlCatchBadInstruction.swift; sourceTree = ""; }; + 0C303EC240F06FD04180442D18A82B3C /* DisposeBag.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DisposeBag.swift; path = RxSwift/Disposables/DisposeBag.swift; sourceTree = ""; }; + 0C3730A397EFC315C07B1B828E0E6C0F /* Pods-Japx_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Japx_Example.debug.xcconfig"; sourceTree = ""; }; + 0C7206EF0FEBD5DBF659FF608DDE9827 /* Observable+Response.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Response.swift"; path = "Sources/RxMoya/Observable+Response.swift"; sourceTree = ""; }; + 0C856AA71B93EAC1CDB7702D3E5D5BE9 /* Quick.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Quick.h; path = Sources/QuickObjectiveC/Quick.h; sourceTree = ""; }; + 0CA686226C200941E1EFFC5969FCF9FF /* Nimble.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Nimble.framework; path = Nimble.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 0CBA800E4A3629F29A14A6A49BF233B7 /* Platform.Linux.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Platform.Linux.swift; path = Platform/Platform.Linux.swift; sourceTree = ""; }; + 0DC84A417ACBE762363F0A79E13561E5 /* QuickSpec.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = QuickSpec.m; path = Sources/QuickObjectiveC/QuickSpec.m; sourceTree = ""; }; + 0E40BDEB9364E0C2044ADF9E2B6A16B6 /* Quick-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Quick-dummy.m"; sourceTree = ""; }; + 0E6C3EF54AA8B4D50C8D623A404E836C /* ObserverType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObserverType.swift; path = RxSwift/ObserverType.swift; sourceTree = ""; }; + 0E804251021183BBD8D7157DB6FDADAC /* Zip.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Zip.swift; path = RxSwift/Observables/Zip.swift; sourceTree = ""; }; + 0ED6D5079EB13600CC0376256416A9A4 /* Japx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Japx.swift; path = Japx/Classes/Core/Japx.swift; sourceTree = ""; }; + 0F158D3D70051A2768853AA7ACBA8BBD /* URLRequest+Encoding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "URLRequest+Encoding.swift"; path = "Sources/Moya/URLRequest+Encoding.swift"; sourceTree = ""; }; + 0F213C703816302C1FC519CA44E89B09 /* AsyncSubject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsyncSubject.swift; path = RxSwift/Subjects/AsyncSubject.swift; sourceTree = ""; }; + 0F89BCEF834F678BB25CA4A40A0B2B38 /* Merge.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Merge.swift; path = RxSwift/Observables/Merge.swift; sourceTree = ""; }; + 0FBB698F70B596706C11E15D6A1A5E8C /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 108C6B84FE43BA554A77B5BB9C4B6213 /* CombineLatest+Collection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "CombineLatest+Collection.swift"; path = "RxSwift/Observables/CombineLatest+Collection.swift"; sourceTree = ""; }; + 114533F98FAD008233F74FF2AD6763E3 /* Timeout.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Timeout.swift; path = RxSwift/Observables/Timeout.swift; sourceTree = ""; }; + 11762E6ABDE35013BA403FC22127DA0A /* Pods-Japx_Tests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-Japx_Tests.modulemap"; sourceTree = ""; }; + 11CFFB1130FF24027ECE8E412A4457E0 /* MultipartFormData.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MultipartFormData.swift; path = Source/MultipartFormData.swift; sourceTree = ""; }; + 11DA158AC331F11C0D18DE0DC5396439 /* PriorityQueue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PriorityQueue.swift; path = Platform/DataStructures/PriorityQueue.swift; sourceTree = ""; }; + 128903CC4F88D353B1CA91FCA4B208A3 /* BeVoid.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeVoid.swift; path = Sources/Nimble/Matchers/BeVoid.swift; sourceTree = ""; }; + 12AA291F26E202CB97A25456DA3BE4BB /* Pods_Japx_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_Japx_Tests.framework; path = "Pods-Japx_Tests.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; + 12BAD92F92F2FDD3FBC9B1BC1747F5C4 /* AsMaybe.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsMaybe.swift; path = RxSwift/Observables/AsMaybe.swift; sourceTree = ""; }; + 13141CB56E3AC3D2D5DBE7087963EA53 /* Take.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Take.swift; path = RxSwift/Observables/Take.swift; sourceTree = ""; }; + 14446CAFF29C45E54E01A99F0EF79FAD /* JapxRxMoya.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = JapxRxMoya.swift; path = Japx/Classes/RxMoya/JapxRxMoya.swift; sourceTree = ""; }; + 1471A792DB50C056A926BA43C39DA0B2 /* SourceLocation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SourceLocation.swift; path = Sources/Nimble/Utils/SourceLocation.swift; sourceTree = ""; }; + 14DC11C1BA6FCE9B087A39DEC5E2519D /* Cancellable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cancellable.swift; path = Sources/Moya/Cancellable.swift; sourceTree = ""; }; + 15BF6C7A84C05786BA9D9DEB361D6526 /* Bag+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Bag+Rx.swift"; path = "RxSwift/Extensions/Bag+Rx.swift"; sourceTree = ""; }; + 17D8CE9AE9F2CFEA0210C47B1D30180D /* DisposeBase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DisposeBase.swift; path = RxSwift/Disposables/DisposeBase.swift; sourceTree = ""; }; + 1854933DD73824D05B3E0833A3DC8124 /* Producer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Producer.swift; path = RxSwift/Observables/Producer.swift; sourceTree = ""; }; + 18CF3D5D9C2475DAB9F82ACAEA1E5469 /* Create.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Create.swift; path = RxSwift/Observables/Create.swift; sourceTree = ""; }; + 193BADA772F8A2891C19CC5177512009 /* BooleanDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BooleanDisposable.swift; path = RxSwift/Disposables/BooleanDisposable.swift; sourceTree = ""; }; + 1998A3F621473122C6AA6A986CD06429 /* BeGreaterThanOrEqualTo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeGreaterThanOrEqualTo.swift; path = Sources/Nimble/Matchers/BeGreaterThanOrEqualTo.swift; sourceTree = ""; }; + 1A33D1C142901BD76E76AF033C5AFDDE /* AssertionDispatcher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AssertionDispatcher.swift; path = Sources/Nimble/Adapters/AssertionDispatcher.swift; sourceTree = ""; }; + 1A76BD23B9C927E7728319A16CC067F9 /* Reduce.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Reduce.swift; path = RxSwift/Observables/Reduce.swift; sourceTree = ""; }; + 1BF9205BBB725763CC352C889A2F3DFE /* Pods-Japx_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Japx_Tests.debug.xcconfig"; sourceTree = ""; }; + 1C5CC6EDF42D583BD7BC160F02E0B1C3 /* Match.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Match.swift; path = Sources/Nimble/Matchers/Match.swift; sourceTree = ""; }; + 1CB208F6E6C5AB4FB6B7E6C9EAFA9AD0 /* Functional.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Functional.swift; path = Sources/Nimble/Utils/Functional.swift; sourceTree = ""; }; + 1D2484DC70B6EC5BACAC3E966687ED16 /* Moya-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Moya-umbrella.h"; sourceTree = ""; }; + 1E582F153401E75131FA8B2287849733 /* CwlDarwinDefinitions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CwlDarwinDefinitions.swift; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlPreconditionTesting/CwlDarwinDefinitions.swift; sourceTree = ""; }; + 1EFBA91F24A943393168E207390EFC2F /* Closures.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Closures.swift; path = Sources/Quick/Hooks/Closures.swift; sourceTree = ""; }; + 20977FE7BE5109842DA8652999F4352F /* BeLogical.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeLogical.swift; path = Sources/Nimble/Matchers/BeLogical.swift; sourceTree = ""; }; + 210F077051BDF92B962E04825298F577 /* AdapterProtocols.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AdapterProtocols.swift; path = Sources/Nimble/Adapters/AdapterProtocols.swift; sourceTree = ""; }; + 21AA52C1F4B14FC5C28CD64B374470ED /* ParameterEncoding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ParameterEncoding.swift; path = Source/ParameterEncoding.swift; sourceTree = ""; }; + 229A85AAFFE11F6A6D79D2B225C0A1DE /* AccessTokenPlugin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AccessTokenPlugin.swift; path = Sources/Moya/Plugins/AccessTokenPlugin.swift; sourceTree = ""; }; + 231CDD9CC7A8E023D0DCABAB45910914 /* CwlCatchException.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CwlCatchException.m; path = Carthage/Checkouts/CwlCatchException/Sources/CwlCatchExceptionSupport/CwlCatchException.m; sourceTree = ""; }; + 2362AADF472FB2493BC611CE7C8130F5 /* Pods-Japx_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-Japx_Example-umbrella.h"; sourceTree = ""; }; + 237371A3A511DCBC2049FDC6BC1250B2 /* NetworkReachabilityManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NetworkReachabilityManager.swift; path = Source/NetworkReachabilityManager.swift; sourceTree = ""; }; + 23F26F0EB999564CF86B6B17CE3171C4 /* CwlPreconditionTesting.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CwlPreconditionTesting.h; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlPreconditionTesting/Mach/CwlPreconditionTesting.h; sourceTree = ""; }; + 2587973419AEA476D3224FC601607861 /* MoyaProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MoyaProvider.swift; path = Sources/Moya/MoyaProvider.swift; sourceTree = ""; }; + 26ED22DCFD3EA84DB3AB1275C091B18A /* Cancelable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cancelable.swift; path = RxSwift/Cancelable.swift; sourceTree = ""; }; + 2704AA557DFC396D7E21F5EBA985FD57 /* Result-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Result-umbrella.h"; sourceTree = ""; }; + 274159699B983A005F3218012B42ABE2 /* ScheduledItemType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ScheduledItemType.swift; path = RxSwift/Schedulers/Internal/ScheduledItemType.swift; sourceTree = ""; }; + 2748BFBC220EFF2160607C4D1A2B851E /* MatcherProtocols.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MatcherProtocols.swift; path = Sources/Nimble/Matchers/MatcherProtocols.swift; sourceTree = ""; }; + 2755F41E7417700F0F8D1FEF401CD85A /* Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Alamofire.swift; path = Source/Alamofire.swift; sourceTree = ""; }; + 2832A6D6CD7DE52F857CC96FD085491F /* MoyaProvider+Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "MoyaProvider+Rx.swift"; path = "Sources/RxMoya/MoyaProvider+Rx.swift"; sourceTree = ""; }; + 2853DD830ACEF0BB263FEF29BD988208 /* Moya.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Moya.framework; path = Moya.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 2A088D498C2679127BD45775A6FEBEFA /* HistoricalSchedulerTimeConverter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HistoricalSchedulerTimeConverter.swift; path = RxSwift/Schedulers/HistoricalSchedulerTimeConverter.swift; sourceTree = ""; }; + 2A1BD1EA551FB452B8EDDFEBA8641DCB /* Configuration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Configuration.swift; path = Sources/Quick/Configuration/Configuration.swift; sourceTree = ""; }; + 2A4B837D91836C3DA9A18CCFB1C3C851 /* PublishSubject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PublishSubject.swift; path = RxSwift/Subjects/PublishSubject.swift; sourceTree = ""; }; + 2A53DEF4004E988FDD94DDADFBC6E907 /* Alamofire.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Alamofire.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 2A6CC04F19B56B3A559FC6879B371467 /* GroupedObservable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GroupedObservable.swift; path = RxSwift/GroupedObservable.swift; sourceTree = ""; }; + 2A85F3A2C53FDBE2027E3973F47BB50A /* Task.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Task.swift; path = Sources/Moya/Task.swift; sourceTree = ""; }; + 2AE198E212DFD9AE72567E9A8E71A22A /* Platform.Darwin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Platform.Darwin.swift; path = Platform/Platform.Darwin.swift; sourceTree = ""; }; + 2B1D0564637130623EAF40A9BE88E194 /* Moya-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Moya-prefix.pch"; sourceTree = ""; }; + 2D4C8EF6C26058C25EDBDBAF2041E24B /* VirtualTimeScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = VirtualTimeScheduler.swift; path = RxSwift/Schedulers/VirtualTimeScheduler.swift; sourceTree = ""; }; + 2D87C098123F52C53D0712CDFD6EDEAE /* BeEmpty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeEmpty.swift; path = Sources/Nimble/Matchers/BeEmpty.swift; sourceTree = ""; }; + 2DA5EFE2C6807D97BB9923F22D757D1E /* SerialDispatchQueueScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SerialDispatchQueueScheduler.swift; path = RxSwift/Schedulers/SerialDispatchQueueScheduler.swift; sourceTree = ""; }; + 2E29A9AFFD773617B10D89E2A938419F /* RxSwift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxSwift-prefix.pch"; sourceTree = ""; }; + 2E45E3CF36DB1E3E9304BC2B649E697F /* CombineLatest+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "CombineLatest+arity.swift"; path = "RxSwift/Observables/CombineLatest+arity.swift"; sourceTree = ""; }; + 2EA819AA0527D4526B0FE09C02D6935F /* XCTestObservationCenter+Register.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "XCTestObservationCenter+Register.m"; path = "Sources/NimbleObjectiveC/XCTestObservationCenter+Register.m"; sourceTree = ""; }; + 2EF0C60460023D90EA5729A92C56EA10 /* CredentialsPlugin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CredentialsPlugin.swift; path = Sources/Moya/Plugins/CredentialsPlugin.swift; sourceTree = ""; }; + 30FFCD949E4F5EAD2F1464756E40D56E /* SubscriptionDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SubscriptionDisposable.swift; path = RxSwift/Disposables/SubscriptionDisposable.swift; sourceTree = ""; }; + 3230757DAE9D809BC846B81246E2A79F /* Enumerated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Enumerated.swift; path = RxSwift/Observables/Enumerated.swift; sourceTree = ""; }; + 33689C45B0B43BEDAD1F1760490EE741 /* Japx-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Japx-umbrella.h"; sourceTree = ""; }; + 345F59F7444265DBD72E5E04CDB9E34C /* Result.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Result.swift; path = Source/Result.swift; sourceTree = ""; }; + 352012581262B4A2C05B9C9F4B6B9357 /* Validation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Validation.swift; path = Source/Validation.swift; sourceTree = ""; }; + 3629F994397DAFD40D0E7E1642BEA4C3 /* mach_excServer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mach_excServer.h; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlMachBadInstructionHandler/mach_excServer.h; sourceTree = ""; }; + 36E8CE06A79980D67AE60D18EA84AF67 /* Japx-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Japx-prefix.pch"; sourceTree = ""; }; + 36EB9F071F4D52D362E833CEAECA3856 /* Response.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Response.swift; path = Source/Response.swift; sourceTree = ""; }; + 37B43E500471B5179FA8762BE7580B60 /* Pods-Japx_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-Japx_Example-acknowledgements.markdown"; sourceTree = ""; }; + 38E770EC57760526C4A912AF7BC24189 /* SessionDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SessionDelegate.swift; path = Source/SessionDelegate.swift; sourceTree = ""; }; + 3A14F163E70D28028ADD4A1E85C9F733 /* Plugin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Plugin.swift; path = Sources/Moya/Plugin.swift; sourceTree = ""; }; + 3A2FD63B4823D4C8053F0AE71A4B3470 /* BeginWith.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeginWith.swift; path = Sources/Nimble/Matchers/BeginWith.swift; sourceTree = ""; }; + 3A5490F4D68218245A863D4FBF436232 /* EndWith.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EndWith.swift; path = Sources/Nimble/Matchers/EndWith.swift; sourceTree = ""; }; + 3B7449E2CCC2804FB68D46B3A3C639A3 /* Expectation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Expectation.swift; path = Sources/Nimble/Expectation.swift; sourceTree = ""; }; + 3C7EE8F42D9C85C6989B8B95CF9D0766 /* World+DSL.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "World+DSL.h"; path = "Sources/QuickObjectiveC/DSL/World+DSL.h"; sourceTree = ""; }; + 3CB4427395C8F1E6BCF2644B2414040F /* FailureMessage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FailureMessage.swift; path = Sources/Nimble/FailureMessage.swift; sourceTree = ""; }; + 3E85D624237F499F8AC9C1336584BB70 /* Disposables.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Disposables.swift; path = RxSwift/Disposables/Disposables.swift; sourceTree = ""; }; + 3F0A29B7B6FD4B435A5E9296B9C6BED4 /* Do.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Do.swift; path = RxSwift/Observables/Do.swift; sourceTree = ""; }; + 3F5D8632CEB38209515FD063603B1D4C /* Event.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Event.swift; path = RxSwift/Event.swift; sourceTree = ""; }; + 3F74B6C04E73CAD22FAA9B23C52AAD07 /* Completable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Completable.swift; path = RxSwift/Traits/Completable.swift; sourceTree = ""; }; + 3FC6FE74CBBB93630F854D9C02FE5231 /* Pods_Japx_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_Japx_Example.framework; path = "Pods-Japx_Example.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; + 40DA704856F58FD24435A6308DB47408 /* QCKDSL.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = QCKDSL.m; path = Sources/QuickObjectiveC/DSL/QCKDSL.m; sourceTree = ""; }; + 4177AB53FBBFF6A7783DFF419B60E2C6 /* CompositeDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CompositeDisposable.swift; path = RxSwift/Disposables/CompositeDisposable.swift; sourceTree = ""; }; + 4197071D08DC9739C4E00693278BA20A /* DSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DSL.swift; path = Sources/Nimble/DSL.swift; sourceTree = ""; }; + 41AA896D6678B7652B8AF843515851B0 /* QuickConfiguration.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = QuickConfiguration.h; path = Sources/QuickObjectiveC/Configuration/QuickConfiguration.h; sourceTree = ""; }; + 429305EF8BAD91C092286DCEA793A8AB /* Result.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Result.framework; path = Result.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 429421E9AA08E1E5112BDE0D03E9D6A9 /* OperationQueueScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = OperationQueueScheduler.swift; path = RxSwift/Schedulers/OperationQueueScheduler.swift; sourceTree = ""; }; + 42EA6F1225D5D70E75E262AE656ABF6A /* Zip+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Zip+arity.swift"; path = "RxSwift/Observables/Zip+arity.swift"; sourceTree = ""; }; + 436717D4115E0ACB94734EE8CA26FD8B /* MoyaProvider+Internal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "MoyaProvider+Internal.swift"; path = "Sources/Moya/MoyaProvider+Internal.swift"; sourceTree = ""; }; + 438D1F85491E34F92FF334A8FC400FE0 /* SatisfyAnyOf.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SatisfyAnyOf.swift; path = Sources/Nimble/Matchers/SatisfyAnyOf.swift; sourceTree = ""; }; + 439FB70C2E203E7E916F1D3679FD0D60 /* Delay.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Delay.swift; path = RxSwift/Observables/Delay.swift; sourceTree = ""; }; + 43D1F118CB3866571BCF2DC6C0DB0DAC /* Amb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Amb.swift; path = RxSwift/Observables/Amb.swift; sourceTree = ""; }; + 470AF7E48BF0F67225866EAEC9FBD503 /* AsyncLock.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsyncLock.swift; path = RxSwift/Concurrency/AsyncLock.swift; sourceTree = ""; }; + 48748570CD9B97C4F162DF0CE3BD12E0 /* Japx.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Japx.modulemap; sourceTree = ""; }; + 48D247C87158725D44393FBB22466172 /* JapxRxCodableMoya.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = JapxRxCodableMoya.swift; path = Japx/Classes/RxCodableMoya/JapxRxCodableMoya.swift; sourceTree = ""; }; + 492258887E283924F899B89BEEBC4475 /* SwitchIfEmpty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwitchIfEmpty.swift; path = RxSwift/Observables/SwitchIfEmpty.swift; sourceTree = ""; }; + 4922614020830155C2FF34F6320E87DE /* Errors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Errors.swift; path = RxSwift/Errors.swift; sourceTree = ""; }; + 499C84C1F389DD80A524AD06A622421C /* JapxCodable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = JapxCodable.swift; path = Japx/Classes/Codable/JapxCodable.swift; sourceTree = ""; }; + 4C1E9E622D0E42AE3D778D8DBA35C38A /* ShareReplayScope.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ShareReplayScope.swift; path = RxSwift/Observables/ShareReplayScope.swift; sourceTree = ""; }; + 4CCE11F24EA0A8A3EB453F711162ACA5 /* Error.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Error.swift; path = RxSwift/Observables/Error.swift; sourceTree = ""; }; + 4E1A0E353BC410A6D98F94B6D541D5EB /* Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Deprecated.swift; path = RxSwift/Deprecated.swift; sourceTree = ""; }; + 4EA6D234041FEE17BC62952F52FA3ADA /* Async.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Async.swift; path = Sources/Nimble/Utils/Async.swift; sourceTree = ""; }; + 4EC216A14145887F493C08DE6EC3C636 /* NMBStringify.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = NMBStringify.m; path = Sources/NimbleObjectiveC/NMBStringify.m; sourceTree = ""; }; + 4F35556E662E59760FAC7050D90368AC /* MatchError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MatchError.swift; path = Sources/Nimble/Matchers/MatchError.swift; sourceTree = ""; }; + 4F815D1DC6AEF3D33D609A2BC5B39EF2 /* RaisesException.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RaisesException.swift; path = Sources/Nimble/Matchers/RaisesException.swift; sourceTree = ""; }; + 4F8708C8DD3330AAD6308F240407CBE4 /* CurrentTestCaseTracker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CurrentTestCaseTracker.h; path = Sources/NimbleObjectiveC/CurrentTestCaseTracker.h; sourceTree = ""; }; + 4FC42E99FB0F361A2ACACC3C4EE8927F /* Moya+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Moya+Alamofire.swift"; path = "Sources/Moya/Moya+Alamofire.swift"; sourceTree = ""; }; + 4FD5F3E126F9ADCE5AA9651CF1129A8D /* Dematerialize.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Dematerialize.swift; path = RxSwift/Observables/Dematerialize.swift; sourceTree = ""; }; + 4FE63B2FB004FBD0C62F30A29844A818 /* NopDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NopDisposable.swift; path = RxSwift/Disposables/NopDisposable.swift; sourceTree = ""; }; + 50823C91FA794B750723BED19AF1C573 /* Nimble.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Nimble.h; path = Sources/Nimble/Nimble.h; sourceTree = ""; }; + 50CB7C5033B890A4E1AE16717D3B5819 /* AnonymousObserver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnonymousObserver.swift; path = RxSwift/Observers/AnonymousObserver.swift; sourceTree = ""; }; + 5171F2FC35EE544F7DAB4297F867EBAE /* Endpoint.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Endpoint.swift; path = Sources/Moya/Endpoint.swift; sourceTree = ""; }; + 517D2DC5B869A01D077E5736E914225B /* Skip.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Skip.swift; path = RxSwift/Observables/Skip.swift; sourceTree = ""; }; + 522750AB4BEE587938EB8617D63BBAF7 /* Deferred.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Deferred.swift; path = RxSwift/Observables/Deferred.swift; sourceTree = ""; }; + 5228E2E16ECA74D1200959B428E0CD2D /* RecursiveScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RecursiveScheduler.swift; path = RxSwift/Schedulers/RecursiveScheduler.swift; sourceTree = ""; }; + 5240B237EC523FB510935A4F1491B39E /* Moya-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Moya-dummy.m"; sourceTree = ""; }; + 52E3637A7FBA41E48F0B6045E0B07906 /* ConcurrentMainScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConcurrentMainScheduler.swift; path = RxSwift/Schedulers/ConcurrentMainScheduler.swift; sourceTree = ""; }; + 52FCB1FEA498766C6ECB813A75C3E78D /* Materialize.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Materialize.swift; path = RxSwift/Observables/Materialize.swift; sourceTree = ""; }; + 53372BD17003BC1197E71F28B2BE7C30 /* NimbleXCTestHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NimbleXCTestHandler.swift; path = Sources/Nimble/Adapters/NimbleXCTestHandler.swift; sourceTree = ""; }; + 538437DFA209BF2EC5C569110F9BC8C8 /* mach_excServer.c */ = {isa = PBXFileReference; includeInIndex = 1; name = mach_excServer.c; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlMachBadInstructionHandler/mach_excServer.c; sourceTree = ""; }; + 5418677511097E9E8B99938A890158EE /* SkipWhile.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SkipWhile.swift; path = RxSwift/Observables/SkipWhile.swift; sourceTree = ""; }; + 55F597B7C6A19E4BDEAB3112981DF2E0 /* BeLessThanOrEqual.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeLessThanOrEqual.swift; path = Sources/Nimble/Matchers/BeLessThanOrEqual.swift; sourceTree = ""; }; + 56409CCF42965D1970DC083F3B3A845A /* DeprecationWarner.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DeprecationWarner.swift; path = Platform/DeprecationWarner.swift; sourceTree = ""; }; + 57A0C68E820E7B259A717CBD18E701ED /* RxMutableBox.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RxMutableBox.swift; path = RxSwift/RxMutableBox.swift; sourceTree = ""; }; + 5A2876C7ED12BA30ACFB368B805ADDF7 /* InfiniteSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InfiniteSequence.swift; path = Platform/DataStructures/InfiniteSequence.swift; sourceTree = ""; }; + 5A4B994DA507E2BFF57FADE71EA77726 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 5B9962D34AE794A4B4E5EB8F7B49CABA /* HooksPhase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HooksPhase.swift; path = Sources/Quick/Hooks/HooksPhase.swift; sourceTree = ""; }; + 5BD8AE5E31A7FE022195C317CB3BA64C /* Nimble-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Nimble-prefix.pch"; sourceTree = ""; }; + 5D1E495A11E8D1AEE4A4A5CEA8B0CD28 /* Result.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Result.swift; path = Result/Result.swift; sourceTree = ""; }; + 5D4FE39442B46A76DBC1580B7FA1C80B /* AnonymousDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnonymousDisposable.swift; path = RxSwift/Disposables/AnonymousDisposable.swift; sourceTree = ""; }; + 5D8C58E0CD57957D1BB597F1DA9A688C /* CwlCatchException.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CwlCatchException.swift; path = Carthage/Checkouts/CwlCatchException/Sources/CwlCatchException/CwlCatchException.swift; sourceTree = ""; }; + 5DA43DCB2628FC69F59B550812E314A9 /* Pods-Japx_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Japx_Tests-dummy.m"; sourceTree = ""; }; + 5E8083881592E71B12CCA186C47CF8A0 /* ResultProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ResultProtocol.swift; path = Result/ResultProtocol.swift; sourceTree = ""; }; + 5EEA8869D65812DF81AD7E3B17F2F633 /* MoyaProvider+Defaults.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "MoyaProvider+Defaults.swift"; path = "Sources/Moya/MoyaProvider+Defaults.swift"; sourceTree = ""; }; + 5FC9C675AA478C49C264FFF4348B9A4A /* DSL.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DSL.h; path = Sources/NimbleObjectiveC/DSL.h; sourceTree = ""; }; + 6007DE5BAED0199A3BE04EBDCEAE2123 /* ExampleHooks.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExampleHooks.swift; path = Sources/Quick/Hooks/ExampleHooks.swift; sourceTree = ""; }; + 60BDCE900A35953A9EB19E27537674E3 /* GroupBy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GroupBy.swift; path = RxSwift/Observables/GroupBy.swift; sourceTree = ""; }; + 6219963A0E5A66DA8A30DD4A70ADD86F /* SynchronizedOnType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SynchronizedOnType.swift; path = RxSwift/Concurrency/SynchronizedOnType.swift; sourceTree = ""; }; + 62372382F78A37CEF0C5CEBF2E04567B /* Debug.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Debug.swift; path = RxSwift/Observables/Debug.swift; sourceTree = ""; }; + 62716404808E37DAC75B4B28F5114B35 /* AnyEncodable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnyEncodable.swift; path = Sources/Moya/AnyEncodable.swift; sourceTree = ""; }; + 62C1F3FB9A8890AAE46E50905E594ABD /* AddRef.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AddRef.swift; path = RxSwift/Observables/AddRef.swift; sourceTree = ""; }; + 63A6AEFC1E017B7DDDAC4743CA06AFDA /* StartWith.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StartWith.swift; path = RxSwift/Observables/StartWith.swift; sourceTree = ""; }; + 63D62F76853346FE647CDEDA674BA9EC /* Switch.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Switch.swift; path = RxSwift/Observables/Switch.swift; sourceTree = ""; }; + 63E409283C1388AA7E400940D0831E49 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 63E78F75855461A35ADCDCC3759E25F7 /* Never.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Never.swift; path = RxSwift/Observables/Never.swift; sourceTree = ""; }; + 64AC852CBD8F6B93AA83249DA23DE0EE /* SerialDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SerialDisposable.swift; path = RxSwift/Disposables/SerialDisposable.swift; sourceTree = ""; }; + 66180E6DC7765329CC95A4F2C9CB2BD8 /* RxSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = RxSwift.framework; path = RxSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 6689EAF51519F8B9F04BA3D39939BA58 /* TailRecursiveSink.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TailRecursiveSink.swift; path = RxSwift/Observers/TailRecursiveSink.swift; sourceTree = ""; }; + 671BB5AC31C02E55FEE9E86C7C245BD8 /* MainScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MainScheduler.swift; path = RxSwift/Schedulers/MainScheduler.swift; sourceTree = ""; }; + 69B4192E019D2ACBD6B387D21945CD5D /* Repeat.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Repeat.swift; path = RxSwift/Observables/Repeat.swift; sourceTree = ""; }; + 6ADCFF9C84CFCC3DC3C6A83540F432C7 /* URL+FileName.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "URL+FileName.swift"; path = "Sources/Quick/URL+FileName.swift"; sourceTree = ""; }; + 6B2C5C9F8DF6D461227C569A6B2A416F /* Pods-Japx_Example-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Japx_Example-resources.sh"; sourceTree = ""; }; + 6C0AD9A3C645B69D381E42E5A62949CB /* Pods-Japx_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Japx_Example.release.xcconfig"; sourceTree = ""; }; + 6C0FE751E63079656C64EAE962C28947 /* Errors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Errors.swift; path = Sources/Nimble/Utils/Errors.swift; sourceTree = ""; }; + 6DD5F748E230E521CEDF576E6D29BFCC /* RetryWhen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RetryWhen.swift; path = RxSwift/Observables/RetryWhen.swift; sourceTree = ""; }; + 7090F5D7C7307A959696489444D8BCAC /* Image.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Image.swift; path = Sources/Moya/Image.swift; sourceTree = ""; }; + 70F3138504C320914D35D93049FE8B32 /* Generate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Generate.swift; path = RxSwift/Observables/Generate.swift; sourceTree = ""; }; + 73C6432511FFB3FED30C271FE37AA8FA /* Pods-Japx_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Japx_Example-dummy.m"; sourceTree = ""; }; + 7436721712C7D5D585636B9714BC4C15 /* BeNil.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeNil.swift; path = Sources/Nimble/Matchers/BeNil.swift; sourceTree = ""; }; + 7517C42D99C9198B3E71AF74223FFD74 /* DistinctUntilChanged.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DistinctUntilChanged.swift; path = RxSwift/Observables/DistinctUntilChanged.swift; sourceTree = ""; }; + 7572C8A24DE646B2CF1E1E1D0327E3DD /* ThrowError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ThrowError.swift; path = Sources/Nimble/Matchers/ThrowError.swift; sourceTree = ""; }; + 75CE69E4D485E98BBE509E99DB93E556 /* Scan.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Scan.swift; path = RxSwift/Observables/Scan.swift; sourceTree = ""; }; + 75EF2B75026DE9E7ADACE04C5F355DF0 /* Pods-Japx_Tests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-Japx_Tests-umbrella.h"; sourceTree = ""; }; + 76182A43426D6A47730C23BB285198FB /* VirtualTimeConverterType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = VirtualTimeConverterType.swift; path = RxSwift/Schedulers/VirtualTimeConverterType.swift; sourceTree = ""; }; + 763C7401AD2B3B99E1DC5B4B7AD3E81D /* XCTestSuite+QuickTestSuiteBuilder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "XCTestSuite+QuickTestSuiteBuilder.m"; path = "Sources/QuickObjectiveC/XCTestSuite+QuickTestSuiteBuilder.m"; sourceTree = ""; }; + 767CA25E36BBAD68263720A68F512531 /* CwlCatchException.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CwlCatchException.h; path = Carthage/Checkouts/CwlCatchException/Sources/CwlCatchExceptionSupport/include/CwlCatchException.h; sourceTree = ""; }; + 779DFFA139BEDC139AA5C74E119C0EF8 /* ServerTrustPolicy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ServerTrustPolicy.swift; path = Source/ServerTrustPolicy.swift; sourceTree = ""; }; + 790017C7BA9C734DA3A7850DC0ECE170 /* Moya.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Moya.xcconfig; sourceTree = ""; }; + 798D6507043494394FBC0F2D20989C64 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 79EA77E92BAB842003534D13A503F412 /* Moya.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Moya.modulemap; sourceTree = ""; }; + 7A62D5195B0CE95F39AC9CE271201C65 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 7B69BACF70D824B6402090896888B9D1 /* ImmediateSchedulerType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImmediateSchedulerType.swift; path = RxSwift/ImmediateSchedulerType.swift; sourceTree = ""; }; + 7C1CAB8EBD1CE7B4D96A675268BDDDD4 /* NetworkLoggerPlugin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NetworkLoggerPlugin.swift; path = Sources/Moya/Plugins/NetworkLoggerPlugin.swift; sourceTree = ""; }; + 7E5EB419D7F9243585A5433D94D36959 /* Nimble-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Nimble-umbrella.h"; sourceTree = ""; }; + 7F9EF1EA71F75145A40C122B73FE8B47 /* Range.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Range.swift; path = RxSwift/Observables/Range.swift; sourceTree = ""; }; + 7FC5E77303F2A8A7D20D3038E50B44D3 /* LockOwnerType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LockOwnerType.swift; path = RxSwift/Concurrency/LockOwnerType.swift; sourceTree = ""; }; + 8025BBEA7863AF9ACF7EE93E72B568D5 /* SessionManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SessionManager.swift; path = Source/SessionManager.swift; sourceTree = ""; }; + 803E22FE6E9ACAC547AC55BEF505AF50 /* Catch.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Catch.swift; path = RxSwift/Observables/Catch.swift; sourceTree = ""; }; + 80525979B25FB17D1672780438FB8082 /* Observable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Observable.swift; path = RxSwift/Observable.swift; sourceTree = ""; }; + 807E0EF4CB3BAF1ACED599B22F437B53 /* Single+Response.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Single+Response.swift"; path = "Sources/RxMoya/Single+Response.swift"; sourceTree = ""; }; + 82D8AFC528967CFFBF04509F8BEDBA12 /* NMBStringify.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = NMBStringify.h; path = Sources/NimbleObjectiveC/NMBStringify.h; sourceTree = ""; }; + 8364770BBA59755CC47E7546E1037B6E /* Rx.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Rx.swift; path = RxSwift/Rx.swift; sourceTree = ""; }; + 837CA4FB7647575CF176F6BA93F51DAA /* AsSingle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsSingle.swift; path = RxSwift/Observables/AsSingle.swift; sourceTree = ""; }; + 84D377E313C9CA80973197760EA2BB01 /* Queue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Queue.swift; path = Platform/DataStructures/Queue.swift; sourceTree = ""; }; + 84D6BE7E27537A5294F1D8971A1CBBF1 /* CwlMachBadInstructionHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CwlMachBadInstructionHandler.h; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlMachBadInstructionHandler/include/CwlMachBadInstructionHandler.h; sourceTree = ""; }; + 8546F9356E7A6B593BF71B5E44991647 /* ToSucceed.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ToSucceed.swift; path = Sources/Nimble/Matchers/ToSucceed.swift; sourceTree = ""; }; + 86321CA28DA1483FD89A99AAF6E3F6CB /* SchedulerType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SchedulerType.swift; path = RxSwift/SchedulerType.swift; sourceTree = ""; }; + 86CA4B47622668DDD91C382A3E608A18 /* RefCountDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RefCountDisposable.swift; path = RxSwift/Disposables/RefCountDisposable.swift; sourceTree = ""; }; + 8780FB9D832972FD8EFCD508E54E7999 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 88386A27943C6BC11B2448D4086FED0A /* BeCloseTo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeCloseTo.swift; path = Sources/Nimble/Matchers/BeCloseTo.swift; sourceTree = ""; }; + 888E46C1106F1397D10476C132A15D20 /* Lock.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Lock.swift; path = RxSwift/Concurrency/Lock.swift; sourceTree = ""; }; + 88A33BF60AAAD283385D9E613AC49004 /* Timeline.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Timeline.swift; path = Source/Timeline.swift; sourceTree = ""; }; + 88A394019320EC38C7DDEF62A7103457 /* Result.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Result.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 88DE39B5D1978528E9D054FAACC2F5B2 /* Result.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Result.modulemap; sourceTree = ""; }; + 8A2444B02EB560BE6707A9FE05D68638 /* Japx.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Japx.xcconfig; sourceTree = ""; }; + 8A43BC60953605EAB46D5BF7C6E409F2 /* ObserverBase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObserverBase.swift; path = RxSwift/Observers/ObserverBase.swift; sourceTree = ""; }; + 8B403166A345266D3CE982BC0C899388 /* RxSwift.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RxSwift.xcconfig; sourceTree = ""; }; + 8BBF0E562A88303BB79C6AE9645158B4 /* NMBObjCMatcher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NMBObjCMatcher.swift; path = Sources/Nimble/Adapters/NMBObjCMatcher.swift; sourceTree = ""; }; + 8BDE63B1A5581B1A53E268330C4C639E /* World.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = World.swift; path = Sources/Quick/World.swift; sourceTree = ""; }; + 8E1E0015F509D3FE2FF729D973164EAE /* CwlMachBadInstructionHandler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CwlMachBadInstructionHandler.m; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlMachBadInstructionHandler/CwlMachBadInstructionHandler.m; sourceTree = ""; }; + 8E2E2998305D24376F237C8F5BD8561D /* BeAKindOf.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeAKindOf.swift; path = Sources/Nimble/Matchers/BeAKindOf.swift; sourceTree = ""; }; + 8E87A4BFD2AFEE1A83C1E1A655594120 /* Nimble.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Nimble.xcconfig; sourceTree = ""; }; + 8FD00F8A7863356C8C81CEAA8FAA4E3B /* Expression.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Expression.swift; path = Sources/Nimble/Expression.swift; sourceTree = ""; }; + 9074236AF6317394DD5E0FF7290DB64E /* SchedulerServices+Emulation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "SchedulerServices+Emulation.swift"; path = "RxSwift/Schedulers/SchedulerServices+Emulation.swift"; sourceTree = ""; }; + 914185F20469F589BD5340499FD17B5D /* Maybe.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Maybe.swift; path = RxSwift/Traits/Maybe.swift; sourceTree = ""; }; + 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 93BC50CD60E71662E2A5B0EE0634F3B2 /* NMBExceptionCapture.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = NMBExceptionCapture.h; path = Sources/NimbleObjectiveC/NMBExceptionCapture.h; sourceTree = ""; }; + 9424A777091A94210F575BDE7DE84582 /* Result.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Result.xcconfig; sourceTree = ""; }; + 949D3B3731A39AF6D59BEA8DAA03ECD7 /* ObservableType+PrimitiveSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ObservableType+PrimitiveSequence.swift"; path = "RxSwift/Traits/ObservableType+PrimitiveSequence.swift"; sourceTree = ""; }; + 954EC803E64CD8087DA3E0F39FAFBF0B /* ValidationType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ValidationType.swift; path = Sources/Moya/ValidationType.swift; sourceTree = ""; }; + 95A19BA53EF1680499505638CED9D5EF /* SkipUntil.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SkipUntil.swift; path = RxSwift/Observables/SkipUntil.swift; sourceTree = ""; }; + 96D743DFD99B482EC9449040EB4D7105 /* MatcherFunc.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MatcherFunc.swift; path = Sources/Nimble/Matchers/MatcherFunc.swift; sourceTree = ""; }; + 9834C0265D7BA52E959BBE975B898B48 /* ScheduledItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ScheduledItem.swift; path = RxSwift/Schedulers/Internal/ScheduledItem.swift; sourceTree = ""; }; + 990B1A4B26CA03FEF35EFCFE5231C3C2 /* Alamofire-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Alamofire-prefix.pch"; sourceTree = ""; }; + 9AB89DEAE45B8EC70AE1F4B827F7C35A /* Reactive.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Reactive.swift; path = RxSwift/Reactive.swift; sourceTree = ""; }; + 9AD3224424753C4325ACC5F0CE9ED2D6 /* Pods-Japx_Tests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Japx_Tests-resources.sh"; sourceTree = ""; }; + 9C02D605C111C05258C581CB47DD77E6 /* Japx-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Japx-dummy.m"; sourceTree = ""; }; + 9C3F84CDE875F239F0CE5974778BA5B4 /* ObservableType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObservableType.swift; path = RxSwift/ObservableType.swift; sourceTree = ""; }; + 9D309F4F93E5511C02332FE43AAB484E /* BeGreaterThan.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeGreaterThan.swift; path = Sources/Nimble/Matchers/BeGreaterThan.swift; sourceTree = ""; }; + 9D7A19CAFC1AA23C06B796462E9C9216 /* Empty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Empty.swift; path = RxSwift/Observables/Empty.swift; sourceTree = ""; }; + 9E3BC5930669935BC560E64FCDA49E52 /* Equal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Equal.swift; path = Sources/Nimble/Matchers/Equal.swift; sourceTree = ""; }; + 9E550C16050A3AC8B2C4B778B168A70E /* AnyObserver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnyObserver.swift; path = RxSwift/AnyObserver.swift; sourceTree = ""; }; + 9E87ABE48945E8EFFDDCC5F68C285E37 /* Sink.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Sink.swift; path = RxSwift/Observables/Sink.swift; sourceTree = ""; }; + 9FA43287C0027961478DE1720BC71006 /* Multicast.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Multicast.swift; path = RxSwift/Observables/Multicast.swift; sourceTree = ""; }; + 9FD2B04636FD8803B7C42CD278281DD3 /* SynchronizedUnsubscribeType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SynchronizedUnsubscribeType.swift; path = RxSwift/Concurrency/SynchronizedUnsubscribeType.swift; sourceTree = ""; }; + A0203B44D8D036DD01240548F7BD00F9 /* WithLatestFrom.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WithLatestFrom.swift; path = RxSwift/Observables/WithLatestFrom.swift; sourceTree = ""; }; + A1B92476D154AAD5CCF67BF92BDE0B27 /* Quick-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Quick-umbrella.h"; sourceTree = ""; }; + A22C1F2D2BF06C9E9B302D1FB94C3E95 /* ElementAt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ElementAt.swift; path = RxSwift/Observables/ElementAt.swift; sourceTree = ""; }; + A38A89A1406CE3F642EBA3E2EF36A955 /* RxSwift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RxSwift-umbrella.h"; sourceTree = ""; }; + A488BC91B241795E0CFA94B7373787B0 /* DSL+Wait.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DSL+Wait.swift"; path = "Sources/Nimble/DSL+Wait.swift"; sourceTree = ""; }; + A4A520412E605F1F7CFA382C294B4DAB /* Disposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Disposable.swift; path = RxSwift/Disposable.swift; sourceTree = ""; }; + A4C9F516B8F2C0B86D2AC93D4DDE5E35 /* ResponseSerialization.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ResponseSerialization.swift; path = Source/ResponseSerialization.swift; sourceTree = ""; }; + A547C52AC0E4019AE3E28F22998F7EED /* Quick.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Quick.xcconfig; sourceTree = ""; }; + A5B7DA3995DA3B9B249FB04FE55BC236 /* ScheduledDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ScheduledDisposable.swift; path = RxSwift/Disposables/ScheduledDisposable.swift; sourceTree = ""; }; + A5BFB3C3D528E7D2C16E9E259C50F526 /* Example.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Example.swift; path = Sources/Quick/Example.swift; sourceTree = ""; }; + A6176AA35CCF3CBFE6D60E435FC48165 /* DSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DSL.swift; path = Sources/Quick/DSL/DSL.swift; sourceTree = ""; }; + A676781DECFBC86CF17ABDE9E756BD33 /* QCKDSL.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = QCKDSL.h; path = Sources/QuickObjectiveC/DSL/QCKDSL.h; sourceTree = ""; }; + A7C8BA8D8BCCDE4C7ECE9E8A1D4026B5 /* QuickSelectedTestSuiteBuilder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = QuickSelectedTestSuiteBuilder.swift; path = Sources/Quick/QuickSelectedTestSuiteBuilder.swift; sourceTree = ""; }; + A7E4760B29C5E17AA375E4BE1848AC8A /* PrimitiveSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PrimitiveSequence.swift; path = RxSwift/Traits/PrimitiveSequence.swift; sourceTree = ""; }; + A8C696139ED3705260CFED2F30C4EC86 /* ConcurrentDispatchQueueScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConcurrentDispatchQueueScheduler.swift; path = RxSwift/Schedulers/ConcurrentDispatchQueueScheduler.swift; sourceTree = ""; }; + A902BE5C9CE8BBC1D531CD222033CA85 /* AllPass.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AllPass.swift; path = Sources/Nimble/Matchers/AllPass.swift; sourceTree = ""; }; + A91EB0BB97C7DE77CB9AA48325CC1C2B /* ExampleMetadata.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExampleMetadata.swift; path = Sources/Quick/ExampleMetadata.swift; sourceTree = ""; }; + A9659A638E32B3484CA8FC8647DEA238 /* Quick-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Quick-prefix.pch"; sourceTree = ""; }; + A98F46249E9984443862EF0861F3E9EF /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; + AA481C8ACC00029090ACBC5BB7EE25D2 /* Behavior.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Behavior.swift; path = Sources/Quick/Behavior.swift; sourceTree = ""; }; + AA5774EED10484CC4DCBCC712A6F03E9 /* DispatchQueueConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DispatchQueueConfiguration.swift; path = RxSwift/Schedulers/Internal/DispatchQueueConfiguration.swift; sourceTree = ""; }; + AA6211CDCE47E159FA636CA58798CB95 /* TakeLast.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TakeLast.swift; path = RxSwift/Observables/TakeLast.swift; sourceTree = ""; }; + AB8C5816ACB15A61AE0584E0D38F8CB5 /* Alamofire.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Alamofire.modulemap; sourceTree = ""; }; + AC13B2A23966C40420EC05F79880657A /* TakeUntil.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TakeUntil.swift; path = RxSwift/Observables/TakeUntil.swift; sourceTree = ""; }; + AC6D90B586B7459203EDE88AC025D52E /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = ""; }; + AD602B190FB54A88B2CF444F113337BE /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; + AEF692DB193DEAB961A88F4D38A4BA0D /* Alamofire.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Alamofire.framework; path = Alamofire.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + AEF79319F1199557E3471C080E343127 /* BinaryDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BinaryDisposable.swift; path = RxSwift/Disposables/BinaryDisposable.swift; sourceTree = ""; }; + AF3462CC93DC3B7D10A5E00C35E6BD13 /* Sequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Sequence.swift; path = RxSwift/Observables/Sequence.swift; sourceTree = ""; }; + AFD24C91CBBD123959078CD584E3AA00 /* MultiTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MultiTarget.swift; path = Sources/Moya/MultiTarget.swift; sourceTree = ""; }; + AFDFC1F191D506C3BF3BA6079EB43753 /* NSBundle+CurrentTestBundle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSBundle+CurrentTestBundle.swift"; path = "Sources/Quick/NSBundle+CurrentTestBundle.swift"; sourceTree = ""; }; + B03EF87114313288DDDAC1C425E6DFDA /* First.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = First.swift; path = RxSwift/Observables/First.swift; sourceTree = ""; }; + B0A1D1BBDADA24792AE8E5B761112027 /* Stringers.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Stringers.swift; path = Sources/Nimble/Utils/Stringers.swift; sourceTree = ""; }; + B16644096C89686747C681C7F1AD68D7 /* AsyncMatcherWrapper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AsyncMatcherWrapper.swift; path = Sources/Nimble/Matchers/AsyncMatcherWrapper.swift; sourceTree = ""; }; + B1E2E4EC08ACCF85818D5FE08E491987 /* SubscribeOn.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SubscribeOn.swift; path = RxSwift/Observables/SubscribeOn.swift; sourceTree = ""; }; + B227048231C28C97DA7D14E37FDE08E4 /* PrimitiveSequence+Zip+arity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "PrimitiveSequence+Zip+arity.swift"; path = "RxSwift/Traits/PrimitiveSequence+Zip+arity.swift"; sourceTree = ""; }; + B3E7A8447D054951C94842A044C47054 /* NetworkActivityPlugin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NetworkActivityPlugin.swift; path = Sources/Moya/Plugins/NetworkActivityPlugin.swift; sourceTree = ""; }; + B58F9F10AF27EA1C8595152E27E72766 /* BeLessThan.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeLessThan.swift; path = Sources/Nimble/Matchers/BeLessThan.swift; sourceTree = ""; }; + B59E40670C314C4DB8FED68B7622F957 /* Predicate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Predicate.swift; path = Sources/Nimble/Matchers/Predicate.swift; sourceTree = ""; }; + B60582E9281F912366D1CA0CC36C6B5A /* Contain.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Contain.swift; path = Sources/Nimble/Matchers/Contain.swift; sourceTree = ""; }; + B68200E7C85C1C8015011E9D5E041306 /* QuickSpec.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = QuickSpec.h; path = Sources/QuickObjectiveC/QuickSpec.h; sourceTree = ""; }; + B79B13C2B9AB37A805A72EE1E3A936EC /* JapxCodableMoya.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = JapxCodableMoya.swift; path = Japx/Classes/CodableMoya/JapxCodableMoya.swift; sourceTree = ""; }; + B7A90D89FE8E0F1B8100295262130799 /* BehaviorSubject.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BehaviorSubject.swift; path = RxSwift/Subjects/BehaviorSubject.swift; sourceTree = ""; }; + B7DA5F5E42101310898A04E49E3A0B41 /* Map.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Map.swift; path = RxSwift/Observables/Map.swift; sourceTree = ""; }; + B88DE1FB1AE9A49E1433D979904A7A56 /* QuickSpecBase.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = QuickSpecBase.h; path = Sources/QuickSpecBase/include/QuickSpecBase.h; sourceTree = ""; }; + B93D3B3B58E11F659896073D32FB949B /* Sample.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Sample.swift; path = RxSwift/Observables/Sample.swift; sourceTree = ""; }; + B953401C4DD41EAB548AC18810E6E354 /* Result-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Result-dummy.m"; sourceTree = ""; }; + BA93CAF72399A0E2E2A33ECDBE009016 /* TaskDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TaskDelegate.swift; path = Source/TaskDelegate.swift; sourceTree = ""; }; + BBC4F6C03B906E25845A6F28BC8ECD82 /* Optional.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Optional.swift; path = RxSwift/Observables/Optional.swift; sourceTree = ""; }; + BCBE5DECA4970DDA49112EAF4C035467 /* HaveCount.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HaveCount.swift; path = Sources/Nimble/Matchers/HaveCount.swift; sourceTree = ""; }; + BD4FB3053CB8DE0931903219657D1735 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + BF9C274467499C8F382D58F4D3E555DC /* Nimble.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Nimble.modulemap; sourceTree = ""; }; + C048191B5A4A3C802C5FBF7132884E84 /* Alamofire-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Alamofire-dummy.m"; sourceTree = ""; }; + C2281E6131B58F50F5DA7019D70B3FA0 /* ExpectationMessage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExpectationMessage.swift; path = Sources/Nimble/ExpectationMessage.swift; sourceTree = ""; }; + C2AD5AA936D39D31F54CA401C4D49407 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + C3BB9D587BA70AD678435714D8E0769A /* Pods-Japx_Tests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Japx_Tests-frameworks.sh"; sourceTree = ""; }; + C44441BCF6991CD947AD2331DBA3F457 /* Japx.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; path = Japx.podspec; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + C4D156BEE49E52C4CF57071DAE7D780B /* NSString+C99ExtendedIdentifier.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSString+C99ExtendedIdentifier.swift"; path = "Sources/Quick/NSString+C99ExtendedIdentifier.swift"; sourceTree = ""; }; + C5CB837EA3E20EDFE8F0A814318C592F /* CombineLatest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CombineLatest.swift; path = RxSwift/Observables/CombineLatest.swift; sourceTree = ""; }; + C66BA3750D4DE19F9FC16BB6CE0533B5 /* ConnectableObservableType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConnectableObservableType.swift; path = RxSwift/ConnectableObservableType.swift; sourceTree = ""; }; + C688EB1853CF4023BB360F4AED37F9FE /* Nimble-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Nimble-dummy.m"; sourceTree = ""; }; + C6CE0F5E13DA33F987212FCB96749248 /* TargetType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TargetType.swift; path = Sources/Moya/TargetType.swift; sourceTree = ""; }; + C7DBE7B62FBD55530B15FDE979259863 /* Bag.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Bag.swift; path = Platform/DataStructures/Bag.swift; sourceTree = ""; }; + C808D931055F1E4A0489A3FEC556CEEB /* Pods-Japx_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Japx_Example-acknowledgements.plist"; sourceTree = ""; }; + C90A26DCE79C5549814BD8A253424E4D /* World+DSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "World+DSL.swift"; path = "Sources/Quick/DSL/World+DSL.swift"; sourceTree = ""; }; + CA418117AEBC99135481DD409F17EE6A /* Debounce.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Debounce.swift; path = RxSwift/Observables/Debounce.swift; sourceTree = ""; }; + CA5DD01B85490ABC2EFCCBC864908E38 /* URL+Moya.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "URL+Moya.swift"; path = "Sources/Moya/URL+Moya.swift"; sourceTree = ""; }; + CBC6054DCFE397A8DB5A24FD4A3CD362 /* Single.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Single.swift; path = RxSwift/Traits/Single.swift; sourceTree = ""; }; + CC3E5B317173B8F27E5F8EC1C12F1B3C /* Moya.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Moya.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + CC57FB31563EBFCDE68A7FD9C47CDAAC /* Response.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Response.swift; path = Sources/Moya/Response.swift; sourceTree = ""; }; + CCE07F47A520885E23BC234548832652 /* ContainElementSatisfying.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ContainElementSatisfying.swift; path = Sources/Nimble/Matchers/ContainElementSatisfying.swift; sourceTree = ""; }; + CD7618F81EE6C26E12584E6126BABFDE /* Pods-Japx_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-Japx_Tests-acknowledgements.markdown"; sourceTree = ""; }; + CD8552B11C9B049CF391BCC3E7702AFF /* Japx.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Japx.framework; path = Japx.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + CE1E507505B8B14448ABB5913BC081E9 /* QuickConfiguration.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = QuickConfiguration.m; path = Sources/QuickObjectiveC/Configuration/QuickConfiguration.m; sourceTree = ""; }; + CE2845CF5F425AF0E6E32089C1746097 /* Using.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Using.swift; path = RxSwift/Observables/Using.swift; sourceTree = ""; }; + CE58F77E1823FBFF70E78EE1F5FC73E9 /* ObserveOn.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObserveOn.swift; path = RxSwift/Observables/ObserveOn.swift; sourceTree = ""; }; + CFD51EF6FB762D4D92B57F3A68BC2C37 /* SubjectType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SubjectType.swift; path = RxSwift/Subjects/SubjectType.swift; sourceTree = ""; }; + D04A9DDD227F0E47FB834C2AF199928D /* Quick.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Quick.framework; path = Quick.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D1913915A906B09F418AB2724046D8F4 /* SynchronizedDisposeType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SynchronizedDisposeType.swift; path = RxSwift/Concurrency/SynchronizedDisposeType.swift; sourceTree = ""; }; + D1A1BC777F00FDF35F89C7F9666E0C0E /* Zip+Collection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Zip+Collection.swift"; path = "RxSwift/Observables/Zip+Collection.swift"; sourceTree = ""; }; + D1BD1141524C70A09B6975944A31E206 /* ObservableConvertibleType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ObservableConvertibleType.swift; path = RxSwift/ObservableConvertibleType.swift; sourceTree = ""; }; + D6D7B6A446D99FA2D6D1E3B873865FC3 /* HistoricalScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HistoricalScheduler.swift; path = RxSwift/Schedulers/HistoricalScheduler.swift; sourceTree = ""; }; + D74FD20C443322527235A8934E2C20F9 /* NMBExpectation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NMBExpectation.swift; path = Sources/Nimble/Adapters/NMBExpectation.swift; sourceTree = ""; }; + D822E7AF33D50DD269D48F92F7716709 /* Quick.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Quick.modulemap; sourceTree = ""; }; + D897CC94A15C3535F821F5C491CAE35E /* QuickSpecBase.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = QuickSpecBase.m; path = Sources/QuickSpecBase/QuickSpecBase.m; sourceTree = ""; }; + D9188A5B071EF32CFC29D468A4BD9342 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + D93634ECCD53767D3570308CEDF19EAB /* Window.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Window.swift; path = RxSwift/Observables/Window.swift; sourceTree = ""; }; + D948D49CCC5D651B2EF39CD405D82404 /* Alamofire.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Alamofire.xcconfig; sourceTree = ""; }; + DA9016BEB9CF606131E6F70CE6144978 /* Timer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Timer.swift; path = RxSwift/Observables/Timer.swift; sourceTree = ""; }; + DB6587B5B9E54D74961ED1F5285AD259 /* ThrowAssertion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ThrowAssertion.swift; path = Sources/Nimble/Matchers/ThrowAssertion.swift; sourceTree = ""; }; + DBDAECFE4EB9DD3BD8CDD84C4E155B01 /* SingleAsync.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SingleAsync.swift; path = RxSwift/Observables/SingleAsync.swift; sourceTree = ""; }; + DD2A8B0E519456109A59A9D322F1544F /* InvocableType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InvocableType.swift; path = RxSwift/Schedulers/Internal/InvocableType.swift; sourceTree = ""; }; + DDE206A52E5C9E5E5CAA6026CA92973A /* InvocableScheduledItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InvocableScheduledItem.swift; path = RxSwift/Schedulers/Internal/InvocableScheduledItem.swift; sourceTree = ""; }; + DE2C86157C98992A9122F83BC299C5D5 /* Just.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Just.swift; path = RxSwift/Observables/Just.swift; sourceTree = ""; }; + DEEA5178DDD0EA00050174A7A9FC2C2A /* DelaySubscription.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DelaySubscription.swift; path = RxSwift/Observables/DelaySubscription.swift; sourceTree = ""; }; + E237910ACB3CF88B99FFA7D11E619590 /* Pods-Japx_Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Japx_Example-frameworks.sh"; sourceTree = ""; }; + E299A7FF7FC61B32CE8593712BF888E5 /* World.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = World.h; path = Sources/QuickObjectiveC/World.h; sourceTree = ""; }; + E4380713E29F271AAD2903866367376C /* PostNotification.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PostNotification.swift; path = Sources/Nimble/Matchers/PostNotification.swift; sourceTree = ""; }; + E4A3DB01D1C529B514BD50B1A41D865A /* Pods-Japx_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Japx_Tests.release.xcconfig"; sourceTree = ""; }; + E4EABB50B5F050499A8AF0FAD27F281D /* JapxMoya.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = JapxMoya.swift; path = Japx/Classes/Moya/JapxMoya.swift; sourceTree = ""; }; + E593560BFC94D27A3426E2FCC987512A /* RxSwift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "RxSwift-dummy.m"; sourceTree = ""; }; + E5D4CA34718DC2189C79903261ABE6F7 /* Filter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Filter.swift; path = RxSwift/Observables/Filter.swift; sourceTree = ""; }; + E5F969B54CC8C6A46B46C9289FC91E0D /* Filter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Filter.swift; path = Sources/Quick/Filter.swift; sourceTree = ""; }; + E747D4622461BFF7BB7CAF95CEADC5F6 /* MultipartFormData.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MultipartFormData.swift; path = Sources/Moya/MultipartFormData.swift; sourceTree = ""; }; + E8029DB15A25AFFAE34899448B8FAFC5 /* Result-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Result-prefix.pch"; sourceTree = ""; }; + E805A47CB8FE3FDE48121C67752DBB85 /* Notifications.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Notifications.swift; path = Source/Notifications.swift; sourceTree = ""; }; + E8CC4E6B55881B0EABF690CF4D78F5B9 /* BeAnInstanceOf.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeAnInstanceOf.swift; path = Sources/Nimble/Matchers/BeAnInstanceOf.swift; sourceTree = ""; }; + E8D7CDCCE91D6268DEB05E78B3F433EF /* Pods-Japx_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Japx_Tests-acknowledgements.plist"; sourceTree = ""; }; + EA7925289DB16B861C72B406739ED4F8 /* Concat.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Concat.swift; path = RxSwift/Observables/Concat.swift; sourceTree = ""; }; + EA96D4FE595A02F276983200B32B973F /* DispatchQueue+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DispatchQueue+Alamofire.swift"; path = "Source/DispatchQueue+Alamofire.swift"; sourceTree = ""; }; + EA9A79AD6A6F7850611F2598B323C81C /* DSL.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DSL.m; path = Sources/NimbleObjectiveC/DSL.m; sourceTree = ""; }; + EAECF7493900D53E23E6884FA68FF9E1 /* SuiteHooks.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SuiteHooks.swift; path = Sources/Quick/Hooks/SuiteHooks.swift; sourceTree = ""; }; + EAF2CEDE839B84696890E3853E01B188 /* SingleAssignmentDisposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SingleAssignmentDisposable.swift; path = RxSwift/Disposables/SingleAssignmentDisposable.swift; sourceTree = ""; }; + EB0EC43D7518167748E5FE9A2EDAD5D5 /* MoyaError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MoyaError.swift; path = Sources/Moya/MoyaError.swift; sourceTree = ""; }; + EB25A8DB416BDC1A94755DFF2CE31BCE /* NMBExceptionCapture.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = NMBExceptionCapture.m; path = Sources/NimbleObjectiveC/NMBExceptionCapture.m; sourceTree = ""; }; + ECCB3A5FAD752C9957A933F4882558B1 /* NimbleEnvironment.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NimbleEnvironment.swift; path = Sources/Nimble/Adapters/NimbleEnvironment.swift; sourceTree = ""; }; + EE8D8FE4CAE3AFA9712F81E3E0CB38EB /* Pods-Japx_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-Japx_Example.modulemap"; sourceTree = ""; }; + EF8C02D87859DD01AA0AC13414FF4DBF /* DefaultIfEmpty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DefaultIfEmpty.swift; path = RxSwift/Observables/DefaultIfEmpty.swift; sourceTree = ""; }; + EFC700B19D5FCB81E84867A360C0F221 /* SwiftSupport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwiftSupport.swift; path = RxSwift/SwiftSupport/SwiftSupport.swift; sourceTree = ""; }; + F0A3BF08AD2E6C5660A5915373E90C4F /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = ""; }; + F0B4F2534BD345C1DCFA63E6B7B0B8FC /* Alamofire-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Alamofire-umbrella.h"; sourceTree = ""; }; + F0DB93CC434FE9A5AC74EC23A1DF76D1 /* RecursiveLock.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RecursiveLock.swift; path = Platform/RecursiveLock.swift; sourceTree = ""; }; + F102A6815712FA1875CC91E85A051DDB /* RxSwift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = RxSwift.modulemap; sourceTree = ""; }; + F2840ADD9D8AE2133B861E30EC6746C8 /* ExampleGroup.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExampleGroup.swift; path = Sources/Quick/ExampleGroup.swift; sourceTree = ""; }; + F50D9CE4517DA594B7EBFD91E4B3592F /* ToArray.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ToArray.swift; path = RxSwift/Observables/ToArray.swift; sourceTree = ""; }; + F71D5F26A62B979B98A5E47A83B3F62C /* AssertionRecorder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AssertionRecorder.swift; path = Sources/Nimble/Adapters/AssertionRecorder.swift; sourceTree = ""; }; + F803EC5A0031D90DA4595CAA2A07FD6F /* ErrorUtility.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ErrorUtility.swift; path = Sources/Quick/ErrorUtility.swift; sourceTree = ""; }; + F915CBFCBBEB88CBCC7D93015D584DFE /* RxSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RxSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + F918EECFC77113D263A34C16E69B1272 /* Completable+AndThen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Completable+AndThen.swift"; path = "RxSwift/Traits/Completable+AndThen.swift"; sourceTree = ""; }; + FAA7F2D869DB1AE64296372E5473976F /* Throttle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Throttle.swift; path = RxSwift/Observables/Throttle.swift; sourceTree = ""; }; + FD7FD200D4A958105F0AE67367016C4E /* QuickTestSuite.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = QuickTestSuite.swift; path = Sources/Quick/QuickTestSuite.swift; sourceTree = ""; }; + FED87B8C5C1CA75F2132A21B5C31BD65 /* CurrentThreadScheduler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CurrentThreadScheduler.swift; path = RxSwift/Schedulers/CurrentThreadScheduler.swift; sourceTree = ""; }; + FF93788451B4D1F997FCB6125C2018A2 /* Buffer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Buffer.swift; path = RxSwift/Observables/Buffer.swift; sourceTree = ""; }; + FF9E0BDDF4389459BA5662038B900E79 /* DispatchQueue+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DispatchQueue+Extensions.swift"; path = "Platform/DispatchQueue+Extensions.swift"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 665F3A6725E92FB029DA38588A4070AF /* Frameworks */ = { + 0579CE473BD102D66CFD83759DF32593 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - AFE54E8B773F1A0FD5308A078C8DDF52 /* Foundation.framework in Frameworks */, + CF6BD1FD1094C8EEA16689715E139EB9 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 819A9B65073BE3B5599196C0A3B27EBC /* Frameworks */ = { + 1A222011F4A7C845B7EF12C4E30D9FFA /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 50698F14E7847E18B907E9373FBF4C21 /* Foundation.framework in Frameworks */, + AEE8500983E6006A647864471D9A7976 /* Foundation.framework in Frameworks */, + CF978341DB3912E80983036C4AD5881A /* XCTest.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 85AB925D9C9745FF14CCAA2DC961CFC7 /* Frameworks */ = { + 27B04941D92D46EB3A8B9F5233BEF34D /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - FE14365F80A945F899EC2B6097CC9A0F /* Foundation.framework in Frameworks */, - B8891CBD25CF106F270F3A1BA47CB568 /* XCTest.framework in Frameworks */, + DC5CAF854B6440F1A789054FC66B37FC /* Alamofire.framework in Frameworks */, + CA4B91F17A58D027724EF1545BEA6C45 /* Foundation.framework in Frameworks */, + 6F80FBA381EB1FEB7705443C1EDCF08E /* Moya.framework in Frameworks */, + F0A4642AAB528D1347762C017BB89168 /* Result.framework in Frameworks */, + 12113A29B6660ED4BA7E56B0EBB58E78 /* RxSwift.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 99195E4207764744AEC07ECCBCD550EB /* Frameworks */ = { + 3E4453D9DA2D4A8F1EDC6284216F6C5C /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 73B9C996AED49ED7CF8EC2A6F1738059 /* Foundation.framework in Frameworks */, + D7A277400B8F745FBC4CE5EE6CF48957 /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 4DCE27CA3098209B1B7CE9D866C9C345 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 1A63734641579C3F753D817DEE3A51C4 /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 819A9B65073BE3B5599196C0A3B27EBC /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 50698F14E7847E18B907E9373FBF4C21 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - C1825BDB14BC6049395937DC38B2B076 /* Frameworks */ = { + 82CC1292D37E582C45D35FD78C69E6DA /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 15304D72C1754185CF6D95C94F4AE26A /* Foundation.framework in Frameworks */, + 49FA489CDE96798B21AF5652CABE318A /* Alamofire.framework in Frameworks */, + 19A573A8F0F4223CB3A44F82A6A61B5C /* Foundation.framework in Frameworks */, + E8DA971272BE68E938AC1EF969319EE2 /* Result.framework in Frameworks */, + 20CB24B8F02EC24E2E1250E3E4EAD6D0 /* RxSwift.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - D2AA93D262AF51273B4A99E0AD9845AA /* Frameworks */ = { + 99195E4207764744AEC07ECCBCD550EB /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 0356CC31F467F2A05442342D8E3013C3 /* Foundation.framework in Frameworks */, + 73B9C996AED49ED7CF8EC2A6F1738059 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - DE092388E1996AC7D291B7636F8C331F /* Frameworks */ = { + E535F2C132BCBF751191972A80C54664 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 25906E7AEB4FC9E4C5C3524EBB2FC2AF /* Alamofire.framework in Frameworks */, - 9ABDB43306A8DBC2A34E0A9FD32B3C1E /* Foundation.framework in Frameworks */, - 940A0432A04492ADD2B578E45442FE7C /* RxSwift.framework in Frameworks */, + AC319D49A5623B6D7A724408A403829F /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 089EFF2617F7C339621AEBC7B274A9EC /* Core */ = { + 15EB19C894FC18CA0ECD7E0A315B7237 /* Support Files */ = { + isa = PBXGroup; + children = ( + 798D6507043494394FBC0F2D20989C64 /* Info.plist */, + 88DE39B5D1978528E9D054FAACC2F5B2 /* Result.modulemap */, + 9424A777091A94210F575BDE7DE84582 /* Result.xcconfig */, + B953401C4DD41EAB548AC18810E6E354 /* Result-dummy.m */, + E8029DB15A25AFFAE34899448B8FAFC5 /* Result-prefix.pch */, + 2704AA557DFC396D7E21F5EBA985FD57 /* Result-umbrella.h */, + ); + name = "Support Files"; + path = "../Target Support Files/Result"; + sourceTree = ""; + }; + 1C029B6FDBBE96763C83ABDFE080C6CE /* Core */ = { isa = PBXGroup; children = ( - 2297755880CA1360AA9D5E2F6D9EA0E3 /* Japx.swift */, + 229A85AAFFE11F6A6D79D2B225C0A1DE /* AccessTokenPlugin.swift */, + 62716404808E37DAC75B4B28F5114B35 /* AnyEncodable.swift */, + 14DC11C1BA6FCE9B087A39DEC5E2519D /* Cancellable.swift */, + 2EF0C60460023D90EA5729A92C56EA10 /* CredentialsPlugin.swift */, + 5171F2FC35EE544F7DAB4297F867EBAE /* Endpoint.swift */, + 7090F5D7C7307A959696489444D8BCAC /* Image.swift */, + 4FC42E99FB0F361A2ACACC3C4EE8927F /* Moya+Alamofire.swift */, + EB0EC43D7518167748E5FE9A2EDAD5D5 /* MoyaError.swift */, + 2587973419AEA476D3224FC601607861 /* MoyaProvider.swift */, + 5EEA8869D65812DF81AD7E3B17F2F633 /* MoyaProvider+Defaults.swift */, + 436717D4115E0ACB94734EE8CA26FD8B /* MoyaProvider+Internal.swift */, + E747D4622461BFF7BB7CAF95CEADC5F6 /* MultipartFormData.swift */, + AFD24C91CBBD123959078CD584E3AA00 /* MultiTarget.swift */, + B3E7A8447D054951C94842A044C47054 /* NetworkActivityPlugin.swift */, + 7C1CAB8EBD1CE7B4D96A675268BDDDD4 /* NetworkLoggerPlugin.swift */, + 3A14F163E70D28028ADD4A1E85C9F733 /* Plugin.swift */, + CC57FB31563EBFCDE68A7FD9C47CDAAC /* Response.swift */, + C6CE0F5E13DA33F987212FCB96749248 /* TargetType.swift */, + 2A85F3A2C53FDBE2027E3973F47BB50A /* Task.swift */, + CA5DD01B85490ABC2EFCCBC864908E38 /* URL+Moya.swift */, + 0F158D3D70051A2768853AA7ACBA8BBD /* URLRequest+Encoding.swift */, + 954EC803E64CD8087DA3E0F39FAFBF0B /* ValidationType.swift */, ); name = Core; sourceTree = ""; }; - 0CA063A2239D5492A2CC5B33D2A72C6A /* Support Files */ = { + 1EA6A36EF4373544EB07A5182699CB8A /* Alamofire */ = { isa = PBXGroup; children = ( - B1C2D3A07F59AF870371697995136CB0 /* Info.plist */, - 7A4D662E75A20B78E2D3E0D9D2BF5488 /* Nimble.modulemap */, - 3A112C0B91CEF1630FE54DCA13FC3788 /* Nimble.xcconfig */, - 7E7178C22D9FEA5A0AFB0F5D97D3B881 /* Nimble-dummy.m */, - 49ED35B5C880A926C6DDAAA853BBA9FA /* Nimble-prefix.pch */, - 792B5B264B714DAF85A5A5C7E1148443 /* Nimble-umbrella.h */, + 06CF7639652CB0AC8948745F7C4C6833 /* AFError.swift */, + 2755F41E7417700F0F8D1FEF401CD85A /* Alamofire.swift */, + EA96D4FE595A02F276983200B32B973F /* DispatchQueue+Alamofire.swift */, + 11CFFB1130FF24027ECE8E412A4457E0 /* MultipartFormData.swift */, + 237371A3A511DCBC2049FDC6BC1250B2 /* NetworkReachabilityManager.swift */, + E805A47CB8FE3FDE48121C67752DBB85 /* Notifications.swift */, + 21AA52C1F4B14FC5C28CD64B374470ED /* ParameterEncoding.swift */, + 06C8604B51CCA5FDFBF8FD4118BC9B14 /* Request.swift */, + 36EB9F071F4D52D362E833CEAECA3856 /* Response.swift */, + A4C9F516B8F2C0B86D2AC93D4DDE5E35 /* ResponseSerialization.swift */, + 345F59F7444265DBD72E5E04CDB9E34C /* Result.swift */, + 779DFFA139BEDC139AA5C74E119C0EF8 /* ServerTrustPolicy.swift */, + 38E770EC57760526C4A912AF7BC24189 /* SessionDelegate.swift */, + 8025BBEA7863AF9ACF7EE93E72B568D5 /* SessionManager.swift */, + BA93CAF72399A0E2E2A33ECDBE009016 /* TaskDelegate.swift */, + 88A33BF60AAAD283385D9E613AC49004 /* Timeline.swift */, + 352012581262B4A2C05B9C9F4B6B9357 /* Validation.swift */, + 667D7C93CC9A7EBBBE0D0EB4A22AF373 /* Support Files */, ); - name = "Support Files"; - path = "../Target Support Files/Nimble"; + name = Alamofire; + path = Alamofire; sourceTree = ""; }; - 10475FBD03067E936AC19F9A8CAF28D2 /* iOS */ = { + 29320B3E2B7B3812D7906859096D6400 /* Japx */ = { isa = PBXGroup; children = ( - 34BA459FC9CCA4108DCDC867D44E9F4D /* Foundation.framework */, - 9755D95591A6CE47328DB68A733307C0 /* XCTest.framework */, + 801A34B78D656EEB06F55357066A11EF /* Codable */, + 3190B67E3F0EEDD917E3B15AABADA02C /* CodableMoya */, + BC679143E73537C8699CACEADCA44CD3 /* Core */, + F8BC7C996A9A8B3DBD05C53249FDE08A /* Moya */, + 5982802F7C18B51C7CA55037C2F1428A /* Pod */, + 4A397DB4DB52970C76C341C6935A2B55 /* RxCodableMoya */, + 9658E5F949AAD8075486B0C30D14E852 /* RxMoya */, + 40192F6BBA86BCEBF482EB677C14A06B /* Support Files */, ); - name = iOS; + name = Japx; + path = ../..; sourceTree = ""; }; - 12BDD12EF1EF9F87AA9A35324D1B46CB /* Quick */ = { + 3190B67E3F0EEDD917E3B15AABADA02C /* CodableMoya */ = { isa = PBXGroup; children = ( - 81EB6960202A0523E2FA7F40638354A1 /* Behavior.swift */, - CB8E4929B630CD353DDB3A13FD7E6370 /* Callsite.swift */, - 87CB365772D4AB4BAC4F276BABBF0FA7 /* Closures.swift */, - 960FF17E70FD45843714BBEA27709973 /* Configuration.swift */, - 99FE3158C3E25E5B8F38A97C197AE66C /* DSL.swift */, - 287F8AEE013462052FC021EAE107A568 /* ErrorUtility.swift */, - 1ACC4749EA0948D58B108FDF7F64721E /* Example.swift */, - 6FB19C2E0495662C1CA7CBEA098BB9E2 /* ExampleGroup.swift */, - 6F54173CC08A3DADFB0A9D088F487071 /* ExampleHooks.swift */, - 9DD1EC05FD9E349BE69440E9C652EFBA /* ExampleMetadata.swift */, - 8B0CF9B3E3B805E2577C267913985B36 /* Filter.swift */, - 5A771BDF71AC5E2C1440AAE33D0C153C /* HooksPhase.swift */, - 50068E6E8FBE7B01CCF0E7931673F5D7 /* NSBundle+CurrentTestBundle.swift */, - 7BFC4B71347026DF6B17A06DF1A56FEA /* NSString+C99ExtendedIdentifier.swift */, - 21F560EF55C7D8C17CCE9EA6758740EE /* QCKDSL.h */, - 0F5589B275C5F60829B3701EB3CA7DE2 /* QCKDSL.m */, - 3AF5A0D48BA3B862D2D2D3C093E2E173 /* Quick.h */, - 9BE0E5DE916786A224B761D4B5EB05A5 /* QuickConfiguration.h */, - 698ADA71B26874A5F56087166E6181F3 /* QuickConfiguration.m */, - C5FD88C5978C7AF5D39A28415385C2F6 /* QuickSelectedTestSuiteBuilder.swift */, - 105F90F7282EE3DE064B05EB0435E2C7 /* QuickSpec.h */, - F3A18B76F9534F5B7DC2F39928E4C70E /* QuickSpec.m */, - 052FEE40347F4ED7797526ADB365577C /* QuickSpecBase.h */, - E11A2A69662571C92BE8A0CAE1ABBD5E /* QuickSpecBase.m */, - BF973934E6FC71710A761CE16268D732 /* QuickTestSuite.swift */, - D326CAF5CC696D74701D8222B844D231 /* SuiteHooks.swift */, - 0154895DF07E6B30F910888318E4F0AD /* URL+FileName.swift */, - 5249FD117E6411CC9CCD18D2D2740AD6 /* World.h */, - D1CA87CD664CB9BDCA1ADF0D8CB02FA5 /* World.swift */, - A4B6CB2469FD981176F63F9328272695 /* World+DSL.h */, - 0066A524B7EC6E8D33FFB87B06696AB0 /* World+DSL.swift */, - 7976A3521A8469AA75056638F5B90E68 /* XCTestSuite+QuickTestSuiteBuilder.m */, - 72DD41F18ECE42A49472F45ADFEAB706 /* Support Files */, + B79B13C2B9AB37A805A72EE1E3A936EC /* JapxCodableMoya.swift */, ); - path = Quick; + name = CodableMoya; sourceTree = ""; }; - 14995162AADA4C96C06813BB6DAB4F61 /* Pod */ = { + 3A1C3B4D5C23B0A1FF96FEACB54DEFDD /* iOS */ = { isa = PBXGroup; children = ( - 250446796C41D2870101F382CC5F188D /* Japx.podspec */, - F10C9A1AEDAA86BC55AAD4D362FDB3F6 /* LICENSE */, - 1EB9C383CF1317A7DFFC29BC82B8F07E /* README.md */, + AD602B190FB54A88B2CF444F113337BE /* Foundation.framework */, + A98F46249E9984443862EF0861F3E9EF /* XCTest.framework */, ); - name = Pod; + name = iOS; sourceTree = ""; }; - 2D60E4DDD9417FE8299534D7ECAD529E /* RxSwift */ = { + 40192F6BBA86BCEBF482EB677C14A06B /* Support Files */ = { isa = PBXGroup; children = ( - C9C864871785D202D826BE192B6E6DE6 /* AddRef.swift */, - 21C53CE1D51F9C233E64FC5C98AB12C1 /* Amb.swift */, - F7C48D85EF9642867FD839461D8B13FC /* AnonymousDisposable.swift */, - 1E87AEEB57283BB00F3457829C4DD2B0 /* AnonymousObserver.swift */, - 47428B5639FBDEBDA304B0CA654EB5BB /* AnyObserver.swift */, - 5ADC9D134A9FB7A2B97360F96081BB5F /* AsMaybe.swift */, - CE5BC35CCEF5C4390E8514B0AB4AB8E3 /* AsSingle.swift */, - 8DEF053D251A1FB1F8E299B9824D4247 /* AsyncLock.swift */, - 83CC1F2D168EC1115D72BF4E9DCFFD90 /* AsyncSubject.swift */, - 2ECA9B5908A76D8E8E708D3DED8408AE /* Bag.swift */, - 324CA97B04AA87FF722CECE6992D6245 /* Bag+Rx.swift */, - 87218742C41108C1125E87CF1BF2636E /* BehaviorSubject.swift */, - 65701D077A3072AFBA3AD2905F111FA5 /* BinaryDisposable.swift */, - B11A64B8ED98B96B41BB72FDF55A7DA2 /* BooleanDisposable.swift */, - C7187A72208E6393A69E2B9E2E8DAC7D /* Buffer.swift */, - BFEA1F5BC5C4B657FECED953BEDC0890 /* Cancelable.swift */, - 28504DFC5C78BB998DA212F304E6CAB5 /* Catch.swift */, - 9417B252A87A2766CE78F456B40F0F0E /* CombineLatest.swift */, - 5F9C7472DADB65F9513C309CC3083249 /* CombineLatest+arity.swift */, - 569109481AA868B84E487C40B1F677E8 /* CombineLatest+Collection.swift */, - BEC2BD1894D0CE4C5DE875EC3C6DF066 /* Completable.swift */, - 4A0149C89142E332D1AF21EBD653D6A3 /* Completable+AndThen.swift */, - 6391860AA2FED2C1ABD304DB5B8DBD44 /* CompositeDisposable.swift */, - 7D3C5987BE3BDCC72FD32C7F4D8DF819 /* Concat.swift */, - 903A18F62D9865F6ED5F9CA1BE50C4A8 /* ConcurrentDispatchQueueScheduler.swift */, - E8DAC66E795B84776F52EECB31B6D700 /* ConcurrentMainScheduler.swift */, - 71662F638FB767799CAF66059B8D107A /* ConnectableObservableType.swift */, - C459B517E950220EB7FB7082A5B583E3 /* Create.swift */, - 05E21AAF28B2AB4181ACA225F7AB0510 /* CurrentThreadScheduler.swift */, - 542F6846F3B4D9B107C65A547EFBFC9E /* Debounce.swift */, - 84FB2A8A2E32EA4D8E111CE2EB9E68ED /* Debug.swift */, - D2D649083D03ECAE83EA157EE95428C9 /* DefaultIfEmpty.swift */, - EFC3965AA3B1848FD041D2AD7FF437AD /* Deferred.swift */, - EC54A0C5B1F0197DC59979D98E0A9CCC /* Delay.swift */, - 1AEF9222AAA8E0733D95C8D6B55CF4C4 /* DelaySubscription.swift */, - 1876A5676EA428369212FEC44959AA55 /* Dematerialize.swift */, - 6974958B3C17E278FF09E0A95E1502A6 /* Deprecated.swift */, - D62659E4452122DC3398A6674F35C5F5 /* DeprecationWarner.swift */, - F74E3D28F387A1D8B8BF7D41ED5DA29C /* DispatchQueue+Extensions.swift */, - C68375B9F28124F7B21E644229CC4267 /* DispatchQueueConfiguration.swift */, - 54821BB42904E50A738AAD0388C077D4 /* Disposable.swift */, - 4FBFB8FE0C62CB6CC9078D8760AD62D6 /* Disposables.swift */, - 3A4BFF354997AE420A769E6E96AEF7A0 /* DisposeBag.swift */, - 29882C9887010BB260EBA8CB15F720B3 /* DisposeBase.swift */, - 97C8EBD03BDE0C5FA71C0EFA8FB0BC69 /* DistinctUntilChanged.swift */, - EB16EF5E0D01210DEB2D59DCE35D6932 /* Do.swift */, - FF9DAEB47D56E9A9047971D6F5E12960 /* ElementAt.swift */, - 0ADC503F14629E708672F9224A3B209A /* Empty.swift */, - 0C7C371FDC4AF3477CDE33E2976A4520 /* Enumerated.swift */, - C66DFA6CF552724526629F1688A27262 /* Error.swift */, - 4A507EFB75564F8147DF105B71812B81 /* Errors.swift */, - 10025FCA582FE116474572162EBE0908 /* Event.swift */, - 2CAC9260E9F45CB6F2433F2D4B40629B /* Filter.swift */, - D8722C45C9C02A6DDDF854067A875A04 /* First.swift */, - D083168A2B38A72D806E419BD7D5AE6D /* Generate.swift */, - D5CE0E1FBE0C9ED7777E5AD2314FB622 /* GroupBy.swift */, - 97253BD23FFE71484DEBCC6B8C7069F9 /* GroupedObservable.swift */, - E116481BA77E9D871A8266744F0DD8A8 /* HistoricalScheduler.swift */, - A5B412B85883B95D580DF16976B84CC7 /* HistoricalSchedulerTimeConverter.swift */, - 90315A8C49392ACA3BDD49C010911FB6 /* ImmediateSchedulerType.swift */, - 00523230D0263E1914B5D6E9D9D02482 /* InfiniteSequence.swift */, - 14CC75C42A789023A911BA311F90AC07 /* InvocableScheduledItem.swift */, - B81FAC0C845B1B71D26621E12E7CD2C7 /* InvocableType.swift */, - 3DDC7ED28FBB04564910C85643299195 /* Just.swift */, - 02BAEC26EACF6C2DF93DDA2C7041DE93 /* Lock.swift */, - 9AC93DCA520633F99CF846C3841E6283 /* LockOwnerType.swift */, - 115D2AF64BD603B587662B7B665AC826 /* MainScheduler.swift */, - A6B2FF1D56719B0E1299CC841A0E0A3C /* Map.swift */, - 91119C9F6EB4094361252ED031F33D22 /* Materialize.swift */, - 707089661FC952DB94FA9C9841F5C0AF /* Maybe.swift */, - 2329FE822D335182725B17A4C55F35BF /* Merge.swift */, - 20FA1C6050DE20DDD68D96F9375367F6 /* Multicast.swift */, - 4E7AD6A9F6814D9221B62E5B2CD7F576 /* Never.swift */, - AFA4959C2E495AF4582D368D0EE7DFCB /* NopDisposable.swift */, - BA9886708ABC4A18D6E3A14286A583C3 /* Observable.swift */, - E6652196BA74CB20494F39BFAFADA9EF /* ObservableConvertibleType.swift */, - 037773F08922DAA566B17C49EAE78648 /* ObservableType.swift */, - 3C57122A997A35A6219DFFC7E9BEA64F /* ObservableType+Extensions.swift */, - 6C9646D6B27A51FEB7760FFD7ABA8FE3 /* ObservableType+PrimitiveSequence.swift */, - D681D5D0182BBE1E956BD88F968163D2 /* ObserveOn.swift */, - FE5403035B2D6CB8870191A70F85D360 /* ObserverBase.swift */, - 18DA7B4E2C92193CD0FBC77BD67D82F5 /* ObserverType.swift */, - 73A3DB43F08D1F1130C8C47606C75BFC /* OperationQueueScheduler.swift */, - 7ABFFC41CD51253E95153D617F22667B /* Optional.swift */, - 9DA92B3C094355E7C0F2DD2A6712F5D8 /* Platform.Darwin.swift */, - 6C31A9C55AAAA02E782DD2DDF26AE45C /* Platform.Linux.swift */, - 9618A38A1BE99355DCCDDB262F75DCC7 /* PrimitiveSequence.swift */, - B084AE800D01363F8437DB00D433C868 /* PrimitiveSequence+Zip+arity.swift */, - 4DBD0813F3547174C6A3088B497B8451 /* PriorityQueue.swift */, - A8C4A95655D2F368D8ACFB28CC41D040 /* Producer.swift */, - 00548BAE91F8EBAC6A1F26FD7965E408 /* PublishSubject.swift */, - E43294C4FBFA81BA9A6CD48CE79E4DFA /* Queue.swift */, - 8C4A6F1FA192EE0F2DABD350DDF97D1A /* Range.swift */, - 0FA30BA7DAD552B1A93F8A9F784B55BD /* Reactive.swift */, - 8B2DCB8269C4E998FFBCA4F6D651046D /* RecursiveLock.swift */, - CA6A52839726EFA8E8063838EFBCF436 /* RecursiveScheduler.swift */, - 8A92F103D54975DCB696C7A6DF4AA166 /* Reduce.swift */, - 199E32C7CFC03F19441EAC1863FA61E4 /* RefCountDisposable.swift */, - 0B7E93815BEBBD07BF13E76FAE786384 /* Repeat.swift */, - 0B3EC680002145D1CA5CA6F871A22BDE /* ReplaySubject.swift */, - DE899583FCD2DE91D8C9F909266B87FD /* RetryWhen.swift */, - B0664D803A79EE39850AC2BBFD7D0B8A /* Rx.swift */, - E04F146F81D16880229387978333686D /* RxMutableBox.swift */, - 4E8F8222D03579ACB0ECBE9A8A59BFC7 /* Sample.swift */, - 42DD9857C631351E474828B68F45F556 /* Scan.swift */, - 0F125FDA9DD4D11A8373B4B8DFF00663 /* ScheduledDisposable.swift */, - 8BB1BC87779E2F49D1309AC46EE06AAA /* ScheduledItem.swift */, - EAF3EACF0170114AF88CA3841AC3F06D /* ScheduledItemType.swift */, - 2E337F83919CE4DD127D3F17C17E1CAE /* SchedulerServices+Emulation.swift */, - 7B3963D55647AAE13B2ABE9E4969D6C7 /* SchedulerType.swift */, - 074CFE3CD2E45B7561678C97A0518927 /* Sequence.swift */, - F4C9A123966D165DBE13B25BA9CA3C1C /* SerialDispatchQueueScheduler.swift */, - 90009DC6A28C371D5F59D7A2C730CB9F /* SerialDisposable.swift */, - FFC1DCFB80C5D8A90D9FC51279DE0553 /* ShareReplayScope.swift */, - B874165FC81E48D911712B58130AFB02 /* Single.swift */, - 32CE93F156699EF82D4255180FCFA9F5 /* SingleAssignmentDisposable.swift */, - 17E42F780B018765E8895A4757AE99B7 /* SingleAsync.swift */, - 079EA2F46F0155E1CB4846F9F78F848E /* Sink.swift */, - A0D1C49E40C9824F7A57414F340EB5E6 /* Skip.swift */, - 1330A538B316793D311A8FC360B62C6D /* SkipUntil.swift */, - ADDF541BFFF4BC0BBF315FB2200E0E1A /* SkipWhile.swift */, - 216B0FE5458AD740CD800577BCA431B8 /* StartWith.swift */, - 03A011C2B92675A1E945C8589797B124 /* String+Rx.swift */, - A085545942D1D7E397D1F13F4282E7F2 /* SubjectType.swift */, - 249BC1E14888C1258B92083FE3822344 /* SubscribeOn.swift */, - 7275D8608A3EF9F362876206E7113B2D /* SubscriptionDisposable.swift */, - 682B065B025D559DF4971BC66D3AE1F1 /* SwiftSupport.swift */, - CF34597E0B31A3DEA59EB05510D557A1 /* Switch.swift */, - 0A56D37588F1AE973B96C0EB0A0FE439 /* SwitchIfEmpty.swift */, - 067A78E146F046EEED509D030588A248 /* SynchronizedDisposeType.swift */, - 667088F20DA4DA9BD670F13532D877A0 /* SynchronizedOnType.swift */, - E3C94665B290279B87070CBA20D47DE8 /* SynchronizedUnsubscribeType.swift */, - 9D463CDC43BD9759CA0383B258DE9801 /* TailRecursiveSink.swift */, - C062B0A66219161792147C4AB804AA09 /* Take.swift */, - 08CD26AF27AD1C14D9B83F74D0821C56 /* TakeLast.swift */, - 9946F45C2E4D761E36FA644D176B67EC /* TakeUntil.swift */, - 8B98085EA95080D58651A79EABD8C0BD /* TakeWhile.swift */, - 9787FD32D4F56CE298741D1362BA125D /* Throttle.swift */, - 4BBDDE699DCA7ED0627585151FBC55EB /* Timeout.swift */, - ED7BD574D00DBB1CB6BC8112B79D9242 /* Timer.swift */, - D3082C2B53788431AB6E6D54D94250BF /* ToArray.swift */, - 8C39CEBD744C1A9180438DD8B9D960DF /* Using.swift */, - E45FDA44F876FE813761177E4A343EA4 /* VirtualTimeConverterType.swift */, - 6C2BE0FCF915519EDB81B9010D190509 /* VirtualTimeScheduler.swift */, - B70D284E5223A7FC72C970F6428DB969 /* Window.swift */, - 91BAE8AC939D90CBD1FE62D3DB93F983 /* WithLatestFrom.swift */, - B19084006DE9A333682FCD48BEEC9162 /* Zip.swift */, - 364745B4A2B2DC826269A2BFAEEABAB0 /* Zip+arity.swift */, - 13CF1D961FB293C796AE38939191FACF /* Zip+Collection.swift */, - ABB701F65B5278860F0B038F82561EA9 /* Support Files */, + BD4FB3053CB8DE0931903219657D1735 /* Info.plist */, + 48748570CD9B97C4F162DF0CE3BD12E0 /* Japx.modulemap */, + 8A2444B02EB560BE6707A9FE05D68638 /* Japx.xcconfig */, + 9C02D605C111C05258C581CB47DD77E6 /* Japx-dummy.m */, + 36E8CE06A79980D67AE60D18EA84AF67 /* Japx-prefix.pch */, + 33689C45B0B43BEDAD1F1760490EE741 /* Japx-umbrella.h */, ); - path = RxSwift; + name = "Support Files"; + path = "Example/Pods/Target Support Files/Japx"; sourceTree = ""; }; - 3E6808F50641BF56B23131B22303A8E2 /* Products */ = { + 4A397DB4DB52970C76C341C6935A2B55 /* RxCodableMoya */ = { isa = PBXGroup; children = ( - A23986EBD362324D6DBD0E9D7D493F34 /* Alamofire.framework */, - B9CF9D23F80A36179D29353E9EA57E3A /* Japx.framework */, - 7BC0203F68825B665D6E24AC418105D2 /* Nimble.framework */, - CF4E0F462781508C6CE39DBAC0C54B3C /* Pods_Japx_Example.framework */, - CF2091B6FA6B24C28FF876A0E514055E /* Pods_Japx_Tests.framework */, - 67B422C681BDAE2ABC153415D54DBBBC /* Quick.framework */, - E1058010A96D80B29FC66DF80177CF84 /* RxSwift.framework */, + 48D247C87158725D44393FBB22466172 /* JapxRxCodableMoya.swift */, ); - name = Products; + name = RxCodableMoya; sourceTree = ""; }; - 5FC9E7C1B180728CECF3D219A78A3A41 /* Pods */ = { + 500A8B3E0EFE2A08FBF3006DEBB96C5B /* Pods-Japx_Example */ = { isa = PBXGroup; children = ( - D0179A14839989716112312F0B07508A /* Alamofire */, - ED6CB7FBAE167D3AEA3E234F71DAF0DC /* Nimble */, - 12BDD12EF1EF9F87AA9A35324D1B46CB /* Quick */, - 2D60E4DDD9417FE8299534D7ECAD529E /* RxSwift */, + 8780FB9D832972FD8EFCD508E54E7999 /* Info.plist */, + EE8D8FE4CAE3AFA9712F81E3E0CB38EB /* Pods-Japx_Example.modulemap */, + 37B43E500471B5179FA8762BE7580B60 /* Pods-Japx_Example-acknowledgements.markdown */, + C808D931055F1E4A0489A3FEC556CEEB /* Pods-Japx_Example-acknowledgements.plist */, + 73C6432511FFB3FED30C271FE37AA8FA /* Pods-Japx_Example-dummy.m */, + E237910ACB3CF88B99FFA7D11E619590 /* Pods-Japx_Example-frameworks.sh */, + 6B2C5C9F8DF6D461227C569A6B2A416F /* Pods-Japx_Example-resources.sh */, + 2362AADF472FB2493BC611CE7C8130F5 /* Pods-Japx_Example-umbrella.h */, + 0C3730A397EFC315C07B1B828E0E6C0F /* Pods-Japx_Example.debug.xcconfig */, + 6C0AD9A3C645B69D381E42E5A62949CB /* Pods-Japx_Example.release.xcconfig */, ); - name = Pods; + name = "Pods-Japx_Example"; + path = "Target Support Files/Pods-Japx_Example"; sourceTree = ""; }; - 6DD7D6427C45520302FB067E5D1E3B1C /* RxCodableAlamofire */ = { + 57DDC94101BA5786298E6C58B0C98419 /* Nimble */ = { isa = PBXGroup; children = ( - F0A46C6E2E88C46C56F15BF1C97476E9 /* JapxRxCodableAlamofire.swift */, + 210F077051BDF92B962E04825298F577 /* AdapterProtocols.swift */, + A902BE5C9CE8BBC1D531CD222033CA85 /* AllPass.swift */, + 1A33D1C142901BD76E76AF033C5AFDDE /* AssertionDispatcher.swift */, + F71D5F26A62B979B98A5E47A83B3F62C /* AssertionRecorder.swift */, + 4EA6D234041FEE17BC62952F52FA3ADA /* Async.swift */, + B16644096C89686747C681C7F1AD68D7 /* AsyncMatcherWrapper.swift */, + 8E2E2998305D24376F237C8F5BD8561D /* BeAKindOf.swift */, + E8CC4E6B55881B0EABF690CF4D78F5B9 /* BeAnInstanceOf.swift */, + 88386A27943C6BC11B2448D4086FED0A /* BeCloseTo.swift */, + 2D87C098123F52C53D0712CDFD6EDEAE /* BeEmpty.swift */, + 3A2FD63B4823D4C8053F0AE71A4B3470 /* BeginWith.swift */, + 9D309F4F93E5511C02332FE43AAB484E /* BeGreaterThan.swift */, + 1998A3F621473122C6AA6A986CD06429 /* BeGreaterThanOrEqualTo.swift */, + 07112AD221EC0B24BAAE0BE16D51446D /* BeIdenticalTo.swift */, + B58F9F10AF27EA1C8595152E27E72766 /* BeLessThan.swift */, + 55F597B7C6A19E4BDEAB3112981DF2E0 /* BeLessThanOrEqual.swift */, + 20977FE7BE5109842DA8652999F4352F /* BeLogical.swift */, + 7436721712C7D5D585636B9714BC4C15 /* BeNil.swift */, + 128903CC4F88D353B1CA91FCA4B208A3 /* BeVoid.swift */, + B60582E9281F912366D1CA0CC36C6B5A /* Contain.swift */, + CCE07F47A520885E23BC234548832652 /* ContainElementSatisfying.swift */, + 4F8708C8DD3330AAD6308F240407CBE4 /* CurrentTestCaseTracker.h */, + 08C99547FCB865BC15313A1A836BCCB2 /* CwlBadInstructionException.swift */, + 0A769F0C4D8CC54726DF64B6BDC3A564 /* CwlCatchBadInstruction.swift */, + 767CA25E36BBAD68263720A68F512531 /* CwlCatchException.h */, + 231CDD9CC7A8E023D0DCABAB45910914 /* CwlCatchException.m */, + 5D8C58E0CD57957D1BB597F1DA9A688C /* CwlCatchException.swift */, + 1E582F153401E75131FA8B2287849733 /* CwlDarwinDefinitions.swift */, + 84D6BE7E27537A5294F1D8971A1CBBF1 /* CwlMachBadInstructionHandler.h */, + 8E1E0015F509D3FE2FF729D973164EAE /* CwlMachBadInstructionHandler.m */, + 23F26F0EB999564CF86B6B17CE3171C4 /* CwlPreconditionTesting.h */, + 5FC9C675AA478C49C264FFF4348B9A4A /* DSL.h */, + EA9A79AD6A6F7850611F2598B323C81C /* DSL.m */, + 4197071D08DC9739C4E00693278BA20A /* DSL.swift */, + A488BC91B241795E0CFA94B7373787B0 /* DSL+Wait.swift */, + 3A5490F4D68218245A863D4FBF436232 /* EndWith.swift */, + 9E3BC5930669935BC560E64FCDA49E52 /* Equal.swift */, + 6C0FE751E63079656C64EAE962C28947 /* Errors.swift */, + 3B7449E2CCC2804FB68D46B3A3C639A3 /* Expectation.swift */, + C2281E6131B58F50F5DA7019D70B3FA0 /* ExpectationMessage.swift */, + 8FD00F8A7863356C8C81CEAA8FAA4E3B /* Expression.swift */, + 3CB4427395C8F1E6BCF2644B2414040F /* FailureMessage.swift */, + 1CB208F6E6C5AB4FB6B7E6C9EAFA9AD0 /* Functional.swift */, + BCBE5DECA4970DDA49112EAF4C035467 /* HaveCount.swift */, + 538437DFA209BF2EC5C569110F9BC8C8 /* mach_excServer.c */, + 3629F994397DAFD40D0E7E1642BEA4C3 /* mach_excServer.h */, + 1C5CC6EDF42D583BD7BC160F02E0B1C3 /* Match.swift */, + 96D743DFD99B482EC9449040EB4D7105 /* MatcherFunc.swift */, + 2748BFBC220EFF2160607C4D1A2B851E /* MatcherProtocols.swift */, + 4F35556E662E59760FAC7050D90368AC /* MatchError.swift */, + 50823C91FA794B750723BED19AF1C573 /* Nimble.h */, + ECCB3A5FAD752C9957A933F4882558B1 /* NimbleEnvironment.swift */, + 53372BD17003BC1197E71F28B2BE7C30 /* NimbleXCTestHandler.swift */, + 93BC50CD60E71662E2A5B0EE0634F3B2 /* NMBExceptionCapture.h */, + EB25A8DB416BDC1A94755DFF2CE31BCE /* NMBExceptionCapture.m */, + D74FD20C443322527235A8934E2C20F9 /* NMBExpectation.swift */, + 8BBF0E562A88303BB79C6AE9645158B4 /* NMBObjCMatcher.swift */, + 82D8AFC528967CFFBF04509F8BEDBA12 /* NMBStringify.h */, + 4EC216A14145887F493C08DE6EC3C636 /* NMBStringify.m */, + E4380713E29F271AAD2903866367376C /* PostNotification.swift */, + B59E40670C314C4DB8FED68B7622F957 /* Predicate.swift */, + 4F815D1DC6AEF3D33D609A2BC5B39EF2 /* RaisesException.swift */, + 438D1F85491E34F92FF334A8FC400FE0 /* SatisfyAnyOf.swift */, + 1471A792DB50C056A926BA43C39DA0B2 /* SourceLocation.swift */, + B0A1D1BBDADA24792AE8E5B761112027 /* Stringers.swift */, + DB6587B5B9E54D74961ED1F5285AD259 /* ThrowAssertion.swift */, + 7572C8A24DE646B2CF1E1E1D0327E3DD /* ThrowError.swift */, + 8546F9356E7A6B593BF71B5E44991647 /* ToSucceed.swift */, + 2EA819AA0527D4526B0FE09C02D6935F /* XCTestObservationCenter+Register.m */, + 8F7F637E560EA3142486559E88117E91 /* Support Files */, ); - name = RxCodableAlamofire; + name = Nimble; + path = Nimble; + sourceTree = ""; + }; + 5982802F7C18B51C7CA55037C2F1428A /* Pod */ = { + isa = PBXGroup; + children = ( + C44441BCF6991CD947AD2331DBA3F457 /* Japx.podspec */, + F0A3BF08AD2E6C5660A5915373E90C4F /* LICENSE */, + AC6D90B586B7459203EDE88AC025D52E /* README.md */, + ); + name = Pod; sourceTree = ""; }; - 72DD41F18ECE42A49472F45ADFEAB706 /* Support Files */ = { + 667D7C93CC9A7EBBBE0D0EB4A22AF373 /* Support Files */ = { isa = PBXGroup; children = ( - FBB132961F23CC9596818249A56A6445 /* Info.plist */, - A374A3385D718B5E1BC5942045B3D4F6 /* Quick.modulemap */, - BC8579CD4DEBFFDA2F9F65CFF2A94E5C /* Quick.xcconfig */, - 4DE21072675A1A570C9629203BFBEE82 /* Quick-dummy.m */, - 15F69E4CDEBEBC74C2886CC935A74C99 /* Quick-prefix.pch */, - 1AD993A2A11D6A52D4D8CA71AF40A388 /* Quick-umbrella.h */, + AB8C5816ACB15A61AE0584E0D38F8CB5 /* Alamofire.modulemap */, + D948D49CCC5D651B2EF39CD405D82404 /* Alamofire.xcconfig */, + C048191B5A4A3C802C5FBF7132884E84 /* Alamofire-dummy.m */, + 990B1A4B26CA03FEF35EFCFE5231C3C2 /* Alamofire-prefix.pch */, + F0B4F2534BD345C1DCFA63E6B7B0B8FC /* Alamofire-umbrella.h */, + 5A4B994DA507E2BFF57FADE71EA77726 /* Info.plist */, ); name = "Support Files"; - path = "../Target Support Files/Quick"; + path = "../Target Support Files/Alamofire"; + sourceTree = ""; + }; + 6731FE14FC49E41247ADA40F7E974A65 /* Quick */ = { + isa = PBXGroup; + children = ( + AA481C8ACC00029090ACBC5BB7EE25D2 /* Behavior.swift */, + 0A18E5DCD85C9EE8D982B010ADBD0693 /* Callsite.swift */, + 1EFBA91F24A943393168E207390EFC2F /* Closures.swift */, + 2A1BD1EA551FB452B8EDDFEBA8641DCB /* Configuration.swift */, + A6176AA35CCF3CBFE6D60E435FC48165 /* DSL.swift */, + F803EC5A0031D90DA4595CAA2A07FD6F /* ErrorUtility.swift */, + A5BFB3C3D528E7D2C16E9E259C50F526 /* Example.swift */, + F2840ADD9D8AE2133B861E30EC6746C8 /* ExampleGroup.swift */, + 6007DE5BAED0199A3BE04EBDCEAE2123 /* ExampleHooks.swift */, + A91EB0BB97C7DE77CB9AA48325CC1C2B /* ExampleMetadata.swift */, + E5F969B54CC8C6A46B46C9289FC91E0D /* Filter.swift */, + 5B9962D34AE794A4B4E5EB8F7B49CABA /* HooksPhase.swift */, + AFDFC1F191D506C3BF3BA6079EB43753 /* NSBundle+CurrentTestBundle.swift */, + C4D156BEE49E52C4CF57071DAE7D780B /* NSString+C99ExtendedIdentifier.swift */, + A676781DECFBC86CF17ABDE9E756BD33 /* QCKDSL.h */, + 40DA704856F58FD24435A6308DB47408 /* QCKDSL.m */, + 0C856AA71B93EAC1CDB7702D3E5D5BE9 /* Quick.h */, + 41AA896D6678B7652B8AF843515851B0 /* QuickConfiguration.h */, + CE1E507505B8B14448ABB5913BC081E9 /* QuickConfiguration.m */, + A7C8BA8D8BCCDE4C7ECE9E8A1D4026B5 /* QuickSelectedTestSuiteBuilder.swift */, + B68200E7C85C1C8015011E9D5E041306 /* QuickSpec.h */, + 0DC84A417ACBE762363F0A79E13561E5 /* QuickSpec.m */, + B88DE1FB1AE9A49E1433D979904A7A56 /* QuickSpecBase.h */, + D897CC94A15C3535F821F5C491CAE35E /* QuickSpecBase.m */, + FD7FD200D4A958105F0AE67367016C4E /* QuickTestSuite.swift */, + EAECF7493900D53E23E6884FA68FF9E1 /* SuiteHooks.swift */, + 6ADCFF9C84CFCC3DC3C6A83540F432C7 /* URL+FileName.swift */, + E299A7FF7FC61B32CE8593712BF888E5 /* World.h */, + 8BDE63B1A5581B1A53E268330C4C639E /* World.swift */, + 3C7EE8F42D9C85C6989B8B95CF9D0766 /* World+DSL.h */, + C90A26DCE79C5549814BD8A253424E4D /* World+DSL.swift */, + 763C7401AD2B3B99E1DC5B4B7AD3E81D /* XCTestSuite+QuickTestSuiteBuilder.m */, + B080420965F7CB441C951A918C38A4D3 /* Support Files */, + ); + name = Quick; + path = Quick; + sourceTree = ""; + }; + 70C16C6DB0FA1E7C0FA1307C9C07E604 /* Pods-Japx_Tests */ = { + isa = PBXGroup; + children = ( + 0FBB698F70B596706C11E15D6A1A5E8C /* Info.plist */, + 11762E6ABDE35013BA403FC22127DA0A /* Pods-Japx_Tests.modulemap */, + CD7618F81EE6C26E12584E6126BABFDE /* Pods-Japx_Tests-acknowledgements.markdown */, + E8D7CDCCE91D6268DEB05E78B3F433EF /* Pods-Japx_Tests-acknowledgements.plist */, + 5DA43DCB2628FC69F59B550812E314A9 /* Pods-Japx_Tests-dummy.m */, + C3BB9D587BA70AD678435714D8E0769A /* Pods-Japx_Tests-frameworks.sh */, + 9AD3224424753C4325ACC5F0CE9ED2D6 /* Pods-Japx_Tests-resources.sh */, + 75EF2B75026DE9E7ADACE04C5F355DF0 /* Pods-Japx_Tests-umbrella.h */, + 1BF9205BBB725763CC352C889A2F3DFE /* Pods-Japx_Tests.debug.xcconfig */, + E4A3DB01D1C529B514BD50B1A41D865A /* Pods-Japx_Tests.release.xcconfig */, + ); + name = "Pods-Japx_Tests"; + path = "Target Support Files/Pods-Japx_Tests"; sourceTree = ""; }; 7DB346D0F39D3F0E887471402A8071AB = { @@ -1052,292 +1228,404 @@ children = ( 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */, B46DF91A45D5D2748454E765EBAA7AAC /* Development Pods */, - A054919103F97409A5073FB1706C10B2 /* Frameworks */, - 5FC9E7C1B180728CECF3D219A78A3A41 /* Pods */, - 3E6808F50641BF56B23131B22303A8E2 /* Products */, + AC1F25543950065889EE42E5583E267F /* Frameworks */, + DBFAC275E64AB012C54B8AF9FCA44ED6 /* Pods */, + ED06818C4634DE1F15A60CE594F5D0FE /* Products */, D4E9285196AC72295402D2A344323B25 /* Targets Support Files */, ); sourceTree = ""; }; - 9953171D84CE3DDEAEF41F439606043D /* Support Files */ = { + 801A34B78D656EEB06F55357066A11EF /* Codable */ = { isa = PBXGroup; children = ( - 885419A71A750BDC233BD1762001C7E9 /* Info.plist */, - 313FA9F60E41A7A978F04BA01F735842 /* Japx.modulemap */, - 8A5D64D4CB3970CC41325C63068D3385 /* Japx.xcconfig */, - EE10D6AFDF891C305E89BC3D25F629DE /* Japx-dummy.m */, - 2E0F6540280E217543515B0D778FF272 /* Japx-prefix.pch */, - A645920F4CBD2366A30DD1E41DD3416C /* Japx-umbrella.h */, + 499C84C1F389DD80A524AD06A622421C /* JapxCodable.swift */, ); - name = "Support Files"; - path = "Example/Pods/Target Support Files/Japx"; + name = Codable; sourceTree = ""; }; - A054919103F97409A5073FB1706C10B2 /* Frameworks */ = { + 8F7F637E560EA3142486559E88117E91 /* Support Files */ = { isa = PBXGroup; children = ( - 1CA2B82B5F13B08478940759EF8358E8 /* Alamofire.framework */, - F0130BAA2EA3D9380B9FC134CF67413A /* RxSwift.framework */, - 10475FBD03067E936AC19F9A8CAF28D2 /* iOS */, + C2AD5AA936D39D31F54CA401C4D49407 /* Info.plist */, + BF9C274467499C8F382D58F4D3E555DC /* Nimble.modulemap */, + 8E87A4BFD2AFEE1A83C1E1A655594120 /* Nimble.xcconfig */, + C688EB1853CF4023BB360F4AED37F9FE /* Nimble-dummy.m */, + 5BD8AE5E31A7FE022195C317CB3BA64C /* Nimble-prefix.pch */, + 7E5EB419D7F9243585A5433D94D36959 /* Nimble-umbrella.h */, ); - name = Frameworks; + name = "Support Files"; + path = "../Target Support Files/Nimble"; sourceTree = ""; }; - A72F7A2077CDE3598B44289F4BD12D83 /* Pods-Japx_Tests */ = { + 9658E5F949AAD8075486B0C30D14E852 /* RxMoya */ = { isa = PBXGroup; children = ( - 4C815370BC38CCF7DB3AC27156333975 /* Info.plist */, - 9F75F04C33A4F822487AE31340CEDBC1 /* Pods-Japx_Tests.modulemap */, - 39F627B6E3B31C264C3CF5DDA9E03252 /* Pods-Japx_Tests-acknowledgements.markdown */, - 10F2D0413D0AFCD8103B205E351E0FFD /* Pods-Japx_Tests-acknowledgements.plist */, - A2B7363E87183D6C3C117EA16F819C34 /* Pods-Japx_Tests-dummy.m */, - 1270BE528B2945A8FE806AE5F8BDBB85 /* Pods-Japx_Tests-frameworks.sh */, - AB9DEFF2140A36C8EAB1ADE041C2EF1D /* Pods-Japx_Tests-resources.sh */, - 1735312D340D5865D497D65007E2AED0 /* Pods-Japx_Tests-umbrella.h */, - 0A4BB666826A5D9D6CC7578046098AD6 /* Pods-Japx_Tests.debug.xcconfig */, - 89EDBC25DE24A5D7A9BD94B39228F411 /* Pods-Japx_Tests.release.xcconfig */, + 14446CAFF29C45E54E01A99F0EF79FAD /* JapxRxMoya.swift */, ); - name = "Pods-Japx_Tests"; - path = "Target Support Files/Pods-Japx_Tests"; + name = RxMoya; sourceTree = ""; }; - AA2AF559EF9FA61CD00A6A773CDC7516 /* RxAlamofire */ = { + 99605FE55AAE21CFCA539B1730BC8867 /* RxSwift */ = { isa = PBXGroup; children = ( - AE2AB57CE34609849A6AC549803367B2 /* JapxRxAlamofire.swift */, + 2832A6D6CD7DE52F857CC96FD085491F /* MoyaProvider+Rx.swift */, + 0C7206EF0FEBD5DBF659FF608DDE9827 /* Observable+Response.swift */, + 807E0EF4CB3BAF1ACED599B22F437B53 /* Single+Response.swift */, ); - name = RxAlamofire; + name = RxSwift; sourceTree = ""; }; - AB2DCFC2CEDF9DBF21B9A149112BA65E /* CodableAlamofire */ = { + 9DAD053475DDC2567FD9D588AE8A0C7D /* Support Files */ = { isa = PBXGroup; children = ( - 9C66CE912DD6988E3CDFFC40979A1805 /* JapxCodableAlamofire.swift */, + 63E409283C1388AA7E400940D0831E49 /* Info.plist */, + 79EA77E92BAB842003534D13A503F412 /* Moya.modulemap */, + 790017C7BA9C734DA3A7850DC0ECE170 /* Moya.xcconfig */, + 5240B237EC523FB510935A4F1491B39E /* Moya-dummy.m */, + 2B1D0564637130623EAF40A9BE88E194 /* Moya-prefix.pch */, + 1D2484DC70B6EC5BACAC3E966687ED16 /* Moya-umbrella.h */, ); - name = CodableAlamofire; + name = "Support Files"; + path = "../Target Support Files/Moya"; sourceTree = ""; }; - ABB701F65B5278860F0B038F82561EA9 /* Support Files */ = { + 9F9044C7CD4A6829AB51465ACEFE0797 /* Support Files */ = { isa = PBXGroup; children = ( - A0CD3AFE944ED18B9B7C7DF9CF09BC6D /* Info.plist */, - C2D98FB24EA2ED1798969C15C85F552F /* RxSwift.modulemap */, - E9B25CD6D88890CD3B2156BC736E3B7F /* RxSwift.xcconfig */, - 458ECD6884289595A3107155F5BE1F5C /* RxSwift-dummy.m */, - 09879FC4C8B25CAE96DF055AAE8D9246 /* RxSwift-prefix.pch */, - C96045075372EA4A6962ECCE19045740 /* RxSwift-umbrella.h */, + D9188A5B071EF32CFC29D468A4BD9342 /* Info.plist */, + F102A6815712FA1875CC91E85A051DDB /* RxSwift.modulemap */, + 8B403166A345266D3CE982BC0C899388 /* RxSwift.xcconfig */, + E593560BFC94D27A3426E2FCC987512A /* RxSwift-dummy.m */, + 2E29A9AFFD773617B10D89E2A938419F /* RxSwift-prefix.pch */, + A38A89A1406CE3F642EBA3E2EF36A955 /* RxSwift-umbrella.h */, ); name = "Support Files"; path = "../Target Support Files/RxSwift"; sourceTree = ""; }; + AC1F25543950065889EE42E5583E267F /* Frameworks */ = { + isa = PBXGroup; + children = ( + 2A53DEF4004E988FDD94DDADFBC6E907 /* Alamofire.framework */, + CC3E5B317173B8F27E5F8EC1C12F1B3C /* Moya.framework */, + 88A394019320EC38C7DDEF62A7103457 /* Result.framework */, + F915CBFCBBEB88CBCC7D93015D584DFE /* RxSwift.framework */, + 3A1C3B4D5C23B0A1FF96FEACB54DEFDD /* iOS */, + ); + name = Frameworks; + sourceTree = ""; + }; + B080420965F7CB441C951A918C38A4D3 /* Support Files */ = { + isa = PBXGroup; + children = ( + 7A62D5195B0CE95F39AC9CE271201C65 /* Info.plist */, + D822E7AF33D50DD269D48F92F7716709 /* Quick.modulemap */, + A547C52AC0E4019AE3E28F22998F7EED /* Quick.xcconfig */, + 0E40BDEB9364E0C2044ADF9E2B6A16B6 /* Quick-dummy.m */, + A9659A638E32B3484CA8FC8647DEA238 /* Quick-prefix.pch */, + A1B92476D154AAD5CCF67BF92BDE0B27 /* Quick-umbrella.h */, + ); + name = "Support Files"; + path = "../Target Support Files/Quick"; + sourceTree = ""; + }; B46DF91A45D5D2748454E765EBAA7AAC /* Development Pods */ = { isa = PBXGroup; children = ( - CB562D1BF19C6A4BF72CA161631F808F /* Japx */, + 29320B3E2B7B3812D7906859096D6400 /* Japx */, ); name = "Development Pods"; sourceTree = ""; }; - B784F3063FF9592AF50BF94B21618A3A /* Codable */ = { + BC679143E73537C8699CACEADCA44CD3 /* Core */ = { isa = PBXGroup; children = ( - 7E9033A4DFD9D2B13338886973253B7C /* JapxCodable.swift */, + 0ED6D5079EB13600CC0376256416A9A4 /* Japx.swift */, ); - name = Codable; + name = Core; sourceTree = ""; }; - C49EDCEE94BD030B3903AAAB7186D6FE /* Support Files */ = { + BF801C4FE824C41AEBD893DFB7E00712 /* RxSwift */ = { isa = PBXGroup; children = ( - FC56E90CD36BDF8347916E6FCBE18D25 /* Alamofire.modulemap */, - FE87FBA426E98B9D6160B92493FD3ABB /* Alamofire.xcconfig */, - 9933303CE4E32D02AC2C5FC47D282D70 /* Alamofire-dummy.m */, - 5A04CEE5ED96AB41F021B1EC7A47A39F /* Alamofire-prefix.pch */, - 5DD052F9A5416B2358B0F4BFD9EC8296 /* Alamofire-umbrella.h */, - F60985C72F31CCEFE8D2898688C2B26D /* Info.plist */, + 62C1F3FB9A8890AAE46E50905E594ABD /* AddRef.swift */, + 43D1F118CB3866571BCF2DC6C0DB0DAC /* Amb.swift */, + 5D4FE39442B46A76DBC1580B7FA1C80B /* AnonymousDisposable.swift */, + 50CB7C5033B890A4E1AE16717D3B5819 /* AnonymousObserver.swift */, + 9E550C16050A3AC8B2C4B778B168A70E /* AnyObserver.swift */, + 12BAD92F92F2FDD3FBC9B1BC1747F5C4 /* AsMaybe.swift */, + 837CA4FB7647575CF176F6BA93F51DAA /* AsSingle.swift */, + 470AF7E48BF0F67225866EAEC9FBD503 /* AsyncLock.swift */, + 0F213C703816302C1FC519CA44E89B09 /* AsyncSubject.swift */, + C7DBE7B62FBD55530B15FDE979259863 /* Bag.swift */, + 15BF6C7A84C05786BA9D9DEB361D6526 /* Bag+Rx.swift */, + B7A90D89FE8E0F1B8100295262130799 /* BehaviorSubject.swift */, + AEF79319F1199557E3471C080E343127 /* BinaryDisposable.swift */, + 193BADA772F8A2891C19CC5177512009 /* BooleanDisposable.swift */, + FF93788451B4D1F997FCB6125C2018A2 /* Buffer.swift */, + 26ED22DCFD3EA84DB3AB1275C091B18A /* Cancelable.swift */, + 803E22FE6E9ACAC547AC55BEF505AF50 /* Catch.swift */, + C5CB837EA3E20EDFE8F0A814318C592F /* CombineLatest.swift */, + 2E45E3CF36DB1E3E9304BC2B649E697F /* CombineLatest+arity.swift */, + 108C6B84FE43BA554A77B5BB9C4B6213 /* CombineLatest+Collection.swift */, + 3F74B6C04E73CAD22FAA9B23C52AAD07 /* Completable.swift */, + F918EECFC77113D263A34C16E69B1272 /* Completable+AndThen.swift */, + 4177AB53FBBFF6A7783DFF419B60E2C6 /* CompositeDisposable.swift */, + EA7925289DB16B861C72B406739ED4F8 /* Concat.swift */, + A8C696139ED3705260CFED2F30C4EC86 /* ConcurrentDispatchQueueScheduler.swift */, + 52E3637A7FBA41E48F0B6045E0B07906 /* ConcurrentMainScheduler.swift */, + C66BA3750D4DE19F9FC16BB6CE0533B5 /* ConnectableObservableType.swift */, + 18CF3D5D9C2475DAB9F82ACAEA1E5469 /* Create.swift */, + FED87B8C5C1CA75F2132A21B5C31BD65 /* CurrentThreadScheduler.swift */, + CA418117AEBC99135481DD409F17EE6A /* Debounce.swift */, + 62372382F78A37CEF0C5CEBF2E04567B /* Debug.swift */, + EF8C02D87859DD01AA0AC13414FF4DBF /* DefaultIfEmpty.swift */, + 522750AB4BEE587938EB8617D63BBAF7 /* Deferred.swift */, + 439FB70C2E203E7E916F1D3679FD0D60 /* Delay.swift */, + DEEA5178DDD0EA00050174A7A9FC2C2A /* DelaySubscription.swift */, + 4FD5F3E126F9ADCE5AA9651CF1129A8D /* Dematerialize.swift */, + 4E1A0E353BC410A6D98F94B6D541D5EB /* Deprecated.swift */, + 56409CCF42965D1970DC083F3B3A845A /* DeprecationWarner.swift */, + FF9E0BDDF4389459BA5662038B900E79 /* DispatchQueue+Extensions.swift */, + AA5774EED10484CC4DCBCC712A6F03E9 /* DispatchQueueConfiguration.swift */, + A4A520412E605F1F7CFA382C294B4DAB /* Disposable.swift */, + 3E85D624237F499F8AC9C1336584BB70 /* Disposables.swift */, + 0C303EC240F06FD04180442D18A82B3C /* DisposeBag.swift */, + 17D8CE9AE9F2CFEA0210C47B1D30180D /* DisposeBase.swift */, + 7517C42D99C9198B3E71AF74223FFD74 /* DistinctUntilChanged.swift */, + 3F0A29B7B6FD4B435A5E9296B9C6BED4 /* Do.swift */, + A22C1F2D2BF06C9E9B302D1FB94C3E95 /* ElementAt.swift */, + 9D7A19CAFC1AA23C06B796462E9C9216 /* Empty.swift */, + 3230757DAE9D809BC846B81246E2A79F /* Enumerated.swift */, + 4CCE11F24EA0A8A3EB453F711162ACA5 /* Error.swift */, + 4922614020830155C2FF34F6320E87DE /* Errors.swift */, + 3F5D8632CEB38209515FD063603B1D4C /* Event.swift */, + E5D4CA34718DC2189C79903261ABE6F7 /* Filter.swift */, + B03EF87114313288DDDAC1C425E6DFDA /* First.swift */, + 70F3138504C320914D35D93049FE8B32 /* Generate.swift */, + 60BDCE900A35953A9EB19E27537674E3 /* GroupBy.swift */, + 2A6CC04F19B56B3A559FC6879B371467 /* GroupedObservable.swift */, + D6D7B6A446D99FA2D6D1E3B873865FC3 /* HistoricalScheduler.swift */, + 2A088D498C2679127BD45775A6FEBEFA /* HistoricalSchedulerTimeConverter.swift */, + 7B69BACF70D824B6402090896888B9D1 /* ImmediateSchedulerType.swift */, + 5A2876C7ED12BA30ACFB368B805ADDF7 /* InfiniteSequence.swift */, + DDE206A52E5C9E5E5CAA6026CA92973A /* InvocableScheduledItem.swift */, + DD2A8B0E519456109A59A9D322F1544F /* InvocableType.swift */, + DE2C86157C98992A9122F83BC299C5D5 /* Just.swift */, + 888E46C1106F1397D10476C132A15D20 /* Lock.swift */, + 7FC5E77303F2A8A7D20D3038E50B44D3 /* LockOwnerType.swift */, + 671BB5AC31C02E55FEE9E86C7C245BD8 /* MainScheduler.swift */, + B7DA5F5E42101310898A04E49E3A0B41 /* Map.swift */, + 52FCB1FEA498766C6ECB813A75C3E78D /* Materialize.swift */, + 914185F20469F589BD5340499FD17B5D /* Maybe.swift */, + 0F89BCEF834F678BB25CA4A40A0B2B38 /* Merge.swift */, + 9FA43287C0027961478DE1720BC71006 /* Multicast.swift */, + 63E78F75855461A35ADCDCC3759E25F7 /* Never.swift */, + 4FE63B2FB004FBD0C62F30A29844A818 /* NopDisposable.swift */, + 80525979B25FB17D1672780438FB8082 /* Observable.swift */, + D1BD1141524C70A09B6975944A31E206 /* ObservableConvertibleType.swift */, + 9C3F84CDE875F239F0CE5974778BA5B4 /* ObservableType.swift */, + 05135B548EBE9BC078D8DEA38F9FF867 /* ObservableType+Extensions.swift */, + 949D3B3731A39AF6D59BEA8DAA03ECD7 /* ObservableType+PrimitiveSequence.swift */, + CE58F77E1823FBFF70E78EE1F5FC73E9 /* ObserveOn.swift */, + 8A43BC60953605EAB46D5BF7C6E409F2 /* ObserverBase.swift */, + 0E6C3EF54AA8B4D50C8D623A404E836C /* ObserverType.swift */, + 429421E9AA08E1E5112BDE0D03E9D6A9 /* OperationQueueScheduler.swift */, + BBC4F6C03B906E25845A6F28BC8ECD82 /* Optional.swift */, + 2AE198E212DFD9AE72567E9A8E71A22A /* Platform.Darwin.swift */, + 0CBA800E4A3629F29A14A6A49BF233B7 /* Platform.Linux.swift */, + A7E4760B29C5E17AA375E4BE1848AC8A /* PrimitiveSequence.swift */, + B227048231C28C97DA7D14E37FDE08E4 /* PrimitiveSequence+Zip+arity.swift */, + 11DA158AC331F11C0D18DE0DC5396439 /* PriorityQueue.swift */, + 1854933DD73824D05B3E0833A3DC8124 /* Producer.swift */, + 2A4B837D91836C3DA9A18CCFB1C3C851 /* PublishSubject.swift */, + 84D377E313C9CA80973197760EA2BB01 /* Queue.swift */, + 7F9EF1EA71F75145A40C122B73FE8B47 /* Range.swift */, + 9AB89DEAE45B8EC70AE1F4B827F7C35A /* Reactive.swift */, + F0DB93CC434FE9A5AC74EC23A1DF76D1 /* RecursiveLock.swift */, + 5228E2E16ECA74D1200959B428E0CD2D /* RecursiveScheduler.swift */, + 1A76BD23B9C927E7728319A16CC067F9 /* Reduce.swift */, + 86CA4B47622668DDD91C382A3E608A18 /* RefCountDisposable.swift */, + 69B4192E019D2ACBD6B387D21945CD5D /* Repeat.swift */, + 051599D672E2CFA01D9BF1A12E9C79C5 /* ReplaySubject.swift */, + 6DD5F748E230E521CEDF576E6D29BFCC /* RetryWhen.swift */, + 8364770BBA59755CC47E7546E1037B6E /* Rx.swift */, + 57A0C68E820E7B259A717CBD18E701ED /* RxMutableBox.swift */, + B93D3B3B58E11F659896073D32FB949B /* Sample.swift */, + 75CE69E4D485E98BBE509E99DB93E556 /* Scan.swift */, + A5B7DA3995DA3B9B249FB04FE55BC236 /* ScheduledDisposable.swift */, + 9834C0265D7BA52E959BBE975B898B48 /* ScheduledItem.swift */, + 274159699B983A005F3218012B42ABE2 /* ScheduledItemType.swift */, + 9074236AF6317394DD5E0FF7290DB64E /* SchedulerServices+Emulation.swift */, + 86321CA28DA1483FD89A99AAF6E3F6CB /* SchedulerType.swift */, + AF3462CC93DC3B7D10A5E00C35E6BD13 /* Sequence.swift */, + 2DA5EFE2C6807D97BB9923F22D757D1E /* SerialDispatchQueueScheduler.swift */, + 64AC852CBD8F6B93AA83249DA23DE0EE /* SerialDisposable.swift */, + 4C1E9E622D0E42AE3D778D8DBA35C38A /* ShareReplayScope.swift */, + CBC6054DCFE397A8DB5A24FD4A3CD362 /* Single.swift */, + EAF2CEDE839B84696890E3853E01B188 /* SingleAssignmentDisposable.swift */, + DBDAECFE4EB9DD3BD8CDD84C4E155B01 /* SingleAsync.swift */, + 9E87ABE48945E8EFFDDCC5F68C285E37 /* Sink.swift */, + 517D2DC5B869A01D077E5736E914225B /* Skip.swift */, + 95A19BA53EF1680499505638CED9D5EF /* SkipUntil.swift */, + 5418677511097E9E8B99938A890158EE /* SkipWhile.swift */, + 63A6AEFC1E017B7DDDAC4743CA06AFDA /* StartWith.swift */, + 04C2F2BA4A12BD11B55895E3FC363D93 /* String+Rx.swift */, + CFD51EF6FB762D4D92B57F3A68BC2C37 /* SubjectType.swift */, + B1E2E4EC08ACCF85818D5FE08E491987 /* SubscribeOn.swift */, + 30FFCD949E4F5EAD2F1464756E40D56E /* SubscriptionDisposable.swift */, + EFC700B19D5FCB81E84867A360C0F221 /* SwiftSupport.swift */, + 63D62F76853346FE647CDEDA674BA9EC /* Switch.swift */, + 492258887E283924F899B89BEEBC4475 /* SwitchIfEmpty.swift */, + D1913915A906B09F418AB2724046D8F4 /* SynchronizedDisposeType.swift */, + 6219963A0E5A66DA8A30DD4A70ADD86F /* SynchronizedOnType.swift */, + 9FD2B04636FD8803B7C42CD278281DD3 /* SynchronizedUnsubscribeType.swift */, + 6689EAF51519F8B9F04BA3D39939BA58 /* TailRecursiveSink.swift */, + 13141CB56E3AC3D2D5DBE7087963EA53 /* Take.swift */, + AA6211CDCE47E159FA636CA58798CB95 /* TakeLast.swift */, + AC13B2A23966C40420EC05F79880657A /* TakeUntil.swift */, + 0183468864D157FDD6333D9B48A03C03 /* TakeWhile.swift */, + FAA7F2D869DB1AE64296372E5473976F /* Throttle.swift */, + 114533F98FAD008233F74FF2AD6763E3 /* Timeout.swift */, + DA9016BEB9CF606131E6F70CE6144978 /* Timer.swift */, + F50D9CE4517DA594B7EBFD91E4B3592F /* ToArray.swift */, + CE2845CF5F425AF0E6E32089C1746097 /* Using.swift */, + 76182A43426D6A47730C23BB285198FB /* VirtualTimeConverterType.swift */, + 2D4C8EF6C26058C25EDBDBAF2041E24B /* VirtualTimeScheduler.swift */, + D93634ECCD53767D3570308CEDF19EAB /* Window.swift */, + A0203B44D8D036DD01240548F7BD00F9 /* WithLatestFrom.swift */, + 0E804251021183BBD8D7157DB6FDADAC /* Zip.swift */, + 42EA6F1225D5D70E75E262AE656ABF6A /* Zip+arity.swift */, + D1A1BC777F00FDF35F89C7F9666E0C0E /* Zip+Collection.swift */, + 9F9044C7CD4A6829AB51465ACEFE0797 /* Support Files */, ); - name = "Support Files"; - path = "../Target Support Files/Alamofire"; + name = RxSwift; + path = RxSwift; sourceTree = ""; }; - CB562D1BF19C6A4BF72CA161631F808F /* Japx */ = { + D4E9285196AC72295402D2A344323B25 /* Targets Support Files */ = { isa = PBXGroup; children = ( - FBF368D7E5C0B46C1BD06A3875D2ADDD /* Alamofire */, - B784F3063FF9592AF50BF94B21618A3A /* Codable */, - AB2DCFC2CEDF9DBF21B9A149112BA65E /* CodableAlamofire */, - 089EFF2617F7C339621AEBC7B274A9EC /* Core */, - 14995162AADA4C96C06813BB6DAB4F61 /* Pod */, - AA2AF559EF9FA61CD00A6A773CDC7516 /* RxAlamofire */, - 6DD7D6427C45520302FB067E5D1E3B1C /* RxCodableAlamofire */, - 9953171D84CE3DDEAEF41F439606043D /* Support Files */, + 500A8B3E0EFE2A08FBF3006DEBB96C5B /* Pods-Japx_Example */, + 70C16C6DB0FA1E7C0FA1307C9C07E604 /* Pods-Japx_Tests */, ); - name = Japx; - path = ../..; + name = "Targets Support Files"; sourceTree = ""; }; - CF2D07ACF2201F029CF18F3985193545 /* Pods-Japx_Example */ = { + DBFAC275E64AB012C54B8AF9FCA44ED6 /* Pods */ = { isa = PBXGroup; children = ( - E63C726C8FED08FEB860347BCDAECDDE /* Info.plist */, - 54807B9E8CA013A5FF01809967A12ED5 /* Pods-Japx_Example.modulemap */, - 50A1ED302A17E942BF256E58DE2FFB39 /* Pods-Japx_Example-acknowledgements.markdown */, - CB6A658480CEBF6A16EFD03E923BC5F2 /* Pods-Japx_Example-acknowledgements.plist */, - DFF492C498912CE8DE92C966FD343FD3 /* Pods-Japx_Example-dummy.m */, - 3BCE198B8FFAD1BB5E1C661463E29027 /* Pods-Japx_Example-frameworks.sh */, - 0E4E9F7C630528A8BD32AB500AA6E70D /* Pods-Japx_Example-resources.sh */, - 92FE598729E7160B39EFCDB1912A0336 /* Pods-Japx_Example-umbrella.h */, - 9CE2612588A0713A4ADE0E4D3FF20DA2 /* Pods-Japx_Example.debug.xcconfig */, - FCE705319C1314307DFFF400D6A0A6B8 /* Pods-Japx_Example.release.xcconfig */, + 1EA6A36EF4373544EB07A5182699CB8A /* Alamofire */, + E736529EB4AFFB04A1407393AE4D4FFE /* Moya */, + 57DDC94101BA5786298E6C58B0C98419 /* Nimble */, + 6731FE14FC49E41247ADA40F7E974A65 /* Quick */, + F0514D9251B386DDB4A6156F0BD1C1ED /* Result */, + BF801C4FE824C41AEBD893DFB7E00712 /* RxSwift */, ); - name = "Pods-Japx_Example"; - path = "Target Support Files/Pods-Japx_Example"; + name = Pods; sourceTree = ""; }; - D0179A14839989716112312F0B07508A /* Alamofire */ = { + E736529EB4AFFB04A1407393AE4D4FFE /* Moya */ = { isa = PBXGroup; children = ( - 268E9C65DD45A2A09E30A60FAC728E8F /* AFError.swift */, - CE7E03418757851DD548577EFB22344C /* Alamofire.swift */, - B53C46DF14DCA66C4490D6AAF143019D /* DispatchQueue+Alamofire.swift */, - 8A0255F4BDEB13C57743F341515828CD /* MultipartFormData.swift */, - F162334FB6259B64BA846AD0374740B5 /* NetworkReachabilityManager.swift */, - BC483F4F3665705DC364550807515527 /* Notifications.swift */, - 0F3A051D1F47EDE746E2A7E27DDECD04 /* ParameterEncoding.swift */, - E29B1459D55DDCB6045A519C55F66864 /* Request.swift */, - 47B871B3CAED2808EDE55AB0AEE37093 /* Response.swift */, - 2C0CE75D766D6CE10B287AED5F0B1045 /* ResponseSerialization.swift */, - 4445D2D3E1C06EBB9D3A819D2BFF5474 /* Result.swift */, - BD5376C8918D5540F732DA8F4F27C8BF /* ServerTrustPolicy.swift */, - 3A9EA5C9CE41A2599527B641A7C5ED86 /* SessionDelegate.swift */, - FE5E0D2D2D91A09279998E5F15170B75 /* SessionManager.swift */, - 95E42258FAFB6EEB406372AA64AEF031 /* TaskDelegate.swift */, - 898B36208C53945A0BD5975C58D26C19 /* Timeline.swift */, - 2E7CA6C84587D7F4B6787197088C3E6D /* Validation.swift */, - C49EDCEE94BD030B3903AAAB7186D6FE /* Support Files */, + 1C029B6FDBBE96763C83ABDFE080C6CE /* Core */, + 99605FE55AAE21CFCA539B1730BC8867 /* RxSwift */, + 9DAD053475DDC2567FD9D588AE8A0C7D /* Support Files */, ); - path = Alamofire; + name = Moya; + path = Moya; sourceTree = ""; }; - D4E9285196AC72295402D2A344323B25 /* Targets Support Files */ = { + ED06818C4634DE1F15A60CE594F5D0FE /* Products */ = { isa = PBXGroup; children = ( - CF2D07ACF2201F029CF18F3985193545 /* Pods-Japx_Example */, - A72F7A2077CDE3598B44289F4BD12D83 /* Pods-Japx_Tests */, + AEF692DB193DEAB961A88F4D38A4BA0D /* Alamofire.framework */, + CD8552B11C9B049CF391BCC3E7702AFF /* Japx.framework */, + 2853DD830ACEF0BB263FEF29BD988208 /* Moya.framework */, + 0CA686226C200941E1EFFC5969FCF9FF /* Nimble.framework */, + 3FC6FE74CBBB93630F854D9C02FE5231 /* Pods_Japx_Example.framework */, + 12AA291F26E202CB97A25456DA3BE4BB /* Pods_Japx_Tests.framework */, + D04A9DDD227F0E47FB834C2AF199928D /* Quick.framework */, + 429305EF8BAD91C092286DCEA793A8AB /* Result.framework */, + 66180E6DC7765329CC95A4F2C9CB2BD8 /* RxSwift.framework */, ); - name = "Targets Support Files"; + name = Products; sourceTree = ""; }; - ED6CB7FBAE167D3AEA3E234F71DAF0DC /* Nimble */ = { + F0514D9251B386DDB4A6156F0BD1C1ED /* Result */ = { isa = PBXGroup; children = ( - 8836E9F02ED6A7274EABF58918D0E55F /* AdapterProtocols.swift */, - C5E3BE18018C4BF55656762D618EF6BD /* AllPass.swift */, - 3B076C7D04F563FDF34B2706C62954F1 /* AssertionDispatcher.swift */, - ECA0A787B2C67EF97CE9C3A861052AB3 /* AssertionRecorder.swift */, - 846F8D8FACA6C6088F86171D07229A76 /* Async.swift */, - 751BFBAC89F1C4D240E927CE00D3E572 /* AsyncMatcherWrapper.swift */, - A247A29FF4347852A9A2613EE7400AA5 /* BeAKindOf.swift */, - E8600EE331791E5534B0600EBDF838BB /* BeAnInstanceOf.swift */, - 44EBC51E25E78405384286FF0D732206 /* BeCloseTo.swift */, - 839C803921C384FAB1498421D819A80A /* BeEmpty.swift */, - 8D391DC86DCA48185A622775944706C6 /* BeginWith.swift */, - C22B723860B9CB0C9F3F2E1FD07CAC91 /* BeGreaterThan.swift */, - D2FB16D357015F6A7B1CA55F15DFB6C0 /* BeGreaterThanOrEqualTo.swift */, - 4890B059FA97D8A32DD1EA3B8AB293B5 /* BeIdenticalTo.swift */, - 7D3D90744BD570D6FC6EDBABA5E21172 /* BeLessThan.swift */, - 038C19ABD182805E8DFE584C76872123 /* BeLessThanOrEqual.swift */, - ACA604C309564C3F549216E334793C7A /* BeLogical.swift */, - 9BE0E397766E5B068862902E5D30355D /* BeNil.swift */, - B2D0AEB2E40A1CD3580FF89AADDB91B0 /* BeVoid.swift */, - E1697CA59BF8706A7A9A3FC53CE5B7FA /* Contain.swift */, - 0B5658991929C1FAF1AB94268FACF2AD /* ContainElementSatisfying.swift */, - F5FF301CC90571EA25A008306A3A5901 /* CurrentTestCaseTracker.h */, - 971B0E7A8670959665C1E6E99A9E787C /* CwlBadInstructionException.swift */, - 3FA61843B4ED051E444D708685226773 /* CwlCatchBadInstruction.swift */, - 697005094FD61AC8662B6EB6E9DEA33E /* CwlCatchException.h */, - 2AF6CB3C3D3757A5747C75C1D11E5877 /* CwlCatchException.m */, - 2B4A7C9F02535DBEF3369D81F9540A47 /* CwlCatchException.swift */, - 083E6DE1D634F485952B15D7530BD236 /* CwlDarwinDefinitions.swift */, - 6799B047391520643DDAD7FA4BF34BF0 /* CwlMachBadInstructionHandler.h */, - 74C6C05C94C4E74D0B6D41B510B72225 /* CwlMachBadInstructionHandler.m */, - E658C299FC4D72A220D2AC13510598A5 /* CwlPreconditionTesting.h */, - EA1F5791D0EF9C2CA66F3494164EE1B0 /* DSL.h */, - CD2BCDD8EFD286EAF5C64EB115106BCC /* DSL.m */, - D57E32CED7C48F581A4FE64E83AEE79E /* DSL.swift */, - 9C5C0F64D55EED2EE62AFC634A6FB91A /* DSL+Wait.swift */, - 4A2B786E2DD7AAFDB2B2151CE645454B /* EndWith.swift */, - 6A888DD7166830ADB9331E9A49069259 /* Equal.swift */, - 5B232D2C999B17D8228B3AB2B2DDB7E9 /* Errors.swift */, - 966F637A113B41B67C494C7B70CD53B5 /* Expectation.swift */, - 27C41284E5A1F9BA1B8104577A938209 /* ExpectationMessage.swift */, - 31D8F2B011DD4D668D22D4B934A410C2 /* Expression.swift */, - CC4CEB4BA6F8664656E257DC7B6C7EFD /* FailureMessage.swift */, - CAF7346BDB24E7BFFA0D97917495C02B /* Functional.swift */, - 04D61A3BA08BE6CF90D507C5BD9C0724 /* HaveCount.swift */, - CEAF9FAA7B171C3D0B085B650C71B425 /* mach_excServer.c */, - A5D92A47AD6F731AB9D26F529AC70820 /* mach_excServer.h */, - 71E840C6F4C203668391A3CED393AB13 /* Match.swift */, - 798503352437186E021492F2E1529571 /* MatcherFunc.swift */, - B078AC79645C5AC826611D34C99AC651 /* MatcherProtocols.swift */, - A34F289FCD2ABEBDBF19431242F89A0B /* MatchError.swift */, - AB4D3208A1875F555588AE8C753EBB19 /* Nimble.h */, - E3C1BB58EE5A570A9F93068F57631B23 /* NimbleEnvironment.swift */, - 18BA2207C4CD41EBF48FC00ABBBFBE2E /* NimbleXCTestHandler.swift */, - DAE808E4DF28D422D69E4BA0347C5EA5 /* NMBExceptionCapture.h */, - C2709D01215E240F4622813BC698E7C6 /* NMBExceptionCapture.m */, - 9E207979BAB67CE06F62D5E6894C6CF0 /* NMBExpectation.swift */, - 3F67E2A9AA84A27111CAB918C938A8E7 /* NMBObjCMatcher.swift */, - 727B1E9DD3434B19FCE08F90D7A87546 /* NMBStringify.h */, - 437B2E076FDA4C55BD47576B3B9226FA /* NMBStringify.m */, - FB71B6D9DC363CFCDA1DA94293A80B95 /* PostNotification.swift */, - 9AF01413E6EEE4279CCA07D29785E7DE /* Predicate.swift */, - 7D75DCB847C7B5310C4AFE3A8D41846E /* RaisesException.swift */, - 30C2C1C92381EDF6290FE7FE231B5878 /* SatisfyAnyOf.swift */, - 19FD1C8E394C68AEDE4E45F943B5AFC3 /* SourceLocation.swift */, - 118E9674AD142D35AB824A19F89F92BE /* Stringers.swift */, - 6061E0E41E6E9E9718B38DE9EAD51111 /* ThrowAssertion.swift */, - 63223F5732426B5C41FD59D0F32AF283 /* ThrowError.swift */, - B2A84D6C84F30FBE9E9EFDA4D73CE0AE /* ToSucceed.swift */, - FA274B46D2EBAD17A575F2478C7221F9 /* XCTestObservationCenter+Register.m */, - 0CA063A2239D5492A2CC5B33D2A72C6A /* Support Files */, + 5D1E495A11E8D1AEE4A4A5CEA8B0CD28 /* Result.swift */, + 5E8083881592E71B12CCA186C47CF8A0 /* ResultProtocol.swift */, + 15EB19C894FC18CA0ECD7E0A315B7237 /* Support Files */, ); - path = Nimble; + name = Result; + path = Result; sourceTree = ""; }; - FBF368D7E5C0B46C1BD06A3875D2ADDD /* Alamofire */ = { + F8BC7C996A9A8B3DBD05C53249FDE08A /* Moya */ = { isa = PBXGroup; children = ( - 313B36FCA6E6ED617A0A898DFF958EE7 /* JapxAlamofire.swift */, + E4EABB50B5F050499A8AF0FAD27F281D /* JapxMoya.swift */, ); - name = Alamofire; + name = Moya; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 3FE8359A3C8DB873DC35DFED47A5507A /* Headers */ = { + 1A29707D61892835CBF008FE51AE3AD5 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 140C3FDCEEC03854A158994DE9E0D10E /* Result-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 49164CA6039EF51D6B517BE5C4A3063F /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 7995E11723ECC6DD179CDB6CA9C49B51 /* Moya-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 5D5A90A13F5FB5E8FB306120D96FF9B6 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 3AF210BEFB88B3B3E8B1DDEB17BF0A81 /* RxSwift-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 5FBF66E18875803EEC23670B431CF87A /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 73E13207C17958D8631A45D4137633AA /* Pods-Japx_Tests-umbrella.h in Headers */, + DACF6E50E013825D03DAA54FEF577341 /* QCKDSL.h in Headers */, + 35916EDCBED40823BA04668AFC78E66F /* Quick-umbrella.h in Headers */, + D90B73B00255C4166D1522707E2610A0 /* Quick.h in Headers */, + 2370D6A129B89CE90A672D706E7249A9 /* QuickConfiguration.h in Headers */, + 94BA3F90E7446EA8BECCE29150918164 /* QuickSpec.h in Headers */, + 51241E722BE781C2DD49ED2B40C95D24 /* QuickSpecBase.h in Headers */, + A08395E84A951A59901AE081CAA5194F /* World+DSL.h in Headers */, + 447E8B73853297F7B2FD41F6B14CAF4B /* World.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 4437B003CBF91304F106453B40F35E69 /* Headers */ = { + 75FB9B78EF9DDDF4ACCD5C9557A082D5 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 829D885741495B1ED6B240970410DE78 /* RxSwift-umbrella.h in Headers */, + 4BCE671B9AB8D84AB79C9CF31B6B2666 /* Pods-Japx_Example-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 7D793DD688D1FFBB44476CCA73685EA2 /* Headers */ = { + 7E3DC7AA1D44031631482C5C85119D8A /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - E8B323BE9104F97993D4017B50193E3F /* Japx-umbrella.h in Headers */, + B7396480C3587F7AEF9DB24924CE4314 /* Pods-Japx_Tests-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1366,88 +1654,75 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - EF7A0DACBCC7F8E67BDC9485FB850C19 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 1469CE9BCCAC1BB562E10876BB7F66CD /* Pods-Japx_Example-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - FBA942974344C19B9300B6D9C0F58F4B /* Headers */ = { + C3E4DA334523A6820DA1668F768A9A7C /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - D48CF982DF62E1E2F67C0F95B52D5CD1 /* QCKDSL.h in Headers */, - B72D88FD1BC8A769ED31F1EAD8E385B7 /* Quick-umbrella.h in Headers */, - 25D34F6037074802BA82C1D7D706545E /* Quick.h in Headers */, - 5F92AB90FEBE7806C24C5E35927EEA3F /* QuickConfiguration.h in Headers */, - 577839181E1D94BB115C6EFCE2D4A3B6 /* QuickSpec.h in Headers */, - 4F19C653434D07C59BFB2F9C62F31541 /* QuickSpecBase.h in Headers */, - 6ABDC7D84F9D68BA1ED313DC54DB5D32 /* World+DSL.h in Headers */, - 957B5728A0F37AC62E767E3F6C95C6D0 /* World.h in Headers */, + B14F7FA34D5C60DF358E577B5ACF170A /* Japx-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - 12B24240C4358F90D4E62CD52D23F563 /* Japx */ = { + 13E8BC2B8F78489CAA88ADF133AF25E9 /* RxSwift */ = { isa = PBXNativeTarget; - buildConfigurationList = 47D11CE2D6925F931475A4301D62484C /* Build configuration list for PBXNativeTarget "Japx" */; + buildConfigurationList = FE29677B97AADF2C3A731E2A87D246F2 /* Build configuration list for PBXNativeTarget "RxSwift" */; buildPhases = ( - C28CFB8E23E2FB94662EABB2DB578B5B /* Sources */, - DE092388E1996AC7D291B7636F8C331F /* Frameworks */, - 7D793DD688D1FFBB44476CCA73685EA2 /* Headers */, + B91129476B0685987835FDEFA4ACE347 /* Sources */, + 4DCE27CA3098209B1B7CE9D866C9C345 /* Frameworks */, + 5D5A90A13F5FB5E8FB306120D96FF9B6 /* Headers */, ); buildRules = ( ); dependencies = ( - 9989838F29FF0FD07112AB52E140D0C2 /* PBXTargetDependency */, - D0BFF472489C8C1B9AF84F90361328C2 /* PBXTargetDependency */, ); - name = Japx; - productName = Japx; - productReference = B9CF9D23F80A36179D29353E9EA57E3A /* Japx.framework */; + name = RxSwift; + productName = RxSwift; + productReference = 66180E6DC7765329CC95A4F2C9CB2BD8 /* RxSwift.framework */; productType = "com.apple.product-type.framework"; }; - 583B703C88713736D2252DF70D9029FE /* Pods-Japx_Example */ = { + 339E1A979E3BCDCDF17FF7FEB91E0F91 /* Japx */ = { isa = PBXNativeTarget; - buildConfigurationList = 640A2A37BA265B0698310CFD458026EA /* Build configuration list for PBXNativeTarget "Pods-Japx_Example" */; + buildConfigurationList = F4692DDAA1D6F00D66078A5C4388576C /* Build configuration list for PBXNativeTarget "Japx" */; buildPhases = ( - 9717B68ADC2AA08AA6823E1EC5D6B0B8 /* Sources */, - 665F3A6725E92FB029DA38588A4070AF /* Frameworks */, - EF7A0DACBCC7F8E67BDC9485FB850C19 /* Headers */, + 8F17B948D4C1E77B337EA783A203F607 /* Sources */, + 27B04941D92D46EB3A8B9F5233BEF34D /* Frameworks */, + C3E4DA334523A6820DA1668F768A9A7C /* Headers */, ); buildRules = ( ); dependencies = ( - F4FB0BC18448A85C7BF6011DACC75C36 /* PBXTargetDependency */, - 155E8C811D9AC00C952578D7D3349F07 /* PBXTargetDependency */, - 0B9DBAC0CD5292E8FB9B2AE4203327A4 /* PBXTargetDependency */, + 87AB3BDC325CEA8142D96C842D617C9E /* PBXTargetDependency */, + EED183104294DFC5D127E2D50408C323 /* PBXTargetDependency */, + A5AC8DAE6EE01BC8061959E3FF53DBFB /* PBXTargetDependency */, + 1C15597B2077F4A5A41E695D88FDEED3 /* PBXTargetDependency */, ); - name = "Pods-Japx_Example"; - productName = "Pods-Japx_Example"; - productReference = CF4E0F462781508C6CE39DBAC0C54B3C /* Pods_Japx_Example.framework */; + name = Japx; + productName = Japx; + productReference = CD8552B11C9B049CF391BCC3E7702AFF /* Japx.framework */; productType = "com.apple.product-type.framework"; }; - 8180FAD99F53A34F21D36DD7797A7F73 /* Pods-Japx_Tests */ = { + 84EC6C9ECBA41963BF9D7768FFEB1007 /* Pods-Japx_Example */ = { isa = PBXNativeTarget; - buildConfigurationList = 201F21790E8344178FFCB3A96E3DF55D /* Build configuration list for PBXNativeTarget "Pods-Japx_Tests" */; + buildConfigurationList = E8D94844E1E611368C574D68A97E13CB /* Build configuration list for PBXNativeTarget "Pods-Japx_Example" */; buildPhases = ( - 91B2D800D32EA7BC899B35B002C6C3F6 /* Sources */, - C1825BDB14BC6049395937DC38B2B076 /* Frameworks */, - 3FE8359A3C8DB873DC35DFED47A5507A /* Headers */, + 43D0ADD1A91A4A66B9A5D7B22E29002F /* Sources */, + 3E4453D9DA2D4A8F1EDC6284216F6C5C /* Frameworks */, + 75FB9B78EF9DDDF4ACCD5C9557A082D5 /* Headers */, ); buildRules = ( ); dependencies = ( - D8B44B20CD12770BD9F6C21C7BE84C3E /* PBXTargetDependency */, - 376AA08107027A9A7D962A603B602F30 /* PBXTargetDependency */, + 83F6115D89D5A1F1A570020C862BB6F4 /* PBXTargetDependency */, + C4C8576EADD6AFCBBEC5BF79F9EB2B34 /* PBXTargetDependency */, + 6869B83493013D34B6723C381A18DD36 /* PBXTargetDependency */, + 659A583DBA22A8E78E7721A73A681892 /* PBXTargetDependency */, + F769CC39436405813944F3FC24C1BE33 /* PBXTargetDependency */, ); - name = "Pods-Japx_Tests"; - productName = "Pods-Japx_Tests"; - productReference = CF2091B6FA6B24C28FF876A0E514055E /* Pods_Japx_Tests.framework */; + name = "Pods-Japx_Example"; + productName = "Pods-Japx_Example"; + productReference = 3FC6FE74CBBB93630F854D9C02FE5231 /* Pods_Japx_Example.framework */; productType = "com.apple.product-type.framework"; }; 88E9EC28B8B46C3631E6B242B50F4442 /* Alamofire */ = { @@ -1464,41 +1739,64 @@ ); name = Alamofire; productName = Alamofire; - productReference = A23986EBD362324D6DBD0E9D7D493F34 /* Alamofire.framework */; + productReference = AEF692DB193DEAB961A88F4D38A4BA0D /* Alamofire.framework */; productType = "com.apple.product-type.framework"; }; - 8D80B17FFD19E1059251B7AA6DA966BB /* Quick */ = { + A2810CFD2F7804F4DDEE293DAF0CB816 /* Result */ = { isa = PBXNativeTarget; - buildConfigurationList = A28DA15E8C8D54743484CE3804F12CA2 /* Build configuration list for PBXNativeTarget "Quick" */; + buildConfigurationList = A4247876EEBF907F07A78159266D1254 /* Build configuration list for PBXNativeTarget "Result" */; buildPhases = ( - 14247CAEA9968202EB565D62D9C27A42 /* Sources */, - 85AB925D9C9745FF14CCAA2DC961CFC7 /* Frameworks */, - FBA942974344C19B9300B6D9C0F58F4B /* Headers */, + FA78EA1828021A96AD5E96883CD4BE5E /* Sources */, + 0579CE473BD102D66CFD83759DF32593 /* Frameworks */, + 1A29707D61892835CBF008FE51AE3AD5 /* Headers */, ); buildRules = ( ); dependencies = ( ); - name = Quick; - productName = Quick; - productReference = 67B422C681BDAE2ABC153415D54DBBBC /* Quick.framework */; + name = Result; + productName = Result; + productReference = 429305EF8BAD91C092286DCEA793A8AB /* Result.framework */; productType = "com.apple.product-type.framework"; }; - A70629C98C5E84B36701C72AA4CFC996 /* RxSwift */ = { + A91D5873AE40CAE74B9D12EB82E52DB5 /* Moya */ = { isa = PBXNativeTarget; - buildConfigurationList = 1EDF9C288289258B80092202FCC15321 /* Build configuration list for PBXNativeTarget "RxSwift" */; + buildConfigurationList = A7330123374EE7274D9689536B3704A2 /* Build configuration list for PBXNativeTarget "Moya" */; buildPhases = ( - 259B73648DF569D913D3AE1D61E3705D /* Sources */, - D2AA93D262AF51273B4A99E0AD9845AA /* Frameworks */, - 4437B003CBF91304F106453B40F35E69 /* Headers */, + 4F39045C03F89B072B42DACA86D0C47C /* Sources */, + 82CC1292D37E582C45D35FD78C69E6DA /* Frameworks */, + 49164CA6039EF51D6B517BE5C4A3063F /* Headers */, ); buildRules = ( ); dependencies = ( + 07275BB90FBD0950BED993A08266EA6D /* PBXTargetDependency */, + 9A378E7FECA7099FB7FD14F96EEE032D /* PBXTargetDependency */, + 3E34509DAC446C617E5B009168A88C36 /* PBXTargetDependency */, ); - name = RxSwift; - productName = RxSwift; - productReference = E1058010A96D80B29FC66DF80177CF84 /* RxSwift.framework */; + name = Moya; + productName = Moya; + productReference = 2853DD830ACEF0BB263FEF29BD988208 /* Moya.framework */; + productType = "com.apple.product-type.framework"; + }; + B0DD213B67D44742C902721C8C1C3010 /* Pods-Japx_Tests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 78B21A5B618E6C3260D66FBE1307B266 /* Build configuration list for PBXNativeTarget "Pods-Japx_Tests" */; + buildPhases = ( + 0095A68B5559071230CFFA4E6BE62250 /* Sources */, + E535F2C132BCBF751191972A80C54664 /* Frameworks */, + 7E3DC7AA1D44031631482C5C85119D8A /* Headers */, + ); + buildRules = ( + ); + dependencies = ( + D275FC4BEEE06FBF98D31FD6F7270986 /* PBXTargetDependency */, + CA438F9A7EA29E83F9AB844FB5C02C47 /* PBXTargetDependency */, + FC78EAA75F2DEF2EF90F61F73E2C8E42 /* PBXTargetDependency */, + ); + name = "Pods-Japx_Tests"; + productName = "Pods-Japx_Tests"; + productReference = 12AA291F26E202CB97A25456DA3BE4BB /* Pods_Japx_Tests.framework */; productType = "com.apple.product-type.framework"; }; DD7C8BF89FE8053D0A2A2D88BB49CF07 /* Nimble */ = { @@ -1515,7 +1813,24 @@ ); name = Nimble; productName = Nimble; - productReference = 7BC0203F68825B665D6E24AC418105D2 /* Nimble.framework */; + productReference = 0CA686226C200941E1EFFC5969FCF9FF /* Nimble.framework */; + productType = "com.apple.product-type.framework"; + }; + ED23BA911866CDCD4E089941642E31C9 /* Quick */ = { + isa = PBXNativeTarget; + buildConfigurationList = 1A17163FFA4E337103DB3B47E917502E /* Build configuration list for PBXNativeTarget "Quick" */; + buildPhases = ( + 6BC547D047BEFB56816B19E467C6B09F /* Sources */, + 1A222011F4A7C845B7EF12C4E30D9FFA /* Frameworks */, + 5FBF66E18875803EEC23670B431CF87A /* Headers */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Quick; + productName = Quick; + productReference = D04A9DDD227F0E47FB834C2AF199928D /* Quick.framework */; productType = "com.apple.product-type.framework"; }; /* End PBXNativeTarget section */ @@ -1524,7 +1839,7 @@ D41D8CD98F00B204E9800998ECF8427E /* Project object */ = { isa = PBXProject; attributes = { - LastSwiftUpdateCheck = 0830; + LastSwiftUpdateCheck = 0930; LastUpgradeCheck = 0930; }; buildConfigurationList = 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */; @@ -1535,209 +1850,29 @@ en, ); mainGroup = 7DB346D0F39D3F0E887471402A8071AB; - productRefGroup = 3E6808F50641BF56B23131B22303A8E2 /* Products */; + productRefGroup = ED06818C4634DE1F15A60CE594F5D0FE /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( 88E9EC28B8B46C3631E6B242B50F4442 /* Alamofire */, - 12B24240C4358F90D4E62CD52D23F563 /* Japx */, + 339E1A979E3BCDCDF17FF7FEB91E0F91 /* Japx */, + A91D5873AE40CAE74B9D12EB82E52DB5 /* Moya */, DD7C8BF89FE8053D0A2A2D88BB49CF07 /* Nimble */, - 583B703C88713736D2252DF70D9029FE /* Pods-Japx_Example */, - 8180FAD99F53A34F21D36DD7797A7F73 /* Pods-Japx_Tests */, - 8D80B17FFD19E1059251B7AA6DA966BB /* Quick */, - A70629C98C5E84B36701C72AA4CFC996 /* RxSwift */, + 84EC6C9ECBA41963BF9D7768FFEB1007 /* Pods-Japx_Example */, + B0DD213B67D44742C902721C8C1C3010 /* Pods-Japx_Tests */, + ED23BA911866CDCD4E089941642E31C9 /* Quick */, + A2810CFD2F7804F4DDEE293DAF0CB816 /* Result */, + 13E8BC2B8F78489CAA88ADF133AF25E9 /* RxSwift */, ); }; /* End PBXProject section */ /* Begin PBXSourcesBuildPhase section */ - 14247CAEA9968202EB565D62D9C27A42 /* Sources */ = { + 0095A68B5559071230CFFA4E6BE62250 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - EB0CED6E5817E02DAA197C736961342B /* Behavior.swift in Sources */, - DD3575513C45BB40B134540DB757C67E /* Callsite.swift in Sources */, - ADE2227DB8D7EB883B73BD1C7BBCA26E /* Closures.swift in Sources */, - 9B627FDFC6E6E0240B2B583D64C8F3BB /* Configuration.swift in Sources */, - 55AFF7437CF33619E8DAFD075001FA89 /* DSL.swift in Sources */, - 794F81613E4F047F94BB56FFC6C05D8B /* ErrorUtility.swift in Sources */, - C3589761599DB33E2BB68468B2612A08 /* Example.swift in Sources */, - B92F782FA6C9F7C89A2A74F8F15D640F /* ExampleGroup.swift in Sources */, - 3DAC35DB1EDB163FAF9CF0042709FD0F /* ExampleHooks.swift in Sources */, - 85977D9A458101685D30FC45954C967B /* ExampleMetadata.swift in Sources */, - D671F40683BC521D417947E5FB045E12 /* Filter.swift in Sources */, - F94E208C95820CCFFAFA01833B242A8C /* HooksPhase.swift in Sources */, - B0A4B4E500282DAEF9EB00F10001431F /* NSBundle+CurrentTestBundle.swift in Sources */, - C461BEAAB1389F4E969C3E57FC0D47A0 /* NSString+C99ExtendedIdentifier.swift in Sources */, - D2EC0E3D6A523B6CEE890BAE0C1A1959 /* QCKDSL.m in Sources */, - 6F40546434B7DEF1E30ECCBE734521E5 /* Quick-dummy.m in Sources */, - 27C392E7712B15883B4140BF9DAC7701 /* QuickConfiguration.m in Sources */, - C8131835BAB022AFA58FC4BBC3488B3F /* QuickSelectedTestSuiteBuilder.swift in Sources */, - E49C97A82EA15BECFE26A8845CB991B8 /* QuickSpec.m in Sources */, - A994EF6983D9936454BF832A923345CF /* QuickSpecBase.m in Sources */, - A271C6A95D236C09243EE42B25045F5A /* QuickTestSuite.swift in Sources */, - F2FD612EF3768E0BE050E5604E253207 /* SuiteHooks.swift in Sources */, - B033AB26579793E45D4384749ADABC2B /* URL+FileName.swift in Sources */, - F134BEB057CEF003ACB2CA961647DED9 /* World+DSL.swift in Sources */, - F9CB9B51DAAEBAC7FF06C2A6864ABCF2 /* World.swift in Sources */, - 27927E9214BF5C75C0B35BDA4623B6DD /* XCTestSuite+QuickTestSuiteBuilder.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 259B73648DF569D913D3AE1D61E3705D /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 7186D2E6E91BEEAAA244E32D73AD307C /* AddRef.swift in Sources */, - 4C7697997735BB2CB09074777013FB7E /* Amb.swift in Sources */, - 1FD161067914283B07F04A619B9DE678 /* AnonymousDisposable.swift in Sources */, - 35CF7EA90082AD018F0FB0F6CCCA1BF0 /* AnonymousObserver.swift in Sources */, - 8A05E9F812EE0D23E550BB4555CAA6EC /* AnyObserver.swift in Sources */, - C6D529ED0450EE769BC7C07BEAF3B6BF /* AsMaybe.swift in Sources */, - FF2A984586464F917E01118863FB1F72 /* AsSingle.swift in Sources */, - 4C4F6970871C504C51E62473D0AA9EA8 /* AsyncLock.swift in Sources */, - 2F048394FAD29A13B30FAF950CCCBA0D /* AsyncSubject.swift in Sources */, - 8D327DB8A64D5514859560006569F7AB /* Bag+Rx.swift in Sources */, - 6E6EBBA63E0D8A217E3280D5D74E8C26 /* Bag.swift in Sources */, - F62C928597E99BBDB9E7C78EC077D8A7 /* BehaviorSubject.swift in Sources */, - FA69D3C39DFF99FE0EE0E83C574A6980 /* BinaryDisposable.swift in Sources */, - 9F87A7414D53181E39F3001F2D2D6166 /* BooleanDisposable.swift in Sources */, - D67378D88A2EB83B66EB177C7FA588A6 /* Buffer.swift in Sources */, - 96ACA92879959C423898B5325FE582C7 /* Cancelable.swift in Sources */, - 16A414967B9844FB7FABC4135E625310 /* Catch.swift in Sources */, - 64FB01FFC4067E2DDCADFECECACE427E /* CombineLatest+arity.swift in Sources */, - 0B3E3B7D095B32ECE47367E25856B0A2 /* CombineLatest+Collection.swift in Sources */, - B1D70E190E659D6E8442D07FA35933B8 /* CombineLatest.swift in Sources */, - 075E34B4C08E3EF281D30B32E23D926D /* Completable+AndThen.swift in Sources */, - 46680571534E1D0626B9CBA998199BBE /* Completable.swift in Sources */, - 2C6E56D499411791278C686CFA74C51B /* CompositeDisposable.swift in Sources */, - 76596645880DA056F47FF06E38E7AC6A /* Concat.swift in Sources */, - ECFEF9DE2BC5D248FA8A323BA1F1D411 /* ConcurrentDispatchQueueScheduler.swift in Sources */, - 20FE6EDEB4C51BA076C896A64D8F7F07 /* ConcurrentMainScheduler.swift in Sources */, - 857E1DD1EA520D0E59676D8B8045BC45 /* ConnectableObservableType.swift in Sources */, - 55AD6DC30D68B94BA14D697F99FD586C /* Create.swift in Sources */, - 10BAEAE27970D5ECDE1F13401B48ABCF /* CurrentThreadScheduler.swift in Sources */, - F98D10F55E5FD9D31A1EC8345DC6E553 /* Debounce.swift in Sources */, - 5C02995E600D03317E9CC21F7F71B141 /* Debug.swift in Sources */, - B797B9ED5B378E2B0945507C9E9468AF /* DefaultIfEmpty.swift in Sources */, - D102DB616A5E0D548B990A0ABEC79C36 /* Deferred.swift in Sources */, - 3BFDD7324519DB6E4E96F4054A41C2AA /* Delay.swift in Sources */, - B9C590A0348902ED7FC5DFC07AD3AA46 /* DelaySubscription.swift in Sources */, - E331CB85D97C0B837FD66B4FDC112242 /* Dematerialize.swift in Sources */, - AE171B0E7C546CA50DB66F6762478821 /* Deprecated.swift in Sources */, - 1E8B3CD935A1C306FAF88EE88F49C2EF /* DeprecationWarner.swift in Sources */, - F74A8AC6A87E689F98B0595D561F31CD /* DispatchQueue+Extensions.swift in Sources */, - 379F94F0E1ED07BC8EE608F1DF3D82AC /* DispatchQueueConfiguration.swift in Sources */, - 79B86458FAFAF2653FCA6AF3DB271B29 /* Disposable.swift in Sources */, - AC31922F5E006B39540686F5C0434FDE /* Disposables.swift in Sources */, - DBA9D13485E410E6FF45070E7802F9F5 /* DisposeBag.swift in Sources */, - D11F504731B4E8893BE93AF5870CC6A1 /* DisposeBase.swift in Sources */, - B08EB320A4FF01C8527DBB30071B99EF /* DistinctUntilChanged.swift in Sources */, - 9E5AF9C843323BC0FB82DD735753F15F /* Do.swift in Sources */, - 0E8D5BF0ACE0F2EBDC10C0C703CBFF66 /* ElementAt.swift in Sources */, - 11C32E4252F6A76160F1A14F6B774B8B /* Empty.swift in Sources */, - EA66CA7C67B005FEFCF3040941AC6ACC /* Enumerated.swift in Sources */, - 2EF0D238D66571905ED789CF3A168FFE /* Error.swift in Sources */, - A2D8C67B37388B44F088E68840C26465 /* Errors.swift in Sources */, - 9926DCB06D955AA56554DC3487F53FEA /* Event.swift in Sources */, - 9F3671AFFB163B673AFB3E3A03385277 /* Filter.swift in Sources */, - D944B27BA96EDC31A875750C20CEE4D7 /* First.swift in Sources */, - 52C3E8DA89DD198E95270AA1F7D40C2D /* Generate.swift in Sources */, - 4960AB4A42F69F5BA9AA2DC3BF72974A /* GroupBy.swift in Sources */, - 413A12DDFFFB4B9B31821B11EE463EE9 /* GroupedObservable.swift in Sources */, - 8E51F8D33DB227AA370B7636C402CF10 /* HistoricalScheduler.swift in Sources */, - D6057791701181C2937D9C3A4F5F9061 /* HistoricalSchedulerTimeConverter.swift in Sources */, - D775A71F0A3EA5DF255E4AA78E8BC332 /* ImmediateSchedulerType.swift in Sources */, - 828AA008CA716044EA663B2D72B30432 /* InfiniteSequence.swift in Sources */, - C22544C6A47EEF9E3FFFCF9748259E36 /* InvocableScheduledItem.swift in Sources */, - C2D66184014A595D491F95B274DFC93C /* InvocableType.swift in Sources */, - 52F4499A6065D5681597591E8F566CF5 /* Just.swift in Sources */, - 2F0276903AB33168DFE6ECAB0D1AFCC4 /* Lock.swift in Sources */, - 91791C67448D3C44336F39BF03DF4441 /* LockOwnerType.swift in Sources */, - 8D371A6D63C4756429C4E7381D2806ED /* MainScheduler.swift in Sources */, - 90F30B4B4F6E7CC4F7CE28BF8C42153A /* Map.swift in Sources */, - 40ADE642DC50544254BB628EA3A53313 /* Materialize.swift in Sources */, - 2498ED596098BCB92E9B3775FB5E45C0 /* Maybe.swift in Sources */, - 0EF877FB0795D934E83DBC098085869C /* Merge.swift in Sources */, - FB66B164FF45C3F575AA1D4ADAA2A0C7 /* Multicast.swift in Sources */, - 28CE61A3F3551433F4B960AD483A20E3 /* Never.swift in Sources */, - E094F13F654E9683E9BD78BD4CBC6083 /* NopDisposable.swift in Sources */, - 05933DB67D82DE8A63DF135A20C23270 /* Observable.swift in Sources */, - 13E4016B602F645BF13F3B84317FBB82 /* ObservableConvertibleType.swift in Sources */, - C2E166BE59A45C16D6A0E2F081C765A0 /* ObservableType+Extensions.swift in Sources */, - 0259D2F16D0FC6FFB0AE38FFBCEF7899 /* ObservableType+PrimitiveSequence.swift in Sources */, - DEECCF6F51E0E2F5EE42135C29337183 /* ObservableType.swift in Sources */, - 1F35286091D331F29A4A02070971F7C1 /* ObserveOn.swift in Sources */, - F73689E33FBF48B41C32B0893A6E50F4 /* ObserverBase.swift in Sources */, - 2E09D9F3C6ACF462B457DDB9525F741C /* ObserverType.swift in Sources */, - 951F595EEA5078B6F328B79993817440 /* OperationQueueScheduler.swift in Sources */, - 3794BF34E6A577A387D4E321E82707C5 /* Optional.swift in Sources */, - C7CAA21C769F1FD5C81EA8B28A7C643D /* Platform.Darwin.swift in Sources */, - B476DB4275D496BCE15146A7E6D5CB14 /* Platform.Linux.swift in Sources */, - FC690632910AD300D50E6904B3E3B6B2 /* PrimitiveSequence+Zip+arity.swift in Sources */, - 6776642435A8737A85CAA67364A71A4A /* PrimitiveSequence.swift in Sources */, - 5CC8C7118E09E2BD1FD783B004F3ACA1 /* PriorityQueue.swift in Sources */, - 959D6AF56E548C02B57D18463A022C68 /* Producer.swift in Sources */, - 368584B73CF34D9E410D7A8B02B13680 /* PublishSubject.swift in Sources */, - 347374C57A2E1518AA1C3D8046B06A31 /* Queue.swift in Sources */, - 9CB7E13278AE9D30759F2AB01F54184A /* Range.swift in Sources */, - 46053A7FEA71D8D3CEF1CDF778D7EEC6 /* Reactive.swift in Sources */, - 32802A496F3A70CEA5572794CE57DF72 /* RecursiveLock.swift in Sources */, - 7868DE7A35832B799AFBC727C9FE8D51 /* RecursiveScheduler.swift in Sources */, - 5E00DD7FDB534F9F5492B28CE9785026 /* Reduce.swift in Sources */, - 8B7D42BBA63A5828D02D81F271BC5D6E /* RefCountDisposable.swift in Sources */, - 797330196DFE589E6180CA11B6A8E69A /* Repeat.swift in Sources */, - 810E26F8B53D8EBA916AB96B6F4159AC /* ReplaySubject.swift in Sources */, - 3E0BA858A43AB1018C4275320890C19A /* RetryWhen.swift in Sources */, - 3DE538162F627C9EF1EB8D2EF64FC992 /* Rx.swift in Sources */, - 85D75914CC935D36088315E1613A0F79 /* RxMutableBox.swift in Sources */, - AE442FC332084E3A259A0BEF01B4ADAF /* RxSwift-dummy.m in Sources */, - 4BF04DC94F13D54381EEC2044E368C25 /* Sample.swift in Sources */, - 1C3ED823B03F694C15800BF9F65D66B6 /* Scan.swift in Sources */, - 0DBD633AD236ED31E92C3E55253FABD4 /* ScheduledDisposable.swift in Sources */, - E4F523C0C195E1EB64E381492B877F9E /* ScheduledItem.swift in Sources */, - A24DD414D6A3DD5B9513C73E32BC46BD /* ScheduledItemType.swift in Sources */, - 31A3217D30EEA9A302F634778F316555 /* SchedulerServices+Emulation.swift in Sources */, - 2AA5D46906B9E306E5890AA9610A6D1C /* SchedulerType.swift in Sources */, - 902FACEEEB0B9A3CAF32DE6D385AAD5B /* Sequence.swift in Sources */, - 9B73EDBA1A0F74D797889C2E01507B10 /* SerialDispatchQueueScheduler.swift in Sources */, - 6DC91DAD7DE99B02FA8CE13387372410 /* SerialDisposable.swift in Sources */, - E35D3CC75814A5907C59296480648C23 /* ShareReplayScope.swift in Sources */, - 3685BA36EFC38FFC2DC4B2C82F51D8D3 /* Single.swift in Sources */, - A363102C0F9B03CF4B92AE12B4F598AD /* SingleAssignmentDisposable.swift in Sources */, - C134AE854AC90B47FB84AED8F8189578 /* SingleAsync.swift in Sources */, - 3D3C9E3354221FA6BB488B20A0F2A9EB /* Sink.swift in Sources */, - 0238DC8284AF2E23894D5BE5EDEC55A4 /* Skip.swift in Sources */, - AAAE98292178D7CF4197DFE6B3B50D01 /* SkipUntil.swift in Sources */, - B49C8B7F70E4A3D293C4F8CFC7E7555F /* SkipWhile.swift in Sources */, - 0A17FD9D02DD6815813895ED394CA2BB /* StartWith.swift in Sources */, - 0571AC6959BD60F98BD32376280C49D8 /* String+Rx.swift in Sources */, - 389EB93083A01779C3B80CBC75E2D94E /* SubjectType.swift in Sources */, - A2EA51C5E3CC10E8C7DD458AF934631E /* SubscribeOn.swift in Sources */, - F77BA5C2B1ECA662BF4DEBAC13E3A331 /* SubscriptionDisposable.swift in Sources */, - B6D1F1CD0D2578ECBDD6A349DA585A48 /* SwiftSupport.swift in Sources */, - F8E9792F6D806B71DFC72B3C9EB351C5 /* Switch.swift in Sources */, - 272A5CA88782502F32DF1C7C3305E362 /* SwitchIfEmpty.swift in Sources */, - C5EA114ACFA4BD269477B40BFEF5857D /* SynchronizedDisposeType.swift in Sources */, - EAF2C7BCC7DE2CBC70C76D7E5D2FF7F2 /* SynchronizedOnType.swift in Sources */, - FF7C3B7246BE5812EF16DC29F40854C6 /* SynchronizedUnsubscribeType.swift in Sources */, - DEBBC77AE4A9DAA7E3EFAF6899195DEE /* TailRecursiveSink.swift in Sources */, - 94F14CBD8570A8907BE19C2379C47B9A /* Take.swift in Sources */, - 2F8AEC83E254C13A2B7129D94751BC89 /* TakeLast.swift in Sources */, - F3A248145C9C6C7D1754543B665457D9 /* TakeUntil.swift in Sources */, - D5BD67B0F4C932E0A37C61E65D4EA43D /* TakeWhile.swift in Sources */, - 9622C744A62A2876DF2C4396F3C9F2F8 /* Throttle.swift in Sources */, - 570CB73A585A69075A873F3BDA471635 /* Timeout.swift in Sources */, - 27972486CF6DAD8D55A6D2C534DAB8C0 /* Timer.swift in Sources */, - 10B2322EABD13D8AA8432DE67C7F576F /* ToArray.swift in Sources */, - EC99D94DD7AA9C33D3D4E310D1BB5874 /* Using.swift in Sources */, - 58CE52A76A3B522180B0BE5B5EFA06D3 /* VirtualTimeConverterType.swift in Sources */, - DC1FCF0AB8C347D53010190BED7F6C3C /* VirtualTimeScheduler.swift in Sources */, - 12B89BF3E593EF24EE3FA1D8F3560576 /* Window.swift in Sources */, - FBFBB592D558862901E0ED96519DE093 /* WithLatestFrom.swift in Sources */, - 653D8530CDFFBAFF8C49CDE0164BE471 /* Zip+arity.swift in Sources */, - 2B0B9DF0BE35DCA3C0A28A609BD01584 /* Zip+Collection.swift in Sources */, - 669AE9F4397E6762B6E691A5FDF7FB4A /* Zip.swift in Sources */, + 080DE6ED33F6AC8412AF51859CCDA1E9 /* Pods-Japx_Tests-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1834,88 +1969,362 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 91B2D800D32EA7BC899B35B002C6C3F6 /* Sources */ = { + 43D0ADD1A91A4A66B9A5D7B22E29002F /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 0742BA126D692B382DDDC526346F2E7F /* Pods-Japx_Example-dummy.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 4F39045C03F89B072B42DACA86D0C47C /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 34750FA41701964C97B42AF0F32A7656 /* AccessTokenPlugin.swift in Sources */, + BD83346D3C105C59B6F16C6015D8E57E /* AnyEncodable.swift in Sources */, + A024992C0678642018D5FE3CB6BFA10D /* Cancellable.swift in Sources */, + 292CE76429DA8CAA861F907AA870242D /* CredentialsPlugin.swift in Sources */, + 1623D0EB0A811D4822FAFB35D2049B68 /* Endpoint.swift in Sources */, + 90A8194914F6CCD709FCCEBBF0261667 /* Image.swift in Sources */, + 5E92D619D6295BF90349C30740CD459B /* Moya+Alamofire.swift in Sources */, + C3F69AACDE11624D79F2C1A59279D0F5 /* Moya-dummy.m in Sources */, + 78788D2FA9969133663E3EAE7E18933D /* MoyaError.swift in Sources */, + 1D90C5685BBD6A1CA2AF238218218C9B /* MoyaProvider+Defaults.swift in Sources */, + C37275DA714D6C983FBD5D4BC592994F /* MoyaProvider+Internal.swift in Sources */, + C36C6F1BE72926FC1720F5BFF7B35533 /* MoyaProvider+Rx.swift in Sources */, + 0D3F4575D79584C2E9EFCB37DF7A16A2 /* MoyaProvider.swift in Sources */, + 08FF9F6BA7779D2074678192CC5D4A9F /* MultipartFormData.swift in Sources */, + D1BDE3C84B30FA19C767BCFDE5E2DC2E /* MultiTarget.swift in Sources */, + 80CDEDCB6B842618AFF9AE35BDAD61BF /* NetworkActivityPlugin.swift in Sources */, + 70D4BB68F087A4F5061ED9637979AF5A /* NetworkLoggerPlugin.swift in Sources */, + D45DB2100AC3183D861A3FF5C0103BF5 /* Observable+Response.swift in Sources */, + AA15248E72F85361BC413423B03EED79 /* Plugin.swift in Sources */, + 795D08FAF05D31B14526AB30BAAC787D /* Response.swift in Sources */, + E2D972939BFD5E3C26FBB7E29939D16A /* Single+Response.swift in Sources */, + 7E2476DA3FC32C054C234C6C612B1724 /* TargetType.swift in Sources */, + 0A7C994DA0DEE76ED36A8B17CC678F0B /* Task.swift in Sources */, + EEA5D5813C1D02724CD4957300831D8D /* URL+Moya.swift in Sources */, + 8FD46E42243225162E2B31F6A8508778 /* URLRequest+Encoding.swift in Sources */, + 82536696152C6E337796CC8321C57714 /* ValidationType.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 6BC547D047BEFB56816B19E467C6B09F /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + CF4DEA2E17D5881E2305EFE695F031D9 /* Behavior.swift in Sources */, + A3ED36FBBAA7764BA2A5F086E549F46F /* Callsite.swift in Sources */, + 9CCF1C6E809BE491B8083DF4A848ED87 /* Closures.swift in Sources */, + 2DFCF6BF7138AFD8C2D90E14F8E6FBB0 /* Configuration.swift in Sources */, + 3A8227736A498C75FE2E0442EC0AA4EC /* DSL.swift in Sources */, + BA7E96822747E1BF9F3CD5302B0110E4 /* ErrorUtility.swift in Sources */, + 3B3068A649BF615A1802D43A2550D02F /* Example.swift in Sources */, + A21153621A6B5DCAE6A0FB9A0ADF9A3D /* ExampleGroup.swift in Sources */, + A24AE704D4432A7DE23813521F1B71BD /* ExampleHooks.swift in Sources */, + 4B649E8E91B2070FA7ADB99F2FC5DD09 /* ExampleMetadata.swift in Sources */, + CEC510617FA770151E7527E1946133A5 /* Filter.swift in Sources */, + 488236FD518579A9C025B83E0A165486 /* HooksPhase.swift in Sources */, + 5EA266564CBF187AB4BB9F9F1436A563 /* NSBundle+CurrentTestBundle.swift in Sources */, + 86F32620C450BD3C04D9A25356B0EEAD /* NSString+C99ExtendedIdentifier.swift in Sources */, + 9D816B3BFECEFA51033849F099C02D60 /* QCKDSL.m in Sources */, + E0AE3DFF19777028263816715E8400DB /* Quick-dummy.m in Sources */, + 1F404E631988DB77A576B6DAA68696BA /* QuickConfiguration.m in Sources */, + EB4A3975355F568B2F34099349770360 /* QuickSelectedTestSuiteBuilder.swift in Sources */, + 0AF15569EA481C082884687D13CA410C /* QuickSpec.m in Sources */, + 19A8657AE20531A00E4535550609B7DE /* QuickSpecBase.m in Sources */, + EC71D4524973916BE85594859C1AFF09 /* QuickTestSuite.swift in Sources */, + 1F04F44B961E9CF42B78B095D12494D4 /* SuiteHooks.swift in Sources */, + EDF319752DDDAC04159052B03F52B395 /* URL+FileName.swift in Sources */, + 6A596EB05C7712D932C3D12F2F44DC84 /* World+DSL.swift in Sources */, + 9CC405BDB04357640302A517EB37E0F5 /* World.swift in Sources */, + F658EC9DA6371370B19665D6991B4AC8 /* XCTestSuite+QuickTestSuiteBuilder.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 8F17B948D4C1E77B337EA783A203F607 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 1B6272DCF4279505F8DE5F813F4D2515 /* Pods-Japx_Tests-dummy.m in Sources */, + 21BAE4B3A56019422D329632CF672738 /* Japx-dummy.m in Sources */, + 38741E184C5B75EFA3CD45B6C7A9FDCC /* Japx.swift in Sources */, + C774939FBB5CA5D5DF722EB392031161 /* JapxCodable.swift in Sources */, + E59E2D4DB62E33FEF9E2334E0EE96AF8 /* JapxCodableMoya.swift in Sources */, + 3DFDDAF1580B869CF971E9E77FCBD5C5 /* JapxMoya.swift in Sources */, + 95CC529E37A3EF6BDAADAF0238C9FAC9 /* JapxRxCodableMoya.swift in Sources */, + 52713C12955C377E25ED8501B498EA17 /* JapxRxMoya.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 9717B68ADC2AA08AA6823E1EC5D6B0B8 /* Sources */ = { + B91129476B0685987835FDEFA4ACE347 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 71872152A23B40DAB124608BF05905C7 /* Pods-Japx_Example-dummy.m in Sources */, + C02F556A23F781AC8DC44A2D31E7F0CA /* AddRef.swift in Sources */, + 4752BACADD963F4C22CB9F37BD29878B /* Amb.swift in Sources */, + 12A4CDDC58AA23F6309962776033B2CC /* AnonymousDisposable.swift in Sources */, + D9C9B3C9E36B2D0910E140D9BD902859 /* AnonymousObserver.swift in Sources */, + 7B94DEFDD352A6C8FE3DD467F55B0FE0 /* AnyObserver.swift in Sources */, + BBB4E87C7E58D1D9BAC4D87DB3198F95 /* AsMaybe.swift in Sources */, + 72EBD6E556B56DA39B4947BC976CA365 /* AsSingle.swift in Sources */, + B3D7921E83F95FD365211C5ECB5A649F /* AsyncLock.swift in Sources */, + 033D85268EC28FE56BFEA6B6A3E38B9E /* AsyncSubject.swift in Sources */, + 9A9044DCBD226FAA3FC65BA5B313C9E1 /* Bag+Rx.swift in Sources */, + 5DF04BDE9CA9594855D43C190D8D0C34 /* Bag.swift in Sources */, + 7210570ADAE611BBD577B7EFDB656887 /* BehaviorSubject.swift in Sources */, + E8102D513FA0AD4D27500AD592581A3A /* BinaryDisposable.swift in Sources */, + 552FFC4573FF82DC5D1FF3E6D41D53CC /* BooleanDisposable.swift in Sources */, + A30838E30D4C9D4B3BC6D7A8D4B48C73 /* Buffer.swift in Sources */, + 8DAFD4AA6AE8CE4892BCAFFDC1009F8B /* Cancelable.swift in Sources */, + A8CA82B0A1495E07AE9504BC4DCD1C60 /* Catch.swift in Sources */, + 6F7453623269AD225ED88899E69A326D /* CombineLatest+arity.swift in Sources */, + B99714DC717627A2426E15B9076482CB /* CombineLatest+Collection.swift in Sources */, + 058189B37AE7AA319D0E881CC8C1C121 /* CombineLatest.swift in Sources */, + 43EFD54A383940490A037D926C1B16BE /* Completable+AndThen.swift in Sources */, + A33DF39D369840C4CC595BD5945EAA02 /* Completable.swift in Sources */, + 7D6211414D720A761372E54D8CCFD011 /* CompositeDisposable.swift in Sources */, + 92D53E97B74C0DD3A08E59D52ABCA999 /* Concat.swift in Sources */, + 81DB5DBB60E74DA1B5A6A37CD6643822 /* ConcurrentDispatchQueueScheduler.swift in Sources */, + 061F49032EB6748C81D28AFD85E5CC01 /* ConcurrentMainScheduler.swift in Sources */, + 7CB80D5F877AA16FABF74F2D5AD2EF76 /* ConnectableObservableType.swift in Sources */, + 8CE64E119DCD026167BBED389401872E /* Create.swift in Sources */, + 83517278D8D41C1698CA645D45D13D87 /* CurrentThreadScheduler.swift in Sources */, + 6C7F5F9964C75AE333B97EBF800B7FE0 /* Debounce.swift in Sources */, + E9AB40CB45AF8FA8A996B662237AA51F /* Debug.swift in Sources */, + 2C4D253DD2096DF063F1D70BB2DBC9FA /* DefaultIfEmpty.swift in Sources */, + 1F9EA5959B58B8FD10145E3B3E432523 /* Deferred.swift in Sources */, + E5B0FE736C7255DFCAD61EE81ACAE51B /* Delay.swift in Sources */, + ADA09EBE196F974445073790817E6E0E /* DelaySubscription.swift in Sources */, + B0081158163EE077B5D16103227A278B /* Dematerialize.swift in Sources */, + 062B3A93EF3144CE5DBB45FA051DD71B /* Deprecated.swift in Sources */, + 61553F86D4C7FF97534903BA025FE19D /* DeprecationWarner.swift in Sources */, + 944E13495DE92C7DED3533DD5833059D /* DispatchQueue+Extensions.swift in Sources */, + D571EA48FD71D69F0401C85BFC8B36E3 /* DispatchQueueConfiguration.swift in Sources */, + D45EC1BC2E9A90389F7C5757386B70BF /* Disposable.swift in Sources */, + 85E65FE38CDA7D8439074272CA58D21A /* Disposables.swift in Sources */, + A5E7E703E01642CBEF31C94143A29B9B /* DisposeBag.swift in Sources */, + 37BCE0AE354677A1E4198A462BCEFC80 /* DisposeBase.swift in Sources */, + E9FD641CE1FEAE09EFE482EAA686F452 /* DistinctUntilChanged.swift in Sources */, + 148DD528E0E1CD9EB056AD94C8043266 /* Do.swift in Sources */, + F9637CAB2F025969EB24564769F195F0 /* ElementAt.swift in Sources */, + 44DAF56AF9B154587E0C5B5ED20DAFDE /* Empty.swift in Sources */, + 456A72DB162F809398BB9FDC21031B87 /* Enumerated.swift in Sources */, + 2905A5A0D194B12C27330AB447B79058 /* Error.swift in Sources */, + B3FE451BE6FC3E15806A14FEA5A7EA90 /* Errors.swift in Sources */, + 00399A52C2004ED7BEBAA1C74EDA3842 /* Event.swift in Sources */, + 03B16140A9D42C7FA905BD8B677F4816 /* Filter.swift in Sources */, + 4F5E8F9C6E5A44584E58209889524975 /* First.swift in Sources */, + 48C68B11D96843EA0444B4BCBB9CB1DB /* Generate.swift in Sources */, + 13134BF8466F37A134FAEBF98F1F73F7 /* GroupBy.swift in Sources */, + 4FC9DBCBFD7B54199F9D25C4CFF83D56 /* GroupedObservable.swift in Sources */, + FA113C281E8BCCD7008AD04825152EDA /* HistoricalScheduler.swift in Sources */, + 1AA2A882C339A2B1EC4BD1D2FBB81C0A /* HistoricalSchedulerTimeConverter.swift in Sources */, + 14E1FC9ADEA2CE1C4D030E639CEAC3DC /* ImmediateSchedulerType.swift in Sources */, + F8F266A2F6C6BA8EBADE27405DE1C202 /* InfiniteSequence.swift in Sources */, + 65C320DD0E12D7E83F48A632FF9240C3 /* InvocableScheduledItem.swift in Sources */, + 67086EF2A7963D54F4768B6F4E5A5171 /* InvocableType.swift in Sources */, + C3008C42585C5135A52E4EE3E5E65089 /* Just.swift in Sources */, + B158D3261922F3483161FCED0302AFAE /* Lock.swift in Sources */, + 12B07B28799F639DF798E2651F6E93B5 /* LockOwnerType.swift in Sources */, + 35745C0FA4AEAC227F80A3DA2474F099 /* MainScheduler.swift in Sources */, + 9CD0A1F419279F9B07111F8CCE63628D /* Map.swift in Sources */, + A0EF605648992557C7D6C1DEB8504940 /* Materialize.swift in Sources */, + 34AC1AC1F4A48D237D2068B4DAD0B488 /* Maybe.swift in Sources */, + E11966EEA55E65DA06DA3129DE556C5E /* Merge.swift in Sources */, + 346AFD4169B27BFDC3EED181D24D6A19 /* Multicast.swift in Sources */, + B13A776F45D0F865D666C284B1763CF9 /* Never.swift in Sources */, + 1DD0382ED1DA408607C5D6FED3B37846 /* NopDisposable.swift in Sources */, + 9E679639BD4303FFFF5FC3B1E7F8D34A /* Observable.swift in Sources */, + 066DAD935262A89E48C3917E7A6A0187 /* ObservableConvertibleType.swift in Sources */, + 460AF107823B7FCF76924C553D184E4D /* ObservableType+Extensions.swift in Sources */, + 985AB346EF906089F563DA05B554B438 /* ObservableType+PrimitiveSequence.swift in Sources */, + 50ED8B633C96C56DFD7AAF79BA0B7CC3 /* ObservableType.swift in Sources */, + 3FCA60683262D82F4228B33DF3474C5B /* ObserveOn.swift in Sources */, + A01CDAF81A1DFCBDAC27FBA316DBD034 /* ObserverBase.swift in Sources */, + 1B16005006B0E13FCF85C92B5FC6F73A /* ObserverType.swift in Sources */, + DF331DCCE0756C6AB8B50CD9E2E8844A /* OperationQueueScheduler.swift in Sources */, + 222AB7EC7AE93BD9EF6A544952BC2DDB /* Optional.swift in Sources */, + 768466B51B324B36C642D45824D80297 /* Platform.Darwin.swift in Sources */, + 436BC52B5C585CAA81BE0A0926EF4DA7 /* Platform.Linux.swift in Sources */, + 274831A04749ADFF3212F57A6AF6CB04 /* PrimitiveSequence+Zip+arity.swift in Sources */, + E5C60A980D1B1B9CC6749B45740F518F /* PrimitiveSequence.swift in Sources */, + 85D4A34499179AF23C3CD28B76A62144 /* PriorityQueue.swift in Sources */, + B7BB4428EBD03225A5745DE194BC75DB /* Producer.swift in Sources */, + 13D0CD4BB54DFDC748B636A7D67B2AC3 /* PublishSubject.swift in Sources */, + 9CEF63CDB0508C2310445FCC11F59CCA /* Queue.swift in Sources */, + 9C87BE40B73057B4606BD9B1E1AD9DCB /* Range.swift in Sources */, + 0F2FDD90D7259F9A7676C727651527C4 /* Reactive.swift in Sources */, + 8AA537B997903B84A0B3F0B4E71E1044 /* RecursiveLock.swift in Sources */, + 490C90F69CC2E3EBD57F96E501F023B0 /* RecursiveScheduler.swift in Sources */, + 615A986F18FB8BD3BC10B4035C34DD7A /* Reduce.swift in Sources */, + 669A6380C474BD1A3788BA99DA9340C2 /* RefCountDisposable.swift in Sources */, + 676D3A0C9283BB4F3FDDDCF82C19A344 /* Repeat.swift in Sources */, + 5431AF159C2347F7B68F50B08D9713EC /* ReplaySubject.swift in Sources */, + F54BA07E62E334431FDFF0782F3A5948 /* RetryWhen.swift in Sources */, + B587D97E0B3A36A96D8267C8885FD70A /* Rx.swift in Sources */, + 56A1522C36B6BB1AA65E3ECAFAC3EF39 /* RxMutableBox.swift in Sources */, + 7D7B651425905F8A350E642203C1BF9D /* RxSwift-dummy.m in Sources */, + 8AC809289D0DC21D27A0CAF3B045B1DC /* Sample.swift in Sources */, + 0A9C175F00C8A943716870C3987011F1 /* Scan.swift in Sources */, + 4F1BF8AB490D9BF4DFCCB4F48D65ED4F /* ScheduledDisposable.swift in Sources */, + 8E5A64D9A2EEF6E29C9354C79328B0C5 /* ScheduledItem.swift in Sources */, + 14741FC5510E61F4D634666F668FFE43 /* ScheduledItemType.swift in Sources */, + 1A47531AAFC65C791875C14FA8D07700 /* SchedulerServices+Emulation.swift in Sources */, + 4FE0D6CC8073DB126A998D38FB7A851D /* SchedulerType.swift in Sources */, + B6C46BC8EF86AE12165FCBEAA93E0687 /* Sequence.swift in Sources */, + 9003A5C6A316F5E6866EE5F428F27AF6 /* SerialDispatchQueueScheduler.swift in Sources */, + 1908012CBEC7D35936295E7D7A29FA4F /* SerialDisposable.swift in Sources */, + E45E7EFBCF9DAC2BB080F2752F5F3038 /* ShareReplayScope.swift in Sources */, + 813D86729F463786EAA024AD83988A08 /* Single.swift in Sources */, + 6A9DD5A089CC11971DC59B831BC9507D /* SingleAssignmentDisposable.swift in Sources */, + DA8A8F1674995D32AF82EE54EB1E2E1B /* SingleAsync.swift in Sources */, + 9D1EE1FB90B5F7ED8190C419CF0D5B86 /* Sink.swift in Sources */, + E79523879896C127F294BA7A4B2749F9 /* Skip.swift in Sources */, + 30CBCA17BB1997D5A2B4D1849A5BCDAA /* SkipUntil.swift in Sources */, + 07D630C4426F73B48712A79DB54D2547 /* SkipWhile.swift in Sources */, + 5B396B4E44AF947054A83D8E1641A123 /* StartWith.swift in Sources */, + B1D700818CE0C7B16D43C698DD387EB9 /* String+Rx.swift in Sources */, + 6192F78DF2B71D27A7524690810BF783 /* SubjectType.swift in Sources */, + 6FDB07EE1737B068E830424D4B8F5870 /* SubscribeOn.swift in Sources */, + A2B4CADA26C1853A2FC2180807DD826B /* SubscriptionDisposable.swift in Sources */, + 9CE350F0E7CCD03890FF5FD771BF9B37 /* SwiftSupport.swift in Sources */, + 5044E4A67B05672A0BDFA80C81DB05A2 /* Switch.swift in Sources */, + AE45E79509C4E73E190F07EE64EDE3F8 /* SwitchIfEmpty.swift in Sources */, + 90F5EEE2C33AF9E4E71ADB55F955ADA7 /* SynchronizedDisposeType.swift in Sources */, + DCDFB51017FD7C4D722CEC7890E703AF /* SynchronizedOnType.swift in Sources */, + 128B7DF04DC86C5A823F357D479B9B06 /* SynchronizedUnsubscribeType.swift in Sources */, + EF045E5A16C208915ABEF549056082B9 /* TailRecursiveSink.swift in Sources */, + 111E39C8BED962618189BE0C330D4CAA /* Take.swift in Sources */, + D1BC7C74C478C26B04E9B214E11F8CF0 /* TakeLast.swift in Sources */, + 94B23DC11D769DF0336A12EEB6094410 /* TakeUntil.swift in Sources */, + ED8308AB94214C929C1E1E8CE2A5C74A /* TakeWhile.swift in Sources */, + 771E73AED3F835054DA508520873DDBA /* Throttle.swift in Sources */, + 52732083FB3EB3272F8FDE641B15BA5E /* Timeout.swift in Sources */, + 76B135065AC5B6733D083190E92DB34A /* Timer.swift in Sources */, + BF35F347C7D2C09D578193877BEC077C /* ToArray.swift in Sources */, + 7F5EAFD1915BA1C746A5BBA266A60379 /* Using.swift in Sources */, + FFE76A01CF53DB228AE35DF39AEF356F /* VirtualTimeConverterType.swift in Sources */, + 29049C35319CA1A85ADD01DE3C260FBD /* VirtualTimeScheduler.swift in Sources */, + 9CD98E3A592DAED8572E6DF272B653CA /* Window.swift in Sources */, + 968485FE0AF1A5CE5B7C57212C80B11B /* WithLatestFrom.swift in Sources */, + 132645B88A8337AE39E2466EE1137FEB /* Zip+arity.swift in Sources */, + 78D4E947A5D8099990AF48A66D767D05 /* Zip+Collection.swift in Sources */, + D26B4EA48128B4E33FA61705A5C61BC7 /* Zip.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - C28CFB8E23E2FB94662EABB2DB578B5B /* Sources */ = { + FA78EA1828021A96AD5E96883CD4BE5E /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - EF48111215AE0086A668D8EB1BB2B9E6 /* Japx-dummy.m in Sources */, - 356CE4DCA8E16BAA47785A80C4EC61BF /* Japx.swift in Sources */, - 2D0ADAA06E82437DB8C3D7C3FBB2372D /* JapxAlamofire.swift in Sources */, - 6BCEAE949B5F713C1F547E7B117ED688 /* JapxCodable.swift in Sources */, - BF5109DAFE870E9EB4A2B6BE26DD9847 /* JapxCodableAlamofire.swift in Sources */, - 4BA3E5B5A12800CA26EC28E3C8FB2783 /* JapxRxAlamofire.swift in Sources */, - 4852B2379F7EC2A77DF67FD0B0512980 /* JapxRxCodableAlamofire.swift in Sources */, + 9B802B48B825082D4FB1F36861D6175B /* Result-dummy.m in Sources */, + 4567442C3345AA90846A1D95F48D1C11 /* Result.swift in Sources */, + 6454EE30A8B0813E2F435958D187E0CC /* ResultProtocol.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 0B9DBAC0CD5292E8FB9B2AE4203327A4 /* PBXTargetDependency */ = { + 07275BB90FBD0950BED993A08266EA6D /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = Alamofire; + target = 88E9EC28B8B46C3631E6B242B50F4442 /* Alamofire */; + targetProxy = 560BEEB1A76366EC2308A075004D90E7 /* PBXContainerItemProxy */; + }; + 1C15597B2077F4A5A41E695D88FDEED3 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = RxSwift; - target = A70629C98C5E84B36701C72AA4CFC996 /* RxSwift */; - targetProxy = B71B38F8EA013B23E058C125F2F153BF /* PBXContainerItemProxy */; + target = 13E8BC2B8F78489CAA88ADF133AF25E9 /* RxSwift */; + targetProxy = 98F5489719B1BE0C16BF0EEC4AAA8E3B /* PBXContainerItemProxy */; }; - 155E8C811D9AC00C952578D7D3349F07 /* PBXTargetDependency */ = { + 3E34509DAC446C617E5B009168A88C36 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Japx; - target = 12B24240C4358F90D4E62CD52D23F563 /* Japx */; - targetProxy = 609179F5D55B508B7BC728AE9487FE06 /* PBXContainerItemProxy */; + name = RxSwift; + target = 13E8BC2B8F78489CAA88ADF133AF25E9 /* RxSwift */; + targetProxy = EDD8231D9E41A0170903C8735FF7A505 /* PBXContainerItemProxy */; }; - 376AA08107027A9A7D962A603B602F30 /* PBXTargetDependency */ = { + 659A583DBA22A8E78E7721A73A681892 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Quick; - target = 8D80B17FFD19E1059251B7AA6DA966BB /* Quick */; - targetProxy = CBA4F5B3579DF1BE3A00D7E1C545D26C /* PBXContainerItemProxy */; + name = Result; + target = A2810CFD2F7804F4DDEE293DAF0CB816 /* Result */; + targetProxy = AAC17173EA9936B8836E1FE03F979383 /* PBXContainerItemProxy */; + }; + 6869B83493013D34B6723C381A18DD36 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = Moya; + target = A91D5873AE40CAE74B9D12EB82E52DB5 /* Moya */; + targetProxy = 9EDEB279299895187129D9D7054CF97E /* PBXContainerItemProxy */; }; - 9989838F29FF0FD07112AB52E140D0C2 /* PBXTargetDependency */ = { + 83F6115D89D5A1F1A570020C862BB6F4 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = Alamofire; target = 88E9EC28B8B46C3631E6B242B50F4442 /* Alamofire */; - targetProxy = 192CADB5EC1999B30BF0A92322CF5A4A /* PBXContainerItemProxy */; + targetProxy = 08644A555DDFE61D57B1CF6076099D58 /* PBXContainerItemProxy */; }; - D0BFF472489C8C1B9AF84F90361328C2 /* PBXTargetDependency */ = { + 87AB3BDC325CEA8142D96C842D617C9E /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = RxSwift; - target = A70629C98C5E84B36701C72AA4CFC996 /* RxSwift */; - targetProxy = 2EAF0F0AB725BCFC94D92CBD7217C67A /* PBXContainerItemProxy */; + name = Alamofire; + target = 88E9EC28B8B46C3631E6B242B50F4442 /* Alamofire */; + targetProxy = B28FA2C2C7EC27E0B379F5E70CE34DCB /* PBXContainerItemProxy */; + }; + 9A378E7FECA7099FB7FD14F96EEE032D /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = Result; + target = A2810CFD2F7804F4DDEE293DAF0CB816 /* Result */; + targetProxy = 1051253A2B735B0D524EE473ED622886 /* PBXContainerItemProxy */; + }; + A5AC8DAE6EE01BC8061959E3FF53DBFB /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = Result; + target = A2810CFD2F7804F4DDEE293DAF0CB816 /* Result */; + targetProxy = C3491C1DAD2DE10DD2E04959C1B28AA0 /* PBXContainerItemProxy */; }; - D8B44B20CD12770BD9F6C21C7BE84C3E /* PBXTargetDependency */ = { + C4C8576EADD6AFCBBEC5BF79F9EB2B34 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = Japx; + target = 339E1A979E3BCDCDF17FF7FEB91E0F91 /* Japx */; + targetProxy = 8FCF5CF9B706CCE6AE06785ADCF90B99 /* PBXContainerItemProxy */; + }; + CA438F9A7EA29E83F9AB844FB5C02C47 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "Pods-Japx_Example"; + target = 84EC6C9ECBA41963BF9D7768FFEB1007 /* Pods-Japx_Example */; + targetProxy = E840003EA4A4A4DD21E989A19ACE946A /* PBXContainerItemProxy */; + }; + D275FC4BEEE06FBF98D31FD6F7270986 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = Nimble; target = DD7C8BF89FE8053D0A2A2D88BB49CF07 /* Nimble */; - targetProxy = 81BD698DCEDF661045B3B6FF1BC6531E /* PBXContainerItemProxy */; + targetProxy = 817E59FF323FEE6C9517F730AE2AC0AE /* PBXContainerItemProxy */; }; - F4FB0BC18448A85C7BF6011DACC75C36 /* PBXTargetDependency */ = { + EED183104294DFC5D127E2D50408C323 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Alamofire; - target = 88E9EC28B8B46C3631E6B242B50F4442 /* Alamofire */; - targetProxy = C481F2D1FFDD09FAB14569C2AEF6E780 /* PBXContainerItemProxy */; + name = Moya; + target = A91D5873AE40CAE74B9D12EB82E52DB5 /* Moya */; + targetProxy = 98F7951434A033DDF6215040F807B9DA /* PBXContainerItemProxy */; + }; + F769CC39436405813944F3FC24C1BE33 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = RxSwift; + target = 13E8BC2B8F78489CAA88ADF133AF25E9 /* RxSwift */; + targetProxy = 24C59E25433B62B1AB6FF09EEDFC0B7A /* PBXContainerItemProxy */; + }; + FC78EAA75F2DEF2EF90F61F73E2C8E42 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = Quick; + target = ED23BA911866CDCD4E089941642E31C9 /* Quick */; + targetProxy = DA388092F0C7A16237CDD36190F7640F /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 0705E44F872FB39719352635C9C72F7B /* Release */ = { + 11604CDC82C911DEC11544CAFFF362C9 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 89EDBC25DE24A5D7A9BD94B39228F411 /* Pods-Japx_Tests.release.xcconfig */; + baseConfigurationReference = 0C3730A397EFC315C07B1B828E0E6C0F /* Pods-Japx_Example.debug.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -1925,20 +2334,180 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-Japx_Tests/Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-Japx_Example/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-Japx_Tests/Pods-Japx_Tests.modulemap"; + MODULEMAP_FILE = "Target Support Files/Pods-Japx_Example/Pods-Japx_Example.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = Pods_Japx_Tests; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 199D972A13F2B4C56847F7A89CCA83BC /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGNING_ALLOWED = NO; + CODE_SIGNING_REQUIRED = NO; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "POD_CONFIGURATION_DEBUG=1", + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + STRIP_INSTALLED_PRODUCT = NO; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SYMROOT = "${SRCROOT}/../build"; + }; + name = Debug; + }; + 1C0821796442366BC258C494FF3B0052 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 8A2444B02EB560BE6707A9FE05D68638 /* Japx.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/Japx/Japx-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Japx/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/Japx/Japx.modulemap"; + PRODUCT_MODULE_NAME = Japx; + PRODUCT_NAME = Japx; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 4.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 2C8A8AACC83E751DFA4AFE7E186ACC44 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9424A777091A94210F575BDE7DE84582 /* Result.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/Result/Result-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Result/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/Result/Result.modulemap"; + PRODUCT_MODULE_NAME = Result; + PRODUCT_NAME = Result; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 4.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 3137C887BCC5AECCA95B5494F3A654D2 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9424A777091A94210F575BDE7DE84582 /* Result.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/Result/Result-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Result/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/Result/Result.modulemap"; + PRODUCT_MODULE_NAME = Result; + PRODUCT_NAME = Result; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; @@ -1946,9 +2515,9 @@ }; name = Release; }; - 1B230D4A47175B0A5ED63DEFA20FCB16 /* Release */ = { + 3FACCF0B72742F99D0D2CB12218486F1 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 3A112C0B91CEF1630FE54DCA13FC3788 /* Nimble.xcconfig */; + baseConfigurationReference = 8B403166A345266D3CE982BC0C899388 /* RxSwift.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -1959,13 +2528,14 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Nimble/Nimble-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Nimble/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/RxSwift/RxSwift-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/RxSwift/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Nimble/Nimble.modulemap"; - PRODUCT_NAME = Nimble; + MODULEMAP_FILE = "Target Support Files/RxSwift/RxSwift.modulemap"; + PRODUCT_MODULE_NAME = RxSwift; + PRODUCT_NAME = RxSwift; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -1978,10 +2548,11 @@ }; name = Release; }; - 22A028AA7EA728692614BF62B27722ED /* Debug */ = { + 4B80666F7A1514CCBE25E28DB9220823 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 9CE2612588A0713A4ADE0E4D3FF20DA2 /* Pods-Japx_Example.debug.xcconfig */; + baseConfigurationReference = 6C0AD9A3C645B69D381E42E5A62949CB /* Pods-Japx_Example.release.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -2001,21 +2572,87 @@ OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = Pods_Japx_Example; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + 66A370BEA3B463C23EB2745F162EFEB4 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 790017C7BA9C734DA3A7850DC0ECE170 /* Moya.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/Moya/Moya-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Moya/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/Moya/Moya.modulemap"; + PRODUCT_MODULE_NAME = Moya; + PRODUCT_NAME = Moya; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_VERSION = 4.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + 6B1A66B788A018C8D2259D877A6563A6 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 790017C7BA9C734DA3A7850DC0ECE170 /* Moya.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/Moya/Moya-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Moya/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/Moya/Moya.modulemap"; + PRODUCT_MODULE_NAME = Moya; + PRODUCT_NAME = Moya; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Debug; }; - 2BABDCD0233BEEED231BD7CB2218919E /* Debug */ = { + 8F468091BB7B3F058E4D36654581E279 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 0A4BB666826A5D9D6CC7578046098AD6 /* Pods-Japx_Tests.debug.xcconfig */; + baseConfigurationReference = 1BF9205BBB725763CC352C889A2F3DFE /* Pods-Japx_Tests.debug.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -2035,7 +2672,7 @@ OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = Pods_Japx_Tests; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; @@ -2046,9 +2683,9 @@ }; name = Debug; }; - 2ED15D544250CB967256268FE4942D9D /* Release */ = { + A18C9CC7E37563F2891E7DC87F2DE6CE /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E9B25CD6D88890CD3B2156BC736E3B7F /* RxSwift.xcconfig */; + baseConfigurationReference = D948D49CCC5D651B2EF39CD405D82404 /* Alamofire.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -2059,13 +2696,14 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/RxSwift/RxSwift-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/RxSwift/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/Alamofire/Alamofire-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Alamofire/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/RxSwift/RxSwift.modulemap"; - PRODUCT_NAME = RxSwift; + MODULEMAP_FILE = "Target Support Files/Alamofire/Alamofire.modulemap"; + PRODUCT_MODULE_NAME = Alamofire; + PRODUCT_NAME = Alamofire; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -2078,9 +2716,9 @@ }; name = Release; }; - 44A70BDC0B16D6445AE1D6A8C6E8521F /* Debug */ = { + AB025102EEABE3FE38A5E4FCC0354EE2 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E9B25CD6D88890CD3B2156BC736E3B7F /* RxSwift.xcconfig */; + baseConfigurationReference = 8B403166A345266D3CE982BC0C899388 /* RxSwift.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -2097,6 +2735,7 @@ IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MODULEMAP_FILE = "Target Support Files/RxSwift/RxSwift.modulemap"; + PRODUCT_MODULE_NAME = RxSwift; PRODUCT_NAME = RxSwift; SDKROOT = iphoneos; SKIP_INSTALL = YES; @@ -2109,9 +2748,9 @@ }; name = Debug; }; - 45585561980DEFD6BF2E5642F4B013CC /* Release */ = { + B2811BC88817D2A44B2C734B2F2158D3 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 8A5D64D4CB3970CC41325C63068D3385 /* Japx.xcconfig */; + baseConfigurationReference = 8A2444B02EB560BE6707A9FE05D68638 /* Japx.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -2128,6 +2767,7 @@ IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MODULEMAP_FILE = "Target Support Files/Japx/Japx.modulemap"; + PRODUCT_MODULE_NAME = Japx; PRODUCT_NAME = Japx; SDKROOT = iphoneos; SKIP_INSTALL = YES; @@ -2141,10 +2781,11 @@ }; name = Release; }; - 506EA8A4768BC99B57A4976051F8067C /* Debug */ = { + B6824639424E8135DFC9D56F2EED58F5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = BC8579CD4DEBFFDA2F9F65CFF2A94E5C /* Quick.xcconfig */; + baseConfigurationReference = E4A3DB01D1C529B514BD50B1A41D865A /* Pods-Japx_Tests.release.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -2154,13 +2795,48 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Quick/Quick-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Quick/Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-Japx_Tests/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-Japx_Tests/Pods-Japx_Tests.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + C1E2716332197374B72F76FCF7329F94 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 8E87A4BFD2AFEE1A83C1E1A655594120 /* Nimble.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/Nimble/Nimble-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Nimble/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Quick/Quick.modulemap"; - PRODUCT_NAME = Quick; + MODULEMAP_FILE = "Target Support Files/Nimble/Nimble.modulemap"; + PRODUCT_MODULE_NAME = Nimble; + PRODUCT_NAME = Nimble; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -2172,9 +2848,9 @@ }; name = Debug; }; - 6C83D5C01F98287DED387881DF0C9AC8 /* Debug */ = { + EA0ADC75B20BB62958101306980460E6 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 8A5D64D4CB3970CC41325C63068D3385 /* Japx.xcconfig */; + baseConfigurationReference = D948D49CCC5D651B2EF39CD405D82404 /* Alamofire.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -2185,13 +2861,14 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Japx/Japx-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Japx/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/Alamofire/Alamofire-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Alamofire/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Japx/Japx.modulemap"; - PRODUCT_NAME = Japx; + MODULEMAP_FILE = "Target Support Files/Alamofire/Alamofire.modulemap"; + PRODUCT_MODULE_NAME = Alamofire; + PRODUCT_NAME = Alamofire; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -2203,66 +2880,9 @@ }; name = Debug; }; - 6F9224530522DD3C735EC96CF142642E /* Release */ = { + EAC48239E9330EDBCD10F95C7B933FA7 /* Release */ = { isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGNING_REQUIRED = NO; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_PREPROCESSOR_DEFINITIONS = ( - "POD_CONFIGURATION_RELEASE=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/; - STRIP_INSTALLED_PRODUCT = NO; - SYMROOT = "${SRCROOT}/../build"; - }; - name = Release; - }; - 766BD7A5177C94D8C764C35A357CECB4 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 3A112C0B91CEF1630FE54DCA13FC3788 /* Nimble.xcconfig */; + baseConfigurationReference = A547C52AC0E4019AE3E28F22998F7EED /* Quick.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -2273,27 +2893,29 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Nimble/Nimble-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Nimble/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/Quick/Quick-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Quick/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Nimble/Nimble.modulemap"; - PRODUCT_NAME = Nimble; + MODULEMAP_FILE = "Target Support Files/Quick/Quick.modulemap"; + PRODUCT_MODULE_NAME = Quick; + PRODUCT_NAME = Quick; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - B0F5F1530D3F4E518BE2B1A52F98487A /* Debug */ = { + EDBBF358A83E7CE3438551D65C910FD2 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = FE87FBA426E98B9D6160B92493FD3ABB /* Alamofire.xcconfig */; + baseConfigurationReference = A547C52AC0E4019AE3E28F22998F7EED /* Quick.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -2304,13 +2926,14 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Alamofire/Alamofire-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Alamofire/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/Quick/Quick-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Quick/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Alamofire/Alamofire.modulemap"; - PRODUCT_NAME = Alamofire; + MODULEMAP_FILE = "Target Support Files/Quick/Quick.modulemap"; + PRODUCT_MODULE_NAME = Quick; + PRODUCT_NAME = Quick; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -2322,9 +2945,9 @@ }; name = Debug; }; - B353159687E7DC03CBA528A884483AC8 /* Release */ = { + F6C7FD1CB95173996EB13527E4F19689 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = BC8579CD4DEBFFDA2F9F65CFF2A94E5C /* Quick.xcconfig */; + baseConfigurationReference = 8E87A4BFD2AFEE1A83C1E1A655594120 /* Nimble.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -2335,13 +2958,14 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Quick/Quick-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Quick/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/Nimble/Nimble-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Nimble/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Quick/Quick.modulemap"; - PRODUCT_NAME = Quick; + MODULEMAP_FILE = "Target Support Files/Nimble/Nimble.modulemap"; + PRODUCT_MODULE_NAME = Nimble; + PRODUCT_NAME = Nimble; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -2354,7 +2978,7 @@ }; name = Release; }; - B57951D085A1B98A97F8A1062A5E5C5B /* Debug */ = { + FDB2FC4A1E5891381CD9D922145497F1 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; @@ -2364,6 +2988,7 @@ CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_COMMA = YES; @@ -2385,18 +3010,16 @@ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGNING_ALLOWED = NO; CODE_SIGNING_REQUIRED = NO; COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( - "POD_CONFIGURATION_DEBUG=1", - "DEBUG=1", + "POD_CONFIGURATION_RELEASE=1", "$(inherited)", ); GCC_WARN_64_TO_32_BIT_CONVERSION = YES; @@ -2406,153 +3029,102 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; + MTL_ENABLE_DEBUG_INFO = NO; PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/; STRIP_INSTALLED_PRODUCT = NO; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SYMROOT = "${SRCROOT}/../build"; }; - name = Debug; - }; - B8CA02655A4B738D82484691EE8CA58F /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = FE87FBA426E98B9D6160B92493FD3ABB /* Alamofire.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Alamofire/Alamofire-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Alamofire/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Alamofire/Alamofire.modulemap"; - PRODUCT_NAME = Alamofire; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 4.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - D4FD2ADD8BA40BB5F6118198CDF5FAA7 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = FCE705319C1314307DFFF400D6A0A6B8 /* Pods-Japx_Example.release.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-Japx_Example/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-Japx_Example/Pods-Japx_Example.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = Pods_Japx_Example; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; name = Release; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 1EDF9C288289258B80092202FCC15321 /* Build configuration list for PBXNativeTarget "RxSwift" */ = { + 1A17163FFA4E337103DB3B47E917502E /* Build configuration list for PBXNativeTarget "Quick" */ = { isa = XCConfigurationList; buildConfigurations = ( - 44A70BDC0B16D6445AE1D6A8C6E8521F /* Debug */, - 2ED15D544250CB967256268FE4942D9D /* Release */, + EDBBF358A83E7CE3438551D65C910FD2 /* Debug */, + EAC48239E9330EDBCD10F95C7B933FA7 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 201F21790E8344178FFCB3A96E3DF55D /* Build configuration list for PBXNativeTarget "Pods-Japx_Tests" */ = { + 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = { isa = XCConfigurationList; buildConfigurations = ( - 2BABDCD0233BEEED231BD7CB2218919E /* Debug */, - 0705E44F872FB39719352635C9C72F7B /* Release */, + 199D972A13F2B4C56847F7A89CCA83BC /* Debug */, + FDB2FC4A1E5891381CD9D922145497F1 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = { + 419E5D95491847CD79841B971A8A3277 /* Build configuration list for PBXNativeTarget "Alamofire" */ = { isa = XCConfigurationList; buildConfigurations = ( - B57951D085A1B98A97F8A1062A5E5C5B /* Debug */, - 6F9224530522DD3C735EC96CF142642E /* Release */, + EA0ADC75B20BB62958101306980460E6 /* Debug */, + A18C9CC7E37563F2891E7DC87F2DE6CE /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 419E5D95491847CD79841B971A8A3277 /* Build configuration list for PBXNativeTarget "Alamofire" */ = { + 439502BDB29394EE0D69336E69C8494C /* Build configuration list for PBXNativeTarget "Nimble" */ = { isa = XCConfigurationList; buildConfigurations = ( - B0F5F1530D3F4E518BE2B1A52F98487A /* Debug */, - B8CA02655A4B738D82484691EE8CA58F /* Release */, + C1E2716332197374B72F76FCF7329F94 /* Debug */, + F6C7FD1CB95173996EB13527E4F19689 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 439502BDB29394EE0D69336E69C8494C /* Build configuration list for PBXNativeTarget "Nimble" */ = { + 78B21A5B618E6C3260D66FBE1307B266 /* Build configuration list for PBXNativeTarget "Pods-Japx_Tests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 8F468091BB7B3F058E4D36654581E279 /* Debug */, + B6824639424E8135DFC9D56F2EED58F5 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + A4247876EEBF907F07A78159266D1254 /* Build configuration list for PBXNativeTarget "Result" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 2C8A8AACC83E751DFA4AFE7E186ACC44 /* Debug */, + 3137C887BCC5AECCA95B5494F3A654D2 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + A7330123374EE7274D9689536B3704A2 /* Build configuration list for PBXNativeTarget "Moya" */ = { isa = XCConfigurationList; buildConfigurations = ( - 766BD7A5177C94D8C764C35A357CECB4 /* Debug */, - 1B230D4A47175B0A5ED63DEFA20FCB16 /* Release */, + 6B1A66B788A018C8D2259D877A6563A6 /* Debug */, + 66A370BEA3B463C23EB2745F162EFEB4 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 47D11CE2D6925F931475A4301D62484C /* Build configuration list for PBXNativeTarget "Japx" */ = { + E8D94844E1E611368C574D68A97E13CB /* Build configuration list for PBXNativeTarget "Pods-Japx_Example" */ = { isa = XCConfigurationList; buildConfigurations = ( - 6C83D5C01F98287DED387881DF0C9AC8 /* Debug */, - 45585561980DEFD6BF2E5642F4B013CC /* Release */, + 11604CDC82C911DEC11544CAFFF362C9 /* Debug */, + 4B80666F7A1514CCBE25E28DB9220823 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 640A2A37BA265B0698310CFD458026EA /* Build configuration list for PBXNativeTarget "Pods-Japx_Example" */ = { + F4692DDAA1D6F00D66078A5C4388576C /* Build configuration list for PBXNativeTarget "Japx" */ = { isa = XCConfigurationList; buildConfigurations = ( - 22A028AA7EA728692614BF62B27722ED /* Debug */, - D4FD2ADD8BA40BB5F6118198CDF5FAA7 /* Release */, + 1C0821796442366BC258C494FF3B0052 /* Debug */, + B2811BC88817D2A44B2C734B2F2158D3 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - A28DA15E8C8D54743484CE3804F12CA2 /* Build configuration list for PBXNativeTarget "Quick" */ = { + FE29677B97AADF2C3A731E2A87D246F2 /* Build configuration list for PBXNativeTarget "RxSwift" */ = { isa = XCConfigurationList; buildConfigurations = ( - 506EA8A4768BC99B57A4976051F8067C /* Debug */, - B353159687E7DC03CBA528A884483AC8 /* Release */, + AB025102EEABE3FE38A5E4FCC0354EE2 /* Debug */, + 3FACCF0B72742F99D0D2CB12218486F1 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/Example/Pods/Result/LICENSE b/Example/Pods/Result/LICENSE new file mode 100644 index 0000000..3026ee1 --- /dev/null +++ b/Example/Pods/Result/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 Rob Rix + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/Example/Pods/Result/README.md b/Example/Pods/Result/README.md new file mode 100644 index 0000000..7343ade --- /dev/null +++ b/Example/Pods/Result/README.md @@ -0,0 +1,113 @@ +# Result + +[![Build Status](https://travis-ci.org/antitypical/Result.svg?branch=master)](https://travis-ci.org/antitypical/Result) +[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) +[![CocoaPods](https://img.shields.io/cocoapods/v/Result.svg)](https://cocoapods.org/) +[![Reference Status](https://www.versioneye.com/objective-c/result/reference_badge.svg?style=flat)](https://www.versioneye.com/objective-c/result/references) + +This is a Swift µframework providing `Result`. + +`Result` values are either successful (wrapping `Value`) or failed (wrapping `Error`). This is similar to Swift’s native `Optional` type: `success` is like `some`, and `failure` is like `none` except with an associated `Error` value. The addition of an associated `Error` allows errors to be passed along for logging or displaying to the user. + +Using this µframework instead of rolling your own `Result` type allows you to easily interface with other frameworks that also use `Result`. + +## Use + +Use `Result` whenever an operation has the possibility of failure. Consider the following example of a function that tries to extract a `String` for a given key from a JSON `Dictionary`. + +```swift +typealias JSONObject = [String: Any] + +enum JSONError: Error { + case noSuchKey(String) + case typeMismatch +} + +func stringForKey(json: JSONObject, key: String) -> Result { + guard let value = json[key] else { + return .failure(.noSuchKey(key)) + } + + if let value = value as? String { + return .success(value) + } + else { + return .failure(.typeMismatch) + } +} +``` + +This function provides a more robust wrapper around the default subscripting provided by `Dictionary`. Rather than return `Any?`, it returns a `Result` that either contains the `String` value for the given key, or an `ErrorType` detailing what went wrong. + +One simple way to handle a `Result` is to deconstruct it using a `switch` statement. + +```swift +switch stringForKey(json, key: "email") { + +case let .success(email): + print("The email is \(email)") + +case let .failure(.noSuchKey(key)): + print("\(key) is not a valid key") + +case .failure(.typeMismatch): + print("Didn't have the right type") +} +``` + +Using a `switch` statement allows powerful pattern matching, and ensures all possible results are covered. Swift 2.0 offers new ways to deconstruct enums like the `if-case` statement, but be wary as such methods do not ensure errors are handled. + +Other methods available for processing `Result` are detailed in the [API documentation](http://cocoadocs.org/docsets/Result/). + +## Result vs. Throws + +Swift 2.0 introduces error handling via throwing and catching `Error`. `Result` accomplishes the same goal by encapsulating the result instead of hijacking control flow. The `Result` abstraction enables powerful functionality such as `map` and `flatMap`, making `Result` more composable than `throw`. + +Since dealing with APIs that throw is common, you can convert such functions into a `Result` by using the `materialize` method. Conversely, a `Result` can be used to throw an error by calling `dematerialize`. + +## Higher Order Functions + +`map` and `flatMap` operate the same as `Optional.map` and `Optional.flatMap` except they apply to `Result`. + +`map` transforms a `Result` into a `Result` of a new type. It does this by taking a function that transforms the `Value` type into a new value. This transformation is only applied in the case of a `success`. In the case of a `failure`, the associated error is re-wrapped in the new `Result`. + +```swift +// transforms a Result to a Result +let idResult = intForKey(json, key:"id").map { id in String(id) } +``` + +Here, the final result is either the id as a `String`, or carries over the `failure` from the previous result. + +`flatMap` is similar to `map` in that in transforms the `Result` into another `Result`. However, the function passed into `flatMap` must return a `Result`. + +An in depth discussion of `map` and `flatMap` is beyond the scope of this documentation. If you would like a deeper understanding, read about functors and monads. This article is a good place to [start](http://www.javiersoto.me/post/106875422394). + +## Integration + +### Carthage + +1. Add this repository as a submodule and/or [add it to your Cartfile](https://github.com/Carthage/Carthage/blob/master/Documentation/Artifacts.md#cartfile) if you’re using [carthage](https://github.com/Carthage/Carthage/) to manage your dependencies. +2. Drag `Result.xcodeproj` into your project or workspace. +3. Link your target against `Result.framework`. +4. Application targets should ensure that the framework gets copied into their application bundle. (Framework targets should instead require the application linking them to include Result.) + +### Cocoapods + +```ruby +pod 'Result', '~> 3.0.0' +``` + +### Swift Package Manager + +```swift +import PackageDescription + +let package = Package( + name: "MyProject", + targets: [], + dependencies: [ + .Package(url: "https://github.com/antitypical/Result.git", + majorVersion: 3) + ] +) +``` diff --git a/Example/Pods/Result/Result/Result.swift b/Example/Pods/Result/Result/Result.swift new file mode 100644 index 0000000..c92524d --- /dev/null +++ b/Example/Pods/Result/Result/Result.swift @@ -0,0 +1,276 @@ +// Copyright (c) 2015 Rob Rix. All rights reserved. + +/// An enum representing either a failure with an explanatory error, or a success with a result value. +public enum Result: ResultProtocol, CustomStringConvertible, CustomDebugStringConvertible { + case success(T) + case failure(Error) + + // MARK: Constructors + + /// Constructs a success wrapping a `value`. + public init(value: T) { + self = .success(value) + } + + /// Constructs a failure wrapping an `error`. + public init(error: Error) { + self = .failure(error) + } + + /// Constructs a result from an `Optional`, failing with `Error` if `nil`. + public init(_ value: T?, failWith: @autoclosure () -> Error) { + self = value.map(Result.success) ?? .failure(failWith()) + } + + /// Constructs a result from a function that uses `throw`, failing with `Error` if throws. + public init(_ f: @autoclosure () throws -> T) { + self.init(attempt: f) + } + + /// Constructs a result from a function that uses `throw`, failing with `Error` if throws. + public init(attempt f: () throws -> T) { + do { + self = .success(try f()) + } catch var error { + if Error.self == AnyError.self { + error = AnyError(error) + } + self = .failure(error as! Error) + } + } + + // MARK: Deconstruction + + /// Returns the value from `success` Results or `throw`s the error. + public func dematerialize() throws -> T { + switch self { + case let .success(value): + return value + case let .failure(error): + throw error + } + } + + /// Case analysis for Result. + /// + /// Returns the value produced by applying `ifFailure` to `failure` Results, or `ifSuccess` to `success` Results. + public func analysis(ifSuccess: (T) -> Result, ifFailure: (Error) -> Result) -> Result { + switch self { + case let .success(value): + return ifSuccess(value) + case let .failure(value): + return ifFailure(value) + } + } + + // MARK: Errors + + /// The domain for errors constructed by Result. + public static var errorDomain: String { return "com.antitypical.Result" } + + /// The userInfo key for source functions in errors constructed by Result. + public static var functionKey: String { return "\(errorDomain).function" } + + /// The userInfo key for source file paths in errors constructed by Result. + public static var fileKey: String { return "\(errorDomain).file" } + + /// The userInfo key for source file line numbers in errors constructed by Result. + public static var lineKey: String { return "\(errorDomain).line" } + + /// Constructs an error. + public static func error(_ message: String? = nil, function: String = #function, file: String = #file, line: Int = #line) -> NSError { + var userInfo: [String: Any] = [ + functionKey: function, + fileKey: file, + lineKey: line, + ] + + if let message = message { + userInfo[NSLocalizedDescriptionKey] = message + } + + return NSError(domain: errorDomain, code: 0, userInfo: userInfo) + } + + + // MARK: CustomStringConvertible + + public var description: String { + return analysis( + ifSuccess: { ".success(\($0))" }, + ifFailure: { ".failure(\($0))" }) + } + + + // MARK: CustomDebugStringConvertible + + public var debugDescription: String { + return description + } +} + +// MARK: - Derive result from failable closure + +public func materialize(_ f: () throws -> T) -> Result { + return materialize(try f()) +} + +public func materialize(_ f: @autoclosure () throws -> T) -> Result { + do { + return .success(try f()) + } catch { + return .failure(AnyError(error)) + } +} + +@available(*, deprecated, message: "Use the overload which returns `Result` instead") +public func materialize(_ f: () throws -> T) -> Result { + return materialize(try f()) +} + +@available(*, deprecated, message: "Use the overload which returns `Result` instead") +public func materialize(_ f: @autoclosure () throws -> T) -> Result { + do { + return .success(try f()) + } catch { +// This isn't great, but it lets us maintain compatibility until this deprecated +// method can be removed. +#if _runtime(_ObjC) + return .failure(error as NSError) +#else + // https://github.com/apple/swift-corelibs-foundation/blob/swift-3.0.2-RELEASE/Foundation/NSError.swift#L314 + let userInfo = _swift_Foundation_getErrorDefaultUserInfo(error) as? [String: Any] + let nsError = NSError(domain: error._domain, code: error._code, userInfo: userInfo) + return .failure(nsError) +#endif + } +} + +// MARK: - Cocoa API conveniences + +#if !os(Linux) + +/// Constructs a `Result` with the result of calling `try` with an error pointer. +/// +/// This is convenient for wrapping Cocoa API which returns an object or `nil` + an error, by reference. e.g.: +/// +/// Result.try { NSData(contentsOfURL: URL, options: .dataReadingMapped, error: $0) } +@available(*, deprecated, message: "This will be removed in Result 4.0. Use `Result.init(attempt:)` instead. See https://github.com/antitypical/Result/issues/85 for the details.") +public func `try`(_ function: String = #function, file: String = #file, line: Int = #line, `try`: (NSErrorPointer) -> T?) -> Result { + var error: NSError? + return `try`(&error).map(Result.success) ?? .failure(error ?? Result.error(function: function, file: file, line: line)) +} + +/// Constructs a `Result` with the result of calling `try` with an error pointer. +/// +/// This is convenient for wrapping Cocoa API which returns a `Bool` + an error, by reference. e.g.: +/// +/// Result.try { NSFileManager.defaultManager().removeItemAtURL(URL, error: $0) } +@available(*, deprecated, message: "This will be removed in Result 4.0. Use `Result.init(attempt:)` instead. See https://github.com/antitypical/Result/issues/85 for the details.") +public func `try`(_ function: String = #function, file: String = #file, line: Int = #line, `try`: (NSErrorPointer) -> Bool) -> Result<(), NSError> { + var error: NSError? + return `try`(&error) ? + .success(()) + : .failure(error ?? Result<(), NSError>.error(function: function, file: file, line: line)) +} + +#endif + +// MARK: - ErrorConvertible conformance + +extension NSError: ErrorConvertible { + public static func error(from error: Swift.Error) -> Self { + func cast(_ error: Swift.Error) -> T { + return error as! T + } + + return cast(error) + } +} + +// MARK: - Errors + +/// An “error” that is impossible to construct. +/// +/// This can be used to describe `Result`s where failures will never +/// be generated. For example, `Result` describes a result that +/// contains an `Int`eger and is guaranteed never to be a `failure`. +public enum NoError: Swift.Error, Equatable { + public static func ==(lhs: NoError, rhs: NoError) -> Bool { + return true + } +} + +/// A type-erased error which wraps an arbitrary error instance. This should be +/// useful for generic contexts. +public struct AnyError: Swift.Error { + /// The underlying error. + public let error: Swift.Error + + public init(_ error: Swift.Error) { + if let anyError = error as? AnyError { + self = anyError + } else { + self.error = error + } + } +} + +extension AnyError: ErrorConvertible { + public static func error(from error: Error) -> AnyError { + return AnyError(error) + } +} + +extension AnyError: CustomStringConvertible { + public var description: String { + return String(describing: error) + } +} + +// There appears to be a bug in Foundation on Linux which prevents this from working: +// https://bugs.swift.org/browse/SR-3565 +// Don't forget to comment the tests back in when removing this check when it's fixed! +#if !os(Linux) + +extension AnyError: LocalizedError { + public var errorDescription: String? { + return error.localizedDescription + } + + public var failureReason: String? { + return (error as? LocalizedError)?.failureReason + } + + public var helpAnchor: String? { + return (error as? LocalizedError)?.helpAnchor + } + + public var recoverySuggestion: String? { + return (error as? LocalizedError)?.recoverySuggestion + } +} + +#endif + +// MARK: - migration support +extension Result { + @available(*, unavailable, renamed: "success") + public static func Success(_: T) -> Result { + fatalError() + } + + @available(*, unavailable, renamed: "failure") + public static func Failure(_: Error) -> Result { + fatalError() + } +} + +extension NSError { + @available(*, unavailable, renamed: "error(from:)") + public static func errorFromErrorType(_ error: Swift.Error) -> Self { + fatalError() + } +} + +import Foundation diff --git a/Example/Pods/Result/Result/ResultProtocol.swift b/Example/Pods/Result/Result/ResultProtocol.swift new file mode 100644 index 0000000..678f294 --- /dev/null +++ b/Example/Pods/Result/Result/ResultProtocol.swift @@ -0,0 +1,203 @@ +// Copyright (c) 2015 Rob Rix. All rights reserved. + +/// A type that can represent either failure with an error or success with a result value. +public protocol ResultProtocol { + associatedtype Value + associatedtype Error: Swift.Error + + /// Constructs a successful result wrapping a `value`. + init(value: Value) + + /// Constructs a failed result wrapping an `error`. + init(error: Error) + + /// Case analysis for ResultProtocol. + /// + /// Returns the value produced by appliying `ifFailure` to the error if self represents a failure, or `ifSuccess` to the result value if self represents a success. + func analysis(ifSuccess: (Value) -> U, ifFailure: (Error) -> U) -> U + + /// Returns the value if self represents a success, `nil` otherwise. + /// + /// A default implementation is provided by a protocol extension. Conforming types may specialize it. + var value: Value? { get } + + /// Returns the error if self represents a failure, `nil` otherwise. + /// + /// A default implementation is provided by a protocol extension. Conforming types may specialize it. + var error: Error? { get } +} + +public extension ResultProtocol { + + /// Returns the value if self represents a success, `nil` otherwise. + public var value: Value? { + return analysis(ifSuccess: { $0 }, ifFailure: { _ in nil }) + } + + /// Returns the error if self represents a failure, `nil` otherwise. + public var error: Error? { + return analysis(ifSuccess: { _ in nil }, ifFailure: { $0 }) + } + + /// Returns a new Result by mapping `Success`es’ values using `transform`, or re-wrapping `Failure`s’ errors. + public func map(_ transform: (Value) -> U) -> Result { + return flatMap { .success(transform($0)) } + } + + /// Returns the result of applying `transform` to `Success`es’ values, or re-wrapping `Failure`’s errors. + public func flatMap(_ transform: (Value) -> Result) -> Result { + return analysis( + ifSuccess: transform, + ifFailure: Result.failure) + } + + /// Returns a Result with a tuple of the receiver and `other` values if both + /// are `Success`es, or re-wrapping the error of the earlier `Failure`. + public func fanout(_ other: @autoclosure () -> R) -> Result<(Value, R.Value), Error> + where Error == R.Error + { + return self.flatMap { left in other().map { right in (left, right) } } + } + + /// Returns a new Result by mapping `Failure`'s values using `transform`, or re-wrapping `Success`es’ values. + public func mapError(_ transform: (Error) -> Error2) -> Result { + return flatMapError { .failure(transform($0)) } + } + + /// Returns the result of applying `transform` to `Failure`’s errors, or re-wrapping `Success`es’ values. + public func flatMapError(_ transform: (Error) -> Result) -> Result { + return analysis( + ifSuccess: Result.success, + ifFailure: transform) + } + + /// Returns a new Result by mapping `Success`es’ values using `success`, and by mapping `Failure`'s values using `failure`. + public func bimap(success: (Value) -> U, failure: (Error) -> Error2) -> Result { + return analysis( + ifSuccess: { .success(success($0)) }, + ifFailure: { .failure(failure($0)) } + ) + } +} + +public extension ResultProtocol { + + // MARK: Higher-order functions + + /// Returns `self.value` if this result is a .Success, or the given value otherwise. Equivalent with `??` + public func recover(_ value: @autoclosure () -> Value) -> Value { + return self.value ?? value() + } + + /// Returns this result if it is a .Success, or the given result otherwise. Equivalent with `??` + public func recover(with result: @autoclosure () -> Self) -> Self { + return analysis( + ifSuccess: { _ in self }, + ifFailure: { _ in result() }) + } +} + +/// Protocol used to constrain `tryMap` to `Result`s with compatible `Error`s. +public protocol ErrorConvertible: Swift.Error { + static func error(from error: Swift.Error) -> Self +} + +public extension ResultProtocol where Error: ErrorConvertible { + + /// Returns the result of applying `transform` to `Success`es’ values, or wrapping thrown errors. + public func tryMap(_ transform: (Value) throws -> U) -> Result { + return flatMap { value in + do { + return .success(try transform(value)) + } + catch { + let convertedError = Error.error(from: error) + // Revisit this in a future version of Swift. https://twitter.com/jckarter/status/672931114944696321 + return .failure(convertedError) + } + } + } +} + +// MARK: - Operators + +infix operator &&& : LogicalConjunctionPrecedence + +/// Returns a Result with a tuple of `left` and `right` values if both are `Success`es, or re-wrapping the error of the earlier `Failure`. +@available(*, deprecated, renamed: "ResultProtocol.fanout(self:_:)") +public func &&& (left: L, right: @autoclosure () -> R) -> Result<(L.Value, R.Value), L.Error> + where L.Error == R.Error +{ + return left.fanout(right) +} + +precedencegroup ChainingPrecedence { + associativity: left + higherThan: TernaryPrecedence +} + +infix operator >>- : ChainingPrecedence + +/// Returns the result of applying `transform` to `Success`es’ values, or re-wrapping `Failure`’s errors. +/// +/// This is a synonym for `flatMap`. +@available(*, deprecated, renamed: "ResultProtocol.flatMap(self:_:)") +public func >>- (result: T, transform: (T.Value) -> Result) -> Result { + return result.flatMap(transform) +} + +/// Returns `true` if `left` and `right` are both `Success`es and their values are equal, or if `left` and `right` are both `Failure`s and their errors are equal. +public func == (left: T, right: T) -> Bool + where T.Value: Equatable, T.Error: Equatable +{ + if let left = left.value, let right = right.value { + return left == right + } else if let left = left.error, let right = right.error { + return left == right + } + return false +} + +/// Returns `true` if `left` and `right` represent different cases, or if they represent the same case but different values. +public func != (left: T, right: T) -> Bool + where T.Value: Equatable, T.Error: Equatable +{ + return !(left == right) +} + +/// Returns the value of `left` if it is a `Success`, or `right` otherwise. Short-circuits. +public func ?? (left: T, right: @autoclosure () -> T.Value) -> T.Value { + return left.recover(right()) +} + +/// Returns `left` if it is a `Success`es, or `right` otherwise. Short-circuits. +public func ?? (left: T, right: @autoclosure () -> T) -> T { + return left.recover(with: right()) +} + +// MARK: - migration support +@available(*, unavailable, renamed: "ResultProtocol") +public typealias ResultType = ResultProtocol + +@available(*, unavailable, renamed: "Error") +public typealias ResultErrorType = Swift.Error + +@available(*, unavailable, renamed: "ErrorConvertible") +public typealias ErrorTypeConvertible = ErrorConvertible + +@available(*, deprecated, renamed: "ErrorConvertible") +public protocol ErrorProtocolConvertible: ErrorConvertible {} + +extension ResultProtocol { + @available(*, unavailable, renamed: "recover(with:)") + public func recoverWith(_ result: @autoclosure () -> Self) -> Self { + fatalError() + } +} + +extension ErrorConvertible { + @available(*, unavailable, renamed: "error(from:)") + public static func errorFromErrorType(_ error: Swift.Error) -> Self { + fatalError() + } +} diff --git a/Example/Pods/RxSwift/Platform/DataStructures/Bag.swift b/Example/Pods/RxSwift/Platform/DataStructures/Bag.swift index 002c3a6..22d82d5 100644 --- a/Example/Pods/RxSwift/Platform/DataStructures/Bag.swift +++ b/Example/Pods/RxSwift/Platform/DataStructures/Bag.swift @@ -25,7 +25,7 @@ Data structure that represents a bag of elements typed `T`. Single element can be stored multiple times. -Time and space complexity of insertion an deletion is O(n). +Time and space complexity of insertion and deletion is O(n). It is suitable for storing small number of elements. */ diff --git a/Example/Pods/RxSwift/README.md b/Example/Pods/RxSwift/README.md index a423675..f7952f5 100644 --- a/Example/Pods/RxSwift/README.md +++ b/Example/Pods/RxSwift/README.md @@ -41,7 +41,7 @@ KVO observing, async operations and streams are all unified under [abstraction o ###### ... interact -* All of this is great, but it would be nice to talk with other people using RxSwift and exchange experiences.
[![Slack channel](http://rxswift-slack.herokuapp.com/badge.svg)](http://bit.ly/rxslack) [Join Slack Channel](http://bit.ly/rxslack) +* All of this is great, but it would be nice to talk with other people using RxSwift and exchange experiences.
[![Slack channel](http://rxswift-slack.herokuapp.com/badge.svg)](http://slack.rxswift.org) [Join Slack Channel](http://slack.rxswift.org) * Report a problem using the library. [Open an Issue With Bug Template](.github/ISSUE_TEMPLATE.md) * Request a new feature. [Open an Issue With Feature Request Template](Documentation/NewFeatureRequestTemplate.md) * Help out [Check out contribution guide](CONTRIBUTING.md) @@ -132,7 +132,7 @@ target 'YOUR_TARGET_NAME' do pod 'RxCocoa', '~> 4.0' end -# RxTests and RxBlocking make the most sense in the context of unit/integration tests +# RxTest and RxBlocking make the most sense in the context of unit/integration tests target 'YOUR_TESTING_TARGET' do pod 'RxBlocking', '~> 4.0' pod 'RxTest', '~> 4.0' diff --git a/Example/Pods/RxSwift/RxSwift/Deprecated.swift b/Example/Pods/RxSwift/RxSwift/Deprecated.swift index cc673c7..0337d82 100644 --- a/Example/Pods/RxSwift/RxSwift/Deprecated.swift +++ b/Example/Pods/RxSwift/RxSwift/Deprecated.swift @@ -26,7 +26,7 @@ extension Observable { - seealso: [from operator on reactivex.io](http://reactivex.io/documentation/operators/from.html) - parameter optional: Optional element in the resulting observable sequence. - - parameter: Scheduler to send the optional element on. + - parameter scheduler: Scheduler to send the optional element on. - returns: An observable sequence containing the wrapped value or not from given optional. */ @available(*, deprecated, message: "Implicit conversions from any type to optional type are allowed and that is causing issues with `from` operator overloading.", renamed: "from(optional:scheduler:)") diff --git a/Example/Pods/RxSwift/RxSwift/Disposable.swift b/Example/Pods/RxSwift/RxSwift/Disposable.swift index 0ff067c..b79c77a 100644 --- a/Example/Pods/RxSwift/RxSwift/Disposable.swift +++ b/Example/Pods/RxSwift/RxSwift/Disposable.swift @@ -6,7 +6,7 @@ // Copyright © 2015 Krunoslav Zaher. All rights reserved. // -/// Respresents a disposable resource. +/// Represents a disposable resource. public protocol Disposable { /// Dispose resource. func dispose() diff --git a/Example/Pods/RxSwift/RxSwift/Observables/Delay.swift b/Example/Pods/RxSwift/RxSwift/Observables/Delay.swift index b13ee9c..13955a3 100644 --- a/Example/Pods/RxSwift/RxSwift/Observables/Delay.swift +++ b/Example/Pods/RxSwift/RxSwift/Observables/Delay.swift @@ -80,13 +80,13 @@ final fileprivate class DelaySink _lock.lock() // { let errorEvent = _errorEvent - let eventToForwardImmediatelly = ranAtLeastOnce ? nil : _queue.dequeue()?.event + let eventToForwardImmediately = ranAtLeastOnce ? nil : _queue.dequeue()?.event let nextEventToScheduleOriginalTime: Date? = ranAtLeastOnce && !_queue.isEmpty ? _queue.peek().eventTime : nil if let _ = errorEvent { } else { - if let _ = eventToForwardImmediatelly { + if let _ = eventToForwardImmediately { } else if let _ = nextEventToScheduleOriginalTime { _running = false @@ -104,10 +104,10 @@ final fileprivate class DelaySink return } else { - if let eventToForwardImmediatelly = eventToForwardImmediatelly { + if let eventToForwardImmediately = eventToForwardImmediately { ranAtLeastOnce = true - self.forwardOn(eventToForwardImmediatelly) - if case .completed = eventToForwardImmediatelly { + self.forwardOn(eventToForwardImmediately) + if case .completed = eventToForwardImmediately { self.dispose() return } @@ -134,12 +134,12 @@ final fileprivate class DelaySink switch event { case .error(_): _lock.lock() // { - let shouldSendImmediatelly = !_running + let shouldSendImmediately = !_running _queue = Queue(capacity: 0) _errorEvent = event _lock.unlock() // } - if shouldSendImmediatelly { + if shouldSendImmediately { forwardOn(event) dispose() } diff --git a/Example/Pods/RxSwift/RxSwift/Observables/Filter.swift b/Example/Pods/RxSwift/RxSwift/Observables/Filter.swift index 2a1f496..05dc8a4 100644 --- a/Example/Pods/RxSwift/RxSwift/Observables/Filter.swift +++ b/Example/Pods/RxSwift/RxSwift/Observables/Filter.swift @@ -25,7 +25,7 @@ extension ObservableType { extension ObservableType { /** - Skips elements and completes (or errors) when the receiver completes (or errors). Equivalent to filter that always returns false. + Skips elements and completes (or errors) when the observable sequence completes (or errors). Equivalent to filter that always returns false. - seealso: [ignoreElements operator on reactivex.io](http://reactivex.io/documentation/operators/ignoreelements.html) diff --git a/Example/Pods/RxSwift/RxSwift/Observables/Just.swift b/Example/Pods/RxSwift/RxSwift/Observables/Just.swift index 443cdaa..4e49059 100644 --- a/Example/Pods/RxSwift/RxSwift/Observables/Just.swift +++ b/Example/Pods/RxSwift/RxSwift/Observables/Just.swift @@ -25,7 +25,7 @@ extension ObservableType { - seealso: [just operator on reactivex.io](http://reactivex.io/documentation/operators/just.html) - parameter element: Single element in the resulting observable sequence. - - parameter: Scheduler to send the single element on. + - parameter scheduler: Scheduler to send the single element on. - returns: An observable sequence containing the single specified element. */ public static func just(_ element: E, scheduler: ImmediateSchedulerType) -> Observable { diff --git a/Example/Pods/RxSwift/RxSwift/Observables/Merge.swift b/Example/Pods/RxSwift/RxSwift/Observables/Merge.swift index 7ba17dd..b2f9a0d 100644 --- a/Example/Pods/RxSwift/RxSwift/Observables/Merge.swift +++ b/Example/Pods/RxSwift/RxSwift/Observables/Merge.swift @@ -225,8 +225,6 @@ fileprivate class MergeLimitedSink Observable { diff --git a/Example/Pods/RxSwift/RxSwift/Observables/ShareReplayScope.swift b/Example/Pods/RxSwift/RxSwift/Observables/ShareReplayScope.swift index 8ba2898..5af102f 100644 --- a/Example/Pods/RxSwift/RxSwift/Observables/ShareReplayScope.swift +++ b/Example/Pods/RxSwift/RxSwift/Observables/ShareReplayScope.swift @@ -77,7 +77,7 @@ public enum SubjectLifetimeScope { continue holding a reference to the same subject. If at some later moment a new observer initiates a new connection to source it can potentially receive some of the stale events received during previous connection. - * After source sequence terminates any new observer will always immediatelly receive replayed elements and terminal event. + * After source sequence terminates any new observer will always immediately receive replayed elements and terminal event. No new subscriptions to source observable sequence will be attempted. ``` diff --git a/Example/Pods/RxSwift/RxSwift/Rx.swift b/Example/Pods/RxSwift/RxSwift/Rx.swift index bbce79f..99292ca 100644 --- a/Example/Pods/RxSwift/RxSwift/Rx.swift +++ b/Example/Pods/RxSwift/RxSwift/Rx.swift @@ -71,7 +71,7 @@ func decrementChecked(_ i: inout Int) throws -> Int { final class SynchronizationTracker { private let _lock = RecursiveLock() - public enum SychronizationErrorMessages: String { + public enum SynchronizationErrorMessages: String { case variable = "Two different threads are trying to assign the same `Variable.value` unsynchronized.\n This is undefined behavior because the end result (variable value) is nondeterministic and depends on the \n operating system thread scheduler. This will cause random behavior of your program.\n" case `default` = "Two different unsynchronized threads are trying to send some event simultaneously.\n This is undefined behavior because the ordering of the effects caused by these events is nondeterministic and depends on the \n operating system thread scheduler. This will result in a random behavior of your program.\n" } @@ -86,7 +86,7 @@ func decrementChecked(_ i: inout Int) throws -> Int { #endif } - func register(synchronizationErrorMessage: SychronizationErrorMessages) { + func register(synchronizationErrorMessage: SynchronizationErrorMessages) { _lock.lock(); defer { _lock.unlock() } let pointer = Unmanaged.passUnretained(Thread.current).toOpaque() let count = (_threads[pointer] ?? 0) + 1 diff --git a/Example/Pods/RxSwift/RxSwift/Schedulers/CurrentThreadScheduler.swift b/Example/Pods/RxSwift/RxSwift/Schedulers/CurrentThreadScheduler.swift index 2fe822d..0676444 100644 --- a/Example/Pods/RxSwift/RxSwift/Schedulers/CurrentThreadScheduler.swift +++ b/Example/Pods/RxSwift/RxSwift/Schedulers/CurrentThreadScheduler.swift @@ -51,7 +51,11 @@ public class CurrentThreadScheduler : ImmediateSchedulerType { private static var isScheduleRequiredKey: pthread_key_t = { () -> pthread_key_t in let key = UnsafeMutablePointer.allocate(capacity: 1) defer { +#if swift(>=4.1) + key.deallocate() +#else key.deallocate(capacity: 1) +#endif } guard pthread_key_create(key, nil) == 0 else { diff --git a/Example/Pods/RxSwift/RxSwift/Schedulers/HistoricalSchedulerTimeConverter.swift b/Example/Pods/RxSwift/RxSwift/Schedulers/HistoricalSchedulerTimeConverter.swift index 3602d2d..930ca37 100644 --- a/Example/Pods/RxSwift/RxSwift/Schedulers/HistoricalSchedulerTimeConverter.swift +++ b/Example/Pods/RxSwift/RxSwift/Schedulers/HistoricalSchedulerTimeConverter.swift @@ -8,7 +8,7 @@ import struct Foundation.Date -/// Converts historial virtual time into real time. +/// Converts historical virtual time into real time. /// /// Since historical virtual time is also measured in `Date`, this converter is identity function. public struct HistoricalSchedulerTimeConverter : VirtualTimeConverterType { diff --git a/Example/Pods/RxSwift/RxSwift/Schedulers/VirtualTimeConverterType.swift b/Example/Pods/RxSwift/RxSwift/Schedulers/VirtualTimeConverterType.swift index b207836..a17475a 100644 --- a/Example/Pods/RxSwift/RxSwift/Schedulers/VirtualTimeConverterType.swift +++ b/Example/Pods/RxSwift/RxSwift/Schedulers/VirtualTimeConverterType.swift @@ -39,7 +39,7 @@ public protocol VirtualTimeConverterType { func convertFromVirtualTimeInterval(_ virtualTimeInterval: VirtualTimeIntervalUnit) -> RxTimeInterval /** - Converts from virtual time interval to `NSTimeInterval`. + Converts from `NSTimeInterval` to virtual time interval. - parameter timeInterval: `NSTimeInterval` to convert to virtual time interval. - returns: Virtual time interval corresponding to time interval. @@ -56,7 +56,7 @@ public protocol VirtualTimeConverterType { func offsetVirtualTime(_ time: VirtualTimeUnit, offset: VirtualTimeIntervalUnit) -> VirtualTimeUnit /** - This is aditional abstraction because `Date` is unfortunately not comparable. + This is additional abstraction because `Date` is unfortunately not comparable. Extending `Date` with `Comparable` would be too risky because of possible collisions with other libraries. */ func compareVirtualTime(_ lhs: VirtualTimeUnit, _ rhs: VirtualTimeUnit) -> VirtualTimeComparison @@ -65,7 +65,7 @@ public protocol VirtualTimeConverterType { /** Virtual time comparison result. - This is aditional abstraction because `Date` is unfortunately not comparable. + This is additional abstraction because `Date` is unfortunately not comparable. Extending `Date` with `Comparable` would be too risky because of possible collisions with other libraries. */ public enum VirtualTimeComparison { diff --git a/Example/Pods/RxSwift/RxSwift/Traits/Maybe.swift b/Example/Pods/RxSwift/RxSwift/Traits/Maybe.swift index 09340a6..ad5859e 100644 --- a/Example/Pods/RxSwift/RxSwift/Traits/Maybe.swift +++ b/Example/Pods/RxSwift/RxSwift/Traits/Maybe.swift @@ -130,7 +130,7 @@ public extension PrimitiveSequenceType where TraitType == MaybeTrait { - seealso: [just operator on reactivex.io](http://reactivex.io/documentation/operators/just.html) - parameter element: Single element in the resulting observable sequence. - - parameter: Scheduler to send the single element on. + - parameter scheduler: Scheduler to send the single element on. - returns: An observable sequence containing the single specified element. */ public static func just(_ element: ElementType, scheduler: ImmediateSchedulerType) -> Maybe { @@ -241,4 +241,53 @@ public extension PrimitiveSequenceType where TraitType == MaybeTrait { -> Maybe { return Maybe(raw: primitiveSequence.source.flatMap(selector)) } + + /** + Emits elements from the source observable sequence, or a default element if the source observable sequence is empty. + + - seealso: [DefaultIfEmpty operator on reactivex.io](http://reactivex.io/documentation/operators/defaultifempty.html) + + - parameter default: Default element to be sent if the source does not emit any elements + - returns: An observable sequence which emits default element end completes in case the original sequence is empty + */ + public func ifEmpty(default: ElementType) -> Single { + return Single(raw: primitiveSequence.source.ifEmpty(default: `default`)) + } + + /** + Returns the elements of the specified sequence or `switchTo` sequence if the sequence is empty. + + - seealso: [DefaultIfEmpty operator on reactivex.io](http://reactivex.io/documentation/operators/defaultifempty.html) + + - parameter switchTo: Observable sequence being returned when source sequence is empty. + - returns: Observable sequence that contains elements from switchTo sequence if source is empty, otherwise returns source sequence elements. + */ + public func ifEmpty(switchTo other: Maybe) -> Maybe { + return Maybe(raw: primitiveSequence.source.ifEmpty(switchTo: other.primitiveSequence.source)) + } + + /** + Returns the elements of the specified sequence or `switchTo` sequence if the sequence is empty. + + - seealso: [DefaultIfEmpty operator on reactivex.io](http://reactivex.io/documentation/operators/defaultifempty.html) + + - parameter switchTo: Observable sequence being returned when source sequence is empty. + - returns: Observable sequence that contains elements from switchTo sequence if source is empty, otherwise returns source sequence elements. + */ + public func ifEmpty(switchTo other: Single) -> Single { + return Single(raw: primitiveSequence.source.ifEmpty(switchTo: other.primitiveSequence.source)) + } + + /** + Continues an observable sequence that is terminated by an error with a single element. + + - seealso: [catch operator on reactivex.io](http://reactivex.io/documentation/operators/catch.html) + + - parameter element: Last element in an observable sequence in case error occurs. + - returns: An observable sequence containing the source sequence's elements, followed by the `element` in case an error occurred. + */ + public func catchErrorJustReturn(_ element: ElementType) + -> PrimitiveSequence { + return PrimitiveSequence(raw: primitiveSequence.source.catchErrorJustReturn(element)) + } } diff --git a/Example/Pods/RxSwift/RxSwift/Traits/Single.swift b/Example/Pods/RxSwift/RxSwift/Traits/Single.swift index 423cf69..2517b01 100644 --- a/Example/Pods/RxSwift/RxSwift/Traits/Single.swift +++ b/Example/Pods/RxSwift/RxSwift/Traits/Single.swift @@ -121,7 +121,7 @@ extension PrimitiveSequenceType where TraitType == SingleTrait { - seealso: [just operator on reactivex.io](http://reactivex.io/documentation/operators/just.html) - parameter element: Single element in the resulting observable sequence. - - parameter: Scheduler to send the single element on. + - parameter scheduler: Scheduler to send the single element on. - returns: An observable sequence containing the single specified element. */ public static func just(_ element: ElementType, scheduler: ImmediateSchedulerType) -> Single { @@ -248,4 +248,90 @@ extension PrimitiveSequenceType where TraitType == SingleTrait { -> Single { return Single(raw: primitiveSequence.source.flatMap(selector)) } + + /** + Projects each element of an observable sequence to an observable sequence and merges the resulting observable sequences into one observable sequence. + + - seealso: [flatMap operator on reactivex.io](http://reactivex.io/documentation/operators/flatmap.html) + + - parameter selector: A transform function to apply to each element. + - returns: An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence. + */ + public func flatMapMaybe(_ selector: @escaping (ElementType) throws -> Maybe) + -> Maybe { + return Maybe(raw: primitiveSequence.source.flatMap(selector)) + } + + /** + Projects each element of an observable sequence to an observable sequence and merges the resulting observable sequences into one observable sequence. + + - seealso: [flatMap operator on reactivex.io](http://reactivex.io/documentation/operators/flatmap.html) + + - parameter selector: A transform function to apply to each element. + - returns: An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence. + */ + public func flatMapCompletable(_ selector: @escaping (ElementType) throws -> Completable) + -> Completable { + return Completable(raw: primitiveSequence.source.flatMap(selector)) + } + + /** + Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. + + - parameter resultSelector: Function to invoke for each series of elements at corresponding indexes in the sources. + - returns: An observable sequence containing the result of combining elements of the sources using the specified result selector function. + */ + public static func zip(_ collection: C, _ resultSelector: @escaping ([ElementType]) throws -> R) -> PrimitiveSequence where C.Iterator.Element == PrimitiveSequence { + + if collection.isEmpty { + return PrimitiveSequence.deferred { + return PrimitiveSequence(raw: .just(try resultSelector([]))) + } + } + + let raw = Observable.zip(collection.map { $0.asObservable() }, resultSelector) + return PrimitiveSequence(raw: raw) + } + + /** + Merges the specified observable sequences into one observable sequence all of the observable sequences have produced an element at a corresponding index. + + - returns: An observable sequence containing the result of combining elements of the sources. + */ + public static func zip(_ collection: C) -> PrimitiveSequence where C.Iterator.Element == PrimitiveSequence { + + if collection.isEmpty { + return PrimitiveSequence(raw: .just([])) + } + + let raw = Observable.zip(collection.map { $0.asObservable() }) + return PrimitiveSequence(raw: raw) + } + + /** + Continues an observable sequence that is terminated by an error with a single element. + + - seealso: [catch operator on reactivex.io](http://reactivex.io/documentation/operators/catch.html) + + - parameter element: Last element in an observable sequence in case error occurs. + - returns: An observable sequence containing the source sequence's elements, followed by the `element` in case an error occurred. + */ + public func catchErrorJustReturn(_ element: ElementType) + -> PrimitiveSequence { + return PrimitiveSequence(raw: primitiveSequence.source.catchErrorJustReturn(element)) + } + + /// Converts `self` to `Maybe` trait. + /// + /// - returns: Maybe trait that represents `self`. + public func asMaybe() -> Maybe { + return Maybe(raw: primitiveSequence.source) + } + + /// Converts `self` to `Completable` trait. + /// + /// - returns: Completable trait that represents `self`. + public func asCompletable() -> Completable { + return primitiveSequence.source.ignoreElements() + } } diff --git a/Example/Pods/Target Support Files/Alamofire/Alamofire.xcconfig b/Example/Pods/Target Support Files/Alamofire/Alamofire.xcconfig index 881c8ca..6b8baab 100644 --- a/Example/Pods/Target Support Files/Alamofire/Alamofire.xcconfig +++ b/Example/Pods/Target Support Files/Alamofire/Alamofire.xcconfig @@ -1,6 +1,5 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Alamofire GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) diff --git a/Example/Pods/Target Support Files/Alamofire/Info.plist b/Example/Pods/Target Support Files/Alamofire/Info.plist index 1b87d15..2aba7e5 100644 --- a/Example/Pods/Target Support Files/Alamofire/Info.plist +++ b/Example/Pods/Target Support Files/Alamofire/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 4.7.0 + 4.7.3 CFBundleSignature ???? CFBundleVersion diff --git a/Example/Pods/Target Support Files/Japx/Info.plist b/Example/Pods/Target Support Files/Japx/Info.plist index 2243fe6..b35ab35 100644 --- a/Example/Pods/Target Support Files/Japx/Info.plist +++ b/Example/Pods/Target Support Files/Japx/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 1.0.0 + 1.0.2 CFBundleSignature ???? CFBundleVersion diff --git a/Example/Pods/Target Support Files/Japx/Japx.xcconfig b/Example/Pods/Target Support Files/Japx/Japx.xcconfig index 5cafbe6..a3c41de 100644 --- a/Example/Pods/Target Support Files/Japx/Japx.xcconfig +++ b/Example/Pods/Target Support Files/Japx/Japx.xcconfig @@ -1,7 +1,6 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Japx -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/Moya" "${PODS_CONFIGURATION_BUILD_DIR}/Result" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" OTHER_LDFLAGS = -framework "Foundation" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" PODS_BUILD_DIR = ${BUILD_DIR} diff --git a/Example/Pods/Target Support Files/Moya/Info.plist b/Example/Pods/Target Support Files/Moya/Info.plist new file mode 100644 index 0000000..b1f76b8 --- /dev/null +++ b/Example/Pods/Target Support Files/Moya/Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + ${PRODUCT_BUNDLE_IDENTIFIER} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + FMWK + CFBundleShortVersionString + 11.0.2 + CFBundleSignature + ???? + CFBundleVersion + ${CURRENT_PROJECT_VERSION} + NSPrincipalClass + + + diff --git a/Example/Pods/Target Support Files/Moya/Moya-dummy.m b/Example/Pods/Target Support Files/Moya/Moya-dummy.m new file mode 100644 index 0000000..260473f --- /dev/null +++ b/Example/Pods/Target Support Files/Moya/Moya-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_Moya : NSObject +@end +@implementation PodsDummy_Moya +@end diff --git a/Example/Pods/Target Support Files/Moya/Moya-prefix.pch b/Example/Pods/Target Support Files/Moya/Moya-prefix.pch new file mode 100644 index 0000000..beb2a24 --- /dev/null +++ b/Example/Pods/Target Support Files/Moya/Moya-prefix.pch @@ -0,0 +1,12 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + diff --git a/Example/Pods/Target Support Files/Moya/Moya-umbrella.h b/Example/Pods/Target Support Files/Moya/Moya-umbrella.h new file mode 100644 index 0000000..8d81047 --- /dev/null +++ b/Example/Pods/Target Support Files/Moya/Moya-umbrella.h @@ -0,0 +1,16 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + + +FOUNDATION_EXPORT double MoyaVersionNumber; +FOUNDATION_EXPORT const unsigned char MoyaVersionString[]; + diff --git a/Example/Pods/Target Support Files/Moya/Moya.modulemap b/Example/Pods/Target Support Files/Moya/Moya.modulemap new file mode 100644 index 0000000..7b84cdb --- /dev/null +++ b/Example/Pods/Target Support Files/Moya/Moya.modulemap @@ -0,0 +1,6 @@ +framework module Moya { + umbrella header "Moya-umbrella.h" + + export * + module * { export * } +} diff --git a/Example/Pods/Target Support Files/Moya/Moya.xcconfig b/Example/Pods/Target Support Files/Moya/Moya.xcconfig new file mode 100644 index 0000000..09ed385 --- /dev/null +++ b/Example/Pods/Target Support Files/Moya/Moya.xcconfig @@ -0,0 +1,11 @@ +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Moya +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/Result" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +OTHER_LDFLAGS = -framework "Foundation" +OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/Moya +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES diff --git a/Example/Pods/Target Support Files/Nimble/Nimble.xcconfig b/Example/Pods/Target Support Files/Nimble/Nimble.xcconfig index 3eb970f..766d0bb 100644 --- a/Example/Pods/Target Support Files/Nimble/Nimble.xcconfig +++ b/Example/Pods/Target Support Files/Nimble/Nimble.xcconfig @@ -2,7 +2,6 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Nimble ENABLE_BITCODE = NO FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" OTHER_LDFLAGS = -weak-lswiftXCTest -weak_framework "XCTest" OTHER_SWIFT_FLAGS = $(inherited) -suppress-warnings $(inherited) "-D" "COCOAPODS" PODS_BUILD_DIR = ${BUILD_DIR} diff --git a/Example/Pods/Target Support Files/Pods-Japx_Example/Pods-Japx_Example-acknowledgements.markdown b/Example/Pods/Target Support Files/Pods-Japx_Example/Pods-Japx_Example-acknowledgements.markdown index abb49ca..fcf4bc4 100644 --- a/Example/Pods/Target Support Files/Pods-Japx_Example/Pods-Japx_Example-acknowledgements.markdown +++ b/Example/Pods/Target Support Files/Pods-Japx_Example/Pods-Japx_Example-acknowledgements.markdown @@ -47,6 +47,55 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +## Moya + +The MIT License (MIT) + +Copyright (c) 2014-present Artsy, Ash Furrow + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +## Result + +The MIT License (MIT) + +Copyright (c) 2014 Rob Rix + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + ## RxSwift **The MIT License** diff --git a/Example/Pods/Target Support Files/Pods-Japx_Example/Pods-Japx_Example-acknowledgements.plist b/Example/Pods/Target Support Files/Pods-Japx_Example/Pods-Japx_Example-acknowledgements.plist index c6de099..852e639 100644 --- a/Example/Pods/Target Support Files/Pods-Japx_Example/Pods-Japx_Example-acknowledgements.plist +++ b/Example/Pods/Target Support Files/Pods-Japx_Example/Pods-Japx_Example-acknowledgements.plist @@ -70,6 +70,67 @@ THE SOFTWARE. Type PSGroupSpecifier + + FooterText + The MIT License (MIT) + +Copyright (c) 2014-present Artsy, Ash Furrow + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + License + MIT + Title + Moya + Type + PSGroupSpecifier + + + FooterText + The MIT License (MIT) + +Copyright (c) 2014 Rob Rix + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + License + MIT + Title + Result + Type + PSGroupSpecifier + FooterText **The MIT License** diff --git a/Example/Pods/Target Support Files/Pods-Japx_Example/Pods-Japx_Example-frameworks.sh b/Example/Pods/Target Support Files/Pods-Japx_Example/Pods-Japx_Example-frameworks.sh index 00a52f2..011f2fc 100755 --- a/Example/Pods/Target Support Files/Pods-Japx_Example/Pods-Japx_Example-frameworks.sh +++ b/Example/Pods/Target Support Files/Pods-Japx_Example/Pods-Japx_Example-frameworks.sh @@ -1,9 +1,18 @@ #!/bin/sh set -e +set -u +set -o pipefail + +if [ -z ${FRAMEWORKS_FOLDER_PATH+x} ]; then + # If FRAMEWORKS_FOLDER_PATH is not set, then there's nowhere for us to copy + # frameworks to, so exit 0 (signalling the script phase was successful). + exit 0 +fi echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" +COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}" SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" # Used as a return value for each invocation of `strip_invalid_archs` function. @@ -92,10 +101,10 @@ install_dsym() { # Signs a framework with the provided identity code_sign_if_enabled() { - if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then + if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then # Use the current code_sign_identitiy echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" - local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements '$1'" + local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'" if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then code_sign_cmd="$code_sign_cmd &" @@ -136,11 +145,15 @@ strip_invalid_archs() { if [[ "$CONFIGURATION" == "Debug" ]]; then install_framework "${BUILT_PRODUCTS_DIR}/Alamofire/Alamofire.framework" install_framework "${BUILT_PRODUCTS_DIR}/Japx/Japx.framework" + install_framework "${BUILT_PRODUCTS_DIR}/Moya/Moya.framework" + install_framework "${BUILT_PRODUCTS_DIR}/Result/Result.framework" install_framework "${BUILT_PRODUCTS_DIR}/RxSwift/RxSwift.framework" fi if [[ "$CONFIGURATION" == "Release" ]]; then install_framework "${BUILT_PRODUCTS_DIR}/Alamofire/Alamofire.framework" install_framework "${BUILT_PRODUCTS_DIR}/Japx/Japx.framework" + install_framework "${BUILT_PRODUCTS_DIR}/Moya/Moya.framework" + install_framework "${BUILT_PRODUCTS_DIR}/Result/Result.framework" install_framework "${BUILT_PRODUCTS_DIR}/RxSwift/RxSwift.framework" fi if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then diff --git a/Example/Pods/Target Support Files/Pods-Japx_Example/Pods-Japx_Example-resources.sh b/Example/Pods/Target Support Files/Pods-Japx_Example/Pods-Japx_Example-resources.sh index a7df440..345301f 100755 --- a/Example/Pods/Target Support Files/Pods-Japx_Example/Pods-Japx_Example-resources.sh +++ b/Example/Pods/Target Support Files/Pods-Japx_Example/Pods-Japx_Example-resources.sh @@ -1,5 +1,13 @@ #!/bin/sh set -e +set -u +set -o pipefail + +if [ -z ${UNLOCALIZED_RESOURCES_FOLDER_PATH+x} ]; then + # If UNLOCALIZED_RESOURCES_FOLDER_PATH is not set, then there's nowhere for us to copy + # resources to, so exit 0 (signalling the script phase was successful). + exit 0 +fi mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" @@ -12,7 +20,7 @@ XCASSET_FILES=() # was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") -case "${TARGETED_DEVICE_FAMILY}" in +case "${TARGETED_DEVICE_FAMILY:-}" in 1,2) TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" ;; @@ -92,7 +100,7 @@ if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then fi rm -f "$RESOURCES_TO_COPY" -if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "$XCASSET_FILES" ] +if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "${XCASSET_FILES:-}" ] then # Find all other xcassets (this unfortunately includes those of path pods and other targets). OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d) @@ -102,5 +110,9 @@ then fi done <<<"$OTHER_XCASSETS" - printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" + if [ -z ${ASSETCATALOG_COMPILER_APPICON_NAME+x} ]; then + printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" + else + printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" --app-icon "${ASSETCATALOG_COMPILER_APPICON_NAME}" --output-partial-info-plist "${TARGET_TEMP_DIR}/assetcatalog_generated_info_cocoapods.plist" + fi fi diff --git a/Example/Pods/Target Support Files/Pods-Japx_Example/Pods-Japx_Example.debug.xcconfig b/Example/Pods/Target Support Files/Pods-Japx_Example/Pods-Japx_Example.debug.xcconfig index 8e86288..a91dc05 100644 --- a/Example/Pods/Target Support Files/Pods-Japx_Example/Pods-Japx_Example.debug.xcconfig +++ b/Example/Pods/Target Support Files/Pods-Japx_Example/Pods-Japx_Example.debug.xcconfig @@ -1,9 +1,9 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/Japx" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/Japx" "${PODS_CONFIGURATION_BUILD_DIR}/Moya" "${PODS_CONFIGURATION_BUILD_DIR}/Result" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Japx/Japx.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift/RxSwift.framework/Headers" -OTHER_LDFLAGS = $(inherited) -framework "Alamofire" -framework "Japx" -framework "RxSwift" +OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Japx/Japx.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Moya/Moya.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Result/Result.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift/RxSwift.framework/Headers" +OTHER_LDFLAGS = $(inherited) -framework "Alamofire" -framework "Japx" -framework "Moya" -framework "Result" -framework "RxSwift" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) diff --git a/Example/Pods/Target Support Files/Pods-Japx_Example/Pods-Japx_Example.release.xcconfig b/Example/Pods/Target Support Files/Pods-Japx_Example/Pods-Japx_Example.release.xcconfig index 8e86288..a91dc05 100644 --- a/Example/Pods/Target Support Files/Pods-Japx_Example/Pods-Japx_Example.release.xcconfig +++ b/Example/Pods/Target Support Files/Pods-Japx_Example/Pods-Japx_Example.release.xcconfig @@ -1,9 +1,9 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/Japx" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/Japx" "${PODS_CONFIGURATION_BUILD_DIR}/Moya" "${PODS_CONFIGURATION_BUILD_DIR}/Result" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Japx/Japx.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift/RxSwift.framework/Headers" -OTHER_LDFLAGS = $(inherited) -framework "Alamofire" -framework "Japx" -framework "RxSwift" +OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Japx/Japx.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Moya/Moya.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Result/Result.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift/RxSwift.framework/Headers" +OTHER_LDFLAGS = $(inherited) -framework "Alamofire" -framework "Japx" -framework "Moya" -framework "Result" -framework "RxSwift" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) diff --git a/Example/Pods/Target Support Files/Pods-Japx_Tests/Pods-Japx_Tests-frameworks.sh b/Example/Pods/Target Support Files/Pods-Japx_Tests/Pods-Japx_Tests-frameworks.sh index 9f3ce79..fe9c268 100755 --- a/Example/Pods/Target Support Files/Pods-Japx_Tests/Pods-Japx_Tests-frameworks.sh +++ b/Example/Pods/Target Support Files/Pods-Japx_Tests/Pods-Japx_Tests-frameworks.sh @@ -1,9 +1,18 @@ #!/bin/sh set -e +set -u +set -o pipefail + +if [ -z ${FRAMEWORKS_FOLDER_PATH+x} ]; then + # If FRAMEWORKS_FOLDER_PATH is not set, then there's nowhere for us to copy + # frameworks to, so exit 0 (signalling the script phase was successful). + exit 0 +fi echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" +COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}" SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" # Used as a return value for each invocation of `strip_invalid_archs` function. @@ -92,10 +101,10 @@ install_dsym() { # Signs a framework with the provided identity code_sign_if_enabled() { - if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then + if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then # Use the current code_sign_identitiy echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" - local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements '$1'" + local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'" if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then code_sign_cmd="$code_sign_cmd &" diff --git a/Example/Pods/Target Support Files/Pods-Japx_Tests/Pods-Japx_Tests-resources.sh b/Example/Pods/Target Support Files/Pods-Japx_Tests/Pods-Japx_Tests-resources.sh index a7df440..345301f 100755 --- a/Example/Pods/Target Support Files/Pods-Japx_Tests/Pods-Japx_Tests-resources.sh +++ b/Example/Pods/Target Support Files/Pods-Japx_Tests/Pods-Japx_Tests-resources.sh @@ -1,5 +1,13 @@ #!/bin/sh set -e +set -u +set -o pipefail + +if [ -z ${UNLOCALIZED_RESOURCES_FOLDER_PATH+x} ]; then + # If UNLOCALIZED_RESOURCES_FOLDER_PATH is not set, then there's nowhere for us to copy + # resources to, so exit 0 (signalling the script phase was successful). + exit 0 +fi mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" @@ -12,7 +20,7 @@ XCASSET_FILES=() # was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") -case "${TARGETED_DEVICE_FAMILY}" in +case "${TARGETED_DEVICE_FAMILY:-}" in 1,2) TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" ;; @@ -92,7 +100,7 @@ if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then fi rm -f "$RESOURCES_TO_COPY" -if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "$XCASSET_FILES" ] +if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "${XCASSET_FILES:-}" ] then # Find all other xcassets (this unfortunately includes those of path pods and other targets). OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d) @@ -102,5 +110,9 @@ then fi done <<<"$OTHER_XCASSETS" - printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" + if [ -z ${ASSETCATALOG_COMPILER_APPICON_NAME+x} ]; then + printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" + else + printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" --app-icon "${ASSETCATALOG_COMPILER_APPICON_NAME}" --output-partial-info-plist "${TARGET_TEMP_DIR}/assetcatalog_generated_info_cocoapods.plist" + fi fi diff --git a/Example/Pods/Target Support Files/Pods-Japx_Tests/Pods-Japx_Tests.debug.xcconfig b/Example/Pods/Target Support Files/Pods-Japx_Tests/Pods-Japx_Tests.debug.xcconfig index 05938d7..14d0a9f 100644 --- a/Example/Pods/Target Support Files/Pods-Japx_Tests/Pods-Japx_Tests.debug.xcconfig +++ b/Example/Pods/Target Support Files/Pods-Japx_Tests/Pods-Japx_Tests.debug.xcconfig @@ -1,8 +1,8 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES -FRAMEWORK_SEARCH_PATHS = $(inherited) $(PLATFORM_DIR)/Developer/Library/Frameworks "${PODS_CONFIGURATION_BUILD_DIR}/Nimble" "${PODS_CONFIGURATION_BUILD_DIR}/Quick" "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/Japx" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" +FRAMEWORK_SEARCH_PATHS = $(inherited) $(PLATFORM_DIR)/Developer/Library/Frameworks "${PODS_CONFIGURATION_BUILD_DIR}/Nimble" "${PODS_CONFIGURATION_BUILD_DIR}/Quick" "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/Japx" "${PODS_CONFIGURATION_BUILD_DIR}/Moya" "${PODS_CONFIGURATION_BUILD_DIR}/Result" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Nimble/Nimble.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Quick/Quick.framework/Headers" $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Japx/Japx.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift/RxSwift.framework/Headers" +OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Nimble/Nimble.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Quick/Quick.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Japx/Japx.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Moya/Moya.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Result/Result.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift/RxSwift.framework/Headers" OTHER_LDFLAGS = $(inherited) -framework "Nimble" -framework "Quick" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" PODS_BUILD_DIR = ${BUILD_DIR} diff --git a/Example/Pods/Target Support Files/Pods-Japx_Tests/Pods-Japx_Tests.release.xcconfig b/Example/Pods/Target Support Files/Pods-Japx_Tests/Pods-Japx_Tests.release.xcconfig index 05938d7..14d0a9f 100644 --- a/Example/Pods/Target Support Files/Pods-Japx_Tests/Pods-Japx_Tests.release.xcconfig +++ b/Example/Pods/Target Support Files/Pods-Japx_Tests/Pods-Japx_Tests.release.xcconfig @@ -1,8 +1,8 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES -FRAMEWORK_SEARCH_PATHS = $(inherited) $(PLATFORM_DIR)/Developer/Library/Frameworks "${PODS_CONFIGURATION_BUILD_DIR}/Nimble" "${PODS_CONFIGURATION_BUILD_DIR}/Quick" "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/Japx" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" +FRAMEWORK_SEARCH_PATHS = $(inherited) $(PLATFORM_DIR)/Developer/Library/Frameworks "${PODS_CONFIGURATION_BUILD_DIR}/Nimble" "${PODS_CONFIGURATION_BUILD_DIR}/Quick" "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/Japx" "${PODS_CONFIGURATION_BUILD_DIR}/Moya" "${PODS_CONFIGURATION_BUILD_DIR}/Result" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Nimble/Nimble.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Quick/Quick.framework/Headers" $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Japx/Japx.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift/RxSwift.framework/Headers" +OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Nimble/Nimble.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Quick/Quick.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Japx/Japx.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Moya/Moya.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Result/Result.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift/RxSwift.framework/Headers" OTHER_LDFLAGS = $(inherited) -framework "Nimble" -framework "Quick" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" PODS_BUILD_DIR = ${BUILD_DIR} diff --git a/Example/Pods/Target Support Files/Quick/Quick.xcconfig b/Example/Pods/Target Support Files/Quick/Quick.xcconfig index 6c4e8fd..92f73d7 100644 --- a/Example/Pods/Target Support Files/Quick/Quick.xcconfig +++ b/Example/Pods/Target Support Files/Quick/Quick.xcconfig @@ -2,7 +2,6 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Quick ENABLE_BITCODE = NO FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" OTHER_LDFLAGS = -framework "XCTest" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" PODS_BUILD_DIR = ${BUILD_DIR} diff --git a/Example/Pods/Target Support Files/Result/Info.plist b/Example/Pods/Target Support Files/Result/Info.plist new file mode 100644 index 0000000..b6e86dd --- /dev/null +++ b/Example/Pods/Target Support Files/Result/Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + ${PRODUCT_BUNDLE_IDENTIFIER} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + FMWK + CFBundleShortVersionString + 3.2.4 + CFBundleSignature + ???? + CFBundleVersion + ${CURRENT_PROJECT_VERSION} + NSPrincipalClass + + + diff --git a/Example/Pods/Target Support Files/Result/Result-dummy.m b/Example/Pods/Target Support Files/Result/Result-dummy.m new file mode 100644 index 0000000..ba47f61 --- /dev/null +++ b/Example/Pods/Target Support Files/Result/Result-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_Result : NSObject +@end +@implementation PodsDummy_Result +@end diff --git a/Example/Pods/Target Support Files/Result/Result-prefix.pch b/Example/Pods/Target Support Files/Result/Result-prefix.pch new file mode 100644 index 0000000..beb2a24 --- /dev/null +++ b/Example/Pods/Target Support Files/Result/Result-prefix.pch @@ -0,0 +1,12 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + diff --git a/Example/Pods/Target Support Files/Result/Result-umbrella.h b/Example/Pods/Target Support Files/Result/Result-umbrella.h new file mode 100644 index 0000000..25f5eb1 --- /dev/null +++ b/Example/Pods/Target Support Files/Result/Result-umbrella.h @@ -0,0 +1,16 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + + +FOUNDATION_EXPORT double ResultVersionNumber; +FOUNDATION_EXPORT const unsigned char ResultVersionString[]; + diff --git a/Example/Pods/Target Support Files/Result/Result.modulemap b/Example/Pods/Target Support Files/Result/Result.modulemap new file mode 100644 index 0000000..c5e6a4a --- /dev/null +++ b/Example/Pods/Target Support Files/Result/Result.modulemap @@ -0,0 +1,6 @@ +framework module Result { + umbrella header "Result-umbrella.h" + + export * + module * { export * } +} diff --git a/Example/Pods/Target Support Files/Result/Result.xcconfig b/Example/Pods/Target Support Files/Result/Result.xcconfig new file mode 100644 index 0000000..0a48ed6 --- /dev/null +++ b/Example/Pods/Target Support Files/Result/Result.xcconfig @@ -0,0 +1,9 @@ +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Result +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/Result +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES diff --git a/Example/Pods/Target Support Files/RxSwift/Info.plist b/Example/Pods/Target Support Files/RxSwift/Info.plist index 7ecb368..6631be7 100644 --- a/Example/Pods/Target Support Files/RxSwift/Info.plist +++ b/Example/Pods/Target Support Files/RxSwift/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 4.1.2 + 4.2.0 CFBundleSignature ???? CFBundleVersion diff --git a/Example/Pods/Target Support Files/RxSwift/RxSwift.xcconfig b/Example/Pods/Target Support Files/RxSwift/RxSwift.xcconfig index 4c8a7ee..b6cce65 100644 --- a/Example/Pods/Target Support Files/RxSwift/RxSwift.xcconfig +++ b/Example/Pods/Target Support Files/RxSwift/RxSwift.xcconfig @@ -1,6 +1,5 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/RxSwift GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) diff --git a/Example/Tests/AdditionalFunctions.swift b/Example/Tests/AdditionalFunctions.swift index 5c671b8..c837fa1 100644 --- a/Example/Tests/AdditionalFunctions.swift +++ b/Example/Tests/AdditionalFunctions.swift @@ -18,7 +18,7 @@ func does(jsonFromFileNamed: String, containsEverethingFrom otherJsonFromFile: S let dataOther = try! Data(contentsOf: URL(fileURLWithPath: pathOther), options: .mappedIfSafe) let json = block(data) - let jsonOther = try! JSONSerialization.jsonObject(with: dataOther, options: .init(rawValue: 0)) + let jsonOther = try! JSONSerialization.jsonObject(with: dataOther) if let json = json as? Parameters, let jsonOther = jsonOther as? Parameters { return does(json: json, containsEverethingFrom: jsonOther) diff --git a/Japx.podspec b/Japx.podspec index c35e9cb..102c04a 100644 --- a/Japx.podspec +++ b/Japx.podspec @@ -59,5 +59,30 @@ It works by transfering Dictionary to Dictionary, so you can use Codable, Unbox, sp.dependency 'Japx/CodableAlamofire' sp.dependency 'Japx/RxAlamofire' end + + s.subspec 'Moya' do |sp| + sp.source_files = 'Japx/Classes/Moya/**/*' + sp.dependency 'Japx/Core' + sp.dependency 'Moya/RxSwift', '~> 11.0' + end + + s.subspec 'RxMoya' do |sp| + sp.source_files = 'Japx/Classes/RxMoya/**/*' + sp.dependency 'Japx/Moya' + end + + s.subspec 'CodableMoya' do |sp| + sp.source_files = 'Japx/Classes/CodableMoya/**/*' + sp.dependency 'Japx/Core' + sp.dependency 'Japx/Codable' + sp.dependency 'Japx/Moya' + end + + s.subspec 'RxCodableMoya' do |sp| + sp.source_files = 'Japx/Classes/RxCodableMoya/**/*' + sp.dependency 'Japx/Core' + sp.dependency 'Japx/CodableMoya' + sp.dependency 'Japx/RxMoya' + end end diff --git a/Japx/Classes/CodableMoya/JapxCodableMoya.swift b/Japx/Classes/CodableMoya/JapxCodableMoya.swift new file mode 100644 index 0000000..97ea202 --- /dev/null +++ b/Japx/Classes/CodableMoya/JapxCodableMoya.swift @@ -0,0 +1,45 @@ +// +// JapxCodableMoya.swift +// Japx +// +// Created by Vlaho Poluta on 25/01/2018. +// + +import Moya +import Foundation + +extension Response { + + /// Maps data received from the signal and decodes JSON:API object into requested type. + /// + /// - parameter includeList: The include list for deserializing JSON:API relationships. + /// - parameter keyPath: The keyPath where object decoding on parsed JSON should be performed. + /// - parameter decoder: The decoder that performs decoding on parsed JSON into requested type. + /// + /// - returns: JSON:API object. + public func mapCodableJSONAPI(includeList: String? = nil, keyPath: String? = nil, decoder: JapxDecoder = JapxDecoder()) throws -> T { + + guard data.count > 0 else { + throw MoyaError.jsonMapping(self) + } + + do { + guard let keyPath = keyPath, !keyPath.isEmpty else { + let decodable = try decoder.decode(T.self, from: data, includeList: includeList) + return decodable + } + + let json = try Japx.Decoder.jsonObject(with: data, includeList: includeList) + guard let jsonForKeyPath = (json as AnyObject).value(forKeyPath: keyPath) else { + throw JapxMoyaError.invalidKeyPath(keyPath: keyPath) + } + let jsonApiData = try JSONSerialization.data(withJSONObject: jsonForKeyPath) + + let decodable = try decoder.jsonDecoder.decode(T.self, from: jsonApiData) + return decodable + + } catch { + throw MoyaError.jsonMapping(self) + } + } +} diff --git a/Japx/Classes/Core/Japx.swift b/Japx/Classes/Core/Japx.swift index 4b3a7a4..ba680aa 100644 --- a/Japx/Classes/Core/Japx.swift +++ b/Japx/Classes/Core/Japx.swift @@ -94,7 +94,7 @@ public extension Japx.Decoder { /// - returns: JSON object as Data. static func data(withJSONAPIObject object: Parameters, includeList: String? = nil) throws -> Data { let decoded = try jsonObject(withJSONAPIObject: object, includeList: includeList) - return try JSONSerialization.data(withJSONObject: decoded, options: .init(rawValue: 0)) + return try JSONSerialization.data(withJSONObject: decoded) } /// Converts JSON:API object to simple flat JSON object @@ -104,7 +104,7 @@ public extension Japx.Decoder { /// /// - returns: JSON object. static func jsonObject(with data: Data, includeList: String? = nil) throws -> Parameters { - let jsonApiObject = try JSONSerialization.jsonObject(with: data, options: .init(rawValue: 0)) + let jsonApiObject = try JSONSerialization.jsonObject(with: data) // With include list if let includeList = includeList { @@ -134,7 +134,7 @@ public extension Japx.Decoder { /// - returns: JSON object as Data. static func data(with data: Data, includeList: String? = nil) throws -> Data { let decoded = try jsonObject(with: data, includeList: includeList) - return try JSONSerialization.data(withJSONObject: decoded, options: .init(rawValue: 0)) + return try JSONSerialization.data(withJSONObject: decoded) } } @@ -149,7 +149,7 @@ public extension Japx.Encoder { /// /// - returns: JSON:API object. static func encode(data: Data, additionalParams: Parameters? = nil) throws -> Parameters { - let json = try JSONSerialization.jsonObject(with: data, options: .init(rawValue: 0)) + let json = try JSONSerialization.jsonObject(with: data) if let jsonObject = json as? Parameters { return try encode(json: jsonObject, additionalParams: additionalParams) } diff --git a/Japx/Classes/Moya/JapxMoya.swift b/Japx/Classes/Moya/JapxMoya.swift new file mode 100644 index 0000000..c9f4dfa --- /dev/null +++ b/Japx/Classes/Moya/JapxMoya.swift @@ -0,0 +1,45 @@ +// +// JapxMoya.swift +// Japx +// +// Created by Vlaho Poluta on 25/01/2018. +// + +import Moya +import Foundation + +/// `JapxMoyaError` is the error type returned by JapxMoya subspec. +public enum JapxMoyaError: Error { + + /// - invalidKeyPath: Returned when a nested JSON object doesn't exist in parsed JSON:API response by provided `keyPath`. + case invalidKeyPath(keyPath: String) +} + +extension JapxMoyaError: LocalizedError { + + public var errorDescription: String? { + switch self { + case let .invalidKeyPath(keyPath: keyPath): return "Nested JSON doesn't exist by keyPath: \(keyPath)." + } + } +} + +extension Response { + + /// Maps data received from the signal into a JSON:API object. + /// + /// - parameter includeList: The include list for deserializing JSON:API relationships. + /// - parameter failsOnEmptyData: A boolean value determining whether the mapping should fail if the data is empty. + /// + /// - returns: JSON:API object. + public func mapJSONAPI(failsOnEmptyData: Bool = true, includeList: String? = nil) throws -> Any { + do { + return try Japx.Decoder.jsonObject(with: data, includeList: includeList) + } catch { + if data.count < 1 && !failsOnEmptyData { + return NSNull() + } + throw MoyaError.jsonMapping(self) + } + } +} diff --git a/Japx/Classes/RxCodableMoya/JapxRxCodableMoya.swift b/Japx/Classes/RxCodableMoya/JapxRxCodableMoya.swift new file mode 100644 index 0000000..2c2bb63 --- /dev/null +++ b/Japx/Classes/RxCodableMoya/JapxRxCodableMoya.swift @@ -0,0 +1,39 @@ +// +// JapxRxCodableMoya.swift +// Japx +// +// Created by Vlaho Poluta on 25/01/2018. +// + +import Moya +import RxSwift +import Foundation + +extension ObservableType where E == Response { + + /// Maps data received from the signal into a JSON:API object. If the conversion fails, the signal errors. + /// + /// - parameter includeList: The include list for deserializing JSON:API relationships. + /// - parameter keyPath: The keyPath where object decoding on parsed JSON should be performed. + /// - parameter decoder: The decoder that performs decoding on parsed JSON into requested type. + /// + /// + /// - returns: `Observable` of JSON:API object. + public func mapCodableJSONAPI(includeList: String? = nil, keyPath: String? = nil, decoder: JapxDecoder = JapxDecoder()) -> Observable { + return map { try $0.mapCodableJSONAPI(includeList: includeList, keyPath: keyPath, decoder: decoder) } + } +} + +extension PrimitiveSequence where TraitType == SingleTrait, ElementType == Response { + + /// Maps data received from the signal into a JSON:API object. If the conversion fails, the signal errors. + /// + /// - parameter includeList: The include list for deserializing JSON:API relationships. + /// - parameter keyPath: The keyPath where object decoding on parsed JSON should be performed. + /// - parameter decoder: The decoder that performs decoding on parsed JSON into requested type. + /// + /// - returns: `Single` of JSON:API object. + public func mapCodableJSONAPI(includeList: String? = nil, keyPath: String? = nil, decoder: JapxDecoder = JapxDecoder()) -> Single { + return map { try $0.mapCodableJSONAPI(includeList: includeList, keyPath: keyPath, decoder: decoder) } + } +} diff --git a/Japx/Classes/RxMoya/JapxRxMoya.swift b/Japx/Classes/RxMoya/JapxRxMoya.swift new file mode 100644 index 0000000..b810c2c --- /dev/null +++ b/Japx/Classes/RxMoya/JapxRxMoya.swift @@ -0,0 +1,38 @@ +// +// JapxRxMoya.swift +// Japx +// +// Created by Vlaho Poluta on 25/01/2018. +// + +import Moya +import RxSwift +import Foundation + +extension ObservableType where E == Response { + + /// Maps data received from the signal and decodes JSON:API object into requested type. If the conversion fails, the signal errors. + /// + /// - parameter failsOnEmptyData: A boolean value determining whether the mapping should fail if the data is empty. + /// - parameter includeList: The include list for deserializing JSON:API relationships. + /// + /// + /// - returns: `Observable` of JSON:API object. + public func mapJSONAPI(failsOnEmptyData: Bool = true, includeList: String? = nil) -> Observable { + return map { try $0.mapJSONAPI(failsOnEmptyData: failsOnEmptyData, includeList: includeList) } + } +} + +extension PrimitiveSequence where TraitType == SingleTrait, ElementType == Response { + + /// Maps data received from the signal and decodes JSON:API object into requested type. If the conversion fails, the signal errors. + /// + /// - parameter failsOnEmptyData: A boolean value determining whether the mapping should fail if the data is empty. + /// - parameter includeList: The include list for deserializing JSON:API relationships. + /// + /// + /// - returns: `Single` of JSON:API object. + public func mapJSONAPI(failsOnEmptyData: Bool = true, includeList: String? = nil) -> Single { + return map { try $0.mapJSONAPI(failsOnEmptyData: failsOnEmptyData, includeList: includeList) } + } +}