ing
This commit is contained in:
		
							parent
							
								
									f6ad0caac5
								
							
						
					
					
						commit
						f6834722b8
					
				
							
								
								
									
										20
									
								
								.vscode/settings.json
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										20
									
								
								.vscode/settings.json
									
									
									
									
										vendored
									
									
								
							| @ -1,11 +1,13 @@ | ||||
| { | ||||
|     "editor.tabSize": 2, | ||||
|     "editor.insertSpaces": true, | ||||
|     "editor.formatOnSave": true, | ||||
|     "editor.formatOnPaste": true, | ||||
|     "editor.autoClosingBrackets": true, | ||||
|     "editor.trimAutoWhitespace": true, | ||||
|     "files.trimTrailingWhitespace": true, | ||||
|     "files.trimFinalNewlines": true, | ||||
|     "git.ignoreLimitWarning": true, | ||||
|   "editor.tabSize": 2, | ||||
|   "editor.insertSpaces": true, | ||||
|   "editor.formatOnSave": true, | ||||
|   "editor.formatOnPaste": true, | ||||
|   "editor.autoClosingBrackets": true, | ||||
|   "editor.trimAutoWhitespace": true, | ||||
|   "files.trimTrailingWhitespace": true, | ||||
|   "files.trimFinalNewlines": true, | ||||
|   "git.ignoreLimitWarning": true, | ||||
| 
 | ||||
|   "prettier.singleQuote": true | ||||
| } | ||||
| @ -39,6 +39,7 @@ | ||||
|     "@ngrx/schematics": "^6.1.0", | ||||
|     "@ngrx/store": "^6.1.0", | ||||
|     "@ngrx/store-devtools": "^6.1.0", | ||||
|     "@overflow/rpc-js": "0.0.4", | ||||
|     "@types/fs-extra": "^5.0.4", | ||||
|     "@types/jasmine": "~2.8.6", | ||||
|     "@types/jasminewd2": "~2.0.3", | ||||
|  | ||||
| @ -13,7 +13,7 @@ export class AppComponent implements OnInit { | ||||
|   public constructor( | ||||
|     private electronProxyService: ElectronProxyService, | ||||
|   ) { | ||||
|     this.showTitleBar = __WIN32__; | ||||
|     this.showTitleBar = !__LINUX__; | ||||
|   } | ||||
| 
 | ||||
|   ngOnInit(): void { | ||||
|  | ||||
| @ -8,16 +8,12 @@ const DatabaseVersion = 1; | ||||
|   providedIn: 'root' | ||||
| }) | ||||
| export class DatabaseService extends Dexie { | ||||
| 
 | ||||
|   public launches!: Dexie.Table<LaunchState, number> | ||||
| 
 | ||||
|   public launches!: Dexie.Table<LaunchState, number>; | ||||
| 
 | ||||
|   public constructor() { | ||||
|     super('overflow-scanner'); | ||||
|     this.version(1).stores({ | ||||
|       launches: '++', | ||||
|       launches: '++' | ||||
|     }); | ||||
| 
 | ||||
|   } | ||||
| 
 | ||||
| } | ||||
|  | ||||
| @ -12,35 +12,36 @@ import { LaunchService } from './launch.service'; | ||||
|   providedIn: 'root' | ||||
| }) | ||||
| export class ElectronProxyService { | ||||
| 
 | ||||
|   public constructor( | ||||
|     private store: Store<any>, | ||||
|     private launchService: LaunchService, | ||||
|     private launchService: LaunchService | ||||
|   ) { | ||||
|     this.bindIpcEventHandlers(); | ||||
|   } | ||||
| 
 | ||||
|   private bindIpcEventHandlers(): void { | ||||
|     ipcRenderer.on('menu-event', | ||||
|       (event: Electron.IpcMessageEvent, { name }: { name: MenuEvent }) => { | ||||
| 
 | ||||
|       } | ||||
|     ipcRenderer.on( | ||||
|       'menu-event', | ||||
|       (event: Electron.IpcMessageEvent, { name }: { name: MenuEvent }) => {} | ||||
|     ); | ||||
| 
 | ||||
|     ipcRenderer.on('launch-timing-stats', | ||||
|     ipcRenderer.on( | ||||
|       'launch-timing-stats', | ||||
|       (event: Electron.IpcMessageEvent, { state }: { state: LaunchState }) => { | ||||
|         console.info(`App ready time: ${state.mainReadyTime}ms`); | ||||
|         console.info(`Load time: ${state.loadTime}ms`); | ||||
|         console.info(`Renderer ready time: ${state.rendererReadyTime}ms`); | ||||
| 
 | ||||
|         this.launchService.save(state).pipe( | ||||
|           map((id: number) => { | ||||
|           }), | ||||
|           catchError(error => { | ||||
|             return of(); | ||||
|           }), | ||||
|           take(1), | ||||
|         ).subscribe(); | ||||
|         this.launchService | ||||
|           .save(state) | ||||
|           .pipe( | ||||
|             map((id: number) => {}), | ||||
|             catchError(error => { | ||||
|               return of(); | ||||
|             }), | ||||
|             take(1) | ||||
|           ) | ||||
|           .subscribe(); | ||||
|       } | ||||
|     ); | ||||
|   } | ||||
| @ -52,5 +53,4 @@ export class ElectronProxyService { | ||||
|   public getAppMenu(): void { | ||||
|     ipcRenderer.send('get-app-menu'); | ||||
|   } | ||||
| 
 | ||||
| } | ||||
|  | ||||
| @ -1,9 +1,11 @@ | ||||
| import { DatabaseService } from './database.service'; | ||||
| import { ElectronProxyService } from './electron-proxy.service'; | ||||
| import { LaunchService } from './launch.service'; | ||||
| import { ProbeService } from './probe.service'; | ||||
| 
 | ||||
| export const SERVICES = [ | ||||
|   DatabaseService, | ||||
|   ElectronProxyService, | ||||
|   LaunchService, | ||||
|   ProbeService | ||||
| ]; | ||||
|  | ||||
| @ -4,21 +4,15 @@ import { Observable, defer } from 'rxjs'; | ||||
| import { DatabaseService } from './database.service'; | ||||
| import { LaunchState } from '../model'; | ||||
| 
 | ||||
| 
 | ||||
| @Injectable({ | ||||
|   providedIn: 'root' | ||||
| }) | ||||
| export class LaunchService { | ||||
| 
 | ||||
|   public constructor( | ||||
|     private readonly databaseService: DatabaseService, | ||||
|   ) { | ||||
|   } | ||||
|   public constructor(private readonly databaseService: DatabaseService) {} | ||||
| 
 | ||||
|   public save(launchState: LaunchState): Observable<number> { | ||||
|     return defer(async () => { | ||||
|       return await this.databaseService.launches.add(launchState); | ||||
|     }); | ||||
|   } | ||||
| 
 | ||||
| } | ||||
|  | ||||
							
								
								
									
										29
									
								
								src/commons/service/probe.service.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								src/commons/service/probe.service.ts
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,29 @@ | ||||
| import { Injectable } from '@angular/core'; | ||||
| import { | ||||
|   Client, | ||||
|   ClientNotificationCodec, | ||||
|   RxWebsocketRWC, | ||||
|   RxWebsocketSubjectConfig, | ||||
|   JSONClientCodec | ||||
| } from '@overflow/rpc-js'; | ||||
| import { Subscription } from 'rxjs'; | ||||
| 
 | ||||
| @Injectable() | ||||
| export class ProbeService { | ||||
|   private probeClient: Client; | ||||
|   private notiSubscription: Subscription; | ||||
| 
 | ||||
|   public constructor() { | ||||
|     const config: RxWebsocketSubjectConfig<any> = { | ||||
|       url: '' | ||||
|     }; | ||||
|     const rwc = new RxWebsocketRWC(config); | ||||
|     const codec = new JSONClientCodec(); | ||||
|     this.probeClient = new Client(codec, rwc); | ||||
|     this.notiSubscription = this.probeClient | ||||
|       .notification() | ||||
|       .subscribe((notiCodec: ClientNotificationCodec) => { | ||||
|         console.log(notiCodec.method()); | ||||
|       }); | ||||
|   } | ||||
| } | ||||
| @ -10,7 +10,7 @@ | ||||
|   <link rel="icon" type="image/x-icon" href="favicon.ico"> | ||||
| </head> | ||||
| 
 | ||||
| <body class="platform-win32 theme-light"> | ||||
| <body class="platform-darwin theme-light"> | ||||
|   <app-root></app-root> | ||||
| </body> | ||||
| 
 | ||||
|  | ||||
							
								
								
									
										53
									
								
								tslint.json
									
									
									
									
									
								
							
							
						
						
									
										53
									
								
								tslint.json
									
									
									
									
									
								
							| @ -1,36 +1,22 @@ | ||||
| { | ||||
|   "rulesDirectory": [ | ||||
|     "node_modules/codelyzer" | ||||
|   ], | ||||
|   "rulesDirectory": ["node_modules/codelyzer"], | ||||
|   "rules": { | ||||
|     "arrow-return-shorthand": true, | ||||
|     "callable-types": true, | ||||
|     "class-name": true, | ||||
|     "comment-format": [ | ||||
|       true, | ||||
|       "check-space" | ||||
|     ], | ||||
|     "comment-format": [true, "check-space"], | ||||
|     "curly": true, | ||||
|     "deprecation": { | ||||
|       "severity": "warn" | ||||
|     }, | ||||
|     "eofline": true, | ||||
|     "forin": true, | ||||
|     "import-blacklist": [ | ||||
|       true, | ||||
|       "rxjs/Rx" | ||||
|     ], | ||||
|     "import-blacklist": [true, "rxjs/Rx"], | ||||
|     "import-spacing": true, | ||||
|     "indent": [ | ||||
|       true, | ||||
|       "spaces" | ||||
|     ], | ||||
|     "indent": [true, "spaces"], | ||||
|     "interface-over-type-literal": true, | ||||
|     "label-position": true, | ||||
|     "max-line-length": [ | ||||
|       true, | ||||
|       140 | ||||
|     ], | ||||
|     "max-line-length": [true, 140], | ||||
|     "member-access": false, | ||||
|     "member-ordering": [ | ||||
|       true, | ||||
| @ -45,24 +31,14 @@ | ||||
|     ], | ||||
|     "no-arg": true, | ||||
|     "no-bitwise": true, | ||||
|     "no-console": [ | ||||
|       false, | ||||
|       "debug", | ||||
|       "info", | ||||
|       "time", | ||||
|       "timeEnd", | ||||
|       "trace" | ||||
|     ], | ||||
|     "no-console": [false, "debug", "info", "time", "timeEnd", "trace"], | ||||
|     "no-construct": true, | ||||
|     "no-debugger": true, | ||||
|     "no-duplicate-super": true, | ||||
|     "no-empty": false, | ||||
|     "no-empty-interface": true, | ||||
|     "no-eval": true, | ||||
|     "no-inferrable-types": [ | ||||
|       true, | ||||
|       "ignore-params" | ||||
|     ], | ||||
|     "no-inferrable-types": [true, "ignore-params"], | ||||
|     "no-misused-new": true, | ||||
|     "no-non-null-assertion": true, | ||||
|     "no-shadowed-variable": true, | ||||
| @ -83,19 +59,10 @@ | ||||
|       "check-whitespace" | ||||
|     ], | ||||
|     "prefer-const": true, | ||||
|     "quotemark": [ | ||||
|       true, | ||||
|       "single" | ||||
|     ], | ||||
|     "quotemark": [true, "single"], | ||||
|     "radix": true, | ||||
|     "semicolon": [ | ||||
|       true, | ||||
|       "always" | ||||
|     ], | ||||
|     "triple-equals": [ | ||||
|       true, | ||||
|       "allow-null-check" | ||||
|     ], | ||||
|     "semicolon": [true, "always"], | ||||
|     "triple-equals": [true, "allow-null-check"], | ||||
|     "typedef-whitespace": [ | ||||
|       true, | ||||
|       { | ||||
|  | ||||
| @ -224,6 +224,13 @@ | ||||
|     tree-kill "^1.0.0" | ||||
|     webpack-sources "^1.1.0" | ||||
| 
 | ||||
| "@overflow/rpc-js@0.0.4": | ||||
|   version "0.0.4" | ||||
|   resolved "https://nexus.loafle.net/repository/npm-all/@overflow/rpc-js/-/rpc-js-0.0.4.tgz#083577e4ca372c62bd8a529c29acca0163a1f6b6" | ||||
|   dependencies: | ||||
|     rxjs "^6.2.2" | ||||
|     url-join "^4.0.0" | ||||
| 
 | ||||
| "@schematics/angular@0.7.3": | ||||
|   version "0.7.3" | ||||
|   resolved "https://nexus.loafle.net/repository/npm-all/@schematics/angular/-/angular-0.7.3.tgz#d4a33a78b152bded557efddba4616a8fafa9ae24" | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user