Skip to content

Instantly share code, notes, and snippets.

View akameco's full-sized avatar

akameco akameco

  • Japan, Tokyo
View GitHub Profile
// @flow
import * as React from 'react'
class Maybe extends React.Component<{
flag: boolean,
children?: React.Node,
else: React.Node,
}> {
render() {
const { props } = this
@akameco
akameco / gcd.sh
Last active October 4, 2017 21:01
gcd(GitHub cd)
GHQ=`ghq root`/github.com
ME=`git config --get user.name`
gcd() {
ghq get -p $1
if [ `dirname "$1"` = "." ]; then
cd $GHQ/$ME/$1
else
cd $GHQ/$1
fi
$ curl localhost:3000?name=tj
["express","koa","mocha","stylus","co"]
@akameco
akameco / shell
Last active August 30, 2017 10:45
$ yarn add cli-to-api
$ yarn run cli-to-api cli.js -o server.js
$ node server.js
listening on 3000
$ yarn add mri // or minimist
$ node cli.js --name tj
[ 'express', 'koa', 'mocha', 'stylus', 'co' ]
$ chmod +x cli.js
$ cli.js --name kittens
[ 'babel', 'yarn' ]
'use strict'
const parse = require('mri') // or require('minimist')
// node cli.js --name tj
const { name } = parse(process.argv.slice(2))
const jsers = {
tj: ['express', 'koa', 'mocha', 'stylus', 'co'],
sindersorhus: ['ava', 'chalk', 'xo', 'yaomen'],
rauchg: ['socket.io', 'next.js'],
$ mkdir cli-app-demo
$ cd cli-app-demo
$ yarn init -y
$ touch cli.js
try {
  await f()
} catch (err) {
  handleErr1(err)
}
try {
  await g()
} catch (err) {
  handleErr2(err)
}
let name = ‘ゲスト’
try {
name = awiat getName()
} catch (err) { }
console.log(`ようこそ ${name}さん`)
// => ようこそ ゲストさん
/// ↓ ↓ ↓
const name = await getName().catch(() => ‘ゲスト’)