@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,79 +0,0 @@
1
- import { quote, toCamelCase, toIdentifier } from "@gtkx/utils";
2
- import { implementedInterfaces, isReactNodeClass, iterateClassesWithGlibName, signalHandlerName } from "./widgets.js";
3
- /**
4
- * Generates `internal.ts` source — the `SIGNALS` and `CONSTRUCT_ONLY_PROPS`
5
- * tables consumed by the React metadata resolver.
6
- *
7
- * Walks every widget across every loaded namespace and emits one entry
8
- * per GLib type name. Signals are mapped from kebab-case to `onCamelCase`;
9
- * construct-only properties are surfaced as a `Set` for the runtime to
10
- * consult on mount.
11
- *
12
- * @param repository - The loaded GIR repository
13
- */
14
- export const generateInternal = (repository) => {
15
- const widgets = collectWidgets(repository);
16
- const signalsEntries = widgets.map(({ glibName, signals }) => ` "${glibName}": ${renderSignalsObject(signals)},`);
17
- const constructOnlyEntries = widgets
18
- .filter(({ constructOnly }) => constructOnly.length > 0)
19
- .map(({ glibName, constructOnly }) => ` "${glibName}": new Set([${constructOnly.map(quote).join(",")}]),`);
20
- const namespaces = [...new Set(widgets.map((widget) => widget.namespace))].sort((a, b) => a.localeCompare(b));
21
- const preamble = namespaces.map((name) => `import "@gtkx/gi/${name.toLowerCase()}";`).join("\n");
22
- return `${[
23
- preamble,
24
- `export const SIGNALS: Readonly<Record<string, Readonly<Record<string, string>>>> = {\n${signalsEntries.join("\n")}\n};`,
25
- `export const CONSTRUCT_ONLY_PROPS: Readonly<Record<string, ReadonlySet<string>>> = {\n${constructOnlyEntries.join("\n")}\n};`,
26
- ].join("\n\n")}\n`;
27
- };
28
- const collectWidgets = (repository) => {
29
- const entries = [];
30
- for (const { glibName, klass, namespace } of iterateClassesWithGlibName(repository)) {
31
- if (!isReactNodeClass(klass, namespace, repository))
32
- continue;
33
- const sources = [klass, ...implementedInterfaces(klass, namespace, repository).map((entry) => entry.klass)];
34
- entries.push({
35
- glibName,
36
- namespace: namespace.name,
37
- signals: collectSignals(sources),
38
- constructOnly: collectConstructOnly(sources),
39
- });
40
- }
41
- return entries.sort((a, b) => a.glibName.localeCompare(b.glibName));
42
- };
43
- const collectSignals = (sources) => {
44
- const seen = new Set();
45
- const signals = [];
46
- for (const source of sources) {
47
- for (const signal of source.signals) {
48
- const handlerName = signalHandlerName(signal.name);
49
- if (seen.has(handlerName))
50
- continue;
51
- seen.add(handlerName);
52
- signals.push([handlerName, signal.name]);
53
- }
54
- }
55
- return signals;
56
- };
57
- const collectConstructOnly = (sources) => {
58
- const seen = new Set();
59
- const names = [];
60
- for (const source of sources) {
61
- for (const property of source.properties) {
62
- if (!property.constructOnly)
63
- continue;
64
- const jsName = toIdentifier(toCamelCase(property.name));
65
- if (seen.has(jsName))
66
- continue;
67
- seen.add(jsName);
68
- names.push(jsName);
69
- }
70
- }
71
- return names;
72
- };
73
- const renderSignalsObject = (entries) => {
74
- if (entries.length === 0)
75
- return "{}";
76
- const lines = entries.map(([key, value]) => ` ${quote(key)}: ${quote(value)}`);
77
- return `{\n${lines.join(",\n")}\n }`;
78
- };
79
- //# sourceMappingURL=internal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../src/react/internal.ts"],"names":[],"mappings":"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"}
@@ -1,22 +0,0 @@
1
- import type { GirRepository } from "../gir/repository.js";
2
- /**
3
- * Generates `jsx.ts` source — one `export const Name = "Name"` per JSX
4
- * intrinsic element (every GtkWidget descendant plus event controllers
5
- * and layout managers) that is NOT exported as a slot-widget compound,
6
- * plus an `export type NameProps` permissive prop bag per intrinsic and
7
- * a `WidgetSlotNames` index of every widget's allowed slot names.
8
- *
9
- * Compounds.ts owns its widgets' runtime exports. To prevent ambiguous
10
- * re-exports when consumers wildcard both `compounds.js` and `jsx.js`,
11
- * widgets covered by `excludeNames` are skipped here and the consumer
12
- * sees a single function-typed export from compounds instead of the
13
- * string-literal constant. Prop types are still emitted for every
14
- * widget — they live in the type namespace and never clash with
15
- * compounds.
16
- *
17
- * @param repository - The loaded GIR repository
18
- * @param excludeNames - Widgets already exported by `compounds.ts`
19
- * @param slotPropMap - Per-widget slot prop name overrides
20
- */
21
- export declare const generateJsx: (repository: GirRepository, excludeNames?: ReadonlySet<string>, slotPropMap?: Readonly<Record<string, readonly string[]>>) => string;
22
- //# sourceMappingURL=jsx.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jsx.d.ts","sourceRoot":"","sources":["../../src/react/jsx.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAK1D;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,WAAW,GACpB,YAAY,aAAa,EACzB,eAAc,WAAW,CAAC,MAAM,CAAa,EAC7C,cAAa,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAM,KAC9D,MAiDF,CAAC"}
package/dist/react/jsx.js DELETED
@@ -1,134 +0,0 @@
1
- import { quote } from "@gtkx/utils";
2
- import { splitQualifiedName } from "../gir/qualified-name.js";
3
- import { containerSlotsFor } from "./compounds-meta.js";
4
- import { buildWidgetPropsEntries } from "./props.js";
5
- import { isReactNodeClass, iterateClassesWithGlibName } from "./widgets.js";
6
- /**
7
- * Generates `jsx.ts` source — one `export const Name = "Name"` per JSX
8
- * intrinsic element (every GtkWidget descendant plus event controllers
9
- * and layout managers) that is NOT exported as a slot-widget compound,
10
- * plus an `export type NameProps` permissive prop bag per intrinsic and
11
- * a `WidgetSlotNames` index of every widget's allowed slot names.
12
- *
13
- * Compounds.ts owns its widgets' runtime exports. To prevent ambiguous
14
- * re-exports when consumers wildcard both `compounds.js` and `jsx.js`,
15
- * widgets covered by `excludeNames` are skipped here and the consumer
16
- * sees a single function-typed export from compounds instead of the
17
- * string-literal constant. Prop types are still emitted for every
18
- * widget — they live in the type namespace and never clash with
19
- * compounds.
20
- *
21
- * @param repository - The loaded GIR repository
22
- * @param excludeNames - Widgets already exported by `compounds.ts`
23
- * @param slotPropMap - Per-widget slot prop name overrides
24
- */
25
- export const generateJsx = (repository, excludeNames = new Set(), slotPropMap = {}) => {
26
- const widgets = collectWidgets(repository);
27
- const intrinsicWidgets = widgets.filter((entry) => !excludeNames.has(entry.glibName));
28
- const constLines = intrinsicWidgets.map((entry) => `export const ${entry.glibName} = ${quote(entry.glibName)} as const;`);
29
- const widgetByGlibName = new Map(widgets.map((entry) => [entry.glibName, entry]));
30
- const isWidgetAncestor = (candidate) => {
31
- const candidateGlib = candidate.glibTypeName ?? candidate.cType;
32
- return candidateGlib !== undefined && widgetByGlibName.has(candidateGlib);
33
- };
34
- const namespaceImports = new Map();
35
- const propBlocks = ["export interface WidgetProps {\n name?: string;\n}"];
36
- for (const entry of widgets) {
37
- const block = renderPropBlock(repository, entry, {
38
- slotPropMap,
39
- isWidgetAncestor,
40
- widgetByGlibName,
41
- namespaceImports,
42
- });
43
- propBlocks.push(block);
44
- }
45
- const importLines = renderImportLines(namespaceImports);
46
- const slotEntries = widgets.map((entry) => ` readonly ${quote(entry.glibName)}: string`);
47
- const slotNamesLine = `export type WidgetSlotNames = {\n${slotEntries.join(";\n")};\n};`;
48
- const intrinsicEntries = widgets.map((entry) => ` ${entry.glibName}: ${entry.glibName}Props;`);
49
- const jsxAugmentation = [
50
- "declare global {",
51
- " namespace React.JSX {",
52
- " interface IntrinsicElements {",
53
- ...intrinsicEntries,
54
- " }",
55
- " }",
56
- "}",
57
- ].join("\n");
58
- const body = [
59
- importLines.join("\n"),
60
- "",
61
- constLines.join("\n"),
62
- "",
63
- propBlocks.join("\n\n"),
64
- "",
65
- slotNamesLine,
66
- "",
67
- jsxAugmentation,
68
- ].join("\n");
69
- return `${body}\n`;
70
- };
71
- const renderPropBlock = (repository, entry, context) => {
72
- const slotPropNames = new Set(context.slotPropMap[entry.glibName] ?? []);
73
- const { propLines, imports } = buildWidgetPropsEntries({
74
- repository,
75
- klass: entry.klass,
76
- slotPropNames,
77
- isWidgetAncestor: context.isWidgetAncestor,
78
- });
79
- for (const [namespace, alias] of imports)
80
- context.namespaceImports.set(namespace, alias);
81
- context.namespaceImports.set(entry.namespace.name, entry.namespace.name);
82
- const widgetTypeRef = `${entry.namespace.name}.${entry.klass.name} | null`;
83
- const ownerLines = [
84
- " children?: ReactNode;",
85
- ` ref?: Ref<${widgetTypeRef}>;`,
86
- ...propLines.map((line) => ` ${line}`),
87
- ...containerSlotsFor(entry.glibName).map((method) => ` ${method}?: ReactNode | null;`),
88
- ];
89
- const parentExtends = resolveParentPropsExtension(repository, entry, context.widgetByGlibName);
90
- return `export interface ${entry.glibName}Props extends ${parentExtends} {\n${ownerLines.join("\n")}\n}`;
91
- };
92
- const renderImportLines = (namespaceImports) => {
93
- const lines = ['import type { ReactNode, Ref } from "react";'];
94
- for (const [namespaceName, alias] of namespaceImports) {
95
- if (namespaceName === "")
96
- continue;
97
- const directory = namespaceName.toLowerCase();
98
- lines.push(`import type * as ${alias} from "${ffiImportPath(directory)}";`);
99
- }
100
- return lines;
101
- };
102
- const collectWidgets = (repository) => {
103
- const entries = [];
104
- const seen = new Set();
105
- for (const candidate of iterateClassesWithGlibName(repository)) {
106
- const { glibName, klass, namespace } = candidate;
107
- if (!isReactNodeClass(klass, namespace, repository))
108
- continue;
109
- if (seen.has(glibName))
110
- continue;
111
- seen.add(glibName);
112
- entries.push(candidate);
113
- }
114
- return entries.sort((a, b) => a.glibName.localeCompare(b.glibName));
115
- };
116
- const ffiImportPath = (directory) => `@gtkx/gi/${directory}`;
117
- const resolveParentPropsExtension = (repository, entry, widgetByGlibName) => {
118
- const parent = entry.klass.parent;
119
- if (parent === undefined)
120
- return "WidgetProps";
121
- const { namespaceName, typeName } = splitQualifiedName(parent, entry.namespace.name);
122
- const resolved = repository.resolveNamed(namespaceName, typeName);
123
- if (resolved === undefined)
124
- return "WidgetProps";
125
- if (resolved.kind !== "class" && resolved.kind !== "interface")
126
- return "WidgetProps";
127
- const parentGlib = resolved.value.glibTypeName ?? resolved.value.cType;
128
- if (parentGlib === undefined)
129
- return "WidgetProps";
130
- if (!widgetByGlibName.has(parentGlib))
131
- return "WidgetProps";
132
- return `${parentGlib}Props`;
133
- };
134
- //# sourceMappingURL=jsx.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jsx.js","sourceRoot":"","sources":["../../src/react/jsx.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- import type { GirRepository } from "../gir/repository.js";
2
- /**
3
- * Produces the three React generated files (`jsx.ts`, `internal.ts`,
4
- * `compounds.tsx`) plus a summary widget count for the runner result.
5
- *
6
- * @param repository - The loaded GIR repository
7
- * @param userSlotProps - Slot-prop overrides from `gtkx.config.ts`
8
- */
9
- export declare const generateReactFiles: (repository: GirRepository, userSlotProps: Readonly<Record<string, readonly string[]>> | undefined) => {
10
- readonly files: Map<string, string>;
11
- readonly widgetCount: number;
12
- };
13
- //# sourceMappingURL=pipeline.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/react/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAM1D;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,GAC3B,YAAY,aAAa,EACzB,eAAe,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,GAAG,SAAS,KACvE;IAAE,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAYrE,CAAC"}
@@ -1,25 +0,0 @@
1
- import { generateCompounds } from "./compounds.js";
2
- import { generateInternal } from "./internal.js";
3
- import { generateJsx } from "./jsx.js";
4
- import { mergeSlotProps } from "./slot-props.js";
5
- /**
6
- * Produces the three React generated files (`jsx.ts`, `internal.ts`,
7
- * `compounds.tsx`) plus a summary widget count for the runner result.
8
- *
9
- * @param repository - The loaded GIR repository
10
- * @param userSlotProps - Slot-prop overrides from `gtkx.config.ts`
11
- */
12
- export const generateReactFiles = (repository, userSlotProps) => {
13
- const slotPropMap = mergeSlotProps(userSlotProps);
14
- const compounds = generateCompounds(repository, userSlotProps);
15
- const jsx = generateJsx(repository, compounds.exportedNames, slotPropMap);
16
- const internal = generateInternal(repository);
17
- const files = new Map([
18
- ["jsx.ts", jsx],
19
- ["internal.ts", internal],
20
- ["compounds.tsx", compounds.source],
21
- ]);
22
- const widgetCount = jsx.split("\n").filter((line) => line.startsWith("export const ")).length;
23
- return { files, widgetCount };
24
- };
25
- //# sourceMappingURL=pipeline.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/react/pipeline.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAC9B,UAAyB,EACzB,aAAsE,EACD,EAAE;IACvE,MAAM,WAAW,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,iBAAiB,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IAC/D,MAAM,GAAG,GAAG,WAAW,CAAC,UAAU,EAAE,SAAS,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAC1E,MAAM,QAAQ,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,IAAI,GAAG,CAAiB;QAClC,CAAC,QAAQ,EAAE,GAAG,CAAC;QACf,CAAC,aAAa,EAAE,QAAQ,CAAC;QACzB,CAAC,eAAe,EAAE,SAAS,CAAC,MAAM,CAAC;KACtC,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC;IAC9F,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;AAClC,CAAC,CAAC"}
@@ -1,38 +0,0 @@
1
- import type { GirClass } from "../gir/class.js";
2
- import type { GirRepository } from "../gir/repository.js";
3
- /**
4
- * Rendered prop entries for a single widget's Props interface, together
5
- * with imports the writer must request to keep type references valid.
6
- */
7
- export type WidgetPropsEntries = {
8
- /** Rendered prop lines, indented one level inside the interface body. */
9
- readonly propLines: readonly string[];
10
- /** Cross-namespace imports the writer must add to the surrounding module. */
11
- readonly imports: ReadonlyMap<string, string>;
12
- };
13
- /**
14
- * Options for {@link buildWidgetPropsEntries}.
15
- */
16
- export type WidgetPropsOptions = {
17
- /** The full GIR repository. */
18
- readonly repository: GirRepository;
19
- /** The widget class whose props bag is being built. */
20
- readonly klass: GirClass;
21
- /** Property names that should be widened to `ReactNode` slot children. */
22
- readonly slotPropNames?: ReadonlySet<string>;
23
- /** Returns `true` when `candidate` already has its own widget Props interface. */
24
- readonly isWidgetAncestor?: (candidate: GirClass) => boolean;
25
- };
26
- /**
27
- * Builds a typed prop bag for one widget intrinsic.
28
- *
29
- * Combines the widget's own properties + signal handlers with those declared
30
- * by its directly-implemented interfaces and by every non-widget ancestor up
31
- * to the first widget parent (whose props are inherited via `extends`).
32
- * Property types are written as TypeScript surface types resolved against the
33
- * loaded GIR repository.
34
- *
35
- * @param options - {@link WidgetPropsOptions}
36
- */
37
- export declare const buildWidgetPropsEntries: (options: WidgetPropsOptions) => WidgetPropsEntries;
38
- //# sourceMappingURL=props.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"props.d.ts","sourceRoot":"","sources":["../../src/react/props.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAMhD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAO1D;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC7B,yEAAyE;IACzE,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,6EAA6E;IAC7E,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC7B,+BAA+B;IAC/B,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;IACnC,uDAAuD;IACvD,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,0EAA0E;IAC1E,QAAQ,CAAC,aAAa,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7C,kFAAkF;IAClF,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,KAAK,OAAO,CAAC;CAChE,CAAC;AAYF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,uBAAuB,GAAI,SAAS,kBAAkB,KAAG,kBA0CrE,CAAC"}
@@ -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"}