Browse Source

docs: fix some string union type (#39293)

* docs: fix some string union types

Improve Type Union Typings in the Docs

Co-authored-by: mhli <[email protected]>

* test: add smoke tests

Co-authored-by: mhli <[email protected]>

* test: update `ses.clearStorageData` test case

Co-authored-by: mhli <[email protected]>

* test: update `ses.clearStorageData` test case

Co-authored-by: mhli <[email protected]>

---------

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: mhli <[email protected]>
trop[bot] 1 year ago
parent
commit
ef8c90a50a

+ 1 - 1
docs/api/desktop-capturer.md

@@ -91,7 +91,7 @@ The `desktopCapturer` module has the following methods:
 
 * `options` Object
   * `types` string[] - An array of strings that lists the types of desktop sources
-    to be captured, available types are `screen` and `window`.
+    to be captured, available types can be `screen` and `window`.
   * `thumbnailSize` [Size](structures/size.md) (optional) - The size that the media source thumbnail
     should be scaled to. Default is `150` x `150`. Set width or height to 0 when you do not need
     the thumbnails. This will save the processing time required for capturing the content of each

+ 1 - 1
docs/api/native-image.md

@@ -306,7 +306,7 @@ Returns `NativeImage` - The cropped image.
   * `width` Integer (optional) - Defaults to the image's width.
   * `height` Integer (optional) - Defaults to the image's height.
   * `quality` string (optional) - The desired quality of the resize image.
-    Possible values are `good`, `better`, or `best`. The default is `best`.
+    Possible values include `good`, `better`, or `best`. The default is `best`.
     These values express a desired quality/speed tradeoff. They are translated
     into an algorithm-specific method that depends on the capabilities
     (CPU, GPU) of the underlying platform. It is possible for all three methods

+ 3 - 3
docs/api/session.md

@@ -574,11 +574,11 @@ Clears the session’s HTTP cache.
 * `options` Object (optional)
   * `origin` string (optional) - Should follow `window.location.origin`’s representation
     `scheme://host:port`.
-  * `storages` string[] (optional) - The types of storages to clear, can contain:
+  * `storages` string[] (optional) - The types of storages to clear, can be
     `cookies`, `filesystem`, `indexdb`, `localstorage`,
     `shadercache`, `websql`, `serviceworkers`, `cachestorage`. If not
     specified, clear all storage types.
-  * `quotas` string[] (optional) - The types of quotas to clear, can contain:
+  * `quotas` string[] (optional) - The types of quotas to clear, can be
     `temporary`, `syncable`. If not specified, clear all quotas.
 
 Returns `Promise<void>` - resolves when the storage data has been cleared.
@@ -1113,7 +1113,7 @@ app.whenReady().then(() => {
 
 * `handler` Function\<string[]> | null
   * `details` Object
-    * `protectedClasses` string[] - The current list of protected USB classes. Possible class values are:
+    * `protectedClasses` string[] - The current list of protected USB classes. Possible class values include:
       * `audio`
       * `audio-video`
       * `hid`

+ 1 - 1
docs/api/web-contents.md

@@ -795,7 +795,7 @@ Returns:
   * `frameCharset` string - The character encoding of the frame on which the
     menu was invoked.
   * `inputFieldType` string - If the context menu was invoked on an input
-    field, the type of that field. Possible values are `none`, `plainText`,
+    field, the type of that field. Possible values include `none`, `plainText`,
     `password`, `other`.
   * `spellcheckEnabled` boolean - If the context is editable, whether or not spellchecking is enabled.
   * `menuSourceType` string - Input source that invoked the context menu.

+ 1 - 1
docs/api/webview-tag.md

@@ -1091,7 +1091,7 @@ Returns:
   * `frameCharset` string - The character encoding of the frame on which the
     menu was invoked.
   * `inputFieldType` string - If the context menu was invoked on an input
-    field, the type of that field. Possible values are `none`, `plainText`,
+    field, the type of that field. Possible values include `none`, `plainText`,
     `password`, `other`.
   * `spellcheckEnabled` boolean - If the context is editable, whether or not spellchecking is enabled.
   * `menuSourceType` string - Input source that invoked the context menu.

+ 3 - 4
spec/api-session-spec.ts

@@ -252,12 +252,11 @@ describe('session module', () => {
     it('clears localstorage data', async () => {
       const w = new BrowserWindow({ show: false, webPreferences: { nodeIntegration: true } });
       await w.loadFile(path.join(fixtures, 'api', 'localstorage.html'));
-      const options = {
+      await w.webContents.session.clearStorageData({
         origin: 'file://',
         storages: ['localstorage'],
-        quotas: ['persistent']
-      };
-      await w.webContents.session.clearStorageData(options);
+        quotas: ['temporary']
+      });
       while (await w.webContents.executeJavaScript('localStorage.length') !== 0) {
         // The storage clear isn't instantly visible to the renderer, so keep
         // trying until it is.

+ 20 - 0
spec/ts-smoke/electron/main.ts

@@ -526,6 +526,10 @@ dialog.showMessageBoxSync(win3, { message: 'test', type: 'foo' });
 
 ipcMain.handle('get-sources', (event, options) => desktopCapturer.getSources(options));
 
+desktopCapturer.getSources({ types: ['window', 'screen'] });
+// @ts-expect-error Invalid type value
+desktopCapturer.getSources({ types: ['unknown'] });
+
 // global-shortcut
 // https://github.com/electron/electron/blob/main/docs/api/global-shortcut.md
 
@@ -1029,6 +1033,12 @@ appIcon4.destroy();
 const image2 = nativeImage.createFromPath('/Users/somebody/images/icon.png');
 console.log(image2.getSize());
 
+image2.resize({ quality: 'best' });
+image2.resize({ quality: 'better' });
+image2.resize({ quality: 'good' });
+// @ts-expect-error Invalid type value
+image2.resize({ quality: 'bad' });
+
 // process
 // https://github.com/electron/electron/blob/main/docs/api/process.md
 
@@ -1132,6 +1142,16 @@ shell.writeShortcutLink('/home/user/Desktop/shortcut.lnk', 'update', shell.readS
 // session
 // https://github.com/electron/electron/blob/main/docs/api/session.md
 
+session.defaultSession.clearStorageData({ storages: ['cookies', 'filesystem'] });
+session.defaultSession.clearStorageData({ storages: ['localstorage', 'indexdb', 'serviceworkers'] });
+session.defaultSession.clearStorageData({ storages: ['shadercache', 'websql', 'cachestorage'] });
+// @ts-expect-error Invalid type value
+session.defaultSession.clearStorageData({ storages: ['wrong_path'] });
+
+session.defaultSession.clearStorageData({ quotas: ['syncable', 'temporary'] });
+// @ts-expect-error Invalid type value
+session.defaultSession.clearStorageData({ quotas: ['bad_type'] });
+
 session.defaultSession.on('will-download', (event, item, webContents) => {
   console.log('will-download', webContents.id);
   event.preventDefault();