@my-swu/simulator-client / CardsResource
Interface: CardsResource
Defined in: packages/ts-sdk/src/resources/card-resource.ts:37
Card metadata and deck import API methods.
Use this resource to fetch display metadata for card ids, discover simulator behavior support, and convert my-swu JSON deck exports before creating a match.
Example:
import { createSimulatorClient } from '@my-swu/simulator-client'
// Point this at the simulator HTTP origin for /health and /api routes.
const simulatorClient = createSimulatorClient({
baseUrl: 'http://127.0.0.1:4000',
})
// Resolve card ids from the simulator cache.
const requestedCardMetadata = await simulatorClient.cards.get([
46102, // Leia Organa - Someone Who Loves You
308, // Echo Base
])
// Set/card-number lookups return card ids.
const krennicCardId = await simulatorClient.cards.resolveId({
setCode: 'SOR',
cardNumber: 1,
cardTypes: [
'leader',
],
})
// my-swu JSON deck ids use SET_001 form.
const importedDeck = await simulatorClient.cards.convertDeckJson({
metadata: { name: 'Import Test', author: 'tester' },
leader: { id: 'SOR_001', count: 1 },
base: { id: 'SOR_025', count: 1 },
deck: [{ id: 'SOR_010', count: 3 }],
sideboard: [{ id: 'SOR_047', count: 2 }],
})
const coveredCards = await simulatorClient.cards.covered()
console.log(
requestedCardMetadata.length,
krennicCardId,
importedDeck.cards.length,
coveredCards.length,
)Example
import { createSimulatorClient } from '@my-swu/simulator-client'
const simulatorClient = createSimulatorClient({
baseUrl: 'http://127.0.0.1:4000',
})
const requestedCardMetadata = await simulatorClient.cards.get([46102, 308])
console.log(requestedCardMetadata.map(card => card.title))See
Methods
convertDeckJson()
Example:
import { createSimulatorClient } from '@my-swu/simulator-client'
// Point this at the simulator HTTP origin for /health and /api routes.
const simulatorClient = createSimulatorClient({
baseUrl: 'http://127.0.0.1:4000',
})
// my-swu JSON deck ids use SET_001 form.
const importedDeck = await simulatorClient.cards.convertDeckJson({
metadata: { name: 'Import Test', author: 'tester' },
leader: { id: 'SOR_001', count: 1 },
base: { id: 'SOR_025', count: 1 },
deck: [{ id: 'SOR_010', count: 3 }],
sideboard: [{ id: 'SOR_047', count: 2 }],
})convertDeckJson(
deckJson):Promise<DeckInput1>
Defined in: packages/ts-sdk/src/resources/card-resource.ts:99
Converts a my-swu JSON deck export into simulator deck input.
Parameters
deckJson
string | DeckJson
Returns
Promise<DeckInput1>
Example
import { createSimulatorClient } from '@my-swu/simulator-client'
const simulatorClient = createSimulatorClient({
baseUrl: 'http://127.0.0.1:4000',
})
const importedDeck = await simulatorClient.cards.convertDeckJson({
leader: { id: 'SOR_001', count: 1 },
base: { id: 'SOR_025', count: 1 },
deck: [{ id: 'SOR_010', count: 3 }],
})
console.log(importedDeck.cards.length)See
https://simulator-sdk.my-swu.com/guide/card-ids#json-deck-imports
covered()
Example:
import { createSimulatorClient } from '@my-swu/simulator-client'
// Point this at the simulator HTTP origin for /health and /api routes.
const simulatorClient = createSimulatorClient({
baseUrl: 'http://127.0.0.1:4000',
})
// Coverage lists cards with simulator behavior support.
const coveredCards = await simulatorClient.cards.covered()covered():
Promise<CoveredCardView[]>
Defined in: packages/ts-sdk/src/resources/card-resource.ts:76
Lists cards with dedicated simulator behavior support.
Returns
Promise<CoveredCardView[]>
Example
import { createSimulatorClient } from '@my-swu/simulator-client'
const simulatorClient = createSimulatorClient({
baseUrl: 'http://127.0.0.1:4000',
})
const coveredCards = await simulatorClient.cards.covered()
console.log(coveredCards.length)See
https://simulator-sdk.my-swu.com/guide/client-api
get()
Example:
import { createSimulatorClient } from '@my-swu/simulator-client'
// Point this at the simulator HTTP origin for /health and /api routes.
const simulatorClient = createSimulatorClient({
baseUrl: 'http://127.0.0.1:4000',
})
// Resolve card ids from the simulator cache.
const requestedCardMetadata = await simulatorClient.cards.get([
46102, // Leia Organa - Someone Who Loves You
308, // Echo Base
])get(
ids):Promise<CardMetadataView[]>
Defined in: packages/ts-sdk/src/resources/card-resource.ts:58
Fetches canonical metadata for the requested card ids.
Use this when snapshots or deck lists only contain card ids and your UI needs titles, aspects, traits, cost, rules text, or other display metadata.
Parameters
ids
number[]
Returns
Promise<CardMetadataView[]>
Example
import { createSimulatorClient } from '@my-swu/simulator-client'
const simulatorClient = createSimulatorClient({
baseUrl: 'http://127.0.0.1:4000',
})
const requestedCardMetadata = await simulatorClient.cards.get([46102, 308])
console.log(requestedCardMetadata.map(card => card.title))See
https://simulator-sdk.my-swu.com/guide/card-ids
resolveId()
Example:
import { createSimulatorClient } from '@my-swu/simulator-client'
// Point this at the simulator HTTP origin for /health and /api routes.
const simulatorClient = createSimulatorClient({
baseUrl: 'http://127.0.0.1:4000',
})
// Set/card-number lookups return card ids.
const krennicCardId = await simulatorClient.cards.resolveId({
setCode: 'SOR',
cardNumber: 1,
cardTypes: [
'leader',
],
})resolveId(
reference):Promise<number>
Defined in: packages/ts-sdk/src/resources/card-resource.ts:127
Resolves one set-code/card-number reference into one card id.
This helper throws when the reference is not found or stays ambiguous after applying cardTypes.
Parameters
reference
CardReferenceInput
Returns
Promise<number>
Example
import { createSimulatorClient } from '@my-swu/simulator-client'
const simulatorClient = createSimulatorClient({
baseUrl: 'http://127.0.0.1:4000',
})
const krennicCardId = await simulatorClient.cards.resolveId({
setCode: 'SOR',
cardNumber: 1,
cardTypes: [
'leader',
],
})
console.log(krennicCardId)See
https://simulator-sdk.my-swu.com/guide/card-ids#resolving-card-ids
resolveIds()
Example:
import { createSimulatorClient } from '@my-swu/simulator-client'
// Point this at the simulator HTTP origin for /health and /api routes.
const simulatorClient = createSimulatorClient({
baseUrl: 'http://127.0.0.1:4000',
})
// Batch lookup when importing many set/card-number references.
const cardIdResolutions = await simulatorClient.cards.resolveIds([
{
setCode: 'SOR',
cardNumber: 1,
cardTypes: [
'leader',
],
},
{
setCode: 'SOR',
cardNumber: 25,
cardTypes: [
'base',
],
},
])resolveIds(
references):Promise<CardIdResolutionView[]>
Defined in: packages/ts-sdk/src/resources/card-resource.ts:164
Resolves set-code/card-number references through the simulator card cache.
Use this for bulk deck imports so you can show all not-found and ambiguous references together instead of failing at the first issue.
Parameters
references
CardReferenceInput[]
Returns
Promise<CardIdResolutionView[]>
Example
import { createSimulatorClient } from '@my-swu/simulator-client'
const simulatorClient = createSimulatorClient({
baseUrl: 'http://127.0.0.1:4000',
})
const cardIdResolutions = await simulatorClient.cards.resolveIds([
{
setCode: 'SOR',
cardNumber: 1,
cardTypes: [
'leader',
],
},
{
setCode: 'SOR',
cardNumber: 25,
cardTypes: [
'base',
],
},
])
console.log(cardIdResolutions.map(result => result.cardId))See
https://simulator-sdk.my-swu.com/guide/card-ids#resolving-card-ids
