-
-
Notifications
You must be signed in to change notification settings - Fork 22
/
parse_to_yaml.ts
40 lines (33 loc) 路 908 Bytes
/
parse_to_yaml.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/**
* Copyright (c) Crew Dev.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
import { runJson } from "../utils/types.ts";
import * as yaml from "encoding/yaml.ts";
import { exists } from "tools-fs";
/**
* parse .yaml file to javascript json
*/
export async function parseToYaml() {
try {
let runFile = {};
let YAMLFile;
const decoder = new TextDecoder("utf8");
if (await exists("./run.yaml")) {
YAMLFile = "./run.yaml";
} else if (await exists("./run.yml")) {
YAMLFile = "./run.yml";
} else {
return;
}
const data = await Deno.readFile(YAMLFile);
(yaml.parse(decoder.decode(data)) as runJson[])?.forEach((object) => {
runFile = { ...runFile, ...object };
});
return runFile as runJson;
} catch (err) {
console.error(err.message);
}
}