1
0
mirror of https://github.com/desktop/desktop synced 2024-06-30 22:54:41 +00:00

Declare ambient properties from Dexie base class

When targeting ES2022 our old fields were emitted as class fields and thereby shadowing the base class fields. The `declare` modifier lets us tell TS to expect these fields to exist but not emit them.
This commit is contained in:
Markus Olsson 2022-05-04 11:33:53 +02:00
parent babd087489
commit 1652b44dfd
5 changed files with 20 additions and 11 deletions

View File

@ -60,8 +60,8 @@ export interface IMentionableCacheEntry {
}
export class GitHubUserDatabase extends BaseDatabase {
public mentionables!: Dexie.Table<IDBMentionableUser, number>
public mentionableCache!: Dexie.Table<IMentionableCacheEntry, number>
public declare mentionables: Dexie.Table<IDBMentionableUser, number>
public declare mentionableCache: Dexie.Table<IMentionableCacheEntry, number>
public constructor(name: string, schemaVersion?: number) {
super(name, schemaVersion)

View File

@ -10,7 +10,7 @@ export interface IIssue {
}
export class IssuesDatabase extends BaseDatabase {
public issues!: Dexie.Table<IIssue, number>
public declare issues: Dexie.Table<IIssue, number>
public constructor(name: string, schemaVersion?: number) {
super(name, schemaVersion)

View File

@ -77,8 +77,11 @@ interface IPullRequestsLastUpdated {
export type PullRequestKey = [number, number]
export class PullRequestDatabase extends BaseDatabase {
public pullRequests!: Dexie.Table<IPullRequest, PullRequestKey>
public pullRequestsLastUpdated!: Dexie.Table<IPullRequestsLastUpdated, number>
public declare pullRequests: Dexie.Table<IPullRequest, PullRequestKey>
public declare pullRequestsLastUpdated: Dexie.Table<
IPullRequestsLastUpdated,
number
>
public constructor(name: string, schemaVersion?: number) {
super(name, schemaVersion)

View File

@ -77,16 +77,22 @@ type BranchKey = [number, string]
/** The repositories database. */
export class RepositoriesDatabase extends BaseDatabase {
/** The local repositories table. */
public repositories!: Dexie.Table<IDatabaseRepository, number>
public declare repositories: Dexie.Table<IDatabaseRepository, number>
/** The GitHub repositories table. */
public gitHubRepositories!: Dexie.Table<IDatabaseGitHubRepository, number>
public declare gitHubRepositories: Dexie.Table<
IDatabaseGitHubRepository,
number
>
/** A table containing the names of protected branches per repository. */
public protectedBranches!: Dexie.Table<IDatabaseProtectedBranch, BranchKey>
public declare protectedBranches: Dexie.Table<
IDatabaseProtectedBranch,
BranchKey
>
/** The GitHub repository owners table. */
public owners!: Dexie.Table<IDatabaseOwner, number>
public declare owners: Dexie.Table<IDatabaseOwner, number>
/**
* Initialize a new repository database.

View File

@ -523,8 +523,8 @@ export interface IDailyMeasures {
}
export class StatsDatabase extends Dexie {
public launches!: Dexie.Table<ILaunchStats, number>
public dailyMeasures!: Dexie.Table<IDailyMeasures, number>
public declare launches: Dexie.Table<ILaunchStats, number>
public declare dailyMeasures: Dexie.Table<IDailyMeasures, number>
public constructor(name: string) {
super(name)