Migrate app to TypeScript (#1637)

* Initial setup and migrated src/common

* WIP

* WIP

* WIP

* Main module basically finished

* Renderer process migrated

* Added CI step and some fixes

* Fixed remainder of issues and added proper ESLint config

* Fixed a couple issues

* Progress!

* Some more fixes

* Fixed a test

* Fix build step

* PR feedback
This commit is contained in:
Devin Binnie
2021-06-28 09:51:23 -04:00
committed by GitHub
parent 422673a740
commit 1b3d0eac8f
115 changed files with 16246 additions and 9921 deletions

View File

@@ -0,0 +1,48 @@
// Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
// Copyright (c) 2015-2016 Yuya Ochiai
import {AppState} from 'types/appState';
import JsonFileManager from '../common/JsonFileManager';
import * as Validator from './Validator';
export default class AppVersionManager extends JsonFileManager<AppState> {
constructor(file: string) {
super(file);
// ensure data loaded from file is valid
const validatedJSON = Validator.validateAppState(this.json);
if (!validatedJSON) {
this.setJson({});
}
}
set lastAppVersion(version) {
this.setValue('lastAppVersion', version);
}
get lastAppVersion() {
return this.getValue('lastAppVersion');
}
set skippedVersion(version) {
this.setValue('skippedVersion', version);
}
get skippedVersion() {
return this.getValue('skippedVersion');
}
set updateCheckedDate(date) {
this.setValue('updateCheckedDate', date?.toISOString());
}
get updateCheckedDate() {
const date = this.getValue('updateCheckedDate');
if (date) {
return new Date(date);
}
return null;
}
}