I hereby claim:
- I am davidgarsan on github.
- I am davidgarsan (https://keybase.io/davidgarsan) on keybase.
- I have a public key whose fingerprint is DD0B 6620 AB30 D2CB 1E47 7206 F7B7 2F6E 08CC 0955
To claim this, I am signing this object:
| /** | |
| * Takes an array, a given window size and | |
| * a starting index and returns a fragment of the | |
| * array with infinite pagination. | |
| * If the window size if bigger than teh array size, | |
| * it shouldn't be paginated. | |
| **/ | |
| const a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]; |
| javascript:(function() { | |
| function textNodesUnder(el){ var n, a=[], walk=document.createTreeWalker(el,NodeFilter.SHOW_TEXT,null,false); while(n=walk.nextNode()) a.push(n); return a; } | |
| Array.prototype.forEach.call(textNodesUnder(document.body), function(elem){ | |
| const t = elem.textContent.trim(); | |
| if(t) { | |
| fetch("https://ninini-cvyphndqrn.now.sh/ninini/"+t) | |
| .then(resp => resp.text()) | |
| .then(text => elem.textContent = text) } }); | |
| })() |
| var memoizeNewValue = function() { | |
| var old = null; | |
| return function(newVal){ | |
| if(newVal === old) { | |
| return false; | |
| } else { | |
| old = newVal; | |
| return true; | |
| } | |
| } |
| function attributeChangeDetector(element, callback) { | |
| var MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver; | |
| var observer = new MutationObserver(function(mutations) { | |
| mutations.forEach(function(mutation) { | |
| if (mutation.type == 'attributes') { | |
| console.log('Attribute ' + mutation.attributeName + ' changed'); | |
| !!callback && callback(mutation); | |
| } | |
| }); |
| function spyObjectProperty(obj, key) { | |
| var val = obj[key]; | |
| Object.defineProperty(obj, key, { | |
| get() { | |
| return val; | |
| }, | |
| set(newVal) { | |
| val = newVal; | |
| console.log(key + ' is now ' + val); |
| var xhr = function() { | |
| var xhr = new XMLHttpRequest(); | |
| var mapper = function(data) { | |
| return Object.keys(data).map(function(k) { | |
| return encodeURIComponent(k) + '=' + encodeURIComponent(data[k]) | |
| }).join('&'); | |
| }; | |
| return function(method, url, data, success, error, isJSON, headers) { | |
| xhr.onreadystatechange = function() { | |
| if (xhr.readyState === 4) { |
| /** | |
| * @desc Returns a template function builder. | |
| * @param template - template string. | |
| * @param params - Substitution params. | |
| * @return {function} - Template function. | |
| * | |
| * @example | |
| * var template = buildTemplate("Hello, my name is ${params}"); | |
| * template('David'); // Hello, my name is David | |
| * |
| <head> | |
| <base href="/"> | |
| <!--[if IE]><script type="text/javascript"> | |
| // Fix for IE ignoring relative base tags. | |
| // See http://stackoverflow.com/questions/3926197/html-base-tag-and-local-folder-path-with-internet-explorer | |
| (function() { | |
| var baseTag = document.getElementsByTagName('base')[0]; | |
| baseTag.href = baseTag.href; | |
| })(); | |
| </script><![endif]--> |
| image: node:argon | |
| before_script: | |
| - apt-get -qq update | |
| - apt-get -qq install -y python2.7 python2.7-dev build-essential make gcc g++ libicu-dev | |
| - npm -g install npm --silent | |
| - "echo -e \"export default {CLIENT_ID: '$CLIENT_ID'}\" > app/scripts/settings.js" | |
| - npm set progress=false | |
| - npm install --silent |
I hereby claim:
To claim this, I am signing this object: