Improvements in performance
This commit is contained in:
@@ -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
23
src/hooks/useFactories.ts
Normal 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]
|
||||
}
|
||||
})
|
||||
12
src/types.ts
12
src/types.ts
@@ -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[]
|
||||
|
||||
Reference in New Issue
Block a user