UNPKG

@space-cow-media/spellbook-client

Version:

An Open Api generated client for the Commander Spellbook backend REST API.

264 lines (250 loc) 7.7 kB
/* tslint:disable */ /* eslint-disable */ /** * Commander Spellbook API * API for Commander Spellbook, the combo database engine for Magic: The Gathering * * The version of the OpenAPI document: 4.2.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import { mapValues } from '../runtime'; import type { FeatureOfCard } from './featureOfCard'; import { FeatureOfCardFromJSON, FeatureOfCardFromJSONTyped, FeatureOfCardToJSON, FeatureOfCardToJSONTyped, } from './featureOfCard'; import type { CardLegalities } from './cardLegalities'; import { CardLegalitiesFromJSON, CardLegalitiesFromJSONTyped, CardLegalitiesToJSON, CardLegalitiesToJSONTyped, } from './cardLegalities'; import type { CardPrices } from './cardPrices'; import { CardPricesFromJSON, CardPricesFromJSONTyped, CardPricesToJSON, CardPricesToJSONTyped, } from './cardPrices'; import type { IdentityEnum } from './identityEnum'; import { IdentityEnumFromJSON, IdentityEnumFromJSONTyped, IdentityEnumToJSON, IdentityEnumToJSONTyped, } from './identityEnum'; /** * * @export * @interface CardDetail */ export interface CardDetail { /** * * @type {number} * @memberof CardDetail */ readonly id: number; /** * * @type {string} * @memberof CardDetail */ name: string; /** * * @type {string} * @memberof CardDetail */ oracleId: string | null; /** * * @type {IdentityEnum} * @memberof CardDetail */ identity: IdentityEnum; /** * * @type {number} * @memberof CardDetail */ readonly variantCount: number; /** * Is this from an upcoming set? * @type {boolean} * @memberof CardDetail */ spoiler: boolean; /** * * @type {string} * @memberof CardDetail */ typeLine: string; /** * * @type {string} * @memberof CardDetail */ oracleText: string; /** * * @type {any} * @memberof CardDetail */ keywords: any | null; /** * * @type {number} * @memberof CardDetail */ manaValue: number; /** * Whether this card is part of the Reserved List * @type {boolean} * @memberof CardDetail */ reserved: boolean; /** * Set code of latest printing of card * @type {string} * @memberof CardDetail */ latestPrintingSet: string; /** * Whether this card has been reprinted * @type {boolean} * @memberof CardDetail */ reprinted: boolean; /** * Whether this card is in the official Game Changer card list * @type {boolean} * @memberof CardDetail */ gameChanger: boolean; /** * Whether this card can tutor for other cards * @type {boolean} * @memberof CardDetail */ tutor: boolean; /** * Whether this card can inhibit or destroy numerous lands * @type {boolean} * @memberof CardDetail */ massLandDenial: boolean; /** * Whether this card grants an extra turn * @type {boolean} * @memberof CardDetail */ extraTurn: boolean; /** * * @type {Array<FeatureOfCard>} * @memberof CardDetail */ readonly features: Array<FeatureOfCard>; /** * * @type {CardLegalities} * @memberof CardDetail */ readonly legalities: CardLegalities; /** * * @type {CardPrices} * @memberof CardDetail */ readonly prices: CardPrices; } /** * Check if a given object implements the CardDetail interface. */ export function instanceOfCardDetail(value: object): value is CardDetail { if (!('id' in value) || value['id'] === undefined) return false; if (!('name' in value) || value['name'] === undefined) return false; if (!('oracleId' in value) || value['oracleId'] === undefined) return false; if (!('identity' in value) || value['identity'] === undefined) return false; if (!('variantCount' in value) || value['variantCount'] === undefined) return false; if (!('spoiler' in value) || value['spoiler'] === undefined) return false; if (!('typeLine' in value) || value['typeLine'] === undefined) return false; if (!('oracleText' in value) || value['oracleText'] === undefined) return false; if (!('keywords' in value) || value['keywords'] === undefined) return false; if (!('manaValue' in value) || value['manaValue'] === undefined) return false; if (!('reserved' in value) || value['reserved'] === undefined) return false; if (!('latestPrintingSet' in value) || value['latestPrintingSet'] === undefined) return false; if (!('reprinted' in value) || value['reprinted'] === undefined) return false; if (!('gameChanger' in value) || value['gameChanger'] === undefined) return false; if (!('tutor' in value) || value['tutor'] === undefined) return false; if (!('massLandDenial' in value) || value['massLandDenial'] === undefined) return false; if (!('extraTurn' in value) || value['extraTurn'] === undefined) return false; if (!('features' in value) || value['features'] === undefined) return false; if (!('legalities' in value) || value['legalities'] === undefined) return false; if (!('prices' in value) || value['prices'] === undefined) return false; return true; } export function CardDetailFromJSON(json: any): CardDetail { return CardDetailFromJSONTyped(json, false); } export function CardDetailFromJSONTyped(json: any, ignoreDiscriminator: boolean): CardDetail { if (json == null) { return json; } return { 'id': json['id'], 'name': json['name'], 'oracleId': json['oracleId'], 'identity': IdentityEnumFromJSON(json['identity']), 'variantCount': json['variantCount'], 'spoiler': json['spoiler'], 'typeLine': json['typeLine'], 'oracleText': json['oracleText'], 'keywords': json['keywords'], 'manaValue': json['manaValue'], 'reserved': json['reserved'], 'latestPrintingSet': json['latestPrintingSet'], 'reprinted': json['reprinted'], 'gameChanger': json['gameChanger'], 'tutor': json['tutor'], 'massLandDenial': json['massLandDenial'], 'extraTurn': json['extraTurn'], 'features': ((json['features'] as Array<any>).map(FeatureOfCardFromJSON)), 'legalities': CardLegalitiesFromJSON(json['legalities']), 'prices': CardPricesFromJSON(json['prices']), }; } export function CardDetailToJSON(json: any): CardDetail { return CardDetailToJSONTyped(json, false); } export function CardDetailToJSONTyped(value?: Omit<CardDetail, 'id'|'variantCount'|'features'|'legalities'|'prices'> | null, ignoreDiscriminator: boolean = false): any { if (value == null) { return value; } return { 'name': value['name'], 'oracleId': value['oracleId'], 'identity': IdentityEnumToJSON(value['identity']), 'spoiler': value['spoiler'], 'typeLine': value['typeLine'], 'oracleText': value['oracleText'], 'keywords': value['keywords'], 'manaValue': value['manaValue'], 'reserved': value['reserved'], 'latestPrintingSet': value['latestPrintingSet'], 'reprinted': value['reprinted'], 'gameChanger': value['gameChanger'], 'tutor': value['tutor'], 'massLandDenial': value['massLandDenial'], 'extraTurn': value['extraTurn'], }; }