chore: Get config takes in the config

This commit is contained in:
BluJ
2023-02-16 16:28:21 -07:00
parent 6d1181eba3
commit a6a766b24e
2 changed files with 8 additions and 5 deletions

View File

@@ -18,7 +18,8 @@ const matchConfig = dictionary([string, any]);
* @returns
*/
export const getConfig =
(spec: ConfigSpec): ExpectedExports.getConfig => async (effects) => {
<A extends ConfigSpec>(spec: Config<A>): ExpectedExports.getConfig =>
async (effects) => {
const config = await effects
.readFile({
path: "start9/config.yaml",
@@ -34,7 +35,7 @@ export const getConfig =
return {
result: {
config,
spec,
spec: spec.build(),
},
};
};
@@ -48,12 +49,12 @@ export const getConfig =
* @returns A funnction for getConfig and the matcher for the spec sent in
*/
export const getConfigAndMatcher = <Spec extends ConfigSpec>(
spec: Config<Spec> | Spec,
spec: Config<Spec>,
): [
ExpectedExports.getConfig,
matches.Parser<unknown, TypeFromProps<Spec>>,
] => {
const specBuilt: Spec = spec instanceof Config ? spec.build() : spec;
const specBuilt: Spec = spec.build();
return [
async (effects) => {