Skip to content

Commit ca26826

Browse files
committed
use wrap_filter
1 parent 25f24b4 commit ca26826

File tree

1 file changed

+4
-12
lines changed

1 file changed

+4
-12
lines changed

src/pipeline/query_pipeline.rs

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -182,18 +182,10 @@ impl RawQueryPipeline {
182182
groups: u32,
183183
filter: &js_sys::Function,
184184
) -> Option<RawPointColliderProjection> {
185-
let filtercb = |handle: ColliderHandle| match filter.call1(
186-
&JsValue::null(),
187-
&JsValue::from(handle.into_raw_parts().0 as u32),
188-
) {
189-
Err(_) => true,
190-
Ok(val) => val.as_bool().unwrap_or(true),
191-
};
192-
let rfilter: Option<&dyn Fn(ColliderHandle) -> bool> = if filter.is_function() {
193-
Some(&filtercb)
194-
} else {
195-
None
196-
};
185+
let rfilter = wrap_filter(filter);
186+
let rfilter = rfilter
187+
.as_ref()
188+
.map(|f| f as &dyn Fn(ColliderHandle) -> bool);
197189

198190
self.0
199191
.project_point_and_get_feature(

0 commit comments

Comments
 (0)