File size: 460 Bytes
3d4392e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import YAML from "yaml"

export function parseRawStringToYAML<T>(input: any, defaultValue: T) {
  try {
    let rawString = `${input || ""}`.trim()

    rawString = rawString
    .replaceAll("```yaml\n", "")
    .replaceAll("```yaml", "")

    // we remove everything after the last ```
    rawString = rawString.split('```')[0].trim()

    const something: any = YAML.parse(rawString)

    return something as T
  } catch (err) {
    return defaultValue
  }
}