@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.
- package/lib/dependency-manager.d.ts +90 -11
- package/lib/dependency-manager.js +209 -35
- package/lib/dependency-manager.js.map +1 -1
- package/lib/generators/dts-inline.d.ts +2 -2
- package/lib/generators/dts-inline.js +7 -7
- package/lib/generators/dts-inline.js.map +1 -1
- package/lib/generators/dts-modules.d.ts +2 -2
- package/lib/generators/dts-modules.js +9 -9
- package/lib/generators/dts-modules.js.map +1 -1
- package/lib/generators/dts.d.ts +2 -2
- package/lib/generators/dts.js +8 -8
- package/lib/generators/dts.js.map +1 -1
- package/lib/generators/generator.d.ts +3 -3
- package/lib/generators/generator.js.map +1 -1
- package/lib/generators/json.d.ts +2 -2
- package/lib/generators/json.js +14 -14
- package/lib/generators/json.js.map +1 -1
- package/lib/generics/visitor.js +5 -9
- package/lib/generics/visitor.js.map +1 -1
- package/lib/gir/alias.d.ts +2 -2
- package/lib/gir/alias.js +3 -3
- package/lib/gir/alias.js.map +1 -1
- package/lib/gir/base.d.ts +3 -3
- package/lib/gir/base.js.map +1 -1
- package/lib/gir/class.d.ts +5 -5
- package/lib/gir/class.js +32 -33
- package/lib/gir/class.js.map +1 -1
- package/lib/gir/const.d.ts +2 -2
- package/lib/gir/const.js +1 -1
- package/lib/gir/const.js.map +1 -1
- package/lib/gir/enum.d.ts +5 -5
- package/lib/gir/enum.js +7 -7
- package/lib/gir/enum.js.map +1 -1
- package/lib/gir/function.d.ts +9 -9
- package/lib/gir/function.js +4 -4
- package/lib/gir/function.js.map +1 -1
- package/lib/gir/nodes.d.ts +1 -1
- package/lib/gir/nodes.js +1 -1
- package/lib/gir/nodes.js.map +1 -1
- package/lib/gir/property.d.ts +2 -2
- package/lib/gir/property.js.map +1 -1
- package/lib/gir/registry.d.ts +6 -6
- package/lib/gir/registry.js +3 -3
- package/lib/gir/registry.js.map +1 -1
- package/lib/gir/signal.d.ts +2 -2
- package/lib/gir/signal.js.map +1 -1
- package/lib/gir/util.d.ts +3 -3
- package/lib/gir/util.js +17 -14
- package/lib/gir/util.js.map +1 -1
- package/lib/gir-module.d.ts +21 -27
- package/lib/gir-module.js +140 -144
- package/lib/gir-module.js.map +1 -1
- package/lib/gir.d.ts +42 -40
- package/lib/gir.js +26 -22
- package/lib/gir.js.map +1 -1
- package/lib/index.d.ts +0 -1
- package/lib/index.js +0 -1
- package/lib/index.js.map +1 -1
- package/lib/library-version.d.ts +2 -0
- package/lib/library-version.js +13 -0
- package/lib/library-version.js.map +1 -1
- package/lib/logger.d.ts +18 -16
- package/lib/logger.js +28 -26
- package/lib/logger.js.map +1 -1
- package/lib/registry.d.ts +0 -1
- package/lib/registry.js +0 -1
- package/lib/registry.js.map +1 -1
- package/lib/transformation.d.ts +5 -3
- package/lib/transformation.js +7 -0
- package/lib/transformation.js.map +1 -1
- package/lib/types/dependency.d.ts +13 -1
- package/lib/types/format.d.ts +1 -0
- package/lib/types/format.js +2 -0
- package/lib/types/format.js.map +1 -0
- package/lib/types/gir-module-resolved-by.d.ts +5 -0
- package/lib/types/index.d.ts +7 -2
- package/lib/types/index.js +7 -2
- package/lib/types/index.js.map +1 -1
- package/lib/types/metadata.d.ts +8 -0
- package/lib/types/metadata.js +2 -0
- package/lib/types/metadata.js.map +1 -0
- package/lib/types/options-base.d.ts +4 -0
- package/lib/types/options-base.js +2 -0
- package/lib/types/options-base.js.map +1 -0
- package/lib/types/{generate-config.d.ts → options-generation.d.ts} +2 -3
- package/lib/types/options-generation.js +2 -0
- package/lib/types/options-generation.js.map +1 -0
- package/lib/types/options-load.d.ts +5 -0
- package/lib/types/options-load.js +2 -0
- package/lib/types/options-load.js.map +1 -0
- package/lib/types/options-transform.d.ts +4 -0
- package/lib/types/options-transform.js +2 -0
- package/lib/types/options-transform.js.map +1 -0
- package/lib/types/output-format.d.ts +1 -0
- package/lib/types/output-format.js +2 -0
- package/lib/types/output-format.js.map +1 -0
- package/lib/types/property-case.d.ts +1 -0
- package/lib/types/property-case.js +2 -0
- package/lib/types/property-case.js.map +1 -0
- package/lib/types/template-data.d.ts +2 -2
- package/lib/utils.d.ts +8 -1
- package/lib/utils.js +58 -13
- package/lib/utils.js.map +1 -1
- package/lib/validators/interface.js +1 -1
- package/lib/validators/interface.js.map +1 -1
- package/package.json +8 -7
- package/lib/conflict-resolver.d.ts +0 -119
- package/lib/conflict-resolver.js +0 -893
- package/lib/conflict-resolver.js.map +0 -1
- package/lib/generators/dts/gio.d.ts +0 -2
- package/lib/generators/dts/gio.js +0 -9
- package/lib/generators/dts/gio.js.map +0 -1
- package/lib/gir-factory.d.ts +0 -52
- package/lib/gir-factory.js +0 -340
- package/lib/gir-factory.js.map +0 -1
- package/lib/injection/callbacks/gjs/Gio-2.0.d.ts +0 -2
- package/lib/injection/callbacks/gjs/Gio-2.0.js +0 -36
- package/lib/injection/callbacks/gjs/Gio-2.0.js.map +0 -1
- package/lib/injection/callbacks/gjs/index.d.ts +0 -2
- package/lib/injection/callbacks/gjs/index.js +0 -3
- package/lib/injection/callbacks/gjs/index.js.map +0 -1
- package/lib/injection/callbacks/index.d.ts +0 -3
- package/lib/injection/callbacks/index.js +0 -3
- package/lib/injection/callbacks/index.js.map +0 -1
- package/lib/injection/classes/gjs/gio-2.0.d.ts +0 -5
- package/lib/injection/classes/gjs/gio-2.0.js +0 -254
- package/lib/injection/classes/gjs/gio-2.0.js.map +0 -1
- package/lib/injection/classes/gjs/glib-2.0.d.ts +0 -2
- package/lib/injection/classes/gjs/glib-2.0.js +0 -225
- package/lib/injection/classes/gjs/glib-2.0.js.map +0 -1
- package/lib/injection/classes/gjs/gobject-2.0.d.ts +0 -2
- package/lib/injection/classes/gjs/gobject-2.0.js +0 -634
- package/lib/injection/classes/gjs/gobject-2.0.js.map +0 -1
- package/lib/injection/classes/gjs/index.d.ts +0 -2
- package/lib/injection/classes/gjs/index.js +0 -5
- package/lib/injection/classes/gjs/index.js.map +0 -1
- package/lib/injection/classes/glib-2.0.d.ts +0 -2
- package/lib/injection/classes/glib-2.0.js +0 -35
- package/lib/injection/classes/glib-2.0.js.map +0 -1
- package/lib/injection/classes/index.d.ts +0 -3
- package/lib/injection/classes/index.js +0 -4
- package/lib/injection/classes/index.js.map +0 -1
- package/lib/injection/index.d.ts +0 -3
- package/lib/injection/index.js +0 -4
- package/lib/injection/index.js.map +0 -1
- package/lib/injection/injector.d.ts +0 -16
- package/lib/injection/injector.js +0 -138
- package/lib/injection/injector.js.map +0 -1
- package/lib/symtable.d.ts +0 -24
- package/lib/symtable.js +0 -63
- package/lib/symtable.js.map +0 -1
- package/lib/types/conflict-child-element.d.ts +0 -10
- package/lib/types/conflict-child-element.js +0 -2
- package/lib/types/conflict-child-element.js.map +0 -1
- package/lib/types/conflict-grouped-element.d.ts +0 -6
- package/lib/types/conflict-grouped-element.js +0 -2
- package/lib/types/conflict-grouped-element.js.map +0 -1
- package/lib/types/conflict-grouped-elements.d.ts +0 -4
- package/lib/types/conflict-grouped-elements.js +0 -2
- package/lib/types/conflict-grouped-elements.js.map +0 -1
- package/lib/types/generate-config.js +0 -2
- package/lib/types/generate-config.js.map +0 -1
- package/lib/types/injection-callback.d.ts +0 -16
- package/lib/types/injection-callback.js +0 -2
- package/lib/types/injection-callback.js.map +0 -1
- package/lib/types/injection-class.d.ts +0 -25
- package/lib/types/injection-class.js +0 -2
- package/lib/types/injection-class.js.map +0 -1
- package/lib/types/injection-function.d.ts +0 -7
- package/lib/types/injection-function.js +0 -2
- package/lib/types/injection-function.js.map +0 -1
- package/lib/types/injection-generic-parameter.d.ts +0 -2
- package/lib/types/injection-generic-parameter.js +0 -2
- package/lib/types/injection-generic-parameter.js.map +0 -1
- package/lib/types/injection-instance-parameter.d.ts +0 -2
- package/lib/types/injection-instance-parameter.js +0 -2
- package/lib/types/injection-instance-parameter.js.map +0 -1
- package/lib/types/injection-parameter.d.ts +0 -8
- package/lib/types/injection-parameter.js +0 -2
- package/lib/types/injection-parameter.js.map +0 -1
- package/lib/types/injection-property.d.ts +0 -4
- package/lib/types/injection-property.js +0 -2
- package/lib/types/injection-property.js.map +0 -1
- package/lib/types/injection-type.d.ts +0 -2
- package/lib/types/injection-type.js +0 -2
- package/lib/types/injection-type.js.map +0 -1
- package/lib/types/injection.d.ts +0 -5
- package/lib/types/injection.js +0 -2
- package/lib/types/injection.js.map +0 -1
- package/lib/types/promisify-func.d.ts +0 -7
- package/lib/types/promisify-func.js +0 -2
- package/lib/types/promisify-func.js.map +0 -1
- package/lib/types/sym-table-items.d.ts +0 -4
- package/lib/types/sym-table-items.js +0 -2
- package/lib/types/sym-table-items.js.map +0 -1
- package/lib/types/ts-alias.d.ts +0 -10
- package/lib/types/ts-alias.js +0 -2
- package/lib/types/ts-alias.js.map +0 -1
- package/lib/types/ts-callback-interface.d.ts +0 -10
- package/lib/types/ts-callback-interface.js +0 -2
- package/lib/types/ts-callback-interface.js.map +0 -1
- package/lib/types/ts-callback.d.ts +0 -17
- package/lib/types/ts-callback.js +0 -2
- package/lib/types/ts-callback.js.map +0 -1
- package/lib/types/ts-class.d.ts +0 -85
- package/lib/types/ts-class.js +0 -2
- package/lib/types/ts-class.js.map +0 -1
- package/lib/types/ts-enum.d.ts +0 -12
- package/lib/types/ts-enum.js +0 -2
- package/lib/types/ts-enum.js.map +0 -1
- package/lib/types/ts-function.d.ts +0 -55
- package/lib/types/ts-function.js +0 -2
- package/lib/types/ts-function.js.map +0 -1
- package/lib/types/ts-generic-parameter.d.ts +0 -8
- package/lib/types/ts-generic-parameter.js +0 -2
- package/lib/types/ts-generic-parameter.js.map +0 -1
- package/lib/types/ts-instance-parameter.d.ts +0 -4
- package/lib/types/ts-instance-parameter.js +0 -2
- package/lib/types/ts-instance-parameter.js.map +0 -1
- package/lib/types/ts-member.d.ts +0 -10
- package/lib/types/ts-member.js +0 -2
- package/lib/types/ts-member.js.map +0 -1
- package/lib/types/ts-method.d.ts +0 -5
- package/lib/types/ts-method.js +0 -2
- package/lib/types/ts-method.js.map +0 -1
- package/lib/types/ts-parameter.d.ts +0 -15
- package/lib/types/ts-parameter.js +0 -2
- package/lib/types/ts-parameter.js.map +0 -1
- package/lib/types/ts-property.d.ts +0 -17
- package/lib/types/ts-property.js +0 -2
- package/lib/types/ts-property.js.map +0 -1
- package/lib/types/ts-signal.d.ts +0 -17
- package/lib/types/ts-signal.js +0 -2
- package/lib/types/ts-signal.js.map +0 -1
- package/lib/types/ts-type-name.d.ts +0 -1
- package/lib/types/ts-type-name.js +0 -2
- package/lib/types/ts-type-name.js.map +0 -1
- package/lib/types/ts-type-separator.d.ts +0 -1
- package/lib/types/ts-type-separator.js +0 -2
- package/lib/types/ts-type-separator.js.map +0 -1
- package/lib/types/ts-type.d.ts +0 -26
- package/lib/types/ts-type.js +0 -2
- package/lib/types/ts-type.js.map +0 -1
- package/lib/types/ts-var.d.ts +0 -17
- package/lib/types/ts-var.js +0 -2
- package/lib/types/ts-var.js.map +0 -1
- package/lib/types.d.ts +0 -23
- package/lib/types.js +0 -2
- 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
|
|
284
|
-
const
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
for (const
|
|
290
|
-
const
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
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
|
-
|
|
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":"AAAA,sDAAsD;AACtD,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAA;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;
|
|
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.
|
|
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,
|
|
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.
|
|
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.
|
|
54
|
+
"@types/eslint": "8.56.10",
|
|
55
55
|
"@types/lodash": "^4.17.0",
|
|
56
|
-
"@types/node": "^20.
|
|
57
|
-
"@typescript-eslint/eslint-plugin": "^7.
|
|
58
|
-
"@typescript-eslint/parser": "^7.
|
|
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.
|
|
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.
|
|
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
|
-
}
|