Jelajahi Sumber

LibJS: Allow JS::create_heap_function to accept a lambda

This helps us avoid from needing to construct a Function<T> when
invoking `create_heap_function` with a lambda.

Co-Authored-By: Ali Mohammad Pur <mpfard@serenityos.org>
Shannon Booth 1 tahun lalu
induk
melakukan
e118430648
1 mengubah file dengan 3 tambahan dan 3 penghapusan
  1. 3 3
      Userland/Libraries/LibJS/Heap/HeapFunction.h

+ 3 - 3
Userland/Libraries/LibJS/Heap/HeapFunction.h

@@ -41,10 +41,10 @@ private:
     Function<T> m_function;
     Function<T> m_function;
 };
 };
 
 
-template<typename T>
-static NonnullGCPtr<HeapFunction<T>> create_heap_function(Heap& heap, Function<T> function)
+template<typename Callable, typename T = EquivalentFunctionType<Callable>>
+static NonnullGCPtr<HeapFunction<T>> create_heap_function(Heap& heap, Callable&& function)
 {
 {
-    return HeapFunction<T>::create(heap, move(function));
+    return HeapFunction<T>::create(heap, Function<T> { forward<Callable>(function) });
 }
 }
 
 
 }
 }