Skip to content

Instantly share code, notes, and snippets.

View marcbaldwin's full-sized avatar

Marc Baldwin marcbaldwin

  • Bournemouth, UK
View GitHub Profile
@marcbaldwin
marcbaldwin / RxRelayPropertyWrapper.swift
Created June 24, 2021 10:07
RxSwift RxRelay Property Wrapper
import RxRelay
import RxSwift
@propertyWrapper
final class RxRelayProperty<Value> {
var wrappedValue: Value {
get { relay.value }
set { relay.accept(newValue) }
}
@KyleGoslan
KyleGoslan / DataSnapsot+Extension.swift
Last active September 28, 2018 11:32
Initilize objects from DataSnapshot that conform to the Codable protocol
import Firebase
extension DataSnapshot {
func toObject<T:Codable>() throws -> T {
var newValue = value as! [String: Any]
newValue["uid"] = key
let data = try! JSONSerialization.data(withJSONObject: newValue, options: .sortedKeys)
return try JSONDecoder().decode(T.self, from: data)
}
@kientux
kientux / frameworks_blogpost_merge_script.sh
Last active July 27, 2023 17:17 — forked from brett-stover-hs/frameworks_blogpost_merge_script.sh
Merge simulator and device dynamic frameworks into one
# Merge Script
# 1
# Set bash script to exit immediately if any commands fail.
set -e
# 2
# Setup some constants for use later on.
FRAMEWORK_NAME="${PROJECT_NAME}"
@Ashton-W
Ashton-W / Issue.md
Last active June 14, 2024 15:27
GitHub Markdown toggle code block
Click to toggle contents of `code`
CODE!
@xalexchen
xalexchen / ShadowLayout.java
Last active June 14, 2021 23:30
Android custom layout paints a drop shadow behind all children
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BlurMaskFilter;
import android.graphics.BlurMaskFilter.Blur;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Paint.Style;
import android.graphics.Rect;
import android.graphics.RectF;
@moole
moole / GPS_coord_regexp
Created September 12, 2012 14:47
GPS coordinate regular expression
FLOAT NUMBER \f
((?:[\+-]?[0-9]*[\.,][0-9]+)|(?:[\+-]?[0-9]+))
DEGREE SEPARATOR \ds
[^ms'′"″,\.\dNEWnew]
MINUTE SEPARATOR \ms
[^ds°"″,\.\dNEWnew]
SECOND SEPARATOR \ss