Skip to content

Instantly share code, notes, and snippets.

@Rukh
Rukh / CAMediaTimingFunction+Unit.swift
Last active April 9, 2024 10:42
A representation of a unit Bezier curve for `BinaryFloatingPoint` types. This struct allows solving the Bezier curve at a given `x` value, which is useful for applying timing functions directly to numerical calculations.
//
// CAMediaTimingFunction+Unit.swift
//
// Created by Dmitry Gulyagin on 08/04/2024.
// https://gist.github.com/Rukh/96cbe8b93cdf4976c0c6a367f236fbbd
//
import QuartzCore
extension CAMediaTimingFunction {
@Rukh
Rukh / URLRequest+cURL.swift
Last active March 28, 2024 09:53 — forked from abhi21git/ExtensionURLRequest.swift
Swift cURL Printer
//
// URLRequest+cURL.swift
//
// Created by Dmitry Gulyagin on 19/02/2024.
//
import struct Foundation.URLRequest
public extension URLRequest {
@Rukh
Rukh / AVCapturePhotoOutput+Utils.swift
Created May 12, 2023 12:35
Async / await capture photo
import AVKit
extension AVCapturePhotoOutput {
enum Failure: Error {
case capturePhotoFailed
}
private final class CaptureDelegate: NSObject, AVCapturePhotoCaptureDelegate {
@Rukh
Rukh / EmbedSwiftUIView.swift
Last active March 20, 2024 08:54
EmbedSwiftUIView.swift
//
// Created by Dmitry Gulyagin on 24/11/2022.
//
import SwiftUI
/// Wrap SwiftUI view into the container. You can change 'var' properties of the View, and SwiftUI will animate all changes
@dynamicMemberLookup
public final class EmbedSwiftUIView<RootView> where RootView : View {
@Rukh
Rukh / BackdropBlurView.swift
Last active January 3, 2024 07:05
UIVisualEffectView with any blur radius in SwiftUI
//
// BackdropBlurView.swift
//
// Created by Dmitry Gulyagin on 20.09.2022.
//
import SwiftUI
/// A View which content reflects all behind it
struct BackdropView: UIViewRepresentable {