diff --git a/Example/Podfile.lock b/Example/Podfile.lock index 72c5129..aae9e3c 100644 --- a/Example/Podfile.lock +++ b/Example/Podfile.lock @@ -1,11 +1,11 @@ PODS: - GradientLoadingBar (2.2.3): - LightweightObservable (~> 2.1) - - LightweightObservable (2.1.2) + - LightweightObservable (2.2.0) - SnapshotTesting (1.9.0) - SwiftConfigurationFiles (0.0.1) - - SwiftFormat/CLI (0.49.1) - - SwiftLint (0.45.1) + - SwiftFormat/CLI (0.49.5) + - SwiftLint (0.46.4) DEPENDENCIES: - GradientLoadingBar (from `../`) @@ -34,11 +34,11 @@ CHECKOUT OPTIONS: SPEC CHECKSUMS: GradientLoadingBar: 157bd321c74e6bd0b0d87de735336060011393ab - LightweightObservable: c5ac85423a5edbed9a920b4d5c7b8f94ab3688c4 + LightweightObservable: a4fce3323002aa57234f3cf5524eecb144cc781f SnapshotTesting: 6141c48b6aa76ead61431ca665c14ab9a066c53b SwiftConfigurationFiles: 1cf2228a911ebed9f42f8dec077bb634f04ca6c8 - SwiftFormat: 16b41f3229f5e7edb130ac4cd631cceed7af7d5e - SwiftLint: 06ac37e4d38c7068e0935bb30cda95f093bec761 + SwiftFormat: 803e5a44e083cf414b3072381db0e9e65f4c0d0d + SwiftLint: b24bab3f5ab5c9ae86a03381bc974d6f0ac85bb0 PODFILE CHECKSUM: 36b90780cb508f9eaca4f0ac59660e3e748de601 diff --git a/Example/Pods/LightweightObservable/LightweightObservable/Classes/Disposable.swift b/Example/Pods/LightweightObservable/LightweightObservable/Disposable.swift similarity index 67% rename from Example/Pods/LightweightObservable/LightweightObservable/Classes/Disposable.swift rename to Example/Pods/LightweightObservable/LightweightObservable/Disposable.swift index 9cac1be..9864946 100644 --- a/Example/Pods/LightweightObservable/LightweightObservable/Classes/Disposable.swift +++ b/Example/Pods/LightweightObservable/LightweightObservable/Disposable.swift @@ -11,35 +11,36 @@ import Foundation /// Helper to allow storing multiple disposables and matching name from [RxSwift](https://github.com/ReactiveX/RxSwift). public typealias DisposeBag = [Disposable] -/// Executes a given closure on it's deallocation. +/// Calls a closure on when this instance is deallocated. public final class Disposable { // MARK: - Types - /// Type for closure to be executed on deallocation. + /// Type for the closure to be called on deallocation. public typealias Dispose = () -> Void // MARK: - Private properties - /// Closure to be executed on deallocation. + /// The closure to be called on deallocation. private let dispose: Dispose // MARK: - Initializer /// Creates a new instance. /// - /// - Parameter dispose: The closure that is executed on deallocation. + /// - Parameter dispose: The closure that is called on deallocation. public init(_ dispose: @escaping Dispose) { self.dispose = dispose } - /// Executes our closure. deinit { dispose() } // MARK: - Public methods - /// Adds the current instance to the given array of disposables. + /// Adds the current instance to the given array of `Disposable`. + /// + /// - Parameter bag: Reference to the array of `Disposable`. public func disposed(by bag: inout DisposeBag) { bag.append(self) } diff --git a/Example/Pods/LightweightObservable/LightweightObservable/Extensions/Observable+Combine.swift b/Example/Pods/LightweightObservable/LightweightObservable/Extensions/Observable+Combine.swift new file mode 100644 index 0000000..8fa9f72 --- /dev/null +++ b/Example/Pods/LightweightObservable/LightweightObservable/Extensions/Observable+Combine.swift @@ -0,0 +1,64 @@ +// +// Observable+Combine.swift +// LightweightObservable +// +// Created by Felix Mau on 04.02.22. +// Copyright © 2022 Felix Mau. All rights reserved. +// + +import Combine + +// Based on: +// https://thoughtbot.com/blog/lets-build-a-custom-publisher-in-combine + +@available(iOS 13.0, *) +extension Observable: Publisher { + public typealias Output = T + public typealias Failure = Never + + public func receive(subscriber: S) where S.Input == Output, S.Failure == Failure { + let subscription = Subscription(subscriber: subscriber) + subscriber.receive(subscription: subscription) + + // We explicitly subscribe to our `Observable` instance after passing the `Combine.Subscription` to the `Combine.Subscriber`. + // This makes sure when the underlying type of the `Observable` is a `Variable´, we correctly forward the initial value. + subscription.subscribe(to: self) + } +} + +@available(iOS 13.0, *) +private extension Observable { + /// A custom subscription to forward events from an `Observable` instance. + final class Subscription where S.Input == Output, S.Failure == Failure { + private var subscriber: S? + private var disposable: Disposable? + + init(subscriber: S) { + self.subscriber = subscriber + } + + /// Updates our `subscriber` (`Combine.Subscriber`) with the values from the observable. + /// + /// - Note: We explicitly avoid storing a reference to the observable from this instance (`Combine.Subscription`), + /// as this would create a retain cycle!! + func subscribe(to observable: Observable) { + disposable = observable.subscribe { [weak self] value, _ in + _ = self?.subscriber?.receive(value) + } + } + } +} + +@available(iOS 13.0, *) +extension Observable.Subscription: Subscription { + func request(_: Subscribers.Demand) { + // This subscription doesn't respond to demand, since it'll only emit events + // according to its underlying `Observable` instance. + } + + func cancel() { + // When the subscription was cancelled, we'll release the reference to our observable-subscription + // in order to prevent any additional events from being sent. + disposable = nil + } +} diff --git a/Example/Pods/LightweightObservable/LightweightObservable/Classes/Extensions/Observable+Equatable.swift b/Example/Pods/LightweightObservable/LightweightObservable/Extensions/Observable+Equatable.swift similarity index 97% rename from Example/Pods/LightweightObservable/LightweightObservable/Classes/Extensions/Observable+Equatable.swift rename to Example/Pods/LightweightObservable/LightweightObservable/Extensions/Observable+Equatable.swift index 42c7ad4..8feb5e1 100644 --- a/Example/Pods/LightweightObservable/LightweightObservable/Classes/Extensions/Observable+Equatable.swift +++ b/Example/Pods/LightweightObservable/LightweightObservable/Extensions/Observable+Equatable.swift @@ -30,7 +30,7 @@ public extension Observable where T: Equatable { /// - observer: The closure that is notified on changes if the filter succeeds. /// /// - Note: - /// The `oldValue` of the observer always contains the previous value that passed the filter! E.g. if you filter for even numbers: + /// The `oldValue` of the observer always contains the previous value that passed the filter! E.g. if you filter for **even numbers**: /// ``` /// | Emitted values: | 0 | 1 | 2 | 3 | 4 | 5 | /// | -------------------------- | -------- | -------- | -------- | -------- | -------- | -------- | diff --git a/Example/Pods/LightweightObservable/LightweightObservable/Classes/Extensions/Observable+KeyPath.swift b/Example/Pods/LightweightObservable/LightweightObservable/Extensions/Observable+KeyPath.swift similarity index 100% rename from Example/Pods/LightweightObservable/LightweightObservable/Classes/Extensions/Observable+KeyPath.swift rename to Example/Pods/LightweightObservable/LightweightObservable/Extensions/Observable+KeyPath.swift diff --git a/Example/Pods/LightweightObservable/LightweightObservable/Classes/Observable.swift b/Example/Pods/LightweightObservable/LightweightObservable/Observable.swift similarity index 92% rename from Example/Pods/LightweightObservable/LightweightObservable/Classes/Observable.swift rename to Example/Pods/LightweightObservable/LightweightObservable/Observable.swift index ef1797d..da3c729 100644 --- a/Example/Pods/LightweightObservable/LightweightObservable/Classes/Observable.swift +++ b/Example/Pods/LightweightObservable/LightweightObservable/Observable.swift @@ -38,8 +38,6 @@ public class Observable { /// The current (readonly) value of the observable (if available). /// /// - Note: We're using a computed property here, cause we need to override this property without nullability in the subclass `Variable`. - /// - /// - Attention: It's always better to subscribe to a given observable! This **shortcut** should only be used during **testing**. public var value: Value? { fatalError("⚠️ – Trying to access an abstract property! Subclasses need to overwrite and implement this computed property.") } @@ -61,6 +59,14 @@ public class Observable { // MARK: - Public methods + /// Updates the current value. + /// + /// - Parameter value: The new value to apply. + public func update(_: Value) { + // swiftlint:disable:previous unavailable_function + fatalError("⚠️ – Trying to call an abstract function! Subclasses need to overwrite and implement this method.") + } + /// Informs the given observer on changes to our underlying property `value`. /// /// - Parameter observer: The closure that is notified on changes. @@ -111,8 +117,7 @@ public final class PublishSubject: Observable { // MARK: - Public methods - /// Updates the publish subject using the given value. - public func update(_ value: Value) { + override public func update(_ value: Value) { let oldValue = _value _value = value @@ -156,6 +161,10 @@ public final class Variable: Observable { // MARK: - Public methods + override public func update(_ value: Value) { + self.value = value + } + override public func subscribe(_ observer: @escaping Observer) -> Disposable { let disposable = super.subscribe(observer) diff --git a/Example/Pods/LightweightObservable/README.md b/Example/Pods/LightweightObservable/README.md index f52f69b..4038b21 100644 --- a/Example/Pods/LightweightObservable/README.md +++ b/Example/Pods/LightweightObservable/README.md @@ -2,7 +2,7 @@

Swift Version - CI Status + CI Status Code Coverage Version License @@ -28,6 +28,39 @@ To run the example project, clone the repo, and open the workspace from the Exam - Xcode 10.2+ - iOS 9.0+ +### Projects targeting iOS >= 13.0 +In case your minimum required version is greater equal iOS 13.0, I recommend using [Combine](https://developer.apple.com/documentation/combine) instead of adding `Lightweight Observable` as a dependency. + +If you rely on having a current and previous value in your subscription closure, please have a look at this extension: [Combine+Pairwise.swift](https://gist.github.com/fxm90/be62335d987016c84d2f8b3731197c98). + +#### Update: Since version `2.2` an `Observable` instance conforms to the [`Publisher`](https://developer.apple.com/documentation/combine/publisher) protocol from Swift's `Combine` 🎉 + +This makes transitioning from `LightweightObservable` to `Combine` a lot easier, as you can use features from `Combine` without having to change the underlying `Observable` to a `Publisher`. + +Example Code for using `Combine` functions on an instance of `PublishSubject`: + +```swift +var subscriptions = Set() + +let publishSubject = PublishSubject() +publishSubject + .map { $0 * 2 } + .sink { print($0) } + .store(in: &subscriptions) + +publishSubject.update(1) // Prints "2" +publishSubject.update(2) // Prints "4" +publishSubject.update(3) // Prints "6" +``` + +**Cheatsheet** + +| `LightweightObservable` | `Combine` | +| ----------------------- | --------------------- | +| `PublishSubject` | `PassthroughSubject` | +| `Variable` | `CurrentValueSubject` | + + ### Integration ##### CocoaPods [CocoaPods](https://cocoapods.org) is a dependency manager for Cocoa projects. For usage and installation instructions, visit their website. To integrate Lightweight Observable into your Xcode project using CocoaPods, specify it in your `Podfile`: @@ -84,6 +117,8 @@ let formattedTimeSubject = Variable("4:20 PM") // ... formattedTimeSubject.value = "4:21 PM" +// or +formattedTimeSubject.update("4:21 PM") ``` #### – Create an `Observable` @@ -227,43 +262,42 @@ XCTAssertEqual(viewModel.formattedTime.value, "4:20") Using the given approach, your view-model could look like this: ```swift -class TimeViewModel { +final class ViewModel { // MARK: - Public properties - /// The current time as a formatted string (**immutable**). - var formattedTime: Observable { - formattedTimeSubject + /// The current date and time as a formatted string (**immutable**). + var formattedDate: Observable { + formattedDateSubject } // MARK: - Private properties - /// The current time as a formatted string (**mutable**). - private let formattedTimeSubject: Variable = Variable("\(Date())") + /// The current date and time as a formatted string (**mutable**). + private let formattedDateSubject: Variable = Variable("\(Date())") private var timer: Timer? // MARK: - Initializer init() { - // Update variable with current time every second. - timer = Timer.scheduledTimer(withTimeInterval: 1, repeats: true, block: { [weak self] _ in - self?.formattedTimeSubject.value = "\(Date())" - }) + // Update variable with current date and time every second. + timer = Timer.scheduledTimer(withTimeInterval: 1, repeats: true) { [weak self] _ in + self?.formattedDateSubject.value = "\(Date())" + } } ``` And your view controller like this: ```swift -class TimeViewController: UIViewController { +final class ViewController: UIViewController { // MARK: - Outlets - @IBOutlet private var timeLabel: UILabel! + @IBOutlet private var dateLabel: UILabel! // MARK: - Private properties - /// The view model calculating the current time. - private let timeViewModel = TimeViewModel() + private let viewModel = ViewModel() /// The dispose bag for this view controller. On it's deallocation, it removes the /// subscription-closures from the corresponding observable-properties. @@ -274,9 +308,9 @@ class TimeViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() - timeViewModel - .formattedTime - .bind(to: \.text, on: timeLabel) + viewModel + .formattedDate + .bind(to: \.text, on: dateLabel) .disposed(by: &disposeBag) } ``` diff --git a/Example/Pods/Manifest.lock b/Example/Pods/Manifest.lock index 72c5129..aae9e3c 100644 --- a/Example/Pods/Manifest.lock +++ b/Example/Pods/Manifest.lock @@ -1,11 +1,11 @@ PODS: - GradientLoadingBar (2.2.3): - LightweightObservable (~> 2.1) - - LightweightObservable (2.1.2) + - LightweightObservable (2.2.0) - SnapshotTesting (1.9.0) - SwiftConfigurationFiles (0.0.1) - - SwiftFormat/CLI (0.49.1) - - SwiftLint (0.45.1) + - SwiftFormat/CLI (0.49.5) + - SwiftLint (0.46.4) DEPENDENCIES: - GradientLoadingBar (from `../`) @@ -34,11 +34,11 @@ CHECKOUT OPTIONS: SPEC CHECKSUMS: GradientLoadingBar: 157bd321c74e6bd0b0d87de735336060011393ab - LightweightObservable: c5ac85423a5edbed9a920b4d5c7b8f94ab3688c4 + LightweightObservable: a4fce3323002aa57234f3cf5524eecb144cc781f SnapshotTesting: 6141c48b6aa76ead61431ca665c14ab9a066c53b SwiftConfigurationFiles: 1cf2228a911ebed9f42f8dec077bb634f04ca6c8 - SwiftFormat: 16b41f3229f5e7edb130ac4cd631cceed7af7d5e - SwiftLint: 06ac37e4d38c7068e0935bb30cda95f093bec761 + SwiftFormat: 803e5a44e083cf414b3072381db0e9e65f4c0d0d + SwiftLint: b24bab3f5ab5c9ae86a03381bc974d6f0ac85bb0 PODFILE CHECKSUM: 36b90780cb508f9eaca4f0ac59660e3e748de601 diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj index 951fa23..827b2cc 100644 --- a/Example/Pods/Pods.xcodeproj/project.pbxproj +++ b/Example/Pods/Pods.xcodeproj/project.pbxproj @@ -37,249 +37,251 @@ /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ - 07319FC388250B963206DB0BF5262128 /* CGPath.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BDC2C00D01795D9D5474A268FEA0790 /* CGPath.swift */; }; + 07319FC388250B963206DB0BF5262128 /* CGPath.swift in Sources */ = {isa = PBXBuildFile; fileRef = D90A4312109DE68F0350FBB5DD551816 /* CGPath.swift */; }; 0ACD0ACD5263B4D09556739F7926FF96 /* NotchGradientLoadingBarViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A6AFF4C6A1BA30CE9B8A5B1CEDC407A /* NotchGradientLoadingBarViewModel.swift */; }; - 1D0EF6FBAF37BB930183B8F5AA719CD2 /* SnapshotTesting-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = FFB61086549332856EE450986DDA39E3 /* SnapshotTesting-dummy.m */; }; + 1D0EF6FBAF37BB930183B8F5AA719CD2 /* SnapshotTesting-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = E86B6F99751F56AA8AC35B5835DE4722 /* SnapshotTesting-dummy.m */; }; 2115DE52F6A03FFC0F6A938F158F9259 /* NotchGradientLoadingBarController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9CADA2B0AD5E703D468B06A67A80492 /* NotchGradientLoadingBarController.swift */; }; + 21A1F3F09B0A8A1D091D1977D706D0C3 /* Observable+KeyPath.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89D6B1C70C53B6DA6E6D0456F0F7DBD8 /* Observable+KeyPath.swift */; }; 2527F1E9F6147C56510A178BE9F8502A /* Pods-GradientLoadingBar_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 132C18988D60EF85736C043D43C19E57 /* Pods-GradientLoadingBar_Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 26CDF96C31DF5C0DE76299B9D1518AC0 /* LightweightObservable-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 60F741339642A8D8B19A4EF0EDE2B528 /* LightweightObservable-dummy.m */; }; - 28F1B4D31269CC69CB5F41DBBCEF5222 /* Any.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C2EEFBFFAE6AD15C903A20EE7BF57D7 /* Any.swift */; }; - 2C0C1A356E0D75368E196C24C3761129 /* Diffing.swift in Sources */ = {isa = PBXBuildFile; fileRef = 675C8FED0CA649F447020502AC40DA94 /* Diffing.swift */; }; - 3D1E0E44DB5DB31C932BBB9F1385B57A /* NSView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 752098F700D4627B4812D33624EC3D46 /* NSView.swift */; }; - 3DAFC3A87D54F6BA47518F4904B7FE54 /* AssertSnapshot.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27481F5BB2B02F8C989E93FBE449F4C0 /* AssertSnapshot.swift */; }; + 28F1B4D31269CC69CB5F41DBBCEF5222 /* Any.swift in Sources */ = {isa = PBXBuildFile; fileRef = E71E37779A210E3F9958FB4B465CC3B6 /* Any.swift */; }; + 2C0C1A356E0D75368E196C24C3761129 /* Diffing.swift in Sources */ = {isa = PBXBuildFile; fileRef = CED5F046F3966BF1758156DB5C0EAC5E /* Diffing.swift */; }; + 388F17A5CB909F346CB831BE157AC83C /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CA8B94E9D3B433157168D1EECCEC11CD /* Foundation.framework */; }; + 3D1E0E44DB5DB31C932BBB9F1385B57A /* NSView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94F6960E2E6F81EA1AEEEC7CAC13C054 /* NSView.swift */; }; + 3DAFC3A87D54F6BA47518F4904B7FE54 /* AssertSnapshot.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEB65A52E203646F5F85230CB37055A7 /* AssertSnapshot.swift */; }; 3E9A56ADB8427F240D98E65F282D5AB3 /* Pods-GradientLoadingBar_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8194C4CB9E683FC366F48513ED1B1A9A /* Pods-GradientLoadingBar_Example-dummy.m */; }; - 4249BA5FD30CFB0680582D7C7C6EE392 /* AssertInlineSnapshot.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29287A9837B9E7B9DCE4C137404D02C6 /* AssertInlineSnapshot.swift */; }; - 480D1264071DA1967F86F28F5CF29B8B /* SpriteKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3745B9ADEFD5EB502DDDCA38C54C0469 /* SpriteKit.swift */; }; - 486A6DAD276EB55E6D7C9F515C86C227 /* SnapshotTestCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3347134442AAF2B9DB7E1F4E2E3E8B66 /* SnapshotTestCase.swift */; }; + 4249BA5FD30CFB0680582D7C7C6EE392 /* AssertInlineSnapshot.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9801722F42CF5540558E2186724E2F08 /* AssertInlineSnapshot.swift */; }; + 480D1264071DA1967F86F28F5CF29B8B /* SpriteKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7C32BCB3A8CDE7A967257032D2CB146 /* SpriteKit.swift */; }; + 486A6DAD276EB55E6D7C9F515C86C227 /* SnapshotTestCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7B244F28A1FD6EEA4564C67C401D680 /* SnapshotTestCase.swift */; }; 4A8EE45D20D442748189087F6A430A75 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5EBC8F300895E39EA0DF6D6B2B5E6BCD /* XCTest.framework */; }; 4BE134B742037AAB5A883E394D6702E0 /* Pods-GradientLoadingBar_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 3A900E1CFF1D76CF61DDF7358F5C8863 /* Pods-GradientLoadingBar_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4F4D449821AB24276FA18CB343B2C3E8 /* Codable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02CD89009632E27BD479C79D599B107A /* Codable.swift */; }; - 532436EEB8C806728018E24162505A32 /* Description.swift in Sources */ = {isa = PBXBuildFile; fileRef = 12241E9306298FD7BD30DD97B2F2F585 /* Description.swift */; }; - 5CA71008BD23B355944AC5383821C4E2 /* Internal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 22B25BD308FFF65FD10083A71DF8B6D0 /* Internal.swift */; }; - 6235B3883B6D9B3EF262ACFF43631F3D /* SceneKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8625DAD35C01DA8A227DFE847303FD36 /* SceneKit.swift */; }; + 4F4D449821AB24276FA18CB343B2C3E8 /* Codable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D70287148495215062E5030BA6267BB /* Codable.swift */; }; + 532436EEB8C806728018E24162505A32 /* Description.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2FF4849BA9ABFDAF933BC11BBE59A72 /* Description.swift */; }; + 5CA71008BD23B355944AC5383821C4E2 /* Internal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 371D3CDC7543AF863ADAE5F4D66D793C /* Internal.swift */; }; + 5F34D446EDA13CFBB2792F77205C1BC3 /* LightweightObservable-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 785E1BC5584D16AC9173E04DE45A6036 /* LightweightObservable-dummy.m */; }; + 6235B3883B6D9B3EF262ACFF43631F3D /* SceneKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4342969D6D37396C136697D0BC1C2A06 /* SceneKit.swift */; }; + 65653E361AC18994D0C42D31EBD83C78 /* Observable.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDFA33C3D1AF4C2C0CDAFFE7D06B88AF /* Observable.swift */; }; 6754C82145E0C59C9AF97D91D7321D72 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CA8B94E9D3B433157168D1EECCEC11CD /* Foundation.framework */; }; 68C5DB73151103C8F43EF26688EE5600 /* GradientLoadingBarViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8BC3C52825EB9FF41BCF9CDBAD1CFBFC /* GradientLoadingBarViewModel.swift */; }; - 6FA42D338F2CDE1914908E7D0662AED5 /* Diff.swift in Sources */ = {isa = PBXBuildFile; fileRef = 510E624D0F605EB57201AFDACB0A1AA6 /* Diff.swift */; }; + 6FA42D338F2CDE1914908E7D0662AED5 /* Diff.swift in Sources */ = {isa = PBXBuildFile; fileRef = 195C9E50C429616417E6F569B20896A6 /* Diff.swift */; }; 6FFBF94E8163A16367C42D61BF77DAA6 /* GradientActivityIndicatorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FBDE3024CEF242BA05EBFE42A753D313 /* GradientActivityIndicatorView.swift */; }; - 70060B0C311FBDF840146EEE9B762220 /* PlistEncoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = D247995FCD2185571A788888D6C5722F /* PlistEncoder.swift */; }; + 70060B0C311FBDF840146EEE9B762220 /* PlistEncoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 86A83C5000A82493337A3DFC79D0B56F /* PlistEncoder.swift */; }; + 74116D4194C50C94965143D797AAB781 /* Observable+Equatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 523B7174E480C3FA74F83ABE7056DE17 /* Observable+Equatable.swift */; }; 776004E55702AEB7C0881078F2CF0F36 /* Pods-GradientLoadingBar_SnapshotTests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 4371A74F9A6D74628527A30E755EFF25 /* Pods-GradientLoadingBar_SnapshotTests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 78BBB110735B5BD1BDDC3CD4FC563323 /* Data.swift in Sources */ = {isa = PBXBuildFile; fileRef = 235E88FACFE1686D577A236842D3E2F8 /* Data.swift */; }; - 7F5C5DD662B656505ECF172E1DDC232E /* UIBezierPath.swift in Sources */ = {isa = PBXBuildFile; fileRef = A85AAD62B88A5A61ED41F15941BCF50E /* UIBezierPath.swift */; }; - 8122289F42E6A1441BB40125D4E87A95 /* Disposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 80BF588C375E0686FCE12E6B7A297CE7 /* Disposable.swift */; }; + 78BBB110735B5BD1BDDC3CD4FC563323 /* Data.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE73B31D3D042300127FE7545DC9A288 /* Data.swift */; }; + 7F5C5DD662B656505ECF172E1DDC232E /* UIBezierPath.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E06D57A35648ECBC97644D217B868BD /* UIBezierPath.swift */; }; 8368D89E28CF3A09A2A4CBBA83663DCD /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CA8B94E9D3B433157168D1EECCEC11CD /* Foundation.framework */; }; - 88DE0AA2E9071FD322F40132B5ACE852 /* String.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9D9BB3003EBE622D53CE1A43730C52F /* String.swift */; }; + 88DE0AA2E9071FD322F40132B5ACE852 /* String.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CAC9E06708925371B8BFCC5484444DD /* String.swift */; }; 8CFC4188603B9D2F1121730741BF4129 /* GradientLoadingBar-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 2EB5F6B9626AFB367351433E58717378 /* GradientLoadingBar-dummy.m */; }; - 9104476A4778BB28C819AB92599A5B6E /* UIImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8703A929D837847AFFD9398983FDB99 /* UIImage.swift */; }; - 928DBECCA86A6F98E4B42FA62C5FF051 /* View.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4077B2112D2B1D73DE188E8058E85FA1 /* View.swift */; }; - 957508AA897C27F86D544CCF1CED1904 /* NSBezierPath.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA6A07B9F5942B9B48B90EEB598C7619 /* NSBezierPath.swift */; }; - 96E71750BD8C847E125FAB3C7A336224 /* URLRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 388DBB0163B3768EC43AB87FFED8A19D /* URLRequest.swift */; }; - 97BEDF828D70F8BE2BE4E917DD992C48 /* NSImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 887414A1F43A80406F38C7F3D271B973 /* NSImage.swift */; }; + 9104476A4778BB28C819AB92599A5B6E /* UIImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54653ADB348C04B28B4D3455911AEFA0 /* UIImage.swift */; }; + 91B00DCD938BF31110A20C50E3C2FC58 /* Observable+Combine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F94EC0823DB851E6D0A4C81C33A0CEA /* Observable+Combine.swift */; }; + 928DBECCA86A6F98E4B42FA62C5FF051 /* View.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1466DB0C211E9F079BFFFBDFDD4C1BD0 /* View.swift */; }; + 957508AA897C27F86D544CCF1CED1904 /* NSBezierPath.swift in Sources */ = {isa = PBXBuildFile; fileRef = D067B70655B4D91995A1AD085829D7BB /* NSBezierPath.swift */; }; + 96E71750BD8C847E125FAB3C7A336224 /* URLRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 948F5A85ABC960EDF780E259FB3A8E23 /* URLRequest.swift */; }; + 97BEDF828D70F8BE2BE4E917DD992C48 /* NSImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 80982F04B55AD6ED4052012DBA5D74E2 /* NSImage.swift */; }; 9A928C98ED7DC6E400590141FFF8184D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CA8B94E9D3B433157168D1EECCEC11CD /* Foundation.framework */; }; - 9B00AEBE5F221FE9815159125313C0BD /* Wait.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88324CDA62CABFBF5DA8963930242CDB /* Wait.swift */; }; - 9D65BFC4B2C4B6102D6B7EC25A7CD739 /* NSViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B67BD6ECBAB898E12CB2B4D25E835034 /* NSViewController.swift */; }; - 9D6622CDE2793B13735F47C44A7743ED /* SnapshotTesting-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 5BF80F682CAE5877E7D5846C8BF547AC /* SnapshotTesting-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9F6B241BE1332F18DFCC2BF32E03C42C /* UIView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B8C3644CAA8A93B3901127A7B8DE26E /* UIView.swift */; }; + 9B00AEBE5F221FE9815159125313C0BD /* Wait.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24E9153BF879D5DA5CDF2FF9BD6EE07A /* Wait.swift */; }; + 9D65BFC4B2C4B6102D6B7EC25A7CD739 /* NSViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B38ABB2556378E0FBBFAC5F022A3F36B /* NSViewController.swift */; }; + 9D6622CDE2793B13735F47C44A7743ED /* SnapshotTesting-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = BF6AF65269318A0D0E1C541D8D659BB5 /* SnapshotTesting-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9F6B241BE1332F18DFCC2BF32E03C42C /* UIView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 009FB438C78F42859CE255EDC7F22DB3 /* UIView.swift */; }; A515BDBD2767A9B62C4204B56D536D5A /* GradientLoadingBar-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = EA6885FB45B2DE2A16E806813F4448C3 /* GradientLoadingBar-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; AE9CFFEF1A0418411A63B2FA919F82BC /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CA8B94E9D3B433157168D1EECCEC11CD /* Foundation.framework */; }; AFE414B3E0D49B39A358DE524B0839D5 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CA8B94E9D3B433157168D1EECCEC11CD /* Foundation.framework */; }; - B0A60594C47C96278C474E106460EB42 /* Observable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DCA8C4CBB512E220B4470D94AF8BE7D /* Observable.swift */; }; - B43913DEF1B6D4A37DFCCBC484C0EAA3 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CA8B94E9D3B433157168D1EECCEC11CD /* Foundation.framework */; }; BFD9C55A9E36054591864A3D066CEB4E /* Pods-GradientLoadingBar_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A9107CAA27BA0679345F24910903133 /* Pods-GradientLoadingBar_Tests-dummy.m */; }; - C56B3E1A07308BCC8376D15C735B1C25 /* CALayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D59128C0184862956F5A6B6C4D6E476 /* CALayer.swift */; }; + C56B3E1A07308BCC8376D15C735B1C25 /* CALayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9761D5B7A8B0AF3C2D31731AA1E42F26 /* CALayer.swift */; }; + CB196C7B05685E1D7FF662F7652BA500 /* LightweightObservable-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = F0E19B3286278186EC4012CDF8CAA48F /* LightweightObservable-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; CCF6BE5916BD8F64AACED287B1364524 /* Pods-GradientLoadingBar_SnapshotTests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 172DF8516EF6D5757C3FBEF1C0CB52DC /* Pods-GradientLoadingBar_SnapshotTests-dummy.m */; }; - CFFD67104AE4ABBFEB3801F9B8149664 /* Async.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED5073BA8E5F040F45B737BBC7393222 /* Async.swift */; }; - D0A29718080A06AB351F6FA41B725BEA /* XCTAttachment.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4C95B2FA66AB0EFC760FE3BC82E183D /* XCTAttachment.swift */; }; + CFFD67104AE4ABBFEB3801F9B8149664 /* Async.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33915C6CA41A4120CCCFDA0A30623E99 /* Async.swift */; }; + D0A29718080A06AB351F6FA41B725BEA /* XCTAttachment.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B8421185176594CFD7B0CCE69071B4F /* XCTAttachment.swift */; }; + D0B06346D30863B023F787D5D579420B /* Disposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C70A9626A5985B4F9075500CF16CE8C8 /* Disposable.swift */; }; D3B742506DD86C2472678C4231F3CA7C /* GradientActivityIndicatorViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02F507B925649BDDC9AD86D1081E2FDE /* GradientActivityIndicatorViewModel.swift */; }; - D3C4D4F28C0180E812B6BA5FC4F5015B /* UIViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D21ADE128CE03553F0F1D720F4F967D /* UIViewController.swift */; }; - D7AE9DBB6C5D2522EB24A673921F9365 /* SwiftUIView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A501BC0324C0925814D79A81451E58C /* SwiftUIView.swift */; }; - DA787DFD55A7814418DE78F66BA70847 /* CaseIterable.swift in Sources */ = {isa = PBXBuildFile; fileRef = E475B473BD1D9805A199E083205DD153 /* CaseIterable.swift */; }; + D3C4D4F28C0180E812B6BA5FC4F5015B /* UIViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6BBB42D19B8EDB33AE63C1A34EAD81DE /* UIViewController.swift */; }; + D7AE9DBB6C5D2522EB24A673921F9365 /* SwiftUIView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E633CB1D426841C43DF3462991319C4 /* SwiftUIView.swift */; }; + DA787DFD55A7814418DE78F66BA70847 /* CaseIterable.swift in Sources */ = {isa = PBXBuildFile; fileRef = A38BD36975B9051B989F73656223996F /* CaseIterable.swift */; }; E0404744D0B923F648287A50A63209FB /* GradientLoadingBarController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 920B8BFECED5286B10CD4EAA43825EB6 /* GradientLoadingBarController.swift */; }; - E7F302A02A4D9CDBB6ED77A635E0D71D /* Observable+KeyPath.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B7AAA3C809414A46F196C6DE5F6CFB4 /* Observable+KeyPath.swift */; }; E9F255F44A070FE2F4A65A212FAEF61F /* Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = C882B82678DDD020D9056F5C439A303D /* Constants.swift */; }; - EB5F8B0D9E74FD8A1724B04E6AACFABE /* Snapshotting.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5DCE065F2DFC9DC8382D7C5D74163571 /* Snapshotting.swift */; }; + EB5F8B0D9E74FD8A1724B04E6AACFABE /* Snapshotting.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8DAABA5B241D32CC27078958069BCC5B /* Snapshotting.swift */; }; EE9AE0164C3214055E15309068AA5167 /* GradientActivityIndicatorView+AnimateIsHidden.swift in Sources */ = {isa = PBXBuildFile; fileRef = 55AAE272FE0A61E24BF8311A0DEE32D3 /* GradientActivityIndicatorView+AnimateIsHidden.swift */; }; - F8E9F04AB9A810D3ADCC67FA95CCD9D0 /* Observable+Equatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = E0AE401171F66B5A704B064F6007059B /* Observable+Equatable.swift */; }; - FCC2B5A63338D5A23A4A22DDC7BD22EB /* LightweightObservable-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B12FDB42E09EF68B5A13B6F29206C58 /* LightweightObservable-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - FEB8176EE5F7E44C5399D94BC6DE0C46 /* String+SpecialCharacters.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED333E2FD9F83C466E13C6A69C917345 /* String+SpecialCharacters.swift */; }; + FEB8176EE5F7E44C5399D94BC6DE0C46 /* String+SpecialCharacters.swift in Sources */ = {isa = PBXBuildFile; fileRef = F12C335B7DC098086708FA73A72EE357 /* String+SpecialCharacters.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 1A288224DD88E7929E76A0F7426DCA1D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = E0B6892AAEBA4792BFD4534123482521; - remoteInfo = "Pods-GradientLoadingBar_Example"; - }; - 37EF13960F5FE5AD371518E3EF2264CA /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = ADEAE7CDD604DE4F3072E6021A314487; - remoteInfo = SnapshotTesting; - }; - 69923C0DCC5D250C66583E9139A796BF /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = E0B6892AAEBA4792BFD4534123482521; - remoteInfo = "Pods-GradientLoadingBar_Example"; - }; - 6DB68D8BBE9AA7A465BC6B50BCCB356C /* PBXContainerItemProxy */ = { + 276CABBD3804115B644A56F123562956 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = 086F937CFC9099EB74E4B66BE7CBCB93; remoteInfo = LightweightObservable; }; - C47DC454DBF78E784D3BF99EB4F26380 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 086F937CFC9099EB74E4B66BE7CBCB93; - remoteInfo = LightweightObservable; - }; - C517585EFB4EC6F26A97045672F93408 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 52B60EC2A583F24ACBB69C113F5488B9; - remoteInfo = SwiftLint; - }; - CF7FA9373A539F47E9FE2D6437617BC3 /* PBXContainerItemProxy */ = { + 4012369D0A6B33A2D28988DC420728A7 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = B951B6FCD3E55AF969FBA9F7B476B877; remoteInfo = SwiftConfigurationFiles; }; - D1D244BE174E0FACF92F258BE6BAF653 /* PBXContainerItemProxy */ = { + 477DC7169CB4E1C57BA666CCE84BC9B5 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = AD9297F9E6CC3E50EDCFECA0A77800B7; remoteInfo = GradientLoadingBar; }; - ED318F74ACCF5F2A391A74CECC4AF733 /* PBXContainerItemProxy */ = { + 5DF2B2B5427040C6011055367B351C8F /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = E0B6892AAEBA4792BFD4534123482521; + remoteInfo = "Pods-GradientLoadingBar_Example"; + }; + 7633C8BB8928691939C63C8BF8F96578 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = 1CD0618C486973D5588EF20D2E8C0AEA; remoteInfo = SwiftFormat; }; + 8041B7D6F8DD028336D0B093E2B499EA /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = ADEAE7CDD604DE4F3072E6021A314487; + remoteInfo = SnapshotTesting; + }; + D403D63645BB96686AC4FFCF3FF0AA06 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 086F937CFC9099EB74E4B66BE7CBCB93; + remoteInfo = LightweightObservable; + }; + DC3A7A550F1D5D217989DBABEEEB6183 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = E0B6892AAEBA4792BFD4534123482521; + remoteInfo = "Pods-GradientLoadingBar_Example"; + }; + DF9B978CB494BA35B1C47288F181E799 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 52B60EC2A583F24ACBB69C113F5488B9; + remoteInfo = SwiftLint; + }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 00EBB6A2B0A117A761C58ED62B0D4C24 /* SwiftFormat.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftFormat.debug.xcconfig; sourceTree = ""; }; - 01195480F1DCEF69F5D9619C1B3C44E9 /* SnapshotTesting.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SnapshotTesting.release.xcconfig; sourceTree = ""; }; + 009FB438C78F42859CE255EDC7F22DB3 /* UIView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UIView.swift; path = Sources/SnapshotTesting/Snapshotting/UIView.swift; sourceTree = ""; }; 01F10362867DE1BC975D30D2B32F0ECA /* GradientLoadingBar-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "GradientLoadingBar-Info.plist"; sourceTree = ""; }; - 02CD89009632E27BD479C79D599B107A /* Codable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Codable.swift; path = Sources/SnapshotTesting/Snapshotting/Codable.swift; sourceTree = ""; }; 02F507B925649BDDC9AD86D1081E2FDE /* GradientActivityIndicatorViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = GradientActivityIndicatorViewModel.swift; sourceTree = ""; }; + 034096A652454C479D78A11AF0738191 /* SnapshotTesting-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SnapshotTesting-prefix.pch"; sourceTree = ""; }; + 04D67E1AC2B476618545A95A11B5B811 /* SwiftConfigurationFiles.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftConfigurationFiles.release.xcconfig; sourceTree = ""; }; + 074CBA3DACEF2667EFED2C72D45A2403 /* LightweightObservable.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = LightweightObservable.release.xcconfig; sourceTree = ""; }; + 08E87DFECD69E46292154E099AB8D144 /* SwiftLint.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftLint.debug.xcconfig; sourceTree = ""; }; 0A6AFF4C6A1BA30CE9B8A5B1CEDC407A /* NotchGradientLoadingBarViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = NotchGradientLoadingBarViewModel.swift; sourceTree = ""; }; + 0E633CB1D426841C43DF3462991319C4 /* SwiftUIView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwiftUIView.swift; path = Sources/SnapshotTesting/Snapshotting/SwiftUIView.swift; sourceTree = ""; }; 108AACC96F7DBC089B0840E09F19C698 /* Pods-GradientLoadingBar_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-GradientLoadingBar_Example.release.xcconfig"; sourceTree = ""; }; - 12241E9306298FD7BD30DD97B2F2F585 /* Description.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Description.swift; path = Sources/SnapshotTesting/Snapshotting/Description.swift; sourceTree = ""; }; 132C18988D60EF85736C043D43C19E57 /* Pods-GradientLoadingBar_Tests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-GradientLoadingBar_Tests-umbrella.h"; sourceTree = ""; }; 13520AB8B3790CE3CEDCBBEEE1EF237A /* Pods-GradientLoadingBar_SnapshotTests */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Pods-GradientLoadingBar_SnapshotTests"; path = Pods_GradientLoadingBar_SnapshotTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 143F2717B1133164FBCC65A2DF3C3C67 /* LightweightObservable-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "LightweightObservable-Info.plist"; sourceTree = ""; }; + 1466DB0C211E9F079BFFFBDFDD4C1BD0 /* View.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = View.swift; path = Sources/SnapshotTesting/Common/View.swift; sourceTree = ""; }; 1679A4CF92D4ADFB15F8200201EC3AE5 /* Pods-GradientLoadingBar_SnapshotTests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-GradientLoadingBar_SnapshotTests-frameworks.sh"; sourceTree = ""; }; 1711FC18263D47D46851F0433A93F110 /* Pods-GradientLoadingBar_Tests */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Pods-GradientLoadingBar_Tests"; path = Pods_GradientLoadingBar_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 172DF8516EF6D5757C3FBEF1C0CB52DC /* Pods-GradientLoadingBar_SnapshotTests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-GradientLoadingBar_SnapshotTests-dummy.m"; sourceTree = ""; }; + 195C9E50C429616417E6F569B20896A6 /* Diff.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Diff.swift; path = Sources/SnapshotTesting/Diff.swift; sourceTree = ""; }; 1A9107CAA27BA0679345F24910903133 /* Pods-GradientLoadingBar_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-GradientLoadingBar_Tests-dummy.m"; sourceTree = ""; }; 1B664F0A7F5E59140F761C16069995E9 /* Pods-GradientLoadingBar_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-GradientLoadingBar_Tests.release.xcconfig"; sourceTree = ""; }; 1CA5ADE67427DB590BC5414E8E4498BA /* Pods-GradientLoadingBar_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-GradientLoadingBar_Tests-acknowledgements.plist"; sourceTree = ""; }; - 1F070D4133AC30EFD0B1CBDAD691998A /* LightweightObservable-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "LightweightObservable-prefix.pch"; sourceTree = ""; }; + 1CAC9E06708925371B8BFCC5484444DD /* String.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = String.swift; path = Sources/SnapshotTesting/Snapshotting/String.swift; sourceTree = ""; }; + 1F94EC0823DB851E6D0A4C81C33A0CEA /* Observable+Combine.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Combine.swift"; path = "LightweightObservable/Extensions/Observable+Combine.swift"; sourceTree = ""; }; + 2009541AEFF2EFDA3802BF5CF3C8C6ED /* SnapshotTesting.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SnapshotTesting.modulemap; sourceTree = ""; }; 219D91F90F2D4E48019FF8920700C17F /* Pods-GradientLoadingBar_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-GradientLoadingBar_Tests-acknowledgements.markdown"; sourceTree = ""; }; - 22B25BD308FFF65FD10083A71DF8B6D0 /* Internal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Internal.swift; path = Sources/SnapshotTesting/Common/Internal.swift; sourceTree = ""; }; - 235E88FACFE1686D577A236842D3E2F8 /* Data.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Data.swift; path = Sources/SnapshotTesting/Snapshotting/Data.swift; sourceTree = ""; }; - 266C8D88734DA14C89122CA08DE224B9 /* SnapshotTesting.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SnapshotTesting.modulemap; sourceTree = ""; }; - 27481F5BB2B02F8C989E93FBE449F4C0 /* AssertSnapshot.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AssertSnapshot.swift; path = Sources/SnapshotTesting/AssertSnapshot.swift; sourceTree = ""; }; - 283322DA7A49E2E4D67B814963BECFB3 /* SwiftLint.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftLint.release.xcconfig; sourceTree = ""; }; - 29287A9837B9E7B9DCE4C137404D02C6 /* AssertInlineSnapshot.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AssertInlineSnapshot.swift; path = Sources/SnapshotTesting/AssertInlineSnapshot.swift; sourceTree = ""; }; + 24E9153BF879D5DA5CDF2FF9BD6EE07A /* Wait.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Wait.swift; path = Sources/SnapshotTesting/Extensions/Wait.swift; sourceTree = ""; }; 2D246858B1E28690CC1921F1EC8328E1 /* Pods-GradientLoadingBar_Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-GradientLoadingBar_Example-frameworks.sh"; sourceTree = ""; }; + 2E06D57A35648ECBC97644D217B868BD /* UIBezierPath.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UIBezierPath.swift; path = Sources/SnapshotTesting/Snapshotting/UIBezierPath.swift; sourceTree = ""; }; 2E16A843354D5BC8D4DA54D9AEFEAAB2 /* Pods-GradientLoadingBar_SnapshotTests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-GradientLoadingBar_SnapshotTests-acknowledgements.plist"; sourceTree = ""; }; 2EB5F6B9626AFB367351433E58717378 /* GradientLoadingBar-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "GradientLoadingBar-dummy.m"; sourceTree = ""; }; - 3347134442AAF2B9DB7E1F4E2E3E8B66 /* SnapshotTestCase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SnapshotTestCase.swift; path = Sources/SnapshotTesting/SnapshotTestCase.swift; sourceTree = ""; }; - 3745B9ADEFD5EB502DDDCA38C54C0469 /* SpriteKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SpriteKit.swift; path = Sources/SnapshotTesting/Snapshotting/SpriteKit.swift; sourceTree = ""; }; - 388DBB0163B3768EC43AB87FFED8A19D /* URLRequest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = URLRequest.swift; path = Sources/SnapshotTesting/Snapshotting/URLRequest.swift; sourceTree = ""; }; + 321E0EECA8025D4E3C0406B264AB9F4A /* SwiftFormat.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftFormat.release.xcconfig; sourceTree = ""; }; + 33915C6CA41A4120CCCFDA0A30623E99 /* Async.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Async.swift; path = Sources/SnapshotTesting/Async.swift; sourceTree = ""; }; + 371D3CDC7543AF863ADAE5F4D66D793C /* Internal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Internal.swift; path = Sources/SnapshotTesting/Common/Internal.swift; sourceTree = ""; }; + 392F0D54DA316F76F7B4DF63E033D602 /* SnapshotTesting-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "SnapshotTesting-Info.plist"; sourceTree = ""; }; + 39724ABA4E40A364B25F01F3E3CE31EC /* SwiftLint.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftLint.release.xcconfig; sourceTree = ""; }; 3A900E1CFF1D76CF61DDF7358F5C8863 /* Pods-GradientLoadingBar_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-GradientLoadingBar_Example-umbrella.h"; sourceTree = ""; }; 3C6A379C135C84644F189B8056CCBA04 /* Pods-GradientLoadingBar_Example */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Pods-GradientLoadingBar_Example"; path = Pods_GradientLoadingBar_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 3D1546F727E84C17FB03D49A501AEBF3 /* LightweightObservable.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = LightweightObservable.modulemap; sourceTree = ""; }; - 4077B2112D2B1D73DE188E8058E85FA1 /* View.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = View.swift; path = Sources/SnapshotTesting/Common/View.swift; sourceTree = ""; }; 412F23BDA9646A7744AC81F4006F0817 /* GradientLoadingBar.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = GradientLoadingBar.release.xcconfig; sourceTree = ""; }; 432F44D6009308BDE038D8F587A32CC7 /* GradientLoadingBar.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = GradientLoadingBar.modulemap; sourceTree = ""; }; + 4342969D6D37396C136697D0BC1C2A06 /* SceneKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SceneKit.swift; path = Sources/SnapshotTesting/Snapshotting/SceneKit.swift; sourceTree = ""; }; 4371A74F9A6D74628527A30E755EFF25 /* Pods-GradientLoadingBar_SnapshotTests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-GradientLoadingBar_SnapshotTests-umbrella.h"; sourceTree = ""; }; - 44FC5949DA58E53329E8837F44618093 /* SwiftLint.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftLint.debug.xcconfig; sourceTree = ""; }; - 4F9247405B237F2F2FC8E7A4256E26CE /* SnapshotTesting-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "SnapshotTesting-Info.plist"; sourceTree = ""; }; - 510E624D0F605EB57201AFDACB0A1AA6 /* Diff.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Diff.swift; path = Sources/SnapshotTesting/Diff.swift; sourceTree = ""; }; + 4B8421185176594CFD7B0CCE69071B4F /* XCTAttachment.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = XCTAttachment.swift; path = Sources/SnapshotTesting/Common/XCTAttachment.swift; sourceTree = ""; }; + 523B7174E480C3FA74F83ABE7056DE17 /* Observable+Equatable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Equatable.swift"; path = "LightweightObservable/Extensions/Observable+Equatable.swift"; sourceTree = ""; }; + 54653ADB348C04B28B4D3455911AEFA0 /* UIImage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UIImage.swift; path = Sources/SnapshotTesting/Snapshotting/UIImage.swift; sourceTree = ""; }; 55AAE272FE0A61E24BF8311A0DEE32D3 /* GradientActivityIndicatorView+AnimateIsHidden.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "GradientActivityIndicatorView+AnimateIsHidden.swift"; sourceTree = ""; }; - 5A95E0EC64A130765609C642BEF951DC /* SnapshotTesting.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SnapshotTesting.debug.xcconfig; sourceTree = ""; }; - 5BDC2C00D01795D9D5474A268FEA0790 /* CGPath.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CGPath.swift; path = Sources/SnapshotTesting/Snapshotting/CGPath.swift; sourceTree = ""; }; - 5BF80F682CAE5877E7D5846C8BF547AC /* SnapshotTesting-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SnapshotTesting-umbrella.h"; sourceTree = ""; }; - 5D59128C0184862956F5A6B6C4D6E476 /* CALayer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CALayer.swift; path = Sources/SnapshotTesting/Snapshotting/CALayer.swift; sourceTree = ""; }; - 5DCE065F2DFC9DC8382D7C5D74163571 /* Snapshotting.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Snapshotting.swift; path = Sources/SnapshotTesting/Snapshotting.swift; sourceTree = ""; }; 5EB07AAAC446BF6E90F73800EBBC633A /* readme.md */ = {isa = PBXFileReference; includeInIndex = 1; path = readme.md; sourceTree = ""; }; 5EBC8F300895E39EA0DF6D6B2B5E6BCD /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; - 60F741339642A8D8B19A4EF0EDE2B528 /* LightweightObservable-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "LightweightObservable-dummy.m"; sourceTree = ""; }; 652D9AA358DBDB2DBA1CFB02CCBA8DC4 /* Pods-GradientLoadingBar_Tests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-GradientLoadingBar_Tests-Info.plist"; sourceTree = ""; }; - 675C8FED0CA649F447020502AC40DA94 /* Diffing.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Diffing.swift; path = Sources/SnapshotTesting/Diffing.swift; sourceTree = ""; }; 67873E92210DD4E777C49C6E8AEDC108 /* GradientLoadingBar */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = GradientLoadingBar; path = GradientLoadingBar.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 67DB9A65EEF58E7930846A0CEE3DA0F2 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = ""; }; 69838A921E83418B945E72EB342809F5 /* Pods-GradientLoadingBar_SnapshotTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-GradientLoadingBar_SnapshotTests.debug.xcconfig"; sourceTree = ""; }; - 6B8C3644CAA8A93B3901127A7B8DE26E /* UIView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UIView.swift; path = Sources/SnapshotTesting/Snapshotting/UIView.swift; sourceTree = ""; }; - 6BA6CC273DB1F3DF8863CA959253A9E1 /* LightweightObservable.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = LightweightObservable.debug.xcconfig; sourceTree = ""; }; + 6BBB42D19B8EDB33AE63C1A34EAD81DE /* UIViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UIViewController.swift; path = Sources/SnapshotTesting/Snapshotting/UIViewController.swift; sourceTree = ""; }; 72E1E31C3B08F491DD072C74B13669AB /* GradientLoadingBar.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = GradientLoadingBar.debug.xcconfig; sourceTree = ""; }; - 739B52B367A66EB59594809032052D1F /* SwiftConfigurationFiles.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftConfigurationFiles.debug.xcconfig; sourceTree = ""; }; - 752098F700D4627B4812D33624EC3D46 /* NSView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NSView.swift; path = Sources/SnapshotTesting/Snapshotting/NSView.swift; sourceTree = ""; }; + 785E1BC5584D16AC9173E04DE45A6036 /* LightweightObservable-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "LightweightObservable-dummy.m"; sourceTree = ""; }; 7BFBD5D32218C4E5AE0EE65833E6E9BE /* GradientLoadingBar.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = GradientLoadingBar.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 80BF588C375E0686FCE12E6B7A297CE7 /* Disposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Disposable.swift; path = LightweightObservable/Classes/Disposable.swift; sourceTree = ""; }; + 80982F04B55AD6ED4052012DBA5D74E2 /* NSImage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NSImage.swift; path = Sources/SnapshotTesting/Snapshotting/NSImage.swift; sourceTree = ""; }; 8194C4CB9E683FC366F48513ED1B1A9A /* Pods-GradientLoadingBar_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-GradientLoadingBar_Example-dummy.m"; sourceTree = ""; }; - 8625DAD35C01DA8A227DFE847303FD36 /* SceneKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SceneKit.swift; path = Sources/SnapshotTesting/Snapshotting/SceneKit.swift; sourceTree = ""; }; - 88324CDA62CABFBF5DA8963930242CDB /* Wait.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Wait.swift; path = Sources/SnapshotTesting/Extensions/Wait.swift; sourceTree = ""; }; - 887414A1F43A80406F38C7F3D271B973 /* NSImage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NSImage.swift; path = Sources/SnapshotTesting/Snapshotting/NSImage.swift; sourceTree = ""; }; - 8A501BC0324C0925814D79A81451E58C /* SwiftUIView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwiftUIView.swift; path = Sources/SnapshotTesting/Snapshotting/SwiftUIView.swift; sourceTree = ""; }; - 8B12FDB42E09EF68B5A13B6F29206C58 /* LightweightObservable-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "LightweightObservable-umbrella.h"; sourceTree = ""; }; - 8B7AAA3C809414A46F196C6DE5F6CFB4 /* Observable+KeyPath.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+KeyPath.swift"; path = "LightweightObservable/Classes/Extensions/Observable+KeyPath.swift"; sourceTree = ""; }; + 86A83C5000A82493337A3DFC79D0B56F /* PlistEncoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PlistEncoder.swift; path = Sources/SnapshotTesting/Common/PlistEncoder.swift; sourceTree = ""; }; + 89D6B1C70C53B6DA6E6D0456F0F7DBD8 /* Observable+KeyPath.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+KeyPath.swift"; path = "LightweightObservable/Extensions/Observable+KeyPath.swift"; sourceTree = ""; }; + 8B75864FEFCDD0C986F965BC9B1D2A1B /* LightweightObservable.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = LightweightObservable.debug.xcconfig; sourceTree = ""; }; 8BC3C52825EB9FF41BCF9CDBAD1CFBFC /* GradientLoadingBarViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = GradientLoadingBarViewModel.swift; sourceTree = ""; }; - 8DD33C2202B004A8B452184DCFAB4DEC /* SnapshotTesting-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SnapshotTesting-prefix.pch"; sourceTree = ""; }; + 8D70287148495215062E5030BA6267BB /* Codable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Codable.swift; path = Sources/SnapshotTesting/Snapshotting/Codable.swift; sourceTree = ""; }; + 8DAABA5B241D32CC27078958069BCC5B /* Snapshotting.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Snapshotting.swift; path = Sources/SnapshotTesting/Snapshotting.swift; sourceTree = ""; }; 920B8BFECED5286B10CD4EAA43825EB6 /* GradientLoadingBarController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GradientLoadingBarController.swift; path = GradientLoadingBar/Classes/GradientLoadingBarController.swift; sourceTree = ""; }; - 9C2EEFBFFAE6AD15C903A20EE7BF57D7 /* Any.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Any.swift; path = Sources/SnapshotTesting/Snapshotting/Any.swift; sourceTree = ""; }; - 9D21ADE128CE03553F0F1D720F4F967D /* UIViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UIViewController.swift; path = Sources/SnapshotTesting/Snapshotting/UIViewController.swift; sourceTree = ""; }; + 92595228CA62A3593A599AE616D42DC9 /* LightweightObservable-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "LightweightObservable-prefix.pch"; sourceTree = ""; }; + 948F5A85ABC960EDF780E259FB3A8E23 /* URLRequest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = URLRequest.swift; path = Sources/SnapshotTesting/Snapshotting/URLRequest.swift; sourceTree = ""; }; + 94F6960E2E6F81EA1AEEEC7CAC13C054 /* NSView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NSView.swift; path = Sources/SnapshotTesting/Snapshotting/NSView.swift; sourceTree = ""; }; + 9761D5B7A8B0AF3C2D31731AA1E42F26 /* CALayer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CALayer.swift; path = Sources/SnapshotTesting/Snapshotting/CALayer.swift; sourceTree = ""; }; + 9801722F42CF5540558E2186724E2F08 /* AssertInlineSnapshot.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AssertInlineSnapshot.swift; path = Sources/SnapshotTesting/AssertInlineSnapshot.swift; sourceTree = ""; }; + 9D21619E3127A33326194FAC5E0241D7 /* SnapshotTesting.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SnapshotTesting.debug.xcconfig; sourceTree = ""; }; 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 9DCA8C4CBB512E220B4470D94AF8BE7D /* Observable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Observable.swift; path = LightweightObservable/Classes/Observable.swift; sourceTree = ""; }; 9DD32929B122D2561D1E99468EECDBF7 /* Pods-GradientLoadingBar_SnapshotTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-GradientLoadingBar_SnapshotTests.release.xcconfig"; sourceTree = ""; }; A037DBBCCACBFACB5C39A80B1C273043 /* SnapshotTesting */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = SnapshotTesting; path = SnapshotTesting.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + A38BD36975B9051B989F73656223996F /* CaseIterable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CaseIterable.swift; path = Sources/SnapshotTesting/Snapshotting/CaseIterable.swift; sourceTree = ""; }; A652F20CE7EE44E64565C2120B651665 /* Pods-GradientLoadingBar_SnapshotTests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-GradientLoadingBar_SnapshotTests.modulemap"; sourceTree = ""; }; - A85AAD62B88A5A61ED41F15941BCF50E /* UIBezierPath.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UIBezierPath.swift; path = Sources/SnapshotTesting/Snapshotting/UIBezierPath.swift; sourceTree = ""; }; - A8703A929D837847AFFD9398983FDB99 /* UIImage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UIImage.swift; path = Sources/SnapshotTesting/Snapshotting/UIImage.swift; sourceTree = ""; }; A95E7032DE35DF972EF7FEC8A884303B /* Pods-GradientLoadingBar_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-GradientLoadingBar_Example.debug.xcconfig"; sourceTree = ""; }; + AE02F290421D0044A7B9B488A50DBD6C /* SwiftConfigurationFiles.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftConfigurationFiles.debug.xcconfig; sourceTree = ""; }; B1518F0564D9405495037F4713C4F143 /* Pods-GradientLoadingBar_Tests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-GradientLoadingBar_Tests.modulemap"; sourceTree = ""; }; B27AAA41B1DEF56C8059867126A15A38 /* Pods-GradientLoadingBar_Example-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-GradientLoadingBar_Example-Info.plist"; sourceTree = ""; }; - B67BD6ECBAB898E12CB2B4D25E835034 /* NSViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NSViewController.swift; path = Sources/SnapshotTesting/Snapshotting/NSViewController.swift; sourceTree = ""; }; + B38ABB2556378E0FBBFAC5F022A3F36B /* NSViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NSViewController.swift; path = Sources/SnapshotTesting/Snapshotting/NSViewController.swift; sourceTree = ""; }; B7FF35F32E5C06204CAF8183AC101D53 /* Pods-GradientLoadingBar_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-GradientLoadingBar_Example-acknowledgements.plist"; sourceTree = ""; }; - BA6A07B9F5942B9B48B90EEB598C7619 /* NSBezierPath.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NSBezierPath.swift; path = Sources/SnapshotTesting/Snapshotting/NSBezierPath.swift; sourceTree = ""; }; - BB7F5859015C08DC99F4102C2001E38C /* LightweightObservable-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "LightweightObservable-Info.plist"; sourceTree = ""; }; BBB6B9166CB669730E6755D0283ACC89 /* GradientLoadingBar-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "GradientLoadingBar-prefix.pch"; sourceTree = ""; }; BEBA37204701F79F631433A8EEF190E7 /* Pods-GradientLoadingBar_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-GradientLoadingBar_Example-acknowledgements.markdown"; sourceTree = ""; }; - C4C95B2FA66AB0EFC760FE3BC82E183D /* XCTAttachment.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = XCTAttachment.swift; path = Sources/SnapshotTesting/Common/XCTAttachment.swift; sourceTree = ""; }; + BF6AF65269318A0D0E1C541D8D659BB5 /* SnapshotTesting-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SnapshotTesting-umbrella.h"; sourceTree = ""; }; + C70A9626A5985B4F9075500CF16CE8C8 /* Disposable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Disposable.swift; path = LightweightObservable/Disposable.swift; sourceTree = ""; }; + C75C124F1A4261FB6DC06040CA090D87 /* LightweightObservable.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = LightweightObservable.modulemap; sourceTree = ""; }; C882B82678DDD020D9056F5C439A303D /* Constants.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Constants.swift; sourceTree = ""; }; C9CADA2B0AD5E703D468B06A67A80492 /* NotchGradientLoadingBarController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NotchGradientLoadingBarController.swift; path = GradientLoadingBar/Classes/NotchGradientLoadingBarController.swift; sourceTree = ""; }; - C9D9BB3003EBE622D53CE1A43730C52F /* String.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = String.swift; path = Sources/SnapshotTesting/Snapshotting/String.swift; sourceTree = ""; }; CA8B94E9D3B433157168D1EECCEC11CD /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - D247995FCD2185571A788888D6C5722F /* PlistEncoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PlistEncoder.swift; path = Sources/SnapshotTesting/Common/PlistEncoder.swift; sourceTree = ""; }; - D2F1D5D4FE8EB1B511317314725F9D54 /* SwiftConfigurationFiles.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftConfigurationFiles.release.xcconfig; sourceTree = ""; }; - D997502F7A2A3F2E07DE43BA6C33DEF8 /* SwiftFormat.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftFormat.release.xcconfig; sourceTree = ""; }; - D9EECF497600BB53CEDDACB2CE8A2B9D /* LightweightObservable.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = LightweightObservable.release.xcconfig; sourceTree = ""; }; - E0AE401171F66B5A704B064F6007059B /* Observable+Equatable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Observable+Equatable.swift"; path = "LightweightObservable/Classes/Extensions/Observable+Equatable.swift"; sourceTree = ""; }; + CE73B31D3D042300127FE7545DC9A288 /* Data.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Data.swift; path = Sources/SnapshotTesting/Snapshotting/Data.swift; sourceTree = ""; }; + CEB65A52E203646F5F85230CB37055A7 /* AssertSnapshot.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AssertSnapshot.swift; path = Sources/SnapshotTesting/AssertSnapshot.swift; sourceTree = ""; }; + CED5F046F3966BF1758156DB5C0EAC5E /* Diffing.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Diffing.swift; path = Sources/SnapshotTesting/Diffing.swift; sourceTree = ""; }; + D067B70655B4D91995A1AD085829D7BB /* NSBezierPath.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NSBezierPath.swift; path = Sources/SnapshotTesting/Snapshotting/NSBezierPath.swift; sourceTree = ""; }; + D90A4312109DE68F0350FBB5DD551816 /* CGPath.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CGPath.swift; path = Sources/SnapshotTesting/Snapshotting/CGPath.swift; sourceTree = ""; }; + DFDBA3729D272425F9E33F46EF920BFF /* SnapshotTesting.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SnapshotTesting.release.xcconfig; sourceTree = ""; }; E0D90990792D653F523A884442305989 /* Pods-GradientLoadingBar_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-GradientLoadingBar_Example.modulemap"; sourceTree = ""; }; - E475B473BD1D9805A199E083205DD153 /* CaseIterable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CaseIterable.swift; path = Sources/SnapshotTesting/Snapshotting/CaseIterable.swift; sourceTree = ""; }; + E2FF4849BA9ABFDAF933BC11BBE59A72 /* Description.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Description.swift; path = Sources/SnapshotTesting/Snapshotting/Description.swift; sourceTree = ""; }; + E43F95A56840098ECFFB3426EC236F54 /* SwiftFormat.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftFormat.debug.xcconfig; sourceTree = ""; }; + E71E37779A210E3F9958FB4B465CC3B6 /* Any.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Any.swift; path = Sources/SnapshotTesting/Snapshotting/Any.swift; sourceTree = ""; }; + E7B244F28A1FD6EEA4564C67C401D680 /* SnapshotTestCase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SnapshotTestCase.swift; path = Sources/SnapshotTesting/SnapshotTestCase.swift; sourceTree = ""; }; + E7C32BCB3A8CDE7A967257032D2CB146 /* SpriteKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SpriteKit.swift; path = Sources/SnapshotTesting/Snapshotting/SpriteKit.swift; sourceTree = ""; }; + E86B6F99751F56AA8AC35B5835DE4722 /* SnapshotTesting-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SnapshotTesting-dummy.m"; sourceTree = ""; }; EA6885FB45B2DE2A16E806813F4448C3 /* GradientLoadingBar-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "GradientLoadingBar-umbrella.h"; sourceTree = ""; }; - ED333E2FD9F83C466E13C6A69C917345 /* String+SpecialCharacters.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+SpecialCharacters.swift"; path = "Sources/SnapshotTesting/Common/String+SpecialCharacters.swift"; sourceTree = ""; }; - ED5073BA8E5F040F45B737BBC7393222 /* Async.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Async.swift; path = Sources/SnapshotTesting/Async.swift; sourceTree = ""; }; + EDFA33C3D1AF4C2C0CDAFFE7D06B88AF /* Observable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Observable.swift; path = LightweightObservable/Observable.swift; sourceTree = ""; }; + F0E19B3286278186EC4012CDF8CAA48F /* LightweightObservable-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "LightweightObservable-umbrella.h"; sourceTree = ""; }; + F12C335B7DC098086708FA73A72EE357 /* String+SpecialCharacters.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+SpecialCharacters.swift"; path = "Sources/SnapshotTesting/Common/String+SpecialCharacters.swift"; sourceTree = ""; }; F196AAA163469B17170E99B82C7C4C0A /* LightweightObservable */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = LightweightObservable; path = LightweightObservable.framework; sourceTree = BUILT_PRODUCTS_DIR; }; F7B1750DE470F045803DE2094D5F7264 /* Pods-GradientLoadingBar_SnapshotTests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-GradientLoadingBar_SnapshotTests-Info.plist"; sourceTree = ""; }; FBAEAE91BB9B77006558E537894C33C5 /* Pods-GradientLoadingBar_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-GradientLoadingBar_Tests.debug.xcconfig"; sourceTree = ""; }; FBDE3024CEF242BA05EBFE42A753D313 /* GradientActivityIndicatorView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = GradientActivityIndicatorView.swift; sourceTree = ""; }; FF135E1D23F08BE7F1D7FFC86260EF9B /* Pods-GradientLoadingBar_SnapshotTests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-GradientLoadingBar_SnapshotTests-acknowledgements.markdown"; sourceTree = ""; }; - FFB61086549332856EE450986DDA39E3 /* SnapshotTesting-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SnapshotTesting-dummy.m"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -291,11 +293,11 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 663D284D2517F59C4EF9A97C628583B7 /* Frameworks */ = { + 451D4F703C0E61819FF0AC5A649A439F /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - B43913DEF1B6D4A37DFCCBC484C0EAA3 /* Foundation.framework in Frameworks */, + 388F17A5CB909F346CB831BE157AC83C /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -335,19 +337,14 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 0E360A9F9862C6DCC0C9EF8C5DF2BF51 /* Support Files */ = { + 04671A532A737A9698DE71F7DEA1802A /* Support Files */ = { isa = PBXGroup; children = ( - 266C8D88734DA14C89122CA08DE224B9 /* SnapshotTesting.modulemap */, - FFB61086549332856EE450986DDA39E3 /* SnapshotTesting-dummy.m */, - 4F9247405B237F2F2FC8E7A4256E26CE /* SnapshotTesting-Info.plist */, - 8DD33C2202B004A8B452184DCFAB4DEC /* SnapshotTesting-prefix.pch */, - 5BF80F682CAE5877E7D5846C8BF547AC /* SnapshotTesting-umbrella.h */, - 5A95E0EC64A130765609C642BEF951DC /* SnapshotTesting.debug.xcconfig */, - 01195480F1DCEF69F5D9619C1B3C44E9 /* SnapshotTesting.release.xcconfig */, + AE02F290421D0044A7B9B488A50DBD6C /* SwiftConfigurationFiles.debug.xcconfig */, + 04D67E1AC2B476618545A95A11B5B811 /* SwiftConfigurationFiles.release.xcconfig */, ); name = "Support Files"; - path = "../Target Support Files/SnapshotTesting"; + path = "../Target Support Files/SwiftConfigurationFiles"; sourceTree = ""; }; 11743C6FFCADF6A7B5BE6FA435115EA3 /* Views */ = { @@ -384,17 +381,29 @@ path = "Target Support Files/Pods-GradientLoadingBar_Tests"; sourceTree = ""; }; - 1A4994587C8740E379304D1195D62258 /* LightweightObservable */ = { + 2AFC4759ECC4D53FF9953C3CFBE67078 /* Support Files */ = { isa = PBXGroup; children = ( - 80BF588C375E0686FCE12E6B7A297CE7 /* Disposable.swift */, - 9DCA8C4CBB512E220B4470D94AF8BE7D /* Observable.swift */, - E0AE401171F66B5A704B064F6007059B /* Observable+Equatable.swift */, - 8B7AAA3C809414A46F196C6DE5F6CFB4 /* Observable+KeyPath.swift */, - 9CF614E301B83EC4DD18CF37D095ED73 /* Support Files */, + 2009541AEFF2EFDA3802BF5CF3C8C6ED /* SnapshotTesting.modulemap */, + E86B6F99751F56AA8AC35B5835DE4722 /* SnapshotTesting-dummy.m */, + 392F0D54DA316F76F7B4DF63E033D602 /* SnapshotTesting-Info.plist */, + 034096A652454C479D78A11AF0738191 /* SnapshotTesting-prefix.pch */, + BF6AF65269318A0D0E1C541D8D659BB5 /* SnapshotTesting-umbrella.h */, + 9D21619E3127A33326194FAC5E0241D7 /* SnapshotTesting.debug.xcconfig */, + DFDBA3729D272425F9E33F46EF920BFF /* SnapshotTesting.release.xcconfig */, ); - name = LightweightObservable; - path = LightweightObservable; + name = "Support Files"; + path = "../Target Support Files/SnapshotTesting"; + sourceTree = ""; + }; + 2B23D09BF983A3F081B96D5579D08787 /* Support Files */ = { + isa = PBXGroup; + children = ( + 08E87DFECD69E46292154E099AB8D144 /* SwiftLint.debug.xcconfig */, + 39724ABA4E40A364B25F01F3E3CE31EC /* SwiftLint.release.xcconfig */, + ); + name = "Support Files"; + path = "../Target Support Files/SwiftLint"; sourceTree = ""; }; 2BEFDB084B1FC055097BB3AF7230859C /* Pod */ = { @@ -407,24 +416,6 @@ name = Pod; sourceTree = ""; }; - 2DF6616C733AD295C813A7B4AFFB3F7B /* SwiftLint */ = { - isa = PBXGroup; - children = ( - D849F6B1672F929753FBCBD372FABBFA /* Support Files */, - ); - name = SwiftLint; - path = SwiftLint; - sourceTree = ""; - }; - 3D5AEA9F1D53DA9658A949832ACA09D4 /* SwiftFormat */ = { - isa = PBXGroup; - children = ( - 73893CCD044DB8B8BFF17C6C86A52345 /* Support Files */, - ); - name = SwiftFormat; - path = SwiftFormat; - sourceTree = ""; - }; 42C5E31CFED75787FC35907ED840E206 /* Products */ = { isa = PBXGroup; children = ( @@ -438,46 +429,13 @@ name = Products; sourceTree = ""; }; - 4EF94CB118C72CED447C8FBDF9771B52 /* SnapshotTesting */ = { + 43AAC1AB1516723E83B3890B1D058A16 /* SwiftConfigurationFiles */ = { isa = PBXGroup; children = ( - 9C2EEFBFFAE6AD15C903A20EE7BF57D7 /* Any.swift */, - 29287A9837B9E7B9DCE4C137404D02C6 /* AssertInlineSnapshot.swift */, - 27481F5BB2B02F8C989E93FBE449F4C0 /* AssertSnapshot.swift */, - ED5073BA8E5F040F45B737BBC7393222 /* Async.swift */, - 5D59128C0184862956F5A6B6C4D6E476 /* CALayer.swift */, - E475B473BD1D9805A199E083205DD153 /* CaseIterable.swift */, - 5BDC2C00D01795D9D5474A268FEA0790 /* CGPath.swift */, - 02CD89009632E27BD479C79D599B107A /* Codable.swift */, - 235E88FACFE1686D577A236842D3E2F8 /* Data.swift */, - 12241E9306298FD7BD30DD97B2F2F585 /* Description.swift */, - 510E624D0F605EB57201AFDACB0A1AA6 /* Diff.swift */, - 675C8FED0CA649F447020502AC40DA94 /* Diffing.swift */, - 22B25BD308FFF65FD10083A71DF8B6D0 /* Internal.swift */, - BA6A07B9F5942B9B48B90EEB598C7619 /* NSBezierPath.swift */, - 887414A1F43A80406F38C7F3D271B973 /* NSImage.swift */, - 752098F700D4627B4812D33624EC3D46 /* NSView.swift */, - B67BD6ECBAB898E12CB2B4D25E835034 /* NSViewController.swift */, - D247995FCD2185571A788888D6C5722F /* PlistEncoder.swift */, - 8625DAD35C01DA8A227DFE847303FD36 /* SceneKit.swift */, - 3347134442AAF2B9DB7E1F4E2E3E8B66 /* SnapshotTestCase.swift */, - 5DCE065F2DFC9DC8382D7C5D74163571 /* Snapshotting.swift */, - 3745B9ADEFD5EB502DDDCA38C54C0469 /* SpriteKit.swift */, - C9D9BB3003EBE622D53CE1A43730C52F /* String.swift */, - ED333E2FD9F83C466E13C6A69C917345 /* String+SpecialCharacters.swift */, - 8A501BC0324C0925814D79A81451E58C /* SwiftUIView.swift */, - A85AAD62B88A5A61ED41F15941BCF50E /* UIBezierPath.swift */, - A8703A929D837847AFFD9398983FDB99 /* UIImage.swift */, - 6B8C3644CAA8A93B3901127A7B8DE26E /* UIView.swift */, - 9D21ADE128CE03553F0F1D720F4F967D /* UIViewController.swift */, - 388DBB0163B3768EC43AB87FFED8A19D /* URLRequest.swift */, - 4077B2112D2B1D73DE188E8058E85FA1 /* View.swift */, - 88324CDA62CABFBF5DA8963930242CDB /* Wait.swift */, - C4C95B2FA66AB0EFC760FE3BC82E183D /* XCTAttachment.swift */, - 0E360A9F9862C6DCC0C9EF8C5DF2BF51 /* Support Files */, + 04671A532A737A9698DE71F7DEA1802A /* Support Files */, ); - name = SnapshotTesting; - path = SnapshotTesting; + name = SwiftConfigurationFiles; + path = SwiftConfigurationFiles; sourceTree = ""; }; 625395338A1C7013D0E5EA11C9A0F5B4 /* GradientLoadingBar */ = { @@ -495,16 +453,6 @@ path = ../..; sourceTree = ""; }; - 73893CCD044DB8B8BFF17C6C86A52345 /* Support Files */ = { - isa = PBXGroup; - children = ( - 00EBB6A2B0A117A761C58ED62B0D4C24 /* SwiftFormat.debug.xcconfig */, - D997502F7A2A3F2E07DE43BA6C33DEF8 /* SwiftFormat.release.xcconfig */, - ); - name = "Support Files"; - path = "../Target Support Files/SwiftFormat"; - sourceTree = ""; - }; 810FDB3212C2E1BF5CEB60C53A119039 /* Pods-GradientLoadingBar_SnapshotTests */ = { isa = PBXGroup; children = ( @@ -522,6 +470,25 @@ path = "Target Support Files/Pods-GradientLoadingBar_SnapshotTests"; sourceTree = ""; }; + 8117A0062130D047C63C2824B16563F9 /* SwiftFormat */ = { + isa = PBXGroup; + children = ( + 82BF8F914435313C9DCFF6FAFE9EF700 /* Support Files */, + ); + name = SwiftFormat; + path = SwiftFormat; + sourceTree = ""; + }; + 82BF8F914435313C9DCFF6FAFE9EF700 /* Support Files */ = { + isa = PBXGroup; + children = ( + E43F95A56840098ECFFB3426EC236F54 /* SwiftFormat.debug.xcconfig */, + 321E0EECA8025D4E3C0406B264AB9F4A /* SwiftFormat.release.xcconfig */, + ); + name = "Support Files"; + path = "../Target Support Files/SwiftFormat"; + sourceTree = ""; + }; 839E937F28D0B9CB9F457692610A394A /* ViewModel */ = { isa = PBXGroup; children = ( @@ -533,25 +500,18 @@ path = GradientLoadingBar/Classes/ViewModel; sourceTree = ""; }; - 866F4707586BA782EEE16BB0E4DDA12E /* Pods */ = { + 8D4021A66B75C4DAC37FB29AF10F5972 /* LightweightObservable */ = { isa = PBXGroup; children = ( - 1A4994587C8740E379304D1195D62258 /* LightweightObservable */, - 4EF94CB118C72CED447C8FBDF9771B52 /* SnapshotTesting */, - 89A71E3BC8ACA4ED6EA26DC7EFD6325B /* SwiftConfigurationFiles */, - 3D5AEA9F1D53DA9658A949832ACA09D4 /* SwiftFormat */, - 2DF6616C733AD295C813A7B4AFFB3F7B /* SwiftLint */, + C70A9626A5985B4F9075500CF16CE8C8 /* Disposable.swift */, + EDFA33C3D1AF4C2C0CDAFFE7D06B88AF /* Observable.swift */, + 1F94EC0823DB851E6D0A4C81C33A0CEA /* Observable+Combine.swift */, + 523B7174E480C3FA74F83ABE7056DE17 /* Observable+Equatable.swift */, + 89D6B1C70C53B6DA6E6D0456F0F7DBD8 /* Observable+KeyPath.swift */, + F62BDBCF2DC54A7887F6D705A6E84E66 /* Support Files */, ); - name = Pods; - sourceTree = ""; - }; - 89A71E3BC8ACA4ED6EA26DC7EFD6325B /* SwiftConfigurationFiles */ = { - isa = PBXGroup; - children = ( - 9F500AA9EDCC9F77CF819939A745BC17 /* Support Files */, - ); - name = SwiftConfigurationFiles; - path = SwiftConfigurationFiles; + name = LightweightObservable; + path = LightweightObservable; sourceTree = ""; }; 974814B39C0012DECD183BBB91B32103 /* iOS */ = { @@ -563,29 +523,13 @@ name = iOS; sourceTree = ""; }; - 9CF614E301B83EC4DD18CF37D095ED73 /* Support Files */ = { + A45F4A4E9AC8AF47029D4812E205A54B /* SwiftLint */ = { isa = PBXGroup; children = ( - 3D1546F727E84C17FB03D49A501AEBF3 /* LightweightObservable.modulemap */, - 60F741339642A8D8B19A4EF0EDE2B528 /* LightweightObservable-dummy.m */, - BB7F5859015C08DC99F4102C2001E38C /* LightweightObservable-Info.plist */, - 1F070D4133AC30EFD0B1CBDAD691998A /* LightweightObservable-prefix.pch */, - 8B12FDB42E09EF68B5A13B6F29206C58 /* LightweightObservable-umbrella.h */, - 6BA6CC273DB1F3DF8863CA959253A9E1 /* LightweightObservable.debug.xcconfig */, - D9EECF497600BB53CEDDACB2CE8A2B9D /* LightweightObservable.release.xcconfig */, + 2B23D09BF983A3F081B96D5579D08787 /* Support Files */, ); - name = "Support Files"; - path = "../Target Support Files/LightweightObservable"; - sourceTree = ""; - }; - 9F500AA9EDCC9F77CF819939A745BC17 /* Support Files */ = { - isa = PBXGroup; - children = ( - 739B52B367A66EB59594809032052D1F /* SwiftConfigurationFiles.debug.xcconfig */, - D2F1D5D4FE8EB1B511317314725F9D54 /* SwiftConfigurationFiles.release.xcconfig */, - ); - name = "Support Files"; - path = "../Target Support Files/SwiftConfigurationFiles"; + name = SwiftLint; + path = SwiftLint; sourceTree = ""; }; A8B491E4E7AD1B86A1B5A7A9DE523DEC /* Misc */ = { @@ -643,20 +587,64 @@ 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */, CE6272E67A33588A9F25C079BF5BB051 /* Development Pods */, 1628BF05B4CAFDCC3549A101F5A10A17 /* Frameworks */, - 866F4707586BA782EEE16BB0E4DDA12E /* Pods */, + D9E4C6772BA43B15D379F74ADB1F3D24 /* Pods */, 42C5E31CFED75787FC35907ED840E206 /* Products */, F35D8C7C6DA5C631C17C6CAC2AECDFEA /* Targets Support Files */, ); sourceTree = ""; }; - D849F6B1672F929753FBCBD372FABBFA /* Support Files */ = { + D9E4C6772BA43B15D379F74ADB1F3D24 /* Pods */ = { isa = PBXGroup; children = ( - 44FC5949DA58E53329E8837F44618093 /* SwiftLint.debug.xcconfig */, - 283322DA7A49E2E4D67B814963BECFB3 /* SwiftLint.release.xcconfig */, + 8D4021A66B75C4DAC37FB29AF10F5972 /* LightweightObservable */, + DB9FA77551B6F1F7BB7B66D9513B92B4 /* SnapshotTesting */, + 43AAC1AB1516723E83B3890B1D058A16 /* SwiftConfigurationFiles */, + 8117A0062130D047C63C2824B16563F9 /* SwiftFormat */, + A45F4A4E9AC8AF47029D4812E205A54B /* SwiftLint */, ); - name = "Support Files"; - path = "../Target Support Files/SwiftLint"; + name = Pods; + sourceTree = ""; + }; + DB9FA77551B6F1F7BB7B66D9513B92B4 /* SnapshotTesting */ = { + isa = PBXGroup; + children = ( + E71E37779A210E3F9958FB4B465CC3B6 /* Any.swift */, + 9801722F42CF5540558E2186724E2F08 /* AssertInlineSnapshot.swift */, + CEB65A52E203646F5F85230CB37055A7 /* AssertSnapshot.swift */, + 33915C6CA41A4120CCCFDA0A30623E99 /* Async.swift */, + 9761D5B7A8B0AF3C2D31731AA1E42F26 /* CALayer.swift */, + A38BD36975B9051B989F73656223996F /* CaseIterable.swift */, + D90A4312109DE68F0350FBB5DD551816 /* CGPath.swift */, + 8D70287148495215062E5030BA6267BB /* Codable.swift */, + CE73B31D3D042300127FE7545DC9A288 /* Data.swift */, + E2FF4849BA9ABFDAF933BC11BBE59A72 /* Description.swift */, + 195C9E50C429616417E6F569B20896A6 /* Diff.swift */, + CED5F046F3966BF1758156DB5C0EAC5E /* Diffing.swift */, + 371D3CDC7543AF863ADAE5F4D66D793C /* Internal.swift */, + D067B70655B4D91995A1AD085829D7BB /* NSBezierPath.swift */, + 80982F04B55AD6ED4052012DBA5D74E2 /* NSImage.swift */, + 94F6960E2E6F81EA1AEEEC7CAC13C054 /* NSView.swift */, + B38ABB2556378E0FBBFAC5F022A3F36B /* NSViewController.swift */, + 86A83C5000A82493337A3DFC79D0B56F /* PlistEncoder.swift */, + 4342969D6D37396C136697D0BC1C2A06 /* SceneKit.swift */, + E7B244F28A1FD6EEA4564C67C401D680 /* SnapshotTestCase.swift */, + 8DAABA5B241D32CC27078958069BCC5B /* Snapshotting.swift */, + E7C32BCB3A8CDE7A967257032D2CB146 /* SpriteKit.swift */, + 1CAC9E06708925371B8BFCC5484444DD /* String.swift */, + F12C335B7DC098086708FA73A72EE357 /* String+SpecialCharacters.swift */, + 0E633CB1D426841C43DF3462991319C4 /* SwiftUIView.swift */, + 2E06D57A35648ECBC97644D217B868BD /* UIBezierPath.swift */, + 54653ADB348C04B28B4D3455911AEFA0 /* UIImage.swift */, + 009FB438C78F42859CE255EDC7F22DB3 /* UIView.swift */, + 6BBB42D19B8EDB33AE63C1A34EAD81DE /* UIViewController.swift */, + 948F5A85ABC960EDF780E259FB3A8E23 /* URLRequest.swift */, + 1466DB0C211E9F079BFFFBDFDD4C1BD0 /* View.swift */, + 24E9153BF879D5DA5CDF2FF9BD6EE07A /* Wait.swift */, + 4B8421185176594CFD7B0CCE69071B4F /* XCTAttachment.swift */, + 2AFC4759ECC4D53FF9953C3CFBE67078 /* Support Files */, + ); + name = SnapshotTesting; + path = SnapshotTesting; sourceTree = ""; }; F35D8C7C6DA5C631C17C6CAC2AECDFEA /* Targets Support Files */ = { @@ -669,9 +657,32 @@ name = "Targets Support Files"; sourceTree = ""; }; + F62BDBCF2DC54A7887F6D705A6E84E66 /* Support Files */ = { + isa = PBXGroup; + children = ( + C75C124F1A4261FB6DC06040CA090D87 /* LightweightObservable.modulemap */, + 785E1BC5584D16AC9173E04DE45A6036 /* LightweightObservable-dummy.m */, + 143F2717B1133164FBCC65A2DF3C3C67 /* LightweightObservable-Info.plist */, + 92595228CA62A3593A599AE616D42DC9 /* LightweightObservable-prefix.pch */, + F0E19B3286278186EC4012CDF8CAA48F /* LightweightObservable-umbrella.h */, + 8B75864FEFCDD0C986F965BC9B1D2A1B /* LightweightObservable.debug.xcconfig */, + 074CBA3DACEF2667EFED2C72D45A2403 /* LightweightObservable.release.xcconfig */, + ); + name = "Support Files"; + path = "../Target Support Files/LightweightObservable"; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ + 3947A3E6326E76107645A5B1E3DD15FA /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + CB196C7B05685E1D7FF662F7652BA500 /* LightweightObservable-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 3DB53013216AE1CFCAD939686EC8C0A4 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; @@ -704,14 +715,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - EB075AC0D74FDA180E229808940A9D80 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - FCC2B5A63338D5A23A4A22DDC7BD22EB /* LightweightObservable-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; F7B0E7FF99A86CC897C98DBE3679D5B8 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; @@ -725,12 +728,12 @@ /* Begin PBXNativeTarget section */ 086F937CFC9099EB74E4B66BE7CBCB93 /* LightweightObservable */ = { isa = PBXNativeTarget; - buildConfigurationList = E598EEF4D31D9D300FD68C581396B57A /* Build configuration list for PBXNativeTarget "LightweightObservable" */; + buildConfigurationList = 06A21E4C3D86EC1D79566842A1353F5D /* Build configuration list for PBXNativeTarget "LightweightObservable" */; buildPhases = ( - EB075AC0D74FDA180E229808940A9D80 /* Headers */, - 98CE4C67296CC980712BF38C4B016A52 /* Sources */, - 663D284D2517F59C4EF9A97C628583B7 /* Frameworks */, - BD63343023DFAAF7A95B152191F7752E /* Resources */, + 3947A3E6326E76107645A5B1E3DD15FA /* Headers */, + BF69B54F6314944F46B184EBDB94BBBF /* Sources */, + 451D4F703C0E61819FF0AC5A649A439F /* Frameworks */, + 81114DA5A7BF69BDD43FD980D03624D9 /* Resources */, ); buildRules = ( ); @@ -753,7 +756,7 @@ buildRules = ( ); dependencies = ( - 09B64417E17793718F88D91DF9DF9E64 /* PBXTargetDependency */, + 7CED639A2BA6C107FA17B8CBB62F24EB /* PBXTargetDependency */, ); name = "Pods-GradientLoadingBar_Tests"; productName = Pods_GradientLoadingBar_Tests; @@ -772,8 +775,8 @@ buildRules = ( ); dependencies = ( - 14D2BC2857F98939AD697FD46EAED0DC /* PBXTargetDependency */, - 9921E89B03B39ABAD5B3BA70E5FB0EE2 /* PBXTargetDependency */, + E966D22FC8596EB8701404A9F812092B /* PBXTargetDependency */, + 45FF9C9B91D4A91B8186FCB009D86C30 /* PBXTargetDependency */, ); name = "Pods-GradientLoadingBar_SnapshotTests"; productName = Pods_GradientLoadingBar_SnapshotTests; @@ -792,7 +795,7 @@ buildRules = ( ); dependencies = ( - 41071CD67C6E75EA26E871DD955D0910 /* PBXTargetDependency */, + F95FF4DF35FA10B716C4C486D7FF596E /* PBXTargetDependency */, ); name = GradientLoadingBar; productName = GradientLoadingBar; @@ -829,11 +832,11 @@ buildRules = ( ); dependencies = ( - 107D2FC9B211E3FC56377418789853CF /* PBXTargetDependency */, - 48ECE6B7BE677BA85ECACF15A2CFBF39 /* PBXTargetDependency */, - C315266E4E3798F74C693541CDB649B8 /* PBXTargetDependency */, - 3C08857FBF5CA2DDCEE00F4EA5648752 /* PBXTargetDependency */, - 1584AE100921E7F4FAEA97CB66353C95 /* PBXTargetDependency */, + 444024198265D1B4A4B715E5F205EA00 /* PBXTargetDependency */, + 727F31BA64401F001CD991E1FB0DFDB9 /* PBXTargetDependency */, + 0B60749EF53B4BE6B9E83E337CFD9D42 /* PBXTargetDependency */, + 69D89607FFC40052B0485751D41AFBF1 /* PBXTargetDependency */, + 376B0F8DF9702432EA737C108B64ACA4 /* PBXTargetDependency */, ); name = "Pods-GradientLoadingBar_Example"; productName = Pods_GradientLoadingBar_Example; @@ -876,6 +879,13 @@ /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ + 81114DA5A7BF69BDD43FD980D03624D9 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; ACF08C75C53E425407DFE769404BCD3D /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; @@ -890,13 +900,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - BD63343023DFAAF7A95B152191F7752E /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; C462862E46C544AC23DBC789B2C1E060 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; @@ -945,18 +948,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 98CE4C67296CC980712BF38C4B016A52 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 8122289F42E6A1441BB40125D4E87A95 /* Disposable.swift in Sources */, - 26CDF96C31DF5C0DE76299B9D1518AC0 /* LightweightObservable-dummy.m in Sources */, - B0A60594C47C96278C474E106460EB42 /* Observable.swift in Sources */, - F8E9F04AB9A810D3ADCC67FA95CCD9D0 /* Observable+Equatable.swift in Sources */, - E7F302A02A4D9CDBB6ED77A635E0D71D /* Observable+KeyPath.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; A6FA35379EB6A1D3271EA288BC860175 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -998,6 +989,19 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + BF69B54F6314944F46B184EBDB94BBBF /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + D0B06346D30863B023F787D5D579420B /* Disposable.swift in Sources */, + 5F34D446EDA13CFBB2792F77205C1BC3 /* LightweightObservable-dummy.m in Sources */, + 65653E361AC18994D0C42D31EBD83C78 /* Observable.swift in Sources */, + 91B00DCD938BF31110A20C50E3C2FC58 /* Observable+Combine.swift in Sources */, + 74116D4194C50C94965143D797AAB781 /* Observable+Equatable.swift in Sources */, + 21A1F3F09B0A8A1D091D1977D706D0C3 /* Observable+KeyPath.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; F2DD0F3058F1A2DA2F85F8306742295F /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -1017,94 +1021,76 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 09B64417E17793718F88D91DF9DF9E64 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "Pods-GradientLoadingBar_Example"; - target = E0B6892AAEBA4792BFD4534123482521 /* Pods-GradientLoadingBar_Example */; - targetProxy = 69923C0DCC5D250C66583E9139A796BF /* PBXContainerItemProxy */; - }; - 107D2FC9B211E3FC56377418789853CF /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = GradientLoadingBar; - target = AD9297F9E6CC3E50EDCFECA0A77800B7 /* GradientLoadingBar */; - targetProxy = D1D244BE174E0FACF92F258BE6BAF653 /* PBXContainerItemProxy */; - }; - 14D2BC2857F98939AD697FD46EAED0DC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "Pods-GradientLoadingBar_Example"; - target = E0B6892AAEBA4792BFD4534123482521 /* Pods-GradientLoadingBar_Example */; - targetProxy = 1A288224DD88E7929E76A0F7426DCA1D /* PBXContainerItemProxy */; - }; - 1584AE100921E7F4FAEA97CB66353C95 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = SwiftLint; - target = 52B60EC2A583F24ACBB69C113F5488B9 /* SwiftLint */; - targetProxy = C517585EFB4EC6F26A97045672F93408 /* PBXContainerItemProxy */; - }; - 3C08857FBF5CA2DDCEE00F4EA5648752 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = SwiftFormat; - target = 1CD0618C486973D5588EF20D2E8C0AEA /* SwiftFormat */; - targetProxy = ED318F74ACCF5F2A391A74CECC4AF733 /* PBXContainerItemProxy */; - }; - 41071CD67C6E75EA26E871DD955D0910 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = LightweightObservable; - target = 086F937CFC9099EB74E4B66BE7CBCB93 /* LightweightObservable */; - targetProxy = C47DC454DBF78E784D3BF99EB4F26380 /* PBXContainerItemProxy */; - }; - 48ECE6B7BE677BA85ECACF15A2CFBF39 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = LightweightObservable; - target = 086F937CFC9099EB74E4B66BE7CBCB93 /* LightweightObservable */; - targetProxy = 6DB68D8BBE9AA7A465BC6B50BCCB356C /* PBXContainerItemProxy */; - }; - 9921E89B03B39ABAD5B3BA70E5FB0EE2 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = SnapshotTesting; - target = ADEAE7CDD604DE4F3072E6021A314487 /* SnapshotTesting */; - targetProxy = 37EF13960F5FE5AD371518E3EF2264CA /* PBXContainerItemProxy */; - }; - C315266E4E3798F74C693541CDB649B8 /* PBXTargetDependency */ = { + 0B60749EF53B4BE6B9E83E337CFD9D42 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = SwiftConfigurationFiles; target = B951B6FCD3E55AF969FBA9F7B476B877 /* SwiftConfigurationFiles */; - targetProxy = CF7FA9373A539F47E9FE2D6437617BC3 /* PBXContainerItemProxy */; + targetProxy = 4012369D0A6B33A2D28988DC420728A7 /* PBXContainerItemProxy */; + }; + 376B0F8DF9702432EA737C108B64ACA4 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = SwiftLint; + target = 52B60EC2A583F24ACBB69C113F5488B9 /* SwiftLint */; + targetProxy = DF9B978CB494BA35B1C47288F181E799 /* PBXContainerItemProxy */; + }; + 444024198265D1B4A4B715E5F205EA00 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = GradientLoadingBar; + target = AD9297F9E6CC3E50EDCFECA0A77800B7 /* GradientLoadingBar */; + targetProxy = 477DC7169CB4E1C57BA666CCE84BC9B5 /* PBXContainerItemProxy */; + }; + 45FF9C9B91D4A91B8186FCB009D86C30 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = SnapshotTesting; + target = ADEAE7CDD604DE4F3072E6021A314487 /* SnapshotTesting */; + targetProxy = 8041B7D6F8DD028336D0B093E2B499EA /* PBXContainerItemProxy */; + }; + 69D89607FFC40052B0485751D41AFBF1 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = SwiftFormat; + target = 1CD0618C486973D5588EF20D2E8C0AEA /* SwiftFormat */; + targetProxy = 7633C8BB8928691939C63C8BF8F96578 /* PBXContainerItemProxy */; + }; + 727F31BA64401F001CD991E1FB0DFDB9 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = LightweightObservable; + target = 086F937CFC9099EB74E4B66BE7CBCB93 /* LightweightObservable */; + targetProxy = D403D63645BB96686AC4FFCF3FF0AA06 /* PBXContainerItemProxy */; + }; + 7CED639A2BA6C107FA17B8CBB62F24EB /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "Pods-GradientLoadingBar_Example"; + target = E0B6892AAEBA4792BFD4534123482521 /* Pods-GradientLoadingBar_Example */; + targetProxy = 5DF2B2B5427040C6011055367B351C8F /* PBXContainerItemProxy */; + }; + E966D22FC8596EB8701404A9F812092B /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "Pods-GradientLoadingBar_Example"; + target = E0B6892AAEBA4792BFD4534123482521 /* Pods-GradientLoadingBar_Example */; + targetProxy = DC3A7A550F1D5D217989DBABEEEB6183 /* PBXContainerItemProxy */; + }; + F95FF4DF35FA10B716C4C486D7FF596E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = LightweightObservable; + target = 086F937CFC9099EB74E4B66BE7CBCB93 /* LightweightObservable */; + targetProxy = 276CABBD3804115B644A56F123562956 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 0F3B8A774B78361FA3BAD889FAFFB738 /* Release */ = { + 0B7AFA9829D5FFAFA2032F51A7EC0B44 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D9EECF497600BB53CEDDACB2CE8A2B9D /* LightweightObservable.release.xcconfig */; + baseConfigurationReference = E43F95A56840098ECFFB3426EC236F54 /* SwiftFormat.debug.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - "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/LightweightObservable/LightweightObservable-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/LightweightObservable/LightweightObservable-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/LightweightObservable/LightweightObservable.modulemap"; - PRODUCT_MODULE_NAME = LightweightObservable; - PRODUCT_NAME = LightweightObservable; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.1; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; 1A1C696B9BE01F6EA26B3621C28EA9AF /* Debug */ = { isa = XCBuildConfiguration; @@ -1172,14 +1158,14 @@ }; name = Release; }; - 2B9B4FFEC0599168AD4B3878672A2426 /* Release */ = { + 28B884D4EE09C656E3DC0E5452929210 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D997502F7A2A3F2E07DE43BA6C33DEF8 /* SwiftFormat.release.xcconfig */; + baseConfigurationReference = 321E0EECA8025D4E3C0406B264AB9F4A /* SwiftFormat.release.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = "1,2"; @@ -1189,7 +1175,7 @@ }; 39D0F8C0DF8A3DF1976A02725A047CFE /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 283322DA7A49E2E4D67B814963BECFB3 /* SwiftLint.release.xcconfig */; + baseConfigurationReference = 39724ABA4E40A364B25F01F3E3CE31EC /* SwiftLint.release.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; @@ -1235,7 +1221,7 @@ }; 4D23A2E978BA72DC562C20ADE8F7F09C /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D2F1D5D4FE8EB1B511317314725F9D54 /* SwiftConfigurationFiles.release.xcconfig */; + baseConfigurationReference = 04D67E1AC2B476618545A95A11B5B811 /* SwiftConfigurationFiles.release.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; @@ -1318,7 +1304,7 @@ }; 7073071A95165FEAA0509F7B4524263A /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 01195480F1DCEF69F5D9619C1B3C44E9 /* SnapshotTesting.release.xcconfig */; + baseConfigurationReference = DFDBA3729D272425F9E33F46EF920BFF /* SnapshotTesting.release.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_WEAK = NO; @@ -1351,7 +1337,7 @@ }; 74A4367AFBA2BC72E9F0249101354BDA /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 44FC5949DA58E53329E8837F44618093 /* SwiftLint.debug.xcconfig */; + baseConfigurationReference = 08E87DFECD69E46292154E099AB8D144 /* SwiftLint.debug.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; @@ -1502,7 +1488,7 @@ }; 8FE0B4025645967B73EE74B683185228 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 5A95E0EC64A130765609C642BEF951DC /* SnapshotTesting.debug.xcconfig */; + baseConfigurationReference = 9D21619E3127A33326194FAC5E0241D7 /* SnapshotTesting.debug.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_WEAK = NO; @@ -1534,7 +1520,7 @@ }; 9B37241A118549BC576074606BB93C76 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 739B52B367A66EB59594809032052D1F /* SwiftConfigurationFiles.debug.xcconfig */; + baseConfigurationReference = AE02F290421D0044A7B9B488A50DBD6C /* SwiftConfigurationFiles.debug.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; @@ -1608,9 +1594,9 @@ }; name = Release; }; - A3FCDD2B3AA53C7B59A353AF2220EAED /* Debug */ = { + CE4AF09E1F7AFC775A0633B54D327863 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 6BA6CC273DB1F3DF8863CA959253A9E1 /* LightweightObservable.debug.xcconfig */; + baseConfigurationReference = 8B75864FEFCDD0C986F965BC9B1D2A1B /* LightweightObservable.debug.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -1632,7 +1618,7 @@ SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.1; + SWIFT_VERSION = 5.5; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; @@ -1674,23 +1660,50 @@ }; name = Release; }; - EEE49C51BEAF7FB68B4772A03D1DF160 /* Debug */ = { + EF05ACDB25123F4D0FCCB95B0A9369C9 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 00EBB6A2B0A117A761C58ED62B0D4C24 /* SwiftFormat.debug.xcconfig */; + baseConfigurationReference = 074CBA3DACEF2667EFED2C72D45A2403 /* LightweightObservable.release.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + "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/LightweightObservable/LightweightObservable-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/LightweightObservable/LightweightObservable-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/LightweightObservable/LightweightObservable.modulemap"; + PRODUCT_MODULE_NAME = LightweightObservable; + PRODUCT_NAME = LightweightObservable; SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.5; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ + 06A21E4C3D86EC1D79566842A1353F5D /* Build configuration list for PBXNativeTarget "LightweightObservable" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + CE4AF09E1F7AFC775A0633B54D327863 /* Debug */, + EF05ACDB25123F4D0FCCB95B0A9369C9 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; 331A33CBF071F9C6C103AB492799B536 /* Build configuration list for PBXNativeTarget "SnapshotTesting" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -1739,8 +1752,8 @@ 6B2B7DF197DF6A7CA487150557230A41 /* Build configuration list for PBXAggregateTarget "SwiftFormat" */ = { isa = XCConfigurationList; buildConfigurations = ( - EEE49C51BEAF7FB68B4772A03D1DF160 /* Debug */, - 2B9B4FFEC0599168AD4B3878672A2426 /* Release */, + 0B7AFA9829D5FFAFA2032F51A7EC0B44 /* Debug */, + 28B884D4EE09C656E3DC0E5452929210 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -1772,15 +1785,6 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - E598EEF4D31D9D300FD68C581396B57A /* Build configuration list for PBXNativeTarget "LightweightObservable" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - A3FCDD2B3AA53C7B59A353AF2220EAED /* Debug */, - 0F3B8A774B78361FA3BAD889FAFFB738 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; /* End XCConfigurationList section */ }; rootObject = BFDFE7DC352907FC980B868725387E98 /* Project object */; diff --git a/Example/Pods/SwiftFormat/CommandLineTool/swiftformat b/Example/Pods/SwiftFormat/CommandLineTool/swiftformat index 77234c1..64e1c05 100755 Binary files a/Example/Pods/SwiftFormat/CommandLineTool/swiftformat and b/Example/Pods/SwiftFormat/CommandLineTool/swiftformat differ diff --git a/Example/Pods/SwiftFormat/README.md b/Example/Pods/SwiftFormat/README.md index 1f12e8a..a294bf0 100644 --- a/Example/Pods/SwiftFormat/README.md +++ b/Example/Pods/SwiftFormat/README.md @@ -211,7 +211,7 @@ Alternatively, if you prefer not to use Homebrew, you'll find the latest version **Usage:** -Once you have launched the app and restarted Xcode, you'll find a SwiftFormat option under Xcode's Editor menu. +Once you have launched the app and restarted Xcode, you'll find a SwiftFormat option under Xcode's Editor menu. If the SwiftFormat menu does not appear [this thread](https://github.com/nicklockwood/SwiftFormat/issues/494) may help. You can configure the formatting [rules](#rules) and [options](#options) using the SwiftFormat for Xcode host application. There is currently no way to override these per-project, however, you can import and export different configurations using the File menu. You will need to do this again each time you switch projects. @@ -446,7 +446,13 @@ Alternatively, you can use the line continuation character `\` to wrap a single redundantSelf ``` -To avoid automatically opting-in to new rules when SwiftFormat is updated, use the`--rules` argument to *only* enable the rules you specify: +To avoid automatically opting-in to new rules when SwiftFormat is updated, you can disable all rules using: + +```bash +--disable all +``` + +And then individually enable just the rules you want. Alternatively, use the`--rules` argument to *only* enable the rules you specify: ```bash --rules indent,linebreaks @@ -623,6 +629,13 @@ By default, `--lint` will only report lines that require formatting, but you can If you would prefer not to see a warning for each and every formatting change, you can use the `--quiet` flag to suppress all output except errors. +Sometimes you may wish to autoformat some rules, but only lint others. To do that, use the `--lintonly` option in your config file to specify rules that should only be applied in `--lint` mode: + +``` +--rules braces,indent +--lintonly trailingClosures,unusedArguments +``` + Error codes ----------- @@ -766,6 +779,8 @@ Q. I don't want to be surprised by new rules added when I upgrade SwiftFormat. H Known issues --------------- +* When using the Xcode Source Editor Extension, the SwiftFormat menu sometimes disappears from Xcode. If this happens, try moving or renaming Xcode temporarily and then changing it back. Failing that, the suggestions in [this thread](https://github.com/nicklockwood/SwiftFormat/issues/494) may help. + * The `redundantType` rule can introduce ambiguous code in certain cases when using the default mode of `--redundanttype inferred`. This can be worked around by by using `--redundanttype explicit`, or by manually removing the redundant type reference on the affected line, or by using the `// swiftformat:disable:next redundantType` comment directive to disable the rule at the call site (or just disable the `redundantType` rule completely). * If a type initializer or factory method returns an implicitly unwrapped optional value then the `redundantType` rule may remove the explicit type in a situation where it's actually required. To work around this you can either use `--redundanttype explicit`, or use the `// swiftformat:disable:next redundantType` comment directive to disable the rule at the call site (or just disable the `redundantType` rule completely). diff --git a/Example/Pods/SwiftLint/swiftlint b/Example/Pods/SwiftLint/swiftlint index ec405d5..1de8d86 100755 Binary files a/Example/Pods/SwiftLint/swiftlint and b/Example/Pods/SwiftLint/swiftlint differ diff --git a/Example/Pods/Target Support Files/LightweightObservable/LightweightObservable-Info.plist b/Example/Pods/Target Support Files/LightweightObservable/LightweightObservable-Info.plist index 9a86452..c054f9c 100644 --- a/Example/Pods/Target Support Files/LightweightObservable/LightweightObservable-Info.plist +++ b/Example/Pods/Target Support Files/LightweightObservable/LightweightObservable-Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.1.2 + 2.2.0 CFBundleSignature ???? CFBundleVersion