@girs/gdl-3 5.0.0 → 5.1.0

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 CHANGED
@@ -4,7 +4,7 @@
4
4
  ![version](https://img.shields.io/npm/v/@girs/gdl-3)
5
5
  ![downloads/week](https://img.shields.io/npm/dw/@girs/gdl-3)
6
6
 
7
- GJS TypeScript type definitions for Gdl-3 using [ts-for-gir](https://github.com/gjsify/ts-for-gir) v5.0.0.
7
+ GJS TypeScript type definitions for Gdl-3 using [ts-for-gir](https://github.com/gjsify/ts-for-gir) v5.1.0.
8
8
 
9
9
  This package contains type declarations only. It ships no runtime code, so it adds
10
10
  nothing to your program and works with any bundler or none at all.
@@ -471,6 +471,45 @@ export const FLAG_VALUES_UNREADABLE: Readonly<Record<string, string>>;
471
471
  */
472
472
  export const PROP_ENUMS: Readonly<Record<string, string>>;
473
473
 
474
+ /**
475
+ * The kinds of value a GTK accessible property, relation or state takes.
476
+ *
477
+ * `enum` is the one that needs a second lookup: `ARIA_VALUE_ENUMS` names the enum GType,
478
+ * and `ENUM_NICKS` and `ENUM_VALUES` answer from there.
479
+ */
480
+ export type AriaValueType = 'string' | 'integer' | 'double' | 'boolean' | 'reference' | 'enum';
481
+
482
+ /**
483
+ * `<enum GType>.<nick>` -> the kind of value that ARIA slot takes.
484
+ *
485
+ * The one table in this file that is not a fact about a ParamSpec. A GtkBuilder or
486
+ * Blueprint `accessibility { … }` block is typed by GTK's ARIA table, not by the widget,
487
+ * and the two disagree where it costs most: `orientation` is settable on a `GtkLabel`
488
+ * that implements no `GtkOrientable`, and `checked` is a `GtkAccessibleTristate`, so
489
+ * `checked: true` is the number 1 rather than a boolean. Typing those slots from the
490
+ * widget's properties gets both wrong and raises nothing.
491
+ *
492
+ * Keyed like `ENUM_VALUES` because the ARIA names ARE enum members — of
493
+ * `GtkAccessibleProperty`, `GtkAccessibleRelation` and `GtkAccessibleState` — so
494
+ * `ENUM_NICKS` already lists them and one key parser reads both.
495
+ *
496
+ * Read from each member's own GIR documentation. `gtk_accessible_property_init_value()`
497
+ * is the C half of this table and is not introspectable; the doc sentence is, and states
498
+ * the type for 52 of the 53 members in gtk4 4.23.3. Complete or absent, never partial: a
499
+ * member the generator cannot answer for fails the build and names itself.
500
+ */
501
+ export const ARIA_VALUE_TYPES: Readonly<Record<string, AriaValueType>>;
502
+
503
+ /**
504
+ * The same keys, for the `'enum'` rows only -> the GType of that enum.
505
+ *
506
+ * A table of its own for the reason `PROP_ENUMS` is one: folded in, the values of
507
+ * `ARIA_VALUE_TYPES` would be six reserved words mixed with arbitrary GTypes and telling
508
+ * them apart would be the consumer's problem. Apart, `ARIA_VALUE_TYPES[k] === 'enum'` is
509
+ * the whole test and `ENUM_NICKS[ARIA_VALUE_ENUMS[k]]` is the nick list.
510
+ */
511
+ export const ARIA_VALUE_ENUMS: Readonly<Record<string, string>>;
512
+
474
513
  /** Widget GType -> slot name -> the method that may adopt a child there. */
475
514
  export const SLOT_CANDIDATES: Readonly<Record<string, Readonly<Record<string, string>>>>;
476
515
 
@@ -185,6 +185,31 @@ export const PROP_ENUMS = {
185
185
  'GdlSwitcher.tab-pos': 'GtkPositionType',
186
186
  };
187
187
 
188
+ // `<enum GType>.<nick>` -> the kind of value that ARIA slot takes.
189
+ //
190
+ // The one table here that is not about a ParamSpec. A GtkBuilder or Blueprint
191
+ // `accessibility { … }` block is typed by GTK's ARIA table instead, and the two disagree
192
+ // where it matters: `orientation` is settable on a `GtkLabel` that implements no
193
+ // `GtkOrientable` and has no such property, and `checked` is a `GtkAccessibleTristate`, so
194
+ // `checked: true` means the number 1 and not the boolean. A consumer typing those slots
195
+ // from the widget gets both wrong, silently.
196
+ //
197
+ // Read from each member's own documentation, which is where GTK keeps the table --
198
+ // `gtk_accessible_property_init_value()` is the C half and is not introspectable, the
199
+ // sentence is. Complete or absent, never partial: a member whose documentation states no
200
+ // value type fails generation and names itself, because a missing row is indistinguishable
201
+ // from "GTK has no such name" and the plausible fallback emits `true` where GTK means 1.
202
+ export const ARIA_VALUE_TYPES = {};
203
+
204
+ // The same keys, for the `'enum'` rows only -> the GType of the enum.
205
+ //
206
+ // The join on from a kind to a number, and a table of its own for the reason `PROP_ENUMS`
207
+ // is one: folding the GType into `ARIA_VALUE_TYPES` would make its values a mix of six
208
+ // reserved words and arbitrary GTypes, and telling them apart would be the consumer's
209
+ // problem. With this, `ARIA_VALUE_TYPES[k] === 'enum'` is the whole test, and
210
+ // `ENUM_NICKS[ARIA_VALUE_ENUMS[k]]` is the nick list.
211
+ export const ARIA_VALUE_ENUMS = {};
212
+
188
213
  export const SLOT_CANDIDATES = {
189
214
  GdlDockItem: {
190
215
  'child': 'set_child',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@girs/gdl-3",
3
- "version": "5.0.0",
3
+ "version": "5.1.0",
4
4
  "description": "GJS TypeScript type definitions for Gdl-3",
5
5
  "type": "module",
6
6
  "module": "gdl-3.js",
@@ -36,20 +36,20 @@
36
36
  "test": "tsc --project tsconfig.json"
37
37
  },
38
38
  "dependencies": {
39
- "@girs/gjs": "^5.0.0",
40
- "@girs/gtk-3.0": "^5.0.0",
41
- "@girs/xlib-2.0": "^5.0.0",
42
- "@girs/gdk-3.0": "^5.0.0",
43
- "@girs/cairo-1.0": "^5.0.0",
44
- "@girs/gobject-2.0": "^5.0.0",
45
- "@girs/glib-2.0": "^5.0.0",
46
- "@girs/pango-1.0": "^5.0.0",
47
- "@girs/harfbuzz-0.0": "^5.0.0",
48
- "@girs/freetype2-2.0": "^5.0.0",
49
- "@girs/gio-2.0": "^5.0.0",
50
- "@girs/gmodule-2.0": "^5.0.0",
51
- "@girs/gdkpixbuf-2.0": "^5.0.0",
52
- "@girs/atk-1.0": "^5.0.0" },
39
+ "@girs/gjs": "^5.1.0",
40
+ "@girs/gtk-3.0": "^5.1.0",
41
+ "@girs/xlib-2.0": "^5.1.0",
42
+ "@girs/gdk-3.0": "^5.1.0",
43
+ "@girs/cairo-1.0": "^5.1.0",
44
+ "@girs/gobject-2.0": "^5.1.0",
45
+ "@girs/glib-2.0": "^5.1.0",
46
+ "@girs/pango-1.0": "^5.1.0",
47
+ "@girs/harfbuzz-0.0": "^5.1.0",
48
+ "@girs/freetype2-2.0": "^5.1.0",
49
+ "@girs/gio-2.0": "^5.1.0",
50
+ "@girs/gmodule-2.0": "^5.1.0",
51
+ "@girs/gdkpixbuf-2.0": "^5.1.0",
52
+ "@girs/atk-1.0": "^5.1.0" },
53
53
  "devDependencies": {
54
54
  "typescript": "*"
55
55
  },