Skip to content

Commit

Permalink
fix: don't treat HandledPromises specially
Browse files Browse the repository at this point in the history
  • Loading branch information
michaelfig committed Aug 14, 2020
1 parent a703e6f commit 9015744
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 16 deletions.
16 changes: 8 additions & 8 deletions packages/produce-promise/src/producePromise.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
/* global harden globalThis */
/* global harden */
// @ts-check

// eslint-disable-next-line spaced-comment
/// <reference types="ses"/>

const BestPromise = globalThis.HandledPromise || Promise;

/**
* @template T
* @typedef {Object} PromiseRecord A reified Promise
Expand Down Expand Up @@ -34,10 +32,12 @@ export function producePromise() {
/** @type {(reason: any) => void} */
let rej = NOOP_INITIALIZER;

const p = new BestPromise((resolve, reject) => {
res = resolve;
rej = reject;
});
const p =
/** @type {Promise<T> & { domain?: any }} */
(new Promise((resolve, reject) => {
res = resolve;
rej = reject;
}));
// Node.js adds the `domain` property which is not a standard
// property on Promise. Because we do not know it to be ocap-safe,
// we remove it.
Expand Down Expand Up @@ -68,6 +68,6 @@ harden(producePromise);
* @returns {maybePromise is Promise} Whether it is a promise
*/
export function isPromise(maybePromise) {
return BestPromise.resolve(maybePromise) === maybePromise;
return Promise.resolve(maybePromise) === maybePromise;
}
harden(isPromise);
16 changes: 8 additions & 8 deletions packages/promise-kit/src/promiseKit.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
/* global harden globalThis */
/* global harden */
// @ts-check

// eslint-disable-next-line spaced-comment
/// <reference types="ses"/>

const BestPromise = globalThis.HandledPromise || Promise;

/**
* @template T
* @typedef {Object} PromiseRecord A reified Promise
Expand Down Expand Up @@ -42,10 +40,12 @@ export function makePromiseKit() {
/** @type {(reason: any) => void} */
let rej = NOOP_INITIALIZER;

const p = new BestPromise((resolve, reject) => {
res = resolve;
rej = reject;
});
const p =
/** @type {Promise<T> & { domain?: any }} */
(new Promise((resolve, reject) => {
res = resolve;
rej = reject;
}));
// Node.js adds the `domain` property which is not a standard
// property on Promise. Because we do not know it to be ocap-safe,
// we remove it.
Expand Down Expand Up @@ -75,6 +75,6 @@ harden(makePromiseKit);
* @returns {maybePromise is Promise} Whether it is a promise
*/
export function isPromise(maybePromise) {
return BestPromise.resolve(maybePromise) === maybePromise;
return Promise.resolve(maybePromise) === maybePromise;
}
harden(isPromise);

0 comments on commit 9015744

Please sign in to comment.