UNPKG

eliza-core

Version:

A rendition of ELIZA program engine by Weizenbaum sharable for all javascript environments

27 lines (26 loc) 742 B
import * as estring from './estring'; export function translate(prePosts, s) { let work = ' ' + estring.trim(s) + ' '; let lines = []; const toReplace = prePosts.find(search => { const searchResult = estring.match(work, `*${search.src}*`); if (!searchResult) { return false; } lines = searchResult; return true; }); if (toReplace) { work = translate(prePosts, lines[0]) + toReplace.dest.trim() + translate(prePosts, lines[1]); } let forExtract = estring.match(work, ' * '); if (forExtract) { return forExtract[0]; } forExtract = estring.match(work, ' '); if (forExtract) { return ''; } return work; }