jsonix icon indicating copy to clipboard operation
jsonix copied to clipboard

sourceIsEvt is not defined - when used with TypeScript and target ES6

Open boeckMt opened this issue 5 years ago • 3 comments

Hello,

i'm trying to use jsonix in an Angular 8 application, wenn setting the TypeScript target to ES6/ES2015 there is an ReferenceError because 'sourceIsEvt' was not declared before it is used.

jsonix.js:34 Uncaught ReferenceError: sourceIsEvt is not defined
    at Object.Jsonix.Util.extend (jsonix.js:34)
   ...

which is pointing to nodejs/scripts/jsonix.js

and i think the same in scripts/src/main/javascript/org/hisrc/jsonix/Jsonix/Util.js


I don't see any further usage of this variable in the code so is it possible to declare it with 'var' or is there any reason why this variable should by global?

And if it should be global then maybe it could be declared like this:

var windowIsDefined = typeof window !== 'undefined' && window !== null;
    if (windowIsDefined) {
        window.sourceIsEvt = typeof window.Event === "function" && source instanceof window.Event;
        if (!window.sourceIsEvt && source.hasOwnProperty && source.hasOwnProperty('toString')) {
          destination.toString = source.toString;
      }
 }

boeckMt avatar Feb 20 '20 14:02 boeckMt

@boeckMt not sure it's actually a global

a simple var infront seems to do the trick

Knochenmark avatar Apr 22 '22 11:04 Knochenmark

@Knochenmark, yes I used the same trick.

But I think this repo is no longer actively developed. Maybe someone of the forkers is willing to fix bugs.

boeckMt avatar Apr 25 '22 08:04 boeckMt

@Knochenmark, yes I used the same trick.

But I think this repo is no longer actively developed. Maybe someone of the forkers is willing to fix bugs.

Fixed, PR: https://github.com/highsource/jsonix/pull/266 To test: https://www.npmjs.com/package/@opentempl/jsonix/v/3.0.0-issues-238

romdhanisam avatar Sep 05 '22 10:09 romdhanisam