refactor: update inline-schema to import accessors
This commit is contained in:
parent
7e98e5e546
commit
09148f5b13
|
|
@ -6,5 +6,5 @@ type BoopPartTable = readonly {
|
|||
|
||||
export type BoopPart = BoopPartTable[number];
|
||||
|
||||
declare const data: BoopPartTable;
|
||||
export default data;
|
||||
declare function getData(): BoopPartTable;
|
||||
export default getData;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import parts from './boopPart.csv';
|
||||
import getParts from './boopPart.csv';
|
||||
import {createRegion, moveToRegion, Region} from "@/core/region";
|
||||
import {createPartsFromTable} from "@/core/part-factory";
|
||||
import {BoopPart} from "@/samples/boop/types";
|
||||
|
|
@ -6,6 +6,7 @@ import {BOARD_SIZE} from "@/samples/boop/constants";
|
|||
import {PlayerType, PieceType, RegionType} from "@/samples/boop/types";
|
||||
|
||||
export function createInitialState() {
|
||||
const parts = getParts();
|
||||
const pieces = createPartsFromTable(
|
||||
parts,
|
||||
(item, index) => `${item.player}-${item.type}-${index + 1}`,
|
||||
|
|
|
|||
|
|
@ -7,5 +7,5 @@ type CardsTable = readonly {
|
|||
|
||||
export type Cards = CardsTable[number];
|
||||
|
||||
declare const data: CardsTable;
|
||||
export default data;
|
||||
declare function getData(): CardsTable;
|
||||
export default getData;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import cards from './cards.csv';
|
||||
import getCards from './cards.csv';
|
||||
import {Part} from "@/core/part";
|
||||
import {createRegion, createRegionAxis, Region} from "@/core/region";
|
||||
import {createPromptDef, IGameContext} from "@/core/game";
|
||||
|
|
@ -38,6 +38,7 @@ export function createGameInfo(){
|
|||
}
|
||||
|
||||
export function createCards(){
|
||||
const cards = getCards();
|
||||
const dataMap = {} as Record<string, CardData>;
|
||||
|
||||
for(const entry of cards){
|
||||
|
|
|
|||
|
|
@ -6,5 +6,5 @@ type EffectDesertTable = readonly {
|
|||
|
||||
export type EffectDesert = EffectDesertTable[number];
|
||||
|
||||
declare const data: EffectDesertTable;
|
||||
export default data;
|
||||
declare function getData(): EffectDesertTable;
|
||||
export default getData;
|
||||
|
|
|
|||
|
|
@ -10,5 +10,5 @@ type EncounterDesertTable = readonly {
|
|||
|
||||
export type EncounterDesert = EncounterDesertTable[number];
|
||||
|
||||
declare const data: EncounterDesertTable;
|
||||
export default data;
|
||||
declare function getData(): EncounterDesertTable;
|
||||
export default getData;
|
||||
|
|
|
|||
|
|
@ -9,5 +9,5 @@ type EnemyDesertTable = readonly {
|
|||
|
||||
export type EnemyDesert = EnemyDesertTable[number];
|
||||
|
||||
declare const data: EnemyDesertTable;
|
||||
export default data;
|
||||
declare function getData(): EnemyDesertTable;
|
||||
export default getData;
|
||||
|
|
|
|||
|
|
@ -11,5 +11,5 @@ type EnemyIntentDesertTable = readonly {
|
|||
|
||||
export type EnemyIntentDesert = EnemyIntentDesertTable[number];
|
||||
|
||||
declare const data: EnemyIntentDesertTable;
|
||||
export default data;
|
||||
declare function getData(): EnemyIntentDesertTable;
|
||||
export default getData;
|
||||
|
|
|
|||
|
|
@ -11,5 +11,5 @@ type HeroItemFighter1Table = readonly {
|
|||
|
||||
export type HeroItemFighter1 = HeroItemFighter1Table[number];
|
||||
|
||||
declare const data: HeroItemFighter1Table;
|
||||
export default data;
|
||||
declare function getData(): HeroItemFighter1Table;
|
||||
export default getData;
|
||||
|
|
|
|||
|
|
@ -4,11 +4,11 @@ import enemyDesertCsv from './enemyDesert.csv';
|
|||
import enemyIntentDesertCsv from './enemyIntentDesert.csv';
|
||||
import effectDesertCsv from './effectDesert.csv';
|
||||
|
||||
export const heroItemFighter1Data = heroItemFighter1Csv;
|
||||
export const encounterDesertData = encounterDesertCsv;
|
||||
export const enemyDesertData = enemyDesertCsv;
|
||||
export const enemyIntentDesertData = enemyIntentDesertCsv;
|
||||
export const effectDesertData = effectDesertCsv;
|
||||
export const heroItemFighter1Data = heroItemFighter1Csv();
|
||||
export const encounterDesertData = encounterDesertCsv();
|
||||
export const enemyDesertData = enemyDesertCsv();
|
||||
export const enemyIntentDesertData = enemyIntentDesertCsv();
|
||||
export const effectDesertData = effectDesertCsv();
|
||||
|
||||
export { default as encounterDesertCsv, type EncounterDesert } from './encounterDesert.csv';
|
||||
export { default as enemyDesertCsv, type EnemyDesert } from './enemyDesert.csv';
|
||||
|
|
|
|||
|
|
@ -1,8 +1,10 @@
|
|||
import { Mulberry32RNG, type RNG } from '@/utils/rng';
|
||||
import encounterDesertCsv, { type EncounterDesert } from '../data/encounterDesert.csv';
|
||||
import encounterDesertCsvAccessor, { type EncounterDesert } from '../data/encounterDesert.csv';
|
||||
import { MapNodeType, MapLayerType } from './types';
|
||||
import type { MapLayer, MapNode, PointCrawlMap, MapGenerationConfig } from './types';
|
||||
|
||||
const encounterDesertCsv = encounterDesertCsvAccessor();
|
||||
|
||||
/** Pre-indexed encounters by type */
|
||||
const encountersByType = buildEncounterIndex();
|
||||
|
||||
|
|
|
|||
|
|
@ -102,8 +102,8 @@ describe('encounterDesert.csv import', () => {
|
|||
if (e.type === 'minion' || e.type === 'elite') {
|
||||
expect(Array.isArray(e.enemies)).toBe(true);
|
||||
expect(e.enemies.length).toBeGreaterThan(0);
|
||||
for (const [enemyId, bonusHp] of e.enemies) {
|
||||
expect(typeof enemyId).toBe('string');
|
||||
for (const [enemy, bonusHp] of e.enemies) {
|
||||
expect(typeof enemy === 'string' || typeof enemy === 'object').toBe(true);
|
||||
expect(typeof bonusHp).toBe('number');
|
||||
}
|
||||
}
|
||||
|
|
@ -222,9 +222,9 @@ describe('enemyIntentDesert.csv import', () => {
|
|||
|
||||
it('should have effects with target, effect ref, and value', () => {
|
||||
for (const intent of enemyIntentDesertData) {
|
||||
for (const [target, effectId, value] of intent.effects) {
|
||||
for (const [target, effect, value] of intent.effects) {
|
||||
expect(target === 'self' || target === 'opponent').toBe(true);
|
||||
expect(typeof effectId).toBe('string');
|
||||
expect(typeof effect === 'string' || typeof effect === 'object').toBe(true);
|
||||
expect(typeof value).toBe('number');
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue