UNPKG

@yuebai008/cli

Version:

Command line interface for rapid qg-minigame development

1 lines 518 B
import{Trie}from"./Trie.js";export class TextDictionary{words;index;constructor(){this.words=new Map,this.index=Trie.newStringTrie()}addWord(r){let e=this.words.get(r)||0;++e,this.words.set(r,e),this.index.add(r)}removeWord(r){let e=this.words.get(r)||0;if(e){if(1===e)return this.words.delete(r),void this.index.remove(r);--e,this.words.set(r,e)}}wordsWithPrefix(r){return this.index.words(r)}hasWord(r){return this.words.has(r)}wordCount(r){return this.words.get(r)||0}reset(){this.words.clear(),this.index.clear()}}