Skip to content

Instantly share code, notes, and snippets.

@circAssimilate
circAssimilate / CustomIconView.swift
Created October 26, 2022 08:41
SwiftUI View with a HostingView helper.
import SwiftUI
// MARK: - CustomIconView
struct CustomIconView: View {
let containerSize: CGSize
let imageSize: CGSize
let nsImage: NSImage?
@Environment(\.colorScheme) var colorScheme
extension NSScrollView {
var documentSize: NSSize {
set { documentView?.setFrameSize(newValue) }
get { documentView?.frame.size ?? NSSize.zero }
}
var documentOffset: NSPoint {
set { documentView?.scroll(newValue) }
get { documentVisibleRect.origin }
@circAssimilate
circAssimilate / TaskCanelation.swift
Created July 7, 2022 20:00
Playing with Swift task cancelation.
//: [Previous](@previous)
import Foundation
import AppKit
Task {
print("[DEBUG] BEING")
var task: Task<String, Error>?
@circAssimilate
circAssimilate / clamp.swift
Last active February 10, 2022 23:06
Clamp method for Swift
func clamp<T: Comparable>(value: T, minValue: T, maxValue: T) -> T {
return max(
minValue,
min(
value,
maxValue
)
)
}
@circAssimilate
circAssimilate / VS Codeish.idekeybindings
Created January 19, 2022 05:55
~/Library/Developer/Xcode/UserData/KeyBindings/VS\ Codeish.idekeybindings
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Menu Key Bindings</key>
<dict>
<key>Key Bindings</key>
<array>
<dict>
<key>Action</key>
@circAssimilate
circAssimilate / context-utils-with-use-selectors.ts
Created August 12, 2021 23:20
Context Utils With Use Selectors
/* eslint-disable @typescript-eslint/no-explicit-any */
import {
Context,
createContext,
useContextSelector,
} from '@fluentui/react-context-selector';
type CreateNamedContextReturn<T> = [
Provider: React.Provider<T>,
useContext: <V = T>() => V,
/**
* @see https://stackoverflow.com/questions/14962018/detecting-and-fixing-circular-references-in-javascript
*/
export function isCyclic(obj: Record<string, unknown>): boolean {
const seenObjects: unknown[] = [];
function detect(objToDetect: unknown) {
if (objToDetect && typeof objToDetect === 'object') {
if (seenObjects.includes(objToDetect)) {
return true;
}
@circAssimilate
circAssimilate / formik.js
Created July 10, 2020 21:00
Two options for Formik method additions based off of existing Formik code
function deleteField(obj: any, path: string) {
let res = clone(obj); // this keeps inheritance when obj is a class
let resVal = res;
let i = 0;
let pathArray = toPath(path);
for (; i < pathArray.length - 1; i++) {
var currentPath = pathArray[i];
let currentObj = get(obj, pathArray.slice(0, i + 1));
@circAssimilate
circAssimilate / cloudSettings
Last active January 22, 2021 19:57
Visual Studio Code Settings Sync Gist
{"lastUpload":"2021-01-22T19:56:55.940Z","extensionVersion":"v3.4.3"}
@circAssimilate
circAssimilate / page_component.js
Last active September 21, 2020 21:13
Used to develop for Full Stack Metrics and Events Component at p13n/sections/manager_fullstack/pages/metrics/page_component.js
/**
* ATTN: This file will NOT be merged. It's just for manually testing this via the existing Full Stack Experiment manager
*/
import React from 'react';
import PropTypes from 'prop-types';
import { Button, Container, Row, Col, EmptyDashboard } from 'optimizely-oui';
import ui from 'core/ui';
import Immutable, { toImmutable, toJS } from 'optly/immutable';