@ts-for-gir/cli 3.0.0-beta.8 → 3.0.0

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 (672) hide show
  1. package/README.md +429 -49
  2. package/lib/commands/doc.d.ts +1 -17
  3. package/lib/commands/doc.js +7 -13
  4. package/lib/commands/doc.js.map +1 -1
  5. package/lib/commands/generate.d.ts +1 -39
  6. package/lib/commands/generate.js +8 -25
  7. package/lib/commands/generate.js.map +1 -1
  8. package/lib/commands/list.d.ts +1 -11
  9. package/lib/commands/list.js +6 -10
  10. package/lib/commands/list.js.map +1 -1
  11. package/lib/config.d.ts +25 -11
  12. package/lib/config.js +194 -112
  13. package/lib/config.js.map +1 -1
  14. package/lib/generation-handler.d.ts +3 -4
  15. package/lib/generation-handler.js +8 -12
  16. package/lib/generation-handler.js.map +1 -1
  17. package/lib/index.d.ts +0 -12
  18. package/lib/index.js +0 -12
  19. package/lib/index.js.map +1 -1
  20. package/lib/module-loader.d.ts +41 -27
  21. package/lib/module-loader.js +54 -56
  22. package/lib/module-loader.js.map +1 -1
  23. package/lib/utils.d.ts +13 -86
  24. package/lib/utils.js +13 -194
  25. package/lib/utils.js.map +1 -1
  26. package/package.json +32 -37
  27. package/src/commands/doc.ts +9 -14
  28. package/src/commands/generate.ts +10 -25
  29. package/src/commands/list.ts +8 -10
  30. package/src/config.ts +211 -115
  31. package/src/generation-handler.ts +12 -13
  32. package/src/index.ts +0 -12
  33. package/src/module-loader.ts +88 -75
  34. package/src/utils.ts +12 -222
  35. package/lib/conflict-resolver.d.ts +0 -155
  36. package/lib/conflict-resolver.js +0 -1103
  37. package/lib/conflict-resolver.js.map +0 -1
  38. package/lib/constants.d.ts +0 -18
  39. package/lib/constants.js +0 -23
  40. package/lib/constants.js.map +0 -1
  41. package/lib/generator.d.ts +0 -5
  42. package/lib/generator.js +0 -2
  43. package/lib/generator.js.map +0 -1
  44. package/lib/gir-factory.d.ts +0 -51
  45. package/lib/gir-factory.js +0 -361
  46. package/lib/gir-factory.js.map +0 -1
  47. package/lib/gir-module.d.ts +0 -256
  48. package/lib/gir-module.js +0 -2075
  49. package/lib/gir-module.js.map +0 -1
  50. package/lib/html-doc-generator.d.ts +0 -13
  51. package/lib/html-doc-generator.js +0 -18
  52. package/lib/html-doc-generator.js.map +0 -1
  53. package/lib/injection/callbacks/gjs/Gio-2.0.d.ts +0 -2
  54. package/lib/injection/callbacks/gjs/Gio-2.0.js +0 -36
  55. package/lib/injection/callbacks/gjs/Gio-2.0.js.map +0 -1
  56. package/lib/injection/callbacks/gjs/index.d.ts +0 -2
  57. package/lib/injection/callbacks/gjs/index.js +0 -3
  58. package/lib/injection/callbacks/gjs/index.js.map +0 -1
  59. package/lib/injection/callbacks/index.d.ts +0 -4
  60. package/lib/injection/callbacks/index.js +0 -4
  61. package/lib/injection/callbacks/index.js.map +0 -1
  62. package/lib/injection/callbacks/node-gtk/index.d.ts +0 -2
  63. package/lib/injection/callbacks/node-gtk/index.js +0 -2
  64. package/lib/injection/callbacks/node-gtk/index.js.map +0 -1
  65. package/lib/injection/classes/GLib-2-0.d.ts +0 -2
  66. package/lib/injection/classes/GLib-2-0.js +0 -35
  67. package/lib/injection/classes/GLib-2-0.js.map +0 -1
  68. package/lib/injection/classes/gjs/GLib-2.0.d.ts +0 -2
  69. package/lib/injection/classes/gjs/GLib-2.0.js +0 -200
  70. package/lib/injection/classes/gjs/GLib-2.0.js.map +0 -1
  71. package/lib/injection/classes/gjs/GObject-2.0.d.ts +0 -2
  72. package/lib/injection/classes/gjs/GObject-2.0.js +0 -634
  73. package/lib/injection/classes/gjs/GObject-2.0.js.map +0 -1
  74. package/lib/injection/classes/gjs/Gio-2.0.d.ts +0 -5
  75. package/lib/injection/classes/gjs/Gio-2.0.js +0 -218
  76. package/lib/injection/classes/gjs/Gio-2.0.js.map +0 -1
  77. package/lib/injection/classes/gjs/index.d.ts +0 -2
  78. package/lib/injection/classes/gjs/index.js +0 -5
  79. package/lib/injection/classes/gjs/index.js.map +0 -1
  80. package/lib/injection/classes/index.d.ts +0 -4
  81. package/lib/injection/classes/index.js +0 -5
  82. package/lib/injection/classes/index.js.map +0 -1
  83. package/lib/injection/classes/node-gtk/GLib-2.0.d.ts +0 -2
  84. package/lib/injection/classes/node-gtk/GLib-2.0.js +0 -19
  85. package/lib/injection/classes/node-gtk/GLib-2.0.js.map +0 -1
  86. package/lib/injection/classes/node-gtk/GObject-2.0.d.ts +0 -2
  87. package/lib/injection/classes/node-gtk/GObject-2.0.js +0 -66
  88. package/lib/injection/classes/node-gtk/GObject-2.0.js.map +0 -1
  89. package/lib/injection/classes/node-gtk/Gdk-4.0.d.ts +0 -2
  90. package/lib/injection/classes/node-gtk/Gdk-4.0.js +0 -32
  91. package/lib/injection/classes/node-gtk/Gdk-4.0.js.map +0 -1
  92. package/lib/injection/classes/node-gtk/Gio-2.0.d.ts +0 -2
  93. package/lib/injection/classes/node-gtk/Gio-2.0.js +0 -14
  94. package/lib/injection/classes/node-gtk/Gio-2.0.js.map +0 -1
  95. package/lib/injection/classes/node-gtk/Graphene-1.0.d.ts +0 -2
  96. package/lib/injection/classes/node-gtk/Graphene-1.0.js +0 -133
  97. package/lib/injection/classes/node-gtk/Graphene-1.0.js.map +0 -1
  98. package/lib/injection/classes/node-gtk/Gtk-3.0.d.ts +0 -2
  99. package/lib/injection/classes/node-gtk/Gtk-3.0.js +0 -31
  100. package/lib/injection/classes/node-gtk/Gtk-3.0.js.map +0 -1
  101. package/lib/injection/classes/node-gtk/Gtk-4.0.d.ts +0 -2
  102. package/lib/injection/classes/node-gtk/Gtk-4.0.js +0 -52
  103. package/lib/injection/classes/node-gtk/Gtk-4.0.js.map +0 -1
  104. package/lib/injection/classes/node-gtk/Pango-1.0.d.ts +0 -2
  105. package/lib/injection/classes/node-gtk/Pango-1.0.js +0 -31
  106. package/lib/injection/classes/node-gtk/Pango-1.0.js.map +0 -1
  107. package/lib/injection/classes/node-gtk/index.d.ts +0 -2
  108. package/lib/injection/classes/node-gtk/index.js +0 -19
  109. package/lib/injection/classes/node-gtk/index.js.map +0 -1
  110. package/lib/injection/index.d.ts +0 -3
  111. package/lib/injection/index.js +0 -4
  112. package/lib/injection/index.js.map +0 -1
  113. package/lib/injection/injector.d.ts +0 -17
  114. package/lib/injection/injector.js +0 -139
  115. package/lib/injection/injector.js.map +0 -1
  116. package/lib/logger.d.ts +0 -36
  117. package/lib/logger.js +0 -137
  118. package/lib/logger.js.map +0 -1
  119. package/lib/messages.d.ts +0 -30
  120. package/lib/messages.js +0 -45
  121. package/lib/messages.js.map +0 -1
  122. package/lib/symtable.d.ts +0 -24
  123. package/lib/symtable.js +0 -63
  124. package/lib/symtable.js.map +0 -1
  125. package/lib/template-processor.d.ts +0 -75
  126. package/lib/template-processor.js +0 -207
  127. package/lib/template-processor.js.map +0 -1
  128. package/lib/transformation.d.ts +0 -156
  129. package/lib/transformation.js +0 -523
  130. package/lib/transformation.js.map +0 -1
  131. package/lib/type-definition-generator.d.ts +0 -116
  132. package/lib/type-definition-generator.js +0 -989
  133. package/lib/type-definition-generator.js.map +0 -1
  134. package/lib/types/answer-version.d.ts +0 -4
  135. package/lib/types/answer-version.js +0 -2
  136. package/lib/types/answer-version.js.map +0 -1
  137. package/lib/types/build-type.d.ts +0 -1
  138. package/lib/types/build-type.js +0 -2
  139. package/lib/types/build-type.js.map +0 -1
  140. package/lib/types/class-parent.d.ts +0 -11
  141. package/lib/types/class-parent.js +0 -2
  142. package/lib/types/class-parent.js.map +0 -1
  143. package/lib/types/config-flags.d.ts +0 -4
  144. package/lib/types/config-flags.js +0 -2
  145. package/lib/types/config-flags.js.map +0 -1
  146. package/lib/types/conflict-child-element.d.ts +0 -10
  147. package/lib/types/conflict-child-element.js +0 -2
  148. package/lib/types/conflict-child-element.js.map +0 -1
  149. package/lib/types/conflict-grouped-element.d.ts +0 -6
  150. package/lib/types/conflict-grouped-element.js +0 -2
  151. package/lib/types/conflict-grouped-element.js.map +0 -1
  152. package/lib/types/conflict-grouped-elements.d.ts +0 -4
  153. package/lib/types/conflict-grouped-elements.js +0 -2
  154. package/lib/types/conflict-grouped-elements.js.map +0 -1
  155. package/lib/types/construct-name.d.ts +0 -1
  156. package/lib/types/construct-name.js +0 -2
  157. package/lib/types/construct-name.js.map +0 -1
  158. package/lib/types/dependency-map.d.ts +0 -4
  159. package/lib/types/dependency-map.js +0 -2
  160. package/lib/types/dependency-map.js.map +0 -1
  161. package/lib/types/dependency.d.ts +0 -14
  162. package/lib/types/dependency.js +0 -2
  163. package/lib/types/dependency.js.map +0 -1
  164. package/lib/types/environment.d.ts +0 -1
  165. package/lib/types/environment.js +0 -2
  166. package/lib/types/environment.js.map +0 -1
  167. package/lib/types/generate-config.d.ts +0 -34
  168. package/lib/types/generate-config.js +0 -2
  169. package/lib/types/generate-config.js.map +0 -1
  170. package/lib/types/generator-type.d.ts +0 -4
  171. package/lib/types/generator-type.js +0 -6
  172. package/lib/types/generator-type.js.map +0 -1
  173. package/lib/types/gir-alias-element.d.ts +0 -13
  174. package/lib/types/gir-alias-element.js +0 -2
  175. package/lib/types/gir-alias-element.js.map +0 -1
  176. package/lib/types/gir-annotation.d.ts +0 -9
  177. package/lib/types/gir-annotation.js +0 -2
  178. package/lib/types/gir-annotation.js.map +0 -1
  179. package/lib/types/gir-any-element.d.ts +0 -2
  180. package/lib/types/gir-any-element.js +0 -2
  181. package/lib/types/gir-any-element.js.map +0 -1
  182. package/lib/types/gir-any-type.d.ts +0 -5
  183. package/lib/types/gir-any-type.js +0 -2
  184. package/lib/types/gir-any-type.js.map +0 -1
  185. package/lib/types/gir-array-type.d.ts +0 -20
  186. package/lib/types/gir-array-type.js +0 -3
  187. package/lib/types/gir-array-type.js.map +0 -1
  188. package/lib/types/gir-bitfield-element.d.ts +0 -17
  189. package/lib/types/gir-bitfield-element.js +0 -2
  190. package/lib/types/gir-bitfield-element.js.map +0 -1
  191. package/lib/types/gir-boolean.d.ts +0 -1
  192. package/lib/types/gir-boolean.js +0 -2
  193. package/lib/types/gir-boolean.js.map +0 -1
  194. package/lib/types/gir-boxed-element.d.ts +0 -15
  195. package/lib/types/gir-boxed-element.js +0 -2
  196. package/lib/types/gir-boxed-element.js.map +0 -1
  197. package/lib/types/gir-c-include.d.ts +0 -7
  198. package/lib/types/gir-c-include.js +0 -2
  199. package/lib/types/gir-c-include.js.map +0 -1
  200. package/lib/types/gir-callable-attrs.d.ts +0 -15
  201. package/lib/types/gir-callable-attrs.js +0 -3
  202. package/lib/types/gir-callable-attrs.js.map +0 -1
  203. package/lib/types/gir-callable-param-element.d.ts +0 -30
  204. package/lib/types/gir-callable-param-element.js +0 -2
  205. package/lib/types/gir-callable-param-element.js.map +0 -1
  206. package/lib/types/gir-callable-param.d.ts +0 -7
  207. package/lib/types/gir-callable-param.js +0 -2
  208. package/lib/types/gir-callable-param.js.map +0 -1
  209. package/lib/types/gir-callable-return.d.ts +0 -22
  210. package/lib/types/gir-callable-return.js +0 -2
  211. package/lib/types/gir-callable-return.js.map +0 -1
  212. package/lib/types/gir-callback-element.d.ts +0 -15
  213. package/lib/types/gir-callback-element.js +0 -2
  214. package/lib/types/gir-callback-element.js.map +0 -1
  215. package/lib/types/gir-class-element.d.ts +0 -48
  216. package/lib/types/gir-class-element.js +0 -2
  217. package/lib/types/gir-class-element.js.map +0 -1
  218. package/lib/types/gir-constant-element.d.ts +0 -15
  219. package/lib/types/gir-constant-element.js +0 -2
  220. package/lib/types/gir-constant-element.js.map +0 -1
  221. package/lib/types/gir-constructor-element.d.ts +0 -8
  222. package/lib/types/gir-constructor-element.js +0 -2
  223. package/lib/types/gir-constructor-element.js.map +0 -1
  224. package/lib/types/gir-direction.d.ts +0 -5
  225. package/lib/types/gir-direction.js +0 -7
  226. package/lib/types/gir-direction.js.map +0 -1
  227. package/lib/types/gir-doc-element.d.ts +0 -68
  228. package/lib/types/gir-doc-element.js +0 -2
  229. package/lib/types/gir-doc-element.js.map +0 -1
  230. package/lib/types/gir-enum-element.d.ts +0 -19
  231. package/lib/types/gir-enum-element.js +0 -2
  232. package/lib/types/gir-enum-element.js.map +0 -1
  233. package/lib/types/gir-field-element.d.ts +0 -18
  234. package/lib/types/gir-field-element.js +0 -2
  235. package/lib/types/gir-field-element.js.map +0 -1
  236. package/lib/types/gir-function-element.d.ts +0 -8
  237. package/lib/types/gir-function-element.js +0 -2
  238. package/lib/types/gir-function-element.js.map +0 -1
  239. package/lib/types/gir-implements.d.ts +0 -8
  240. package/lib/types/gir-implements.js +0 -2
  241. package/lib/types/gir-implements.js.map +0 -1
  242. package/lib/types/gir-include.d.ts +0 -9
  243. package/lib/types/gir-include.js +0 -2
  244. package/lib/types/gir-include.js.map +0 -1
  245. package/lib/types/gir-info-attrs.d.ts +0 -13
  246. package/lib/types/gir-info-attrs.js +0 -2
  247. package/lib/types/gir-info-attrs.js.map +0 -1
  248. package/lib/types/gir-info-elements.d.ts +0 -5
  249. package/lib/types/gir-info-elements.js +0 -2
  250. package/lib/types/gir-info-elements.js.map +0 -1
  251. package/lib/types/gir-instance-parameter.d.ts +0 -21
  252. package/lib/types/gir-instance-parameter.js +0 -2
  253. package/lib/types/gir-instance-parameter.js.map +0 -1
  254. package/lib/types/gir-interface-element.d.ts +0 -31
  255. package/lib/types/gir-interface-element.js +0 -2
  256. package/lib/types/gir-interface-element.js.map +0 -1
  257. package/lib/types/gir-member-element.d.ts +0 -17
  258. package/lib/types/gir-member-element.js +0 -2
  259. package/lib/types/gir-member-element.js.map +0 -1
  260. package/lib/types/gir-method-element.d.ts +0 -13
  261. package/lib/types/gir-method-element.js +0 -2
  262. package/lib/types/gir-method-element.js.map +0 -1
  263. package/lib/types/gir-module-resolved-by.d.ts +0 -10
  264. package/lib/types/gir-module-resolved-by.js +0 -2
  265. package/lib/types/gir-module-resolved-by.js.map +0 -1
  266. package/lib/types/gir-modules-grouped-map.d.ts +0 -4
  267. package/lib/types/gir-modules-grouped-map.js +0 -2
  268. package/lib/types/gir-modules-grouped-map.js.map +0 -1
  269. package/lib/types/gir-modules-grouped.d.ts +0 -12
  270. package/lib/types/gir-modules-grouped.js +0 -2
  271. package/lib/types/gir-modules-grouped.js.map +0 -1
  272. package/lib/types/gir-namespace.d.ts +0 -30
  273. package/lib/types/gir-namespace.js +0 -2
  274. package/lib/types/gir-namespace.js.map +0 -1
  275. package/lib/types/gir-package.d.ts +0 -7
  276. package/lib/types/gir-package.js +0 -2
  277. package/lib/types/gir-package.js.map +0 -1
  278. package/lib/types/gir-prerequisite.d.ts +0 -5
  279. package/lib/types/gir-prerequisite.js +0 -2
  280. package/lib/types/gir-prerequisite.js.map +0 -1
  281. package/lib/types/gir-property-element.d.ts +0 -21
  282. package/lib/types/gir-property-element.js +0 -2
  283. package/lib/types/gir-property-element.js.map +0 -1
  284. package/lib/types/gir-record-element.d.ts +0 -30
  285. package/lib/types/gir-record-element.js +0 -2
  286. package/lib/types/gir-record-element.js.map +0 -1
  287. package/lib/types/gir-repository.d.ts +0 -16
  288. package/lib/types/gir-repository.js +0 -2
  289. package/lib/types/gir-repository.js.map +0 -1
  290. package/lib/types/gir-signal.d.ts +0 -25
  291. package/lib/types/gir-signal.js +0 -2
  292. package/lib/types/gir-signal.js.map +0 -1
  293. package/lib/types/gir-transfer-ownership-type.d.ts +0 -5
  294. package/lib/types/gir-transfer-ownership-type.js +0 -7
  295. package/lib/types/gir-transfer-ownership-type.js.map +0 -1
  296. package/lib/types/gir-transfer-ownership.d.ts +0 -5
  297. package/lib/types/gir-transfer-ownership.js +0 -2
  298. package/lib/types/gir-transfer-ownership.js.map +0 -1
  299. package/lib/types/gir-type.d.ts +0 -14
  300. package/lib/types/gir-type.js +0 -2
  301. package/lib/types/gir-type.js.map +0 -1
  302. package/lib/types/gir-union-element.d.ts +0 -22
  303. package/lib/types/gir-union-element.js +0 -2
  304. package/lib/types/gir-union-element.js.map +0 -1
  305. package/lib/types/gir-unparsed-number.d.ts +0 -2
  306. package/lib/types/gir-unparsed-number.js +0 -2
  307. package/lib/types/gir-unparsed-number.js.map +0 -1
  308. package/lib/types/gir-var-args.d.ts +0 -5
  309. package/lib/types/gir-var-args.js +0 -2
  310. package/lib/types/gir-var-args.js.map +0 -1
  311. package/lib/types/gir-virtual-method.d.ts +0 -10
  312. package/lib/types/gir-virtual-method.js +0 -2
  313. package/lib/types/gir-virtual-method.js.map +0 -1
  314. package/lib/types/index.d.ts +0 -118
  315. package/lib/types/index.js +0 -119
  316. package/lib/types/index.js.map +0 -1
  317. package/lib/types/inheritance-table.d.ts +0 -3
  318. package/lib/types/inheritance-table.js +0 -2
  319. package/lib/types/inheritance-table.js.map +0 -1
  320. package/lib/types/injection-callback.d.ts +0 -16
  321. package/lib/types/injection-callback.js +0 -2
  322. package/lib/types/injection-callback.js.map +0 -1
  323. package/lib/types/injection-class.d.ts +0 -25
  324. package/lib/types/injection-class.js +0 -2
  325. package/lib/types/injection-class.js.map +0 -1
  326. package/lib/types/injection-function.d.ts +0 -7
  327. package/lib/types/injection-function.js +0 -2
  328. package/lib/types/injection-function.js.map +0 -1
  329. package/lib/types/injection-generic-parameter.d.ts +0 -2
  330. package/lib/types/injection-generic-parameter.js +0 -2
  331. package/lib/types/injection-generic-parameter.js.map +0 -1
  332. package/lib/types/injection-instance-parameter.d.ts +0 -2
  333. package/lib/types/injection-instance-parameter.js +0 -2
  334. package/lib/types/injection-instance-parameter.js.map +0 -1
  335. package/lib/types/injection-parameter.d.ts +0 -8
  336. package/lib/types/injection-parameter.js +0 -2
  337. package/lib/types/injection-parameter.js.map +0 -1
  338. package/lib/types/injection-property.d.ts +0 -4
  339. package/lib/types/injection-property.js +0 -2
  340. package/lib/types/injection-property.js.map +0 -1
  341. package/lib/types/injection-type.d.ts +0 -2
  342. package/lib/types/injection-type.js +0 -2
  343. package/lib/types/injection-type.js.map +0 -1
  344. package/lib/types/injection.d.ts +0 -5
  345. package/lib/types/injection.js +0 -2
  346. package/lib/types/injection.js.map +0 -1
  347. package/lib/types/local-name-check.d.ts +0 -4
  348. package/lib/types/local-name-check.js +0 -2
  349. package/lib/types/local-name-check.js.map +0 -1
  350. package/lib/types/local-name-type.d.ts +0 -1
  351. package/lib/types/local-name-type.js +0 -2
  352. package/lib/types/local-name-type.js.map +0 -1
  353. package/lib/types/local-name.d.ts +0 -7
  354. package/lib/types/local-name.js +0 -2
  355. package/lib/types/local-name.js.map +0 -1
  356. package/lib/types/local-names.d.ts +0 -4
  357. package/lib/types/local-names.js +0 -2
  358. package/lib/types/local-names.js.map +0 -1
  359. package/lib/types/module-type.d.ts +0 -1
  360. package/lib/types/module-type.js +0 -2
  361. package/lib/types/module-type.js.map +0 -1
  362. package/lib/types/parsed-gir.d.ts +0 -4
  363. package/lib/types/parsed-gir.js +0 -2
  364. package/lib/types/parsed-gir.js.map +0 -1
  365. package/lib/types/part-of-class.d.ts +0 -7
  366. package/lib/types/part-of-class.js +0 -2
  367. package/lib/types/part-of-class.js.map +0 -1
  368. package/lib/types/part-of-module.d.ts +0 -6
  369. package/lib/types/part-of-module.js +0 -2
  370. package/lib/types/part-of-module.js.map +0 -1
  371. package/lib/types/resolve-type.d.ts +0 -4
  372. package/lib/types/resolve-type.js +0 -6
  373. package/lib/types/resolve-type.js.map +0 -1
  374. package/lib/types/sym-table-items.d.ts +0 -4
  375. package/lib/types/sym-table-items.js +0 -2
  376. package/lib/types/sym-table-items.js.map +0 -1
  377. package/lib/types/transformation-case.d.ts +0 -1
  378. package/lib/types/transformation-case.js +0 -2
  379. package/lib/types/transformation-case.js.map +0 -1
  380. package/lib/types/transformations.d.ts +0 -11
  381. package/lib/types/transformations.js +0 -2
  382. package/lib/types/transformations.js.map +0 -1
  383. package/lib/types/ts-alias.d.ts +0 -10
  384. package/lib/types/ts-alias.js +0 -2
  385. package/lib/types/ts-alias.js.map +0 -1
  386. package/lib/types/ts-callback-interface.d.ts +0 -10
  387. package/lib/types/ts-callback-interface.js +0 -2
  388. package/lib/types/ts-callback-interface.js.map +0 -1
  389. package/lib/types/ts-callback.d.ts +0 -17
  390. package/lib/types/ts-callback.js +0 -2
  391. package/lib/types/ts-callback.js.map +0 -1
  392. package/lib/types/ts-class.d.ts +0 -85
  393. package/lib/types/ts-class.js +0 -2
  394. package/lib/types/ts-class.js.map +0 -1
  395. package/lib/types/ts-doc-tag.d.ts +0 -21
  396. package/lib/types/ts-doc-tag.js +0 -2
  397. package/lib/types/ts-doc-tag.js.map +0 -1
  398. package/lib/types/ts-doc.d.ts +0 -20
  399. package/lib/types/ts-doc.js +0 -2
  400. package/lib/types/ts-doc.js.map +0 -1
  401. package/lib/types/ts-enum.d.ts +0 -12
  402. package/lib/types/ts-enum.js +0 -2
  403. package/lib/types/ts-enum.js.map +0 -1
  404. package/lib/types/ts-function.d.ts +0 -44
  405. package/lib/types/ts-function.js +0 -2
  406. package/lib/types/ts-function.js.map +0 -1
  407. package/lib/types/ts-generic-parameter.d.ts +0 -8
  408. package/lib/types/ts-generic-parameter.js +0 -2
  409. package/lib/types/ts-generic-parameter.js.map +0 -1
  410. package/lib/types/ts-instance-parameter.d.ts +0 -4
  411. package/lib/types/ts-instance-parameter.js +0 -2
  412. package/lib/types/ts-instance-parameter.js.map +0 -1
  413. package/lib/types/ts-member.d.ts +0 -10
  414. package/lib/types/ts-member.js +0 -2
  415. package/lib/types/ts-member.js.map +0 -1
  416. package/lib/types/ts-method.d.ts +0 -5
  417. package/lib/types/ts-method.js +0 -2
  418. package/lib/types/ts-method.js.map +0 -1
  419. package/lib/types/ts-parameter.d.ts +0 -15
  420. package/lib/types/ts-parameter.js +0 -2
  421. package/lib/types/ts-parameter.js.map +0 -1
  422. package/lib/types/ts-property.d.ts +0 -17
  423. package/lib/types/ts-property.js +0 -2
  424. package/lib/types/ts-property.js.map +0 -1
  425. package/lib/types/ts-signal.d.ts +0 -17
  426. package/lib/types/ts-signal.js +0 -2
  427. package/lib/types/ts-signal.js.map +0 -1
  428. package/lib/types/ts-type-name.d.ts +0 -1
  429. package/lib/types/ts-type-name.js +0 -2
  430. package/lib/types/ts-type-name.js.map +0 -1
  431. package/lib/types/ts-type-separator.d.ts +0 -1
  432. package/lib/types/ts-type-separator.js +0 -2
  433. package/lib/types/ts-type-separator.js.map +0 -1
  434. package/lib/types/ts-type.d.ts +0 -22
  435. package/lib/types/ts-type.js +0 -2
  436. package/lib/types/ts-type.js.map +0 -1
  437. package/lib/types/ts-var.d.ts +0 -17
  438. package/lib/types/ts-var.js +0 -2
  439. package/lib/types/ts-var.js.map +0 -1
  440. package/lib/types/type-gir-alias.d.ts +0 -2
  441. package/lib/types/type-gir-alias.js +0 -2
  442. package/lib/types/type-gir-alias.js.map +0 -1
  443. package/lib/types/type-gir-class.d.ts +0 -2
  444. package/lib/types/type-gir-class.js +0 -2
  445. package/lib/types/type-gir-class.js.map +0 -1
  446. package/lib/types/type-gir-element.d.ts +0 -3
  447. package/lib/types/type-gir-element.js +0 -2
  448. package/lib/types/type-gir-element.js.map +0 -1
  449. package/lib/types/type-gir-enumeration-member.d.ts +0 -2
  450. package/lib/types/type-gir-enumeration-member.js +0 -2
  451. package/lib/types/type-gir-enumeration-member.js.map +0 -1
  452. package/lib/types/type-gir-enumeration.d.ts +0 -2
  453. package/lib/types/type-gir-enumeration.js +0 -2
  454. package/lib/types/type-gir-enumeration.js.map +0 -1
  455. package/lib/types/type-gir-function.d.ts +0 -1
  456. package/lib/types/type-gir-function.js +0 -2
  457. package/lib/types/type-gir-function.js.map +0 -1
  458. package/lib/types/type-gir-interface.d.ts +0 -2
  459. package/lib/types/type-gir-interface.js +0 -2
  460. package/lib/types/type-gir-interface.js.map +0 -1
  461. package/lib/types/type-gir-method.d.ts +0 -2
  462. package/lib/types/type-gir-method.js +0 -2
  463. package/lib/types/type-gir-method.js.map +0 -1
  464. package/lib/types/type-gir-parameter.d.ts +0 -1
  465. package/lib/types/type-gir-parameter.js +0 -2
  466. package/lib/types/type-gir-parameter.js.map +0 -1
  467. package/lib/types/type-gir-property.d.ts +0 -2
  468. package/lib/types/type-gir-property.js +0 -2
  469. package/lib/types/type-gir-property.js.map +0 -1
  470. package/lib/types/type-gir-variable.d.ts +0 -1
  471. package/lib/types/type-gir-variable.js +0 -2
  472. package/lib/types/type-gir-variable.js.map +0 -1
  473. package/lib/types/type-ts-element.d.ts +0 -3
  474. package/lib/types/type-ts-element.js +0 -2
  475. package/lib/types/type-ts-element.js.map +0 -1
  476. package/lib/types/type-ts-enumeration-member.d.ts +0 -2
  477. package/lib/types/type-ts-enumeration-member.js +0 -2
  478. package/lib/types/type-ts-enumeration-member.js.map +0 -1
  479. package/lib/types/type-ts-function.d.ts +0 -1
  480. package/lib/types/type-ts-function.js +0 -2
  481. package/lib/types/type-ts-function.js.map +0 -1
  482. package/lib/types/type-ts-property.d.ts +0 -1
  483. package/lib/types/type-ts-property.js +0 -2
  484. package/lib/types/type-ts-property.js.map +0 -1
  485. package/lib/types/user-config-load-result.d.ts +0 -6
  486. package/lib/types/user-config-load-result.js +0 -2
  487. package/lib/types/user-config-load-result.js.map +0 -1
  488. package/lib/types/user-config.d.ts +0 -42
  489. package/lib/types/user-config.js +0 -2
  490. package/lib/types/user-config.js.map +0 -1
  491. package/src/conflict-resolver.ts +0 -1358
  492. package/src/constants.ts +0 -29
  493. package/src/generator.ts +0 -10
  494. package/src/gir-factory.ts +0 -499
  495. package/src/gir-module.ts +0 -2816
  496. package/src/html-doc-generator.ts +0 -23
  497. package/src/injection/callbacks/gjs/Gio-2.0.ts +0 -37
  498. package/src/injection/callbacks/gjs/index.ts +0 -5
  499. package/src/injection/callbacks/index.ts +0 -6
  500. package/src/injection/callbacks/node-gtk/index.ts +0 -3
  501. package/src/injection/classes/GLib-2-0.ts +0 -36
  502. package/src/injection/classes/gjs/GLib-2.0.ts +0 -201
  503. package/src/injection/classes/gjs/GObject-2.0.ts +0 -635
  504. package/src/injection/classes/gjs/Gio-2.0.ts +0 -219
  505. package/src/injection/classes/gjs/index.ts +0 -7
  506. package/src/injection/classes/index.ts +0 -7
  507. package/src/injection/classes/node-gtk/GLib-2.0.ts +0 -20
  508. package/src/injection/classes/node-gtk/GObject-2.0.ts +0 -67
  509. package/src/injection/classes/node-gtk/Gdk-4.0.ts +0 -33
  510. package/src/injection/classes/node-gtk/Gio-2.0.ts +0 -15
  511. package/src/injection/classes/node-gtk/Graphene-1.0.ts +0 -134
  512. package/src/injection/classes/node-gtk/Gtk-3.0.ts +0 -32
  513. package/src/injection/classes/node-gtk/Gtk-4.0.ts +0 -53
  514. package/src/injection/classes/node-gtk/Pango-1.0.ts +0 -32
  515. package/src/injection/classes/node-gtk/index.ts +0 -21
  516. package/src/injection/index.ts +0 -3
  517. package/src/injection/injector.ts +0 -184
  518. package/src/logger.ts +0 -134
  519. package/src/messages.ts +0 -68
  520. package/src/symtable.ts +0 -70
  521. package/src/template-processor.ts +0 -233
  522. package/src/transformation.ts +0 -583
  523. package/src/type-definition-generator.ts +0 -1458
  524. package/src/types/answer-version.ts +0 -4
  525. package/src/types/build-type.ts +0 -1
  526. package/src/types/class-parent.ts +0 -12
  527. package/src/types/config-flags.ts +0 -5
  528. package/src/types/conflict-child-element.ts +0 -11
  529. package/src/types/conflict-grouped-element.ts +0 -7
  530. package/src/types/conflict-grouped-elements.ts +0 -5
  531. package/src/types/construct-name.ts +0 -11
  532. package/src/types/dependency-map.ts +0 -4
  533. package/src/types/dependency.ts +0 -14
  534. package/src/types/environment.ts +0 -1
  535. package/src/types/generate-config.ts +0 -35
  536. package/src/types/generator-type.ts +0 -4
  537. package/src/types/gir-alias-element.ts +0 -15
  538. package/src/types/gir-annotation.ts +0 -10
  539. package/src/types/gir-any-element.ts +0 -35
  540. package/src/types/gir-any-type.ts +0 -7
  541. package/src/types/gir-array-type.ts +0 -23
  542. package/src/types/gir-bitfield-element.ts +0 -20
  543. package/src/types/gir-boolean.ts +0 -1
  544. package/src/types/gir-boxed-element.ts +0 -19
  545. package/src/types/gir-c-include.ts +0 -7
  546. package/src/types/gir-callable-attrs.ts +0 -19
  547. package/src/types/gir-callable-param-element.ts +0 -45
  548. package/src/types/gir-callable-param.ts +0 -9
  549. package/src/types/gir-callable-return.ts +0 -25
  550. package/src/types/gir-callback-element.ts +0 -28
  551. package/src/types/gir-class-element.ts +0 -71
  552. package/src/types/gir-constant-element.ts +0 -17
  553. package/src/types/gir-constructor-element.ts +0 -18
  554. package/src/types/gir-direction.ts +0 -5
  555. package/src/types/gir-doc-element.ts +0 -73
  556. package/src/types/gir-enum-element.ts +0 -28
  557. package/src/types/gir-field-element.ts +0 -31
  558. package/src/types/gir-function-element.ts +0 -19
  559. package/src/types/gir-implements.ts +0 -9
  560. package/src/types/gir-include.ts +0 -9
  561. package/src/types/gir-info-attrs.ts +0 -16
  562. package/src/types/gir-info-elements.ts +0 -8
  563. package/src/types/gir-instance-parameter.ts +0 -25
  564. package/src/types/gir-interface-element.ts +0 -53
  565. package/src/types/gir-member-element.ts +0 -19
  566. package/src/types/gir-method-element.ts +0 -25
  567. package/src/types/gir-module-resolved-by.ts +0 -11
  568. package/src/types/gir-modules-grouped-map.ts +0 -5
  569. package/src/types/gir-modules-grouped.ts +0 -13
  570. package/src/types/gir-namespace.ts +0 -47
  571. package/src/types/gir-package.ts +0 -7
  572. package/src/types/gir-prerequisite.ts +0 -5
  573. package/src/types/gir-property-element.ts +0 -31
  574. package/src/types/gir-record-element.ts +0 -47
  575. package/src/types/gir-repository.ts +0 -20
  576. package/src/types/gir-signal.ts +0 -43
  577. package/src/types/gir-transfer-ownership-type.ts +0 -5
  578. package/src/types/gir-transfer-ownership.ts +0 -6
  579. package/src/types/gir-type.ts +0 -16
  580. package/src/types/gir-union-element.ts +0 -35
  581. package/src/types/gir-unparsed-number.ts +0 -2
  582. package/src/types/gir-var-args.ts +0 -6
  583. package/src/types/gir-virtual-method.ts +0 -22
  584. package/src/types/index.ts +0 -118
  585. package/src/types/inheritance-table.ts +0 -3
  586. package/src/types/injection-callback.ts +0 -20
  587. package/src/types/injection-class.ts +0 -30
  588. package/src/types/injection-function.ts +0 -23
  589. package/src/types/injection-generic-parameter.ts +0 -3
  590. package/src/types/injection-instance-parameter.ts +0 -3
  591. package/src/types/injection-parameter.ts +0 -9
  592. package/src/types/injection-property.ts +0 -7
  593. package/src/types/injection-type.ts +0 -3
  594. package/src/types/injection.ts +0 -6
  595. package/src/types/local-name-check.ts +0 -5
  596. package/src/types/local-name-type.ts +0 -1
  597. package/src/types/local-name.ts +0 -8
  598. package/src/types/local-names.ts +0 -5
  599. package/src/types/module-type.ts +0 -1
  600. package/src/types/parsed-gir.ts +0 -5
  601. package/src/types/part-of-class.ts +0 -9
  602. package/src/types/part-of-module.ts +0 -8
  603. package/src/types/resolve-type.ts +0 -4
  604. package/src/types/sym-table-items.ts +0 -5
  605. package/src/types/transformation-case.ts +0 -7
  606. package/src/types/transformations.ts +0 -12
  607. package/src/types/ts-alias.ts +0 -11
  608. package/src/types/ts-callback-interface.ts +0 -11
  609. package/src/types/ts-callback.ts +0 -21
  610. package/src/types/ts-class.ts +0 -109
  611. package/src/types/ts-doc-tag.ts +0 -23
  612. package/src/types/ts-doc.ts +0 -23
  613. package/src/types/ts-enum.ts +0 -15
  614. package/src/types/ts-function.ts +0 -59
  615. package/src/types/ts-generic-parameter.ts +0 -8
  616. package/src/types/ts-instance-parameter.ts +0 -4
  617. package/src/types/ts-member.ts +0 -11
  618. package/src/types/ts-method.ts +0 -6
  619. package/src/types/ts-parameter.ts +0 -20
  620. package/src/types/ts-property.ts +0 -22
  621. package/src/types/ts-signal.ts +0 -21
  622. package/src/types/ts-type-name.ts +0 -1
  623. package/src/types/ts-type-separator.ts +0 -1
  624. package/src/types/ts-type.ts +0 -25
  625. package/src/types/ts-var.ts +0 -21
  626. package/src/types/type-gir-alias.ts +0 -2
  627. package/src/types/type-gir-class.ts +0 -2
  628. package/src/types/type-gir-element.ts +0 -25
  629. package/src/types/type-gir-enumeration-member.ts +0 -2
  630. package/src/types/type-gir-enumeration.ts +0 -2
  631. package/src/types/type-gir-function.ts +0 -8
  632. package/src/types/type-gir-interface.ts +0 -2
  633. package/src/types/type-gir-method.ts +0 -2
  634. package/src/types/type-gir-parameter.ts +0 -1
  635. package/src/types/type-gir-property.ts +0 -2
  636. package/src/types/type-gir-variable.ts +0 -1
  637. package/src/types/type-ts-element.ts +0 -13
  638. package/src/types/type-ts-enumeration-member.ts +0 -2
  639. package/src/types/type-ts-function.ts +0 -1
  640. package/src/types/type-ts-property.ts +0 -1
  641. package/src/types/user-config-load-result.ts +0 -6
  642. package/src/types/user-config.ts +0 -43
  643. package/templates/Cogl-2.0.d.ts +0 -0
  644. package/templates/Gjs/GObject-2.0.d.ts +0 -238
  645. package/templates/Gjs/Gio-2.0.d.ts +0 -64
  646. package/templates/Gjs/Gjs.d.ts +0 -137
  647. package/templates/Gjs/Gjs.js +0 -21
  648. package/templates/Gjs/GnomeShell.d.ts +0 -122
  649. package/templates/Gjs/GnomeShell.js +0 -10
  650. package/templates/Gjs/index.d.ts +0 -594
  651. package/templates/Gjs/index.js +0 -4
  652. package/templates/Gjs/misc/dbusUtils.d.ts +0 -15
  653. package/templates/Gjs/misc/dbusUtils.js +0 -6
  654. package/templates/Gjs/misc/extensionUtils.d.ts +0 -99
  655. package/templates/Gjs/misc/extensionUtils.js +0 -6
  656. package/templates/Gjs/misc/fileUtils.d.ts +0 -49
  657. package/templates/Gjs/misc/fileUtils.js +0 -6
  658. package/templates/Gjs/misc/gnomeSession.d.ts +0 -72
  659. package/templates/Gjs/misc/gnomeSession.js +0 -6
  660. package/templates/Gjs/module.d.ts +0 -10
  661. package/templates/Gjs/module.js +0 -16
  662. package/templates/Gjs/ui/userWidget.d.ts +0 -10
  663. package/templates/Gjs/ui/userWidget.js +0 -6
  664. package/templates/Granite-1.0.d.ts +0 -7
  665. package/templates/Granite-7.0.d.ts +0 -7
  666. package/templates/GstBase-0.10.d.ts +0 -5
  667. package/templates/RygelServer-2.6.d.ts +0 -3
  668. package/templates/node-gtk/GObject-2.0.d.ts +0 -57
  669. package/templates/node-gtk/index.d.ts +0 -40
  670. package/templates/node-gtk/index.js +0 -9
  671. package/templates/node-gtk/module.d.ts +0 -10
  672. package/templates/node-gtk/module.js +0 -17
@@ -1,184 +0,0 @@
1
- import type {
2
- GirClassElement,
3
- GirRecordElement,
4
- GirUnionElement,
5
- GirInterfaceElement,
6
- GirCallbackElement,
7
- GirCallableParamElement,
8
- Environment,
9
- } from '../types/index.js'
10
- import { Logger } from '../logger.js'
11
-
12
- import { classesAll, classesGjs, classesNode, callbacksGjs, callbacksNode, callbacksAll } from './index.js'
13
- import { GirFactory } from '../gir-factory.js'
14
-
15
- /**
16
- * Inject additional methods, properties, etc
17
- */
18
- export class Injector {
19
- girFactory = new GirFactory()
20
- log: Logger
21
-
22
- constructor(private readonly environment: Environment) {
23
- this.log = new Logger(environment, true, 'ConflictResolver')
24
- }
25
-
26
- /** Inject additional generics, methods, properties, etc to a existing class */
27
- toClass(girClass: GirClassElement | GirUnionElement | GirInterfaceElement | GirRecordElement) {
28
- if (!girClass._tsData) {
29
- return
30
- }
31
-
32
- const classes = this.environment === 'gjs' ? [...classesAll, ...classesGjs] : [...classesAll, ...classesNode]
33
-
34
- const toClass = classes.find((cls) => {
35
- return (
36
- girClass._tsData &&
37
- cls.qualifiedName === girClass._tsData.qualifiedName &&
38
- cls.versions.includes(girClass._tsData.version)
39
- )
40
- })
41
-
42
- if (toClass) {
43
- if (toClass.staticFunctions) {
44
- girClass._tsData.staticFunctions.push(
45
- ...this.girFactory.newGirFunctions(toClass.staticFunctions, girClass._tsData, { isInjected: true }),
46
- )
47
- }
48
- if (toClass.properties) {
49
- girClass._tsData.properties.push(
50
- ...this.girFactory.newGirProperties(toClass.properties, { isInjected: true }),
51
- )
52
- }
53
- if (toClass.constructors) {
54
- girClass._tsData.constructors.push(
55
- ...this.girFactory.newGirFunctions(toClass.constructors, girClass._tsData, { isInjected: true }),
56
- )
57
- }
58
- if (toClass.methods) {
59
- girClass._tsData.methods.push(
60
- ...this.girFactory.newGirFunctions(toClass.methods, girClass._tsData, { isInjected: true }),
61
- )
62
- }
63
- if (toClass.virtualMethods) {
64
- girClass._tsData.virtualMethods.push(
65
- ...this.girFactory.newGirFunctions(toClass.virtualMethods, girClass._tsData, { isInjected: true }),
66
- )
67
- }
68
- if (toClass.propertySignalMethods) {
69
- for (const propertySignalMethod of toClass.propertySignalMethods) {
70
- propertySignalMethod.isInjected = true
71
- girClass._tsData.propertySignalMethods.push(propertySignalMethod)
72
- }
73
- }
74
-
75
- if (toClass.generics) {
76
- girClass._tsData.generics.push(...this.girFactory.newGenerics(toClass.generics))
77
- }
78
- }
79
-
80
- return girClass
81
- }
82
-
83
- /** Inject additional generics to existing callback interfaces */
84
- toCallback(girCallback: GirCallbackElement) {
85
- const callbacks =
86
- this.environment === 'gjs' ? [...callbacksAll, ...callbacksGjs] : [...callbacksAll, ...callbacksNode]
87
-
88
- if (!girCallback._module || !girCallback._tsData) {
89
- return girCallback
90
- }
91
-
92
- const toCallback = callbacks.find((injectCallback) => {
93
- return (
94
- girCallback._module &&
95
- girCallback._tsData &&
96
- injectCallback.name === girCallback._tsData.name &&
97
- girCallback._module.namespace === injectCallback.namespace &&
98
- injectCallback.versions.includes(girCallback._module.version)
99
- )
100
- })
101
-
102
- // if (toCallback?.generics) {
103
- // girCallback._tsData.generics.push(...this.girFactory.newGenerics(toCallback.generics))
104
- // }
105
-
106
- // NOTICE: We merge the in parameters here
107
- // TODO: Unify injections, merges and overrides
108
- if (toCallback?.inParams) {
109
- for (let i = 0; i < girCallback._tsData.inParams.length; i++) {
110
- const newInParam = toCallback.inParams[i]
111
- const oldInParam = girCallback._tsData.inParams[i]
112
- if (newInParam && oldInParam && oldInParam._tsData?.name === newInParam.name) {
113
- oldInParam._tsData.type = this.girFactory.newTsTypes(newInParam.type)
114
- }
115
- }
116
- }
117
-
118
- if (toCallback?.tsCallbackInterface) {
119
- if (toCallback?.tsCallbackInterface.generics) {
120
- girCallback._tsData.tsCallbackInterface?.generics.push(
121
- ...this.girFactory.newGenerics(toCallback.tsCallbackInterface.generics),
122
- )
123
- }
124
- }
125
-
126
- return girCallback
127
- }
128
-
129
- toParameterType(girParam: GirCallableParamElement) {
130
- const tsTypes = girParam._tsData?.type
131
-
132
- const callbacks =
133
- this.environment === 'gjs' ? [...callbacksAll, ...callbacksGjs] : [...callbacksAll, ...callbacksNode]
134
-
135
- if (!girParam._module || !girParam._tsData) {
136
- return girParam
137
- }
138
-
139
- // Use the the callback generic injections also for the type of the callback parameters
140
- if (tsTypes) {
141
- for (const tsType of tsTypes) {
142
- const toCallback = callbacks.find((injectCallback) => {
143
- return (
144
- girParam._module &&
145
- girParam._tsData &&
146
- // TODO: compare versions
147
- `${injectCallback.namespace}.${injectCallback.name}` === tsType.type
148
- )
149
- })
150
-
151
- if (toCallback?.generics) {
152
- const tsFunc = girParam._tsData.parent
153
- const tsClass = tsFunc.parent
154
- for (const generic of toCallback.generics) {
155
- // Currently only used for `Gio.AsyncReadyCallback`
156
- if (generic.value === 'this') {
157
- if (tsFunc.isStatic && tsClass) {
158
- tsType.generics.push({
159
- ...generic,
160
- value: `${tsClass.namespace}.${tsClass.name}`,
161
- })
162
- } else if (tsFunc.isGlobal) {
163
- // Add generic parameter to global function
164
- tsFunc.generics.push({
165
- name: 'Z',
166
- value: 'unknown',
167
- })
168
- tsType.generics.push({
169
- value: 'Z',
170
- })
171
- } else {
172
- tsType.generics.push(generic)
173
- }
174
- } else {
175
- tsType.generics.push(generic)
176
- }
177
- }
178
- }
179
- }
180
- }
181
-
182
- return girParam
183
- }
184
- }
package/src/logger.ts DELETED
@@ -1,134 +0,0 @@
1
- /**
2
- * A logger that displays information in different colors on the console.
3
- * In addition, the environment or the module currently being processed is also included as prepended to the logging string
4
- */
5
-
6
- import { blue, yellow, yellowBright, green, red, white } from 'colorette'
7
- import { Environment } from './types/index.js'
8
-
9
- export class Logger {
10
- constructor(
11
- private readonly environment: Environment | '',
12
- private readonly verbose: boolean,
13
- private readonly moduleName: string,
14
- ) {}
15
- private static prepend(args: unknown[], prepend: string): unknown[] {
16
- if (typeof args[0] === 'string') {
17
- args[0] = `${prepend}${args[0]}`
18
- }
19
- return args
20
- }
21
- /**
22
- * Returns something like '[node][Gda-5.0] Could not find type 'Gda.SqlExpr' for 'expr''
23
- * @param args
24
- * @param logLevel
25
- */
26
- private prependInfos(args: unknown[], logLevel?: 'WARN:' | 'ERROR:' | 'INFO:' | 'DEBUG:'): unknown[] {
27
- if (logLevel || this.moduleName.length > 0 || this.environment.length > 0) {
28
- args = Logger.prepend(args, ' ')
29
- }
30
- if (logLevel) {
31
- if (this.moduleName.length > 0 || this.environment.length > 0) {
32
- args = Logger.prepend(args, ' ' + logLevel)
33
- } else {
34
- args = Logger.prepend(args, logLevel)
35
- }
36
- }
37
- if (this.moduleName.length > 0) {
38
- args = Logger.prepend(args, `[${this.moduleName}]`)
39
- }
40
- if (this.environment.length > 0) {
41
- args = Logger.prepend(args, `[${this.environment}]`)
42
- }
43
-
44
- return args
45
- }
46
-
47
- public log(...args: unknown[]): void {
48
- if (!this.verbose) {
49
- return
50
- }
51
- return console.log(...args)
52
- }
53
- public dir(...args: unknown[]): void {
54
- if (!this.verbose) {
55
- return
56
- }
57
- args.forEach((arg) => {
58
- console.dir(arg)
59
- })
60
- return
61
- }
62
- public info(txt: string | number, ...args: unknown[]): void {
63
- if (!this.verbose) {
64
- return
65
- }
66
- return console.info(blue(txt), ...args)
67
- }
68
- public warn(txt: string | number, ...args: unknown[]): void {
69
- if (!this.verbose) {
70
- return
71
- }
72
- args = this.prependInfos([txt], 'WARN:')
73
- return console.warn(yellow(txt), ...args)
74
- }
75
- public debug(txt: string | number, ...args: unknown[]): void {
76
- if (!this.verbose) {
77
- return
78
- }
79
- args = this.prependInfos([txt], 'DEBUG:')
80
- return console.debug(yellowBright(txt), ...args)
81
- }
82
- public error(txt: string | number, ...args: unknown[]): void {
83
- args = this.prependInfos([txt], 'ERROR:')
84
- return this.danger(txt, args)
85
- }
86
- public success(txt: string | number, ...args: unknown[]): void {
87
- if (!this.verbose) {
88
- return
89
- }
90
- this.log(green(txt), ...args)
91
- }
92
- public danger(txt: string | number, ...args: unknown[]): void {
93
- this.log(red(txt), ...args)
94
- }
95
-
96
- // Static versions (Here it must be ensured that Verbose is activated)
97
- public static log(...args: unknown[]): void {
98
- return console.log(...args)
99
- }
100
- public static dir(...args: unknown[]): void {
101
- args.forEach((arg) => {
102
- console.dir(arg)
103
- })
104
- return
105
- }
106
- public static info(txt: string | number, ...args: unknown[]): void {
107
- ;[txt, ...args] = this.prepend([txt, ...args], 'INFO: ') as [string, ...unknown[]]
108
- return console.info(blue(txt), ...args)
109
- }
110
- public static warn(txt: string | number, ...args: unknown[]): void {
111
- ;[txt, ...args] = this.prepend([txt, ...args], 'WARN: ') as [string, ...unknown[]]
112
- return console.warn(yellow(txt), ...args)
113
- }
114
- public static debug(txt: string | number, ...args: unknown[]): void {
115
- ;[txt, ...args] = this.prepend([txt, ...args], 'DEBUG: ') as [string, ...unknown[]]
116
- return console.debug(yellowBright(txt), ...args)
117
- }
118
- public static error(txt: string | number, ...args: unknown[]): void {
119
- ;[txt, ...args] = this.prepend([txt, ...args], 'ERROR: ') as [string, ...unknown[]]
120
- return this.danger(txt, args)
121
- }
122
- public static success(txt: string | number, ...args: unknown[]): void {
123
- this.log(green(txt), ...args)
124
- }
125
- public static danger(txt: string | number, ...args: unknown[]): void {
126
- this.log(red(txt), ...args)
127
- }
128
- public static white(txt: string | number, ...args: unknown[]): void {
129
- this.log(white(txt), ...args)
130
- }
131
- public static yellow(txt: string | number, ...args: unknown[]): void {
132
- this.log(yellow(txt), ...args)
133
- }
134
- }
package/src/messages.ts DELETED
@@ -1,68 +0,0 @@
1
- import type { Environment, BuildType } from './types/index.js'
2
-
3
- export const NO_TSDATA = (namespace?: string) => {
4
- let message = 'You need to set the tsData first!'
5
- if (namespace) message = `[${namespace}] ${message}`
6
- return message
7
- }
8
-
9
- // Error messages
10
-
11
- export const ERROR_NO_MODULES_FOUND = (girDirectories: string[]) => `No module found in ${girDirectories.join(', ')}!
12
- Please make sure that you have installed the necessary gir files.
13
- For example with "sudo apt install libgtk-3-dev" for Gtk3 on Ubuntu or "sudo dnf install gtk3-devel" on Fedora.`
14
- export const ERROR_CONFIG_EXTENSION_UNSUPPORTED =
15
- 'Only configs with the extension .js and .json are currently supported. Do nothing'
16
- export const ERROR_NO_MODULE_SPECIFIED = 'Need to specify modules!'
17
-
18
- // Warn messages
19
-
20
- export const WARN_NO_GIR_FILE_FOUND_FOR_PACKAGE = (packageName: string) =>
21
- `No gir file found for '${packageName}', this module will be ignored`
22
- export const WARN_CONSTANT_ALREADY_EXPORTED = (name: string) => `The constant '${name}' has already been exported`
23
- export const WARN_USE_NAMESPACE_ON_TYPES = "useNamespace must be 'true' if buildType is 'types'"
24
- export const WARN_USE_NAMESPACE_ON_ESM = "useNamespace must be 'true' on moduleType 'esm'"
25
- export const WARN_PRETTIFY_ERROR = (filepath: string) => `Can't prettify file: "${filepath}".`
26
-
27
- export const WARN_IGNORE_MULTIPLE_CALLBACKS = 'Multiple callbacks are ignored!'
28
- export const WARN_IGNORE_MULTIPLE_FUNC_DESC = 'Ignore multiline function description!'
29
-
30
- export const WARN_DUPLICATE_ENUM_IDENTIFIER = (name: string, renamed: string) =>
31
- `Enum has a duplicate identifier '${name}', renamed to '${renamed}'!`
32
- export const WARN_DUPLICATE_SYMBOL = (symbol: string) => `Duplicate symbol: ${symbol}`
33
- export const WARN_DUPLICATE_PARAMETER = (paramName: string, namespace?: string) => {
34
- let message = `Duplicate parameter name "${paramName}" found!`
35
- if (namespace) message = `[${namespace}] ${message}`
36
- return message
37
- }
38
-
39
- export const WARN_NOT_FOUND_TYPE = (logName: string) => `Could not find type for "${logName}"`
40
- export const WARN_NOT_FOUND_PACKAGE_NAME = (namespace: string, implementation: string) =>
41
- `Package name for namespace ${namespace} not found! (${implementation})`
42
- export const WARN_NOT_FOUND_DEPENDENCY_GIR_FILE = (girFilename: string) =>
43
- `Dependency gir file not found: '${girFilename}'`
44
-
45
- export const WARN_RENAMED_PROPERTY = (originalName: string, newName: string) =>
46
- `Property name renamed from '${originalName}' to '${newName}'`
47
- export const WARN_RENAMED_FUNCTION = (originalName: string, newName: string) =>
48
- `Function name renamed from '${originalName}' to '${newName}'`
49
- export const WARN_RENAMED_CLASS = (originalName: string, newName: string) =>
50
- `Class name renamed from '${originalName}' to '${newName}'`
51
- export const WARN_RENAMED_CONSTANT = (originalName: string, newName: string) =>
52
- `Constant name renamed from '${originalName}' to '${newName}'`
53
- export const WARN_RENAMED_FIELD = (originalName: string, newName: string) =>
54
- `Field name renamed from '${originalName}' to '${newName}'`
55
- export const WARN_RENAMED_ENUM = (originalName: string, newName: string) =>
56
- `Enum name renamed from '${originalName}' to '${newName}'`
57
- export const WARN_RENAMED_PARAMETER = (originalName: string, newName: string) =>
58
- `Parameter name renamed from '${originalName}' to '${newName}'`
59
-
60
- // Info messages
61
-
62
- export const DANGER_HTML_DOC_GENERATOR_NOT_IMPLEMENTED =
63
- 'The HtmlDocGenerator is currently not implemented. Do nothing...'
64
- export const START_MODULE = (environment: Environment, buildType?: BuildType) =>
65
- `Start to generate .d.ts files for '${environment}' as '${buildType || 'unknown'}'.`
66
- export const FILE_PARSING_DONE = 'Files parsed, loading types...'
67
- export const TSDATA_PARSING_DONE = 'Typescript data loaded, generating .d.ts...'
68
- export const GENERATING_TYPES_DONE = 'Done.'
package/src/symtable.ts DELETED
@@ -1,70 +0,0 @@
1
- import type { SymTableItems, GenerateConfig, GirAnyElement } from './types/index.js'
2
- import { Logger } from './logger.js'
3
- import { WARN_NOT_FOUND_PACKAGE_NAME } from './messages.js'
4
-
5
- /**
6
- * The SymTable is used to get any Type from any dependency to compare or to get information from
7
- */
8
- export class SymTable {
9
- /**
10
- * The items are static because any GirModule has the same items to be able to access the types of dependencies as well
11
- */
12
- private static items: SymTableItems = {}
13
- private log: Logger
14
-
15
- public constructor(
16
- private readonly config: GenerateConfig,
17
- private readonly modPackageName: string,
18
- private readonly modNamespace: string,
19
- ) {
20
- this.log = new Logger(this.config.environment, this.config.verbose, 'SymTable')
21
- }
22
-
23
- /**
24
- * Get symTable key, we use this method to prepend the package version to each key to prevent version conflicts e.g. in 'Gtk-3.0' and 'Gtk-4.0'
25
- * @param implementation E.g. Gtk.Window
26
- * @returns E.g. 'Gtk-3.0.Gtk.Window'
27
- */
28
- public getKey(dependencies: string[], implementation: string): string | null {
29
- if (implementation.startsWith(this.modPackageName + '.')) {
30
- return implementation
31
- }
32
-
33
- if (implementation.startsWith(this.modNamespace + '.')) {
34
- return this.modPackageName + '.' + implementation
35
- }
36
-
37
- if (!implementation.includes('.')) {
38
- return this.modPackageName + '.' + this.modNamespace + '.' + implementation
39
- }
40
-
41
- const split = implementation.split('.')
42
- const namespace = split[0]
43
- const packageName = dependencies.find((dependency) => dependency.startsWith(namespace + '-'))
44
- if (!packageName) {
45
- this.log.warn(WARN_NOT_FOUND_PACKAGE_NAME(namespace, implementation))
46
- return null
47
- }
48
- return packageName + '.' + implementation
49
- }
50
-
51
- public get<T>(dependencies: string[], fullTypeName: string): T | null {
52
- const key = this.getKey(dependencies, fullTypeName)
53
- if (!key || !SymTable.items[key]) {
54
- return null
55
- }
56
- const result = SymTable.items[key] || null
57
- return result as unknown as T | null
58
- }
59
-
60
- public getByHand<T = GirAnyElement>(key: string): T | null {
61
- return (SymTable.items[key] || null) as unknown as T | null
62
- }
63
-
64
- public set(dependencies: string[], fullTypeName: string, GirElement: GirAnyElement): void {
65
- const key = this.getKey(dependencies, fullTypeName)
66
- if (key) {
67
- SymTable.items[key] = GirElement
68
- }
69
- }
70
- }
@@ -1,233 +0,0 @@
1
- /**
2
- * The TemplateProcessor is used generate strings from templates files or template strings
3
- * For example, the signal methods are generated here
4
- */
5
-
6
- import { existsSync } from 'fs'
7
- import { readFile, writeFile, mkdir, readdir } from 'fs/promises'
8
- import Path from 'path'
9
- import ejs from 'ejs'
10
- import { Logger } from './logger.js'
11
- import { APP_NAME, APP_USAGE, APP_SOURCE } from './constants.js'
12
- import type { GenerateConfig } from './types/index.js'
13
- import prettier from 'prettier'
14
- import { __dirname, getEnvironmentDir, getDestPath } from './utils.js'
15
- import { WARN_PRETTIFY_ERROR } from './messages.js'
16
-
17
- const TEMPLATE_DIR = Path.join(__dirname, '../templates')
18
-
19
- export class TemplateProcessor {
20
- protected environmentTemplateDir: string
21
- protected log: Logger
22
- constructor(
23
- protected readonly data: ejs.Data | undefined,
24
- protected readonly packageName: string,
25
- protected readonly config: GenerateConfig,
26
- ) {
27
- this.data = {
28
- ...this.data,
29
- APP_NAME,
30
- APP_USAGE,
31
- APP_SOURCE,
32
- }
33
- this.environmentTemplateDir = getEnvironmentDir(config.environment, TEMPLATE_DIR)
34
- this.log = new Logger(config.environment, config.verbose, this.packageName)
35
- }
36
-
37
- /**
38
- * Loads and renders a template and gets the rendered templates back
39
- * @param templateFilename
40
- */
41
- public async load(templateFilename: string): Promise<string> {
42
- const fileContent = await this.read(templateFilename)
43
- return await this.render(fileContent)
44
- }
45
-
46
- /**
47
- * Loads and renders all templates in a directory and gets the rendered templates back
48
- * @param templateDirname
49
- */
50
- public async loadAll(templateDirname: string, fileExtension: string): Promise<{ [path: string]: string }> {
51
- const fileContents = await this.readAll(templateDirname, fileExtension)
52
- for (const file of Object.keys(fileContents)) {
53
- fileContents[file] = await this.render(fileContents[file])
54
- }
55
- return fileContents
56
- }
57
-
58
- /**
59
- * Loads an template, render the template and write the template to the filesystem
60
- * @param templateFilename
61
- * @param outputDir
62
- * @param outputFilename
63
- * @param append
64
- * @return The rendered (and if possible prettified) template string
65
- */
66
- public async create(
67
- templateFilename: string,
68
- outputDir: string,
69
- outputFilename: string,
70
- append = '',
71
- ): Promise<string> {
72
- const renderedTpl = await this.load(templateFilename)
73
- const destPath = getDestPath(this.config.environment, outputDir, outputFilename)
74
- const prettifiedCode = this.config.pretty ? this.prettifySource(renderedTpl, destPath) : null
75
- const code = (prettifiedCode || renderedTpl) + append
76
- await this.write(code, outputDir, outputFilename)
77
- return code
78
- }
79
-
80
- /**
81
- * Loads all templates with file extension in dir, render the templates and write the template to the filesystem
82
- * @param fileExtension
83
- * @param templateDirname
84
- * @param outputDir
85
- * @param outputDirname
86
- * @return The rendered (and if possible prettified) templates
87
- */
88
- public async createAll(
89
- fileExtension: string,
90
- templateDirname: string,
91
- outputDir: string,
92
- outputDirname: string,
93
- append = '',
94
- ) {
95
- const renderedTpls = await this.loadAll(templateDirname, fileExtension)
96
- const result: { [path: string]: string } = {}
97
- for (const filename of Object.keys(renderedTpls)) {
98
- const destPath = getDestPath(this.config.environment, outputDir, outputDirname, filename)
99
- const prettifiedCode = this.config.pretty ? this.prettifySource(renderedTpls[filename], destPath) : null
100
- result[destPath] = (prettifiedCode || renderedTpls[filename]) + append
101
- await this.write(result[destPath], outputDir, Path.join(outputDirname, filename))
102
- }
103
-
104
- return result
105
- }
106
-
107
- protected async write(content: string, outputDir: string, outputFilename: string): Promise<string> {
108
- const destPath = getDestPath(this.config.environment, outputDir, outputFilename)
109
-
110
- // write template result file
111
- await mkdir(Path.dirname(destPath), { recursive: true })
112
- await writeFile(destPath, content, { encoding: 'utf8', flag: 'w' })
113
-
114
- return Promise.resolve(destPath)
115
- }
116
-
117
- protected async render(templateString: string, additionalData: Partial<ejs.Options> = {}): Promise<string> {
118
- try {
119
- const renderedTpl = ejs.render(templateString, {
120
- async: true,
121
- ...this.config,
122
- ...this.data,
123
- ...additionalData,
124
- })
125
- return Promise.resolve(renderedTpl)
126
- } catch (error) {
127
- this.log.error('Error on render', error)
128
- return ''
129
- }
130
- }
131
-
132
- /**
133
- * Checks if the template file or directory exists and returns the path if found
134
- * Tries first to load the file / directory from the environment-specific template folder and otherwise looks for it in the general template folder
135
- * @param templateFilename
136
- */
137
- public exists(templateFilename: string): string | null {
138
- const fullEnvironmentTemplatePath = Path.join(this.environmentTemplateDir, templateFilename)
139
- const fullGeneralTemplatePath = Path.join(TEMPLATE_DIR, templateFilename)
140
- if (existsSync(fullEnvironmentTemplatePath)) {
141
- return fullEnvironmentTemplatePath
142
- }
143
- if (existsSync(fullGeneralTemplatePath)) {
144
- return fullGeneralTemplatePath
145
- }
146
- return null
147
- }
148
-
149
- public prettifySource(source: string, filepath: string) {
150
- let prettyCode: string | null = null
151
- this.log.info(` Prettify ${Path.basename(filepath)}...`)
152
- let parser: prettier.LiteralUnion<prettier.BuiltInParserName, string> | prettier.CustomParser | undefined =
153
- undefined
154
- if (filepath.endsWith('.ts')) {
155
- parser = 'typescript'
156
- } else if (filepath.endsWith('.js')) {
157
- parser = 'espree'
158
- }
159
- try {
160
- prettyCode = prettier.format(source, { parser })
161
- } catch (error) {
162
- this.log.warn(WARN_PRETTIFY_ERROR(filepath))
163
- this.log.warn('Error on prettifySource', error)
164
- }
165
-
166
- return prettyCode
167
- }
168
-
169
- public async prettify(path: string, changeFile = false): Promise<string | null> {
170
- let hasError = false
171
- let prettyCode: string | null = null
172
- const filename = Path.basename(path)
173
- this.log.info(` Prettify ${filename}...`)
174
- try {
175
- const source = await readFile(Path.resolve('.', path), 'utf8')
176
- prettyCode = this.prettifySource(source, path)
177
- } catch (error) {
178
- this.log.warn('Error on prettify', error)
179
- hasError = true
180
- }
181
-
182
- if (hasError) {
183
- if (!prettyCode) {
184
- this.log.warn(WARN_PRETTIFY_ERROR(path))
185
- }
186
- } else {
187
- if (prettyCode && changeFile) {
188
- await this.write(prettyCode, Path.dirname(path), Path.basename(path))
189
- }
190
- }
191
-
192
- return prettyCode
193
- }
194
-
195
- /**
196
- * Reads a template file from filesystem and gets the raw string back
197
- * @param templateFilename
198
- * @return The raw template content
199
- */
200
- protected async read(templateFilename: string) {
201
- const path = this.exists(templateFilename)
202
- if (path) {
203
- return await readFile(path, 'utf8')
204
- }
205
- throw new Error(`Template '${templateFilename}' not found'`)
206
- }
207
-
208
- /**
209
- * Reads all template files from a directory and gets the raw strings back
210
- * @param templateDirname
211
- * @param fileExtension
212
- * @return The raw template contents
213
- * @throws Error if the template directory does not exist
214
- * @throws Error if the template directory is empty
215
- */
216
- protected async readAll(templateDirname: string, fileExtension: string) {
217
- const path = this.exists(templateDirname)
218
- if (path) {
219
- const files = (await readdir(path)).filter((file) => file.endsWith(fileExtension))
220
- if (files.length === 0) {
221
- throw new Error(`Template directory '${templateDirname}' is empty'`)
222
- }
223
- const results: { [path: string]: string } = {}
224
- for (const file of files) {
225
- results[file] = await readFile(Path.join(path, file), 'utf8')
226
- }
227
- return results
228
- }
229
- throw new Error(`Template directory '${templateDirname}' not found'`)
230
- }
231
- }
232
-
233
- export default TemplateProcessor