Skip to content

Instantly share code, notes, and snippets.

View Zielak's full-sized avatar
💾
ヾ(⌐■_■)ノ♪

Darek Greenly Zielak

💾
ヾ(⌐■_■)ノ♪
View GitHub Profile
@Zielak
Zielak / string.map.js
Created October 30, 2018 12:16
but string doesn't have `map` method... hold my beer
String.prototype.map = function(predicate) {
const arr = []
for (var i = 0; i < this.length; i++) {
arr.push(predicate(this.charAt(i), i))
}
return arr.join('')
}
// ᕕ( ᐛ )ᕗ
@Zielak
Zielak / locationSearch2object.js
Created August 10, 2018 09:04
Get things from url after `?` and turn it into an object.
location.search.slice(1).split('&').map(pair => pair.split('=')).reduce((params, curr) => { params[curr[0]] = curr[1]; return params }, {})
@Zielak
Zielak / prematurePromiseRejection.js
Created January 9, 2018 08:42
breaking a long running Promise, because it runs too long.
var test = new Promise((resolve, reject) => {
var longReject;
var LONG = new Promise((resolve, reject) => {
longReject = reject;
setTimeout(() => resolve(), 5000)
})
.then(() => console.log('LONG: resolved after 5 seconds'))
.catch(() => console.warn('LONG: rejected!'))
setTimeout(() => {
@Zielak
Zielak / es6-console-wrap.js
Last active June 30, 2017 19:23
Wraps console log, warn, info and error. Will add module's name before printing log. Userful when you have bunch of modules logging different stuff
const MODULE_NAME = 'ModuleX'
const log = (...args) => console.log.apply(console, [`[${MODULE_NAME}] > `, ...args])
const info = (...args) => console.info.apply(console, [`[${MODULE_NAME}] > `, ...args])
const warn = (...args) => console.warn.apply(console, [`[${MODULE_NAME}] > `, ...args])
const error = (...args) => console.error.apply(console, [`[${MODULE_NAME}] > `, ...args])
log('testing', ['apple', 'orange', 'car'], 1337)
@Zielak
Zielak / hook.post.js
Created March 8, 2015 22:39
Make source maps work in Windows. Temporary fix
var os = require('os');
var fs = require('fs');
// Change the project name to match yours
// Find it in your flow file
// project.app.name = ?
var projectName = 'grayscale';
exports.hook = function(flow, done) {