View index.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<head> | |
<style> | |
@media print { body { height: 297mm } } | |
body { | |
width: 210mm; | |
font-family: Helvetica Neue, Helvetica, Arial, sans-serif; | |
margin: 0; | |
display: flex; | |
} |
View parser.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// I could not find any validation library (zod, io-ts etc) that allows custom error types | |
// so quickly wipped this up, note that the errors here are string literals but they | |
// might as well be, say, custom classes for pattern matching later | |
// think about error messages that you need to translate to many languages in the front-end | |
const formValidator = <S extends Record<string, Validator<any, any>>>(schema: S): Validator< | |
{ [K in keyof S]: Infer<S[K]>['Input'] }, | |
{ [K in keyof S]: | |
{ error: Infer<S[K]>['Error'] | |
value: Infer<S[K]>['Input'] |
View lens.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
type Lens<State, Value> = { | |
(_: State): Value | |
set: (_: Value) => (_: State) => State | |
map<T>(_: Lens<Value, T>): Lens<State, T> | |
} | |
type Prop<K extends string, V = any> = Lens<Record<K, V>, V> |
View cache.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import os | |
import collections | |
import pickle | |
import json | |
import urllib.parse | |
import re | |
from functools import wraps | |
from typing import Callable, Any | |
from dataclasses import dataclass, fields |
View gist:4743d4b7c479d52c43a5447f831271ee
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
type NumericIndex = '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | |
type Index<T extends any[]> = NumericIndex & keyof T | |
type UnionToIntersection<U> = | |
(U extends any ? (k: U)=>void : never) extends ((k: infer I)=>void) ? I : never | |
type Builder<State = {}> = { | |
(): State | |
<A extends string[]>(...namedArgsOrder: A): < | |
V extends { [K in keyof A]: any }, | |
T = UnionToIntersection<{ [K in Index<A>]: Record<string & A[K], V[K]> }[Index<A>]> |
View overload.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
type Func = (..._) => any | |
const overload = <Default extends Func>(defaultFunc: Default): OverloadBuilder<Default> => { | |
// @ts-ignore | |
const match = cases => Object.assign( | |
(...args) => { | |
const matcher = cases.find(([ guard ]) => guard(args)) | |
const func = matcher | |
? matcher[1] | |
: defaultFunc |
View Default.bttpreset
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"BTTPresetName" : "Default", | |
"BTTGeneralSettings" : { | |
"disableScrollingIf3" : true, | |
"BTTPasteWhenTriggeringClipboardAgain" : true, | |
"BTTForceNormalClickPressure5F" : 200, | |
"disableScrollingIf2" : true, | |
"BTTDidRegisterForUpdateStats" : "3.140", | |
"BTTShowControlStrip" : true, | |
"BTTShowControlStripItem" : true, |
View app.tsx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import * as React from 'react' | |
import { render } from 'react-dom' | |
import { compose, fromRenderProps } from 'recompose' | |
import { identity, pick, mapValues } from 'lodash' | |
const withDependencies = (...services: Array<[any, Function]>) => { | |
const enhance = compose( | |
...services.map(([service, mapProps]) => fromRenderProps( | |
Service.contextFor(service).Consumer, | |
mapProps |
View userChrome.css
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash {} /* | |
cd ~/.mozilla/firefox || cd ~/Library/Application\ Support/Firefox* | |
source <(grep Default= profiles.ini) | |
mkdir $Default/chrome | |
tee $Default/chrome/userChrome.css <<EOF | |
/*#region Firefox */ | |
#browser, |
View App.tsx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import * as React from 'react' | |
import Grid from './Grid' | |
import './App.css' | |
interface BaseLineItem { | |
id: string | |
name: string | |
cost: number | |
} |
NewerOlder