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
function Poller(interval, cb, limit) { | |
var _this = this; | |
this.interval = interval || 250; | |
this.poll = null; | |
this.limit = limit; | |
var count = 0; | |
this.poll = setInterval(function() { | |
if(typeof cb == 'function') { | |
if(_this.limit) { |
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
//executes a callback when all conditions are satisfied | |
function WhenReady(obj, cb) { | |
this.conditions = obj; | |
this.readyCallback = cb; | |
} | |
WhenReady.prototype = { | |
satisfyCondition: function(o) { | |
if(typeof o == 'object') { |
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
//custom string manipulation class | |
class MyString { | |
constructor(str) { | |
this.str = str; | |
} | |
replaceVowels(replacement) { | |
this.str = this.str.replace(/a|e|i|o|u/gi, replacement); | |
} | |
//The valueOf() method returns the primitive value of the specified object. | |
valueOf() { |
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 electron = require('electron'); | |
const path = require('path'); | |
const fs = require('fs'); | |
class Store { | |
constructor(opts) { | |
// Renderer process has to get `app` module via `remote`, whereas the main process can get it directly | |
// app.getPath('userData') will return a string of the user's app data directory path. | |
const userDataPath = (electron.app || electron.remote.app).getPath('userData'); | |
// We'll use the `configName` property to set the file name and path.join to bring it all together as a string |
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 { app, BrowserWindow } = require('electron'); | |
const path = require('path'); | |
const Store = require('./store.js'); | |
let mainWindow; //do this so that the window object doesn't get GC'd | |
// First instantiate the class | |
const store = new Store({ | |
// We'll call our data file 'user-preferences' | |
configName: 'user-preferences', | |
defaults: { |
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
function asyncThing() { | |
return new Promise(res => { | |
setTimeout(() => { | |
res(Math.random()); | |
}, 1000); | |
}); | |
} | |
function series(...promises) { | |
return promises.reduce((p, fn) => p.then(fn), Promise.resolve()); |
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
let count = 0; | |
module.exports = { | |
get count() { | |
return count; | |
} | |
increment() { | |
return count++; | |
} | |
}; |
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 electron = require('electron'); | |
const Menu = electron.Menu || electron.remote.Menu; | |
//now you can use it seamlessly in either main or renderer | |
console.log(Menu); |
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
// This works in the either the main or renderer processes. | |
const { requireTaskPool } = require('electron-remote'); | |
const work = requireTaskPool(require.resolve('./work')); | |
console.log('start work'); | |
// `work` will get executed concurrently in separate processes | |
work().then(result => { |
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 crypto = require('crypto'); | |
// this usually takes a few seconds | |
function work(limit = 100000) { | |
let start = Date.now(); | |
n = 0; | |
while(n < limit) { | |
crypto.randomBytes(2048); | |
n++; | |
} |
OlderNewer