@space-cow-media/spellbook-client
Version:
An Open Api generated client for the Commander Spellbook backend REST API.
164 lines (152 loc) • 6.17 kB
text/typescript
/* 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 { CardUsedInVariantSuggestionRequest } from './cardUsedInVariantSuggestionRequest';
import {
CardUsedInVariantSuggestionRequestFromJSON,
CardUsedInVariantSuggestionRequestFromJSONTyped,
CardUsedInVariantSuggestionRequestToJSON,
CardUsedInVariantSuggestionRequestToJSONTyped,
} from './cardUsedInVariantSuggestionRequest';
import type { FeatureProducedInVariantSuggestionRequest } from './featureProducedInVariantSuggestionRequest';
import {
FeatureProducedInVariantSuggestionRequestFromJSON,
FeatureProducedInVariantSuggestionRequestFromJSONTyped,
FeatureProducedInVariantSuggestionRequestToJSON,
FeatureProducedInVariantSuggestionRequestToJSONTyped,
} from './featureProducedInVariantSuggestionRequest';
import type { TemplateRequiredInVariantSuggestionRequest } from './templateRequiredInVariantSuggestionRequest';
import {
TemplateRequiredInVariantSuggestionRequestFromJSON,
TemplateRequiredInVariantSuggestionRequestFromJSONTyped,
TemplateRequiredInVariantSuggestionRequestToJSON,
TemplateRequiredInVariantSuggestionRequestToJSONTyped,
} from './templateRequiredInVariantSuggestionRequest';
/**
*
* @export
* @interface VariantSuggestionRequest
*/
export interface VariantSuggestionRequest {
/**
*
* @type {Array<CardUsedInVariantSuggestionRequest>}
* @memberof VariantSuggestionRequest
*/
uses: Array<CardUsedInVariantSuggestionRequest>;
/**
*
* @type {Array<TemplateRequiredInVariantSuggestionRequest>}
* @memberof VariantSuggestionRequest
*/
requires: Array<TemplateRequiredInVariantSuggestionRequest>;
/**
*
* @type {Array<FeatureProducedInVariantSuggestionRequest>}
* @memberof VariantSuggestionRequest
*/
produces: Array<FeatureProducedInVariantSuggestionRequest>;
/**
* If this suggestion is a variant of an existing one, link it here.
* @type {string}
* @memberof VariantSuggestionRequest
*/
variantOf?: string | null;
/**
* Mana needed for this combo. Use the {1}{W}{U}{B}{R}{G}{B/P}... format.
* @type {string}
* @memberof VariantSuggestionRequest
*/
manaNeeded?: string;
/**
* Easily achievable prerequisites for this combo.
* @type {string}
* @memberof VariantSuggestionRequest
*/
easyPrerequisites?: string;
/**
* Notable prerequisites for this combo.
* @type {string}
* @memberof VariantSuggestionRequest
*/
notablePrerequisites?: string;
/**
* Long description, in steps
* @type {string}
* @memberof VariantSuggestionRequest
*/
description: string;
/**
* Is this combo a spoiler?
* @type {boolean}
* @memberof VariantSuggestionRequest
*/
spoiler?: boolean;
/**
* Comment written by the user that suggested this
* @type {string}
* @memberof VariantSuggestionRequest
*/
comment?: string;
}
/**
* Check if a given object implements the VariantSuggestionRequest interface.
*/
export function instanceOfVariantSuggestionRequest(value: object): value is VariantSuggestionRequest {
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 (!('description' in value) || value['description'] === undefined) return false;
return true;
}
export function VariantSuggestionRequestFromJSON(json: any): VariantSuggestionRequest {
return VariantSuggestionRequestFromJSONTyped(json, false);
}
export function VariantSuggestionRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): VariantSuggestionRequest {
if (json == null) {
return json;
}
return {
'uses': ((json['uses'] as Array<any>).map(CardUsedInVariantSuggestionRequestFromJSON)),
'requires': ((json['requires'] as Array<any>).map(TemplateRequiredInVariantSuggestionRequestFromJSON)),
'produces': ((json['produces'] as Array<any>).map(FeatureProducedInVariantSuggestionRequestFromJSON)),
'variantOf': json['variantOf'] == null ? undefined : json['variantOf'],
'manaNeeded': json['manaNeeded'] == null ? undefined : json['manaNeeded'],
'easyPrerequisites': json['easyPrerequisites'] == null ? undefined : json['easyPrerequisites'],
'notablePrerequisites': json['notablePrerequisites'] == null ? undefined : json['notablePrerequisites'],
'description': json['description'],
'spoiler': json['spoiler'] == null ? undefined : json['spoiler'],
'comment': json['comment'] == null ? undefined : json['comment'],
};
}
export function VariantSuggestionRequestToJSON(json: any): VariantSuggestionRequest {
return VariantSuggestionRequestToJSONTyped(json, false);
}
export function VariantSuggestionRequestToJSONTyped(value?: VariantSuggestionRequest | null, ignoreDiscriminator: boolean = false): any {
if (value == null) {
return value;
}
return {
'uses': ((value['uses'] as Array<any>).map(CardUsedInVariantSuggestionRequestToJSON)),
'requires': ((value['requires'] as Array<any>).map(TemplateRequiredInVariantSuggestionRequestToJSON)),
'produces': ((value['produces'] as Array<any>).map(FeatureProducedInVariantSuggestionRequestToJSON)),
'variantOf': value['variantOf'],
'manaNeeded': value['manaNeeded'],
'easyPrerequisites': value['easyPrerequisites'],
'notablePrerequisites': value['notablePrerequisites'],
'description': value['description'],
'spoiler': value['spoiler'],
'comment': value['comment'],
};
}