Skip to content

@my-swu/simulator-client


@my-swu/simulator-client / SchemaTypeMap

Interface: SchemaTypeMap

Defined in: packages/ts-sdk/src/validators.ts:41

Exact schema-to-type map generated from Rust public wire contracts.

Keys match generated schema names. Values are the TypeScript types returned after runtime validation succeeds.

Example:

ts
import { 
parseSchema
} from '@my-swu/simulator-client'
// Runtime validation narrows payloads to generated TypeScript types. const
health
=
parseSchema
('health-response', {
status
: 'ok' })
console
.
log
(
health
.
status
)

See

https://simulator-sdk.my-swu.com/guide/versioning

Properties

api-error-response

Example:

ts
import { 
parseSchema
} from '@my-swu/simulator-client'
const
apiErrorResponsePayload
= {
error
: {
code
: 'match_not_found',
message
: 'Match not found' } }
const
parsedPayload
=
parseSchema
('api-error-response',
apiErrorResponsePayload
)
console
.
log
(
parsedPayload
)

api-error-response: ApiErrorResponse

Defined in: packages/ts-sdk/src/validators.ts:42


cards-response

Example:

ts
import { 
parseSchema
} from '@my-swu/simulator-client'
const
cardsResponsePayload
= {
cards
: [] }
const
parsedPayload
=
parseSchema
('cards-response',
cardsResponsePayload
)
console
.
log
(
parsedPayload
)

cards-response: CardsResponse

Defined in: packages/ts-sdk/src/validators.ts:43


client-message

Example:

ts
import { 
parseSchema
} from '@my-swu/simulator-client'
const
clientMessagePayload
= {
type
: 'ready' }
const
parsedPayload
=
parseSchema
('client-message',
clientMessagePayload
)
console
.
log
(
parsedPayload
)

client-message: ClientMessage

Defined in: packages/ts-sdk/src/validators.ts:44


covered-cards-response

Example:

ts
import { 
parseSchema
} from '@my-swu/simulator-client'
const
coveredCardsResponsePayload
= {
cards
: [] }
const
parsedPayload
=
parseSchema
('covered-cards-response',
coveredCardsResponsePayload
)
console
.
log
(
parsedPayload
)

covered-cards-response: CoveredCardsResponse

Defined in: packages/ts-sdk/src/validators.ts:45


create-limited-event-request

Example:

ts
import { 
parseSchema
} from '@my-swu/simulator-client'
const
createLimitedEventRequestPayload
= {
kind
: 'draft',
setCode
: 'SOR',
playerCount
: 4 }
const
parsedPayload
=
parseSchema
('create-limited-event-request',
createLimitedEventRequestPayload
)
console
.
log
(
parsedPayload
)

create-limited-event-request: CreateLimitedEventRequest

Defined in: packages/ts-sdk/src/validators.ts:46


create-match-request

Example:

ts
import { 
parseSchema
} from '@my-swu/simulator-client'
// Use card ids; the server validates deck legality. const
premierHostDeck
= {
leader
: 46102, // Leia Organa - Someone Who Loves You
base
: 308, // Echo Base
cards
:
Array
.
from
({
length
: 50 }, () => 45), // Alliance X-Wing
} const
createMatchRequest
= {
hostDeck
:
premierHostDeck
}
const
parsedPayload
=
parseSchema
('create-match-request',
createMatchRequest
)
console
.
log
(
parsedPayload
)

create-match-request: CreateMatchRequest

Defined in: packages/ts-sdk/src/validators.ts:47


error-payload

Example:

ts
import { 
parseSchema
} from '@my-swu/simulator-client'
const
errorPayloadPayload
= {
code
: 'invalid_selection',
message
: 'Deck must include a leader' }
const
parsedPayload
=
parseSchema
('error-payload',
errorPayloadPayload
)
console
.
log
(
parsedPayload
)

error-payload: ErrorPayload

Defined in: packages/ts-sdk/src/validators.ts:48


format-event-request

Example:

ts
import { 
parseSchema
} from '@my-swu/simulator-client'
const
formatEventRequestPayload
= {
seatToken
: 'seat_token_123',
command
: {
type
: 'readyNextGame' } }
const
parsedPayload
=
parseSchema
('format-event-request',
formatEventRequestPayload
)
console
.
log
(
parsedPayload
)

format-event-request: FormatEventRequest

Defined in: packages/ts-sdk/src/validators.ts:49


format-event-response

Example:

ts
import { 
createSimulatorClient
,
parseSchema
} from '@my-swu/simulator-client'
const
simulatorClient
=
createSimulatorClient
({
baseUrl
: 'http://127.0.0.1:4000',
}) const
matchSnapshot
= await
simulatorClient
.
matches
.
get
('match_123')
const
formatEventResponse
= {
snapshot
:
matchSnapshot
}
const
parsedPayload
=
parseSchema
('format-event-response',
formatEventResponse
)
console
.
log
(
parsedPayload
)

format-event-response: FormatEventResponse

Defined in: packages/ts-sdk/src/validators.ts:50


game-command

Example:

ts
import { 
parseSchema
} from '@my-swu/simulator-client'
const
gameCommandPayload
= 'pass'
const
parsedPayload
=
parseSchema
('game-command',
gameCommandPayload
)
console
.
log
(
parsedPayload
)

game-command: GameCommand

Defined in: packages/ts-sdk/src/validators.ts:51


game-event

Example:

ts
import { 
parseSchema
} from '@my-swu/simulator-client'
const
gameEventPayload
= {
playerReady
: {
seat
: 'one' } }
const
parsedPayload
=
parseSchema
('game-event',
gameEventPayload
)
console
.
log
(
parsedPayload
)

game-event: GameEvent

Defined in: packages/ts-sdk/src/validators.ts:52


game-state

Example:

ts
import { 
createSimulatorClient
,
parseSchema
} from '@my-swu/simulator-client'
const
simulatorClient
=
createSimulatorClient
({
baseUrl
: 'http://127.0.0.1:4000',
}) const
matchSnapshot
= await
simulatorClient
.
matches
.
get
('match_123')
const
parsedPayload
=
parseSchema
('game-state',
matchSnapshot
)
console
.
log
(
parsedPayload
)

game-state: GameState

Defined in: packages/ts-sdk/src/validators.ts:53


get-match-response

Example:

ts
import { 
createSimulatorClient
,
parseSchema
} from '@my-swu/simulator-client'
const
simulatorClient
=
createSimulatorClient
({
baseUrl
: 'http://127.0.0.1:4000',
}) const
matchSnapshot
= await
simulatorClient
.
matches
.
get
('match_123')
const
getMatchResponse
= {
snapshot
:
matchSnapshot
}
const
parsedPayload
=
parseSchema
('get-match-response',
getMatchResponse
)
console
.
log
(
parsedPayload
)

get-match-response: GetMatchResponse

Defined in: packages/ts-sdk/src/validators.ts:54


health-response

Example:

ts
import { 
parseSchema
} from '@my-swu/simulator-client'
const
healthResponsePayload
= {
status
: 'ok' }
const
parsedPayload
=
parseSchema
('health-response',
healthResponsePayload
)
console
.
log
(
parsedPayload
)

health-response: HealthResponse

Defined in: packages/ts-sdk/src/validators.ts:55


join-limited-event-request

Example:

ts
import { 
parseSchema
} from '@my-swu/simulator-client'
const
joinLimitedEventRequest
= {}
const
parsedPayload
=
parseSchema
('join-limited-event-request',
joinLimitedEventRequest
)
console
.
log
(
parsedPayload
)

join-limited-event-request: JoinLimitedEventRequest

Defined in: packages/ts-sdk/src/validators.ts:56


join-match-request

Example:

ts
import { 
parseSchema
} from '@my-swu/simulator-client'
// Seat two submits a separate legal deck when joining the match. const
premierGuestDeck
= {
leader
: 46107, // Darth Vader - Unstoppable
base
: 309, // Tarkintown
cards
:
Array
.
from
({
length
: 50 }, () => 35), // TIE/ln Fighter
} const
joinMatchRequest
= {
deck
:
premierGuestDeck
}
const
parsedPayload
=
parseSchema
('join-match-request',
joinMatchRequest
)
console
.
log
(
parsedPayload
)

join-match-request: JoinMatchRequest

Defined in: packages/ts-sdk/src/validators.ts:57


limited-event-access-response

Example:

ts
import { 
createSimulatorClient
,
parseSchema
} from '@my-swu/simulator-client'
const
simulatorClient
=
createSimulatorClient
({
baseUrl
: 'http://127.0.0.1:4000',
}) const
draftEventAccess
= await
simulatorClient
.
limitedEvents
.
create
({
kind
: 'draft',
setCode
: 'SOR',
playerCount
: 4,
}) const
parsedPayload
=
parseSchema
('limited-event-access-response',
draftEventAccess
)
console
.
log
(
parsedPayload
)

limited-event-access-response: LimitedEventAccessResponse

Defined in: packages/ts-sdk/src/validators.ts:58


limited-event-command-request

Example:

ts
import { 
parseSchema
} from '@my-swu/simulator-client'
const
limitedEventCommandRequestPayload
= {
seatToken
: 'limited_token_123',
command
: {
type
: 'readyForNextDraft' } }
const
parsedPayload
=
parseSchema
('limited-event-command-request',
limitedEventCommandRequestPayload
)
console
.
log
(
parsedPayload
)

limited-event-command-request: LimitedEventCommandRequest

Defined in: packages/ts-sdk/src/validators.ts:59


limited-event-response

Example:

ts
import { 
createSimulatorClient
,
parseSchema
} from '@my-swu/simulator-client'
const
simulatorClient
=
createSimulatorClient
({
baseUrl
: 'http://127.0.0.1:4000',
}) const
limitedEventSnapshot
= await
simulatorClient
.
limitedEvents
.
get
({
eventId
: 'event_123',
seatToken
: 'limited_token_123',
}) const
limitedEventResponse
= {
snapshot
:
limitedEventSnapshot
}
const
parsedPayload
=
parseSchema
('limited-event-response',
limitedEventResponse
)
console
.
log
(
parsedPayload
)

limited-event-response: LimitedEventResponse

Defined in: packages/ts-sdk/src/validators.ts:60


match-access-response

Example:

ts
import { 
createSimulatorClient
,
parseSchema
} from '@my-swu/simulator-client'
const
simulatorClient
=
createSimulatorClient
({
baseUrl
: 'http://127.0.0.1:4000',
}) // Use card ids; the server validates deck legality. const
premierHostDeck
= {
leader
: 46102, // Leia Organa - Someone Who Loves You
base
: 308, // Echo Base
cards
:
Array
.
from
({
length
: 50 }, () => 45), // Alliance X-Wing
} const
matchAccess
= await
simulatorClient
.
matches
.
create
({
hostDeck
:
premierHostDeck
})
const
parsedPayload
=
parseSchema
('match-access-response',
matchAccess
)
console
.
log
(
parsedPayload
)

match-access-response: MatchAccessResponse

Defined in: packages/ts-sdk/src/validators.ts:61


resolve-card-ids-request

Example:

ts
import { 
parseSchema
} from '@my-swu/simulator-client'
const
resolveCardIdsRequestPayload
= {
references
: [{
setCode
: 'SOR',
cardNumber
: 1,
cardTypes
: [
'leader', ], }], } const
parsedPayload
=
parseSchema
('resolve-card-ids-request',
resolveCardIdsRequestPayload
)
console
.
log
(
parsedPayload
)

resolve-card-ids-request: ResolveCardIdsRequest

Defined in: packages/ts-sdk/src/validators.ts:62


resolve-card-ids-response

Example:

ts
import { 
parseSchema
} from '@my-swu/simulator-client'
const
resolveCardIdsResponsePayload
= {
resolutions
: [{
reference
: {
setCode
: 'SOR',
cardNumber
: 1,
cardTypes
: [
'leader', ], },
cardId
: 60,
matches
: [{
cardId
: 60,
cardType
: 'leader',
title
: 'Director Krennic' }],
}], } const
parsedPayload
=
parseSchema
('resolve-card-ids-response',
resolveCardIdsResponsePayload
)
console
.
log
(
parsedPayload
)

resolve-card-ids-response: ResolveCardIdsResponse

Defined in: packages/ts-sdk/src/validators.ts:63


server-message

Example:

ts
import { 
parseSchema
} from '@my-swu/simulator-client'
const
serverMessagePayload
= {
type
: 'pong',
payload
: {
nonce
: 'host-latency-1' } }
const
parsedPayload
=
parseSchema
('server-message',
serverMessagePayload
)
console
.
log
(
parsedPayload
)

server-message: ServerMessage

Defined in: packages/ts-sdk/src/validators.ts:64


stats-response

Example:

ts
import { 
parseSchema
} from '@my-swu/simulator-client'
const
statsResponsePayload
= {
total
: 3000,
covered
: 1800,
tested
: 1600 }
const
parsedPayload
=
parseSchema
('stats-response',
statsResponsePayload
)
console
.
log
(
parsedPayload
)

stats-response: StatsResponse

Defined in: packages/ts-sdk/src/validators.ts:65


welcome-payload

Example:

ts
import { 
parseSchema
} from '@my-swu/simulator-client'
const
welcomePayloadPayload
= {
matchId
: 'match_123',
seat
: 'one' }
const
parsedPayload
=
parseSchema
('welcome-payload',
welcomePayloadPayload
)
console
.
log
(
parsedPayload
)

welcome-payload: WelcomePayload

Defined in: packages/ts-sdk/src/validators.ts:66

Released under the MIT License.