Skip to content

Instantly share code, notes, and snippets.

#!/bin/bash
# Opens PR if PR is open and commit (sha) exists on remote, else opens repo
#
# Requires environment variable GITHUB_USER_KEY to be set e.g. github_username:github_token
# See https://github.com/settings/tokens
#
# Ensure open-github.sh has execute permissions
# Set alias github="~/open-github.sh"
@allenevans
allenevans / async-fragment.jsx
Created May 27, 2018 10:46
Example of how to render the result of a resolved promise in react
import PropTypes from 'prop-types';
import React, { Component, Fragment } from 'react';
class AsyncFragment extends Component {
constructor(props) {
super(props);
this.state = {
value: null,
};
@allenevans
allenevans / rxjs.array-over-time-iteration.js
Created March 10, 2017 10:33
RxJS iterate over an array by time
const keyInputs = [
['n', 1],
['e', 10],
['w', 100],
[' ', 1],
['y', 10],
['o', 100],
['r', 300],
['k', 200]
];
@allenevans
allenevans / rxjs.countdown.ts
Last active November 13, 2016 12:22
This countdown timer takes a boolean observable input stream and counts down to zero. Pushing a true / false through the input stream will reset the count.
const countdown: Rx.Observable = (
inputStream: Rx.Observable<boolean>,
duration: number,
interval: number = 1000
): Rx.Observable<number> => {
return inputStream
.switchMap((enabled) => {
return enabled ? Rx.Observable.timer(0, interval)
.takeUntil(Rx.Observable.timer(duration + interval)) :
Rx.Observable.never();
@allenevans
allenevans / calc.js
Created December 24, 2015 12:30
Adding the subtract feature: Git: Node Pre-commit Hooks blog post
/*
* File : calc.js
* Description : A calculator node command line interface app.
* ------------------------------------------------------------------------------------------------ */
var argv = require('minimist')(process.argv.slice(2));
/**
* Sum two numbers together
* @param {number} num1
* @param {number} num2