HE Shi-Jun
HE Shi-Jun
I am not sure whether I understand all the things, but it seems all other things can be achieved by `applyMethod` and `applyMethodSendOnly`. If consider convenience and the syntax (wavy...
Allow specifying function value for "subsequentCalls" seems too powerful. Simple argument like `fn.once({ throwOnSecondCall: true })` or simpler `fn.once('throwOnSecondCall')` seems enough.
I just realize this issue is much tough than I thought. I agree with @bakkot, Option 0 (cache) behavior seems the best match most ecosystem lib. And I don't like...
> i have no idea why that's a function rather than just a variable (const v = function.sent). Sorry I wrote a bad example, fixed now. > why it would...
> you could think of it as a getter on `function`. Yeah, but it still not solve the "no simple way to alias it" problem. And if we think it...
> To hide just the source: `”hide implementation source;”` (this hides line/col info from stacks as well, but not the frames themselves) > > To hide the function from stack...
If we really want `"hide stack" // toString still work`, I think we could allow both order (`"hide source, stack"` and `"hide stack, source"`).
Well, even we don't support list in a single directive string, it could be a list anyway: ```js 'use strict'; 'sensitive'; 'hide implementation'; ... ``` Any order can work, and...
I assume static `Function.once` do not have webcompt issue?
One possible solution of webcomp is using meta method syntax, `function.once` or `do.once` ( `do.once` may be not good for this proposal, but `do.pipe` seems ok for `Function.pipe` proposal.)