Reviewed-on: #2694 Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com> Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
24 lines
1.2 KiB
TypeScript
24 lines
1.2 KiB
TypeScript
import type { SlotPurchase, SlotPurchaseName } from "../types/purchaseTypes.ts";
|
|
|
|
export const slotPurchaseNameToSlotName: SlotPurchase = {
|
|
SuitSlotItem: { name: "SuitBin", purchaseQuantity: 1 },
|
|
TwoSentinelSlotItem: { name: "SentinelBin", purchaseQuantity: 2 },
|
|
TwoWeaponSlotItem: { name: "WeaponBin", purchaseQuantity: 2 },
|
|
SpaceSuitSlotItem: { name: "SpaceSuitBin", purchaseQuantity: 1 },
|
|
TwoSpaceWeaponSlotItem: { name: "SpaceWeaponBin", purchaseQuantity: 2 },
|
|
MechSlotItem: { name: "MechBin", purchaseQuantity: 1 },
|
|
TwoOperatorWeaponSlotItem: { name: "OperatorAmpBin", purchaseQuantity: 2 },
|
|
RandomModSlotItem: { name: "RandomModBin", purchaseQuantity: 3 },
|
|
TwoCrewShipSalvageSlotItem: { name: "CrewShipSalvageBin", purchaseQuantity: 2 },
|
|
CrewMemberSlotItem: { name: "CrewMemberBin", purchaseQuantity: 1 }
|
|
};
|
|
|
|
export const isSlotPurchaseName = (slotPurchaseName: string): slotPurchaseName is SlotPurchaseName => {
|
|
return slotPurchaseName in slotPurchaseNameToSlotName;
|
|
};
|
|
|
|
export const parseSlotPurchaseName = (slotPurchaseName: string): SlotPurchaseName => {
|
|
if (!isSlotPurchaseName(slotPurchaseName)) throw new Error(`invalid slot name ${slotPurchaseName}`);
|
|
return slotPurchaseName;
|
|
};
|