❌task line (takker-scheduler-3)にeditor操作機能もつける?
データと機能とをひとまとめにしておく方が取り扱いやすい?
設計
実際にeditorを操作する機能をつけたclassとして提供する
async set(params: Partial<Task>)
property操作
与えられたpropertyの通りに、該当行を書き換える
……別にclassにしなくてもよくない?
const newTaskLine = await set(taskLine, params: Partial<Task>)
で十分じゃん
oncompletion
繰り返しタスクとかに使う
移動操作
ページ内移動
Ctrl+Arrow
でなんとかする
ページ間移動
window.open()
を使う
これらはtask lineとは関係ない操作にする?
よくわからん
必要なのは
task lineの移動
新規書き込み
2023-11-27 不採用にした
やめた理由は覚えていないが、現時点でも採用しようとは思わない
理由は
変換函数を用意すれば十分
scrapboxの行の状態と、UserScriptで用意したObjectの状態とを同期させるのが難しい
同一の状態だという前提が壊れる確率が高い
editor操作はDOM操作を伴うもので、
E2Eテストしか不可能
純粋な函数操作と
副作用とは分離したほうがテストできる範囲が広くなるし、その分バグも少なくなる