@ts-for-gir/lib 4.0.0-beta.2 → 4.0.0-beta.20

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 (319) hide show
  1. package/lib/constants.d.ts +6 -7
  2. package/lib/constants.js +74 -9
  3. package/lib/constants.js.map +1 -1
  4. package/lib/dependency-manager.d.ts +60 -14
  5. package/lib/dependency-manager.js +148 -46
  6. package/lib/dependency-manager.js.map +1 -1
  7. package/lib/generators/dts-inline.d.ts +4 -2
  8. package/lib/generators/dts-inline.js +10 -12
  9. package/lib/generators/dts-inline.js.map +1 -1
  10. package/lib/generators/dts-modules.d.ts +4 -2
  11. package/lib/generators/dts-modules.js +12 -14
  12. package/lib/generators/dts-modules.js.map +1 -1
  13. package/lib/generators/dts.d.ts +2 -2
  14. package/lib/generators/dts.js +10 -9
  15. package/lib/generators/dts.js.map +1 -1
  16. package/lib/generators/generator.d.ts +3 -3
  17. package/lib/generators/generator.js.map +1 -1
  18. package/lib/generators/json.d.ts +6 -5
  19. package/lib/generators/json.js +18 -21
  20. package/lib/generators/json.js.map +1 -1
  21. package/lib/generics/clutter.d.ts +10 -0
  22. package/lib/generics/clutter.js +2 -0
  23. package/lib/generics/clutter.js.map +1 -1
  24. package/lib/generics/generify.js +11 -3
  25. package/lib/generics/generify.js.map +1 -1
  26. package/lib/generics/gtk.d.ts +7 -0
  27. package/lib/generics/gtk.js +56 -0
  28. package/lib/generics/gtk.js.map +1 -0
  29. package/lib/generics/meta.d.ts +10 -0
  30. package/lib/generics/meta.js +2 -0
  31. package/lib/generics/meta.js.map +1 -1
  32. package/lib/generics/st.d.ts +10 -0
  33. package/lib/generics/st.js +15 -10
  34. package/lib/generics/st.js.map +1 -1
  35. package/lib/generics/visitor.js +5 -9
  36. package/lib/generics/visitor.js.map +1 -1
  37. package/lib/gir/alias.d.ts +2 -2
  38. package/lib/gir/alias.js +3 -3
  39. package/lib/gir/alias.js.map +1 -1
  40. package/lib/gir/base.d.ts +3 -3
  41. package/lib/gir/base.js +2 -14
  42. package/lib/gir/base.js.map +1 -1
  43. package/lib/gir/class.d.ts +6 -7
  44. package/lib/gir/class.js +35 -108
  45. package/lib/gir/class.js.map +1 -1
  46. package/lib/gir/const.d.ts +2 -2
  47. package/lib/gir/const.js +1 -1
  48. package/lib/gir/const.js.map +1 -1
  49. package/lib/gir/enum.d.ts +5 -5
  50. package/lib/gir/enum.js +7 -7
  51. package/lib/gir/enum.js.map +1 -1
  52. package/lib/gir/function.d.ts +11 -10
  53. package/lib/gir/function.js +4 -4
  54. package/lib/gir/function.js.map +1 -1
  55. package/lib/gir/index.d.ts +14 -0
  56. package/lib/gir/index.js +15 -0
  57. package/lib/gir/index.js.map +1 -0
  58. package/lib/gir/nodes.d.ts +1 -1
  59. package/lib/gir/nodes.js +1 -1
  60. package/lib/gir/nodes.js.map +1 -1
  61. package/lib/gir/promisify.d.ts +5 -0
  62. package/lib/gir/promisify.js +158 -0
  63. package/lib/gir/promisify.js.map +1 -0
  64. package/lib/gir/property.d.ts +2 -2
  65. package/lib/gir/property.js.map +1 -1
  66. package/lib/gir/registry.d.ts +6 -6
  67. package/lib/gir/registry.js +6 -3
  68. package/lib/gir/registry.js.map +1 -1
  69. package/lib/gir/signal.d.ts +2 -2
  70. package/lib/gir/signal.js.map +1 -1
  71. package/lib/gir/util.d.ts +3 -3
  72. package/lib/gir/util.js +17 -14
  73. package/lib/gir/util.js.map +1 -1
  74. package/lib/gir-module.d.ts +27 -39
  75. package/lib/gir-module.js +161 -149
  76. package/lib/gir-module.js.map +1 -1
  77. package/lib/gir.d.ts +43 -40
  78. package/lib/gir.js +28 -27
  79. package/lib/gir.js.map +1 -1
  80. package/lib/index.d.ts +1 -2
  81. package/lib/index.js +1 -2
  82. package/lib/index.js.map +1 -1
  83. package/lib/injections/gio.js +133 -1
  84. package/lib/injections/gio.js.map +1 -1
  85. package/lib/injections/glib.js +6 -0
  86. package/lib/injections/glib.js.map +1 -1
  87. package/lib/injections/gobject.js +84 -64
  88. package/lib/injections/gobject.js.map +1 -1
  89. package/lib/injections/gtk4.d.ts +7 -0
  90. package/lib/injections/gtk4.js +19 -0
  91. package/lib/injections/gtk4.js.map +1 -0
  92. package/lib/injections/inject.js +5 -0
  93. package/lib/injections/inject.js.map +1 -1
  94. package/lib/injections/shell.d.ts +14 -0
  95. package/lib/injections/shell.js +32 -0
  96. package/lib/injections/shell.js.map +1 -0
  97. package/lib/library-version.d.ts +2 -0
  98. package/lib/library-version.js +13 -0
  99. package/lib/library-version.js.map +1 -1
  100. package/lib/logger.d.ts +18 -16
  101. package/lib/logger.js +28 -26
  102. package/lib/logger.js.map +1 -1
  103. package/lib/messages.d.ts +0 -3
  104. package/lib/messages.js +0 -3
  105. package/lib/messages.js.map +1 -1
  106. package/lib/registry.d.ts +0 -1
  107. package/lib/registry.js +0 -1
  108. package/lib/registry.js.map +1 -1
  109. package/lib/transformation.d.ts +5 -15
  110. package/lib/transformation.js +9 -89
  111. package/lib/transformation.js.map +1 -1
  112. package/lib/types/dependency.d.ts +13 -1
  113. package/lib/types/format.d.ts +1 -0
  114. package/lib/types/format.js +2 -0
  115. package/lib/types/format.js.map +1 -0
  116. package/lib/types/gir-instance-parameter.d.ts +1 -2
  117. package/lib/types/gir-module-resolved-by.d.ts +5 -0
  118. package/lib/types/index.d.ts +7 -2
  119. package/lib/types/index.js +7 -2
  120. package/lib/types/index.js.map +1 -1
  121. package/lib/types/metadata.d.ts +8 -0
  122. package/lib/types/metadata.js +2 -0
  123. package/lib/types/metadata.js.map +1 -0
  124. package/lib/types/options-base.d.ts +4 -0
  125. package/lib/types/options-base.js +2 -0
  126. package/lib/types/options-base.js.map +1 -0
  127. package/lib/types/{generate-config.d.ts → options-generation.d.ts} +21 -11
  128. package/lib/types/options-generation.js +2 -0
  129. package/lib/types/options-generation.js.map +1 -0
  130. package/lib/types/options-load.d.ts +5 -0
  131. package/lib/types/options-load.js +2 -0
  132. package/lib/types/options-load.js.map +1 -0
  133. package/lib/types/options-transform.d.ts +4 -0
  134. package/lib/types/options-transform.js +2 -0
  135. package/lib/types/options-transform.js.map +1 -0
  136. package/lib/types/output-format.d.ts +1 -0
  137. package/lib/types/output-format.js +2 -0
  138. package/lib/types/output-format.js.map +1 -0
  139. package/lib/types/property-case.d.ts +1 -0
  140. package/lib/types/property-case.js +2 -0
  141. package/lib/types/property-case.js.map +1 -0
  142. package/lib/types/template-data.d.ts +2 -2
  143. package/lib/types/user-config.d.ts +21 -6
  144. package/lib/utils/files.d.ts +21 -0
  145. package/lib/utils/files.js +62 -0
  146. package/lib/utils/files.js.map +1 -0
  147. package/lib/utils/girs.d.ts +45 -0
  148. package/lib/utils/girs.js +101 -0
  149. package/lib/utils/girs.js.map +1 -0
  150. package/lib/utils/index.d.ts +6 -0
  151. package/lib/utils/index.js +7 -0
  152. package/lib/utils/index.js.map +1 -0
  153. package/lib/utils/numbers.d.ts +6 -0
  154. package/lib/utils/numbers.js +9 -0
  155. package/lib/utils/numbers.js.map +1 -0
  156. package/lib/utils/objects.d.ts +136 -0
  157. package/lib/utils/objects.js +121 -0
  158. package/lib/utils/objects.js.map +1 -0
  159. package/lib/utils/path.d.ts +1 -0
  160. package/lib/utils/path.js +7 -0
  161. package/lib/utils/path.js.map +1 -0
  162. package/lib/utils/strings.d.ts +74 -0
  163. package/lib/utils/strings.js +121 -0
  164. package/lib/utils/strings.js.map +1 -0
  165. package/lib/utils.d.ts +21 -15
  166. package/lib/utils.js +58 -13
  167. package/lib/utils.js.map +1 -1
  168. package/lib/validators/enum-parameters.d.ts +16 -0
  169. package/lib/validators/enum-parameters.js +42 -0
  170. package/lib/validators/enum-parameters.js.map +1 -0
  171. package/lib/validators/function-parameters.d.ts +14 -0
  172. package/lib/validators/function-parameters.js +31 -0
  173. package/lib/validators/function-parameters.js.map +1 -0
  174. package/lib/validators/interface.js +1 -1
  175. package/lib/validators/interface.js.map +1 -1
  176. package/package.json +15 -14
  177. package/lib/conflict-resolver.d.ts +0 -119
  178. package/lib/conflict-resolver.js +0 -893
  179. package/lib/conflict-resolver.js.map +0 -1
  180. package/lib/generators/dts/gio.d.ts +0 -2
  181. package/lib/generators/dts/gio.js +0 -9
  182. package/lib/generators/dts/gio.js.map +0 -1
  183. package/lib/gir-factory.d.ts +0 -52
  184. package/lib/gir-factory.js +0 -340
  185. package/lib/gir-factory.js.map +0 -1
  186. package/lib/injection/callbacks/gjs/Gio-2.0.d.ts +0 -2
  187. package/lib/injection/callbacks/gjs/Gio-2.0.js +0 -36
  188. package/lib/injection/callbacks/gjs/Gio-2.0.js.map +0 -1
  189. package/lib/injection/callbacks/gjs/index.d.ts +0 -2
  190. package/lib/injection/callbacks/gjs/index.js +0 -3
  191. package/lib/injection/callbacks/gjs/index.js.map +0 -1
  192. package/lib/injection/callbacks/index.d.ts +0 -3
  193. package/lib/injection/callbacks/index.js +0 -3
  194. package/lib/injection/callbacks/index.js.map +0 -1
  195. package/lib/injection/classes/gjs/gio-2.0.d.ts +0 -5
  196. package/lib/injection/classes/gjs/gio-2.0.js +0 -254
  197. package/lib/injection/classes/gjs/gio-2.0.js.map +0 -1
  198. package/lib/injection/classes/gjs/glib-2.0.d.ts +0 -2
  199. package/lib/injection/classes/gjs/glib-2.0.js +0 -225
  200. package/lib/injection/classes/gjs/glib-2.0.js.map +0 -1
  201. package/lib/injection/classes/gjs/gobject-2.0.d.ts +0 -2
  202. package/lib/injection/classes/gjs/gobject-2.0.js +0 -634
  203. package/lib/injection/classes/gjs/gobject-2.0.js.map +0 -1
  204. package/lib/injection/classes/gjs/index.d.ts +0 -2
  205. package/lib/injection/classes/gjs/index.js +0 -5
  206. package/lib/injection/classes/gjs/index.js.map +0 -1
  207. package/lib/injection/classes/glib-2.0.d.ts +0 -2
  208. package/lib/injection/classes/glib-2.0.js +0 -35
  209. package/lib/injection/classes/glib-2.0.js.map +0 -1
  210. package/lib/injection/classes/index.d.ts +0 -3
  211. package/lib/injection/classes/index.js +0 -4
  212. package/lib/injection/classes/index.js.map +0 -1
  213. package/lib/injection/index.d.ts +0 -3
  214. package/lib/injection/index.js +0 -4
  215. package/lib/injection/index.js.map +0 -1
  216. package/lib/injection/injector.d.ts +0 -16
  217. package/lib/injection/injector.js +0 -138
  218. package/lib/injection/injector.js.map +0 -1
  219. package/lib/symtable.d.ts +0 -24
  220. package/lib/symtable.js +0 -63
  221. package/lib/symtable.js.map +0 -1
  222. package/lib/types/conflict-child-element.d.ts +0 -10
  223. package/lib/types/conflict-child-element.js +0 -2
  224. package/lib/types/conflict-child-element.js.map +0 -1
  225. package/lib/types/conflict-grouped-element.d.ts +0 -6
  226. package/lib/types/conflict-grouped-element.js +0 -2
  227. package/lib/types/conflict-grouped-element.js.map +0 -1
  228. package/lib/types/conflict-grouped-elements.d.ts +0 -4
  229. package/lib/types/conflict-grouped-elements.js +0 -2
  230. package/lib/types/conflict-grouped-elements.js.map +0 -1
  231. package/lib/types/generate-config.js +0 -2
  232. package/lib/types/generate-config.js.map +0 -1
  233. package/lib/types/injection-callback.d.ts +0 -16
  234. package/lib/types/injection-callback.js +0 -2
  235. package/lib/types/injection-callback.js.map +0 -1
  236. package/lib/types/injection-class.d.ts +0 -25
  237. package/lib/types/injection-class.js +0 -2
  238. package/lib/types/injection-class.js.map +0 -1
  239. package/lib/types/injection-function.d.ts +0 -7
  240. package/lib/types/injection-function.js +0 -2
  241. package/lib/types/injection-function.js.map +0 -1
  242. package/lib/types/injection-generic-parameter.d.ts +0 -2
  243. package/lib/types/injection-generic-parameter.js +0 -2
  244. package/lib/types/injection-generic-parameter.js.map +0 -1
  245. package/lib/types/injection-instance-parameter.d.ts +0 -2
  246. package/lib/types/injection-instance-parameter.js +0 -2
  247. package/lib/types/injection-instance-parameter.js.map +0 -1
  248. package/lib/types/injection-parameter.d.ts +0 -8
  249. package/lib/types/injection-parameter.js +0 -2
  250. package/lib/types/injection-parameter.js.map +0 -1
  251. package/lib/types/injection-property.d.ts +0 -4
  252. package/lib/types/injection-property.js +0 -2
  253. package/lib/types/injection-property.js.map +0 -1
  254. package/lib/types/injection-type.d.ts +0 -2
  255. package/lib/types/injection-type.js +0 -2
  256. package/lib/types/injection-type.js.map +0 -1
  257. package/lib/types/injection.d.ts +0 -5
  258. package/lib/types/injection.js +0 -2
  259. package/lib/types/injection.js.map +0 -1
  260. package/lib/types/promisify-func.d.ts +0 -7
  261. package/lib/types/promisify-func.js +0 -2
  262. package/lib/types/promisify-func.js.map +0 -1
  263. package/lib/types/sym-table-items.d.ts +0 -4
  264. package/lib/types/sym-table-items.js +0 -2
  265. package/lib/types/sym-table-items.js.map +0 -1
  266. package/lib/types/ts-alias.d.ts +0 -10
  267. package/lib/types/ts-alias.js +0 -2
  268. package/lib/types/ts-alias.js.map +0 -1
  269. package/lib/types/ts-callback-interface.d.ts +0 -10
  270. package/lib/types/ts-callback-interface.js +0 -2
  271. package/lib/types/ts-callback-interface.js.map +0 -1
  272. package/lib/types/ts-callback.d.ts +0 -17
  273. package/lib/types/ts-callback.js +0 -2
  274. package/lib/types/ts-callback.js.map +0 -1
  275. package/lib/types/ts-class.d.ts +0 -85
  276. package/lib/types/ts-class.js +0 -2
  277. package/lib/types/ts-class.js.map +0 -1
  278. package/lib/types/ts-enum.d.ts +0 -12
  279. package/lib/types/ts-enum.js +0 -2
  280. package/lib/types/ts-enum.js.map +0 -1
  281. package/lib/types/ts-function.d.ts +0 -55
  282. package/lib/types/ts-function.js +0 -2
  283. package/lib/types/ts-function.js.map +0 -1
  284. package/lib/types/ts-generic-parameter.d.ts +0 -8
  285. package/lib/types/ts-generic-parameter.js +0 -2
  286. package/lib/types/ts-generic-parameter.js.map +0 -1
  287. package/lib/types/ts-instance-parameter.d.ts +0 -4
  288. package/lib/types/ts-instance-parameter.js +0 -2
  289. package/lib/types/ts-instance-parameter.js.map +0 -1
  290. package/lib/types/ts-member.d.ts +0 -10
  291. package/lib/types/ts-member.js +0 -2
  292. package/lib/types/ts-member.js.map +0 -1
  293. package/lib/types/ts-method.d.ts +0 -5
  294. package/lib/types/ts-method.js +0 -2
  295. package/lib/types/ts-method.js.map +0 -1
  296. package/lib/types/ts-parameter.d.ts +0 -15
  297. package/lib/types/ts-parameter.js +0 -2
  298. package/lib/types/ts-parameter.js.map +0 -1
  299. package/lib/types/ts-property.d.ts +0 -17
  300. package/lib/types/ts-property.js +0 -2
  301. package/lib/types/ts-property.js.map +0 -1
  302. package/lib/types/ts-signal.d.ts +0 -17
  303. package/lib/types/ts-signal.js +0 -2
  304. package/lib/types/ts-signal.js.map +0 -1
  305. package/lib/types/ts-type-name.d.ts +0 -1
  306. package/lib/types/ts-type-name.js +0 -2
  307. package/lib/types/ts-type-name.js.map +0 -1
  308. package/lib/types/ts-type-separator.d.ts +0 -1
  309. package/lib/types/ts-type-separator.js +0 -2
  310. package/lib/types/ts-type-separator.js.map +0 -1
  311. package/lib/types/ts-type.d.ts +0 -26
  312. package/lib/types/ts-type.js +0 -2
  313. package/lib/types/ts-type.js.map +0 -1
  314. package/lib/types/ts-var.d.ts +0 -17
  315. package/lib/types/ts-var.js +0 -2
  316. package/lib/types/ts-var.js.map +0 -1
  317. package/lib/types.d.ts +0 -23
  318. package/lib/types.js +0 -2
  319. package/lib/types.js.map +0 -1
package/lib/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { IntrospectedFunction, IntrospectedClassFunction } from "../gir/function.js";
2
+ import { IntrospectedBaseClass } from "../gir/class.js";
3
+ import { IntrospectedEnum } from "../gir/enum.js";
4
+ import { GirVisitor } from "../visitor.js";
5
+ import { OptionsBase } from "../types/index.js";
6
+ export declare class EnumParametersVisitor extends GirVisitor {
7
+ private readonly options;
8
+ constructor(options: OptionsBase);
9
+ /**
10
+ * Marks all enum parameters of a function as nullable.
11
+ * @see https://github.com/gjsify/ts-for-gir/issues/207
12
+ */
13
+ private makeEnumParamsNullable;
14
+ visitFunction: (node: IntrospectedFunction) => IntrospectedFunction;
15
+ visitClassFunction: <T_1 extends IntrospectedBaseClass | IntrospectedEnum>(node: IntrospectedClassFunction<T_1>) => IntrospectedClassFunction<T_1>;
16
+ }
@@ -0,0 +1,42 @@
1
+ import { TypeIdentifier, NullableType } from "../gir.js";
2
+ import { GirVisitor } from "../visitor.js";
3
+ export class EnumParametersVisitor extends GirVisitor {
4
+ options;
5
+ constructor(options) {
6
+ super();
7
+ this.options = options;
8
+ }
9
+ makeEnumParamsNullable(node) {
10
+ return node.copy({
11
+ parameters: node.parameters.map(param => {
12
+ const type = param.type.deepUnwrap();
13
+ if (type instanceof TypeIdentifier) {
14
+ // Get the namespace where this type should be defined
15
+ const ns = node.namespace.assertInstalledImport(type.namespace);
16
+ // Try to get the actual enum from the namespace
17
+ const enumType = ns.getEnum(type.name);
18
+ if (enumType) {
19
+ if (type.namespace === "Soup") {
20
+ console.log({
21
+ parameterName: param.name,
22
+ enumName: enumType.name,
23
+ namespace: enumType.namespace.namespace
24
+ });
25
+ }
26
+ return param.copy({
27
+ type: new NullableType(param.type)
28
+ });
29
+ }
30
+ }
31
+ return param;
32
+ })
33
+ });
34
+ }
35
+ visitFunction = (node) => {
36
+ return this.makeEnumParamsNullable(node);
37
+ };
38
+ visitClassFunction = (node) => {
39
+ return this.makeEnumParamsNullable(node);
40
+ };
41
+ }
42
+ //# sourceMappingURL=enum-parameters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enum-parameters.js","sourceRoot":"","sources":["../../src/validators/enum-parameters.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,MAAM,OAAO,qBAAsB,SAAQ,UAAU;IACpB;IAA7B,YAA6B,OAAoB;QAC7C,KAAK,EAAE,CAAC;QADiB,YAAO,GAAP,OAAO,CAAa;IAEjD,CAAC;IAUO,sBAAsB,CAC1B,IAAsD;QAEtD,OAAO,IAAI,CAAC,IAAI,CAAC;YACb,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;gBACpC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACrC,IAAI,IAAI,YAAY,cAAc,EAAE,CAAC;oBACjC,sDAAsD;oBACtD,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAEhE,gDAAgD;oBAChD,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAEvC,IAAI,QAAQ,EAAE,CAAC;wBACX,IAAI,IAAI,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;4BAC5B,OAAO,CAAC,GAAG,CAAC;gCACR,aAAa,EAAE,KAAK,CAAC,IAAI;gCACzB,QAAQ,EAAE,QAAQ,CAAC,IAAI;gCACvB,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,SAAS;6BAC1C,CAAC,CAAC;wBACP,CAAC;wBAED,OAAO,KAAK,CAAC,IAAI,CAAC;4BACd,IAAI,EAAE,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC;yBACrC,CAAC,CAAC;oBACP,CAAC;gBACL,CAAC;gBACD,OAAO,KAAK,CAAC;YACjB,CAAC,CAAC;SACL,CAAC,CAAC;IACP,CAAC;IAED,aAAa,GAAG,CAAC,IAA0B,EAAwB,EAAE;QACjE,OAAO,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC,CAAC;IAEF,kBAAkB,GAAG,CACjB,IAAkC,EACN,EAAE;QAC9B,OAAO,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC,CAAC;CACL"}
@@ -0,0 +1,14 @@
1
+ import { IntrospectedFunction, IntrospectedClassFunction } from "../gir/function.js";
2
+ import { IntrospectedBaseClass } from "../gir/class.js";
3
+ import { IntrospectedEnum } from "../gir/enum.js";
4
+ import { GirVisitor } from "../visitor.js";
5
+ export declare class FunctionParametersVisitor extends GirVisitor {
6
+ /**
7
+ * Marks all enum parameters of a function as nullable,
8
+ * because GJS allows null values for enum parameters and treats them as a 0 value.
9
+ * See issue [#207](https://github.com/gjsify/ts-for-gir/issues/207).
10
+ */
11
+ private makeEnumParamsNullable;
12
+ visitFunction: (node: IntrospectedFunction) => IntrospectedFunction;
13
+ visitClassFunction: <T_1 extends IntrospectedBaseClass | IntrospectedEnum>(node: IntrospectedClassFunction<T_1>) => IntrospectedClassFunction<T_1>;
14
+ }
@@ -0,0 +1,31 @@
1
+ import { TypeIdentifier, NullableType } from "../gir.js";
2
+ import { GirVisitor } from "../visitor.js";
3
+ export class FunctionParametersVisitor extends GirVisitor {
4
+ makeEnumParamsNullable(node) {
5
+ return node.copy({
6
+ parameters: node.parameters.map(param => {
7
+ const type = param.type.deepUnwrap();
8
+ if (type instanceof TypeIdentifier) {
9
+ // Get the namespace where this type should be defined
10
+ const ns = node.namespace.assertInstalledImport(type.namespace);
11
+ // Check if the type is an enum
12
+ const isEnumType = !!ns.getEnum(type.name);
13
+ // If it is, make the parameter nullable
14
+ if (isEnumType) {
15
+ return param.copy({
16
+ type: new NullableType(param.type)
17
+ });
18
+ }
19
+ }
20
+ return param;
21
+ })
22
+ });
23
+ }
24
+ visitFunction = (node) => {
25
+ return this.makeEnumParamsNullable(node);
26
+ };
27
+ visitClassFunction = (node) => {
28
+ return this.makeEnumParamsNullable(node);
29
+ };
30
+ }
31
+ //# sourceMappingURL=function-parameters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"function-parameters.js","sourceRoot":"","sources":["../../src/validators/function-parameters.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,OAAO,yBAA0B,SAAQ,UAAU;IAU7C,sBAAsB,CAC1B,IAAsD;QAEtD,OAAO,IAAI,CAAC,IAAI,CAAC;YACb,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;gBACpC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACrC,IAAI,IAAI,YAAY,cAAc,EAAE,CAAC;oBACjC,sDAAsD;oBACtD,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAEhE,+BAA+B;oBAC/B,MAAM,UAAU,GAAG,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAE3C,wCAAwC;oBACxC,IAAI,UAAU,EAAE,CAAC;wBACb,OAAO,KAAK,CAAC,IAAI,CAAC;4BACd,IAAI,EAAE,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC;yBACrC,CAAC,CAAC;oBACP,CAAC;gBACL,CAAC;gBACD,OAAO,KAAK,CAAC;YACjB,CAAC,CAAC;SACL,CAAC,CAAC;IACP,CAAC;IAED,aAAa,GAAG,CAAC,IAA0B,EAAwB,EAAE;QACjE,OAAO,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC,CAAC;IAEF,kBAAkB,GAAG,CACjB,IAAkC,EACN,EAAE;QAC9B,OAAO,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC,CAAC;CACL"}
@@ -6,7 +6,7 @@ export class InterfaceVisitor extends GirVisitor {
6
6
  const gobject = node.namespace.assertInstalledImport("GObject");
7
7
  const GObject = gobject.assertClass("Object");
8
8
  if (!GObject) {
9
- throw new Error(`GObject.Object could not be found while generating ${node.namespace.name}.${node.name}`);
9
+ throw new Error(`GObject.Object could not be found while generating ${node.namespace.namespace}.${node.name}`);
10
10
  }
11
11
  node.superType = GObject.getType();
12
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"interface.js","sourceRoot":"","sources":["../../src/validators/interface.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,OAAO,gBAAiB,SAAQ,UAAU;IAC5C,cAAc,GAAG,CAAC,IAA2B,EAAyB,EAAE;QACpE,oFAAoF;QACpF,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;YAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;YAChE,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAE9C,IAAI,CAAC,OAAO,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CACX,sDAAsD,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAC3F,CAAC;YACN,CAAC;YAED,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QACvC,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC;CACL"}
1
+ {"version":3,"file":"interface.js","sourceRoot":"","sources":["../../src/validators/interface.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,OAAO,gBAAiB,SAAQ,UAAU;IAC5C,cAAc,GAAG,CAAC,IAA2B,EAAyB,EAAE;QACpE,oFAAoF;QACpF,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;YAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;YAChE,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAE9C,IAAI,CAAC,OAAO,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CACX,sDAAsD,IAAI,CAAC,SAAS,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,CAChG,CAAC;YACN,CAAC;YAED,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QACvC,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC;CACL"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ts-for-gir/lib",
3
- "version": "4.0.0-beta.2",
3
+ "version": "4.0.0-beta.20",
4
4
  "description": "Typescript .d.ts generator from GIR for gjs",
5
5
  "module": "lib/index.js",
6
6
  "main": "lib/index.js",
@@ -20,7 +20,7 @@
20
20
  "clear": "yarn clear:build",
21
21
  "clear:build": "rimraf ./lib",
22
22
  "watch": "yarn build:ts --watch",
23
- "lint": "eslint . --ext .ts,.tsx --fix",
23
+ "lint": "eslint . --fix",
24
24
  "update-package-descriptions": "wget https://raw.githubusercontent.com/vala-lang/valadoc-org/master/documentation/packages.xml"
25
25
  },
26
26
  "repository": {
@@ -51,22 +51,23 @@
51
51
  ],
52
52
  "devDependencies": {
53
53
  "@types/ejs": "^3.1.5",
54
- "@types/eslint": "8.56.5",
55
- "@types/lodash": "^4.17.0",
56
- "@types/node": "^20.11.27",
57
- "@typescript-eslint/eslint-plugin": "^7.2.0",
58
- "@typescript-eslint/parser": "^7.2.0",
59
- "eslint": "^8.57.0",
60
- "eslint-config-prettier": "^9.1.0",
61
- "eslint-plugin-prettier": "^5.1.3",
62
- "prettier": "^3.2.5",
63
- "rimraf": "^5.0.5",
64
- "typescript": "^5.4.2"
54
+ "@types/eslint": "9.6.1",
55
+ "@types/lodash": "^4.17.15",
56
+ "@types/node": "^22.13.4",
57
+ "@typescript-eslint/eslint-plugin": "^8.24.0",
58
+ "@typescript-eslint/parser": "^8.24.0",
59
+ "eslint": "^9.20.1",
60
+ "eslint-config-prettier": "^10.0.1",
61
+ "eslint-plugin-prettier": "^5.2.3",
62
+ "prettier": "^3.5.1",
63
+ "rimraf": "^6.0.1",
64
+ "typescript": "^5.7.3"
65
65
  },
66
66
  "dependencies": {
67
67
  "@gi.ts/parser": "^2.0.0",
68
68
  "colorette": "^2.0.20",
69
- "ejs": "^3.1.9",
69
+ "ejs": "^3.1.10",
70
+ "glob": "^11.0.1",
70
71
  "lodash": "^4.17.21"
71
72
  }
72
73
  }
@@ -1,119 +0,0 @@
1
- import { type GirClassElement, type GirRecordElement, type GirUnionElement, type GirInterfaceElement, type GirCallableParamElement, type TsSignal, type TsFunction, type TsProperty, type TsVar, type TsTypeSeparator, type TsType, type TsClass, type TypeGirFunction, type TypeGirProperty, type ConflictChildElement, type ConflictGroupedElements, type ConflictGroupedElement } from './types/index.js';
2
- /**
3
- * Resolve conflicts between types caused by overloads / inheritances and implementations
4
- * With multiple implementations or a inherit it can happen that the interfaces / parent have the same method and/or property names with incompatible types,
5
- * we are trying to resolve this conflicts by merging, overloading or removing this conflicts.
6
- */
7
- export declare class ConflictResolver {
8
- private log;
9
- private girFactory;
10
- constructor(verbose: boolean);
11
- private girElArrToChildArr;
12
- private tsElArrToChildArr;
13
- /**
14
- * Get class elements and parent elements (implementations and inherits)
15
- * @param tsClass
16
- * @param depth
17
- * @returns
18
- */
19
- private getClassElements;
20
- private tsElementIsSignal;
21
- private tsElementIsConstructor;
22
- private tsElementIsMethodOrFunction;
23
- private tsElementIsPropertyOrVariable;
24
- private tsElementIsStatic;
25
- private tsTypeIsEqual;
26
- private mergeTypes;
27
- /**
28
- * Merge property types together
29
- * @param baseProp The property to change or null if you want to create a new property
30
- * @param props The properties you want to merge
31
- * @returns
32
- */
33
- mergeProperties(typeSeparator: TsTypeSeparator, baseProp: TsProperty | null, ...props: TsProperty[]): TsProperty;
34
- /**
35
- * Check if there is a type conflict between the ts elements a and b
36
- * @param a
37
- * @param b
38
- * @returns
39
- */
40
- hasConflict(a: ConflictChildElement, b: ConflictChildElement): boolean;
41
- newAnyTsProperty(name: string, girTypeName: TypeGirProperty): TsProperty;
42
- /**
43
- * Returns a new any function: `name(...args: any[]): any`
44
- * @param name The name of the function
45
- */
46
- newAnyTsFunction(name: string, girTypeName: TypeGirFunction, isStatic: boolean, parent: TsClass | null): TsFunction;
47
- getCompatibleTsProperty(elements: TsProperty[], baseProp: TsProperty): TsProperty | undefined;
48
- getCompatibleTsFunction(elements: TsFunction[], baseFunc: TsFunction): TsFunction | undefined;
49
- /**
50
- * Use this instead of `getCompatibleTsProperty` and `getCompatibleTsProperty` if you can, because it's much faster
51
- * @param elements
52
- * @param name
53
- * @returns
54
- */
55
- getTsElementByName(elements: (TsProperty | TsFunction)[], name: string): TsFunction | TsProperty | undefined;
56
- protected canAddConflictProperty(conflictProperties: TsProperty[], prop: TsProperty): boolean | "" | null;
57
- /**
58
- * Check conflicts between the implementations / inheritances
59
- * To fix type errors like:
60
- * ```
61
- * Interface 'PopoverMenu' can\'t simultaneously extend types 'Popover' and 'Native'.
62
- * Named property 'parent' of types 'Popover' and 'Native' are not identical.
63
- */
64
- fixIndirectConflicts(name: string, elements: ConflictChildElement[], baseClass: TsClass): void;
65
- /**
66
- * Check conflicts within the class itself (ignores implementations / inheritances)
67
- */
68
- fixInternalConflicts(name: string, elements: ConflictChildElement[], baseClass: TsClass): void;
69
- /**
70
- * Check conflicts of the class with implementations and inheritances
71
- */
72
- fixDirectConflicts(name: string, elements: ConflictGroupedElement): void;
73
- /**
74
- * Fix the conflicts of a class
75
- * @param groupedElements
76
- */
77
- fixConflicts(groupedElements: ConflictGroupedElements): void;
78
- /**
79
- * Group conflicts by name and sort them by depth for simpler handling of conflicts
80
- */
81
- groupConflicts(elements: ConflictChildElement[], tsClass: TsClass): ConflictGroupedElements<TsFunction | TsProperty | TsVar>;
82
- /**
83
- * With multiple implementations or a inherit it can happen that the interfaces / parent have the same method and/or property name with incompatible types.
84
- * We merge these types here to solve this problem.
85
- * @param girClass
86
- */
87
- repairClass(girClass: GirClassElement | GirUnionElement | GirInterfaceElement | GirRecordElement): GirClassElement | GirUnionElement | GirInterfaceElement | GirRecordElement;
88
- /**
89
- * Returns true if `p1s` and `p2s` conflicting with each other.
90
- * The parameters must have the same length and the same type but can have different names
91
- * @param params
92
- * @returns
93
- */
94
- paramsHasConflict(...params: GirCallableParamElement[][]): boolean;
95
- typesHasConflict(a: TsType[], b: TsType[]): boolean;
96
- /**
97
- * Returns `true` if the function / method types of `a` and `b` are not compatible with each other.
98
- * The parameters must have the same length and the same type but can have different names
99
- * @param a
100
- * @param b
101
- * @returns
102
- */
103
- functionHasConflict(a: TsFunction, b: TsFunction): boolean;
104
- /**
105
- * Returns `true` if the property types of `a` and `b` are not compatible with each other.
106
- * @param a
107
- * @param b
108
- * @returns
109
- */
110
- propertyHasConflict(a: TsVar & TsProperty, b: TsVar & TsProperty): boolean;
111
- signalHasConflict(a: TsSignal, b: TsSignal): boolean;
112
- /**
113
- * Returns true if the elements (properties or methods) of `a` and `b` are not compatible with each other (has no conflict).
114
- * @param a
115
- * @param b
116
- * @returns
117
- */
118
- elementHasConflict(a: TsFunction | TsVar | TsProperty | TsSignal, b: TsFunction | TsVar | TsProperty | TsSignal): boolean;
119
- }