| 69 | } |
| 70 | |
| 71 | static bool getPromiseDetails(JSContext *cx, unsigned argc, JS::Value *vp) { |
| 72 | JS::CallArgs args = JS::CallArgsFromVp(argc, vp); |
| 73 | JS::RootedObject promise(cx, JS::ToObject(cx, args.get(0))); |
| 74 | JS::RootedValueArray<2> resArr(cx); |
| 75 | |
| 76 | JS::PromiseState state = JS::GetPromiseState(promise); |
| 77 | resArr[0].set(JS::NumberValue((uint32_t)state)); |
| 78 | if (state != JS::PromiseState::Pending) { |
| 79 | JS::Value result = JS::GetPromiseResult(promise); |
| 80 | resArr[1].set(result); |
| 81 | } |
| 82 | |
| 83 | args.rval().setObjectOrNull(JS::NewArrayObject(cx, resArr)); |
| 84 | return true; |
| 85 | } |
| 86 | |
| 87 | static bool getProxyDetails(JSContext *cx, unsigned argc, JS::Value *vp) { |
| 88 | JS::CallArgs args = JS::CallArgsFromVp(argc, vp); |
no test coverage detected