Skip to content

Instantly share code, notes, and snippets.

View jangelsb's full-sized avatar

Josh Angelsberg jangelsb

View GitHub Profile
@propertyWrapper
class Lazy<T> {
fileprivate var loader: (()->T)
fileprivate var _value: T?
var projectedValue: Lazy<T> { return self }
var wrappedValue: T {
_value = _value ?? loader()
return _value!
}
@dmsl1805
dmsl1805 / SnakeCase.swift
Last active September 3, 2023 16:11 — forked from ivanbruel/SnakeCase.swift
Camel case to snake case in Swift
extension String {
func snakeCased() -> String? {
let pattern = "([a-z0-9])([A-Z])"
let regex = try? NSRegularExpression(pattern: pattern, options: [])
let range = NSRange(location: 0, length: count)
return regex?.stringByReplacingMatches(in: self, options: [], range: range, withTemplate: "$1_$2").lowercased()
}
}