* refactor: prevent consistent early exception * Use _linkedBinding where possible * Remove dead electronBinding
		
			
				
	
	
		
			22 lines
		
	
	
	
		
			902 B
			
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
	
		
			902 B
			
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import { ipcRendererInternal } from '@electron/internal/renderer/ipc-renderer-internal';
 | 
						|
import { deserialize } from '@electron/internal/common/type-utils';
 | 
						|
 | 
						|
const { hasSwitch } = process._linkedBinding('electron_common_command_line');
 | 
						|
 | 
						|
const enableStacks = hasSwitch('enable-api-filtering-logging');
 | 
						|
 | 
						|
function getCurrentStack () {
 | 
						|
  const target = {};
 | 
						|
  if (enableStacks) {
 | 
						|
    Error.captureStackTrace(target, getCurrentStack);
 | 
						|
  }
 | 
						|
  return (target as any).stack;
 | 
						|
}
 | 
						|
 | 
						|
export async function getSources (options: Electron.SourcesOptions) {
 | 
						|
  return deserialize(await ipcRendererInternal.invoke('ELECTRON_BROWSER_DESKTOP_CAPTURER_GET_SOURCES', options, getCurrentStack()));
 | 
						|
}
 | 
						|
 | 
						|
export function getMediaSourceIdForWebContents (webContentsId: number) {
 | 
						|
  return ipcRendererInternal.invoke<string>('ELECTRON_BROWSER_DESKTOP_CAPTURER_GET_MEDIA_SOURCE_ID_FOR_WEB_CONTENTS', webContentsId, getCurrentStack());
 | 
						|
}
 |