#include "util.h"
#include <emscripten/emscripten.h>

EM_JS(emscripten::EM_VAL, _make_blank_promise_helper, (), {
  // clang-format off
  let capturedResolve;
  let capturedReject;
  const promise = new Promise((resolve, reject) => {
    capturedResolve = resolve;
    capturedReject = reject;
  });
  return Emval.toHandle({promise, capturedResolve, capturedReject});
  // clang-format on
});

emscripten::val make_blank_promise() {
  return emscripten::val::take_ownership(_make_blank_promise_helper());
}
