[ANN] Akasha: Typed Browser API version 0.17 released

Skip to first unread message

Peter Donald

Aug 2, 2021, 2:40:13 AMAug 2
to GWT Mailing List
Akasha is a typed browser API layer that is always up to date with the latest web specifications.

Changes since the 0.14 release include:

  • Convert the following types into const enum representation to improve usability in the java binding. The types modified include: GPUBufferUsageFlagsGPUShaderStageFlagsGPUMapModeFlagsGPUColorWriteFlags and GPUTextureUsageFlags.
  • Fix the typing of the RegExpResult type so that it is typed as an Array in the akasha:gwt artifact but continues to be typed as RegExpResult for the akasha:j2cl artifact. A change introduced in version v0.11 made it impossible to cast instances of this type in a GWT application without an unchecked cast because GWT was expecting a native javascript type of RegExpResult which is actually a closure type and not a javascript type.
  • Improve the typing of HTMLSelectElement.selectedOptions so accessing an element from the collection does not require casts.
  • Change JsObject.create(...)JsObject.getPrototypeOf(...) and JsObject.assign(...) operations so that they return an instance of type JsObject rather than an instance of type Object.
  • Explicitly override the HTMLOptionsCollection.item(...) and HTMLOptionsCollection.namedItem(...) operations inherited from HTMLCollection as the HTMLOptionsCollection interface guarantees that the return type is HTMLOptionElement and thus the usability of the generated classes and externs can be improved by encoding this constraint.
  • Correct the javadocs for the JsObject.valueOf_() operation.
  • Define the JsObject.toString_() operation.
  • Define the JsObject.hasOwnProperty() operation.
  • Define the JsObject.propertyIsEnumerable() operation.
  • Define the JsObject.isPrototypeOf() operation.
  • Update the way that the Dictionary factory methods are generated so that the parameters in the factory method are in the same order as they appear in the specification. For some specifications (i.e. WebGPU) the order of members has some semantic connotations (i.e. The rgb and a members of the GPUColorDict should appear in that order in the generated code to respect the way the users of the API expect to arrange the data.)

To learn more about Akasha and get started:



The Akasha Team
Reply all
Reply to author
0 new messages