@ts-for-gir/cli 3.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (669) hide show
  1. package/README.md +156 -0
  2. package/lib/commands/doc.d.ts +27 -0
  3. package/lib/commands/doc.js +48 -0
  4. package/lib/commands/doc.js.map +1 -0
  5. package/lib/commands/generate.d.ts +45 -0
  6. package/lib/commands/generate.js +71 -0
  7. package/lib/commands/generate.js.map +1 -0
  8. package/lib/commands/index.d.ts +3 -0
  9. package/lib/commands/index.js +4 -0
  10. package/lib/commands/index.js.map +1 -0
  11. package/lib/commands/list.d.ts +21 -0
  12. package/lib/commands/list.js +77 -0
  13. package/lib/commands/list.js.map +1 -0
  14. package/lib/config.d.ts +103 -0
  15. package/lib/config.js +385 -0
  16. package/lib/config.js.map +1 -0
  17. package/lib/conflict-resolver.d.ts +154 -0
  18. package/lib/conflict-resolver.js +1095 -0
  19. package/lib/conflict-resolver.js.map +1 -0
  20. package/lib/constants.d.ts +18 -0
  21. package/lib/constants.js +23 -0
  22. package/lib/constants.js.map +1 -0
  23. package/lib/generation-handler.d.ts +12 -0
  24. package/lib/generation-handler.js +63 -0
  25. package/lib/generation-handler.js.map +1 -0
  26. package/lib/generator.d.ts +5 -0
  27. package/lib/generator.js +2 -0
  28. package/lib/generator.js.map +1 -0
  29. package/lib/gir-factory.d.ts +50 -0
  30. package/lib/gir-factory.js +354 -0
  31. package/lib/gir-factory.js.map +1 -0
  32. package/lib/gir-module.d.ts +256 -0
  33. package/lib/gir-module.js +2075 -0
  34. package/lib/gir-module.js.map +1 -0
  35. package/lib/html-doc-generator.d.ts +13 -0
  36. package/lib/html-doc-generator.js +18 -0
  37. package/lib/html-doc-generator.js.map +1 -0
  38. package/lib/index.d.ts +17 -0
  39. package/lib/index.js +18 -0
  40. package/lib/index.js.map +1 -0
  41. package/lib/injection/callbacks/gjs/Gio-2.0.d.ts +2 -0
  42. package/lib/injection/callbacks/gjs/Gio-2.0.js +36 -0
  43. package/lib/injection/callbacks/gjs/Gio-2.0.js.map +1 -0
  44. package/lib/injection/callbacks/gjs/index.d.ts +2 -0
  45. package/lib/injection/callbacks/gjs/index.js +3 -0
  46. package/lib/injection/callbacks/gjs/index.js.map +1 -0
  47. package/lib/injection/callbacks/index.d.ts +4 -0
  48. package/lib/injection/callbacks/index.js +4 -0
  49. package/lib/injection/callbacks/index.js.map +1 -0
  50. package/lib/injection/callbacks/node-gtk/index.d.ts +2 -0
  51. package/lib/injection/callbacks/node-gtk/index.js +2 -0
  52. package/lib/injection/callbacks/node-gtk/index.js.map +1 -0
  53. package/lib/injection/classes/GLib-2-0.d.ts +2 -0
  54. package/lib/injection/classes/GLib-2-0.js +35 -0
  55. package/lib/injection/classes/GLib-2-0.js.map +1 -0
  56. package/lib/injection/classes/gjs/GLib-2.0.d.ts +2 -0
  57. package/lib/injection/classes/gjs/GLib-2.0.js +74 -0
  58. package/lib/injection/classes/gjs/GLib-2.0.js.map +1 -0
  59. package/lib/injection/classes/gjs/GObject-2.0.d.ts +2 -0
  60. package/lib/injection/classes/gjs/GObject-2.0.js +634 -0
  61. package/lib/injection/classes/gjs/GObject-2.0.js.map +1 -0
  62. package/lib/injection/classes/gjs/Gio-2.0.d.ts +5 -0
  63. package/lib/injection/classes/gjs/Gio-2.0.js +218 -0
  64. package/lib/injection/classes/gjs/Gio-2.0.js.map +1 -0
  65. package/lib/injection/classes/gjs/index.d.ts +2 -0
  66. package/lib/injection/classes/gjs/index.js +5 -0
  67. package/lib/injection/classes/gjs/index.js.map +1 -0
  68. package/lib/injection/classes/index.d.ts +4 -0
  69. package/lib/injection/classes/index.js +5 -0
  70. package/lib/injection/classes/index.js.map +1 -0
  71. package/lib/injection/classes/node-gtk/GLib-2.0.d.ts +2 -0
  72. package/lib/injection/classes/node-gtk/GLib-2.0.js +19 -0
  73. package/lib/injection/classes/node-gtk/GLib-2.0.js.map +1 -0
  74. package/lib/injection/classes/node-gtk/GObject-2.0.d.ts +2 -0
  75. package/lib/injection/classes/node-gtk/GObject-2.0.js +66 -0
  76. package/lib/injection/classes/node-gtk/GObject-2.0.js.map +1 -0
  77. package/lib/injection/classes/node-gtk/Gdk-4.0.d.ts +2 -0
  78. package/lib/injection/classes/node-gtk/Gdk-4.0.js +32 -0
  79. package/lib/injection/classes/node-gtk/Gdk-4.0.js.map +1 -0
  80. package/lib/injection/classes/node-gtk/Gio-2.0.d.ts +2 -0
  81. package/lib/injection/classes/node-gtk/Gio-2.0.js +14 -0
  82. package/lib/injection/classes/node-gtk/Gio-2.0.js.map +1 -0
  83. package/lib/injection/classes/node-gtk/Graphene-1.0.d.ts +2 -0
  84. package/lib/injection/classes/node-gtk/Graphene-1.0.js +133 -0
  85. package/lib/injection/classes/node-gtk/Graphene-1.0.js.map +1 -0
  86. package/lib/injection/classes/node-gtk/Gtk-3.0.d.ts +2 -0
  87. package/lib/injection/classes/node-gtk/Gtk-3.0.js +31 -0
  88. package/lib/injection/classes/node-gtk/Gtk-3.0.js.map +1 -0
  89. package/lib/injection/classes/node-gtk/Gtk-4.0.d.ts +2 -0
  90. package/lib/injection/classes/node-gtk/Gtk-4.0.js +52 -0
  91. package/lib/injection/classes/node-gtk/Gtk-4.0.js.map +1 -0
  92. package/lib/injection/classes/node-gtk/Pango-1.0.d.ts +2 -0
  93. package/lib/injection/classes/node-gtk/Pango-1.0.js +31 -0
  94. package/lib/injection/classes/node-gtk/Pango-1.0.js.map +1 -0
  95. package/lib/injection/classes/node-gtk/index.d.ts +2 -0
  96. package/lib/injection/classes/node-gtk/index.js +19 -0
  97. package/lib/injection/classes/node-gtk/index.js.map +1 -0
  98. package/lib/injection/index.d.ts +3 -0
  99. package/lib/injection/index.js +4 -0
  100. package/lib/injection/index.js.map +1 -0
  101. package/lib/injection/injector.d.ts +17 -0
  102. package/lib/injection/injector.js +136 -0
  103. package/lib/injection/injector.js.map +1 -0
  104. package/lib/logger.d.ts +36 -0
  105. package/lib/logger.js +133 -0
  106. package/lib/logger.js.map +1 -0
  107. package/lib/messages.d.ts +30 -0
  108. package/lib/messages.js +45 -0
  109. package/lib/messages.js.map +1 -0
  110. package/lib/module-loader.d.ts +131 -0
  111. package/lib/module-loader.js +467 -0
  112. package/lib/module-loader.js.map +1 -0
  113. package/lib/start.d.ts +2 -0
  114. package/lib/start.js +15 -0
  115. package/lib/start.js.map +1 -0
  116. package/lib/symtable.d.ts +24 -0
  117. package/lib/symtable.js +63 -0
  118. package/lib/symtable.js.map +1 -0
  119. package/lib/template-processor.d.ts +46 -0
  120. package/lib/template-processor.js +154 -0
  121. package/lib/template-processor.js.map +1 -0
  122. package/lib/transformation.d.ts +156 -0
  123. package/lib/transformation.js +523 -0
  124. package/lib/transformation.js.map +1 -0
  125. package/lib/type-definition-generator.d.ts +117 -0
  126. package/lib/type-definition-generator.js +929 -0
  127. package/lib/type-definition-generator.js.map +1 -0
  128. package/lib/types/answer-version.d.ts +4 -0
  129. package/lib/types/answer-version.js +2 -0
  130. package/lib/types/answer-version.js.map +1 -0
  131. package/lib/types/build-type.d.ts +1 -0
  132. package/lib/types/build-type.js +2 -0
  133. package/lib/types/build-type.js.map +1 -0
  134. package/lib/types/class-parent.d.ts +11 -0
  135. package/lib/types/class-parent.js +2 -0
  136. package/lib/types/class-parent.js.map +1 -0
  137. package/lib/types/config-flags.d.ts +4 -0
  138. package/lib/types/config-flags.js +2 -0
  139. package/lib/types/config-flags.js.map +1 -0
  140. package/lib/types/conflict-child-element.d.ts +10 -0
  141. package/lib/types/conflict-child-element.js +2 -0
  142. package/lib/types/conflict-child-element.js.map +1 -0
  143. package/lib/types/conflict-grouped-element.d.ts +6 -0
  144. package/lib/types/conflict-grouped-element.js +2 -0
  145. package/lib/types/conflict-grouped-element.js.map +1 -0
  146. package/lib/types/conflict-grouped-elements.d.ts +4 -0
  147. package/lib/types/conflict-grouped-elements.js +2 -0
  148. package/lib/types/conflict-grouped-elements.js.map +1 -0
  149. package/lib/types/construct-name.d.ts +1 -0
  150. package/lib/types/construct-name.js +2 -0
  151. package/lib/types/construct-name.js.map +1 -0
  152. package/lib/types/dependency-map.d.ts +4 -0
  153. package/lib/types/dependency-map.js +2 -0
  154. package/lib/types/dependency-map.js.map +1 -0
  155. package/lib/types/dependency.d.ts +14 -0
  156. package/lib/types/dependency.js +2 -0
  157. package/lib/types/dependency.js.map +1 -0
  158. package/lib/types/environment.d.ts +1 -0
  159. package/lib/types/environment.js +2 -0
  160. package/lib/types/environment.js.map +1 -0
  161. package/lib/types/generate-config.d.ts +30 -0
  162. package/lib/types/generate-config.js +2 -0
  163. package/lib/types/generate-config.js.map +1 -0
  164. package/lib/types/generator-type.d.ts +4 -0
  165. package/lib/types/generator-type.js +6 -0
  166. package/lib/types/generator-type.js.map +1 -0
  167. package/lib/types/gir-alias-element.d.ts +13 -0
  168. package/lib/types/gir-alias-element.js +2 -0
  169. package/lib/types/gir-alias-element.js.map +1 -0
  170. package/lib/types/gir-annotation.d.ts +9 -0
  171. package/lib/types/gir-annotation.js +2 -0
  172. package/lib/types/gir-annotation.js.map +1 -0
  173. package/lib/types/gir-any-element.d.ts +2 -0
  174. package/lib/types/gir-any-element.js +2 -0
  175. package/lib/types/gir-any-element.js.map +1 -0
  176. package/lib/types/gir-any-type.d.ts +5 -0
  177. package/lib/types/gir-any-type.js +2 -0
  178. package/lib/types/gir-any-type.js.map +1 -0
  179. package/lib/types/gir-array-type.d.ts +20 -0
  180. package/lib/types/gir-array-type.js +3 -0
  181. package/lib/types/gir-array-type.js.map +1 -0
  182. package/lib/types/gir-bitfield-element.d.ts +17 -0
  183. package/lib/types/gir-bitfield-element.js +2 -0
  184. package/lib/types/gir-bitfield-element.js.map +1 -0
  185. package/lib/types/gir-boolean.d.ts +1 -0
  186. package/lib/types/gir-boolean.js +2 -0
  187. package/lib/types/gir-boolean.js.map +1 -0
  188. package/lib/types/gir-boxed-element.d.ts +15 -0
  189. package/lib/types/gir-boxed-element.js +2 -0
  190. package/lib/types/gir-boxed-element.js.map +1 -0
  191. package/lib/types/gir-c-include.d.ts +7 -0
  192. package/lib/types/gir-c-include.js +2 -0
  193. package/lib/types/gir-c-include.js.map +1 -0
  194. package/lib/types/gir-callable-attrs.d.ts +15 -0
  195. package/lib/types/gir-callable-attrs.js +3 -0
  196. package/lib/types/gir-callable-attrs.js.map +1 -0
  197. package/lib/types/gir-callable-param-element.d.ts +30 -0
  198. package/lib/types/gir-callable-param-element.js +2 -0
  199. package/lib/types/gir-callable-param-element.js.map +1 -0
  200. package/lib/types/gir-callable-param.d.ts +7 -0
  201. package/lib/types/gir-callable-param.js +2 -0
  202. package/lib/types/gir-callable-param.js.map +1 -0
  203. package/lib/types/gir-callable-return.d.ts +22 -0
  204. package/lib/types/gir-callable-return.js +2 -0
  205. package/lib/types/gir-callable-return.js.map +1 -0
  206. package/lib/types/gir-callback-element.d.ts +15 -0
  207. package/lib/types/gir-callback-element.js +2 -0
  208. package/lib/types/gir-callback-element.js.map +1 -0
  209. package/lib/types/gir-class-element.d.ts +48 -0
  210. package/lib/types/gir-class-element.js +2 -0
  211. package/lib/types/gir-class-element.js.map +1 -0
  212. package/lib/types/gir-constant-element.d.ts +15 -0
  213. package/lib/types/gir-constant-element.js +2 -0
  214. package/lib/types/gir-constant-element.js.map +1 -0
  215. package/lib/types/gir-constructor-element.d.ts +8 -0
  216. package/lib/types/gir-constructor-element.js +2 -0
  217. package/lib/types/gir-constructor-element.js.map +1 -0
  218. package/lib/types/gir-direction.d.ts +5 -0
  219. package/lib/types/gir-direction.js +7 -0
  220. package/lib/types/gir-direction.js.map +1 -0
  221. package/lib/types/gir-doc-element.d.ts +68 -0
  222. package/lib/types/gir-doc-element.js +2 -0
  223. package/lib/types/gir-doc-element.js.map +1 -0
  224. package/lib/types/gir-enum-element.d.ts +19 -0
  225. package/lib/types/gir-enum-element.js +2 -0
  226. package/lib/types/gir-enum-element.js.map +1 -0
  227. package/lib/types/gir-field-element.d.ts +18 -0
  228. package/lib/types/gir-field-element.js +2 -0
  229. package/lib/types/gir-field-element.js.map +1 -0
  230. package/lib/types/gir-function-element.d.ts +8 -0
  231. package/lib/types/gir-function-element.js +2 -0
  232. package/lib/types/gir-function-element.js.map +1 -0
  233. package/lib/types/gir-implements.d.ts +8 -0
  234. package/lib/types/gir-implements.js +2 -0
  235. package/lib/types/gir-implements.js.map +1 -0
  236. package/lib/types/gir-include.d.ts +9 -0
  237. package/lib/types/gir-include.js +2 -0
  238. package/lib/types/gir-include.js.map +1 -0
  239. package/lib/types/gir-info-attrs.d.ts +13 -0
  240. package/lib/types/gir-info-attrs.js +2 -0
  241. package/lib/types/gir-info-attrs.js.map +1 -0
  242. package/lib/types/gir-info-elements.d.ts +5 -0
  243. package/lib/types/gir-info-elements.js +2 -0
  244. package/lib/types/gir-info-elements.js.map +1 -0
  245. package/lib/types/gir-instance-parameter.d.ts +21 -0
  246. package/lib/types/gir-instance-parameter.js +2 -0
  247. package/lib/types/gir-instance-parameter.js.map +1 -0
  248. package/lib/types/gir-interface-element.d.ts +31 -0
  249. package/lib/types/gir-interface-element.js +2 -0
  250. package/lib/types/gir-interface-element.js.map +1 -0
  251. package/lib/types/gir-member-element.d.ts +17 -0
  252. package/lib/types/gir-member-element.js +2 -0
  253. package/lib/types/gir-member-element.js.map +1 -0
  254. package/lib/types/gir-method-element.d.ts +13 -0
  255. package/lib/types/gir-method-element.js +2 -0
  256. package/lib/types/gir-method-element.js.map +1 -0
  257. package/lib/types/gir-module-resolved-by.d.ts +10 -0
  258. package/lib/types/gir-module-resolved-by.js +2 -0
  259. package/lib/types/gir-module-resolved-by.js.map +1 -0
  260. package/lib/types/gir-modules-grouped-map.d.ts +4 -0
  261. package/lib/types/gir-modules-grouped-map.js +2 -0
  262. package/lib/types/gir-modules-grouped-map.js.map +1 -0
  263. package/lib/types/gir-modules-grouped.d.ts +12 -0
  264. package/lib/types/gir-modules-grouped.js +2 -0
  265. package/lib/types/gir-modules-grouped.js.map +1 -0
  266. package/lib/types/gir-namespace.d.ts +30 -0
  267. package/lib/types/gir-namespace.js +2 -0
  268. package/lib/types/gir-namespace.js.map +1 -0
  269. package/lib/types/gir-package.d.ts +7 -0
  270. package/lib/types/gir-package.js +2 -0
  271. package/lib/types/gir-package.js.map +1 -0
  272. package/lib/types/gir-prerequisite.d.ts +5 -0
  273. package/lib/types/gir-prerequisite.js +2 -0
  274. package/lib/types/gir-prerequisite.js.map +1 -0
  275. package/lib/types/gir-property-element.d.ts +21 -0
  276. package/lib/types/gir-property-element.js +2 -0
  277. package/lib/types/gir-property-element.js.map +1 -0
  278. package/lib/types/gir-record-element.d.ts +30 -0
  279. package/lib/types/gir-record-element.js +2 -0
  280. package/lib/types/gir-record-element.js.map +1 -0
  281. package/lib/types/gir-repository.d.ts +16 -0
  282. package/lib/types/gir-repository.js +2 -0
  283. package/lib/types/gir-repository.js.map +1 -0
  284. package/lib/types/gir-signal.d.ts +25 -0
  285. package/lib/types/gir-signal.js +2 -0
  286. package/lib/types/gir-signal.js.map +1 -0
  287. package/lib/types/gir-transfer-ownership-type.d.ts +5 -0
  288. package/lib/types/gir-transfer-ownership-type.js +7 -0
  289. package/lib/types/gir-transfer-ownership-type.js.map +1 -0
  290. package/lib/types/gir-transfer-ownership.d.ts +5 -0
  291. package/lib/types/gir-transfer-ownership.js +2 -0
  292. package/lib/types/gir-transfer-ownership.js.map +1 -0
  293. package/lib/types/gir-type.d.ts +14 -0
  294. package/lib/types/gir-type.js +2 -0
  295. package/lib/types/gir-type.js.map +1 -0
  296. package/lib/types/gir-union-element.d.ts +22 -0
  297. package/lib/types/gir-union-element.js +2 -0
  298. package/lib/types/gir-union-element.js.map +1 -0
  299. package/lib/types/gir-unparsed-number.d.ts +2 -0
  300. package/lib/types/gir-unparsed-number.js +2 -0
  301. package/lib/types/gir-unparsed-number.js.map +1 -0
  302. package/lib/types/gir-var-args.d.ts +5 -0
  303. package/lib/types/gir-var-args.js +2 -0
  304. package/lib/types/gir-var-args.js.map +1 -0
  305. package/lib/types/gir-virtual-method.d.ts +10 -0
  306. package/lib/types/gir-virtual-method.js +2 -0
  307. package/lib/types/gir-virtual-method.js.map +1 -0
  308. package/lib/types/index.d.ts +118 -0
  309. package/lib/types/index.js +119 -0
  310. package/lib/types/index.js.map +1 -0
  311. package/lib/types/inheritance-table.d.ts +3 -0
  312. package/lib/types/inheritance-table.js +2 -0
  313. package/lib/types/inheritance-table.js.map +1 -0
  314. package/lib/types/injection-callback.d.ts +16 -0
  315. package/lib/types/injection-callback.js +2 -0
  316. package/lib/types/injection-callback.js.map +1 -0
  317. package/lib/types/injection-class.d.ts +24 -0
  318. package/lib/types/injection-class.js +2 -0
  319. package/lib/types/injection-class.js.map +1 -0
  320. package/lib/types/injection-function.d.ts +7 -0
  321. package/lib/types/injection-function.js +2 -0
  322. package/lib/types/injection-function.js.map +1 -0
  323. package/lib/types/injection-generic-parameter.d.ts +2 -0
  324. package/lib/types/injection-generic-parameter.js +2 -0
  325. package/lib/types/injection-generic-parameter.js.map +1 -0
  326. package/lib/types/injection-instance-parameter.d.ts +2 -0
  327. package/lib/types/injection-instance-parameter.js +2 -0
  328. package/lib/types/injection-instance-parameter.js.map +1 -0
  329. package/lib/types/injection-parameter.d.ts +8 -0
  330. package/lib/types/injection-parameter.js +2 -0
  331. package/lib/types/injection-parameter.js.map +1 -0
  332. package/lib/types/injection-property.d.ts +4 -0
  333. package/lib/types/injection-property.js +2 -0
  334. package/lib/types/injection-property.js.map +1 -0
  335. package/lib/types/injection-type.d.ts +2 -0
  336. package/lib/types/injection-type.js +2 -0
  337. package/lib/types/injection-type.js.map +1 -0
  338. package/lib/types/injection.d.ts +5 -0
  339. package/lib/types/injection.js +2 -0
  340. package/lib/types/injection.js.map +1 -0
  341. package/lib/types/local-name-check.d.ts +4 -0
  342. package/lib/types/local-name-check.js +2 -0
  343. package/lib/types/local-name-check.js.map +1 -0
  344. package/lib/types/local-name-type.d.ts +1 -0
  345. package/lib/types/local-name-type.js +2 -0
  346. package/lib/types/local-name-type.js.map +1 -0
  347. package/lib/types/local-name.d.ts +7 -0
  348. package/lib/types/local-name.js +2 -0
  349. package/lib/types/local-name.js.map +1 -0
  350. package/lib/types/local-names.d.ts +4 -0
  351. package/lib/types/local-names.js +2 -0
  352. package/lib/types/local-names.js.map +1 -0
  353. package/lib/types/module-type.d.ts +1 -0
  354. package/lib/types/module-type.js +2 -0
  355. package/lib/types/module-type.js.map +1 -0
  356. package/lib/types/parsed-gir.d.ts +4 -0
  357. package/lib/types/parsed-gir.js +2 -0
  358. package/lib/types/parsed-gir.js.map +1 -0
  359. package/lib/types/part-of-class.d.ts +7 -0
  360. package/lib/types/part-of-class.js +2 -0
  361. package/lib/types/part-of-class.js.map +1 -0
  362. package/lib/types/part-of-module.d.ts +6 -0
  363. package/lib/types/part-of-module.js +2 -0
  364. package/lib/types/part-of-module.js.map +1 -0
  365. package/lib/types/resolve-type.d.ts +4 -0
  366. package/lib/types/resolve-type.js +6 -0
  367. package/lib/types/resolve-type.js.map +1 -0
  368. package/lib/types/sym-table-items.d.ts +4 -0
  369. package/lib/types/sym-table-items.js +2 -0
  370. package/lib/types/sym-table-items.js.map +1 -0
  371. package/lib/types/transformation-case.d.ts +1 -0
  372. package/lib/types/transformation-case.js +2 -0
  373. package/lib/types/transformation-case.js.map +1 -0
  374. package/lib/types/transformations.d.ts +11 -0
  375. package/lib/types/transformations.js +2 -0
  376. package/lib/types/transformations.js.map +1 -0
  377. package/lib/types/ts-alias.d.ts +10 -0
  378. package/lib/types/ts-alias.js +2 -0
  379. package/lib/types/ts-alias.js.map +1 -0
  380. package/lib/types/ts-callback-interface.d.ts +10 -0
  381. package/lib/types/ts-callback-interface.js +2 -0
  382. package/lib/types/ts-callback-interface.js.map +1 -0
  383. package/lib/types/ts-callback.d.ts +17 -0
  384. package/lib/types/ts-callback.js +2 -0
  385. package/lib/types/ts-callback.js.map +1 -0
  386. package/lib/types/ts-class.d.ts +85 -0
  387. package/lib/types/ts-class.js +2 -0
  388. package/lib/types/ts-class.js.map +1 -0
  389. package/lib/types/ts-doc-tag.d.ts +21 -0
  390. package/lib/types/ts-doc-tag.js +2 -0
  391. package/lib/types/ts-doc-tag.js.map +1 -0
  392. package/lib/types/ts-doc.d.ts +20 -0
  393. package/lib/types/ts-doc.js +2 -0
  394. package/lib/types/ts-doc.js.map +1 -0
  395. package/lib/types/ts-enum.d.ts +12 -0
  396. package/lib/types/ts-enum.js +2 -0
  397. package/lib/types/ts-enum.js.map +1 -0
  398. package/lib/types/ts-function.d.ts +44 -0
  399. package/lib/types/ts-function.js +2 -0
  400. package/lib/types/ts-function.js.map +1 -0
  401. package/lib/types/ts-generic-parameter.d.ts +8 -0
  402. package/lib/types/ts-generic-parameter.js +2 -0
  403. package/lib/types/ts-generic-parameter.js.map +1 -0
  404. package/lib/types/ts-instance-parameter.d.ts +4 -0
  405. package/lib/types/ts-instance-parameter.js +2 -0
  406. package/lib/types/ts-instance-parameter.js.map +1 -0
  407. package/lib/types/ts-member.d.ts +10 -0
  408. package/lib/types/ts-member.js +2 -0
  409. package/lib/types/ts-member.js.map +1 -0
  410. package/lib/types/ts-method.d.ts +5 -0
  411. package/lib/types/ts-method.js +2 -0
  412. package/lib/types/ts-method.js.map +1 -0
  413. package/lib/types/ts-parameter.d.ts +15 -0
  414. package/lib/types/ts-parameter.js +2 -0
  415. package/lib/types/ts-parameter.js.map +1 -0
  416. package/lib/types/ts-property.d.ts +17 -0
  417. package/lib/types/ts-property.js +2 -0
  418. package/lib/types/ts-property.js.map +1 -0
  419. package/lib/types/ts-signal.d.ts +17 -0
  420. package/lib/types/ts-signal.js +2 -0
  421. package/lib/types/ts-signal.js.map +1 -0
  422. package/lib/types/ts-type-name.d.ts +1 -0
  423. package/lib/types/ts-type-name.js +2 -0
  424. package/lib/types/ts-type-name.js.map +1 -0
  425. package/lib/types/ts-type-separator.d.ts +1 -0
  426. package/lib/types/ts-type-separator.js +2 -0
  427. package/lib/types/ts-type-separator.js.map +1 -0
  428. package/lib/types/ts-type.d.ts +22 -0
  429. package/lib/types/ts-type.js +2 -0
  430. package/lib/types/ts-type.js.map +1 -0
  431. package/lib/types/ts-var.d.ts +17 -0
  432. package/lib/types/ts-var.js +2 -0
  433. package/lib/types/ts-var.js.map +1 -0
  434. package/lib/types/type-gir-alias.d.ts +2 -0
  435. package/lib/types/type-gir-alias.js +2 -0
  436. package/lib/types/type-gir-alias.js.map +1 -0
  437. package/lib/types/type-gir-class.d.ts +2 -0
  438. package/lib/types/type-gir-class.js +2 -0
  439. package/lib/types/type-gir-class.js.map +1 -0
  440. package/lib/types/type-gir-element.d.ts +3 -0
  441. package/lib/types/type-gir-element.js +2 -0
  442. package/lib/types/type-gir-element.js.map +1 -0
  443. package/lib/types/type-gir-enumeration-member.d.ts +2 -0
  444. package/lib/types/type-gir-enumeration-member.js +2 -0
  445. package/lib/types/type-gir-enumeration-member.js.map +1 -0
  446. package/lib/types/type-gir-enumeration.d.ts +2 -0
  447. package/lib/types/type-gir-enumeration.js +2 -0
  448. package/lib/types/type-gir-enumeration.js.map +1 -0
  449. package/lib/types/type-gir-function.d.ts +1 -0
  450. package/lib/types/type-gir-function.js +2 -0
  451. package/lib/types/type-gir-function.js.map +1 -0
  452. package/lib/types/type-gir-interface.d.ts +2 -0
  453. package/lib/types/type-gir-interface.js +2 -0
  454. package/lib/types/type-gir-interface.js.map +1 -0
  455. package/lib/types/type-gir-method.d.ts +2 -0
  456. package/lib/types/type-gir-method.js +2 -0
  457. package/lib/types/type-gir-method.js.map +1 -0
  458. package/lib/types/type-gir-parameter.d.ts +1 -0
  459. package/lib/types/type-gir-parameter.js +2 -0
  460. package/lib/types/type-gir-parameter.js.map +1 -0
  461. package/lib/types/type-gir-property.d.ts +2 -0
  462. package/lib/types/type-gir-property.js +2 -0
  463. package/lib/types/type-gir-property.js.map +1 -0
  464. package/lib/types/type-gir-variable.d.ts +1 -0
  465. package/lib/types/type-gir-variable.js +2 -0
  466. package/lib/types/type-gir-variable.js.map +1 -0
  467. package/lib/types/type-ts-element.d.ts +3 -0
  468. package/lib/types/type-ts-element.js +2 -0
  469. package/lib/types/type-ts-element.js.map +1 -0
  470. package/lib/types/type-ts-enumeration-member.d.ts +2 -0
  471. package/lib/types/type-ts-enumeration-member.js +2 -0
  472. package/lib/types/type-ts-enumeration-member.js.map +1 -0
  473. package/lib/types/type-ts-function.d.ts +1 -0
  474. package/lib/types/type-ts-function.js +2 -0
  475. package/lib/types/type-ts-function.js.map +1 -0
  476. package/lib/types/type-ts-property.d.ts +1 -0
  477. package/lib/types/type-ts-property.js +2 -0
  478. package/lib/types/type-ts-property.js.map +1 -0
  479. package/lib/types/user-config-load-result.d.ts +6 -0
  480. package/lib/types/user-config-load-result.js +2 -0
  481. package/lib/types/user-config-load-result.js.map +1 -0
  482. package/lib/types/user-config.d.ts +38 -0
  483. package/lib/types/user-config.js +2 -0
  484. package/lib/types/user-config.js.map +1 -0
  485. package/lib/utils.d.ts +88 -0
  486. package/lib/utils.js +189 -0
  487. package/lib/utils.js.map +1 -0
  488. package/package.json +72 -0
  489. package/src/commands/doc.ts +65 -0
  490. package/src/commands/generate.ts +86 -0
  491. package/src/commands/index.ts +3 -0
  492. package/src/commands/list.ts +96 -0
  493. package/src/config.ts +426 -0
  494. package/src/conflict-resolver.ts +1350 -0
  495. package/src/constants.ts +29 -0
  496. package/src/generation-handler.ts +79 -0
  497. package/src/generator.ts +10 -0
  498. package/src/gir-factory.ts +488 -0
  499. package/src/gir-module.ts +2816 -0
  500. package/src/html-doc-generator.ts +23 -0
  501. package/src/index.ts +17 -0
  502. package/src/injection/callbacks/gjs/Gio-2.0.ts +37 -0
  503. package/src/injection/callbacks/gjs/index.ts +5 -0
  504. package/src/injection/callbacks/index.ts +6 -0
  505. package/src/injection/callbacks/node-gtk/index.ts +3 -0
  506. package/src/injection/classes/GLib-2-0.ts +36 -0
  507. package/src/injection/classes/gjs/GLib-2.0.ts +75 -0
  508. package/src/injection/classes/gjs/GObject-2.0.ts +635 -0
  509. package/src/injection/classes/gjs/Gio-2.0.ts +219 -0
  510. package/src/injection/classes/gjs/index.ts +7 -0
  511. package/src/injection/classes/index.ts +7 -0
  512. package/src/injection/classes/node-gtk/GLib-2.0.ts +20 -0
  513. package/src/injection/classes/node-gtk/GObject-2.0.ts +67 -0
  514. package/src/injection/classes/node-gtk/Gdk-4.0.ts +33 -0
  515. package/src/injection/classes/node-gtk/Gio-2.0.ts +15 -0
  516. package/src/injection/classes/node-gtk/Graphene-1.0.ts +134 -0
  517. package/src/injection/classes/node-gtk/Gtk-3.0.ts +32 -0
  518. package/src/injection/classes/node-gtk/Gtk-4.0.ts +53 -0
  519. package/src/injection/classes/node-gtk/Pango-1.0.ts +32 -0
  520. package/src/injection/classes/node-gtk/index.ts +21 -0
  521. package/src/injection/index.ts +3 -0
  522. package/src/injection/injector.ts +179 -0
  523. package/src/logger.ts +134 -0
  524. package/src/messages.ts +68 -0
  525. package/src/module-loader.ts +573 -0
  526. package/src/start.ts +16 -0
  527. package/src/symtable.ts +70 -0
  528. package/src/template-processor.ts +170 -0
  529. package/src/transformation.ts +583 -0
  530. package/src/type-definition-generator.ts +1387 -0
  531. package/src/types/answer-version.ts +4 -0
  532. package/src/types/build-type.ts +1 -0
  533. package/src/types/class-parent.ts +12 -0
  534. package/src/types/config-flags.ts +5 -0
  535. package/src/types/conflict-child-element.ts +11 -0
  536. package/src/types/conflict-grouped-element.ts +7 -0
  537. package/src/types/conflict-grouped-elements.ts +5 -0
  538. package/src/types/construct-name.ts +11 -0
  539. package/src/types/dependency-map.ts +4 -0
  540. package/src/types/dependency.ts +14 -0
  541. package/src/types/environment.ts +1 -0
  542. package/src/types/generate-config.ts +31 -0
  543. package/src/types/generator-type.ts +4 -0
  544. package/src/types/gir-alias-element.ts +15 -0
  545. package/src/types/gir-annotation.ts +10 -0
  546. package/src/types/gir-any-element.ts +35 -0
  547. package/src/types/gir-any-type.ts +7 -0
  548. package/src/types/gir-array-type.ts +23 -0
  549. package/src/types/gir-bitfield-element.ts +20 -0
  550. package/src/types/gir-boolean.ts +1 -0
  551. package/src/types/gir-boxed-element.ts +19 -0
  552. package/src/types/gir-c-include.ts +7 -0
  553. package/src/types/gir-callable-attrs.ts +19 -0
  554. package/src/types/gir-callable-param-element.ts +45 -0
  555. package/src/types/gir-callable-param.ts +9 -0
  556. package/src/types/gir-callable-return.ts +25 -0
  557. package/src/types/gir-callback-element.ts +28 -0
  558. package/src/types/gir-class-element.ts +71 -0
  559. package/src/types/gir-constant-element.ts +17 -0
  560. package/src/types/gir-constructor-element.ts +18 -0
  561. package/src/types/gir-direction.ts +5 -0
  562. package/src/types/gir-doc-element.ts +73 -0
  563. package/src/types/gir-enum-element.ts +28 -0
  564. package/src/types/gir-field-element.ts +31 -0
  565. package/src/types/gir-function-element.ts +19 -0
  566. package/src/types/gir-implements.ts +9 -0
  567. package/src/types/gir-include.ts +9 -0
  568. package/src/types/gir-info-attrs.ts +16 -0
  569. package/src/types/gir-info-elements.ts +8 -0
  570. package/src/types/gir-instance-parameter.ts +25 -0
  571. package/src/types/gir-interface-element.ts +53 -0
  572. package/src/types/gir-member-element.ts +19 -0
  573. package/src/types/gir-method-element.ts +25 -0
  574. package/src/types/gir-module-resolved-by.ts +11 -0
  575. package/src/types/gir-modules-grouped-map.ts +5 -0
  576. package/src/types/gir-modules-grouped.ts +13 -0
  577. package/src/types/gir-namespace.ts +47 -0
  578. package/src/types/gir-package.ts +7 -0
  579. package/src/types/gir-prerequisite.ts +5 -0
  580. package/src/types/gir-property-element.ts +31 -0
  581. package/src/types/gir-record-element.ts +47 -0
  582. package/src/types/gir-repository.ts +20 -0
  583. package/src/types/gir-signal.ts +43 -0
  584. package/src/types/gir-transfer-ownership-type.ts +5 -0
  585. package/src/types/gir-transfer-ownership.ts +6 -0
  586. package/src/types/gir-type.ts +16 -0
  587. package/src/types/gir-union-element.ts +35 -0
  588. package/src/types/gir-unparsed-number.ts +2 -0
  589. package/src/types/gir-var-args.ts +6 -0
  590. package/src/types/gir-virtual-method.ts +22 -0
  591. package/src/types/index.ts +118 -0
  592. package/src/types/inheritance-table.ts +3 -0
  593. package/src/types/injection-callback.ts +20 -0
  594. package/src/types/injection-class.ts +30 -0
  595. package/src/types/injection-function.ts +23 -0
  596. package/src/types/injection-generic-parameter.ts +3 -0
  597. package/src/types/injection-instance-parameter.ts +3 -0
  598. package/src/types/injection-parameter.ts +9 -0
  599. package/src/types/injection-property.ts +7 -0
  600. package/src/types/injection-type.ts +3 -0
  601. package/src/types/injection.ts +6 -0
  602. package/src/types/local-name-check.ts +5 -0
  603. package/src/types/local-name-type.ts +1 -0
  604. package/src/types/local-name.ts +8 -0
  605. package/src/types/local-names.ts +5 -0
  606. package/src/types/module-type.ts +1 -0
  607. package/src/types/parsed-gir.ts +5 -0
  608. package/src/types/part-of-class.ts +9 -0
  609. package/src/types/part-of-module.ts +8 -0
  610. package/src/types/resolve-type.ts +4 -0
  611. package/src/types/sym-table-items.ts +5 -0
  612. package/src/types/transformation-case.ts +7 -0
  613. package/src/types/transformations.ts +12 -0
  614. package/src/types/ts-alias.ts +11 -0
  615. package/src/types/ts-callback-interface.ts +11 -0
  616. package/src/types/ts-callback.ts +21 -0
  617. package/src/types/ts-class.ts +109 -0
  618. package/src/types/ts-doc-tag.ts +23 -0
  619. package/src/types/ts-doc.ts +23 -0
  620. package/src/types/ts-enum.ts +15 -0
  621. package/src/types/ts-function.ts +59 -0
  622. package/src/types/ts-generic-parameter.ts +8 -0
  623. package/src/types/ts-instance-parameter.ts +4 -0
  624. package/src/types/ts-member.ts +11 -0
  625. package/src/types/ts-method.ts +6 -0
  626. package/src/types/ts-parameter.ts +20 -0
  627. package/src/types/ts-property.ts +22 -0
  628. package/src/types/ts-signal.ts +21 -0
  629. package/src/types/ts-type-name.ts +1 -0
  630. package/src/types/ts-type-separator.ts +1 -0
  631. package/src/types/ts-type.ts +25 -0
  632. package/src/types/ts-var.ts +21 -0
  633. package/src/types/type-gir-alias.ts +2 -0
  634. package/src/types/type-gir-class.ts +2 -0
  635. package/src/types/type-gir-element.ts +25 -0
  636. package/src/types/type-gir-enumeration-member.ts +2 -0
  637. package/src/types/type-gir-enumeration.ts +2 -0
  638. package/src/types/type-gir-function.ts +8 -0
  639. package/src/types/type-gir-interface.ts +2 -0
  640. package/src/types/type-gir-method.ts +2 -0
  641. package/src/types/type-gir-parameter.ts +1 -0
  642. package/src/types/type-gir-property.ts +2 -0
  643. package/src/types/type-gir-variable.ts +1 -0
  644. package/src/types/type-ts-element.ts +13 -0
  645. package/src/types/type-ts-enumeration-member.ts +2 -0
  646. package/src/types/type-ts-function.ts +1 -0
  647. package/src/types/type-ts-property.ts +1 -0
  648. package/src/types/user-config-load-result.ts +6 -0
  649. package/src/types/user-config.ts +39 -0
  650. package/src/utils.ts +217 -0
  651. package/templates/Cogl-2.0.d.ts +0 -0
  652. package/templates/Gjs/GObject-2.0.d.ts +238 -0
  653. package/templates/Gjs/Gio-2.0.d.ts +64 -0
  654. package/templates/Gjs/Gjs.d.ts +135 -0
  655. package/templates/Gjs/Gjs.js +21 -0
  656. package/templates/Gjs/cast.ts +52 -0
  657. package/templates/Gjs/index.d.ts +279 -0
  658. package/templates/Gjs/index.js +4 -0
  659. package/templates/Gjs/module.d.ts +10 -0
  660. package/templates/Gjs/module.js +16 -0
  661. package/templates/Granite-1.0.d.ts +7 -0
  662. package/templates/Granite-7.0.d.ts +7 -0
  663. package/templates/GstBase-0.10.d.ts +5 -0
  664. package/templates/RygelServer-2.6.d.ts +3 -0
  665. package/templates/node-gtk/GObject-2.0.d.ts +57 -0
  666. package/templates/node-gtk/index.d.ts +40 -0
  667. package/templates/node-gtk/index.js +9 -0
  668. package/templates/node-gtk/module.d.ts +10 -0
  669. package/templates/node-gtk/module.js +17 -0
@@ -0,0 +1,238 @@
1
+ // A few things here are inspired by gi.ts
2
+ // See https://gitlab.gnome.org/ewlsh/gi.ts/-/blob/master/packages/lib/src/generators/dts/gobject.ts
3
+ // Copyright Evan Welsh
4
+
5
+ export type GType<T = unknown> = {
6
+ __type__(arg: never): T
7
+ name: string
8
+ };
9
+
10
+ // Extra interfaces used to help define GObject classes in js; these
11
+ // aren't part of gi.
12
+ export interface SignalDefinition {
13
+ flags?: SignalFlags
14
+ accumulator: number
15
+ return_type?: GType
16
+ param_types?: GType[]
17
+ }
18
+
19
+ export interface MetaInfo<Props, Interfaces, Sigs> {
20
+ GTypeName?: string
21
+ GTypeFlags?: TypeFlags
22
+ Properties?: Props
23
+ Signals?: Sigs
24
+ Implements?: Interfaces
25
+ CssName?: string
26
+ Template?: Uint8Array | GLib.Bytes
27
+ Children?: string[]
28
+ InternalChildren?: string[]
29
+ }
30
+
31
+ /** Interface of GObject Interface should be implemented by all GObject interfaces */
32
+ export class Interface<T = unknown> {
33
+ static _classInit: (cls: any) => any;
34
+ __name__: string;
35
+ _construct: (params: any, ...otherArgs: any[]) => any;
36
+ _init: (params: any) => void;
37
+ $gtype?: GType<T>;
38
+ }
39
+
40
+ /**
41
+ * Use this to signify a function that must be overridden in an
42
+ * implementation of the interface.
43
+ */
44
+ export class NotImplementedError extends Error {
45
+ get name(): 'NotImplementedError'
46
+ }
47
+
48
+ // Expose GObject static properties for ES6 classes
49
+
50
+ export const GTypeName: unique symbol;
51
+ export const requires: unique symbol;
52
+ export const interfaces: unique symbol;
53
+ export const properties: unique symbol;
54
+ export const signals: unique symbol;
55
+
56
+ export let gtypeNameBasedOnJSPath: boolean;
57
+
58
+ export let TYPE_BOOLEAN: GType<boolean>;
59
+ export let Boolean: BooleanConstructor;
60
+
61
+ export let TYPE_ENUM: GType<number>;
62
+ export let TYPE_FLAGS: GType<number>;
63
+
64
+ export let TYPE_DOUBLE: GType<number>;
65
+ export let Double: NumberConstructor;
66
+
67
+ export let TYPE_STRING: GType<string>;
68
+ export let String: StringConstructor;
69
+
70
+ export let TYPE_NONE: GType<undefined>;
71
+ export let TYPE_POINTER: GType<undefined>;
72
+ export let TYPE_BOXED: GType<unknown>;
73
+ export let TYPE_PARAM: GType<unknown>;
74
+ export let TYPE_INTERFACE: GType<unknown>;
75
+ export let TYPE_OBJECT: GType<object>;
76
+ export let TYPE_VARIANT: GType<GLib.Variant>;
77
+ export let TYPE_INT: GType<number>;
78
+ export let TYPE_UINT: GType<number>;
79
+ export let TYPE_INT64: GType<number>;
80
+ export let TYPE_UINT64: GType<number>;
81
+
82
+ // fake enum for signal accumulators, keep in sync with gi/object.c
83
+ export enum AccumulatorType {
84
+ NONE=0,
85
+ FIRST_WINS=1,
86
+ TRUE_HANDLED=2,
87
+ }
88
+
89
+ // A simple workaround if you have a class with .connect, .disconnect or .emit
90
+ // methods (such as Gio.Socket.connect or NMClient.Device.disconnect)
91
+ // The original g_signal_* functions are not introspectable anyway, because
92
+ // we need our own handling of signal argument marshalling
93
+ export function signal_connect(object: Object, name: string, handler: (...args: any[]) => any): number
94
+ export function signal_connect_after(object: Object, name: string, handler: (...args: any[]) => any): number
95
+ export function signal_emit_by_name(object: Object, ...nameAndArgs: any[]): void
96
+
97
+ /**
98
+ * Finds the first signal handler that matches certain selection criteria.
99
+ * The criteria are passed as properties of a match object.
100
+ * The match object has to be non-empty for successful matches.
101
+ * If no handler was found, a falsy value is returned.
102
+ *
103
+ * @param instance the instance owning the signal handler to be found.
104
+ * @param match a properties object indicating whether to match by signal ID, detail, or callback function.
105
+ * @param match.signalId signal the handler has to be connected to.
106
+ * @param match.detail signal detail the handler has to be connected to.
107
+ * @param match.func the callback function the handler will invoke.
108
+ * @returns A valid non-0 signal handler ID for a successful match.
109
+ */
110
+ export function signal_handler_find(instance: Object, match: {signalId: string, detail: string, func: (...args: any[]) => any}): number | bigint | object | null
111
+
112
+ /**
113
+ * Blocks all handlers on an instance that match certain selection criteria.
114
+ * The criteria are passed as properties of a match object.
115
+ * The match object has to have at least `func` for successful matches.
116
+ * If no handlers were found, 0 is returned, the number of blocked handlers
117
+ * otherwise.
118
+ *
119
+ * @param instance the instance owning the signal handler to be found.
120
+ * @param match a properties object indicating whether to match by signal ID, detail, or callback function.
121
+ * @param match.signalId signal the handler has to be connected to.
122
+ * @param match.detail signal detail the handler has to be connected to.
123
+ * @param match.func the callback function the handler will invoke.
124
+ * @returns The number of handlers that matched.
125
+ */
126
+ export function signal_handlers_block_matched(instance: Object, match: {signalId: string, detail: string, func: (...args: any[]) => any}): number
127
+
128
+ /**
129
+ * Disconnects all handlers on an instance that match certain selection
130
+ * criteria.
131
+ * The criteria are passed as properties of a match object.
132
+ * The match object has to have at least `func` for successful matches.
133
+ * If no handlers were found, 0 is returned, the number of disconnected
134
+ * handlers otherwise.
135
+ *
136
+ * @param instance the instance owning the signal handler
137
+ * to be found.
138
+ * @param match a properties object indicating whether to match by signal ID, detail, or callback function.
139
+ * @param match.signalId signal the handler has to be connected to.
140
+ * @param match.detail signal detail the handler has to be connected to.
141
+ * @param match.func the callback function the handler will invoke.
142
+ * @returns The number of handlers that matched.
143
+ */
144
+ export function signal_handlers_unblock_matched(instance: Object, match: {signalId: string, detail: string, func: (...args: any[]) => any}): number
145
+
146
+ /**
147
+ * Disconnects all handlers on an instance that match certain selection
148
+ * criteria.
149
+ * The criteria are passed as properties of a match object.
150
+ * The match object has to have at least `func` for successful matches.
151
+ * If no handlers were found, 0 is returned, the number of disconnected
152
+ * handlers otherwise.
153
+ *
154
+ * @param instance the instance owning the signal handler
155
+ * to be found.
156
+ * @param match a properties object indicating whether to match by signal ID, detail, or callback function.
157
+ * @param match.signalId signal the handler has to be connected to.
158
+ * @param match.detail signal detail the handler has to be connected to.
159
+ * @param match.func the callback function the handler will invoke.
160
+ * @returns The number of handlers that matched.
161
+ */
162
+ export function signal_handlers_disconnect_matched(instance: Object, match: {signalId: string, detail: string, func: (...args: any[]) => any}): number
163
+
164
+ // Also match the macros used in C APIs, even though they're not introspected
165
+
166
+ /**
167
+ * Blocks all handlers on an instance that match `func`.
168
+ *
169
+ * @param instance the instance to block handlers from.
170
+ * @param func the callback function the handler will invoke.
171
+ * @returns The number of handlers that matched.
172
+ */
173
+ export function signal_handlers_block_by_func(instance: Object, func: (...args: any[]) => any): number;
174
+
175
+ /**
176
+ * Unblocks all handlers on an instance that match `func`.
177
+ *
178
+ * @function
179
+ * @param instance the instance to unblock handlers from.
180
+ * @param func the callback function the handler will invoke.
181
+ * @returns The number of handlers that matched.
182
+ */
183
+ export function signal_handlers_unblock_by_func(instance: Object, func: (...args: any[]) => any): number;
184
+
185
+ /**
186
+ * Disconnects all handlers on an instance that match `func`.
187
+ *
188
+ * @param instance the instance to remove handlers from.
189
+ * @param func the callback function the handler will invoke.
190
+ * @returns The number of handlers that matched.
191
+ */
192
+ export function signal_handlers_disconnect_by_func(instance: Object, func: (...args: any[]) => any): number;
193
+ export function signal_handlers_disconnect_by_data(): void;
194
+
195
+ export type Property<K extends ParamSpec> = K extends ParamSpecBoolean
196
+ ? boolean
197
+ : K extends ParamSpecDouble | ParamSpecInt | ParamSpecUInt | ParamSpecFloat | ParamSpecLong
198
+ ? number
199
+ : K extends ParamSpecInt64 | ParamSpecUInt64 | ParamSpecULong
200
+ ? number
201
+ : K extends ParamSpecFlags
202
+ ? number
203
+ : K extends ParamSpecString | ParamSpecUnichar
204
+ ? string
205
+ : K extends ParamSpecValueArray
206
+ ? any[]
207
+ : K extends ParamSpecObject // TODO?: <infer T>
208
+ ? ParamSpecObject // T
209
+ : K extends ParamSpecEnum // TODO?: <infer T><infer E>
210
+ ? ParamSpecEnum // E
211
+ : K extends ParamSpecBoxed // TODO?: <infer T><infer B>
212
+ ? ParamSpecBoxed //B
213
+ : K extends ParamSpecVariant
214
+ ? GLib.Variant
215
+ : any;
216
+
217
+ // TODO: What about the generated class Closure
218
+ export type TClosure<R = any, P = any> = (...args: P[]) => R;
219
+
220
+ // This should be replaces by a class of GObject.Object as soon as once we have implemented inheritance
221
+ export class AnyClass {}
222
+
223
+ export function registerClass<
224
+ T extends AnyClass,
225
+ Props extends { [key: string]: ParamSpec },
226
+ Interfaces extends { $gtype: GType }[],
227
+ Sigs extends {
228
+ [key: string]: {
229
+ param_types?: readonly GType[];
230
+ [key: string]: any;
231
+ };
232
+ }
233
+ >(
234
+ options: MetaInfo<Props, Interfaces, Sigs>,
235
+ cls: T
236
+ ): T;
237
+
238
+ export function registerClass<T extends AnyClass>(cls: T): T
@@ -0,0 +1,64 @@
1
+ // See https://gitlab.gnome.org/GNOME/gjs/-/blob/master/modules/core/overrides/Gio.js
2
+ export const DBus: {
3
+ readonly session: DBusConnection;
4
+ readonly system: DBusConnection;
5
+ get(bus_type: BusType, cancellable?: Cancellable | null, callback?: AsyncReadyCallback | null): void;
6
+ get_finish(res: AsyncResult): DBusConnection;
7
+ get_sync(bus_type: BusType, cancellable?: Cancellable | null): DBusConnection;
8
+ own_name(
9
+ bus_type: BusType,
10
+ name: string,
11
+ flags: BusNameOwnerFlags,
12
+ bus_acquired_closure?: GObject.Closure | null,
13
+ name_acquired_closure?: GObject.Closure | null,
14
+ name_lost_closure?: GObject.Closure | null
15
+ ): number;
16
+ own_name_on_connection(
17
+ connection: DBusConnection,
18
+ name: string,
19
+ flags: BusNameOwnerFlags,
20
+ name_acquired_closure?: GObject.Closure | null,
21
+ name_lost_closure?: GObject.Closure | null
22
+ ): number;
23
+ unown_name(owner_id: number): void;
24
+ watch_name(
25
+ bus_type: BusType,
26
+ name: string,
27
+ flags: BusNameWatcherFlags,
28
+ name_appeared_closure?: GObject.Closure | null,
29
+ name_vanished_closure?: GObject.Closure | null
30
+ ): number;
31
+ unwatch_name(watcher_id: number): void;
32
+ watch_name_on_connection(
33
+ connection: DBusConnection,
34
+ name: string,
35
+ flags: BusNameWatcherFlags,
36
+ name_appeared_closure?: GObject.Closure | null,
37
+ name_vanished_closure?: GObject.Closure | null
38
+ ): number;
39
+ }
40
+
41
+ export module DBusExportedObject {
42
+ export interface ConstructorProperties {
43
+ [key: string]: any;
44
+ }
45
+ }
46
+
47
+ // See https://gitlab.gnome.org/GNOME/gjs/-/blob/master/modules/core/overrides/Gio.js
48
+ export class DBusExportedObject {
49
+ static $gtype: GObject.GType<DBusExportedObject>;
50
+
51
+ constructor(properties?: Partial<DBusExportedObject.ConstructorProperties>, ...args: any[]);
52
+ _init(properties?: Partial<DBusExportedObject.ConstructorProperties>, ...args: any[]): void;
53
+
54
+ static wrapJSObject(info: string, obj: any): DBusExportedObject;
55
+ get_info(): DBusInterfaceInfo;
56
+ get_connection(): DBusConnection;
57
+ get_object_path(): string;
58
+ unexport_from_connection(connection: DBusConnection): void;
59
+ ["export"](busConnection: DBusConnection, objectPath: string): void;
60
+ unexport(): void;
61
+ flush(): void;
62
+ emit_signal(name: string, variant: GLib.Variant): void;
63
+ emit_property_changed(name: string, variant: GLib.Variant): void;
64
+ }
@@ -0,0 +1,135 @@
1
+ <% if(useNamespace){ %>
2
+ import GObject from './GObject-2.0.js';
3
+ import GLib from './GLib-2.0.js';
4
+ <% } else { %>
5
+ import * as GObject from './GObject-2.0.js';
6
+ import * as GLib from './GLib-2.0.js';
7
+ <% } %>
8
+
9
+ // https://gitlab.gnome.org/GNOME/gjs/-/blob/1.72.0/modules/script/package.js
10
+ export namespace Package {
11
+ /**
12
+ * Although there are references in the documentation of more properties that
13
+ * this object should accepts, only the following are actually used in the init code,
14
+ * and all the other have their values derived from them.
15
+ */
16
+ interface PackageInitParams {
17
+ name: string
18
+ version: string
19
+ prefix: string
20
+ libdir: string
21
+ }
22
+
23
+ export const name: string | undefined
24
+ export const version: string | undefined
25
+ export const prefix: string | undefined
26
+ export const datadir: string | undefined
27
+ export const libdir: string | undefined
28
+ export const pkgdatadir: string | undefined
29
+ export const pkglibdir: string | undefined
30
+ export const moduledir: string | undefined
31
+ export const localedir: string | undefined
32
+
33
+ export function init(params: PackageInitParams): void
34
+ export function run(module: { main: (argv: string[]) => void }): void
35
+ /** shortcut to init+run */
36
+ export function start(params: PackageInitParams): void
37
+ export function require(libs: Record<string, string>): void
38
+ export function requireSymbol(lib: string, ver: string, symbol: string): void
39
+ export function checkSymbol(lib: string, ver: string, symbol: string): void
40
+ export function initGettext(): void
41
+ /** @deprecated Use JS string interpolation */
42
+ export function initFormat(): void
43
+ export function initSubmodule(module: string): void
44
+ }
45
+
46
+ export namespace System {
47
+ export const programInvocationName: string
48
+ export const version: number
49
+ export const programPath: string | null
50
+ /** Equal to ARGV */
51
+ export const programArgs: string[]
52
+ export function exit(code: number): void
53
+ export function addressOfGObject(o: GObject.Object): object
54
+ export function addressOf(o: any): object
55
+ /** Runs the garbage collector */
56
+ export function gc(): void
57
+ export function refcount(o: GObject.Object): number
58
+ export function dumpHeap(path: string): void
59
+ export function dumpMemoryInfo(path: string): void
60
+ }
61
+
62
+ export namespace byteArray {
63
+ export function fromString(input: string): Uint8Array
64
+ export function fromGBytes(input: GLib.Bytes): Uint8Array
65
+ export function toString(x: Uint8Array): string
66
+ export function toGBytes(x: Uint8Array): GLib.Bytes
67
+ }
68
+
69
+ export namespace console {
70
+ export function interact(): void
71
+ }
72
+
73
+ export namespace Lang {
74
+ // TODO: There is a lot more in Lang
75
+ export function Class(props: any): void
76
+ }
77
+
78
+ export namespace gettext {
79
+ export enum LocaleCategory {
80
+ ALL,
81
+ COLLATE,
82
+ CTYPE,
83
+ MESSAGES,
84
+ MONETARY,
85
+ NUMERIC,
86
+ TIME,
87
+ }
88
+ export function setlocale(category: number, locale: string | null): string
89
+ export function textdomain(domainname: string | null): string
90
+ export function bindtextdomain(domainname: string, dirname: string | null): string
91
+ export function gettext(msgid: string): string
92
+ export function dgettext(domainname: string | null, msgid: string): string
93
+ export function dcgettext(domainname: string | null, msgid: string, category: number): string
94
+ export function ngettext(msgid: string, msgid_plural: string, n: number): string
95
+ export function dngettext(domainname: string, msgid: string, msgid_plural: string, n: number): string
96
+ export function domain(domainName: string): {
97
+ gettext: (msgid: string) => string
98
+ ngettext: (msgid: string, msgid_plural: string, n: number) => string
99
+ pgettext: (context: any, msgid: string) => any
100
+ }
101
+ }
102
+
103
+ export namespace Format {
104
+ export function vprintf(str: string, args: string[]): string
105
+ export function printf(fmt: string, ...args: any[]): void
106
+ // Following docs from gjs/modules/format.js
107
+ /**
108
+ * This function is intended to extend the String object and provide
109
+ * an String.format API for string formatting.
110
+ * It has to be set up using String.prototype.format = Format.format;
111
+ * Usage:
112
+ * "somestring %s %d".format('hello', 5);
113
+ * It supports %s, %d, %x and %f, for %f it also support precisions like
114
+ * "%.2f".format(1.526). All specifiers can be prefixed with a minimum
115
+ * field width, e.g. "%5s".format("foo"). Unless the width is prefixed
116
+ * with '0', the formatted string will be padded with spaces.
117
+ */
118
+ export function format(fmt: string, ...args: any[]): string
119
+ }
120
+
121
+ export namespace Mainloop {
122
+ export function quit(name: string): void
123
+ export function idle_source(handler: any, priority: number): any
124
+ export function idle_add(handler: any, priority: number): any
125
+ export function timeout_source(timeout: any, handler: any, priority: number): any
126
+ export function timeout_seconds_source(timeout: any, handler: any, priority: number): any
127
+ export function timeout_add(timeout: any, handler: any, priority: number): any
128
+ export function timeout_add_seconds(timeout: any, handler: any, priority: number): any
129
+ export function source_remove(id: any): any
130
+ export function run(name: string): void
131
+ }
132
+
133
+ export namespace Signals {
134
+ export function addSignalMethods(proto: object): void
135
+ }
@@ -0,0 +1,21 @@
1
+ <% if(moduleType === 'esm') { %>
2
+ export const byteArray = imports.byteArray;
3
+ export const Lang = imports.lang;
4
+ export const Format = imports.format;
5
+ export const Mainloop = imports.mainloop;
6
+ export const gettext = imports.gettext;
7
+ export const System = imports.system;
8
+ export const Signals = imports.signals;
9
+ export const Package = imports.package;
10
+ <% } else { %>
11
+ module.exports = {
12
+ byteArray: imports.byteArray,
13
+ Lang: imports.lang,
14
+ Format: imports.format,
15
+ Mainloop: imports.mainloop,
16
+ gettext: imports.gettext,
17
+ System: imports.system,
18
+ Signals: imports.signals,
19
+ Package: imports.package
20
+ }
21
+ <% } %>
@@ -0,0 +1,52 @@
1
+
2
+ <% if(useNamespace){ %>
3
+ import GObject from './GObject-2.0.js';
4
+ <% } else { %>
5
+ import * as GObject from './GObject-2.0.js';
6
+ <% } %>
7
+
8
+ const inheritanceTable: { [key: string]: string[] } = {
9
+ <%_ for (const key of inheritanceTableKeys) { _%>
10
+ '<%= key %>': [
11
+ <%_ for (const value of inheritanceTable[key]) { _%>
12
+ '<%= value %>',
13
+ <%_ } _%>
14
+ ],
15
+ <%_ } _%>
16
+ }
17
+
18
+
19
+ interface StaticNamedClass<T> {
20
+ new (...args: any[]): T
21
+ name: string
22
+ }
23
+
24
+ /**
25
+ * Casts between derived classes, performing a run-time type-check
26
+ * and raising an exception if the cast fails. Allows casting to implemented
27
+ * interfaces, too.
28
+ */
29
+ export function giCast<T>(from_: GObject.Object, to_: StaticNamedClass<T>): T {
30
+ const desc: string = from_.toString()
31
+ let clsName: string|null = null
32
+ for (const k of desc.split(" ")) {
33
+ if (k.substring(0, 7) == "GIName:") {
34
+ clsName = k.substring(7)
35
+ break
36
+ }
37
+ }
38
+ const toName = to_.name.replace("_", ".")
39
+
40
+ if (toName === clsName)
41
+ return ((from_ as any) as T)
42
+
43
+ if (clsName) {
44
+ const parents = inheritanceTable[clsName]
45
+ if (parents) {
46
+ if (parents.indexOf(toName) >= 0)
47
+ return ((from_ as any) as T)
48
+ }
49
+ }
50
+
51
+ throw Error("Invalid cast of " + desc + "(" + clsName + ") to " + toName)
52
+ }