Skip to content

Commit accbe1c

Browse files
committed
refactor(multidimensional-fignumbers/mapped-types): extract MultiDimensionalConfigMap from MappedTypeConfig and MULTIDIMENSIONAL_MAP_STRATEGY
1 parent 27b0dd9 commit accbe1c

File tree

1 file changed

+5
-49
lines changed

1 file changed

+5
-49
lines changed
Lines changed: 5 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
import type { MappedTypeStrategy } from "../../core/mapped-types/MappedTypeStrategy.js";
2-
1+
import type { MappedTypeConfig } from "../../core/mapped-types/MappedTypeConfig.js";
32
import {
43
BiquadraticGenerator,
54
CenteredHyperOctahedralGenerator,
@@ -21,54 +20,9 @@ import {
2120
KDimensionalHyperOctahedronGenerator,
2221
KDimensionalCenteredHyperTetrahedronGenerator,
2322
KDimensionalCenteredHyperOctahedronGenerator,
24-
type BiquadraticConfig,
25-
type CenteredHyperOctahedralConfig,
26-
type CenteredPolytopeConfig,
27-
type FiveDimensionalMgonalPyramidalConfig,
28-
type FourDimensionalMgonalPyramidalConfig,
29-
type HyperDodecahedralConfig,
30-
type HyperIcosahedralConfig,
31-
type HyperOctahedralConfig,
32-
type KDimensionalCenteredHyperCubeConfig,
33-
type KDimensionalHyperCubeConfig,
34-
type KDimensionalHyperTetrahedronConfig,
35-
type NexusConfig,
36-
type PentatopeConfig,
37-
type PolyOctahedralConfig,
38-
type SixDimensionalMgonalPyramidalConfig,
39-
type CenteredBiquadraticConfig,
40-
type KDimensionalMgonalPyramidalConfig,
41-
type KDimensionalHyperOctahedronConfig,
42-
type KDimensionalCenteredHyperTetrahedronConfig,
43-
type KDimensionalCenteredHyperOctahedronConfig,
4423
} from "../strategies/index.js";
4524

46-
export type MultiDimensionalConfigMap = {
47-
biquadratic: BiquadraticConfig;
48-
centeredHyperOctahedral: CenteredHyperOctahedralConfig;
49-
centeredPolytope: CenteredPolytopeConfig;
50-
fiveDimensionalMgonalPyramidal: FiveDimensionalMgonalPyramidalConfig;
51-
fourDimensionalMgonalPyramidal: FourDimensionalMgonalPyramidalConfig;
52-
hyperDodecahedral: HyperDodecahedralConfig;
53-
hyperIcosahedral: HyperIcosahedralConfig;
54-
hyperOctahedral: HyperOctahedralConfig;
55-
kDimensionalCenteredHyperCube: KDimensionalCenteredHyperCubeConfig;
56-
kDimensionalHyperCube: KDimensionalHyperCubeConfig;
57-
kDimensionalHyperTetrahedron: KDimensionalHyperTetrahedronConfig;
58-
nexus: NexusConfig;
59-
pentatope: PentatopeConfig;
60-
polyOctahedral: PolyOctahedralConfig;
61-
sixDimensionalMgonalPyramidal: SixDimensionalMgonalPyramidalConfig;
62-
centeredBiquadratic: CenteredBiquadraticConfig;
63-
kDimensionalMgonalPyramidal: KDimensionalMgonalPyramidalConfig;
64-
kDimensionalHyperOctahedron: KDimensionalHyperOctahedronConfig;
65-
kDimensionalCenteredHyperTetrahedron: KDimensionalCenteredHyperTetrahedronConfig;
66-
kDimensionalCenteredHyperOctahedron: KDimensionalCenteredHyperOctahedronConfig;
67-
};
68-
69-
export type MultiDimensionalMappedTypeStrategy = MappedTypeStrategy<MultiDimensionalConfigMap>;
70-
71-
export const multiDimensionalMapStrategy: MultiDimensionalMappedTypeStrategy = {
25+
export const MULTIDIMENSIONAL_MAP_STRATEGY = {
7226
biquadratic: new BiquadraticGenerator(),
7327
centeredHyperOctahedral: new CenteredHyperOctahedralGenerator(),
7428
centeredPolytope: new CenteredPolytopeGenerator(),
@@ -89,4 +43,6 @@ export const multiDimensionalMapStrategy: MultiDimensionalMappedTypeStrategy = {
8943
kDimensionalHyperOctahedron: new KDimensionalHyperOctahedronGenerator(),
9044
kDimensionalCenteredHyperTetrahedron: new KDimensionalCenteredHyperTetrahedronGenerator(),
9145
kDimensionalCenteredHyperOctahedron: new KDimensionalCenteredHyperOctahedronGenerator(),
92-
};
46+
} as const;
47+
48+
export type MultiDimensionalConfigMap = MappedTypeConfig<typeof MULTIDIMENSIONAL_MAP_STRATEGY>;

0 commit comments

Comments
 (0)