This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// http://martin.ankerl.com/2009/12/09/how-to-create-random-colors-programmatically/ | |
function hsv_to_rgb(h, s = 0.5, v = 0.95) { | |
let _h = ( Math.random() + 0.618033988749895 ) % 1; | |
h = h || _h; | |
let h_i = Number((h*6).toFixed(0)); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Object.defineProperty(window, Symbol.for('registry'), { | |
value: new Map(), | |
}); | |
window.importScript = src => { | |
const registry = window[Symbol.for('registry')]; | |
if (registry.has(src)) { | |
return registry.get(src).promise; | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Place your settings in this file to overwrite the default settings | |
{ | |
"editor.fontFamily": "Operator Mono", | |
"editor.fontLigatures": true, | |
"editor.fontSize": 14, | |
"editor.tabSize": 2, | |
"editor.lineHeight": 22, | |
"editor.formatOnType": true, | |
"editor.tabCompletion": true, | |
"editor.fontLigatures": true, |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
target_branch="production" | |
working_tree="PATH_TO_DEPLOY" | |
while read oldrev newrev refname | |
do | |
branch=$(git rev-parse --symbolic --abbrev-ref $refname) | |
if [ -n "$branch" ] && [ "$target_branch" == "$branch" ]; then | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import Ember from 'ember'; | |
const REGEX_GET_DEPS = /[^[\]]+(?=])/g; | |
const REGEX_REPLACE = /\[(\w+)\]/g; | |
const DELETE_SYMBOL = '$$DELETE$$'; | |
const interpolate = (text) => { | |
const deps = text.match(REGEX_GET_DEPS); | |
return Ember.computed(...deps, function(){ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const rafScheduler = (fn) => { | |
let lastArgs = []; | |
let frameId = null; | |
return (...args) => { | |
// Always capture the latest value | |
lastArgs = args; | |
// There is already a frame queued | |
if (frameId) { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import Ember from 'ember'; | |
export default Ember.Component.extend({ | |
classNames: [ 'delete-blog' ], | |
sudoDeferred: null, | |
isDone: false, | |
isWorking: false, | |
message: null, | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import Ember from 'ember'; | |
const { Logger: { assert } , tryInvoke } = Ember; | |
const PromiseProxy = Ember.Object.extend(Ember.PromiseProxyMixin); | |
const isPromise = (p) => typeof p === 'object' && p !== null && typeof p.then === 'function'; | |
export default Ember.Component.extend({ | |
tagName: 'button', | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module Semver = { | |
let checkVersion = (a, b) => { | |
let x = String.index(a, '.'); | |
let y = String.index(b, '.'); | |
let _b = x > y ? String.concat(String.make(x - y, '0'), [b]) : b; | |
let _a = y > x ? String.concat(String.make(y - x, '0'), [a]) : a; | |
let cmp = String.compare(_a, _b); | |
if (cmp == 0) { | |
0; | |
} else if (cmp > 0) { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const rafPromise = _ => new Promise(r => requestAnimationFrame(r)); | |
const transEndPromise = ele => new Promise(r => { | |
ele.addEventListener('transitionend', function f() { | |
ele.removeEventListener('transitionend', f); | |
r(); | |
}); | |
}); | |
const animate = (ele, styles) => { |