1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-16 08:13:42 +00:00

Vault Strict Typing cleanup (#12512)

* remove strict types from `NewDeviceVerificationNotice`
- Add null default value for class properties
- Enforce that the userId is passed
- noticeState$ can return null

* remove strict types from `CopyCipherFieldService`
- refactor title to be a string rather than null

* remove strict types from `PasswordRepromptComponent`
- add guard to exit early on submit but also solves removing null/undefined from typing

* use bang to ensure required input

* remove strict types from `CopyCipherFieldDirective`
- add bang for required types
- add default values for null types

* add bang for constant variables in cipher form stories

* remove strict types from `DeleteAttachmentComponent`
- add bang for required types
- refactor title to be an empty string

* fix tests
This commit is contained in:
Nick Krantz
2025-01-02 15:37:48 -06:00
committed by GitHub
parent 15cc4ff1eb
commit cf9bc7c455
9 changed files with 25 additions and 33 deletions

View File

@@ -1,5 +1,3 @@
// FIXME: Update this file to be type safe and remove this and next line
// @ts-strict-ignore
import { Directive, HostBinding, HostListener, Input, OnChanges, Optional } from "@angular/core";
import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view";
@@ -28,9 +26,9 @@ export class CopyCipherFieldDirective implements OnChanges {
alias: "appCopyField",
required: true,
})
action: Exclude<CopyAction, "hiddenField">;
action!: Exclude<CopyAction, "hiddenField">;
@Input({ required: true }) cipher: CipherView;
@Input({ required: true }) cipher!: CipherView;
constructor(
private copyCipherFieldService: CopyCipherFieldService,
@@ -52,7 +50,7 @@ export class CopyCipherFieldDirective implements OnChanges {
@HostListener("click")
async copy() {
const value = this.getValueToCopy();
await this.copyCipherFieldService.copy(value, this.action, this.cipher);
await this.copyCipherFieldService.copy(value ?? "", this.action, this.cipher);
}
async ngOnChanges() {
@@ -69,7 +67,7 @@ export class CopyCipherFieldDirective implements OnChanges {
// If the directive is used on a menu item, update the menu item to prevent keyboard navigation
if (this.menuItemDirective) {
this.menuItemDirective.disabled = this.disabled;
this.menuItemDirective.disabled = this.disabled ?? false;
}
}