Re: [whatwg/streams] Add helpers to use initial values of Promise methods (#1010)

ricea commented on this pull request.



> @@ -157,11 +157,38 @@ exports.MakeSizeAlgorithmFromSizeFunction = size => {
   return chunk => size(chunk);
 };
 
-exports.PerformPromiseThen = (promise, onFulfilled, onRejected) => {
+const originalPromise = Promise;
+const originalPromiseThen = Promise.prototype.then;
+const originalPromiseResolve = Promise.resolve;
+const originalPromiseReject = Promise.reject;
+
+function CreatePromise(executor) {
+  return new originalPromise(executor);
+}
+
+function PromiseResolve(value) {
+  return originalPromiseResolve.call(originalPromise, value);
+}
+
+function PromiseReject(reason) {

Generally where we have a function that's not an abstract operation we start it with a lowercase letter, but I'm not 100% sure whether that's the right thing to do with these.

`PerformPromiseCatch` is probably too misleading, as it makes it sound like it is a standard operation. I think we can split it into two cases: `setPromiseIsHandled()` and `rethrowAssertions()`.

I think I prefer to use the names from the promises guide, so we have `aNewPromise()`, `aPromiseRejectedWith()`, and `aPromiseResolvedWith()`. Yes, these names are ugly but they help the reference implementation match the standard text. We should probably explicitly write `aPromiseResolvedWith(undefined)` to get it to read smoothly.

Since this contradicts what you want to do, I'd like to ask @domenic to be the stylistic judge here.



-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/whatwg/streams/pull/1010#discussion_r315474067

Received on Tuesday, 20 August 2019 01:27:27 UTC