UNPKG

ngx-electron-fresher

Version:

A wrapper for Electron Renderer APIs. Finally easy to use in Angular forked from ThorstenHans/ngx-electron

70 lines 8.49 kB
import * as Electron from 'electron'; import * as electron from "electron"; export class ElectronService { _electron; get electron() { if (!this._electron) { if (window && window.require) { this._electron = window.require('electron'); return this._electron; } return null; } return this._electron; } /** * determines if SPA is running in Electron */ get isElectronApp() { return !!window.navigator.userAgent.match(/Electron/); } get isMacOS() { return this.isElectronApp && process.platform === 'darwin'; } get isWindows() { return this.isElectronApp && process.platform === 'win32'; } get isLinux() { return this.isElectronApp && process.platform === 'linux'; } get isX86() { return this.isElectronApp && process.arch === 'ia32'; } get isX64() { return this.isElectronApp && process.arch === 'x64'; } get isArm() { return this.isElectronApp && process.arch === 'arm'; } get desktopCapturer() { return this.electron ? Electron.desktopCapturer : null; } get ipcRenderer() { return this.electron ? Electron.ipcRenderer : null; } get remote() { return this.electron ? Electron.webContents : null; } get webFrame() { return this.electron ? Electron.webFrame : null; } get clipboard() { return this.electron ? Electron.clipboard : null; } get crashReporter() { return this.electron ? electron.crashReporter : null; } get process() { return this.remote ? this.remote.process : null; } get nativeImage() { return this.electron ? Electron.nativeImage : null; } get screen() { return this.electron ? Electron.screen : null; } get shell() { return this.electron ? Electron.shell : null; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlY3Ryb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1lbGVjdHJvbi1mcmVzaC9zcmMvbGliL2VsZWN0cm9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLFFBQVEsTUFBTSxVQUFVLENBQUM7QUFFckMsT0FBTyxLQUFLLFFBQVEsTUFBTSxVQUFVLENBQUM7QUFJckMsTUFBTSxPQUFPLGVBQWU7SUFDaEIsU0FBUyxDQUFNO0lBRXZCLElBQVksUUFBUTtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNqQixJQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFO2dCQUMxQixJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQzVDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQzthQUN6QjtZQUNELE9BQU8sSUFBSSxDQUFDO1NBQ2Y7UUFDRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxhQUFhO1FBQ3BCLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2QsT0FBTyxJQUFJLENBQUMsYUFBYSxJQUFJLE9BQU8sQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDO0lBQy9ELENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDaEIsT0FBTyxJQUFJLENBQUMsYUFBYSxJQUFJLE9BQU8sQ0FBQyxRQUFRLEtBQUssT0FBTyxDQUFDO0lBQzlELENBQUM7SUFFRCxJQUFXLE9BQU87UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLElBQUksT0FBTyxDQUFDLFFBQVEsS0FBSyxPQUFPLENBQUM7SUFDOUQsQ0FBQztJQUVELElBQVcsS0FBSztRQUNaLE9BQU8sSUFBSSxDQUFDLGFBQWEsSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQztJQUN6RCxDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ1osT0FBTyxJQUFJLENBQUMsYUFBYSxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssS0FBSyxDQUFDO0lBQ3hELENBQUM7SUFFRCxJQUFXLEtBQUs7UUFDWixPQUFPLElBQUksQ0FBQyxhQUFhLElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxLQUFLLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQVcsZUFBZTtRQUN0QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUMzRCxDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3ZELENBQUM7SUFFRCxJQUFXLE1BQU07UUFDYixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUN2RCxDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2YsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDcEQsQ0FBQztJQUVELElBQVcsU0FBUztRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNyRCxDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3pELENBQUM7SUFFRCxJQUFXLE9BQU87UUFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDcEQsQ0FBQztJQUVELElBQVcsV0FBVztRQUNsQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUN2RCxDQUFDO0lBRUQsSUFBVyxNQUFNO1FBQ2IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDbEQsQ0FBQztJQUVELElBQVcsS0FBSztRQUNaLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ2pELENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIEVsZWN0cm9uIGZyb20gJ2VsZWN0cm9uJztcbmltcG9ydCB7IEVsZWN0cm9uV2luZG93IH0gZnJvbSAnLi90eXBpbmdzL2VsZWN0cm9uLndpbmRvdyc7XG5pbXBvcnQgKiBhcyBlbGVjdHJvbiBmcm9tIFwiZWxlY3Ryb25cIjtcblxuZGVjbGFyZSBsZXQgd2luZG93OiBFbGVjdHJvbldpbmRvdztcblxuZXhwb3J0IGNsYXNzIEVsZWN0cm9uU2VydmljZSB7XG4gICAgcHJpdmF0ZSBfZWxlY3Ryb246IGFueTtcblxuICAgIHByaXZhdGUgZ2V0IGVsZWN0cm9uKCk6IEVsZWN0cm9uLklwY1JlbmRlcmVyIHtcbiAgICAgICAgaWYgKCF0aGlzLl9lbGVjdHJvbikge1xuICAgICAgICAgICAgaWYgKHdpbmRvdyAmJiB3aW5kb3cucmVxdWlyZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2VsZWN0cm9uID0gd2luZG93LnJlcXVpcmUoJ2VsZWN0cm9uJyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2VsZWN0cm9uO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuX2VsZWN0cm9uO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGRldGVybWluZXMgaWYgU1BBIGlzIHJ1bm5pbmcgaW4gRWxlY3Ryb25cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGlzRWxlY3Ryb25BcHAoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9FbGVjdHJvbi8pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaXNNYWNPUygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNFbGVjdHJvbkFwcCAmJiBwcm9jZXNzLnBsYXRmb3JtID09PSAnZGFyd2luJztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGlzV2luZG93cygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNFbGVjdHJvbkFwcCAmJiBwcm9jZXNzLnBsYXRmb3JtID09PSAnd2luMzInO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaXNMaW51eCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNFbGVjdHJvbkFwcCAmJiBwcm9jZXNzLnBsYXRmb3JtID09PSAnbGludXgnO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaXNYODYoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzRWxlY3Ryb25BcHAgJiYgcHJvY2Vzcy5hcmNoID09PSAnaWEzMic7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBpc1g2NCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNFbGVjdHJvbkFwcCAmJiBwcm9jZXNzLmFyY2ggPT09ICd4NjQnO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaXNBcm0oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzRWxlY3Ryb25BcHAgJiYgcHJvY2Vzcy5hcmNoID09PSAnYXJtJztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGRlc2t0b3BDYXB0dXJlcigpOiBFbGVjdHJvbi5EZXNrdG9wQ2FwdHVyZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVjdHJvbiA/IEVsZWN0cm9uLmRlc2t0b3BDYXB0dXJlciA6IG51bGw7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBpcGNSZW5kZXJlcigpOiBFbGVjdHJvbi5JcGNSZW5kZXJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZWN0cm9uID8gRWxlY3Ryb24uaXBjUmVuZGVyZXIgOiBudWxsO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcmVtb3RlKCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZWN0cm9uID8gRWxlY3Ryb24ud2ViQ29udGVudHMgOiBudWxsO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgd2ViRnJhbWUoKTogRWxlY3Ryb24uV2ViRnJhbWUge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVjdHJvbiA/IEVsZWN0cm9uLndlYkZyYW1lIDogbnVsbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGNsaXBib2FyZCgpOiBFbGVjdHJvbi5DbGlwYm9hcmQge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVjdHJvbiA/IEVsZWN0cm9uLmNsaXBib2FyZCA6IG51bGw7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBjcmFzaFJlcG9ydGVyKCk6IEVsZWN0cm9uLkNyYXNoUmVwb3J0ZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVjdHJvbiA/IGVsZWN0cm9uLmNyYXNoUmVwb3J0ZXIgOiBudWxsO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcHJvY2VzcygpOiBhbnkge1xuICAgICAgICByZXR1cm4gdGhpcy5yZW1vdGUgPyB0aGlzLnJlbW90ZS5wcm9jZXNzIDogbnVsbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IG5hdGl2ZUltYWdlKCk6IHR5cGVvZiBFbGVjdHJvbi5uYXRpdmVJbWFnZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZWN0cm9uID8gRWxlY3Ryb24ubmF0aXZlSW1hZ2UgOiBudWxsO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgc2NyZWVuKCk6IEVsZWN0cm9uLlNjcmVlbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZWN0cm9uID8gRWxlY3Ryb24uc2NyZWVuIDogbnVsbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHNoZWxsKCk6IEVsZWN0cm9uLlNoZWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlY3Ryb24gPyBFbGVjdHJvbi5zaGVsbCA6IG51bGw7XG4gICAgfVxufVxuIl19