@gtkx/codegen 0.21.0 → 1.0.0-rc.1

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 (732) hide show
  1. package/README.md +173 -0
  2. package/dist/analysis/descriptor-render.d.ts +18 -0
  3. package/dist/analysis/descriptor-render.d.ts.map +1 -0
  4. package/dist/analysis/descriptor-render.js +297 -0
  5. package/dist/analysis/descriptor-render.js.map +1 -0
  6. package/dist/analysis/descriptor.d.ts +59 -0
  7. package/dist/analysis/descriptor.d.ts.map +1 -0
  8. package/dist/analysis/descriptor.js +123 -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 +193 -0
  13. package/dist/analysis/inheritance.js.map +1 -0
  14. package/dist/analysis/param-structure.d.ts +26 -0
  15. package/dist/analysis/param-structure.d.ts.map +1 -0
  16. package/dist/analysis/param-structure.js +107 -0
  17. package/dist/analysis/param-structure.js.map +1 -0
  18. package/dist/analysis/ts-type.d.ts +19 -0
  19. package/dist/analysis/ts-type.d.ts.map +1 -0
  20. package/dist/analysis/ts-type.js +65 -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 +123 -0
  25. package/dist/compile.js.map +1 -0
  26. package/dist/docs/api-reference.d.ts +66 -0
  27. package/dist/docs/api-reference.d.ts.map +1 -0
  28. package/dist/docs/api-reference.js +299 -0
  29. package/dist/docs/api-reference.js.map +1 -0
  30. package/dist/docs/element-page.d.ts +15 -0
  31. package/dist/docs/element-page.d.ts.map +1 -0
  32. package/dist/docs/element-page.js +221 -0
  33. package/dist/docs/element-page.js.map +1 -0
  34. package/dist/docs/pipeline.d.ts +25 -0
  35. package/dist/docs/pipeline.d.ts.map +1 -0
  36. package/dist/docs/pipeline.js +130 -0
  37. package/dist/docs/pipeline.js.map +1 -0
  38. package/dist/docs/render.d.ts +32 -0
  39. package/dist/docs/render.d.ts.map +1 -0
  40. package/dist/docs/render.js +134 -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 +338 -0
  45. package/dist/docs/symbol-page.js.map +1 -0
  46. package/dist/fingerprint.d.ts +6 -26
  47. package/dist/fingerprint.d.ts.map +1 -1
  48. package/dist/fingerprint.js +30 -18
  49. package/dist/fingerprint.js.map +1 -1
  50. package/dist/gir/ancestry.d.ts +9 -0
  51. package/dist/gir/ancestry.d.ts.map +1 -0
  52. package/dist/gir/ancestry.js +29 -0
  53. package/dist/gir/ancestry.js.map +1 -0
  54. package/dist/gir/callback.d.ts +9 -10
  55. package/dist/gir/callback.d.ts.map +1 -1
  56. package/dist/gir/callback.js +17 -16
  57. package/dist/gir/callback.js.map +1 -1
  58. package/dist/gir/class.d.ts +22 -43
  59. package/dist/gir/class.d.ts.map +1 -1
  60. package/dist/gir/class.js +11 -23
  61. package/dist/gir/class.js.map +1 -1
  62. package/dist/gir/enum.d.ts +13 -31
  63. package/dist/gir/enum.d.ts.map +1 -1
  64. package/dist/gir/enum.js +7 -14
  65. package/dist/gir/enum.js.map +1 -1
  66. package/dist/gir/field.d.ts +10 -23
  67. package/dist/gir/field.d.ts.map +1 -1
  68. package/dist/gir/field.js +12 -18
  69. package/dist/gir/field.js.map +1 -1
  70. package/dist/gir/function.d.ts +11 -42
  71. package/dist/gir/function.d.ts.map +1 -1
  72. package/dist/gir/function.js +7 -20
  73. package/dist/gir/function.js.map +1 -1
  74. package/dist/gir/gir-path.d.ts +2 -0
  75. package/dist/gir/gir-path.d.ts.map +1 -0
  76. package/dist/gir/gir-path.js +41 -0
  77. package/dist/gir/gir-path.js.map +1 -0
  78. package/dist/gir/libraries.d.ts +4 -0
  79. package/dist/gir/libraries.d.ts.map +1 -0
  80. package/dist/gir/libraries.js +62 -0
  81. package/dist/gir/libraries.js.map +1 -0
  82. package/dist/gir/library.d.ts +37 -0
  83. package/dist/gir/library.d.ts.map +1 -0
  84. package/dist/gir/library.js +218 -0
  85. package/dist/gir/library.js.map +1 -0
  86. package/dist/gir/namespace.d.ts +36 -50
  87. package/dist/gir/namespace.d.ts.map +1 -1
  88. package/dist/gir/namespace.js +46 -36
  89. package/dist/gir/namespace.js.map +1 -1
  90. package/dist/gir/parameter.d.ts +25 -69
  91. package/dist/gir/parameter.d.ts.map +1 -1
  92. package/dist/gir/parameter.js +36 -57
  93. package/dist/gir/parameter.js.map +1 -1
  94. package/dist/gir/parse.d.ts +6 -70
  95. package/dist/gir/parse.d.ts.map +1 -1
  96. package/dist/gir/parse.js +32 -80
  97. package/dist/gir/parse.js.map +1 -1
  98. package/dist/gir/primitives.d.ts +3 -34
  99. package/dist/gir/primitives.d.ts.map +1 -1
  100. package/dist/gir/primitives.js +19 -35
  101. package/dist/gir/primitives.js.map +1 -1
  102. package/dist/gir/property.d.ts +16 -25
  103. package/dist/gir/property.d.ts.map +1 -1
  104. package/dist/gir/property.js +12 -9
  105. package/dist/gir/property.js.map +1 -1
  106. package/dist/gir/record.d.ts +27 -0
  107. package/dist/gir/record.d.ts.map +1 -0
  108. package/dist/gir/record.js +25 -0
  109. package/dist/gir/record.js.map +1 -0
  110. package/dist/gir/size.d.ts +10 -57
  111. package/dist/gir/size.d.ts.map +1 -1
  112. package/dist/gir/size.js +0 -25
  113. package/dist/gir/size.js.map +1 -1
  114. package/dist/gir/type-id.d.ts +49 -0
  115. package/dist/gir/type-id.d.ts.map +1 -0
  116. package/dist/gir/type-id.js +8 -0
  117. package/dist/gir/type-id.js.map +1 -0
  118. package/dist/gir/type-ref.d.ts +3 -77
  119. package/dist/gir/type-ref.d.ts.map +1 -1
  120. package/dist/gir/type-ref.js +35 -65
  121. package/dist/gir/type-ref.js.map +1 -1
  122. package/dist/gir/type.d.ts +33 -0
  123. package/dist/gir/type.d.ts.map +1 -0
  124. package/dist/gir/type.js +2 -0
  125. package/dist/gir/type.js.map +1 -0
  126. package/dist/index.d.ts +5 -11
  127. package/dist/index.d.ts.map +1 -1
  128. package/dist/index.js +5 -11
  129. package/dist/index.js.map +1 -1
  130. package/dist/khronos/args.d.ts +30 -0
  131. package/dist/khronos/args.d.ts.map +1 -0
  132. package/dist/khronos/args.js +150 -0
  133. package/dist/khronos/args.js.map +1 -0
  134. package/dist/khronos/jsdoc.d.ts +21 -0
  135. package/dist/khronos/jsdoc.d.ts.map +1 -0
  136. package/dist/khronos/jsdoc.js +59 -0
  137. package/dist/khronos/jsdoc.js.map +1 -0
  138. package/dist/khronos/model.d.ts +37 -0
  139. package/dist/khronos/model.d.ts.map +1 -0
  140. package/dist/khronos/model.js +132 -0
  141. package/dist/khronos/model.js.map +1 -0
  142. package/dist/khronos/modules.d.ts +11 -0
  143. package/dist/khronos/modules.d.ts.map +1 -0
  144. package/dist/khronos/modules.js +58 -0
  145. package/dist/khronos/modules.js.map +1 -0
  146. package/dist/khronos/parse.d.ts +9 -0
  147. package/dist/khronos/parse.d.ts.map +1 -0
  148. package/dist/khronos/parse.js +61 -0
  149. package/dist/khronos/parse.js.map +1 -0
  150. package/dist/khronos/pipeline.d.ts +24 -0
  151. package/dist/khronos/pipeline.d.ts.map +1 -0
  152. package/dist/khronos/pipeline.js +182 -0
  153. package/dist/khronos/pipeline.js.map +1 -0
  154. package/dist/khronos/plan.d.ts +80 -0
  155. package/dist/khronos/plan.d.ts.map +1 -0
  156. package/dist/khronos/plan.js +136 -0
  157. package/dist/khronos/plan.js.map +1 -0
  158. package/dist/khronos/render.d.ts +16 -0
  159. package/dist/khronos/render.d.ts.map +1 -0
  160. package/dist/khronos/render.js +158 -0
  161. package/dist/khronos/render.js.map +1 -0
  162. package/dist/khronos/select.d.ts +15 -0
  163. package/dist/khronos/select.d.ts.map +1 -0
  164. package/dist/khronos/select.js +45 -0
  165. package/dist/khronos/select.js.map +1 -0
  166. package/dist/runner.d.ts +29 -47
  167. package/dist/runner.d.ts.map +1 -1
  168. package/dist/runner.js +78 -53
  169. package/dist/runner.js.map +1 -1
  170. package/dist/store/compile-store.d.ts +9 -0
  171. package/dist/store/compile-store.d.ts.map +1 -0
  172. package/dist/store/compile-store.js +38 -0
  173. package/dist/store/compile-store.js.map +1 -0
  174. package/dist/store/gi/async.d.ts +4 -0
  175. package/dist/store/gi/async.d.ts.map +1 -0
  176. package/dist/store/gi/async.js +41 -0
  177. package/dist/store/gi/async.js.map +1 -0
  178. package/dist/store/gi/callables.d.ts +36 -0
  179. package/dist/store/gi/callables.d.ts.map +1 -0
  180. package/dist/store/gi/callables.js +202 -0
  181. package/dist/store/gi/callables.js.map +1 -0
  182. package/dist/store/gi/callback.d.ts +4 -0
  183. package/dist/store/gi/callback.d.ts.map +1 -0
  184. package/dist/store/gi/callback.js +14 -0
  185. package/dist/store/gi/callback.js.map +1 -0
  186. package/dist/store/gi/class-struct-record.d.ts +9 -0
  187. package/dist/store/gi/class-struct-record.d.ts.map +1 -0
  188. package/dist/store/gi/class-struct-record.js +34 -0
  189. package/dist/store/gi/class-struct-record.js.map +1 -0
  190. package/dist/store/gi/class.d.ts +4 -0
  191. package/dist/store/gi/class.d.ts.map +1 -0
  192. package/dist/store/gi/class.js +169 -0
  193. package/dist/store/gi/class.js.map +1 -0
  194. package/dist/store/gi/companion.d.ts +4 -0
  195. package/dist/store/gi/companion.d.ts.map +1 -0
  196. package/dist/store/gi/companion.js +13 -0
  197. package/dist/store/gi/companion.js.map +1 -0
  198. package/dist/store/gi/constant.d.ts +5 -0
  199. package/dist/store/gi/constant.d.ts.map +1 -0
  200. package/dist/store/gi/constant.js +18 -0
  201. package/dist/store/gi/constant.js.map +1 -0
  202. package/dist/store/gi/constructor-props.d.ts +5 -0
  203. package/dist/store/gi/constructor-props.d.ts.map +1 -0
  204. package/dist/store/gi/constructor-props.js +64 -0
  205. package/dist/store/gi/constructor-props.js.map +1 -0
  206. package/dist/store/gi/enum.d.ts +5 -0
  207. package/dist/store/gi/enum.d.ts.map +1 -0
  208. package/dist/store/gi/enum.js +38 -0
  209. package/dist/store/gi/enum.js.map +1 -0
  210. package/dist/store/gi/function.d.ts +8 -0
  211. package/dist/store/gi/function.d.ts.map +1 -0
  212. package/dist/store/gi/function.js +87 -0
  213. package/dist/store/gi/function.js.map +1 -0
  214. package/dist/store/gi/gtype-binding.d.ts +10 -0
  215. package/dist/store/gi/gtype-binding.d.ts.map +1 -0
  216. package/dist/store/gi/gtype-binding.js +20 -0
  217. package/dist/store/gi/gtype-binding.js.map +1 -0
  218. package/dist/store/gi/interface.d.ts +4 -0
  219. package/dist/store/gi/interface.d.ts.map +1 -0
  220. package/dist/store/gi/interface.js +99 -0
  221. package/dist/store/gi/interface.js.map +1 -0
  222. package/dist/store/gi/item-comparators.d.ts +6 -0
  223. package/dist/store/gi/item-comparators.d.ts.map +1 -0
  224. package/dist/store/gi/item-comparators.js +76 -0
  225. package/dist/store/gi/item-comparators.js.map +1 -0
  226. package/dist/store/gi/method.d.ts +24 -0
  227. package/dist/store/gi/method.d.ts.map +1 -0
  228. package/dist/store/gi/method.js +279 -0
  229. package/dist/store/gi/method.js.map +1 -0
  230. package/dist/store/gi/param-marshal.d.ts +9 -0
  231. package/dist/store/gi/param-marshal.d.ts.map +1 -0
  232. package/dist/store/gi/param-marshal.js +37 -0
  233. package/dist/store/gi/param-marshal.js.map +1 -0
  234. package/dist/store/gi/pipeline.d.ts +4 -0
  235. package/dist/store/gi/pipeline.d.ts.map +1 -0
  236. package/dist/store/gi/pipeline.js +80 -0
  237. package/dist/store/gi/pipeline.js.map +1 -0
  238. package/dist/store/gi/properties.d.ts +5 -0
  239. package/dist/store/gi/properties.d.ts.map +1 -0
  240. package/dist/store/gi/properties.js +30 -0
  241. package/dist/store/gi/properties.js.map +1 -0
  242. package/dist/store/gi/property-accessor.d.ts +26 -0
  243. package/dist/store/gi/property-accessor.d.ts.map +1 -0
  244. package/dist/store/gi/property-accessor.js +132 -0
  245. package/dist/store/gi/property-accessor.js.map +1 -0
  246. package/dist/store/gi/record-constructor.d.ts +5 -0
  247. package/dist/store/gi/record-constructor.d.ts.map +1 -0
  248. package/dist/store/gi/record-constructor.js +65 -0
  249. package/dist/store/gi/record-constructor.js.map +1 -0
  250. package/dist/store/gi/record-field-accessor.d.ts +25 -0
  251. package/dist/store/gi/record-field-accessor.d.ts.map +1 -0
  252. package/dist/store/gi/record-field-accessor.js +288 -0
  253. package/dist/store/gi/record-field-accessor.js.map +1 -0
  254. package/dist/store/gi/record-layout.d.ts +14 -0
  255. package/dist/store/gi/record-layout.d.ts.map +1 -0
  256. package/dist/store/gi/record-layout.js +96 -0
  257. package/dist/store/gi/record-layout.js.map +1 -0
  258. package/dist/store/gi/record.d.ts +4 -0
  259. package/dist/store/gi/record.d.ts.map +1 -0
  260. package/dist/store/gi/record.js +59 -0
  261. package/dist/store/gi/record.js.map +1 -0
  262. package/dist/store/gi/registration.d.ts +16 -0
  263. package/dist/store/gi/registration.d.ts.map +1 -0
  264. package/dist/store/gi/registration.js +20 -0
  265. package/dist/store/gi/registration.js.map +1 -0
  266. package/dist/store/gi/return-wrap.d.ts +10 -0
  267. package/dist/store/gi/return-wrap.d.ts.map +1 -0
  268. package/dist/store/gi/return-wrap.js +46 -0
  269. package/dist/store/gi/return-wrap.js.map +1 -0
  270. package/dist/store/gi/runtime-override.d.ts +3 -0
  271. package/dist/store/gi/runtime-override.d.ts.map +1 -0
  272. package/dist/{writers → store/gi}/runtime-override.js +0 -15
  273. package/dist/store/gi/runtime-override.js.map +1 -0
  274. package/dist/store/gi/signal.d.ts +5 -0
  275. package/dist/store/gi/signal.d.ts.map +1 -0
  276. package/dist/store/gi/signal.js +233 -0
  277. package/dist/store/gi/signal.js.map +1 -0
  278. package/dist/store/gi/vtable.d.ts +4 -0
  279. package/dist/store/gi/vtable.d.ts.map +1 -0
  280. package/dist/store/gi/vtable.js +78 -0
  281. package/dist/store/gi/vtable.js.map +1 -0
  282. package/dist/store/gi-store.d.ts +9 -0
  283. package/dist/store/gi-store.d.ts.map +1 -0
  284. package/dist/store/gi-store.js +57 -0
  285. package/dist/store/gi-store.js.map +1 -0
  286. package/dist/store/jsx-store.d.ts +5 -0
  287. package/dist/store/jsx-store.d.ts.map +1 -0
  288. package/dist/store/jsx-store.js +23 -0
  289. package/dist/store/jsx-store.js.map +1 -0
  290. package/dist/store/react/built-ins.d.ts +9 -0
  291. package/dist/store/react/built-ins.d.ts.map +1 -0
  292. package/dist/store/react/built-ins.js +226 -0
  293. package/dist/store/react/built-ins.js.map +1 -0
  294. package/dist/store/react/element-components.d.ts +15 -0
  295. package/dist/store/react/element-components.d.ts.map +1 -0
  296. package/dist/store/react/element-components.js +92 -0
  297. package/dist/store/react/element-components.js.map +1 -0
  298. package/dist/store/react/element-prop-types.d.ts +19 -0
  299. package/dist/store/react/element-prop-types.d.ts.map +1 -0
  300. package/dist/store/react/element-prop-types.js +244 -0
  301. package/dist/store/react/element-prop-types.js.map +1 -0
  302. package/dist/store/react/element-props.d.ts +4 -0
  303. package/dist/store/react/element-props.d.ts.map +1 -0
  304. package/dist/store/react/element-props.js +178 -0
  305. package/dist/store/react/element-props.js.map +1 -0
  306. package/dist/store/react/gir-index.d.ts +25 -0
  307. package/dist/store/react/gir-index.d.ts.map +1 -0
  308. package/dist/store/react/gir-index.js +55 -0
  309. package/dist/store/react/gir-index.js.map +1 -0
  310. package/dist/store/react/intrinsic-elements.d.ts +26 -0
  311. package/dist/store/react/intrinsic-elements.d.ts.map +1 -0
  312. package/dist/store/react/intrinsic-elements.js +107 -0
  313. package/dist/store/react/intrinsic-elements.js.map +1 -0
  314. package/dist/store/react/jsx.d.ts +18 -0
  315. package/dist/store/react/jsx.d.ts.map +1 -0
  316. package/dist/store/react/jsx.js +203 -0
  317. package/dist/store/react/jsx.js.map +1 -0
  318. package/dist/store/react/metadata.d.ts +4 -0
  319. package/dist/store/react/metadata.d.ts.map +1 -0
  320. package/dist/store/react/metadata.js +174 -0
  321. package/dist/store/react/metadata.js.map +1 -0
  322. package/dist/store/react/pipeline.d.ts +14 -0
  323. package/dist/store/react/pipeline.d.ts.map +1 -0
  324. package/dist/store/react/pipeline.js +60 -0
  325. package/dist/store/react/pipeline.js.map +1 -0
  326. package/dist/store/react/props.d.ts +36 -0
  327. package/dist/store/react/props.d.ts.map +1 -0
  328. package/dist/store/react/props.js +133 -0
  329. package/dist/store/react/props.js.map +1 -0
  330. package/dist/store/store-fs.d.ts +41 -0
  331. package/dist/store/store-fs.d.ts.map +1 -0
  332. package/dist/store/store-fs.js +71 -0
  333. package/dist/store/store-fs.js.map +1 -0
  334. package/dist/writer/context.d.ts +16 -0
  335. package/dist/writer/context.d.ts.map +1 -0
  336. package/dist/writer/context.js +44 -0
  337. package/dist/writer/context.js.map +1 -0
  338. package/dist/writer/doc.d.ts +2 -0
  339. package/dist/writer/doc.d.ts.map +1 -0
  340. package/dist/writer/doc.js +12 -0
  341. package/dist/writer/doc.js.map +1 -0
  342. package/dist/writer/emit.d.ts +8 -0
  343. package/dist/writer/emit.d.ts.map +1 -0
  344. package/dist/writer/emit.js +21 -0
  345. package/dist/writer/emit.js.map +1 -0
  346. package/dist/writer/gtk-doc.d.ts +2 -0
  347. package/dist/writer/gtk-doc.d.ts.map +1 -0
  348. package/dist/writer/gtk-doc.js +67 -0
  349. package/dist/writer/gtk-doc.js.map +1 -0
  350. package/dist/writer/imports.d.ts +10 -0
  351. package/dist/writer/imports.d.ts.map +1 -0
  352. package/dist/writer/imports.js +50 -0
  353. package/dist/writer/imports.js.map +1 -0
  354. package/dist/writer/module.d.ts +15 -0
  355. package/dist/writer/module.d.ts.map +1 -0
  356. package/dist/writer/module.js +46 -0
  357. package/dist/writer/module.js.map +1 -0
  358. package/overrides/cairo/context.ts.ejs +1269 -0
  359. package/overrides/cairo/font-face.ts.ejs +151 -0
  360. package/overrides/cairo/font-options.ts.ejs +199 -0
  361. package/overrides/cairo/image-surface.ts.ejs +132 -0
  362. package/overrides/cairo/index.ts.ejs +22 -0
  363. package/overrides/cairo/matrix.ts.ejs +171 -0
  364. package/overrides/cairo/pattern.ts.ejs +476 -0
  365. package/overrides/cairo/recording-surface.ts.ejs +102 -0
  366. package/overrides/cairo/region.ts.ejs +237 -0
  367. package/overrides/cairo/scaled-font.ts.ejs +330 -0
  368. package/overrides/cairo/surface.ts.ejs +296 -0
  369. package/overrides/gdk/index.ts.ejs +2 -0
  370. package/overrides/gdk/rgba.ts.ejs +11 -0
  371. package/overrides/gobject/index.ts.ejs +29 -0
  372. package/overrides/gobject/object.ts.ejs +51 -0
  373. package/overrides/gobject/value.ts.ejs +17 -0
  374. package/overrides/graphene/index.ts.ejs +2 -0
  375. package/overrides/graphene/structs.ts.ejs +37 -0
  376. package/overrides/gtk/constants.ts.ejs +3 -0
  377. package/overrides/gtk/index.ts.ejs +2 -0
  378. package/package.json +15 -15
  379. package/src/analysis/descriptor-render.ts +407 -0
  380. package/src/analysis/descriptor.ts +263 -0
  381. package/src/analysis/inheritance.ts +242 -0
  382. package/src/analysis/param-structure.ts +127 -0
  383. package/src/analysis/ts-type.ts +88 -0
  384. package/src/compile.ts +152 -0
  385. package/src/docs/api-reference.ts +361 -0
  386. package/src/docs/element-page.ts +290 -0
  387. package/src/docs/pipeline.ts +182 -0
  388. package/src/docs/render.ts +191 -0
  389. package/src/docs/symbol-page.ts +444 -0
  390. package/src/fingerprint.ts +40 -29
  391. package/src/gir/ancestry.ts +41 -0
  392. package/src/gir/callback.ts +25 -22
  393. package/src/gir/class.ts +31 -57
  394. package/src/gir/enum.ts +20 -38
  395. package/src/gir/field.ts +21 -36
  396. package/src/gir/function.ts +17 -56
  397. package/src/gir/gir-path.ts +49 -0
  398. package/src/gir/libraries.ts +77 -0
  399. package/src/gir/library.ts +248 -0
  400. package/src/gir/namespace.ts +85 -80
  401. package/src/gir/parameter.ts +64 -93
  402. package/src/gir/parse.ts +43 -95
  403. package/src/gir/primitives.ts +23 -45
  404. package/src/gir/property.ts +27 -29
  405. package/src/gir/record.ts +53 -0
  406. package/src/gir/size.ts +9 -56
  407. package/src/gir/type-id.ts +49 -0
  408. package/src/gir/type-ref.ts +35 -140
  409. package/src/gir/type.ts +16 -0
  410. package/src/index.ts +20 -15
  411. package/src/khronos/args.ts +202 -0
  412. package/src/khronos/jsdoc.ts +76 -0
  413. package/src/khronos/model.ts +166 -0
  414. package/src/khronos/modules.ts +75 -0
  415. package/src/khronos/parse.ts +66 -0
  416. package/src/khronos/pipeline.ts +234 -0
  417. package/src/khronos/plan.ts +191 -0
  418. package/src/khronos/registry/LICENSE +202 -0
  419. package/src/khronos/registry/gl.xml +47748 -0
  420. package/src/khronos/render.ts +193 -0
  421. package/src/khronos/select.ts +67 -0
  422. package/src/runner.ts +112 -75
  423. package/src/store/compile-store.ts +49 -0
  424. package/src/store/gi/async.ts +42 -0
  425. package/src/store/gi/callables.ts +309 -0
  426. package/src/store/gi/callback.ts +15 -0
  427. package/src/store/gi/class-struct-record.ts +40 -0
  428. package/src/store/gi/class.ts +212 -0
  429. package/src/store/gi/companion.ts +13 -0
  430. package/src/store/gi/constant.ts +24 -0
  431. package/src/store/gi/constructor-props.ts +82 -0
  432. package/src/store/gi/enum.ts +49 -0
  433. package/src/store/gi/function.ts +107 -0
  434. package/src/store/gi/gtype-binding.ts +33 -0
  435. package/src/store/gi/interface.ts +157 -0
  436. package/src/store/gi/item-comparators.ts +90 -0
  437. package/src/store/gi/method.ts +417 -0
  438. package/src/store/gi/param-marshal.ts +48 -0
  439. package/src/store/gi/pipeline.ts +85 -0
  440. package/src/store/gi/properties.ts +39 -0
  441. package/src/store/gi/property-accessor.ts +194 -0
  442. package/src/store/gi/record-constructor.ts +87 -0
  443. package/src/store/gi/record-field-accessor.ts +394 -0
  444. package/src/store/gi/record-layout.ts +134 -0
  445. package/src/store/gi/record.ts +66 -0
  446. package/src/store/gi/registration.ts +38 -0
  447. package/src/store/gi/return-wrap.ts +52 -0
  448. package/src/store/gi/runtime-override.ts +36 -0
  449. package/src/store/gi/signal.ts +310 -0
  450. package/src/store/gi/vtable.ts +99 -0
  451. package/src/store/gi-store.ts +79 -0
  452. package/src/store/jsx-store.ts +27 -0
  453. package/src/store/react/built-ins.ts +260 -0
  454. package/src/store/react/element-components.ts +138 -0
  455. package/src/store/react/element-prop-types.ts +280 -0
  456. package/src/store/react/element-props.ts +204 -0
  457. package/src/store/react/gir-index.ts +85 -0
  458. package/src/store/react/intrinsic-elements.ts +161 -0
  459. package/src/store/react/jsx.ts +294 -0
  460. package/src/store/react/metadata.ts +197 -0
  461. package/src/store/react/pipeline.ts +90 -0
  462. package/src/store/react/props.ts +197 -0
  463. package/src/store/store-fs.ts +112 -0
  464. package/src/writer/context.ts +48 -0
  465. package/src/writer/doc.ts +11 -0
  466. package/src/writer/emit.ts +26 -0
  467. package/src/writer/gtk-doc.ts +74 -0
  468. package/src/writer/imports.ts +59 -0
  469. package/src/writer/module.ts +45 -0
  470. package/LICENSE +0 -373
  471. package/dist/dsl/context.d.ts +0 -104
  472. package/dist/dsl/context.d.ts.map +0 -1
  473. package/dist/dsl/context.js +0 -140
  474. package/dist/dsl/context.js.map +0 -1
  475. package/dist/dsl/emit.d.ts +0 -28
  476. package/dist/dsl/emit.d.ts.map +0 -1
  477. package/dist/dsl/emit.js +0 -41
  478. package/dist/dsl/emit.js.map +0 -1
  479. package/dist/dsl/identifier.d.ts +0 -28
  480. package/dist/dsl/identifier.d.ts.map +0 -1
  481. package/dist/dsl/identifier.js +0 -45
  482. package/dist/dsl/identifier.js.map +0 -1
  483. package/dist/dsl/imports.d.ts +0 -58
  484. package/dist/dsl/imports.d.ts.map +0 -1
  485. package/dist/dsl/imports.js +0 -107
  486. package/dist/dsl/imports.js.map +0 -1
  487. package/dist/dsl/module.d.ts +0 -53
  488. package/dist/dsl/module.d.ts.map +0 -1
  489. package/dist/dsl/module.js +0 -76
  490. package/dist/dsl/module.js.map +0 -1
  491. package/dist/ffi/pipeline.d.ts +0 -19
  492. package/dist/ffi/pipeline.d.ts.map +0 -1
  493. package/dist/ffi/pipeline.js +0 -107
  494. package/dist/ffi/pipeline.js.map +0 -1
  495. package/dist/gi-store.d.ts +0 -34
  496. package/dist/gi-store.d.ts.map +0 -1
  497. package/dist/gi-store.js +0 -154
  498. package/dist/gi-store.js.map +0 -1
  499. package/dist/gir/boxed.d.ts +0 -66
  500. package/dist/gir/boxed.d.ts.map +0 -1
  501. package/dist/gir/boxed.js +0 -49
  502. package/dist/gir/boxed.js.map +0 -1
  503. package/dist/gir/qualified-name.d.ts +0 -37
  504. package/dist/gir/qualified-name.d.ts.map +0 -1
  505. package/dist/gir/qualified-name.js +0 -39
  506. package/dist/gir/qualified-name.js.map +0 -1
  507. package/dist/gir/qualify.d.ts +0 -32
  508. package/dist/gir/qualify.d.ts.map +0 -1
  509. package/dist/gir/qualify.js +0 -60
  510. package/dist/gir/qualify.js.map +0 -1
  511. package/dist/gir/repository.d.ts +0 -82
  512. package/dist/gir/repository.d.ts.map +0 -1
  513. package/dist/gir/repository.js +0 -122
  514. package/dist/gir/repository.js.map +0 -1
  515. package/dist/gir/signal.d.ts +0 -22
  516. package/dist/gir/signal.d.ts.map +0 -1
  517. package/dist/gir/signal.js +0 -20
  518. package/dist/gir/signal.js.map +0 -1
  519. package/dist/jsx-store.d.ts +0 -22
  520. package/dist/jsx-store.d.ts.map +0 -1
  521. package/dist/jsx-store.js +0 -40
  522. package/dist/jsx-store.js.map +0 -1
  523. package/dist/react/compounds-meta.d.ts +0 -18
  524. package/dist/react/compounds-meta.d.ts.map +0 -1
  525. package/dist/react/compounds-meta.js +0 -93
  526. package/dist/react/compounds-meta.js.map +0 -1
  527. package/dist/react/compounds.d.ts +0 -27
  528. package/dist/react/compounds.d.ts.map +0 -1
  529. package/dist/react/compounds.js +0 -164
  530. package/dist/react/compounds.js.map +0 -1
  531. package/dist/react/internal.d.ts +0 -14
  532. package/dist/react/internal.d.ts.map +0 -1
  533. package/dist/react/internal.js +0 -79
  534. package/dist/react/internal.js.map +0 -1
  535. package/dist/react/jsx.d.ts +0 -22
  536. package/dist/react/jsx.d.ts.map +0 -1
  537. package/dist/react/jsx.js +0 -134
  538. package/dist/react/jsx.js.map +0 -1
  539. package/dist/react/pipeline.d.ts +0 -13
  540. package/dist/react/pipeline.d.ts.map +0 -1
  541. package/dist/react/pipeline.js +0 -25
  542. package/dist/react/pipeline.js.map +0 -1
  543. package/dist/react/props.d.ts +0 -38
  544. package/dist/react/props.d.ts.map +0 -1
  545. package/dist/react/props.js +0 -231
  546. package/dist/react/props.js.map +0 -1
  547. package/dist/react/slot-props.d.ts +0 -10
  548. package/dist/react/slot-props.d.ts.map +0 -1
  549. package/dist/react/slot-props.js +0 -56
  550. package/dist/react/slot-props.js.map +0 -1
  551. package/dist/react/widgets.d.ts +0 -83
  552. package/dist/react/widgets.d.ts.map +0 -1
  553. package/dist/react/widgets.js +0 -152
  554. package/dist/react/widgets.js.map +0 -1
  555. package/dist/store-fs.d.ts +0 -109
  556. package/dist/store-fs.d.ts.map +0 -1
  557. package/dist/store-fs.js +0 -98
  558. package/dist/store-fs.js.map +0 -1
  559. package/dist/transpile.d.ts +0 -32
  560. package/dist/transpile.d.ts.map +0 -1
  561. package/dist/transpile.js +0 -63
  562. package/dist/transpile.js.map +0 -1
  563. package/dist/typecheck-store.d.ts +0 -41
  564. package/dist/typecheck-store.d.ts.map +0 -1
  565. package/dist/typecheck-store.js +0 -102
  566. package/dist/typecheck-store.js.map +0 -1
  567. package/dist/writers/alias.d.ts +0 -13
  568. package/dist/writers/alias.d.ts.map +0 -1
  569. package/dist/writers/alias.js +0 -17
  570. package/dist/writers/alias.js.map +0 -1
  571. package/dist/writers/async.d.ts +0 -22
  572. package/dist/writers/async.d.ts.map +0 -1
  573. package/dist/writers/async.js +0 -48
  574. package/dist/writers/async.js.map +0 -1
  575. package/dist/writers/boxed-constructor.d.ts +0 -26
  576. package/dist/writers/boxed-constructor.d.ts.map +0 -1
  577. package/dist/writers/boxed-constructor.js +0 -85
  578. package/dist/writers/boxed-constructor.js.map +0 -1
  579. package/dist/writers/boxed-field-accessor.d.ts +0 -18
  580. package/dist/writers/boxed-field-accessor.d.ts.map +0 -1
  581. package/dist/writers/boxed-field-accessor.js +0 -260
  582. package/dist/writers/boxed-field-accessor.js.map +0 -1
  583. package/dist/writers/boxed-layout.d.ts +0 -27
  584. package/dist/writers/boxed-layout.d.ts.map +0 -1
  585. package/dist/writers/boxed-layout.js +0 -128
  586. package/dist/writers/boxed-layout.js.map +0 -1
  587. package/dist/writers/boxed.d.ts +0 -20
  588. package/dist/writers/boxed.d.ts.map +0 -1
  589. package/dist/writers/boxed.js +0 -71
  590. package/dist/writers/boxed.js.map +0 -1
  591. package/dist/writers/callables.d.ts +0 -124
  592. package/dist/writers/callables.d.ts.map +0 -1
  593. package/dist/writers/callables.js +0 -283
  594. package/dist/writers/callables.js.map +0 -1
  595. package/dist/writers/callback.d.ts +0 -16
  596. package/dist/writers/callback.d.ts.map +0 -1
  597. package/dist/writers/callback.js +0 -38
  598. package/dist/writers/callback.js.map +0 -1
  599. package/dist/writers/class-struct-record.d.ts +0 -31
  600. package/dist/writers/class-struct-record.d.ts.map +0 -1
  601. package/dist/writers/class-struct-record.js +0 -67
  602. package/dist/writers/class-struct-record.js.map +0 -1
  603. package/dist/writers/class-struct.d.ts +0 -22
  604. package/dist/writers/class-struct.d.ts.map +0 -1
  605. package/dist/writers/class-struct.js +0 -85
  606. package/dist/writers/class-struct.js.map +0 -1
  607. package/dist/writers/class.d.ts +0 -16
  608. package/dist/writers/class.d.ts.map +0 -1
  609. package/dist/writers/class.js +0 -307
  610. package/dist/writers/class.js.map +0 -1
  611. package/dist/writers/constant.d.ts +0 -15
  612. package/dist/writers/constant.d.ts.map +0 -1
  613. package/dist/writers/constant.js +0 -23
  614. package/dist/writers/constant.js.map +0 -1
  615. package/dist/writers/constants.d.ts +0 -15
  616. package/dist/writers/constants.d.ts.map +0 -1
  617. package/dist/writers/constants.js +0 -23
  618. package/dist/writers/constants.js.map +0 -1
  619. package/dist/writers/constructor-props.d.ts +0 -32
  620. package/dist/writers/constructor-props.d.ts.map +0 -1
  621. package/dist/writers/constructor-props.js +0 -110
  622. package/dist/writers/constructor-props.js.map +0 -1
  623. package/dist/writers/enum.d.ts +0 -21
  624. package/dist/writers/enum.d.ts.map +0 -1
  625. package/dist/writers/enum.js +0 -48
  626. package/dist/writers/enum.js.map +0 -1
  627. package/dist/writers/function.d.ts +0 -40
  628. package/dist/writers/function.d.ts.map +0 -1
  629. package/dist/writers/function.js +0 -127
  630. package/dist/writers/function.js.map +0 -1
  631. package/dist/writers/gtype-binding.d.ts +0 -19
  632. package/dist/writers/gtype-binding.d.ts.map +0 -1
  633. package/dist/writers/gtype-binding.js +0 -40
  634. package/dist/writers/gtype-binding.js.map +0 -1
  635. package/dist/writers/inheritance.d.ts +0 -48
  636. package/dist/writers/inheritance.d.ts.map +0 -1
  637. package/dist/writers/inheritance.js +0 -90
  638. package/dist/writers/inheritance.js.map +0 -1
  639. package/dist/writers/interface.d.ts +0 -16
  640. package/dist/writers/interface.d.ts.map +0 -1
  641. package/dist/writers/interface.js +0 -155
  642. package/dist/writers/interface.js.map +0 -1
  643. package/dist/writers/method.d.ts +0 -150
  644. package/dist/writers/method.d.ts.map +0 -1
  645. package/dist/writers/method.js +0 -510
  646. package/dist/writers/method.js.map +0 -1
  647. package/dist/writers/param-classify.d.ts +0 -93
  648. package/dist/writers/param-classify.d.ts.map +0 -1
  649. package/dist/writers/param-classify.js +0 -163
  650. package/dist/writers/param-classify.js.map +0 -1
  651. package/dist/writers/property-accessor.d.ts +0 -19
  652. package/dist/writers/property-accessor.d.ts.map +0 -1
  653. package/dist/writers/property-accessor.js +0 -117
  654. package/dist/writers/property-accessor.js.map +0 -1
  655. package/dist/writers/registration.d.ts +0 -27
  656. package/dist/writers/registration.d.ts.map +0 -1
  657. package/dist/writers/registration.js +0 -30
  658. package/dist/writers/registration.js.map +0 -1
  659. package/dist/writers/return-wrap.d.ts +0 -39
  660. package/dist/writers/return-wrap.d.ts.map +0 -1
  661. package/dist/writers/return-wrap.js +0 -152
  662. package/dist/writers/return-wrap.js.map +0 -1
  663. package/dist/writers/runtime-override.d.ts +0 -18
  664. package/dist/writers/runtime-override.d.ts.map +0 -1
  665. package/dist/writers/runtime-override.js.map +0 -1
  666. package/dist/writers/signal.d.ts +0 -21
  667. package/dist/writers/signal.d.ts.map +0 -1
  668. package/dist/writers/signal.js +0 -260
  669. package/dist/writers/signal.js.map +0 -1
  670. package/dist/writers/ts-type.d.ts +0 -50
  671. package/dist/writers/ts-type.d.ts.map +0 -1
  672. package/dist/writers/ts-type.js +0 -75
  673. package/dist/writers/ts-type.js.map +0 -1
  674. package/dist/writers/types-ts.d.ts +0 -27
  675. package/dist/writers/types-ts.d.ts.map +0 -1
  676. package/dist/writers/types-ts.js +0 -97
  677. package/dist/writers/types-ts.js.map +0 -1
  678. package/dist/writers/value.d.ts +0 -89
  679. package/dist/writers/value.d.ts.map +0 -1
  680. package/dist/writers/value.js +0 -402
  681. package/dist/writers/value.js.map +0 -1
  682. package/src/dsl/context.ts +0 -146
  683. package/src/dsl/emit.ts +0 -42
  684. package/src/dsl/identifier.ts +0 -52
  685. package/src/dsl/imports.ts +0 -109
  686. package/src/dsl/module.ts +0 -75
  687. package/src/ffi/pipeline.ts +0 -113
  688. package/src/gi-store.ts +0 -199
  689. package/src/gir/boxed.ts +0 -94
  690. package/src/gir/qualified-name.ts +0 -55
  691. package/src/gir/qualify.ts +0 -64
  692. package/src/gir/repository.ts +0 -149
  693. package/src/gir/signal.ts +0 -36
  694. package/src/jsx-store.ts +0 -53
  695. package/src/react/compounds-meta.ts +0 -99
  696. package/src/react/compounds.ts +0 -204
  697. package/src/react/internal.ts +0 -91
  698. package/src/react/jsx.ts +0 -155
  699. package/src/react/pipeline.ts +0 -29
  700. package/src/react/props.ts +0 -307
  701. package/src/react/slot-props.ts +0 -57
  702. package/src/react/widgets.ts +0 -185
  703. package/src/store-fs.ts +0 -157
  704. package/src/transpile.ts +0 -80
  705. package/src/typecheck-store.ts +0 -136
  706. package/src/writers/alias.ts +0 -19
  707. package/src/writers/async.ts +0 -44
  708. package/src/writers/boxed-constructor.ts +0 -105
  709. package/src/writers/boxed-field-accessor.ts +0 -306
  710. package/src/writers/boxed-layout.ts +0 -166
  711. package/src/writers/boxed.ts +0 -77
  712. package/src/writers/callables.ts +0 -339
  713. package/src/writers/callback.ts +0 -40
  714. package/src/writers/class-struct-record.ts +0 -75
  715. package/src/writers/class-struct.ts +0 -96
  716. package/src/writers/class.ts +0 -384
  717. package/src/writers/constant.ts +0 -29
  718. package/src/writers/constructor-props.ts +0 -130
  719. package/src/writers/enum.ts +0 -53
  720. package/src/writers/function.ts +0 -136
  721. package/src/writers/gtype-binding.ts +0 -48
  722. package/src/writers/inheritance.ts +0 -104
  723. package/src/writers/interface.ts +0 -168
  724. package/src/writers/method.ts +0 -678
  725. package/src/writers/param-classify.ts +0 -178
  726. package/src/writers/property-accessor.ts +0 -139
  727. package/src/writers/registration.ts +0 -42
  728. package/src/writers/return-wrap.ts +0 -180
  729. package/src/writers/runtime-override.ts +0 -59
  730. package/src/writers/signal.ts +0 -318
  731. package/src/writers/ts-type.ts +0 -115
  732. package/src/writers/value.ts +0 -485
@@ -1,122 +0,0 @@
1
- import { existsSync } from "node:fs";
2
- import { join } from "node:path";
3
- import { namespaceFromRepository } from "./namespace.js";
4
- import { parseGirFile } from "./parse.js";
5
- /**
6
- * In-memory database of every loaded GIR namespace, indexed by name.
7
- *
8
- * Construct via {@link loadGirRepository}; the public API after that is the
9
- * `namespaces` map and {@link resolveNamed} for cross-namespace lookups.
10
- */
11
- export class GirRepository {
12
- /** Namespaces keyed by their unqualified name (e.g. `"Gtk"`, `"GLib"`). */
13
- namespaces;
14
- /** Absolute paths of every `.gir` file loaded, for staleness fingerprinting. */
15
- girFiles;
16
- entityIndex;
17
- /**
18
- * Constructs a repository from the supplied namespace map.
19
- *
20
- * Callers should prefer {@link loadGirRepository} which discovers and
21
- * parses files for you.
22
- *
23
- * @param namespaces - Namespaces keyed by unqualified name
24
- * @param girFiles - Absolute paths of the `.gir` files the namespaces came from
25
- */
26
- constructor(namespaces, girFiles = []) {
27
- this.namespaces = namespaces;
28
- this.girFiles = girFiles;
29
- this.entityIndex = new Map();
30
- for (const namespace of namespaces.values()) {
31
- indexNamespace(this.entityIndex, namespace);
32
- }
33
- }
34
- /**
35
- * Looks up a type by `(namespace, name)`. Aliases are followed one step
36
- * to their target. Returns `undefined` when neither the namespace nor a
37
- * matching entity exists.
38
- *
39
- * @param namespaceName - Namespace to look in (e.g. `"GLib"`)
40
- * @param typeName - Local type name within the namespace (e.g. `"Variant"`)
41
- */
42
- resolveNamed(namespaceName, typeName) {
43
- const key = entityKey(namespaceName, typeName);
44
- const direct = this.entityIndex.get(key);
45
- if (direct !== undefined)
46
- return direct;
47
- return undefined;
48
- }
49
- }
50
- const entityKey = (namespaceName, typeName) => `${namespaceName}.${typeName}`;
51
- const indexNamespace = (index, namespace) => {
52
- for (const value of namespace.classes) {
53
- index.set(entityKey(namespace.name, value.name), { kind: "class", namespace, value });
54
- }
55
- for (const value of namespace.interfaces) {
56
- index.set(entityKey(namespace.name, value.name), { kind: "interface", namespace, value });
57
- }
58
- for (const value of namespace.boxeds) {
59
- index.set(entityKey(namespace.name, value.name), { kind: "boxed", namespace, value });
60
- }
61
- for (const value of namespace.enums) {
62
- index.set(entityKey(namespace.name, value.name), { kind: "enum", namespace, value });
63
- }
64
- for (const value of namespace.callbacks) {
65
- index.set(entityKey(namespace.name, value.name), { kind: "callback", namespace, value });
66
- }
67
- for (const alias of namespace.aliases) {
68
- const target = alias.target?.kind === "named" ? alias.target.typeName : undefined;
69
- index.set(entityKey(namespace.name, alias.name), {
70
- kind: "alias",
71
- namespace,
72
- target,
73
- targetRef: alias.target,
74
- });
75
- }
76
- };
77
- /**
78
- * Discovers and parses every GIR file needed to satisfy `libraries` and
79
- * their transitive `<include>` dependencies.
80
- *
81
- * @param libraries - Resolved `Name-Version` namespace identifiers
82
- * @param girPath - Ordered list of directories to search for `.gir` files
83
- * @returns A populated {@link GirRepository}
84
- * @throws If any required GIR file cannot be located on `girPath`
85
- */
86
- export const loadGirRepository = (libraries, girPath) => {
87
- const namespaces = new Map();
88
- const girFiles = [];
89
- const queue = [...libraries];
90
- while (queue.length > 0) {
91
- const identifier = queue.shift();
92
- if (identifier === undefined)
93
- continue;
94
- const namespaceName = identifier.split("-")[0] ?? identifier;
95
- if (namespaces.has(namespaceName))
96
- continue;
97
- const path = locateGirFile(identifier, girPath);
98
- girFiles.push(path);
99
- const root = parseGirFile(path);
100
- const repository = root.repository;
101
- if (typeof repository !== "object" || repository === null) {
102
- throw new Error(`GIR file at ${path} has no <repository> root`);
103
- }
104
- const namespace = namespaceFromRepository(repository);
105
- namespaces.set(namespace.name, namespace);
106
- for (const include of namespace.includes) {
107
- queue.push(`${include.name}-${include.version}`);
108
- }
109
- }
110
- return new GirRepository(namespaces, girFiles);
111
- };
112
- const locateGirFile = (identifier, girPath) => {
113
- const filename = `${identifier}.gir`;
114
- for (const directory of girPath) {
115
- const candidate = join(directory, filename);
116
- if (existsSync(candidate))
117
- return candidate;
118
- }
119
- const tried = girPath.map((directory) => join(directory, filename)).join(", ");
120
- throw new Error(`GIR file ${filename} not found on girPath. Tried: ${tried}`);
121
- };
122
- //# sourceMappingURL=repository.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"repository.js","sourceRoot":"","sources":["../../src/gir/repository.ts"],"names":[],"mappings":"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"}
@@ -1,22 +0,0 @@
1
- import { type GirParameter, type GirReturnValue } from "./parameter.js";
2
- import { type RawNode } from "./parse.js";
3
- /** Emission stage (`<glib:signal when="…">`). */
4
- type SignalWhen = "first" | "last" | "cleanup";
5
- /** A GObject `<glib:signal>` declaration. */
6
- export type GirSignal = {
7
- /** GIR signal name, kebab-case (e.g. `"activate-link"`). */
8
- readonly name: string;
9
- readonly parameters: readonly GirParameter[];
10
- readonly returnValue: GirReturnValue;
11
- readonly when: SignalWhen;
12
- readonly detailed: boolean;
13
- readonly action: boolean;
14
- readonly noRecurse: boolean;
15
- readonly noHooks: boolean;
16
- };
17
- /**
18
- * Builds a {@link GirSignal} from a `<glib:signal>` element.
19
- */
20
- export declare const signalFromNode: (node: RawNode) => GirSignal;
21
- export {};
22
- //# sourceMappingURL=signal.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signal.d.ts","sourceRoot":"","sources":["../../src/gir/signal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,cAAc,EAA0C,MAAM,gBAAgB,CAAC;AAChH,OAAO,EAAuC,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAE/E,iDAAiD;AACjD,KAAK,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;AAE/C,6CAA6C;AAC7C,MAAM,MAAM,SAAS,GAAG;IACpB,4DAA4D;IAC5D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,SAAS,YAAY,EAAE,CAAC;IAC7C,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC;IACrC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,MAAM,OAAO,KAAG,SAa9C,CAAC"}
@@ -1,20 +0,0 @@
1
- import { parameterFromNode, returnValueFromNode } from "./parameter.js";
2
- import { attr, attrBool, childOf, childrenOf } from "./parse.js";
3
- /**
4
- * Builds a {@link GirSignal} from a `<glib:signal>` element.
5
- */
6
- export const signalFromNode = (node) => {
7
- const parametersNode = childOf(node, "parameters");
8
- const parameterNodes = childrenOf(parametersNode, "parameter");
9
- return {
10
- name: attr(node, "name") ?? "",
11
- parameters: parameterNodes.map((parameter) => parameterFromNode(parameter, false)),
12
- returnValue: returnValueFromNode(childOf(node, "return-value")),
13
- when: (attr(node, "when") ?? "last"),
14
- detailed: attrBool(node, "detailed"),
15
- action: attrBool(node, "action"),
16
- noRecurse: attrBool(node, "no-recurse"),
17
- noHooks: attrBool(node, "no-hooks"),
18
- };
19
- };
20
- //# sourceMappingURL=signal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signal.js","sourceRoot":"","sources":["../../src/gir/signal.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0C,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAChH,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAgB,MAAM,YAAY,CAAC;AAkB/E;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAa,EAAa,EAAE;IACvD,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IACnD,MAAM,cAAc,GAAG,UAAU,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;IAC/D,OAAO;QACH,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE;QAC9B,UAAU,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAClF,WAAW,EAAE,mBAAmB,CAAC,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QAC/D,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAe;QAClD,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;QACpC,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;QAChC,SAAS,EAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;QACvC,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;KACtC,CAAC;AACN,CAAC,CAAC"}
@@ -1,22 +0,0 @@
1
- import { type StoreOptions } from "./store-fs.js";
2
- /**
3
- * Options for assembling the injected `@gtkx/react-jsx` unit.
4
- */
5
- export type JsxStoreOptions = StoreOptions & {
6
- /** Absolute path to the gi store, for the unit's own `node_modules/@gtkx/gi`. */
7
- readonly giStoreDir: string;
8
- /** Real (symlink-resolved) directory of the installed `react` runtime. */
9
- readonly realReactRuntimeDir: string;
10
- /** Real (symlink-resolved) directory of the installed `@gtkx/react`. */
11
- readonly realReactPackageDir: string;
12
- };
13
- /**
14
- * Assembles the self-contained injected `@gtkx/react-jsx` unit: the generated
15
- * `jsx`/`internal`/`compounds` modules plus a `package.json` and the unit's own
16
- * `node_modules` symlinks to `@gtkx/gi` and `react`.
17
- *
18
- * @param options - Resolved store/link/dependency paths
19
- * @param files - React pipeline output keyed by source filename
20
- */
21
- export declare const writeJsxStore: (options: JsxStoreOptions, files: ReadonlyMap<string, string>) => void;
22
- //# sourceMappingURL=jsx-store.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jsx-store.d.ts","sourceRoot":"","sources":["../src/jsx-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAc,MAAM,eAAe,CAAC;AAE9D;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG;IACzC,iFAAiF;IACjF,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,0EAA0E;IAC1E,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,wEAAwE;IACxE,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;CACxC,CAAC;AAIF;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,GAAI,SAAS,eAAe,EAAE,OAAO,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,KAAG,IA4B5F,CAAC"}
package/dist/jsx-store.js DELETED
@@ -1,40 +0,0 @@
1
- import { writeStore } from "./store-fs.js";
2
- const stem = (relativePath) => relativePath.replace(/\.(tsx|ts)$/, "");
3
- /**
4
- * Assembles the self-contained injected `@gtkx/react-jsx` unit: the generated
5
- * `jsx`/`internal`/`compounds` modules plus a `package.json` and the unit's own
6
- * `node_modules` symlinks to `@gtkx/gi` and `react`.
7
- *
8
- * @param options - Resolved store/link/dependency paths
9
- * @param files - React pipeline output keyed by source filename
10
- */
11
- export const writeJsxStore = (options, files) => {
12
- writeStore({
13
- storeDir: options.storeDir,
14
- linkDir: options.linkDir,
15
- files: [...files].map(([relativePath, source]) => ({
16
- stem: stem(relativePath),
17
- fileName: relativePath,
18
- source,
19
- })),
20
- manifest: {
21
- name: "@gtkx/react-jsx",
22
- type: "module",
23
- version: options.version,
24
- sideEffects: ["./internal.js"],
25
- exports: {
26
- "./package.json": "./package.json",
27
- ".": { types: "./jsx.d.ts", default: "./jsx.js" },
28
- "./jsx": { types: "./jsx.d.ts", default: "./jsx.js" },
29
- "./compounds": { types: "./compounds.d.ts", default: "./compounds.js" },
30
- "./internal": { types: "./internal.d.ts", default: "./internal.js" },
31
- },
32
- },
33
- symlinks: [
34
- { segments: ["node_modules", "@gtkx", "gi"], target: options.giStoreDir },
35
- { segments: ["node_modules", "@gtkx", "react"], target: options.realReactPackageDir },
36
- { segments: ["node_modules", "react"], target: options.realReactRuntimeDir },
37
- ],
38
- });
39
- };
40
- //# sourceMappingURL=jsx-store.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jsx-store.js","sourceRoot":"","sources":["../src/jsx-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,UAAU,EAAE,MAAM,eAAe,CAAC;AAc9D,MAAM,IAAI,GAAG,CAAC,YAAoB,EAAU,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;AAEvF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,OAAwB,EAAE,KAAkC,EAAQ,EAAE;IAChG,UAAU,CAAC;QACP,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/C,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC;YACxB,QAAQ,EAAE,YAAY;YACtB,MAAM;SACT,CAAC,CAAC;QACH,QAAQ,EAAE;YACN,IAAI,EAAE,iBAAiB;YACvB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,WAAW,EAAE,CAAC,eAAe,CAAC;YAC9B,OAAO,EAAE;gBACL,gBAAgB,EAAE,gBAAgB;gBAClC,GAAG,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE;gBACjD,OAAO,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE;gBACrD,aAAa,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,gBAAgB,EAAE;gBACvE,YAAY,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,eAAe,EAAE;aACvE;SACJ;QACD,QAAQ,EAAE;YACN,EAAE,QAAQ,EAAE,CAAC,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,UAAU,EAAE;YACzE,EAAE,QAAQ,EAAE,CAAC,cAAc,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,mBAAmB,EAAE;YACrF,EAAE,QAAQ,EAAE,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,mBAAmB,EAAE;SAC/E;KACJ,CAAC,CAAC;AACP,CAAC,CAAC"}
@@ -1,18 +0,0 @@
1
- /**
2
- * Returns the container-slot method names for a JSX element name, or an
3
- * empty array if no container slots exist.
4
- *
5
- * @param jsxName - The JSX element name (PascalCase / GLib type name)
6
- */
7
- export declare const containerSlotsFor: (jsxName: string) => readonly string[];
8
- /**
9
- * Returns the virtual-subcomponent record for a JSX element name, or an
10
- * empty array if no virtual subcomponents exist.
11
- *
12
- * @param jsxName - The JSX element name (PascalCase / GLib type name)
13
- */
14
- export declare const virtualSubcomponentsFor: (jsxName: string) => ReadonlyArray<{
15
- readonly child: string;
16
- readonly intrinsic: string;
17
- }>;
18
- //# sourceMappingURL=compounds-meta.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compounds-meta.d.ts","sourceRoot":"","sources":["../../src/react/compounds-meta.ts"],"names":[],"mappings":"AAyBA;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,GAAI,SAAS,MAAM,KAAG,SAAS,MAAM,EAAoC,CAAC;AA2DxG;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,GAChC,SAAS,MAAM,KAChB,aAAa,CAAC;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAyC,CAAC"}
@@ -1,93 +0,0 @@
1
- /**
2
- * Container-slot mapping for compound widgets — JSX element name to the
3
- * camelCase GTK method names that append a child onto the widget.
4
- *
5
- * Each method name doubles as a `ReactNode` prop on the compound and as the
6
- * `<ContainerSlot id="…">` identifier the reconciler dispatches to. For
7
- * example `packStart` on `AdwHeaderBar` maps to `adw_header_bar_pack_start(…)`;
8
- * `<AdwHeaderBar packStart={…} />` packs the value at the start.
9
- *
10
- * Unlike setter slots ({@link BUILT_IN_SLOT_PROPS}), a container slot accepts
11
- * multiple children and appends rather than replaces.
12
- *
13
- * The list is small and stable; defining it in code keeps the lookup
14
- * fast and avoids one more GIR-introspection pass.
15
- */
16
- const CONTAINER_SLOTS = Object.freeze({
17
- AdwActionRow: ["addPrefix", "addSuffix"],
18
- AdwEntryRow: ["addPrefix", "addSuffix"],
19
- AdwExpanderRow: ["addPrefix", "addSuffix", "addRow", "addAction"],
20
- AdwHeaderBar: ["packStart", "packEnd"],
21
- AdwToolbarView: ["addTopBar", "addBottomBar"],
22
- GtkActionBar: ["packStart", "packEnd"],
23
- GtkHeaderBar: ["packStart", "packEnd"],
24
- });
25
- /**
26
- * Returns the container-slot method names for a JSX element name, or an
27
- * empty array if no container slots exist.
28
- *
29
- * @param jsxName - The JSX element name (PascalCase / GLib type name)
30
- */
31
- export const containerSlotsFor = (jsxName) => CONTAINER_SLOTS[jsxName] ?? [];
32
- /**
33
- * Virtual-child subcomponent mapping — JSX element name to the map of
34
- * subcomponent property → virtual JSX intrinsic name it routes through.
35
- *
36
- * For example `GtkConstraintLayout.Constraint` renders the
37
- * `<Constraint>` virtual intrinsic so the reconciler can attach a
38
- * GtkConstraint to the layout. Unlike container slots, virtual
39
- * subcomponents render an existing intrinsic element rather than
40
- * invoking a setter on the parent widget.
41
- */
42
- const VIRTUAL_SUBCOMPONENTS = Object.freeze({
43
- GtkShortcutController: [{ child: "Shortcut", intrinsic: "Shortcut" }],
44
- GtkConstraintLayout: [
45
- { child: "Constraint", intrinsic: "Constraint" },
46
- { child: "Guide", intrinsic: "ConstraintGuide" },
47
- { child: "Widget", intrinsic: "ConstraintLayoutWidget" },
48
- { child: "Vfl", intrinsic: "ConstraintVfl" },
49
- ],
50
- GtkStack: [{ child: "Page", intrinsic: "StackPage" }],
51
- AdwViewStack: [{ child: "Page", intrinsic: "StackPage" }],
52
- GtkNotebook: [
53
- { child: "Page", intrinsic: "NotebookPage" },
54
- { child: "PageTab", intrinsic: "NotebookPageTab" },
55
- ],
56
- GtkGrid: [{ child: "Child", intrinsic: "GridChild" }],
57
- GtkFixed: [{ child: "Child", intrinsic: "FixedChild" }],
58
- GtkOverlay: [{ child: "Child", intrinsic: "OverlayChild" }],
59
- GtkColumnView: [{ child: "Column", intrinsic: "ColumnViewColumn" }],
60
- GtkTextView: [
61
- { child: "Tag", intrinsic: "TextTag" },
62
- { child: "Anchor", intrinsic: "TextAnchor" },
63
- { child: "Paintable", intrinsic: "TextPaintable" },
64
- ],
65
- GtkSourceView: [
66
- { child: "Tag", intrinsic: "TextTag" },
67
- { child: "Anchor", intrinsic: "TextAnchor" },
68
- { child: "Paintable", intrinsic: "TextPaintable" },
69
- ],
70
- GtkMenuButton: [
71
- { child: "MenuItem", intrinsic: "MenuItem" },
72
- { child: "MenuSection", intrinsic: "MenuSection" },
73
- { child: "MenuSubmenu", intrinsic: "MenuSubmenu" },
74
- ],
75
- GtkPopoverMenu: [
76
- { child: "Item", intrinsic: "MenuItem" },
77
- { child: "Section", intrinsic: "MenuSection" },
78
- { child: "Submenu", intrinsic: "MenuSubmenu" },
79
- ],
80
- GtkPopoverMenuBar: [
81
- { child: "Item", intrinsic: "MenuItem" },
82
- { child: "Section", intrinsic: "MenuSection" },
83
- { child: "Submenu", intrinsic: "MenuSubmenu" },
84
- ],
85
- });
86
- /**
87
- * Returns the virtual-subcomponent record for a JSX element name, or an
88
- * empty array if no virtual subcomponents exist.
89
- *
90
- * @param jsxName - The JSX element name (PascalCase / GLib type name)
91
- */
92
- export const virtualSubcomponentsFor = (jsxName) => VIRTUAL_SUBCOMPONENTS[jsxName] ?? [];
93
- //# sourceMappingURL=compounds-meta.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compounds-meta.js","sourceRoot":"","sources":["../../src/react/compounds-meta.ts"],"names":[],"mappings":"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"}
@@ -1,27 +0,0 @@
1
- import type { GirRepository } from "../gir/repository.js";
2
- /**
3
- * Generates `compounds.tsx` source — one statically-compiled React
4
- * component per widget that has slot props, container-slot props, or
5
- * virtual-child sub-components.
6
- *
7
- * Each component is plain JSX: it destructures its slot and container-slot
8
- * props, forwards the rest to the host intrinsic, and wraps each non-null
9
- * slot value in a `<Slot>` (setter) or `<ContainerSlot>` (append) element.
10
- * Virtual-child sub-components (e.g. `GtkStack.Page`) are attached with
11
- * `Object.assign` under an explicit intersection type so isolated
12
- * declaration emit succeeds.
13
- *
14
- * A host intrinsic is referenced through a module-local
15
- * `${Name}Element = "Name"` const so the JSX tag does not collide with the
16
- * exported component of the same name. Widgets with no slots, container
17
- * slots, or virtual children remain bare string-constant intrinsics in
18
- * `jsx.ts`.
19
- *
20
- * @param repository - The loaded GIR repository
21
- * @param userSlotProps - User-supplied slot-prop overrides
22
- */
23
- export declare const generateCompounds: (repository: GirRepository, userSlotProps: Readonly<Record<string, readonly string[]>> | undefined) => {
24
- readonly source: string;
25
- readonly exportedNames: ReadonlySet<string>;
26
- };
27
- //# sourceMappingURL=compounds.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compounds.d.ts","sourceRoot":"","sources":["../../src/react/compounds.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAW1D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,iBAAiB,GAC1B,YAAY,aAAa,EACzB,eAAe,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,GAAG,SAAS,KACvE;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;CA2BxE,CAAC"}
@@ -1,164 +0,0 @@
1
- import { quote } from "@gtkx/utils";
2
- import { indent } from "../dsl/emit.js";
3
- import { containerSlotsFor, virtualSubcomponentsFor } from "./compounds-meta.js";
4
- import { mergeSlotProps } from "./slot-props.js";
5
- import { ancestorGlibNames, isWidgetClass, iterateClassesWithGlibName } from "./widgets.js";
6
- /**
7
- * Generates `compounds.tsx` source — one statically-compiled React
8
- * component per widget that has slot props, container-slot props, or
9
- * virtual-child sub-components.
10
- *
11
- * Each component is plain JSX: it destructures its slot and container-slot
12
- * props, forwards the rest to the host intrinsic, and wraps each non-null
13
- * slot value in a `<Slot>` (setter) or `<ContainerSlot>` (append) element.
14
- * Virtual-child sub-components (e.g. `GtkStack.Page`) are attached with
15
- * `Object.assign` under an explicit intersection type so isolated
16
- * declaration emit succeeds.
17
- *
18
- * A host intrinsic is referenced through a module-local
19
- * `${Name}Element = "Name"` const so the JSX tag does not collide with the
20
- * exported component of the same name. Widgets with no slots, container
21
- * slots, or virtual children remain bare string-constant intrinsics in
22
- * `jsx.ts`.
23
- *
24
- * @param repository - The loaded GIR repository
25
- * @param userSlotProps - User-supplied slot-prop overrides
26
- */
27
- export const generateCompounds = (repository, userSlotProps) => {
28
- const slotPropMap = mergeSlotProps(userSlotProps);
29
- const exportedNames = new Set();
30
- const exportLines = [];
31
- const accumulator = {
32
- elementNames: new Set(),
33
- compoundPropTypes: new Set(),
34
- virtualPropTypes: new Set(),
35
- };
36
- for (const { glibName, klass, namespace } of collectCompoundCandidates(repository)) {
37
- const slots = resolveInheritedSlots(slotPropMap, klass, namespace, repository);
38
- const containers = containerSlotsFor(glibName);
39
- const virtuals = virtualSubcomponentsFor(glibName);
40
- if (slots.length === 0 && containers.length === 0 && virtuals.length === 0)
41
- continue;
42
- exportLines.push(renderCompound({ glibName, slots, containers, virtuals }, accumulator));
43
- exportedNames.add(glibName);
44
- }
45
- const sections = [
46
- renderImportLines(accumulator).join("\n"),
47
- renderElementConsts(accumulator),
48
- exportLines.join("\n\n"),
49
- ];
50
- const source = `${sections.filter((section) => section.length > 0).join("\n\n")}\n`;
51
- return { source, exportedNames };
52
- };
53
- const renderCompound = (shape, accumulator) => {
54
- const { glibName, slots, containers, virtuals } = shape;
55
- const propsType = `${glibName}Props`;
56
- accumulator.compoundPropTypes.add(propsType);
57
- accumulator.elementNames.add(glibName);
58
- if (slots.length > 0)
59
- accumulator.elementNames.add("Slot");
60
- if (containers.length > 0)
61
- accumulator.elementNames.add("ContainerSlot");
62
- const component = renderComponentFunction(glibName, propsType, slots, containers);
63
- if (virtuals.length === 0) {
64
- return `export const ${glibName} = ${component};`;
65
- }
66
- const subcomponents = virtuals.map((virtual) => renderVirtualSubcomponent(virtual, accumulator));
67
- const fields = subcomponents.map((sub) => ` ${sub.field};`).join("\n");
68
- const impls = subcomponents.map((sub) => indent(`${sub.impl},`, 1)).join("\n");
69
- return [
70
- `export const ${glibName}: ((props: ${propsType}) => ReactNode) & {`,
71
- fields,
72
- `} = Object.assign(`,
73
- `${indent(component, 1)},`,
74
- " {",
75
- impls,
76
- " },",
77
- ");",
78
- ].join("\n");
79
- };
80
- const renderComponentFunction = (glibName, propsType, slots, containers) => {
81
- const host = `${glibName}Element`;
82
- if (slots.length === 0 && containers.length === 0) {
83
- return [
84
- `(props: ${propsType}): ReactNode => {`,
85
- " const { children, ...rest } = props;",
86
- ` return <${host} {...rest}>{children}</${host}>;`,
87
- "}",
88
- ].join("\n");
89
- }
90
- const destructured = [...slots, ...containers, "children"].join(", ");
91
- const slotChildren = [
92
- ...slots.map((slot) => renderSlotChild("SlotElement", slot)),
93
- ...containers.map((container) => renderSlotChild("ContainerSlotElement", container)),
94
- ];
95
- return [
96
- `(props: ${propsType}): ReactNode => {`,
97
- ` const { ${destructured}, ...rest } = props;`,
98
- " return (",
99
- ` <${host} {...rest}>`,
100
- " {children}",
101
- ...slotChildren.map((child) => ` ${child}`),
102
- ` </${host}>`,
103
- " );",
104
- "}",
105
- ].join("\n");
106
- };
107
- const renderSlotChild = (elementConst, slot) => `{${slot} != null && <${elementConst} id=${quote(slot)}>{${slot}}</${elementConst}>}`;
108
- const renderVirtualSubcomponent = (virtual, accumulator) => {
109
- const { child, intrinsic } = virtual;
110
- const propsType = `${intrinsic}Props`;
111
- accumulator.virtualPropTypes.add(propsType);
112
- accumulator.elementNames.add(intrinsic);
113
- return {
114
- field: `${child}: (props: ${propsType}) => ReactNode`,
115
- impl: `${child}: (props: ${propsType}): ReactNode => <${intrinsic}Element {...props} />`,
116
- };
117
- };
118
- const renderElementConsts = (accumulator) => [...accumulator.elementNames]
119
- .sort((a, b) => a.localeCompare(b))
120
- .map((name) => `const ${name}Element = ${quote(name)} as const;`)
121
- .join("\n");
122
- const renderImportLines = (accumulator) => {
123
- const lines = ['import type { ReactNode } from "react";'];
124
- const compoundPropTypes = [...accumulator.compoundPropTypes].sort((a, b) => a.localeCompare(b));
125
- if (compoundPropTypes.length > 0) {
126
- lines.push(`import type { ${compoundPropTypes.join(", ")} } from "./jsx.js";`);
127
- }
128
- const virtualPropTypes = [...accumulator.virtualPropTypes].sort((a, b) => a.localeCompare(b));
129
- if (virtualPropTypes.length > 0) {
130
- lines.push(`import type { ${virtualPropTypes.join(", ")} } from "@gtkx/react";`);
131
- }
132
- return lines;
133
- };
134
- const resolveInheritedSlots = (slotPropMap, klass, namespace, repository) => {
135
- const seen = new Set();
136
- const slots = [];
137
- for (const glibName of ancestorGlibNames(klass, namespace, repository)) {
138
- for (const slot of slotPropMap[glibName] ?? []) {
139
- if (seen.has(slot))
140
- continue;
141
- seen.add(slot);
142
- slots.push(slot);
143
- }
144
- }
145
- return slots;
146
- };
147
- const collectCompoundCandidates = (repository) => {
148
- const seen = new Set();
149
- const candidates = [];
150
- for (const candidate of iterateClassesWithGlibName(repository)) {
151
- const { glibName, klass, namespace } = candidate;
152
- const isWidget = isWidgetClass(klass, namespace, repository);
153
- const hasContainerSlot = containerSlotsFor(glibName).length > 0;
154
- const hasVirtualChild = virtualSubcomponentsFor(glibName).length > 0;
155
- if (!isWidget && !hasContainerSlot && !hasVirtualChild)
156
- continue;
157
- if (seen.has(glibName))
158
- continue;
159
- seen.add(glibName);
160
- candidates.push(candidate);
161
- }
162
- return candidates.sort((a, b) => a.glibName.localeCompare(b.glibName));
163
- };
164
- //# sourceMappingURL=compounds.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compounds.js","sourceRoot":"","sources":["../../src/react/compounds.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- import type { GirRepository } from "../gir/repository.js";
2
- /**
3
- * Generates `internal.ts` source — the `SIGNALS` and `CONSTRUCT_ONLY_PROPS`
4
- * tables consumed by the React metadata resolver.
5
- *
6
- * Walks every widget across every loaded namespace and emits one entry
7
- * per GLib type name. Signals are mapped from kebab-case to `onCamelCase`;
8
- * construct-only properties are surfaced as a `Set` for the runtime to
9
- * consult on mount.
10
- *
11
- * @param repository - The loaded GIR repository
12
- */
13
- export declare const generateInternal: (repository: GirRepository) => string;
14
- //# sourceMappingURL=internal.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../src/react/internal.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB,GAAI,YAAY,aAAa,KAAG,MAiB5D,CAAC"}