@ts-for-gir/lib 3.3.0 → 4.0.0-beta.2
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/README.md +0 -1
- package/lib/conflict-resolver.d.ts +2 -39
- package/lib/conflict-resolver.js +4 -228
- package/lib/conflict-resolver.js.map +1 -1
- package/lib/constants.d.ts +3 -7
- package/lib/constants.js +6 -16
- package/lib/constants.js.map +1 -1
- package/lib/dependency-manager.d.ts +3 -5
- package/lib/dependency-manager.js +10 -17
- package/lib/dependency-manager.js.map +1 -1
- package/lib/formatters/default.d.ts +4 -0
- package/lib/formatters/default.js +7 -0
- package/lib/formatters/default.js.map +1 -0
- package/lib/formatters/formatter.d.ts +3 -0
- package/lib/formatters/formatter.js +3 -0
- package/lib/formatters/formatter.js.map +1 -0
- package/lib/formatters/json.d.ts +4 -0
- package/lib/formatters/json.js +7 -0
- package/lib/formatters/json.js.map +1 -0
- package/lib/generators/dts/gio.d.ts +2 -0
- package/lib/generators/dts/gio.js +9 -0
- package/lib/generators/dts/gio.js.map +1 -0
- package/lib/generators/dts/glib.d.ts +2 -0
- package/lib/generators/dts/glib.js +514 -0
- package/lib/generators/dts/glib.js.map +1 -0
- package/lib/generators/dts/gobject.d.ts +2 -0
- package/lib/generators/dts/gobject.js +117 -0
- package/lib/generators/dts/gobject.js.map +1 -0
- package/lib/generators/dts-inline.d.ts +8 -0
- package/lib/generators/dts-inline.js +59 -0
- package/lib/generators/dts-inline.js.map +1 -0
- package/lib/generators/dts-modules.d.ts +8 -0
- package/lib/generators/dts-modules.js +100 -0
- package/lib/generators/dts-modules.js.map +1 -0
- package/lib/generators/dts.d.ts +45 -0
- package/lib/generators/dts.js +682 -0
- package/lib/generators/dts.js.map +1 -0
- package/lib/generators/generator.d.ts +45 -0
- package/lib/generators/generator.js +9 -0
- package/lib/generators/generator.js.map +1 -0
- package/lib/generators/index.d.ts +5 -0
- package/lib/generators/index.js +6 -0
- package/lib/generators/index.js.map +1 -0
- package/lib/generators/json.d.ts +256 -0
- package/lib/generators/json.js +869 -0
- package/lib/generators/json.js.map +1 -0
- package/lib/generics/clutter.d.ts +26 -0
- package/lib/generics/clutter.js +49 -0
- package/lib/generics/clutter.js.map +1 -0
- package/lib/generics/generify.d.ts +2 -0
- package/lib/generics/generify.js +39 -0
- package/lib/generics/generify.js.map +1 -0
- package/lib/generics/gio.d.ts +7 -0
- package/lib/generics/gio.js +51 -0
- package/lib/generics/gio.js.map +1 -0
- package/lib/generics/glib.d.ts +7 -0
- package/lib/generics/glib.js +18 -0
- package/lib/generics/glib.js.map +1 -0
- package/lib/generics/meta.d.ts +21 -0
- package/lib/generics/meta.js +26 -0
- package/lib/generics/meta.js.map +1 -0
- package/lib/generics/st.d.ts +16 -0
- package/lib/generics/st.js +92 -0
- package/lib/generics/st.js.map +1 -0
- package/lib/generics/visitor.d.ts +20 -0
- package/lib/generics/visitor.js +259 -0
- package/lib/generics/visitor.js.map +1 -0
- package/lib/gir/alias.d.ts +24 -0
- package/lib/gir/alias.js +43 -0
- package/lib/gir/alias.js.map +1 -0
- package/lib/gir/base.d.ts +62 -0
- package/lib/gir/base.js +95 -0
- package/lib/gir/base.js.map +1 -0
- package/lib/gir/class.d.ts +189 -0
- package/lib/gir/class.js +1132 -0
- package/lib/gir/class.js.map +1 -0
- package/lib/gir/const.d.ts +25 -0
- package/lib/gir/const.js +43 -0
- package/lib/gir/const.js.map +1 -0
- package/lib/gir/enum.d.ts +45 -0
- package/lib/gir/enum.js +164 -0
- package/lib/gir/enum.js.map +1 -0
- package/lib/gir/function.d.ts +199 -0
- package/lib/gir/function.js +683 -0
- package/lib/gir/function.js.map +1 -0
- package/lib/gir/generics.d.ts +5 -0
- package/lib/gir/generics.js +57 -0
- package/lib/gir/generics.js.map +1 -0
- package/lib/gir/namespace.d.ts +21 -0
- package/lib/gir/namespace.js +57 -0
- package/lib/gir/namespace.js.map +1 -0
- package/lib/gir/nodes.d.ts +11 -0
- package/lib/gir/nodes.js +12 -0
- package/lib/gir/nodes.js.map +1 -0
- package/lib/gir/property.d.ts +60 -0
- package/lib/gir/property.js +128 -0
- package/lib/gir/property.js.map +1 -0
- package/lib/gir/registry.d.ts +51 -0
- package/lib/gir/registry.js +144 -0
- package/lib/gir/registry.js.map +1 -0
- package/lib/gir/signal.d.ts +33 -0
- package/lib/gir/signal.js +165 -0
- package/lib/gir/signal.js.map +1 -0
- package/lib/gir/util.d.ts +49 -0
- package/lib/gir/util.js +556 -0
- package/lib/gir/util.js.map +1 -0
- package/lib/gir-factory.d.ts +2 -2
- package/lib/gir-factory.js +8 -44
- package/lib/gir-factory.js.map +1 -1
- package/lib/gir-module.d.ts +61 -221
- package/lib/gir-module.js +387 -2106
- package/lib/gir-module.js.map +1 -1
- package/lib/gir.d.ts +251 -0
- package/lib/gir.js +638 -0
- package/lib/gir.js.map +1 -0
- package/lib/index.d.ts +5 -4
- package/lib/index.js +7 -4
- package/lib/index.js.map +1 -1
- package/lib/injection/callbacks/index.d.ts +0 -1
- package/lib/injection/callbacks/index.js +0 -1
- package/lib/injection/callbacks/index.js.map +1 -1
- package/lib/injection/classes/index.d.ts +0 -1
- package/lib/injection/classes/index.js +0 -1
- package/lib/injection/classes/index.js.map +1 -1
- package/lib/injection/injector.d.ts +2 -3
- package/lib/injection/injector.js +6 -8
- package/lib/injection/injector.js.map +1 -1
- package/lib/injections/gee08.d.ts +7 -0
- package/lib/injections/gee08.js +68 -0
- package/lib/injections/gee08.js.map +1 -0
- package/lib/injections/gee1.d.ts +7 -0
- package/lib/injections/gee1.js +28 -0
- package/lib/injections/gee1.js.map +1 -0
- package/lib/injections/gio.d.ts +7 -0
- package/lib/injections/gio.js +431 -0
- package/lib/injections/gio.js.map +1 -0
- package/lib/injections/glib.d.ts +7 -0
- package/lib/injections/glib.js +204 -0
- package/lib/injections/glib.js.map +1 -0
- package/lib/injections/gobject.d.ts +7 -0
- package/lib/injections/gobject.js +479 -0
- package/lib/injections/gobject.js.map +1 -0
- package/lib/injections/inject.d.ts +4 -0
- package/lib/injections/inject.js +28 -0
- package/lib/injections/inject.js.map +1 -0
- package/lib/injections/tracker1.d.ts +7 -0
- package/lib/injections/tracker1.js +30 -0
- package/lib/injections/tracker1.js.map +1 -0
- package/lib/library-version.js.map +1 -1
- package/lib/logger.d.ts +1 -3
- package/lib/logger.js +3 -8
- package/lib/logger.js.map +1 -1
- package/lib/messages.d.ts +1 -4
- package/lib/messages.js +1 -3
- package/lib/messages.js.map +1 -1
- package/lib/registry.d.ts +9 -0
- package/lib/registry.js +13 -0
- package/lib/registry.js.map +1 -0
- package/lib/symtable.js +1 -1
- package/lib/symtable.js.map +1 -1
- package/lib/transformation.d.ts +4 -5
- package/lib/transformation.js +31 -127
- package/lib/transformation.js.map +1 -1
- package/lib/types/generate-config.d.ts +4 -11
- package/lib/types/gir-alias-element.d.ts +3 -12
- package/lib/types/gir-bitfield-element.d.ts +3 -14
- package/lib/types/gir-callable-param-element.d.ts +3 -31
- package/lib/types/gir-callable-params.d.ts +7 -0
- package/lib/types/gir-callable-params.js +2 -0
- package/lib/types/gir-callable-params.js.map +1 -0
- package/lib/types/gir-callable-return.d.ts +3 -20
- package/lib/types/gir-callback-element.d.ts +3 -12
- package/lib/types/gir-class-element.d.ts +3 -34
- package/lib/types/gir-constant-element.d.ts +3 -14
- package/lib/types/gir-constructor-element.d.ts +3 -5
- package/lib/types/gir-enum-element.d.ts +3 -16
- package/lib/types/gir-field-element.d.ts +3 -16
- package/lib/types/gir-function-element.d.ts +3 -5
- package/lib/types/gir-instance-parameter.d.ts +2 -17
- package/lib/types/gir-interface-element.d.ts +4 -19
- package/lib/types/gir-member-element.d.ts +4 -16
- package/lib/types/gir-method-element.d.ts +4 -10
- package/lib/types/gir-namespace.d.ts +14 -17
- package/lib/types/gir-property-element.d.ts +3 -22
- package/lib/types/gir-record-element.d.ts +3 -23
- package/lib/types/gir-repository.d.ts +3 -14
- package/lib/types/gir-signal.d.ts +3 -18
- package/lib/types/gir-union-element.d.ts +3 -16
- package/lib/types/gir-virtual-method.d.ts +3 -7
- package/lib/types/index.d.ts +3 -54
- package/lib/types/index.js +3 -54
- package/lib/types/index.js.map +1 -1
- package/lib/types/parsed-gir.d.ts +3 -2
- package/lib/types/transformations.d.ts +1 -8
- package/lib/types/user-config.d.ts +0 -11
- package/lib/types.d.ts +23 -0
- package/lib/types.js +2 -0
- package/lib/types.js.map +1 -0
- package/lib/util.d.ts +20 -0
- package/lib/util.js +67 -0
- package/lib/util.js.map +1 -0
- package/lib/utils.d.ts +2 -30
- package/lib/utils.js +0 -56
- package/lib/utils.js.map +1 -1
- package/lib/validators/class.d.ts +7 -0
- package/lib/validators/class.js +217 -0
- package/lib/validators/class.js.map +1 -0
- package/lib/validators/interface.d.ts +5 -0
- package/lib/validators/interface.js +16 -0
- package/lib/validators/interface.js.map +1 -0
- package/lib/visitor.d.ts +35 -0
- package/lib/visitor.js +29 -0
- package/lib/visitor.js.map +1 -0
- package/package.json +14 -10
- package/lib/gir-parser.d.ts +0 -2
- package/lib/gir-parser.js +0 -69
- package/lib/gir-parser.js.map +0 -1
- package/lib/injection/callbacks/node-gtk/index.d.ts +0 -2
- package/lib/injection/callbacks/node-gtk/index.js +0 -2
- package/lib/injection/callbacks/node-gtk/index.js.map +0 -1
- package/lib/injection/classes/node-gtk/gdk-4.0.d.ts +0 -2
- package/lib/injection/classes/node-gtk/gdk-4.0.js +0 -32
- package/lib/injection/classes/node-gtk/gdk-4.0.js.map +0 -1
- package/lib/injection/classes/node-gtk/gio-2.0.d.ts +0 -2
- package/lib/injection/classes/node-gtk/gio-2.0.js +0 -14
- package/lib/injection/classes/node-gtk/gio-2.0.js.map +0 -1
- package/lib/injection/classes/node-gtk/glib-2.0.d.ts +0 -2
- package/lib/injection/classes/node-gtk/glib-2.0.js +0 -19
- package/lib/injection/classes/node-gtk/glib-2.0.js.map +0 -1
- package/lib/injection/classes/node-gtk/gobject-2.0.d.ts +0 -2
- package/lib/injection/classes/node-gtk/gobject-2.0.js +0 -66
- package/lib/injection/classes/node-gtk/gobject-2.0.js.map +0 -1
- package/lib/injection/classes/node-gtk/graphene-1.0.d.ts +0 -2
- package/lib/injection/classes/node-gtk/graphene-1.0.js +0 -133
- package/lib/injection/classes/node-gtk/graphene-1.0.js.map +0 -1
- package/lib/injection/classes/node-gtk/gtk-3.0.d.ts +0 -2
- package/lib/injection/classes/node-gtk/gtk-3.0.js +0 -31
- package/lib/injection/classes/node-gtk/gtk-3.0.js.map +0 -1
- package/lib/injection/classes/node-gtk/gtk-4.0.d.ts +0 -2
- package/lib/injection/classes/node-gtk/gtk-4.0.js +0 -52
- package/lib/injection/classes/node-gtk/gtk-4.0.js.map +0 -1
- package/lib/injection/classes/node-gtk/index.d.ts +0 -2
- package/lib/injection/classes/node-gtk/index.js +0 -19
- package/lib/injection/classes/node-gtk/index.js.map +0 -1
- package/lib/injection/classes/node-gtk/pango-1.0.d.ts +0 -2
- package/lib/injection/classes/node-gtk/pango-1.0.js +0 -31
- package/lib/injection/classes/node-gtk/pango-1.0.js.map +0 -1
- package/lib/types/build-type.d.ts +0 -1
- package/lib/types/build-type.js +0 -2
- package/lib/types/build-type.js.map +0 -1
- package/lib/types/environment.d.ts +0 -1
- package/lib/types/environment.js +0 -2
- package/lib/types/environment.js.map +0 -1
- package/lib/types/gir-any-type.d.ts +0 -5
- package/lib/types/gir-any-type.js +0 -2
- package/lib/types/gir-any-type.js.map +0 -1
- package/lib/types/gir-array-type.d.ts +0 -20
- package/lib/types/gir-array-type.js +0 -3
- package/lib/types/gir-array-type.js.map +0 -1
- package/lib/types/gir-boolean.d.ts +0 -1
- package/lib/types/gir-boolean.js +0 -2
- package/lib/types/gir-boolean.js.map +0 -1
- package/lib/types/gir-boxed-element.d.ts +0 -15
- package/lib/types/gir-boxed-element.js +0 -2
- package/lib/types/gir-boxed-element.js.map +0 -1
- package/lib/types/gir-c-include.d.ts +0 -7
- package/lib/types/gir-c-include.js +0 -2
- package/lib/types/gir-c-include.js.map +0 -1
- package/lib/types/gir-callable-attrs.d.ts +0 -15
- package/lib/types/gir-callable-attrs.js +0 -3
- package/lib/types/gir-callable-attrs.js.map +0 -1
- package/lib/types/gir-callable-param.d.ts +0 -7
- package/lib/types/gir-callable-param.js +0 -2
- package/lib/types/gir-callable-param.js.map +0 -1
- package/lib/types/gir-direction.d.ts +0 -7
- package/lib/types/gir-direction.js +0 -9
- package/lib/types/gir-direction.js.map +0 -1
- package/lib/types/gir-doc-element.d.ts +0 -68
- package/lib/types/gir-doc-element.js +0 -2
- package/lib/types/gir-doc-element.js.map +0 -1
- package/lib/types/gir-implements.d.ts +0 -8
- package/lib/types/gir-implements.js +0 -2
- package/lib/types/gir-implements.js.map +0 -1
- package/lib/types/gir-include.d.ts +0 -9
- package/lib/types/gir-include.js +0 -2
- package/lib/types/gir-include.js.map +0 -1
- package/lib/types/gir-info-attrs.d.ts +0 -13
- package/lib/types/gir-info-attrs.js +0 -2
- package/lib/types/gir-info-attrs.js.map +0 -1
- package/lib/types/gir-info-elements.d.ts +0 -5
- package/lib/types/gir-info-elements.js +0 -2
- package/lib/types/gir-info-elements.js.map +0 -1
- package/lib/types/gir-package.d.ts +0 -7
- package/lib/types/gir-package.js +0 -2
- package/lib/types/gir-package.js.map +0 -1
- package/lib/types/gir-prerequisite.d.ts +0 -5
- package/lib/types/gir-prerequisite.js +0 -2
- package/lib/types/gir-prerequisite.js.map +0 -1
- package/lib/types/gir-transfer-ownership-type.d.ts +0 -5
- package/lib/types/gir-transfer-ownership-type.js +0 -7
- package/lib/types/gir-transfer-ownership-type.js.map +0 -1
- package/lib/types/gir-transfer-ownership.d.ts +0 -9
- package/lib/types/gir-transfer-ownership.js +0 -2
- package/lib/types/gir-transfer-ownership.js.map +0 -1
- package/lib/types/gir-type.d.ts +0 -14
- package/lib/types/gir-type.js +0 -2
- package/lib/types/gir-type.js.map +0 -1
- package/lib/types/gir-var-args.d.ts +0 -5
- package/lib/types/gir-var-args.js +0 -2
- package/lib/types/gir-var-args.js.map +0 -1
- package/lib/types/module-type.d.ts +0 -1
- package/lib/types/module-type.js +0 -2
- package/lib/types/module-type.js.map +0 -1
|
@@ -0,0 +1,514 @@
|
|
|
1
|
+
export function override(node) {
|
|
2
|
+
// We provide manually written versions of these types below.
|
|
3
|
+
node.assertClass("Variant").noEmit();
|
|
4
|
+
node.assertClass("VariantType").noEmit();
|
|
5
|
+
node.assertClass("VariantBuilder").noEmit();
|
|
6
|
+
node.assertClass("VariantDict").noEmit();
|
|
7
|
+
return `
|
|
8
|
+
// Variant parsing inspired by https://jamie.build/ slightly infamous JSON-in-TypeScript parsing.
|
|
9
|
+
|
|
10
|
+
type CreateIndexType<Key extends string, Value extends any> =
|
|
11
|
+
Key extends \`s\` | \`o\` | \`g\` ? { [key: string]: Value } :
|
|
12
|
+
Key extends \`n\` | \`q\` | \`t\` | \`d\` | \`u\` | \`i\` | \`x\` | \`y\` ? { [key: number]: Value } : never;
|
|
13
|
+
|
|
14
|
+
type VariantTypeError<T extends string> = { error: true } & T;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Handles the {kv} of a{kv} where k is a basic type and v is any possible variant type string.
|
|
18
|
+
*/
|
|
19
|
+
type $ParseDeepVariantDict<State extends string, Memo extends Record<string, any> = {}> =
|
|
20
|
+
string extends State
|
|
21
|
+
? VariantTypeError<"$ParseDeepVariantDict: 'string' is not a supported type.">
|
|
22
|
+
// Hitting the first '}' indicates the dictionary type is complete
|
|
23
|
+
: State extends \`}\${infer State}\`
|
|
24
|
+
? [Memo, State]
|
|
25
|
+
// This separates the key (basic type) from the rest of the remaining expression.
|
|
26
|
+
: State extends \`\${infer Key}\${''}\${infer State}\`
|
|
27
|
+
? $ParseDeepVariantValue<State> extends [infer Value, \`\${infer State}\`]
|
|
28
|
+
? State extends \`}\${infer State}\`
|
|
29
|
+
? [CreateIndexType<Key, Value>, State]
|
|
30
|
+
: VariantTypeError<\`$ParseDeepVariantDict encountered an invalid variant string: \${State} (1)\`>
|
|
31
|
+
: VariantTypeError<\`$ParseDeepVariantValue returned unexpected value for: \${State}\`>
|
|
32
|
+
: VariantTypeError<\`$ParseDeepVariantDict encountered an invalid variant string: \${State} (2)\`>;
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Handles parsing values within a tuple (e.g. (vvv)) where v is any possible variant type string.
|
|
36
|
+
*/
|
|
37
|
+
type $ParseDeepVariantArray<State extends string, Memo extends any[] = []> =
|
|
38
|
+
string extends State
|
|
39
|
+
? VariantTypeError<"$ParseDeepVariantArray: 'string' is not a supported type.">
|
|
40
|
+
: State extends \`)\${infer State}\`
|
|
41
|
+
? [Memo, State]
|
|
42
|
+
: $ParseDeepVariantValue<State> extends [infer Value, \`\${infer State}\`]
|
|
43
|
+
? State extends \`\${infer NextValue})\${infer NextState}\`
|
|
44
|
+
? $ParseDeepVariantArray<State, [...Memo, Value]>
|
|
45
|
+
: State extends \`)\${infer State}\`
|
|
46
|
+
? [[...Memo, Value], State]
|
|
47
|
+
: VariantTypeError<\`1: $ParseDeepVariantArray encountered an invalid variant string: \${State}\`>
|
|
48
|
+
: VariantTypeError<\`2: $ParseDeepVariantValue returned unexpected value for: \${State}\`>;
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Handles parsing {kv} without an 'a' prefix (key-value pair) where k is a basic type
|
|
52
|
+
* and v is any possible variant type string.
|
|
53
|
+
*/
|
|
54
|
+
type $ParseDeepVariantKeyValue<State extends string, Memo extends any[] = []> =
|
|
55
|
+
string extends State
|
|
56
|
+
? VariantTypeError<"$ParseDeepVariantKeyValue: 'string' is not a supported type.">
|
|
57
|
+
: State extends \`}\${infer State}\`
|
|
58
|
+
? [Memo, State]
|
|
59
|
+
: State extends \`\${infer Key}\${''}\${infer State}\`
|
|
60
|
+
? $ParseDeepVariantValue<State> extends [infer Value, \`\${infer State}\`]
|
|
61
|
+
? State extends \`}\${infer State}\`
|
|
62
|
+
? [[...Memo, $ParseVariant<Key>, Value], State]
|
|
63
|
+
: VariantTypeError<\`$ParseDeepVariantKeyValue encountered an invalid variant string: \${State} (1)\`>
|
|
64
|
+
: VariantTypeError<\`$ParseDeepVariantKeyValue returned unexpected value for: \${State}\`>
|
|
65
|
+
: VariantTypeError<\`$ParseDeepVariantKeyValue encountered an invalid variant string: \${State} (2)\`>;
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Handles parsing any variant 'value' or base unit.
|
|
69
|
+
*
|
|
70
|
+
* - ay - Array of bytes (Uint8Array)
|
|
71
|
+
* - a* - Array of type *
|
|
72
|
+
* - a{k*} - Dictionary
|
|
73
|
+
* - {k*} - KeyValue
|
|
74
|
+
* - (**) - tuple
|
|
75
|
+
* - s | o | g - string types
|
|
76
|
+
* - n | q | t | d | u | i | x | y - number types
|
|
77
|
+
* - b - boolean type
|
|
78
|
+
* - v - unknown Variant type
|
|
79
|
+
* - h | ? - unknown types
|
|
80
|
+
*/
|
|
81
|
+
type $ParseDeepVariantValue<State extends string> =
|
|
82
|
+
string extends State
|
|
83
|
+
? unknown
|
|
84
|
+
: State extends \`\${\`s\` | \`o\` | \`g\`}\${infer State}\`
|
|
85
|
+
? [string, State]
|
|
86
|
+
: State extends \`\${\`n\` | \`q\` | \`t\` | \`d\` | \`u\` | \`i\` | \`x\` | \`y\`}\${infer State}\`
|
|
87
|
+
? [number, State]
|
|
88
|
+
: State extends \`b\${infer State}\`
|
|
89
|
+
? [boolean, State]
|
|
90
|
+
: State extends \`v\${infer State}\`
|
|
91
|
+
? [Variant, State]
|
|
92
|
+
: State extends \`\${'h' | '?'}\${infer State}\`
|
|
93
|
+
? [unknown, State]
|
|
94
|
+
: State extends \`(\${infer State}\`
|
|
95
|
+
? $ParseDeepVariantArray<State>
|
|
96
|
+
: State extends \`a{\${infer State}\`
|
|
97
|
+
? $ParseDeepVariantDict<State>
|
|
98
|
+
: State extends \`{\${infer State}\`
|
|
99
|
+
? $ParseDeepVariantKeyValue<State>
|
|
100
|
+
: State extends \`ay\${infer State}\` ?
|
|
101
|
+
[Uint8Array, State]
|
|
102
|
+
: State extends \`m\${infer State}\`
|
|
103
|
+
? $ParseDeepVariantValue<State> extends [infer Value, \`\${infer State}\`]
|
|
104
|
+
? [Value | null, State]
|
|
105
|
+
: VariantTypeError<\`$ParseDeepVariantValue encountered an invalid variant string: \${State} (3)\`>
|
|
106
|
+
: State extends \`a\${infer State}\` ?
|
|
107
|
+
$ParseDeepVariantValue<State> extends [infer Value, \`\${infer State}\`] ?
|
|
108
|
+
[Value[], State]
|
|
109
|
+
: VariantTypeError<\`$ParseDeepVariantValue encountered an invalid variant string: \${State} (1)\`>
|
|
110
|
+
: VariantTypeError<\`$ParseDeepVariantValue encountered an invalid variant string: \${State} (2)\`>;
|
|
111
|
+
|
|
112
|
+
type $ParseDeepVariant<T extends string> =
|
|
113
|
+
$ParseDeepVariantValue<T> extends infer Result
|
|
114
|
+
? Result extends [infer Value, string]
|
|
115
|
+
? Value
|
|
116
|
+
: Result extends VariantTypeError<any>
|
|
117
|
+
? Result
|
|
118
|
+
: VariantTypeError<"$ParseDeepVariantValue returned unexpected Result">
|
|
119
|
+
: VariantTypeError<"$ParseDeepVariantValue returned uninferrable Result">;
|
|
120
|
+
|
|
121
|
+
type $ParseRecursiveVariantDict<State extends string, Memo extends Record<string, any> = {}> =
|
|
122
|
+
string extends State
|
|
123
|
+
? VariantTypeError<"$ParseRecursiveVariantDict: 'string' is not a supported type.">
|
|
124
|
+
: State extends \`}\${infer State}\`
|
|
125
|
+
? [Memo, State]
|
|
126
|
+
: State extends \`\${infer Key}\${''}\${infer State}\`
|
|
127
|
+
? $ParseRecursiveVariantValue<State> extends [infer Value, \`\${infer State}\`]
|
|
128
|
+
? State extends \`}\${infer State}\`
|
|
129
|
+
? [CreateIndexType<Key, Value>, State]
|
|
130
|
+
: VariantTypeError<\`$ParseRecursiveVariantDict encountered an invalid variant string: \${State} (1)\`>
|
|
131
|
+
: VariantTypeError<\`$ParseRecursiveVariantValue returned unexpected value for: \${State}\`>
|
|
132
|
+
: VariantTypeError<\`$ParseRecursiveVariantDict encountered an invalid variant string: \${State} (2)\`>;
|
|
133
|
+
|
|
134
|
+
type $ParseRecursiveVariantArray<State extends string, Memo extends any[] = []> =
|
|
135
|
+
string extends State
|
|
136
|
+
? VariantTypeError<"$ParseRecursiveVariantArray: 'string' is not a supported type.">
|
|
137
|
+
: State extends \`)\${infer State}\`
|
|
138
|
+
? [Memo, State]
|
|
139
|
+
: $ParseRecursiveVariantValue<State> extends [infer Value, \`\${infer State}\`]
|
|
140
|
+
? State extends \`\${infer NextValue})\${infer NextState}\`
|
|
141
|
+
? $ParseRecursiveVariantArray<State, [...Memo, Value]>
|
|
142
|
+
: State extends \`)\${infer State}\`
|
|
143
|
+
? [[...Memo, Value], State]
|
|
144
|
+
: VariantTypeError<\`$ParseRecursiveVariantArray encountered an invalid variant string: \${State} (1)\`>
|
|
145
|
+
: VariantTypeError<\`$ParseRecursiveVariantValue returned unexpected value for: \${State} (2)\`>;
|
|
146
|
+
|
|
147
|
+
type $ParseRecursiveVariantKeyValue<State extends string, Memo extends any[] = []> =
|
|
148
|
+
string extends State
|
|
149
|
+
? VariantTypeError<"$ParseRecursiveVariantKeyValue: 'string' is not a supported type.">
|
|
150
|
+
: State extends \`}\${infer State}\`
|
|
151
|
+
? [Memo, State]
|
|
152
|
+
: State extends \`\${infer Key}\${''}\${infer State}\`
|
|
153
|
+
? $ParseRecursiveVariantValue<State> extends [infer Value, \`\${infer State}\`]
|
|
154
|
+
? State extends \`}\${infer State}\`
|
|
155
|
+
? [[...Memo, Key, Value], State]
|
|
156
|
+
: VariantTypeError<\`$ParseRecursiveVariantKeyValue encountered an invalid variant string: \${State} (1)\`>
|
|
157
|
+
: VariantTypeError<\`$ParseRecursiveVariantKeyValue returned unexpected value for: \${State}\`>
|
|
158
|
+
: VariantTypeError<\`$ParseRecursiveVariantKeyValue encountered an invalid variant string: \${State} (2)\`>;
|
|
159
|
+
|
|
160
|
+
type $ParseRecursiveVariantValue<State extends string> =
|
|
161
|
+
string extends State
|
|
162
|
+
? unknown
|
|
163
|
+
: State extends \`\${\`s\` | \`o\` | \`g\`}\${infer State}\`
|
|
164
|
+
? [string, State]
|
|
165
|
+
: State extends \`\${\`n\` | \`q\` | \`t\` | \`d\` | \`u\` | \`i\` | \`x\` | \`y\`}\${infer State}\`
|
|
166
|
+
? [number, State]
|
|
167
|
+
: State extends \`b\${infer State}\`
|
|
168
|
+
? [boolean, State]
|
|
169
|
+
: State extends \`v\${infer State}\`
|
|
170
|
+
? [unknown, State]
|
|
171
|
+
: State extends \`\${'h' | '?'}\${infer State}\`
|
|
172
|
+
? [unknown, State]
|
|
173
|
+
: State extends \`(\${infer State}\`
|
|
174
|
+
? $ParseRecursiveVariantArray<State>
|
|
175
|
+
: State extends \`a{\${infer State}\`
|
|
176
|
+
? $ParseRecursiveVariantDict<State>
|
|
177
|
+
: State extends \`{\${infer State}\`
|
|
178
|
+
? $ParseRecursiveVariantKeyValue<State>
|
|
179
|
+
: State extends \`ay\${infer State}\` ?
|
|
180
|
+
[Uint8Array, State]
|
|
181
|
+
: State extends \`m\${infer State}\`
|
|
182
|
+
? $ParseRecursiveVariantValue<State> extends [infer Value, \`\${infer State}\`]
|
|
183
|
+
? [Value | null, State]
|
|
184
|
+
: VariantTypeError<\`$ParseRecursiveVariantValue encountered an invalid variant string: \${State} (3)\`>
|
|
185
|
+
: State extends \`a\${infer State}\` ?
|
|
186
|
+
$ParseRecursiveVariantValue<State> extends [infer Value, \`\${infer State}\`] ?
|
|
187
|
+
[Value[], State]
|
|
188
|
+
: VariantTypeError<\`$ParseRecursiveVariantValue encountered an invalid variant string: \${State} (1)\`>
|
|
189
|
+
: VariantTypeError<\`$ParseRecursiveVariantValue encountered an invalid variant string: \${State} (2)\`>;
|
|
190
|
+
|
|
191
|
+
type $ParseRecursiveVariant<T extends string> =
|
|
192
|
+
$ParseRecursiveVariantValue<T> extends infer Result
|
|
193
|
+
? Result extends [infer Value, string]
|
|
194
|
+
? Value
|
|
195
|
+
: Result extends VariantTypeError<any>
|
|
196
|
+
? Result
|
|
197
|
+
: never
|
|
198
|
+
: never;
|
|
199
|
+
|
|
200
|
+
type $ParseVariantDict<State extends string, Memo extends Record<string, any> = {}> =
|
|
201
|
+
string extends State
|
|
202
|
+
? VariantTypeError<"$ParseVariantDict: 'string' is not a supported type.">
|
|
203
|
+
: State extends \`}\${infer State}\`
|
|
204
|
+
? [Memo, State]
|
|
205
|
+
: State extends \`\${infer Key}\${''}\${infer State}\`
|
|
206
|
+
? $ParseVariantValue<State> extends [infer Value, \`\${infer State}\`]
|
|
207
|
+
? State extends \`}\${infer State}\`
|
|
208
|
+
? [CreateIndexType<Key, Variant<Value extends string ? Value : any>>, State]
|
|
209
|
+
: VariantTypeError<\`$ParseVariantDict encountered an invalid variant string: \${State} (1)\`>
|
|
210
|
+
: VariantTypeError<\`$ParseVariantValue returned unexpected value for: \${State}\`>
|
|
211
|
+
: VariantTypeError<\`$ParseVariantDict encountered an invalid variant string: \${State} (2)\`>;
|
|
212
|
+
|
|
213
|
+
type $ParseVariantArray<State extends string, Memo extends any[] = []> =
|
|
214
|
+
string extends State
|
|
215
|
+
? VariantTypeError<"$ParseVariantArray: 'string' is not a supported type.">
|
|
216
|
+
: State extends \`)\${infer State}\`
|
|
217
|
+
? [Memo, State]
|
|
218
|
+
: $ParseVariantValue<State> extends [infer Value, \`\${infer State}\`]
|
|
219
|
+
? State extends \`\${infer NextValue})\${infer NextState}\`
|
|
220
|
+
? $ParseVariantArray<State, [...Memo, Variant<Value extends string ? Value : any>]>
|
|
221
|
+
: State extends \`)\${infer State}\`
|
|
222
|
+
? [[...Memo, Variant<Value extends string ? Value : any>], State]
|
|
223
|
+
: VariantTypeError<\`$ParseVariantArray encountered an invalid variant string: \${State} (1)\`>
|
|
224
|
+
: VariantTypeError<\`$ParseVariantValue returned unexpected value for: \${State} (2)\`>;
|
|
225
|
+
|
|
226
|
+
type $ParseVariantKeyValue<State extends string, Memo extends any[] = []> =
|
|
227
|
+
string extends State
|
|
228
|
+
? VariantTypeError<"$ParseVariantKeyValue: 'string' is not a supported type.">
|
|
229
|
+
: State extends \`}\${infer State}\`
|
|
230
|
+
? [Memo, State]
|
|
231
|
+
: State extends \`\${infer Key}\${''}\${infer State}\`
|
|
232
|
+
? $ParseVariantValue<State> extends [infer Value, \`\${infer State}\`]
|
|
233
|
+
? State extends \`}\${infer State}\`
|
|
234
|
+
? [[...Memo, Variant<Key>, Variant<Value extends string ? Value: any>], State]
|
|
235
|
+
: VariantTypeError<\`$ParseVariantKeyValue encountered an invalid variant string: \${State} (1)\`>
|
|
236
|
+
: VariantTypeError<\`$ParseVariantKeyValue returned unexpected value for: \${State}\`>
|
|
237
|
+
: VariantTypeError<\`$ParseVariantKeyValue encountered an invalid variant string: \${State} (2)\`>;
|
|
238
|
+
|
|
239
|
+
type $ParseShallowRootVariantValue<State extends string> =
|
|
240
|
+
string extends State
|
|
241
|
+
? unknown
|
|
242
|
+
: State extends \`\${\`s\` | \`o\` | \`g\`}\${infer State}\`
|
|
243
|
+
? [string, State]
|
|
244
|
+
: State extends \`\${\`n\` | \`q\` | \`t\` | \`d\` | \`u\` | \`i\` | \`x\` | \`y\`}\${infer State}\`
|
|
245
|
+
? [number, State]
|
|
246
|
+
: State extends \`b\${infer State}\`
|
|
247
|
+
? [boolean, State]
|
|
248
|
+
: State extends \`v\${infer State}\`
|
|
249
|
+
? [Variant, State]
|
|
250
|
+
: State extends \`h\${infer State}\`
|
|
251
|
+
? [unknown, State]
|
|
252
|
+
: State extends \`?\${infer State}\`
|
|
253
|
+
? [unknown, State]
|
|
254
|
+
: State extends \`(\${infer State}\`
|
|
255
|
+
? $ParseVariantArray<State>
|
|
256
|
+
: State extends \`a{\${infer State}\`
|
|
257
|
+
? $ParseVariantDict<State>
|
|
258
|
+
: State extends \`{\${infer State}\`
|
|
259
|
+
? $ParseVariantKeyValue<State>
|
|
260
|
+
: State extends \`ay\${infer State}\` ?
|
|
261
|
+
[Uint8Array, State]
|
|
262
|
+
: State extends \`m\${infer State}\`
|
|
263
|
+
? $ParseVariantValue<State> extends [infer Value, \`\${infer State}\`]
|
|
264
|
+
? [Value | null, State]
|
|
265
|
+
: VariantTypeError<\`$ParseShallowRootVariantValue encountered an invalid variant string: \${State} (2)\`>
|
|
266
|
+
: State extends \`a\${infer State}\` ?
|
|
267
|
+
[Variant<State>[], State]
|
|
268
|
+
: VariantTypeError<\`$ParseShallowRootVariantValue encountered an invalid variant string: \${State} (1)\`>;
|
|
269
|
+
|
|
270
|
+
type $ParseVariantValue<State extends string> =
|
|
271
|
+
string extends State
|
|
272
|
+
? unknown
|
|
273
|
+
: State extends \`s\${infer State}\`
|
|
274
|
+
? ['s', State]
|
|
275
|
+
: State extends \`o\${infer State}\`
|
|
276
|
+
? ['o', State]
|
|
277
|
+
: State extends \`g\${infer State}\`
|
|
278
|
+
? ['g', State]
|
|
279
|
+
: State extends \`n\${infer State}\`
|
|
280
|
+
? ["n", State]
|
|
281
|
+
: State extends \`q\${infer State}\`
|
|
282
|
+
? ["q", State]
|
|
283
|
+
: State extends \`t\${infer State}\`
|
|
284
|
+
? ["t", State]
|
|
285
|
+
: State extends \`d\${infer State}\`
|
|
286
|
+
? ["d", State]
|
|
287
|
+
: State extends \`u\${infer State}\`
|
|
288
|
+
? ["u", State]
|
|
289
|
+
: State extends \`i\${infer State}\`
|
|
290
|
+
? ["i", State]
|
|
291
|
+
: State extends \`x\${infer State}\`
|
|
292
|
+
? ["x", State]
|
|
293
|
+
: State extends \`y\${infer State}\`
|
|
294
|
+
? ["y", State]
|
|
295
|
+
: State extends \`b\${infer State}\`
|
|
296
|
+
? ['b', State]
|
|
297
|
+
: State extends \`v\${infer State}\`
|
|
298
|
+
? ['v', State]
|
|
299
|
+
: State extends \`h\${infer State}\`
|
|
300
|
+
? ['h', State]
|
|
301
|
+
: State extends \`?\${infer State}\`
|
|
302
|
+
? ['?', State]
|
|
303
|
+
: State extends \`(\${infer State}\`
|
|
304
|
+
? $ParseVariantArray<State>
|
|
305
|
+
: State extends \`a{\${infer State}\`
|
|
306
|
+
? $ParseVariantDict<State>
|
|
307
|
+
: State extends \`{\${infer State}\`
|
|
308
|
+
? $ParseVariantKeyValue<State>
|
|
309
|
+
: State extends \`ay\${infer State}\` ?
|
|
310
|
+
[Uint8Array, State]
|
|
311
|
+
: State extends \`m\${infer State}\`
|
|
312
|
+
? $ParseVariantValue<State> extends [infer Value, \`\${infer State}\`]
|
|
313
|
+
? [Value | null, State]
|
|
314
|
+
: VariantTypeError<\`$ParseVariantValue encountered an invalid variant string: \${State} (3)\`>
|
|
315
|
+
: State extends \`a\${infer State}\` ?
|
|
316
|
+
$ParseVariantValue<State> extends [infer Value, \`\${infer State}\`] ?
|
|
317
|
+
[Value[], State]
|
|
318
|
+
: VariantTypeError<\`$ParseVariantValue encountered an invalid variant string: \${State} (1)\`>
|
|
319
|
+
: VariantTypeError<\`$ParseVariantValue encountered an invalid variant string: \${State} (2)\`>;
|
|
320
|
+
|
|
321
|
+
type $ParseVariant<T extends string> =
|
|
322
|
+
$ParseShallowRootVariantValue<T> extends infer Result
|
|
323
|
+
? Result extends [infer Value, string]
|
|
324
|
+
? Value
|
|
325
|
+
: Result extends VariantTypeError<any>
|
|
326
|
+
? Result
|
|
327
|
+
: never
|
|
328
|
+
: never;
|
|
329
|
+
|
|
330
|
+
type $VariantTypeToString<T extends VariantType> = T extends VariantType<infer S> ? S : never;
|
|
331
|
+
|
|
332
|
+
export class Variant<S extends string = any> {
|
|
333
|
+
static $gtype: GObject.GType<Variant>;
|
|
334
|
+
constructor(sig: S, value: $ParseDeepVariant<typeof sig>);
|
|
335
|
+
constructor(copy: Variant<S>);
|
|
336
|
+
_init(sig: S, value: any): Variant<S>;
|
|
337
|
+
// Constructors
|
|
338
|
+
static ["new"]<S extends string>(sig: S, value: $ParseDeepVariant<typeof sig>): Variant<S>;
|
|
339
|
+
static _new_internal<S extends string>(sig: S, value: $ParseDeepVariant<typeof sig>): Variant<S>;
|
|
340
|
+
static new_array<C extends string = "a?">(
|
|
341
|
+
child_type: VariantType<C> | null,
|
|
342
|
+
children: typeof child_type extends VariantType<any>
|
|
343
|
+
? Variant<$VariantTypeToString<typeof child_type>>[]
|
|
344
|
+
: Variant<C>[]
|
|
345
|
+
): Variant<\`a\${C}\`>;
|
|
346
|
+
static new_boolean(value: boolean): Variant<'b'>;
|
|
347
|
+
static new_byte(value: number): Variant<'y'>;
|
|
348
|
+
static new_bytestring(string: Uint8Array | string): Variant<'ay'>;
|
|
349
|
+
static new_bytestring_array(strv: string[]): Variant<'aay'>;
|
|
350
|
+
static new_dict_entry(key: Variant, value: Variant): Variant<'{vv}'>;
|
|
351
|
+
static new_double(value: number): Variant<'d'>;
|
|
352
|
+
static new_fixed_array<C extends string = 'a?'>(element_type: VariantType<C>, elements: Variant<$VariantTypeToString<typeof element_type>>[] | null, n_elements: number, element_size: number): Variant<\`a\${C}\`>;
|
|
353
|
+
static new_from_bytes<C extends string>(type: VariantType<C>, bytes: Bytes | Uint8Array, trusted: boolean): Variant<C>;
|
|
354
|
+
static new_from_data<C extends string>(type: VariantType<C>, data: Uint8Array | string, trusted: boolean, user_data?: any | null): Variant<C>;
|
|
355
|
+
static new_handle(value: number): Variant<'h'>;
|
|
356
|
+
static new_int16(value: number): Variant<'n'>;
|
|
357
|
+
static new_int32(value: number): Variant<'i'>;
|
|
358
|
+
static new_int64(value: number): Variant<'x'>;
|
|
359
|
+
static new_maybe(child_type?: VariantType | null, child?: Variant | null): Variant<'mv'>;
|
|
360
|
+
static new_object_path(object_path: string): Variant<'o'>;
|
|
361
|
+
static new_objv(strv: string[]): Variant<'ao'>;
|
|
362
|
+
static new_signature(signature: string): Variant<'g'>;
|
|
363
|
+
static new_string(string: string): Variant<'s'>;
|
|
364
|
+
static new_strv(strv: string[]): Variant<'as'>;
|
|
365
|
+
static new_tuple<Items extends (ReadonlyArray<VariantType> | readonly [VariantType])>(children: Items): Variant<\`(\${$ToTuple<Items>})\`>;
|
|
366
|
+
static new_uint16(value: number): Variant<'q'>;
|
|
367
|
+
static new_uint32(value: number): Variant<'u'>;
|
|
368
|
+
static new_uint64(value: number): Variant<'t'>;
|
|
369
|
+
static new_variant(value: Variant): Variant<'v'>;
|
|
370
|
+
// Members
|
|
371
|
+
byteswap(): Variant;
|
|
372
|
+
check_format_string(format_string: string, copy_only: boolean): boolean;
|
|
373
|
+
classify(): VariantClass;
|
|
374
|
+
compare(two: Variant): number;
|
|
375
|
+
dup_bytestring(): Uint8Array;
|
|
376
|
+
dup_bytestring_array(): string[];
|
|
377
|
+
dup_objv(): string[];
|
|
378
|
+
dup_string(): [string, number];
|
|
379
|
+
dup_strv(): string[];
|
|
380
|
+
equal(two: Variant): boolean;
|
|
381
|
+
get_boolean(): boolean;
|
|
382
|
+
get_byte(): number;
|
|
383
|
+
get_bytestring(): Uint8Array;
|
|
384
|
+
get_bytestring_array(): string[];
|
|
385
|
+
get_child_value(index_: number): Variant;
|
|
386
|
+
get_data(): any | null;
|
|
387
|
+
get_data_as_bytes(): Bytes;
|
|
388
|
+
get_double(): number;
|
|
389
|
+
get_handle(): number;
|
|
390
|
+
get_int16(): number;
|
|
391
|
+
get_int32(): number;
|
|
392
|
+
get_int64(): number;
|
|
393
|
+
get_maybe(): Variant | null;
|
|
394
|
+
get_normal_form(): Variant;
|
|
395
|
+
get_objv(): string[];
|
|
396
|
+
get_size(): number;
|
|
397
|
+
get_string(): [string, number | null];
|
|
398
|
+
get_strv(): string[];
|
|
399
|
+
get_type(): VariantType<S>;
|
|
400
|
+
get_type_string(): string;
|
|
401
|
+
get_uint16(): number;
|
|
402
|
+
get_uint32(): number;
|
|
403
|
+
get_uint64(): number;
|
|
404
|
+
get_variant(): Variant;
|
|
405
|
+
hash(): number;
|
|
406
|
+
is_container(): boolean;
|
|
407
|
+
is_floating(): boolean;
|
|
408
|
+
is_normal_form(): boolean;
|
|
409
|
+
is_of_type(type: VariantType): boolean;
|
|
410
|
+
lookup_value(key: string, expected_type?: VariantType | null): Variant;
|
|
411
|
+
n_children(): number;
|
|
412
|
+
print(type_annotate: boolean): string;
|
|
413
|
+
ref(): Variant;
|
|
414
|
+
ref_sink(): Variant;
|
|
415
|
+
store(data: any): void;
|
|
416
|
+
take_ref(): Variant;
|
|
417
|
+
unref(): void;
|
|
418
|
+
static is_object_path(string: string): boolean;
|
|
419
|
+
static is_signature(string: string): boolean;
|
|
420
|
+
static parse(type: VariantType | null, text: string, limit?: string | null, endptr?: string | null): Variant;
|
|
421
|
+
static parse_error_print_context(error: Error, source_str: string): string;
|
|
422
|
+
static parse_error_quark(): Quark;
|
|
423
|
+
static parser_get_error_quark(): Quark;
|
|
424
|
+
unpack(): $ParseVariant<S>;
|
|
425
|
+
deepUnpack(): $ParseDeepVariant<S>;
|
|
426
|
+
deep_unpack(): $ParseDeepVariant<S>;
|
|
427
|
+
recursiveUnpack(): $ParseRecursiveVariant<S>;
|
|
428
|
+
}
|
|
429
|
+
|
|
430
|
+
type $ElementSig<E extends any> =
|
|
431
|
+
E extends [infer Element] ? Element :
|
|
432
|
+
E extends [infer Element, ...infer Elements] ? Element | $ElementSig<Elements> :
|
|
433
|
+
E extends globalThis.Array<infer Element> ? Element : never;
|
|
434
|
+
|
|
435
|
+
export class VariantBuilder<S extends string = 'a*'> {
|
|
436
|
+
static $gtype: GObject.GType<VariantBuilder>;
|
|
437
|
+
constructor(type: VariantType<S>);
|
|
438
|
+
constructor(copy: VariantBuilder<S>);
|
|
439
|
+
// Constructors
|
|
440
|
+
static ["new"]<S extends string = 'a*'>(type: VariantType<S>): VariantBuilder<S>;
|
|
441
|
+
// Members
|
|
442
|
+
add_value(value: $ElementSig<$ParseDeepVariant<S>>): void;
|
|
443
|
+
close(): void;
|
|
444
|
+
end(): Variant<S>;
|
|
445
|
+
open(type: VariantType): void;
|
|
446
|
+
ref(): VariantBuilder;
|
|
447
|
+
unref(): void;
|
|
448
|
+
}
|
|
449
|
+
|
|
450
|
+
export class VariantDict {
|
|
451
|
+
static $gtype: GObject.GType<VariantDict>;
|
|
452
|
+
constructor(from_asv?: Variant | null);
|
|
453
|
+
constructor(copy: VariantDict);
|
|
454
|
+
// Constructors
|
|
455
|
+
static ["new"](from_asv?: Variant | null): VariantDict;
|
|
456
|
+
// Members
|
|
457
|
+
clear(): void;
|
|
458
|
+
contains(key: string): boolean;
|
|
459
|
+
end(): Variant;
|
|
460
|
+
insert_value(key: string, value: Variant): void;
|
|
461
|
+
lookup_value(key: string, expected_type?: VariantType | null): Variant;
|
|
462
|
+
ref(): VariantDict;
|
|
463
|
+
remove(key: string): boolean;
|
|
464
|
+
unref(): void;
|
|
465
|
+
lookup(key: any, variantType?: any, deep?: boolean): any;
|
|
466
|
+
}
|
|
467
|
+
|
|
468
|
+
type $ToTuple<T extends readonly VariantType[]> =
|
|
469
|
+
T extends [] ? '' :
|
|
470
|
+
T extends [VariantType<infer S>] ? \`\${S}\` :
|
|
471
|
+
T extends [VariantType<infer S>, ...infer U] ? (
|
|
472
|
+
U extends [...VariantType[]] ? \`\${S}\${$ToTuple<U>}\` : never) :
|
|
473
|
+
'?';
|
|
474
|
+
|
|
475
|
+
export class VariantType<S extends string = any> {
|
|
476
|
+
static $gtype: GObject.GType<VariantType>;
|
|
477
|
+
constructor(type_string: S);
|
|
478
|
+
constructor(copy: VariantType<S>);
|
|
479
|
+
// Constructors
|
|
480
|
+
static ["new"]<S extends string>(type_string: S): VariantType<S>;
|
|
481
|
+
static new_array<S extends string>(element: VariantType<S>): VariantType<\`a\${S}\`>;
|
|
482
|
+
static new_dict_entry<K extends string, V extends string>(key: VariantType<K>, value: VariantType<V>): VariantType<\`{\${K}\${V}}\`>;
|
|
483
|
+
static new_maybe<S extends string>(element: VariantType<S>): VariantType<\`m\${S}\`>;
|
|
484
|
+
static new_tuple<Items extends (ReadonlyArray<VariantType> | readonly [VariantType])>(items: Items): VariantType<\`(\${$ToTuple<Items>})\`>;
|
|
485
|
+
// Members
|
|
486
|
+
copy(): VariantType<S>;
|
|
487
|
+
dup_string(): string;
|
|
488
|
+
element(): VariantType;
|
|
489
|
+
equal(type2: VariantType): boolean;
|
|
490
|
+
first(): VariantType;
|
|
491
|
+
free(): void;
|
|
492
|
+
get_string_length(): number;
|
|
493
|
+
hash(): number;
|
|
494
|
+
is_array(): boolean;
|
|
495
|
+
is_basic(): boolean;
|
|
496
|
+
is_container(): boolean;
|
|
497
|
+
is_definite(): boolean;
|
|
498
|
+
is_dict_entry(): boolean;
|
|
499
|
+
is_maybe(): boolean;
|
|
500
|
+
is_subtype_of(supertype: VariantType): boolean;
|
|
501
|
+
is_tuple(): boolean;
|
|
502
|
+
is_variant(): boolean;
|
|
503
|
+
key(): VariantType;
|
|
504
|
+
n_items(): number;
|
|
505
|
+
next(): VariantType;
|
|
506
|
+
value(): VariantType;
|
|
507
|
+
static checked_(arg0: string): VariantType;
|
|
508
|
+
static string_get_depth_(type_string: string): number;
|
|
509
|
+
static string_is_valid(type_string: string): boolean;
|
|
510
|
+
static string_scan(string: string, limit?: string | null): [boolean, string | null];
|
|
511
|
+
}
|
|
512
|
+
`;
|
|
513
|
+
}
|
|
514
|
+
//# sourceMappingURL=glib.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glib.js","sourceRoot":"","sources":["../../../src/generators/dts/glib.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,QAAQ,CAAC,IAA2B;IAChD,6DAA6D;IAC7D,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,CAAC;IACrC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,CAAC;IACzC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,MAAM,EAAE,CAAC;IAC5C,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,CAAC;IAEzC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAyfN,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { GirDirection } from "@gi.ts/parser";
|
|
2
|
+
import { NativeType, NeverType } from "../../gir.js";
|
|
3
|
+
import { IntrospectedClassFunction, IntrospectedFunctionParameter } from "../../gir/function.js";
|
|
4
|
+
export function override(node) {
|
|
5
|
+
const ParamSpec = node.assertClass("ParamSpec");
|
|
6
|
+
// We only inject __type__ for .d.ts files.
|
|
7
|
+
const type_function = new IntrospectedClassFunction({
|
|
8
|
+
name: "__type__",
|
|
9
|
+
parent: ParamSpec,
|
|
10
|
+
parameters: [
|
|
11
|
+
new IntrospectedFunctionParameter({
|
|
12
|
+
name: "arg",
|
|
13
|
+
type: NeverType,
|
|
14
|
+
direction: GirDirection.In
|
|
15
|
+
})
|
|
16
|
+
],
|
|
17
|
+
return_type: new NativeType("A")
|
|
18
|
+
// TODO: Add support for generic native type replacement.
|
|
19
|
+
// return_type: UnknownType
|
|
20
|
+
});
|
|
21
|
+
ParamSpec.members.push(type_function.copy());
|
|
22
|
+
return `
|
|
23
|
+
// GJS OVERRIDES
|
|
24
|
+
|
|
25
|
+
export function registerClass<
|
|
26
|
+
P extends {},
|
|
27
|
+
T extends new (...args: any[]) => P,
|
|
28
|
+
>(
|
|
29
|
+
klass: T
|
|
30
|
+
): RegisteredClass<T, {}, []>;
|
|
31
|
+
|
|
32
|
+
export type Property<K extends ParamSpec> = K extends ParamSpec<infer T>
|
|
33
|
+
? T
|
|
34
|
+
: any;
|
|
35
|
+
|
|
36
|
+
export type Properties<
|
|
37
|
+
Prototype extends {},
|
|
38
|
+
Properties extends { [key: string]: ParamSpec }
|
|
39
|
+
> = Omit<{
|
|
40
|
+
[key in (keyof Properties | keyof Prototype)]: key extends keyof Prototype ? never :
|
|
41
|
+
key extends keyof Properties ? Property<Properties[key]> : never;
|
|
42
|
+
}, keyof Prototype>;
|
|
43
|
+
|
|
44
|
+
export type SignalDefinition = {
|
|
45
|
+
param_types?: readonly GType[];
|
|
46
|
+
[key: string]: any;
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
type UnionToIntersection<T> =
|
|
50
|
+
(T extends any ? (x: T) => any : never) extends
|
|
51
|
+
(x: infer R) => any ? R : never
|
|
52
|
+
|
|
53
|
+
type IFaces<Interfaces extends { $gtype: GType<any> }[]> = { [key in keyof Interfaces]: Interfaces[key] extends { $gtype: GType<infer I> } ? I : never };
|
|
54
|
+
|
|
55
|
+
export type RegisteredPrototype<P extends {}, Props extends { [key: string]: ParamSpec }, Interfaces extends any[]> =
|
|
56
|
+
Properties<P, SnakeToCamel<Props> & SnakeToUnderscore<Props>> & UnionToIntersection<Interfaces[number]> & P;
|
|
57
|
+
|
|
58
|
+
type SnakeToUnderscoreCase<S extends string> =
|
|
59
|
+
S extends \`\${infer T}-\${infer U}\` ? \`\${T}_\${SnakeToUnderscoreCase<U>}\` :
|
|
60
|
+
S extends \`\${infer T}\` ? \`\${T}\` :
|
|
61
|
+
never;
|
|
62
|
+
|
|
63
|
+
type SnakeToCamelCase<S extends string> =
|
|
64
|
+
S extends \`\${infer T}-\${infer U}\` ? \`\${Lowercase<T>}\${SnakeToPascalCase<U>}\` :
|
|
65
|
+
S extends \`\${infer T}\` ? \`\${Lowercase<T>}\` :
|
|
66
|
+
SnakeToPascalCase<S>;
|
|
67
|
+
|
|
68
|
+
type SnakeToPascalCase<S extends string> =
|
|
69
|
+
string extends S ? string :
|
|
70
|
+
S extends \`\${infer T}-\${infer U}\` ? \`\${Capitalize<Lowercase<T>>}\${SnakeToPascalCase<U>}\` :
|
|
71
|
+
S extends \`\${infer T}\` ? \`\${Capitalize<Lowercase<T>>}\` :
|
|
72
|
+
never;
|
|
73
|
+
|
|
74
|
+
type SnakeToCamel<T> = { [P in keyof T as P extends string ? SnakeToCamelCase<P> : P]: T[P] };
|
|
75
|
+
type SnakeToUnderscore<T> = { [P in keyof T as P extends string ? SnakeToUnderscoreCase<P> : P]: T[P] };
|
|
76
|
+
|
|
77
|
+
type Ctor = new (...a: any[]) => object;
|
|
78
|
+
|
|
79
|
+
type Init = { _init(...args: any[]): void };
|
|
80
|
+
|
|
81
|
+
export type RegisteredClass<
|
|
82
|
+
T extends Ctor,
|
|
83
|
+
Props extends { [key: string]: ParamSpec },
|
|
84
|
+
Interfaces extends { $gtype: GType<any> }[]
|
|
85
|
+
> = T extends { prototype: infer P } ? {
|
|
86
|
+
$gtype: GType<RegisteredClass<T, Props, IFaces<Interfaces>>>;
|
|
87
|
+
new(...args: P extends Init ? Parameters<P["_init"]> : [void]): RegisteredPrototype<P, Props, IFaces<Interfaces>>;
|
|
88
|
+
prototype: RegisteredPrototype<P, Props, IFaces<Interfaces>>;
|
|
89
|
+
} : never;
|
|
90
|
+
|
|
91
|
+
export function registerClass<
|
|
92
|
+
T extends Ctor,
|
|
93
|
+
Props extends { [key: string]: ParamSpec },
|
|
94
|
+
Interfaces extends { $gtype: GType }[],
|
|
95
|
+
Sigs extends {
|
|
96
|
+
[key: string]: {
|
|
97
|
+
param_types?: readonly GType[];
|
|
98
|
+
[key: string]: any;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
>(
|
|
102
|
+
options: {
|
|
103
|
+
GTypeName?: string;
|
|
104
|
+
GTypeFlags?: TypeFlags;
|
|
105
|
+
Properties?: Props;
|
|
106
|
+
Signals?: Sigs;
|
|
107
|
+
Implements?: Interfaces;
|
|
108
|
+
CssName?: string;
|
|
109
|
+
Template?: string;
|
|
110
|
+
Children?: string[];
|
|
111
|
+
InternalChildren?: string[];
|
|
112
|
+
},
|
|
113
|
+
klass: T
|
|
114
|
+
): RegisteredClass<T, Props, Interfaces>;
|
|
115
|
+
`;
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=gobject.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gobject.js","sourceRoot":"","sources":["../../../src/generators/dts/gobject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AAGjG,MAAM,UAAU,QAAQ,CAAC,IAA2B;IAChD,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAEhD,2CAA2C;IAC3C,MAAM,aAAa,GAAG,IAAI,yBAAyB,CAAC;QAChD,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE;YACR,IAAI,6BAA6B,CAAC;gBAC9B,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,SAAS;gBACf,SAAS,EAAE,YAAY,CAAC,EAAE;aAC7B,CAAC;SACL;QACD,WAAW,EAAE,IAAI,UAAU,CAAC,GAAG,CAAC;QAChC,yDAAyD;QACzD,2BAA2B;KAC9B,CAAC,CAAC;IAEH,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;IAE7C,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6FV,CAAC;AACF,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IntrospectedNamespace } from "../gir/namespace.js";
|
|
2
|
+
import { GenerationOptions } from "../types.js";
|
|
3
|
+
import { DtsGenerator } from "./dts.js";
|
|
4
|
+
export declare class DtsInlineGenerator extends DtsGenerator {
|
|
5
|
+
constructor(namespace: IntrospectedNamespace, options: GenerationOptions);
|
|
6
|
+
generateNamespace(node: IntrospectedNamespace): Promise<string | null>;
|
|
7
|
+
stringifyNamespace(node: IntrospectedNamespace): Promise<string | null>;
|
|
8
|
+
}
|