2016-12-06 14:50:14 +02:00
|
|
|
ImprovEngine = require "improv"
|
2017-06-17 08:57:02 +03:00
|
|
|
ImprovModel = require "./model"
|
2016-12-06 14:50:14 +02:00
|
|
|
fs = require 'fs'
|
|
|
|
CSON = require 'cson'
|
|
|
|
glob = require 'glob'
|
|
|
|
|
|
|
|
files = glob.sync('data/*.cson')
|
|
|
|
spec = {}
|
|
|
|
for file in files
|
|
|
|
data = CSON.parseCSONFile(file)
|
|
|
|
if not data.groups?
|
|
|
|
data.groups = []
|
|
|
|
if data.phrases?
|
|
|
|
data.groups.push({
|
|
|
|
tags: [],
|
|
|
|
phrases: data.phrases
|
|
|
|
})
|
|
|
|
data.phrases = null
|
|
|
|
key = file.substr(0, file.lastIndexOf('.')) || file
|
|
|
|
key = key.replace('data/', '')
|
|
|
|
spec[key] = data
|
|
|
|
|
|
|
|
improv = new ImprovEngine(spec, {
|
|
|
|
filters: [
|
|
|
|
ImprovEngine.filters.mismatchFilter()
|
|
|
|
]
|
|
|
|
reincorporate: true
|
|
|
|
})
|
|
|
|
|
|
|
|
model = new ImprovModel
|
2017-06-17 08:57:02 +03:00
|
|
|
console.log improv.gen('description', model).trim()
|