Skip to content

Instantly share code, notes, and snippets.

@donpayne
donpayne / proxyEmitter.js
Last active July 25, 2017 19:16
Javascript native config object using proxy and eventEmitter
import { EventEmitter } from 'events';
let listener = new EventEmitter();
let config = new Proxy(filteredEnvVars(), { get, set });
export default Object.assign(config, { listener });
function filteredEnvVars () {
return Object.keys(process.env)
.filter(removeNPMVars)
@donpayne
donpayne / recursiveCallList.js
Last active July 10, 2017 17:34
RecursiveCallList - Synchronous function queue caller until a valid value is returned (i.e., truthy or non-error)
// var _ = require('lodash');
var list = [
function eenie () { throw new Error('hey'); },
function meenie () { return 0; },
function minie () { return false; },
function moe () { return 'hello'; },
function catcha () { return 'world'; }
];
{
// --------------------------------------------------------------------
// JSHint Configuration, Strict Edition
// --------------------------------------------------------------------
//
// This is a options template for [JSHint][1], using [JSHint example][2]
// and [Ory Band's example][3] as basis and setting config values to
// be most strict:
//
// * set all enforcing options to true
// Modules
var gulp = require('gulp');
var nodemon = require('gulp-nodemon');
var jshint = require('gulp-jshint');
var uglify = require('gulp-uglify');
var browserify = require('browserify');
var watchify = require('watchify');
var envify = require('envify');
var source = require('vinyl-source-stream');
var gulp = require('gulp');
var browserify = require('browserify');
var notify = require('gulp-notify');
var source = require('vinyl-source-stream');
var watchify = require('watchify');
var plumber = require('gulp-plumber');
var less = require('gulp-less');
var csso = require('gulp-csso');
var watch = require('gulp-watch');
var envify = require('envify');