@ts-for-gir/cli 3.0.0-beta.9 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (760) hide show
  1. package/README.md +160 -35
  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 -37
  6. package/lib/commands/generate.js +8 -24
  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 +21 -5
  12. package/lib/config.js +164 -86
  13. package/lib/config.js.map +1 -1
  14. package/lib/generation-handler.d.ts +3 -4
  15. package/lib/generation-handler.js +7 -11
  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 +35 -24
  21. package/lib/module-loader.js +3 -8
  22. package/lib/module-loader.js.map +1 -1
  23. package/lib/utils.d.ts +0 -262
  24. package/lib/utils.js +8 -371
  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 -24
  29. package/src/commands/list.ts +8 -10
  30. package/src/config.ts +178 -92
  31. package/src/generation-handler.ts +11 -12
  32. package/src/index.ts +0 -12
  33. package/src/module-loader.ts +39 -31
  34. package/src/utils.ts +8 -401
  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/dependency-manager.d.ts +0 -34
  42. package/lib/dependency-manager.js +0 -78
  43. package/lib/dependency-manager.js.map +0 -1
  44. package/lib/generator.d.ts +0 -5
  45. package/lib/generator.js +0 -2
  46. package/lib/generator.js.map +0 -1
  47. package/lib/gir-factory.d.ts +0 -51
  48. package/lib/gir-factory.js +0 -361
  49. package/lib/gir-factory.js.map +0 -1
  50. package/lib/gir-module.d.ts +0 -257
  51. package/lib/gir-module.js +0 -2086
  52. package/lib/gir-module.js.map +0 -1
  53. package/lib/html-doc-generator.d.ts +0 -13
  54. package/lib/html-doc-generator.js +0 -18
  55. package/lib/html-doc-generator.js.map +0 -1
  56. package/lib/injection/callbacks/gjs/Gio-2.0.d.ts +0 -2
  57. package/lib/injection/callbacks/gjs/Gio-2.0.js +0 -36
  58. package/lib/injection/callbacks/gjs/Gio-2.0.js.map +0 -1
  59. package/lib/injection/callbacks/gjs/index.d.ts +0 -2
  60. package/lib/injection/callbacks/gjs/index.js +0 -3
  61. package/lib/injection/callbacks/gjs/index.js.map +0 -1
  62. package/lib/injection/callbacks/index.d.ts +0 -4
  63. package/lib/injection/callbacks/index.js +0 -4
  64. package/lib/injection/callbacks/index.js.map +0 -1
  65. package/lib/injection/callbacks/node-gtk/index.d.ts +0 -2
  66. package/lib/injection/callbacks/node-gtk/index.js +0 -2
  67. package/lib/injection/callbacks/node-gtk/index.js.map +0 -1
  68. package/lib/injection/classes/GLib-2-0.d.ts +0 -2
  69. package/lib/injection/classes/GLib-2-0.js +0 -35
  70. package/lib/injection/classes/GLib-2-0.js.map +0 -1
  71. package/lib/injection/classes/gjs/GLib-2.0.d.ts +0 -2
  72. package/lib/injection/classes/gjs/GLib-2.0.js +0 -200
  73. package/lib/injection/classes/gjs/GLib-2.0.js.map +0 -1
  74. package/lib/injection/classes/gjs/GObject-2.0.d.ts +0 -2
  75. package/lib/injection/classes/gjs/GObject-2.0.js +0 -634
  76. package/lib/injection/classes/gjs/GObject-2.0.js.map +0 -1
  77. package/lib/injection/classes/gjs/Gio-2.0.d.ts +0 -5
  78. package/lib/injection/classes/gjs/Gio-2.0.js +0 -218
  79. package/lib/injection/classes/gjs/Gio-2.0.js.map +0 -1
  80. package/lib/injection/classes/gjs/index.d.ts +0 -2
  81. package/lib/injection/classes/gjs/index.js +0 -5
  82. package/lib/injection/classes/gjs/index.js.map +0 -1
  83. package/lib/injection/classes/index.d.ts +0 -4
  84. package/lib/injection/classes/index.js +0 -5
  85. package/lib/injection/classes/index.js.map +0 -1
  86. package/lib/injection/classes/node-gtk/GLib-2.0.d.ts +0 -2
  87. package/lib/injection/classes/node-gtk/GLib-2.0.js +0 -19
  88. package/lib/injection/classes/node-gtk/GLib-2.0.js.map +0 -1
  89. package/lib/injection/classes/node-gtk/GObject-2.0.d.ts +0 -2
  90. package/lib/injection/classes/node-gtk/GObject-2.0.js +0 -66
  91. package/lib/injection/classes/node-gtk/GObject-2.0.js.map +0 -1
  92. package/lib/injection/classes/node-gtk/Gdk-4.0.d.ts +0 -2
  93. package/lib/injection/classes/node-gtk/Gdk-4.0.js +0 -32
  94. package/lib/injection/classes/node-gtk/Gdk-4.0.js.map +0 -1
  95. package/lib/injection/classes/node-gtk/Gio-2.0.d.ts +0 -2
  96. package/lib/injection/classes/node-gtk/Gio-2.0.js +0 -14
  97. package/lib/injection/classes/node-gtk/Gio-2.0.js.map +0 -1
  98. package/lib/injection/classes/node-gtk/Graphene-1.0.d.ts +0 -2
  99. package/lib/injection/classes/node-gtk/Graphene-1.0.js +0 -133
  100. package/lib/injection/classes/node-gtk/Graphene-1.0.js.map +0 -1
  101. package/lib/injection/classes/node-gtk/Gtk-3.0.d.ts +0 -2
  102. package/lib/injection/classes/node-gtk/Gtk-3.0.js +0 -31
  103. package/lib/injection/classes/node-gtk/Gtk-3.0.js.map +0 -1
  104. package/lib/injection/classes/node-gtk/Gtk-4.0.d.ts +0 -2
  105. package/lib/injection/classes/node-gtk/Gtk-4.0.js +0 -52
  106. package/lib/injection/classes/node-gtk/Gtk-4.0.js.map +0 -1
  107. package/lib/injection/classes/node-gtk/Pango-1.0.d.ts +0 -2
  108. package/lib/injection/classes/node-gtk/Pango-1.0.js +0 -31
  109. package/lib/injection/classes/node-gtk/Pango-1.0.js.map +0 -1
  110. package/lib/injection/classes/node-gtk/index.d.ts +0 -2
  111. package/lib/injection/classes/node-gtk/index.js +0 -19
  112. package/lib/injection/classes/node-gtk/index.js.map +0 -1
  113. package/lib/injection/index.d.ts +0 -3
  114. package/lib/injection/index.js +0 -4
  115. package/lib/injection/index.js.map +0 -1
  116. package/lib/injection/injector.d.ts +0 -17
  117. package/lib/injection/injector.js +0 -139
  118. package/lib/injection/injector.js.map +0 -1
  119. package/lib/logger.d.ts +0 -36
  120. package/lib/logger.js +0 -137
  121. package/lib/logger.js.map +0 -1
  122. package/lib/messages.d.ts +0 -31
  123. package/lib/messages.js +0 -46
  124. package/lib/messages.js.map +0 -1
  125. package/lib/symtable.d.ts +0 -24
  126. package/lib/symtable.js +0 -63
  127. package/lib/symtable.js.map +0 -1
  128. package/lib/template-processor.d.ts +0 -74
  129. package/lib/template-processor.js +0 -165
  130. package/lib/template-processor.js.map +0 -1
  131. package/lib/transformation.d.ts +0 -156
  132. package/lib/transformation.js +0 -523
  133. package/lib/transformation.js.map +0 -1
  134. package/lib/type-definition-generator.d.ts +0 -116
  135. package/lib/type-definition-generator.js +0 -991
  136. package/lib/type-definition-generator.js.map +0 -1
  137. package/lib/types/answer-version.d.ts +0 -4
  138. package/lib/types/answer-version.js +0 -2
  139. package/lib/types/answer-version.js.map +0 -1
  140. package/lib/types/build-type.d.ts +0 -1
  141. package/lib/types/build-type.js +0 -2
  142. package/lib/types/build-type.js.map +0 -1
  143. package/lib/types/class-parent.d.ts +0 -13
  144. package/lib/types/class-parent.js +0 -2
  145. package/lib/types/class-parent.js.map +0 -1
  146. package/lib/types/config-flags.d.ts +0 -4
  147. package/lib/types/config-flags.js +0 -2
  148. package/lib/types/config-flags.js.map +0 -1
  149. package/lib/types/conflict-child-element.d.ts +0 -10
  150. package/lib/types/conflict-child-element.js +0 -2
  151. package/lib/types/conflict-child-element.js.map +0 -1
  152. package/lib/types/conflict-grouped-element.d.ts +0 -6
  153. package/lib/types/conflict-grouped-element.js +0 -2
  154. package/lib/types/conflict-grouped-element.js.map +0 -1
  155. package/lib/types/conflict-grouped-elements.d.ts +0 -4
  156. package/lib/types/conflict-grouped-elements.js +0 -2
  157. package/lib/types/conflict-grouped-elements.js.map +0 -1
  158. package/lib/types/construct-name.d.ts +0 -1
  159. package/lib/types/construct-name.js +0 -2
  160. package/lib/types/construct-name.js.map +0 -1
  161. package/lib/types/dependency-map.d.ts +0 -4
  162. package/lib/types/dependency-map.js +0 -2
  163. package/lib/types/dependency-map.js.map +0 -1
  164. package/lib/types/dependency.d.ts +0 -15
  165. package/lib/types/dependency.js +0 -2
  166. package/lib/types/dependency.js.map +0 -1
  167. package/lib/types/environment.d.ts +0 -1
  168. package/lib/types/environment.js +0 -2
  169. package/lib/types/environment.js.map +0 -1
  170. package/lib/types/file-info.d.ts +0 -14
  171. package/lib/types/file-info.js +0 -2
  172. package/lib/types/file-info.js.map +0 -1
  173. package/lib/types/generate-config.d.ts +0 -32
  174. package/lib/types/generate-config.js +0 -2
  175. package/lib/types/generate-config.js.map +0 -1
  176. package/lib/types/generator-type.d.ts +0 -4
  177. package/lib/types/generator-type.js +0 -6
  178. package/lib/types/generator-type.js.map +0 -1
  179. package/lib/types/gir-alias-element.d.ts +0 -13
  180. package/lib/types/gir-alias-element.js +0 -2
  181. package/lib/types/gir-alias-element.js.map +0 -1
  182. package/lib/types/gir-annotation.d.ts +0 -9
  183. package/lib/types/gir-annotation.js +0 -2
  184. package/lib/types/gir-annotation.js.map +0 -1
  185. package/lib/types/gir-any-element.d.ts +0 -2
  186. package/lib/types/gir-any-element.js +0 -2
  187. package/lib/types/gir-any-element.js.map +0 -1
  188. package/lib/types/gir-any-type.d.ts +0 -5
  189. package/lib/types/gir-any-type.js +0 -2
  190. package/lib/types/gir-any-type.js.map +0 -1
  191. package/lib/types/gir-array-type.d.ts +0 -20
  192. package/lib/types/gir-array-type.js +0 -3
  193. package/lib/types/gir-array-type.js.map +0 -1
  194. package/lib/types/gir-bitfield-element.d.ts +0 -17
  195. package/lib/types/gir-bitfield-element.js +0 -2
  196. package/lib/types/gir-bitfield-element.js.map +0 -1
  197. package/lib/types/gir-boolean.d.ts +0 -1
  198. package/lib/types/gir-boolean.js +0 -2
  199. package/lib/types/gir-boolean.js.map +0 -1
  200. package/lib/types/gir-boxed-element.d.ts +0 -15
  201. package/lib/types/gir-boxed-element.js +0 -2
  202. package/lib/types/gir-boxed-element.js.map +0 -1
  203. package/lib/types/gir-c-include.d.ts +0 -7
  204. package/lib/types/gir-c-include.js +0 -2
  205. package/lib/types/gir-c-include.js.map +0 -1
  206. package/lib/types/gir-callable-attrs.d.ts +0 -15
  207. package/lib/types/gir-callable-attrs.js +0 -3
  208. package/lib/types/gir-callable-attrs.js.map +0 -1
  209. package/lib/types/gir-callable-param-element.d.ts +0 -30
  210. package/lib/types/gir-callable-param-element.js +0 -2
  211. package/lib/types/gir-callable-param-element.js.map +0 -1
  212. package/lib/types/gir-callable-param.d.ts +0 -7
  213. package/lib/types/gir-callable-param.js +0 -2
  214. package/lib/types/gir-callable-param.js.map +0 -1
  215. package/lib/types/gir-callable-return.d.ts +0 -22
  216. package/lib/types/gir-callable-return.js +0 -2
  217. package/lib/types/gir-callable-return.js.map +0 -1
  218. package/lib/types/gir-callback-element.d.ts +0 -15
  219. package/lib/types/gir-callback-element.js +0 -2
  220. package/lib/types/gir-callback-element.js.map +0 -1
  221. package/lib/types/gir-class-element.d.ts +0 -48
  222. package/lib/types/gir-class-element.js +0 -2
  223. package/lib/types/gir-class-element.js.map +0 -1
  224. package/lib/types/gir-constant-element.d.ts +0 -15
  225. package/lib/types/gir-constant-element.js +0 -2
  226. package/lib/types/gir-constant-element.js.map +0 -1
  227. package/lib/types/gir-constructor-element.d.ts +0 -8
  228. package/lib/types/gir-constructor-element.js +0 -2
  229. package/lib/types/gir-constructor-element.js.map +0 -1
  230. package/lib/types/gir-direction.d.ts +0 -5
  231. package/lib/types/gir-direction.js +0 -7
  232. package/lib/types/gir-direction.js.map +0 -1
  233. package/lib/types/gir-doc-element.d.ts +0 -68
  234. package/lib/types/gir-doc-element.js +0 -2
  235. package/lib/types/gir-doc-element.js.map +0 -1
  236. package/lib/types/gir-enum-element.d.ts +0 -19
  237. package/lib/types/gir-enum-element.js +0 -2
  238. package/lib/types/gir-enum-element.js.map +0 -1
  239. package/lib/types/gir-field-element.d.ts +0 -18
  240. package/lib/types/gir-field-element.js +0 -2
  241. package/lib/types/gir-field-element.js.map +0 -1
  242. package/lib/types/gir-function-element.d.ts +0 -8
  243. package/lib/types/gir-function-element.js +0 -2
  244. package/lib/types/gir-function-element.js.map +0 -1
  245. package/lib/types/gir-implements.d.ts +0 -8
  246. package/lib/types/gir-implements.js +0 -2
  247. package/lib/types/gir-implements.js.map +0 -1
  248. package/lib/types/gir-include.d.ts +0 -9
  249. package/lib/types/gir-include.js +0 -2
  250. package/lib/types/gir-include.js.map +0 -1
  251. package/lib/types/gir-info-attrs.d.ts +0 -13
  252. package/lib/types/gir-info-attrs.js +0 -2
  253. package/lib/types/gir-info-attrs.js.map +0 -1
  254. package/lib/types/gir-info-elements.d.ts +0 -5
  255. package/lib/types/gir-info-elements.js +0 -2
  256. package/lib/types/gir-info-elements.js.map +0 -1
  257. package/lib/types/gir-instance-parameter.d.ts +0 -21
  258. package/lib/types/gir-instance-parameter.js +0 -2
  259. package/lib/types/gir-instance-parameter.js.map +0 -1
  260. package/lib/types/gir-interface-element.d.ts +0 -31
  261. package/lib/types/gir-interface-element.js +0 -2
  262. package/lib/types/gir-interface-element.js.map +0 -1
  263. package/lib/types/gir-member-element.d.ts +0 -17
  264. package/lib/types/gir-member-element.js +0 -2
  265. package/lib/types/gir-member-element.js.map +0 -1
  266. package/lib/types/gir-method-element.d.ts +0 -13
  267. package/lib/types/gir-method-element.js +0 -2
  268. package/lib/types/gir-method-element.js.map +0 -1
  269. package/lib/types/gir-module-resolved-by.d.ts +0 -10
  270. package/lib/types/gir-module-resolved-by.js +0 -2
  271. package/lib/types/gir-module-resolved-by.js.map +0 -1
  272. package/lib/types/gir-modules-grouped-map.d.ts +0 -4
  273. package/lib/types/gir-modules-grouped-map.js +0 -2
  274. package/lib/types/gir-modules-grouped-map.js.map +0 -1
  275. package/lib/types/gir-modules-grouped.d.ts +0 -12
  276. package/lib/types/gir-modules-grouped.js +0 -2
  277. package/lib/types/gir-modules-grouped.js.map +0 -1
  278. package/lib/types/gir-namespace.d.ts +0 -30
  279. package/lib/types/gir-namespace.js +0 -2
  280. package/lib/types/gir-namespace.js.map +0 -1
  281. package/lib/types/gir-package.d.ts +0 -7
  282. package/lib/types/gir-package.js +0 -2
  283. package/lib/types/gir-package.js.map +0 -1
  284. package/lib/types/gir-prerequisite.d.ts +0 -5
  285. package/lib/types/gir-prerequisite.js +0 -2
  286. package/lib/types/gir-prerequisite.js.map +0 -1
  287. package/lib/types/gir-property-element.d.ts +0 -21
  288. package/lib/types/gir-property-element.js +0 -2
  289. package/lib/types/gir-property-element.js.map +0 -1
  290. package/lib/types/gir-record-element.d.ts +0 -30
  291. package/lib/types/gir-record-element.js +0 -2
  292. package/lib/types/gir-record-element.js.map +0 -1
  293. package/lib/types/gir-repository.d.ts +0 -16
  294. package/lib/types/gir-repository.js +0 -2
  295. package/lib/types/gir-repository.js.map +0 -1
  296. package/lib/types/gir-signal.d.ts +0 -25
  297. package/lib/types/gir-signal.js +0 -2
  298. package/lib/types/gir-signal.js.map +0 -1
  299. package/lib/types/gir-transfer-ownership-type.d.ts +0 -5
  300. package/lib/types/gir-transfer-ownership-type.js +0 -7
  301. package/lib/types/gir-transfer-ownership-type.js.map +0 -1
  302. package/lib/types/gir-transfer-ownership.d.ts +0 -5
  303. package/lib/types/gir-transfer-ownership.js +0 -2
  304. package/lib/types/gir-transfer-ownership.js.map +0 -1
  305. package/lib/types/gir-type.d.ts +0 -14
  306. package/lib/types/gir-type.js +0 -2
  307. package/lib/types/gir-type.js.map +0 -1
  308. package/lib/types/gir-union-element.d.ts +0 -22
  309. package/lib/types/gir-union-element.js +0 -2
  310. package/lib/types/gir-union-element.js.map +0 -1
  311. package/lib/types/gir-unparsed-number.d.ts +0 -2
  312. package/lib/types/gir-unparsed-number.js +0 -2
  313. package/lib/types/gir-unparsed-number.js.map +0 -1
  314. package/lib/types/gir-var-args.d.ts +0 -5
  315. package/lib/types/gir-var-args.js +0 -2
  316. package/lib/types/gir-var-args.js.map +0 -1
  317. package/lib/types/gir-virtual-method.d.ts +0 -10
  318. package/lib/types/gir-virtual-method.js +0 -2
  319. package/lib/types/gir-virtual-method.js.map +0 -1
  320. package/lib/types/index.d.ts +0 -119
  321. package/lib/types/index.js +0 -120
  322. package/lib/types/index.js.map +0 -1
  323. package/lib/types/inheritance-table.d.ts +0 -3
  324. package/lib/types/inheritance-table.js +0 -2
  325. package/lib/types/inheritance-table.js.map +0 -1
  326. package/lib/types/injection-callback.d.ts +0 -16
  327. package/lib/types/injection-callback.js +0 -2
  328. package/lib/types/injection-callback.js.map +0 -1
  329. package/lib/types/injection-class.d.ts +0 -25
  330. package/lib/types/injection-class.js +0 -2
  331. package/lib/types/injection-class.js.map +0 -1
  332. package/lib/types/injection-function.d.ts +0 -7
  333. package/lib/types/injection-function.js +0 -2
  334. package/lib/types/injection-function.js.map +0 -1
  335. package/lib/types/injection-generic-parameter.d.ts +0 -2
  336. package/lib/types/injection-generic-parameter.js +0 -2
  337. package/lib/types/injection-generic-parameter.js.map +0 -1
  338. package/lib/types/injection-instance-parameter.d.ts +0 -2
  339. package/lib/types/injection-instance-parameter.js +0 -2
  340. package/lib/types/injection-instance-parameter.js.map +0 -1
  341. package/lib/types/injection-parameter.d.ts +0 -8
  342. package/lib/types/injection-parameter.js +0 -2
  343. package/lib/types/injection-parameter.js.map +0 -1
  344. package/lib/types/injection-property.d.ts +0 -4
  345. package/lib/types/injection-property.js +0 -2
  346. package/lib/types/injection-property.js.map +0 -1
  347. package/lib/types/injection-type.d.ts +0 -2
  348. package/lib/types/injection-type.js +0 -2
  349. package/lib/types/injection-type.js.map +0 -1
  350. package/lib/types/injection.d.ts +0 -5
  351. package/lib/types/injection.js +0 -2
  352. package/lib/types/injection.js.map +0 -1
  353. package/lib/types/local-name-check.d.ts +0 -4
  354. package/lib/types/local-name-check.js +0 -2
  355. package/lib/types/local-name-check.js.map +0 -1
  356. package/lib/types/local-name-type.d.ts +0 -1
  357. package/lib/types/local-name-type.js +0 -2
  358. package/lib/types/local-name-type.js.map +0 -1
  359. package/lib/types/local-name.d.ts +0 -7
  360. package/lib/types/local-name.js +0 -2
  361. package/lib/types/local-name.js.map +0 -1
  362. package/lib/types/local-names.d.ts +0 -4
  363. package/lib/types/local-names.js +0 -2
  364. package/lib/types/local-names.js.map +0 -1
  365. package/lib/types/module-type.d.ts +0 -1
  366. package/lib/types/module-type.js +0 -2
  367. package/lib/types/module-type.js.map +0 -1
  368. package/lib/types/parsed-gir.d.ts +0 -4
  369. package/lib/types/parsed-gir.js +0 -2
  370. package/lib/types/parsed-gir.js.map +0 -1
  371. package/lib/types/part-of-class.d.ts +0 -7
  372. package/lib/types/part-of-class.js +0 -2
  373. package/lib/types/part-of-class.js.map +0 -1
  374. package/lib/types/part-of-module.d.ts +0 -6
  375. package/lib/types/part-of-module.js +0 -2
  376. package/lib/types/part-of-module.js.map +0 -1
  377. package/lib/types/promisify-func.d.ts +0 -5
  378. package/lib/types/promisify-func.js +0 -2
  379. package/lib/types/promisify-func.js.map +0 -1
  380. package/lib/types/resolve-type.d.ts +0 -4
  381. package/lib/types/resolve-type.js +0 -6
  382. package/lib/types/resolve-type.js.map +0 -1
  383. package/lib/types/sym-table-items.d.ts +0 -4
  384. package/lib/types/sym-table-items.js +0 -2
  385. package/lib/types/sym-table-items.js.map +0 -1
  386. package/lib/types/transformation-case.d.ts +0 -1
  387. package/lib/types/transformation-case.js +0 -2
  388. package/lib/types/transformation-case.js.map +0 -1
  389. package/lib/types/transformations.d.ts +0 -11
  390. package/lib/types/transformations.js +0 -2
  391. package/lib/types/transformations.js.map +0 -1
  392. package/lib/types/ts-alias.d.ts +0 -10
  393. package/lib/types/ts-alias.js +0 -2
  394. package/lib/types/ts-alias.js.map +0 -1
  395. package/lib/types/ts-callback-interface.d.ts +0 -10
  396. package/lib/types/ts-callback-interface.js +0 -2
  397. package/lib/types/ts-callback-interface.js.map +0 -1
  398. package/lib/types/ts-callback.d.ts +0 -17
  399. package/lib/types/ts-callback.js +0 -2
  400. package/lib/types/ts-callback.js.map +0 -1
  401. package/lib/types/ts-class.d.ts +0 -85
  402. package/lib/types/ts-class.js +0 -2
  403. package/lib/types/ts-class.js.map +0 -1
  404. package/lib/types/ts-doc-tag.d.ts +0 -21
  405. package/lib/types/ts-doc-tag.js +0 -2
  406. package/lib/types/ts-doc-tag.js.map +0 -1
  407. package/lib/types/ts-doc.d.ts +0 -20
  408. package/lib/types/ts-doc.js +0 -2
  409. package/lib/types/ts-doc.js.map +0 -1
  410. package/lib/types/ts-enum.d.ts +0 -12
  411. package/lib/types/ts-enum.js +0 -2
  412. package/lib/types/ts-enum.js.map +0 -1
  413. package/lib/types/ts-function.d.ts +0 -44
  414. package/lib/types/ts-function.js +0 -2
  415. package/lib/types/ts-function.js.map +0 -1
  416. package/lib/types/ts-generic-parameter.d.ts +0 -8
  417. package/lib/types/ts-generic-parameter.js +0 -2
  418. package/lib/types/ts-generic-parameter.js.map +0 -1
  419. package/lib/types/ts-instance-parameter.d.ts +0 -4
  420. package/lib/types/ts-instance-parameter.js +0 -2
  421. package/lib/types/ts-instance-parameter.js.map +0 -1
  422. package/lib/types/ts-member.d.ts +0 -10
  423. package/lib/types/ts-member.js +0 -2
  424. package/lib/types/ts-member.js.map +0 -1
  425. package/lib/types/ts-method.d.ts +0 -5
  426. package/lib/types/ts-method.js +0 -2
  427. package/lib/types/ts-method.js.map +0 -1
  428. package/lib/types/ts-parameter.d.ts +0 -15
  429. package/lib/types/ts-parameter.js +0 -2
  430. package/lib/types/ts-parameter.js.map +0 -1
  431. package/lib/types/ts-property.d.ts +0 -17
  432. package/lib/types/ts-property.js +0 -2
  433. package/lib/types/ts-property.js.map +0 -1
  434. package/lib/types/ts-signal.d.ts +0 -17
  435. package/lib/types/ts-signal.js +0 -2
  436. package/lib/types/ts-signal.js.map +0 -1
  437. package/lib/types/ts-type-name.d.ts +0 -1
  438. package/lib/types/ts-type-name.js +0 -2
  439. package/lib/types/ts-type-name.js.map +0 -1
  440. package/lib/types/ts-type-separator.d.ts +0 -1
  441. package/lib/types/ts-type-separator.js +0 -2
  442. package/lib/types/ts-type-separator.js.map +0 -1
  443. package/lib/types/ts-type.d.ts +0 -22
  444. package/lib/types/ts-type.js +0 -2
  445. package/lib/types/ts-type.js.map +0 -1
  446. package/lib/types/ts-var.d.ts +0 -17
  447. package/lib/types/ts-var.js +0 -2
  448. package/lib/types/ts-var.js.map +0 -1
  449. package/lib/types/type-gir-alias.d.ts +0 -2
  450. package/lib/types/type-gir-alias.js +0 -2
  451. package/lib/types/type-gir-alias.js.map +0 -1
  452. package/lib/types/type-gir-class.d.ts +0 -2
  453. package/lib/types/type-gir-class.js +0 -2
  454. package/lib/types/type-gir-class.js.map +0 -1
  455. package/lib/types/type-gir-element.d.ts +0 -3
  456. package/lib/types/type-gir-element.js +0 -2
  457. package/lib/types/type-gir-element.js.map +0 -1
  458. package/lib/types/type-gir-enumeration-member.d.ts +0 -2
  459. package/lib/types/type-gir-enumeration-member.js +0 -2
  460. package/lib/types/type-gir-enumeration-member.js.map +0 -1
  461. package/lib/types/type-gir-enumeration.d.ts +0 -2
  462. package/lib/types/type-gir-enumeration.js +0 -2
  463. package/lib/types/type-gir-enumeration.js.map +0 -1
  464. package/lib/types/type-gir-function.d.ts +0 -1
  465. package/lib/types/type-gir-function.js +0 -2
  466. package/lib/types/type-gir-function.js.map +0 -1
  467. package/lib/types/type-gir-interface.d.ts +0 -2
  468. package/lib/types/type-gir-interface.js +0 -2
  469. package/lib/types/type-gir-interface.js.map +0 -1
  470. package/lib/types/type-gir-method.d.ts +0 -2
  471. package/lib/types/type-gir-method.js +0 -2
  472. package/lib/types/type-gir-method.js.map +0 -1
  473. package/lib/types/type-gir-parameter.d.ts +0 -1
  474. package/lib/types/type-gir-parameter.js +0 -2
  475. package/lib/types/type-gir-parameter.js.map +0 -1
  476. package/lib/types/type-gir-property.d.ts +0 -2
  477. package/lib/types/type-gir-property.js +0 -2
  478. package/lib/types/type-gir-property.js.map +0 -1
  479. package/lib/types/type-gir-variable.d.ts +0 -1
  480. package/lib/types/type-gir-variable.js +0 -2
  481. package/lib/types/type-gir-variable.js.map +0 -1
  482. package/lib/types/type-ts-element.d.ts +0 -3
  483. package/lib/types/type-ts-element.js +0 -2
  484. package/lib/types/type-ts-element.js.map +0 -1
  485. package/lib/types/type-ts-enumeration-member.d.ts +0 -2
  486. package/lib/types/type-ts-enumeration-member.js +0 -2
  487. package/lib/types/type-ts-enumeration-member.js.map +0 -1
  488. package/lib/types/type-ts-function.d.ts +0 -1
  489. package/lib/types/type-ts-function.js +0 -2
  490. package/lib/types/type-ts-function.js.map +0 -1
  491. package/lib/types/type-ts-property.d.ts +0 -1
  492. package/lib/types/type-ts-property.js +0 -2
  493. package/lib/types/type-ts-property.js.map +0 -1
  494. package/lib/types/user-config-load-result.d.ts +0 -6
  495. package/lib/types/user-config-load-result.js +0 -2
  496. package/lib/types/user-config-load-result.js.map +0 -1
  497. package/lib/types/user-config.d.ts +0 -40
  498. package/lib/types/user-config.js +0 -2
  499. package/lib/types/user-config.js.map +0 -1
  500. package/src/conflict-resolver.ts +0 -1358
  501. package/src/constants.ts +0 -29
  502. package/src/dependency-manager.ts +0 -91
  503. package/src/generator.ts +0 -10
  504. package/src/gir-factory.ts +0 -499
  505. package/src/gir-module.ts +0 -2827
  506. package/src/html-doc-generator.ts +0 -23
  507. package/src/injection/callbacks/gjs/Gio-2.0.ts +0 -37
  508. package/src/injection/callbacks/gjs/index.ts +0 -5
  509. package/src/injection/callbacks/index.ts +0 -6
  510. package/src/injection/callbacks/node-gtk/index.ts +0 -3
  511. package/src/injection/classes/GLib-2-0.ts +0 -36
  512. package/src/injection/classes/gjs/GLib-2.0.ts +0 -201
  513. package/src/injection/classes/gjs/GObject-2.0.ts +0 -635
  514. package/src/injection/classes/gjs/Gio-2.0.ts +0 -219
  515. package/src/injection/classes/gjs/index.ts +0 -7
  516. package/src/injection/classes/index.ts +0 -7
  517. package/src/injection/classes/node-gtk/GLib-2.0.ts +0 -20
  518. package/src/injection/classes/node-gtk/GObject-2.0.ts +0 -67
  519. package/src/injection/classes/node-gtk/Gdk-4.0.ts +0 -33
  520. package/src/injection/classes/node-gtk/Gio-2.0.ts +0 -15
  521. package/src/injection/classes/node-gtk/Graphene-1.0.ts +0 -134
  522. package/src/injection/classes/node-gtk/Gtk-3.0.ts +0 -32
  523. package/src/injection/classes/node-gtk/Gtk-4.0.ts +0 -53
  524. package/src/injection/classes/node-gtk/Pango-1.0.ts +0 -32
  525. package/src/injection/classes/node-gtk/index.ts +0 -21
  526. package/src/injection/index.ts +0 -3
  527. package/src/injection/injector.ts +0 -184
  528. package/src/logger.ts +0 -134
  529. package/src/messages.ts +0 -69
  530. package/src/symtable.ts +0 -72
  531. package/src/template-processor.ts +0 -199
  532. package/src/transformation.ts +0 -583
  533. package/src/type-definition-generator.ts +0 -1460
  534. package/src/types/answer-version.ts +0 -4
  535. package/src/types/build-type.ts +0 -1
  536. package/src/types/class-parent.ts +0 -14
  537. package/src/types/config-flags.ts +0 -5
  538. package/src/types/conflict-child-element.ts +0 -11
  539. package/src/types/conflict-grouped-element.ts +0 -7
  540. package/src/types/conflict-grouped-elements.ts +0 -5
  541. package/src/types/construct-name.ts +0 -11
  542. package/src/types/dependency-map.ts +0 -4
  543. package/src/types/dependency.ts +0 -16
  544. package/src/types/environment.ts +0 -1
  545. package/src/types/file-info.ts +0 -14
  546. package/src/types/generate-config.ts +0 -33
  547. package/src/types/generator-type.ts +0 -4
  548. package/src/types/gir-alias-element.ts +0 -15
  549. package/src/types/gir-annotation.ts +0 -10
  550. package/src/types/gir-any-element.ts +0 -35
  551. package/src/types/gir-any-type.ts +0 -7
  552. package/src/types/gir-array-type.ts +0 -23
  553. package/src/types/gir-bitfield-element.ts +0 -20
  554. package/src/types/gir-boolean.ts +0 -1
  555. package/src/types/gir-boxed-element.ts +0 -19
  556. package/src/types/gir-c-include.ts +0 -7
  557. package/src/types/gir-callable-attrs.ts +0 -19
  558. package/src/types/gir-callable-param-element.ts +0 -45
  559. package/src/types/gir-callable-param.ts +0 -9
  560. package/src/types/gir-callable-return.ts +0 -25
  561. package/src/types/gir-callback-element.ts +0 -28
  562. package/src/types/gir-class-element.ts +0 -71
  563. package/src/types/gir-constant-element.ts +0 -17
  564. package/src/types/gir-constructor-element.ts +0 -18
  565. package/src/types/gir-direction.ts +0 -5
  566. package/src/types/gir-doc-element.ts +0 -73
  567. package/src/types/gir-enum-element.ts +0 -28
  568. package/src/types/gir-field-element.ts +0 -31
  569. package/src/types/gir-function-element.ts +0 -19
  570. package/src/types/gir-implements.ts +0 -9
  571. package/src/types/gir-include.ts +0 -9
  572. package/src/types/gir-info-attrs.ts +0 -16
  573. package/src/types/gir-info-elements.ts +0 -8
  574. package/src/types/gir-instance-parameter.ts +0 -25
  575. package/src/types/gir-interface-element.ts +0 -53
  576. package/src/types/gir-member-element.ts +0 -19
  577. package/src/types/gir-method-element.ts +0 -25
  578. package/src/types/gir-module-resolved-by.ts +0 -11
  579. package/src/types/gir-modules-grouped-map.ts +0 -5
  580. package/src/types/gir-modules-grouped.ts +0 -13
  581. package/src/types/gir-namespace.ts +0 -47
  582. package/src/types/gir-package.ts +0 -7
  583. package/src/types/gir-prerequisite.ts +0 -5
  584. package/src/types/gir-property-element.ts +0 -31
  585. package/src/types/gir-record-element.ts +0 -47
  586. package/src/types/gir-repository.ts +0 -20
  587. package/src/types/gir-signal.ts +0 -43
  588. package/src/types/gir-transfer-ownership-type.ts +0 -5
  589. package/src/types/gir-transfer-ownership.ts +0 -6
  590. package/src/types/gir-type.ts +0 -16
  591. package/src/types/gir-union-element.ts +0 -35
  592. package/src/types/gir-unparsed-number.ts +0 -2
  593. package/src/types/gir-var-args.ts +0 -6
  594. package/src/types/gir-virtual-method.ts +0 -22
  595. package/src/types/index.ts +0 -119
  596. package/src/types/inheritance-table.ts +0 -3
  597. package/src/types/injection-callback.ts +0 -20
  598. package/src/types/injection-class.ts +0 -30
  599. package/src/types/injection-function.ts +0 -23
  600. package/src/types/injection-generic-parameter.ts +0 -3
  601. package/src/types/injection-instance-parameter.ts +0 -3
  602. package/src/types/injection-parameter.ts +0 -9
  603. package/src/types/injection-property.ts +0 -7
  604. package/src/types/injection-type.ts +0 -3
  605. package/src/types/injection.ts +0 -6
  606. package/src/types/local-name-check.ts +0 -5
  607. package/src/types/local-name-type.ts +0 -1
  608. package/src/types/local-name.ts +0 -8
  609. package/src/types/local-names.ts +0 -5
  610. package/src/types/module-type.ts +0 -1
  611. package/src/types/parsed-gir.ts +0 -5
  612. package/src/types/part-of-class.ts +0 -9
  613. package/src/types/part-of-module.ts +0 -8
  614. package/src/types/resolve-type.ts +0 -4
  615. package/src/types/sym-table-items.ts +0 -5
  616. package/src/types/transformation-case.ts +0 -7
  617. package/src/types/transformations.ts +0 -12
  618. package/src/types/ts-alias.ts +0 -11
  619. package/src/types/ts-callback-interface.ts +0 -11
  620. package/src/types/ts-callback.ts +0 -21
  621. package/src/types/ts-class.ts +0 -109
  622. package/src/types/ts-doc-tag.ts +0 -23
  623. package/src/types/ts-doc.ts +0 -23
  624. package/src/types/ts-enum.ts +0 -15
  625. package/src/types/ts-function.ts +0 -59
  626. package/src/types/ts-generic-parameter.ts +0 -8
  627. package/src/types/ts-instance-parameter.ts +0 -4
  628. package/src/types/ts-member.ts +0 -11
  629. package/src/types/ts-method.ts +0 -6
  630. package/src/types/ts-parameter.ts +0 -20
  631. package/src/types/ts-property.ts +0 -22
  632. package/src/types/ts-signal.ts +0 -21
  633. package/src/types/ts-type-name.ts +0 -1
  634. package/src/types/ts-type-separator.ts +0 -1
  635. package/src/types/ts-type.ts +0 -25
  636. package/src/types/ts-var.ts +0 -21
  637. package/src/types/type-gir-alias.ts +0 -2
  638. package/src/types/type-gir-class.ts +0 -2
  639. package/src/types/type-gir-element.ts +0 -25
  640. package/src/types/type-gir-enumeration-member.ts +0 -2
  641. package/src/types/type-gir-enumeration.ts +0 -2
  642. package/src/types/type-gir-function.ts +0 -8
  643. package/src/types/type-gir-interface.ts +0 -2
  644. package/src/types/type-gir-method.ts +0 -2
  645. package/src/types/type-gir-parameter.ts +0 -1
  646. package/src/types/type-gir-property.ts +0 -2
  647. package/src/types/type-gir-variable.ts +0 -1
  648. package/src/types/type-ts-element.ts +0 -13
  649. package/src/types/type-ts-enumeration-member.ts +0 -2
  650. package/src/types/type-ts-function.ts +0 -1
  651. package/src/types/type-ts-property.ts +0 -1
  652. package/src/types/user-config-load-result.ts +0 -6
  653. package/src/types/user-config.ts +0 -41
  654. package/templates/Cogl-2.0.d.ts +0 -0
  655. package/templates/Gjs/GObject-2.0.d.ts +0 -238
  656. package/templates/Gjs/Gio-2.0.d.ts +0 -64
  657. package/templates/Gjs/Gjs.d.ts +0 -204
  658. package/templates/Gjs/Gjs.js +0 -21
  659. package/templates/Gjs/GnomeShell.d.ts +0 -152
  660. package/templates/Gjs/GnomeShell.js +0 -10
  661. package/templates/Gjs/index.d.ts +0 -594
  662. package/templates/Gjs/index.js +0 -4
  663. package/templates/Gjs/misc/dbusUtils.d.ts +0 -15
  664. package/templates/Gjs/misc/dbusUtils.js +0 -6
  665. package/templates/Gjs/misc/extensionUtils.d.ts +0 -99
  666. package/templates/Gjs/misc/extensionUtils.js +0 -6
  667. package/templates/Gjs/misc/fileUtils.d.ts +0 -51
  668. package/templates/Gjs/misc/fileUtils.js +0 -6
  669. package/templates/Gjs/misc/gnomeSession.d.ts +0 -74
  670. package/templates/Gjs/misc/gnomeSession.js +0 -6
  671. package/templates/Gjs/misc/parentalControlsManager.d.ts +0 -42
  672. package/templates/Gjs/misc/parentalControlsManager.js +0 -6
  673. package/templates/Gjs/misc/signals.d.ts +0 -15
  674. package/templates/Gjs/misc/signals.js +0 -6
  675. package/templates/Gjs/module.d.ts +0 -6
  676. package/templates/Gjs/module.js +0 -16
  677. package/templates/Gjs/tsconfig.alias.json +0 -10
  678. package/templates/Gjs/ui/accessDialog.d.ts +0 -19
  679. package/templates/Gjs/ui/accessDialog.js +0 -6
  680. package/templates/Gjs/ui/altTab.d.ts +0 -124
  681. package/templates/Gjs/ui/altTab.js +0 -6
  682. package/templates/Gjs/ui/animation.d.ts +0 -58
  683. package/templates/Gjs/ui/animation.js +0 -6
  684. package/templates/Gjs/ui/appDisplay.d.ts +0 -204
  685. package/templates/Gjs/ui/appDisplay.js +0 -6
  686. package/templates/Gjs/ui/appFavorites.d.ts +0 -34
  687. package/templates/Gjs/ui/appFavorites.js +0 -6
  688. package/templates/Gjs/ui/appMenu.d.ts +0 -74
  689. package/templates/Gjs/ui/appMenu.js +0 -6
  690. package/templates/Gjs/ui/audioDeviceSelection.d.ts +0 -51
  691. package/templates/Gjs/ui/audioDeviceSelection.js +0 -6
  692. package/templates/Gjs/ui/background.d.ts +0 -255
  693. package/templates/Gjs/ui/background.js +0 -5
  694. package/templates/Gjs/ui/backgroundMenu.d.ts +0 -19
  695. package/templates/Gjs/ui/backgroundMenu.js +0 -5
  696. package/templates/Gjs/ui/barLevel.d.ts +0 -42
  697. package/templates/Gjs/ui/barLevel.js +0 -5
  698. package/templates/Gjs/ui/boxpointer.d.ts +0 -103
  699. package/templates/Gjs/ui/boxpointer.js +0 -5
  700. package/templates/Gjs/ui/calendar.d.ts +0 -261
  701. package/templates/Gjs/ui/calendar.js +0 -5
  702. package/templates/Gjs/ui/components/__init__.d.ts +0 -9
  703. package/templates/Gjs/ui/components/__init__.js +0 -6
  704. package/templates/Gjs/ui/components/automountManager.d.ts +0 -8
  705. package/templates/Gjs/ui/components/automountManager.js +0 -6
  706. package/templates/Gjs/ui/components/autorunManager.d.ts +0 -8
  707. package/templates/Gjs/ui/components/autorunManager.js +0 -6
  708. package/templates/Gjs/ui/components/index.d.ts +0 -6
  709. package/templates/Gjs/ui/components/index.js +0 -6
  710. package/templates/Gjs/ui/components/keyring.d.ts +0 -19
  711. package/templates/Gjs/ui/components/keyring.js +0 -6
  712. package/templates/Gjs/ui/components/networkAgent.d.ts +0 -10
  713. package/templates/Gjs/ui/components/networkAgent.js +0 -6
  714. package/templates/Gjs/ui/components/polkitAgent.d.ts +0 -19
  715. package/templates/Gjs/ui/components/polkitAgent.js +0 -6
  716. package/templates/Gjs/ui/components/telepathyClient.d.ts +0 -10
  717. package/templates/Gjs/ui/components/telepathyClient.js +0 -6
  718. package/templates/Gjs/ui/dialog.d.ts +0 -78
  719. package/templates/Gjs/ui/dialog.js +0 -0
  720. package/templates/Gjs/ui/dnd.d.ts +0 -127
  721. package/templates/Gjs/ui/dnd.js +0 -6
  722. package/templates/Gjs/ui/iconGrid.d.ts +0 -172
  723. package/templates/Gjs/ui/iconGrid.js +0 -6
  724. package/templates/Gjs/ui/layout.d.ts +0 -311
  725. package/templates/Gjs/ui/layout.js +0 -6
  726. package/templates/Gjs/ui/main.d.ts +0 -215
  727. package/templates/Gjs/ui/main.js +0 -6
  728. package/templates/Gjs/ui/messageList.d.ts +0 -113
  729. package/templates/Gjs/ui/messageList.js +0 -6
  730. package/templates/Gjs/ui/messageTray.d.ts +0 -423
  731. package/templates/Gjs/ui/messageTray.js +0 -6
  732. package/templates/Gjs/ui/modalDialog.d.ts +0 -96
  733. package/templates/Gjs/ui/modalDialog.js +0 -6
  734. package/templates/Gjs/ui/mpris.d.ts +0 -78
  735. package/templates/Gjs/ui/mpris.js +0 -6
  736. package/templates/Gjs/ui/notificationDaemon.d.ts +0 -5
  737. package/templates/Gjs/ui/notificationDaemon.js +0 -6
  738. package/templates/Gjs/ui/panel.d.ts +0 -65
  739. package/templates/Gjs/ui/panel.js +0 -6
  740. package/templates/Gjs/ui/panelMenu.d.ts +0 -51
  741. package/templates/Gjs/ui/panelMenu.js +0 -6
  742. package/templates/Gjs/ui/popupMenu.d.ts +0 -228
  743. package/templates/Gjs/ui/popupMenu.js +0 -6
  744. package/templates/Gjs/ui/ripples.d.ts +0 -44
  745. package/templates/Gjs/ui/ripples.js +0 -6
  746. package/templates/Gjs/ui/search.d.ts +0 -158
  747. package/templates/Gjs/ui/search.js +0 -6
  748. package/templates/Gjs/ui/switcherPopup.d.ts +0 -107
  749. package/templates/Gjs/ui/switcherPopup.js +0 -6
  750. package/templates/Gjs/ui/userWidget.d.ts +0 -13
  751. package/templates/Gjs/ui/userWidget.js +0 -6
  752. package/templates/Granite-1.0.d.ts +0 -7
  753. package/templates/Granite-7.0.d.ts +0 -7
  754. package/templates/GstBase-0.10.d.ts +0 -5
  755. package/templates/RygelServer-2.6.d.ts +0 -3
  756. package/templates/node-gtk/GObject-2.0.d.ts +0 -57
  757. package/templates/node-gtk/index.d.ts +0 -40
  758. package/templates/node-gtk/index.js +0 -9
  759. package/templates/node-gtk/module.d.ts +0 -6
  760. package/templates/node-gtk/module.js +0 -17
@@ -4,10 +4,22 @@
4
4
 
5
5
  import inquirer, { ListQuestion, Answers } from 'inquirer'
6
6
  import glob from 'tiny-glob'
7
- import Path from 'path'
7
+ import { basename } from 'path'
8
8
  import { readFile } from 'fs/promises'
9
9
  import { bold } from 'colorette'
10
10
  import * as xml2js from 'xml2js'
11
+ import {
12
+ DependencyManager,
13
+ ResolveType,
14
+ GirModule,
15
+ Logger,
16
+ splitModuleName,
17
+ union,
18
+ isIterable,
19
+ WARN_NO_GIR_FILE_FOUND_FOR_PACKAGE,
20
+ } from '@ts-for-gir/lib'
21
+ import { Config } from './config.js'
22
+
11
23
  import type {
12
24
  GirModulesGroupedMap,
13
25
  ParsedGir,
@@ -17,21 +29,14 @@ import type {
17
29
  DependencyMap,
18
30
  Dependency,
19
31
  AnswerVersion,
20
- } from './types/index.js'
21
- import { ResolveType } from './types/index.js'
22
- import { GirModule } from './gir-module.js'
23
- import { Config } from './config.js'
24
- import { Logger } from './logger.js'
25
- import { DependencyManager } from './dependency-manager.js'
26
- import { splitModuleName, union, isIterable } from './utils.js'
27
- import { WARN_NO_GIR_FILE_FOUND_FOR_PACKAGE } from './messages.js'
32
+ } from '@ts-for-gir/lib'
28
33
 
29
34
  export class ModuleLoader {
30
35
  log: Logger
31
36
  dependencyManager: DependencyManager
32
37
  /** Transitive module dependencies */
33
38
  modDependencyMap: DependencyMap = {}
34
- constructor(private readonly config: GenerateConfig) {
39
+ constructor(protected readonly config: GenerateConfig) {
35
40
  this.log = new Logger('', config.verbose, 'ModuleLoader')
36
41
  this.dependencyManager = DependencyManager.getInstance(config)
37
42
  }
@@ -41,7 +46,7 @@ export class ModuleLoader {
41
46
  * E.g. Gtk-3.0 and Gtk-4.0 will be grouped
42
47
  * @param girFiles
43
48
  */
44
- private groupGirFiles(resolveGirModules: Set<GirModuleResolvedBy> | GirModuleResolvedBy[]): GirModulesGroupedMap {
49
+ protected groupGirFiles(resolveGirModules: Set<GirModuleResolvedBy> | GirModuleResolvedBy[]): GirModulesGroupedMap {
45
50
  const girModulesGrouped: GirModulesGroupedMap = {}
46
51
 
47
52
  for (const resolveGirModule of resolveGirModules) {
@@ -68,7 +73,7 @@ export class ModuleLoader {
68
73
  * @param girModulesGrouped
69
74
  * @param selected Users selected module packageName
70
75
  */
71
- private sortVersionsByAnswer(
76
+ protected sortVersionsByAnswer(
72
77
  girModulesGrouped: GirModulesGrouped,
73
78
  selected: string[],
74
79
  ): { keep: Set<GirModuleResolvedBy>; ignore: string[] } {
@@ -102,7 +107,10 @@ export class ModuleLoader {
102
107
  }
103
108
  }
104
109
 
105
- private generateContinueQuestion(message = `do you want to continue?`, choices = ['Yes', 'Go back']): ListQuestion {
110
+ protected generateContinueQuestion(
111
+ message = `do you want to continue?`,
112
+ choices = ['Yes', 'Go back'],
113
+ ): ListQuestion {
106
114
  const question: ListQuestion = {
107
115
  name: 'continue',
108
116
  message,
@@ -112,7 +120,7 @@ export class ModuleLoader {
112
120
  return question
113
121
  }
114
122
 
115
- private generateIgnoreDepsQuestion(
123
+ protected generateIgnoreDepsQuestion(
116
124
  message = `Do you want to ignore them too?`,
117
125
  choices = ['Yes', 'No', 'Go back'],
118
126
  ): ListQuestion {
@@ -125,7 +133,7 @@ export class ModuleLoader {
125
133
  return question
126
134
  }
127
135
 
128
- private async askIgnoreDepsPrompt(
136
+ protected async askIgnoreDepsPrompt(
129
137
  deps: GirModuleResolvedBy[] | Set<GirModuleResolvedBy>,
130
138
  ): Promise<'Yes' | 'No' | 'Go back'> {
131
139
  let question: ListQuestion<Answers> | null = null
@@ -152,7 +160,7 @@ export class ModuleLoader {
152
160
  * @param girModuleGrouped
153
161
  * @param message
154
162
  */
155
- private generateModuleVersionQuestion(girModuleGrouped: GirModulesGrouped, message?: string): ListQuestion {
163
+ protected generateModuleVersionQuestion(girModuleGrouped: GirModulesGrouped, message?: string): ListQuestion {
156
164
  message = message || `Multiple versions of '${girModuleGrouped.namespace}' found, which one do you want to use?`
157
165
  const choices = ['All', ...girModuleGrouped.modules.map((module) => module.packageName)]
158
166
  const question: ListQuestion = {
@@ -169,7 +177,7 @@ export class ModuleLoader {
169
177
  * @param girModulesGroupedMap
170
178
  * @param packageName
171
179
  */
172
- private findPackageNamesDependOnPackage(
180
+ protected findPackageNamesDependOnPackage(
173
181
  girModulesGroupedMap: GirModulesGroupedMap,
174
182
  packageName: string,
175
183
  ): GirModuleResolvedBy[] {
@@ -194,7 +202,7 @@ export class ModuleLoader {
194
202
  * @param girModulesGroupedMap
195
203
  * @param packageName
196
204
  */
197
- private findPackageNamesDependOnPackages(
205
+ protected findPackageNamesDependOnPackages(
198
206
  girModulesGroupedMap: GirModulesGroupedMap,
199
207
  packageNames: string[],
200
208
  ): GirModuleResolvedBy[] {
@@ -205,7 +213,7 @@ export class ModuleLoader {
205
213
  return girModules
206
214
  }
207
215
 
208
- private async askForVersionsPrompt(girModulesGrouped: GirModulesGrouped): Promise<AnswerVersion> {
216
+ protected async askForVersionsPrompt(girModulesGrouped: GirModulesGrouped): Promise<AnswerVersion> {
209
217
  const question = this.generateModuleVersionQuestion(girModulesGrouped)
210
218
  const choices = question.choices as string[]
211
219
  if (!choices) {
@@ -236,7 +244,7 @@ export class ModuleLoader {
236
244
  * Ignores also modules that depend on a module that should be ignored
237
245
  * @param resolveFirModules
238
246
  */
239
- private async askForEachConflictVersionsPrompt(
247
+ protected async askForEachConflictVersionsPrompt(
240
248
  girModulesGroupedMap: GirModulesGroupedMap,
241
249
  ignore: string[],
242
250
  ): Promise<{ keep: Set<GirModuleResolvedBy>; ignore: string[] }> {
@@ -306,7 +314,7 @@ export class ModuleLoader {
306
314
  * Asks via cli prompt if the user wants to add the ignored modules to his config file
307
315
  * @param ignoredModules
308
316
  */
309
- private async askAddToIgnoreToConfigPrompt(ignoredModules: string[] | Set<string>): Promise<void> {
317
+ protected async askAddToIgnoreToConfigPrompt(ignoredModules: string[] | Set<string>): Promise<void> {
310
318
  const questions = [
311
319
  {
312
320
  name: 'addToIgnore',
@@ -332,7 +340,7 @@ export class ModuleLoader {
332
340
  * @param packageName
333
341
  * @param result
334
342
  */
335
- private traverseDependencies(packageName: string, result: { [name: string]: Dependency } = {}): void {
343
+ protected traverseDependencies(packageName: string, result: { [name: string]: Dependency } = {}): void {
336
344
  const deps = this.modDependencyMap[packageName]
337
345
  if (isIterable(deps)) {
338
346
  for (const dep of deps) {
@@ -348,7 +356,7 @@ export class ModuleLoader {
348
356
  * should be called for each girModule so that the modDependencyMap is complete
349
357
  * @param girModule
350
358
  */
351
- private extendDependencyMapByGirModule(girModule: GirModule): void {
359
+ protected extendDependencyMapByGirModule(girModule: GirModule): void {
352
360
  this.modDependencyMap[girModule.packageName] = girModule.dependencies
353
361
  }
354
362
 
@@ -357,7 +365,7 @@ export class ModuleLoader {
357
365
  * is required so that all dependencies can be found internally when generating the dependency imports for the module .d.ts file
358
366
  * @param girModules
359
367
  */
360
- private setTraverseDependenciesForModules(girModules: GirModuleResolvedBy[]): void {
368
+ protected setTraverseDependenciesForModules(girModules: GirModuleResolvedBy[]): void {
361
369
  for (const girModule of girModules) {
362
370
  const result: { [name: string]: Dependency } = {}
363
371
  this.traverseDependencies(girModule.packageName, result)
@@ -371,7 +379,7 @@ export class ModuleLoader {
371
379
  * @param fillName
372
380
  * @param config
373
381
  */
374
- private async loadAndCreateGirModule(dependency: Dependency): Promise<GirModule | null> {
382
+ protected async loadAndCreateGirModule(dependency: Dependency): Promise<GirModule | null> {
375
383
  if (!dependency.exists || dependency.path === null) {
376
384
  return null
377
385
  }
@@ -390,7 +398,7 @@ export class ModuleLoader {
390
398
  * @param girModules Array of girModules
391
399
  * @param packageNames Full name like 'Gtk-3.0' you are looking for
392
400
  */
393
- private findGirModuleByFullNames(
401
+ protected findGirModuleByFullNames(
394
402
  girModules: (GirModuleResolvedBy | GirModule)[],
395
403
  packageNames: string[],
396
404
  ): Array<GirModuleResolvedBy | GirModule> {
@@ -402,7 +410,7 @@ export class ModuleLoader {
402
410
  * @param girModules
403
411
  * @param packageName
404
412
  */
405
- private existsGirModules(girModules: (GirModuleResolvedBy | GirModule)[], packageName: string): boolean {
413
+ protected existsGirModules(girModules: (GirModuleResolvedBy | GirModule)[], packageName: string): boolean {
406
414
  const foundModule = this.findGirModuleByFullNames(girModules, [packageName])
407
415
  return foundModule.length > 0
408
416
  }
@@ -416,7 +424,7 @@ export class ModuleLoader {
416
424
  * @param ignoreDependencies
417
425
  * @returns
418
426
  */
419
- private async loadGirModules(
427
+ protected async loadGirModules(
420
428
  dependencies: Dependency[],
421
429
  ignoreDependencies: string[] = [],
422
430
  girModules: GirModuleResolvedBy[] = [],
@@ -494,7 +502,7 @@ export class ModuleLoader {
494
502
  * @param modules
495
503
  * @param ignore
496
504
  */
497
- private async findPackageNames(modules: string[], ignore: string[] = []): Promise<Set<string>> {
505
+ protected async findPackageNames(modules: string[], ignore: string[] = []): Promise<Set<string>> {
498
506
  const foundModules = new Set<string>()
499
507
 
500
508
  for (let i = 0; i < modules.length; i++) {
@@ -509,7 +517,7 @@ export class ModuleLoader {
509
517
  }
510
518
  }
511
519
 
512
- let globModules = files.map((file) => Path.basename(file, '.gir'))
520
+ let globModules = files.map((file) => basename(file, '.gir'))
513
521
  // Filter out the ignored modules
514
522
  globModules = globModules.filter((mod) => {
515
523
  const isIgnored = ignore.includes(mod)
@@ -524,7 +532,7 @@ export class ModuleLoader {
524
532
  return foundModules
525
533
  }
526
534
 
527
- private packageNamesToDependencies(packageNames: Set<string>): Dependency[] {
535
+ protected packageNamesToDependencies(packageNames: Set<string>): Dependency[] {
528
536
  return Array.from(packageNames).map((packageName) => {
529
537
  const { namespace, version } = splitModuleName(packageName)
530
538
  return this.dependencyManager.get(namespace, version)
package/src/utils.ts CHANGED
@@ -1,399 +1,6 @@
1
- /* eslint-disable @typescript-eslint/unbound-method */
2
- import lodash from 'lodash'
3
- import Path from 'path'
4
- import fs from 'fs'
1
+ import { join, dirname, resolve } from 'path'
2
+ import { existsSync } from 'fs'
5
3
  import { getTsconfig, TsConfigJsonResolved } from 'get-tsconfig'
6
- import { fileURLToPath } from 'url'
7
- import { Environment, GirInfoAttrs, TsType, FileInfo } from './types/index.js'
8
- import { inspect } from 'util'
9
- import { Logger } from './logger.js'
10
-
11
- import { COMMENT_REG_EXP, PARAM_REG_EXP, OPT_PARAM_REG_EXP } from './constants.js'
12
-
13
- export { inspect }
14
-
15
- /**
16
- * Performs a deep comparison between two values to determine if they are
17
- * equivalent.
18
- *
19
- * **Note:** This method supports comparing arrays, array buffers, booleans,
20
- * date objects, error objects, maps, numbers, `Object` objects, regexes,
21
- * sets, strings, symbols, and typed arrays. `Object` objects are compared
22
- * by their own, not inherited, enumerable properties. Functions and DOM
23
- * nodes are **not** supported.
24
- *
25
- * @category Lang
26
- * @param value The value to compare.
27
- * @param other The other value to compare.
28
- * @returns Returns `true` if the values are equivalent, else `false`.
29
- * @example
30
- *
31
- * var object = { 'user': 'fred' };
32
- * var other = { 'user': 'fred' };
33
- *
34
- * _.isEqual(object, other);
35
- * // => true
36
- *
37
- * object === other;
38
- * // => false
39
- */
40
- export const isEqual = lodash.isEqual
41
-
42
- /**
43
- * Creates an array of values by running each element in collection through iteratee. The iteratee is
44
- * invoked with three arguments: (value, index|key, collection).
45
- *
46
- * Many lodash methods are guarded to work as iteratees for methods like _.every, _.filter, _.map, _.mapValues,
47
- * _.reject, and _.some.
48
- *
49
- * The guarded methods are:
50
- * ary, callback, chunk, clone, create, curry, curryRight, drop, dropRight, every, fill, flatten, invert, max,
51
- * min, parseInt, slice, sortBy, take, takeRight, template, trim, trimLeft, trimRight, trunc, random, range,
52
- * sample, some, sum, uniq, and words
53
- *
54
- * @param collection The collection to iterate over.
55
- * @param iteratee The function invoked per iteration.
56
- * @return Returns the new mapped array.
57
- */
58
- export const map = lodash.map
59
-
60
- /**
61
- * Iterates over elements of collection, returning the first element predicate returns truthy for.
62
- * The predicate is invoked with three arguments: (value, index|key, collection).
63
- *
64
- * @param collection The collection to search.
65
- * @param predicate The function invoked per iteration.
66
- * @param fromIndex The index to search from.
67
- * @return Returns the matched element, else undefined.
68
- */
69
- export const find = lodash.find
70
-
71
- /**
72
- * Recursively merges own and inherited enumerable properties of source
73
- * objects into the destination object, skipping source properties that resolve
74
- * to `undefined`. Array and plain object properties are merged recursively.
75
- * Other objects and value types are overridden by assignment. Source objects
76
- * are applied from left to right. Subsequent sources overwrite property
77
- * assignments of previous sources.
78
- *
79
- * **Note:** This method mutates `object`.
80
- *
81
- * @category Object
82
- * @param object The destination object.
83
- * @param [sources] The source objects.
84
- * @returns Returns `object`.
85
- * @example
86
- *
87
- * var users = {
88
- * 'data': [{ 'user': 'barney' }, { 'user': 'fred' }]
89
- * };
90
- *
91
- * var ages = {
92
- * 'data': [{ 'age': 36 }, { 'age': 40 }]
93
- * };
94
- *
95
- * _.merge(users, ages);
96
- * // => { 'data': [{ 'user': 'barney', 'age': 36 }, { 'user': 'fred', 'age': 40 }] }
97
- */
98
- export const merge = lodash.merge
99
-
100
- /**
101
- * Creates a shallow clone of value.
102
- *
103
- * Note: This method is loosely based on the structured clone algorithm and supports cloning arrays,
104
- * array buffers, booleans, date objects, maps, numbers, Object objects, regex's, sets, strings, symbols,
105
- * and typed arrays. The own enumerable properties of arguments objects are cloned as plain objects. An empty
106
- * object is returned for not cloneable values such as error objects, functions, DOM nodes, and WeakMaps.
107
- *
108
- * @param value The value to clone.
109
- * @return Returns the cloned value.
110
- */
111
- export const clone = lodash.clone
112
-
113
- /**
114
- * This method is like clone except that it recursively clones value.
115
- *
116
- * @param value The value to recursively clone.
117
- * @return Returns the deep cloned value.
118
- */
119
- export const cloneDeep = lodash.cloneDeep
120
-
121
- /**
122
- * Split a package name into namespace and version
123
- */
124
- export const splitModuleName = (packageName: string): { packageName: string; namespace: string; version: string } => {
125
- // There are modules that use multiple hyphens like 'GUPnP-DLNA-1.0'
126
- const splits = packageName.split('-')
127
- const version = splits.splice(-1, 1)[0]
128
- const namespace = splits.join('')
129
- return {
130
- packageName,
131
- namespace,
132
- version,
133
- }
134
- }
135
-
136
- /** Remove namespace prefix */
137
- export const removeNamespace = (type: string, namespace: string) => {
138
- if (type.startsWith(namespace + '.')) {
139
- type = type.substring(namespace.length + 1)
140
- }
141
- return type
142
- }
143
-
144
- /** Remove class module name prefix */
145
- export const removeClassModule = removeNamespace
146
-
147
- /**
148
- * Add namespace prefix
149
- */
150
- export const addNamespace = (type: string, namespace: string) => {
151
- if (!type.startsWith(namespace + '.')) {
152
- type = namespace + '.' + type
153
- }
154
- return type
155
- }
156
-
157
- /**
158
- * Checking whether some variable is iterable
159
- * @see https://stackoverflow.com/a/32538867
160
- * @param obj Variable to check for iterable
161
- * @returns Whether the variable is iterable or not
162
- */
163
- export const isIterable = (obj: unknown[]): boolean => {
164
- return obj != null && typeof obj[Symbol.iterator] === 'function'
165
- }
166
-
167
- /**
168
- * Checking whether a string is numeric
169
- * @param str The string to check
170
- * @returns Whether the string is numeric or not
171
- */
172
- export const isNumeric = (str: string): boolean => {
173
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
174
- return !isNaN((str as any) - parseFloat(str))
175
- }
176
-
177
- /**
178
- * Get the first character of a string
179
- * @param str The string to get the first character from
180
- * @returns The first character
181
- */
182
- export const getFirstChar = (str: string): string => {
183
- return str.charAt(0)
184
- }
185
-
186
- /**
187
- * Get the last character of a string
188
- * @param str The string to get the last character from
189
- * @returns The last character
190
- */
191
- export const getLastChar = (str: string): string => {
192
- return str.charAt(str.length - 1)
193
- }
194
-
195
- /**
196
- * Check if the first character of a string is numeric
197
- * @param str The string to check
198
- * @returns Whether the first character is numeric or not
199
- */
200
- export const isFirstCharNumeric = (str: string): boolean => {
201
- return isNumeric(getFirstChar(str))
202
- }
203
-
204
- /**
205
- * Convert a string to camelCase
206
- * @param str The string to convert
207
- * @returns The converted string
208
- */
209
- export const camelCase = (str: string): string => {
210
- return str
211
- .replace(/\s(.)|(\s|-|_|\.)(.)/g, (a) => {
212
- return a.toUpperCase()
213
- })
214
- .replace(/(\s|-|_|\.)/g, '')
215
- }
216
-
217
- /**
218
- * Convert a string to lowerCamelCase
219
- * @param str The string to convert
220
- * @returns The converted string
221
- */
222
- export const lowerCamelCase = (str: string): string => {
223
- str = camelCase(str)
224
- str = getFirstChar(str).toLowerCase() + str.slice(1)
225
- return str
226
- }
227
-
228
- /**
229
- * Convert a string to UpperCamelCase
230
- * @param str The string to convert
231
- * @returns The converted string
232
- */
233
- export const upperCamelCase = (str: string): string => {
234
- str = camelCase(str)
235
- str = getFirstChar(str).toUpperCase() + str.slice(1)
236
- return str
237
- }
238
-
239
- /**
240
- * Find a file in a list of directories
241
- * @param dirs The directories to search in
242
- * @param filename The filename to search for
243
- * @returns The file info
244
- */
245
- export const findFileInDirs = (dirs: string[], filename: string): FileInfo => {
246
- const FileInfo: FileInfo = {
247
- path: null,
248
- filename,
249
- exists: false,
250
- }
251
- for (const dir of dirs) {
252
- const filePath = Path.join(dir, filename)
253
- FileInfo.exists = fs.existsSync(filePath)
254
- if (FileInfo.exists) {
255
- FileInfo.path = filePath
256
- return FileInfo
257
- }
258
- }
259
-
260
- return FileInfo
261
- }
262
-
263
- /**
264
- * Union (a ∪ b): create a set that contains the elements of both set a and set b.
265
- * See https://2ality.com/2015/01/es6-set-operations.html#union
266
- * @param target
267
- * @param source
268
- */
269
- export const union = <T>(target: Set<T> | T[], source: Set<T> | T[]): Set<T> => {
270
- return (target = new Set<T>([...target, ...source]))
271
- }
272
-
273
- export const stripParamNames = (func: string, ignoreTail = false): string => {
274
- const g = func
275
- func = func.replace(COMMENT_REG_EXP, '')
276
- const lb = func.split('(', 2)
277
- if (lb.length < 2) Logger.error(`Bad function definition ${g}`)
278
- const rb = lb[1].split(')')
279
- const tail = ignoreTail ? '' : rb[rb.length - 1]
280
- let params = rb.slice(0, rb.length - 1).join(')')
281
- params = params.replace(PARAM_REG_EXP, ':')
282
- params = params.replace(OPT_PARAM_REG_EXP, '?:')
283
- return `${lb[0]}(${params})${tail}`
284
- }
285
-
286
- /**
287
- * Check if a line is a comment line
288
- * @param line The line to check
289
- * @returns Whether the line is a comment line or not
290
- */
291
- export const isCommentLine = (line: string) => {
292
- const lineTrim = line.trim()
293
- return lineTrim.startsWith('//') || (lineTrim.startsWith('/*') && lineTrim.endsWith('*/'))
294
- }
295
-
296
- /**
297
- * Add indents to a string
298
- * @param indents The number of indents
299
- * @param spaceForIndent The number of spaces for each indent
300
- * @returns The indented string
301
- */
302
- export const generateIndent = (indents = 1, spaceForIndent = 4): string => {
303
- return ' '.repeat(indents * spaceForIndent)
304
- }
305
-
306
- // Get __filename on ESM
307
- export const __filename = fileURLToPath(import.meta.url)
308
- // Get __dirname on ESM
309
- export const __dirname = Path.dirname(__filename)
310
-
311
- /**
312
- * Get the output or input directory of the environment
313
- * @param environment The environment to get the directory for
314
- * @param baseDir The base directory
315
- * @returns The path to the directory
316
- */
317
- export const getEnvironmentDir = (environment: Environment, baseDir: string): string => {
318
- if (!baseDir.endsWith(environment))
319
- if (environment === 'gjs' && !baseDir.endsWith('/Gjs')) {
320
- return Path.join(baseDir, 'Gjs')
321
- }
322
- if (environment === 'node' && !baseDir.endsWith('/node-gtk')) {
323
- return Path.join(baseDir, 'node-gtk')
324
- }
325
- return baseDir
326
- }
327
-
328
- /**
329
- * Get the destination path for the environment
330
- * @param environment The environment to get the destination path for
331
- * @param outputDir The output directory
332
- * @param parts The path parts
333
- * @returns The destination path
334
- */
335
- export const getDestPath = (environment: Environment, outputDir: string, ...parts: string[]) => {
336
- const outputEnvDir = getEnvironmentDir(environment, outputDir)
337
- const destPath = Path.join(outputEnvDir, ...parts)
338
- return destPath
339
- }
340
-
341
- /**
342
- * Convert a GirBoolean to a boolean
343
- * @param boolStr The GirBoolean string
344
- * @param defaultVal The default value
345
- * @returns The boolean value
346
- */
347
- export const girBool = (boolStr: string | undefined, defaultVal = false): boolean => {
348
- if (boolStr) {
349
- if (parseInt(boolStr) === 0) return false
350
- return true
351
- }
352
- return defaultVal
353
- }
354
-
355
- /**
356
- * Returns `true` if the definitions in `d1` and `d2` have equivalent signatures
357
- * @param d1
358
- * @param d2
359
- */
360
- export const signaturesMatch = (d1: string, d2: string) => {
361
- if (isCommentLine(d1) || isCommentLine(d2)) return false
362
- return stripParamNames(d1) == stripParamNames(d2)
363
- }
364
-
365
- /**
366
- * GirElements contains an attribute `introspectable`, which is a GirBoolean.
367
- * If this is attribute is falsy the element is not introspectable,
368
- * this means doesn't exist in the bindings, due in general to missing information in the annotations in the original C code
369
- */
370
- export const girElementIsIntrospectable = (girElement?: { $: GirInfoAttrs & { name: string } }, name?: string) => {
371
- if (!girElement) {
372
- return false
373
- }
374
- name = name || girElement?.$?.name
375
- if (!name) {
376
- return false
377
- }
378
- // Handle introspectable only if the attribute is also present...
379
- if (girElement.$.hasOwnProperty('introspectable') && girElement.$.introspectable !== undefined) {
380
- return girBool(girElement.$.introspectable, true)
381
- }
382
- // ...otherwise we assume that it is introspectable
383
- return true
384
- }
385
-
386
- /**
387
- * Check if a type is optional
388
- * @param types The types to check
389
- * @returns Whether the type is optional or not
390
- */
391
- export const typeIsOptional = (types: TsType[]) => {
392
- for (const type of types) {
393
- if (type.optional) return true
394
- }
395
- return false
396
- }
397
4
 
398
5
  /**
399
6
  * Get a typescript or javascript config by path
@@ -418,15 +25,15 @@ export const getTsJsConfigByPath = (path: string) => {
418
25
  export function readTsJsConfig(path: string) {
419
26
  let config: null | false | TsConfigJsonResolved = null
420
27
  let lastPath = ''
421
- let currentPath = Path.resolve(path)
28
+ let currentPath = resolve(path)
422
29
  while (!config && currentPath !== lastPath) {
423
- const tsConfigPath = Path.join(currentPath, 'tsconfig.json')
424
- const jsConfigPath = Path.join(currentPath, 'jsconfig.json')
30
+ const tsConfigPath = join(currentPath, 'tsconfig.json')
31
+ const jsConfigPath = join(currentPath, 'jsconfig.json')
425
32
  config =
426
- (fs.existsSync(tsConfigPath) && getTsJsConfigByPath(tsConfigPath)) ||
427
- (fs.existsSync(jsConfigPath) && getTsJsConfigByPath(jsConfigPath))
33
+ (existsSync(tsConfigPath) && getTsJsConfigByPath(tsConfigPath)) ||
34
+ (existsSync(jsConfigPath) && getTsJsConfigByPath(jsConfigPath))
428
35
  lastPath = currentPath
429
- currentPath = Path.dirname(currentPath)
36
+ currentPath = dirname(currentPath)
430
37
  }
431
38
 
432
39
  return config || null