/// /// /** * Type Definitions for Gjs (https://gjs.guide/) * * These type definitions are automatically generated, do not edit them by hand. * If you found a bug fix it in `ts-for-gir` or create a bug report on https://github.com/gjsify/ts-for-gir * * The based EJS template file is used for the generated .d.ts file of each GIR module like Gtk-4.0, GObject-2.0, ... */ declare module 'gi://GModule?version=2.0' { // Module dependencies import type GLib from 'gi://GLib?version=2.0'; import type GObject from 'gi://GObject?version=2.0'; export namespace GModule { /** * GModule-2.0 */ /** * Errors returned by g_module_open_full(). */ class ModuleError extends GLib.Error { static $gtype: GObject.GType; // Static fields /** * there was an error loading or opening a module file */ static FAILED: number; /** * a module returned an error from its `g_module_check_init()` function */ static CHECK_FAILED: number; // Constructors constructor(options: { message: string; code: number }); _init(...args: any[]): void; } const MODULE_IMPL_AR: number; const MODULE_IMPL_DL: number; const MODULE_IMPL_NONE: number; const MODULE_IMPL_WIN32: number; /** * A portable way to build the filename of a module. The platform-specific * prefix and suffix are added to the filename, if needed, and the result * is added to the directory, using the correct separator character. * * The directory should specify the directory where the module can be found. * It can be %NULL or an empty string to indicate that the module is in a * standard platform-specific directory, though this is not recommended * since the wrong module may be found. * * For example, calling g_module_build_path() on a Linux system with a * `directory` of `/lib` and a `module_name` of "mylibrary" will return * `/lib/libmylibrary.so`. On a Windows system, using `\Windows` as the * directory it will return `\Windows\mylibrary.dll`. * @param directory the directory where the module is. This can be %NULL or the empty string to indicate that the standard platform-specific directories will be used, though that is not recommended * @param module_name the name of the module * @returns the complete path of the module, including the standard library prefix and suffix. This should be freed when no longer needed */ function module_build_path(directory: string | null, module_name: string): string; /** * Gets a string describing the last module error. * @returns a string describing the last module error */ function module_error(): string; function module_error_quark(): GLib.Quark; /** * Checks if modules are supported on the current platform. * @returns %TRUE if modules are supported */ function module_supported(): boolean; interface ModuleCheckInit { (module: Module): string; } interface ModuleUnload { (module: Module): void; } /** * Flags passed to g_module_open(). * Note that these flags are not supported on all platforms. */ /** * Flags passed to g_module_open(). * Note that these flags are not supported on all platforms. */ export namespace ModuleFlags { export const $gtype: GObject.GType; } enum ModuleFlags { /** * specifies that symbols are only resolved when * needed. The default action is to bind all symbols when the module * is loaded. */ LAZY, /** * specifies that symbols in the module should * not be added to the global name space. The default action on most * platforms is to place symbols in the module in the global name space, * which may cause conflicts with existing symbols. */ LOCAL, /** * mask for all flags. */ MASK, } /** * The #GModule struct is an opaque data structure to represent a * [dynamically-loaded module](modules.html#dynamic-loading-of-modules). * It should only be accessed via the following functions. */ abstract class Module { static $gtype: GObject.GType; // Constructors _init(...args: any[]): void; // Static methods /** * A portable way to build the filename of a module. The platform-specific * prefix and suffix are added to the filename, if needed, and the result * is added to the directory, using the correct separator character. * * The directory should specify the directory where the module can be found. * It can be %NULL or an empty string to indicate that the module is in a * standard platform-specific directory, though this is not recommended * since the wrong module may be found. * * For example, calling g_module_build_path() on a Linux system with a * `directory` of `/lib` and a `module_name` of "mylibrary" will return * `/lib/libmylibrary.so`. On a Windows system, using `\Windows` as the * directory it will return `\Windows\mylibrary.dll`. * @param directory the directory where the module is. This can be %NULL or the empty string to indicate that the standard platform-specific directories will be used, though that is not recommended * @param module_name the name of the module */ static build_path(directory: string | null, module_name: string): string; /** * Gets a string describing the last module error. */ static error(): string; static error_quark(): GLib.Quark; /** * Checks if modules are supported on the current platform. */ static supported(): boolean; // Methods /** * Closes a module. * @returns %TRUE on success */ close(): boolean; /** * Ensures that a module will never be unloaded. * Any future g_module_close() calls on the module will be ignored. */ make_resident(): void; /** * Returns the filename that the module was opened with. * * If `module` refers to the application itself, "main" is returned. * @returns the filename of the module */ name(): string; /** * Gets a symbol pointer from a module, such as one exported * by %G_MODULE_EXPORT. Note that a valid symbol can be %NULL. * @param symbol_name the name of the symbol to find * @returns %TRUE on success */ symbol(symbol_name: string): [boolean, any]; } /** * Name of the imported GIR library * `see` https://gitlab.gnome.org/GNOME/gjs/-/blob/master/gi/ns.cpp#L188 */ const __name__: string; /** * Version of the imported GIR library * `see` https://gitlab.gnome.org/GNOME/gjs/-/blob/master/gi/ns.cpp#L189 */ const __version__: string; } export default GModule; } declare module 'gi://GModule' { import GModule20 from 'gi://GModule?version=2.0'; export default GModule20; } // END