On 11/7/16, 1:54 PM, "Harbs" <[email protected]> wrote:
>I described CEP in my response which I just sent.
>
>CEP adds a number of global “classes" (such as CSInterface, CSEvent,
>Vulcan, etc.) It also has a built in Node environment, so you can use
>require(), Buffer, etc.
>
>These features are all easily handled by typedefs.
>
>The only sticky one is the “cep” object which is attached to window
>automatically by Adobe. This prompted my question.
Why can't you do roughly what JQuery's typedefs do? Jquery looks like:
/**
* @constructor
*/
function jQuery(arg1, arg2) {}
/**
* @const
* @type {!jQuery}
*/
var $ = jQuery;
/**
*/
jQuery.prototype.add = function(arg1, context) {};
So wouldn't CEP look like:
/**
* @constructor
*/
function CEP(arg1, arg2) {}
/**
* @const
* @type {!CEP}
*/
var cep = CEP;
/**
*/
CEP.prototype.add = function(arg1, context) {};
-Alex
>
>On Nov 7, 2016, at 11:47 PM, Alex Harui <[email protected]> wrote:
>
>>
>>
>> On 11/7/16, 1:37 PM, "Josh Tynjala" <[email protected]> wrote:
>>
>>> As far as I know, there's no way to do it without compiling a new SWC
>>> using
>>> the sources from js.swc and including your additional APIs.
>>>
>>> That's not necessarily a bad thing. In fact, I'd say it's a best
>>>practice.
>>> Ideally, I would have built node.swc to also include a subset of
>>>what's in
>>> js.swc, instead of also including js.swc. Using js.swc for Node.js apps
>>> exposes a bunch of classes that don't actually exist in Node.js. I
>>>hope to
>>> clean that up eventually. This Adobe CEP sounds like a similar
>>>situation.
>>> It's a different environment, even if there's a lot of overlap.
>>
>> Is CEP a different environment, or just a new feature? I agree about
>>Node
>> being a different environment. On the other hand, Cordova is a new
>> feature added to a browser, so there is a separate cordova.swc that you
>> use along with js.swc.
>>
>> I think the first decision is what you want the API to look like. Is
>>cep
>> a singleton? Or an instance of something?
>>
>> -Alex
>>
>