diff options
| -rw-r--r-- | flow-libs/electron.js.flow | 160 | ||||
| -rw-r--r-- | flow-libs/history.js.flow | 24 | ||||
| -rw-r--r-- | flow-libs/nseventmonitor.js.flow | 42 | ||||
| -rw-r--r-- | flow-typed/npm/electron-log_vx.x.x.js | 4 | ||||
| -rw-r--r-- | flow-typed/npm/sudo-prompt_vx.x.x.js | 4 |
5 files changed, 214 insertions, 20 deletions
diff --git a/flow-libs/electron.js.flow b/flow-libs/electron.js.flow index e1157020d5..98358003aa 100644 --- a/flow-libs/electron.js.flow +++ b/flow-libs/electron.js.flow @@ -1,7 +1,6 @@ -/** - * Flow annotations for Electron - * @flow - */ +// @flow + +import EventEmitter from 'events'; declare module 'electron' { @@ -19,6 +18,38 @@ declare module 'electron' { y: number; } + // http://electron.atom.io/docs/api/app + + declare class App extends EventEmitter { + getPath(name: string): string; + setPath(name: string, path: string): void; + quit(): void; + } + + // http://electron.atom.io/docs/api/shell + declare type OpenExternalOptions = { + activate: boolean; + } + + declare class Shell { + openExternal(url: string, options?: OpenExternalOptions, callback: (error: Error) => void): boolean; + } + + // http://electron.atom.io/docs/api/remote + + declare class Remote { + app: App; + getCurrentWindow(): BrowserWindow; + getCurrentWebContents(): WebContents; + getGlobal(name: string): ?mixed; + } + + // http://electron.atom.io/docs/api/clipboard + + declare class Clipboard { + writeText(text: string, type?: string): void; + } + // http://electron.atom.io/docs/api/native-image declare class NativeImage { @@ -26,26 +57,123 @@ declare module 'electron' { getSize(): Size; } - declare var nativeImage: { - createEmpty(): NativeImage, - createFromPath(path: string): NativeImage, - createFromBuffer(buffer: Buffer, scaleFactor?: number): NativeImage, - createFromDataURL(dataURL: string): NativeImage, - } - // http://electron.atom.io/docs/api/tray - declare type TrayEvent = 'click' | 'double-click' - declare class Tray { + declare class Tray extends EventEmitter { constructor(image: NativeImage | string): void; getBounds(): Rectangle; setHighlightMode(mode: 'selection' | 'always' | 'never'): void; setImage(image: NativeImage | string): void; setPressedImage(image: NativeImage | string): void; + } + + // http://electron.atom.io/docs/api/web-frame + + declare class WebFrame extends EventEmitter { + setZoomLevelLimits(minimumLevel: number, maximumLevel: number): void; + } + + // http://electron.atom.io/docs/api/ipc-renderer + + declare class IpcRenderer extends EventEmitter { + send(channel: string, ...args: Array<mixed>): void; + } + + // http://electron.atom.io/docs/api/ipc-main - on(event: TrayEvent, listener: Function): this; - once(event: TrayEvent, listener: Function): this; - removeEventListener(event: TrayEvent, listener: Function): this; + declare class IpcMain extends EventEmitter {} + + declare class WebContents extends EventEmitter {} + + // http://electron.atom.io/docs/api/browser-window + + declare type OpenDevToolsOptions = { + mode: 'right' | 'bottom' | 'undocked' | 'detach'; + } + + declare type WebPreferences = { + backgroundThrottling?: boolean; + scrollBounce?: boolean; + blinkFeatures?: string; + disableBlinkFeatures?: string; + } + + declare type BrowserWindowConstructorOptions = { + width?: number; + height?: number; + resizable?: boolean; + maximizable?: boolean; + fullscreenable?: boolean; + show?: boolean; + frame?: boolean; + transparent?: boolean; + webPreferences?: WebPreferences; + } + + declare type LoadURLOptions = { + userAgent?: string; + } + + declare class BrowserWindow extends EventEmitter { + constructor(options: ?BrowserWindowConstructorOptions): this; + isVisible(): boolean; + show(): void; + hide(): void; + focus(): void; + setPosition(x: number, y: number, animate?: boolean): void; + getBounds(): Rectangle; + inspectElement(x: number, y: number): void; + isDevToolsOpened(): boolean;isDevToolsOpened(): boolean; + openDevTools(options?: OpenDevToolsOptions): void; + closeDevTools(): void; + loadURL(url: string, options?: LoadURLOptions): void; + webContents: WebContents; + } + + // http://electron.atom.io/docs/api/menu-item + declare class MenuItem {} + + // http://electron.atom.io/docs/api/menu + + declare type MenuItemConstructorOptions = { + type?: 'normal' | 'separator' | 'submenu' | 'checkbox' | 'radio'; + label?: string; + role?: string; + click?: (menuItem: MenuItem, browserWindow: BrowserWindow, event: Event) => void; + } + + declare type PopupOptions = { + x?: number; + y?: number; + } + + declare class Menu { + static buildFromTemplate(template: Array<MenuItemConstructorOptions>): Menu; + static setApplicationMenu(menu: Menu): void; + popup(browserWindow?: BrowserWindow, options?: PopupOptions): void; + } + + // http://electron.atom.io/docs/api/app + + declare class App extends EventEmitter { + setPath(name: string, path: string): void; + getPath(name: string): string; + quit(): void; } + // MainInterface + + declare var nativeImage: { + createEmpty(): NativeImage, + createFromPath(path: string): NativeImage, + createFromBuffer(buffer: Buffer, scaleFactor?: number): NativeImage, + createFromDataURL(dataURL: string): NativeImage + }; + declare var webFrame: WebFrame; + declare var app: App; + declare var ipcRenderer: IpcRenderer; + declare var ipcMain: IpcMain; + declare var remote: Remote; + declare var shell: Shell; + declare var clipboard: Clipboard; }
\ No newline at end of file diff --git a/flow-libs/history.js.flow b/flow-libs/history.js.flow new file mode 100644 index 0000000000..69c25e2011 --- /dev/null +++ b/flow-libs/history.js.flow @@ -0,0 +1,24 @@ +// @flow + +declare module 'history' { + + declare class History { + length: number; + action: string; + location: string; + index: number; + entries: Array<string>; + createHref(location: string): string; + push(path: string): void; + replace(path: string): void; + go(index: number): void; + goBack(): void; + goForward(): void; + canGo(index: number): boolean; + block(prompt?: boolean): void; + listen(listener: (location: string, action: string) => void): void; + } + + declare function createMemoryHistory(): History; + +}
\ No newline at end of file diff --git a/flow-libs/nseventmonitor.js.flow b/flow-libs/nseventmonitor.js.flow new file mode 100644 index 0000000000..33b0c06966 --- /dev/null +++ b/flow-libs/nseventmonitor.js.flow @@ -0,0 +1,42 @@ +declare module 'nseventmonitor' { + + declare export class NSEventMonitor { + start(eventMask: number, handler: () => void): void; + stop(): void; + } + + declare export var NSEventMask: { + leftMouseDown: number; + leftMouseUp: number; + rightMouseDown: number; + rightMouseUp: number; + mouseMoved: number; + leftMouseDragged: number; + rightMouseDragged: number; + mouseEntered: number; + mouseExited: number; + keyDown: number; + keyUp: number; + flagsChanged: number; + appKitDefined: number; + applicationDefined: number; + periodic: number; + cursorUpdate: number; + scrollWheel: number; + tabletPoint: number; + tabletProximity: number; + otherMouseDown: number; + otherMouseUp: number; + otherMouseDragged: number; + gesture: number; + magnify: number; + swipe: number; + rotate: number; + beginGesture: number; + endGesture: number; + smartMagnify: number; + maskPressure: number; + directTouch: number; + any: number; + } +}
\ No newline at end of file diff --git a/flow-typed/npm/electron-log_vx.x.x.js b/flow-typed/npm/electron-log_vx.x.x.js index 021fae4cdf..ea47a182aa 100644 --- a/flow-typed/npm/electron-log_vx.x.x.js +++ b/flow-typed/npm/electron-log_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 8f24be350d06d53ea4029a4a47f3c9ed -// flow-typed version: <<STUB>>/electron-log_v^2.2.0/flow_v0.46.0 +// flow-typed signature: a2b1f23f2fe8286d15c43e28d1f28578 +// flow-typed version: <<STUB>>/electron-log_v2.2.6/flow_v0.48.0 /** * This is an autogenerated libdef stub for: diff --git a/flow-typed/npm/sudo-prompt_vx.x.x.js b/flow-typed/npm/sudo-prompt_vx.x.x.js index 78a3eeda38..3c762d1dca 100644 --- a/flow-typed/npm/sudo-prompt_vx.x.x.js +++ b/flow-typed/npm/sudo-prompt_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 9f8752969e81b3c77889d339ee49deb6 -// flow-typed version: <<STUB>>/sudo-prompt_v^7.0.0/flow_v0.46.0 +// flow-typed signature: ff03b3d5b4912b377eef1ed260d6968f +// flow-typed version: <<STUB>>/sudo-prompt_v7.0.0/flow_v0.48.0 /** * This is an autogenerated libdef stub for: |
