UNPKG

@benliam12/ngx-electron

Version:

An Angular wrapper for Electron's Renderer APIs

67 lines 8.71 kB
export class ElectronService { 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 ? this.electron.desktopCapturer : null; } get ipcRenderer() { return this.electron ? this.electron.ipcRenderer : null; } get remote() { return this.electron ? this.electron.remote : null; } get webFrame() { return this.electron ? this.electron.webFrame : null; } get clipboard() { return this.electron ? this.electron.clipboard : null; } get crashReporter() { return this.electron ? this.electron.crashReporter : null; } get process() { return this.remote ? this.remote.process : null; } get nativeImage() { return this.electron ? this.electron.nativeImage : null; } get screen() { return this.electron ? this.remote.screen : null; } get shell() { return this.electron ? this.electron.shell : null; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlY3Ryb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1lbGVjdHJvbi9zcmMvbGliL2VsZWN0cm9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsTUFBTSxPQUFPLGVBQWU7SUFHeEIsSUFBWSxRQUFRO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2pCLElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUU7Z0JBQzFCLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDNUMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO2FBQ3pCO1lBQ0QsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUNELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLGFBQWE7UUFDcEIsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCxJQUFXLE9BQU87UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLElBQUksT0FBTyxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUM7SUFDL0QsQ0FBQztJQUVELElBQVcsU0FBUztRQUNoQixPQUFPLElBQUksQ0FBQyxhQUFhLElBQUksT0FBTyxDQUFDLFFBQVEsS0FBSyxPQUFPLENBQUM7SUFDOUQsQ0FBQztJQUVELElBQVcsT0FBTztRQUNkLE9BQU8sSUFBSSxDQUFDLGFBQWEsSUFBSSxPQUFPLENBQUMsUUFBUSxLQUFLLE9BQU8sQ0FBQztJQUM5RCxDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ1osT0FBTyxJQUFJLENBQUMsYUFBYSxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDO0lBQ3pELENBQUM7SUFFRCxJQUFXLEtBQUs7UUFDWixPQUFPLElBQUksQ0FBQyxhQUFhLElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxLQUFLLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQVcsS0FBSztRQUNaLE9BQU8sSUFBSSxDQUFDLGFBQWEsSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQztJQUN4RCxDQUFDO0lBRUQsSUFBVyxlQUFlO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNoRSxDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUM1RCxDQUFDO0lBRUQsSUFBVyxNQUFNO1FBQ2IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3ZELENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDZixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDekQsQ0FBQztJQUVELElBQVcsU0FBUztRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDMUQsQ0FBQztJQUVELElBQVcsYUFBYTtRQUNwQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDOUQsQ0FBQztJQUVELElBQVcsT0FBTztRQUNkLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNwRCxDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUM1RCxDQUFDO0lBRUQsSUFBVyxNQUFNO1FBQ2IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3JELENBQUM7SUFFRCxJQUFXLEtBQUs7UUFDWixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDdEQsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgRWxlY3Ryb24gZnJvbSAnZWxlY3Ryb24nO1xyXG5pbXBvcnQgeyBFbGVjdHJvbldpbmRvdyB9IGZyb20gJy4vdHlwaW5ncy9lbGVjdHJvbi53aW5kb3cnO1xyXG5cclxuZGVjbGFyZSBsZXQgd2luZG93OiBFbGVjdHJvbldpbmRvdztcclxuXHJcbmV4cG9ydCBjbGFzcyBFbGVjdHJvblNlcnZpY2Uge1xyXG4gICAgcHJpdmF0ZSBfZWxlY3Ryb246YW55O1xyXG5cclxuICAgIHByaXZhdGUgZ2V0IGVsZWN0cm9uKCk6YW55IHtcclxuICAgICAgICBpZiAoIXRoaXMuX2VsZWN0cm9uKSB7XHJcbiAgICAgICAgICAgIGlmICh3aW5kb3cgJiYgd2luZG93LnJlcXVpcmUpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2VsZWN0cm9uID0gd2luZG93LnJlcXVpcmUoJ2VsZWN0cm9uJyk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fZWxlY3Ryb247XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0aGlzLl9lbGVjdHJvbjtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIGRldGVybWluZXMgaWYgU1BBIGlzIHJ1bm5pbmcgaW4gRWxlY3Ryb25cclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldCBpc0VsZWN0cm9uQXBwKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiAhIXdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9FbGVjdHJvbi8pO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgaXNNYWNPUygpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5pc0VsZWN0cm9uQXBwICYmIHByb2Nlc3MucGxhdGZvcm0gPT09ICdkYXJ3aW4nO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgaXNXaW5kb3dzKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmlzRWxlY3Ryb25BcHAgJiYgcHJvY2Vzcy5wbGF0Zm9ybSA9PT0gJ3dpbjMyJztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IGlzTGludXgoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNFbGVjdHJvbkFwcCAmJiBwcm9jZXNzLnBsYXRmb3JtID09PSAnbGludXgnO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgaXNYODYoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNFbGVjdHJvbkFwcCAmJiBwcm9jZXNzLmFyY2ggPT09ICdpYTMyJztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IGlzWDY0KCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmlzRWxlY3Ryb25BcHAgJiYgcHJvY2Vzcy5hcmNoID09PSAneDY0JztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IGlzQXJtKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmlzRWxlY3Ryb25BcHAgJiYgcHJvY2Vzcy5hcmNoID09PSAnYXJtJztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IGRlc2t0b3BDYXB0dXJlcigpOiBFbGVjdHJvbi5EZXNrdG9wQ2FwdHVyZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmVsZWN0cm9uID8gdGhpcy5lbGVjdHJvbi5kZXNrdG9wQ2FwdHVyZXIgOiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgaXBjUmVuZGVyZXIoKTogRWxlY3Ryb24uSXBjUmVuZGVyZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmVsZWN0cm9uID8gdGhpcy5lbGVjdHJvbi5pcGNSZW5kZXJlciA6IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCByZW1vdGUoKTogYW55IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5lbGVjdHJvbiA/IHRoaXMuZWxlY3Ryb24ucmVtb3RlIDogbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IHdlYkZyYW1lKCk6IEVsZWN0cm9uLldlYkZyYW1lIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5lbGVjdHJvbiA/IHRoaXMuZWxlY3Ryb24ud2ViRnJhbWUgOiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgY2xpcGJvYXJkKCk6IEVsZWN0cm9uLkNsaXBib2FyZCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlY3Ryb24gPyB0aGlzLmVsZWN0cm9uLmNsaXBib2FyZCA6IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBjcmFzaFJlcG9ydGVyKCk6IEVsZWN0cm9uLkNyYXNoUmVwb3J0ZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmVsZWN0cm9uID8gdGhpcy5lbGVjdHJvbi5jcmFzaFJlcG9ydGVyIDogbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IHByb2Nlc3MoKTogYW55IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5yZW1vdGUgPyB0aGlzLnJlbW90ZS5wcm9jZXNzIDogbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IG5hdGl2ZUltYWdlKCk6IHR5cGVvZiBFbGVjdHJvbi5uYXRpdmVJbWFnZSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlY3Ryb24gPyB0aGlzLmVsZWN0cm9uLm5hdGl2ZUltYWdlIDogbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IHNjcmVlbigpOiBFbGVjdHJvbi5TY3JlZW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmVsZWN0cm9uID8gdGhpcy5yZW1vdGUuc2NyZWVuIDogbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IHNoZWxsKCk6IEVsZWN0cm9uLlNoZWxsIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5lbGVjdHJvbiA/IHRoaXMuZWxlY3Ryb24uc2hlbGwgOiBudWxsO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==