From 472916ef1381e1fd2ff021e47fa36a993b44033a Mon Sep 17 00:00:00 2001 From: metamuffin Date: Mon, 2 Jun 2025 22:50:17 +0200 Subject: support query for key existance --- scripts/enqueue.ts | 2 +- src/worker_ws.rs | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/scripts/enqueue.ts b/scripts/enqueue.ts index d2b4729..0c99a79 100644 --- a/scripts/enqueue.ts +++ b/scripts/enqueue.ts @@ -9,7 +9,7 @@ async function run_enqueue(eqt: EnqueueTask) { t: "query", state: "complete", kind: eqt.kind, - data: eqt.filter ? { failed: eqt.filter } : null, + data: { failed: eqt.filter ?? null }, cookie: "for_enqueue" })) return diff --git a/src/worker_ws.rs b/src/worker_ws.rs index bf0bf7f..fa43721 100644 --- a/src/worker_ws.rs +++ b/src/worker_ws.rs @@ -265,8 +265,14 @@ impl State { continue 'taskloop; }; for (k, v) in &data { - if cdata.get(k) != Some(v) { - continue 'taskloop; + if v.is_null() { + if !cdata.contains_key(k) { + continue 'taskloop; + } + } else { + if cdata.get(k) != Some(v) { + continue 'taskloop; + } } } } -- cgit v1.2.3-70-g09d2