Improvements in performance

This commit is contained in:
Sebastian Seedorf
2022-08-12 10:33:37 +02:00
parent e4250f0344
commit 74fddc6710
17 changed files with 390 additions and 214 deletions

View File

@@ -1,4 +0,0 @@
import {Entity} from "../types";
import details from "../../res/details.json";
export const useDetails = () => details as Entity[]

23
src/hooks/useFactories.ts Normal file
View File

@@ -0,0 +1,23 @@
import {EnrichedEntity, Entity} from "../types";
import details from "../../res/details.json";
const factories = details as Entity[]
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];
})
)
export const useFactories = () => ({
factories: factories,
findFactory: (uid: string): EnrichedEntity|undefined => {
return detailsMap[uid]
}
})

View File

@@ -14,17 +14,11 @@ export interface Entity extends UnfetchedEntity {
recipe?: Recipe
}
export type Group = OldGroup|NewGroup
export interface OldGroup {
name: string
isExported?: boolean
factories: string[]
intermediates: string[]
inputs: string[]
export interface EnrichedEntity extends Entity {
usedBy?: Entity[]
}
export interface NewGroup {
export interface Group {
name: string
inputs: string[]
intermediates: string[]