@gtkx/codegen 0.21.0 → 1.0.0-rc.2

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 (756) hide show
  1. package/README.md +173 -0
  2. package/dist/analysis/descriptor-render.d.ts +25 -0
  3. package/dist/analysis/descriptor-render.d.ts.map +1 -0
  4. package/dist/analysis/descriptor-render.js +420 -0
  5. package/dist/analysis/descriptor-render.js.map +1 -0
  6. package/dist/analysis/descriptor.d.ts +62 -0
  7. package/dist/analysis/descriptor.d.ts.map +1 -0
  8. package/dist/analysis/descriptor.js +127 -0
  9. package/dist/analysis/descriptor.js.map +1 -0
  10. package/dist/analysis/inheritance.d.ts +38 -0
  11. package/dist/analysis/inheritance.d.ts.map +1 -0
  12. package/dist/analysis/inheritance.js +248 -0
  13. package/dist/analysis/inheritance.js.map +1 -0
  14. package/dist/analysis/param-structure.d.ts +27 -0
  15. package/dist/analysis/param-structure.d.ts.map +1 -0
  16. package/dist/analysis/param-structure.js +158 -0
  17. package/dist/analysis/param-structure.js.map +1 -0
  18. package/dist/analysis/ts-type.d.ts +20 -0
  19. package/dist/analysis/ts-type.d.ts.map +1 -0
  20. package/dist/analysis/ts-type.js +111 -0
  21. package/dist/analysis/ts-type.js.map +1 -0
  22. package/dist/compile.d.ts +18 -0
  23. package/dist/compile.d.ts.map +1 -0
  24. package/dist/compile.js +130 -0
  25. package/dist/compile.js.map +1 -0
  26. package/dist/docs/api-reference.d.ts +67 -0
  27. package/dist/docs/api-reference.d.ts.map +1 -0
  28. package/dist/docs/api-reference.js +372 -0
  29. package/dist/docs/api-reference.js.map +1 -0
  30. package/dist/docs/element-page.d.ts +12 -0
  31. package/dist/docs/element-page.d.ts.map +1 -0
  32. package/dist/docs/element-page.js +156 -0
  33. package/dist/docs/element-page.js.map +1 -0
  34. package/dist/docs/pipeline.d.ts +26 -0
  35. package/dist/docs/pipeline.d.ts.map +1 -0
  36. package/dist/docs/pipeline.js +156 -0
  37. package/dist/docs/pipeline.js.map +1 -0
  38. package/dist/docs/render.d.ts +34 -0
  39. package/dist/docs/render.d.ts.map +1 -0
  40. package/dist/docs/render.js +143 -0
  41. package/dist/docs/render.js.map +1 -0
  42. package/dist/docs/symbol-page.d.ts +41 -0
  43. package/dist/docs/symbol-page.d.ts.map +1 -0
  44. package/dist/docs/symbol-page.js +380 -0
  45. package/dist/docs/symbol-page.js.map +1 -0
  46. package/dist/fingerprint.d.ts +31 -28
  47. package/dist/fingerprint.d.ts.map +1 -1
  48. package/dist/fingerprint.js +84 -19
  49. package/dist/fingerprint.js.map +1 -1
  50. package/dist/gi.d.ts +13 -0
  51. package/dist/gi.d.ts.map +1 -0
  52. package/dist/gi.js +21 -0
  53. package/dist/gi.js.map +1 -0
  54. package/dist/gir/ancestry.d.ts +10 -0
  55. package/dist/gir/ancestry.d.ts.map +1 -0
  56. package/dist/gir/ancestry.js +26 -0
  57. package/dist/gir/ancestry.js.map +1 -0
  58. package/dist/gir/callback.d.ts +8 -14
  59. package/dist/gir/callback.d.ts.map +1 -1
  60. package/dist/gir/callback.js +16 -16
  61. package/dist/gir/callback.js.map +1 -1
  62. package/dist/gir/class.d.ts +25 -44
  63. package/dist/gir/class.d.ts.map +1 -1
  64. package/dist/gir/class.js +16 -26
  65. package/dist/gir/class.js.map +1 -1
  66. package/dist/gir/enum.d.ts +16 -34
  67. package/dist/gir/enum.d.ts.map +1 -1
  68. package/dist/gir/enum.js +10 -16
  69. package/dist/gir/enum.js.map +1 -1
  70. package/dist/gir/field.d.ts +16 -24
  71. package/dist/gir/field.d.ts.map +1 -1
  72. package/dist/gir/field.js +35 -18
  73. package/dist/gir/field.js.map +1 -1
  74. package/dist/gir/function.d.ts +15 -43
  75. package/dist/gir/function.d.ts.map +1 -1
  76. package/dist/gir/function.js +26 -23
  77. package/dist/gir/function.js.map +1 -1
  78. package/dist/gir/gir-path.d.ts +3 -0
  79. package/dist/gir/gir-path.d.ts.map +1 -0
  80. package/dist/gir/gir-path.js +57 -0
  81. package/dist/gir/gir-path.js.map +1 -0
  82. package/dist/gir/libraries.d.ts +5 -0
  83. package/dist/gir/libraries.d.ts.map +1 -0
  84. package/dist/gir/libraries.js +74 -0
  85. package/dist/gir/libraries.js.map +1 -0
  86. package/dist/gir/library.d.ts +43 -0
  87. package/dist/gir/library.d.ts.map +1 -0
  88. package/dist/gir/library.js +242 -0
  89. package/dist/gir/library.js.map +1 -0
  90. package/dist/gir/namespace.d.ts +40 -54
  91. package/dist/gir/namespace.d.ts.map +1 -1
  92. package/dist/gir/namespace.js +51 -40
  93. package/dist/gir/namespace.js.map +1 -1
  94. package/dist/gir/nullable-overrides.d.ts +3 -0
  95. package/dist/gir/nullable-overrides.d.ts.map +1 -0
  96. package/dist/gir/nullable-overrides.js +5 -0
  97. package/dist/gir/nullable-overrides.js.map +1 -0
  98. package/dist/gir/parameter.d.ts +34 -76
  99. package/dist/gir/parameter.d.ts.map +1 -1
  100. package/dist/gir/parameter.js +47 -59
  101. package/dist/gir/parameter.js.map +1 -1
  102. package/dist/gir/parse.d.ts +12 -77
  103. package/dist/gir/parse.d.ts.map +1 -1
  104. package/dist/gir/parse.js +65 -103
  105. package/dist/gir/parse.js.map +1 -1
  106. package/dist/gir/primitives.d.ts +5 -35
  107. package/dist/gir/primitives.d.ts.map +1 -1
  108. package/dist/gir/primitives.js +21 -36
  109. package/dist/gir/primitives.js.map +1 -1
  110. package/dist/gir/property.d.ts +18 -26
  111. package/dist/gir/property.d.ts.map +1 -1
  112. package/dist/gir/property.js +16 -12
  113. package/dist/gir/property.js.map +1 -1
  114. package/dist/gir/record.d.ts +28 -0
  115. package/dist/gir/record.d.ts.map +1 -0
  116. package/dist/gir/record.js +26 -0
  117. package/dist/gir/record.js.map +1 -0
  118. package/dist/gir/size.d.ts +15 -61
  119. package/dist/gir/size.d.ts.map +1 -1
  120. package/dist/gir/size.js +49 -72
  121. package/dist/gir/size.js.map +1 -1
  122. package/dist/gir/type-id.d.ts +51 -0
  123. package/dist/gir/type-id.d.ts.map +1 -0
  124. package/dist/gir/type-id.js +12 -0
  125. package/dist/gir/type-id.js.map +1 -0
  126. package/dist/gir/type-ref.d.ts +4 -77
  127. package/dist/gir/type-ref.d.ts.map +1 -1
  128. package/dist/gir/type-ref.js +58 -77
  129. package/dist/gir/type-ref.js.map +1 -1
  130. package/dist/gir/type.d.ts +34 -0
  131. package/dist/gir/type.d.ts.map +1 -0
  132. package/dist/gir/type.js +2 -0
  133. package/dist/gir/type.js.map +1 -0
  134. package/dist/index.d.ts +7 -11
  135. package/dist/index.d.ts.map +1 -1
  136. package/dist/index.js +6 -11
  137. package/dist/index.js.map +1 -1
  138. package/dist/jsx.d.ts +26 -0
  139. package/dist/jsx.d.ts.map +1 -0
  140. package/dist/jsx.js +40 -0
  141. package/dist/jsx.js.map +1 -0
  142. package/dist/khronos/args.d.ts +30 -0
  143. package/dist/khronos/args.d.ts.map +1 -0
  144. package/dist/khronos/args.js +171 -0
  145. package/dist/khronos/args.js.map +1 -0
  146. package/dist/khronos/jsdoc.d.ts +21 -0
  147. package/dist/khronos/jsdoc.d.ts.map +1 -0
  148. package/dist/khronos/jsdoc.js +72 -0
  149. package/dist/khronos/jsdoc.js.map +1 -0
  150. package/dist/khronos/model.d.ts +38 -0
  151. package/dist/khronos/model.d.ts.map +1 -0
  152. package/dist/khronos/model.js +167 -0
  153. package/dist/khronos/model.js.map +1 -0
  154. package/dist/khronos/modules.d.ts +12 -0
  155. package/dist/khronos/modules.d.ts.map +1 -0
  156. package/dist/khronos/modules.js +73 -0
  157. package/dist/khronos/modules.js.map +1 -0
  158. package/dist/khronos/param-pair.d.ts +11 -0
  159. package/dist/khronos/param-pair.d.ts.map +1 -0
  160. package/dist/khronos/param-pair.js +6 -0
  161. package/dist/khronos/param-pair.js.map +1 -0
  162. package/dist/khronos/parse.d.ts +8 -0
  163. package/dist/khronos/parse.d.ts.map +1 -0
  164. package/dist/khronos/parse.js +62 -0
  165. package/dist/khronos/parse.js.map +1 -0
  166. package/dist/khronos/pipeline.d.ts +24 -0
  167. package/dist/khronos/pipeline.d.ts.map +1 -0
  168. package/dist/khronos/pipeline.js +223 -0
  169. package/dist/khronos/pipeline.js.map +1 -0
  170. package/dist/khronos/plan.d.ts +81 -0
  171. package/dist/khronos/plan.d.ts.map +1 -0
  172. package/dist/khronos/plan.js +200 -0
  173. package/dist/khronos/plan.js.map +1 -0
  174. package/dist/khronos/render.d.ts +17 -0
  175. package/dist/khronos/render.d.ts.map +1 -0
  176. package/dist/khronos/render.js +205 -0
  177. package/dist/khronos/render.js.map +1 -0
  178. package/dist/khronos/select.d.ts +15 -0
  179. package/dist/khronos/select.d.ts.map +1 -0
  180. package/dist/khronos/select.js +56 -0
  181. package/dist/khronos/select.js.map +1 -0
  182. package/dist/react/element-config.d.ts +17 -0
  183. package/dist/react/element-config.d.ts.map +1 -0
  184. package/dist/react/element-config.js +61 -0
  185. package/dist/react/element-config.js.map +1 -0
  186. package/dist/runner.d.ts +38 -49
  187. package/dist/runner.d.ts.map +1 -1
  188. package/dist/runner.js +81 -54
  189. package/dist/runner.js.map +1 -1
  190. package/dist/store/compile-store.d.ts +11 -0
  191. package/dist/store/compile-store.d.ts.map +1 -0
  192. package/dist/store/compile-store.js +40 -0
  193. package/dist/store/compile-store.js.map +1 -0
  194. package/dist/store/gi/async.d.ts +5 -0
  195. package/dist/store/gi/async.d.ts.map +1 -0
  196. package/dist/store/gi/async.js +45 -0
  197. package/dist/store/gi/async.js.map +1 -0
  198. package/dist/store/gi/callables.d.ts +42 -0
  199. package/dist/store/gi/callables.d.ts.map +1 -0
  200. package/dist/store/gi/callables.js +264 -0
  201. package/dist/store/gi/callables.js.map +1 -0
  202. package/dist/store/gi/callback.d.ts +5 -0
  203. package/dist/store/gi/callback.d.ts.map +1 -0
  204. package/dist/store/gi/callback.js +17 -0
  205. package/dist/store/gi/callback.js.map +1 -0
  206. package/dist/store/gi/class-struct-record.d.ts +10 -0
  207. package/dist/store/gi/class-struct-record.d.ts.map +1 -0
  208. package/dist/store/gi/class-struct-record.js +52 -0
  209. package/dist/store/gi/class-struct-record.js.map +1 -0
  210. package/dist/store/gi/class.d.ts +5 -0
  211. package/dist/store/gi/class.d.ts.map +1 -0
  212. package/dist/store/gi/class.js +208 -0
  213. package/dist/store/gi/class.js.map +1 -0
  214. package/dist/store/gi/companion.d.ts +5 -0
  215. package/dist/store/gi/companion.d.ts.map +1 -0
  216. package/dist/store/gi/companion.js +16 -0
  217. package/dist/store/gi/companion.js.map +1 -0
  218. package/dist/store/gi/constant.d.ts +6 -0
  219. package/dist/store/gi/constant.d.ts.map +1 -0
  220. package/dist/store/gi/constant.js +35 -0
  221. package/dist/store/gi/constant.js.map +1 -0
  222. package/dist/store/gi/constructor-props.d.ts +6 -0
  223. package/dist/store/gi/constructor-props.d.ts.map +1 -0
  224. package/dist/store/gi/constructor-props.js +71 -0
  225. package/dist/store/gi/constructor-props.js.map +1 -0
  226. package/dist/store/gi/enum.d.ts +6 -0
  227. package/dist/store/gi/enum.d.ts.map +1 -0
  228. package/dist/store/gi/enum.js +41 -0
  229. package/dist/store/gi/enum.js.map +1 -0
  230. package/dist/store/gi/function.d.ts +9 -0
  231. package/dist/store/gi/function.d.ts.map +1 -0
  232. package/dist/store/gi/function.js +114 -0
  233. package/dist/store/gi/function.js.map +1 -0
  234. package/dist/store/gi/gtype-binding.d.ts +10 -0
  235. package/dist/store/gi/gtype-binding.d.ts.map +1 -0
  236. package/dist/store/gi/gtype-binding.js +24 -0
  237. package/dist/store/gi/gtype-binding.js.map +1 -0
  238. package/dist/store/gi/interface.d.ts +5 -0
  239. package/dist/store/gi/interface.d.ts.map +1 -0
  240. package/dist/store/gi/interface.js +117 -0
  241. package/dist/store/gi/interface.js.map +1 -0
  242. package/dist/store/gi/item-comparators.d.ts +7 -0
  243. package/dist/store/gi/item-comparators.d.ts.map +1 -0
  244. package/dist/store/gi/item-comparators.js +88 -0
  245. package/dist/store/gi/item-comparators.js.map +1 -0
  246. package/dist/store/gi/method.d.ts +24 -0
  247. package/dist/store/gi/method.d.ts.map +1 -0
  248. package/dist/store/gi/method.js +336 -0
  249. package/dist/store/gi/method.js.map +1 -0
  250. package/dist/store/gi/param-marshal.d.ts +10 -0
  251. package/dist/store/gi/param-marshal.d.ts.map +1 -0
  252. package/dist/store/gi/param-marshal.js +50 -0
  253. package/dist/store/gi/param-marshal.js.map +1 -0
  254. package/dist/store/gi/pipeline.d.ts +5 -0
  255. package/dist/store/gi/pipeline.d.ts.map +1 -0
  256. package/dist/store/gi/pipeline.js +95 -0
  257. package/dist/store/gi/pipeline.js.map +1 -0
  258. package/dist/store/gi/properties.d.ts +6 -0
  259. package/dist/store/gi/properties.d.ts.map +1 -0
  260. package/dist/store/gi/properties.js +32 -0
  261. package/dist/store/gi/properties.js.map +1 -0
  262. package/dist/store/gi/property-accessor.d.ts +27 -0
  263. package/dist/store/gi/property-accessor.d.ts.map +1 -0
  264. package/dist/store/gi/property-accessor.js +158 -0
  265. package/dist/store/gi/property-accessor.js.map +1 -0
  266. package/dist/store/gi/record-constructor.d.ts +6 -0
  267. package/dist/store/gi/record-constructor.d.ts.map +1 -0
  268. package/dist/store/gi/record-constructor.js +76 -0
  269. package/dist/store/gi/record-constructor.js.map +1 -0
  270. package/dist/store/gi/record-field-accessor.d.ts +25 -0
  271. package/dist/store/gi/record-field-accessor.d.ts.map +1 -0
  272. package/dist/store/gi/record-field-accessor.js +360 -0
  273. package/dist/store/gi/record-field-accessor.js.map +1 -0
  274. package/dist/store/gi/record-layout.d.ts +15 -0
  275. package/dist/store/gi/record-layout.d.ts.map +1 -0
  276. package/dist/store/gi/record-layout.js +132 -0
  277. package/dist/store/gi/record-layout.js.map +1 -0
  278. package/dist/store/gi/record.d.ts +5 -0
  279. package/dist/store/gi/record.d.ts.map +1 -0
  280. package/dist/store/gi/record.js +65 -0
  281. package/dist/store/gi/record.js.map +1 -0
  282. package/dist/store/gi/registration.d.ts +16 -0
  283. package/dist/store/gi/registration.d.ts.map +1 -0
  284. package/dist/store/gi/registration.js +21 -0
  285. package/dist/store/gi/registration.js.map +1 -0
  286. package/dist/store/gi/return-wrap.d.ts +10 -0
  287. package/dist/store/gi/return-wrap.d.ts.map +1 -0
  288. package/dist/store/gi/return-wrap.js +67 -0
  289. package/dist/store/gi/return-wrap.js.map +1 -0
  290. package/dist/store/gi/runtime-override.d.ts +4 -0
  291. package/dist/store/gi/runtime-override.d.ts.map +1 -0
  292. package/dist/store/gi/runtime-override.js +32 -0
  293. package/dist/store/gi/runtime-override.js.map +1 -0
  294. package/dist/store/gi/signal.d.ts +6 -0
  295. package/dist/store/gi/signal.d.ts.map +1 -0
  296. package/dist/store/gi/signal.js +280 -0
  297. package/dist/store/gi/signal.js.map +1 -0
  298. package/dist/store/gi/vtable.d.ts +5 -0
  299. package/dist/store/gi/vtable.d.ts.map +1 -0
  300. package/dist/store/gi/vtable.js +108 -0
  301. package/dist/store/gi/vtable.js.map +1 -0
  302. package/dist/store/gi-store.d.ts +10 -0
  303. package/dist/store/gi-store.d.ts.map +1 -0
  304. package/dist/store/gi-store.js +59 -0
  305. package/dist/store/gi-store.js.map +1 -0
  306. package/dist/store/jsx/element-components.d.ts +23 -0
  307. package/dist/store/jsx/element-components.d.ts.map +1 -0
  308. package/dist/store/jsx/element-components.js +86 -0
  309. package/dist/store/jsx/element-components.js.map +1 -0
  310. package/dist/store/jsx/element-prop-imports.d.ts +17 -0
  311. package/dist/store/jsx/element-prop-imports.d.ts.map +1 -0
  312. package/dist/store/jsx/element-prop-imports.js +15 -0
  313. package/dist/store/jsx/element-prop-imports.js.map +1 -0
  314. package/dist/store/jsx/element-prop-types.d.ts +10 -0
  315. package/dist/store/jsx/element-prop-types.d.ts.map +1 -0
  316. package/dist/store/jsx/element-prop-types.js +41 -0
  317. package/dist/store/jsx/element-prop-types.js.map +1 -0
  318. package/dist/store/jsx/gir-index.d.ts +16 -0
  319. package/dist/store/jsx/gir-index.d.ts.map +1 -0
  320. package/dist/store/jsx/gir-index.js +33 -0
  321. package/dist/store/jsx/gir-index.js.map +1 -0
  322. package/dist/store/jsx/intrinsic-elements.d.ts +27 -0
  323. package/dist/store/jsx/intrinsic-elements.d.ts.map +1 -0
  324. package/dist/store/jsx/intrinsic-elements.js +128 -0
  325. package/dist/store/jsx/intrinsic-elements.js.map +1 -0
  326. package/dist/store/jsx/jsx.d.ts +16 -0
  327. package/dist/store/jsx/jsx.d.ts.map +1 -0
  328. package/dist/store/jsx/jsx.js +242 -0
  329. package/dist/store/jsx/jsx.js.map +1 -0
  330. package/dist/store/jsx/metadata.d.ts +4 -0
  331. package/dist/store/jsx/metadata.d.ts.map +1 -0
  332. package/dist/store/jsx/metadata.js +253 -0
  333. package/dist/store/jsx/metadata.js.map +1 -0
  334. package/dist/store/jsx/pipeline.d.ts +21 -0
  335. package/dist/store/jsx/pipeline.d.ts.map +1 -0
  336. package/dist/store/jsx/pipeline.js +81 -0
  337. package/dist/store/jsx/pipeline.js.map +1 -0
  338. package/dist/store/jsx/props.d.ts +33 -0
  339. package/dist/store/jsx/props.d.ts.map +1 -0
  340. package/dist/store/jsx/props.js +158 -0
  341. package/dist/store/jsx/props.js.map +1 -0
  342. package/dist/store/jsx-store.d.ts +7 -0
  343. package/dist/store/jsx-store.d.ts.map +1 -0
  344. package/dist/store/jsx-store.js +26 -0
  345. package/dist/store/jsx-store.js.map +1 -0
  346. package/dist/store/store-fs.d.ts +43 -0
  347. package/dist/store/store-fs.d.ts.map +1 -0
  348. package/dist/store/store-fs.js +73 -0
  349. package/dist/store/store-fs.js.map +1 -0
  350. package/dist/writer/context.d.ts +17 -0
  351. package/dist/writer/context.d.ts.map +1 -0
  352. package/dist/writer/context.js +50 -0
  353. package/dist/writer/context.js.map +1 -0
  354. package/dist/writer/doc.d.ts +3 -0
  355. package/dist/writer/doc.d.ts.map +1 -0
  356. package/dist/writer/doc.js +18 -0
  357. package/dist/writer/doc.js.map +1 -0
  358. package/dist/writer/emit.d.ts +9 -0
  359. package/dist/writer/emit.d.ts.map +1 -0
  360. package/dist/writer/emit.js +24 -0
  361. package/dist/writer/emit.js.map +1 -0
  362. package/dist/writer/gtk-doc.d.ts +3 -0
  363. package/dist/writer/gtk-doc.d.ts.map +1 -0
  364. package/dist/writer/gtk-doc.js +78 -0
  365. package/dist/writer/gtk-doc.js.map +1 -0
  366. package/dist/writer/imports.d.ts +12 -0
  367. package/dist/writer/imports.d.ts.map +1 -0
  368. package/dist/writer/imports.js +61 -0
  369. package/dist/writer/imports.js.map +1 -0
  370. package/dist/writer/module.d.ts +16 -0
  371. package/dist/writer/module.d.ts.map +1 -0
  372. package/dist/writer/module.js +53 -0
  373. package/dist/writer/module.js.map +1 -0
  374. package/dist/xml.d.ts +4 -0
  375. package/dist/xml.d.ts.map +1 -0
  376. package/dist/xml.js +10 -0
  377. package/dist/xml.js.map +1 -0
  378. package/overrides/cairo/context.ts.ejs +1269 -0
  379. package/overrides/cairo/font-face.ts.ejs +151 -0
  380. package/overrides/cairo/font-options.ts.ejs +199 -0
  381. package/overrides/cairo/image-surface.ts.ejs +132 -0
  382. package/overrides/cairo/index.ts.ejs +22 -0
  383. package/overrides/cairo/matrix.ts.ejs +171 -0
  384. package/overrides/cairo/pattern.ts.ejs +476 -0
  385. package/overrides/cairo/recording-surface.ts.ejs +102 -0
  386. package/overrides/cairo/region.ts.ejs +237 -0
  387. package/overrides/cairo/scaled-font.ts.ejs +330 -0
  388. package/overrides/cairo/surface.ts.ejs +296 -0
  389. package/overrides/gdk/index.ts.ejs +2 -0
  390. package/overrides/gdk/rgba.ts.ejs +11 -0
  391. package/overrides/gobject/index.ts.ejs +29 -0
  392. package/overrides/gobject/object.ts.ejs +51 -0
  393. package/overrides/gobject/value.ts.ejs +17 -0
  394. package/overrides/graphene/index.ts.ejs +2 -0
  395. package/overrides/graphene/structs.ts.ejs +37 -0
  396. package/package.json +21 -15
  397. package/src/analysis/descriptor-render.ts +723 -0
  398. package/src/analysis/descriptor.ts +300 -0
  399. package/src/analysis/inheritance.ts +430 -0
  400. package/src/analysis/param-structure.ts +258 -0
  401. package/src/analysis/ts-type.ts +174 -0
  402. package/src/compile.ts +179 -0
  403. package/src/docs/api-reference.ts +557 -0
  404. package/src/docs/element-page.ts +281 -0
  405. package/src/docs/pipeline.ts +241 -0
  406. package/src/docs/render.ts +255 -0
  407. package/src/docs/symbol-page.ts +589 -0
  408. package/src/fingerprint.ts +144 -35
  409. package/src/gi.ts +26 -0
  410. package/src/gir/ancestry.ts +53 -0
  411. package/src/gir/callback.ts +22 -24
  412. package/src/gir/class.ts +39 -61
  413. package/src/gir/enum.ts +25 -41
  414. package/src/gir/field.ts +51 -37
  415. package/src/gir/function.ts +44 -59
  416. package/src/gir/gir-path.ts +73 -0
  417. package/src/gir/libraries.ts +102 -0
  418. package/src/gir/library.ts +351 -0
  419. package/src/gir/namespace.ts +109 -88
  420. package/src/gir/nullable-overrides.ts +5 -0
  421. package/src/gir/parameter.ts +111 -102
  422. package/src/gir/parse.ts +124 -121
  423. package/src/gir/primitives.ts +43 -63
  424. package/src/gir/property.ts +33 -33
  425. package/src/gir/record.ts +55 -0
  426. package/src/gir/size.ts +93 -107
  427. package/src/gir/type-id.ts +64 -0
  428. package/src/gir/type-ref.ts +77 -146
  429. package/src/gir/type.ts +18 -0
  430. package/src/index.ts +27 -15
  431. package/src/jsx.ts +70 -0
  432. package/src/khronos/args.ts +271 -0
  433. package/src/khronos/jsdoc.ts +114 -0
  434. package/src/khronos/model.ts +267 -0
  435. package/src/khronos/modules.ts +115 -0
  436. package/src/khronos/param-pair.ts +14 -0
  437. package/src/khronos/parse.ts +86 -0
  438. package/src/khronos/pipeline.ts +337 -0
  439. package/src/khronos/plan.ts +340 -0
  440. package/src/khronos/registry/LICENSE +202 -0
  441. package/src/khronos/registry/gl.xml +47748 -0
  442. package/src/khronos/render.ts +330 -0
  443. package/src/khronos/select.ts +97 -0
  444. package/src/react/element-config.ts +91 -0
  445. package/src/runner.ts +153 -80
  446. package/src/store/compile-store.ts +55 -0
  447. package/src/store/gi/async.ts +69 -0
  448. package/src/store/gi/callables.ts +518 -0
  449. package/src/store/gi/callback.ts +24 -0
  450. package/src/store/gi/class-struct-record.ts +72 -0
  451. package/src/store/gi/class.ts +334 -0
  452. package/src/store/gi/companion.ts +22 -0
  453. package/src/store/gi/constant.ts +58 -0
  454. package/src/store/gi/constructor-props.ts +108 -0
  455. package/src/store/gi/enum.ts +64 -0
  456. package/src/store/gi/function.ts +173 -0
  457. package/src/store/gi/gtype-binding.ts +46 -0
  458. package/src/store/gi/interface.ts +222 -0
  459. package/src/store/gi/item-comparators.ts +138 -0
  460. package/src/store/gi/method.ts +634 -0
  461. package/src/store/gi/param-marshal.ts +71 -0
  462. package/src/store/gi/pipeline.ts +135 -0
  463. package/src/store/gi/properties.ts +50 -0
  464. package/src/store/gi/property-accessor.ts +302 -0
  465. package/src/store/gi/record-constructor.ts +119 -0
  466. package/src/store/gi/record-field-accessor.ts +607 -0
  467. package/src/store/gi/record-layout.ts +221 -0
  468. package/src/store/gi/record.ts +89 -0
  469. package/src/store/gi/registration.ts +44 -0
  470. package/src/store/gi/return-wrap.ts +100 -0
  471. package/src/store/gi/runtime-override.ts +46 -0
  472. package/src/store/gi/signal.ts +450 -0
  473. package/src/store/gi/vtable.ts +175 -0
  474. package/src/store/gi-store.ts +92 -0
  475. package/src/store/jsx/element-components.ts +152 -0
  476. package/src/store/jsx/element-prop-imports.ts +24 -0
  477. package/src/store/jsx/element-prop-types.ts +59 -0
  478. package/src/store/jsx/gir-index.ts +62 -0
  479. package/src/store/jsx/intrinsic-elements.ts +262 -0
  480. package/src/store/jsx/jsx.ts +408 -0
  481. package/src/store/jsx/metadata.ts +385 -0
  482. package/src/store/jsx/pipeline.ts +145 -0
  483. package/src/store/jsx/props.ts +274 -0
  484. package/src/store/jsx-store.ts +39 -0
  485. package/src/store/store-fs.ts +128 -0
  486. package/src/writer/context.ts +67 -0
  487. package/src/writer/doc.ts +25 -0
  488. package/src/writer/emit.ts +35 -0
  489. package/src/writer/gtk-doc.ts +101 -0
  490. package/src/writer/imports.ts +94 -0
  491. package/src/writer/module.ts +69 -0
  492. package/src/xml.ts +12 -0
  493. package/LICENSE +0 -373
  494. package/dist/dsl/context.d.ts +0 -104
  495. package/dist/dsl/context.d.ts.map +0 -1
  496. package/dist/dsl/context.js +0 -140
  497. package/dist/dsl/context.js.map +0 -1
  498. package/dist/dsl/emit.d.ts +0 -28
  499. package/dist/dsl/emit.d.ts.map +0 -1
  500. package/dist/dsl/emit.js +0 -41
  501. package/dist/dsl/emit.js.map +0 -1
  502. package/dist/dsl/identifier.d.ts +0 -28
  503. package/dist/dsl/identifier.d.ts.map +0 -1
  504. package/dist/dsl/identifier.js +0 -45
  505. package/dist/dsl/identifier.js.map +0 -1
  506. package/dist/dsl/imports.d.ts +0 -58
  507. package/dist/dsl/imports.d.ts.map +0 -1
  508. package/dist/dsl/imports.js +0 -107
  509. package/dist/dsl/imports.js.map +0 -1
  510. package/dist/dsl/module.d.ts +0 -53
  511. package/dist/dsl/module.d.ts.map +0 -1
  512. package/dist/dsl/module.js +0 -76
  513. package/dist/dsl/module.js.map +0 -1
  514. package/dist/ffi/pipeline.d.ts +0 -19
  515. package/dist/ffi/pipeline.d.ts.map +0 -1
  516. package/dist/ffi/pipeline.js +0 -107
  517. package/dist/ffi/pipeline.js.map +0 -1
  518. package/dist/gi-store.d.ts +0 -34
  519. package/dist/gi-store.d.ts.map +0 -1
  520. package/dist/gi-store.js +0 -154
  521. package/dist/gi-store.js.map +0 -1
  522. package/dist/gir/boxed.d.ts +0 -66
  523. package/dist/gir/boxed.d.ts.map +0 -1
  524. package/dist/gir/boxed.js +0 -49
  525. package/dist/gir/boxed.js.map +0 -1
  526. package/dist/gir/qualified-name.d.ts +0 -37
  527. package/dist/gir/qualified-name.d.ts.map +0 -1
  528. package/dist/gir/qualified-name.js +0 -39
  529. package/dist/gir/qualified-name.js.map +0 -1
  530. package/dist/gir/qualify.d.ts +0 -32
  531. package/dist/gir/qualify.d.ts.map +0 -1
  532. package/dist/gir/qualify.js +0 -60
  533. package/dist/gir/qualify.js.map +0 -1
  534. package/dist/gir/repository.d.ts +0 -82
  535. package/dist/gir/repository.d.ts.map +0 -1
  536. package/dist/gir/repository.js +0 -122
  537. package/dist/gir/repository.js.map +0 -1
  538. package/dist/gir/signal.d.ts +0 -22
  539. package/dist/gir/signal.d.ts.map +0 -1
  540. package/dist/gir/signal.js +0 -20
  541. package/dist/gir/signal.js.map +0 -1
  542. package/dist/jsx-store.d.ts +0 -22
  543. package/dist/jsx-store.d.ts.map +0 -1
  544. package/dist/jsx-store.js +0 -40
  545. package/dist/jsx-store.js.map +0 -1
  546. package/dist/react/compounds-meta.d.ts +0 -18
  547. package/dist/react/compounds-meta.d.ts.map +0 -1
  548. package/dist/react/compounds-meta.js +0 -93
  549. package/dist/react/compounds-meta.js.map +0 -1
  550. package/dist/react/compounds.d.ts +0 -27
  551. package/dist/react/compounds.d.ts.map +0 -1
  552. package/dist/react/compounds.js +0 -164
  553. package/dist/react/compounds.js.map +0 -1
  554. package/dist/react/internal.d.ts +0 -14
  555. package/dist/react/internal.d.ts.map +0 -1
  556. package/dist/react/internal.js +0 -79
  557. package/dist/react/internal.js.map +0 -1
  558. package/dist/react/jsx.d.ts +0 -22
  559. package/dist/react/jsx.d.ts.map +0 -1
  560. package/dist/react/jsx.js +0 -134
  561. package/dist/react/jsx.js.map +0 -1
  562. package/dist/react/pipeline.d.ts +0 -13
  563. package/dist/react/pipeline.d.ts.map +0 -1
  564. package/dist/react/pipeline.js +0 -25
  565. package/dist/react/pipeline.js.map +0 -1
  566. package/dist/react/props.d.ts +0 -38
  567. package/dist/react/props.d.ts.map +0 -1
  568. package/dist/react/props.js +0 -231
  569. package/dist/react/props.js.map +0 -1
  570. package/dist/react/slot-props.d.ts +0 -10
  571. package/dist/react/slot-props.d.ts.map +0 -1
  572. package/dist/react/slot-props.js +0 -56
  573. package/dist/react/slot-props.js.map +0 -1
  574. package/dist/react/widgets.d.ts +0 -83
  575. package/dist/react/widgets.d.ts.map +0 -1
  576. package/dist/react/widgets.js +0 -152
  577. package/dist/react/widgets.js.map +0 -1
  578. package/dist/store-fs.d.ts +0 -109
  579. package/dist/store-fs.d.ts.map +0 -1
  580. package/dist/store-fs.js +0 -98
  581. package/dist/store-fs.js.map +0 -1
  582. package/dist/transpile.d.ts +0 -32
  583. package/dist/transpile.d.ts.map +0 -1
  584. package/dist/transpile.js +0 -63
  585. package/dist/transpile.js.map +0 -1
  586. package/dist/typecheck-store.d.ts +0 -41
  587. package/dist/typecheck-store.d.ts.map +0 -1
  588. package/dist/typecheck-store.js +0 -102
  589. package/dist/typecheck-store.js.map +0 -1
  590. package/dist/writers/alias.d.ts +0 -13
  591. package/dist/writers/alias.d.ts.map +0 -1
  592. package/dist/writers/alias.js +0 -17
  593. package/dist/writers/alias.js.map +0 -1
  594. package/dist/writers/async.d.ts +0 -22
  595. package/dist/writers/async.d.ts.map +0 -1
  596. package/dist/writers/async.js +0 -48
  597. package/dist/writers/async.js.map +0 -1
  598. package/dist/writers/boxed-constructor.d.ts +0 -26
  599. package/dist/writers/boxed-constructor.d.ts.map +0 -1
  600. package/dist/writers/boxed-constructor.js +0 -85
  601. package/dist/writers/boxed-constructor.js.map +0 -1
  602. package/dist/writers/boxed-field-accessor.d.ts +0 -18
  603. package/dist/writers/boxed-field-accessor.d.ts.map +0 -1
  604. package/dist/writers/boxed-field-accessor.js +0 -260
  605. package/dist/writers/boxed-field-accessor.js.map +0 -1
  606. package/dist/writers/boxed-layout.d.ts +0 -27
  607. package/dist/writers/boxed-layout.d.ts.map +0 -1
  608. package/dist/writers/boxed-layout.js +0 -128
  609. package/dist/writers/boxed-layout.js.map +0 -1
  610. package/dist/writers/boxed.d.ts +0 -20
  611. package/dist/writers/boxed.d.ts.map +0 -1
  612. package/dist/writers/boxed.js +0 -71
  613. package/dist/writers/boxed.js.map +0 -1
  614. package/dist/writers/callables.d.ts +0 -124
  615. package/dist/writers/callables.d.ts.map +0 -1
  616. package/dist/writers/callables.js +0 -283
  617. package/dist/writers/callables.js.map +0 -1
  618. package/dist/writers/callback.d.ts +0 -16
  619. package/dist/writers/callback.d.ts.map +0 -1
  620. package/dist/writers/callback.js +0 -38
  621. package/dist/writers/callback.js.map +0 -1
  622. package/dist/writers/class-struct-record.d.ts +0 -31
  623. package/dist/writers/class-struct-record.d.ts.map +0 -1
  624. package/dist/writers/class-struct-record.js +0 -67
  625. package/dist/writers/class-struct-record.js.map +0 -1
  626. package/dist/writers/class-struct.d.ts +0 -22
  627. package/dist/writers/class-struct.d.ts.map +0 -1
  628. package/dist/writers/class-struct.js +0 -85
  629. package/dist/writers/class-struct.js.map +0 -1
  630. package/dist/writers/class.d.ts +0 -16
  631. package/dist/writers/class.d.ts.map +0 -1
  632. package/dist/writers/class.js +0 -307
  633. package/dist/writers/class.js.map +0 -1
  634. package/dist/writers/constant.d.ts +0 -15
  635. package/dist/writers/constant.d.ts.map +0 -1
  636. package/dist/writers/constant.js +0 -23
  637. package/dist/writers/constant.js.map +0 -1
  638. package/dist/writers/constants.d.ts +0 -15
  639. package/dist/writers/constants.d.ts.map +0 -1
  640. package/dist/writers/constants.js +0 -23
  641. package/dist/writers/constants.js.map +0 -1
  642. package/dist/writers/constructor-props.d.ts +0 -32
  643. package/dist/writers/constructor-props.d.ts.map +0 -1
  644. package/dist/writers/constructor-props.js +0 -110
  645. package/dist/writers/constructor-props.js.map +0 -1
  646. package/dist/writers/enum.d.ts +0 -21
  647. package/dist/writers/enum.d.ts.map +0 -1
  648. package/dist/writers/enum.js +0 -48
  649. package/dist/writers/enum.js.map +0 -1
  650. package/dist/writers/function.d.ts +0 -40
  651. package/dist/writers/function.d.ts.map +0 -1
  652. package/dist/writers/function.js +0 -127
  653. package/dist/writers/function.js.map +0 -1
  654. package/dist/writers/gtype-binding.d.ts +0 -19
  655. package/dist/writers/gtype-binding.d.ts.map +0 -1
  656. package/dist/writers/gtype-binding.js +0 -40
  657. package/dist/writers/gtype-binding.js.map +0 -1
  658. package/dist/writers/inheritance.d.ts +0 -48
  659. package/dist/writers/inheritance.d.ts.map +0 -1
  660. package/dist/writers/inheritance.js +0 -90
  661. package/dist/writers/inheritance.js.map +0 -1
  662. package/dist/writers/interface.d.ts +0 -16
  663. package/dist/writers/interface.d.ts.map +0 -1
  664. package/dist/writers/interface.js +0 -155
  665. package/dist/writers/interface.js.map +0 -1
  666. package/dist/writers/method.d.ts +0 -150
  667. package/dist/writers/method.d.ts.map +0 -1
  668. package/dist/writers/method.js +0 -510
  669. package/dist/writers/method.js.map +0 -1
  670. package/dist/writers/param-classify.d.ts +0 -93
  671. package/dist/writers/param-classify.d.ts.map +0 -1
  672. package/dist/writers/param-classify.js +0 -163
  673. package/dist/writers/param-classify.js.map +0 -1
  674. package/dist/writers/property-accessor.d.ts +0 -19
  675. package/dist/writers/property-accessor.d.ts.map +0 -1
  676. package/dist/writers/property-accessor.js +0 -117
  677. package/dist/writers/property-accessor.js.map +0 -1
  678. package/dist/writers/registration.d.ts +0 -27
  679. package/dist/writers/registration.d.ts.map +0 -1
  680. package/dist/writers/registration.js +0 -30
  681. package/dist/writers/registration.js.map +0 -1
  682. package/dist/writers/return-wrap.d.ts +0 -39
  683. package/dist/writers/return-wrap.d.ts.map +0 -1
  684. package/dist/writers/return-wrap.js +0 -152
  685. package/dist/writers/return-wrap.js.map +0 -1
  686. package/dist/writers/runtime-override.d.ts +0 -18
  687. package/dist/writers/runtime-override.d.ts.map +0 -1
  688. package/dist/writers/runtime-override.js +0 -44
  689. package/dist/writers/runtime-override.js.map +0 -1
  690. package/dist/writers/signal.d.ts +0 -21
  691. package/dist/writers/signal.d.ts.map +0 -1
  692. package/dist/writers/signal.js +0 -260
  693. package/dist/writers/signal.js.map +0 -1
  694. package/dist/writers/ts-type.d.ts +0 -50
  695. package/dist/writers/ts-type.d.ts.map +0 -1
  696. package/dist/writers/ts-type.js +0 -75
  697. package/dist/writers/ts-type.js.map +0 -1
  698. package/dist/writers/types-ts.d.ts +0 -27
  699. package/dist/writers/types-ts.d.ts.map +0 -1
  700. package/dist/writers/types-ts.js +0 -97
  701. package/dist/writers/types-ts.js.map +0 -1
  702. package/dist/writers/value.d.ts +0 -89
  703. package/dist/writers/value.d.ts.map +0 -1
  704. package/dist/writers/value.js +0 -402
  705. package/dist/writers/value.js.map +0 -1
  706. package/src/dsl/context.ts +0 -146
  707. package/src/dsl/emit.ts +0 -42
  708. package/src/dsl/identifier.ts +0 -52
  709. package/src/dsl/imports.ts +0 -109
  710. package/src/dsl/module.ts +0 -75
  711. package/src/ffi/pipeline.ts +0 -113
  712. package/src/gi-store.ts +0 -199
  713. package/src/gir/boxed.ts +0 -94
  714. package/src/gir/qualified-name.ts +0 -55
  715. package/src/gir/qualify.ts +0 -64
  716. package/src/gir/repository.ts +0 -149
  717. package/src/gir/signal.ts +0 -36
  718. package/src/jsx-store.ts +0 -53
  719. package/src/react/compounds-meta.ts +0 -99
  720. package/src/react/compounds.ts +0 -204
  721. package/src/react/internal.ts +0 -91
  722. package/src/react/jsx.ts +0 -155
  723. package/src/react/pipeline.ts +0 -29
  724. package/src/react/props.ts +0 -307
  725. package/src/react/slot-props.ts +0 -57
  726. package/src/react/widgets.ts +0 -185
  727. package/src/store-fs.ts +0 -157
  728. package/src/transpile.ts +0 -80
  729. package/src/typecheck-store.ts +0 -136
  730. package/src/writers/alias.ts +0 -19
  731. package/src/writers/async.ts +0 -44
  732. package/src/writers/boxed-constructor.ts +0 -105
  733. package/src/writers/boxed-field-accessor.ts +0 -306
  734. package/src/writers/boxed-layout.ts +0 -166
  735. package/src/writers/boxed.ts +0 -77
  736. package/src/writers/callables.ts +0 -339
  737. package/src/writers/callback.ts +0 -40
  738. package/src/writers/class-struct-record.ts +0 -75
  739. package/src/writers/class-struct.ts +0 -96
  740. package/src/writers/class.ts +0 -384
  741. package/src/writers/constant.ts +0 -29
  742. package/src/writers/constructor-props.ts +0 -130
  743. package/src/writers/enum.ts +0 -53
  744. package/src/writers/function.ts +0 -136
  745. package/src/writers/gtype-binding.ts +0 -48
  746. package/src/writers/inheritance.ts +0 -104
  747. package/src/writers/interface.ts +0 -168
  748. package/src/writers/method.ts +0 -678
  749. package/src/writers/param-classify.ts +0 -178
  750. package/src/writers/property-accessor.ts +0 -139
  751. package/src/writers/registration.ts +0 -42
  752. package/src/writers/return-wrap.ts +0 -180
  753. package/src/writers/runtime-override.ts +0 -59
  754. package/src/writers/signal.ts +0 -318
  755. package/src/writers/ts-type.ts +0 -115
  756. package/src/writers/value.ts +0 -485
@@ -1,231 +0,0 @@
1
- import { toCamelCase, toIdentifier, toPascalCase } from "@gtkx/utils";
2
- import { isInoutParameter, isOutParameter } from "../gir/parameter.js";
3
- import { resolveQualifiedClass, splitQualifiedName } from "../gir/qualified-name.js";
4
- import { qualifyTypeRef } from "../gir/qualify.js";
5
- import { renderBaseTypeFor } from "../writers/ts-type.js";
6
- import { isScalarRef } from "../writers/value.js";
7
- import { signalHandlerName } from "./widgets.js";
8
- /**
9
- * Builds a typed prop bag for one widget intrinsic.
10
- *
11
- * Combines the widget's own properties + signal handlers with those declared
12
- * by its directly-implemented interfaces and by every non-widget ancestor up
13
- * to the first widget parent (whose props are inherited via `extends`).
14
- * Property types are written as TypeScript surface types resolved against the
15
- * loaded GIR repository.
16
- *
17
- * @param options - {@link WidgetPropsOptions}
18
- */
19
- export const buildWidgetPropsEntries = (options) => {
20
- const { repository, klass, slotPropNames = new Set(), isWidgetAncestor = () => false } = options;
21
- const imports = new Map();
22
- const propEntries = [];
23
- const seen = new Set();
24
- const ownerName = klass.glibTypeName ?? klass.cType ?? klass.name;
25
- const selfNamespace = currentNamespaceKey(repository, klass);
26
- const selfTypeName = resolveSelfTypeName(klass, selfNamespace, imports);
27
- const acceptProperty = (property, owningNamespace) => {
28
- const jsName = toIdentifier(toCamelCase(property.name));
29
- if (seen.has(jsName))
30
- return;
31
- seen.add(jsName);
32
- if (isPropOverridden(ownerName, jsName))
33
- return;
34
- if (slotPropNames.has(jsName)) {
35
- propEntries.push(`${jsName}?: ReactNode | null;`);
36
- return;
37
- }
38
- const qualified = qualifyTypeRef(property.type, owningNamespace);
39
- const tsType = renderReactPropType(repository, qualified, true, imports);
40
- propEntries.push(`${jsName}?: ${tsType} | null;`);
41
- };
42
- const acceptSignal = (signal, owningNamespace) => {
43
- const handlerName = signalHandlerName(signal.name);
44
- if (seen.has(handlerName))
45
- return;
46
- seen.add(handlerName);
47
- if (isSignalOverridden(ownerName, handlerName))
48
- return;
49
- const signature = renderSignalHandler({
50
- repository,
51
- signal,
52
- imports,
53
- selfType: selfTypeName,
54
- owningNamespace,
55
- });
56
- propEntries.push(`${handlerName}?: ${signature};`);
57
- };
58
- visitClassAndAncestors({ repository, klass, selfNamespace, isWidgetAncestor }, acceptProperty, acceptSignal);
59
- return { propLines: propEntries, imports };
60
- };
61
- const resolveSelfTypeName = (klass, selfNamespace, imports) => {
62
- if (selfNamespace === "?")
63
- return toPascalCase(klass.name);
64
- imports.set(selfNamespace, selfNamespace);
65
- return `${selfNamespace}.${toPascalCase(klass.name)}`;
66
- };
67
- const visitClassAndAncestors = (walk, acceptProperty, acceptSignal) => {
68
- const visit = (current, owningNamespace) => {
69
- for (const property of current.properties)
70
- acceptProperty(property, owningNamespace);
71
- for (const signal of current.signals)
72
- acceptSignal(signal, owningNamespace);
73
- for (const implementsName of current.implements) {
74
- const resolved = resolveInterface(walk.repository, current, implementsName);
75
- if (resolved === undefined)
76
- continue;
77
- for (const property of resolved.value.properties)
78
- acceptProperty(property, resolved.namespace.name);
79
- for (const signal of resolved.value.signals)
80
- acceptSignal(signal, resolved.namespace.name);
81
- }
82
- };
83
- visit(walk.klass, walk.selfNamespace);
84
- const visited = new Set([`${walk.selfNamespace}.${walk.klass.name}`]);
85
- let parentRef = resolveParent(walk.repository, walk.klass, walk.selfNamespace);
86
- while (parentRef !== undefined && !walk.isWidgetAncestor(parentRef.klass)) {
87
- const key = `${parentRef.namespaceName}.${parentRef.klass.name}`;
88
- if (visited.has(key))
89
- break;
90
- visited.add(key);
91
- visit(parentRef.klass, parentRef.namespaceName);
92
- parentRef = resolveParent(walk.repository, parentRef.klass, parentRef.namespaceName);
93
- }
94
- };
95
- const resolveParent = (repository, klass, defaultNamespace) => {
96
- if (klass.parent === undefined)
97
- return undefined;
98
- return resolveQualifiedClass(repository, klass.parent, defaultNamespace);
99
- };
100
- const currentNamespaceKey = (repository, klass) => {
101
- for (const namespace of repository.namespaces.values()) {
102
- if (namespace.classes.includes(klass) || namespace.interfaces.includes(klass)) {
103
- return namespace.name;
104
- }
105
- }
106
- return "?";
107
- };
108
- const resolveInterface = (repository, declaringClass, implementsName) => {
109
- const { namespaceName, typeName } = splitQualifiedName(implementsName, currentNamespaceKey(repository, declaringClass));
110
- const resolved = repository.resolveNamed(namespaceName, typeName);
111
- if (resolved === undefined)
112
- return undefined;
113
- if (resolved.kind !== "interface")
114
- return undefined;
115
- return { namespace: resolved.namespace, value: resolved.value };
116
- };
117
- /**
118
- * Per-widget prop names that the React package re-types in a hand-written
119
- * `declare module` augmentation. Skipping them in the generated bag
120
- * prevents TS2717 "subsequent property declarations must have the same
121
- * type" when the augmentation widens the GIR property to a declarative
122
- * React shape (e.g. an array of child-props instead of a raw GObject
123
- * model).
124
- *
125
- * Entries are matched against the widget's GLib type name (e.g.
126
- * `"AdwToggleGroup"`); values are the JS prop names to skip.
127
- */
128
- const PROP_OVERRIDES_BY_WIDGET = {
129
- AdwToggleGroup: new Set(["toggles"]),
130
- AdwAlertDialog: new Set(["responses"]),
131
- GtkColumnView: new Set(["columns"]),
132
- GtkScale: new Set(["marks"]),
133
- };
134
- const isPropOverridden = (ownerName, propName) => {
135
- const overrides = PROP_OVERRIDES_BY_WIDGET[ownerName];
136
- return overrides?.has(propName) ?? false;
137
- };
138
- /**
139
- * Per-widget signal-handler names whose generated emission is skipped so
140
- * a hand-written `declare module` augmentation can supply a refined
141
- * signature without triggering TS2717.
142
- */
143
- const SIGNAL_OVERRIDES_BY_WIDGET = {
144
- GtkRange: new Set(["onValueChanged"]),
145
- GtkScale: new Set(["onValueChanged"]),
146
- GtkScaleButton: new Set(["onValueChanged"]),
147
- GtkSpinButton: new Set(["onValueChanged"]),
148
- AdwSpinRow: new Set(["onValueChanged"]),
149
- AdwSwitchRow: new Set(["onActivated"]),
150
- };
151
- const isSignalOverridden = (ownerName, handlerName) => {
152
- const overrides = SIGNAL_OVERRIDES_BY_WIDGET[ownerName];
153
- return overrides?.has(handlerName) ?? false;
154
- };
155
- const renderSignalHandler = (options) => {
156
- const { repository, signal, imports, selfType, owningNamespace } = options;
157
- const visible = signal.parameters.filter((parameter) => !parameter.isVarargs);
158
- const params = visible
159
- .filter((parameter) => !isOutParameter(parameter))
160
- .map((parameter, index) => {
161
- const name = parameter.name.length === 0 ? `arg${index + 1}` : toIdentifier(toCamelCase(parameter.name));
162
- const qualified = qualifyTypeRef(parameter.type, owningNamespace);
163
- const baseType = renderReactPropType(repository, qualified, false, imports);
164
- return `${name}: ${baseType}`;
165
- });
166
- params.push(`self: ${selfType}`);
167
- return `(${params.join(", ")}) => ${renderSignalReturnType(options, visible)}`;
168
- };
169
- /**
170
- * Computes a signal handler's return type.
171
- *
172
- * Pure out-parameters (`direction="out"`, not caller-allocated) are surfaced
173
- * through the return value as a tuple `[primary, ...outs]`, mirroring the
174
- * convention {@link renderMethodReturnType} produces for methods: a value return
175
- * with no outs stays scalar (with `| void` so handlers may opt out); a void
176
- * return with a single out unwraps to that out's type; otherwise the primary
177
- * (when present) leads a tuple of the out types.
178
- *
179
- * @param options - The signal render options
180
- * @param visible - The signal's non-varargs parameters
181
- */
182
- const renderSignalReturnType = (options, visible) => {
183
- const { repository, signal, imports, owningNamespace } = options;
184
- const qualifiedReturn = qualifyTypeRef(signal.returnValue.type, owningNamespace);
185
- const baseReturn = renderReactPropType(repository, qualifiedReturn, signal.returnValue.nullable, imports);
186
- const outTypes = visible
187
- .filter((parameter) => isOutParameter(parameter) ||
188
- (isInoutParameter(parameter) && isScalarRef(repository, owningNamespace, parameter.type)))
189
- .map((parameter) => renderReactPropType(repository, qualifyTypeRef(parameter.type, owningNamespace), false, imports));
190
- if (outTypes.length === 0) {
191
- return baseReturn === "void" ? "void" : `${baseReturn} | void`;
192
- }
193
- if (baseReturn !== "void") {
194
- return `[${baseReturn}, ${outTypes.join(", ")}]`;
195
- }
196
- const [single, ...rest] = outTypes;
197
- if (rest.length === 0 && single !== undefined)
198
- return single;
199
- return `[${outTypes.join(", ")}]`;
200
- };
201
- const reactTarget = (repository, imports) => ({
202
- containerStyle: "record",
203
- callbackType: "(...args: unknown[]) => unknown",
204
- byteArrayAsNumber: false,
205
- renderNamed: (ref) => namedTsType(repository, ref, imports),
206
- });
207
- const renderReactPropType = (repository, ref, isNullable, imports) => {
208
- const base = renderBaseTypeFor(reactTarget(repository, imports), ref);
209
- return isNullable ? `${base} | null` : base;
210
- };
211
- const namedTsType = (repository, ref, imports) => {
212
- const namespaceName = ref.namespaceName;
213
- if (namespaceName === undefined) {
214
- return ref.typeName;
215
- }
216
- const resolved = repository.resolveNamed(namespaceName, ref.typeName);
217
- if (resolved === undefined) {
218
- imports.set(namespaceName, namespaceName);
219
- return `${namespaceName}.${ref.typeName}`;
220
- }
221
- if (resolved.kind === "callback")
222
- return "(...args: unknown[]) => unknown";
223
- if (resolved.kind === "alias") {
224
- if (resolved.target === undefined)
225
- return "number";
226
- return namedTsType(repository, { kind: "named", namespaceName: resolved.namespace.name, typeName: resolved.target, cType: undefined }, imports);
227
- }
228
- imports.set(namespaceName, namespaceName);
229
- return `${namespaceName}.${ref.typeName}`;
230
- };
231
- //# sourceMappingURL=props.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"props.js","sourceRoot":"","sources":["../../src/react/props.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- /**
2
- * Merges built-in slot props with the user-supplied `slotProps` map.
3
- *
4
- * Per JSX element name, the resulting list is the union of both sources
5
- * with duplicates removed and a stable alphabetical sort.
6
- *
7
- * @param userSlotProps - The user-provided `slotProps` map, or `undefined`
8
- */
9
- export declare const mergeSlotProps: (userSlotProps: Readonly<Record<string, readonly string[]>> | undefined) => Readonly<Record<string, readonly string[]>>;
10
- //# sourceMappingURL=slot-props.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"slot-props.d.ts","sourceRoot":"","sources":["../../src/react/slot-props.ts"],"names":[],"mappings":"AAiCA;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,GACvB,eAAe,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,GAAG,SAAS,KACvE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAa5C,CAAC"}
@@ -1,56 +0,0 @@
1
- /**
2
- * Built-in widget-typed properties that should be exposed as JSX child
3
- * slots (typed as `ReactNode`) rather than as raw widget refs.
4
- *
5
- * The keys are JSX element names (i.e. GLib type names such as
6
- * `"AdwWindow"`, `"GtkHeaderBar"`); the values are the camelCase property
7
- * names that should be promoted. User-supplied `slotProps` from
8
- * `gtkx.config.ts` merge into this map.
9
- */
10
- const BUILT_IN_SLOT_PROPS = Object.freeze({
11
- GtkWindow: ["titlebar"],
12
- AdwWindow: ["content"],
13
- AdwApplicationWindow: ["content"],
14
- AdwAlertDialog: ["extraChild"],
15
- AdwBottomSheet: ["bottomBar", "content", "sheet"],
16
- GtkCenterBox: ["centerWidget", "endWidget", "startWidget"],
17
- GtkExpander: ["labelWidget"],
18
- AdwFlap: ["content", "flap", "separator"],
19
- GtkFrame: ["labelWidget"],
20
- GtkHeaderBar: ["titleWidget"],
21
- AdwHeaderBar: ["titleWidget"],
22
- GtkMenuButton: ["popover"],
23
- AdwMessageDialog: ["extraChild"],
24
- AdwNavigationSplitView: ["content", "sidebar"],
25
- AdwOverlaySplitView: ["content", "sidebar"],
26
- GtkPaned: ["endChild", "startChild"],
27
- AdwPreferencesGroup: ["headerSuffix"],
28
- AdwPreferencesPage: ["banner"],
29
- AdwSplitButton: ["popover"],
30
- AdwTabBar: ["endActionWidget", "startActionWidget"],
31
- AdwToolbarView: ["content"],
32
- });
33
- /**
34
- * Merges built-in slot props with the user-supplied `slotProps` map.
35
- *
36
- * Per JSX element name, the resulting list is the union of both sources
37
- * with duplicates removed and a stable alphabetical sort.
38
- *
39
- * @param userSlotProps - The user-provided `slotProps` map, or `undefined`
40
- */
41
- export const mergeSlotProps = (userSlotProps) => {
42
- const result = {};
43
- for (const [key, values] of Object.entries(BUILT_IN_SLOT_PROPS)) {
44
- result[key] = [...values];
45
- }
46
- if (userSlotProps !== undefined) {
47
- for (const [key, values] of Object.entries(userSlotProps)) {
48
- const merged = new Set(result[key] ?? []);
49
- for (const value of values)
50
- merged.add(value);
51
- result[key] = [...merged].sort((a, b) => a.localeCompare(b));
52
- }
53
- }
54
- return result;
55
- };
56
- //# sourceMappingURL=slot-props.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"slot-props.js","sourceRoot":"","sources":["../../src/react/slot-props.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,mBAAmB,GAAgD,MAAM,CAAC,MAAM,CAAC;IACnF,SAAS,EAAE,CAAC,UAAU,CAAC;IACvB,SAAS,EAAE,CAAC,SAAS,CAAC;IACtB,oBAAoB,EAAE,CAAC,SAAS,CAAC;IACjC,cAAc,EAAE,CAAC,YAAY,CAAC;IAC9B,cAAc,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC;IACjD,YAAY,EAAE,CAAC,cAAc,EAAE,WAAW,EAAE,aAAa,CAAC;IAC1D,WAAW,EAAE,CAAC,aAAa,CAAC;IAC5B,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC;IACzC,QAAQ,EAAE,CAAC,aAAa,CAAC;IACzB,YAAY,EAAE,CAAC,aAAa,CAAC;IAC7B,YAAY,EAAE,CAAC,aAAa,CAAC;IAC7B,aAAa,EAAE,CAAC,SAAS,CAAC;IAC1B,gBAAgB,EAAE,CAAC,YAAY,CAAC;IAChC,sBAAsB,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9C,mBAAmB,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;IAC3C,QAAQ,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC;IACpC,mBAAmB,EAAE,CAAC,cAAc,CAAC;IACrC,kBAAkB,EAAE,CAAC,QAAQ,CAAC;IAC9B,cAAc,EAAE,CAAC,SAAS,CAAC;IAC3B,SAAS,EAAE,CAAC,iBAAiB,EAAE,mBAAmB,CAAC;IACnD,cAAc,EAAE,CAAC,SAAS,CAAC;CAC9B,CAAC,CAAC;AAEH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC1B,aAAsE,EAC3B,EAAE;IAC7C,MAAM,MAAM,GAA6B,EAAE,CAAC;IAC5C,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAC9D,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAC9B,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;YACxD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAS,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YAClD,KAAK,MAAM,KAAK,IAAI,MAAM;gBAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC9C,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC"}
@@ -1,83 +0,0 @@
1
- import type { GirClass } from "../gir/class.js";
2
- import type { GirNamespace } from "../gir/namespace.js";
3
- import type { GirRepository } from "../gir/repository.js";
4
- /**
5
- * Maps a kebab-case signal name to its `on`-prefixed camelCase handler prop
6
- * name (e.g. `value-changed` → `onValueChanged`).
7
- *
8
- * @param signalName - The GIR signal name
9
- */
10
- export declare const signalHandlerName: (signalName: string) => string;
11
- /** A class qualified by its declaring namespace and the GLib type name it exposes. */
12
- export type WidgetCandidate = {
13
- readonly glibName: string;
14
- readonly klass: GirClass;
15
- readonly namespace: GirNamespace;
16
- };
17
- /**
18
- * Iterates every `(class, namespace, glibName)` triple in the repository whose
19
- * `glib:type-name` (or C type fallback) is defined.
20
- *
21
- * The order follows GIR file order within a namespace and `namespaces` map
22
- * iteration order between namespaces; callers that need stable output should
23
- * sort the result themselves.
24
- *
25
- * @param repository - The repository to walk
26
- */
27
- export declare function iterateClassesWithGlibName(repository: GirRepository): IterableIterator<WidgetCandidate>;
28
- /** A resolved interface qualified by the namespace that declares it. */
29
- export type ResolvedQualifiedInterface = {
30
- readonly klass: GirClass;
31
- readonly namespace: GirNamespace;
32
- };
33
- /**
34
- * Resolves every interface a class implements, including the transitive
35
- * prerequisite interfaces of those interfaces, nearest first.
36
- *
37
- * Interfaces never appear in the GObject type-parent chain, so the React
38
- * runtime cannot reach an interface's signals or properties by walking a
39
- * widget's ancestors. Each implementing class must therefore carry its
40
- * interfaces' metadata directly. Prerequisite interfaces (e.g. a
41
- * `Gtk.SelectionModel`'s `Gio.ListModel`) are folded in transitively; class
42
- * prerequisites are ignored because their metadata is reachable through the
43
- * type-parent chain.
44
- *
45
- * @param klass - The class whose interfaces to resolve
46
- * @param namespace - The namespace the class lives in
47
- * @param repository - The repository for cross-namespace lookups
48
- */
49
- export declare const implementedInterfaces: (klass: GirClass, namespace: GirNamespace, repository: GirRepository) => readonly ResolvedQualifiedInterface[];
50
- /**
51
- * Returns the GLib type names of a class and every ancestor it descends from,
52
- * nearest first. Used to let a subclass inherit slot-prop declarations made on
53
- * its ancestors.
54
- *
55
- * @param klass - The class to start from
56
- * @param namespace - The namespace the class lives in
57
- * @param repository - The repository for cross-namespace parent lookups
58
- */
59
- export declare const ancestorGlibNames: (klass: GirClass, namespace: GirNamespace, repository: GirRepository) => readonly string[];
60
- /**
61
- * Decides whether a `<class>` is a "widget" for the React reconciler — a
62
- * descendant (direct or transitive) of `GtkWidget`.
63
- *
64
- * Walks the parent chain across namespaces. Returns `false` if any
65
- * ancestor cannot be resolved (which is preferable to silently treating
66
- * an unknown type as a widget).
67
- *
68
- * @param klass - The class to inspect
69
- * @param namespace - The namespace the class lives in
70
- * @param repository - The repository for cross-namespace parent lookups
71
- */
72
- export declare const isWidgetClass: (klass: GirClass, namespace: GirNamespace, repository: GirRepository) => boolean;
73
- /**
74
- * Decides whether a `<class>` is any React reconciler node — a widget or one
75
- * of the auxiliary node kinds. This is the set of classes that need generated
76
- * prop, signal, and construct-only metadata.
77
- *
78
- * @param klass - The class to inspect
79
- * @param namespace - The namespace the class lives in
80
- * @param repository - The repository for cross-namespace parent lookups
81
- */
82
- export declare const isReactNodeClass: (klass: GirClass, namespace: GirNamespace, repository: GirRepository) => boolean;
83
- //# sourceMappingURL=widgets.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"widgets.d.ts","sourceRoot":"","sources":["../../src/react/widgets.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,GAAI,YAAY,MAAM,KAAG,MACO,CAAC;AAE/D,sFAAsF;AACtF,MAAM,MAAM,eAAe,GAAG;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;CACpC,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAiB,0BAA0B,CAAC,UAAU,EAAE,aAAa,GAAG,gBAAgB,CAAC,eAAe,CAAC,CAQxG;AAaD,wEAAwE;AACxE,MAAM,MAAM,0BAA0B,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAA;CAAE,CAAC;AAExG;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,qBAAqB,GAC9B,OAAO,QAAQ,EACf,WAAW,YAAY,EACvB,YAAY,aAAa,KAC1B,SAAS,0BAA0B,EAiBrC,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,GAC1B,OAAO,QAAQ,EACf,WAAW,YAAY,EACvB,YAAY,aAAa,KAC1B,SAAS,MAAM,EAcjB,CAAC;AAsBF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,QAAQ,EAAE,WAAW,YAAY,EAAE,YAAY,aAAa,KAAG,OACd,CAAC;AAiBvF;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,GAAI,OAAO,QAAQ,EAAE,WAAW,YAAY,EAAE,YAAY,aAAa,KAAG,OACF,CAAC"}
@@ -1,152 +0,0 @@
1
- import { toCamelCase, toIdentifier, toUpperFirst } from "@gtkx/utils";
2
- import { splitQualifiedName } from "../gir/qualified-name.js";
3
- /**
4
- * Maps a kebab-case signal name to its `on`-prefixed camelCase handler prop
5
- * name (e.g. `value-changed` → `onValueChanged`).
6
- *
7
- * @param signalName - The GIR signal name
8
- */
9
- export const signalHandlerName = (signalName) => `on${toUpperFirst(toIdentifier(toCamelCase(signalName)))}`;
10
- /**
11
- * Iterates every `(class, namespace, glibName)` triple in the repository whose
12
- * `glib:type-name` (or C type fallback) is defined.
13
- *
14
- * The order follows GIR file order within a namespace and `namespaces` map
15
- * iteration order between namespaces; callers that need stable output should
16
- * sort the result themselves.
17
- *
18
- * @param repository - The repository to walk
19
- */
20
- export function* iterateClassesWithGlibName(repository) {
21
- for (const namespace of repository.namespaces.values()) {
22
- for (const klass of namespace.classes) {
23
- const glibName = klass.glibTypeName ?? klass.cType;
24
- if (glibName === undefined)
25
- continue;
26
- yield { glibName, klass, namespace };
27
- }
28
- }
29
- }
30
- const resolveParentClass = (repository, parent, namespace) => {
31
- const { namespaceName, typeName } = splitQualifiedName(parent, namespace.name);
32
- const resolved = repository.resolveNamed(namespaceName, typeName);
33
- if (resolved === undefined || (resolved.kind !== "class" && resolved.kind !== "interface"))
34
- return undefined;
35
- return { klass: resolved.value, namespace: resolved.namespace };
36
- };
37
- /**
38
- * Resolves every interface a class implements, including the transitive
39
- * prerequisite interfaces of those interfaces, nearest first.
40
- *
41
- * Interfaces never appear in the GObject type-parent chain, so the React
42
- * runtime cannot reach an interface's signals or properties by walking a
43
- * widget's ancestors. Each implementing class must therefore carry its
44
- * interfaces' metadata directly. Prerequisite interfaces (e.g. a
45
- * `Gtk.SelectionModel`'s `Gio.ListModel`) are folded in transitively; class
46
- * prerequisites are ignored because their metadata is reachable through the
47
- * type-parent chain.
48
- *
49
- * @param klass - The class whose interfaces to resolve
50
- * @param namespace - The namespace the class lives in
51
- * @param repository - The repository for cross-namespace lookups
52
- */
53
- export const implementedInterfaces = (klass, namespace, repository) => {
54
- const result = [];
55
- const visited = new Set();
56
- const visit = (names, fromNamespace) => {
57
- for (const name of names) {
58
- const { namespaceName, typeName } = splitQualifiedName(name, fromNamespace.name);
59
- const resolved = repository.resolveNamed(namespaceName, typeName);
60
- if (resolved === undefined || resolved.kind !== "interface")
61
- continue;
62
- const key = `${resolved.namespace.name}.${resolved.value.name}`;
63
- if (visited.has(key))
64
- continue;
65
- visited.add(key);
66
- result.push({ klass: resolved.value, namespace: resolved.namespace });
67
- visit(resolved.value.prerequisites, resolved.namespace);
68
- }
69
- };
70
- visit(klass.implements, namespace);
71
- return result;
72
- };
73
- /**
74
- * Returns the GLib type names of a class and every ancestor it descends from,
75
- * nearest first. Used to let a subclass inherit slot-prop declarations made on
76
- * its ancestors.
77
- *
78
- * @param klass - The class to start from
79
- * @param namespace - The namespace the class lives in
80
- * @param repository - The repository for cross-namespace parent lookups
81
- */
82
- export const ancestorGlibNames = (klass, namespace, repository) => {
83
- const names = [];
84
- let currentClass = klass;
85
- let currentNamespace = namespace;
86
- while (currentClass !== undefined && currentNamespace !== undefined) {
87
- const glibName = currentClass.glibTypeName ?? currentClass.cType;
88
- if (glibName !== undefined)
89
- names.push(glibName);
90
- if (currentClass.parent === undefined)
91
- break;
92
- const next = resolveParentClass(repository, currentClass.parent, currentNamespace);
93
- if (next === undefined)
94
- break;
95
- currentClass = next.klass;
96
- currentNamespace = next.namespace;
97
- }
98
- return names;
99
- };
100
- const descendsFrom = (klass, namespace, repository, matches) => {
101
- let currentClass = klass;
102
- let currentNamespace = namespace;
103
- while (currentClass !== undefined && currentNamespace !== undefined) {
104
- const glibName = currentClass.glibTypeName ?? currentClass.cType ?? "";
105
- if (matches(glibName))
106
- return true;
107
- if (currentClass.parent === undefined)
108
- return false;
109
- const next = resolveParentClass(repository, currentClass.parent, currentNamespace);
110
- if (next === undefined)
111
- return false;
112
- currentClass = next.klass;
113
- currentNamespace = next.namespace;
114
- }
115
- return false;
116
- };
117
- /**
118
- * Decides whether a `<class>` is a "widget" for the React reconciler — a
119
- * descendant (direct or transitive) of `GtkWidget`.
120
- *
121
- * Walks the parent chain across namespaces. Returns `false` if any
122
- * ancestor cannot be resolved (which is preferable to silently treating
123
- * an unknown type as a widget).
124
- *
125
- * @param klass - The class to inspect
126
- * @param namespace - The namespace the class lives in
127
- * @param repository - The repository for cross-namespace parent lookups
128
- */
129
- export const isWidgetClass = (klass, namespace, repository) => descendsFrom(klass, namespace, repository, (glibName) => glibName === "GtkWidget");
130
- const AUXILIARY_BASE_TYPES = new Set(["GtkEventController", "GtkGesture", "GtkLayoutManager"]);
131
- /**
132
- * Decides whether a `<class>` is a non-widget React reconciler node — an event
133
- * controller, gesture, or layout manager (direct or transitive descendant of
134
- * `GtkEventController`, `GtkGesture`, or `GtkLayoutManager`). These are JSX
135
- * elements that need the same prop/signal metadata as widgets.
136
- *
137
- * @param klass - The class to inspect
138
- * @param namespace - The namespace the class lives in
139
- * @param repository - The repository for cross-namespace parent lookups
140
- */
141
- const isAuxiliaryReactType = (klass, namespace, repository) => descendsFrom(klass, namespace, repository, (glibName) => AUXILIARY_BASE_TYPES.has(glibName));
142
- /**
143
- * Decides whether a `<class>` is any React reconciler node — a widget or one
144
- * of the auxiliary node kinds. This is the set of classes that need generated
145
- * prop, signal, and construct-only metadata.
146
- *
147
- * @param klass - The class to inspect
148
- * @param namespace - The namespace the class lives in
149
- * @param repository - The repository for cross-namespace parent lookups
150
- */
151
- export const isReactNodeClass = (klass, namespace, repository) => isWidgetClass(klass, namespace, repository) || isAuxiliaryReactType(klass, namespace, repository);
152
- //# sourceMappingURL=widgets.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"widgets.js","sourceRoot":"","sources":["../../src/react/widgets.ts"],"names":[],"mappings":"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"}