Skip to content

Instantly share code, notes, and snippets.

const R = require('ramda')
const undoable = (shape) => {
const operation = actionSelection => R.evolve(
R.map(R.cond([
[R.is(Function), R.identity],
[R.is(Array), actionSelection],
[R.is(Object), R.pipe(undoable, actionSelection)],
[R.T, R.identity],
]), shape)
```ts
type Tail<F extends Function, S extends Number> =
S extends 0 ? (F extends (...args: infer TArgs) => any ? TArgs : never) :
S extends 1 ? (F extends (a: any, ...args: infer TArgs) => any ? TArgs : never) :
S extends 2 ? (F extends (a: any, b: any, ...args: infer TArgs) => any ? TArgs : never) :
S extends 3 ? (F extends (a: any, b: any, c: any, ...args: infer TArgs) => any ? TArgs : never) :
S extends 4 ? (F extends (a: any, b: any, c: any, d: any, ...args: infer TArgs) => any ? TArgs : never) :
S extends 5 ? (F extends (a: any, b: any, c: any, d: any, e: any, ...args: infer TArgs) => any ? TArgs : never) :
S extends 6 ? (F extends (a: any, b: any, c: any, d: any, e: any, f: any, ...args: infer TArgs) => any ? TArgs : never) :
never
alias.ln !sh -c "git config --global \"alias.$1\" \"$2\""
alias.aliases config --get-regexp alias
alias.st status
alias.branch-name rev-parse --abbrev-ref HEAD
alias.upstream-name !git for-each-ref --format=%\(upstream:short\) $(git symbolic-ref -q HEAD)
alias.last log --date=iso8601 --stat -1
alias.ls log --pretty=format:"%C(yellow)%h %C(reset)%s%C(blue) [%cn]%C(red)%d"
alias.ldr log --pretty=format:"%C(yellow)%h %ad %C(reset)%s%C(blue) [%cn]%C(red)%d" --date=relative
alias.ld log --pretty=format:"%C(yellow)%h (%ad) %C(reset)%s%C(blue) [%cn]%C(red)%d" --date=iso8601
alias.tree !git ls --graph
@gtkatakura-bysoft
gtkatakura-bysoft / @types->styled-components->native->index.d.ts
Created December 3, 2018 18:27
styled-components native workaround types for v4.1.2
import styled from 'types-styled-components-v3/native'
export default styled