New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

yahoo-fantasy

Package Overview
Dependencies
Maintainers
1
Versions
47
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

yahoo-fantasy - npm Package Compare versions

Comparing version 0.1.2 to 0.2.0

109

collections/gamesCollection.js
var _ = require('lodash');
var gameHelper = require('../helpers/gameHelper.js');

@@ -11,10 +12,29 @@ module.exports = function() {

GamesCollection.prototype.fetch = function(gameKeys, filters, cb) {
var url = 'http://fantasysports.yahooapis.com/fantasy/v2/games;game_keys=';
// params: game keys or filters, subresources (optional), callback
GamesCollection.prototype.fetch = function() {
var gameKeys = '', //arguments[0],
subresources = '',
filters = {},
cb = arguments[arguments.length - 1];
if ( _.isString(gameKeys) ) {
// there should be a better way...
if ( _.isObject(arguments[0]) ) {
// filters
filters = arguments[0];
} else {
// game key(s)
gameKeys = arguments[0];
}
subresources = arguments[1];
var url = 'http://fantasysports.yahooapis.com/fantasy/v2/games';
if ( _.isString(gameKeys) && !_.isEmpty(gameKeys) ) {
gameKeys = [gameKeys];
}
url += gameKeys.join(',');
if ( !(_.isEmpty(gameKeys)) ) {
url += ';game_keys=' + gameKeys.join(',');
}

@@ -27,2 +47,10 @@ if ( !( _.isEmpty(filters) ) ) {

if ( _.isString(subresources) && !_.isEmpty(subresources) ) {
subresources = [subresources];
}
if ( !(_.isEmpty(subresources)) ) {
url += ';out=' + subresources.join(',');
}
url += '?format=json';

@@ -33,9 +61,36 @@

.then(function(data) {
var meta = data.fantasy_content;
var games = gameHelper.parseCollection(data.fantasy_content.games, subresources);
cb(meta);
cb(null, games);
}, function(e) {
// self.err(e, cb);
cb(e, null);
});
};
GamesCollection.prototype.user = function(filters, cb) {
GamesCollection.prototype.user = function() {
// no gamekeys...
var subresources = '',
filters = {},
cb = arguments[arguments.length - 1];
switch (arguments.length) {
case 2:
if ( _.isObject(arguments[0]) ) {
filters = arguments[0];
} else {
subresources = arguments[0];
}
break;
case 3:
filters = arguments[0];
subresources = arguments[1];
break;
default:
break;
};
var url = 'http://fantasysports.yahooapis.com/fantasy/v2/users;use_login=1/games';

@@ -49,14 +104,32 @@

if ( _.isString(subresources) && !_.isEmpty(subresources) ) {
subresources = [subresources];
}
if ( !(_.isEmpty(subresources)) ) {
url += ';out=' + subresources.join(',');
}
url += '?format=json';
console.log(url);
this
.api(url)
.then(function(data) {
var meta = data.fantasy_content;
var games = gameHelper.parseCollection(data.fantasy_content.users[0].user[1].games, subresources);
cb(meta);
cb(null, games);
}, function(e) {
// self.err(e, cb);
cb(e, null);
});
};
GamesCollection.prototype.userFetch = function(filters, cb) {
GamesCollection.prototype.userFetch = function() {
// no filters...
var gameKeys = arguments[0],
subresources = ( arguments.length > 2 ) ? arguments[1] : [],
cb = arguments[arguments.length - 1];
var url = 'http://fantasysports.yahooapis.com/fantasy/v2/users;use_login=1/games;game_keys=';

@@ -70,6 +143,4 @@

if ( !( _.isEmpty(filters) ) ) {
_.each(Object.keys(filters), function(key) {
url += ';' + key + '=' + filters[key];
});
if ( !(_.isEmpty(subresources)) ) {
url += ';out=' + subresources.join(',');
}

@@ -82,6 +153,12 @@

.then(function(data) {
var meta = data.fantasy_content;
var user = data.fantasy_content.users[0].user[0];
var games = gameHelper.parseCollection(data.fantasy_content.users[0].user[1].games, subresources);
cb(meta);
user.games = games;
cb(null, user);
}, function(e) {
// self.err(e, cb);
cb(e, null);
});
};

30

collections/leaguesCollection.js
var _ = require('lodash');
var leagueHelper = require('../helpers/leagueHelper.js');

@@ -11,5 +12,10 @@ module.exports = function() {

LeaguesCollection.prototype.fetch = function(leagueKeys, resources, cb) {
var url = 'http://fantasysports.yahooapis.com/fantasy/v2/leagues/;league_keys=';
// totally making "fetch" happen...
LeaguesCollection.prototype.fetch = function() {
var leagueKeys = arguments[0],
subresources = ( arguments.length > 2 ) ? arguments[1] : [],
cb = arguments[arguments.length - 1];
var url = 'http://fantasysports.yahooapis.com/fantasy/v2/leagues;league_keys=';
if ( _.isString(leagueKeys) ) {

@@ -19,21 +25,25 @@ leagueKeys = [leagueKeys];

url += leagueKeys.split(',');
url += leagueKeys.join(',');
if ( _.isString(resources) ) {
resources = [resources];
if ( _.isString(subresources) ) {
subresources = [subresources];
}
if ( resources.length > 0 ) {
url += ';out=' + resources.split(',');
if ( subresources.length > 0 ) {
url += ';out=' + subresources.join(',');
}
url += '?format=json'
url += '?format=json';
console.log(url);
this
.api(url)
.then(function(data) {
var meta = data.fantasy_content;
var leagues = leagueHelper.parseCollection(data.fantasy_content.leagues, subresources);
cb(meta);
cb(null, leagues);
}, function(e) {
// self.err(e, cb);
cb(e, null);
});
};
var _ = require('lodash');
var playerHelper = require('../helpers/playerHelper.js');

@@ -11,3 +12,7 @@ module.exports = function() {

PlayersCollection.prototype.fetch = function(playerKeys, resources, filters, cb) {
PlayersCollection.prototype.fetch = function() {
var playerKeys = arguments[0],
subresources = ( arguments.length > 2 ) ? arguments[1] : [],
cb = arguments[arguments.length - 1];
var url = 'http://fantasysports.yahooapis.com/fantasy/v2/players;player_keys='

@@ -21,16 +26,10 @@

if ( !( _.isEmpty(resources) ) ) {
if ( _.isString(resources) ) {
resources = [resources];
if ( !( _.isEmpty(subresources) ) ) {
if ( _.isString(subresources) ) {
subresources = [subresources];
}
url += ';out=' + resources.join(',');
url += ';out=' + subresources.join(',');
}
if ( !( _.isEmpty(filters) ) ) {
_.each(Object.keys(filters), function(key) {
url += ';' + key + '=' + filters[key];
});
}
url += '?format=json'

@@ -41,10 +40,18 @@

.then(function(data) {
var meta = data.fantasy_content;
var players = playerHelper.parseCollection(data.fantasy_content.players, subresources);
cb(meta);
});
cb(null, players);
}, function(e) {
// self.err(e, cb);
cb(e, null);
});
};
// ignoring the single b/c filters
PlayersCollection.prototype.leagueFetch = function(leagueKeys, resources, filters, cb) {
PlayersCollection.prototype.leagues = function() {
var leagueKeys = arguments[0],
filters = ( arguments.length > 3 ) ? arguments[1] : ( arguments.length > 2 && _.isObject( arguments[1]) ) ? arguments[1] : {},
subresources = ( arguments.length > 3 ) ? arguments[2] : ( arguments.length > 2 && _.isArray( arguments[1]) ) ? arguments[1] : [], // ugliest line of code ever?
cb = arguments[arguments.length - 1];
var url = 'http://fantasysports.yahooapis.com/fantasy/v2/leagues;league_keys='

@@ -59,8 +66,8 @@

if ( !( _.isEmpty(resources) ) ) {
if ( _.isString(resources) ) {
resources = [resources];
if ( !( _.isEmpty(subresources) ) ) {
if ( _.isString(subresources) ) {
subresources = [subresources];
}
url += ';out=' + resources.join(',');
url += ';out=' + subresources.join(',');
}

@@ -79,9 +86,18 @@

.then(function(data) {
var meta = data.fantasy_content;
console.log(data.fantasy_content);
var leagues = playerHelper.parseLeagueCollection(data.fantasy_content.leagues, subresources);
cb(meta);
});
cb(null, leagues);
}, function(e) {
// self.err(e, cb);
cb(e, null);
});
};
PlayersCollection.prototype.teamFetch = function(teamKeys, resources, filters, cb) {
PlayersCollection.prototype.teams = function() {
var teamKeys = arguments[0],
filters = ( arguments.length > 3 ) ? arguments[1] : ( arguments.length > 2 && _.isObject( arguments[1]) ) ? arguments[1] : {},
subresources = ( arguments.length > 3 ) ? arguments[2] : ( arguments.length > 2 && _.isArray( arguments[1]) ) ? arguments[1] : [], // ugliest line of code ever?
cb = arguments[arguments.length - 1];
var url = 'http://fantasysports.yahooapis.com/fantasy/v2/teams;team_keys='

@@ -96,8 +112,8 @@

if ( !( _.isEmpty(resources) ) ) {
if ( _.isString(resources) ) {
resources = [resources];
if ( !( _.isEmpty(subresources) ) ) {
if ( _.isString(subresources) ) {
subresources = [subresources];
}
url += ';out=' + resources.join(',');
url += ';out=' + subresources.join(',');
}

@@ -116,6 +132,9 @@

.then(function(data) {
var meta = data.fantasy_content;
var teams = playerHelper.parseTeamCollection(data.fantasy_content.teams, subresources);
cb(meta);
cb(null, teams);
}, function(e) {
// self.err(e, cb);
cb(e, null);
});
};
var _ = require('lodash');
var teamHelper = require('../helpers/teamHelper.js');

@@ -11,7 +12,11 @@ module.exports = function() {

TeamsCollection.prototype.fetch = function(teamKeys, resources, cb) {
TeamsCollection.prototype.fetch = function() {
var teamKeys = arguments[0],
subresources = ( arguments.length > 2 ) ? arguments[1] : [],
cb = arguments[arguments.length - 1];
var url = 'http://fantasysports.yahooapis.com/fantasy/v2/teams;team_keys=';
if ( _.isString(teamKeys) ) {
teamKeys = [teamKeys]
teamKeys = teamKeys.split(',');
}

@@ -21,11 +26,11 @@

if ( !( _.isEmpty(resources) ) ) {
if ( _.isString(resources) ) {
resources = [resources];
if ( !( _.isEmpty(subresources) ) ) {
if ( _.isString(subresources) ) {
subresources = [subresources];
}
url += ';out=' + resources.join(',');
url += ';out=' + subresources.join(',');
}
url += '?format=json'
url += '?format=json';

@@ -35,9 +40,13 @@ this

.then(function(data) {
var meta = data.fantasy_content;
var teams = teamHelper.parseCollection(data.fantasy_content.teams, subresources);
cb(meta);
cb(teams);
});
};
TeamsCollection.prototype.leagueFetch = function(leagueKeys, resources, cb) {
TeamsCollection.prototype.leagues = function() {
var leagueKeys = arguments[0],
subresources = ( arguments.length > 2 ) ? arguments[1] : [],
cb = arguments[arguments.length - 1];
var url = 'http://fantasysports.yahooapis.com/fantasy/v2/leagues;league_keys=';

@@ -52,11 +61,11 @@

if ( !( _.isEmpty(resources) ) ) {
if ( _.isString(resources) ) {
resources = [resources];
if ( !( _.isEmpty(subresources) ) ) {
if ( _.isString(subresources) ) {
subresources = [subresources];
}
url += ';out=' + resources.join(',');
url += ';out=' + subresources.join(',');
}
url += '?format=json'
url += '?format=json';

@@ -66,20 +75,23 @@ this

.then(function(data) {
var meta = data.fantasy_content;
var leagues = teamHelper.parseLeagueCollection(data.fantasy_content.leagues, subresources);
cb(meta);
cb(leagues);
});
};
TeamsCollection.prototype.usersFetch = function(resources, cb) {
TeamsCollection.prototype.userFetch = function() {
var subresources = ( arguments.length > 1 ) ? arguments[1] : [],
cb = arguments[arguments.length - 1];
var url = 'http://fantasysports.yahooapis.com/fantasy/v2/users;use_login=1/teams';
if ( !( _.isEmpty(resources) ) ) {
if ( _.isString(resources) ) {
resources = [resources];
if ( !( _.isEmpty(subresources) ) ) {
if ( _.isString(subresources) ) {
subresources = [subresources];
}
url += ';out=' + resources.join(',');
url += ';out=' + subresources.join(',');
}
url += '?format=json'
url += '?format=json';

@@ -89,9 +101,13 @@ this

.then(function(data) {
var meta = data.fantasy_content;
var games = teamHelper.parseGameCollection(data.fantasy_content.users[0].user[1].games, subresources);
cb(meta);
cb(games);
});
};
TeamsCollection.prototype.gameFetch = function(gameKeys, resources, cb) {
TeamsCollection.prototype.games = function() {
var gameKeys = arguments[0],
subresources = ( arguments.length > 2 ) ? arguments[1] : [],
cb = arguments[arguments.length - 1];
var url = 'http://fantasysports.yahooapis.com/fantasy/v2/users;use_login=1/games;game_keys=';

@@ -106,11 +122,11 @@

if ( !( _.isEmpty(resources) ) ) {
if ( _.isString(resources) ) {
resources = [resources];
if ( !( _.isEmpty(subresources) ) ) {
if ( _.isString(subresources) ) {
subresources = [subresources];
}
url += ';out=' + resources.join(',');
url += ';out=' + subresources.join(',');
}
url += '?format=json'
url += '?format=json';

@@ -120,8 +136,6 @@ this

.then(function(data) {
var meta = data.fantasy_content;
var games = teamHelper.parseGameCollection(data.fantasy_content.users[0].user[1].games, subresources);
cb(meta);
cb(games);
});
};

@@ -79,1 +79,3 @@ var _ = require('lodash');

};
// todo: http://fantasysports.yahooapis.com/fantasy/v2/league/{league_key}/transactions;types=waiver,pending_trade;team_key={team_key}

@@ -1,2 +0,3 @@

var util = require('util');
var _ = require('lodash');
var userHelper = require('../helpers/userHelper.js');

@@ -11,9 +12,15 @@ module.exports = function() {

UsersCollection.prototype.fetch = function(resources, cb) {
// this doesn't seem super useful...
UsersCollection.prototype.fetch = function() {
var subresources = ( arguments.length > 1 ) ? arguments[0] : [],
cb = arguments[arguments.length - 1];
var url = 'http://fantasysports.yahooapis.com/fantasy/v2/users;use_login=1';
if ( util.isArray(resources) ) {
url += ';out=' + resources.split(,);
} else if ( 'string' == typeof(resources) ) {
url += ';out=' + resources
if ( !( _.isEmpty(subresources) ) ) {
if ( _.isString(subresources) ) {
subresources = [subresources];
}
url += ';out=' + subresources.join(',');
}

@@ -26,6 +33,6 @@

.then(function(data) {
var meta = data.fantasy_content;
var user = userHelper.parseCollection(data.fantasy_content.users[0].user);
cb(meta);
cb(user);
});
};
var _ = require('lodash');
var playerHelper = require('./playerHelper.js');
var teamHelper = require('./teamHelper.js');
exports.leaguesMap = function(leagues) {
exports.mapLeagues = function(leagues) {
leagues = _.filter(leagues, function(l) { return typeof(l) == 'object'; });

@@ -12,3 +13,3 @@ leagues = _.map(leagues, function(l) { return l.league[0]; });

// todo: again, this should be more re-usable
exports.playersMap = function(players) {
exports.mapPlayers = function(players) {
players = _.filter(players, function(p) { return typeof(p) == 'object'; });

@@ -20,3 +21,3 @@ players = _.map(players, function(p) { return playerHelper.mapPlayer(p.player[0]); });

exports.weeksMap = function(weeks) {
exports.mapWeeks = function(weeks) {
weeks = _.filter(weeks, function(w) { return typeof(w) == 'object'; });

@@ -28,3 +29,3 @@ weeks = _.map(weeks, function(w) { return w.game_week; });

exports.statCategoriesMap = function(statcats) {
exports.mapStatCategories = function(statcats) {
statcats = _.filter(statcats, function(s) { return typeof(s) == 'object'; });

@@ -48,3 +49,3 @@ statcats = _.map(statcats, function(s) { return s.stat; });

exports.positionTypesMap = function(positions) {
exports.mapPositionTypes = function(positions) {
positions = _.filter(positions, function(p) { return typeof(p) == 'object'; });

@@ -56,3 +57,3 @@ positions = _.map(positions, function(p) { return p.position_type; });

exports.rosterPositionsMap = function(positions) {
exports.mapRosterPositions = function(positions) {
positions = _.filter(positions, function(p) { return typeof(p) == 'object'; });

@@ -63,1 +64,57 @@ positions = _.map(positions, function(p) { return p.roster_position; });

};
exports.mapTeams = function(teams) {
teams = _.filter(teams, function(t) { return typeof(t) == 'object'; });
teams = _.map(teams, function(t) { return teamHelper.mapTeam(t.team[0]); });
return teams;
};
exports.parseCollection = function(games, subresources) {
var self = this;
games = _.filter(games, function(g) { return typeof(g) == 'object'; });
games = _.map(games, function(g) { return g.game; });
games = _.map(games, function(g) {
var game = g[0];
_.forEach(subresources, function(resource, idx) {
switch (resource) {
case 'leagues':
game.leagues = self.mapLeagues(g[idx + 1].leagues);
break;
case 'players':
game.players = self.mapPlayers(g[idx + 1].players);
break;
case 'game_weeks':
game.game_weeks = self.mapWeeks(g[idx + 1].game_weeks);
break;
case 'stat_categories':
game.stat_categories = self.mapStatCategories(g[idx + 1].stat_categories.stats);
break;
case 'position_types':
game.position_types = self.mapPositionTypes(g[idx + 1].position_types);
break;
case 'roster_positions':
game.roster_positions = self.mapRosterPositions(g[idx + 1].roster_positions);
break;
case 'teams':
game.teams = self.mapTeams(g[idx + 1].teams);
break;
default:
break;
}
});
return game;
});
return games;
};

@@ -8,3 +8,3 @@ var _ = require('lodash');

*/
exports.teamsMap = function(teams) {
exports.mapTeams = function(teams) {
teams = _.filter(teams, function(t) { return typeof(t) == 'object'; });

@@ -26,3 +26,3 @@ teams = _.map(teams, function(t) { return teamHelper.mapTeam(t.team[0]); });

exports.settingsMap = function(settings) {
exports.mapSettings = function(settings) {
settings.stat_categories = _.map(

@@ -44,3 +44,3 @@ settings.stat_categories.stats,

exports.draftMap = function(draft) {
exports.mapDraft = function(draft) {
draft = _.filter(draft, function(d) { return typeof(d) == 'object'; });

@@ -52,3 +52,3 @@ draft = _.map(draft, function(d) { return d.draft_result; })

exports.scoreboardMap = function(scoreboard) {
exports.mapScoreboard = function(scoreboard) {
var self = this;

@@ -82,3 +82,3 @@ // is this only for h2h? what about roto, and points?

exports.transactionMap = function(transactions) {
exports.mapTransactions = function(transactions) {
var transactions = _.filter(transactions, function(t) { return typeof(t) == 'object'; });

@@ -102,1 +102,46 @@ transactions = _.map(transactions, function(t) { return t.transaction; });

};
exports.parseCollection = function(leagues, subresources) {
var self = this;
leagues = _.filter(leagues, function(l) { return typeof(l) == 'object'; });
leagues = _.map(leagues, function(l) { return l.league; });
leagues = _.map(leagues, function(l) {
var league = l[0];
_.forEach(subresources, function(resource, idx) {
switch (resource) {
case 'settings':
league.settings = self.mapSettings(l[idx + 1].settings[0]);
break;
case 'standings':
league.standings = self.mapStandings(l[idx + 1].standings[0].teams);
break;
case 'scoreboard':
league.scoreboard = self.mapScoreboard(l[idx + 1].scoreboard[0].matchups);
break;
case 'teams':
league.teams = self.mapTeams(l[idx + 1].teams);
break;
case 'draftresults':
league.draftresults = self.mapDraft(l[idx + 1].draft_results);
break;
case 'transactions':
league.transactions = self.mapTransactions(l[idx + 1].transactions);
break;
default:
break;
}
});
return league;
});
return leagues;
};
var _ = require('lodash');
var teamHelper = require('./teamHelper.js');
exports.mapPlayer = function(player) {
// why this is necessary i will never understand
var offset = 0;
if ( 15 < player.length ) {
offset = 1;
}
var playerObj = {};
var key;
return {
player_key: player[0].player_key,
player_id: player[1].player_id,
name: player[2].name,
editorial_player_key: player[3].editorial_player_key,
editorial_team_key: player[4].editorial_team_key,
editorial_team_full_name: player[5].editorial_team_full_name,
editorial_team_abbr: player[6].editorial_team_abbr,
uniform_number: player[7].uniform_number,
display_position: player[8].display_position,
headshot: player[9 + offset].headshot.url,
is_undroppable: player[10 + offset].is_undroppable,
position_type: player[11 + offset].position_type,
eligible_positions: _.map(player[12 + offset].eligible_positions, function(p) { return p.position; })
};
_.forEach(player, function(obj) {
key = _.keys(obj)[0];
if ( !_.isUndefined(key) ) {
playerObj[key] = obj[key];
}
});
playerObj.eligible_positions = _.map(
playerObj.eligible_positions,
function(p) { return p.position; }
);
return playerObj;
};

@@ -54,2 +50,69 @@

}
}
};
exports.parseCollection = function(players, subresources) {
var self = this;
players = _.filter(players, function(p) { return typeof(p) == 'object'; });
players = _.map(players, function(p) { return p.player; });
players = _.map(players, function(p) {
var player = self.mapPlayer(p[0]);
_.forEach(subresources, function(resource, idx) {
switch (resource) {
case 'stats':
player.stats = self.mapStats(p[idx + 1].player_stats);
break;
case 'percent_owned': // todo: clean this up and in resource
player.percent_owned = p[idx + 1].percent_owned;
break;
case 'ownership':
player.ownership = p[idx + 1].ownership;
break;
case 'draft_analysis':
player.draft_analysis = self.mapDraftAnalysis(p[idx + 1].draft_analysis);
break;
default:
break;
}
});
return player;
});
return players;
};
exports.parseLeagueCollection = function(leagues, subresources) {
var self = this;
leagues = _.filter(leagues, function(l) { return typeof(l) == 'object'; });
leagues = _.map(leagues, function(l) { return l.league; });
leagues = _.map(leagues, function(l) {
var league = l[0];
league.players = self.parseCollection(l[1].players, subresources);
return league;
});
return leagues;
};
exports.parseTeamCollection = function(teams, subresources) {
var self = this;
teams = _.filter(teams, function(t) { return typeof(t) == 'object'; });
teams = _.map(teams, function(t) { return t.team; });
teams = _.map(teams, function(t) {
var team = teamHelper.mapTeam(t[0]);
team.players = self.parseCollection(t[1].players, subresources);
return team;
});
return teams;
};
var _ = require('lodash');
var leagueHelper = require('./leagueHelper.js');
var playerHelper = require('./playerHelper.js');
var leagueHelper = require('./leagueHelper.js');

@@ -36,3 +36,3 @@ // todo: use this where possible...

exports.statsMap = function(stats) {
exports.mapStats = function(stats) {
stats.stats = _.map(stats.stats, function(s) { return s.stat; });

@@ -43,3 +43,3 @@

exports.draftMap = function(draft) {
exports.mapDraft = function(draft) {
draft = _.filter(draft, function(d) { return typeof(d) == 'object'; });

@@ -52,3 +52,2 @@ draft = _.map(draft, function(d) { return d.draft_result; });

// todo: this gotta be cleaned up
exports.mapMatchups = function(matchups) {

@@ -59,3 +58,2 @@ var self = this;

matchups = _.map(matchups, function(m) { return m.matchup; });
debugger;
matchups = _.map(matchups, function(m) {

@@ -79,1 +77,91 @@ var teams = _.filter(m[0].teams, function(t) { return typeof(t) == 'object'; });

}
exports.parseCollection = function(teams, subresources) {
var self = this;
teams = _.filter(teams, function(t) { return typeof(t) == 'object'; });
teams = _.map(teams, function(t) { return t.team; });
teams = _.map(teams, function(t) {
// this is only here because user games collection is adding an extra null
// and I cannot for the life of me figure out why.
_.remove(t, function(o) { return _.isNull(o); });
var team = self.mapTeam(t[0]);
_.forEach(subresources, function(resource, idx) {
switch (resource) {
case 'stats':
team.stats = self.mapStats(t[idx + 1].team_stats);
break;
case 'standings':
team.standings = t[idx + 1].team_standings;
break;
case 'roster':
team.roster = self.mapRoster(t[idx + 1].roster);
break;
case 'draftresults':
team.draftresults = self.mapDraft(t[idx + 1].draft_results);
break;
case 'matchups':
team.matchups = self.mapMatchups(t[idx + 1].matchups);
break;
default:
break;
}
});
return team;
});
return teams;
};
exports.parseLeagueCollection = function(leagues, subresources) {
var self = this;
leagues = _.filter(leagues, function(l) { return typeof(l) == 'object'; });
leagues = _.map(leagues, function(l) { return l.league; });
leagues = _.map(leagues, function(l) {
var league = l[0];
league.teams = self.parseCollection(l[1].teams, subresources);
return league;
});
return leagues;
};
exports.parseTeamCollection = function(teams, subresources) {
var self = this;
teams = _.filter(teams, function(t) { return typeof(t) == 'object'; });
teams = _.map(teams, function(t) { return t.team; });
teams = _.map(teams, function(t) {
var team = teamHelper.mapTeam(t[0]);
team.players = self.parseCollection(t[1].players, subresources);
return team;
});
return teams;
};
exports.parseGameCollection = function(games, subresources) {
var self = this;
games = _.filter(games, function(g) { return typeof(g) == 'object'; });
games = _.map(games, function(g) { return g.game; });
games = _.map(games, function(g) {
var game = g[0];
game.teams = self.parseCollection(g[1].teams, subresources);
return game;
});
return games;
};

@@ -42,1 +42,26 @@ var _ = require('lodash');

};
exports.parseCollection = function(user, subresources) {
var self = this;
_.forEach(subresources, function(resource, idx) {
switch (resource) {
case 'games':
user.games = self.mapGames(t[idx + 1].games);
break;
case 'leagues':
user.leagues = self.mapUserLeagues(t[idx + 1].leagues);
break;
case 'teams':
user.teams = self.mapUserTeams(t[idx + 1].teams);
break;
default:
break;
}
});
return user;
};

@@ -19,5 +19,5 @@ 'use strict';

teamsCollection = require('./collections/teamsCollection.js'),
leaguesCollection = require('./collections/leaguesCollection.js'),
transactionsCollection = require('./collections/transactionsCollection.js'),
usersCollection = require('./collections/transactionsCollection.js');
leaguesCollection = require('./collections/leaguesCollection.js');
// transactionsCollection = require('./collections/transactionsCollection.js')
// usersCollection = require('./collections/usersCollection.js');

@@ -46,6 +46,6 @@ function YahooFantasy(consumerKey, consumerSecret) {

transaction: transactionResource(),
transactions: transactionsCollection(),
// transactions: transactionsCollection(),
roster: rosterResource(),
user: userResource(),
users: usersCollection(),
// users: usersCollection(),
yuser: {

@@ -108,9 +108,14 @@ token: null,

this.players.fetch = _.bind(this.players.fetch, this);
this.players.leagueFetch = _.bind(this.players.leagueFetch, this);
this.players.teamFetch = _.bind(this.players.teamFetch, this);
this.players.leagues = _.bind(this.players.leagues, this);
this.players.teams = _.bind(this.players.teams, this);
this.transactions.fetch = _.bind(this.transactions.fetch, this);
this.transactions.leagueFetch = _.bind(this.transactions.leagueFetch, this);
this.teams.fetch = _.bind(this.teams.fetch, this);
this.teams.userFetch = _.bind(this.teams.userFetch, this);
this.teams.leagues = _.bind(this.teams.leagues, this);
this.teams.games = _.bind(this.teams.games, this);
this.users.fetch = _.bind(this.users.fetch, this);
// this.transactions.fetch = _.bind(this.transactions.fetch, this);
// this.transactions.leagueFetch = _.bind(this.transactions.leagueFetch, this);
// this.users.fetch = _.bind(this.users.fetch, this);
}

@@ -134,2 +139,3 @@

if (e) {
console.log(e);
if (401 == e.statusCode) {

@@ -156,6 +162,6 @@ // need to re-authorize the user token

YahooFantasy.prototype.err = function(e, cb) {
cb({
error: e.error.description
});
};
// YahooFantasy.prototype.err = function(e, cb) {
// cb({
// error: e.error.description
// });
// };
{
"name": "yahoo-fantasy",
"version": "0.1.2",
"version": "0.2.0",
"description": "An API to help facilitate the use of the Yahoo! Fantasy Sports API in NodeJS projects.",

@@ -5,0 +5,0 @@ "main": "index.js",

@@ -44,3 +44,4 @@ Yahoo! Fantasy API Node Module

{possible argument(s)},
function cb(data) {
function cb(err, data) {
// handle error
// callback function

@@ -58,2 +59,7 @@ // do your thing

#### 0.2.0
* Made helper classes more consistent
* Added collections for games, leagues, players, and teams
* Moved to error first convention because JavaScript
#### 0.1.2

@@ -60,0 +66,0 @@ * Added 'Team Matchups' subresource

@@ -21,5 +21,6 @@ var _ = require('lodash');

cb(meta);
cb(null, meta);
}, function(e) {
self.err(e, cb);
// self.err(e, cb);
cb(e, null);
});

@@ -39,3 +40,3 @@ };

.then(function(data) {
var leagues = gameHelper.leaguesMap(data.fantasy_content.game[1].leagues);
var leagues = gameHelper.mapLeagues(data.fantasy_content.game[1].leagues);
var game = data.fantasy_content.game[0];

@@ -45,5 +46,6 @@

cb(game);
cb(null, game);
}, function(e) {
self.err(e, cb);
// self.err(e, cb);
cb(e, null);
});

@@ -62,3 +64,3 @@ };

.then(function(data) {
var players = gameHelper.playersMap(data.fantasy_content.game[1].players);
var players = gameHelper.mapPlayers(data.fantasy_content.game[1].players);
var game = data.fantasy_content.game[0];

@@ -68,5 +70,6 @@

cb(game);
cb(null, game);
}, function(e) {
self.err(e, cb);
// self.err(e, cb);
cb(e, null);
});

@@ -81,3 +84,3 @@ };

.then(function(data) {
var weeks = gameHelper.weeksMap(data.fantasy_content.game[1].game_weeks);
var weeks = gameHelper.mapWeeks(data.fantasy_content.game[1].game_weeks);
var game = data.fantasy_content.game[0];

@@ -87,5 +90,6 @@

cb(game);
cb(null, game);
}, function(e) {
self.err(e, cb);
// self.err(e, cb);
cb(e, null);
});

@@ -100,3 +104,3 @@ };

.then(function(data) {
var stat_categories = gameHelper.statCategoriesMap(data.fantasy_content.game[1].stat_categories.stats);
var stat_categories = gameHelper.mapStatCategories(data.fantasy_content.game[1].stat_categories.stats);
var game = data.fantasy_content.game[0];

@@ -106,5 +110,6 @@

cb(game);
cb(null, game);
}, function(e) {
self.err(e, cb);
// self.err(e, cb);
cb(e, null);
});

@@ -119,3 +124,3 @@ };

.then(function(data) {
var position_types = gameHelper.positionTypesMap(data.fantasy_content.game[1].position_types);
var position_types = gameHelper.mapPositionTypes(data.fantasy_content.game[1].position_types);
var game = data.fantasy_content.game[0];

@@ -125,5 +130,6 @@

cb(game);
cb(null, game);
}, function(e) {
self.err(e, cb);
// self.err(e, cb);
cb(e, null);
});

@@ -138,3 +144,3 @@ };

.then(function(data) {
var roster_positions = gameHelper.rosterPositionsMap(data.fantasy_content.game[1].roster_positions);
var roster_positions = gameHelper.mapRosterPositions(data.fantasy_content.game[1].roster_positions);
var game = data.fantasy_content.game[0];

@@ -144,6 +150,7 @@

cb(game);
cb(null, game);
}, function(e) {
self.err(e, cb);
// self.err(e, cb);
cb(e, null);
});
};

@@ -19,5 +19,6 @@ var leagueHelper = require('../helpers/leagueHelper.js');

cb(meta);
cb(null, meta);
}, function(e) {
self.err(e, cb);
// self.err(e, cb);
cb(e, null);
});

@@ -32,3 +33,3 @@ };

.then(function(data) {
var settings = leagueHelper.settingsMap(data.fantasy_content.league[1].settings[0]);
var settings = leagueHelper.mapSettings(data.fantasy_content.league[1].settings[0]);
var league = data.fantasy_content.league[0];

@@ -38,5 +39,6 @@

cb(settings);
cb(null, settings);
}, function(e) {
self.err(e, cb);
// self.err(e, cb);
cb(e, null);
});

@@ -57,5 +59,6 @@ }

cb(league);
cb(null, league);
}, function(e) {
self.err(e, cb);
// self.err(e, cb);
cb(e, null);
});

@@ -73,3 +76,3 @@ };

var week = data.fantasy_content.league[1].scoreboard.week;
var scoreboard = leagueHelper.scoreboardMap(data.fantasy_content.league[1].scoreboard[0].matchups);
var scoreboard = leagueHelper.mapScoreboard(data.fantasy_content.league[1].scoreboard[0].matchups);
var league = data.fantasy_content.league[0];

@@ -80,5 +83,6 @@

cb(league);
cb(null, league);
}, function(e) {
self.err(e, cb);
// self.err(e, cb);
cb(e, null);
});

@@ -93,3 +97,3 @@ };

.then(function(data) {
var teams = leagueHelper.teamsMap(data.fantasy_content.league[1].teams);
var teams = leagueHelper.mapTeams(data.fantasy_content.league[1].teams);
var league = data.fantasy_content.league[0];

@@ -99,5 +103,6 @@

cb(league);
cb(null, league);
}, function(e) {
self.err(e, cb);
// self.err(e, cb);
cb(e, null);
});

@@ -115,5 +120,6 @@ };

cb(players);
cb(null, players);
}, function(e) {
self.err(e, cb);
// self.err(e, cb);
cb(e, null);
});

@@ -128,3 +134,3 @@ };

.then(function(data) {
var draft = leagueHelper.draftMap(data.fantasy_content.league[1].draft_results);
var draft = leagueHelper.mapDraft(data.fantasy_content.league[1].draft_results);
var league = data.fantasy_content.league[0];

@@ -134,5 +140,6 @@

cb(league);
cb(null, league);
}, function(e) {
self.err(e, cb);
// self.err(e, cb);
cb(e, null);
});

@@ -147,3 +154,3 @@ };

.then(function(data) {
var transactions = leagueHelper.transactionMap(data.fantasy_content.league[1].transactions);
var transactions = leagueHelper.mapTransactions(data.fantasy_content.league[1].transactions);
var league = data.fantasy_content.league[0];

@@ -153,6 +160,7 @@

cb(league);
cb(null, league);
}, function(e) {
self.err(e, cb);
// self.err(e, cb);
cb(e, null);
});
};

@@ -23,5 +23,6 @@ var playerHelper = require('../helpers/playerHelper.js');

cb(meta);
cb(null, meta);
}, function(e) {
self.err(e, cb);
// self.err(e, cb);
cb(e, null);
});

@@ -48,5 +49,6 @@ };

cb(player);
cb(null, player);
}, function(e) {
self.err(e, cb);
// self.err(e, cb);
cb(e, null);
});

@@ -64,3 +66,3 @@ };

.then(function(data) {
var ownership = data.fantasy_content.player[1].percent_owned[1];
var percent_owned = data.fantasy_content.player[1].percent_owned[1];
var player = playerHelper.mapPlayer(data.fantasy_content.player[0]);

@@ -71,7 +73,8 @@

player.ownership = ownership;
player.percent_owned = percent_owned;
cb(player);
cb(null, player);
}, function(e) {
self.err(e, cb);
// self.err(e, cb);
cb(e, null);
});

@@ -105,5 +108,6 @@ };

cb(player);
cb(null, player);
}, function(e) {
self.err(e, cb);
// self.err(e, cb);
cb(e, null);
});

@@ -126,6 +130,7 @@ };

cb(player);
cb(null, player);
}, function(e) {
self.err(e, cb);
// self.err(e, cb);
cb(e, null);
});
};

@@ -22,6 +22,10 @@ var teamHelper = require('../helpers/teamHelper.js');

cb(team);
cb(null, team);
}, function(e) {
self.err(e, cb);
// self.err(e, cb);
cb(e, null);
});
};
// todo: need to add date, week
// https://developer.yahoo.com/fantasysports/guide/roster-resource.html#roster-resource-desc

@@ -19,5 +19,6 @@ var teamHelper = require('../helpers/teamHelper.js');

cb(metadata);
cb(null, metadata);
}, function(e) {
self.err(e, cb);
// self.err(e, cb);
cb(e, null);
});

@@ -32,3 +33,3 @@ };

.then(function(data) {
var stats = teamHelper.statsMap(data.fantasy_content.team[1]);
var stats = teamHelper.mapStats(data.fantasy_content.team[1]);
var team = teamHelper.mapTeam(data.fantasy_content.team[0]);

@@ -38,5 +39,6 @@

cb(team);
cb(null, team);
}, function(e) {
self.err(e, cb);
// self.err(e, cb);
cb(e, null);
});

@@ -56,5 +58,6 @@ };

cb(team);
cb(null, team);
}, function(e) {
self.err(e, cb);
// self.err(e, cb);
cb(e, null);
});

@@ -77,5 +80,6 @@ };

cb(team);
cb(null, team);
}, function(e) {
self.err(e, cb);
// self.err(e, cb);
cb(e, null);
});

@@ -91,3 +95,3 @@ };

.then(function(data) {
var draft_results = teamHelper.draftMap(data.fantasy_content.team[1].draft_results);
var draft_results = teamHelper.mapDraft(data.fantasy_content.team[1].draft_results);
var team = teamHelper.mapTeam(data.fantasy_content.team[0]);

@@ -97,5 +101,6 @@

cb(team);
cb(null, team);
}, function(e) {
self.err(e, cb);
// self.err(e, cb);
cb(e, null);
});

@@ -117,6 +122,7 @@ };

cb(team);
cb(null, team);
}, function(e) {
self.err(e, cb);
// self.err(e, cb);
cb(e, null);
});
};

@@ -24,5 +24,6 @@ var transactionHelper = require('../helpers/transactionHelper.js');

cb(meta);
cb(null, meta);
}, function(e) {
self.err(e, cb);
// self.err(e, cb);
cb(e, null);
});

@@ -29,0 +30,0 @@ };

@@ -23,5 +23,6 @@ var _ = require('lodash');

cb(user);
cb(null, user);
}, function(e) {
self.err(e, cb);
// self.err(e, cb);
cb(e, null);
});

@@ -45,5 +46,6 @@ };

cb(user);
cb(null, user);
}, function(e) {
self.err(e, cb);
// self.err(e, cb);
cb(e, null);
});

@@ -67,6 +69,7 @@ };

cb(user);
cb(null, user);
}, function(e) {
self.err(e, cb);
// self.err(e, cb);
cb(e, null);
});
};
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc