Skip to content

Instantly share code, notes, and snippets.

View danielt1263's full-sized avatar

Daniel Tartaglia danielt1263

View GitHub Profile
//
// EmitWhile.swift
//
// Created by Daniel Tartaglia on 09/06/2018.
// Copyright © 2021 Daniel Tartaglia. MIT License.
//
import Foundation
import RxSwift
//
// SKProductsRequest+Rx.swift
//
// Created by Daniel Tartaglia on 8/28/19.
// Copyright © 2019 Daniel Tartaglia. MIT License.
//
import RxSwift
import RxCocoa
import StoreKit
//
// Filter.swift
//
// Created by Daniel Tartaglia on 8/25/2018.
// Copyright © 2019 Daniel Tartaglia. MIT License.
//
import RxSwift
extension ObservableType {
@danielt1263
danielt1263 / Combinators.swift
Created November 28, 2022 03:06
A list of combinators
func apply<A, B>(fn: (A) -> B, a: A) -> B {
fn(a)
}
func bluebird<A, B, C>(fn1: (A) -> B, fn2: (C) -> A, c: C) -> B {
fn1(fn2(c))
}
func blackbird<A, B, C, D>(fn1: (C) -> D, fn2: (A, B) -> C, a: A, b: B) -> D {
//
// TestScheduler+MarbleTests.swift
//
// Created by Daniel Tartaglia on 31 October 2021.
// Copyright © 2022 Daniel Tartaglia. MIT License.
//
import Foundation
import RxSwift
import RxTest
//
// Restart.swift
//
// Created by Daniel Tartaglia on 23 Jun 2022.
// Copyright © 2022 Daniel Tartaglia. MIT License.
//
import RxSwift
extension ObservableType {
//
// WithNextFrom.swift
//
// Created by Daniel Tartaglia on 7/07/21.
// Copyright © 2021 Daniel Tartaglia. MIT License.
//
import RxSwift
extension ObservableType {
/// Emit the next element from the second Observable immediatly after an element from the source Observable emits. The most recent from the source and the next event from the second observable will be passed to the resultSelector for processing.
struct MenuViewModelInput {
let fetchMenus: Observable<Void>
let clearSelections: Observable<Void>
let makeOrder: Observable<Void>
let increaseMenuCount: Observable<(menu: ViewMenu, inc: Int)>
}
struct MenuViewModelOutput {
let activated: Observable<Bool>
let errorMessage: Observable<Error>
//
// PaginationNetworkLogic.swift
//
// Created by Daniel Tartaglia on 4/9/17.
// Copyright © 2019 Daniel Tartaglia. MIT License
//
import RxSwift
struct PaginationUISource {
//
// PublisherResultTransforms.swift
// rx-sandbox
//
// Created by Daniel Tartaglia on 9/19/21.
//
import Combine
/**