Actually, I see that the Node typedefs has all the process declarations in 
global.js.

Is there an issue with adding a dependency in CoreJS to node.swc?

Should a class that has this dependency go somewhere else? (I don’t really see 
an issue with adding the dependency, but I’m throwing this out in case I’m 
missing something.)

Harbs

> On Jul 5, 2017, at 12:00 AM, Harbs <harbs.li...@gmail.com> wrote:
> 
> Looks like it.
> 
> I see this in missing.js:
> 
> /**
> * @export
> * This gets mapped to org.apache.flex.utils.Language.trace() by the compiler
> * @param {...} rest
> */
> function trace(rest) {}
> 
> /**
> * @type {!Console}
> * @const
> */
> var console;
> 
> 
> I guess I can add another one like so:
> 
> /**
> * @type {!Process}
> * @const
> */
> var process;
> 
> However, it seems like a drag to have to add a typedef every time a developer 
> needs to check for the existence of a global that we did not think of.
> 
>> On Jul 4, 2017, at 9:13 PM, Harbs <harbs.li...@gmail.com> wrote:
>> 
>> Thanks. Here’s what I see:
>> 
>> if(typeof window !== "undefined")
>> {
>>      theConsole = window.console;
>> }
>> else if(typeof console !== "undefined")
>> {
>>      theConsole = console;
>> }
>> 
>> Did you define console in a typedef maybe?
>> 
>> I’m thinking that Falcon should really allow undefined variables when used 
>> with “typeof”.
>> 
>> Truth be told, I really need to do something like one of these:
>> if(typeof (process) != 'undefined' && {}.toString.call(process) == '[object 
>> process]’)
>> or:
>> if(typeof process != 'undefined' && process && process.constructor.name == 
>> "process”)
>> 
>> Of course every reference to process causes a compiler error. I wonder if 
>> there’s some way to tell the compiler to accept it without complaining…
>> 
>>> On Jul 4, 2017, at 8:54 PM, Josh Tynjala <joshtynj...@gmail.com> wrote:
>>> 
>>> I don't remember exactly what I did, but in order to get trace() working in
>>> Node.js, I had to figure out how to find the console object on window
>>> versus global. I feel like I remember using typeof, but maybe it was
>>> something else. Take a look at the implementation of Language.trace() to
>>> see what I did.
>>> 
>>> - Josh
>>> 
>>> On Jul 4, 2017 5:26 AM, "Harbs" <harbs.li...@gmail.com> wrote:
>>> 
>>>> I’m trying to figure out how to solve this dilemma:
>>>> 
>>>> Browsers attach global variables to window.
>>>> 
>>>> Node.js attaches globals to global.
>>>> 
>>>> I’m trying to check for the existence of a global called process. In JS,
>>>> you’d generally do that by checking typeof process == ‘undefined’. Falcon
>>>> does not allow you to do that and complains that process is an undefined
>>>> property. In the browser you can use window[“process”] == undefined and in
>>>> node you can (theoretically) use global[“process”] == undefined. I can’t
>>>> think of a generic way to do this though.
>>>> 
>>>> Thoughts?
>>>> Harbs
>> 
> 

Reply via email to