@girs/handy-1 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/handy-1)
5
5
  ![downloads/week](https://img.shields.io/npm/dw/@girs/handy-1)
6
6
 
7
- GJS TypeScript type definitions for Handy-1 using [ts-for-gir](https://github.com/gjsify/ts-for-gir) v5.0.0.
7
+ GJS TypeScript type definitions for Handy-1 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.
@@ -1368,6 +1368,45 @@ export const FLAG_VALUES_UNREADABLE: Readonly<Record<string, string>>;
1368
1368
  */
1369
1369
  export const PROP_ENUMS: Readonly<Record<string, string>>;
1370
1370
 
1371
+ /**
1372
+ * The kinds of value a GTK accessible property, relation or state takes.
1373
+ *
1374
+ * `enum` is the one that needs a second lookup: `ARIA_VALUE_ENUMS` names the enum GType,
1375
+ * and `ENUM_NICKS` and `ENUM_VALUES` answer from there.
1376
+ */
1377
+ export type AriaValueType = 'string' | 'integer' | 'double' | 'boolean' | 'reference' | 'enum';
1378
+
1379
+ /**
1380
+ * `<enum GType>.<nick>` -> the kind of value that ARIA slot takes.
1381
+ *
1382
+ * The one table in this file that is not a fact about a ParamSpec. A GtkBuilder or
1383
+ * Blueprint `accessibility { … }` block is typed by GTK's ARIA table, not by the widget,
1384
+ * and the two disagree where it costs most: `orientation` is settable on a `GtkLabel`
1385
+ * that implements no `GtkOrientable`, and `checked` is a `GtkAccessibleTristate`, so
1386
+ * `checked: true` is the number 1 rather than a boolean. Typing those slots from the
1387
+ * widget's properties gets both wrong and raises nothing.
1388
+ *
1389
+ * Keyed like `ENUM_VALUES` because the ARIA names ARE enum members — of
1390
+ * `GtkAccessibleProperty`, `GtkAccessibleRelation` and `GtkAccessibleState` — so
1391
+ * `ENUM_NICKS` already lists them and one key parser reads both.
1392
+ *
1393
+ * Read from each member's own GIR documentation. `gtk_accessible_property_init_value()`
1394
+ * is the C half of this table and is not introspectable; the doc sentence is, and states
1395
+ * the type for 52 of the 53 members in gtk4 4.23.3. Complete or absent, never partial: a
1396
+ * member the generator cannot answer for fails the build and names itself.
1397
+ */
1398
+ export const ARIA_VALUE_TYPES: Readonly<Record<string, AriaValueType>>;
1399
+
1400
+ /**
1401
+ * The same keys, for the `'enum'` rows only -> the GType of that enum.
1402
+ *
1403
+ * A table of its own for the reason `PROP_ENUMS` is one: folded in, the values of
1404
+ * `ARIA_VALUE_TYPES` would be six reserved words mixed with arbitrary GTypes and telling
1405
+ * them apart would be the consumer's problem. Apart, `ARIA_VALUE_TYPES[k] === 'enum'` is
1406
+ * the whole test and `ENUM_NICKS[ARIA_VALUE_ENUMS[k]]` is the nick list.
1407
+ */
1408
+ export const ARIA_VALUE_ENUMS: Readonly<Record<string, string>>;
1409
+
1371
1410
  /** Widget GType -> slot name -> the method that may adopt a child there. */
1372
1411
  export const SLOT_CANDIDATES: Readonly<Record<string, Readonly<Record<string, string>>>>;
1373
1412
 
@@ -224,6 +224,31 @@ export const PROP_ENUMS = {
224
224
  'HdyViewSwitcherTitle.policy': 'HdyViewSwitcherPolicy',
225
225
  };
226
226
 
227
+ // `<enum GType>.<nick>` -> the kind of value that ARIA slot takes.
228
+ //
229
+ // The one table here that is not about a ParamSpec. A GtkBuilder or Blueprint
230
+ // `accessibility { … }` block is typed by GTK's ARIA table instead, and the two disagree
231
+ // where it matters: `orientation` is settable on a `GtkLabel` that implements no
232
+ // `GtkOrientable` and has no such property, and `checked` is a `GtkAccessibleTristate`, so
233
+ // `checked: true` means the number 1 and not the boolean. A consumer typing those slots
234
+ // from the widget gets both wrong, silently.
235
+ //
236
+ // Read from each member's own documentation, which is where GTK keeps the table --
237
+ // `gtk_accessible_property_init_value()` is the C half and is not introspectable, the
238
+ // sentence is. Complete or absent, never partial: a member whose documentation states no
239
+ // value type fails generation and names itself, because a missing row is indistinguishable
240
+ // from "GTK has no such name" and the plausible fallback emits `true` where GTK means 1.
241
+ export const ARIA_VALUE_TYPES = {};
242
+
243
+ // The same keys, for the `'enum'` rows only -> the GType of the enum.
244
+ //
245
+ // The join on from a kind to a number, and a table of its own for the reason `PROP_ENUMS`
246
+ // is one: folding the GType into `ARIA_VALUE_TYPES` would make its values a mix of six
247
+ // reserved words and arbitrary GTypes, and telling them apart would be the consumer's
248
+ // problem. With this, `ARIA_VALUE_TYPES[k] === 'enum'` is the whole test, and
249
+ // `ENUM_NICKS[ARIA_VALUE_ENUMS[k]]` is the nick list.
250
+ export const ARIA_VALUE_ENUMS = {};
251
+
227
252
  export const SLOT_CANDIDATES = {
228
253
  HdyActionRow: {
229
254
  'activatable': 'set_activatable_widget',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@girs/handy-1",
3
- "version": "5.0.0",
3
+ "version": "5.1.0",
4
4
  "description": "GJS TypeScript type definitions for Handy-1",
5
5
  "type": "module",
6
6
  "module": "handy-1.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
  },