We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
wrap_filter
1 parent 25f24b4 commit ca26826Copy full SHA for ca26826
src/pipeline/query_pipeline.rs
@@ -182,18 +182,10 @@ impl RawQueryPipeline {
182
groups: u32,
183
filter: &js_sys::Function,
184
) -> 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
+ let rfilter = wrap_filter(filter);
+ let rfilter = rfilter
+ .as_ref()
+ .map(|f| f as &dyn Fn(ColliderHandle) -> bool);
197
198
self.0
199
.project_point_and_get_feature(
0 commit comments