View flatten.js
// Flatten an array with possible nested array into a single array
function flatten(arr) {
if (!Array.isArray(arr))
// Do nothing if we're not an array
var ret = [];
var i, j;
for (i = 0; i < arr.length; i++) {
// Flatten each individual element
var aux = flatten(arr[i]);
View BFZ.json
This file has been truncated, but you can view the full file.
"name": "Battle for Zendikar",
"code": "BFZ",
"releaseDate": "2015-10-02",
"border": "black",
"type": "expansion",
"block": "Battle for Zendikar",
"booster": [
View test.js
var downloadCard = function(card, callback) {
var downloaded = null;
function() {
cardGrab.downloadFiles(card.multiverseid, this);
function(data) {
downloaded = data;,, this.parallel());
parser.printed(card.multiverseid, data.printed, this.parallel());

Keybase proof

I hereby claim:

  • I am lsmoura on github.
  • I am lsmoura ( on keybase.
  • I have a public key ASCnLHRIRFwocg1rDw-59wV8P3lbPL_07SxfDz0GE4-cRQo

To claim this, I am signing this object:

"name": "Giuramento dei Guardiani",
"code": "OGW",
"language": "it",
"cards": [
"artist": "Viktor Titov",
"cmc": 7,
"layout": "normal",
"manaCost": "{6}{C}",
View pak90.js
var fs = require('fs'),
path = require('path'),
tiptoe = require('tiptoe'),
mtgdb = require('mtgdb');
npm install tiptoe
npm install
View pak90.json
This file has been truncated, but you can view the full file.
"Air Elemental": [
"setCode": "LEA",
"multiverseid": 94
"setCode": "LEB",
"multiverseid": 389
View ogw.json
"name": "Oath of the Gatewatch",
"code": "OGW",
"releaseDate": "2016-01-22",
"border": "black",
"type": "expansion",
"block": "Battle for Zendikar",
"booster": [
View tiptoe_rip.js
var tiptoe = require('tiptoe'),
shared = require('shared');
function processSet(set) {
// Do something with the set
function getSet(setName, callback) {
// The functions inside "tiptoe()" parameters, will be executed one after another, assumming "this()" is called.