chore: app group optimizations (#1027)
This commit is contained in:
23
app/assets/javascripts/UIModels/AppState/AbstractState.ts
Normal file
23
app/assets/javascripts/UIModels/AppState/AbstractState.ts
Normal file
@@ -0,0 +1,23 @@
|
||||
import { DeinitSource } from '@standardnotes/snjs'
|
||||
import { WebApplication } from '../Application'
|
||||
|
||||
export function isStateDealloced(state: AbstractState): boolean {
|
||||
return state.dealloced == undefined || state.dealloced === true
|
||||
}
|
||||
|
||||
export abstract class AbstractState {
|
||||
application: WebApplication
|
||||
appState?: AbstractState
|
||||
dealloced = false
|
||||
|
||||
constructor(application: WebApplication, appState?: AbstractState) {
|
||||
this.application = application
|
||||
this.appState = appState
|
||||
}
|
||||
|
||||
deinit(_source: DeinitSource): void {
|
||||
this.dealloced = true
|
||||
;(this.application as unknown) = undefined
|
||||
;(this.appState as unknown) = undefined
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user