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

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 (249) hide show
  1. package/lib/dependency-manager.d.ts +90 -11
  2. package/lib/dependency-manager.js +209 -35
  3. package/lib/dependency-manager.js.map +1 -1
  4. package/lib/generators/dts-inline.d.ts +2 -2
  5. package/lib/generators/dts-inline.js +7 -7
  6. package/lib/generators/dts-inline.js.map +1 -1
  7. package/lib/generators/dts-modules.d.ts +2 -2
  8. package/lib/generators/dts-modules.js +9 -9
  9. package/lib/generators/dts-modules.js.map +1 -1
  10. package/lib/generators/dts.d.ts +2 -2
  11. package/lib/generators/dts.js +8 -8
  12. package/lib/generators/dts.js.map +1 -1
  13. package/lib/generators/generator.d.ts +3 -3
  14. package/lib/generators/generator.js.map +1 -1
  15. package/lib/generators/json.d.ts +2 -2
  16. package/lib/generators/json.js +14 -14
  17. package/lib/generators/json.js.map +1 -1
  18. package/lib/generics/visitor.js +5 -9
  19. package/lib/generics/visitor.js.map +1 -1
  20. package/lib/gir/alias.d.ts +2 -2
  21. package/lib/gir/alias.js +3 -3
  22. package/lib/gir/alias.js.map +1 -1
  23. package/lib/gir/base.d.ts +3 -3
  24. package/lib/gir/base.js.map +1 -1
  25. package/lib/gir/class.d.ts +5 -5
  26. package/lib/gir/class.js +32 -33
  27. package/lib/gir/class.js.map +1 -1
  28. package/lib/gir/const.d.ts +2 -2
  29. package/lib/gir/const.js +1 -1
  30. package/lib/gir/const.js.map +1 -1
  31. package/lib/gir/enum.d.ts +5 -5
  32. package/lib/gir/enum.js +7 -7
  33. package/lib/gir/enum.js.map +1 -1
  34. package/lib/gir/function.d.ts +9 -9
  35. package/lib/gir/function.js +4 -4
  36. package/lib/gir/function.js.map +1 -1
  37. package/lib/gir/nodes.d.ts +1 -1
  38. package/lib/gir/nodes.js +1 -1
  39. package/lib/gir/nodes.js.map +1 -1
  40. package/lib/gir/property.d.ts +2 -2
  41. package/lib/gir/property.js.map +1 -1
  42. package/lib/gir/registry.d.ts +6 -6
  43. package/lib/gir/registry.js +3 -3
  44. package/lib/gir/registry.js.map +1 -1
  45. package/lib/gir/signal.d.ts +2 -2
  46. package/lib/gir/signal.js.map +1 -1
  47. package/lib/gir/util.d.ts +3 -3
  48. package/lib/gir/util.js +17 -14
  49. package/lib/gir/util.js.map +1 -1
  50. package/lib/gir-module.d.ts +21 -27
  51. package/lib/gir-module.js +140 -144
  52. package/lib/gir-module.js.map +1 -1
  53. package/lib/gir.d.ts +42 -40
  54. package/lib/gir.js +26 -22
  55. package/lib/gir.js.map +1 -1
  56. package/lib/index.d.ts +0 -1
  57. package/lib/index.js +0 -1
  58. package/lib/index.js.map +1 -1
  59. package/lib/library-version.d.ts +2 -0
  60. package/lib/library-version.js +13 -0
  61. package/lib/library-version.js.map +1 -1
  62. package/lib/logger.d.ts +18 -16
  63. package/lib/logger.js +28 -26
  64. package/lib/logger.js.map +1 -1
  65. package/lib/registry.d.ts +0 -1
  66. package/lib/registry.js +0 -1
  67. package/lib/registry.js.map +1 -1
  68. package/lib/transformation.d.ts +5 -3
  69. package/lib/transformation.js +7 -0
  70. package/lib/transformation.js.map +1 -1
  71. package/lib/types/dependency.d.ts +13 -1
  72. package/lib/types/format.d.ts +1 -0
  73. package/lib/types/format.js +2 -0
  74. package/lib/types/format.js.map +1 -0
  75. package/lib/types/gir-module-resolved-by.d.ts +5 -0
  76. package/lib/types/index.d.ts +7 -2
  77. package/lib/types/index.js +7 -2
  78. package/lib/types/index.js.map +1 -1
  79. package/lib/types/metadata.d.ts +8 -0
  80. package/lib/types/metadata.js +2 -0
  81. package/lib/types/metadata.js.map +1 -0
  82. package/lib/types/options-base.d.ts +4 -0
  83. package/lib/types/options-base.js +2 -0
  84. package/lib/types/options-base.js.map +1 -0
  85. package/lib/types/{generate-config.d.ts → options-generation.d.ts} +2 -3
  86. package/lib/types/options-generation.js +2 -0
  87. package/lib/types/options-generation.js.map +1 -0
  88. package/lib/types/options-load.d.ts +5 -0
  89. package/lib/types/options-load.js +2 -0
  90. package/lib/types/options-load.js.map +1 -0
  91. package/lib/types/options-transform.d.ts +4 -0
  92. package/lib/types/options-transform.js +2 -0
  93. package/lib/types/options-transform.js.map +1 -0
  94. package/lib/types/output-format.d.ts +1 -0
  95. package/lib/types/output-format.js +2 -0
  96. package/lib/types/output-format.js.map +1 -0
  97. package/lib/types/property-case.d.ts +1 -0
  98. package/lib/types/property-case.js +2 -0
  99. package/lib/types/property-case.js.map +1 -0
  100. package/lib/types/template-data.d.ts +2 -2
  101. package/lib/utils.d.ts +8 -1
  102. package/lib/utils.js +58 -13
  103. package/lib/utils.js.map +1 -1
  104. package/lib/validators/interface.js +1 -1
  105. package/lib/validators/interface.js.map +1 -1
  106. package/package.json +8 -7
  107. package/lib/conflict-resolver.d.ts +0 -119
  108. package/lib/conflict-resolver.js +0 -893
  109. package/lib/conflict-resolver.js.map +0 -1
  110. package/lib/generators/dts/gio.d.ts +0 -2
  111. package/lib/generators/dts/gio.js +0 -9
  112. package/lib/generators/dts/gio.js.map +0 -1
  113. package/lib/gir-factory.d.ts +0 -52
  114. package/lib/gir-factory.js +0 -340
  115. package/lib/gir-factory.js.map +0 -1
  116. package/lib/injection/callbacks/gjs/Gio-2.0.d.ts +0 -2
  117. package/lib/injection/callbacks/gjs/Gio-2.0.js +0 -36
  118. package/lib/injection/callbacks/gjs/Gio-2.0.js.map +0 -1
  119. package/lib/injection/callbacks/gjs/index.d.ts +0 -2
  120. package/lib/injection/callbacks/gjs/index.js +0 -3
  121. package/lib/injection/callbacks/gjs/index.js.map +0 -1
  122. package/lib/injection/callbacks/index.d.ts +0 -3
  123. package/lib/injection/callbacks/index.js +0 -3
  124. package/lib/injection/callbacks/index.js.map +0 -1
  125. package/lib/injection/classes/gjs/gio-2.0.d.ts +0 -5
  126. package/lib/injection/classes/gjs/gio-2.0.js +0 -254
  127. package/lib/injection/classes/gjs/gio-2.0.js.map +0 -1
  128. package/lib/injection/classes/gjs/glib-2.0.d.ts +0 -2
  129. package/lib/injection/classes/gjs/glib-2.0.js +0 -225
  130. package/lib/injection/classes/gjs/glib-2.0.js.map +0 -1
  131. package/lib/injection/classes/gjs/gobject-2.0.d.ts +0 -2
  132. package/lib/injection/classes/gjs/gobject-2.0.js +0 -634
  133. package/lib/injection/classes/gjs/gobject-2.0.js.map +0 -1
  134. package/lib/injection/classes/gjs/index.d.ts +0 -2
  135. package/lib/injection/classes/gjs/index.js +0 -5
  136. package/lib/injection/classes/gjs/index.js.map +0 -1
  137. package/lib/injection/classes/glib-2.0.d.ts +0 -2
  138. package/lib/injection/classes/glib-2.0.js +0 -35
  139. package/lib/injection/classes/glib-2.0.js.map +0 -1
  140. package/lib/injection/classes/index.d.ts +0 -3
  141. package/lib/injection/classes/index.js +0 -4
  142. package/lib/injection/classes/index.js.map +0 -1
  143. package/lib/injection/index.d.ts +0 -3
  144. package/lib/injection/index.js +0 -4
  145. package/lib/injection/index.js.map +0 -1
  146. package/lib/injection/injector.d.ts +0 -16
  147. package/lib/injection/injector.js +0 -138
  148. package/lib/injection/injector.js.map +0 -1
  149. package/lib/symtable.d.ts +0 -24
  150. package/lib/symtable.js +0 -63
  151. package/lib/symtable.js.map +0 -1
  152. package/lib/types/conflict-child-element.d.ts +0 -10
  153. package/lib/types/conflict-child-element.js +0 -2
  154. package/lib/types/conflict-child-element.js.map +0 -1
  155. package/lib/types/conflict-grouped-element.d.ts +0 -6
  156. package/lib/types/conflict-grouped-element.js +0 -2
  157. package/lib/types/conflict-grouped-element.js.map +0 -1
  158. package/lib/types/conflict-grouped-elements.d.ts +0 -4
  159. package/lib/types/conflict-grouped-elements.js +0 -2
  160. package/lib/types/conflict-grouped-elements.js.map +0 -1
  161. package/lib/types/generate-config.js +0 -2
  162. package/lib/types/generate-config.js.map +0 -1
  163. package/lib/types/injection-callback.d.ts +0 -16
  164. package/lib/types/injection-callback.js +0 -2
  165. package/lib/types/injection-callback.js.map +0 -1
  166. package/lib/types/injection-class.d.ts +0 -25
  167. package/lib/types/injection-class.js +0 -2
  168. package/lib/types/injection-class.js.map +0 -1
  169. package/lib/types/injection-function.d.ts +0 -7
  170. package/lib/types/injection-function.js +0 -2
  171. package/lib/types/injection-function.js.map +0 -1
  172. package/lib/types/injection-generic-parameter.d.ts +0 -2
  173. package/lib/types/injection-generic-parameter.js +0 -2
  174. package/lib/types/injection-generic-parameter.js.map +0 -1
  175. package/lib/types/injection-instance-parameter.d.ts +0 -2
  176. package/lib/types/injection-instance-parameter.js +0 -2
  177. package/lib/types/injection-instance-parameter.js.map +0 -1
  178. package/lib/types/injection-parameter.d.ts +0 -8
  179. package/lib/types/injection-parameter.js +0 -2
  180. package/lib/types/injection-parameter.js.map +0 -1
  181. package/lib/types/injection-property.d.ts +0 -4
  182. package/lib/types/injection-property.js +0 -2
  183. package/lib/types/injection-property.js.map +0 -1
  184. package/lib/types/injection-type.d.ts +0 -2
  185. package/lib/types/injection-type.js +0 -2
  186. package/lib/types/injection-type.js.map +0 -1
  187. package/lib/types/injection.d.ts +0 -5
  188. package/lib/types/injection.js +0 -2
  189. package/lib/types/injection.js.map +0 -1
  190. package/lib/types/promisify-func.d.ts +0 -7
  191. package/lib/types/promisify-func.js +0 -2
  192. package/lib/types/promisify-func.js.map +0 -1
  193. package/lib/types/sym-table-items.d.ts +0 -4
  194. package/lib/types/sym-table-items.js +0 -2
  195. package/lib/types/sym-table-items.js.map +0 -1
  196. package/lib/types/ts-alias.d.ts +0 -10
  197. package/lib/types/ts-alias.js +0 -2
  198. package/lib/types/ts-alias.js.map +0 -1
  199. package/lib/types/ts-callback-interface.d.ts +0 -10
  200. package/lib/types/ts-callback-interface.js +0 -2
  201. package/lib/types/ts-callback-interface.js.map +0 -1
  202. package/lib/types/ts-callback.d.ts +0 -17
  203. package/lib/types/ts-callback.js +0 -2
  204. package/lib/types/ts-callback.js.map +0 -1
  205. package/lib/types/ts-class.d.ts +0 -85
  206. package/lib/types/ts-class.js +0 -2
  207. package/lib/types/ts-class.js.map +0 -1
  208. package/lib/types/ts-enum.d.ts +0 -12
  209. package/lib/types/ts-enum.js +0 -2
  210. package/lib/types/ts-enum.js.map +0 -1
  211. package/lib/types/ts-function.d.ts +0 -55
  212. package/lib/types/ts-function.js +0 -2
  213. package/lib/types/ts-function.js.map +0 -1
  214. package/lib/types/ts-generic-parameter.d.ts +0 -8
  215. package/lib/types/ts-generic-parameter.js +0 -2
  216. package/lib/types/ts-generic-parameter.js.map +0 -1
  217. package/lib/types/ts-instance-parameter.d.ts +0 -4
  218. package/lib/types/ts-instance-parameter.js +0 -2
  219. package/lib/types/ts-instance-parameter.js.map +0 -1
  220. package/lib/types/ts-member.d.ts +0 -10
  221. package/lib/types/ts-member.js +0 -2
  222. package/lib/types/ts-member.js.map +0 -1
  223. package/lib/types/ts-method.d.ts +0 -5
  224. package/lib/types/ts-method.js +0 -2
  225. package/lib/types/ts-method.js.map +0 -1
  226. package/lib/types/ts-parameter.d.ts +0 -15
  227. package/lib/types/ts-parameter.js +0 -2
  228. package/lib/types/ts-parameter.js.map +0 -1
  229. package/lib/types/ts-property.d.ts +0 -17
  230. package/lib/types/ts-property.js +0 -2
  231. package/lib/types/ts-property.js.map +0 -1
  232. package/lib/types/ts-signal.d.ts +0 -17
  233. package/lib/types/ts-signal.js +0 -2
  234. package/lib/types/ts-signal.js.map +0 -1
  235. package/lib/types/ts-type-name.d.ts +0 -1
  236. package/lib/types/ts-type-name.js +0 -2
  237. package/lib/types/ts-type-name.js.map +0 -1
  238. package/lib/types/ts-type-separator.d.ts +0 -1
  239. package/lib/types/ts-type-separator.js +0 -2
  240. package/lib/types/ts-type-separator.js.map +0 -1
  241. package/lib/types/ts-type.d.ts +0 -26
  242. package/lib/types/ts-type.js +0 -2
  243. package/lib/types/ts-type.js.map +0 -1
  244. package/lib/types/ts-var.d.ts +0 -17
  245. package/lib/types/ts-var.js +0 -2
  246. package/lib/types/ts-var.js.map +0 -1
  247. package/lib/types.d.ts +0 -23
  248. package/lib/types.js +0 -2
  249. package/lib/types.js.map +0 -1
package/lib/utils.js CHANGED
@@ -3,6 +3,7 @@ import lodash from 'lodash';
3
3
  import { join, dirname } from 'path';
4
4
  import { existsSync } from 'fs';
5
5
  import { readFile } from 'fs/promises';
6
+ import { glob, globSync } from 'glob';
6
7
  import { fileURLToPath } from 'url';
7
8
  import { inspect } from 'util';
8
9
  import { Logger } from './logger.js';
@@ -280,21 +281,65 @@ export const underscores = (str) => {
280
281
  * @param filename The filename to search for
281
282
  * @returns The file info
282
283
  */
283
- export const findFileInDirs = (dirs, filename) => {
284
- const FileInfo = {
285
- path: null,
286
- filename,
287
- exists: false,
288
- };
289
- for (const dir of dirs) {
290
- const filePath = join(dir, filename);
291
- FileInfo.exists = existsSync(filePath);
292
- if (FileInfo.exists) {
293
- FileInfo.path = filePath;
294
- return FileInfo;
284
+ export const findFilesInDirs = async (dirs, filename) => {
285
+ const filesInfo = [];
286
+ const pattern = dirs.map((dir) => join(dir, filename));
287
+ const _files = await glob(pattern);
288
+ // Remove duplicates
289
+ const files = [...new Set(_files)];
290
+ for (const filePath of files) {
291
+ const fileInfo = {
292
+ path: null,
293
+ filename,
294
+ exists: false,
295
+ };
296
+ fileInfo.exists = existsSync(filePath);
297
+ if (fileInfo.exists) {
298
+ fileInfo.path = filePath;
299
+ filesInfo.push(fileInfo);
295
300
  }
296
301
  }
297
- return FileInfo;
302
+ if (filesInfo.length === 0) {
303
+ filesInfo.push({
304
+ path: null,
305
+ filename,
306
+ exists: false,
307
+ });
308
+ }
309
+ return filesInfo;
310
+ };
311
+ /**
312
+ * Find a file in a list of directories (sync)
313
+ * @param dirs The directories to search in
314
+ * @param filename The filename to search for
315
+ * @returns The file info
316
+ */
317
+ export const findFilesInDirsSync = (dirs, filename) => {
318
+ const filesInfo = [];
319
+ const pattern = dirs.map((dir) => join(dir, filename));
320
+ const _files = globSync(pattern);
321
+ // Remove duplicates
322
+ const files = [...new Set(_files)];
323
+ for (const filePath of files) {
324
+ const fileInfo = {
325
+ path: null,
326
+ filename,
327
+ exists: false,
328
+ };
329
+ fileInfo.exists = existsSync(filePath);
330
+ if (fileInfo.exists) {
331
+ fileInfo.path = filePath;
332
+ filesInfo.push(fileInfo);
333
+ }
334
+ }
335
+ if (filesInfo.length === 0) {
336
+ filesInfo.push({
337
+ path: null,
338
+ filename,
339
+ exists: false,
340
+ });
341
+ }
342
+ return filesInfo;
298
343
  };
299
344
  /**
300
345
  * Read a JSON file
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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"}
@@ -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.3",
4
4
  "description": "Typescript .d.ts generator from GIR for gjs",
5
5
  "module": "lib/index.js",
6
6
  "main": "lib/index.js",
@@ -51,22 +51,23 @@
51
51
  ],
52
52
  "devDependencies": {
53
53
  "@types/ejs": "^3.1.5",
54
- "@types/eslint": "8.56.5",
54
+ "@types/eslint": "8.56.10",
55
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",
56
+ "@types/node": "^20.12.7",
57
+ "@typescript-eslint/eslint-plugin": "^7.7.0",
58
+ "@typescript-eslint/parser": "^7.7.0",
59
59
  "eslint": "^8.57.0",
60
60
  "eslint-config-prettier": "^9.1.0",
61
61
  "eslint-plugin-prettier": "^5.1.3",
62
62
  "prettier": "^3.2.5",
63
63
  "rimraf": "^5.0.5",
64
- "typescript": "^5.4.2"
64
+ "typescript": "^5.4.5"
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": "^10.3.12",
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
- }