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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (313) hide show
  1. package/README.md +0 -1
  2. package/lib/conflict-resolver.d.ts +2 -39
  3. package/lib/conflict-resolver.js +4 -228
  4. package/lib/conflict-resolver.js.map +1 -1
  5. package/lib/constants.d.ts +3 -7
  6. package/lib/constants.js +6 -16
  7. package/lib/constants.js.map +1 -1
  8. package/lib/dependency-manager.d.ts +3 -5
  9. package/lib/dependency-manager.js +10 -17
  10. package/lib/dependency-manager.js.map +1 -1
  11. package/lib/formatters/default.d.ts +4 -0
  12. package/lib/formatters/default.js +7 -0
  13. package/lib/formatters/default.js.map +1 -0
  14. package/lib/formatters/formatter.d.ts +3 -0
  15. package/lib/formatters/formatter.js +3 -0
  16. package/lib/formatters/formatter.js.map +1 -0
  17. package/lib/formatters/json.d.ts +4 -0
  18. package/lib/formatters/json.js +7 -0
  19. package/lib/formatters/json.js.map +1 -0
  20. package/lib/generators/dts/gio.d.ts +2 -0
  21. package/lib/generators/dts/gio.js +9 -0
  22. package/lib/generators/dts/gio.js.map +1 -0
  23. package/lib/generators/dts/glib.d.ts +2 -0
  24. package/lib/generators/dts/glib.js +514 -0
  25. package/lib/generators/dts/glib.js.map +1 -0
  26. package/lib/generators/dts/gobject.d.ts +2 -0
  27. package/lib/generators/dts/gobject.js +117 -0
  28. package/lib/generators/dts/gobject.js.map +1 -0
  29. package/lib/generators/dts-inline.d.ts +8 -0
  30. package/lib/generators/dts-inline.js +59 -0
  31. package/lib/generators/dts-inline.js.map +1 -0
  32. package/lib/generators/dts-modules.d.ts +8 -0
  33. package/lib/generators/dts-modules.js +100 -0
  34. package/lib/generators/dts-modules.js.map +1 -0
  35. package/lib/generators/dts.d.ts +45 -0
  36. package/lib/generators/dts.js +682 -0
  37. package/lib/generators/dts.js.map +1 -0
  38. package/lib/generators/generator.d.ts +45 -0
  39. package/lib/generators/generator.js +9 -0
  40. package/lib/generators/generator.js.map +1 -0
  41. package/lib/generators/index.d.ts +5 -0
  42. package/lib/generators/index.js +6 -0
  43. package/lib/generators/index.js.map +1 -0
  44. package/lib/generators/json.d.ts +256 -0
  45. package/lib/generators/json.js +869 -0
  46. package/lib/generators/json.js.map +1 -0
  47. package/lib/generics/clutter.d.ts +26 -0
  48. package/lib/generics/clutter.js +49 -0
  49. package/lib/generics/clutter.js.map +1 -0
  50. package/lib/generics/generify.d.ts +2 -0
  51. package/lib/generics/generify.js +39 -0
  52. package/lib/generics/generify.js.map +1 -0
  53. package/lib/generics/gio.d.ts +7 -0
  54. package/lib/generics/gio.js +51 -0
  55. package/lib/generics/gio.js.map +1 -0
  56. package/lib/generics/glib.d.ts +7 -0
  57. package/lib/generics/glib.js +18 -0
  58. package/lib/generics/glib.js.map +1 -0
  59. package/lib/generics/meta.d.ts +21 -0
  60. package/lib/generics/meta.js +26 -0
  61. package/lib/generics/meta.js.map +1 -0
  62. package/lib/generics/st.d.ts +16 -0
  63. package/lib/generics/st.js +92 -0
  64. package/lib/generics/st.js.map +1 -0
  65. package/lib/generics/visitor.d.ts +20 -0
  66. package/lib/generics/visitor.js +259 -0
  67. package/lib/generics/visitor.js.map +1 -0
  68. package/lib/gir/alias.d.ts +24 -0
  69. package/lib/gir/alias.js +43 -0
  70. package/lib/gir/alias.js.map +1 -0
  71. package/lib/gir/base.d.ts +62 -0
  72. package/lib/gir/base.js +95 -0
  73. package/lib/gir/base.js.map +1 -0
  74. package/lib/gir/class.d.ts +189 -0
  75. package/lib/gir/class.js +1132 -0
  76. package/lib/gir/class.js.map +1 -0
  77. package/lib/gir/const.d.ts +25 -0
  78. package/lib/gir/const.js +43 -0
  79. package/lib/gir/const.js.map +1 -0
  80. package/lib/gir/enum.d.ts +45 -0
  81. package/lib/gir/enum.js +164 -0
  82. package/lib/gir/enum.js.map +1 -0
  83. package/lib/gir/function.d.ts +199 -0
  84. package/lib/gir/function.js +683 -0
  85. package/lib/gir/function.js.map +1 -0
  86. package/lib/gir/generics.d.ts +5 -0
  87. package/lib/gir/generics.js +57 -0
  88. package/lib/gir/generics.js.map +1 -0
  89. package/lib/gir/namespace.d.ts +21 -0
  90. package/lib/gir/namespace.js +57 -0
  91. package/lib/gir/namespace.js.map +1 -0
  92. package/lib/gir/nodes.d.ts +11 -0
  93. package/lib/gir/nodes.js +12 -0
  94. package/lib/gir/nodes.js.map +1 -0
  95. package/lib/gir/property.d.ts +60 -0
  96. package/lib/gir/property.js +128 -0
  97. package/lib/gir/property.js.map +1 -0
  98. package/lib/gir/registry.d.ts +51 -0
  99. package/lib/gir/registry.js +144 -0
  100. package/lib/gir/registry.js.map +1 -0
  101. package/lib/gir/signal.d.ts +33 -0
  102. package/lib/gir/signal.js +165 -0
  103. package/lib/gir/signal.js.map +1 -0
  104. package/lib/gir/util.d.ts +49 -0
  105. package/lib/gir/util.js +556 -0
  106. package/lib/gir/util.js.map +1 -0
  107. package/lib/gir-factory.d.ts +2 -2
  108. package/lib/gir-factory.js +8 -44
  109. package/lib/gir-factory.js.map +1 -1
  110. package/lib/gir-module.d.ts +61 -221
  111. package/lib/gir-module.js +387 -2106
  112. package/lib/gir-module.js.map +1 -1
  113. package/lib/gir.d.ts +251 -0
  114. package/lib/gir.js +638 -0
  115. package/lib/gir.js.map +1 -0
  116. package/lib/index.d.ts +5 -4
  117. package/lib/index.js +7 -4
  118. package/lib/index.js.map +1 -1
  119. package/lib/injection/callbacks/index.d.ts +0 -1
  120. package/lib/injection/callbacks/index.js +0 -1
  121. package/lib/injection/callbacks/index.js.map +1 -1
  122. package/lib/injection/classes/index.d.ts +0 -1
  123. package/lib/injection/classes/index.js +0 -1
  124. package/lib/injection/classes/index.js.map +1 -1
  125. package/lib/injection/injector.d.ts +2 -3
  126. package/lib/injection/injector.js +6 -8
  127. package/lib/injection/injector.js.map +1 -1
  128. package/lib/injections/gee08.d.ts +7 -0
  129. package/lib/injections/gee08.js +68 -0
  130. package/lib/injections/gee08.js.map +1 -0
  131. package/lib/injections/gee1.d.ts +7 -0
  132. package/lib/injections/gee1.js +28 -0
  133. package/lib/injections/gee1.js.map +1 -0
  134. package/lib/injections/gio.d.ts +7 -0
  135. package/lib/injections/gio.js +431 -0
  136. package/lib/injections/gio.js.map +1 -0
  137. package/lib/injections/glib.d.ts +7 -0
  138. package/lib/injections/glib.js +204 -0
  139. package/lib/injections/glib.js.map +1 -0
  140. package/lib/injections/gobject.d.ts +7 -0
  141. package/lib/injections/gobject.js +479 -0
  142. package/lib/injections/gobject.js.map +1 -0
  143. package/lib/injections/inject.d.ts +4 -0
  144. package/lib/injections/inject.js +28 -0
  145. package/lib/injections/inject.js.map +1 -0
  146. package/lib/injections/tracker1.d.ts +7 -0
  147. package/lib/injections/tracker1.js +30 -0
  148. package/lib/injections/tracker1.js.map +1 -0
  149. package/lib/library-version.js.map +1 -1
  150. package/lib/logger.d.ts +1 -3
  151. package/lib/logger.js +3 -8
  152. package/lib/logger.js.map +1 -1
  153. package/lib/messages.d.ts +1 -4
  154. package/lib/messages.js +1 -3
  155. package/lib/messages.js.map +1 -1
  156. package/lib/registry.d.ts +9 -0
  157. package/lib/registry.js +13 -0
  158. package/lib/registry.js.map +1 -0
  159. package/lib/symtable.js +1 -1
  160. package/lib/symtable.js.map +1 -1
  161. package/lib/transformation.d.ts +4 -5
  162. package/lib/transformation.js +31 -127
  163. package/lib/transformation.js.map +1 -1
  164. package/lib/types/generate-config.d.ts +4 -11
  165. package/lib/types/gir-alias-element.d.ts +3 -12
  166. package/lib/types/gir-bitfield-element.d.ts +3 -14
  167. package/lib/types/gir-callable-param-element.d.ts +3 -31
  168. package/lib/types/gir-callable-params.d.ts +7 -0
  169. package/lib/types/gir-callable-params.js +2 -0
  170. package/lib/types/gir-callable-params.js.map +1 -0
  171. package/lib/types/gir-callable-return.d.ts +3 -20
  172. package/lib/types/gir-callback-element.d.ts +3 -12
  173. package/lib/types/gir-class-element.d.ts +3 -34
  174. package/lib/types/gir-constant-element.d.ts +3 -14
  175. package/lib/types/gir-constructor-element.d.ts +3 -5
  176. package/lib/types/gir-enum-element.d.ts +3 -16
  177. package/lib/types/gir-field-element.d.ts +3 -16
  178. package/lib/types/gir-function-element.d.ts +3 -5
  179. package/lib/types/gir-instance-parameter.d.ts +2 -17
  180. package/lib/types/gir-interface-element.d.ts +4 -19
  181. package/lib/types/gir-member-element.d.ts +4 -16
  182. package/lib/types/gir-method-element.d.ts +4 -10
  183. package/lib/types/gir-namespace.d.ts +14 -17
  184. package/lib/types/gir-property-element.d.ts +3 -22
  185. package/lib/types/gir-record-element.d.ts +3 -23
  186. package/lib/types/gir-repository.d.ts +3 -14
  187. package/lib/types/gir-signal.d.ts +3 -18
  188. package/lib/types/gir-union-element.d.ts +3 -16
  189. package/lib/types/gir-virtual-method.d.ts +3 -7
  190. package/lib/types/index.d.ts +3 -54
  191. package/lib/types/index.js +3 -54
  192. package/lib/types/index.js.map +1 -1
  193. package/lib/types/parsed-gir.d.ts +3 -2
  194. package/lib/types/transformations.d.ts +1 -8
  195. package/lib/types/user-config.d.ts +0 -11
  196. package/lib/types.d.ts +23 -0
  197. package/lib/types.js +2 -0
  198. package/lib/types.js.map +1 -0
  199. package/lib/util.d.ts +20 -0
  200. package/lib/util.js +67 -0
  201. package/lib/util.js.map +1 -0
  202. package/lib/utils.d.ts +2 -30
  203. package/lib/utils.js +0 -56
  204. package/lib/utils.js.map +1 -1
  205. package/lib/validators/class.d.ts +7 -0
  206. package/lib/validators/class.js +217 -0
  207. package/lib/validators/class.js.map +1 -0
  208. package/lib/validators/interface.d.ts +5 -0
  209. package/lib/validators/interface.js +16 -0
  210. package/lib/validators/interface.js.map +1 -0
  211. package/lib/visitor.d.ts +35 -0
  212. package/lib/visitor.js +29 -0
  213. package/lib/visitor.js.map +1 -0
  214. package/package.json +14 -10
  215. package/lib/gir-parser.d.ts +0 -2
  216. package/lib/gir-parser.js +0 -69
  217. package/lib/gir-parser.js.map +0 -1
  218. package/lib/injection/callbacks/node-gtk/index.d.ts +0 -2
  219. package/lib/injection/callbacks/node-gtk/index.js +0 -2
  220. package/lib/injection/callbacks/node-gtk/index.js.map +0 -1
  221. package/lib/injection/classes/node-gtk/gdk-4.0.d.ts +0 -2
  222. package/lib/injection/classes/node-gtk/gdk-4.0.js +0 -32
  223. package/lib/injection/classes/node-gtk/gdk-4.0.js.map +0 -1
  224. package/lib/injection/classes/node-gtk/gio-2.0.d.ts +0 -2
  225. package/lib/injection/classes/node-gtk/gio-2.0.js +0 -14
  226. package/lib/injection/classes/node-gtk/gio-2.0.js.map +0 -1
  227. package/lib/injection/classes/node-gtk/glib-2.0.d.ts +0 -2
  228. package/lib/injection/classes/node-gtk/glib-2.0.js +0 -19
  229. package/lib/injection/classes/node-gtk/glib-2.0.js.map +0 -1
  230. package/lib/injection/classes/node-gtk/gobject-2.0.d.ts +0 -2
  231. package/lib/injection/classes/node-gtk/gobject-2.0.js +0 -66
  232. package/lib/injection/classes/node-gtk/gobject-2.0.js.map +0 -1
  233. package/lib/injection/classes/node-gtk/graphene-1.0.d.ts +0 -2
  234. package/lib/injection/classes/node-gtk/graphene-1.0.js +0 -133
  235. package/lib/injection/classes/node-gtk/graphene-1.0.js.map +0 -1
  236. package/lib/injection/classes/node-gtk/gtk-3.0.d.ts +0 -2
  237. package/lib/injection/classes/node-gtk/gtk-3.0.js +0 -31
  238. package/lib/injection/classes/node-gtk/gtk-3.0.js.map +0 -1
  239. package/lib/injection/classes/node-gtk/gtk-4.0.d.ts +0 -2
  240. package/lib/injection/classes/node-gtk/gtk-4.0.js +0 -52
  241. package/lib/injection/classes/node-gtk/gtk-4.0.js.map +0 -1
  242. package/lib/injection/classes/node-gtk/index.d.ts +0 -2
  243. package/lib/injection/classes/node-gtk/index.js +0 -19
  244. package/lib/injection/classes/node-gtk/index.js.map +0 -1
  245. package/lib/injection/classes/node-gtk/pango-1.0.d.ts +0 -2
  246. package/lib/injection/classes/node-gtk/pango-1.0.js +0 -31
  247. package/lib/injection/classes/node-gtk/pango-1.0.js.map +0 -1
  248. package/lib/types/build-type.d.ts +0 -1
  249. package/lib/types/build-type.js +0 -2
  250. package/lib/types/build-type.js.map +0 -1
  251. package/lib/types/environment.d.ts +0 -1
  252. package/lib/types/environment.js +0 -2
  253. package/lib/types/environment.js.map +0 -1
  254. package/lib/types/gir-any-type.d.ts +0 -5
  255. package/lib/types/gir-any-type.js +0 -2
  256. package/lib/types/gir-any-type.js.map +0 -1
  257. package/lib/types/gir-array-type.d.ts +0 -20
  258. package/lib/types/gir-array-type.js +0 -3
  259. package/lib/types/gir-array-type.js.map +0 -1
  260. package/lib/types/gir-boolean.d.ts +0 -1
  261. package/lib/types/gir-boolean.js +0 -2
  262. package/lib/types/gir-boolean.js.map +0 -1
  263. package/lib/types/gir-boxed-element.d.ts +0 -15
  264. package/lib/types/gir-boxed-element.js +0 -2
  265. package/lib/types/gir-boxed-element.js.map +0 -1
  266. package/lib/types/gir-c-include.d.ts +0 -7
  267. package/lib/types/gir-c-include.js +0 -2
  268. package/lib/types/gir-c-include.js.map +0 -1
  269. package/lib/types/gir-callable-attrs.d.ts +0 -15
  270. package/lib/types/gir-callable-attrs.js +0 -3
  271. package/lib/types/gir-callable-attrs.js.map +0 -1
  272. package/lib/types/gir-callable-param.d.ts +0 -7
  273. package/lib/types/gir-callable-param.js +0 -2
  274. package/lib/types/gir-callable-param.js.map +0 -1
  275. package/lib/types/gir-direction.d.ts +0 -7
  276. package/lib/types/gir-direction.js +0 -9
  277. package/lib/types/gir-direction.js.map +0 -1
  278. package/lib/types/gir-doc-element.d.ts +0 -68
  279. package/lib/types/gir-doc-element.js +0 -2
  280. package/lib/types/gir-doc-element.js.map +0 -1
  281. package/lib/types/gir-implements.d.ts +0 -8
  282. package/lib/types/gir-implements.js +0 -2
  283. package/lib/types/gir-implements.js.map +0 -1
  284. package/lib/types/gir-include.d.ts +0 -9
  285. package/lib/types/gir-include.js +0 -2
  286. package/lib/types/gir-include.js.map +0 -1
  287. package/lib/types/gir-info-attrs.d.ts +0 -13
  288. package/lib/types/gir-info-attrs.js +0 -2
  289. package/lib/types/gir-info-attrs.js.map +0 -1
  290. package/lib/types/gir-info-elements.d.ts +0 -5
  291. package/lib/types/gir-info-elements.js +0 -2
  292. package/lib/types/gir-info-elements.js.map +0 -1
  293. package/lib/types/gir-package.d.ts +0 -7
  294. package/lib/types/gir-package.js +0 -2
  295. package/lib/types/gir-package.js.map +0 -1
  296. package/lib/types/gir-prerequisite.d.ts +0 -5
  297. package/lib/types/gir-prerequisite.js +0 -2
  298. package/lib/types/gir-prerequisite.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 -9
  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-var-args.d.ts +0 -5
  309. package/lib/types/gir-var-args.js +0 -2
  310. package/lib/types/gir-var-args.js.map +0 -1
  311. package/lib/types/module-type.d.ts +0 -1
  312. package/lib/types/module-type.js +0 -2
  313. package/lib/types/module-type.js.map +0 -1
package/README.md CHANGED
@@ -19,4 +19,3 @@
19
19
  # Library
20
20
 
21
21
  Node.js library to generate Typescript Type Definition files for Gjs and node-gtk.
22
-
@@ -1,15 +1,13 @@
1
- import type { Environment, GirClassElement, GirRecordElement, GirUnionElement, GirInterfaceElement, GirCallableParamElement, TsSignal, TsFunction, TsProperty, TsVar, TsTypeSeparator, TsType, TsClass, TypeGirFunction, TypeGirProperty, ConflictChildElement, ConflictGroupedElements, ConflictGroupedElement } from './types/index.js';
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
2
  /**
3
3
  * Resolve conflicts between types caused by overloads / inheritances and implementations
4
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
5
  * we are trying to resolve this conflicts by merging, overloading or removing this conflicts.
6
6
  */
7
7
  export declare class ConflictResolver {
8
- private readonly environment;
9
- private readonly verbose;
10
8
  private log;
11
9
  private girFactory;
12
- constructor(environment: Environment, verbose: boolean);
10
+ constructor(verbose: boolean);
13
11
  private girElArrToChildArr;
14
12
  private tsElArrToChildArr;
15
13
  /**
@@ -19,46 +17,13 @@ export declare class ConflictResolver {
19
17
  * @returns
20
18
  */
21
19
  private getClassElements;
22
- private tsElementIsMethod;
23
- private tsElementIsStaticFunction;
24
- private tsElementIsProperty;
25
- private tsElementIsStaticProperty;
26
20
  private tsElementIsSignal;
27
21
  private tsElementIsConstructor;
28
22
  private tsElementIsMethodOrFunction;
29
23
  private tsElementIsPropertyOrVariable;
30
24
  private tsElementIsStatic;
31
- private typeIsString;
32
25
  private tsTypeIsEqual;
33
26
  private mergeTypes;
34
- private setTypesProperty;
35
- /**
36
- * Merges two parameter name and type of two parameters
37
- * @param a
38
- * @param b
39
- * @returns
40
- */
41
- private mergeParam;
42
- /**
43
- * Merges parameter names and types of multiple functions
44
- * @param params
45
- * @returns
46
- */
47
- private mergeParams;
48
- private paramCanBeOptional;
49
- /**
50
- * In Typescript no optional parameters are allowed if the following ones are not optional
51
- * @param girParams
52
- * @returns
53
- */
54
- private fixOptionalParameters;
55
- /**
56
- * Merge function types and parameters together
57
- * @param baseFunc The function to change or null if you want to create a new property
58
- * @param funcs The functions you want to merge
59
- * @returns
60
- */
61
- mergeFunctions(baseFunc: TsFunction | null, ...funcs: TsFunction[]): TsFunction;
62
27
  /**
63
28
  * Merge property types together
64
29
  * @param baseProp The property to change or null if you want to create a new property
@@ -89,8 +54,6 @@ export declare class ConflictResolver {
89
54
  */
90
55
  getTsElementByName(elements: (TsProperty | TsFunction)[], name: string): TsFunction | TsProperty | undefined;
91
56
  protected canAddConflictProperty(conflictProperties: TsProperty[], prop: TsProperty): boolean | "" | null;
92
- groupSignalConflicts(signalsMethods: ConflictChildElement<TsFunction>[], baseClass: TsClass): ConflictGroupedElements<TsFunction | TsProperty | TsVar>;
93
- fixSignalConflicts(groupedElements: ConflictGroupedElements): void;
94
57
  /**
95
58
  * Check conflicts between the implementations / inheritances
96
59
  * To fix type errors like:
@@ -1,23 +1,18 @@
1
1
  import { GirFactory } from './gir-factory.js';
2
2
  import { Logger } from './logger.js';
3
3
  import { NO_TSDATA } from './messages.js';
4
- import { isEqual, merge, clone, typesContainsOptional } from './utils.js';
4
+ import { isEqual } from './utils.js';
5
5
  import { SIGNAL_METHOD_NAMES, MAX_CLASS_PARENT_DEPTH } from './constants.js';
6
- import { GirDirection } from './types/gir-direction.js';
7
6
  /**
8
7
  * Resolve conflicts between types caused by overloads / inheritances and implementations
9
8
  * With multiple implementations or a inherit it can happen that the interfaces / parent have the same method and/or property names with incompatible types,
10
9
  * we are trying to resolve this conflicts by merging, overloading or removing this conflicts.
11
10
  */
12
11
  export class ConflictResolver {
13
- environment;
14
- verbose;
15
12
  log;
16
13
  girFactory = new GirFactory();
17
- constructor(environment, verbose) {
18
- this.environment = environment;
19
- this.verbose = verbose;
20
- this.log = new Logger(environment, verbose, 'ConflictResolver');
14
+ constructor(verbose) {
15
+ this.log = new Logger(verbose, 'ConflictResolver');
21
16
  }
22
17
  girElArrToChildArr(dataArr, depth) {
23
18
  return dataArr
@@ -151,18 +146,6 @@ export class ConflictResolver {
151
146
  constructProps,
152
147
  };
153
148
  }
154
- tsElementIsMethod(el) {
155
- return !this.tsElementIsStatic(el) && this.tsElementIsMethodOrFunction(el);
156
- }
157
- tsElementIsStaticFunction(el) {
158
- return this.tsElementIsStatic(el) && this.tsElementIsMethodOrFunction(el);
159
- }
160
- tsElementIsProperty(el) {
161
- return !this.tsElementIsStatic(el) && this.tsElementIsPropertyOrVariable(el);
162
- }
163
- tsElementIsStaticProperty(el) {
164
- return this.tsElementIsStatic(el) && this.tsElementIsPropertyOrVariable(el);
165
- }
166
149
  tsElementIsSignal(el) {
167
150
  return el.tsTypeName === 'event-methods';
168
151
  }
@@ -183,11 +166,6 @@ export class ConflictResolver {
183
166
  // el.tsTypeName === 'constructor' ||
184
167
  el.isStatic || el.tsTypeName === 'static-property' || el.tsTypeName === 'static-function');
185
168
  }
186
- typeIsString(type) {
187
- return (type.type === 'string' ||
188
- (type.type.startsWith("'") && type.type.endsWith("'")) ||
189
- (type.type.startsWith('"') && type.type.endsWith('"')));
190
- }
191
169
  tsTypeIsEqual(a, b) {
192
170
  return (a &&
193
171
  b &&
@@ -212,146 +190,6 @@ export class ConflictResolver {
212
190
  }
213
191
  return dest;
214
192
  }
215
- setTypesProperty(types, property, value) {
216
- for (const type of types) {
217
- type[property] = value;
218
- }
219
- return types;
220
- }
221
- /**
222
- * Merges two parameter name and type of two parameters
223
- * @param a
224
- * @param b
225
- * @returns
226
- */
227
- mergeParam(a, b) {
228
- if (!a?._tsData && !b?._tsData) {
229
- throw new Error('At least one parameter must be defined!');
230
- }
231
- let dest;
232
- if (a?._tsData && b?._tsData) {
233
- dest = merge({}, clone(a), clone(b));
234
- if (!dest._tsData) {
235
- throw new Error('Error on merge parameters!');
236
- }
237
- dest._tsData.type = [];
238
- dest._tsData.type = this.mergeTypes('|', ...a._tsData.type, ...b._tsData.type);
239
- if (a._tsData.name !== b._tsData.name) {
240
- dest._tsData.name = `${a._tsData.name}_or_${b._tsData.name}`;
241
- }
242
- }
243
- else {
244
- dest = clone((a || b));
245
- if (!dest._tsData) {
246
- throw new Error('Error on merge parameters!');
247
- }
248
- // If `a` or `b` is undefined make the types optional
249
- dest._tsData.type = this.setTypesProperty(dest._tsData.type, 'optional', true);
250
- }
251
- if (typesContainsOptional(dest._tsData.type)) {
252
- dest._tsData.type = this.setTypesProperty(dest._tsData.type, 'optional', true);
253
- }
254
- return dest;
255
- }
256
- /**
257
- * Merges parameter names and types of multiple functions
258
- * @param params
259
- * @returns
260
- */
261
- mergeParams(...params) {
262
- let dest = [];
263
- for (const a of params) {
264
- for (const b of params) {
265
- if (a === b) {
266
- continue;
267
- }
268
- if (isEqual(a, b)) {
269
- dest = clone(a);
270
- }
271
- else {
272
- const length = Math.max(a.length, b.length);
273
- dest = new Array(length);
274
- for (let i = 0; i < length; i++) {
275
- const aParam = a[i];
276
- const bParam = b[i];
277
- dest[i] = this.mergeParam(aParam, bParam);
278
- }
279
- }
280
- }
281
- }
282
- return dest;
283
- }
284
- paramCanBeOptional(girParam, girParams, skip = []) {
285
- if (!girParam._tsData)
286
- return false;
287
- let canBeOptional = true;
288
- const index = girParams.indexOf(girParam);
289
- const following = girParams
290
- .slice(index)
291
- .filter((p) => !!p._tsData)
292
- .filter(() => !skip.includes(girParam))
293
- .filter((p) => p.$.direction !== GirDirection.Out)
294
- .map((p) => p._tsData);
295
- if (following.some((p) => p && !typesContainsOptional(p.type))) {
296
- canBeOptional = false;
297
- }
298
- return canBeOptional;
299
- }
300
- /**
301
- * In Typescript no optional parameters are allowed if the following ones are not optional
302
- * @param girParams
303
- * @returns
304
- */
305
- fixOptionalParameters(girParams) {
306
- for (const girParam of girParams) {
307
- if (!girParam._tsData)
308
- throw new Error(NO_TSDATA('fixOptionalParameters'));
309
- if (typesContainsOptional(girParam._tsData.type) && !this.paramCanBeOptional(girParam, girParams)) {
310
- this.setTypesProperty(girParam._tsData.type, 'optional', false);
311
- }
312
- }
313
- return girParams;
314
- }
315
- /**
316
- * Merge function types and parameters together
317
- * @param baseFunc The function to change or null if you want to create a new property
318
- * @param funcs The functions you want to merge
319
- * @returns
320
- */
321
- mergeFunctions(baseFunc, ...funcs) {
322
- const returnTypesMap = [];
323
- for (const func of funcs) {
324
- returnTypesMap.push(...func.returnTypes);
325
- }
326
- const returnTypes = this.mergeTypes('|', ...returnTypesMap);
327
- const inParamsMap = funcs.map((func) => func.inParams);
328
- const inParams = [];
329
- if (this.paramsHasConflict(...inParamsMap)) {
330
- inParams.push(...this.mergeParams(...inParamsMap));
331
- }
332
- const outParamsMap = funcs.map((func) => func.outParams);
333
- const outParams = [];
334
- if (this.paramsHasConflict(...outParamsMap)) {
335
- outParams.push(...this.mergeParams(...outParamsMap));
336
- }
337
- if (!funcs[0]) {
338
- throw new Error('At least one function must exist!');
339
- }
340
- if (baseFunc) {
341
- baseFunc.returnTypes = returnTypes;
342
- return baseFunc;
343
- }
344
- return this.girFactory.newTsFunction({
345
- name: funcs[0].name,
346
- returnTypes: returnTypes,
347
- isStatic: funcs[0].isStatic || false,
348
- inParams: inParams.map((inParam) => inParam._tsData).filter((inParam) => !!inParam),
349
- outParams: outParams
350
- .map((outParam) => outParam._tsData)
351
- .filter((outParam) => !!outParam),
352
- girTypeName: funcs[0].girTypeName,
353
- }, funcs[0].parent);
354
- }
355
193
  /**
356
194
  * Merge property types together
357
195
  * @param baseProp The property to change or null if you want to create a new property
@@ -451,71 +289,9 @@ export class ConflictResolver {
451
289
  // Only one property can be defined, no overloads
452
290
  !this.getTsElementByName(conflictProperties, prop.name) &&
453
291
  // Do not set properties with signal method names
454
- !SIGNAL_METHOD_NAMES(this.environment).includes(prop.name);
292
+ !SIGNAL_METHOD_NAMES.includes(prop.name);
455
293
  return canAdd;
456
294
  }
457
- groupSignalConflicts(signalsMethods, baseClass) {
458
- const groupedConflicts = {};
459
- for (const base of signalsMethods) {
460
- for (const b of signalsMethods) {
461
- if (base === b) {
462
- continue;
463
- }
464
- if (base.data.name !== 'connect' && base.data.name !== 'connect_after') {
465
- continue;
466
- }
467
- const sigNameParam = base.data.inParams[0];
468
- // const callbackParam = base.data.inParams[1]
469
- const eventName = sigNameParam?._tsData?.type?.[0]?.type;
470
- // TODO do not render the callback type as a full string, create a TSCallback instead
471
- // const callbackType = callbackParam?._tsData?.type?.[0]?.type
472
- // console.debug('eventName', eventName, callbackType)
473
- if (!eventName || eventName === 'string') {
474
- continue;
475
- }
476
- groupedConflicts[eventName] ||= {
477
- baseElements: [],
478
- inheritedElements: [],
479
- baseClass,
480
- };
481
- const groupedConflict = groupedConflicts[eventName];
482
- const isBaseElement = base.depth === 0;
483
- if (isBaseElement) {
484
- if (!groupedConflict.baseElements.find((c) => isEqual(c.data, base.data))) {
485
- groupedConflict.baseElements.push(base);
486
- }
487
- }
488
- else {
489
- if (!groupedConflict.inheritedElements.find((c) => isEqual(c.data, base.data))) {
490
- groupedConflict.inheritedElements.push(base);
491
- }
492
- }
493
- }
494
- }
495
- return groupedConflicts;
496
- }
497
- fixSignalConflicts(groupedElements) {
498
- for (const eventName of Object.keys(groupedElements)) {
499
- const elements = groupedElements[eventName];
500
- const bases = elements.baseElements;
501
- if (!bases.length) {
502
- // TODO
503
- // return this.fixIndirectSignalConflicts(elements.inheritedElements, elements.baseClass)
504
- return;
505
- }
506
- for (const base of bases) {
507
- if (base.data.hasUnresolvedConflict) {
508
- continue;
509
- }
510
- for (const b of elements.inheritedElements) {
511
- if (b === base || b.data.hasUnresolvedConflict) {
512
- continue;
513
- }
514
- // TODO
515
- }
516
- }
517
- }
518
- }
519
295
  /**
520
296
  * Check conflicts between the implementations / inheritances
521
297
  * To fix type errors like:
@@ -1 +1 @@
1
- {"version":3,"file":"conflict-resolver.js","sourceRoot":"","sources":["../src/conflict-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conflict-resolver.js","sourceRoot":"","sources":["../src/conflict-resolver.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import { LibraryVersion } from './library-version.js';
2
- import type { Environment } from './types/index.js';
3
2
  /**
4
3
  * In gjs all classes have a static name property but the classes listed below already have a static name property
5
4
  */
@@ -21,10 +20,7 @@ export declare const APP_NAME = "ts-for-gir";
21
20
  export declare const APP_USAGE = "TypeScript type definition generator for GObject introspection GIR files";
22
21
  export declare const APP_SOURCE = "https://github.com/gjsify/ts-for-gir";
23
22
  export declare const APP_VERSION: string;
24
- export declare const PACKAGE_DESC: (packageName: string, environment: Environment, libraryVersion?: LibraryVersion) => string;
25
- export declare const PACKAGE_KEYWORDS: (packageName: string, environment: Environment) => string;
23
+ export declare const PACKAGE_DESC: (packageName: string, libraryVersion?: LibraryVersion) => string;
24
+ export declare const PACKAGE_KEYWORDS: (packageName: string) => string;
26
25
  export declare const GENERIC_NAMES: string[];
27
- export declare const SIGNAL_METHOD_NAMES_GENERAL: string[];
28
- export declare const SIGNAL_METHOD_NAMES_GJS: string[];
29
- export declare const SIGNAL_METHOD_NAMES_NODE: string[];
30
- export declare const SIGNAL_METHOD_NAMES: (env: Environment) => (string | string[])[];
26
+ export declare const SIGNAL_METHOD_NAMES: string[];
package/lib/constants.js CHANGED
@@ -14,25 +14,15 @@ export const APP_NAME = 'ts-for-gir';
14
14
  export const APP_USAGE = 'TypeScript type definition generator for GObject introspection GIR files';
15
15
  export const APP_SOURCE = 'https://github.com/gjsify/ts-for-gir';
16
16
  export const APP_VERSION = PACKAGE.version;
17
- export const PACKAGE_DESC = (packageName, environment, libraryVersion) => {
18
- const envStr = environment === 'node' ? 'Node.js' : 'GJS';
17
+ export const PACKAGE_DESC = (packageName, libraryVersion) => {
19
18
  if (libraryVersion) {
20
- return `${envStr} TypeScript type definitions for ${packageName}, generated from library version ${libraryVersion.toString()}`;
19
+ return `GJS TypeScript type definitions for ${packageName}, generated from library version ${libraryVersion.toString()}`;
21
20
  }
22
- return `${envStr} TypeScript type definitions for ${packageName}`;
21
+ return `GJS TypeScript type definitions for ${packageName}`;
23
22
  };
24
- export const PACKAGE_KEYWORDS = (packageName, environment) => {
25
- const envKeywords = environment === 'node' ? '"node", "node-gtk"' : '"GJS"';
26
- return `"Gir", "TypeScript", "types", "GObject-Introspection", ${envKeywords}, "${packageName}"`;
23
+ export const PACKAGE_KEYWORDS = (packageName) => {
24
+ return `"Gir", "TypeScript", "types", "GObject-Introspection", "GJS", "${packageName}"`;
27
25
  };
28
26
  export const GENERIC_NAMES = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'K'];
29
- export const SIGNAL_METHOD_NAMES_GENERAL = ['connect', 'emit', 'disconnect'];
30
- export const SIGNAL_METHOD_NAMES_GJS = ['connect_after', 'emit'];
31
- export const SIGNAL_METHOD_NAMES_NODE = ['after', 'on', 'once', 'off'];
32
- export const SIGNAL_METHOD_NAMES = (env) => {
33
- if (env === 'node') {
34
- return [...SIGNAL_METHOD_NAMES_GENERAL, SIGNAL_METHOD_NAMES_NODE];
35
- }
36
- return [...SIGNAL_METHOD_NAMES_GENERAL, SIGNAL_METHOD_NAMES_GJS];
37
- };
27
+ export const SIGNAL_METHOD_NAMES = ['connect', 'emit', 'disconnect', 'connect_after', 'emit'];
38
28
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAI3B;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAA;AAE9E,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAAA;AAC5C,MAAM,CAAC,MAAM,aAAa,GAAG,iBAAiB,CAAA;AAC9C,MAAM,CAAC,MAAM,iBAAiB,GAAG,mBAAmB,CAAA;AACpD,MAAM,CAAC,MAAM,gBAAgB,GAAG,UAAU,CAAA;AAE1C,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAA;AAEzC,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,YAAY,CAOtC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAA;AAEtC,MAAM,CAAC,MAAM,QAAQ,GAAG,YAAY,CAAA;AACpC,MAAM,CAAC,MAAM,SAAS,GAAG,0EAA0E,CAAA;AACnG,MAAM,CAAC,MAAM,UAAU,GAAG,sCAAsC,CAAA;AAChE,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAA;AAE1C,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,WAAmB,EAAE,WAAwB,EAAE,cAA+B,EAAE,EAAE;IAC3G,MAAM,MAAM,GAAG,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAA;IACzD,IAAI,cAAc,EAAE;QAChB,OAAO,GAAG,MAAM,oCAAoC,WAAW,oCAAoC,cAAc,CAAC,QAAQ,EAAE,EAAE,CAAA;KACjI;IACD,OAAO,GAAG,MAAM,oCAAoC,WAAW,EAAE,CAAA;AACrE,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,WAAmB,EAAE,WAAwB,EAAE,EAAE;IAC9E,MAAM,WAAW,GAAG,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,OAAO,CAAA;IAC3E,OAAO,0DAA0D,WAAW,MAAM,WAAW,GAAG,CAAA;AACpG,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAEzF,MAAM,CAAC,MAAM,2BAA2B,GAAa,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,CAAA;AACtF,MAAM,CAAC,MAAM,uBAAuB,GAAa,CAAC,eAAe,EAAE,MAAM,CAAC,CAAA;AAC1E,MAAM,CAAC,MAAM,wBAAwB,GAAa,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;AAChF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,GAAgB,EAAE,EAAE;IACpD,IAAI,GAAG,KAAK,MAAM,EAAE;QAChB,OAAO,CAAC,GAAG,2BAA2B,EAAE,wBAAwB,CAAC,CAAA;KACpE;IACD,OAAO,CAAC,GAAG,2BAA2B,EAAE,uBAAuB,CAAC,CAAA;AACpE,CAAC,CAAA"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAA;AAE9E,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAAA;AAC5C,MAAM,CAAC,MAAM,aAAa,GAAG,iBAAiB,CAAA;AAC9C,MAAM,CAAC,MAAM,iBAAiB,GAAG,mBAAmB,CAAA;AACpD,MAAM,CAAC,MAAM,gBAAgB,GAAG,UAAU,CAAA;AAE1C,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAA;AAEzC,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,YAAY,CAOtC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAA;AAEtC,MAAM,CAAC,MAAM,QAAQ,GAAG,YAAY,CAAA;AACpC,MAAM,CAAC,MAAM,SAAS,GAAG,0EAA0E,CAAA;AACnG,MAAM,CAAC,MAAM,UAAU,GAAG,sCAAsC,CAAA;AAChE,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAA;AAE1C,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,WAAmB,EAAE,cAA+B,EAAE,EAAE;IACjF,IAAI,cAAc,EAAE,CAAC;QACjB,OAAO,uCAAuC,WAAW,oCAAoC,cAAc,CAAC,QAAQ,EAAE,EAAE,CAAA;IAC5H,CAAC;IACD,OAAO,uCAAuC,WAAW,EAAE,CAAA;AAC/D,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,WAAmB,EAAE,EAAE;IACpD,OAAO,kEAAkE,WAAW,GAAG,CAAA;AAC3F,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAEzF,MAAM,CAAC,MAAM,mBAAmB,GAAa,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,CAAC,CAAA"}
@@ -2,16 +2,15 @@ import { Logger } from './logger.js';
2
2
  import { Transformation } from './transformation.js';
3
3
  import type { Dependency, GenerateConfig, GirInclude } from './types/index.js';
4
4
  import type { GirModule } from './gir-module.js';
5
- export declare class DependencyManager {
5
+ import { GirNSRegistry } from './registry.js';
6
+ export declare class DependencyManager extends GirNSRegistry {
6
7
  protected readonly config: GenerateConfig;
7
8
  protected log: Logger;
8
9
  protected transformation: Transformation;
9
10
  cache: {
10
11
  [packageName: string]: Dependency;
11
12
  };
12
- static instances: {
13
- [env: string]: DependencyManager;
14
- };
13
+ static instance?: DependencyManager;
15
14
  protected constructor(config: GenerateConfig);
16
15
  /**
17
16
  * Get the DependencyManager singleton instance
@@ -102,5 +101,4 @@ export declare class DependencyManager {
102
101
  find(namespace: string): Dependency | null;
103
102
  protected getPseudoPackage(packageName: string): Dependency;
104
103
  getGjs(): Dependency;
105
- getNodeGtk(): Dependency;
106
104
  }