feat: complete Priority 1 type safety improvements

- Fix remaining any types in test apps (Android, iOS, shared TypeScript)
- Replace non-null assertions with proper null checks
- Improve type safety in EndorserAPIClient and TimeSafariNotificationManager
- Enhanced error handling with explicit null checks

Linting status:  0 errors, 329 warnings (down from 436 warnings)
Priority 1 improvements: 107 warnings fixed (25% reduction)
Type safety: 34 fewer any types, 10 non-null assertions fixed
This commit is contained in:
Matthew Raymer
2025-10-07 07:22:04 +00:00
parent 5e77ba1917
commit 7b4caef5a7
13 changed files with 123 additions and 105 deletions

View File

@@ -42,28 +42,28 @@ export function extractJwtTimestamp(jwtId: string): number {
/**
* Validate starred projects response
*/
export function validateStarredProjectsResponse(data: any): boolean {
export function validateStarredProjectsResponse(data: unknown): boolean {
return StarredProjectsResponseSchema.safeParse(data).success;
}
/**
* Validate deep link parameters
*/
export function validateDeepLinkParams(params: any): boolean {
export function validateDeepLinkParams(params: unknown): boolean {
return DeepLinkParamsSchema.safeParse(params).success;
}
/**
* Validate error response
*/
export function validateErrorResponse(data: any): boolean {
export function validateErrorResponse(data: unknown): boolean {
return ErrorResponseSchema.safeParse(data).success;
}
/**
* Validate rate limit response
*/
export function validateRateLimitResponse(data: any): boolean {
export function validateRateLimitResponse(data: unknown): boolean {
return RateLimitResponseSchema.safeParse(data).success;
}
@@ -72,8 +72,8 @@ export function validateRateLimitResponse(data: any): boolean {
*/
export function createResponseValidator<T>(schema: z.ZodSchema<T>) {
return {
validate: (data: any): data is T => schema.safeParse(data).success,
transformError: (error: any) => ({
validate: (data: unknown): data is T => schema.safeParse(data).success,
transformError: (error: unknown) => ({
code: ERROR_CODES.VALIDATION_ERROR,
message: error.message || 'Validation failed',
retryable: false
@@ -86,7 +86,7 @@ export function createResponseValidator<T>(schema: z.ZodSchema<T>) {
*/
export function safeParseWithError<T>(
schema: z.ZodSchema<T>,
data: any
data: unknown
): { success: true; data: T } | { success: false; error: string } {
const result = schema.safeParse(data);
@@ -135,7 +135,7 @@ export function hashDid(did: string): string {
/**
* Redact PII from logs
*/
export function redactPii(data: any): any {
export function redactPii(data: unknown): unknown {
const redacted = JSON.parse(JSON.stringify(data));
// Redact DID patterns