Files
node-factorio-recipes/components/contexts/FactoryProvider/prepare.ts
2022-08-19 19:33:38 +02:00

20 lines
737 B
TypeScript

import { EnrichedEntity, Entity } from '../../../src/types'
import details from '../../../res/details.json'
import manual from '../../../res/manual.json'
import exclude from '../../../res/exclude.json'
const manualEntities = manual as Entity[]
const manualKeys = new Set(manualEntities.map(entity => entity.href))
const detailEntities = (details as Entity[]).filter(detail => !manualKeys.has(detail.href))
const joined = [...detailEntities, ...manualEntities]
export const factories = joined
.map((detail: EnrichedEntity) => {
detail.usedBy = joined.filter(f =>
Object.keys(f.recipe?.prerequisites ?? {}).includes(detail.href)
)
return detail
})
.filter(detail => !(exclude as string[]).includes(detail.href))