Tab Atkins Jr. (2013-08-22T02:15:22.000Z)
On Wed, Aug 21, 2013 at 7:13 PM, Domenic Denicola
<domenic at domenicdenicola.com> wrote:
> From: Tab Atkins Jr. [mailto:jackalmage at gmail.com]
>
>> Unless you wanted promise-likes to return fresh objects too?
>
> Yes, that is largely the use case for `Q`/`Promise.as`/whatever. Handing it untrusted input, possible a non-promise, possibly a promise-like, possibly a promise, and getting back a trusted promise.

Okay, that makes sense.

>> The only way to have a completely reliable type test is to use a WeakSet to keep track of instances
>
> I believe this is what Mark's makeQ.js does.
>
>> Do you consider WeakMaps sufficient for polyfillability?
>
> I believe makeQ.js uses a WeakMap polyfill, so yes.

Cool.

~TJ
domenic at domenicdenicola.com (2013-08-29T19:20:00.334Z)
On Wed, Aug 21, 2013 at 7:13 PM, Domenic Denicola <domenic at domenicdenicola.com> wrote:
> From: Tab Atkins Jr. [mailto:jackalmage at gmail.com]
>
>> Unless you wanted promise-likes to return fresh objects too?
>
> Yes, that is largely the use case for `Q`/`Promise.as`/whatever. Handing it untrusted input, possible a non-promise, possibly a promise-like, possibly a promise, and getting back a trusted promise.

Okay, that makes sense.

>> The only way to have a completely reliable type test is to use a WeakSet to keep track of instances
>
> I believe this is what Mark's makeQ.js does.
>
>> Do you consider WeakMaps sufficient for polyfillability?
>
> I believe makeQ.js uses a WeakMap polyfill, so yes.

Cool.