@gtkx/ffi 0.9.3 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1276) hide show
  1. package/README.md +55 -67
  2. package/dist/batch.d.ts +58 -16
  3. package/dist/batch.js +69 -16
  4. package/dist/cairo/cairo.d.ts +322 -129
  5. package/dist/cairo/cairo.js +384 -246
  6. package/dist/cairo/index.d.ts +0 -13
  7. package/dist/cairo/index.js +0 -13
  8. package/dist/generated/adw/about-dialog.d.ts +19 -19
  9. package/dist/generated/adw/about-dialog.js +46 -45
  10. package/dist/generated/adw/about-window.d.ts +16 -16
  11. package/dist/generated/adw/about-window.js +43 -42
  12. package/dist/generated/adw/action-row.d.ts +1 -1
  13. package/dist/generated/adw/action-row.js +9 -8
  14. package/dist/generated/adw/alert-dialog.d.ts +2 -2
  15. package/dist/generated/adw/alert-dialog.js +47 -46
  16. package/dist/generated/adw/animation-target.js +3 -1
  17. package/dist/generated/adw/animation.js +16 -15
  18. package/dist/generated/adw/application-window.d.ts +5 -30
  19. package/dist/generated/adw/application-window.js +49 -13
  20. package/dist/generated/adw/application.d.ts +5 -45
  21. package/dist/generated/adw/application.js +40 -4
  22. package/dist/generated/adw/avatar.d.ts +1 -1
  23. package/dist/generated/adw/avatar.js +4 -2
  24. package/dist/generated/adw/banner.js +11 -22
  25. package/dist/generated/adw/bin.js +3 -1
  26. package/dist/generated/adw/bottom-sheet.js +8 -7
  27. package/dist/generated/adw/breakpoint-bin.d.ts +19 -19
  28. package/dist/generated/adw/breakpoint-bin.js +22 -20
  29. package/dist/generated/adw/breakpoint-condition.js +25 -7
  30. package/dist/generated/adw/breakpoint.d.ts +4 -4
  31. package/dist/generated/adw/breakpoint.js +17 -16
  32. package/dist/generated/adw/button-content.d.ts +9 -9
  33. package/dist/generated/adw/button-content.js +12 -10
  34. package/dist/generated/adw/button-row.js +8 -7
  35. package/dist/generated/adw/carousel-indicator-dots.js +3 -1
  36. package/dist/generated/adw/carousel-indicator-lines.js +3 -1
  37. package/dist/generated/adw/carousel.js +8 -7
  38. package/dist/generated/adw/clamp-layout.js +4 -2
  39. package/dist/generated/adw/clamp-scrollable.js +3 -1
  40. package/dist/generated/adw/clamp.js +3 -1
  41. package/dist/generated/adw/combo-row.js +18 -17
  42. package/dist/generated/adw/dialog.js +8 -7
  43. package/dist/generated/adw/entry-row.d.ts +6 -3
  44. package/dist/generated/adw/entry-row.js +27 -10
  45. package/dist/generated/adw/enum-list-item.js +4 -2
  46. package/dist/generated/adw/enum-list-model.d.ts +1 -5
  47. package/dist/generated/adw/enum-list-model.js +25 -4
  48. package/dist/generated/adw/expander-row.js +3 -1
  49. package/dist/generated/adw/flap.js +3 -1
  50. package/dist/generated/adw/header-bar.d.ts +18 -18
  51. package/dist/generated/adw/header-bar.js +21 -19
  52. package/dist/generated/adw/inline-view-switcher.js +3 -1
  53. package/dist/generated/adw/layout-slot.js +3 -1
  54. package/dist/generated/adw/layout.js +4 -2
  55. package/dist/generated/adw/leaflet-page.js +4 -2
  56. package/dist/generated/adw/leaflet.js +3 -1
  57. package/dist/generated/adw/message-dialog.d.ts +2 -2
  58. package/dist/generated/adw/message-dialog.js +42 -41
  59. package/dist/generated/adw/multi-layout-view.d.ts +45 -45
  60. package/dist/generated/adw/multi-layout-view.js +48 -46
  61. package/dist/generated/adw/navigation-page.js +8 -7
  62. package/dist/generated/adw/navigation-split-view.d.ts +33 -33
  63. package/dist/generated/adw/navigation-split-view.js +36 -34
  64. package/dist/generated/adw/navigation-view.js +48 -47
  65. package/dist/generated/adw/overlay-split-view.d.ts +20 -20
  66. package/dist/generated/adw/overlay-split-view.js +23 -21
  67. package/dist/generated/adw/password-entry-row.d.ts +3 -0
  68. package/dist/generated/adw/password-entry-row.js +24 -7
  69. package/dist/generated/adw/preferences-dialog.js +8 -7
  70. package/dist/generated/adw/preferences-group.js +3 -1
  71. package/dist/generated/adw/preferences-page.d.ts +2 -2
  72. package/dist/generated/adw/preferences-page.js +5 -3
  73. package/dist/generated/adw/preferences-row.js +3 -1
  74. package/dist/generated/adw/preferences-window.js +3 -1
  75. package/dist/generated/adw/property-animation-target.js +4 -2
  76. package/dist/generated/adw/shortcut-label.js +3 -1
  77. package/dist/generated/adw/shortcuts-dialog.js +57 -56
  78. package/dist/generated/adw/shortcuts-item.js +4 -2
  79. package/dist/generated/adw/shortcuts-section.d.ts +1 -13
  80. package/dist/generated/adw/shortcuts-section.js +25 -4
  81. package/dist/generated/adw/spin-row.d.ts +6 -3
  82. package/dist/generated/adw/spin-row.js +37 -20
  83. package/dist/generated/adw/spinner-paintable.d.ts +2 -28
  84. package/dist/generated/adw/spinner-paintable.js +25 -10
  85. package/dist/generated/adw/spinner.d.ts +4 -4
  86. package/dist/generated/adw/spinner.js +7 -5
  87. package/dist/generated/adw/split-button.d.ts +2 -2
  88. package/dist/generated/adw/split-button.js +15 -26
  89. package/dist/generated/adw/spring-animation.js +8 -7
  90. package/dist/generated/adw/spring-params.js +8 -2
  91. package/dist/generated/adw/squeezer-page.js +4 -2
  92. package/dist/generated/adw/squeezer.js +3 -1
  93. package/dist/generated/adw/status-page.js +3 -1
  94. package/dist/generated/adw/style-manager.js +6 -4
  95. package/dist/generated/adw/swipe-tracker.js +9 -8
  96. package/dist/generated/adw/switch-row.js +10 -9
  97. package/dist/generated/adw/tab-bar.js +11 -10
  98. package/dist/generated/adw/tab-button.js +13 -24
  99. package/dist/generated/adw/tab-overview.js +11 -10
  100. package/dist/generated/adw/tab-page.d.ts +5 -6
  101. package/dist/generated/adw/tab-page.js +8 -5
  102. package/dist/generated/adw/tab-view.js +9 -8
  103. package/dist/generated/adw/timed-animation.js +8 -7
  104. package/dist/generated/adw/toast-overlay.d.ts +3 -3
  105. package/dist/generated/adw/toast-overlay.js +6 -4
  106. package/dist/generated/adw/toast.js +41 -52
  107. package/dist/generated/adw/toggle-group.d.ts +17 -17
  108. package/dist/generated/adw/toggle-group.js +20 -18
  109. package/dist/generated/adw/toggle.js +4 -2
  110. package/dist/generated/adw/toolbar-view.d.ts +8 -8
  111. package/dist/generated/adw/toolbar-view.js +11 -9
  112. package/dist/generated/adw/view-stack-page.d.ts +5 -6
  113. package/dist/generated/adw/view-stack-page.js +8 -5
  114. package/dist/generated/adw/view-stack-pages.d.ts +13 -16
  115. package/dist/generated/adw/view-stack-pages.js +43 -15
  116. package/dist/generated/adw/view-stack.d.ts +13 -13
  117. package/dist/generated/adw/view-stack.js +16 -14
  118. package/dist/generated/adw/view-switcher-bar.d.ts +29 -29
  119. package/dist/generated/adw/view-switcher-bar.js +32 -30
  120. package/dist/generated/adw/view-switcher-title.d.ts +25 -25
  121. package/dist/generated/adw/view-switcher-title.js +28 -26
  122. package/dist/generated/adw/view-switcher.d.ts +29 -29
  123. package/dist/generated/adw/view-switcher.js +32 -30
  124. package/dist/generated/adw/window-title.js +3 -1
  125. package/dist/generated/adw/window.d.ts +32 -32
  126. package/dist/generated/adw/window.js +35 -33
  127. package/dist/generated/adw/wrap-box.js +3 -1
  128. package/dist/generated/adw/wrap-layout.js +4 -2
  129. package/dist/generated/appstream/agreement-section.js +4 -2
  130. package/dist/generated/appstream/agreement.js +4 -2
  131. package/dist/generated/appstream/artifact.js +4 -2
  132. package/dist/generated/appstream/branding.js +4 -2
  133. package/dist/generated/appstream/bundle.js +4 -2
  134. package/dist/generated/appstream/category.js +4 -2
  135. package/dist/generated/appstream/checksum.js +4 -2
  136. package/dist/generated/appstream/component-box.js +4 -2
  137. package/dist/generated/appstream/component.js +4 -2
  138. package/dist/generated/appstream/content-rating.js +4 -2
  139. package/dist/generated/appstream/context.js +4 -2
  140. package/dist/generated/appstream/developer.js +4 -2
  141. package/dist/generated/appstream/icon.js +4 -2
  142. package/dist/generated/appstream/image.js +4 -2
  143. package/dist/generated/appstream/issue.js +4 -2
  144. package/dist/generated/appstream/launchable.js +4 -2
  145. package/dist/generated/appstream/metadata.js +4 -2
  146. package/dist/generated/appstream/pool.js +9 -8
  147. package/dist/generated/appstream/provided.js +4 -2
  148. package/dist/generated/appstream/reference.js +4 -2
  149. package/dist/generated/appstream/relation-check-result.js +4 -2
  150. package/dist/generated/appstream/relation.js +4 -2
  151. package/dist/generated/appstream/release-list.js +4 -2
  152. package/dist/generated/appstream/release.js +4 -2
  153. package/dist/generated/appstream/review.js +4 -2
  154. package/dist/generated/appstream/screenshot.js +4 -2
  155. package/dist/generated/appstream/suggested.js +4 -2
  156. package/dist/generated/appstream/system-info.js +4 -2
  157. package/dist/generated/appstream/translation.js +4 -2
  158. package/dist/generated/appstream/validator-issue.js +4 -2
  159. package/dist/generated/appstream/validator.js +4 -2
  160. package/dist/generated/appstream/video.js +4 -2
  161. package/dist/generated/atspi/accessible.d.ts +2 -2
  162. package/dist/generated/atspi/accessible.js +11 -10
  163. package/dist/generated/atspi/application.js +4 -2
  164. package/dist/generated/atspi/device-a11y-manager.js +4 -2
  165. package/dist/generated/atspi/device-legacy.js +4 -2
  166. package/dist/generated/atspi/device-x11.js +4 -2
  167. package/dist/generated/atspi/device.js +4 -2
  168. package/dist/generated/atspi/event-listener-mode.d.ts +18 -0
  169. package/dist/generated/atspi/event-listener-mode.js +42 -0
  170. package/dist/generated/atspi/hyperlink.js +4 -2
  171. package/dist/generated/atspi/index.d.ts +1 -0
  172. package/dist/generated/atspi/index.js +1 -0
  173. package/dist/generated/atspi/match-rule.js +4 -2
  174. package/dist/generated/atspi/object.js +4 -2
  175. package/dist/generated/atspi/relation.js +4 -2
  176. package/dist/generated/atspi/state-set.js +4 -2
  177. package/dist/generated/atspi/table-cell.d.ts +1 -1
  178. package/dist/generated/atspi/table-cell.js +1 -1
  179. package/dist/generated/atspi/text.d.ts +1 -1
  180. package/dist/generated/atspi/text.js +1 -1
  181. package/dist/generated/gdk/app-launch-context.d.ts +2 -2
  182. package/dist/generated/gdk/app-launch-context.js +6 -4
  183. package/dist/generated/gdk/button-event.js +1 -1
  184. package/dist/generated/gdk/cairo-context.js +3 -1
  185. package/dist/generated/gdk/cicp-params.js +4 -2
  186. package/dist/generated/gdk/clipboard.js +9 -8
  187. package/dist/generated/gdk/color-state.js +6 -6
  188. package/dist/generated/gdk/content-deserializer.js +4 -2
  189. package/dist/generated/gdk/content-formats.js +9 -3
  190. package/dist/generated/gdk/content-provider.d.ts +3 -3
  191. package/dist/generated/gdk/content-provider.js +12 -11
  192. package/dist/generated/gdk/content-serializer.js +4 -2
  193. package/dist/generated/gdk/crossing-event.js +1 -1
  194. package/dist/generated/gdk/cursor.js +4 -2
  195. package/dist/generated/gdk/delete-event.js +1 -1
  196. package/dist/generated/gdk/device-tool.js +4 -2
  197. package/dist/generated/gdk/device.d.ts +17 -17
  198. package/dist/generated/gdk/device.js +22 -21
  199. package/dist/generated/gdk/display-manager.js +21 -20
  200. package/dist/generated/gdk/display.d.ts +4 -3
  201. package/dist/generated/gdk/display.js +13 -12
  202. package/dist/generated/gdk/dmabuf-texture-builder.js +4 -2
  203. package/dist/generated/gdk/dmabuf-texture.d.ts +2 -8
  204. package/dist/generated/gdk/dmabuf-texture.js +19 -4
  205. package/dist/generated/gdk/dndevent.js +1 -1
  206. package/dist/generated/gdk/drag.js +9 -8
  207. package/dist/generated/gdk/draw-context.js +3 -1
  208. package/dist/generated/gdk/drop.js +3 -1
  209. package/dist/generated/gdk/file-list.js +8 -2
  210. package/dist/generated/gdk/focus-event.js +1 -1
  211. package/dist/generated/gdk/frame-clock.js +8 -7
  212. package/dist/generated/gdk/glcontext.d.ts +2 -2
  213. package/dist/generated/gdk/glcontext.js +6 -4
  214. package/dist/generated/gdk/gltexture-builder.js +4 -2
  215. package/dist/generated/gdk/gltexture.d.ts +2 -1
  216. package/dist/generated/gdk/gltexture.js +19 -4
  217. package/dist/generated/gdk/grab-broken-event.js +1 -1
  218. package/dist/generated/gdk/index.d.ts +1 -0
  219. package/dist/generated/gdk/index.js +1 -0
  220. package/dist/generated/gdk/key-event.js +1 -1
  221. package/dist/generated/gdk/keymap-key.d.ts +37 -0
  222. package/dist/generated/gdk/keymap-key.js +61 -0
  223. package/dist/generated/gdk/memory-texture-builder.js +4 -2
  224. package/dist/generated/gdk/memory-texture.d.ts +2 -1
  225. package/dist/generated/gdk/memory-texture.js +19 -4
  226. package/dist/generated/gdk/monitor.js +9 -8
  227. package/dist/generated/gdk/motion-event.js +1 -1
  228. package/dist/generated/gdk/pad-event.js +1 -1
  229. package/dist/generated/gdk/proximity-event.js +1 -1
  230. package/dist/generated/gdk/scroll-event.js +1 -1
  231. package/dist/generated/gdk/seat.js +8 -7
  232. package/dist/generated/gdk/snapshot.js +3 -1
  233. package/dist/generated/gdk/surface.d.ts +3 -3
  234. package/dist/generated/gdk/surface.js +12 -11
  235. package/dist/generated/gdk/texture.d.ts +7 -34
  236. package/dist/generated/gdk/texture.js +24 -15
  237. package/dist/generated/gdk/touch-event.js +1 -1
  238. package/dist/generated/gdk/touchpad-event.js +1 -1
  239. package/dist/generated/gdk/vulkan-context.js +8 -7
  240. package/dist/generated/gdkpixbuf/pixbuf-animation-iter.d.ts +2 -1
  241. package/dist/generated/gdkpixbuf/pixbuf-animation-iter.js +6 -4
  242. package/dist/generated/gdkpixbuf/pixbuf-animation.d.ts +2 -1
  243. package/dist/generated/gdkpixbuf/pixbuf-animation.js +6 -4
  244. package/dist/generated/gdkpixbuf/pixbuf-loader.js +9 -8
  245. package/dist/generated/gdkpixbuf/pixbuf-non-anim.js +4 -2
  246. package/dist/generated/gdkpixbuf/pixbuf-simple-anim-iter.js +4 -2
  247. package/dist/generated/gdkpixbuf/pixbuf-simple-anim.js +4 -2
  248. package/dist/generated/gdkpixbuf/pixbuf.d.ts +27 -28
  249. package/dist/generated/gdkpixbuf/pixbuf.js +31 -35
  250. package/dist/generated/gio/action-group.js +10 -60
  251. package/dist/generated/gio/action-map.d.ts +18 -18
  252. package/dist/generated/gio/action-map.js +18 -18
  253. package/dist/generated/gio/action.js +6 -30
  254. package/dist/generated/gio/app-info-monitor.js +10 -9
  255. package/dist/generated/gio/app-info.d.ts +3 -3
  256. package/dist/generated/gio/app-info.js +3 -3
  257. package/dist/generated/gio/app-launch-context.js +15 -26
  258. package/dist/generated/gio/application-command-line.d.ts +62 -62
  259. package/dist/generated/gio/application-command-line.js +67 -71
  260. package/dist/generated/gio/application.d.ts +22 -18
  261. package/dist/generated/gio/application.js +63 -90
  262. package/dist/generated/gio/async-initable.d.ts +54 -54
  263. package/dist/generated/gio/async-initable.js +54 -54
  264. package/dist/generated/gio/async-result.d.ts +20 -20
  265. package/dist/generated/gio/async-result.js +20 -20
  266. package/dist/generated/gio/buffered-input-stream.js +4 -2
  267. package/dist/generated/gio/buffered-output-stream.js +4 -2
  268. package/dist/generated/gio/bytes-icon.js +5 -9
  269. package/dist/generated/gio/cancellable.d.ts +3 -3
  270. package/dist/generated/gio/cancellable.js +11 -10
  271. package/dist/generated/gio/charset-converter.js +4 -2
  272. package/dist/generated/gio/converter-input-stream.js +4 -2
  273. package/dist/generated/gio/converter-output-stream.js +4 -2
  274. package/dist/generated/gio/credentials.js +4 -2
  275. package/dist/generated/gio/data-input-stream.d.ts +1 -1
  276. package/dist/generated/gio/data-input-stream.js +5 -3
  277. package/dist/generated/gio/data-output-stream.js +4 -2
  278. package/dist/generated/gio/dbus-action-group.d.ts +4 -7
  279. package/dist/generated/gio/dbus-action-group.js +58 -97
  280. package/dist/generated/gio/dbus-auth-observer.js +30 -29
  281. package/dist/generated/gio/dbus-connection.js +22 -63
  282. package/dist/generated/gio/dbus-interface-skeleton.js +9 -14
  283. package/dist/generated/gio/dbus-menu-model.js +10 -9
  284. package/dist/generated/gio/dbus-message.d.ts +10 -10
  285. package/dist/generated/gio/dbus-message.js +20 -42
  286. package/dist/generated/gio/dbus-method-invocation.js +9 -25
  287. package/dist/generated/gio/dbus-object-manager-client.d.ts +4 -0
  288. package/dist/generated/gio/dbus-object-manager-client.js +37 -26
  289. package/dist/generated/gio/dbus-object-manager-server.d.ts +4 -23
  290. package/dist/generated/gio/dbus-object-manager-server.js +39 -4
  291. package/dist/generated/gio/dbus-object-proxy.d.ts +2 -6
  292. package/dist/generated/gio/dbus-object-proxy.js +25 -4
  293. package/dist/generated/gio/dbus-object-skeleton.d.ts +2 -0
  294. package/dist/generated/gio/dbus-object-skeleton.js +17 -8
  295. package/dist/generated/gio/dbus-proxy.js +25 -85
  296. package/dist/generated/gio/dbus-server.js +9 -8
  297. package/dist/generated/gio/debug-controller-dbus.js +67 -66
  298. package/dist/generated/gio/debug-controller.d.ts +43 -0
  299. package/dist/generated/gio/debug-controller.js +71 -0
  300. package/dist/generated/gio/dtls-client-connection.d.ts +467 -1
  301. package/dist/generated/gio/dtls-client-connection.js +1004 -0
  302. package/dist/generated/gio/dtls-connection.d.ts +178 -0
  303. package/dist/generated/gio/dtls-connection.js +343 -0
  304. package/dist/generated/gio/dtls-server-connection.d.ts +468 -0
  305. package/dist/generated/gio/dtls-server-connection.js +1006 -0
  306. package/dist/generated/gio/emblem.js +5 -9
  307. package/dist/generated/gio/emblemed-icon.js +5 -9
  308. package/dist/generated/gio/file-enumerator.js +4 -2
  309. package/dist/generated/gio/file-icon.js +5 -9
  310. package/dist/generated/gio/file-info.d.ts +3 -3
  311. package/dist/generated/gio/file-info.js +9 -10
  312. package/dist/generated/gio/file-input-stream.js +4 -2
  313. package/dist/generated/gio/file-iostream.js +4 -2
  314. package/dist/generated/gio/file-monitor.js +8 -7
  315. package/dist/generated/gio/file-output-stream.js +4 -2
  316. package/dist/generated/gio/filename-completer.js +9 -8
  317. package/dist/generated/gio/filter-input-stream.js +3 -1
  318. package/dist/generated/gio/filter-output-stream.js +3 -1
  319. package/dist/generated/gio/functions.js +8 -42
  320. package/dist/generated/gio/icon.js +1 -7
  321. package/dist/generated/gio/inet-address-mask.js +4 -2
  322. package/dist/generated/gio/inet-address.js +4 -2
  323. package/dist/generated/gio/inet-socket-address.js +4 -2
  324. package/dist/generated/gio/input-stream.js +3 -1
  325. package/dist/generated/gio/iomodule.js +4 -2
  326. package/dist/generated/gio/iostream.js +3 -1
  327. package/dist/generated/gio/list-model.d.ts +4 -4
  328. package/dist/generated/gio/list-model.js +4 -4
  329. package/dist/generated/gio/list-store.d.ts +1 -7
  330. package/dist/generated/gio/list-store.js +25 -4
  331. package/dist/generated/gio/loadable-icon.d.ts +38 -0
  332. package/dist/generated/gio/loadable-icon.js +73 -0
  333. package/dist/generated/gio/memory-input-stream.js +4 -2
  334. package/dist/generated/gio/memory-monitor.d.ts +51 -8
  335. package/dist/generated/gio/memory-monitor.js +80 -8
  336. package/dist/generated/gio/memory-output-stream.d.ts +2 -2
  337. package/dist/generated/gio/memory-output-stream.js +6 -4
  338. package/dist/generated/gio/menu-attribute-iter.js +6 -21
  339. package/dist/generated/gio/menu-item.js +9 -25
  340. package/dist/generated/gio/menu-link-iter.js +3 -1
  341. package/dist/generated/gio/menu-model.js +9 -14
  342. package/dist/generated/gio/menu.js +9 -8
  343. package/dist/generated/gio/mount-operation.js +12 -11
  344. package/dist/generated/gio/native-socket-address.js +4 -2
  345. package/dist/generated/gio/native-volume-monitor.js +8 -7
  346. package/dist/generated/gio/network-address.js +6 -4
  347. package/dist/generated/gio/network-monitor.d.ts +42 -0
  348. package/dist/generated/gio/network-monitor.js +70 -0
  349. package/dist/generated/gio/network-service.js +4 -2
  350. package/dist/generated/gio/notification.js +8 -18
  351. package/dist/generated/gio/output-stream.js +3 -1
  352. package/dist/generated/gio/permission.js +3 -1
  353. package/dist/generated/gio/power-profile-monitor.d.ts +43 -0
  354. package/dist/generated/gio/power-profile-monitor.js +71 -0
  355. package/dist/generated/gio/property-action.js +10 -32
  356. package/dist/generated/gio/proxy-address-enumerator.js +4 -2
  357. package/dist/generated/gio/proxy-address.js +4 -2
  358. package/dist/generated/gio/remote-action-group.d.ts +212 -0
  359. package/dist/generated/gio/remote-action-group.js +454 -29
  360. package/dist/generated/gio/resolver.js +11 -20
  361. package/dist/generated/gio/resource.d.ts +6 -6
  362. package/dist/generated/gio/resource.js +7 -7
  363. package/dist/generated/gio/settings-backend.js +5 -11
  364. package/dist/generated/gio/settings-schema-key.js +4 -22
  365. package/dist/generated/gio/settings-schema-source.js +1 -1
  366. package/dist/generated/gio/settings-schema.d.ts +26 -26
  367. package/dist/generated/gio/settings-schema.js +26 -26
  368. package/dist/generated/gio/settings.js +95 -130
  369. package/dist/generated/gio/simple-action-group.d.ts +22 -23
  370. package/dist/generated/gio/simple-action-group.js +67 -82
  371. package/dist/generated/gio/simple-action.js +26 -84
  372. package/dist/generated/gio/simple-iostream.js +4 -2
  373. package/dist/generated/gio/simple-permission.js +4 -2
  374. package/dist/generated/gio/simple-proxy-resolver.js +4 -2
  375. package/dist/generated/gio/socket-address-enumerator.js +3 -1
  376. package/dist/generated/gio/socket-address.js +4 -2
  377. package/dist/generated/gio/socket-client.d.ts +4 -4
  378. package/dist/generated/gio/socket-client.js +11 -10
  379. package/dist/generated/gio/socket-connectable.d.ts +42 -42
  380. package/dist/generated/gio/socket-connectable.js +42 -42
  381. package/dist/generated/gio/socket-connection.d.ts +3 -3
  382. package/dist/generated/gio/socket-connection.js +6 -4
  383. package/dist/generated/gio/socket-control-message.js +4 -2
  384. package/dist/generated/gio/socket-listener.js +9 -8
  385. package/dist/generated/gio/socket-service.js +9 -8
  386. package/dist/generated/gio/socket.d.ts +7 -7
  387. package/dist/generated/gio/socket.js +10 -8
  388. package/dist/generated/gio/subprocess-launcher.js +4 -2
  389. package/dist/generated/gio/subprocess.js +4 -2
  390. package/dist/generated/gio/tcp-connection.js +4 -2
  391. package/dist/generated/gio/tcp-wrapper-connection.js +4 -2
  392. package/dist/generated/gio/test-dbus.d.ts +3 -3
  393. package/dist/generated/gio/test-dbus.js +7 -5
  394. package/dist/generated/gio/themed-icon.js +5 -9
  395. package/dist/generated/gio/threaded-resolver.js +9 -8
  396. package/dist/generated/gio/threaded-socket-service.js +9 -8
  397. package/dist/generated/gio/tls-certificate.js +4 -2
  398. package/dist/generated/gio/tls-connection.js +8 -7
  399. package/dist/generated/gio/tls-database.js +3 -1
  400. package/dist/generated/gio/tls-interaction.js +4 -2
  401. package/dist/generated/gio/tls-password.js +4 -2
  402. package/dist/generated/gio/unix-connection.js +4 -2
  403. package/dist/generated/gio/unix-credentials-message.js +4 -2
  404. package/dist/generated/gio/unix-fdlist.js +4 -2
  405. package/dist/generated/gio/unix-socket-address.js +4 -2
  406. package/dist/generated/gio/vfs.js +6 -4
  407. package/dist/generated/gio/volume-monitor.js +10 -9
  408. package/dist/generated/gio/zlib-compressor.js +4 -2
  409. package/dist/generated/gio/zlib-decompressor.js +4 -2
  410. package/dist/generated/giounix/desktop-app-info.d.ts +3 -5
  411. package/dist/generated/giounix/desktop-app-info.js +5 -3
  412. package/dist/generated/giounix/fdmessage.js +4 -2
  413. package/dist/generated/giounix/input-stream.js +4 -2
  414. package/dist/generated/giounix/mount-entry.js +2 -2
  415. package/dist/generated/giounix/mount-monitor.js +10 -9
  416. package/dist/generated/giounix/mount-point.js +1 -1
  417. package/dist/generated/giounix/output-stream.js +4 -2
  418. package/dist/generated/glib/byte-array.js +10 -10
  419. package/dist/generated/glib/bytes.js +8 -2
  420. package/dist/generated/glib/date-time.d.ts +4 -3
  421. package/dist/generated/glib/date-time.js +102 -30
  422. package/dist/generated/glib/date.d.ts +2 -1
  423. package/dist/generated/glib/date.js +18 -6
  424. package/dist/generated/glib/functions.d.ts +112 -111
  425. package/dist/generated/glib/functions.js +116 -131
  426. package/dist/generated/glib/hash-table.js +2 -2
  427. package/dist/generated/glib/index.d.ts +3 -0
  428. package/dist/generated/glib/index.js +3 -0
  429. package/dist/generated/glib/iochannel.js +8 -2
  430. package/dist/generated/glib/key-file.d.ts +22 -22
  431. package/dist/generated/glib/key-file.js +22 -22
  432. package/dist/generated/glib/main-context.d.ts +11 -11
  433. package/dist/generated/glib/main-context.js +22 -16
  434. package/dist/generated/glib/mapped-file.js +8 -2
  435. package/dist/generated/glib/match-info.d.ts +89 -89
  436. package/dist/generated/glib/match-info.js +89 -89
  437. package/dist/generated/glib/rand.js +16 -4
  438. package/dist/generated/glib/regex.d.ts +19 -19
  439. package/dist/generated/glib/regex.js +19 -19
  440. package/dist/generated/glib/source.d.ts +26 -25
  441. package/dist/generated/glib/source.js +26 -26
  442. package/dist/generated/glib/string.js +24 -6
  443. package/dist/generated/glib/strv-builder.d.ts +5 -5
  444. package/dist/generated/glib/strv-builder.js +5 -5
  445. package/dist/generated/glib/test-config.d.ts +27 -0
  446. package/dist/generated/glib/test-config.js +66 -0
  447. package/dist/generated/glib/thread.js +1 -1
  448. package/dist/generated/glib/time-val.d.ts +94 -0
  449. package/dist/generated/glib/time-val.js +153 -0
  450. package/dist/generated/glib/time-zone.js +32 -8
  451. package/dist/generated/glib/tuples.d.ts +34 -0
  452. package/dist/generated/glib/tuples.js +81 -0
  453. package/dist/generated/glib/uri.js +3 -3
  454. package/dist/generated/glib/variant-builder.js +3 -15
  455. package/dist/generated/glib/variant-dict.js +6 -30
  456. package/dist/generated/glib/variant-type.js +33 -9
  457. package/dist/generated/glib/variant.d.ts +1 -1
  458. package/dist/generated/glib/variant.js +218 -186
  459. package/dist/generated/gobject/binding-group.js +9 -8
  460. package/dist/generated/gobject/binding.js +24 -23
  461. package/dist/generated/gobject/closure.js +8 -2
  462. package/dist/generated/gobject/functions.js +2 -7
  463. package/dist/generated/gobject/initially-unowned.js +9 -8
  464. package/dist/generated/gobject/object.d.ts +1 -1
  465. package/dist/generated/gobject/object.js +8 -7
  466. package/dist/generated/gobject/param-spec-boolean.js +1 -1
  467. package/dist/generated/gobject/param-spec-boxed.js +1 -1
  468. package/dist/generated/gobject/param-spec-char.js +1 -1
  469. package/dist/generated/gobject/param-spec-double.js +1 -1
  470. package/dist/generated/gobject/param-spec-enum.js +1 -1
  471. package/dist/generated/gobject/param-spec-flags.js +1 -1
  472. package/dist/generated/gobject/param-spec-float.js +1 -1
  473. package/dist/generated/gobject/param-spec-gtype.js +1 -1
  474. package/dist/generated/gobject/param-spec-int.js +1 -1
  475. package/dist/generated/gobject/param-spec-int64.js +1 -1
  476. package/dist/generated/gobject/param-spec-long.js +1 -1
  477. package/dist/generated/gobject/param-spec-object.js +1 -1
  478. package/dist/generated/gobject/param-spec-override.js +1 -1
  479. package/dist/generated/gobject/param-spec-param.js +1 -1
  480. package/dist/generated/gobject/param-spec-pointer.js +1 -1
  481. package/dist/generated/gobject/param-spec-string.js +1 -1
  482. package/dist/generated/gobject/param-spec-uchar.js +1 -1
  483. package/dist/generated/gobject/param-spec-uint.js +1 -1
  484. package/dist/generated/gobject/param-spec-uint64.js +1 -1
  485. package/dist/generated/gobject/param-spec-ulong.js +1 -1
  486. package/dist/generated/gobject/param-spec-unichar.js +1 -1
  487. package/dist/generated/gobject/param-spec-value-array.js +1 -1
  488. package/dist/generated/gobject/param-spec-variant.js +1 -1
  489. package/dist/generated/gobject/signal-group.js +9 -8
  490. package/dist/generated/gobject/type-module.js +8 -7
  491. package/dist/generated/gobject/type-plugin.d.ts +5 -5
  492. package/dist/generated/gobject/type-plugin.js +5 -5
  493. package/dist/generated/gobject/value-array.d.ts +3 -3
  494. package/dist/generated/gobject/value-array.js +3 -3
  495. package/dist/generated/gobject/value.d.ts +4 -4
  496. package/dist/generated/gobject/value.js +10 -33
  497. package/dist/generated/graphene/box.js +6 -6
  498. package/dist/generated/graphene/point.js +1 -1
  499. package/dist/generated/graphene/point3d.js +1 -1
  500. package/dist/generated/graphene/rect.js +2 -2
  501. package/dist/generated/graphene/size.js +1 -1
  502. package/dist/generated/graphene/vec2.js +4 -4
  503. package/dist/generated/graphene/vec3.js +5 -5
  504. package/dist/generated/graphene/vec4.js +6 -6
  505. package/dist/generated/gsk/blend-node.js +1 -1
  506. package/dist/generated/gsk/blur-node.js +1 -1
  507. package/dist/generated/gsk/border-node.js +1 -1
  508. package/dist/generated/gsk/broadway-renderer.js +4 -2
  509. package/dist/generated/gsk/cairo-node.js +1 -1
  510. package/dist/generated/gsk/cairo-renderer.js +4 -2
  511. package/dist/generated/gsk/clip-node.js +1 -1
  512. package/dist/generated/gsk/color-matrix-node.js +1 -1
  513. package/dist/generated/gsk/color-node.js +1 -1
  514. package/dist/generated/gsk/component-transfer-node.js +1 -1
  515. package/dist/generated/gsk/component-transfer.js +40 -10
  516. package/dist/generated/gsk/conic-gradient-node.js +1 -1
  517. package/dist/generated/gsk/container-node.js +1 -1
  518. package/dist/generated/gsk/cross-fade-node.js +1 -1
  519. package/dist/generated/gsk/debug-node.js +1 -1
  520. package/dist/generated/gsk/glrenderer.js +4 -2
  521. package/dist/generated/gsk/glshader-node.js +1 -1
  522. package/dist/generated/gsk/glshader.d.ts +10 -10
  523. package/dist/generated/gsk/glshader.js +14 -12
  524. package/dist/generated/gsk/index.d.ts +1 -0
  525. package/dist/generated/gsk/index.js +1 -0
  526. package/dist/generated/gsk/inset-shadow-node.js +1 -1
  527. package/dist/generated/gsk/linear-gradient-node.js +1 -1
  528. package/dist/generated/gsk/mask-node.js +1 -1
  529. package/dist/generated/gsk/ngl-renderer.js +4 -2
  530. package/dist/generated/gsk/opacity-node.js +1 -1
  531. package/dist/generated/gsk/outset-shadow-node.js +1 -1
  532. package/dist/generated/gsk/parse-location.d.ts +30 -0
  533. package/dist/generated/gsk/parse-location.js +64 -0
  534. package/dist/generated/gsk/path-builder.d.ts +4 -4
  535. package/dist/generated/gsk/path-builder.js +4 -4
  536. package/dist/generated/gsk/path-measure.js +8 -2
  537. package/dist/generated/gsk/path.js +1 -1
  538. package/dist/generated/gsk/radial-gradient-node.js +1 -1
  539. package/dist/generated/gsk/renderer.js +4 -2
  540. package/dist/generated/gsk/repeat-node.js +1 -1
  541. package/dist/generated/gsk/repeating-linear-gradient-node.js +1 -1
  542. package/dist/generated/gsk/repeating-radial-gradient-node.js +1 -1
  543. package/dist/generated/gsk/rounded-clip-node.js +1 -1
  544. package/dist/generated/gsk/shadow-node.js +1 -1
  545. package/dist/generated/gsk/subsurface-node.js +1 -1
  546. package/dist/generated/gsk/text-node.js +1 -1
  547. package/dist/generated/gsk/texture-node.js +1 -1
  548. package/dist/generated/gsk/texture-scale-node.js +1 -1
  549. package/dist/generated/gsk/transform-node.js +1 -1
  550. package/dist/generated/gsk/transform.d.ts +3 -3
  551. package/dist/generated/gsk/transform.js +3 -3
  552. package/dist/generated/gsk/vulkan-renderer.js +4 -2
  553. package/dist/generated/gst/allocator.js +9 -8
  554. package/dist/generated/gst/bin.d.ts +2 -0
  555. package/dist/generated/gst/bin.js +22 -7
  556. package/dist/generated/gst/buffer-list.js +8 -2
  557. package/dist/generated/gst/buffer-pool.js +9 -8
  558. package/dist/generated/gst/buffer.d.ts +9 -9
  559. package/dist/generated/gst/buffer.js +49 -19
  560. package/dist/generated/gst/bus.js +12 -11
  561. package/dist/generated/gst/caps-features.js +25 -7
  562. package/dist/generated/gst/caps.d.ts +7 -7
  563. package/dist/generated/gst/caps.js +36 -16
  564. package/dist/generated/gst/clock-entry.d.ts +19 -0
  565. package/dist/generated/gst/clock-entry.js +33 -0
  566. package/dist/generated/gst/clock.d.ts +1 -1
  567. package/dist/generated/gst/clock.js +10 -9
  568. package/dist/generated/gst/control-binding.d.ts +3 -3
  569. package/dist/generated/gst/control-binding.js +11 -10
  570. package/dist/generated/gst/control-source.js +8 -7
  571. package/dist/generated/gst/date-time.js +92 -24
  572. package/dist/generated/gst/device-monitor.js +9 -8
  573. package/dist/generated/gst/device-provider-factory.js +10 -9
  574. package/dist/generated/gst/device-provider.js +8 -7
  575. package/dist/generated/gst/device.js +8 -7
  576. package/dist/generated/gst/dynamic-type-factory.js +9 -8
  577. package/dist/generated/gst/element-factory.js +10 -9
  578. package/dist/generated/gst/element.d.ts +1 -1
  579. package/dist/generated/gst/element.js +10 -9
  580. package/dist/generated/gst/enums.d.ts +4 -4
  581. package/dist/generated/gst/enums.js +4 -4
  582. package/dist/generated/gst/event.js +188 -50
  583. package/dist/generated/gst/functions.d.ts +1 -1
  584. package/dist/generated/gst/functions.js +1 -1
  585. package/dist/generated/gst/ghost-pad.js +8 -7
  586. package/dist/generated/gst/index.d.ts +3 -0
  587. package/dist/generated/gst/index.js +3 -0
  588. package/dist/generated/gst/message.js +336 -84
  589. package/dist/generated/gst/meta-transform-copy.d.ts +22 -0
  590. package/dist/generated/gst/meta-transform-copy.js +46 -0
  591. package/dist/generated/gst/object.d.ts +3 -3
  592. package/dist/generated/gst/object.js +10 -9
  593. package/dist/generated/gst/pad-template.js +8 -7
  594. package/dist/generated/gst/pad.js +8 -7
  595. package/dist/generated/gst/param-array.js +4 -2
  596. package/dist/generated/gst/param-fraction.js +4 -2
  597. package/dist/generated/gst/pipeline.d.ts +3 -1
  598. package/dist/generated/gst/pipeline.js +23 -8
  599. package/dist/generated/gst/plugin-feature.js +8 -7
  600. package/dist/generated/gst/plugin.d.ts +1 -1
  601. package/dist/generated/gst/plugin.js +12 -11
  602. package/dist/generated/gst/poll-fd.d.ts +19 -0
  603. package/dist/generated/gst/poll-fd.js +46 -0
  604. package/dist/generated/gst/proxy-pad.js +9 -8
  605. package/dist/generated/gst/query.js +108 -34
  606. package/dist/generated/gst/registry.js +10 -9
  607. package/dist/generated/gst/shared-task-pool.js +9 -8
  608. package/dist/generated/gst/stream-collection.js +9 -8
  609. package/dist/generated/gst/stream.js +9 -8
  610. package/dist/generated/gst/structure.js +40 -10
  611. package/dist/generated/gst/system-clock.js +9 -8
  612. package/dist/generated/gst/tag-list.js +8 -2
  613. package/dist/generated/gst/task-pool.js +9 -8
  614. package/dist/generated/gst/tracer-factory.js +9 -8
  615. package/dist/generated/gst/tracer-record.js +9 -8
  616. package/dist/generated/gst/tracer.js +8 -7
  617. package/dist/generated/gst/type-find-factory.js +9 -8
  618. package/dist/generated/gst/uri.js +2 -2
  619. package/dist/generated/gstbase/adapter.js +4 -2
  620. package/dist/generated/gstbase/aggregator-pad.js +12 -11
  621. package/dist/generated/gstbase/aggregator.js +11 -10
  622. package/dist/generated/gstbase/base-parse.js +3 -1
  623. package/dist/generated/gstbase/base-sink.js +3 -1
  624. package/dist/generated/gstbase/base-src.js +3 -1
  625. package/dist/generated/gstbase/base-transform.js +3 -1
  626. package/dist/generated/gstbase/bit-writer.d.ts +103 -0
  627. package/dist/generated/gstbase/bit-writer.js +381 -0
  628. package/dist/generated/gstbase/collect-pads.js +4 -2
  629. package/dist/generated/gstbase/data-queue-size.d.ts +22 -0
  630. package/dist/generated/gstbase/data-queue-size.js +46 -0
  631. package/dist/generated/gstbase/data-queue.js +9 -8
  632. package/dist/generated/gstbase/index.d.ts +2 -0
  633. package/dist/generated/gstbase/index.js +2 -0
  634. package/dist/generated/gstbase/push-src.js +4 -2
  635. package/dist/generated/gtk/about-dialog.d.ts +2 -2
  636. package/dist/generated/gtk/about-dialog.js +14 -13
  637. package/dist/generated/gtk/accessible-list.js +8 -2
  638. package/dist/generated/gtk/accessible-range.d.ts +144 -0
  639. package/dist/generated/gtk/accessible-range.js +411 -0
  640. package/dist/generated/gtk/accessible-text-range.d.ts +18 -0
  641. package/dist/generated/gtk/accessible-text-range.js +37 -0
  642. package/dist/generated/gtk/accessible-text.d.ts +144 -1
  643. package/dist/generated/gtk/accessible-text.js +410 -0
  644. package/dist/generated/gtk/action-bar.js +14 -13
  645. package/dist/generated/gtk/actionable.js +3 -15
  646. package/dist/generated/gtk/activate-action.js +5 -3
  647. package/dist/generated/gtk/adjustment.js +8 -7
  648. package/dist/generated/gtk/alert-dialog.js +4 -2
  649. package/dist/generated/gtk/alternative-trigger.js +4 -2
  650. package/dist/generated/gtk/any-filter.d.ts +1 -0
  651. package/dist/generated/gtk/any-filter.js +17 -8
  652. package/dist/generated/gtk/app-chooser-button.js +8 -7
  653. package/dist/generated/gtk/app-chooser-dialog.js +8 -7
  654. package/dist/generated/gtk/app-chooser-widget.js +8 -7
  655. package/dist/generated/gtk/application-window.d.ts +25 -21
  656. package/dist/generated/gtk/application-window.js +76 -103
  657. package/dist/generated/gtk/application.d.ts +5 -0
  658. package/dist/generated/gtk/application.js +32 -8
  659. package/dist/generated/gtk/aspect-frame.js +8 -7
  660. package/dist/generated/gtk/assistant-page.js +4 -2
  661. package/dist/generated/gtk/assistant.js +8 -7
  662. package/dist/generated/gtk/atcontext.js +9 -8
  663. package/dist/generated/gtk/bin-layout.js +4 -2
  664. package/dist/generated/gtk/bitset.js +8 -2
  665. package/dist/generated/gtk/bookmark-list.d.ts +1 -10
  666. package/dist/generated/gtk/bookmark-list.js +25 -4
  667. package/dist/generated/gtk/bool-filter.js +9 -8
  668. package/dist/generated/gtk/box-layout.js +4 -2
  669. package/dist/generated/gtk/box.js +8 -7
  670. package/dist/generated/gtk/builder-cscope.js +4 -2
  671. package/dist/generated/gtk/builder-list-item-factory.d.ts +14 -14
  672. package/dist/generated/gtk/builder-list-item-factory.js +18 -16
  673. package/dist/generated/gtk/builder.d.ts +51 -51
  674. package/dist/generated/gtk/builder.js +55 -53
  675. package/dist/generated/gtk/button.js +11 -22
  676. package/dist/generated/gtk/calendar.js +9 -8
  677. package/dist/generated/gtk/callback-action.d.ts +19 -0
  678. package/dist/generated/gtk/callback-action.js +83 -0
  679. package/dist/generated/gtk/cell-area-box.d.ts +2 -2
  680. package/dist/generated/gtk/cell-area-box.js +13 -12
  681. package/dist/generated/gtk/cell-area-context.js +4 -2
  682. package/dist/generated/gtk/cell-area.js +86 -85
  683. package/dist/generated/gtk/cell-layout.d.ts +22 -22
  684. package/dist/generated/gtk/cell-layout.js +22 -22
  685. package/dist/generated/gtk/cell-renderer-accel.js +8 -7
  686. package/dist/generated/gtk/cell-renderer-combo.js +11 -10
  687. package/dist/generated/gtk/cell-renderer-pixbuf.js +8 -7
  688. package/dist/generated/gtk/cell-renderer-progress.js +8 -7
  689. package/dist/generated/gtk/cell-renderer-spin.js +8 -7
  690. package/dist/generated/gtk/cell-renderer-spinner.js +8 -7
  691. package/dist/generated/gtk/cell-renderer-text.js +8 -7
  692. package/dist/generated/gtk/cell-renderer-toggle.js +8 -7
  693. package/dist/generated/gtk/cell-renderer.js +8 -7
  694. package/dist/generated/gtk/cell-view.js +8 -7
  695. package/dist/generated/gtk/center-box.js +8 -7
  696. package/dist/generated/gtk/center-layout.js +4 -2
  697. package/dist/generated/gtk/check-button.js +11 -22
  698. package/dist/generated/gtk/closure-expression.js +1 -1
  699. package/dist/generated/gtk/color-button.d.ts +1 -0
  700. package/dist/generated/gtk/color-button.js +26 -9
  701. package/dist/generated/gtk/color-chooser-dialog.d.ts +1 -0
  702. package/dist/generated/gtk/color-chooser-dialog.js +25 -8
  703. package/dist/generated/gtk/color-chooser-widget.d.ts +1 -0
  704. package/dist/generated/gtk/color-chooser-widget.js +25 -8
  705. package/dist/generated/gtk/color-dialog-button.js +9 -8
  706. package/dist/generated/gtk/color-dialog.js +4 -2
  707. package/dist/generated/gtk/column-view-cell.d.ts +7 -7
  708. package/dist/generated/gtk/column-view-cell.js +11 -9
  709. package/dist/generated/gtk/column-view-column.d.ts +1 -1
  710. package/dist/generated/gtk/column-view-column.js +5 -3
  711. package/dist/generated/gtk/column-view-row.js +4 -2
  712. package/dist/generated/gtk/column-view-sorter.js +13 -12
  713. package/dist/generated/gtk/column-view.js +8 -7
  714. package/dist/generated/gtk/combo-box-text.d.ts +2 -0
  715. package/dist/generated/gtk/combo-box-text.js +18 -15
  716. package/dist/generated/gtk/combo-box.d.ts +2 -0
  717. package/dist/generated/gtk/combo-box.js +10 -7
  718. package/dist/generated/gtk/constant-expression.js +1 -1
  719. package/dist/generated/gtk/constraint-guide.js +4 -2
  720. package/dist/generated/gtk/constraint-layout-child.js +4 -2
  721. package/dist/generated/gtk/constraint-layout.d.ts +78 -78
  722. package/dist/generated/gtk/constraint-layout.js +82 -80
  723. package/dist/generated/gtk/constraint.d.ts +1 -1
  724. package/dist/generated/gtk/constraint.js +5 -3
  725. package/dist/generated/gtk/css-location.d.ts +25 -0
  726. package/dist/generated/gtk/css-location.js +59 -0
  727. package/dist/generated/gtk/css-provider.d.ts +1 -0
  728. package/dist/generated/gtk/css-provider.js +13 -11
  729. package/dist/generated/gtk/css-section.d.ts +5 -4
  730. package/dist/generated/gtk/css-section.js +18 -12
  731. package/dist/generated/gtk/dialog.js +39 -38
  732. package/dist/generated/gtk/directory-list.d.ts +1 -24
  733. package/dist/generated/gtk/directory-list.js +25 -4
  734. package/dist/generated/gtk/drag-icon.js +8 -7
  735. package/dist/generated/gtk/drag-source.js +34 -33
  736. package/dist/generated/gtk/drawing-area.js +59 -30
  737. package/dist/generated/gtk/drop-controller-motion.js +9 -8
  738. package/dist/generated/gtk/drop-down.js +17 -16
  739. package/dist/generated/gtk/drop-target-async.js +9 -8
  740. package/dist/generated/gtk/drop-target.js +36 -35
  741. package/dist/generated/gtk/editable-label.d.ts +6 -3
  742. package/dist/generated/gtk/editable-label.js +29 -12
  743. package/dist/generated/gtk/editable.d.ts +34 -34
  744. package/dist/generated/gtk/editable.js +34 -34
  745. package/dist/generated/gtk/emoji-chooser.js +11 -10
  746. package/dist/generated/gtk/entry-buffer.js +9 -8
  747. package/dist/generated/gtk/entry-completion.js +12 -11
  748. package/dist/generated/gtk/entry.d.ts +8 -3
  749. package/dist/generated/gtk/entry.js +33 -14
  750. package/dist/generated/gtk/event-controller-focus.js +9 -8
  751. package/dist/generated/gtk/event-controller-key.js +9 -8
  752. package/dist/generated/gtk/event-controller-legacy.js +9 -8
  753. package/dist/generated/gtk/event-controller-motion.js +9 -8
  754. package/dist/generated/gtk/event-controller-scroll.js +9 -8
  755. package/dist/generated/gtk/event-controller.js +3 -1
  756. package/dist/generated/gtk/every-filter.d.ts +1 -0
  757. package/dist/generated/gtk/every-filter.js +17 -8
  758. package/dist/generated/gtk/expander.js +34 -33
  759. package/dist/generated/gtk/expression.d.ts +37 -37
  760. package/dist/generated/gtk/expression.js +37 -37
  761. package/dist/generated/gtk/file-chooser-dialog.d.ts +15 -15
  762. package/dist/generated/gtk/file-chooser-dialog.js +89 -88
  763. package/dist/generated/gtk/file-chooser-native.d.ts +15 -15
  764. package/dist/generated/gtk/file-chooser-native.js +71 -70
  765. package/dist/generated/gtk/file-chooser-widget.d.ts +15 -15
  766. package/dist/generated/gtk/file-chooser-widget.js +23 -22
  767. package/dist/generated/gtk/file-chooser.d.ts +15 -15
  768. package/dist/generated/gtk/file-chooser.js +15 -15
  769. package/dist/generated/gtk/file-dialog.js +4 -2
  770. package/dist/generated/gtk/file-filter.js +23 -34
  771. package/dist/generated/gtk/file-launcher.js +4 -2
  772. package/dist/generated/gtk/filter-list-model.d.ts +2 -12
  773. package/dist/generated/gtk/filter-list-model.js +32 -4
  774. package/dist/generated/gtk/filter.js +9 -8
  775. package/dist/generated/gtk/fixed-layout-child.js +4 -2
  776. package/dist/generated/gtk/fixed-layout.js +4 -2
  777. package/dist/generated/gtk/fixed.js +8 -7
  778. package/dist/generated/gtk/flatten-list-model.d.ts +2 -6
  779. package/dist/generated/gtk/flatten-list-model.js +32 -4
  780. package/dist/generated/gtk/flow-box-child.js +8 -7
  781. package/dist/generated/gtk/flow-box.js +8 -7
  782. package/dist/generated/gtk/font-button.d.ts +1 -0
  783. package/dist/generated/gtk/font-button.js +13 -8
  784. package/dist/generated/gtk/font-chooser-dialog.d.ts +1 -0
  785. package/dist/generated/gtk/font-chooser-dialog.js +12 -7
  786. package/dist/generated/gtk/font-chooser-widget.d.ts +1 -0
  787. package/dist/generated/gtk/font-chooser-widget.js +12 -7
  788. package/dist/generated/gtk/font-dialog-button.js +9 -8
  789. package/dist/generated/gtk/font-dialog.js +4 -2
  790. package/dist/generated/gtk/frame.js +14 -13
  791. package/dist/generated/gtk/functions.d.ts +2 -2
  792. package/dist/generated/gtk/functions.js +2 -2
  793. package/dist/generated/gtk/gesture-click.js +12 -11
  794. package/dist/generated/gtk/gesture-drag.js +12 -11
  795. package/dist/generated/gtk/gesture-long-press.js +12 -11
  796. package/dist/generated/gtk/gesture-pan.js +12 -11
  797. package/dist/generated/gtk/gesture-rotate.js +12 -11
  798. package/dist/generated/gtk/gesture-single.js +12 -11
  799. package/dist/generated/gtk/gesture-stylus.js +12 -11
  800. package/dist/generated/gtk/gesture-swipe.js +12 -11
  801. package/dist/generated/gtk/gesture-zoom.js +12 -11
  802. package/dist/generated/gtk/gesture.d.ts +16 -16
  803. package/dist/generated/gtk/gesture.js +27 -26
  804. package/dist/generated/gtk/glarea.js +57 -56
  805. package/dist/generated/gtk/graphics-offload.js +8 -7
  806. package/dist/generated/gtk/grid-layout-child.js +4 -2
  807. package/dist/generated/gtk/grid-layout.js +4 -2
  808. package/dist/generated/gtk/grid-view.d.ts +1 -1
  809. package/dist/generated/gtk/grid-view.js +9 -8
  810. package/dist/generated/gtk/grid.js +46 -45
  811. package/dist/generated/gtk/header-bar.js +27 -26
  812. package/dist/generated/gtk/icon-paintable.d.ts +3 -8
  813. package/dist/generated/gtk/icon-paintable.js +19 -4
  814. package/dist/generated/gtk/icon-theme.js +14 -13
  815. package/dist/generated/gtk/icon-view.d.ts +2 -2
  816. package/dist/generated/gtk/icon-view.js +13 -12
  817. package/dist/generated/gtk/image.js +8 -7
  818. package/dist/generated/gtk/imcontext-simple.js +9 -8
  819. package/dist/generated/gtk/imcontext.js +8 -7
  820. package/dist/generated/gtk/immulticontext.js +9 -8
  821. package/dist/generated/gtk/index.d.ts +5 -0
  822. package/dist/generated/gtk/index.js +5 -0
  823. package/dist/generated/gtk/info-bar.js +15 -14
  824. package/dist/generated/gtk/inscription.js +8 -7
  825. package/dist/generated/gtk/keyval-trigger.js +4 -2
  826. package/dist/generated/gtk/label.js +12 -11
  827. package/dist/generated/gtk/layout-child.js +3 -1
  828. package/dist/generated/gtk/layout-manager.d.ts +6 -6
  829. package/dist/generated/gtk/layout-manager.js +9 -7
  830. package/dist/generated/gtk/level-bar.js +31 -30
  831. package/dist/generated/gtk/link-button.js +8 -7
  832. package/dist/generated/gtk/list-base.js +8 -7
  833. package/dist/generated/gtk/list-box-row.js +11 -22
  834. package/dist/generated/gtk/list-box.js +8 -7
  835. package/dist/generated/gtk/list-header.js +4 -2
  836. package/dist/generated/gtk/list-item-factory.js +4 -2
  837. package/dist/generated/gtk/list-item.js +4 -2
  838. package/dist/generated/gtk/list-store.d.ts +6 -145
  839. package/dist/generated/gtk/list-store.js +165 -58
  840. package/dist/generated/gtk/list-view.d.ts +1 -1
  841. package/dist/generated/gtk/list-view.js +33 -32
  842. package/dist/generated/gtk/lock-button.js +8 -7
  843. package/dist/generated/gtk/media-controls.js +8 -7
  844. package/dist/generated/gtk/media-file.d.ts +2 -10
  845. package/dist/generated/gtk/media-file.js +19 -4
  846. package/dist/generated/gtk/media-stream.d.ts +3 -21
  847. package/dist/generated/gtk/media-stream.js +18 -3
  848. package/dist/generated/gtk/menu-button.d.ts +2 -2
  849. package/dist/generated/gtk/menu-button.js +12 -11
  850. package/dist/generated/gtk/message-dialog.js +25 -24
  851. package/dist/generated/gtk/mnemonic-action.js +5 -3
  852. package/dist/generated/gtk/mnemonic-trigger.js +4 -2
  853. package/dist/generated/gtk/mount-operation.js +4 -2
  854. package/dist/generated/gtk/multi-filter.d.ts +1 -0
  855. package/dist/generated/gtk/multi-filter.js +16 -7
  856. package/dist/generated/gtk/multi-selection.d.ts +14 -12
  857. package/dist/generated/gtk/multi-selection.js +50 -15
  858. package/dist/generated/gtk/multi-sorter.d.ts +1 -0
  859. package/dist/generated/gtk/multi-sorter.js +17 -8
  860. package/dist/generated/gtk/named-action.js +4 -2
  861. package/dist/generated/gtk/native-dialog.js +8 -7
  862. package/dist/generated/gtk/never-trigger.js +5 -3
  863. package/dist/generated/gtk/no-selection.d.ts +14 -19
  864. package/dist/generated/gtk/no-selection.js +50 -15
  865. package/dist/generated/gtk/notebook-page.js +4 -2
  866. package/dist/generated/gtk/notebook.d.ts +12 -12
  867. package/dist/generated/gtk/notebook.js +33 -32
  868. package/dist/generated/gtk/nothing-action.js +5 -3
  869. package/dist/generated/gtk/numeric-sorter.js +9 -8
  870. package/dist/generated/gtk/object-expression.js +1 -1
  871. package/dist/generated/gtk/overlay-layout-child.js +4 -2
  872. package/dist/generated/gtk/overlay-layout.js +4 -2
  873. package/dist/generated/gtk/overlay.js +11 -10
  874. package/dist/generated/gtk/pad-controller.d.ts +2 -2
  875. package/dist/generated/gtk/pad-controller.js +6 -4
  876. package/dist/generated/gtk/page-range.d.ts +22 -0
  877. package/dist/generated/gtk/page-range.js +41 -0
  878. package/dist/generated/gtk/page-setup-unix-dialog.js +8 -7
  879. package/dist/generated/gtk/page-setup.d.ts +8 -8
  880. package/dist/generated/gtk/page-setup.js +15 -25
  881. package/dist/generated/gtk/paned.js +8 -7
  882. package/dist/generated/gtk/paper-size.js +43 -25
  883. package/dist/generated/gtk/param-spec-expression.js +4 -2
  884. package/dist/generated/gtk/password-entry-buffer.js +9 -8
  885. package/dist/generated/gtk/password-entry.d.ts +6 -3
  886. package/dist/generated/gtk/password-entry.js +29 -12
  887. package/dist/generated/gtk/picture.js +8 -7
  888. package/dist/generated/gtk/popover-menu-bar.js +9 -8
  889. package/dist/generated/gtk/popover-menu.js +22 -21
  890. package/dist/generated/gtk/popover.js +25 -24
  891. package/dist/generated/gtk/print-context.d.ts +36 -36
  892. package/dist/generated/gtk/print-context.js +40 -38
  893. package/dist/generated/gtk/print-dialog.js +4 -2
  894. package/dist/generated/gtk/print-job.d.ts +3 -2
  895. package/dist/generated/gtk/print-job.js +11 -10
  896. package/dist/generated/gtk/print-operation.d.ts +25 -23
  897. package/dist/generated/gtk/print-operation.js +59 -47
  898. package/dist/generated/gtk/print-settings.d.ts +3 -2
  899. package/dist/generated/gtk/print-settings.js +9 -19
  900. package/dist/generated/gtk/print-unix-dialog.d.ts +1 -1
  901. package/dist/generated/gtk/print-unix-dialog.js +29 -28
  902. package/dist/generated/gtk/printer.js +9 -8
  903. package/dist/generated/gtk/progress-bar.js +9 -8
  904. package/dist/generated/gtk/property-expression.js +1 -1
  905. package/dist/generated/gtk/range.js +9 -8
  906. package/dist/generated/gtk/recent-manager.js +18 -17
  907. package/dist/generated/gtk/revealer.js +8 -7
  908. package/dist/generated/gtk/root.d.ts +31 -0
  909. package/dist/generated/gtk/root.js +78 -0
  910. package/dist/generated/gtk/scale-button.js +9 -8
  911. package/dist/generated/gtk/scale.js +11 -10
  912. package/dist/generated/gtk/scrollbar.js +10 -9
  913. package/dist/generated/gtk/scrolled-window.js +8 -7
  914. package/dist/generated/gtk/search-bar.js +11 -10
  915. package/dist/generated/gtk/search-entry.d.ts +6 -3
  916. package/dist/generated/gtk/search-entry.js +27 -10
  917. package/dist/generated/gtk/section-model.d.ts +62 -0
  918. package/dist/generated/gtk/section-model.js +109 -0
  919. package/dist/generated/gtk/selection-filter-model.d.ts +1 -1
  920. package/dist/generated/gtk/selection-filter-model.js +25 -4
  921. package/dist/generated/gtk/selection-model.d.ts +73 -11
  922. package/dist/generated/gtk/selection-model.js +119 -11
  923. package/dist/generated/gtk/separator.js +8 -7
  924. package/dist/generated/gtk/settings.d.ts +1 -29
  925. package/dist/generated/gtk/settings.js +20 -6
  926. package/dist/generated/gtk/shortcut-action.js +6 -10
  927. package/dist/generated/gtk/shortcut-controller.d.ts +1 -42
  928. package/dist/generated/gtk/shortcut-controller.js +38 -17
  929. package/dist/generated/gtk/shortcut-label.js +8 -7
  930. package/dist/generated/gtk/shortcut-trigger.js +4 -2
  931. package/dist/generated/gtk/shortcut.js +7 -17
  932. package/dist/generated/gtk/shortcuts-group.js +9 -8
  933. package/dist/generated/gtk/shortcuts-section.js +9 -8
  934. package/dist/generated/gtk/shortcuts-shortcut.js +9 -8
  935. package/dist/generated/gtk/shortcuts-window.js +9 -8
  936. package/dist/generated/gtk/signal-action.js +4 -2
  937. package/dist/generated/gtk/signal-list-item-factory.js +9 -8
  938. package/dist/generated/gtk/single-selection.d.ts +14 -19
  939. package/dist/generated/gtk/single-selection.js +50 -15
  940. package/dist/generated/gtk/size-group.d.ts +5 -5
  941. package/dist/generated/gtk/size-group.js +9 -7
  942. package/dist/generated/gtk/slice-list-model.d.ts +2 -9
  943. package/dist/generated/gtk/slice-list-model.js +32 -4
  944. package/dist/generated/gtk/snapshot.js +4 -2
  945. package/dist/generated/gtk/sort-list-model.d.ts +2 -30
  946. package/dist/generated/gtk/sort-list-model.js +32 -4
  947. package/dist/generated/gtk/sorter.js +9 -8
  948. package/dist/generated/gtk/spin-button.d.ts +8 -3
  949. package/dist/generated/gtk/spin-button.js +49 -30
  950. package/dist/generated/gtk/spinner.js +8 -7
  951. package/dist/generated/gtk/stack-page.js +4 -2
  952. package/dist/generated/gtk/stack-sidebar.js +8 -7
  953. package/dist/generated/gtk/stack-switcher.js +8 -7
  954. package/dist/generated/gtk/stack.js +20 -19
  955. package/dist/generated/gtk/statusbar.js +8 -7
  956. package/dist/generated/gtk/string-filter.js +9 -8
  957. package/dist/generated/gtk/string-list.d.ts +1 -29
  958. package/dist/generated/gtk/string-list.js +30 -9
  959. package/dist/generated/gtk/string-object.js +4 -2
  960. package/dist/generated/gtk/string-sorter.js +9 -8
  961. package/dist/generated/gtk/style-context.js +4 -2
  962. package/dist/generated/gtk/switch.js +11 -22
  963. package/dist/generated/gtk/symbolic-paintable.d.ts +121 -0
  964. package/dist/generated/gtk/symbolic-paintable.js +221 -0
  965. package/dist/generated/gtk/text-buffer.js +12 -11
  966. package/dist/generated/gtk/text-child-anchor.js +4 -2
  967. package/dist/generated/gtk/text-mark.js +4 -2
  968. package/dist/generated/gtk/text-tag-table.js +12 -11
  969. package/dist/generated/gtk/text-tag.js +4 -2
  970. package/dist/generated/gtk/text-view.d.ts +10 -10
  971. package/dist/generated/gtk/text-view.js +21 -20
  972. package/dist/generated/gtk/text.d.ts +6 -3
  973. package/dist/generated/gtk/text.js +27 -10
  974. package/dist/generated/gtk/toggle-button.js +31 -30
  975. package/dist/generated/gtk/tooltip.js +4 -2
  976. package/dist/generated/gtk/tree-expander.js +8 -7
  977. package/dist/generated/gtk/tree-list-model.d.ts +148 -0
  978. package/dist/generated/gtk/tree-list-model.js +343 -0
  979. package/dist/generated/gtk/tree-list-row-sorter.js +9 -8
  980. package/dist/generated/gtk/tree-list-row.js +4 -2
  981. package/dist/generated/gtk/tree-model-filter.d.ts +5 -69
  982. package/dist/generated/gtk/tree-model-filter.js +111 -5
  983. package/dist/generated/gtk/tree-model-sort.d.ts +6 -98
  984. package/dist/generated/gtk/tree-model-sort.js +160 -53
  985. package/dist/generated/gtk/tree-model.d.ts +27 -27
  986. package/dist/generated/gtk/tree-model.js +27 -27
  987. package/dist/generated/gtk/tree-path.js +20 -6
  988. package/dist/generated/gtk/tree-row-reference.js +8 -2
  989. package/dist/generated/gtk/tree-selection.js +9 -8
  990. package/dist/generated/gtk/tree-sortable.d.ts +236 -1
  991. package/dist/generated/gtk/tree-sortable.js +742 -0
  992. package/dist/generated/gtk/tree-store.d.ts +6 -33
  993. package/dist/generated/gtk/tree-store.js +117 -10
  994. package/dist/generated/gtk/tree-view-column.js +8 -7
  995. package/dist/generated/gtk/tree-view.d.ts +2 -2
  996. package/dist/generated/gtk/tree-view.js +30 -29
  997. package/dist/generated/gtk/uri-launcher.js +4 -2
  998. package/dist/generated/gtk/video.js +8 -7
  999. package/dist/generated/gtk/viewport.js +8 -7
  1000. package/dist/generated/gtk/volume-button.js +8 -7
  1001. package/dist/generated/gtk/widget-paintable.d.ts +3 -23
  1002. package/dist/generated/gtk/widget-paintable.js +19 -4
  1003. package/dist/generated/gtk/widget.d.ts +4 -4
  1004. package/dist/generated/gtk/widget.js +115 -120
  1005. package/dist/generated/gtk/window-controls.js +19 -18
  1006. package/dist/generated/gtk/window-group.js +4 -2
  1007. package/dist/generated/gtk/window-handle.js +8 -7
  1008. package/dist/generated/gtk/window.js +8 -7
  1009. package/dist/generated/gtksource/annotation-provider.js +9 -8
  1010. package/dist/generated/gtksource/annotation.js +4 -2
  1011. package/dist/generated/gtksource/annotations.js +9 -8
  1012. package/dist/generated/gtksource/buffer.js +12 -11
  1013. package/dist/generated/gtksource/completion-cell.js +4 -2
  1014. package/dist/generated/gtksource/completion-context.d.ts +1 -0
  1015. package/dist/generated/gtksource/completion-context.js +17 -8
  1016. package/dist/generated/gtksource/completion-snippets.js +4 -2
  1017. package/dist/generated/gtksource/completion-words.js +4 -2
  1018. package/dist/generated/gtksource/completion.js +9 -8
  1019. package/dist/generated/gtksource/encoding.js +3 -3
  1020. package/dist/generated/gtksource/file-loader.js +4 -2
  1021. package/dist/generated/gtksource/file-saver.js +4 -2
  1022. package/dist/generated/gtksource/file.js +4 -2
  1023. package/dist/generated/gtksource/gutter-lines.d.ts +3 -3
  1024. package/dist/generated/gtksource/gutter-lines.js +7 -5
  1025. package/dist/generated/gtksource/gutter-renderer-pixbuf.js +12 -11
  1026. package/dist/generated/gtksource/gutter-renderer-text.d.ts +1 -1
  1027. package/dist/generated/gtksource/gutter-renderer-text.js +13 -12
  1028. package/dist/generated/gtksource/gutter-renderer.d.ts +1 -1
  1029. package/dist/generated/gtksource/gutter-renderer.js +12 -11
  1030. package/dist/generated/gtksource/gutter.js +4 -2
  1031. package/dist/generated/gtksource/hover-context.js +4 -2
  1032. package/dist/generated/gtksource/hover-display.d.ts +1 -1
  1033. package/dist/generated/gtksource/hover-display.js +5 -3
  1034. package/dist/generated/gtksource/hover.js +4 -2
  1035. package/dist/generated/gtksource/language-manager.d.ts +5 -5
  1036. package/dist/generated/gtksource/language-manager.js +10 -8
  1037. package/dist/generated/gtksource/language.js +4 -2
  1038. package/dist/generated/gtksource/map.js +11 -10
  1039. package/dist/generated/gtksource/mark-attributes.js +9 -8
  1040. package/dist/generated/gtksource/mark.js +4 -2
  1041. package/dist/generated/gtksource/print-compositor.d.ts +50 -50
  1042. package/dist/generated/gtksource/print-compositor.js +54 -52
  1043. package/dist/generated/gtksource/region.d.ts +15 -15
  1044. package/dist/generated/gtksource/region.js +19 -17
  1045. package/dist/generated/gtksource/search-context.js +4 -2
  1046. package/dist/generated/gtksource/search-settings.js +4 -2
  1047. package/dist/generated/gtksource/snippet-chunk.js +3 -1
  1048. package/dist/generated/gtksource/snippet-context.js +9 -8
  1049. package/dist/generated/gtksource/snippet-manager.js +5 -3
  1050. package/dist/generated/gtksource/snippet.js +4 -2
  1051. package/dist/generated/gtksource/space-drawer.d.ts +10 -10
  1052. package/dist/generated/gtksource/space-drawer.js +17 -27
  1053. package/dist/generated/gtksource/style-scheme-chooser-button.js +3 -1
  1054. package/dist/generated/gtksource/style-scheme-chooser-widget.js +3 -1
  1055. package/dist/generated/gtksource/style-scheme-manager.js +5 -3
  1056. package/dist/generated/gtksource/style-scheme-preview.js +11 -22
  1057. package/dist/generated/gtksource/style-scheme.js +4 -2
  1058. package/dist/generated/gtksource/style.js +4 -2
  1059. package/dist/generated/gtksource/tag.js +4 -2
  1060. package/dist/generated/gtksource/view.d.ts +1 -1
  1061. package/dist/generated/gtksource/view.js +22 -21
  1062. package/dist/generated/gtksource/vim-imcontext.js +20 -19
  1063. package/dist/generated/harfbuzz/functions.d.ts +1 -1
  1064. package/dist/generated/harfbuzz/functions.js +1 -1
  1065. package/dist/generated/javascriptcore/class.js +4 -2
  1066. package/dist/generated/javascriptcore/context.js +5 -3
  1067. package/dist/generated/javascriptcore/exception.js +4 -2
  1068. package/dist/generated/javascriptcore/value.js +4 -2
  1069. package/dist/generated/javascriptcore/virtual-machine.js +4 -2
  1070. package/dist/generated/javascriptcore/weak-value.js +9 -8
  1071. package/dist/generated/json/array.js +8 -2
  1072. package/dist/generated/json/builder.js +4 -2
  1073. package/dist/generated/json/functions.js +6 -30
  1074. package/dist/generated/json/generator.js +4 -2
  1075. package/dist/generated/json/node.d.ts +1 -1
  1076. package/dist/generated/json/node.js +9 -3
  1077. package/dist/generated/json/parser.js +23 -22
  1078. package/dist/generated/json/path.d.ts +14 -14
  1079. package/dist/generated/json/path.js +18 -16
  1080. package/dist/generated/json/reader.d.ts +40 -40
  1081. package/dist/generated/json/reader.js +44 -42
  1082. package/dist/generated/json/serializable.d.ts +5 -5
  1083. package/dist/generated/json/serializable.js +5 -5
  1084. package/dist/generated/pango/attr-list.js +1 -1
  1085. package/dist/generated/pango/context.js +4 -2
  1086. package/dist/generated/pango/coverage.d.ts +2 -2
  1087. package/dist/generated/pango/coverage.js +7 -5
  1088. package/dist/generated/pango/font-description.js +1 -1
  1089. package/dist/generated/pango/font-face.js +3 -1
  1090. package/dist/generated/pango/font-family.d.ts +1 -7
  1091. package/dist/generated/pango/font-family.js +24 -3
  1092. package/dist/generated/pango/font-map.d.ts +1 -7
  1093. package/dist/generated/pango/font-map.js +24 -3
  1094. package/dist/generated/pango/font.d.ts +2 -2
  1095. package/dist/generated/pango/font.js +6 -16
  1096. package/dist/generated/pango/fontset-simple.js +4 -2
  1097. package/dist/generated/pango/fontset.js +3 -1
  1098. package/dist/generated/pango/functions.d.ts +10 -9
  1099. package/dist/generated/pango/functions.js +11 -36
  1100. package/dist/generated/pango/glyph-item-iter.d.ts +4 -4
  1101. package/dist/generated/pango/glyph-item-iter.js +4 -4
  1102. package/dist/generated/pango/glyph-item.d.ts +2 -1
  1103. package/dist/generated/pango/glyph-item.js +1 -1
  1104. package/dist/generated/pango/glyph-string.d.ts +5 -4
  1105. package/dist/generated/pango/glyph-string.js +6 -30
  1106. package/dist/generated/pango/glyph-vis-attr.d.ts +29 -0
  1107. package/dist/generated/pango/glyph-vis-attr.js +48 -0
  1108. package/dist/generated/pango/index.d.ts +3 -0
  1109. package/dist/generated/pango/index.js +3 -0
  1110. package/dist/generated/pango/language.js +2 -2
  1111. package/dist/generated/pango/layout-iter.d.ts +6 -6
  1112. package/dist/generated/pango/layout-iter.js +9 -63
  1113. package/dist/generated/pango/layout-line.d.ts +3 -3
  1114. package/dist/generated/pango/layout-line.js +4 -28
  1115. package/dist/generated/pango/layout.d.ts +9 -8
  1116. package/dist/generated/pango/layout.js +16 -68
  1117. package/dist/generated/pango/log-attr.d.ts +123 -0
  1118. package/dist/generated/pango/log-attr.js +212 -0
  1119. package/dist/generated/pango/matrix.d.ts +3 -3
  1120. package/dist/generated/pango/matrix.js +2 -15
  1121. package/dist/generated/pango/rectangle.d.ts +32 -0
  1122. package/dist/generated/pango/rectangle.js +61 -0
  1123. package/dist/generated/pango/renderer.js +3 -1
  1124. package/dist/generated/pango/tab-array.js +1 -1
  1125. package/dist/generated/secret/backend.d.ts +14 -0
  1126. package/dist/generated/secret/backend.js +69 -0
  1127. package/dist/generated/secret/collection.d.ts +1 -1
  1128. package/dist/generated/secret/collection.js +9 -7
  1129. package/dist/generated/secret/item.d.ts +1 -1
  1130. package/dist/generated/secret/item.js +7 -5
  1131. package/dist/generated/secret/prompt.js +6 -16
  1132. package/dist/generated/secret/schema.d.ts +10 -10
  1133. package/dist/generated/secret/schema.js +10 -10
  1134. package/dist/generated/secret/service.d.ts +1 -1
  1135. package/dist/generated/secret/service.js +14 -36
  1136. package/dist/generated/secret/value.js +8 -2
  1137. package/dist/generated/soup/auth-basic.js +4 -2
  1138. package/dist/generated/soup/auth-digest.js +4 -2
  1139. package/dist/generated/soup/auth-domain-basic.js +4 -2
  1140. package/dist/generated/soup/auth-domain-digest.js +4 -2
  1141. package/dist/generated/soup/auth-domain.js +3 -1
  1142. package/dist/generated/soup/auth-manager.d.ts +1 -1
  1143. package/dist/generated/soup/auth-manager.js +5 -3
  1144. package/dist/generated/soup/auth-negotiate.js +4 -2
  1145. package/dist/generated/soup/auth-ntlm.js +4 -2
  1146. package/dist/generated/soup/auth.js +4 -2
  1147. package/dist/generated/soup/cache.js +4 -2
  1148. package/dist/generated/soup/content-decoder.js +4 -2
  1149. package/dist/generated/soup/content-sniffer.js +4 -2
  1150. package/dist/generated/soup/cookie-jar-db.js +12 -11
  1151. package/dist/generated/soup/cookie-jar-text.js +12 -11
  1152. package/dist/generated/soup/cookie-jar.js +12 -11
  1153. package/dist/generated/soup/cookie.js +1 -1
  1154. package/dist/generated/soup/hstsenforcer-db.js +12 -11
  1155. package/dist/generated/soup/hstsenforcer.js +12 -11
  1156. package/dist/generated/soup/hstspolicy.js +24 -6
  1157. package/dist/generated/soup/index.d.ts +1 -0
  1158. package/dist/generated/soup/index.js +1 -0
  1159. package/dist/generated/soup/logger.js +4 -2
  1160. package/dist/generated/soup/message-headers.d.ts +4 -4
  1161. package/dist/generated/soup/message-headers.js +3 -20
  1162. package/dist/generated/soup/message.js +12 -11
  1163. package/dist/generated/soup/multipart-input-stream.js +4 -2
  1164. package/dist/generated/soup/multipart.js +8 -2
  1165. package/dist/generated/soup/range.d.ts +33 -0
  1166. package/dist/generated/soup/range.js +52 -0
  1167. package/dist/generated/soup/server-message.js +12 -11
  1168. package/dist/generated/soup/server.js +9 -8
  1169. package/dist/generated/soup/session.d.ts +1 -1
  1170. package/dist/generated/soup/session.js +10 -9
  1171. package/dist/generated/soup/websocket-connection.js +12 -11
  1172. package/dist/generated/soup/websocket-extension-deflate.js +4 -2
  1173. package/dist/generated/soup/websocket-extension-manager.js +4 -2
  1174. package/dist/generated/soup/websocket-extension.js +3 -1
  1175. package/dist/generated/vte/pty.js +4 -2
  1176. package/dist/generated/vte/regex.js +24 -6
  1177. package/dist/generated/vte/terminal.d.ts +2 -2
  1178. package/dist/generated/vte/terminal.js +15 -26
  1179. package/dist/generated/vte/uuid.js +4 -2
  1180. package/dist/generated/webkit/authentication-request.js +12 -11
  1181. package/dist/generated/webkit/automation-session.js +9 -8
  1182. package/dist/generated/webkit/back-forward-list-item.js +4 -2
  1183. package/dist/generated/webkit/back-forward-list.js +9 -8
  1184. package/dist/generated/webkit/clipboard-permission-request.js +4 -2
  1185. package/dist/generated/webkit/color-chooser-request.js +9 -8
  1186. package/dist/generated/webkit/context-menu-item.js +5 -9
  1187. package/dist/generated/webkit/context-menu.js +7 -17
  1188. package/dist/generated/webkit/cookie-manager.js +9 -8
  1189. package/dist/generated/webkit/credential.js +16 -4
  1190. package/dist/generated/webkit/device-info-permission-request.js +4 -2
  1191. package/dist/generated/webkit/download.js +12 -11
  1192. package/dist/generated/webkit/editor-state.js +9 -8
  1193. package/dist/generated/webkit/favicon-database.js +9 -8
  1194. package/dist/generated/webkit/feature-list.d.ts +2 -2
  1195. package/dist/generated/webkit/feature-list.js +2 -2
  1196. package/dist/generated/webkit/file-chooser-request.js +4 -2
  1197. package/dist/generated/webkit/find-controller.js +9 -8
  1198. package/dist/generated/webkit/form-submission-request.js +4 -2
  1199. package/dist/generated/webkit/geolocation-manager.js +9 -8
  1200. package/dist/generated/webkit/geolocation-permission-request.js +4 -2
  1201. package/dist/generated/webkit/hit-test-result.js +4 -2
  1202. package/dist/generated/webkit/input-method-context.js +8 -7
  1203. package/dist/generated/webkit/media-key-system-permission-request.js +4 -2
  1204. package/dist/generated/webkit/navigation-policy-decision.js +4 -2
  1205. package/dist/generated/webkit/network-session.js +10 -9
  1206. package/dist/generated/webkit/notification-permission-request.js +4 -2
  1207. package/dist/generated/webkit/notification.js +9 -8
  1208. package/dist/generated/webkit/option-menu.js +9 -8
  1209. package/dist/generated/webkit/pointer-lock-permission-request.js +4 -2
  1210. package/dist/generated/webkit/policy-decision.js +3 -1
  1211. package/dist/generated/webkit/print-operation.js +12 -11
  1212. package/dist/generated/webkit/response-policy-decision.js +4 -2
  1213. package/dist/generated/webkit/security-manager.js +4 -2
  1214. package/dist/generated/webkit/security-origin.js +8 -2
  1215. package/dist/generated/webkit/settings.js +4 -2
  1216. package/dist/generated/webkit/urirequest.js +4 -2
  1217. package/dist/generated/webkit/uriresponse.js +4 -2
  1218. package/dist/generated/webkit/urischeme-request.js +4 -2
  1219. package/dist/generated/webkit/urischeme-response.js +4 -2
  1220. package/dist/generated/webkit/user-content-filter-store.js +4 -2
  1221. package/dist/generated/webkit/user-content-manager.d.ts +1 -1
  1222. package/dist/generated/webkit/user-content-manager.js +13 -12
  1223. package/dist/generated/webkit/user-media-permission-request.js +4 -2
  1224. package/dist/generated/webkit/user-message.js +8 -24
  1225. package/dist/generated/webkit/user-script.js +8 -2
  1226. package/dist/generated/webkit/user-style-sheet.js +8 -2
  1227. package/dist/generated/webkit/web-context.js +12 -17
  1228. package/dist/generated/webkit/web-extension-match-pattern.js +24 -6
  1229. package/dist/generated/webkit/web-inspector.js +9 -8
  1230. package/dist/generated/webkit/web-resource.d.ts +2 -2
  1231. package/dist/generated/webkit/web-resource.js +14 -13
  1232. package/dist/generated/webkit/web-view-base.js +4 -2
  1233. package/dist/generated/webkit/web-view.d.ts +1 -1
  1234. package/dist/generated/webkit/web-view.js +14 -19
  1235. package/dist/generated/webkit/website-data-access-permission-request.js +4 -2
  1236. package/dist/generated/webkit/website-data-manager.js +4 -2
  1237. package/dist/generated/webkit/website-policies.js +4 -2
  1238. package/dist/generated/webkit/window-properties.d.ts +31 -31
  1239. package/dist/generated/webkit/window-properties.js +35 -33
  1240. package/dist/generated/webkitwebprocessextension/context-menu-item.js +5 -9
  1241. package/dist/generated/webkitwebprocessextension/context-menu.js +7 -17
  1242. package/dist/generated/webkitwebprocessextension/frame.js +4 -2
  1243. package/dist/generated/webkitwebprocessextension/hit-test-result.js +4 -2
  1244. package/dist/generated/webkitwebprocessextension/script-world.js +10 -9
  1245. package/dist/generated/webkitwebprocessextension/urirequest.js +4 -2
  1246. package/dist/generated/webkitwebprocessextension/uriresponse.js +4 -2
  1247. package/dist/generated/webkitwebprocessextension/user-message.js +8 -24
  1248. package/dist/generated/webkitwebprocessextension/web-editor.js +9 -8
  1249. package/dist/generated/webkitwebprocessextension/web-form-manager.js +12 -11
  1250. package/dist/generated/webkitwebprocessextension/web-hit-test-result.js +4 -2
  1251. package/dist/generated/webkitwebprocessextension/web-page.js +12 -11
  1252. package/dist/generated/webkitwebprocessextension/web-process-extension.js +30 -29
  1253. package/dist/gl/constants.d.ts +0 -4
  1254. package/dist/gl/constants.js +0 -4
  1255. package/dist/gl/gl.d.ts +130 -52
  1256. package/dist/gl/gl.js +148 -54
  1257. package/dist/gl/index.d.ts +0 -12
  1258. package/dist/gl/index.js +0 -12
  1259. package/dist/index.d.ts +1 -0
  1260. package/dist/index.js +1 -0
  1261. package/dist/native/base.d.ts +29 -12
  1262. package/dist/native/base.js +30 -12
  1263. package/dist/native/error.d.ts +21 -7
  1264. package/dist/native/error.js +21 -7
  1265. package/dist/native/events.d.ts +22 -2
  1266. package/dist/native/events.js +17 -2
  1267. package/dist/native/lifecycle.d.ts +23 -14
  1268. package/dist/native/lifecycle.js +29 -29
  1269. package/dist/native/object.d.ts +15 -10
  1270. package/dist/native/object.js +16 -11
  1271. package/dist/registry.d.ts +26 -7
  1272. package/dist/registry.js +26 -8
  1273. package/dist/types.d.ts +3 -2
  1274. package/package.json +4 -4
  1275. package/dist/codegen/ffi-generator.d.ts +0 -109
  1276. package/dist/codegen/ffi-generator.js +0 -2148
package/README.md CHANGED
@@ -1,47 +1,43 @@
1
1
  <p align="center">
2
- <img src="https://raw.githubusercontent.com/eugeniodepalo/gtkx/HEAD/logo.svg" alt="GTKX Logo" width="128" height="128">
2
+ <img src="https://raw.githubusercontent.com/eugeniodepalo/gtkx/main/logo.svg" alt="GTKX" width="80" height="80">
3
3
  </p>
4
4
 
5
5
  <h1 align="center">GTKX</h1>
6
6
 
7
7
  <p align="center">
8
- <strong>Build native GTK4 desktop apps with React</strong>
8
+ <strong>Build native GTK4 desktop applications with React and TypeScript.</strong>
9
9
  </p>
10
10
 
11
11
  <p align="center">
12
- <a href="https://eugeniodepalo.github.io/gtkx">Documentation</a> ·
13
- <a href="#quick-start">Quick Start</a> ·
14
- <a href="#examples">Examples</a> ·
15
- <a href="#contributing">Contributing</a>
12
+ <a href="https://www.npmjs.com/package/@gtkx/react"><img src="https://img.shields.io/npm/v/@gtkx/react.svg" alt="npm version"></a>
13
+ <a href="https://github.com/eugeniodepalo/gtkx/actions"><img src="https://img.shields.io/github/actions/workflow/status/eugeniodepalo/gtkx/ci.yml" alt="CI"></a>
14
+ <a href="https://github.com/eugeniodepalo/gtkx/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-MPL--2.0-blue.svg" alt="License"></a>
15
+ <a href="https://github.com/eugeniodepalo/gtkx/discussions"><img src="https://img.shields.io/badge/discussions-GitHub-blue" alt="GitHub Discussions"></a>
16
16
  </p>
17
17
 
18
18
  ---
19
19
 
20
- GTKX lets you build native Linux desktop applications using React and TypeScript. Write familiar React code that renders as native GTK4 widgets—no Electron, no web views.
21
-
22
- ## Features
23
-
24
- - **React** — Hooks, state, props, and components you already know
25
- - **HMR** — Edit code and see changes instantly via Vite
26
- - **Native** — Direct FFI bindings to GTK4 via Rust and libffi
27
- - **CLI** — `npx @gtkx/cli@latest create` scaffolds a ready-to-go project
28
- - **CSS-in-JS** — Emotion-style `css` template literals for GTK styling
29
- - **Testing** — Testing Library-style `screen`, `userEvent`, and queries
20
+ GTKX lets you write Linux desktop applications using React. Your components render as native GTK4 widgets through a Rust FFI bridge—no webviews, no Electron, just native performance with the developer experience you already know.
30
21
 
31
22
  ## Quick Start
32
23
 
33
24
  ```bash
34
- npx @gtkx/cli@latest create my-app
25
+ npx @gtkx/cli create my-app
35
26
  cd my-app
36
27
  npm run dev
37
28
  ```
38
29
 
39
- Edit your code and see changes instantly—no restart needed.
40
-
41
- ### Example
30
+ ## Example
42
31
 
43
32
  ```tsx
44
- import { render, ApplicationWindow, Box, Button, quit } from "@gtkx/react";
33
+ import {
34
+ GtkApplicationWindow,
35
+ GtkBox,
36
+ GtkButton,
37
+ GtkLabel,
38
+ quit,
39
+ render,
40
+ } from "@gtkx/react";
45
41
  import * as Gtk from "@gtkx/ffi/gtk";
46
42
  import { useState } from "react";
47
43
 
@@ -49,67 +45,59 @@ const App = () => {
49
45
  const [count, setCount] = useState(0);
50
46
 
51
47
  return (
52
- <ApplicationWindow title="Counter" onCloseRequest={quit}>
53
- <Box orientation={Gtk.Orientation.VERTICAL} spacing={12}>
54
- {`Count: ${count}`}
55
- <Button label="Increment" onClicked={() => setCount((c) => c + 1)} />
56
- </Box>
57
- </ApplicationWindow>
48
+ <GtkApplicationWindow
49
+ title="Counter"
50
+ defaultWidth={300}
51
+ defaultHeight={200}
52
+ onCloseRequest={quit}
53
+ >
54
+ <GtkBox
55
+ orientation={Gtk.Orientation.VERTICAL}
56
+ spacing={20}
57
+ valign={Gtk.Align.CENTER}
58
+ >
59
+ <GtkLabel label={`Count: ${count}`} cssClasses={["title-1"]} />
60
+ <GtkButton label="Increment" onClicked={() => setCount((c) => c + 1)} />
61
+ </GtkBox>
62
+ </GtkApplicationWindow>
58
63
  );
59
64
  };
60
65
 
61
- render(<App />, "org.example.Counter");
66
+ render(<App />, "com.example.counter");
62
67
  ```
63
68
 
64
- ## Styling
65
-
66
- ```tsx
67
- import { css } from "@gtkx/css";
68
- import { Button } from "@gtkx/react";
69
-
70
- const primary = css`
71
- padding: 16px 32px;
72
- border-radius: 24px;
73
- background: linear-gradient(135deg, #3584e4, #9141ac);
74
- color: white;
75
- `;
76
-
77
- <Button label="Click me" cssClasses={[primary]} />;
78
- ```
79
-
80
- ## Testing
81
-
82
- ```tsx
83
- import { cleanup, render, screen, userEvent } from "@gtkx/testing";
84
- import * as Gtk from "@gtkx/ffi/gtk";
85
-
86
- afterEach(() => cleanup());
69
+ ## Features
87
70
 
88
- test("increments count", async () => {
89
- await render(<App />);
71
+ - **React 19** — Hooks, concurrent features, and the component model you know
72
+ - **Native GTK4 widgets** — Real native controls, not web components in a webview
73
+ - **Adwaita support** — Modern GNOME styling with Libadwaita components
74
+ - **Hot Module Replacement** — Fast refresh during development
75
+ - **TypeScript first** — Full type safety with auto-generated bindings
76
+ - **CSS-in-JS styling** — Familiar styling patterns adapted for GTK
77
+ - **Testing utilities** — Component testing similar to Testing Library
90
78
 
91
- const button = await screen.findByRole(Gtk.AccessibleRole.BUTTON, {
92
- name: "Increment",
93
- });
79
+ ## Examples
94
80
 
95
- await userEvent.click(button);
81
+ Explore complete applications in the [`examples/`](./examples) directory:
96
82
 
97
- await screen.findByText("Count: 1");
98
- });
99
- ```
83
+ - **[gtk-demo](./examples/gtk-demo)** — Full replica of the official GTK demo app
84
+ - **[hello-world](./examples/hello-world)** — Minimal application showing a counter
85
+ - **[todo](./examples/todo)** — Full-featured todo application with Adwaita styling and testing
86
+ - **[deploying](./examples/deploying)** — Example of packaging and distributing a GTKX app
100
87
 
101
- ## Requirements
88
+ ## Documentation
102
89
 
103
- - Node.js 20+ (Deno support experimental)
104
- - GTK4 Runtime (`gtk4` on Fedora, `libgtk-4-1` on Ubuntu)
90
+ Visit [https://eugeniodepalo.github.io/gtkx](https://eugeniodepalo.github.io/gtkx/) for the full documentation.
105
91
 
106
92
  ## Contributing
107
93
 
108
- We welcome contributions! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
94
+ Contributions are welcome! Please see the [contributing guidelines](./CONTRIBUTING.md) and check out the [good first issues](https://github.com/eugeniodepalo/gtkx/labels/good%20first%20issue).
95
+
96
+ ## Community
109
97
 
110
- - [Report a bug](https://github.com/eugeniodepalo/gtkx/issues/new?template=bug_report.md)
111
- - [Request a feature](https://github.com/eugeniodepalo/gtkx/issues/new?template=feature_request.md)
98
+ - [GitHub Discussions](https://github.com/eugeniodepalo/gtkx/discussions) — Questions, ideas, and general discussion
99
+ - [Issue Tracker](https://github.com/eugeniodepalo/gtkx/issues) — Bug reports and feature requests
112
100
 
113
101
  ## License
114
102
 
115
- [MPL-2.0](LICENSE)
103
+ [MPL-2.0](./LICENSE)
package/dist/batch.d.ts CHANGED
@@ -1,29 +1,71 @@
1
1
  import { type Arg, type Type } from "@gtkx/native";
2
2
  /**
3
- * Begins batching mode for FFI calls.
4
- * Batching is nestable - each beginBatch pushes a new queue onto the stack.
5
- * While in batch mode, void calls are queued instead of executed immediately.
3
+ * Begins a new FFI call batch.
4
+ *
5
+ * Batching queues multiple FFI calls and executes them together in a single
6
+ * native round-trip, reducing overhead. Batches can be nested.
7
+ *
8
+ * @example
9
+ * ```tsx
10
+ * beginBatch();
11
+ * widget.setVisible(true);
12
+ * widget.setSensitive(true);
13
+ * endBatch(); // Executes both calls in one FFI round-trip
14
+ * ```
15
+ *
16
+ * @see {@link endBatch} for executing batched calls
17
+ * @see {@link batch} for a convenient wrapper
6
18
  */
7
19
  export declare const beginBatch: () => void;
8
20
  /**
9
- * Checks if batching mode is currently active.
10
- * @returns true if batching is active, false otherwise
21
+ * Checks if currently inside a batch context.
22
+ *
23
+ * @returns `true` if {@link beginBatch} was called without a matching {@link endBatch}
11
24
  */
12
25
  export declare const isBatching: () => boolean;
13
26
  /**
14
- * Ends the current batch level and executes its queued FFI calls.
15
- * If nested inside another batch, the calls are executed immediately
16
- * rather than being merged into the parent batch.
27
+ * Ends the current batch and executes all queued FFI calls.
28
+ *
29
+ * Must be paired with a preceding {@link beginBatch} call.
30
+ *
31
+ * @see {@link beginBatch} for starting a batch
32
+ * @see {@link batch} for a convenient wrapper
17
33
  */
18
34
  export declare const endBatch: () => void;
19
35
  /**
20
- * Calls a native GTK function via FFI.
21
- * When batching is active and the return type is void, the call is queued
22
- * for batch execution instead of being executed immediately.
23
- * @param library - The shared library name (e.g., "libgtk-4.so.1")
24
- * @param symbol - The C function symbol name to call
25
- * @param args - Array of argument descriptors with types and values
26
- * @param returnType - Type descriptor for the return value
27
- * @returns The return value from the native function
36
+ * Discards all pending batched calls without executing them.
37
+ *
38
+ * Used for error recovery when batched operations should be abandoned.
39
+ */
40
+ export declare const discardAllBatches: () => void;
41
+ /**
42
+ * Makes an FFI call, batching it if inside a batch context.
43
+ *
44
+ * Calls with void return type are queued for batching. Calls with return
45
+ * values are executed immediately since the result is needed.
46
+ *
47
+ * @param library - Shared library name (e.g., "libgtk-4.so.1")
48
+ * @param symbol - Function symbol name
49
+ * @param args - Function arguments
50
+ * @param returnType - Expected return type
51
+ * @returns The function return value, or undefined for void calls
28
52
  */
29
53
  export declare const call: (library: string, symbol: string, args: Arg[], returnType: Type) => unknown;
54
+ /**
55
+ * Executes a function with automatic batching.
56
+ *
57
+ * Wraps the function in {@link beginBatch}/{@link endBatch} calls.
58
+ *
59
+ * @param fn - Function to execute with batching
60
+ * @returns The function's return value
61
+ *
62
+ * @example
63
+ * ```tsx
64
+ * batch(() => {
65
+ * widget.setVisible(true);
66
+ * widget.setSensitive(true);
67
+ * widget.setCssClasses(["active"]);
68
+ * });
69
+ * ```
70
+ */
71
+ export declare const batch: <T extends (...args: unknown[]) => unknown>(fn: T) => ReturnType<T>;
package/dist/batch.js CHANGED
@@ -1,24 +1,40 @@
1
1
  import { batchCall, call as nativeCall } from "@gtkx/native";
2
2
  const batchStack = [];
3
3
  /**
4
- * Begins batching mode for FFI calls.
5
- * Batching is nestable - each beginBatch pushes a new queue onto the stack.
6
- * While in batch mode, void calls are queued instead of executed immediately.
4
+ * Begins a new FFI call batch.
5
+ *
6
+ * Batching queues multiple FFI calls and executes them together in a single
7
+ * native round-trip, reducing overhead. Batches can be nested.
8
+ *
9
+ * @example
10
+ * ```tsx
11
+ * beginBatch();
12
+ * widget.setVisible(true);
13
+ * widget.setSensitive(true);
14
+ * endBatch(); // Executes both calls in one FFI round-trip
15
+ * ```
16
+ *
17
+ * @see {@link endBatch} for executing batched calls
18
+ * @see {@link batch} for a convenient wrapper
7
19
  */
8
20
  export const beginBatch = () => {
9
21
  batchStack.push([]);
10
22
  };
11
23
  /**
12
- * Checks if batching mode is currently active.
13
- * @returns true if batching is active, false otherwise
24
+ * Checks if currently inside a batch context.
25
+ *
26
+ * @returns `true` if {@link beginBatch} was called without a matching {@link endBatch}
14
27
  */
15
28
  export const isBatching = () => {
16
29
  return batchStack.length > 0;
17
30
  };
18
31
  /**
19
- * Ends the current batch level and executes its queued FFI calls.
20
- * If nested inside another batch, the calls are executed immediately
21
- * rather than being merged into the parent batch.
32
+ * Ends the current batch and executes all queued FFI calls.
33
+ *
34
+ * Must be paired with a preceding {@link beginBatch} call.
35
+ *
36
+ * @see {@link beginBatch} for starting a batch
37
+ * @see {@link batch} for a convenient wrapper
22
38
  */
23
39
  export const endBatch = () => {
24
40
  const queue = batchStack.pop();
@@ -29,14 +45,25 @@ export const endBatch = () => {
29
45
  }
30
46
  };
31
47
  /**
32
- * Calls a native GTK function via FFI.
33
- * When batching is active and the return type is void, the call is queued
34
- * for batch execution instead of being executed immediately.
35
- * @param library - The shared library name (e.g., "libgtk-4.so.1")
36
- * @param symbol - The C function symbol name to call
37
- * @param args - Array of argument descriptors with types and values
38
- * @param returnType - Type descriptor for the return value
39
- * @returns The return value from the native function
48
+ * Discards all pending batched calls without executing them.
49
+ *
50
+ * Used for error recovery when batched operations should be abandoned.
51
+ */
52
+ export const discardAllBatches = () => {
53
+ batchStack.length = 0;
54
+ endBatch();
55
+ };
56
+ /**
57
+ * Makes an FFI call, batching it if inside a batch context.
58
+ *
59
+ * Calls with void return type are queued for batching. Calls with return
60
+ * values are executed immediately since the result is needed.
61
+ *
62
+ * @param library - Shared library name (e.g., "libgtk-4.so.1")
63
+ * @param symbol - Function symbol name
64
+ * @param args - Function arguments
65
+ * @param returnType - Expected return type
66
+ * @returns The function return value, or undefined for void calls
40
67
  */
41
68
  export const call = (library, symbol, args, returnType) => {
42
69
  const currentQueue = batchStack[batchStack.length - 1];
@@ -46,3 +73,29 @@ export const call = (library, symbol, args, returnType) => {
46
73
  }
47
74
  return nativeCall(library, symbol, args, returnType);
48
75
  };
76
+ /**
77
+ * Executes a function with automatic batching.
78
+ *
79
+ * Wraps the function in {@link beginBatch}/{@link endBatch} calls.
80
+ *
81
+ * @param fn - Function to execute with batching
82
+ * @returns The function's return value
83
+ *
84
+ * @example
85
+ * ```tsx
86
+ * batch(() => {
87
+ * widget.setVisible(true);
88
+ * widget.setSensitive(true);
89
+ * widget.setCssClasses(["active"]);
90
+ * });
91
+ * ```
92
+ */
93
+ export const batch = (fn) => {
94
+ beginBatch();
95
+ try {
96
+ return fn();
97
+ }
98
+ finally {
99
+ endBatch();
100
+ }
101
+ };