@ts-for-gir/lib
Version:
Typescript .d.ts generator from GIR for gjs
201 lines (200 loc) • 11.4 kB
TypeScript
import { TypeExpression, Generic, FunctionType } from "../gir.js";
import { IntrospectedBase, IntrospectedClassMember, IntrospectedNamespaceMember, Options } from "./base.js";
import { GirFunctionElement, GirMethodElement, GirDirection, GirCallableParamElement, GirCallbackElement, GirVirtualMethodElement, GirConstructorElement, GirModule } from "../index.js";
import { IntrospectedNamespace } from "./namespace.js";
import { IntrospectedClass } from "./class.js";
import { IntrospectedEnum } from "./enum.js";
import { IntrospectedSignal } from "./signal.js";
import { FormatGenerator } from "../generators/generator.js";
import { GirVisitor } from "../visitor.js";
import { IntrospectedField } from "./property.js";
import { IntrospectedBaseClass } from "./nodes.js";
import type { OptionsLoad } from "../types/index.js";
export declare class IntrospectedFunction extends IntrospectedNamespaceMember {
readonly parameters: IntrospectedFunctionParameter[];
readonly output_parameters: IntrospectedFunctionParameter[];
readonly return_type: TypeExpression;
readonly raw_name: string;
generics: Generic[];
returnTypeDoc: string | null;
constructor({ name, raw_name, return_type, parameters, output_parameters, namespace, ...args }: Options<{
name: string;
raw_name: string;
return_type?: TypeExpression;
parameters?: IntrospectedFunctionParameter[];
output_parameters?: IntrospectedFunctionParameter[];
namespace: GirModule;
}>);
copy({ parent, outputParameters, parameters, return_type }?: {
parent?: GirModule;
parameters?: IntrospectedFunctionParameter[];
outputParameters?: IntrospectedFunctionParameter[];
return_type?: TypeExpression;
}): IntrospectedFunction;
accept(visitor: GirVisitor): IntrospectedFunction;
static fromXML(element: GirFunctionElement | GirMethodElement, ns: IntrospectedNamespace, options: OptionsLoad): IntrospectedFunction;
return(): TypeExpression;
asCallback(): IntrospectedCallback;
asClassFunction(parent: IntrospectedBaseClass | IntrospectedEnum): IntrospectedClassFunction;
asVirtualClassFunction(parent: IntrospectedBaseClass): IntrospectedVirtualClassFunction;
asStaticClassFunction(parent: IntrospectedBaseClass | IntrospectedEnum): IntrospectedStaticClassFunction;
asString<T extends FormatGenerator<unknown>>(generator: T): ReturnType<T["generateFunction"]>;
}
export declare class IntrospectedDirectAllocationConstructor extends IntrospectedClassMember {
parameters: IntrospectedFunctionParameter[];
constructor(parameters: IntrospectedFunctionParameter[], parent: IntrospectedBaseClass | null);
static fromFields(fields: IntrospectedField[], parent: IntrospectedBaseClass): IntrospectedDirectAllocationConstructor;
asString<T extends FormatGenerator<unknown>>(generator: T): ReturnType<T["generateDirectAllocationConstructor"]>;
copy(options?: {
parent?: IntrospectedBaseClass | undefined;
parameters?: IntrospectedFunctionParameter[];
}): IntrospectedDirectAllocationConstructor;
accept(visitor: GirVisitor): IntrospectedDirectAllocationConstructor;
}
export declare class IntrospectedConstructor extends IntrospectedClassMember {
readonly parameters: IntrospectedFunctionParameter[];
readonly return_type: TypeExpression;
generics: Generic[];
constructor({ name, parameters, return_type, parent, ...args }: Options<{
name: string;
parent: IntrospectedBaseClass | null;
parameters?: IntrospectedFunctionParameter[];
return_type: TypeExpression;
}>);
copy({ parent, parameters, return_type }?: {
parent?: IntrospectedBaseClass;
parameters?: IntrospectedFunctionParameter[];
return_type?: TypeExpression;
}): IntrospectedConstructor;
static fromXML(m: GirConstructorElement, parent: IntrospectedBaseClass, options: OptionsLoad): IntrospectedConstructor;
accept(visitor: GirVisitor): IntrospectedConstructor;
return(): TypeExpression;
asString<T extends FormatGenerator<unknown>>(generator: T): ReturnType<T["generateConstructor"]>;
}
export declare class IntrospectedFunctionParameter extends IntrospectedBase<IntrospectedClassFunction | IntrospectedFunction | IntrospectedSignal | IntrospectedConstructor | IntrospectedDirectAllocationConstructor | null> {
readonly type: TypeExpression;
readonly direction: GirDirection;
readonly isVarArgs: boolean;
readonly isOptional: boolean;
readonly isNullable: boolean;
constructor({ name, direction, type, parent, doc, isVarArgs, isOptional, isNullable, ...args }: Options<{
name: string;
parent?: IntrospectedClassFunction | IntrospectedFunction | IntrospectedSignal | IntrospectedConstructor | IntrospectedDirectAllocationConstructor | null;
type: TypeExpression;
direction: GirDirection;
doc?: string | null;
isVarArgs?: boolean;
isOptional?: boolean;
isNullable?: boolean;
}>);
get namespace(): GirModule;
asField(): IntrospectedField;
copy(options?: {
parent?: IntrospectedClassFunction | IntrospectedFunction | IntrospectedSignal | IntrospectedConstructor | IntrospectedDirectAllocationConstructor | null;
type?: TypeExpression;
isOptional?: boolean;
isNullable?: boolean;
}): IntrospectedFunctionParameter;
accept(visitor: GirVisitor): IntrospectedFunctionParameter;
asString<T>(generator: FormatGenerator<T>): T;
static fromXML<Parent extends IntrospectedSignal | IntrospectedClassFunction | IntrospectedFunction | IntrospectedConstructor>(parameter: GirCallableParamElement & {
$: {
name: string;
};
}, parent: Parent, options: OptionsLoad): IntrospectedFunctionParameter;
}
export declare class IntrospectedClassFunction<Parent extends IntrospectedBaseClass | IntrospectedEnum = IntrospectedBaseClass | IntrospectedEnum> extends IntrospectedBase<Parent> {
readonly parameters: IntrospectedFunctionParameter[];
protected readonly return_type: TypeExpression;
readonly output_parameters: IntrospectedFunctionParameter[];
protected _anyify: boolean;
protected _generify: boolean;
interfaceParent: IntrospectedBaseClass | IntrospectedEnum | null;
returnTypeDoc?: string | null;
generics: Generic[];
constructor({ name, parameters, output_parameters, return_type, parent, doc, ...args }: Options<{
name: string;
parameters?: IntrospectedFunctionParameter[];
output_parameters?: IntrospectedFunctionParameter[];
return_type?: TypeExpression;
parent: Parent;
originalParent?: Parent | null;
doc?: string | null;
}>);
get namespace(): GirModule;
asCallback(): IntrospectedClassCallback;
asConstructor(): IntrospectedConstructor;
asStaticClassFunction(parent: IntrospectedClass): IntrospectedStaticClassFunction;
copy({ parent, name, interfaceParent, parameters, outputParameters, returnType }?: {
parent?: Parent;
name?: string;
interfaceParent?: IntrospectedBaseClass | IntrospectedEnum;
parameters?: IntrospectedFunctionParameter[];
outputParameters?: IntrospectedFunctionParameter[];
returnType?: TypeExpression;
}): IntrospectedClassFunction<Parent>;
accept(visitor: GirVisitor): IntrospectedClassFunction<Parent>;
anyify(): this;
shouldAnyify(): boolean;
static fromXML(element: GirFunctionElement | GirMethodElement, parent: IntrospectedBaseClass | IntrospectedEnum, options: OptionsLoad): IntrospectedClassFunction;
return(): TypeExpression;
asString<T extends FormatGenerator<unknown>>(generator: T): ReturnType<T["generateClassFunction"]>;
}
export declare class IntrospectedVirtualClassFunction extends IntrospectedClassFunction<IntrospectedBaseClass> {
constructor({ name, parameters, output_parameters, return_type, parent, doc, ...args }: Options<{
name: string;
parameters: IntrospectedFunctionParameter[];
output_parameters?: IntrospectedFunctionParameter[];
return_type?: TypeExpression;
parent: IntrospectedBaseClass;
doc?: string | null;
}>);
copy({ parent, interfaceParent, parameters, outputParameters, returnType }: {
parent?: IntrospectedBaseClass;
interfaceParent?: IntrospectedBaseClass | IntrospectedEnum | undefined;
parameters?: IntrospectedFunctionParameter[] | undefined;
outputParameters?: IntrospectedFunctionParameter[] | undefined;
returnType?: TypeExpression | undefined;
}): IntrospectedVirtualClassFunction;
return(): TypeExpression;
accept(visitor: GirVisitor): IntrospectedVirtualClassFunction;
static fromXML(m: GirVirtualMethodElement, parent: IntrospectedBaseClass, options: OptionsLoad): IntrospectedVirtualClassFunction;
asString<T extends FormatGenerator<unknown>>(generator: T): ReturnType<T["generateVirtualClassFunction"]>;
}
export declare class IntrospectedStaticClassFunction extends IntrospectedClassFunction {
asString<T extends FormatGenerator<unknown>>(generator: T): ReturnType<T["generateStaticClassFunction"]>;
copy({ parent, interfaceParent, parameters, outputParameters, returnType }?: {
parent?: IntrospectedBaseClass | IntrospectedEnum;
interfaceParent?: IntrospectedBaseClass | IntrospectedEnum | undefined;
parameters?: IntrospectedFunctionParameter[] | undefined;
outputParameters?: IntrospectedFunctionParameter[] | undefined;
returnType?: TypeExpression | undefined;
}): IntrospectedStaticClassFunction;
accept(visitor: GirVisitor): IntrospectedStaticClassFunction;
asClassFunction(parent: IntrospectedBaseClass): IntrospectedClassFunction;
static fromXML(m: GirFunctionElement, parent: IntrospectedBaseClass | IntrospectedEnum, options: OptionsLoad): IntrospectedStaticClassFunction;
}
export declare class IntrospectedCallback extends IntrospectedFunction {
asFunctionType(): FunctionType;
copy({ parameters, returnType, outputParameters, parent }?: {
parent?: GirModule;
parameters?: IntrospectedFunctionParameter[];
outputParameters?: IntrospectedFunctionParameter[];
returnType?: TypeExpression;
}): IntrospectedCallback;
accept(visitor: GirVisitor): IntrospectedCallback;
static fromXML(element: GirCallbackElement, namespace: GirModule, options: OptionsLoad): IntrospectedCallback;
asString<T extends FormatGenerator<unknown>>(generator: T): ReturnType<T["generateCallback"]>;
}
export declare class IntrospectedClassCallback extends IntrospectedClassFunction {
asFunctionType(): FunctionType;
copy({ parameters, returnType, outputParameters, parent }?: {
parent?: IntrospectedBaseClass;
parameters?: IntrospectedFunctionParameter[];
outputParameters?: IntrospectedFunctionParameter[];
returnType?: TypeExpression;
}): IntrospectedClassCallback;
accept(visitor: GirVisitor): IntrospectedClassCallback;
static fromXML(element: GirCallbackElement, parent: IntrospectedBaseClass, options: OptionsLoad): IntrospectedClassCallback;
asString<T extends FormatGenerator<unknown>>(generator: T): ReturnType<T["generateClassCallback"]>;
}