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
JavaScript
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