From 42f0b179c89143628976ca3959ee8ee9f63f0730 Mon Sep 17 00:00:00 2001 From: Sorrel Bri Date: Wed, 19 Feb 2020 18:36:42 -0800 Subject: [PATCH] patch transformLexeme to remove empty phoneme object in case of deletion --- src/reducers/reducer.init.js | 2 +- src/reducers/reducer.results.js | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/reducers/reducer.init.js b/src/reducers/reducer.init.js index 24943cf..dad87cb 100644 --- a/src/reducers/reducer.init.js +++ b/src/reducers/reducer.init.js @@ -14,8 +14,8 @@ export const initState = (changesArgument: number): stateType => { '[+ occlusive - nasal]>[+ occlusive + nasal]/n_.', 'a>ɯ/._#', '[+ sonorant - low rounded high back]>0/._.', - // 'nn>nun/._.', // '[+ nasal][+ obstruent]>[+ nasal obstruent aspirated ]/#_.', + // 'nn>nun/._.', // '[+ sonorant rounded]>[+ sonorant - rounded]/._#' ] } diff --git a/src/reducers/reducer.results.js b/src/reducers/reducer.results.js index 45d9c96..e64c695 100644 --- a/src/reducers/reducer.results.js +++ b/src/reducers/reducer.results.js @@ -183,6 +183,8 @@ export const transformLexeme = (lexemeBundle, rule, features) => { if (!isEnvironmentBoundByRule([phoneme], position)) return [...newLexeme, phoneme]; if (!isEnvironmentBoundByRule(lexemeBundle.slice(index, index + post.length), post)) return [...newLexeme, phoneme]; const newPhoneme = swapPhoneme(phoneme, rule.newFeatures[0], features); + // if deletion occurs + if (!newPhoneme.grapheme) return [ ...newLexeme] ; return [...newLexeme, newPhoneme]; }, []) return newLexeme; @@ -212,7 +214,7 @@ export const run = (state: stateType, action: resultsAction): stateType => { const lexiconBundle = formBundleFromLexicon(lexicon)(phones); const passResults = transformLexicon(lexiconBundle)(ruleBundle)(features); const stringifiedPassResults = passResults.map(stringifyResults); - + console.log(passResults) const pass = { pass: epoch.name, lexicon: stringifiedPassResults