Skip to content

Commit 9c82675

Browse files
committed
[MERGE #5138 @kfarnung] Promise API feedback
Merge pull request #5138 from kfarnung:promises
2 parents 1c76177 + 8365878 commit 9c82675

File tree

4 files changed

+21
-17
lines changed

4 files changed

+21
-17
lines changed

bin/NativeTests/JsRTApiTest.cpp

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2676,12 +2676,12 @@ namespace JsRTApiTest
26762676
// Create resolvable promise
26772677
REQUIRE(JsCreatePromise(&promise, &resolve, &reject) == JsNoError);
26782678

2679-
JsPromiseState state = JsPromiseState_Pending;
2679+
JsPromiseState state = JsPromiseStatePending;
26802680
REQUIRE(JsGetPromiseState(promise, &state) == JsNoError);
2681-
CHECK(state == JsPromiseState_Pending);
2681+
CHECK(state == JsPromiseStatePending);
26822682

26832683
result = JS_INVALID_REFERENCE;
2684-
CHECK(JsGetPromiseResult(promise, &result) == JsErrorInvalidArgument);
2684+
CHECK(JsGetPromiseResult(promise, &result) == JsErrorPromisePending);
26852685
CHECK(result == JS_INVALID_REFERENCE);
26862686

26872687
JsValueRef num = JS_INVALID_REFERENCE;
@@ -2690,9 +2690,9 @@ namespace JsRTApiTest
26902690
std::array<JsValueRef, 2> args{ GetUndefined(), num };
26912691
REQUIRE(JsCallFunction(resolve, args.data(), static_cast<unsigned short>(args.size()), &result) == JsNoError);
26922692

2693-
state = JsPromiseState_Pending;
2693+
state = JsPromiseStatePending;
26942694
REQUIRE(JsGetPromiseState(promise, &state) == JsNoError);
2695-
CHECK(state == JsPromiseState_Fulfilled);
2695+
CHECK(state == JsPromiseStateFulfilled);
26962696

26972697
result = JS_INVALID_REFERENCE;
26982698
REQUIRE(JsGetPromiseResult(promise, &result) == JsNoError);
@@ -2704,12 +2704,12 @@ namespace JsRTApiTest
27042704
// Create rejectable promise
27052705
REQUIRE(JsCreatePromise(&promise, &resolve, &reject) == JsNoError);
27062706

2707-
state = JsPromiseState_Pending;
2707+
state = JsPromiseStatePending;
27082708
REQUIRE(JsGetPromiseState(promise, &state) == JsNoError);
2709-
CHECK(state == JsPromiseState_Pending);
2709+
CHECK(state == JsPromiseStatePending);
27102710

27112711
result = JS_INVALID_REFERENCE;
2712-
CHECK(JsGetPromiseResult(promise, &result) == JsErrorInvalidArgument);
2712+
CHECK(JsGetPromiseResult(promise, &result) == JsErrorPromisePending);
27132713
CHECK(result == JS_INVALID_REFERENCE);
27142714

27152715
num = JS_INVALID_REFERENCE;
@@ -2718,9 +2718,9 @@ namespace JsRTApiTest
27182718
args = { GetUndefined(), num };
27192719
REQUIRE(JsCallFunction(reject, args.data(), static_cast<unsigned short>(args.size()), &result) == JsNoError);
27202720

2721-
state = JsPromiseState_Pending;
2721+
state = JsPromiseStatePending;
27222722
REQUIRE(JsGetPromiseState(promise, &state) == JsNoError);
2723-
CHECK(state == JsPromiseState_Rejected);
2723+
CHECK(state == JsPromiseStateRejected);
27242724

27252725
result = JS_INVALID_REFERENCE;
27262726
REQUIRE(JsGetPromiseResult(promise, &result) == JsNoError);

lib/Jsrt/ChakraCommon.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,10 @@ typedef unsigned short uint16_t;
230230
/// </summary>
231231
JsNoWeakRefRequired,
232232
/// <summary>
233+
/// The <c>Promise</c> object is still in the pending state.
234+
/// </summary>
235+
JsErrorPromisePending,
236+
/// <summary>
233237
/// Category of errors that relates to errors occurring within the engine itself.
234238
/// </summary>
235239
JsErrorCategoryEngine = 0x20000,

lib/Jsrt/ChakraCore.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,9 @@ typedef enum JsModuleHostInfoKind
6363
/// </summary>
6464
typedef enum _JsPromiseState
6565
{
66-
JsPromiseState_Pending = 0x0,
67-
JsPromiseState_Fulfilled = 0x1,
68-
JsPromiseState_Rejected = 0x2
66+
JsPromiseStatePending = 0x0,
67+
JsPromiseStateFulfilled = 0x1,
68+
JsPromiseStateRejected = 0x2
6969
} JsPromiseState;
7070

7171
/// <summary>

lib/Jsrt/Jsrt.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5120,7 +5120,7 @@ CHAKRA_API JsGetPromiseState(_In_ JsValueRef promise, _Out_ JsPromiseState *stat
51205120
VALIDATE_INCOMING_REFERENCE(promise, scriptContext);
51215121
PARAM_NOT_NULL(state);
51225122

5123-
*state = JsPromiseState_Pending;
5123+
*state = JsPromiseStatePending;
51245124

51255125
if (!Js::JavascriptPromise::Is(promise))
51265126
{
@@ -5133,11 +5133,11 @@ CHAKRA_API JsGetPromiseState(_In_ JsValueRef promise, _Out_ JsPromiseState *stat
51335133
switch (status)
51345134
{
51355135
case Js::JavascriptPromise::PromiseStatus::PromiseStatusCode_HasRejection:
5136-
*state = JsPromiseState_Rejected;
5136+
*state = JsPromiseStateRejected;
51375137
break;
51385138

51395139
case Js::JavascriptPromise::PromiseStatus::PromiseStatusCode_HasResolution:
5140-
*state = JsPromiseState_Fulfilled;
5140+
*state = JsPromiseStateFulfilled;
51415141
break;
51425142
}
51435143

@@ -5165,7 +5165,7 @@ CHAKRA_API JsGetPromiseResult(_In_ JsValueRef promise, _Out_ JsValueRef *result)
51655165

51665166
if (jsResult == nullptr)
51675167
{
5168-
return JsErrorInvalidArgument;
5168+
return JsErrorPromisePending;
51695169
}
51705170

51715171
*result = (JsValueRef)jsResult;

0 commit comments

Comments
 (0)