snips-sam
Version:
The Snips Assistant Manager
33 lines (26 loc) • 765 B
text/typescript
import { Skill } from './skill';
const yaml = require('js-yaml');
const fs = require('fs-extra');
export class Snipsfile {
assistantUrl?: string;
assistantId?: string;
assistantFile?: string;
skills: Skill[];
constructor() {
}
parse(path?: string) {
let snipsfilePath = 'Snipsfile';
if (path) {
snipsfilePath = path;
}
const doc = yaml.safeLoad(fs.readFileSync(snipsfilePath, 'utf8'));
this.assistantUrl = doc.assistant_url;
this.assistantId = doc.assistant_id;
this.assistantFile = doc.assistant_file;
if (doc.skills) {
this.skills = doc.skills.map(skill => new Skill(skill));
} else {
this.skills = [];
}
}
}