├── .gitignore ├── Previews ├── combine-zip.gif └── swiftui-96x96_2x.png ├── README.md ├── combine-extensions ├── CombineExtensions.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist ├── CombineExtensions │ ├── CombineExtensions.h │ ├── CombineExtensions.swift │ ├── Info.plist │ └── UnwrapPublisher.swift └── CombineExtensionsTests │ ├── CombineExtensionsTests.swift │ └── Info.plist ├── combine-playground ├── combine-playground.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist └── combine-playground │ ├── AppDelegate.swift │ ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json │ ├── Base.lproj │ └── LaunchScreen.storyboard │ ├── ContentView │ ├── ContentView.swift │ └── ContentViewModel.swift │ ├── Data │ ├── DataModels.swift │ ├── DataService.swift │ ├── StreamStore.swift │ └── UserDefaultWrapper.swift │ ├── Extensions │ ├── ModelExtensions.swift │ └── OperatorExtensions.swift │ ├── Info.plist │ ├── Menu │ └── MenuRow.swift │ ├── MultiBallViews │ ├── MultiBallTunnelView.swift │ ├── MultiBallView.swift │ └── MultiBallViewModel.swift │ ├── MultiStreamViews │ ├── MultiStreamView.swift │ ├── MultiStreamViewModel.swift │ ├── MultiValueStreamView.swift │ └── UpdatableStreamViewModel.swift │ ├── PlaygroundStreamView │ ├── PlaygroundStreamView.swift │ └── PlaygroundStreamViewModel.swift │ ├── Preview Content │ └── Preview Assets.xcassets │ │ └── Contents.json │ ├── SceneDelegate.swift │ ├── SingleBallViews │ ├── BallTunnelView.swift │ ├── CircularTextView.swift │ └── CircularTextViewModel.swift │ ├── SingleStreamView │ ├── DataStreamViewModel.swift │ ├── SingleStreamView.swift │ └── StreamViewModel.swift │ ├── StreamListViews │ ├── JoinOperationListStreamView.swift │ ├── NewStreamView │ │ ├── NewStreamView.swift │ │ └── NewStreamViewModel.swift │ ├── OperationStreamListView.swift │ ├── StreamListView.swift │ └── UnifyingOperationListStreamView.swift │ ├── Styles │ ├── ButtonModifier.swift │ └── CombineDemoButton.swift │ ├── UpdateJoinStreamView │ ├── UpdateJoinStreamView.swift │ └── UpdateJoinStreamViewModel.swift │ ├── UpdateOperationStreamView │ ├── UpdateOperationStreamView.swift │ └── UpdateOperationStreamViewModel.swift │ ├── UpdateStreamView │ ├── UpdateStreamView.swift │ └── UpdateStreamViewModel.swift │ └── UpdateUnifyingStreamView │ ├── UpdateUnifyingStreamView.swift │ └── UpdateUnifyingStreamViewModel.swift └── tutorials └── combine-tutorial ├── chapter1 ├── CombineTutorial.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist └── CombineTutorial │ ├── AppDelegate.swift │ ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json │ ├── Base.lproj │ └── LaunchScreen.storyboard │ ├── CircularTextView.swift │ ├── CombineStreamView.swift │ ├── ContentView.swift │ ├── Info.plist │ ├── Preview Content │ └── Preview Assets.xcassets │ │ └── Contents.json │ ├── SceneDelegate.swift │ ├── StreamView.swift │ └── TunnelView.swift ├── chapter2 ├── CombineTutorial.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist └── CombineTutorial │ ├── AppDelegate.swift │ ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json │ ├── Base.lproj │ └── LaunchScreen.storyboard │ ├── CircularTextView.swift │ ├── CombineMapStreamView.swift │ ├── CombineScanStreamView.swift │ ├── CombineStreamView.swift │ ├── ContentView.swift │ ├── GenericCombineStreamView.swift │ ├── Info.plist │ ├── Preview Content │ └── Preview Assets.xcassets │ │ └── Contents.json │ ├── SceneDelegate.swift │ ├── StreamView.swift │ └── TunnelView.swift ├── chapter3 ├── CombineTutorial.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist └── CombineTutorial │ ├── AppDelegate.swift │ ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json │ ├── Base.lproj │ └── LaunchScreen.storyboard │ ├── CircularTextView.swift │ ├── CombineMapStreamView.swift │ ├── CombineScanStreamView.swift │ ├── CombineStreamView.swift │ ├── ContentView.swift │ ├── DoublePublisherStreamView.swift │ ├── GenericCombineStreamView.swift │ ├── Info.plist │ ├── Preview Content │ └── Preview Assets.xcassets │ │ └── Contents.json │ ├── SceneDelegate.swift │ ├── StreamView.swift │ └── TunnelView.swift ├── chapter4 ├── CombineTutorial.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist └── CombineTutorial │ ├── AppDelegate.swift │ ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json │ ├── Base.lproj │ └── LaunchScreen.storyboard │ ├── CircularTextArrayView.swift │ ├── CircularTextView.swift │ ├── CombineMapStreamView.swift │ ├── CombineScanStreamView.swift │ ├── CombineStreamView.swift │ ├── ContentView.swift │ ├── DoublePublisherStreamView.swift │ ├── GenericCombineStreamView.swift │ ├── Info.plist │ ├── Preview Content │ └── Preview Assets.xcassets │ │ └── Contents.json │ ├── SceneDelegate.swift │ ├── StreamView.swift │ └── TunnelView.swift └── chapter5 ├── CombineTutorial.xcodeproj ├── project.pbxproj └── project.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ └── IDEWorkspaceChecks.plist └── CombineTutorial ├── AppDelegate.swift ├── Assets.xcassets ├── AppIcon.appiconset │ └── Contents.json └── Contents.json ├── Base.lproj └── LaunchScreen.storyboard ├── ButtonModifier.swift ├── CircularTextArrayView.swift ├── CircularTextView.swift ├── CombineMapStreamView.swift ├── CombineScanStreamView.swift ├── CombineStreamView.swift ├── ContentView.swift ├── DescriptiveTunnelView.swift ├── DoublePublisherStreamView.swift ├── GenericCombineStreamView.swift ├── Info.plist ├── MultiCircularTextView.swift ├── Preview Content └── Preview Assets.xcassets │ └── Contents.json ├── SceneDelegate.swift ├── StreamView.swift └── TunnelView.swift /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/.gitignore -------------------------------------------------------------------------------- /Previews/combine-zip.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/Previews/combine-zip.gif -------------------------------------------------------------------------------- /Previews/swiftui-96x96_2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/Previews/swiftui-96x96_2x.png -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/README.md -------------------------------------------------------------------------------- /combine-extensions/CombineExtensions.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-extensions/CombineExtensions.xcodeproj/project.pbxproj -------------------------------------------------------------------------------- /combine-extensions/CombineExtensions.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-extensions/CombineExtensions.xcodeproj/project.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /combine-extensions/CombineExtensions.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-extensions/CombineExtensions.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist -------------------------------------------------------------------------------- /combine-extensions/CombineExtensions/CombineExtensions.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-extensions/CombineExtensions/CombineExtensions.h -------------------------------------------------------------------------------- /combine-extensions/CombineExtensions/CombineExtensions.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-extensions/CombineExtensions/CombineExtensions.swift -------------------------------------------------------------------------------- /combine-extensions/CombineExtensions/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-extensions/CombineExtensions/Info.plist -------------------------------------------------------------------------------- /combine-extensions/CombineExtensions/UnwrapPublisher.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-extensions/CombineExtensions/UnwrapPublisher.swift -------------------------------------------------------------------------------- /combine-extensions/CombineExtensionsTests/CombineExtensionsTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-extensions/CombineExtensionsTests/CombineExtensionsTests.swift -------------------------------------------------------------------------------- /combine-extensions/CombineExtensionsTests/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-extensions/CombineExtensionsTests/Info.plist -------------------------------------------------------------------------------- /combine-playground/combine-playground.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-playground/combine-playground.xcodeproj/project.pbxproj -------------------------------------------------------------------------------- /combine-playground/combine-playground.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-playground/combine-playground.xcodeproj/project.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /combine-playground/combine-playground.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-playground/combine-playground.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist -------------------------------------------------------------------------------- /combine-playground/combine-playground/AppDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-playground/combine-playground/AppDelegate.swift -------------------------------------------------------------------------------- /combine-playground/combine-playground/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-playground/combine-playground/Assets.xcassets/AppIcon.appiconset/Contents.json -------------------------------------------------------------------------------- /combine-playground/combine-playground/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-playground/combine-playground/Assets.xcassets/Contents.json -------------------------------------------------------------------------------- /combine-playground/combine-playground/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-playground/combine-playground/Base.lproj/LaunchScreen.storyboard -------------------------------------------------------------------------------- /combine-playground/combine-playground/ContentView/ContentView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-playground/combine-playground/ContentView/ContentView.swift -------------------------------------------------------------------------------- /combine-playground/combine-playground/ContentView/ContentViewModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-playground/combine-playground/ContentView/ContentViewModel.swift -------------------------------------------------------------------------------- /combine-playground/combine-playground/Data/DataModels.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-playground/combine-playground/Data/DataModels.swift -------------------------------------------------------------------------------- /combine-playground/combine-playground/Data/DataService.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-playground/combine-playground/Data/DataService.swift -------------------------------------------------------------------------------- /combine-playground/combine-playground/Data/StreamStore.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-playground/combine-playground/Data/StreamStore.swift -------------------------------------------------------------------------------- /combine-playground/combine-playground/Data/UserDefaultWrapper.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-playground/combine-playground/Data/UserDefaultWrapper.swift -------------------------------------------------------------------------------- /combine-playground/combine-playground/Extensions/ModelExtensions.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-playground/combine-playground/Extensions/ModelExtensions.swift -------------------------------------------------------------------------------- /combine-playground/combine-playground/Extensions/OperatorExtensions.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-playground/combine-playground/Extensions/OperatorExtensions.swift -------------------------------------------------------------------------------- /combine-playground/combine-playground/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-playground/combine-playground/Info.plist -------------------------------------------------------------------------------- /combine-playground/combine-playground/Menu/MenuRow.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-playground/combine-playground/Menu/MenuRow.swift -------------------------------------------------------------------------------- /combine-playground/combine-playground/MultiBallViews/MultiBallTunnelView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-playground/combine-playground/MultiBallViews/MultiBallTunnelView.swift -------------------------------------------------------------------------------- /combine-playground/combine-playground/MultiBallViews/MultiBallView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-playground/combine-playground/MultiBallViews/MultiBallView.swift -------------------------------------------------------------------------------- /combine-playground/combine-playground/MultiBallViews/MultiBallViewModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-playground/combine-playground/MultiBallViews/MultiBallViewModel.swift -------------------------------------------------------------------------------- /combine-playground/combine-playground/MultiStreamViews/MultiStreamView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-playground/combine-playground/MultiStreamViews/MultiStreamView.swift -------------------------------------------------------------------------------- /combine-playground/combine-playground/MultiStreamViews/MultiStreamViewModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-playground/combine-playground/MultiStreamViews/MultiStreamViewModel.swift -------------------------------------------------------------------------------- /combine-playground/combine-playground/MultiStreamViews/MultiValueStreamView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-playground/combine-playground/MultiStreamViews/MultiValueStreamView.swift -------------------------------------------------------------------------------- /combine-playground/combine-playground/MultiStreamViews/UpdatableStreamViewModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-playground/combine-playground/MultiStreamViews/UpdatableStreamViewModel.swift -------------------------------------------------------------------------------- /combine-playground/combine-playground/PlaygroundStreamView/PlaygroundStreamView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-playground/combine-playground/PlaygroundStreamView/PlaygroundStreamView.swift -------------------------------------------------------------------------------- /combine-playground/combine-playground/PlaygroundStreamView/PlaygroundStreamViewModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-playground/combine-playground/PlaygroundStreamView/PlaygroundStreamViewModel.swift -------------------------------------------------------------------------------- /combine-playground/combine-playground/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-playground/combine-playground/Preview Content/Preview Assets.xcassets/Contents.json -------------------------------------------------------------------------------- /combine-playground/combine-playground/SceneDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-playground/combine-playground/SceneDelegate.swift -------------------------------------------------------------------------------- /combine-playground/combine-playground/SingleBallViews/BallTunnelView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-playground/combine-playground/SingleBallViews/BallTunnelView.swift -------------------------------------------------------------------------------- /combine-playground/combine-playground/SingleBallViews/CircularTextView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-playground/combine-playground/SingleBallViews/CircularTextView.swift -------------------------------------------------------------------------------- /combine-playground/combine-playground/SingleBallViews/CircularTextViewModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-playground/combine-playground/SingleBallViews/CircularTextViewModel.swift -------------------------------------------------------------------------------- /combine-playground/combine-playground/SingleStreamView/DataStreamViewModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-playground/combine-playground/SingleStreamView/DataStreamViewModel.swift -------------------------------------------------------------------------------- /combine-playground/combine-playground/SingleStreamView/SingleStreamView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-playground/combine-playground/SingleStreamView/SingleStreamView.swift -------------------------------------------------------------------------------- /combine-playground/combine-playground/SingleStreamView/StreamViewModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-playground/combine-playground/SingleStreamView/StreamViewModel.swift -------------------------------------------------------------------------------- /combine-playground/combine-playground/StreamListViews/JoinOperationListStreamView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-playground/combine-playground/StreamListViews/JoinOperationListStreamView.swift -------------------------------------------------------------------------------- /combine-playground/combine-playground/StreamListViews/NewStreamView/NewStreamView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-playground/combine-playground/StreamListViews/NewStreamView/NewStreamView.swift -------------------------------------------------------------------------------- /combine-playground/combine-playground/StreamListViews/NewStreamView/NewStreamViewModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-playground/combine-playground/StreamListViews/NewStreamView/NewStreamViewModel.swift -------------------------------------------------------------------------------- /combine-playground/combine-playground/StreamListViews/OperationStreamListView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-playground/combine-playground/StreamListViews/OperationStreamListView.swift -------------------------------------------------------------------------------- /combine-playground/combine-playground/StreamListViews/StreamListView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-playground/combine-playground/StreamListViews/StreamListView.swift -------------------------------------------------------------------------------- /combine-playground/combine-playground/StreamListViews/UnifyingOperationListStreamView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-playground/combine-playground/StreamListViews/UnifyingOperationListStreamView.swift -------------------------------------------------------------------------------- /combine-playground/combine-playground/Styles/ButtonModifier.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-playground/combine-playground/Styles/ButtonModifier.swift -------------------------------------------------------------------------------- /combine-playground/combine-playground/Styles/CombineDemoButton.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-playground/combine-playground/Styles/CombineDemoButton.swift -------------------------------------------------------------------------------- /combine-playground/combine-playground/UpdateJoinStreamView/UpdateJoinStreamView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-playground/combine-playground/UpdateJoinStreamView/UpdateJoinStreamView.swift -------------------------------------------------------------------------------- /combine-playground/combine-playground/UpdateJoinStreamView/UpdateJoinStreamViewModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-playground/combine-playground/UpdateJoinStreamView/UpdateJoinStreamViewModel.swift -------------------------------------------------------------------------------- /combine-playground/combine-playground/UpdateOperationStreamView/UpdateOperationStreamView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-playground/combine-playground/UpdateOperationStreamView/UpdateOperationStreamView.swift -------------------------------------------------------------------------------- /combine-playground/combine-playground/UpdateOperationStreamView/UpdateOperationStreamViewModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-playground/combine-playground/UpdateOperationStreamView/UpdateOperationStreamViewModel.swift -------------------------------------------------------------------------------- /combine-playground/combine-playground/UpdateStreamView/UpdateStreamView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-playground/combine-playground/UpdateStreamView/UpdateStreamView.swift -------------------------------------------------------------------------------- /combine-playground/combine-playground/UpdateStreamView/UpdateStreamViewModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-playground/combine-playground/UpdateStreamView/UpdateStreamViewModel.swift -------------------------------------------------------------------------------- /combine-playground/combine-playground/UpdateUnifyingStreamView/UpdateUnifyingStreamView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-playground/combine-playground/UpdateUnifyingStreamView/UpdateUnifyingStreamView.swift -------------------------------------------------------------------------------- /combine-playground/combine-playground/UpdateUnifyingStreamView/UpdateUnifyingStreamViewModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/combine-playground/combine-playground/UpdateUnifyingStreamView/UpdateUnifyingStreamViewModel.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter1/CombineTutorial.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter1/CombineTutorial.xcodeproj/project.pbxproj -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter1/CombineTutorial.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter1/CombineTutorial.xcodeproj/project.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter1/CombineTutorial.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter1/CombineTutorial.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter1/CombineTutorial/AppDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter1/CombineTutorial/AppDelegate.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter1/CombineTutorial/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter1/CombineTutorial/Assets.xcassets/AppIcon.appiconset/Contents.json -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter1/CombineTutorial/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter1/CombineTutorial/Assets.xcassets/Contents.json -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter1/CombineTutorial/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter1/CombineTutorial/Base.lproj/LaunchScreen.storyboard -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter1/CombineTutorial/CircularTextView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter1/CombineTutorial/CircularTextView.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter1/CombineTutorial/CombineStreamView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter1/CombineTutorial/CombineStreamView.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter1/CombineTutorial/ContentView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter1/CombineTutorial/ContentView.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter1/CombineTutorial/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter1/CombineTutorial/Info.plist -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter1/CombineTutorial/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter1/CombineTutorial/Preview Content/Preview Assets.xcassets/Contents.json -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter1/CombineTutorial/SceneDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter1/CombineTutorial/SceneDelegate.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter1/CombineTutorial/StreamView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter1/CombineTutorial/StreamView.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter1/CombineTutorial/TunnelView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter1/CombineTutorial/TunnelView.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter2/CombineTutorial.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter2/CombineTutorial.xcodeproj/project.pbxproj -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter2/CombineTutorial.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter2/CombineTutorial.xcodeproj/project.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter2/CombineTutorial.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter2/CombineTutorial.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter2/CombineTutorial/AppDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter2/CombineTutorial/AppDelegate.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter2/CombineTutorial/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter2/CombineTutorial/Assets.xcassets/AppIcon.appiconset/Contents.json -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter2/CombineTutorial/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter2/CombineTutorial/Assets.xcassets/Contents.json -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter2/CombineTutorial/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter2/CombineTutorial/Base.lproj/LaunchScreen.storyboard -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter2/CombineTutorial/CircularTextView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter2/CombineTutorial/CircularTextView.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter2/CombineTutorial/CombineMapStreamView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter2/CombineTutorial/CombineMapStreamView.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter2/CombineTutorial/CombineScanStreamView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter2/CombineTutorial/CombineScanStreamView.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter2/CombineTutorial/CombineStreamView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter2/CombineTutorial/CombineStreamView.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter2/CombineTutorial/ContentView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter2/CombineTutorial/ContentView.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter2/CombineTutorial/GenericCombineStreamView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter2/CombineTutorial/GenericCombineStreamView.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter2/CombineTutorial/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter2/CombineTutorial/Info.plist -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter2/CombineTutorial/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter2/CombineTutorial/Preview Content/Preview Assets.xcassets/Contents.json -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter2/CombineTutorial/SceneDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter2/CombineTutorial/SceneDelegate.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter2/CombineTutorial/StreamView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter2/CombineTutorial/StreamView.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter2/CombineTutorial/TunnelView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter2/CombineTutorial/TunnelView.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter3/CombineTutorial.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter3/CombineTutorial.xcodeproj/project.pbxproj -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter3/CombineTutorial.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter3/CombineTutorial.xcodeproj/project.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter3/CombineTutorial.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter3/CombineTutorial.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter3/CombineTutorial/AppDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter3/CombineTutorial/AppDelegate.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter3/CombineTutorial/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter3/CombineTutorial/Assets.xcassets/AppIcon.appiconset/Contents.json -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter3/CombineTutorial/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter3/CombineTutorial/Assets.xcassets/Contents.json -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter3/CombineTutorial/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter3/CombineTutorial/Base.lproj/LaunchScreen.storyboard -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter3/CombineTutorial/CircularTextView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter3/CombineTutorial/CircularTextView.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter3/CombineTutorial/CombineMapStreamView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter3/CombineTutorial/CombineMapStreamView.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter3/CombineTutorial/CombineScanStreamView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter3/CombineTutorial/CombineScanStreamView.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter3/CombineTutorial/CombineStreamView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter3/CombineTutorial/CombineStreamView.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter3/CombineTutorial/ContentView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter3/CombineTutorial/ContentView.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter3/CombineTutorial/DoublePublisherStreamView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter3/CombineTutorial/DoublePublisherStreamView.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter3/CombineTutorial/GenericCombineStreamView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter3/CombineTutorial/GenericCombineStreamView.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter3/CombineTutorial/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter3/CombineTutorial/Info.plist -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter3/CombineTutorial/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter3/CombineTutorial/Preview Content/Preview Assets.xcassets/Contents.json -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter3/CombineTutorial/SceneDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter3/CombineTutorial/SceneDelegate.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter3/CombineTutorial/StreamView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter3/CombineTutorial/StreamView.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter3/CombineTutorial/TunnelView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter3/CombineTutorial/TunnelView.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter4/CombineTutorial.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter4/CombineTutorial.xcodeproj/project.pbxproj -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter4/CombineTutorial.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter4/CombineTutorial.xcodeproj/project.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter4/CombineTutorial.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter4/CombineTutorial.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter4/CombineTutorial/AppDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter4/CombineTutorial/AppDelegate.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter4/CombineTutorial/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter4/CombineTutorial/Assets.xcassets/AppIcon.appiconset/Contents.json -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter4/CombineTutorial/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter4/CombineTutorial/Assets.xcassets/Contents.json -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter4/CombineTutorial/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter4/CombineTutorial/Base.lproj/LaunchScreen.storyboard -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter4/CombineTutorial/CircularTextArrayView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter4/CombineTutorial/CircularTextArrayView.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter4/CombineTutorial/CircularTextView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter4/CombineTutorial/CircularTextView.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter4/CombineTutorial/CombineMapStreamView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter4/CombineTutorial/CombineMapStreamView.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter4/CombineTutorial/CombineScanStreamView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter4/CombineTutorial/CombineScanStreamView.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter4/CombineTutorial/CombineStreamView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter4/CombineTutorial/CombineStreamView.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter4/CombineTutorial/ContentView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter4/CombineTutorial/ContentView.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter4/CombineTutorial/DoublePublisherStreamView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter4/CombineTutorial/DoublePublisherStreamView.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter4/CombineTutorial/GenericCombineStreamView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter4/CombineTutorial/GenericCombineStreamView.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter4/CombineTutorial/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter4/CombineTutorial/Info.plist -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter4/CombineTutorial/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter4/CombineTutorial/Preview Content/Preview Assets.xcassets/Contents.json -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter4/CombineTutorial/SceneDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter4/CombineTutorial/SceneDelegate.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter4/CombineTutorial/StreamView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter4/CombineTutorial/StreamView.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter4/CombineTutorial/TunnelView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter4/CombineTutorial/TunnelView.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter5/CombineTutorial.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter5/CombineTutorial.xcodeproj/project.pbxproj -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter5/CombineTutorial.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter5/CombineTutorial.xcodeproj/project.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter5/CombineTutorial.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter5/CombineTutorial.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter5/CombineTutorial/AppDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter5/CombineTutorial/AppDelegate.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter5/CombineTutorial/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter5/CombineTutorial/Assets.xcassets/AppIcon.appiconset/Contents.json -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter5/CombineTutorial/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter5/CombineTutorial/Assets.xcassets/Contents.json -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter5/CombineTutorial/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter5/CombineTutorial/Base.lproj/LaunchScreen.storyboard -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter5/CombineTutorial/ButtonModifier.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter5/CombineTutorial/ButtonModifier.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter5/CombineTutorial/CircularTextArrayView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter5/CombineTutorial/CircularTextArrayView.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter5/CombineTutorial/CircularTextView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter5/CombineTutorial/CircularTextView.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter5/CombineTutorial/CombineMapStreamView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter5/CombineTutorial/CombineMapStreamView.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter5/CombineTutorial/CombineScanStreamView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter5/CombineTutorial/CombineScanStreamView.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter5/CombineTutorial/CombineStreamView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter5/CombineTutorial/CombineStreamView.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter5/CombineTutorial/ContentView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter5/CombineTutorial/ContentView.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter5/CombineTutorial/DescriptiveTunnelView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter5/CombineTutorial/DescriptiveTunnelView.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter5/CombineTutorial/DoublePublisherStreamView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter5/CombineTutorial/DoublePublisherStreamView.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter5/CombineTutorial/GenericCombineStreamView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter5/CombineTutorial/GenericCombineStreamView.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter5/CombineTutorial/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter5/CombineTutorial/Info.plist -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter5/CombineTutorial/MultiCircularTextView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter5/CombineTutorial/MultiCircularTextView.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter5/CombineTutorial/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter5/CombineTutorial/Preview Content/Preview Assets.xcassets/Contents.json -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter5/CombineTutorial/SceneDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter5/CombineTutorial/SceneDelegate.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter5/CombineTutorial/StreamView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter5/CombineTutorial/StreamView.swift -------------------------------------------------------------------------------- /tutorials/combine-tutorial/chapter5/CombineTutorial/TunnelView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevinjohnason/combine-magic-swiftui/HEAD/tutorials/combine-tutorial/chapter5/CombineTutorial/TunnelView.swift --------------------------------------------------------------------------------