Skip to content

Instantly share code, notes, and snippets.

View rbren's full-sized avatar
🐢
I may be slow to respond.

Robert Brennan rbren

🐢
I may be slow to respond.
  • Fairwinds
  • Boston, Massachusetts
View GitHub Profile
@rbren
rbren / README.md
Last active July 1, 2021 22:09
Sync GitHub issues to spreadsheet

DataFire Dataflow: Sync GitHub issues to spreadsheet

Deprecated - DataFire is now out of beta. You can use the new version of this project on DataFire.io, or view it on GitHub

Pulls all new issues from a GitHub repo into a spreadsheet

View on DataFire

[metadata]: ./ '{"links":[{"connection":"563b9b84ea9ad5f345e97505","operation":{"method":"get","path":"/repos/{ownerId}/{repoId}/issues"}},{"connection":"563b9b85ea9ad5f345e97511","operation":{"method":"get","path":"/list/{key}/{worksheetId}/{visibility}/{projection}"}},{"connection":"563b9b85ea9ad5f345e97511","operation":{"method":"put","path":"/cells/{key}/{worksheetId}/{visibility}/{projection}/{cellId}"}},{"connection":"563b9b85ea9ad5f345e97511","operation":{"method":"post","path":"/list/{key}/{worksheetId}/{visibility}/{pro

// In traditional JavaScript
var messages = document.getElementsByClassname('message');
messages.forEach(function(message) {
message.className = message.className + " visible";
});
// With jQuery
$('.message').addClass('visible');
<input [(ngModel)]="name">
<p>
Your name is {{name}}
</p>
let reddit = require('@datafire/reddit_rss').actions;
reddit.frontPage().then(frontPage => {
console.log(frontPage.feed.entries);
})
paths:
/gifs:
get:
action: reddit_rss/subreddit
input:
subreddit: gifs
@rbren
rbren / promisify.js
Last active September 21, 2017 17:41
function readFilePromise(filename) {
return new Promise((resolve, reject) => {
fs.readFile(filename, 'utf8', (err, data) => {
if (err) reject(err);
else resolve(data);
})
})
}
readFilePromise('index.html')
let filenames = ['index.html', 'blog.html', 'terms.html'];
Promise.all(filenames.map(readFilePromise))
.then(files => {
console.log('index:', files[0]);
console.log('blog:', files[1]);
console.log('terms:', files[2]);
})
let itemIDs = [1, 2, 3, 4, 5];
itemIDs.reduce((promise, itemID) => {
return promise.then(_ => api.deleteItem(itemID));
}, Promise.resolve());
function readFilePromise(filename) {
if (!filename) {
return Promise.reject(new Error("Filename not specified"));
}
if (filename === 'index.html') {
return Promise.resolve('<h1>Hello!</h1>');
}
return new Promise((resolve, reject) => {/*...*/})
}
Promise.resolve()
.then(_ => api.deleteItem(1))
.then(_ => api.deleteItem(2))
.then(_ => api.deleteItem(3))
.then(_ => api.deleteItem(4))
.then(_ => api.deleteItem(5));