Looking more carefully at the file, I think the warning you posted should be 
the only one like that.  Aren't you getting other errors for some of the 
classes?

I don't know if Sebastian is still following this discussion, but it looks like 
with a few changes, that file could be a valid Google Closure Externs file and 
would then open up use of YFiles for folks who use the Google Closure Compiler, 
which would hopefully be a significant market for them.

Yishay, if you have time you can either manually manipulate that file and get 
it to parse cleanly or write a tool that does it.  I think you first have to 
change:

/**
 * @namespace
 */
yfiles={};

To:

/**
 * @namespace
 * @const
 */
var yfiles={};

Then find places where class members are defined before the class constructor 
and change the order.  So I saw that their Map class constructor is on line 51, 
after the first Map member definition on line 22.  Move line 51 with its JSDoc 
before line 22's JSDoc and see if the warning goes away and the Map class is 
generated.

If you write a tool, it could just for a.b.c.x being defined before a.b.c.

HTH,
-Alex

On 2/4/20, 7:18 AM, "Yishay Weiss" <[email protected]> wrote:

    The interfaces seem to be generated ok, but not classes. I’m getting 
warnings such as
    
         [java] WARNING: [yfiles]:14: WARNING - accessing name yfiles in 
externs has no effect. Perhaps you forgot to add a var keyword?
         [java] yfiles={};
         [java] ^^^^^^
    
    From: Alex Harui<mailto:[email protected]>
    Sent: Tuesday, February 4, 2020 6:33 AM
    To: [email protected]<mailto:[email protected]>; Alex 
Harui<mailto:[email protected]>
    Cc: [email protected]<mailto:[email protected]>
    Subject: Re: YFiles, EPL, Apache
    
    Yishay,
    
    Did you try to run this file through the Royale Externs Compiler?  It looks 
a lot like Google Closure Externs format to me.  You might get lucky and it 
will  "just work" or there will be errors and we can discuss whether YFiles 
wants to have a file that can be directly used by the Google Closure Compiler 
or not.
    
    -Alex
    
    On 2/3/20, 7:02 PM, "Alex Harui" <[email protected]> wrote:
    
        Is this JSDoc file on the internet so I can take a look?
    
        The Royale Externs Compiler uses Google Closure's JavaScript parser 
because externs/typedefs are supposed to be a specially-formatted but valid 
JavaScript, so an AST (different from the one that we generate from MXML/AS) 
can be created from Closure-compatible JavaScript.  It may be possible/better 
to work from the Closure AST in this case.
    
        HTH,
        -Alex
    
        On 2/3/20, 6:57 PM, "Yishay Weiss" <[email protected]> wrote:
    
            Yes, they do have a jsdoc file. Do you think it would be easier to 
maintain a conversion tool for that?
            ________________________________
            From: Alex Harui <[email protected]>
            Sent: Monday, February 3, 2020 8:54:00 PM
            To: [email protected] <[email protected]>
            Cc: [email protected] <[email protected]>
            Subject: Re: YFiles, EPL, Apache
    
            I think I'm missing something.  Sebastian seemed to be saying there 
is a JSDoc-annotated Javascript file that YFiles maintains.  Josh's tool was 
for d.ts files.   If the JSDoc JS file is compatible with Google Closure's 
format, we might be able to consume that.
    
            -Alex
    
            On 2/3/20, 11:51 AM, "Yishay Weiss" <[email protected]> wrote:
    
                Josh had a tool [1] for converting d.ts to typedefs but he said 
it was a full-time job maintaining it and thus aborted.
    
                [1] 
https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FBowlerHatLLC%2Fdts2as&amp;data=02%7C01%7Caharui%40adobe.com%7Cd5055275b6dc4466549908d7a9858c55%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637164263367242281&amp;sdata=vwj5%2BUjX1z9uNk5fI3R%2F08SekA0LmL26lAldSieyh6o%3D&amp;reserved=0
                
[https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Favatars3.githubusercontent.com%2Fu%2F13039185%3Fs%3D400%26v%3D4&amp;data=02%7C01%7Caharui%40adobe.com%7Cd5055275b6dc4466549908d7a9858c55%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637164263367242281&amp;sdata=xCecu7gdYw7y5C4cVr62K5C6Rmr1V%2BUCadMWKy%2FBpYM%3D&amp;reserved=0]<https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FBowlerHatLLC%2Fdts2as&amp;data=02%7C01%7Caharui%40adobe.com%7Cd5055275b6dc4466549908d7a9858c55%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637164263367252278&amp;sdata=r4Udk5sfXD%2BXAJTXC0pBOFpC5DD12GCUpd%2FTVjLkyeM%3D&amp;reserved=0<https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Favatars3.githubusercontent.com%2Fu%2F13039185%3Fs%3D400%26v%3D4&amp;data=02%7C01%7Caharui%40adobe.com%7Cd5055275b6dc4466549908d7a9858c55%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637164263367252278&amp;sdata=31Hk7CeqbAhvlIOD0V3B8vhyUhWCN7Wx0TVJ9lTJ8mE%3D&amp;reserved=0>>
                GitHub - BowlerHatLLC/dts2as: Convert TypeScript definitions 
(d.ts files) into ActionScript classes and interfaces for use as external 
libraries with Apache 
FlexJS<https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FBowlerHatLLC%2Fdts2as&amp;data=02%7C01%7Caharui%40adobe.com%7Cd5055275b6dc4466549908d7a9858c55%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637164263367252278&amp;sdata=r4Udk5sfXD%2BXAJTXC0pBOFpC5DD12GCUpd%2FTVjLkyeM%3D&amp;reserved=0>
                Convert TypeScript definitions (d.ts files) into ActionScript 
classes and interfaces for use as external libraries with Apache FlexJS - 
BowlerHatLLC/dts2as
                github.com
    
                ________________________________
                From: Alex Harui <[email protected]>
                Sent: Monday, February 3, 2020 4:40 PM
                To: [email protected] <[email protected]>
                Cc: [email protected] <[email protected]>
                Subject: Re: YFiles, EPL, Apache
    
                I'm wondering what the "API definition files" look like.  Maybe 
we can quickly write a tool to generate the typedefs.
    
                -Alex
    
                On 2/3/20, 5:07 AM, "Yishay Weiss" <[email protected]> 
wrote:
    
                    Sebastian, on the subject of derivative work on public 
repos, you might want to contact the author of this [1] externs file. He has a 
long list of externs files [2] that were derived from around 3 years ago from 
DefinitelyTyped [3]. We would, of course, not be using this [1] in light of 
your constraints on derivative work.
    
                    [1] 
https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fraw.githubusercontent.com%2Fhonzabrecka%2Fts-to-goog%2Fmaster%2Fexterns%2Fyfiles.extern.js&amp;data=02%7C01%7Caharui%40adobe.com%7Cd5055275b6dc4466549908d7a9858c55%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637164263367252278&amp;sdata=zt4awTFwC8HxYtwREcZH2y4xrSsJN9Z6G5lmlZK12N8%3D&amp;reserved=0
                    [2] 
https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fhonzabrecka%2Fts-to-goog%2Ftree%2Fmaster%2Fexterns&amp;data=02%7C01%7Caharui%40adobe.com%7Cd5055275b6dc4466549908d7a9858c55%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637164263367252278&amp;sdata=64XpHsni9A77M8n2iyxAa5MneGhyGhnU9jfVJURsH4U%3D&amp;reserved=0<https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fhonzabrecka%2Fts-to-goog&amp;data=02%7C01%7Caharui%40adobe.com%7Cd5055275b6dc4466549908d7a9858c55%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637164263367252278&amp;sdata=Hlq7SDjjqeqJFUxq604LGacPjBuPJyHqGAfTAhMGXYU%3D&amp;reserved=0<https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fhonzabrecka%2Fts-to-goog%2Ftree%2Fmaster%2Fexterns&amp;data=02%7C01%7Caharui%40adobe.com%7Cd5055275b6dc4466549908d7a9858c55%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637164263367252278&amp;sdata=64XpHsni9A77M8n2iyxAa5MneGhyGhnU9jfVJURsH4U%3D&amp;reserved=0>>
                    [3] 
https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FDefinitelyTyped%2FDefinitelyTyped&amp;data=02%7C01%7Caharui%40adobe.com%7Cd5055275b6dc4466549908d7a9858c55%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637164263367252278&amp;sdata=7LOzGP%2Bg1G8lfDLUdzyaXyU%2BSrarZdKrR8EOw4A3MVY%3D&amp;reserved=0
    
                    From: Yishay Weiss<mailto:[email protected]>
                    Sent: Monday, February 3, 2020 2:57 PM
                    To: [email protected]<mailto:[email protected]>
                    Cc: 
[email protected]<mailto:[email protected]>
                    Subject: RE: YFiles, EPL, Apache
    
                    As promised, here is the summary of my correspondence with 
yFiles.
    
                    > My questions to Sebastian from yWorks:
                    >
                    > a) Would yWorks allow us to create and publish typedefs 
(think of them
                    > as Royale d.ts files) in our GitHub repository? I would 
also need to
                    > check license issues on the Apache side.
    
                    Our license does not allow publishing such files, which 
would be
                    derivative works from files which are currently under our 
proprietary
                    license. Although we could grant you permission to do that, 
we are
                    currently very hesitant to do so. Here's why: Unless there 
is someone
                    who actively maintains these typings, they would quickly 
become outdated
                    because with every new release we add new features and 
APIs. The only
                    way someone could reasonably maintain such a file (about 
10k public API
                    members, 7 MB TypeScript definition file) would be through a
                    (semi-automatic?) conversion process. Thus both from a 
practical and
                    legal perspective it would make a lot more sense to have a 
tool that
                    reads our API definition files and creates the typedefs. 
Any licensed
                    yFiles user could make use of this tool and would always 
get the
                    typedefs matching her yFiles version.
    
                    For you reference: This is what someone else did to get 
yFiles for HTML
                    to work seemlessly with Kotlin/JS: 
https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fturansky%2Fyfiles-kotlin&amp;data=02%7C01%7Caharui%40adobe.com%7Cd5055275b6dc4466549908d7a9858c55%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637164263367252278&amp;sdata=5CPmpNE4gtbtTWcQ91za%2B3e16Z6aI%2Fm%2BshfTF99C4vQ%3D&amp;reserved=0
                    They got explicit permission from us for this (because they 
do not
                    publish the original files).
    
                    >
                    > b) Would yWorks consider porting yFiles to Royale?
    
                    Yes, if and once we get reasonable amount of feedback and 
customer
                    interest. If you're interested in licensing yFiles for 
Apache Royale,
                    please do state so and/or contact our support team:  
yworks.com/contact<https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fyworks.com%2Fcontact&amp;data=02%7C01%7Caharui%40adobe.com%7Cd5055275b6dc4466549908d7a9858c55%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637164263367262267&amp;sdata=umi3iFM0YIY3iQs4g7LtOaj1ZqWQ8TcCd8lYs%2FYaoqU%3D&amp;reserved=0>
                    FWIW the vast majoriy of our previous yFiles FLEX customers 
has
                    successfully migrated to "native web" technologies and is 
now happily
                    using yFiles for HTML: With the current state of Apache 
Royale and the
                    web, we don't see that Apache Royale has gained enough 
traction that
                    would justify the efforts.
                    We currently believe that creating the diagramming part 
using "classic"
                    TypeScript/JavaScript and wrapping the resulting component 
up in a small
                    Royale component with a tiny API surface is the superios 
and more
                    efficient approach.
    
    
                    From: Yishay Weiss<mailto:[email protected]>
                    Sent: Sunday, January 12, 2020 11:37 PM
                    To: [email protected]<mailto:[email protected]>
                    Subject: RE: YFiles, EPL, Apache
    
                    Ok, I contacted them. I’ll let you guys know.
    
                    ________________________________
                    From: Carlos Rovira <[email protected]>
                    Sent: Sunday, January 12, 2020 6:58:17 PM
                    To: [email protected] <[email protected]>
                    Subject: Re: YFiles, EPL, Apache
    
                    Hi,
    
                    I think you should contact yFiles directly and talk with 
them about it.
                    That's better to try to figure if something could be wrong 
in the future.
    
                    My understanding is that he should be able to give you 
permission since it
                    implies make his commercial lib to clients that want to use 
in Royale.
                    So that clientes will still need to pay for the commercial 
version, while
                    if no typedefs are done, it will be more difficult to do.
    
    
    
                    El dom., 12 ene. 2020 a las 16:30, Yishay Weiss 
(<[email protected]>)
                    escribió:
    
                    >
                    > Hi,
                    >
                    > Before I start making inquiries in legal I wonder if 
anyone here can give
                    > me some guidance.
                    >
                    > I want to create typedefs for yFiles [1], using an 
externs [2] file that’s
                    > under an EPL [3]. Should that be a problem?
                    >
                    > This issue [4] makes me extra cautious.
                    >
                    > Thanks.
                    >
                    > [1] 
https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.yworks.com%2Fproducts%2Fyfiles-for-html&amp;data=02%7C01%7Caharui%40adobe.com%7Cd5055275b6dc4466549908d7a9858c55%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637164263367262267&amp;sdata=kj7mkZg71GRi04xWT%2BeYRM5I0bcezP1E0JvKhhyDzJQ%3D&amp;reserved=0
                    > [2]
                    > 
https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fraw.githubusercontent.com%2Fhonzabrecka%2Fts-to-goog%2Fmaster%2Fexterns%2Fyfiles.extern.js&amp;data=02%7C01%7Caharui%40adobe.com%7Cd5055275b6dc4466549908d7a9858c55%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637164263367262267&amp;sdata=XCiiHhUprj7lJQRqgMNZSI4QKdnQXjIh5ColsDYc%2Fh8%3D&amp;reserved=0
                    > [3] 
https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fhonzabrecka%2Fts-to-goog%2Fblob%2Fmaster%2FLICENSE&amp;data=02%7C01%7Caharui%40adobe.com%7Cd5055275b6dc4466549908d7a9858c55%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637164263367262267&amp;sdata=%2F%2Bh%2B4l2szo8LuiM4v6ntVa45QzgKTKF%2Fe%2BwbHgHxYcw%3D&amp;reserved=0
                    > [4] 
https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FDefinitelyTyped%2FDefinitelyTyped%2Fissues%2F23310&amp;data=02%7C01%7Caharui%40adobe.com%7Cd5055275b6dc4466549908d7a9858c55%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637164263367262267&amp;sdata=63UKLX2bBWRSxYqfJi8BqMUxTHxVFSJLULNVpycOE%2FU%3D&amp;reserved=0
                    >
    
    
                    --
                    Carlos Rovira
                    
https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&amp;data=02%7C01%7Caharui%40adobe.com%7Cd5055275b6dc4466549908d7a9858c55%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637164263367262267&amp;sdata=Mhkrwt3Lfx03P2P5alBZSkYjH0oxRh%2F26Wy8%2FNopCuU%3D&amp;reserved=0
    
    
    
    
    
    
    
    
    
    

Reply via email to