Skip to content

Instantly share code, notes, and snippets.

View sonhanguyen's full-sized avatar

Harry sonhanguyen

  • Melbourne, Australia
View GitHub Profile
@sonhanguyen
sonhanguyen / index.js
Last active February 22, 2016 05:22
esnextb.in
import React, { PropTypes as t } from 'react'
var inject = (selector = pass => pass ) =>
connect(
({ pass }) => selector(pass),
{ pass: t.object }
)
var Context = Object.assign(
({ children, ...props }, { pass = {} }) =>
@sonhanguyen
sonhanguyen / cloudSettings
Last active July 11, 2017 11:58
Visual Studio code settings
{"lastUpload":"2017-07-02T02:01:08.109Z","extensionVersion":"v2.8.1"}
@sonhanguyen
sonhanguyen / esnextbin.md
Last active July 8, 2019 13:06
esnextbin sketch
type Dec = Record<number, never> & [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

type A = Dec[12]

type Overload<T extends Signature[]> = {
  [K in number & keyof T]: (...args: Args<T[K]>) => Return<T[K]>
}

type Args = any[] &amp; {
_ = require 'lodash'
imdb = require 'imdb-api'
rarbg = require 'rarbgto-api'
fetch = require 'isomorphic-fetch'
cache = require('memoize-fs') cachePath: './memoize-fs'
memoize = ({ store , invalidator }, func) ->
options = { cacheId: store, noBody: true }
atempt = ->
@sonhanguyen
sonhanguyen / hyperact.coffee
Last active April 10, 2017 01:44
make coffeescript act again (act again <- get it?)
try do registerInstaller = -> require 'autoinstall' catch notFound
require('child_process').execSync 'npm i autoinstall'
registerInstaller()
hyperstyles = require 'hyperstyles'
h = require('react-hyperscript')
o = hyperstyles h,
(require 'csjs')"""
.panel {
border: 1px solid black;
@sonhanguyen
sonhanguyen / jest-webpack-loader.js
Last active May 13, 2017 16:50
make jest behave using (webpack) loader-runner
const deasync = require('deasync')
const runLoaders = deasync(require('loader-runner').runLoaders)
const { module: { rules } } = config = require('./webpack.base')
const fs = require('fs')
const resolveLoader = req => {
let loader = req
req = ~req.indexOf`?`
if (req) {
const index = ~req
@sonhanguyen
sonhanguyen / cloudSettings
Last active November 12, 2017 04:09 — forked from itkq/filter.rb
Alfred Vivaldi workflow
{"lastUpload":"2017-10-30T13:54:53.487Z","extensionVersion":"v2.8.3"}
@sonhanguyen
sonhanguyen / -
Last active September 2, 2017 02:54
Package name ID Manager Installed version
------------------------------- ------------------------------- --------- -------------------
alfred alfred cask 3.2_759
amethyst amethyst cask 0.10.1
cheatsheet cheatsheet cask 1.2.6
chromedriver chromedriver brew 2.27
ccat ccat brew 1.1.0
colorls colorls gem 0.1.7
DrCleaner 921458519 mas 3.2.0
eintopf eintopf cask 1.3.2
graphene (0.7.3)
howdoi (1.1.9)
http-prompt (0.10.2)
jupyterlab (0.26.4)
meta-package-manager (2.5.0)
@sonhanguyen
sonhanguyen / mixin_delegate_decorator.ts
Last active October 31, 2022 13:44
kotlin's style delegate in typescript
function delegateTo(prop: string) {
const { __proto__ } = this
Object.setPrototypeOf(this,
new Proxy({}, {
get: (target, name) => {
target = this[prop]
if (name === prop) return target
if (name in __proto__) return __proto__[name]
return target ? target[name] : undefined