UNPKG

@space-cow-media/spellbook-client

Version:

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

147 lines (135 loc) 5.79 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.8.19 * * * 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 { ZoneLocationsEnum } from './zoneLocationsEnum'; import { ZoneLocationsEnumFromJSON, ZoneLocationsEnumFromJSONTyped, ZoneLocationsEnumToJSON, ZoneLocationsEnumToJSONTyped, } from './zoneLocationsEnum'; /** * * @export * @interface TemplateRequiredInVariantSuggestionRequest */ export interface TemplateRequiredInVariantSuggestionRequest { /** * Template name * @type {string} * @memberof TemplateRequiredInVariantSuggestionRequest */ template: string; /** * Quantity of the card in the combo. * @type {number} * @memberof TemplateRequiredInVariantSuggestionRequest */ quantity?: number; /** * Variables supported: mv, manavalue, power, pow, toughness, tou, pt, powtou, loyalty, loy, c, color, id, identity, produces, has, t, type, keyword, kw, is, o, oracle, function, otag, oracletag, oracleid, m, mana, devotion. * Operators supported: =, !=, <, >, <=, >=, :. * You can compose a "and"/"or" expression made of "and"/"or" expressions, like "(c:W or c:U) and (t:creature or t:artifact)". * You can also omit parentheses when not necessary, like "(c:W or c:U) t:creature". * Card names are only supported if wrapped in double quotes and preceded by an exclamation mark (!) in order to match the exact name, like !"Lightning Bolt". * You can negate any expression by prepending a dash (-), like "-t:creature". * More info at: https://scryfall.com/docs/syntax. * * @type {string} * @memberof TemplateRequiredInVariantSuggestionRequest */ scryfallQuery?: string | null; /** * * @type {Array<ZoneLocationsEnum>} * @memberof TemplateRequiredInVariantSuggestionRequest */ zoneLocations: Array<ZoneLocationsEnum>; /** * State of the card on the battlefield, if present. * @type {string} * @memberof TemplateRequiredInVariantSuggestionRequest */ battlefieldCardState?: string; /** * State of the card in exile, if present. * @type {string} * @memberof TemplateRequiredInVariantSuggestionRequest */ exileCardState?: string; /** * State of the card in the library, if present. * @type {string} * @memberof TemplateRequiredInVariantSuggestionRequest */ libraryCardState?: string; /** * State of the card in the graveyard, if present. * @type {string} * @memberof TemplateRequiredInVariantSuggestionRequest */ graveyardCardState?: string; /** * Does the card have to be a commander? * @type {boolean} * @memberof TemplateRequiredInVariantSuggestionRequest */ mustBeCommander?: boolean; } /** * Check if a given object implements the TemplateRequiredInVariantSuggestionRequest interface. */ export function instanceOfTemplateRequiredInVariantSuggestionRequest(value: object): value is TemplateRequiredInVariantSuggestionRequest { if (!('template' in value) || value['template'] === undefined) return false; if (!('zoneLocations' in value) || value['zoneLocations'] === undefined) return false; return true; } export function TemplateRequiredInVariantSuggestionRequestFromJSON(json: any): TemplateRequiredInVariantSuggestionRequest { return TemplateRequiredInVariantSuggestionRequestFromJSONTyped(json, false); } export function TemplateRequiredInVariantSuggestionRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): TemplateRequiredInVariantSuggestionRequest { if (json == null) { return json; } return { 'template': json['template'], 'quantity': json['quantity'] == null ? undefined : json['quantity'], 'scryfallQuery': json['scryfallQuery'] == null ? undefined : json['scryfallQuery'], 'zoneLocations': ((json['zoneLocations'] as Array<any>).map(ZoneLocationsEnumFromJSON)), 'battlefieldCardState': json['battlefieldCardState'] == null ? undefined : json['battlefieldCardState'], 'exileCardState': json['exileCardState'] == null ? undefined : json['exileCardState'], 'libraryCardState': json['libraryCardState'] == null ? undefined : json['libraryCardState'], 'graveyardCardState': json['graveyardCardState'] == null ? undefined : json['graveyardCardState'], 'mustBeCommander': json['mustBeCommander'] == null ? undefined : json['mustBeCommander'], }; } export function TemplateRequiredInVariantSuggestionRequestToJSON(json: any): TemplateRequiredInVariantSuggestionRequest { return TemplateRequiredInVariantSuggestionRequestToJSONTyped(json, false); } export function TemplateRequiredInVariantSuggestionRequestToJSONTyped(value?: TemplateRequiredInVariantSuggestionRequest | null, ignoreDiscriminator: boolean = false): any { if (value == null) { return value; } return { 'template': value['template'], 'quantity': value['quantity'], 'scryfallQuery': value['scryfallQuery'], 'zoneLocations': ((value['zoneLocations'] as Array<any>).map(ZoneLocationsEnumToJSON)), 'battlefieldCardState': value['battlefieldCardState'], 'exileCardState': value['exileCardState'], 'libraryCardState': value['libraryCardState'], 'graveyardCardState': value['graveyardCardState'], 'mustBeCommander': value['mustBeCommander'], }; }