},
};
-const Log = (function () {
+function Log(prefix: string = "vp-") {
var next_log_index = 0;
return {
apply: function (entry: string) {
},
record: function (entry: string) {
- window.localStorage.setItem(`${next_log_index++}`, entry);
+ window.localStorage.setItem(`${prefix}${next_log_index++}`, entry);
},
recordAndApply: function (entry: string) {
replay: function () {
while (true) {
- const entry = window.localStorage.getItem(`${next_log_index}`);
+ const entry = window.localStorage.getItem(`${prefix}${next_log_index}`);
if (entry === null) {
break;
}
}
},
};
-})();
+}
+const log = Log();
const UI = {
addTask: function (description: string) {
- Log.recordAndApply(`${Date.now()} Create ${description}`);
+ log.recordAndApply(`${Date.now()} Create ${description}`);
},
destroyTask: function (createTimestamp: string) {
- Log.recordAndApply(`${Date.now()} Destroy ${createTimestamp} ${Model.getTask(createTimestamp)?.textContent}`);
+ log.recordAndApply(`${Date.now()} Destroy ${createTimestamp} ${Model.getTask(createTimestamp)?.textContent}`);
},
setState: function (createTimestamp: string, state: string) {
- Log.recordAndApply(`${Date.now()} State ${createTimestamp} ${state}`);
+ log.recordAndApply(`${Date.now()} State ${createTimestamp} ${state}`);
},
};
function browserInit() {
document.body.addEventListener("keydown", handleKey, { capture: false });
- Log.replay();
+ log.replay();
}