UNPKG

@bp1222/stats-api

Version:

Library for Typescript Client to query MLB StatsAPI

1,431 lines (1,404 loc) 71.4 kB
var __defProp = Object.defineProperty; var __defProps = Object.defineProperties; var __getOwnPropDescs = Object.getOwnPropertyDescriptors; var __getOwnPropSymbols = Object.getOwnPropertySymbols; var __hasOwnProp = Object.prototype.hasOwnProperty; var __propIsEnum = Object.prototype.propertyIsEnumerable; var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; var __spreadValues = (a, b) => { for (var prop in b || (b = {})) if (__hasOwnProp.call(b, prop)) __defNormalProp(a, prop, b[prop]); if (__getOwnPropSymbols) for (var prop of __getOwnPropSymbols(b)) { if (__propIsEnum.call(b, prop)) __defNormalProp(a, prop, b[prop]); } return a; }; var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b)); var __async = (__this, __arguments, generator) => { return new Promise((resolve, reject) => { var fulfilled = (value) => { try { step(generator.next(value)); } catch (e) { reject(e); } }; var rejected = (value) => { try { step(generator.throw(value)); } catch (e) { reject(e); } }; var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected); step((generator = generator.apply(__this, __arguments)).next()); }); }; // src/runtime.ts var BASE_PATH = "https://statsapi.mlb.com/api".replace(/\/+$/, ""); var Configuration = class { constructor(configuration = {}) { this.configuration = configuration; } set config(configuration) { this.configuration = configuration; } get basePath() { return this.configuration.basePath != null ? this.configuration.basePath : BASE_PATH; } get fetchApi() { return this.configuration.fetchApi; } get middleware() { return this.configuration.middleware || []; } get queryParamsStringify() { return this.configuration.queryParamsStringify || querystring; } get username() { return this.configuration.username; } get password() { return this.configuration.password; } get apiKey() { const apiKey = this.configuration.apiKey; if (apiKey) { return typeof apiKey === "function" ? apiKey : () => apiKey; } return void 0; } get accessToken() { const accessToken = this.configuration.accessToken; if (accessToken) { return typeof accessToken === "function" ? accessToken : () => __async(this, null, function* () { return accessToken; }); } return void 0; } get headers() { return this.configuration.headers; } get credentials() { return this.configuration.credentials; } }; var DefaultConfig = new Configuration(); var _BaseAPI = class _BaseAPI { constructor(configuration = DefaultConfig) { this.configuration = configuration; this.fetchApi = (url, init) => __async(this, null, function* () { let fetchParams = { url, init }; for (const middleware of this.middleware) { if (middleware.pre) { fetchParams = (yield middleware.pre(__spreadValues({ fetch: this.fetchApi }, fetchParams))) || fetchParams; } } let response = void 0; try { response = yield (this.configuration.fetchApi || fetch)(fetchParams.url, fetchParams.init); } catch (e) { for (const middleware of this.middleware) { if (middleware.onError) { response = (yield middleware.onError({ fetch: this.fetchApi, url: fetchParams.url, init: fetchParams.init, error: e, response: response ? response.clone() : void 0 })) || response; } } if (response === void 0) { if (e instanceof Error) { throw new FetchError(e, "The request failed and the interceptors did not return an alternative response"); } else { throw e; } } } for (const middleware of this.middleware) { if (middleware.post) { response = (yield middleware.post({ fetch: this.fetchApi, url: fetchParams.url, init: fetchParams.init, response: response.clone() })) || response; } } return response; }); this.middleware = configuration.middleware; } withMiddleware(...middlewares) { const next = this.clone(); next.middleware = next.middleware.concat(...middlewares); return next; } withPreMiddleware(...preMiddlewares) { const middlewares = preMiddlewares.map((pre) => ({ pre })); return this.withMiddleware(...middlewares); } withPostMiddleware(...postMiddlewares) { const middlewares = postMiddlewares.map((post) => ({ post })); return this.withMiddleware(...middlewares); } /** * Check if the given MIME is a JSON MIME. * JSON MIME examples: * application/json * application/json; charset=UTF8 * APPLICATION/JSON * application/vnd.company+json * @param mime - MIME (Multipurpose Internet Mail Extensions) * @return True if the given MIME is JSON, false otherwise. */ isJsonMime(mime) { if (!mime) { return false; } return _BaseAPI.jsonRegex.test(mime); } request(context, initOverrides) { return __async(this, null, function* () { const { url, init } = yield this.createFetchParams(context, initOverrides); const response = yield this.fetchApi(url, init); if (response && (response.status >= 200 && response.status < 300)) { return response; } throw new ResponseError(response, "Response returned an error code"); }); } createFetchParams(context, initOverrides) { return __async(this, null, function* () { let url = this.configuration.basePath + context.path; if (context.query !== void 0 && Object.keys(context.query).length !== 0) { url += "?" + this.configuration.queryParamsStringify(context.query); } const headers = Object.assign({}, this.configuration.headers, context.headers); Object.keys(headers).forEach((key) => headers[key] === void 0 ? delete headers[key] : {}); const initOverrideFn = typeof initOverrides === "function" ? initOverrides : () => __async(this, null, function* () { return initOverrides; }); const initParams = { method: context.method, headers, body: context.body, credentials: this.configuration.credentials }; const overriddenInit = __spreadValues(__spreadValues({}, initParams), yield initOverrideFn({ init: initParams, context })); let body; if (isFormData(overriddenInit.body) || overriddenInit.body instanceof URLSearchParams || isBlob(overriddenInit.body)) { body = overriddenInit.body; } else if (this.isJsonMime(headers["Content-Type"])) { body = JSON.stringify(overriddenInit.body); } else { body = overriddenInit.body; } const init = __spreadProps(__spreadValues({}, overriddenInit), { body }); return { url, init }; }); } /** * Create a shallow clone of `this` by constructing a new instance * and then shallow cloning data members. */ clone() { const constructor = this.constructor; const next = new constructor(this.configuration); next.middleware = this.middleware.slice(); return next; } }; _BaseAPI.jsonRegex = new RegExp("^(:?application/json|[^;/ ]+/[^;/ ]+[+]json)[ ]*(:?;.*)?$", "i"); var BaseAPI = _BaseAPI; function isBlob(value) { return typeof Blob !== "undefined" && value instanceof Blob; } function isFormData(value) { return typeof FormData !== "undefined" && value instanceof FormData; } var ResponseError = class extends Error { constructor(response, msg) { super(msg); this.response = response; this.name = "ResponseError"; } }; var FetchError = class extends Error { constructor(cause, msg) { super(msg); this.cause = cause; this.name = "FetchError"; } }; var RequiredError = class extends Error { constructor(field, msg) { super(msg); this.field = field; this.name = "RequiredError"; } }; var COLLECTION_FORMATS = { csv: ",", ssv: " ", tsv: " ", pipes: "|" }; function querystring(params, prefix = "") { return Object.keys(params).map((key) => querystringSingleKey(key, params[key], prefix)).filter((part) => part.length > 0).join("&"); } function querystringSingleKey(key, value, keyPrefix = "") { const fullKey = keyPrefix + (keyPrefix.length ? `[${key}]` : key); if (value instanceof Array) { const multiValue = value.map((singleValue) => encodeURIComponent(String(singleValue))).join(`&${encodeURIComponent(fullKey)}=`); return `${encodeURIComponent(fullKey)}=${multiValue}`; } if (value instanceof Set) { const valueAsArray = Array.from(value); return querystringSingleKey(key, valueAsArray, keyPrefix); } if (value instanceof Date) { return `${encodeURIComponent(fullKey)}=${encodeURIComponent(value.toISOString())}`; } if (value instanceof Object) { return querystring(value, fullKey); } return `${encodeURIComponent(fullKey)}=${encodeURIComponent(String(value))}`; } function mapValues(data, fn) { return Object.keys(data).reduce( (acc, key) => __spreadProps(__spreadValues({}, acc), { [key]: fn(data[key]) }), {} ); } function canConsumeForm(consumes) { for (const consume of consumes) { if ("multipart/form-data" === consume.contentType) { return true; } } return false; } var JSONApiResponse = class { constructor(raw, transformer = (jsonValue) => jsonValue) { this.raw = raw; this.transformer = transformer; } value() { return __async(this, null, function* () { return this.transformer(yield this.raw.json()); }); } }; var VoidApiResponse = class { constructor(raw) { this.raw = raw; } value() { return __async(this, null, function* () { return void 0; }); } }; var BlobApiResponse = class { constructor(raw) { this.raw = raw; } value() { return __async(this, null, function* () { return yield this.raw.blob(); }); } }; var TextApiResponse = class { constructor(raw) { this.raw = raw; } value() { return __async(this, null, function* () { return yield this.raw.text(); }); } }; // src/models/Official.ts function instanceOfOfficial(value) { return true; } function OfficialFromJSON(json) { return OfficialFromJSONTyped(json, false); } function OfficialFromJSONTyped(json, ignoreDiscriminator) { if (json == null) { return json; } return { "id": json["id"] == null ? void 0 : json["id"], "fullName": json["fullName"] == null ? void 0 : json["fullName"], "link": json["link"] == null ? void 0 : json["link"] }; } function OfficialToJSON(json) { return OfficialToJSONTyped(json, false); } function OfficialToJSONTyped(value, ignoreDiscriminator = false) { if (value == null) { return value; } return { "id": value["id"], "fullName": value["fullName"], "link": value["link"] }; } // src/models/GameOfficial.ts function instanceOfGameOfficial(value) { return true; } function GameOfficialFromJSON(json) { return GameOfficialFromJSONTyped(json, false); } function GameOfficialFromJSONTyped(json, ignoreDiscriminator) { if (json == null) { return json; } return { "official": json["official"] == null ? void 0 : OfficialFromJSON(json["official"]), "officialType": json["officialType"] == null ? void 0 : json["officialType"] }; } function GameOfficialToJSON(json) { return GameOfficialToJSONTyped(json, false); } function GameOfficialToJSONTyped(value, ignoreDiscriminator = false) { if (value == null) { return value; } return { "official": OfficialToJSON(value["official"]), "officialType": value["officialType"] }; } // src/models/LeagueDates.ts function instanceOfLeagueDates(value) { return true; } function LeagueDatesFromJSON(json) { return LeagueDatesFromJSONTyped(json, false); } function LeagueDatesFromJSONTyped(json, ignoreDiscriminator) { if (json == null) { return json; } return { "seasonId": json["seasonId"] == null ? void 0 : json["seasonId"], "preSeasonStartDate": json["preSeasonStartDate"] == null ? void 0 : json["preSeasonStartDate"], "preSeasonEndDate": json["preSeasonEndDate"] == null ? void 0 : json["preSeasonEndDate"], "seasonStartDate": json["seasonStartDate"] == null ? void 0 : json["seasonStartDate"], "springStartDate": json["springStartDate"] == null ? void 0 : json["springStartDate"], "springEndDate": json["springEndDate"] == null ? void 0 : json["springEndDate"], "offseasonStartDate": json["offseasonStartDate"] == null ? void 0 : json["offseasonStartDate"], "offseasonEndDate": json["offseasonEndDate"] == null ? void 0 : json["offseasonEndDate"], "seasonLevelGamedayType": json["seasonLevelGamedayType"] == null ? void 0 : json["seasonLevelGamedayType"], "gameLevelGamedayType": json["gameLevelGamedayType"] == null ? void 0 : json["gameLevelGamedayType"] }; } function LeagueDatesToJSON(json) { return LeagueDatesToJSONTyped(json, false); } function LeagueDatesToJSONTyped(value, ignoreDiscriminator = false) { if (value == null) { return value; } return { "seasonId": value["seasonId"], "preSeasonStartDate": value["preSeasonStartDate"], "preSeasonEndDate": value["preSeasonEndDate"], "seasonStartDate": value["seasonStartDate"], "springStartDate": value["springStartDate"], "springEndDate": value["springEndDate"], "offseasonStartDate": value["offseasonStartDate"], "offseasonEndDate": value["offseasonEndDate"], "seasonLevelGamedayType": value["seasonLevelGamedayType"], "gameLevelGamedayType": value["gameLevelGamedayType"] }; } // src/models/League.ts function instanceOfLeague(value) { if (!("id" in value) || value["id"] === void 0) return false; if (!("name" in value) || value["name"] === void 0) return false; return true; } function LeagueFromJSON(json) { return LeagueFromJSONTyped(json, false); } function LeagueFromJSONTyped(json, ignoreDiscriminator) { if (json == null) { return json; } return { "id": json["id"], "name": json["name"], "link": json["link"] == null ? void 0 : json["link"], "abbreviation": json["abbreviation"] == null ? void 0 : json["abbreviation"], "nameShort": json["nameShort"] == null ? void 0 : json["nameShort"], "seasonState": json["seasonState"] == null ? void 0 : json["seasonState"], "hasWildCard": json["hasWildCard"] == null ? void 0 : json["hasWildCard"], "hasSplitSeason": json["hasSplitSeason"] == null ? void 0 : json["hasSplitSeason"], "hasPlayoffPoints": json["hasPlayoffPoints"] == null ? void 0 : json["hasPlayoffPoints"], "seasonDateInfo": json["seasonDateInfo"] == null ? void 0 : LeagueDatesFromJSON(json["seasonDateInfo"]), "season": json["season"] == null ? void 0 : json["season"], "orgCode": json["orgCode"] == null ? void 0 : json["orgCode"], "conferencesInUse": json["conferencesInUse"] == null ? void 0 : json["conferencesInUse"], "divisionsInUse": json["divisionsInUse"] == null ? void 0 : json["divisionsInUse"], "sortOrder": json["sortOrder"] == null ? void 0 : json["sortOrder"], "active": json["active"] == null ? void 0 : json["active"] }; } function LeagueToJSON(json) { return LeagueToJSONTyped(json, false); } function LeagueToJSONTyped(value, ignoreDiscriminator = false) { if (value == null) { return value; } return { "id": value["id"], "name": value["name"], "link": value["link"], "abbreviation": value["abbreviation"], "nameShort": value["nameShort"], "seasonState": value["seasonState"], "hasWildCard": value["hasWildCard"], "hasSplitSeason": value["hasSplitSeason"], "hasPlayoffPoints": value["hasPlayoffPoints"], "seasonDateInfo": LeagueDatesToJSON(value["seasonDateInfo"]), "season": value["season"], "orgCode": value["orgCode"], "conferencesInUse": value["conferencesInUse"], "divisionsInUse": value["divisionsInUse"], "sortOrder": value["sortOrder"], "active": value["active"] }; } // src/models/Sport.ts function instanceOfSport(value) { if (!("id" in value) || value["id"] === void 0) return false; return true; } function SportFromJSON(json) { return SportFromJSONTyped(json, false); } function SportFromJSONTyped(json, ignoreDiscriminator) { if (json == null) { return json; } return { "id": json["id"], "code": json["code"] == null ? void 0 : json["code"], "link": json["link"] == null ? void 0 : json["link"], "name": json["name"] == null ? void 0 : json["name"], "abbreviation": json["abbreviation"] == null ? void 0 : json["abbreviation"], "sortOrder": json["sortOrder"] == null ? void 0 : json["sortOrder"], "activeStatus": json["activeStatus"] == null ? void 0 : json["activeStatus"] }; } function SportToJSON(json) { return SportToJSONTyped(json, false); } function SportToJSONTyped(value, ignoreDiscriminator = false) { if (value == null) { return value; } return { "id": value["id"], "code": value["code"], "link": value["link"], "name": value["name"], "abbreviation": value["abbreviation"], "sortOrder": value["sortOrder"], "activeStatus": value["activeStatus"] }; } // src/models/Venue.ts function instanceOfVenue(value) { if (!("id" in value) || value["id"] === void 0) return false; if (!("name" in value) || value["name"] === void 0) return false; return true; } function VenueFromJSON(json) { return VenueFromJSONTyped(json, false); } function VenueFromJSONTyped(json, ignoreDiscriminator) { if (json == null) { return json; } return { "id": json["id"], "name": json["name"], "link": json["link"] == null ? void 0 : json["link"], "active": json["active"] == null ? void 0 : json["active"], "season": json["season"] == null ? void 0 : json["season"] }; } function VenueToJSON(json) { return VenueToJSONTyped(json, false); } function VenueToJSONTyped(value, ignoreDiscriminator = false) { if (value == null) { return value; } return { "id": value["id"], "name": value["name"], "link": value["link"], "active": value["active"], "season": value["season"] }; } // src/models/Division.ts function instanceOfDivision(value) { if (!("id" in value) || value["id"] === void 0) return false; if (!("name" in value) || value["name"] === void 0) return false; return true; } function DivisionFromJSON(json) { return DivisionFromJSONTyped(json, false); } function DivisionFromJSONTyped(json, ignoreDiscriminator) { if (json == null) { return json; } return { "id": json["id"], "name": json["name"], "season": json["season"] == null ? void 0 : json["season"], "nameShort": json["nameShort"] == null ? void 0 : json["nameShort"], "link": json["link"] == null ? void 0 : json["link"], "abbreviation": json["abbreviation"] == null ? void 0 : json["abbreviation"], "league": json["league"] == null ? void 0 : LeagueFromJSON(json["league"]), "sport": json["sport"] == null ? void 0 : SportFromJSON(json["sport"]), "hasWildcard": json["hasWildcard"] == null ? void 0 : json["hasWildcard"], "sortOrder": json["sortOrder"] == null ? void 0 : json["sortOrder"], "numPlayoffTeams": json["numPlayoffTeams"] == null ? void 0 : json["numPlayoffTeams"], "active": json["active"] == null ? void 0 : json["active"] }; } function DivisionToJSON(json) { return DivisionToJSONTyped(json, false); } function DivisionToJSONTyped(value, ignoreDiscriminator = false) { if (value == null) { return value; } return { "id": value["id"], "name": value["name"], "season": value["season"], "nameShort": value["nameShort"], "link": value["link"], "abbreviation": value["abbreviation"], "league": LeagueToJSON(value["league"]), "sport": SportToJSON(value["sport"]), "hasWildcard": value["hasWildcard"], "sortOrder": value["sortOrder"], "numPlayoffTeams": value["numPlayoffTeams"], "active": value["active"] }; } // src/models/Streak.ts var StreakStreakTypeEnum = /* @__PURE__ */ ((StreakStreakTypeEnum2) => { StreakStreakTypeEnum2["Losing"] = "losses"; StreakStreakTypeEnum2["Winning"] = "wins"; return StreakStreakTypeEnum2; })(StreakStreakTypeEnum || {}); function instanceOfStreak(value) { return true; } function StreakFromJSON(json) { return StreakFromJSONTyped(json, false); } function StreakFromJSONTyped(json, ignoreDiscriminator) { if (json == null) { return json; } return { "streakType": json["streakType"] == null ? void 0 : json["streakType"] }; } function StreakToJSON(json) { return StreakToJSONTyped(json, false); } function StreakToJSONTyped(value, ignoreDiscriminator = false) { if (value == null) { return value; } return { "streakType": value["streakType"] }; } // src/models/LeagueRecord.ts function instanceOfLeagueRecord(value) { if (!("wins" in value) || value["wins"] === void 0) return false; if (!("losses" in value) || value["losses"] === void 0) return false; if (!("pct" in value) || value["pct"] === void 0) return false; return true; } function LeagueRecordFromJSON(json) { return LeagueRecordFromJSONTyped(json, false); } function LeagueRecordFromJSONTyped(json, ignoreDiscriminator) { if (json == null) { return json; } return { "wins": json["wins"], "losses": json["losses"], "ties": json["ties"] == null ? void 0 : json["ties"], "pct": json["pct"] }; } function LeagueRecordToJSON(json) { return LeagueRecordToJSONTyped(json, false); } function LeagueRecordToJSONTyped(value, ignoreDiscriminator = false) { if (value == null) { return value; } return { "wins": value["wins"], "losses": value["losses"], "ties": value["ties"], "pct": value["pct"] }; } // src/models/Record.ts function instanceOfRecord(value) { if (!("team" in value) || value["team"] === void 0) return false; if (!("season" in value) || value["season"] === void 0) return false; if (!("streak" in value) || value["streak"] === void 0) return false; if (!("divisionRank" in value) || value["divisionRank"] === void 0) return false; if (!("leagueRank" in value) || value["leagueRank"] === void 0) return false; if (!("gamesBack" in value) || value["gamesBack"] === void 0) return false; if (!("leagueRecord" in value) || value["leagueRecord"] === void 0) return false; if (!("wins" in value) || value["wins"] === void 0) return false; if (!("losses" in value) || value["losses"] === void 0) return false; return true; } function RecordFromJSON(json) { return RecordFromJSONTyped(json, false); } function RecordFromJSONTyped(json, ignoreDiscriminator) { if (json == null) { return json; } return { "team": TeamFromJSON(json["team"]), "season": json["season"], "streak": StreakFromJSON(json["streak"]), "divisionRank": json["divisionRank"], "leagueRank": json["leagueRank"], "sportRank": json["sportRank"] == null ? void 0 : json["sportRank"], "gamesPlayed": json["gamesPlayed"] == null ? void 0 : json["gamesPlayed"], "gamesBack": json["gamesBack"], "wildCardGamesBack": json["wildCardGamesBack"] == null ? void 0 : json["wildCardGamesBack"], "leagueGamesBack": json["leagueGamesBack"] == null ? void 0 : json["leagueGamesBack"], "sportGamesBack": json["sportGamesBack"] == null ? void 0 : json["sportGamesBack"], "divisionGamesBack": json["divisionGamesBack"] == null ? void 0 : json["divisionGamesBack"], "conferenceGamesBack": json["conferenceGamesBack"] == null ? void 0 : json["conferenceGamesBack"], "leagueRecord": LeagueRecordFromJSON(json["leagueRecord"]), "lastUpdated": json["lastUpdated"] == null ? void 0 : json["lastUpdated"], "runsAllowed": json["runsAllowed"] == null ? void 0 : json["runsAllowed"], "runsScored": json["runsScored"] == null ? void 0 : json["runsScored"], "divisionChamp": json["divisionChamp"] == null ? void 0 : json["divisionChamp"], "divisionLeader": json["divisionLeader"] == null ? void 0 : json["divisionLeader"], "hasWildcard": json["hasWildcard"] == null ? void 0 : json["hasWildcard"], "clinched": json["clinched"] == null ? void 0 : json["clinched"], "eliminationNumber": json["eliminationNumber"] == null ? void 0 : json["eliminationNumber"], "eliminationNumberSport": json["eliminationNumberSport"] == null ? void 0 : json["eliminationNumberSport"], "eliminationNumberLeague": json["eliminationNumberLeague"] == null ? void 0 : json["eliminationNumberLeague"], "eliminationNumberDivision": json["eliminationNumberDivision"] == null ? void 0 : json["eliminationNumberDivision"], "eliminationNumberConference": json["eliminationNumberConference"] == null ? void 0 : json["eliminationNumberConference"], "wildCardEliminationNumber": json["wildCardEliminationNumber"] == null ? void 0 : json["wildCardEliminationNumber"], "magicNumber": json["magicNumber"] == null ? void 0 : json["magicNumber"], "wins": json["wins"], "losses": json["losses"], "runDifferential": json["runDifferential"] == null ? void 0 : json["runDifferential"], "winningPercentage": json["winningPercentage"] == null ? void 0 : json["winningPercentage"] }; } function RecordToJSON(json) { return RecordToJSONTyped(json, false); } function RecordToJSONTyped(value, ignoreDiscriminator = false) { if (value == null) { return value; } return { "team": TeamToJSON(value["team"]), "season": value["season"], "streak": StreakToJSON(value["streak"]), "divisionRank": value["divisionRank"], "leagueRank": value["leagueRank"], "sportRank": value["sportRank"], "gamesPlayed": value["gamesPlayed"], "gamesBack": value["gamesBack"], "wildCardGamesBack": value["wildCardGamesBack"], "leagueGamesBack": value["leagueGamesBack"], "sportGamesBack": value["sportGamesBack"], "divisionGamesBack": value["divisionGamesBack"], "conferenceGamesBack": value["conferenceGamesBack"], "leagueRecord": LeagueRecordToJSON(value["leagueRecord"]), "lastUpdated": value["lastUpdated"], "runsAllowed": value["runsAllowed"], "runsScored": value["runsScored"], "divisionChamp": value["divisionChamp"], "divisionLeader": value["divisionLeader"], "hasWildcard": value["hasWildcard"], "clinched": value["clinched"], "eliminationNumber": value["eliminationNumber"], "eliminationNumberSport": value["eliminationNumberSport"], "eliminationNumberLeague": value["eliminationNumberLeague"], "eliminationNumberDivision": value["eliminationNumberDivision"], "eliminationNumberConference": value["eliminationNumberConference"], "wildCardEliminationNumber": value["wildCardEliminationNumber"], "magicNumber": value["magicNumber"], "wins": value["wins"], "losses": value["losses"], "runDifferential": value["runDifferential"], "winningPercentage": value["winningPercentage"] }; } // src/models/Team.ts function instanceOfTeam(value) { if (!("id" in value) || value["id"] === void 0) return false; if (!("name" in value) || value["name"] === void 0) return false; return true; } function TeamFromJSON(json) { return TeamFromJSONTyped2(json, false); } function TeamFromJSONTyped2(json, ignoreDiscriminator) { if (json == null) { return json; } return { "id": json["id"], "name": json["name"], "link": json["link"] == null ? void 0 : json["link"], "allStarStatus": json["allStarStatus"] == null ? void 0 : json["allStarStatus"], "season": json["season"] == null ? void 0 : json["season"], "venue": json["venue"] == null ? void 0 : VenueFromJSON(json["venue"]), "springVenue": json["springVenue"] == null ? void 0 : VenueFromJSON(json["springVenue"]), "teamCode": json["teamCode"] == null ? void 0 : json["teamCode"], "fileCode": json["fileCode"] == null ? void 0 : json["fileCode"], "abbreviation": json["abbreviation"] == null ? void 0 : json["abbreviation"], "teamName": json["teamName"] == null ? void 0 : json["teamName"], "locationName": json["locationName"] == null ? void 0 : json["locationName"], "firstYearOfPlay": json["firstYearOfPlay"] == null ? void 0 : json["firstYearOfPlay"], "league": json["league"] == null ? void 0 : LeagueFromJSON(json["league"]), "springLeague": json["springLeague"] == null ? void 0 : LeagueFromJSON(json["springLeague"]), "division": json["division"] == null ? void 0 : DivisionFromJSON(json["division"]), "sport": json["sport"] == null ? void 0 : SportFromJSON(json["sport"]), "record": json["record"] == null ? void 0 : RecordFromJSON(json["record"]), "shortName": json["shortName"] == null ? void 0 : json["shortName"], "franchiseName": json["franchiseName"] == null ? void 0 : json["franchiseName"], "clubName": json["clubName"] == null ? void 0 : json["clubName"], "active": json["active"] == null ? void 0 : json["active"] }; } function TeamToJSON(json) { return TeamToJSONTyped2(json, false); } function TeamToJSONTyped2(value, ignoreDiscriminator = false) { if (value == null) { return value; } return { "id": value["id"], "name": value["name"], "link": value["link"], "allStarStatus": value["allStarStatus"], "season": value["season"], "venue": VenueToJSON(value["venue"]), "springVenue": VenueToJSON(value["springVenue"]), "teamCode": value["teamCode"], "fileCode": value["fileCode"], "abbreviation": value["abbreviation"], "teamName": value["teamName"], "locationName": value["locationName"], "firstYearOfPlay": value["firstYearOfPlay"], "league": LeagueToJSON(value["league"]), "springLeague": LeagueToJSON(value["springLeague"]), "division": DivisionToJSON(value["division"]), "sport": SportToJSON(value["sport"]), "record": RecordToJSON(value["record"]), "shortName": value["shortName"], "franchiseName": value["franchiseName"], "clubName": value["clubName"], "active": value["active"] }; } // src/models/BoxscoreTeams.ts function instanceOfBoxscoreTeams(value) { return true; } function BoxscoreTeamsFromJSON(json) { return BoxscoreTeamsFromJSONTyped(json, false); } function BoxscoreTeamsFromJSONTyped(json, ignoreDiscriminator) { if (json == null) { return json; } return { "away": json["away"] == null ? void 0 : TeamFromJSON(json["away"]), "home": json["home"] == null ? void 0 : TeamFromJSON(json["home"]) }; } function BoxscoreTeamsToJSON(json) { return BoxscoreTeamsToJSONTyped(json, false); } function BoxscoreTeamsToJSONTyped(value, ignoreDiscriminator = false) { if (value == null) { return value; } return { "away": TeamToJSON(value["away"]), "home": TeamToJSON(value["home"]) }; } // src/models/Boxscore.ts function instanceOfBoxscore(value) { return true; } function BoxscoreFromJSON(json) { return BoxscoreFromJSONTyped(json, false); } function BoxscoreFromJSONTyped(json, ignoreDiscriminator) { if (json == null) { return json; } return { "teams": json["teams"] == null ? void 0 : BoxscoreTeamsFromJSON(json["teams"]), "officials": json["officials"] == null ? void 0 : json["officials"].map(GameOfficialFromJSON) }; } function BoxscoreToJSON(json) { return BoxscoreToJSONTyped(json, false); } function BoxscoreToJSONTyped(value, ignoreDiscriminator = false) { if (value == null) { return value; } return { "teams": BoxscoreTeamsToJSON(value["teams"]), "officials": value["officials"] == null ? void 0 : value["officials"].map(GameOfficialToJSON) }; } // src/models/DivisionStandings.ts function instanceOfDivisionStandings(value) { if (!("league" in value) || value["league"] === void 0) return false; if (!("division" in value) || value["division"] === void 0) return false; if (!("sport" in value) || value["sport"] === void 0) return false; if (!("teamRecords" in value) || value["teamRecords"] === void 0) return false; return true; } function DivisionStandingsFromJSON(json) { return DivisionStandingsFromJSONTyped(json, false); } function DivisionStandingsFromJSONTyped(json, ignoreDiscriminator) { if (json == null) { return json; } return { "standingsType": json["standingsType"] == null ? void 0 : json["standingsType"], "league": LeagueFromJSON(json["league"]), "division": DivisionFromJSON(json["division"]), "sport": SportFromJSON(json["sport"]), "lastUpdated": json["lastUpdated"] == null ? void 0 : json["lastUpdated"], "teamRecords": json["teamRecords"].map(RecordFromJSON) }; } function DivisionStandingsToJSON(json) { return DivisionStandingsToJSONTyped(json, false); } function DivisionStandingsToJSONTyped(value, ignoreDiscriminator = false) { if (value == null) { return value; } return { "standingsType": value["standingsType"], "league": LeagueToJSON(value["league"]), "division": DivisionToJSON(value["division"]), "sport": SportToJSON(value["sport"]), "lastUpdated": value["lastUpdated"], "teamRecords": value["teamRecords"].map(RecordToJSON) }; } // src/models/DivisionStandingsList.ts function instanceOfDivisionStandingsList(value) { return true; } function DivisionStandingsListFromJSON(json) { return DivisionStandingsListFromJSONTyped(json, false); } function DivisionStandingsListFromJSONTyped(json, ignoreDiscriminator) { if (json == null) { return json; } return { "records": json["records"] == null ? void 0 : json["records"].map(DivisionStandingsFromJSON) }; } function DivisionStandingsListToJSON(json) { return DivisionStandingsListToJSONTyped(json, false); } function DivisionStandingsListToJSONTyped(value, ignoreDiscriminator = false) { if (value == null) { return value; } return { "records": value["records"] == null ? void 0 : value["records"].map(DivisionStandingsToJSON) }; } // src/models/GameStatusCode.ts var GameStatusCode = /* @__PURE__ */ ((GameStatusCode2) => { GameStatusCode2["Final"] = "F"; GameStatusCode2["Postponed"] = "D"; GameStatusCode2["Scheduled"] = "S"; GameStatusCode2["InProgress"] = "I"; GameStatusCode2["Pregame"] = "P"; GameStatusCode2["GameOver"] = "O"; GameStatusCode2["Canceled"] = "C"; return GameStatusCode2; })(GameStatusCode || {}); function instanceOfGameStatusCode(value) { for (const key in GameStatusCode) { if (Object.prototype.hasOwnProperty.call(GameStatusCode, key)) { if (GameStatusCode[key] === value) { return true; } } } return false; } function GameStatusCodeFromJSON(json) { return GameStatusCodeFromJSONTyped(json, false); } function GameStatusCodeFromJSONTyped(json, ignoreDiscriminator) { return json; } function GameStatusCodeToJSON(value) { return value; } function GameStatusCodeToJSONTyped(value, ignoreDiscriminator) { return value; } // src/models/GameStatus.ts function instanceOfGameStatus(value) { return true; } function GameStatusFromJSON(json) { return GameStatusFromJSONTyped(json, false); } function GameStatusFromJSONTyped(json, ignoreDiscriminator) { if (json == null) { return json; } return { "abstractGameState": json["abstractGameState"] == null ? void 0 : json["abstractGameState"], "codedGameState": json["codedGameState"] == null ? void 0 : GameStatusCodeFromJSON(json["codedGameState"]), "detailedState": json["detailedState"] == null ? void 0 : json["detailedState"], "statusCode": json["statusCode"] == null ? void 0 : json["statusCode"], "startTimeTBD": json["startTimeTBD"] == null ? void 0 : json["startTimeTBD"], "abstractGameCode": json["abstractGameCode"] == null ? void 0 : json["abstractGameCode"] }; } function GameStatusToJSON(json) { return GameStatusToJSONTyped(json, false); } function GameStatusToJSONTyped(value, ignoreDiscriminator = false) { if (value == null) { return value; } return { "abstractGameState": value["abstractGameState"], "codedGameState": GameStatusCodeToJSON(value["codedGameState"]), "detailedState": value["detailedState"], "statusCode": value["statusCode"], "startTimeTBD": value["startTimeTBD"], "abstractGameCode": value["abstractGameCode"] }; } // src/models/GameTeam.ts function instanceOfGameTeam(value) { if (!("score" in value) || value["score"] === void 0) return false; if (!("team" in value) || value["team"] === void 0) return false; if (!("isWinner" in value) || value["isWinner"] === void 0) return false; return true; } function GameTeamFromJSON(json) { return GameTeamFromJSONTyped(json, false); } function GameTeamFromJSONTyped(json, ignoreDiscriminator) { if (json == null) { return json; } return { "leagueRecord": json["leagueRecord"] == null ? void 0 : LeagueRecordFromJSON(json["leagueRecord"]), "score": json["score"], "team": TeamFromJSON(json["team"]), "isWinner": json["isWinner"], "splitSquad": json["splitSquad"] == null ? void 0 : json["splitSquad"], "seriesNumber": json["seriesNumber"] == null ? void 0 : json["seriesNumber"] }; } function GameTeamToJSON(json) { return GameTeamToJSONTyped(json, false); } function GameTeamToJSONTyped(value, ignoreDiscriminator = false) { if (value == null) { return value; } return { "leagueRecord": LeagueRecordToJSON(value["leagueRecord"]), "score": value["score"], "team": TeamToJSON(value["team"]), "isWinner": value["isWinner"], "splitSquad": value["splitSquad"], "seriesNumber": value["seriesNumber"] }; } // src/models/GameTeams.ts function instanceOfGameTeams(value) { if (!("away" in value) || value["away"] === void 0) return false; if (!("home" in value) || value["home"] === void 0) return false; return true; } function GameTeamsFromJSON(json) { return GameTeamsFromJSONTyped(json, false); } function GameTeamsFromJSONTyped(json, ignoreDiscriminator) { if (json == null) { return json; } return { "away": GameTeamFromJSON(json["away"]), "home": GameTeamFromJSON(json["home"]) }; } function GameTeamsToJSON(json) { return GameTeamsToJSONTyped(json, false); } function GameTeamsToJSONTyped(value, ignoreDiscriminator = false) { if (value == null) { return value; } return { "away": GameTeamToJSON(value["away"]), "home": GameTeamToJSON(value["home"]) }; } // src/models/GameType.ts var GameType = /* @__PURE__ */ ((GameType2) => { GameType2["Exhibition"] = "E"; GameType2["SpringTraining"] = "S"; GameType2["Regular"] = "R"; GameType2["WildCardSeries"] = "F"; GameType2["DivisionSeries"] = "D"; GameType2["LeagueChampionshipSeries"] = "L"; GameType2["WorldSeries"] = "W"; return GameType2; })(GameType || {}); function instanceOfGameType(value) { for (const key in GameType) { if (Object.prototype.hasOwnProperty.call(GameType, key)) { if (GameType[key] === value) { return true; } } } return false; } function GameTypeFromJSON(json) { return GameTypeFromJSONTyped(json, false); } function GameTypeFromJSONTyped(json, ignoreDiscriminator) { return json; } function GameTypeToJSON(value) { return value; } function GameTypeToJSONTyped(value, ignoreDiscriminator) { return value; } // src/models/Game.ts function instanceOfGame(value) { if (!("gamePk" in value) || value["gamePk"] === void 0) return false; if (!("gameGuid" in value) || value["gameGuid"] === void 0) return false; if (!("gameType" in value) || value["gameType"] === void 0) return false; if (!("season" in value) || value["season"] === void 0) return false; if (!("gameDate" in value) || value["gameDate"] === void 0) return false; if (!("officialDate" in value) || value["officialDate"] === void 0) return false; if (!("status" in value) || value["status"] === void 0) return false; if (!("teams" in value) || value["teams"] === void 0) return false; if (!("gameNumber" in value) || value["gameNumber"] === void 0) return false; if (!("gamesInSeries" in value) || value["gamesInSeries"] === void 0) return false; if (!("seriesGameNumber" in value) || value["seriesGameNumber"] === void 0) return false; return true; } function GameFromJSON(json) { return GameFromJSONTyped(json, false); } function GameFromJSONTyped(json, ignoreDiscriminator) { if (json == null) { return json; } return { "gamePk": json["gamePk"], "gameGuid": json["gameGuid"], "link": json["link"] == null ? void 0 : json["link"], "gameType": GameTypeFromJSON(json["gameType"]), "season": json["season"], "gameDate": json["gameDate"], "officialDate": json["officialDate"], "rescheduledTo": json["rescheduledTo"] == null ? void 0 : json["rescheduledTo"], "rescheduledToDate": json["rescheduledToDate"] == null ? void 0 : json["rescheduledToDate"], "rescheduledFrom": json["rescheduledFrom"] == null ? void 0 : json["rescheduledFrom"], "rescheduledFromDate": json["rescheduledFromDate"] == null ? void 0 : json["rescheduledFromDate"], "status": GameStatusFromJSON(json["status"]), "teams": GameTeamsFromJSON(json["teams"]), "venue": json["venue"] == null ? void 0 : VenueFromJSON(json["venue"]), "isTie": json["isTie"] == null ? void 0 : json["isTie"], "gameNumber": json["gameNumber"], "publicFacing": json["publicFacing"] == null ? void 0 : json["publicFacing"], "doubleHeader": json["doubleHeader"] == null ? void 0 : json["doubleHeader"], "gamedayType": json["gamedayType"] == null ? void 0 : json["gamedayType"], "tiebreaker": json["tiebreaker"] == null ? void 0 : json["tiebreaker"], "calendarEventID": json["calendarEventID"] == null ? void 0 : json["calendarEventID"], "seasonDisplay": json["seasonDisplay"] == null ? void 0 : json["seasonDisplay"], "dayNight": json["dayNight"] == null ? void 0 : json["dayNight"], "description": json["description"] == null ? void 0 : json["description"], "scheduledInnings": json["scheduledInnings"] == null ? void 0 : json["scheduledInnings"], "reverseHomeAwayStatus": json["reverseHomeAwayStatus"] == null ? void 0 : json["reverseHomeAwayStatus"], "inningBreakLength": json["inningBreakLength"] == null ? void 0 : json["inningBreakLength"], "gamesInSeries": json["gamesInSeries"], "seriesGameNumber": json["seriesGameNumber"], "seriesDescription": json["seriesDescription"] == null ? void 0 : json["seriesDescription"], "recordSource": json["recordSource"] == null ? void 0 : json["recordSource"], "ifNecessary": json["ifNecessary"] == null ? void 0 : json["ifNecessary"], "ifNecessaryDescription": json["ifNecessaryDescription"] == null ? void 0 : json["ifNecessaryDescription"] }; } function GameToJSON(json) { return GameToJSONTyped(json, false); } function GameToJSONTyped(value, ignoreDiscriminator = false) { if (value == null) { return value; } return { "gamePk": value["gamePk"], "gameGuid": value["gameGuid"], "link": value["link"], "gameType": GameTypeToJSON(value["gameType"]), "season": value["season"], "gameDate": value["gameDate"], "officialDate": value["officialDate"], "rescheduledTo": value["rescheduledTo"], "rescheduledToDate": value["rescheduledToDate"], "rescheduledFrom": value["rescheduledFrom"], "rescheduledFromDate": value["rescheduledFromDate"], "status": GameStatusToJSON(value["status"]), "teams": GameTeamsToJSON(value["teams"]), "venue": VenueToJSON(value["venue"]), "isTie": value["isTie"], "gameNumber": value["gameNumber"], "publicFacing": value["publicFacing"], "doubleHeader": value["doubleHeader"], "gamedayType": value["gamedayType"], "tiebreaker": value["tiebreaker"], "calendarEventID": value["calendarEventID"], "seasonDisplay": value["seasonDisplay"], "dayNight": value["dayNight"], "description": value["description"], "scheduledInnings": value["scheduledInnings"], "reverseHomeAwayStatus": value["reverseHomeAwayStatus"], "inningBreakLength": value["inningBreakLength"], "gamesInSeries": value["gamesInSeries"], "seriesGameNumber": value["seriesGameNumber"], "seriesDescription": value["seriesDescription"], "recordSource": value["recordSource"], "ifNecessary": value["ifNecessary"], "ifNecessaryDescription": value["ifNecessaryDescription"] }; } // src/models/LinescoreTeam.ts function instanceOfLinescoreTeam(value) { return true; } function LinescoreTeamFromJSON(json) { return LinescoreTeamFromJSONTyped(json, false); } function LinescoreTeamFromJSONTyped(json, ignoreDiscriminator) { if (json == null) { return json; } return { "runs": json["runs"] == null ? void 0 : json["runs"], "hits": json["hits"] == null ? void 0 : json["hits"], "errors": json["errors"] == null ? void 0 : json["errors"], "leftOnBase": json["leftOnBase"] == null ? void 0 : json["leftOnBase"] }; } function LinescoreTeamToJSON(json) { return LinescoreTeamToJSONTyped(json, false); } function LinescoreTeamToJSONTyped(value, ignoreDiscriminator = false) { if (value == null) { return value; } return { "runs": value["runs"], "hits": value["hits"], "errors": value["errors"], "leftOnBase": value["leftOnBase"] }; } // src/models/Inning.ts function instanceOfInning(value) { return true; } function InningFromJSON(json) { return InningFromJSONTyped(json, false); } function InningFromJSONTyped(json, ignoreDiscriminator) { if (json == null) { return json; } return { "num": json["num"] == null ? void 0 : json["num"], "ordinalNum": json["ordinalNum"] == null ? void 0 : json["ordinalNum"], "home": json["home"] == null ? void 0 : LinescoreTeamFromJSON(json["home"]), "away": json["away"] == null ? void 0 : LinescoreTeamFromJSON(json["away"]) }; } function InningToJSON(json) { return InningToJSONTyped(json, false); } function InningToJSONTyped(value, ignoreDiscriminator = false) { if (value == null) { return value; } return { "num": value["num"], "ordinalNum": value["ordinalNum"], "home": LinescoreTeamToJSON(value["home"]), "away": LinescoreTeamToJSON(value["away"]) }; } // src/models/LinescoreTeams.ts function instanceOfLinescoreTeams(value) { return true; } function LinescoreTeamsFromJSON(json) { return LinescoreTeamsFromJSONTyped(json, false); } function LinescoreTeamsFromJSONTyped(json, ignoreDiscriminator) { if (json == null) { return json; } return { "away": json["away"] == null ? void 0 : LinescoreTeamFromJSON(json["away"]), "home": json["home"] == null ? void 0 : LinescoreTeamFromJSON(json["home"]) }; } function LinescoreTeamsToJSON(json) { return LinescoreTeamsToJSONTyped(json, false); } function LinescoreTeamsToJSONTyped(value, ignoreDiscriminator = false) { if (value == null) { return value; } return { "away": LinescoreTeamToJSON(value["away"]), "home": LinescoreTeamToJSON(value["home"]) }; } // src/models/Linescore.ts function instanceOfLinescore(value) { return true; } function LinescoreFromJSON(json) { return LinescoreFromJSONTyped(json, false); } function LinescoreFromJSONTyped(json, ignoreDiscriminator) { if (json == null) { return json; } return { "currentInning": json["currentInning"] == null ? void 0 : json["currentInning"], "currentInningOrdinal": json["currentInningOrdinal"] == null ? void 0 : json["currentInningOrdinal"], "inningState": json["inningState"] == null ? void 0 : json["inningState"], "inningHalf": json["inningHalf"] == null ? void 0 : json["inningHalf"], "isTopInning": json["isTopInning"] == null ? void 0 : json["isTopInning"], "scheduledInnings": json["scheduledInnings"] == null ? void 0 : json["scheduledInnings"], "innings": json["innings"] == null ? void 0 : json["innings"].map(InningFromJSON), "teams": json["teams"] == null ? void 0 : LinescoreTeamsFromJSON(json["teams"]), "balls": json["balls"] == null ? void 0 : json["balls"], "strikes": json["strikes"] == null ? void 0 : json["strikes"], "outs": json["outs"] == null ? void 0 : json["outs"] }; } function LinescoreToJSON(json) { return LinescoreToJSONTyped(json, false); } function LinescoreToJSONTyped(value, ignoreDiscriminator = false) { if (value == null) { return value; } return { "currentInning": value["currentInning"], "currentInningOrdinal": value["currentInningOrdinal"], "inningState": value["inningState"], "inningHalf": value["inningHalf"], "isTopInning": value["isTopInning"], "scheduledInnings": value["scheduledInnings"], "innings": value["innings"] == null ? void 0 : value["innings"].map(InningToJSON), "teams": LinescoreTeamsToJSON(value["teams"]), "balls": value["balls"], "strikes": value["strikes"], "outs": value["outs"] }; } // src/models/ScheduleDay.ts function instanceOfScheduleDay(value) { if (!("games" in value) || value["games"] === void 0) return false; return true; } function ScheduleDayFromJSON(json) { return ScheduleDayFromJSONTyped(json, false); } function ScheduleDayFromJSONTyped(json, ignoreDiscriminator) { if (json == null) { return json; } return { "date": json["date"] == null ? void 0 : json["date"], "totalItems": json["totalItems"] == null ? void 0 : json["totalItems"], "totalEvents": json["totalEvents"] == null ? void 0 : json["totalEvents"], "totalGames": json["totalGames"] == null ? void 0 : json["totalGames"], "totalGamesInProgress": json["totalGamesInProgress"] == null ? void 0 : json["totalGamesInProgress"], "games": json["gam