Improvements in performance / Better structure

This commit is contained in:
Sebastian Seedorf
2022-08-12 19:05:15 +02:00
parent 74fddc6710
commit 82888a5450
10 changed files with 176 additions and 82 deletions

View File

@@ -1,22 +1,19 @@
import {EnrichedEntity, Entity} from "../types";
import details from "../../res/details.json";
const factories = details as Entity[]
const factories = (details as Entity[]).map((detail: EnrichedEntity) => {
detail.usedBy = (details as Entity[])
.filter(f => Object
.keys(f.recipe?.prerequisites ?? {})
.includes(detail.href)
)
return detail;
})
const detailsMap = Object
.fromEntries(
factories.map((detail: EnrichedEntity) => {
detail.usedBy = factories
.filter(f => Object
.keys(f.recipe?.prerequisites ?? {})
.includes(detail.href)
)
return [detail.href, detail];
})
)
const detailsMap = Object.fromEntries(factories.map((detail: EnrichedEntity) => [detail.href, detail]))
export const useFactories = () => ({
factories: factories,
factories,
findFactory: (uid: string): EnrichedEntity|undefined => {
return detailsMap[uid]
}

View File

@@ -20,8 +20,6 @@ export interface EnrichedEntity extends Entity {
export interface Group {
name: string
inputs: string[]
intermediates: string[]
exports: string[]
malls: string[]
}