spacetraders-sdk

1.9.1 • Public • Published

Spacetraders.io Javascript/Typescript SDK

Install

yarn add spacetraders-sdk

or

npm i spacetraders-sdk

Usage

The SDK will keep your username + token in memory. It's important that you save the token for a new user otherwise you'll lose access to that user.

The SDK will attempt to retry 429 http status codes up to 3 (default value) times for a request before throwing an error.

import { SpaceTraders } from 'spacetraders-sdk'

const spaceTraders = new SpaceTraders()

// Already existing user
spaceTraders.init('username', 'token')

// Claim a new user
const token = await spaceTraders.init('username')

Options

interface Options {
  /**
   * If all instances of SpaceTraders should use the same limiter. Defaults to false.
   */
  useSharedLimiter?: boolean;
  /**
   * Maximum amount of 429 (Rate-Limited) retries. Defaults to 3.
   */
  maxRetries?: number
}

interface LimiterOptions {
  /**
   * How many jobs can be running at the same time. No default.
   */
  maxConcurrent?: number;
  /**
   * How long to wait after launching a job before launching another one. No default.
   */
  minTime?: number;
}

constructor(options?: Options, limiterOptions?: LimiterOptions)

Basic rate-limiting

import { SpaceTraders } from 'spacetraders-sdk'

const spaceTraders = new SpaceTraders({ useSharedLimiter: true }, { maxConcurrent: 2, minTime: 500 })

Methods

init

Login or create a new account

spaceTraders.init(username: string, token?: string): Promise<string>

getAccount

Get your info

spaceTraders.getAccount(): Promise<AccountResponse>

createFlightPlan

Submit a new flight plan

spaceTraders.createFlightPlan(shipId: string, destination: string): Promise<FlightPlanResponse>

createStructure

create a new structure

spaceTraders.createStructure(type: string, location: string): Promise<CreateStructureResponse>

depositToStructure

Deposit goods from a ship to a structure

spaceTraders.depositToOwnedStructure(structureId: string, shipId: string, good: Good, quantity: number): Promise<StructureDepositResponse>

getAvailableStructures

View available structure types to build

spaceTraders.getAvailableStructures(): Promise<AvailableStructuresResponse>

getFlightPlan

Get info on an existing flight plan

spaceTraders.getFlightPlan(): Promise<FlightPlanResponse>

getLocation

Get info on a location

spaceTraders.getLocation(location: string): Promise<LocationResponse>;

getLocationShips

Get info on a location's docked ships

spaceTraders.getLocation(location: string): Promise<LocationShipResponse>

getMarketplace

Get info on a locations marketplace

spaceTraders.getMarketplace(location: string): Promise<MarketplaceResponse>

getStatus

Use to determine whether the server is alive

spaceTraders.getStatus(): Promise<StatusResponse>

jettisonCargo

Use to jettison goods from a ship's cargo

spaceTraders.jettisonGoods(shipId: string, good: string, quantity: number): Promise<JettisonResponse>

listLocations

Get locations in a system

spaceTraders.listLocations(system?: string, type?: string): Promise<LocationsResponse>

listStructures

Get information about all owned structures

spaceTraders.listStructures(): Promise<ListStructuresResponse>

listSystems

Get systems info

spaceTraders.listSystems(): Promise<SystemsResponse>

payBackLoan

Payback your loan

spaceTraders.payBackLoan(loanId: string): Promise<AccountResponse>

purchaseGood

Place a new purchase order

spaceTraders.purchaseGood(shipId: string, good: string, quantity: number): Promise<PurchaseResponse>

purchaseShip

Buy a new ship

spaceTraders.purchaseShip(location: string, type: string): Promise<AccountResponse>

sellGood

Place a new sell order

spaceTraders.sellGood(shipId: string, good: string, quantity: number): Promise<PurchaseResponse>

takeOutLoan

Request a new loan

spaceTraders.takeOutLoan(type: LoanType): Promise<AccountResponse>

transferFromShip

Transfers good between two owned ships

spaceTraders.transferGoodsBetweenShips(fromShip: string, toShip: string, good: Good, quantity: number): Promise<ShipTransferResponse>

transferFromStructure

Transfer goods from a structure to a ship

spaceTraders.transferFromStructure(structureId: string, shipId: string, good: Good, quantity: number): Promise<StructureTransferResponse>

viewAvailableLoans

Get available loans

spaceTraders.viewAvailableLoans(): Promise<AvailableLoanResponse>

viewAvailableShips

Get info on available ships

spaceTraders.viewAvailableShips(): Promise<AvailableShipResponse>

viewStructureDetails

Get information about a particular structure

spaceTraders.viewStructureDetails(structureId: string): Promise<CreateStructureResponse>

warpJump

Attempt a warp jump with a ship

spaceTraders.warpJump(shipId: string): Promise<FlightPlanResponse>

Readme

Keywords

none

Package Sidebar

Install

npm i spacetraders-sdk

Weekly Downloads

1

Version

1.9.1

License

none

Unpacked Size

47.1 kB

Total Files

25

Last publish

Collaborators

  • notvitaliy