./browser/websocket/
from ./browser/
scrapbox-userscript-std/browser/websocket at main · takker99/scrapbox-userscript-std
websocketを使う函数
開いていないページを自由に書き換えられる
ページの削除やピン留めもできる
./browser/websocket/_codeBlock.ts
./browser/websocket/applyCommit.ts
メタデータを含んだ行にcommitsを適用する
./browser/websocket/deletePage.ts
指定したページを削除する
./browser/websocket/diffToChanges.ts
差分データをwebsocketに渡す形式に変換する
./browser/websocket/findMetadata.ts
./browser/websocket/id.ts
各種IDを取得できる
プロジェクトID
ユーザーID
行ID
IDをUnixTimeに変換することもできるっぽい?
この機能は環境非依存だから、rootに移動したほうがいいかもtakker.icon
./browser/websocket/isSameArray.ts
./browser/websocket/isSimpleCodeFile.ts
./browser/websocket/listen.ts
Streamを購読する
./browser/websocket/makeChanges.ts
更新前のページデータから更新後のページデータに書き換えるのに必要なwebsocket送信用データを作っている
差分書き込みのコアプログラム
./browser/websocket/mod.ts
websocket/直下にあるファイルをbundleに含めるためのファイル
以下のファイルが対象
deletePage.ts
listen.ts
patch.ts
pin.ts
socket.ts
./browser/websocket/patch.ts
ページ全体を書き換える
serverには書き換え前後の差分だけを送信する
./browser/websocket/pin.ts
ページをピン留めしたり外したりする
既にピン留めされているかの確認はここではできない
getPage()で取得可能なデータにピン留めに関する情報が含まれている
./browser/websocket/pull.ts
ページ情報を取得し、オブジェクトとして返す
./browser/websocket/push.ts
./browser/websocket/socket.ts
WebSocketの接続を開始したり終了したりできる
ここで作成した接続はpatch()などに渡すことで使用することができる
./browser/websocket/suggestUnDupTitle.ts
ページタイトルが重複したときに_2とかつけるやつ
assets/index.jsの同名函数を丸コピしただけ
./browser/websocket/updateCodeBlock.ts
./browser/websocket/updateCodeFile.ts