@ts-for-gir/lib 3.0.0-beta.11

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 (572) hide show
  1. package/README.md +22 -0
  2. package/lib/conflict-resolver.d.ts +155 -0
  3. package/lib/conflict-resolver.js +1103 -0
  4. package/lib/conflict-resolver.js.map +1 -0
  5. package/lib/constants.d.ts +18 -0
  6. package/lib/constants.js +23 -0
  7. package/lib/constants.js.map +1 -0
  8. package/lib/dependency-manager.d.ts +34 -0
  9. package/lib/dependency-manager.js +78 -0
  10. package/lib/dependency-manager.js.map +1 -0
  11. package/lib/gir-factory.d.ts +52 -0
  12. package/lib/gir-factory.js +376 -0
  13. package/lib/gir-factory.js.map +1 -0
  14. package/lib/gir-module.d.ts +259 -0
  15. package/lib/gir-module.js +2181 -0
  16. package/lib/gir-module.js.map +1 -0
  17. package/lib/index.d.ts +14 -0
  18. package/lib/index.js +15 -0
  19. package/lib/index.js.map +1 -0
  20. package/lib/injection/callbacks/gjs/Gio-2.0.d.ts +2 -0
  21. package/lib/injection/callbacks/gjs/Gio-2.0.js +36 -0
  22. package/lib/injection/callbacks/gjs/Gio-2.0.js.map +1 -0
  23. package/lib/injection/callbacks/gjs/index.d.ts +2 -0
  24. package/lib/injection/callbacks/gjs/index.js +3 -0
  25. package/lib/injection/callbacks/gjs/index.js.map +1 -0
  26. package/lib/injection/callbacks/index.d.ts +4 -0
  27. package/lib/injection/callbacks/index.js +4 -0
  28. package/lib/injection/callbacks/index.js.map +1 -0
  29. package/lib/injection/callbacks/node-gtk/index.d.ts +2 -0
  30. package/lib/injection/callbacks/node-gtk/index.js +2 -0
  31. package/lib/injection/callbacks/node-gtk/index.js.map +1 -0
  32. package/lib/injection/classes/GLib-2-0.d.ts +2 -0
  33. package/lib/injection/classes/GLib-2-0.js +35 -0
  34. package/lib/injection/classes/GLib-2-0.js.map +1 -0
  35. package/lib/injection/classes/gjs/GLib-2.0.d.ts +2 -0
  36. package/lib/injection/classes/gjs/GLib-2.0.js +205 -0
  37. package/lib/injection/classes/gjs/GLib-2.0.js.map +1 -0
  38. package/lib/injection/classes/gjs/GObject-2.0.d.ts +2 -0
  39. package/lib/injection/classes/gjs/GObject-2.0.js +634 -0
  40. package/lib/injection/classes/gjs/GObject-2.0.js.map +1 -0
  41. package/lib/injection/classes/gjs/Gio-2.0.d.ts +5 -0
  42. package/lib/injection/classes/gjs/Gio-2.0.js +218 -0
  43. package/lib/injection/classes/gjs/Gio-2.0.js.map +1 -0
  44. package/lib/injection/classes/gjs/index.d.ts +2 -0
  45. package/lib/injection/classes/gjs/index.js +5 -0
  46. package/lib/injection/classes/gjs/index.js.map +1 -0
  47. package/lib/injection/classes/index.d.ts +4 -0
  48. package/lib/injection/classes/index.js +5 -0
  49. package/lib/injection/classes/index.js.map +1 -0
  50. package/lib/injection/classes/node-gtk/GLib-2.0.d.ts +2 -0
  51. package/lib/injection/classes/node-gtk/GLib-2.0.js +19 -0
  52. package/lib/injection/classes/node-gtk/GLib-2.0.js.map +1 -0
  53. package/lib/injection/classes/node-gtk/GObject-2.0.d.ts +2 -0
  54. package/lib/injection/classes/node-gtk/GObject-2.0.js +66 -0
  55. package/lib/injection/classes/node-gtk/GObject-2.0.js.map +1 -0
  56. package/lib/injection/classes/node-gtk/Gdk-4.0.d.ts +2 -0
  57. package/lib/injection/classes/node-gtk/Gdk-4.0.js +32 -0
  58. package/lib/injection/classes/node-gtk/Gdk-4.0.js.map +1 -0
  59. package/lib/injection/classes/node-gtk/Gio-2.0.d.ts +2 -0
  60. package/lib/injection/classes/node-gtk/Gio-2.0.js +14 -0
  61. package/lib/injection/classes/node-gtk/Gio-2.0.js.map +1 -0
  62. package/lib/injection/classes/node-gtk/Graphene-1.0.d.ts +2 -0
  63. package/lib/injection/classes/node-gtk/Graphene-1.0.js +133 -0
  64. package/lib/injection/classes/node-gtk/Graphene-1.0.js.map +1 -0
  65. package/lib/injection/classes/node-gtk/Gtk-3.0.d.ts +2 -0
  66. package/lib/injection/classes/node-gtk/Gtk-3.0.js +31 -0
  67. package/lib/injection/classes/node-gtk/Gtk-3.0.js.map +1 -0
  68. package/lib/injection/classes/node-gtk/Gtk-4.0.d.ts +2 -0
  69. package/lib/injection/classes/node-gtk/Gtk-4.0.js +52 -0
  70. package/lib/injection/classes/node-gtk/Gtk-4.0.js.map +1 -0
  71. package/lib/injection/classes/node-gtk/Pango-1.0.d.ts +2 -0
  72. package/lib/injection/classes/node-gtk/Pango-1.0.js +31 -0
  73. package/lib/injection/classes/node-gtk/Pango-1.0.js.map +1 -0
  74. package/lib/injection/classes/node-gtk/index.d.ts +2 -0
  75. package/lib/injection/classes/node-gtk/index.js +19 -0
  76. package/lib/injection/classes/node-gtk/index.js.map +1 -0
  77. package/lib/injection/index.d.ts +3 -0
  78. package/lib/injection/index.js +4 -0
  79. package/lib/injection/index.js.map +1 -0
  80. package/lib/injection/injector.d.ts +17 -0
  81. package/lib/injection/injector.js +139 -0
  82. package/lib/injection/injector.js.map +1 -0
  83. package/lib/logger.d.ts +36 -0
  84. package/lib/logger.js +137 -0
  85. package/lib/logger.js.map +1 -0
  86. package/lib/messages.d.ts +31 -0
  87. package/lib/messages.js +46 -0
  88. package/lib/messages.js.map +1 -0
  89. package/lib/symtable.d.ts +24 -0
  90. package/lib/symtable.js +63 -0
  91. package/lib/symtable.js.map +1 -0
  92. package/lib/template-processor.d.ts +74 -0
  93. package/lib/template-processor.js +165 -0
  94. package/lib/template-processor.js.map +1 -0
  95. package/lib/transformation.d.ts +156 -0
  96. package/lib/transformation.js +524 -0
  97. package/lib/transformation.js.map +1 -0
  98. package/lib/types/answer-version.d.ts +4 -0
  99. package/lib/types/answer-version.js +2 -0
  100. package/lib/types/answer-version.js.map +1 -0
  101. package/lib/types/build-type.d.ts +1 -0
  102. package/lib/types/build-type.js +2 -0
  103. package/lib/types/build-type.js.map +1 -0
  104. package/lib/types/class-parent.d.ts +13 -0
  105. package/lib/types/class-parent.js +2 -0
  106. package/lib/types/class-parent.js.map +1 -0
  107. package/lib/types/config-flags.d.ts +4 -0
  108. package/lib/types/config-flags.js +2 -0
  109. package/lib/types/config-flags.js.map +1 -0
  110. package/lib/types/conflict-child-element.d.ts +10 -0
  111. package/lib/types/conflict-child-element.js +2 -0
  112. package/lib/types/conflict-child-element.js.map +1 -0
  113. package/lib/types/conflict-grouped-element.d.ts +6 -0
  114. package/lib/types/conflict-grouped-element.js +2 -0
  115. package/lib/types/conflict-grouped-element.js.map +1 -0
  116. package/lib/types/conflict-grouped-elements.d.ts +4 -0
  117. package/lib/types/conflict-grouped-elements.js +2 -0
  118. package/lib/types/conflict-grouped-elements.js.map +1 -0
  119. package/lib/types/construct-name.d.ts +1 -0
  120. package/lib/types/construct-name.js +2 -0
  121. package/lib/types/construct-name.js.map +1 -0
  122. package/lib/types/dependency-map.d.ts +4 -0
  123. package/lib/types/dependency-map.js +2 -0
  124. package/lib/types/dependency-map.js.map +1 -0
  125. package/lib/types/dependency.d.ts +15 -0
  126. package/lib/types/dependency.js +2 -0
  127. package/lib/types/dependency.js.map +1 -0
  128. package/lib/types/environment.d.ts +1 -0
  129. package/lib/types/environment.js +2 -0
  130. package/lib/types/environment.js.map +1 -0
  131. package/lib/types/file-info.d.ts +14 -0
  132. package/lib/types/file-info.js +2 -0
  133. package/lib/types/file-info.js.map +1 -0
  134. package/lib/types/generate-config.d.ts +34 -0
  135. package/lib/types/generate-config.js +2 -0
  136. package/lib/types/generate-config.js.map +1 -0
  137. package/lib/types/gir-alias-element.d.ts +13 -0
  138. package/lib/types/gir-alias-element.js +2 -0
  139. package/lib/types/gir-alias-element.js.map +1 -0
  140. package/lib/types/gir-annotation.d.ts +9 -0
  141. package/lib/types/gir-annotation.js +2 -0
  142. package/lib/types/gir-annotation.js.map +1 -0
  143. package/lib/types/gir-any-element.d.ts +2 -0
  144. package/lib/types/gir-any-element.js +2 -0
  145. package/lib/types/gir-any-element.js.map +1 -0
  146. package/lib/types/gir-any-type.d.ts +5 -0
  147. package/lib/types/gir-any-type.js +2 -0
  148. package/lib/types/gir-any-type.js.map +1 -0
  149. package/lib/types/gir-array-type.d.ts +20 -0
  150. package/lib/types/gir-array-type.js +3 -0
  151. package/lib/types/gir-array-type.js.map +1 -0
  152. package/lib/types/gir-bitfield-element.d.ts +17 -0
  153. package/lib/types/gir-bitfield-element.js +2 -0
  154. package/lib/types/gir-bitfield-element.js.map +1 -0
  155. package/lib/types/gir-boolean.d.ts +1 -0
  156. package/lib/types/gir-boolean.js +2 -0
  157. package/lib/types/gir-boolean.js.map +1 -0
  158. package/lib/types/gir-boxed-element.d.ts +15 -0
  159. package/lib/types/gir-boxed-element.js +2 -0
  160. package/lib/types/gir-boxed-element.js.map +1 -0
  161. package/lib/types/gir-c-include.d.ts +7 -0
  162. package/lib/types/gir-c-include.js +2 -0
  163. package/lib/types/gir-c-include.js.map +1 -0
  164. package/lib/types/gir-callable-attrs.d.ts +15 -0
  165. package/lib/types/gir-callable-attrs.js +3 -0
  166. package/lib/types/gir-callable-attrs.js.map +1 -0
  167. package/lib/types/gir-callable-param-element.d.ts +30 -0
  168. package/lib/types/gir-callable-param-element.js +2 -0
  169. package/lib/types/gir-callable-param-element.js.map +1 -0
  170. package/lib/types/gir-callable-param.d.ts +7 -0
  171. package/lib/types/gir-callable-param.js +2 -0
  172. package/lib/types/gir-callable-param.js.map +1 -0
  173. package/lib/types/gir-callable-return.d.ts +22 -0
  174. package/lib/types/gir-callable-return.js +2 -0
  175. package/lib/types/gir-callable-return.js.map +1 -0
  176. package/lib/types/gir-callback-element.d.ts +15 -0
  177. package/lib/types/gir-callback-element.js +2 -0
  178. package/lib/types/gir-callback-element.js.map +1 -0
  179. package/lib/types/gir-class-element.d.ts +48 -0
  180. package/lib/types/gir-class-element.js +2 -0
  181. package/lib/types/gir-class-element.js.map +1 -0
  182. package/lib/types/gir-constant-element.d.ts +15 -0
  183. package/lib/types/gir-constant-element.js +2 -0
  184. package/lib/types/gir-constant-element.js.map +1 -0
  185. package/lib/types/gir-constructor-element.d.ts +8 -0
  186. package/lib/types/gir-constructor-element.js +2 -0
  187. package/lib/types/gir-constructor-element.js.map +1 -0
  188. package/lib/types/gir-direction.d.ts +5 -0
  189. package/lib/types/gir-direction.js +7 -0
  190. package/lib/types/gir-direction.js.map +1 -0
  191. package/lib/types/gir-doc-element.d.ts +68 -0
  192. package/lib/types/gir-doc-element.js +2 -0
  193. package/lib/types/gir-doc-element.js.map +1 -0
  194. package/lib/types/gir-enum-element.d.ts +19 -0
  195. package/lib/types/gir-enum-element.js +2 -0
  196. package/lib/types/gir-enum-element.js.map +1 -0
  197. package/lib/types/gir-field-element.d.ts +18 -0
  198. package/lib/types/gir-field-element.js +2 -0
  199. package/lib/types/gir-field-element.js.map +1 -0
  200. package/lib/types/gir-function-element.d.ts +8 -0
  201. package/lib/types/gir-function-element.js +2 -0
  202. package/lib/types/gir-function-element.js.map +1 -0
  203. package/lib/types/gir-implements.d.ts +8 -0
  204. package/lib/types/gir-implements.js +2 -0
  205. package/lib/types/gir-implements.js.map +1 -0
  206. package/lib/types/gir-include.d.ts +9 -0
  207. package/lib/types/gir-include.js +2 -0
  208. package/lib/types/gir-include.js.map +1 -0
  209. package/lib/types/gir-info-attrs.d.ts +13 -0
  210. package/lib/types/gir-info-attrs.js +2 -0
  211. package/lib/types/gir-info-attrs.js.map +1 -0
  212. package/lib/types/gir-info-elements.d.ts +5 -0
  213. package/lib/types/gir-info-elements.js +2 -0
  214. package/lib/types/gir-info-elements.js.map +1 -0
  215. package/lib/types/gir-instance-parameter.d.ts +21 -0
  216. package/lib/types/gir-instance-parameter.js +2 -0
  217. package/lib/types/gir-instance-parameter.js.map +1 -0
  218. package/lib/types/gir-interface-element.d.ts +31 -0
  219. package/lib/types/gir-interface-element.js +2 -0
  220. package/lib/types/gir-interface-element.js.map +1 -0
  221. package/lib/types/gir-member-element.d.ts +17 -0
  222. package/lib/types/gir-member-element.js +2 -0
  223. package/lib/types/gir-member-element.js.map +1 -0
  224. package/lib/types/gir-method-element.d.ts +13 -0
  225. package/lib/types/gir-method-element.js +2 -0
  226. package/lib/types/gir-method-element.js.map +1 -0
  227. package/lib/types/gir-module-resolved-by.d.ts +10 -0
  228. package/lib/types/gir-module-resolved-by.js +2 -0
  229. package/lib/types/gir-module-resolved-by.js.map +1 -0
  230. package/lib/types/gir-modules-grouped-map.d.ts +4 -0
  231. package/lib/types/gir-modules-grouped-map.js +2 -0
  232. package/lib/types/gir-modules-grouped-map.js.map +1 -0
  233. package/lib/types/gir-modules-grouped.d.ts +12 -0
  234. package/lib/types/gir-modules-grouped.js +2 -0
  235. package/lib/types/gir-modules-grouped.js.map +1 -0
  236. package/lib/types/gir-namespace.d.ts +30 -0
  237. package/lib/types/gir-namespace.js +2 -0
  238. package/lib/types/gir-namespace.js.map +1 -0
  239. package/lib/types/gir-package.d.ts +7 -0
  240. package/lib/types/gir-package.js +2 -0
  241. package/lib/types/gir-package.js.map +1 -0
  242. package/lib/types/gir-prerequisite.d.ts +5 -0
  243. package/lib/types/gir-prerequisite.js +2 -0
  244. package/lib/types/gir-prerequisite.js.map +1 -0
  245. package/lib/types/gir-property-element.d.ts +21 -0
  246. package/lib/types/gir-property-element.js +2 -0
  247. package/lib/types/gir-property-element.js.map +1 -0
  248. package/lib/types/gir-record-element.d.ts +30 -0
  249. package/lib/types/gir-record-element.js +2 -0
  250. package/lib/types/gir-record-element.js.map +1 -0
  251. package/lib/types/gir-repository.d.ts +16 -0
  252. package/lib/types/gir-repository.js +2 -0
  253. package/lib/types/gir-repository.js.map +1 -0
  254. package/lib/types/gir-signal.d.ts +25 -0
  255. package/lib/types/gir-signal.js +2 -0
  256. package/lib/types/gir-signal.js.map +1 -0
  257. package/lib/types/gir-transfer-ownership-type.d.ts +5 -0
  258. package/lib/types/gir-transfer-ownership-type.js +7 -0
  259. package/lib/types/gir-transfer-ownership-type.js.map +1 -0
  260. package/lib/types/gir-transfer-ownership.d.ts +5 -0
  261. package/lib/types/gir-transfer-ownership.js +2 -0
  262. package/lib/types/gir-transfer-ownership.js.map +1 -0
  263. package/lib/types/gir-type.d.ts +14 -0
  264. package/lib/types/gir-type.js +2 -0
  265. package/lib/types/gir-type.js.map +1 -0
  266. package/lib/types/gir-union-element.d.ts +22 -0
  267. package/lib/types/gir-union-element.js +2 -0
  268. package/lib/types/gir-union-element.js.map +1 -0
  269. package/lib/types/gir-unparsed-number.d.ts +2 -0
  270. package/lib/types/gir-unparsed-number.js +2 -0
  271. package/lib/types/gir-unparsed-number.js.map +1 -0
  272. package/lib/types/gir-var-args.d.ts +5 -0
  273. package/lib/types/gir-var-args.js +2 -0
  274. package/lib/types/gir-var-args.js.map +1 -0
  275. package/lib/types/gir-virtual-method.d.ts +10 -0
  276. package/lib/types/gir-virtual-method.js +2 -0
  277. package/lib/types/gir-virtual-method.js.map +1 -0
  278. package/lib/types/index.d.ts +119 -0
  279. package/lib/types/index.js +120 -0
  280. package/lib/types/index.js.map +1 -0
  281. package/lib/types/inheritance-table.d.ts +3 -0
  282. package/lib/types/inheritance-table.js +2 -0
  283. package/lib/types/inheritance-table.js.map +1 -0
  284. package/lib/types/injection-callback.d.ts +16 -0
  285. package/lib/types/injection-callback.js +2 -0
  286. package/lib/types/injection-callback.js.map +1 -0
  287. package/lib/types/injection-class.d.ts +25 -0
  288. package/lib/types/injection-class.js +2 -0
  289. package/lib/types/injection-class.js.map +1 -0
  290. package/lib/types/injection-function.d.ts +7 -0
  291. package/lib/types/injection-function.js +2 -0
  292. package/lib/types/injection-function.js.map +1 -0
  293. package/lib/types/injection-generic-parameter.d.ts +2 -0
  294. package/lib/types/injection-generic-parameter.js +2 -0
  295. package/lib/types/injection-generic-parameter.js.map +1 -0
  296. package/lib/types/injection-instance-parameter.d.ts +2 -0
  297. package/lib/types/injection-instance-parameter.js +2 -0
  298. package/lib/types/injection-instance-parameter.js.map +1 -0
  299. package/lib/types/injection-parameter.d.ts +8 -0
  300. package/lib/types/injection-parameter.js +2 -0
  301. package/lib/types/injection-parameter.js.map +1 -0
  302. package/lib/types/injection-property.d.ts +4 -0
  303. package/lib/types/injection-property.js +2 -0
  304. package/lib/types/injection-property.js.map +1 -0
  305. package/lib/types/injection-type.d.ts +2 -0
  306. package/lib/types/injection-type.js +2 -0
  307. package/lib/types/injection-type.js.map +1 -0
  308. package/lib/types/injection.d.ts +5 -0
  309. package/lib/types/injection.js +2 -0
  310. package/lib/types/injection.js.map +1 -0
  311. package/lib/types/local-name-check.d.ts +4 -0
  312. package/lib/types/local-name-check.js +2 -0
  313. package/lib/types/local-name-check.js.map +1 -0
  314. package/lib/types/local-name-type.d.ts +1 -0
  315. package/lib/types/local-name-type.js +2 -0
  316. package/lib/types/local-name-type.js.map +1 -0
  317. package/lib/types/local-name.d.ts +7 -0
  318. package/lib/types/local-name.js +2 -0
  319. package/lib/types/local-name.js.map +1 -0
  320. package/lib/types/local-names.d.ts +4 -0
  321. package/lib/types/local-names.js +2 -0
  322. package/lib/types/local-names.js.map +1 -0
  323. package/lib/types/module-type.d.ts +1 -0
  324. package/lib/types/module-type.js +2 -0
  325. package/lib/types/module-type.js.map +1 -0
  326. package/lib/types/parsed-gir.d.ts +4 -0
  327. package/lib/types/parsed-gir.js +2 -0
  328. package/lib/types/parsed-gir.js.map +1 -0
  329. package/lib/types/part-of-class.d.ts +7 -0
  330. package/lib/types/part-of-class.js +2 -0
  331. package/lib/types/part-of-class.js.map +1 -0
  332. package/lib/types/part-of-module.d.ts +6 -0
  333. package/lib/types/part-of-module.js +2 -0
  334. package/lib/types/part-of-module.js.map +1 -0
  335. package/lib/types/promisify-func.d.ts +7 -0
  336. package/lib/types/promisify-func.js +2 -0
  337. package/lib/types/promisify-func.js.map +1 -0
  338. package/lib/types/resolve-type.d.ts +4 -0
  339. package/lib/types/resolve-type.js +6 -0
  340. package/lib/types/resolve-type.js.map +1 -0
  341. package/lib/types/sym-table-items.d.ts +4 -0
  342. package/lib/types/sym-table-items.js +2 -0
  343. package/lib/types/sym-table-items.js.map +1 -0
  344. package/lib/types/transformation-case.d.ts +1 -0
  345. package/lib/types/transformation-case.js +2 -0
  346. package/lib/types/transformation-case.js.map +1 -0
  347. package/lib/types/transformations.d.ts +11 -0
  348. package/lib/types/transformations.js +2 -0
  349. package/lib/types/transformations.js.map +1 -0
  350. package/lib/types/ts-alias.d.ts +10 -0
  351. package/lib/types/ts-alias.js +2 -0
  352. package/lib/types/ts-alias.js.map +1 -0
  353. package/lib/types/ts-callback-interface.d.ts +10 -0
  354. package/lib/types/ts-callback-interface.js +2 -0
  355. package/lib/types/ts-callback-interface.js.map +1 -0
  356. package/lib/types/ts-callback.d.ts +17 -0
  357. package/lib/types/ts-callback.js +2 -0
  358. package/lib/types/ts-callback.js.map +1 -0
  359. package/lib/types/ts-class.d.ts +85 -0
  360. package/lib/types/ts-class.js +2 -0
  361. package/lib/types/ts-class.js.map +1 -0
  362. package/lib/types/ts-doc-tag.d.ts +21 -0
  363. package/lib/types/ts-doc-tag.js +2 -0
  364. package/lib/types/ts-doc-tag.js.map +1 -0
  365. package/lib/types/ts-doc.d.ts +16 -0
  366. package/lib/types/ts-doc.js +2 -0
  367. package/lib/types/ts-doc.js.map +1 -0
  368. package/lib/types/ts-enum.d.ts +12 -0
  369. package/lib/types/ts-enum.js +2 -0
  370. package/lib/types/ts-enum.js.map +1 -0
  371. package/lib/types/ts-function.d.ts +55 -0
  372. package/lib/types/ts-function.js +2 -0
  373. package/lib/types/ts-function.js.map +1 -0
  374. package/lib/types/ts-generic-parameter.d.ts +8 -0
  375. package/lib/types/ts-generic-parameter.js +2 -0
  376. package/lib/types/ts-generic-parameter.js.map +1 -0
  377. package/lib/types/ts-instance-parameter.d.ts +4 -0
  378. package/lib/types/ts-instance-parameter.js +2 -0
  379. package/lib/types/ts-instance-parameter.js.map +1 -0
  380. package/lib/types/ts-member.d.ts +10 -0
  381. package/lib/types/ts-member.js +2 -0
  382. package/lib/types/ts-member.js.map +1 -0
  383. package/lib/types/ts-method.d.ts +5 -0
  384. package/lib/types/ts-method.js +2 -0
  385. package/lib/types/ts-method.js.map +1 -0
  386. package/lib/types/ts-parameter.d.ts +15 -0
  387. package/lib/types/ts-parameter.js +2 -0
  388. package/lib/types/ts-parameter.js.map +1 -0
  389. package/lib/types/ts-property.d.ts +17 -0
  390. package/lib/types/ts-property.js +2 -0
  391. package/lib/types/ts-property.js.map +1 -0
  392. package/lib/types/ts-signal.d.ts +17 -0
  393. package/lib/types/ts-signal.js +2 -0
  394. package/lib/types/ts-signal.js.map +1 -0
  395. package/lib/types/ts-type-name.d.ts +1 -0
  396. package/lib/types/ts-type-name.js +2 -0
  397. package/lib/types/ts-type-name.js.map +1 -0
  398. package/lib/types/ts-type-separator.d.ts +1 -0
  399. package/lib/types/ts-type-separator.js +2 -0
  400. package/lib/types/ts-type-separator.js.map +1 -0
  401. package/lib/types/ts-type.d.ts +26 -0
  402. package/lib/types/ts-type.js +2 -0
  403. package/lib/types/ts-type.js.map +1 -0
  404. package/lib/types/ts-var.d.ts +17 -0
  405. package/lib/types/ts-var.js +2 -0
  406. package/lib/types/ts-var.js.map +1 -0
  407. package/lib/types/type-gir-alias.d.ts +2 -0
  408. package/lib/types/type-gir-alias.js +2 -0
  409. package/lib/types/type-gir-alias.js.map +1 -0
  410. package/lib/types/type-gir-class.d.ts +2 -0
  411. package/lib/types/type-gir-class.js +2 -0
  412. package/lib/types/type-gir-class.js.map +1 -0
  413. package/lib/types/type-gir-element.d.ts +3 -0
  414. package/lib/types/type-gir-element.js +2 -0
  415. package/lib/types/type-gir-element.js.map +1 -0
  416. package/lib/types/type-gir-enumeration-member.d.ts +2 -0
  417. package/lib/types/type-gir-enumeration-member.js +2 -0
  418. package/lib/types/type-gir-enumeration-member.js.map +1 -0
  419. package/lib/types/type-gir-enumeration.d.ts +2 -0
  420. package/lib/types/type-gir-enumeration.js +2 -0
  421. package/lib/types/type-gir-enumeration.js.map +1 -0
  422. package/lib/types/type-gir-function.d.ts +1 -0
  423. package/lib/types/type-gir-function.js +2 -0
  424. package/lib/types/type-gir-function.js.map +1 -0
  425. package/lib/types/type-gir-interface.d.ts +2 -0
  426. package/lib/types/type-gir-interface.js +2 -0
  427. package/lib/types/type-gir-interface.js.map +1 -0
  428. package/lib/types/type-gir-method.d.ts +2 -0
  429. package/lib/types/type-gir-method.js +2 -0
  430. package/lib/types/type-gir-method.js.map +1 -0
  431. package/lib/types/type-gir-parameter.d.ts +1 -0
  432. package/lib/types/type-gir-parameter.js +2 -0
  433. package/lib/types/type-gir-parameter.js.map +1 -0
  434. package/lib/types/type-gir-property.d.ts +2 -0
  435. package/lib/types/type-gir-property.js +2 -0
  436. package/lib/types/type-gir-property.js.map +1 -0
  437. package/lib/types/type-gir-variable.d.ts +1 -0
  438. package/lib/types/type-gir-variable.js +2 -0
  439. package/lib/types/type-gir-variable.js.map +1 -0
  440. package/lib/types/type-ts-element.d.ts +3 -0
  441. package/lib/types/type-ts-element.js +2 -0
  442. package/lib/types/type-ts-element.js.map +1 -0
  443. package/lib/types/type-ts-enumeration-member.d.ts +2 -0
  444. package/lib/types/type-ts-enumeration-member.js +2 -0
  445. package/lib/types/type-ts-enumeration-member.js.map +1 -0
  446. package/lib/types/type-ts-function.d.ts +1 -0
  447. package/lib/types/type-ts-function.js +2 -0
  448. package/lib/types/type-ts-function.js.map +1 -0
  449. package/lib/types/type-ts-property.d.ts +1 -0
  450. package/lib/types/type-ts-property.js +2 -0
  451. package/lib/types/type-ts-property.js.map +1 -0
  452. package/lib/types/user-config-load-result.d.ts +6 -0
  453. package/lib/types/user-config-load-result.js +2 -0
  454. package/lib/types/user-config-load-result.js.map +1 -0
  455. package/lib/types/user-config.d.ts +42 -0
  456. package/lib/types/user-config.js +2 -0
  457. package/lib/types/user-config.js.map +1 -0
  458. package/lib/utils.d.ts +262 -0
  459. package/lib/utils.js +366 -0
  460. package/lib/utils.js.map +1 -0
  461. package/package.json +68 -0
  462. package/templates/Cogl-2.0.d.ts +0 -0
  463. package/templates/Gjs/GObject-2.0.d.ts +238 -0
  464. package/templates/Gjs/Gio-2.0.d.ts +101 -0
  465. package/templates/Gjs/Gjs.d.ts +204 -0
  466. package/templates/Gjs/Gjs.js +21 -0
  467. package/templates/Gjs/GnomeShell.d.ts +154 -0
  468. package/templates/Gjs/GnomeShell.js +10 -0
  469. package/templates/Gjs/index.d.ts +594 -0
  470. package/templates/Gjs/index.js +4 -0
  471. package/templates/Gjs/misc/dbusUtils.d.ts +15 -0
  472. package/templates/Gjs/misc/dbusUtils.js +6 -0
  473. package/templates/Gjs/misc/extensionUtils.d.ts +99 -0
  474. package/templates/Gjs/misc/extensionUtils.js +6 -0
  475. package/templates/Gjs/misc/fileUtils.d.ts +51 -0
  476. package/templates/Gjs/misc/fileUtils.js +6 -0
  477. package/templates/Gjs/misc/gnomeSession.d.ts +74 -0
  478. package/templates/Gjs/misc/gnomeSession.js +6 -0
  479. package/templates/Gjs/misc/parentalControlsManager.d.ts +42 -0
  480. package/templates/Gjs/misc/parentalControlsManager.js +6 -0
  481. package/templates/Gjs/misc/signals.d.ts +15 -0
  482. package/templates/Gjs/misc/signals.js +6 -0
  483. package/templates/Gjs/module.d.ts +6 -0
  484. package/templates/Gjs/module.js +16 -0
  485. package/templates/Gjs/tsconfig.alias.json +10 -0
  486. package/templates/Gjs/ui/accessDialog.d.ts +19 -0
  487. package/templates/Gjs/ui/accessDialog.js +6 -0
  488. package/templates/Gjs/ui/altTab.d.ts +124 -0
  489. package/templates/Gjs/ui/altTab.js +6 -0
  490. package/templates/Gjs/ui/animation.d.ts +58 -0
  491. package/templates/Gjs/ui/animation.js +6 -0
  492. package/templates/Gjs/ui/appDisplay.d.ts +204 -0
  493. package/templates/Gjs/ui/appDisplay.js +6 -0
  494. package/templates/Gjs/ui/appFavorites.d.ts +34 -0
  495. package/templates/Gjs/ui/appFavorites.js +6 -0
  496. package/templates/Gjs/ui/appMenu.d.ts +74 -0
  497. package/templates/Gjs/ui/appMenu.js +6 -0
  498. package/templates/Gjs/ui/audioDeviceSelection.d.ts +51 -0
  499. package/templates/Gjs/ui/audioDeviceSelection.js +6 -0
  500. package/templates/Gjs/ui/background.d.ts +255 -0
  501. package/templates/Gjs/ui/background.js +5 -0
  502. package/templates/Gjs/ui/backgroundMenu.d.ts +19 -0
  503. package/templates/Gjs/ui/backgroundMenu.js +5 -0
  504. package/templates/Gjs/ui/barLevel.d.ts +42 -0
  505. package/templates/Gjs/ui/barLevel.js +5 -0
  506. package/templates/Gjs/ui/boxpointer.d.ts +103 -0
  507. package/templates/Gjs/ui/boxpointer.js +5 -0
  508. package/templates/Gjs/ui/calendar.d.ts +261 -0
  509. package/templates/Gjs/ui/calendar.js +5 -0
  510. package/templates/Gjs/ui/checkBox.d.ts +22 -0
  511. package/templates/Gjs/ui/checkBox.js +5 -0
  512. package/templates/Gjs/ui/closeDialog.d.ts +40 -0
  513. package/templates/Gjs/ui/closeDialog.js +5 -0
  514. package/templates/Gjs/ui/components/__init__.d.ts +9 -0
  515. package/templates/Gjs/ui/components/__init__.js +6 -0
  516. package/templates/Gjs/ui/components/automountManager.d.ts +8 -0
  517. package/templates/Gjs/ui/components/automountManager.js +6 -0
  518. package/templates/Gjs/ui/components/autorunManager.d.ts +8 -0
  519. package/templates/Gjs/ui/components/autorunManager.js +6 -0
  520. package/templates/Gjs/ui/components/index.d.ts +6 -0
  521. package/templates/Gjs/ui/components/index.js +6 -0
  522. package/templates/Gjs/ui/components/keyring.d.ts +19 -0
  523. package/templates/Gjs/ui/components/keyring.js +6 -0
  524. package/templates/Gjs/ui/components/networkAgent.d.ts +10 -0
  525. package/templates/Gjs/ui/components/networkAgent.js +6 -0
  526. package/templates/Gjs/ui/components/polkitAgent.d.ts +19 -0
  527. package/templates/Gjs/ui/components/polkitAgent.js +6 -0
  528. package/templates/Gjs/ui/components/telepathyClient.d.ts +10 -0
  529. package/templates/Gjs/ui/components/telepathyClient.js +6 -0
  530. package/templates/Gjs/ui/dialog.d.ts +78 -0
  531. package/templates/Gjs/ui/dialog.js +6 -0
  532. package/templates/Gjs/ui/dnd.d.ts +127 -0
  533. package/templates/Gjs/ui/dnd.js +6 -0
  534. package/templates/Gjs/ui/iconGrid.d.ts +172 -0
  535. package/templates/Gjs/ui/iconGrid.js +6 -0
  536. package/templates/Gjs/ui/layout.d.ts +311 -0
  537. package/templates/Gjs/ui/layout.js +6 -0
  538. package/templates/Gjs/ui/main.d.ts +215 -0
  539. package/templates/Gjs/ui/main.js +6 -0
  540. package/templates/Gjs/ui/messageList.d.ts +113 -0
  541. package/templates/Gjs/ui/messageList.js +6 -0
  542. package/templates/Gjs/ui/messageTray.d.ts +423 -0
  543. package/templates/Gjs/ui/messageTray.js +6 -0
  544. package/templates/Gjs/ui/modalDialog.d.ts +96 -0
  545. package/templates/Gjs/ui/modalDialog.js +6 -0
  546. package/templates/Gjs/ui/mpris.d.ts +78 -0
  547. package/templates/Gjs/ui/mpris.js +6 -0
  548. package/templates/Gjs/ui/notificationDaemon.d.ts +5 -0
  549. package/templates/Gjs/ui/notificationDaemon.js +6 -0
  550. package/templates/Gjs/ui/panel.d.ts +65 -0
  551. package/templates/Gjs/ui/panel.js +6 -0
  552. package/templates/Gjs/ui/panelMenu.d.ts +51 -0
  553. package/templates/Gjs/ui/panelMenu.js +6 -0
  554. package/templates/Gjs/ui/popupMenu.d.ts +228 -0
  555. package/templates/Gjs/ui/popupMenu.js +6 -0
  556. package/templates/Gjs/ui/ripples.d.ts +44 -0
  557. package/templates/Gjs/ui/ripples.js +6 -0
  558. package/templates/Gjs/ui/search.d.ts +158 -0
  559. package/templates/Gjs/ui/search.js +6 -0
  560. package/templates/Gjs/ui/switcherPopup.d.ts +107 -0
  561. package/templates/Gjs/ui/switcherPopup.js +6 -0
  562. package/templates/Gjs/ui/userWidget.d.ts +13 -0
  563. package/templates/Gjs/ui/userWidget.js +6 -0
  564. package/templates/Granite-1.0.d.ts +7 -0
  565. package/templates/Granite-7.0.d.ts +7 -0
  566. package/templates/GstBase-0.10.d.ts +5 -0
  567. package/templates/RygelServer-2.6.d.ts +3 -0
  568. package/templates/node-gtk/GObject-2.0.d.ts +57 -0
  569. package/templates/node-gtk/index.d.ts +40 -0
  570. package/templates/node-gtk/index.js +9 -0
  571. package/templates/node-gtk/module.d.ts +6 -0
  572. package/templates/node-gtk/module.js +17 -0
@@ -0,0 +1,376 @@
1
+ import { GENERIC_NAMES } from './constants.js';
2
+ /**
3
+ * Creates new gir and ts objects
4
+ */
5
+ export class GirFactory {
6
+ newGenerics(generics) {
7
+ const tsGenerics = [];
8
+ for (let i = 0; i < generics.length; i++) {
9
+ const generic = generics[i];
10
+ const tsGeneric = {
11
+ name: generic.name || GENERIC_NAMES[i],
12
+ ...generic,
13
+ };
14
+ tsGenerics.push(tsGeneric);
15
+ }
16
+ return tsGenerics;
17
+ }
18
+ girTypeNameToTsTypeName(girTypeName, isStatic) {
19
+ switch (girTypeName) {
20
+ case 'alias':
21
+ return 'type';
22
+ case 'enum':
23
+ case 'bitfield':
24
+ return 'enum';
25
+ case 'enum-member':
26
+ case 'bitfield-member':
27
+ return 'enum-member';
28
+ case 'callback':
29
+ return 'interface';
30
+ case 'class':
31
+ case 'interface':
32
+ case 'union':
33
+ case 'record':
34
+ return 'class';
35
+ case 'constant':
36
+ return 'constant';
37
+ case 'constructor':
38
+ return 'constructor';
39
+ case 'method':
40
+ case 'virtual':
41
+ return 'method';
42
+ case 'signal':
43
+ return 'event-methods';
44
+ case 'static-function':
45
+ return 'static-function';
46
+ case 'function':
47
+ if (typeof isStatic === 'undefined') {
48
+ throw new Error('You must specify if the function is static or not if you want to convert the type of a function!');
49
+ }
50
+ if (isStatic) {
51
+ return 'static-function';
52
+ }
53
+ return 'function';
54
+ case 'field':
55
+ case 'property':
56
+ if (typeof isStatic === 'undefined') {
57
+ throw new Error('You must specify if the property is static or not if you want to convert the type of a function!');
58
+ }
59
+ if (isStatic) {
60
+ return 'static-property';
61
+ }
62
+ return 'property';
63
+ }
64
+ throw new Error(`Unknown gir type: "${String(girTypeName)}"!`);
65
+ }
66
+ newGirFunctions(injectFunctions, parent, overrideToAll = {}) {
67
+ const girFunctionElements = [];
68
+ for (let injectFunction of injectFunctions) {
69
+ injectFunction = { ...injectFunction, ...overrideToAll };
70
+ girFunctionElements.push(this.newGirFunction(injectFunction, parent));
71
+ }
72
+ return girFunctionElements;
73
+ }
74
+ newGirFunction(tsData, parent) {
75
+ const _tsData = this.newTsFunction(tsData, parent);
76
+ return {
77
+ $: this.newGirAttr(_tsData.name),
78
+ ...this.newGirDocElement(),
79
+ _tsData,
80
+ };
81
+ }
82
+ newGirCallableParamElement(tsData, parent) {
83
+ return {
84
+ $: this.newGirAttr(),
85
+ ...this.newGirDocElement(),
86
+ _tsData: this.newTsParameter(tsData, parent),
87
+ };
88
+ }
89
+ newGirCallableParamElements(injectionParams = [], parent) {
90
+ const result = [];
91
+ for (const injectionParam of injectionParams) {
92
+ result.push(this.newGirCallableParamElement(injectionParam, parent));
93
+ }
94
+ return result;
95
+ }
96
+ newGirInstanceParameter(data) {
97
+ const tsData = data._tsData
98
+ ? data._tsData
99
+ : data;
100
+ return {
101
+ $: this.newGirAttr(),
102
+ ...this.newGirDocElement(),
103
+ _tsData: tsData,
104
+ };
105
+ }
106
+ newGirInstanceParameters(injectionInstanceParams = []) {
107
+ const result = [];
108
+ for (const injectionInstanceParam of injectionInstanceParams) {
109
+ result.push(this.newGirInstanceParameter(injectionInstanceParam));
110
+ }
111
+ return result;
112
+ }
113
+ newGirProperty(tsData) {
114
+ const _tsData = this.newTsProperty(tsData);
115
+ if (!_tsData.name)
116
+ throw new Error('The name property is required!');
117
+ return {
118
+ $: {
119
+ ...this.newGirAttr(_tsData.name),
120
+ },
121
+ annotation: [],
122
+ ...this.newGirDocElement(),
123
+ _tsData,
124
+ };
125
+ }
126
+ newGirProperties(InjectionProps, overrideToAll = {}) {
127
+ const result = [];
128
+ for (const InjectionProp of InjectionProps) {
129
+ result.push(this.newGirProperty({ ...InjectionProp, ...overrideToAll }));
130
+ }
131
+ return result;
132
+ }
133
+ newTsFunction(tsData, parent) {
134
+ const tsFunc = {
135
+ ...tsData,
136
+ returnTypes: this.newTsTypes(tsData.returnTypes || []),
137
+ isArrowType: tsData.isArrowType || false,
138
+ isStatic: tsData.isStatic || false,
139
+ isGlobal: tsData.isGlobal || false,
140
+ isVirtual: tsData.isVirtual || false,
141
+ isInjected: tsData.isInjected || false,
142
+ retTypeIsVoid: tsData.returnTypes?.length === 1 && tsData.returnTypes[0]?.type === 'void',
143
+ generics: this.newGenerics(tsData.generics || []),
144
+ overloads: tsData.overloads || [],
145
+ doc: this.newTsDoc(tsData.doc),
146
+ tsTypeName: this.girTypeNameToTsTypeName(tsData.girTypeName, tsData.isStatic || false),
147
+ inParams: [],
148
+ outParams: [],
149
+ instanceParameters: [],
150
+ parent,
151
+ };
152
+ tsFunc.inParams.push(...this.newGirCallableParamElements(tsData.inParams, tsFunc));
153
+ tsFunc.outParams.push(...this.newGirCallableParamElements(tsData.outParams, tsFunc));
154
+ tsFunc.instanceParameters.push(...this.newGirInstanceParameters(tsData.instanceParameters));
155
+ return tsFunc;
156
+ }
157
+ newTsProperty(tsData) {
158
+ tsData.type ||= [this.newTsType()];
159
+ const tsProp = {
160
+ ...tsData,
161
+ readonly: tsData.readonly || false,
162
+ isStatic: tsData.isStatic || false,
163
+ isInjected: tsData.isInjected || false,
164
+ type: this.newTsTypes(tsData.type || []),
165
+ doc: this.newTsDoc(tsData.doc),
166
+ tsTypeName: this.girTypeNameToTsTypeName(tsData.girTypeName, tsData.isStatic || false),
167
+ };
168
+ return tsProp;
169
+ }
170
+ newTsType(tsData = {}) {
171
+ tsData.callbacks ||= [];
172
+ tsData.generics ||= [];
173
+ tsData.nullable ||= false;
174
+ tsData.optional ||= false;
175
+ const newTsData = {
176
+ type: tsData.type || 'void',
177
+ callbacks: tsData.callbacks || [],
178
+ generics: tsData.generics || [],
179
+ nullable: tsData.nullable || false,
180
+ optional: tsData.optional || false,
181
+ isArray: tsData.isArray || false,
182
+ isCallback: tsData.isCallback || false,
183
+ isFunction: tsData.isFunction || false,
184
+ leftSeparator: tsData.leftSeparator || '|',
185
+ };
186
+ return newTsData;
187
+ }
188
+ newTsTypes(tsDataArr) {
189
+ const types = [];
190
+ for (const tsData of tsDataArr) {
191
+ types.push(this.newTsType(tsData));
192
+ }
193
+ if (tsDataArr.length === 0) {
194
+ types.push(this.newTsType({}));
195
+ }
196
+ return types;
197
+ }
198
+ newTsParameter(tsData, parent) {
199
+ const types = [];
200
+ const tsTypes = tsData._tsData?.type || tsData.type || [];
201
+ for (const type of tsTypes) {
202
+ type.type = type.type || 'any';
203
+ types.push(this.newTsType(type));
204
+ }
205
+ const name = tsData.name || tsData._tsData?.name;
206
+ const isRest = tsData.isRest || tsData._tsData?.isRest || false;
207
+ const doc = tsData.doc || tsData._tsData?.doc;
208
+ if (!name)
209
+ throw new Error('[GirFactory.newTsParameter] The name property is required!');
210
+ const newTsData = {
211
+ type: types,
212
+ name: name,
213
+ isRest: isRest,
214
+ girTypeName: 'callable-param',
215
+ doc: this.newTsDoc(doc),
216
+ parent,
217
+ };
218
+ return newTsData;
219
+ }
220
+ newTsParameters(datas, parent) {
221
+ const tsParameters = [];
222
+ for (const data of datas) {
223
+ tsParameters.push(this.newTsParameter(data, parent));
224
+ }
225
+ return tsParameters;
226
+ }
227
+ /**
228
+ * Generates signal methods like `connect`, `connect_after` and `emit` on Gjs or `connect`, `on`, `once`, `off` and `emit` an node-gtk
229
+ * for a default gir signal element
230
+ * @param signalName The signal name
231
+ * @param callbackType The callback type
232
+ * @param emitInParams
233
+ * @param environment
234
+ * @param withDisconnect If `true` this also generates a `disconnect` method
235
+ * @returns
236
+ */
237
+ newTsSignalMethods(signalName, callbackType, emitInParams, parentClass, environment, withDisconnect = false) {
238
+ const tsMethods = [];
239
+ const girTypeName = 'signal';
240
+ const sigNameInParam = {
241
+ name: 'sigName',
242
+ type: [
243
+ this.newTsType({
244
+ type: signalName ? `"${signalName}"` : 'string',
245
+ }),
246
+ ],
247
+ doc: this.newTsDoc(),
248
+ };
249
+ const anyArgsInParam = {
250
+ name: 'args',
251
+ isRest: true,
252
+ type: [
253
+ this.newTsType({
254
+ type: `any`,
255
+ isArray: true,
256
+ }),
257
+ ],
258
+ doc: this.newTsDoc(),
259
+ };
260
+ emitInParams.push(anyArgsInParam);
261
+ const callbackInParam = {
262
+ name: 'callback',
263
+ type: [
264
+ this.newTsType({
265
+ type: callbackType || '(...args: any[]) => void',
266
+ }),
267
+ ],
268
+ doc: this.newTsDoc(),
269
+ };
270
+ const numberReturnType = this.newTsType({
271
+ type: 'number',
272
+ });
273
+ const connectTsFn = this.newTsFunction({
274
+ name: 'connect',
275
+ inParams: [sigNameInParam, callbackInParam],
276
+ returnTypes: [numberReturnType],
277
+ girTypeName,
278
+ }, parentClass);
279
+ tsMethods.push(connectTsFn);
280
+ if (environment === 'gjs') {
281
+ const connectAfterTsFn = this.newTsFunction({
282
+ name: 'connect_after',
283
+ inParams: [sigNameInParam, callbackInParam],
284
+ returnTypes: [numberReturnType],
285
+ girTypeName,
286
+ }, parentClass);
287
+ tsMethods.push(connectAfterTsFn);
288
+ }
289
+ else if (environment === 'node') {
290
+ const afterInParam = {
291
+ name: 'after',
292
+ type: [
293
+ this.newTsType({
294
+ type: 'boolean',
295
+ optional: true,
296
+ }),
297
+ ],
298
+ doc: this.newTsDoc(),
299
+ };
300
+ const nodeEventEmitterReturnType = this.newTsType({
301
+ type: 'NodeJS.EventEmitter',
302
+ });
303
+ const onTsFn = this.newTsFunction({
304
+ name: 'on',
305
+ inParams: [sigNameInParam, callbackInParam, afterInParam],
306
+ returnTypes: [nodeEventEmitterReturnType],
307
+ girTypeName,
308
+ }, parentClass);
309
+ const onceTsFn = this.newTsFunction({
310
+ name: 'once',
311
+ inParams: [sigNameInParam, callbackInParam, afterInParam],
312
+ returnTypes: [nodeEventEmitterReturnType],
313
+ girTypeName,
314
+ }, parentClass);
315
+ const offTsFn = this.newTsFunction({
316
+ name: 'off',
317
+ inParams: [sigNameInParam, callbackInParam],
318
+ returnTypes: [nodeEventEmitterReturnType],
319
+ girTypeName,
320
+ }, parentClass);
321
+ tsMethods.push(onTsFn, onceTsFn, offTsFn);
322
+ }
323
+ const emitTsFn = this.newTsFunction({
324
+ name: 'emit',
325
+ inParams: [sigNameInParam, ...emitInParams],
326
+ girTypeName,
327
+ }, parentClass);
328
+ tsMethods.push(emitTsFn);
329
+ if (withDisconnect && environment === 'gjs') {
330
+ const idInParam = {
331
+ name: 'id',
332
+ type: [
333
+ this.newTsType({
334
+ type: 'number',
335
+ }),
336
+ ],
337
+ doc: this.newTsDoc(),
338
+ };
339
+ const emitTsFn = this.newTsFunction({
340
+ name: 'disconnect',
341
+ inParams: [idInParam],
342
+ girTypeName,
343
+ }, parentClass);
344
+ tsMethods.push(emitTsFn);
345
+ }
346
+ return tsMethods;
347
+ }
348
+ newGirAttr(name = '') {
349
+ return {
350
+ name,
351
+ 'glib:set-property': '',
352
+ 'glib:get-property': '',
353
+ };
354
+ }
355
+ newGirAnnotation(data = {}) {
356
+ data.name ||= '';
357
+ data.value ||= [];
358
+ return {
359
+ $: data,
360
+ };
361
+ }
362
+ newGirDocElement(text = '', filename = '', line = '', column = '') {
363
+ return {
364
+ doc: [{ $: { filename, line, column }, _: text }],
365
+ 'doc-deprecated': [{ $: {}, _: '' }],
366
+ 'source-position': [{ filename: '', line: '', column: [''] }],
367
+ };
368
+ }
369
+ newTsDoc(data = {}) {
370
+ return {
371
+ tags: data.tags || [],
372
+ text: data.text || '',
373
+ };
374
+ }
375
+ }
376
+ //# sourceMappingURL=gir-factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gir-factory.js","sourceRoot":"","sources":["../src/gir-factory.ts"],"names":[],"mappings":"AAoCA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAE9C;;GAEG;AACH,MAAM,OAAO,UAAU;IACnB,WAAW,CAAC,QAAqC;QAC7C,MAAM,UAAU,GAAyB,EAAE,CAAA;QAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACtC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;YAC3B,MAAM,SAAS,GAAuB;gBAClC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,aAAa,CAAC,CAAC,CAAC;gBACtC,GAAG,OAAO;aACb,CAAA;YACD,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;SAC7B;QACD,OAAO,UAAU,CAAA;IACrB,CAAC;IAkBD,uBAAuB,CAAC,WAA2B,EAAE,QAAiB;QAClE,QAAQ,WAAW,EAAE;YACjB,KAAK,OAAO;gBACR,OAAO,MAAM,CAAA;YACjB,KAAK,MAAM,CAAC;YACZ,KAAK,UAAU;gBACX,OAAO,MAAM,CAAA;YACjB,KAAK,aAAa,CAAC;YACnB,KAAK,iBAAiB;gBAClB,OAAO,aAAa,CAAA;YACxB,KAAK,UAAU;gBACX,OAAO,WAAW,CAAA;YACtB,KAAK,OAAO,CAAC;YACb,KAAK,WAAW,CAAC;YACjB,KAAK,OAAO,CAAC;YACb,KAAK,QAAQ;gBACT,OAAO,OAAO,CAAA;YAClB,KAAK,UAAU;gBACX,OAAO,UAAU,CAAA;YACrB,KAAK,aAAa;gBACd,OAAO,aAAa,CAAA;YACxB,KAAK,QAAQ,CAAC;YACd,KAAK,SAAS;gBACV,OAAO,QAAQ,CAAA;YACnB,KAAK,QAAQ;gBACT,OAAO,eAAe,CAAA;YAC1B,KAAK,iBAAiB;gBAClB,OAAO,iBAAiB,CAAA;YAC5B,KAAK,UAAU;gBACX,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;oBACjC,MAAM,IAAI,KAAK,CACX,kGAAkG,CACrG,CAAA;iBACJ;gBACD,IAAI,QAAQ,EAAE;oBACV,OAAO,iBAAiB,CAAA;iBAC3B;gBACD,OAAO,UAAU,CAAA;YACrB,KAAK,OAAO,CAAC;YACb,KAAK,UAAU;gBACX,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;oBACjC,MAAM,IAAI,KAAK,CACX,kGAAkG,CACrG,CAAA;iBACJ;gBACD,IAAI,QAAQ,EAAE;oBACV,OAAO,iBAAiB,CAAA;iBAC3B;gBACD,OAAO,UAAU,CAAA;SACxB;QACD,MAAM,IAAI,KAAK,CAAC,sBAAsB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;IAClE,CAAC;IAED,eAAe,CACX,eAAoC,EACpC,MAAsB,EACtB,gBAA4C,EAAE;QAE9C,MAAM,mBAAmB,GAErB,EAAE,CAAA;QACN,KAAK,IAAI,cAAc,IAAI,eAAe,EAAE;YACxC,cAAc,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,aAAa,EAAE,CAAA;YACxD,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAA;SACxE;QACD,OAAO,mBAAmB,CAAA;IAC9B,CAAC;IAED,cAAc,CACV,MAAyB,EACzB,MAAsB;QAEtB,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAClD,OAAO;YACH,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC;YAChC,GAAG,IAAI,CAAC,gBAAgB,EAAE;YAC1B,OAAO;SACV,CAAA;IACL,CAAC;IAED,0BAA0B,CACtB,MAAoD,EACpD,MAAkB;QAElB,OAAO;YACH,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE;YACpB,GAAG,IAAI,CAAC,gBAAgB,EAAE;YAC1B,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC;SAC/C,CAAA;IACL,CAAC;IAED,2BAA2B,CACvB,kBAAuE,EAAE,EACzE,MAAkB;QAElB,MAAM,MAAM,GAA8B,EAAE,CAAA;QAC5C,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE;YAC1C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAA;SACvE;QACD,OAAO,MAAM,CAAA;IACjB,CAAC;IAED,uBAAuB,CACnB,IAA6E;QAE7E,MAAM,MAAM,GAAI,IAA6B,CAAC,OAAO;YACjD,CAAC,CAAE,IAA6B,CAAC,OAAO;YACxC,CAAC,CAAE,IAAyD,CAAA;QAEhE,OAAO;YACH,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE;YACpB,GAAG,IAAI,CAAC,gBAAgB,EAAE;YAC1B,OAAO,EAAE,MAAM;SAClB,CAAA;IACL,CAAC;IAED,wBAAwB,CACpB,0BAAoF,EAAE;QAEtF,MAAM,MAAM,GAA2B,EAAE,CAAA;QACzC,KAAK,MAAM,sBAAsB,IAAI,uBAAuB,EAAE;YAC1D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,sBAAsB,CAAC,CAAC,CAAA;SACpE;QACD,OAAO,MAAM,CAAA;IACjB,CAAC;IAED,cAAc,CAAC,MAAyB;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;QAC1C,IAAI,CAAC,OAAO,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;QACpE,OAAO;YACH,CAAC,EAAE;gBACC,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC;aACnC;YACD,UAAU,EAAE,EAAE;YACd,GAAG,IAAI,CAAC,gBAAgB,EAAE;YAC1B,OAAO;SACV,CAAA;IACL,CAAC;IAED,gBAAgB,CACZ,cAAmC,EACnC,gBAA4C,EAAE;QAE9C,MAAM,MAAM,GAAyB,EAAE,CAAA;QACvC,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE;YACxC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,GAAG,aAAa,EAAE,GAAG,aAAa,EAAE,CAAC,CAAC,CAAA;SAC3E;QACD,OAAO,MAAM,CAAA;IACjB,CAAC;IAED,aAAa,CAAC,MAAyB,EAAE,MAAsB;QAC3D,MAAM,MAAM,GAA0B;YAClC,GAAG,MAAM;YACT,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC;YACtD,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,KAAK;YACxC,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,KAAK;YAClC,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,KAAK;YAClC,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,KAAK;YACpC,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,KAAK;YACtC,aAAa,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,MAAM;YACzF,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;YACjD,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,EAAE;YACjC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC;YAC9B,UAAU,EAAE,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC;YACtF,QAAQ,EAAE,EAAE;YACZ,SAAS,EAAE,EAAE;YACb,kBAAkB,EAAE,EAAE;YACtB,MAAM;SACT,CAAA;QAED,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAA;QAClF,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAA;QACpF,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAA;QAE3F,OAAO,MAAM,CAAA;IACjB,CAAC;IAED,aAAa,CAAC,MAAyB;QACnC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAA;QAClC,MAAM,MAAM,GAAe;YACvB,GAAG,MAAM;YACT,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,KAAK;YAClC,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,KAAK;YAClC,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,KAAK;YACtC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACxC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC;YAC9B,UAAU,EAAE,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC;SACzF,CAAA;QACD,OAAO,MAAM,CAAA;IACjB,CAAC;IAED,SAAS,CAAC,SAAwB,EAAE;QAChC,MAAM,CAAC,SAAS,KAAK,EAAE,CAAA;QACvB,MAAM,CAAC,QAAQ,KAAK,EAAE,CAAA;QACtB,MAAM,CAAC,QAAQ,KAAK,KAAK,CAAA;QACzB,MAAM,CAAC,QAAQ,KAAK,KAAK,CAAA;QAEzB,MAAM,SAAS,GAAW;YACtB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,MAAM;YAC3B,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,EAAE;YACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE;YAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,KAAK;YAClC,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,KAAK;YAClC,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,KAAK;YAChC,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,KAAK;YACtC,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,KAAK;YACtC,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,GAAG;SAC7C,CAAA;QAED,OAAO,SAAS,CAAA;IACpB,CAAC;IAED,UAAU,CAAC,SAA0B;QACjC,MAAM,KAAK,GAAa,EAAE,CAAA;QAC1B,KAAK,MAAM,MAAM,IAAI,SAAS,EAAE;YAC5B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;SACrC;QAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YACxB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAA;SACjC;QAED,OAAO,KAAK,CAAA;IAChB,CAAC;IAED,cAAc,CAAC,MAAoD,EAAE,MAAkB;QACnF,MAAM,KAAK,GAAa,EAAE,CAAA;QAC1B,MAAM,OAAO,GAAI,MAAkC,CAAC,OAAO,EAAE,IAAI,IAAK,MAA6B,CAAC,IAAI,IAAI,EAAE,CAAA;QAC9G,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE;YACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,KAAK,CAAA;YAC9B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;SACnC;QAED,MAAM,IAAI,GAAI,MAA6B,CAAC,IAAI,IAAK,MAAkC,CAAC,OAAO,EAAE,IAAI,CAAA;QACrG,MAAM,MAAM,GACP,MAA6B,CAAC,MAAM,IAAK,MAAkC,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,CAAA;QACzG,MAAM,GAAG,GAAI,MAA6B,CAAC,GAAG,IAAK,MAAkC,CAAC,OAAO,EAAE,GAAG,CAAA;QAElG,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAA;QAExF,MAAM,SAAS,GAAgB;YAC3B,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,MAAM;YACd,WAAW,EAAE,gBAAgB;YAC7B,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YACvB,MAAM;SACT,CAAA;QAED,OAAO,SAAS,CAAA;IACpB,CAAC;IAED,eAAe,CAAC,KAA0D,EAAE,MAAkB;QAC1F,MAAM,YAAY,GAAkB,EAAE,CAAA;QACtC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACtB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAA;SACvD;QACD,OAAO,YAAY,CAAA;IACvB,CAAC;IAED;;;;;;;;;OASG;IACH,kBAAkB,CACd,UAA8B,EAC9B,YAAgC,EAChC,YAAkC,EAClC,WAAoB,EACpB,WAAwB,EACxB,cAAc,GAAG,KAAK;QAEtB,MAAM,SAAS,GAAe,EAAE,CAAA;QAChC,MAAM,WAAW,GAAoB,QAAQ,CAAA;QAE7C,MAAM,cAAc,GAAuB;YACvC,IAAI,EAAE,SAAS;YACf,IAAI,EAAE;gBACF,IAAI,CAAC,SAAS,CAAC;oBACX,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC,QAAQ;iBAClD,CAAC;aACL;YACD,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE;SACvB,CAAA;QAED,MAAM,cAAc,GAAuB;YACvC,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE;gBACF,IAAI,CAAC,SAAS,CAAC;oBACX,IAAI,EAAE,KAAK;oBACX,OAAO,EAAE,IAAI;iBAChB,CAAC;aACL;YACD,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE;SACvB,CAAA;QAED,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QAEjC,MAAM,eAAe,GAAuB;YACxC,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE;gBACF,IAAI,CAAC,SAAS,CAAC;oBACX,IAAI,EAAE,YAAY,IAAI,0BAA0B;iBACnD,CAAC;aACL;YACD,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE;SACvB,CAAA;QAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC;YACpC,IAAI,EAAE,QAAQ;SACjB,CAAC,CAAA;QAEF,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAClC;YACI,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;YAC3C,WAAW,EAAE,CAAC,gBAAgB,CAAC;YAC/B,WAAW;SACd,EACD,WAAW,CACd,CAAA;QACD,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAE3B,IAAI,WAAW,KAAK,KAAK,EAAE;YACvB,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,CACvC;gBACI,IAAI,EAAE,eAAe;gBACrB,QAAQ,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;gBAC3C,WAAW,EAAE,CAAC,gBAAgB,CAAC;gBAC/B,WAAW;aACd,EACD,WAAW,CACd,CAAA;YACD,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;SACnC;aAAM,IAAI,WAAW,KAAK,MAAM,EAAE;YAC/B,MAAM,YAAY,GAAuB;gBACrC,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE;oBACF,IAAI,CAAC,SAAS,CAAC;wBACX,IAAI,EAAE,SAAS;wBACf,QAAQ,EAAE,IAAI;qBACjB,CAAC;iBACL;gBACD,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE;aACvB,CAAA;YAED,MAAM,0BAA0B,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC9C,IAAI,EAAE,qBAAqB;aAC9B,CAAC,CAAA;YAEF,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAC7B;gBACI,IAAI,EAAE,IAAI;gBACV,QAAQ,EAAE,CAAC,cAAc,EAAE,eAAe,EAAE,YAAY,CAAC;gBACzD,WAAW,EAAE,CAAC,0BAA0B,CAAC;gBACzC,WAAW;aACd,EACD,WAAW,CACd,CAAA;YACD,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAC/B;gBACI,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,CAAC,cAAc,EAAE,eAAe,EAAE,YAAY,CAAC;gBACzD,WAAW,EAAE,CAAC,0BAA0B,CAAC;gBACzC,WAAW;aACd,EACD,WAAW,CACd,CAAA;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAC9B;gBACI,IAAI,EAAE,KAAK;gBACX,QAAQ,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;gBAC3C,WAAW,EAAE,CAAC,0BAA0B,CAAC;gBACzC,WAAW;aACd,EACD,WAAW,CACd,CAAA;YACD,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;SAC5C;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAC/B;YACI,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,CAAC,cAAc,EAAE,GAAG,YAAY,CAAC;YAC3C,WAAW;SACd,EACD,WAAW,CACd,CAAA;QACD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAExB,IAAI,cAAc,IAAI,WAAW,KAAK,KAAK,EAAE;YACzC,MAAM,SAAS,GAAuB;gBAClC,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE;oBACF,IAAI,CAAC,SAAS,CAAC;wBACX,IAAI,EAAE,QAAQ;qBACjB,CAAC;iBACL;gBACD,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE;aACvB,CAAA;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAC/B;gBACI,IAAI,EAAE,YAAY;gBAClB,QAAQ,EAAE,CAAC,SAAS,CAAC;gBACrB,WAAW;aACd,EACD,WAAW,CACd,CAAA;YACD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;SAC3B;QAED,OAAO,SAAS,CAAA;IACpB,CAAC;IAED,UAAU,CACN,IAAI,GAAG,EAAE;QAET,OAAO;YACH,IAAI;YACJ,mBAAmB,EAAE,EAAE;YACvB,mBAAmB,EAAE,EAAE;SAC1B,CAAA;IACL,CAAC;IAED,gBAAgB,CAAC,OAAoC,EAAE;QACnD,IAAI,CAAC,IAAI,KAAK,EAAE,CAAA;QAChB,IAAI,CAAC,KAAK,KAAK,EAAE,CAAA;QACjB,OAAO;YACH,CAAC,EAAE,IAA0B;SAChC,CAAA;IACL,CAAC;IAED,gBAAgB,CAAC,IAAI,GAAG,EAAE,EAAE,QAAQ,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE;QAC7D,OAAO;YACH,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;YACjD,gBAAgB,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;YACpC,iBAAiB,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;SAChE,CAAA;IACL,CAAC;IAED,QAAQ,CAAC,OAAuB,EAAE;QAC9B,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;SACxB,CAAA;IACL,CAAC;CACJ"}
@@ -0,0 +1,259 @@
1
+ import { Transformation } from './transformation.js';
2
+ import { Logger } from './logger.js';
3
+ import { Injector } from './injection/injector.js';
4
+ import { GirFactory } from './gir-factory.js';
5
+ import { ConflictResolver } from './conflict-resolver.js';
6
+ import { DependencyManager } from './dependency-manager.js';
7
+ import { SymTable } from './symtable.js';
8
+ import type { Dependency, GirRepository, GirNamespace, GirAliasElement, GirFunctionElement, GirType, GirCallableParamElement, GirCallableReturn, GirConstantElement, GirFieldElement, GirPropertyElement, InheritanceTable, ParsedGir, GenerateConfig, ClassParent } from './types/index.js';
9
+ export declare class GirModule {
10
+ private readonly config;
11
+ /**
12
+ * Array of all gir modules
13
+ */
14
+ static allGirModules: GirModule[];
15
+ /**
16
+ * E.g. 'Gtk'
17
+ */
18
+ namespace: string;
19
+ /**
20
+ * E.g. '3.0'
21
+ */
22
+ version: string;
23
+ /**
24
+ * E.g. 'Gtk-3.0'
25
+ */
26
+ packageName: string;
27
+ /**
28
+ * E.g. 'Gtk30'
29
+ * Is used in the generated index.d.ts, for example: `import * as Gtk30 from "./Gtk-3.0.js";`
30
+ */
31
+ importName: string;
32
+ dependencies: Dependency[];
33
+ private _transitiveDependencies;
34
+ set transitiveDependencies(deps: Dependency[]);
35
+ get transitiveDependencies(): Dependency[];
36
+ get allDependencies(): Dependency[];
37
+ repo: GirRepository;
38
+ ns: GirNamespace;
39
+ /**
40
+ * Used to find namespaces that are used in other modules
41
+ */
42
+ symTable: SymTable;
43
+ transformation: Transformation;
44
+ girFactory: GirFactory;
45
+ dependencyManager: DependencyManager;
46
+ conflictResolver: ConflictResolver;
47
+ log: Logger;
48
+ inject: Injector;
49
+ extends?: string;
50
+ /**
51
+ * To prevent constants from being exported twice, the names already exported are saved here for comparison.
52
+ * Please note: Such a case is only known for Zeitgeist-2.0 with the constant "ATTACHMENT"
53
+ */
54
+ constNames: {
55
+ [varName: string]: GirConstantElement;
56
+ };
57
+ constructor(xml: ParsedGir, config: GenerateConfig);
58
+ private checkTransitiveDependencies;
59
+ private getTsDoc;
60
+ private getTsDocGirElementTags;
61
+ private getTsDocReturnTags;
62
+ private getTsDocInParamTags;
63
+ private annotateFunctionArguments;
64
+ private annotateFunctionReturn;
65
+ /**
66
+ * Functions which are not part of a class
67
+ * @param girFuncs
68
+ */
69
+ private annotateFunctions;
70
+ /**
71
+ * Functions and methods of a class
72
+ */
73
+ private annotateMethods;
74
+ /**
75
+ * Variables which are not part of a class
76
+ */
77
+ private annotateVariables;
78
+ private annotateFields;
79
+ private annotateClass;
80
+ /**
81
+ * Annotates the custom `_module`, `_fullSymName` and `_girType` properties.
82
+ * Also registers the element on the `symTable`.
83
+ * @param girElements
84
+ * @param girType
85
+ */
86
+ private annotateAndRegisterGirElement;
87
+ /**
88
+ * TODO: find better name for this method
89
+ * @param girVar
90
+ * @param fullTypeName
91
+ * @returns e.g.
92
+ * ```ts
93
+ * {
94
+ * namespace: "Gtk",
95
+ * resValue: "Gtk.Widget"
96
+ * }
97
+ *
98
+ */
99
+ private fullTypeLookup;
100
+ /**
101
+ * this method needs to be refactored, an array can also be an array of an array for example
102
+ * @param girVar
103
+ * @returns
104
+ */
105
+ getArrayData(girVar: GirCallableReturn | GirAliasElement | GirFieldElement | GirCallableParamElement | GirPropertyElement | GirConstantElement): {
106
+ arrCType: string | undefined;
107
+ arrayType: GirType | null;
108
+ isArray: boolean;
109
+ overrideTypeName: string | undefined;
110
+ };
111
+ /**
112
+ * Get the typescript type of a GirElement like a `GirPropertyElement` or `GirCallableReturn`
113
+ * @param girVar
114
+ */
115
+ private getTsType;
116
+ /**
117
+ *
118
+ * @param girFunc
119
+ * @returns
120
+ */
121
+ private getReturnType;
122
+ private arrayLengthIndexLookup;
123
+ private closureDataIndexLookup;
124
+ private destroyDataIndexLookup;
125
+ private processParams;
126
+ /**
127
+ * Checks if the parameter is nullable (which results in ` | null`).
128
+ *
129
+ * @param girVar girVar to test
130
+ */
131
+ private typeIsNullable;
132
+ /**
133
+ * Checks if the parameter is optional (which results in `foo?: bar`).
134
+ * @param girVar girVar to test
135
+ */
136
+ private typeIsOptional;
137
+ private setParameterTsData;
138
+ private getInstanceParameterTsData;
139
+ private setParametersTsData;
140
+ private getVariableTsData;
141
+ private getPropertyTsData;
142
+ /**
143
+ *
144
+ * @param girFunc
145
+ * @param prefix E.g. vfunc
146
+ * @param overrideReturnType
147
+ * @param isArrowType
148
+ * @param indentCount
149
+ */
150
+ private getFunctionTsData;
151
+ overloadPromisifiedFunctions(girFunctions: GirFunctionElement[]): void;
152
+ private getCallbackInterfaceTsData;
153
+ private setCallbackTsData;
154
+ private getSignalCallbackInterfaceTsData;
155
+ private getConstructorFunctionTsData;
156
+ private getSignalCallbackTsData;
157
+ /**
158
+ * Generates signal methods like `connect`, `connect_after` and `emit` on Gjs or `connect`, `on`, `once`, `off` and `emit` an node-gtk
159
+ * for a default gir signal element
160
+ * @param girSignal
161
+ * @returns
162
+ */
163
+ private getClassSignalMethodsTsData;
164
+ /**
165
+ * Generates signal methods for the GObject properties of a gir class element
166
+ * @param girClass
167
+ */
168
+ private getClassPropertySignalsMethods;
169
+ private getGeneralSignalsMethods;
170
+ private setSignalTsData;
171
+ private fixEnumerationDuplicateIdentifier;
172
+ private getEnumerationMemberTsData;
173
+ private getEnumerationTsData;
174
+ private getAliasTsData;
175
+ private getConstantTsData;
176
+ private getClassConstructPropsTsData;
177
+ /**
178
+ * Some class/static methods are defined in a separate record which is not
179
+ * exported, but the methods are available as members of the JS constructor.
180
+ * In gjs one can use an instance of the object, a JS constructor or a GType
181
+ * as the method's instance-parameter.
182
+ * @see https://discourse.gnome.org/t/using-class-methods-like-gtk-widget-class-get-css-name-from-gjs/4001
183
+ * @param girClass
184
+ */
185
+ private getClassRecordMethods;
186
+ /**
187
+ * Instance methods
188
+ * @param girClass
189
+ * @param localNames
190
+ */
191
+ private getClassMethodsTsData;
192
+ private getClassFieldsTsData;
193
+ private getGObjectProperties;
194
+ private getClassPropertiesTsData;
195
+ private getClassNonStaticPropertyNames;
196
+ private getClassConstructorsTsData;
197
+ private getClassVirtualMethodsTsData;
198
+ /**
199
+ *
200
+ * @param girClass This is the class / interface the `parentClass` implements signals from
201
+ * @returns
202
+ */
203
+ private getClassSignalsTsData;
204
+ getClassParentObject(parentName: string, namespace: string, type: 'parent' | 'prerequisite' | 'implements'): ClassParent;
205
+ private getClassParents;
206
+ private setClassBaseTsData;
207
+ private setClassTsData;
208
+ private isDerivedFromGObject;
209
+ private getClassParent;
210
+ private traverseInheritanceTree;
211
+ private forEachInterface;
212
+ /**
213
+ *
214
+ * @param girElement
215
+ * @param localNames Can be (constructor) properties, fields or methods
216
+ * @param type
217
+ */
218
+ private checkOrSetLocalName;
219
+ private isGtypeStructFor;
220
+ /**
221
+ * E.g GObject.ObjectClass is a abstract class and required by UPowerGlib-1.0, UDisks-2.0 and others
222
+ * @param girClass
223
+ * @returns `true` if this is this a abstract class.
224
+ */
225
+ private isAbstractClass;
226
+ /**
227
+ *
228
+ * @param girClass
229
+ * @returns
230
+ */
231
+ private getOtherStaticFunctions;
232
+ private getStaticNewFunctions;
233
+ /**
234
+ * Static methods, <constructor> and <function>
235
+ * @param girClass
236
+ * @param constructorTypeName Used to overwrite the constructor return type
237
+ * @param useReference This value should be `false` for inherited and implemented classes / interfaces.
238
+ * Otherwise other modules would overwrite the return value of the constructor methods
239
+ */
240
+ private getClassStaticFunctionsTsData;
241
+ private setModuleTsData;
242
+ /**
243
+ * TODO: find better name for this method
244
+ * @param fullTypeName
245
+ * @returns
246
+ */
247
+ private fullTypeLookupWithNamespace;
248
+ private loadInheritance;
249
+ private loadTypes;
250
+ /**
251
+ * Before processing the typescript data, each module should be initialized first.
252
+ * This is done in the `GenerationHandler`.
253
+ */
254
+ init(inheritanceTable: InheritanceTable): void;
255
+ /**
256
+ * Start processing the typescript data
257
+ */
258
+ start(): void;
259
+ }