UNPKG

@space-cow-media/spellbook-client

Version:

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

297 lines (283 loc) 8.96 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 { FeatureProducedByVariant } from './featureProducedByVariant'; import { FeatureProducedByVariantFromJSON, FeatureProducedByVariantFromJSONTyped, FeatureProducedByVariantToJSON, FeatureProducedByVariantToJSONTyped, } from './featureProducedByVariant'; import type { VariantLegalities } from './variantLegalities'; import { VariantLegalitiesFromJSON, VariantLegalitiesFromJSONTyped, VariantLegalitiesToJSON, VariantLegalitiesToJSONTyped, } from './variantLegalities'; import type { BracketTagEnum } from './bracketTagEnum'; import { BracketTagEnumFromJSON, BracketTagEnumFromJSONTyped, BracketTagEnumToJSON, BracketTagEnumToJSONTyped, } from './bracketTagEnum'; import type { VariantPrices } from './variantPrices'; import { VariantPricesFromJSON, VariantPricesFromJSONTyped, VariantPricesToJSON, VariantPricesToJSONTyped, } from './variantPrices'; import type { VariantStatusEnum } from './variantStatusEnum'; import { VariantStatusEnumFromJSON, VariantStatusEnumFromJSONTyped, VariantStatusEnumToJSON, VariantStatusEnumToJSONTyped, } from './variantStatusEnum'; import type { Combo } from './combo'; import { ComboFromJSON, ComboFromJSONTyped, ComboToJSON, ComboToJSONTyped, } from './combo'; import type { CardInVariant } from './cardInVariant'; import { CardInVariantFromJSON, CardInVariantFromJSONTyped, CardInVariantToJSON, CardInVariantToJSONTyped, } from './cardInVariant'; import type { IdentityEnum } from './identityEnum'; import { IdentityEnumFromJSON, IdentityEnumFromJSONTyped, IdentityEnumToJSON, IdentityEnumToJSONTyped, } from './identityEnum'; import type { TemplateInVariant } from './templateInVariant'; import { TemplateInVariantFromJSON, TemplateInVariantFromJSONTyped, TemplateInVariantToJSON, TemplateInVariantToJSONTyped, } from './templateInVariant'; /** * * @export * @interface Variant */ export interface Variant { /** * Unique ID for this variant * @type {string} * @memberof Variant */ id: string; /** * Variant status for editors * * * `N` - New * * `D` - Draft * * `NR` - Needs Review * * `OK` - Ok * * `E` - Example * * `R` - Restore * * `NW` - Not Working * @type {VariantStatusEnum} * @memberof Variant */ status: VariantStatusEnum; /** * * @type {Array<CardInVariant>} * @memberof Variant */ readonly uses: Array<CardInVariant>; /** * * @type {Array<TemplateInVariant>} * @memberof Variant */ readonly requires: Array<TemplateInVariant>; /** * * @type {Array<FeatureProducedByVariant>} * @memberof Variant */ readonly produces: Array<FeatureProducedByVariant>; /** * * @type {Array<Combo>} * @memberof Variant */ readonly of: Array<Combo>; /** * * @type {Array<Combo>} * @memberof Variant */ readonly includes: Array<Combo>; /** * * @type {IdentityEnum} * @memberof Variant */ identity: IdentityEnum; /** * * @type {string} * @memberof Variant */ readonly manaNeeded: string; /** * * @type {number} * @memberof Variant */ readonly manaValueNeeded: number; /** * * @type {string} * @memberof Variant */ readonly easyPrerequisites: string; /** * * @type {string} * @memberof Variant */ readonly notablePrerequisites: string; /** * * @type {string} * @memberof Variant */ readonly description: string; /** * * @type {string} * @memberof Variant */ readonly notes: string; /** * * @type {number} * @memberof Variant */ readonly popularity: number | null; /** * Is this from an upcoming set? * @type {boolean} * @memberof Variant */ spoiler: boolean; /** * * @type {BracketTagEnum} * @memberof Variant */ bracketTag: BracketTagEnum; /** * * @type {VariantLegalities} * @memberof Variant */ readonly legalities: VariantLegalities; /** * * @type {VariantPrices} * @memberof Variant */ readonly prices: VariantPrices; /** * Number of variants generated by the same generator combos * @type {number} * @memberof Variant */ readonly variantCount: number; } /** * Check if a given object implements the Variant interface. */ export function instanceOfVariant(value: object): value is Variant { if (!('id' in value) || value['id'] === undefined) return false; if (!('status' in value) || value['status'] === undefined) return false; if (!('uses' in value) || value['uses'] === undefined) return false; if (!('requires' in value) || value['requires'] === undefined) return false; if (!('produces' in value) || value['produces'] === undefined) return false; if (!('of' in value) || value['of'] === undefined) return false; if (!('includes' in value) || value['includes'] === undefined) return false; if (!('identity' in value) || value['identity'] === undefined) return false; if (!('manaNeeded' in value) || value['manaNeeded'] === undefined) return false; if (!('manaValueNeeded' in value) || value['manaValueNeeded'] === undefined) return false; if (!('easyPrerequisites' in value) || value['easyPrerequisites'] === undefined) return false; if (!('notablePrerequisites' in value) || value['notablePrerequisites'] === undefined) return false; if (!('description' in value) || value['description'] === undefined) return false; if (!('notes' in value) || value['notes'] === undefined) return false; if (!('popularity' in value) || value['popularity'] === undefined) return false; if (!('spoiler' in value) || value['spoiler'] === undefined) return false; if (!('bracketTag' in value) || value['bracketTag'] === undefined) return false; if (!('legalities' in value) || value['legalities'] === undefined) return false; if (!('prices' in value) || value['prices'] === undefined) return false; if (!('variantCount' in value) || value['variantCount'] === undefined) return false; return true; } export function VariantFromJSON(json: any): Variant { return VariantFromJSONTyped(json, false); } export function VariantFromJSONTyped(json: any, ignoreDiscriminator: boolean): Variant { if (json == null) { return json; } return { 'id': json['id'], 'status': VariantStatusEnumFromJSON(json['status']), 'uses': ((json['uses'] as Array<any>).map(CardInVariantFromJSON)), 'requires': ((json['requires'] as Array<any>).map(TemplateInVariantFromJSON)), 'produces': ((json['produces'] as Array<any>).map(FeatureProducedByVariantFromJSON)), 'of': ((json['of'] as Array<any>).map(ComboFromJSON)), 'includes': ((json['includes'] as Array<any>).map(ComboFromJSON)), 'identity': IdentityEnumFromJSON(json['identity']), 'manaNeeded': json['manaNeeded'], 'manaValueNeeded': json['manaValueNeeded'], 'easyPrerequisites': json['easyPrerequisites'], 'notablePrerequisites': json['notablePrerequisites'], 'description': json['description'], 'notes': json['notes'], 'popularity': json['popularity'], 'spoiler': json['spoiler'], 'bracketTag': BracketTagEnumFromJSON(json['bracketTag']), 'legalities': VariantLegalitiesFromJSON(json['legalities']), 'prices': VariantPricesFromJSON(json['prices']), 'variantCount': json['variantCount'], }; } export function VariantToJSON(json: any): Variant { return VariantToJSONTyped(json, false); } export function VariantToJSONTyped(value?: Omit<Variant, 'uses'|'requires'|'produces'|'of'|'includes'|'manaNeeded'|'manaValueNeeded'|'easyPrerequisites'|'notablePrerequisites'|'description'|'notes'|'popularity'|'legalities'|'prices'|'variantCount'> | null, ignoreDiscriminator: boolean = false): any { if (value == null) { return value; } return { 'id': value['id'], 'status': VariantStatusEnumToJSON(value['status']), 'identity': IdentityEnumToJSON(value['identity']), 'spoiler': value['spoiler'], 'bracketTag': BracketTagEnumToJSON(value['bracketTag']), }; }