Skip to content

Instantly share code, notes, and snippets.

View KaQuMiQ's full-sized avatar

Kacper Kaliński KaQuMiQ

View GitHub Profile
@KaQuMiQ
KaQuMiQ / Parameters.swift
Created March 4, 2020 14:20
Dynamic typed parameters
internal protocol AnyOptional {}
extension Optional: AnyOptional {}
// MARK: - parameter
public typealias ParameterName = String
public protocol AnyParameter {
var name: ParameterName { get }
@KaQuMiQ
KaQuMiQ / lldb_pbcopy_value.py
Created February 28, 2020 07:03
Copy value from lldb to pasteboard
import os
def pbcopy(text):
command = 'echo ' + text.strip() + '| pbcopy'
os.system(command)
def getValue(x):
value = lldb.frame.EvaluateExpression(x)
if (value.TypeIsPointerType()):
ret = value.GetObjectDescription()
@KaQuMiQ
KaQuMiQ / Cuckoo.swift
Created February 19, 2020 09:34
Cuckoo
import Darwin
import Foundation.NSData
import Dispatch
// TODO: check for memory leaks - should manage most of pointers manually?
struct Cuckoo {
static var workdir: String {
get {
String(cString: getwd(nil))
@KaQuMiQ
KaQuMiQ / FixKeyboard.sh
Created December 13, 2019 09:56
Fix macbook keyboard to have proper `~` key instead of useless `§`
#!/bin/bash
hidutil property --set '{"UserKeyMapping":
[{"HIDKeyboardModifierMappingSrc":0x700000064,
"HIDKeyboardModifierMappingDst":0x700000035}]
}'
@KaQuMiQ
KaQuMiQ / Unowned.swift
Created December 12, 2019 14:45
Dynamic unowned generic value
@propertyWrapper
internal final class Unowned<Wrapped> {
private let wrapper: Wrapper
fileprivate init(wrapper: Wrapper) {
self.wrapper = wrapper
}
internal var wrappedValue: Wrapped {
get { wrapper.get() }
@KaQuMiQ
KaQuMiQ / MigrationProxy.swift
Last active December 11, 2019 10:56
Dynamic codable migration proxy
@dynamicMemberLookup
internal enum MigrationProxy {
case null
case bool(Bool)
case integer(Int)
case float(Double)
case string(String)
case array(Array<MigrationProxy>)
case dictionary(Dictionary<String, MigrationProxy>)
@KaQuMiQ
KaQuMiQ / Cryptor.swift
Last active March 7, 2023 08:24
EasyAES
import Foundation
import CommonCrypto
internal enum CryptoError: Error {
case emptyData
case invalidData
case invalidKey
case fail(status: CCStatus)
}
@KaQuMiQ
KaQuMiQ / Store.swift
Created November 20, 2019 14:48
CodableFileStore
import Foundation
internal struct Storage<Object: Codable> {
var load: () throws -> Object
var store: (Object) throws -> Void
}
internal enum StorageError: Error {
case cannotAccessFile
}
@KaQuMiQ
KaQuMiQ / KeyboardAwareVC.swift
Last active April 10, 2020 12:23
Keyboard aware ViewController based on safeArea
import UIKit
import ObjectiveC
private var originalAdditionalSafeAreaInsetsKey: Int = 0
open class KeyboardAwareViewController: UIViewController {
open class var backgroundTapEditingEndHandlerEnabled: Bool { true }
private var originalAdditionalSafeAreaInsets: UIEdgeInsets? {
get {
@KaQuMiQ
KaQuMiQ / UserDefaultsProperty.swift
Created October 23, 2019 07:10
UserDefaults property wrapper
import Foundation
internal protocol AnyOptional {
var isNone: Bool { get }
}
extension Optional: AnyOptional {
var isNone: Bool {
switch self {
case .none: return true