@girs/cmenu-3.0 4.4.0 → 4.6.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.
Files changed (3) hide show
  1. package/README.md +36 -41
  2. package/cmenu-3.0.d.ts +25 -13
  3. package/package.json +6 -6
package/README.md CHANGED
@@ -4,82 +4,77 @@
4
4
  ![version](https://img.shields.io/npm/v/@girs/cmenu-3.0)
5
5
  ![downloads/week](https://img.shields.io/npm/dw/@girs/cmenu-3.0)
6
6
 
7
+ GJS TypeScript type definitions for CMenu-3.0 using [ts-for-gir](https://github.com/gjsify/ts-for-gir) v4.6.0.
7
8
 
8
- GJS TypeScript type definitions for CMenu-3.0 using [ts-for-gir](https://github.com/gjsify/ts-for-gir) v4.4.0.
9
+ This package contains type declarations only. It ships no runtime code, so it adds
10
+ nothing to your program and works with any bundler or none at all.
9
11
 
10
12
  ## Install
11
13
 
12
- Install the type definitions with npm:
13
14
  ```bash
14
15
  npm install @girs/cmenu-3.0
15
16
  ```
16
17
 
17
- ## Usage
18
+ Any package manager works. The package has no dependencies beyond other `@girs/*`
19
+ type packages.
20
+
21
+ ## What it exports
22
+
23
+ | Import | What you get |
24
+ |---|---|
25
+ | `@girs/cmenu-3.0` | the namespace as a default export, plus the ambient and global declarations |
26
+ | `@girs/cmenu-3.0/ambient` | only the `gi://` module declarations |
27
+ | `@girs/cmenu-3.0/import` | only the `imports.gi` declarations |
28
+ | `@girs/cmenu-3.0/cmenu-3.0` | the namespace, without the side-effecting declarations |
29
+
30
+ ## Three ways to import
31
+
32
+ Which one you use depends on how you write imports elsewhere, not on your toolchain.
33
+
34
+ ### As a module
18
35
 
19
- Import it like any other module:
20
36
  ```ts
21
37
  import CMenu from '@girs/cmenu-3.0';
22
38
  ```
23
39
 
24
- ### Ambient Modules
40
+ ### As `gi://`
25
41
 
26
- [Ambient modules](https://github.com/gjsify/ts-for-gir/tree/main/packages/cli#ambient-modules) let you write the same import you would in plain JavaScript.
27
- For this you need to include `@girs/cmenu-3.0` or `@girs/cmenu-3.0/ambient` in your `tsconfig` or entry point Typescript file:
42
+ GJS resolves `gi://` at runtime. To give it types, reference the package once, either
43
+ from your entry point or from `tsconfig.json`:
28
44
 
29
- `index.ts`:
30
45
  ```ts
31
- import '@girs/cmenu-3.0'
46
+ import '@girs/cmenu-3.0';
32
47
  ```
33
48
 
34
- `tsconfig.json`:
35
49
  ```json
36
- {
37
- "compilerOptions": {
38
- ...
39
- },
40
- "include": ["@girs/cmenu-3.0"],
41
- ...
42
- }
50
+ { "include": ["@girs/cmenu-3.0"] }
43
51
  ```
44
52
 
45
- The ambient module now resolves with types:
53
+ Then the runtime spelling type-checks:
46
54
 
47
55
  ```ts
48
56
  import CMenu from 'gi://CMenu?version=3.0';
49
57
  ```
50
58
 
51
- ### Global import
52
-
53
- GJS's global `imports.gi` works too, with types.
54
- For this you need to include `@girs/cmenu-3.0` or `@girs/cmenu-3.0/import` in your `tsconfig` or entry point Typescript file:
59
+ Referencing `@girs/cmenu-3.0/ambient` instead pulls in these declarations
60
+ alone. See [ambient modules](https://github.com/gjsify/ts-for-gir/tree/main/packages/cli#ambient-modules).
55
61
 
56
- `index.ts`:
57
- ```ts
58
- import '@girs/cmenu-3.0'
59
- ```
60
-
61
- `tsconfig.json`:
62
- ```json
63
- {
64
- "compilerOptions": {
65
- ...
66
- },
67
- "include": ["@girs/cmenu-3.0"],
68
- ...
69
- }
70
- ```
62
+ ### As `imports.gi`
71
63
 
72
- That form carries types as well:
64
+ GJS's global object works the same way, via `@girs/cmenu-3.0/import`:
73
65
 
74
66
  ```ts
75
67
  const CMenu = imports.gi.CMenu;
76
68
  ```
77
69
 
78
- ### Bundle
70
+ ## Building
79
71
 
80
- Most projects want a bundler. [esbuild](https://esbuild.github.io/) is the smallest thing that works; the [examples directory](https://github.com/gjsify/ts-for-gir/tree/main/examples) has setups for several others.
72
+ The declarations need no build step. If you bundle, every bundler works, since there is
73
+ no runtime code to resolve. The [examples](https://github.com/gjsify/ts-for-gir/tree/main/examples)
74
+ show working setups for several.
81
75
 
82
76
  ## Other packages
83
77
 
84
- All existing pre-generated packages can be found on [gjsify/types](https://github.com/gjsify/types).
78
+ Every pre-generated package is at [gjsify/types](https://github.com/gjsify/types).
79
+
85
80
 
package/cmenu-3.0.d.ts CHANGED
@@ -27,15 +27,18 @@ export namespace CMenu {
27
27
  * @gir-type Enum
28
28
  */
29
29
  enum TreeItemType {
30
- INVALID,
31
- DIRECTORY,
32
- ENTRY,
33
- SEPARATOR,
34
- HEADER,
35
- ALIAS,
30
+ INVALID = 0,
31
+ DIRECTORY = 1,
32
+ ENTRY = 2,
33
+ SEPARATOR = 3,
34
+ HEADER = 4,
35
+ ALIAS = 5,
36
36
  }
37
37
 
38
38
 
39
+ /**
40
+ * @default :flatpak
41
+ */
39
42
  const DESKTOPAPPINFO_FLATPAK_SUFFIX: string;
40
43
 
41
44
  /**
@@ -49,13 +52,13 @@ export namespace CMenu {
49
52
  * @gir-type Flags
50
53
  */
51
54
  enum TreeFlags {
52
- NONE,
53
- INCLUDE_EXCLUDED,
54
- SHOW_EMPTY,
55
- INCLUDE_NODISPLAY,
56
- SHOW_ALL_SEPARATORS,
57
- SORT_DISPLAY_NAME,
58
- INCLUDE_UNALLOCATED,
55
+ NONE = 0,
56
+ INCLUDE_EXCLUDED = 1,
57
+ SHOW_EMPTY = 256,
58
+ INCLUDE_NODISPLAY = 2,
59
+ SHOW_ALL_SEPARATORS = 512,
60
+ SORT_DISPLAY_NAME = 65536,
61
+ INCLUDE_UNALLOCATED = 4,
59
62
  }
60
63
 
61
64
 
@@ -273,6 +276,7 @@ export namespace CMenu {
273
276
  * application is capable of opening files with the given content type.
274
277
  * @param content_type a string.
275
278
  * @returns `TRUE` on success, `FALSE` on error.
279
+ * @throws GLib.Error
276
280
  */
277
281
  add_supports_type(content_type: string): boolean;
278
282
 
@@ -417,6 +421,7 @@ export namespace CMenu {
417
421
  * @param files a list of {@link Gio.File} objects
418
422
  * @param context the launch context
419
423
  * @returns `TRUE` on successful launch, `FALSE` otherwise.
424
+ * @throws GLib.Error
420
425
  */
421
426
  launch(files: Gio.File[] | null, context: Gio.AppLaunchContext | null): boolean;
422
427
 
@@ -436,6 +441,7 @@ export namespace CMenu {
436
441
  * @param uris a list of URIs to launch.
437
442
  * @param context the launch context
438
443
  * @returns `TRUE` on successful launch, `FALSE` otherwise.
444
+ * @throws GLib.Error
439
445
  */
440
446
  launch_uris(uris: string[] | null, context: Gio.AppLaunchContext | null): boolean;
441
447
 
@@ -488,6 +494,7 @@ export namespace CMenu {
488
494
  * @param result the async result
489
495
  * @returns `TRUE` on successful launch, `FALSE` otherwise.
490
496
  * @since 2.60
497
+ * @throws GLib.Error
491
498
  */
492
499
  launch_uris_finish(result: Gio.AsyncResult): boolean;
493
500
 
@@ -495,6 +502,7 @@ export namespace CMenu {
495
502
  * Removes a supported type from an application, if possible.
496
503
  * @param content_type a string.
497
504
  * @returns `TRUE` on success, `FALSE` on error.
505
+ * @throws GLib.Error
498
506
  */
499
507
  remove_supports_type(content_type: string): boolean;
500
508
 
@@ -502,6 +510,7 @@ export namespace CMenu {
502
510
  * Sets the application as the default handler for the given file extension.
503
511
  * @param extension a string containing the file extension (without the dot).
504
512
  * @returns `TRUE` on success, `FALSE` on error.
513
+ * @throws GLib.Error
505
514
  */
506
515
  set_as_default_for_extension(extension: string): boolean;
507
516
 
@@ -509,6 +518,7 @@ export namespace CMenu {
509
518
  * Sets the application as the default handler for a given type.
510
519
  * @param content_type the content type.
511
520
  * @returns `TRUE` on success, `FALSE` on error.
521
+ * @throws GLib.Error
512
522
  */
513
523
  set_as_default_for_type(content_type: string): boolean;
514
524
 
@@ -519,6 +529,7 @@ export namespace CMenu {
519
529
  * application for that content type.
520
530
  * @param content_type the content type.
521
531
  * @returns `TRUE` on success, `FALSE` on error.
532
+ * @throws GLib.Error
522
533
  */
523
534
  set_as_last_used_for_type(content_type: string): boolean;
524
535
 
@@ -933,6 +944,7 @@ export namespace CMenu {
933
944
  * performs a significant amount of blocking I/O if the
934
945
  * tree has not been loaded yet.
935
946
  * @returns `true` on success, `false` on error
947
+ * @throws GLib.Error
936
948
  */
937
949
  load_sync(): boolean;
938
950
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@girs/cmenu-3.0",
3
- "version": "4.4.0",
3
+ "version": "4.6.0",
4
4
  "description": "GJS TypeScript type definitions for CMenu-3.0",
5
5
  "type": "module",
6
6
  "module": "cmenu-3.0.js",
@@ -31,11 +31,11 @@
31
31
  "test": "tsc --project tsconfig.json"
32
32
  },
33
33
  "dependencies": {
34
- "@girs/gjs": "^4.4.0",
35
- "@girs/gio-2.0": "^4.4.0",
36
- "@girs/gobject-2.0": "^4.4.0",
37
- "@girs/glib-2.0": "^4.4.0",
38
- "@girs/gmodule-2.0": "^4.4.0" },
34
+ "@girs/gjs": "^4.6.0",
35
+ "@girs/gio-2.0": "^4.6.0",
36
+ "@girs/gobject-2.0": "^4.6.0",
37
+ "@girs/glib-2.0": "^4.6.0",
38
+ "@girs/gmodule-2.0": "^4.6.0" },
39
39
  "devDependencies": {
40
40
  "typescript": "*"
41
41
  },