Files
disic/src/internal.ts
T
2026-06-26 20:32:33 -04:00

75 lines
3.3 KiB
TypeScript

/*
manage export order to avoid circular dependencies
https://medium.com/visual-development/how-to-fix-nasty-circular-dependency-issues-once-and-for-all-in-javascript-typescript-a04c987cf0de
this feels hacky but it stops the app from crashing for now
*/
export * from "./const/math";
export * from "./const/strings";
export * from "./utils/arrayUtils";
export * from "./utils/colorUtils";
export * from "./rulesets/RockPaperScissors/types";
export * from "./rulesets/Snowflake/types";
export * from "./rulesets/War/types";
export * from "./rulesets/types";
export * from "./classes/Cell/types";
export * from "./classes/Grid/types";
export * from "./classes/Ruleset/types";
export * from "./const/defaults/defaultConfigValues";
// todo: remove this
export const possibleColors = [
"#430f6e",
"#472765",
"#566888",
"#506e86",
"#37566f",
"#FFC0CB",
];
export { default as Cell } from "./classes/Cell/Cell";
// depends on Cell
export * from "./rulesets/Conway/types";
export * from "./rulesets/MazeGenerator/types";
export * from "./rulesets/Pokemon/types";
export * from "./rulesets/WaterFlow/types";
// depends on Cell, angleOfHexagonalSide, and CANVAS_ID
export * from "./utils/canvasUtils";
// depends on Cell
export { default as createHexRows } from "./utils/gridUtils/createHexRows";
export { default as createSquareRows } from "./utils/gridUtils/createSquareRows";
export { default as getCellById } from "./utils/gridUtils/getCellById";
export { default as getNeighbors } from "./utils/gridUtils/getNeighbors";
export { default as getRandomCell } from "./utils/gridUtils/getRandomCell";
export { default as Ruleset } from "./classes/Ruleset/Ruleset";
export { default as Grid } from "./classes/Grid/Grid";
export * from "./context/types";
export { default as defaultPokemonColors } from "./const/defaults/gameSpecificOptions/defaultPokemonColors";
export { default as defaultGameOptions } from "./const/defaults/gameSpecificOptions/defaultGameOptions";
export { default as Conway } from "./rulesets/Conway/Conway";
export { default as MazeGenerator } from "./rulesets/MazeGenerator/MazeGenerator";
export { default as Pokemon } from "./rulesets/Pokemon/Pokemon";
export { default as RockPaperScissors } from "./rulesets/RockPaperScissors/RockPaperScissors";
export { default as Snowflake } from "./rulesets/Snowflake/Snowflake";
export { default as War } from "./rulesets/War/War";
export { default as WaterFlow } from "./rulesets/WaterFlow/WaterFlow";
export { default as createRuleset } from "./utils/rulesetUtils/createRuleset";
export { default as createGrid } from "./utils/gridUtils/createGrid";
export {
defaultGlobalConfigs,
default as useDefaultGlobalConfig,
} from "./const/defaults/globalOptions/useDefaultGlobalConfig";
export { default as GameContext } from "./context/GameContext";
export { default as useCanvas } from "./hooks/useCanvas";
export { default as GameContextProvider } from "./context/GameContextProvider";
export { default as Canvas } from "./components/Canvas/Canvas";
export { default as GameDescription } from "./components/GameDescription/GameDescription";
export { default as Controls } from "./components/Controls/Controls";
export { default as GameScreen } from "./components/GameScreen/GameScreen";
export { default as App } from "./App";