This file contains 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 source = {name: 'Martin', age: 38}; | |
// const target = moveProps(/name/, source); | |
// console.log(source, target); => {age: 38}, {name: 'Martin'} | |
export default function moveProps(pattern, source, target = {}) { | |
return Object.keys(source).reduce((accumulator, key) => { | |
if (pattern.test(key)) { | |
accumulator[key] = source[key]; | |
delete source[key]; | |
} | |
return accumulator; |
This file contains 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
/** | |
* An ObservableValue are like events for values. One important difference from | |
* events is that you are guaranteed to always get the current value when you | |
* subscribe. So there is no chance you subscribe “too late”. It will also | |
* pass you the new value together withthe old value. | |
* ObservableValue are similar to Angular’s `Scope.$watch`. | |
* | |
* http://jsbin.com/hokagosaru/edit?js,console | |
*/ | |
This file contains 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
var idb = (function () { | |
'use strict'; | |
var IDB = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; | |
var IDBTransactionMode = { | |
readOnly: 'readonly', | |
readWrite: 'readwrite', | |
versionChange: 'versionchange' | |
}; |
This file contains 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
/** | |
* server.js | |
* Copyright (c) 2015 marlun78 | |
* MIT License, https://gist.github.com/marlun78/bd0800cf5e8053ba9f83 | |
* Requires Node version >= 4.x | |
*/ | |
'use strict'; | |
const fs = require('fs'); | |
const http = require('http'); |
This file contains 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
var angular = require('angular'); | |
module.exports = angular.module('models.Locale', []) | |
.value('Locale', Locale); | |
/** | |
* @typedef Locale | |
* @property {string} language | |
* @property {string|null} country | |
* @method {boolean} equals |
This file contains 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
angular.module('me.repeat', []) | |
.directive('meRepeat', repeatDirective) | |
.directive('meRepeateven', repeatEvenDirective) | |
.directive('meRepeatodd', repeatOddDirective) | |
.directive('meRepeatstart', repeatStartDirective) | |
.directive('meRepeatmiddle', repeatMiddleDirective) | |
.directive('meRepeatend', repeatEndDirective); | |
function repeatDirective() { |
This file contains 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
/** | |
* toRatio.js | |
* Copyright (c) 2015 marlun78 | |
* MIT License, https://gist.github.com/marlun78/bd0800cf5e8053ba9f83 | |
* | |
* Takes a screen dimension and return its ratio as width:height. | |
* | |
* @example | |
* toRatio(1280, 720); //=> 16:9 | |
* toRatio(800, 600); //=> 4:3 |
This file contains 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
/** | |
* Intercept.js | |
* Simple meta-programming for methods | |
* Copyright (c) 2014 marlun78 | |
* MIT License, https://gist.github.com/marlun78/bd0800cf5e8053ba9f83 | |
* | |
* The intercept-function provides a pre and a post hook that | |
* will run before and after the original implementation | |
* respectively. In the pre-hook you have access to the | |
* arguments passed, and in the post-hook you have access to |
This file contains 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
/** | |
* Enum.js | |
* Provides an immutable Enum type | |
* Copyright (c) 2014 marlun78 | |
* MIT License, https://gist.github.com/marlun78/bd0800cf5e8053ba9f83 | |
* | |
* @example: | |
* var colors = new Enum({ | |
* RED: '#f00', | |
* GREEN: '#0f0', |
This file contains 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
/** | |
* UniqueMap.js | |
* Provides an immutable enum-like type where both keys and values must be unique. | |
* Copyright (c) 2014 marlun78 | |
* MIT License, https://gist.github.com/marlun78/bd0800cf5e8053ba9f83 | |
*/ | |
(function (undefined) { | |
'use strict'; |