@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/generators/json.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { IntrospectedNamespace } from "../gir/namespace.js";
2
+ export declare const clutterTemplate: (version: string) => {
3
+ namespace: string;
4
+ version: string;
5
+ modifier: (namespace: IntrospectedNamespace, inferGenerics: boolean) => void;
6
+ };
7
+ export declare const clutter10: {
8
+ namespace: string;
9
+ version: string;
10
+ modifier: (namespace: IntrospectedNamespace, inferGenerics: boolean) => void;
11
+ };
12
+ export declare const clutter11: {
13
+ namespace: string;
14
+ version: string;
15
+ modifier: (namespace: IntrospectedNamespace, inferGenerics: boolean) => void;
16
+ };
17
+ export declare const clutter12: {
18
+ namespace: string;
19
+ version: string;
20
+ modifier: (namespace: IntrospectedNamespace, inferGenerics: boolean) => void;
21
+ };
22
+ export declare const clutter13: {
23
+ namespace: string;
24
+ version: string;
25
+ modifier: (namespace: IntrospectedNamespace, inferGenerics: boolean) => void;
26
+ };
@@ -0,0 +1,49 @@
1
+ import { GenericType } from "../gir.js";
2
+ export const clutterTemplate = (version) => ({
3
+ namespace: "Clutter",
4
+ version,
5
+ modifier: (namespace, inferGenerics) => {
6
+ if (!inferGenerics) {
7
+ return;
8
+ }
9
+ const Actor = namespace.assertClass("Actor");
10
+ const Content = namespace.assertClass("Content");
11
+ const LayoutManager = namespace.assertClass("LayoutManager");
12
+ Actor.addGeneric({
13
+ default: LayoutManager.getType(),
14
+ constraint: LayoutManager.getType()
15
+ });
16
+ Actor.addGeneric({
17
+ default: Content.getType(),
18
+ constraint: Content.getType()
19
+ });
20
+ Actor.props
21
+ .filter(p => p.name === "layout_manager" || p.name === "layoutManager")
22
+ .forEach(prop => {
23
+ // TODO Automatically infer such changes.
24
+ prop.type = new GenericType("A", Content.getType());
25
+ });
26
+ Actor.props
27
+ .filter(p => p.name === "content")
28
+ .forEach(prop => {
29
+ // TODO Automatically infer such changes.
30
+ prop.type = new GenericType("B", Content.getType());
31
+ });
32
+ const Clone = namespace.assertClass("Clone");
33
+ Clone.addGeneric({
34
+ default: Actor.getType(),
35
+ constraint: Actor.getType()
36
+ });
37
+ Clone.props
38
+ .filter(p => p.name === "source")
39
+ .forEach(prop => {
40
+ // TODO Automatically infer such changes.
41
+ prop.type = new GenericType("A", Content.getType());
42
+ });
43
+ }
44
+ });
45
+ export const clutter10 = clutterTemplate("10");
46
+ export const clutter11 = clutterTemplate("11");
47
+ export const clutter12 = clutterTemplate("12");
48
+ export const clutter13 = clutterTemplate("13");
49
+ //# sourceMappingURL=clutter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clutter.js","sourceRoot":"","sources":["../../src/generics/clutter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAGxC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,CAAC;IACjD,SAAS,EAAE,SAAS;IACpB,OAAO;IACP,QAAQ,EAAE,CAAC,SAAgC,EAAE,aAAsB,EAAE,EAAE;QACnE,IAAI,CAAC,aAAa,EAAE,CAAC;YACjB,OAAO;QACX,CAAC;QAED,MAAM,KAAK,GAAG,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACjD,MAAM,aAAa,GAAG,SAAS,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QAE7D,KAAK,CAAC,UAAU,CAAC;YACb,OAAO,EAAE,aAAa,CAAC,OAAO,EAAE;YAChC,UAAU,EAAE,aAAa,CAAC,OAAO,EAAE;SACtC,CAAC,CAAC;QAEH,KAAK,CAAC,UAAU,CAAC;YACb,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;YAC1B,UAAU,EAAE,OAAO,CAAC,OAAO,EAAE;SAChC,CAAC,CAAC;QAEH,KAAK,CAAC,KAAK;aACN,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,gBAAgB,IAAI,CAAC,CAAC,IAAI,KAAK,eAAe,CAAC;aACtE,OAAO,CAAC,IAAI,CAAC,EAAE;YACZ,yCAAyC;YACzC,IAAI,CAAC,IAAI,GAAG,IAAI,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEP,KAAK,CAAC,KAAK;aACN,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC;aACjC,OAAO,CAAC,IAAI,CAAC,EAAE;YACZ,yCAAyC;YACzC,IAAI,CAAC,IAAI,GAAG,IAAI,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEP,MAAM,KAAK,GAAG,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAE7C,KAAK,CAAC,UAAU,CAAC;YACb,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE;YACxB,UAAU,EAAE,KAAK,CAAC,OAAO,EAAE;SAC9B,CAAC,CAAC;QAEH,KAAK,CAAC,KAAK;aACN,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;aAChC,OAAO,CAAC,IAAI,CAAC,EAAE;YACZ,yCAAyC;YACzC,IAAI,CAAC,IAAI,GAAG,IAAI,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;IACX,CAAC;CACJ,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;AAC/C,MAAM,CAAC,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;AAC/C,MAAM,CAAC,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;AAC/C,MAAM,CAAC,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { NSRegistry } from "../gir/registry.js";
2
+ export declare function generify(registry: NSRegistry, inferGenerics: boolean): void;
@@ -0,0 +1,39 @@
1
+ import gio from "./gio.js";
2
+ import glib from "./glib.js";
3
+ import { clutter10, clutter11, clutter12, clutter13 } from "./clutter.js";
4
+ import { st1, st12, st13 } from "./st.js";
5
+ import { meta10, meta11, meta12, meta13 } from "./meta.js";
6
+ import { GenericVisitor } from "./visitor.js";
7
+ function generifyDefinitions(registry, inferGenerics, required = true) {
8
+ return (definition) => {
9
+ const version = definition.version;
10
+ const ns = registry.namespace(definition.namespace, version);
11
+ if (ns) {
12
+ definition.modifier(ns, inferGenerics);
13
+ return;
14
+ }
15
+ if (required) {
16
+ throw new Error(`Could not generify ${definition.namespace} ${definition.version}`);
17
+ }
18
+ };
19
+ }
20
+ export function generify(registry, inferGenerics) {
21
+ const $ = generifyDefinitions(registry, inferGenerics);
22
+ $(gio);
23
+ $(glib);
24
+ const $_ = generifyDefinitions(registry, inferGenerics, false);
25
+ $_(clutter10);
26
+ $_(clutter11);
27
+ $_(clutter12);
28
+ $_(clutter13);
29
+ $_(st1);
30
+ $_(st12);
31
+ $_(st13);
32
+ $_(meta10);
33
+ $_(meta11);
34
+ $_(meta12);
35
+ $_(meta13);
36
+ const visitor = new GenericVisitor(registry, inferGenerics);
37
+ registry.registerTransformation(visitor);
38
+ }
39
+ //# sourceMappingURL=generify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generify.js","sourceRoot":"","sources":["../../src/generics/generify.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,UAAU,CAAC;AAC3B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC1E,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAI3D,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAI9C,SAAS,mBAAmB,CAAC,QAAoB,EAAE,aAAsB,EAAE,WAAoB,IAAI;IAC/F,OAAO,CAAC,UAA+E,EAAE,EAAE;QACvF,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;QACnC,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAE7D,IAAI,EAAE,EAAE,CAAC;YACL,UAAU,CAAC,QAAQ,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;YACvC,OAAO;QACX,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,sBAAsB,UAAU,CAAC,SAAS,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;QACxF,CAAC;IACL,CAAC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,QAAoB,EAAE,aAAsB;IACjE,MAAM,CAAC,GAAG,mBAAmB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAEvD,CAAC,CAAC,GAAG,CAAC,CAAC;IACP,CAAC,CAAC,IAAI,CAAC,CAAC;IAER,MAAM,EAAE,GAAG,mBAAmB,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;IAE/D,EAAE,CAAC,SAAS,CAAC,CAAC;IACd,EAAE,CAAC,SAAS,CAAC,CAAC;IACd,EAAE,CAAC,SAAS,CAAC,CAAC;IACd,EAAE,CAAC,SAAS,CAAC,CAAC;IACd,EAAE,CAAC,GAAG,CAAC,CAAC;IACR,EAAE,CAAC,IAAI,CAAC,CAAC;IACT,EAAE,CAAC,IAAI,CAAC,CAAC;IACT,EAAE,CAAC,MAAM,CAAC,CAAC;IACX,EAAE,CAAC,MAAM,CAAC,CAAC;IACX,EAAE,CAAC,MAAM,CAAC,CAAC;IACX,EAAE,CAAC,MAAM,CAAC,CAAC;IAEX,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAE5D,QAAQ,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAC7C,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { IntrospectedNamespace } from "../gir/namespace.js";
2
+ declare const _default: {
3
+ namespace: string;
4
+ version: string;
5
+ modifier: (namespace: IntrospectedNamespace) => void;
6
+ };
7
+ export default _default;
@@ -0,0 +1,51 @@
1
+ import { AnyType, Generic, GenericType, GenerifiedTypeIdentifier, StringType, TypeIdentifier } from "../gir.js";
2
+ export default {
3
+ namespace: "Gio",
4
+ version: "2.0",
5
+ modifier: (namespace) => {
6
+ const AsyncInitable = namespace.getClass("AsyncInitable");
7
+ if (!AsyncInitable) {
8
+ throw new Error("Gio.AsyncInitable not found.");
9
+ }
10
+ const GObject = namespace.assertInstalledImport("GObject").assertClass("Object");
11
+ AsyncInitable.addGeneric({
12
+ constraint: GObject.getType(),
13
+ default: GObject.getType(),
14
+ propagate: false
15
+ });
16
+ const ListModel = namespace.getClass("ListModel");
17
+ if (!ListModel) {
18
+ throw new Error("Gio.ListModel not found.");
19
+ }
20
+ ListModel.addGeneric({
21
+ default: GObject.getType(),
22
+ constraint: GObject.getType()
23
+ });
24
+ const ListStore = namespace.getClass("ListStore");
25
+ if (!ListStore) {
26
+ throw new Error("Gio.ListStore not found.");
27
+ }
28
+ ListStore.addGeneric({
29
+ deriveFrom: ListModel.getType(),
30
+ default: GObject.getType(),
31
+ constraint: GObject.getType()
32
+ });
33
+ const Settings = namespace.assertClass("Settings");
34
+ Settings.members = Settings.members.map(m => {
35
+ if (m.name === "get_value" || m.name === "get_default_value" || m.name === "get_user_value") {
36
+ m.generics.push(new Generic(new GenericType("T"), AnyType, undefined, StringType));
37
+ const returnType = m.return().deepUnwrap();
38
+ if (returnType instanceof TypeIdentifier && returnType.is("GLib", "Variant")) {
39
+ return m.copy({
40
+ returnType: m
41
+ .return()
42
+ .rewrap(new GenerifiedTypeIdentifier("Variant", "GLib", [new GenericType("T")]))
43
+ });
44
+ }
45
+ return m;
46
+ }
47
+ return m;
48
+ });
49
+ }
50
+ };
51
+ //# sourceMappingURL=gio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gio.js","sourceRoot":"","sources":["../../src/generics/gio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAGhH,eAAe;IACX,SAAS,EAAE,KAAK;IAChB,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,CAAC,SAAgC,EAAE,EAAE;QAC3C,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QAE1D,IAAI,CAAC,aAAa,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,OAAO,GAAG,SAAS,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAEjF,aAAa,CAAC,UAAU,CAAC;YACrB,UAAU,EAAE,OAAO,CAAC,OAAO,EAAE;YAC7B,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;YAC1B,SAAS,EAAE,KAAK;SACnB,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAElD,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAChD,CAAC;QAED,SAAS,CAAC,UAAU,CAAC;YACjB,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;YAC1B,UAAU,EAAE,OAAO,CAAC,OAAO,EAAE;SAChC,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAElD,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAChD,CAAC;QAED,SAAS,CAAC,UAAU,CAAC;YACjB,UAAU,EAAE,SAAS,CAAC,OAAO,EAAE;YAC/B,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;YAC1B,UAAU,EAAE,OAAO,CAAC,OAAO,EAAE;SAChC,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAEnD,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACxC,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,IAAI,KAAK,mBAAmB,IAAI,CAAC,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;gBAC1F,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;gBACnF,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,EAAE,CAAC;gBAE3C,IAAI,UAAU,YAAY,cAAc,IAAI,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC;oBAC3E,OAAO,CAAC,CAAC,IAAI,CAAC;wBACV,UAAU,EAAE,CAAC;6BACR,MAAM,EAAE;6BACR,MAAM,CAAC,IAAI,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;qBACvF,CAAC,CAAC;gBACP,CAAC;gBAED,OAAO,CAAC,CAAC;YACb,CAAC;YAED,OAAO,CAAC,CAAC;QACb,CAAC,CAAC,CAAC;IACP,CAAC;CACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { IntrospectedNamespace } from "../gir/namespace.js";
2
+ declare const _default: {
3
+ namespace: string;
4
+ version: string;
5
+ modifier: (namespace: IntrospectedNamespace) => void;
6
+ };
7
+ export default _default;
@@ -0,0 +1,18 @@
1
+ import { AnyType, StringType } from "../gir.js";
2
+ export default {
3
+ namespace: "GLib",
4
+ version: "2.0",
5
+ modifier: (namespace) => {
6
+ const HashTable = namespace.getClass("HashTable");
7
+ if (!HashTable) {
8
+ throw new Error("GLib.HashTable not found.");
9
+ }
10
+ HashTable.addGeneric({
11
+ default: StringType
12
+ });
13
+ HashTable.addGeneric({
14
+ default: AnyType
15
+ });
16
+ }
17
+ };
18
+ //# sourceMappingURL=glib.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glib.js","sourceRoot":"","sources":["../../src/generics/glib.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAGhD,eAAe;IACX,SAAS,EAAE,MAAM;IACjB,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,CAAC,SAAgC,EAAE,EAAE;QAC3C,MAAM,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAElD,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QACjD,CAAC;QAED,SAAS,CAAC,UAAU,CAAC;YACjB,OAAO,EAAE,UAAU;SACtB,CAAC,CAAC;QAEH,SAAS,CAAC,UAAU,CAAC;YACjB,OAAO,EAAE,OAAO;SACnB,CAAC,CAAC;IACP,CAAC;CACJ,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { IntrospectedNamespace } from "../gir/namespace.js";
2
+ export declare const meta10: {
3
+ namespace: string;
4
+ version: string;
5
+ modifier: (namespace: IntrospectedNamespace, inferGenerics: boolean) => void;
6
+ };
7
+ export declare const meta11: {
8
+ namespace: string;
9
+ version: string;
10
+ modifier: (namespace: IntrospectedNamespace, inferGenerics: boolean) => void;
11
+ };
12
+ export declare const meta12: {
13
+ namespace: string;
14
+ version: string;
15
+ modifier: (namespace: IntrospectedNamespace, inferGenerics: boolean) => void;
16
+ };
17
+ export declare const meta13: {
18
+ namespace: string;
19
+ version: string;
20
+ modifier: (namespace: IntrospectedNamespace, inferGenerics: boolean) => void;
21
+ };
@@ -0,0 +1,26 @@
1
+ import { GenerifiedTypeIdentifier } from "../gir.js";
2
+ const metaTemplate = (version) => ({
3
+ namespace: "Meta",
4
+ version,
5
+ modifier: (namespace, inferGenerics) => {
6
+ if (!inferGenerics) {
7
+ return;
8
+ }
9
+ // Connect BackgroundActor to BackgroundContent
10
+ const LayoutManager = namespace.assertInstalledImport("Clutter").assertClass("LayoutManager");
11
+ const BackgroundContent = namespace.assertClass("BackgroundContent");
12
+ const BackgroundActor = namespace.assertClass("BackgroundActor");
13
+ const parent = BackgroundActor.superType;
14
+ if (parent) {
15
+ BackgroundActor.superType = new GenerifiedTypeIdentifier(parent.name, parent.namespace, [
16
+ LayoutManager.getType(),
17
+ BackgroundContent.getType()
18
+ ]);
19
+ }
20
+ }
21
+ });
22
+ export const meta10 = metaTemplate("10");
23
+ export const meta11 = metaTemplate("11");
24
+ export const meta12 = metaTemplate("12");
25
+ export const meta13 = metaTemplate("13");
26
+ //# sourceMappingURL=meta.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meta.js","sourceRoot":"","sources":["../../src/generics/meta.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAGrD,MAAM,YAAY,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,CAAC;IACvC,SAAS,EAAE,MAAM;IACjB,OAAO;IACP,QAAQ,EAAE,CAAC,SAAgC,EAAE,aAAsB,EAAE,EAAE;QACnE,IAAI,CAAC,aAAa,EAAE,CAAC;YACjB,OAAO;QACX,CAAC;QAED,+CAA+C;QAE/C,MAAM,aAAa,GAAG,SAAS,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QAE9F,MAAM,iBAAiB,GAAG,SAAS,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;QACrE,MAAM,eAAe,GAAG,SAAS,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;QAEjE,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC;QAEzC,IAAI,MAAM,EAAE,CAAC;YACT,eAAe,CAAC,SAAS,GAAG,IAAI,wBAAwB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE;gBACpF,aAAa,CAAC,OAAO,EAAE;gBACvB,iBAAiB,CAAC,OAAO,EAAE;aAC9B,CAAC,CAAC;QACP,CAAC;IACL,CAAC;CACJ,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;AACzC,MAAM,CAAC,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;AACzC,MAAM,CAAC,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;AACzC,MAAM,CAAC,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { IntrospectedNamespace } from "../gir/namespace.js";
2
+ export declare const st1: {
3
+ namespace: string;
4
+ version: string;
5
+ modifier: (namespace: IntrospectedNamespace, inferGenerics: boolean) => void;
6
+ };
7
+ export declare const st12: {
8
+ namespace: string;
9
+ version: string;
10
+ modifier: (namespace: IntrospectedNamespace, inferGenerics: boolean) => void;
11
+ };
12
+ export declare const st13: {
13
+ namespace: string;
14
+ version: string;
15
+ modifier: (namespace: IntrospectedNamespace, inferGenerics: boolean) => void;
16
+ };
@@ -0,0 +1,92 @@
1
+ import { GenericType, GenerifiedTypeIdentifier } from "../gir.js";
2
+ const stTemplate = (version) => ({
3
+ namespace: "St",
4
+ version,
5
+ modifier: (namespace, inferGenerics) => {
6
+ if (!inferGenerics) {
7
+ return;
8
+ }
9
+ const Bin = namespace.assertClass("Bin");
10
+ const Button = namespace.assertClass("Button");
11
+ const ScrollView = namespace.assertClass("ScrollView");
12
+ const ScrollBar = namespace.assertClass("ScrollBar");
13
+ const Widget = namespace.assertClass("Widget");
14
+ // TODO: Create a way to propagate this generic to child classes.
15
+ const Viewport = namespace.assertClass("Viewport");
16
+ const StBoxLayout = namespace.assertClass("BoxLayout");
17
+ const Clutter = namespace.assertInstalledImport("Clutter");
18
+ const Actor = Clutter.assertClass("Actor");
19
+ const Content = Clutter.assertClass("Content");
20
+ const Container = Clutter.assertClass("Container");
21
+ const LayoutManager = Clutter.assertClass("LayoutManager");
22
+ const ClutterBoxLayout = Clutter.assertClass("BoxLayout");
23
+ Widget.addGeneric({
24
+ deriveFrom: Actor.getType(),
25
+ default: LayoutManager.getType(),
26
+ constraint: LayoutManager.getType()
27
+ });
28
+ Widget.addGeneric({
29
+ deriveFrom: Actor.getType(),
30
+ default: Content.getType(),
31
+ constraint: Content.getType()
32
+ });
33
+ Viewport.addGeneric({
34
+ deriveFrom: Widget.getType(),
35
+ default: LayoutManager.getType(),
36
+ constraint: LayoutManager.getType()
37
+ });
38
+ Viewport.addGeneric({
39
+ deriveFrom: Widget.getType(),
40
+ default: Content.getType(),
41
+ constraint: Content.getType()
42
+ });
43
+ Container.addGeneric({
44
+ default: Actor.getType(),
45
+ constraint: Actor.getType()
46
+ });
47
+ StBoxLayout.addGeneric({
48
+ deriveFrom: Container.getType(),
49
+ default: Actor.getType(),
50
+ constraint: Actor.getType()
51
+ });
52
+ if (StBoxLayout.superType) {
53
+ StBoxLayout.superType = new GenerifiedTypeIdentifier(StBoxLayout.superType.name, StBoxLayout.superType.namespace, [ClutterBoxLayout.getType()]);
54
+ }
55
+ Bin.addGeneric({
56
+ default: Actor.getType(),
57
+ constraint: Actor.getType()
58
+ });
59
+ Button.addGeneric({
60
+ deriveFrom: Bin.getType(),
61
+ default: Actor.getType(),
62
+ constraint: Actor.getType()
63
+ });
64
+ const get_hscroll_bar = ScrollView.members.find(member => member.name === "get_hscroll_bar");
65
+ const get_vscroll_bar = ScrollView.members.find(member => member.name === "get_vscroll_bar");
66
+ if (get_hscroll_bar) {
67
+ const fixed_get_h = get_hscroll_bar?.copy({ returnType: ScrollBar.getType() });
68
+ const index = ScrollView.members.indexOf(get_hscroll_bar);
69
+ ScrollView.members.splice(index, 1, fixed_get_h);
70
+ }
71
+ if (get_vscroll_bar) {
72
+ const fixed_get_v = get_vscroll_bar?.copy({ returnType: ScrollBar.getType() });
73
+ const index = ScrollView.members.indexOf(get_vscroll_bar);
74
+ ScrollView.members.splice(index, 1, fixed_get_v);
75
+ }
76
+ ScrollView.addGeneric({
77
+ deriveFrom: Bin.getType(),
78
+ default: Actor.getType(),
79
+ constraint: Actor.getType()
80
+ });
81
+ Bin.props
82
+ .filter(p => p.name === "child")
83
+ .forEach(prop => {
84
+ // TODO Automatically infer such changes.
85
+ prop.type = new GenericType("A", Actor.getType());
86
+ });
87
+ }
88
+ });
89
+ export const st1 = stTemplate("1.0");
90
+ export const st12 = stTemplate("12");
91
+ export const st13 = stTemplate("13");
92
+ //# sourceMappingURL=st.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"st.js","sourceRoot":"","sources":["../../src/generics/st.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { IntrospectedEnum } from "../gir.js";
2
+ import { IntrospectedClass, IntrospectedBaseClass, IntrospectedInterface } from "../gir/class.js";
3
+ import { IntrospectedCallback, IntrospectedFunctionParameter, IntrospectedFunction, IntrospectedClassFunction, IntrospectedStaticClassFunction, IntrospectedVirtualClassFunction } from "../gir/function.js";
4
+ import { NSRegistry } from "../gir/registry.js";
5
+ import { GirVisitor } from "../visitor.js";
6
+ export declare class GenericVisitor extends GirVisitor {
7
+ registry: NSRegistry;
8
+ inferGenerics: boolean;
9
+ constructor(registry: NSRegistry, inferGenerics: boolean);
10
+ visitCallback: (node: IntrospectedCallback) => IntrospectedCallback;
11
+ visitClass: (node: IntrospectedClass) => IntrospectedClass;
12
+ visitInterface: (node: IntrospectedInterface) => IntrospectedInterface;
13
+ visitBaseClass: <T extends IntrospectedBaseClass>(_node: T) => T;
14
+ visitParameter: (node: IntrospectedFunctionParameter) => IntrospectedFunctionParameter;
15
+ visitFunction: (node: IntrospectedFunction) => IntrospectedFunction;
16
+ private generifyStandaloneClassFunction;
17
+ visitStaticClassFunction: (node: IntrospectedStaticClassFunction) => IntrospectedStaticClassFunction;
18
+ visitClassFunction: <T extends IntrospectedBaseClass | IntrospectedEnum>(node: IntrospectedClassFunction<T>) => IntrospectedClassFunction<T>;
19
+ visitVirtualClassFunction: (node: IntrospectedVirtualClassFunction) => IntrospectedClassFunction<IntrospectedBaseClass>;
20
+ }