/* * Copyright (c) 2021-2022, Linus Groh * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include namespace JS { // 9.5.1 JobCallback Records, https://tc39.es/ecma262/#sec-jobcallback-records struct JobCallback { struct CustomData { virtual ~CustomData() = default; }; Handle callback; OwnPtr custom_data { nullptr }; }; JobCallback make_job_callback(FunctionObject& callback); ThrowCompletionOr call_job_callback(VM&, JobCallback&, Value this_value, MarkedVector arguments_list); }