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
| ;(async function() { | |
| // puppeteer boilerplate code | |
| const browser = await puppeteer.launch({ | |
| args: ['--no-sandbox', '--disable-setuid-sandbox'], | |
| // notice the small device size | |
| defaultViewport: { | |
| width: 375, | |
| height: 812 | |
| } |
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
| /** | |
| * Advanced async (cancellable/abortable) `setTimeout` helper | |
| */ | |
| function wait(delay) { | |
| return (val) => { | |
| let timer | |
| let abort | |
| const p = new Promise(function(resolve, reject) { | |
| abort = reject |
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
| /** | |
| * Function to curry any javascript method | |
| * @param {Function} fn - the target function we want to curry | |
| * @param {...[args]} acc - initial arguments | |
| * @returns {Function|*} it will return a function until the target function | |
| * will receive all its arguments | |
| */ | |
| function curry(fn, ...acc) { | |
| return (...args) => { | |
| args = [...acc, ...args] |
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
| // forked by a script of https://github.com/nilssolanki | |
| import { add } from 'bianco.events' | |
| /** | |
| * A list of all the open overlays, tooltips, sidebars etc. | |
| * @type {Map} | |
| */ | |
| const openOverlays = new Map() | |
| /** |
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 resolutions = [ | |
| 'data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=', | |
| 'data:image/gif;base64,R0lGODlhAQABAAAAACwAAAAAAQABAAA=', | |
| 'data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==', | |
| 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAAAAAA6fptVAAAACklEQVQYV2P4DwABAQEAWk1v8QAAAABJRU5ErkJggg==', | |
| ]; | |
| const img = document.createElement('img'); | |
| img.src = resolutions[0]; | |
| img.srcset = resolutions.map((itm, i) => `${itm} ${i + 1}x`).join(','); |
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
| function sequence(promises) { | |
| return new Promise((resolve, reject) => { | |
| const rets = [] | |
| const gen = (function*() { | |
| // loop as long as we have promises in the queue | |
| while (promises.length) { | |
| // take always the first promise | |
| const promise = promises.shift() | |
| // wait until it's resolved to step to the next iteration | |
| 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
| /** | |
| * Deal with the localStorage avoiding odd issues due to paranoids that have disabled it by default | |
| */ | |
| const ls = window.localStorage | |
| /** | |
| * Call any method on the localStorage avoiding to throw errors | |
| * @param {string} method - method we want to call | |
| * @param {array} args - serialized params that will be proxied to the method we are going to call | |
| * @returns {null|string} whatever the method call will return |
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
| <main-tag> | |
| <h1>I got the power!</h1> | |
| <h2>The answer is { answer }</h2> | |
| <script> | |
| import something from './something' | |
| this.answer = something.answer | |
| </script> | |
| </main-tag> |
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 b = require('./b') | |
| b.b = 'c' | |
| module.exports = { | |
| a: 'a' | |
| } |
NewerOlder