mirror of
https://github.com/Eugeny/tabby
synced 2024-11-14 17:07:15 +00:00
lint
This commit is contained in:
parent
85fe9eb4ec
commit
c853c96ae9
6 changed files with 23 additions and 18 deletions
|
@ -23,7 +23,7 @@ title-bar(
|
|||
*ngFor='let tab of app.tabs; let idx = index',
|
||||
cdkDrag,
|
||||
[cdkDragData]='tab',
|
||||
(cdkDragStarted)='onTabDragStart()',
|
||||
(cdkDragStarted)='onTabDragStart(tab)',
|
||||
(cdkDragEnded)='onTabDragEnd()',
|
||||
[index]='idx',
|
||||
[tab]='tab',
|
||||
|
|
|
@ -182,8 +182,8 @@ export class AppRootComponent {
|
|||
return this.config.store.appearance.tabsLocation === 'left' || this.config.store.appearance.tabsLocation === 'right'
|
||||
}
|
||||
|
||||
onTabDragStart () {
|
||||
this.app.emitTabDragStarted()
|
||||
onTabDragStart (tab: BaseTabComponent) {
|
||||
this.app.emitTabDragStarted(tab)
|
||||
}
|
||||
|
||||
onTabDragEnd () {
|
||||
|
|
|
@ -56,7 +56,7 @@ export class AppService {
|
|||
private tabOpened = new Subject<BaseTabComponent>()
|
||||
private tabRemoved = new Subject<BaseTabComponent>()
|
||||
private tabClosed = new Subject<BaseTabComponent>()
|
||||
private tabDragActive = new Subject<boolean>()
|
||||
private tabDragActive = new Subject<BaseTabComponent|null>()
|
||||
private ready = new AsyncSubject<void>()
|
||||
|
||||
private completionObservers = new Map<BaseTabComponent, CompletionObserver>()
|
||||
|
@ -66,7 +66,7 @@ export class AppService {
|
|||
get tabsChanged$ (): Observable<void> { return this.tabsChanged }
|
||||
get tabRemoved$ (): Observable<BaseTabComponent> { return this.tabRemoved }
|
||||
get tabClosed$ (): Observable<BaseTabComponent> { return this.tabClosed }
|
||||
get tabDragActive$ (): Observable<boolean> { return this.tabDragActive }
|
||||
get tabDragActive$ (): Observable<BaseTabComponent|null> { return this.tabDragActive }
|
||||
|
||||
/** Fires once when the app is ready */
|
||||
get ready$ (): Observable<void> { return this.ready }
|
||||
|
@ -358,13 +358,13 @@ export class AppService {
|
|||
}
|
||||
|
||||
/** @hidden */
|
||||
emitTabDragStarted (): void {
|
||||
this.tabDragActive.next(true)
|
||||
emitTabDragStarted (tab: BaseTabComponent): void {
|
||||
this.tabDragActive.next(tab)
|
||||
}
|
||||
|
||||
/** @hidden */
|
||||
emitTabDragEnded (): void {
|
||||
this.tabDragActive.next(false)
|
||||
this.tabDragActive.next(null)
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -26,7 +26,7 @@ interface StoredVault {
|
|||
|
||||
export interface VaultSecret {
|
||||
type: string
|
||||
key: Record<string, any>
|
||||
key: VaultSecretKey
|
||||
value: string
|
||||
}
|
||||
|
||||
|
@ -42,6 +42,9 @@ export interface Vault {
|
|||
secrets: VaultSecret[]
|
||||
}
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-empty-interface
|
||||
export interface VaultSecretKey { }
|
||||
|
||||
function migrateVaultContent (content: any): Vault {
|
||||
return {
|
||||
config: content.config,
|
||||
|
@ -184,7 +187,7 @@ export class VaultService {
|
|||
return _rememberedPassphrase!
|
||||
}
|
||||
|
||||
async getSecret (type: string, key: Record<string, any>): Promise<VaultSecret|null> {
|
||||
async getSecret (type: string, key: VaultSecretKey): Promise<VaultSecret|null> {
|
||||
await this.ready$.toPromise()
|
||||
const vault = await this.load()
|
||||
if (!vault) {
|
||||
|
@ -218,7 +221,7 @@ export class VaultService {
|
|||
await this.save(vault)
|
||||
}
|
||||
|
||||
async removeSecret (type: string, key: Record<string, any>): Promise<void> {
|
||||
async removeSecret (type: string, key: VaultSecretKey): Promise<void> {
|
||||
await this.ready$.toPromise()
|
||||
const vault = await this.load()
|
||||
if (!vault) {
|
||||
|
@ -228,7 +231,7 @@ export class VaultService {
|
|||
await this.save(vault)
|
||||
}
|
||||
|
||||
private keyMatches (key: Record<string, any>, secret: VaultSecret): boolean {
|
||||
private keyMatches (key: VaultSecretKey, secret: VaultSecret): boolean {
|
||||
return Object.keys(key).every(k => secret.key[k] === key[k])
|
||||
}
|
||||
|
||||
|
@ -267,9 +270,9 @@ export class VaultFileProvider extends FileProvider {
|
|||
if (!vault) {
|
||||
throw new Error('Vault is locked')
|
||||
}
|
||||
const files = vault.secrets.filter(x => x.type === VAULT_SECRET_TYPE_FILE)
|
||||
const files = vault.secrets.filter(x => x.type === VAULT_SECRET_TYPE_FILE) as VaultFileSecret[]
|
||||
if (files.length) {
|
||||
const result = await this.selector.show<VaultSecret|null>('Select file', [
|
||||
const result = await this.selector.show<VaultFileSecret|null>('Select file', [
|
||||
{
|
||||
name: 'Add a new file',
|
||||
icon: 'fas fa-plus',
|
||||
|
|
|
@ -23,7 +23,7 @@ export class TerminalService {
|
|||
if (!profile) {
|
||||
profile = profiles.filter(x => x.type === 'local' && x.isBuiltin)[0]
|
||||
}
|
||||
return profile as PartialProfile<LocalProfile>
|
||||
return profile
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -74,13 +74,14 @@ export class VaultSettingsTabComponent extends BaseComponent {
|
|||
|
||||
getSecretLabel (secret: VaultSecret) {
|
||||
if (secret.type === 'ssh:password') {
|
||||
return `SSH password for ${secret.key.user}@${secret.key.host}:${secret.key.port}`
|
||||
return `SSH password for ${(secret as any).key.user}@${(secret as any).key.host}:${(secret as any).key.port}`
|
||||
}
|
||||
if (secret.type === 'ssh:key-passphrase') {
|
||||
return `Passphrase for a private key with hash ${secret.key.hash.substring(0, 8)}...`
|
||||
return `Passphrase for a private key with hash ${(secret as any).key.hash.substring(0, 8)}...`
|
||||
}
|
||||
if (secret.type === VAULT_SECRET_TYPE_FILE) {
|
||||
return `File: ${secret.key.description}`
|
||||
// eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
|
||||
return `File: ${(secret as VaultFileSecret).key.description}`
|
||||
}
|
||||
return `Unknown secret of type ${secret.type} for ${JSON.stringify(secret.key)}`
|
||||
}
|
||||
|
@ -129,6 +130,7 @@ export class VaultSettingsTabComponent extends BaseComponent {
|
|||
async exportFile (secret: VaultFileSecret) {
|
||||
this.vault.forgetPassphrase()
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
|
||||
secret = (await this.vault.getSecret(secret.type, secret.key)) as VaultFileSecret
|
||||
|
||||
const content = Buffer.from(secret.value, 'base64')
|
||||
|
|
Loading…
Reference in a new issue