Here: 
http://apache-flex-development.2333347.n4.nabble.com/Node-js-support-td50414.html

Or here: http://mail-archives.apache.org/mod_mbox/flex-dev/201512.mbox/browser

The Flex website has links to the archives here: 
http://flex.apache.org/community-mailinglists.html

On Dec 3, 2015, at 11:02 AM, jude <flexcapaci...@gmail.com> wrote:

> Sorry to interject but how do I get a link to this thread? I've seen them
> in footers before but not this one.
> 
> On Wed, Dec 2, 2015 at 3:29 PM, Josh Tynjala <joshtynj...@gmail.com> wrote:
> 
>> Got it. So if I were trying to hide a require() call, @flexjsignorecoercion
>> could be used in my code without requiring users to do anything. I think I
>> may be able to work with that. I'll play around with it, when I have a
>> moment.
>> 
>> - Josh
>> 
>> On Wed, Dec 2, 2015 at 3:10 PM, Alex Harui <aha...@adobe.com> wrote:
>> 
>>> Currently it works at the method's ASDoc, not at the class level.
>>> 
>>> Here's an excerpt:
>>> 
>>> 
>>> /**
>>>         * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
>>>         * @flexjsignorecoercion HTMLBodyElement
>>>         */
>>>        COMPILE::JS
>>>                override public function start():void
>>>        {
>>>            var body:HTMLBodyElement;
>>> 
>>>            // For createjs, the application is the same as the canvas
>>>            // and it provides convenient access to the stage.
>>> 
>>>            element = document.createElement('canvas') as
>>> WrappedHTMLElement;
>>>            element.id = 'flexjsCanvas';
>>>            element.width = 700;
>>>            element.height = 500;
>>> 
>>>            body = document.getElementsByTagName('body')[0] as
>>> HTMLBodyElement;
>>>            body.appendChild(this.element);
>>> 
>>> ...
>>> 
>>> 
>>> 
>>> 
>>> 
>>> On 12/2/15, 3:07 PM, "Josh Tynjala" <joshtynj...@gmail.com> wrote:
>>> 
>>>> Interesting... I didn't know about that. How would @flexjsignorecoercion
>>>> be
>>>> used? In the asdocs for a class, like this?
>>>> 
>>>> /**
>>>> * @flexjsignorecoercion
>>>> */
>>>> public class MyClass {}
>>>> 
>>>> If I'm understanding your correctly, when using this tag, the JS output
>>>> would not pass the value to Language.as()?
>>>> 
>>>> //as
>>>> var test = something as MyClass;
>>>> 
>>>> //js
>>>> var test = something; //instead of Language.as(something)
>>>> 
>>>> If that's how it works, I think it might be good enough for my needs.
>>>> 
>>>> - Josh
>>>> 
>>>> 
>>>> On Wed, Dec 2, 2015 at 2:51 PM, Alex Harui <aha...@adobe.com> wrote:
>>>> 
>>>>> 
>>>>> 
>>>>> On 12/2/15, 2:37 PM, "Josh Tynjala" <joshtynj...@gmail.com> wrote:
>>>>> 
>>>>>> Oh, I see. I didn't realize that you were thinking that users would
>>>>> import
>>>>>> something and also manually call require(). In that case, yes, you
>>>>> could
>>>>>> still potentially have proper type checking.
>>>>>> 
>>>>>> I like the idea of using some kind of wrapper class to hide the
>>>>> require()
>>>>>> call. It's kind of messy to both import and call require(), so I
>> really
>>>>>> would prefer to hide one or the other, if possible.
>>>>> 
>>>>> It's up to you or whoever writes this code.  A wrapper adds a layer of
>>>>> function calls but does let you hide some ugliness.
>>>>> 
>>>>>> 
>>>>>> There's one thing that seems like an issue to me, though. Using an as
>>>>> cast
>>>>>> with require() will probably result in a null result because what is
>>>>>> returned by require("fs") doesn't actually extend an FS class (or
>>>>>> implement
>>>>>> an FS interface).
>>>>>> 
>>>>>> var fs:FS = require("fs") as FS;
>>>>> 
>>>>> We have this problem already.  There is a special ASDoc tag called
>>>>> @flexjsignorecoercion that suppresses "as" code in the cross-compiled
>>>>> output.  I've considered trying to get the compiler to automatically
>>>>> suppress the "as" code for any "as" usage that references a class in
>> an
>>>>> external-library-path SWC.  That seems like it could fail you in some
>>>>> distributed development cases where you have other code that does
>>>>> support
>>>>> AS in an external-library-path SWC.  We could add file-level
>> suppression
>>>>> as well, or have a config option that lists certain coercions to
>> always
>>>>> suppress.  Definitely open to ideas on this, but the fact is, the
>>>>> compiler
>>>>> will not let you have type-checking without using "as" so you sort of
>>>>> have
>>>>> to have a scheme to deal with it.
>>>>> 
>>>>> -Alex
>>>>> 
>>>>> 
>>> 
>>> 
>> 

Reply via email to