From 74c48bcc74fe566d8555eed6792d0bdb2003fff3 Mon Sep 17 00:00:00 2001 From: Moonchild Date: Fri, 3 Jul 2020 14:15:55 +0000 Subject: Issue #618 - Add APIs to query module record errors Ref: BZ 1388728 --- js/src/jsapi.cpp | 14 ++++++++++++++ js/src/jsapi.h | 6 ++++++ 2 files changed, 20 insertions(+) (limited to 'js') diff --git a/js/src/jsapi.cpp b/js/src/jsapi.cpp index 53ea4ebc6..f8c34885b 100644 --- a/js/src/jsapi.cpp +++ b/js/src/jsapi.cpp @@ -4739,6 +4739,20 @@ JS::GetModuleScript(JSContext* cx, JS::HandleObject moduleArg) return moduleArg->as().script(); } +JS_PUBLIC_API(bool) +JS::IsModuleErrored(JSObject* moduleArg) +{ + AssertHeapIsIdle(); + return moduleArg->as().status() == MODULE_STATUS_ERRORED; +} + +JS_PUBLIC_API(JS::Value) +JS::GetModuleError(JSObject* moduleArg) +{ + AssertHeapIsIdle(); + return moduleArg->as().error(); +} + JS_PUBLIC_API(JSObject*) JS_New(JSContext* cx, HandleObject ctor, const JS::HandleValueArray& inputArgs) { diff --git a/js/src/jsapi.h b/js/src/jsapi.h index 9138a4a92..5e0259587 100644 --- a/js/src/jsapi.h +++ b/js/src/jsapi.h @@ -4396,6 +4396,12 @@ GetRequestedModules(JSContext* cx, JS::HandleObject moduleRecord); extern JS_PUBLIC_API(JSScript*) GetModuleScript(JSContext* cx, JS::HandleObject moduleRecord); +extern JS_PUBLIC_API(bool) +IsModuleErrored(JSObject* moduleRecord); + +extern JS_PUBLIC_API(JS::Value) +GetModuleError(JSObject* moduleRecord); + } /* namespace JS */ extern JS_PUBLIC_API(bool) -- cgit v1.2.3