Skip to content

Instantly share code, notes, and snippets.

View shaundon's full-sized avatar

Shaun Donnelly shaundon

View GitHub Profile
@shaundon
shaundon / ContentView.swift
Created March 4, 2021 11:45
MapView with polyline support in SwiftUI
import SwiftUI
import MapKit
struct ContentView: View {
@State private var region = MKCoordinateRegion(
// Apple Park
center: CLLocationCoordinate2D(latitude: 37.334803, longitude: -122.008965),
span: MKCoordinateSpan(latitudeDelta: 0.01, longitudeDelta: 0.01)
)
@shaundon
shaundon / WorkoutSplit.swift
Created February 21, 2021 17:34
Convert an array of HKQuantitySample into splits.
import Foundation
import HealthKit
struct WorkoutSplit: Hashable {
let label: String
let distance: HKQuantity
let duration: TimeInterval
}
extension WorkoutSplit {
@shaundon
shaundon / ContentView.swift
Last active July 4, 2022 11:31
PHPicker in SwiftUI
import SwiftUI
struct ContentView: View {
@State private var showPhotoSheet = false
@State private var image: UIImage? = nil
var body: some View {
VStack {
Button(action: { showPhotoSheet = true }) {
Label("Choose photo", systemImage: "photo.fill")
/*
Adds an input to bongo.cat so you can preset your own tunes.
*/
(() => {
const simulateKey = (simKey) => {
var instrument = InstrumentPerKeyEnum[simKey.toUpperCase()];
var key = KeyEnum[simKey.toUpperCase()];
if (instrument !== undefined && key !== undefined) {
$.play(instrument, key, true);
import SwiftUI
struct Heading: View {
let title: String
let accessoryView: AnyView?
init(
_ title: String,
accessoryView: AnyView? = nil
) {
import SwiftUI
struct RoundedVStack<Content: View>: View {
let content: Content
init(@ViewBuilder content: () -> Content) {
self.content = content()
}
var body: some View {
import SwiftUI
class MyModel: ObservableObject {
@Published var segmentedControlValue: Int = 0 {
didSet {
self.accumulator += 1
print("segmentedControlValue set to \(self.segmentedControlValue)")
}
}
@Published var accumulator: Int = 0
//
// PageSlide.swift
// personal-best
//
// Created by Shaun Donnelly on 20/06/2020.
// Copyright © 2020 Shaun Donnelly. All rights reserved.
//
import SwiftUI

Bash functions

Some functions I have installed in my ~/.bash_profile to make life easier. Source code

clone

Description

Clone a repo into your projects folder and cd into it.

@shaundon
shaundon / app.js
Created February 1, 2016 10:06
Very simple NodeJS server that returns 500 errors
var express = require('express');
var app = express();
app.get('/', function(req, res) {
res.sendStatus(500);
});
app.listen(6969);