20 lines
518 B
TypeScript
20 lines
518 B
TypeScript
|
import * as yaml from 'js-yaml'
|
||
|
import { provideSingletonNamed } from '@ccms/container'
|
||
|
|
||
|
import { PluginConfigLoader } from '../interfaces'
|
||
|
|
||
|
const LOADER_TYPE_NAME = 'yml'
|
||
|
|
||
|
@provideSingletonNamed(PluginConfigLoader, LOADER_TYPE_NAME)
|
||
|
export class YamlPluginConfig implements PluginConfigLoader {
|
||
|
type: string = LOADER_TYPE_NAME
|
||
|
|
||
|
load(content: string) {
|
||
|
return yaml.load(content)
|
||
|
}
|
||
|
|
||
|
dump(variable: any): string {
|
||
|
return yaml.dump(variable, { skipInvalid: true, lineWidth: 120 })
|
||
|
}
|
||
|
}
|