Skip to content

Instantly share code, notes, and snippets.

View seangravener's full-sized avatar

Sean Gravener seangravener

  • Odyssey Creative
  • FL
View GitHub Profile
@seangravener
seangravener / 01-directory-structure.md
Last active January 30, 2021 22:06 — forked from tracker1/01-directory-structure.md
Anatomies of JavaScript/Node projects

Directory structure for JavaScript/Node Projects

While the following structure is not an absolute requirement or enforced by the tools, it is a recommendation based on what the JavaScript and in particular Node community at large have been following by convention.

Beyond a suggested structure, no tooling recommendations, or sub-module structure is outlined here.

Directories

  • lib/ is intended for code that can run as-is
  • src/ is intended for code that needs to be manipulated before it can be used
-- https://github.com/joshmarinacci/luvit-moonpie/blob/master/experiments/rpi/scenegraph/eventbus.lua
EventBus = {}
EventBus.callbacks = {}
EventBus.timers = {}
local shared = nil
function EventBus:new(o)
o = o or {}
setmetatable(o,self)
// eg detailRoute="../account/{accountId}/{accountEntityId}">
parseDetailRoute(el: PlatformBaseModel): string {
let route = this.detailRoute
const tokens = route.match(/\{([^}]+)\}/g).map(match => {
return match.replace(/\{([^}]+)\}/g, '$1')
})
tokens.forEach(token => {
route = route.replace(`{${token}}`, el[token])
@seangravener
seangravener / ngIf with Observables.html
Last active September 4, 2019 05:35
ngIf with Observables #angular
<ul *ngIf="author$ | async as author">
<li>{{ author.name }}</li>
</ul>
// vs.
<ul *ngIf="author$ | async">
<li>{{ (author$ | async).name }}</li>
</ul>
@seangravener
seangravener / destructure.js
Last active September 2, 2019 14:00
Destructuring #es6
// Destructure into declared variables
{
let source,
screenings,
size;
source = {
screenings: 'a',
size: 'b'
};
@seangravener
seangravener / Contract Killer 3.md
Created July 22, 2018 23:24
The latest version of my ‘killer contract’ for web designers and developers

Contract Killer

The popular open-source contract for web professionals by Stuff & Nonsense

  • Originally published: 23rd December 2008
  • Revised date: March 15th 2016
  • Original post

@seangravener
seangravener / common-commands.bash
Last active February 14, 2021 00:43
Bash snippets #linux
# List Networks
sudo lshw -c network
@seangravener
seangravener / gist:3a8b3237f17515b23214
Created December 25, 2014 16:01
deserializeValue
// "true" => true
// "false" => false
// "null" => null
// "42" => 42
// "42.5" => 42.5
// "08" => "08"
// JSON => parse if valid
// String => self
function deserializeValue(value) {
try {
@seangravener
seangravener / gist:d6b5697110f110dd8b28
Last active August 29, 2015 14:10
translate string to object
function _strToObject( str, delims ){
var pairs = [],
pair = [],
obj = {}, i, ii;
delims = _.union( [',', ':'], delims );
if ( !str || _.isObject(str) ){
return str;
@seangravener
seangravener / switchObjectLiterals.js
Last active January 30, 2021 01:49
Deprecating the Switch statement for object literals
// from http://toddmotto.com/deprecating-the-switch-statement-for-object-literals/
function getDrink (type) {
var drinks = {
'coke': function () {
return 'Coke';
},
'pepsi': function () {
return 'Pepsi';
},
'lemonade': function () {