@ts-for-gir/generator-typescript 4.0.0-beta.23 → 4.0.0-beta.25

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.
@@ -82,6 +82,7 @@ export declare class ModuleGenerator extends FormatGenerator<string[]> {
82
82
  generateAlias(girAlias: IntrospectedAlias, indentCount?: number): string[];
83
83
  generateConstructPropsInterface(girClass: IntrospectedClass | IntrospectedRecord | IntrospectedInterface, indentCount?: number): string[];
84
84
  generateClassStaticFields(girClass: IntrospectedClass | IntrospectedRecord | IntrospectedInterface, indentCount?: number): string[];
85
+ generateClassSignalsProperty(girClass: IntrospectedClass | IntrospectedRecord, indentCount?: number): string[];
85
86
  generateClassMemberFields(girClass: IntrospectedClass | IntrospectedRecord | IntrospectedInterface, indentCount?: number): string[];
86
87
  generateClassFields(girClass: IntrospectedClass | IntrospectedRecord, indentCount?: number): string[];
87
88
  generateClassProperties(girClass: IntrospectedClass | IntrospectedRecord | IntrospectedInterface, indentCount?: number): string[];
@@ -94,6 +95,14 @@ export declare class ModuleGenerator extends FormatGenerator<string[]> {
94
95
  */
95
96
  generateClassVirtualMethods(girClass: IntrospectedClass | IntrospectedRecord | IntrospectedInterface, indentCount?: number): string[];
96
97
  generateClassSignalInterfaces(girClass: IntrospectedClass, indentCount?: number): string[];
98
+ /**
99
+ * Generate SignalSignatures interface for type-safe signal handling
100
+ *
101
+ * This creates a comprehensive mapping of signal names to their callback types,
102
+ * enabling TypeScript to provide proper type checking and IntelliSense for
103
+ * GObject signals using the centralized getAllSignals() method from the model.
104
+ */
105
+ generateSignalSignatures(girClass: IntrospectedClass, indentCount?: number): string[];
97
106
  generateSignals(girClass: IntrospectedClass): string[];
98
107
  generateClassSignals(girClass: IntrospectedClass): string[];
99
108
  generateClassNamespaces(girClass: IntrospectedClass | IntrospectedRecord | IntrospectedInterface, indentCount?: number): string[];
@@ -1,4 +1,4 @@
1
- import { Logger, generateIndent, removeNamespace, removeClassModule, DependencyManager, IntrospectedClass, IntrospectedRecord, IntrospectedField, GirDirection, upperCamelCase, filterFunctionConflict, resolveDirectedType, TypeConflict, ConflictType, BinaryType, AnyType, StringType, AnyFunctionType, NumberType, ArrayType, FilterBehavior, VoidType, ClassStructTypeIdentifier, promisifyNamespaceFunctions, IntrospectedCallback, IntrospectedProperty, IntrospectedConstant, IntrospectedClassCallback, IntrospectedClassFunction, IntrospectedConstructor, IntrospectedDirectAllocationConstructor, IntrospectedFunctionParameter, IntrospectedStaticClassFunction, IntrospectedVirtualClassFunction, IntrospectedAlias, IntrospectedSignalType, FormatGenerator, NativeType, isInvalid, filterConflicts, printGirDocComment, promisifyFunctions, } from '@ts-for-gir/lib';
1
+ import { Logger, generateIndent, removeNamespace, removeClassModule, DependencyManager, IntrospectedClass, IntrospectedRecord, IntrospectedInterface, IntrospectedField, GirDirection, filterFunctionConflict, resolveDirectedType, TypeConflict, ConflictType, BinaryType, AnyType, NumberType, FilterBehavior, VoidType, BooleanType, ClassStructTypeIdentifier, promisifyNamespaceFunctions, IntrospectedCallback, IntrospectedProperty, IntrospectedConstant, IntrospectedClassCallback, IntrospectedClassFunction, IntrospectedConstructor, IntrospectedDirectAllocationConstructor, IntrospectedFunctionParameter, IntrospectedStaticClassFunction, IntrospectedVirtualClassFunction, IntrospectedAlias, IntrospectedSignalType, FormatGenerator, NativeType, isInvalid, filterConflicts, printGirDocComment, promisifyFunctions, transformGirDocText, } from '@ts-for-gir/lib';
2
2
  import { TemplateProcessor } from './template-processor.js';
3
3
  import { PackageDataParser } from './package-data-parser.js';
4
4
  import { NpmPackage } from './npm-package.js';
@@ -109,9 +109,10 @@ export class ModuleGenerator extends FormatGenerator {
109
109
  .map((f) => f.copy({
110
110
  isStatic: false,
111
111
  }));
112
+ const gtypeNamespace = namespace.namespace === 'GObject' ? '' : 'GObject.';
112
113
  return [
113
114
  `export interface ${node.name}Namespace {
114
- ${isGObject ? `$gtype: ${namespace.namespace !== 'GObject' ? 'GObject.' : ''}GType<${node.name}>;` : ''}
115
+ ${isGObject ? `$gtype: ${gtypeNamespace}GType<${node.name}>;` : ''}
115
116
  prototype: ${node.name};
116
117
  ${staticFields.length > 0 ? staticFields.flatMap((sf) => sf.asString(this)).join('\n') : ''}
117
118
  ${staticFunctions.length > 0
@@ -351,7 +352,7 @@ export class ModuleGenerator extends FormatGenerator {
351
352
  if (this.config.noComments) {
352
353
  return desc;
353
354
  }
354
- const text = tsDoc ? this.namespace.transformation.transformGirDocText(tsDoc) : null;
355
+ const text = tsDoc ? transformGirDocText(tsDoc) : null;
355
356
  if (text) {
356
357
  desc.push(`${indent}/**`);
357
358
  if (text) {
@@ -572,7 +573,8 @@ export class ModuleGenerator extends FormatGenerator {
572
573
  desc.push(``);
573
574
  desc.push(...this.addGirDocComment(girEnum.doc, [], indentCount));
574
575
  desc.push(`export namespace ${name} {`);
575
- desc.push(` export const $gtype: ${namespace.namespace !== 'GObject' ? 'GObject.' : ''}GType<${name}>;`);
576
+ const gtypeNamespace = namespace.namespace === 'GObject' ? '' : 'GObject.';
577
+ desc.push(` export const $gtype: ${gtypeNamespace}GType<${name}>;`);
576
578
  desc.push(`}`);
577
579
  desc.push(``);
578
580
  desc.push(this.generateExport('enum', name, '{', indentCount));
@@ -682,6 +684,17 @@ export class ModuleGenerator extends FormatGenerator {
682
684
  def.push(...this.generateFields(filterConflicts(girClass.namespace, girClass, girClass.fields.filter((field) => field.isStatic)), `Static fields`, indentCount));
683
685
  return def;
684
686
  }
687
+ generateClassSignalsProperty(girClass, indentCount = 1) {
688
+ const def = [];
689
+ // Add instance $signals property for type-safe signal access (compile-time only)
690
+ const isGObjectObject = girClass.name === 'Object' && girClass.namespace.namespace === 'GObject';
691
+ const hasGObjectParent = isGObjectObject ||
692
+ girClass.someParent((p) => p.namespace.namespace === 'GObject' && p.name === 'Object');
693
+ if (hasGObjectParent) {
694
+ def.push('', `${generateIndent(indentCount)}/**`, `${generateIndent(indentCount)} * Compile-time signal type information.`, `${generateIndent(indentCount)} *`, `${generateIndent(indentCount)} * This instance property is generated only for TypeScript type checking.`, `${generateIndent(indentCount)} * It is not defined at runtime and should not be accessed in JS code.`, `${generateIndent(indentCount)} * @internal`, `${generateIndent(indentCount)} */`, `${generateIndent(indentCount)}$signals: ${girClass.name}.SignalSignatures;`, '');
695
+ }
696
+ return def;
697
+ }
685
698
  generateClassMemberFields(girClass, indentCount = 1) {
686
699
  const def = [];
687
700
  def.push(...this.generateFields(filterConflicts(girClass.namespace, girClass, girClass.fields.filter((field) => !field.isStatic)), `Fields`, indentCount));
@@ -743,108 +756,173 @@ export class ModuleGenerator extends FormatGenerator {
743
756
  generateClassSignalInterfaces(girClass, indentCount = 0) {
744
757
  const def = [];
745
758
  const tsSignals = girClass.signals;
746
- def.push(...this.generateCallbackInterfaces(tsSignals.map((signal) => {
747
- return new IntrospectedClassCallback({
748
- name: upperCamelCase(signal.name),
749
- parameters: signal.parameters,
750
- return_type: signal.return_type,
751
- parent: signal.parent,
752
- });
753
- }), indentCount, girClass.name, 'Signal callback interfaces'));
759
+ // No separate callback interfaces generated. All callback types are inlined directly in SignalSignatures.
760
+ // Always generate SignalSignatures interface for proper inheritance
761
+ def.push(...this.generateSignalSignatures(girClass, indentCount));
754
762
  return def;
755
763
  }
756
- generateSignals(girClass) {
757
- const namespace = girClass.namespace;
758
- // TODO Move these to a cleaner place.
759
- const Connect = new IntrospectedClassFunction({
760
- name: 'connect',
761
- parent: girClass,
762
- parameters: [
763
- new IntrospectedFunctionParameter({
764
- name: 'id',
765
- type: StringType,
766
- direction: GirDirection.In,
767
- }),
768
- new IntrospectedFunctionParameter({
769
- name: 'callback',
770
- type: AnyFunctionType,
771
- direction: GirDirection.In,
772
- }),
773
- ],
774
- return_type: NumberType,
775
- });
776
- const ConnectAfter = new IntrospectedClassFunction({
777
- name: 'connect_after',
778
- parent: girClass,
779
- parameters: [
780
- new IntrospectedFunctionParameter({
781
- name: 'id',
782
- type: StringType,
783
- direction: GirDirection.In,
784
- }),
785
- new IntrospectedFunctionParameter({
786
- name: 'callback',
787
- type: AnyFunctionType,
788
- direction: GirDirection.In,
789
- }),
790
- ],
791
- return_type: NumberType,
792
- });
793
- const Emit = new IntrospectedClassFunction({
794
- name: 'emit',
795
- parent: girClass,
796
- parameters: [
797
- new IntrospectedFunctionParameter({
798
- name: 'id',
799
- type: StringType,
800
- direction: GirDirection.In,
801
- }),
802
- new IntrospectedFunctionParameter({
803
- name: 'args',
804
- isVarArgs: true,
805
- type: new ArrayType(AnyType),
806
- direction: GirDirection.In,
807
- }),
808
- ],
809
- return_type: VoidType,
810
- });
811
- let defaultSignals = [];
812
- let hasConnect, hasConnectAfter, hasEmit;
813
- if (girClass.signals.length > 0) {
814
- hasConnect = girClass.members.some((m) => m.name === 'connect');
815
- hasConnectAfter = girClass.members.some((m) => m.name === 'connect_after');
816
- hasEmit = girClass.members.some((m) => m.name === 'emit');
817
- if (!hasConnect) {
818
- defaultSignals.push(Connect);
764
+ /**
765
+ * Generate SignalSignatures interface for type-safe signal handling
766
+ *
767
+ * This creates a comprehensive mapping of signal names to their callback types,
768
+ * enabling TypeScript to provide proper type checking and IntelliSense for
769
+ * GObject signals using the centralized getAllSignals() method from the model.
770
+ */
771
+ generateSignalSignatures(girClass, indentCount = 0) {
772
+ const def = [];
773
+ const indent = generateIndent(indentCount);
774
+ // Generate SignalSignatures interface to maintain type inheritance chain
775
+ def.push(`${indent}// Signal signatures`);
776
+ def.push(`${indent}interface SignalSignatures`);
777
+ // Build inheritance chain for signal signatures
778
+ const parentSignatures = [];
779
+ // Inherit signal signatures from parent class
780
+ const parentResolution = girClass.resolveParents().extends();
781
+ if (parentResolution && parentResolution.node instanceof IntrospectedClass) {
782
+ const parentClass = parentResolution.node;
783
+ const parentTypeIdentifier = parentResolution.identifier
784
+ .resolveIdentifier(this.namespace, this.config)
785
+ ?.print(this.namespace, this.config);
786
+ // Include parent signals unless it's a template workaround class
787
+ const hasSignalMethods = parentClass.signals?.length > 0;
788
+ const isNotTemplateWorkaround = !(this.namespace.namespace === 'Gimp' &&
789
+ ['ParamObject', 'ParamItem', 'ParamArray'].includes(parentClass.name));
790
+ if (parentTypeIdentifier && (hasSignalMethods || isNotTemplateWorkaround)) {
791
+ parentSignatures.push(`${parentTypeIdentifier}.SignalSignatures`);
792
+ }
793
+ }
794
+ // Inherit signal signatures from implemented interfaces
795
+ const interfaceSignatures = girClass
796
+ .resolveParents()
797
+ .implements()
798
+ .filter((iface) => iface.node instanceof IntrospectedInterface)
799
+ .filter((iface) => {
800
+ // Only include interfaces that actually define signals
801
+ return iface.node.signals && iface.node.signals.length > 0;
802
+ })
803
+ .map((iface) => {
804
+ const interfaceTypeIdentifier = iface.identifier
805
+ .resolveIdentifier(this.namespace, this.config)
806
+ ?.print(this.namespace, this.config);
807
+ return interfaceTypeIdentifier ? `${interfaceTypeIdentifier}.SignalSignatures` : null;
808
+ })
809
+ .filter((sig) => !!sig);
810
+ parentSignatures.push(...interfaceSignatures);
811
+ // Apply inheritance or fallback to base GObject signals
812
+ if (parentSignatures.length > 0) {
813
+ def.push(` extends ${parentSignatures.join(', ')} {`);
814
+ }
815
+ else {
816
+ // Handle root GObject.Object class to avoid circular references
817
+ const isGObjectObject = girClass.name === 'Object' && girClass.namespace.namespace === 'GObject';
818
+ if (isGObjectObject) {
819
+ def.push(` {`);
819
820
  }
820
- if (!hasConnectAfter) {
821
- defaultSignals.push(ConnectAfter);
821
+ else {
822
+ // All other classes inherit from GObject.Object's signal signatures as fallback
823
+ const gobjectNamespace = this.namespace.assertInstalledImport('GObject');
824
+ const gobjectObjectClass = gobjectNamespace.assertClass('Object');
825
+ const gobjectRef = gobjectObjectClass
826
+ .getType()
827
+ .resolveIdentifier(this.namespace, this.config)
828
+ ?.print(this.namespace, this.config);
829
+ const fallbackRef = gobjectRef ? `${gobjectRef}.SignalSignatures` : 'GObject.Object.SignalSignatures';
830
+ def.push(` extends ${fallbackRef} {`);
822
831
  }
823
- if (!hasEmit) {
824
- defaultSignals.push(Emit);
832
+ }
833
+ // Use the centralized getAllSignals method from the model
834
+ const allSignals = girClass.getAllSignals();
835
+ allSignals.forEach((signalInfo) => {
836
+ // Ensure valid TypeScript property names by quoting invalid identifiers
837
+ const signalKey = /^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(signalInfo.name)
838
+ ? signalInfo.name
839
+ : `"${signalInfo.name}"`;
840
+ let cbType;
841
+ if (signalInfo.isNotifySignal) {
842
+ // Property notification signals have a standard signature
843
+ const gobjectRef = this.namespace.namespace === 'GObject' ? '' : 'GObject.';
844
+ cbType = `(pspec: ${gobjectRef}ParamSpec) => void`;
825
845
  }
826
- defaultSignals = filterConflicts(namespace, girClass, defaultSignals, FilterBehavior.DELETE);
827
- hasConnect = !defaultSignals.some((s) => s.name === 'connect');
828
- hasConnectAfter = !defaultSignals.some((s) => s.name === 'connect_after');
829
- hasEmit = !defaultSignals.some((s) => s.name === 'emit');
830
- }
831
- const SignalsList = [
832
- // TODO Relocate these.
833
- ...defaultSignals.flatMap((s) => s.asString(this)),
834
- ...girClass.signals
835
- .map((s) => {
836
- const methods = [];
837
- if (!hasConnect)
838
- methods.push(...s.asString(this, IntrospectedSignalType.CONNECT));
839
- if (!hasConnectAfter)
840
- methods.push(...s.asString(this, IntrospectedSignalType.CONNECT_AFTER));
841
- if (!hasEmit)
842
- methods.push(...s.asString(this, IntrospectedSignalType.EMIT));
843
- return methods;
844
- })
845
- .flat(),
846
+ else if (signalInfo.signal) {
847
+ // Regular signals - use the signal's parameters and return type
848
+ const paramTypes = signalInfo.signal.parameters
849
+ .map((p, idx) => `arg${idx}: ${this.generateType(p.type)}`)
850
+ .join(', ');
851
+ // For boolean return types, allow boolean | void for flexibility
852
+ let returnType = signalInfo.signal.return_type;
853
+ if (signalInfo.signal.return_type.equals(BooleanType)) {
854
+ returnType = new BinaryType(BooleanType, VoidType);
855
+ }
856
+ const returnTypeStr = this.generateType(returnType);
857
+ cbType = `(${paramTypes}) => ${returnTypeStr}`;
858
+ }
859
+ else {
860
+ // Fallback for custom signal types
861
+ const paramTypes = signalInfo.parameterTypes?.map((type, idx) => `arg${idx}: ${type}`) || [];
862
+ const returnTypeStr = signalInfo.returnType || 'void';
863
+ cbType = `(${paramTypes.join(', ')}) => ${returnTypeStr}`;
864
+ }
865
+ def.push(`${indent} ${signalKey}: ${cbType};`);
866
+ });
867
+ def.push(`${indent}}`);
868
+ def.push('');
869
+ return def;
870
+ }
871
+ generateSignals(girClass) {
872
+ // Create IntrospectedClassFunction instances for the signal methods
873
+ // These represent the GObject signal methods that we want to generate
874
+ const signalFunctions = [
875
+ new IntrospectedClassFunction({
876
+ name: 'connect',
877
+ parent: girClass,
878
+ parameters: [],
879
+ return_type: NumberType,
880
+ }),
881
+ new IntrospectedClassFunction({
882
+ name: 'connect_after',
883
+ parent: girClass,
884
+ parameters: [],
885
+ return_type: NumberType,
886
+ }),
887
+ new IntrospectedClassFunction({
888
+ name: 'emit',
889
+ parent: girClass,
890
+ parameters: [],
891
+ return_type: VoidType,
892
+ }),
846
893
  ];
847
- return SignalsList;
894
+ // Filter out signal methods that conflict with existing methods in the class or parent classes
895
+ // For example, if a class already has a connect() method (like Camel.Service), we don't generate
896
+ // the signal connect() method to avoid conflicts
897
+ const filteredFunctions = filterConflicts(girClass.namespace, girClass, signalFunctions, FilterBehavior.DELETE);
898
+ // Get the names of methods that should be kept (non-conflicting)
899
+ const allowedNames = new Set(filteredFunctions.map((f) => f.name));
900
+ const gobjectRef = this.namespace.namespace === 'GObject' ? '' : 'GObject.';
901
+ // Generate only the non-conflicting type-safe signal methods
902
+ const methods = [];
903
+ if (allowedNames.has('connect')) {
904
+ methods.push(
905
+ // Type-safe overload for known signals
906
+ `connect<K extends keyof ${girClass.name}.SignalSignatures>(signal: K, callback: ${gobjectRef}SignalCallback<this, ${girClass.name}.SignalSignatures[K]>): number;`,
907
+ // Fallback overload for dynamic signals
908
+ `connect(signal: string, callback: (...args: any[]) => any): number;`);
909
+ }
910
+ if (allowedNames.has('connect_after')) {
911
+ methods.push(
912
+ // Type-safe overload for known signals
913
+ `connect_after<K extends keyof ${girClass.name}.SignalSignatures>(signal: K, callback: ${gobjectRef}SignalCallback<this, ${girClass.name}.SignalSignatures[K]>): number;`,
914
+ // Fallback overload for dynamic signals
915
+ `connect_after(signal: string, callback: (...args: any[]) => any): number;`);
916
+ }
917
+ if (allowedNames.has('emit')) {
918
+ // Fix: Use a conditional type to extract parameters from the signal signature
919
+ methods.push(
920
+ // Type-safe overload for known signals
921
+ `emit<K extends keyof ${girClass.name}.SignalSignatures>(signal: K, ...args: ${gobjectRef}GjsParameters<${girClass.name}.SignalSignatures[K]> extends [any, ...infer Q] ? Q : never): void;`,
922
+ // Fallback overload for dynamic signals
923
+ `emit(signal: string, ...args: any[]): void;`);
924
+ }
925
+ return methods;
848
926
  }
849
927
  generateClassSignals(girClass) {
850
928
  const def = [];
@@ -986,7 +1064,8 @@ export class ModuleGenerator extends FormatGenerator {
986
1064
  def.push(this.generateExport('class', classHead, '{'));
987
1065
  }
988
1066
  // $gtype compatibility
989
- def.push(`static $gtype: ${this.namespace.namespace !== 'GObject' ? 'GObject.' : ''}GType<${girClass.name}>;`);
1067
+ const gtypeNamespace = this.namespace.namespace === 'GObject' ? '' : 'GObject.';
1068
+ def.push(`static $gtype: ${gtypeNamespace}GType<${girClass.name}>;`);
990
1069
  if (girClass.__ts__indexSignature) {
991
1070
  def.push(`\n${girClass.__ts__indexSignature}\n`);
992
1071
  }
@@ -994,6 +1073,8 @@ export class ModuleGenerator extends FormatGenerator {
994
1073
  {
995
1074
  // Static Properties
996
1075
  def.push(...this.generateClassProperties(girClass));
1076
+ // $signals property (instance property for type-safe signal access)
1077
+ def.push(...this.generateClassSignalsProperty(girClass));
997
1078
  // Static and member Fields
998
1079
  def.push(...this.generateClassFields(girClass));
999
1080
  // Constructors
@@ -1 +1 @@
1
- {"version":3,"file":"module-generator.js","sourceRoot":"","sources":["../src/module-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"module-generator.js","sourceRoot":"","sources":["../src/module-generator.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  * For example, the signal methods are generated here
4
4
  */
5
5
  import ejs from 'ejs';
6
- import { Logger, Transformation, GirNSRegistry } from '@ts-for-gir/lib';
6
+ import { Logger, GirNSRegistry } from '@ts-for-gir/lib';
7
7
  import type { OptionsGeneration, Dependency, TemplateData } from '@ts-for-gir/lib';
8
8
  export declare class TemplateProcessor {
9
9
  protected readonly data: TemplateData | undefined;
@@ -12,7 +12,6 @@ export declare class TemplateProcessor {
12
12
  protected readonly config: OptionsGeneration;
13
13
  protected readonly registry: GirNSRegistry;
14
14
  protected log: Logger;
15
- protected transformation: Transformation;
16
15
  constructor(data: TemplateData | undefined, packageName: string, deps: Dependency[], config: OptionsGeneration, registry: GirNSRegistry);
17
16
  protected getAppendTemplateName(templateFilename: string): string;
18
17
  /**
@@ -82,6 +81,12 @@ export declare class TemplateProcessor {
82
81
  * @param templateFilename
83
82
  */
84
83
  exists(templateFilename: string): Promise<string | null>;
84
+ /**
85
+ * Removes TypeScript directive comments from the first line of a template
86
+ * @param content The template content
87
+ * @return The template content without TypeScript directives in the first line
88
+ */
89
+ protected removeTypeScriptDirectives(content: string): string;
85
90
  /**
86
91
  * Reads a template file from filesystem and gets the raw string back
87
92
  * @param templateFilename
@@ -6,7 +6,7 @@ import { readFile, writeFile, mkdir, readdir } from 'fs/promises';
6
6
  import { join, dirname, relative, extname } from 'path';
7
7
  import ejs from 'ejs';
8
8
  import { __dirname } from './utils.js';
9
- import { Logger, APP_NAME, APP_USAGE, APP_SOURCE, APP_VERSION, PACKAGE_DESC, PACKAGE_KEYWORDS, DependencyManager, Transformation, fileExists, } from '@ts-for-gir/lib';
9
+ import { Logger, APP_NAME, APP_USAGE, APP_SOURCE, APP_VERSION, PACKAGE_DESC, PACKAGE_KEYWORDS, DependencyManager, transformImportName, fileExists, } from '@ts-for-gir/lib';
10
10
  const TEMPLATE_DIR = join(__dirname, './templates');
11
11
  export class TemplateProcessor {
12
12
  data;
@@ -15,14 +15,12 @@ export class TemplateProcessor {
15
15
  config;
16
16
  registry;
17
17
  log;
18
- transformation;
19
18
  constructor(data, packageName, deps, config, registry) {
20
19
  this.data = data;
21
20
  this.packageName = packageName;
22
21
  this.deps = deps;
23
22
  this.config = config;
24
23
  this.registry = registry;
25
- this.transformation = Transformation.getSingleton(config);
26
24
  const dep = DependencyManager.getInstance(config);
27
25
  let outdir = config.outdir || './';
28
26
  // Make outdir relative to the root directory
@@ -36,7 +34,7 @@ export class TemplateProcessor {
36
34
  APP_VERSION,
37
35
  PACKAGE_DESC: PACKAGE_DESC(packageName, this.data?.girModule?.libraryVersion),
38
36
  PACKAGE_KEYWORDS: PACKAGE_KEYWORDS(packageName),
39
- importName: this.transformation.transformImportName(packageName),
37
+ importName: transformImportName(packageName),
40
38
  dep,
41
39
  deps,
42
40
  typeDir,
@@ -206,6 +204,19 @@ export class TemplateProcessor {
206
204
  }
207
205
  return null;
208
206
  }
207
+ /**
208
+ * Removes TypeScript directive comments from the first line of a template
209
+ * @param content The template content
210
+ * @return The template content without TypeScript directives in the first line
211
+ */
212
+ removeTypeScriptDirectives(content) {
213
+ const lines = content.split('\n');
214
+ if (lines.length > 0 && (lines[0].includes('// @ts-nocheck') || lines[0].includes('// @ts-ignore'))) {
215
+ lines.shift(); // Remove the first line
216
+ return lines.join('\n');
217
+ }
218
+ return content;
219
+ }
209
220
  /**
210
221
  * Reads a template file from filesystem and gets the raw string back
211
222
  * @param templateFilename
@@ -214,7 +225,8 @@ export class TemplateProcessor {
214
225
  async read(templateFilename) {
215
226
  const path = await this.exists(templateFilename);
216
227
  if (path) {
217
- return await readFile(path, 'utf8');
228
+ const content = await readFile(path, 'utf8');
229
+ return this.removeTypeScriptDirectives(content);
218
230
  }
219
231
  throw new Error(`Template '${templateFilename}' not found'`);
220
232
  }
@@ -235,7 +247,8 @@ export class TemplateProcessor {
235
247
  }
236
248
  const results = {};
237
249
  for (const file of files) {
238
- results[file] = await readFile(join(path, file), 'utf8');
250
+ const content = await readFile(join(path, file), 'utf8');
251
+ results[file] = this.removeTypeScriptDirectives(content);
239
252
  }
240
253
  return results;
241
254
  }
@@ -1 +1 @@
1
- {"version":3,"file":"template-processor.js","sourceRoot":"","sources":["../src/template-processor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"template-processor.js","sourceRoot":"","sources":["../src/template-processor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACjE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AACvD,OAAO,GAAG,MAAM,KAAK,CAAA;AACrB,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EACH,MAAM,EACN,QAAQ,EACR,SAAS,EACT,UAAU,EACV,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,UAAU,GAEb,MAAM,iBAAiB,CAAA;AAIxB,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;AAEnD,MAAM,OAAO,iBAAiB;IAGH;IACA;IACA;IACA;IACA;IANb,GAAG,CAAQ;IACrB,YACuB,IAA8B,EAC9B,WAAmB,EACnB,IAAkB,EAClB,MAAyB,EACzB,QAAuB;QAJvB,SAAI,GAAJ,IAAI,CAA0B;QAC9B,gBAAW,GAAX,WAAW,CAAQ;QACnB,SAAI,GAAJ,IAAI,CAAc;QAClB,WAAM,GAAN,MAAM,CAAmB;QACzB,aAAQ,GAAR,QAAQ,CAAe;QAE1C,MAAM,GAAG,GAAG,iBAAiB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;QACjD,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,IAAI,CAAA;QAClC,6CAA6C;QAC7C,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QACtC,MAAM,OAAO,GAAG,MAAM,CAAA;QAEtB,IAAI,CAAC,IAAI,GAAG;YACR,GAAG,IAAI,CAAC,IAAI;YACZ,QAAQ;YACR,SAAS;YACT,UAAU;YACV,WAAW;YACX,YAAY,EAAE,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,cAAc,CAAC;YAC7E,gBAAgB,EAAE,gBAAgB,CAAC,WAAW,CAAC;YAC/C,UAAU,EAAE,mBAAmB,CAAC,WAAW,CAAC;YAC5C,GAAG;YACH,IAAI;YACJ,OAAO;YACP,IAAI;YACJ,OAAO;SACV,CAAA;QACD,IAAI,CAAC,GAAG,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,sBAAsB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAA;IACpF,CAAC;IAES,qBAAqB,CAAC,gBAAwB;QACpD,IAAI,sBAAsB,GAAG,gBAAgB,CAAA;QAE7C,IAAI,sBAAsB,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3C,sBAAsB,GAAG,sBAAsB,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,CAAA;QACpF,CAAC;aAAM,IAAI,OAAO,CAAC,sBAAsB,CAAC,EAAE,CAAC;YACzC,MAAM,GAAG,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAA;YAC3C,sBAAsB,GAAG,sBAAsB,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,GAAG,GAAG,CAAC,CAAA;QACjF,CAAC;aAAM,CAAC;YACJ,sBAAsB,IAAI,SAAS,CAAA;QACvC,CAAC;QACD,OAAO,sBAAsB,CAAA;IACjC,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,IAAI,CACb,gBAAwB,EACxB,aAAmC,EAAE,EACrC,uBAAqC,EAAE;QAEvC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;QACrD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,UAAU,EAAE,oBAAoB,CAAC,CAAA;QAChF,IAAI,MAAM,GAAG,EAAE,CAAA;QAEf,MAAM,sBAAsB,GAAG,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,CAAA;QAC3E,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,EAAE,CAAC;YAC5C,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;YACjE,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,UAAU,EAAE,oBAAoB,CAAC,CAAA;QACnF,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAA;IAC9B,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,OAAO,CAChB,eAAuB,EACvB,aAAqB,EACrB,aAAmC,EAAE,EACrC,uBAAqC,EAAE;QAEvC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,aAAa,CAAC,CAAA;QACvE,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YAC3C,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,oBAAoB,CAAC,CAAA;QAChG,CAAC;QACD,OAAO,YAAY,CAAA;IACvB,CAAC;IAED;;;;;;;;;OASG;IACI,KAAK,CAAC,MAAM,CACf,gBAAwB,EACxB,cAAsB,EACtB,cAAsB,EACtB,OAAO,GAAG,EAAE,EACZ,aAAmC,EAAE,EACrC,uBAAqC,EAAE;QAEvC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,UAAU,EAAE,oBAAoB,CAAC,CAAA;QAC/F,MAAM,IAAI,GAAG,OAAO,GAAG,IAAI,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,CAAA;QACrD,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,EAAE,cAAc,CAAC,CAAA;QACtD,OAAO,IAAI,CAAA;IACf,CAAC;IAED;;;;;;;;;;OAUG;IACI,KAAK,CAAC,SAAS,CAClB,aAAqB,EACrB,eAAuB,EACvB,cAAsB,EACtB,aAAqB,EACrB,MAAM,GAAG,EAAE,EACX,aAAmC,EAAE,EACrC,uBAAqC,EAAE;QAEvC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,oBAAoB,CAAC,CAAA;QACrG,MAAM,MAAM,GAA+B,EAAE,CAAA;QAC7C,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAA;YAC9D,MAAM,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,GAAG,MAAM,CAAA;YACrD,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAA;QACrF,CAAC;QAED,OAAO,MAAM,CAAA;IACjB,CAAC;IAEM,aAAa,CAAC,cAAsB,EAAE,cAAsB;QAC/D,kHAAkH;QAClH,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO;YAChC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC;YACjE,CAAC,CAAC,cAAc,CAAA;QACpB,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAA;QACjD,OAAO,UAAU,CAAA;IACrB,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,KAAK,CAAC,OAAe,EAAE,cAAsB,EAAE,cAAsB;QAC9E,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,cAAc,CAAC,CAAA;QAErE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACD,IAAI,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;oBACnC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;oBACvC,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;gBACrE,CAAC;gBACD,eAAe;gBACf,0CAA0C;gBAC1C,8CAA8C;gBAC9C,yEAAyE;gBACzE,IAAI;YACR,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAA;YACvD,CAAC;QACL,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;QAEvC,6BAA6B;QAC7B,MAAM,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACrD,MAAM,SAAS,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAA;QAErE,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IACtC,CAAC;IAED;;;;;;OAMG;IACO,KAAK,CAAC,MAAM,CAClB,cAAsB,EACtB,UAAgC,EAAE,EAClC,uBAAqC,EAAE;QAEvC,IAAI,CAAC;YACD,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,MAAM,CAChC,cAAc,EACd;gBACI,GAAG,IAAI,CAAC,MAAM;gBACd,GAAG,IAAI,CAAC,IAAI;gBACZ,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,GAAG,oBAAoB;aAC1B,EACD;gBACI,KAAK,EAAE,IAAI;gBACX,GAAG,OAAO;aACb,CACJ,CAAA;YACD,OAAO,WAAW,CAAA;QACtB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,oBAAoB,cAAc,IAAI,EAAE,KAAK,CAAC,CAAA;YAC7D,MAAM,KAAK,CAAA;QACf,CAAC;IACL,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,MAAM,CAAC,gBAAwB;QACxC,MAAM,2BAA2B,GAAG,IAAI,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAA;QACxE,MAAM,uBAAuB,GAAG,IAAI,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAA;QACpE,IAAI,MAAM,UAAU,CAAC,2BAA2B,CAAC,EAAE,CAAC;YAChD,OAAO,2BAA2B,CAAA;QACtC,CAAC;QACD,IAAI,MAAM,UAAU,CAAC,uBAAuB,CAAC,EAAE,CAAC;YAC5C,OAAO,uBAAuB,CAAA;QAClC,CAAC;QACD,OAAO,IAAI,CAAA;IACf,CAAC;IAED;;;;OAIG;IACO,0BAA0B,CAAC,OAAe;QAChD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACjC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC;YAClG,KAAK,CAAC,KAAK,EAAE,CAAA,CAAC,wBAAwB;YACtC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC3B,CAAC;QACD,OAAO,OAAO,CAAA;IAClB,CAAC;IAED;;;;OAIG;IACO,KAAK,CAAC,IAAI,CAAC,gBAAwB;QACzC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;QAChD,IAAI,IAAI,EAAE,CAAC;YACP,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;YAC5C,OAAO,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAA;QACnD,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,aAAa,gBAAgB,cAAc,CAAC,CAAA;IAChE,CAAC;IAED;;;;;;;OAOG;IACO,KAAK,CAAC,OAAO,CAAC,eAAuB,EAAE,aAAqB;QAClE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;QAC/C,IAAI,IAAI,EAAE,CAAC;YACP,MAAM,KAAK,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAA;YAClF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,uBAAuB,eAAe,aAAa,CAAC,CAAA;YACxE,CAAC;YACD,MAAM,OAAO,GAA+B,EAAE,CAAA;YAC9C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACvB,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAA;gBACxD,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAA;YAC5D,CAAC;YACD,OAAO,OAAO,CAAA;QAClB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,uBAAuB,eAAe,cAAc,CAAC,CAAA;IACzE,CAAC;CACJ;AAED,eAAe,iBAAiB,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ts-for-gir/generator-typescript",
3
- "version": "4.0.0-beta.23",
3
+ "version": "4.0.0-beta.25",
4
4
  "description": "TypeScript type definition generator for ts-for-gir",
5
5
  "module": "lib/index.js",
6
6
  "main": "lib/index.js",
@@ -42,20 +42,20 @@
42
42
  ],
43
43
  "devDependencies": {
44
44
  "@types/ejs": "^3.1.5",
45
- "@types/node": "^22.13.11",
45
+ "@types/node": "^24.0.1",
46
46
  "@types/xml2js": "^0.4.14",
47
- "@typescript-eslint/eslint-plugin": "^8.27.0",
48
- "@typescript-eslint/parser": "^8.27.0",
49
- "eslint": "^9.22.0",
50
- "eslint-config-prettier": "^10.1.1",
51
- "eslint-plugin-prettier": "^5.2.3",
47
+ "@typescript-eslint/eslint-plugin": "^8.34.0",
48
+ "@typescript-eslint/parser": "^8.34.0",
49
+ "eslint": "^9.29.0",
50
+ "eslint-config-prettier": "^10.1.5",
51
+ "eslint-plugin-prettier": "^5.4.1",
52
52
  "prettier": "^3.5.3",
53
53
  "rimraf": "^6.0.1",
54
- "typescript": "^5.8.2"
54
+ "typescript": "^5.8.3"
55
55
  },
56
56
  "dependencies": {
57
- "@ts-for-gir/generator-base": "^4.0.0-beta.23",
58
- "@ts-for-gir/lib": "^4.0.0-beta.23",
57
+ "@ts-for-gir/generator-base": "^4.0.0-beta.25",
58
+ "@ts-for-gir/lib": "^4.0.0-beta.25",
59
59
  "ejs": "^3.1.10",
60
60
  "xml2js": "^0.6.2"
61
61
  }
@@ -0,0 +1 @@
1
+ // @ts-nocheck
package/templates/gi.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ // @ts-nocheck
1
2
  /**
2
3
  * This file exports all GIR module type definitions.
3
4
  */
@@ -1,8 +1,24 @@
1
+ // @ts-nocheck
1
2
  // WORKAROUND: As long as ParamObject is not generated
2
3
  export class ParamObject extends GObject.ParamSpec {}
3
4
 
4
- // WORKAROUND: As long as ParamObject is not generated
5
+ export namespace ParamObject {
6
+ // Signal signatures
7
+ interface SignalSignatures extends GObject.ParamSpec.SignalSignatures {}
8
+ }
9
+
10
+ // WORKAROUND: As long as ParamItem is not generated
5
11
  export class ParamItem extends GObject.ParamSpec {}
6
12
 
7
- // WORKAROUND: As long as ParamObject is not generated
8
- export class ParamArray extends GObject.ParamSpec {}
13
+ export namespace ParamItem {
14
+ // Signal signatures
15
+ interface SignalSignatures extends GObject.ParamSpec.SignalSignatures {}
16
+ }
17
+
18
+ // WORKAROUND: As long as ParamArray is not generated
19
+ export class ParamArray extends GObject.ParamSpec {}
20
+
21
+ export namespace ParamArray {
22
+ // Signal signatures
23
+ interface SignalSignatures extends GObject.ParamSpec.SignalSignatures {}
24
+ }
@@ -1,26 +1,27 @@
1
+ // @ts-nocheck
1
2
  /**
2
3
  * A convenient helper to create Promise wrappers for asynchronous functions in GJS.
3
- *
4
+ *
4
5
  * This utility replaces the original function on the class prototype with a Promise-based version,
5
6
  * allowing the function to be called on any instance of the class, including subclasses.
6
7
  * Simply pass the class prototype, the "async" function name, and the "finish" function name as arguments.
7
- *
8
+ *
8
9
  * The function can be used like any other Promise, without the need for a custom wrapper, by leaving out the callback argument.
9
10
  * The original function will still be available, and can be used by passing the callback.
10
- *
11
+ *
11
12
  * @param proto - The class prototype that contains the asynchronous function.
12
13
  * @param asyncFunc - The name of the asynchronous function.
13
14
  * @param finishFunc - The name of the "finish" function that is used to retrieve the result of the asynchronous function.
14
- *
15
+ *
15
16
  * @version Gjs 1.54
16
17
  * @see https://gjs.guide/guides/gjs/asynchronous-programming.html#promisify-helper
17
- *
18
+ *
18
19
  * @example
19
20
  * ```js
20
21
  * import Gio from "gi://Gio?version=2.0";
21
- *
22
+ *
22
23
  * Gio._promisify(Gio.InputStream.prototype, 'read_bytes_async', 'read_bytes_finish');
23
- *
24
+ *
24
25
  * try {
25
26
  * const inputStream = new Gio.UnixInputStream({fd: 0});
26
27
  * const bytes = await inputStream.read_bytes_async(4096, GLib.PRIORITY_DEFAULT, null);
@@ -28,9 +29,9 @@
28
29
  * logError(e, 'Failed to read bytes');
29
30
  * }
30
31
  * ```
31
- *
32
+ *
32
33
  */
33
- export function _promisify(proto: any, asyncFunc: string, finishFunc?: string): void;
34
+ export function _promisify(proto: any, asyncFunc: string, finishFunc?: string): void
34
35
 
35
36
  /** Temporary Gio.File.prototype fix */
36
- export const _LocalFilePrototype: typeof File.prototype;
37
+ export const _LocalFilePrototype: typeof File.prototype
@@ -1,25 +1,26 @@
1
+ // @ts-nocheck
1
2
  // https://www.typescriptlang.org/docs/handbook/modules.html#ambient-modules
2
3
  // https://stackoverflow.com/questions/45099605/ambient-declaration-with-an-imported-type-in-typescript
3
4
 
4
5
  declare module 'gettext' {
5
- export * from '@girs/gjs/gettext';
6
- import Gettext from '@girs/gjs/gettext';
7
- export default Gettext;
6
+ export * from '@girs/gjs/gettext'
7
+ import Gettext from '@girs/gjs/gettext'
8
+ export default Gettext
8
9
  }
9
10
 
10
11
  declare module 'system' {
11
- export * from '@girs/gjs/system';
12
- import System from '@girs/gjs/system';
13
- export default System;
12
+ export * from '@girs/gjs/system'
13
+ import System from '@girs/gjs/system'
14
+ export default System
14
15
  }
15
16
 
16
17
  declare module 'cairo' {
17
- import Cairo from '@girs/gjs/cairo';
18
- export default Cairo;
18
+ import Cairo from '@girs/gjs/cairo'
19
+ export default Cairo
19
20
  }
20
21
 
21
22
  declare module 'console' {
22
- import Console, { setConsoleLogDomain, getConsoleLogDomain, DEFAULT_LOG_DOMAIN } from '@girs/gjs/console';
23
- export { setConsoleLogDomain, getConsoleLogDomain, DEFAULT_LOG_DOMAIN }
24
- export default Console;
23
+ import Console, { setConsoleLogDomain, getConsoleLogDomain, DEFAULT_LOG_DOMAIN } from '@girs/gjs/console'
24
+ export { setConsoleLogDomain, getConsoleLogDomain, DEFAULT_LOG_DOMAIN }
25
+ export default Console
25
26
  }
@@ -1,6 +1,10 @@
1
- // A few things here are inspired by gi.ts
2
- // See https://gitlab.gnome.org/ewlsh/gi.ts/-/blob/master/packages/lib/src/generators/dts/gobject.ts
3
- // Copyright Evan Welsh
1
+ // @ts-nocheck
2
+
3
+ /**
4
+ * Obtain the parameters of a function type in a tuple.
5
+ * Note: This is a copy of the Parameters type from the TypeScript standard library to avoid name conflicts, as some GIR types define `Parameters` as a namespace.
6
+ */
7
+ export type GjsParameters<T extends (...args: any) => any> = T extends (...args: infer P) => any ? P : never
4
8
 
5
9
  // __type__ forces all GTypes to not match structurally.
6
10
  export type GType<T = unknown> = {
@@ -216,6 +220,19 @@ export function signal_handlers_disconnect_by_data(): void
216
220
 
217
221
  export type Property<K extends ParamSpec> = K extends ParamSpec<infer T> ? T : any
218
222
 
223
+ // Helper types for type-safe signal handling
224
+ export interface SignalSignatures {
225
+ /** Fallback for dynamic signals and type compatibility */
226
+ [signal: string]: (...args: any[]) => any
227
+ }
228
+
229
+ /**
230
+ * Helper to prepend the emitter (`source`) to an existing callback type.
231
+ */
232
+ export type SignalCallback<Emitter, Fn> = Fn extends (...args: infer P) => infer R
233
+ ? (source: Emitter, ...args: P) => R
234
+ : never
235
+
219
236
  // TODO: What about the generated class Closure
220
237
  export type TClosure<R = any, P = any> = (...args: P[]) => R
221
238
 
@@ -1,7 +1,8 @@
1
+ // @ts-nocheck
1
2
  // Workaround
2
3
  /** @ignore */
3
4
  export module GraniteServicesSettingsSerializable {
4
5
  export interface ConstructorProps extends ServicesSettingsSerializable.ConstructorProps {}
5
6
  }
6
7
  /** @ignore */
7
- export interface GraniteServicesSettingsSerializable extends ServicesSettingsSerializable {}
8
+ export interface GraniteServicesSettingsSerializable extends ServicesSettingsSerializable {}
@@ -1,7 +1,8 @@
1
+ // @ts-nocheck
1
2
  // Workaround
2
3
  /** @ignore */
3
4
  export module GraniteServicesSettingsSerializable {
4
5
  export interface ConstructorProps extends ServicesSettingsSerializable.ConstructorProps {}
5
6
  }
6
7
  /** @ignore */
7
- export interface GraniteServicesSettingsSerializable extends ServicesSettingsSerializable {}
8
+ export interface GraniteServicesSettingsSerializable extends ServicesSettingsSerializable {}
@@ -1,5 +1,6 @@
1
+ // @ts-nocheck
1
2
  // Workaround
2
3
  /** @ignore */
3
4
  export module BaseSink {
4
- export type ConstructorProps = Gst.BaseSink.ConstructorProps;
5
+ export type ConstructorProps = Gst.BaseSink.ConstructorProps
5
6
  }
@@ -1,3 +1,4 @@
1
+ // @ts-nocheck
1
2
  <%#
2
3
  // This EJS template is used for the generated .d.ts files for ambient typescript module support.
3
4
  // See https://www.typescriptlang.org/docs/handbook/modules.html#ambient-modules
@@ -1,3 +1,4 @@
1
+ // @ts-nocheck
1
2
  // Workaround
2
3
  /** @ignore */
3
- interface IconInfo extends RygelCore.IconInfo {}
4
+ interface IconInfo extends RygelCore.IconInfo {}