function applyInsertionsForBigrams(bigrams, insertions) {
let newBigrams = new Map
for (const [bigram, count] of bigrams.bigrams.entries()) {
let insertedElement = insertions.get(bigram)
let firstNewBigram = `${bigram[0]}${insertedElement}`
let secondNewBigram = `${insertedElement}${bigram[1]}`
if (newBigrams.has(firstNewBigram))
newBigrams.set(firstNewBigram, newBigrams.get(firstNewBigram) + count)
else
newBigrams.set(firstNewBigram, count)
if (newBigrams.has(secondNewBigram))
newBigrams.set(secondNewBigram, newBigrams.get(secondNewBigram) + count)
else
newBigrams.set(secondNewBigram, count)
}
return {
bigrams: newBigrams,
first: bigrams.first,
last: bigrams.last
}
}