On 1/7/19, 2:01 AM, "Olaf Krueger" <m...@olafkrueger.net> wrote:
Hi, sorry for annoying you but there's something which I'd like to understand: If I understand it correctly, the issue is caused by the recent Google Closure thing which expects typed constructor parameters now. If I got it right, Google Closure is used for the JS target only. Closure is the current library that is causing this issue, but there could be others. So, it seems to me that this is a "JS target only" issue which is currently resolved by Yishay's commit [1]. Even if this is maybe not nice, my understanding is that this is only needed for the JS target, within the "COMPILE::JS" sections. So, my question is why this issue needs to be resolved "cross-platform" for other targets. Is it because of an assumption that other targets may also expect typed constructor parameters? Not just platforms, but also runtimes. We might decide to support Blob on other platforms. Or some future EcmaScript version will support strong-typing in the runtime. The other question is why we are allowing the usage of these plain objects as parameters at all. Alex probably already explained it but I don't get it entirely. Is it why it would be too much overhead to create all those needed classes and interfaces? (In case of performance, or in case of effort, ...?). I'd rather not define classes. The BlobPropertyBag isn't too bad, but to create a new Event, you have to define 19 properties most of which will never be used. The factory functions can take various numbers of these properties. HTH, -Alex -- Sent from: https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fapache-royale-development.20373.n8.nabble.com%2F&data=02%7C01%7Caharui%40adobe.com%7C1119571c4b9c483650de08d674871657%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636824520875948615&sdata=NBW2oIPT52RqyOfc7A50niEPbtvqC4jN4GMnXPeVU7s%3D&reserved=0