Another really weird one:
/**
* @type {number}
* @see https://www.w3.org/TR/geometry-1/#dom-dommatrixreadonly-m12
*/
DOMMatrixReadOnly.prototype.m12;
/**
* @type {number}
* @see https://www.w3.org/TR/geometry-1/#dom-dommatrixreadonly-m13
*/
DOMMatrixReadOnly.prototype.m13;
Becomes:
/**
* @see JSType - [number]
* @see https://www.w3.org/TR/geometry-1/#dom-dommatrixreadonly-m12
* @see [w3c_geometry1]
*/
public var m12:Number;
/**
* @see JSType - [number]
* @see https://www.w3.org/TR/geometry-1/#dom-dommatrixreadonly-m13
* @see [w3c_geometry1]
*/
public function get m13():Number{ return 0; };
public function set m13(value:Number):void{};
Why did m12 get compiled as a var, while m13 became getters/setters?
(The var causes an error.)
That was just one sampling. Some properties get compiled as varsity and others
as setters/getters.
I did not see any pattern.
> On Feb 18, 2026, at 4:47 PM, Harbs <[email protected]> wrote:
>
> That issue came from fecthapi.js
>
> Other files have other issues.
>
>> On Feb 18, 2026, at 12:32 PM, Yishay Weiss <[email protected]> wrote:
>>
>> Which externs file are you using?
>> ________________________________
>> From: Harbs <[email protected]>
>> Sent: Wednesday, February 18, 2026 12:12 PM
>> To: Apache Royale Development <[email protected]>
>> Subject: typedefs
>>
>> I’m trying to add more js typedefs and I’m running into issues.
>>
>> One issue I just ran into is:
>>
>> /** @type {boolean} */
>> Body.prototype.bodyUsed;
>>
>>
>> /** @override */
>> Request.prototype.bodyUsed;
>>
>> /** @override */
>> Response.prototype.bodyUsed;
>>
>>
>> Request and Response both:
>> * @implements {Body}
>>
>> When compiling, we get an error because the Request and Response
>> setters/getters are typed to “Object”, while the Body ones are correctly
>> types as Booleans.
>>
>> It seems like externc does not find the inherited types using @implements.
>>
>> Is this a bug? Something not implemented? Is it easy to fix?
>>
>> We can add more files to the list we maintain in royale-extras, but I’d like
>> to reduce that rather than increase it.
>>
>> Thoughts?
>>
>> Harbs
>