Improvements in performance / Better structure
This commit is contained in:
@@ -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]
|
||||
}
|
||||
|
||||
@@ -20,8 +20,6 @@ export interface EnrichedEntity extends Entity {
|
||||
|
||||
export interface Group {
|
||||
name: string
|
||||
inputs: string[]
|
||||
intermediates: string[]
|
||||
exports: string[]
|
||||
malls: string[]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user