Skip to content

Instantly share code, notes, and snippets.

export default class Trie {
private tree: any = {};
public add(s: string): void {
let cur = this.tree;
for (const c of s) {
if (!cur[c]) cur[c] = { isString: false };
cur = cur[c];
}
cur.isString = true;
type Transition<State, Operation> = (state: State, operation: Operation) => State;
class Store<State, Operation> {
private initialState: State;
private operations: Operation[] = [];
private transition: Transition<State, Operation>;
private currentState: State;
constructor(initialState: State, transition: Transition<State, Operation>) {
this.initialState = initialState;