fix: resolve ts-ignore directives and unsafe type casts
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
parent
24b2c2fb84
commit
0faa20d644
7 changed files with 15 additions and 14 deletions
|
|
@ -121,8 +121,7 @@ export const RegisterForm = () => {
|
|||
|
||||
const getFieldError = (fieldName: keyof RegisterFormData | 'password_confirmation') => {
|
||||
// Handle zod errors
|
||||
// @ts-expect-error - dynamic key access
|
||||
const formError = errors[fieldName]?.message;
|
||||
const formError = (errors as Record<string, { message?: string } | undefined>)[fieldName]?.message;
|
||||
|
||||
// Handle backend errors
|
||||
const backendError = backendErrors.find(e => e.field === fieldName)?.message;
|
||||
|
|
|
|||
|
|
@ -128,8 +128,9 @@ export function MarketplaceHome() {
|
|||
const apiError = parseApiError(error);
|
||||
const errorMessage = apiError.message || 'Failed to load marketplace products';
|
||||
let statusCode = 0;
|
||||
// @ts-ignore - Safely checking for httpStatus property
|
||||
if (error && typeof error === 'object' && 'httpStatus' in error) statusCode = error.httpStatus;
|
||||
if (error && typeof error === 'object' && 'httpStatus' in error) {
|
||||
statusCode = (error as { httpStatus: number }).httpStatus;
|
||||
}
|
||||
|
||||
if (statusCode === 500) {
|
||||
setProducts([]);
|
||||
|
|
|
|||
|
|
@ -185,6 +185,6 @@ export const chatService = {
|
|||
type: content.type || 'text',
|
||||
attachmentUrl: content.attachment,
|
||||
updated_at: new Date().toISOString(),
|
||||
} as unknown as ChatMessage;
|
||||
} as Partial<ChatMessage> as ChatMessage;
|
||||
},
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { Purchase } from '../types';
|
||||
import { Purchase, Product } from '../types';
|
||||
|
||||
const MOCK_PURCHASES: Purchase[] = [
|
||||
{
|
||||
|
|
@ -18,7 +18,7 @@ const MOCK_PURCHASES: Purchase[] = [
|
|||
rating: 5,
|
||||
coverUrl: 'https://picsum.photos/id/120/100/100',
|
||||
author: 'Neon Audio',
|
||||
} as unknown as any,
|
||||
} as Partial<Product> as Product,
|
||||
},
|
||||
{
|
||||
id: 'p2',
|
||||
|
|
@ -37,7 +37,7 @@ const MOCK_PURCHASES: Purchase[] = [
|
|||
rating: 4,
|
||||
coverUrl: 'https://picsum.photos/id/140/100/100',
|
||||
author: 'Soundscapes',
|
||||
} as unknown as any,
|
||||
} as Partial<Product> as Product,
|
||||
},
|
||||
];
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ export const searchService = {
|
|||
global: async (query: string, _type?: string, _page = 1) => {
|
||||
await new Promise((resolve) => setTimeout(resolve, 600)); // Simulate latency
|
||||
|
||||
// Mock Results
|
||||
// Mock Results -- partial mock data cast to full types for dev/preview
|
||||
const tracks: Track[] = [
|
||||
{
|
||||
id: 't1',
|
||||
|
|
@ -34,7 +34,7 @@ export const searchService = {
|
|||
},
|
||||
].filter((t) =>
|
||||
t.title.toLowerCase().includes(query.toLowerCase()),
|
||||
) as unknown as Track[];
|
||||
) as Partial<Track>[] as Track[];
|
||||
|
||||
const users: User[] = [
|
||||
{
|
||||
|
|
@ -65,7 +65,7 @@ export const searchService = {
|
|||
},
|
||||
].filter((u) =>
|
||||
u.username.toLowerCase().includes(query.toLowerCase()),
|
||||
) as unknown as User[];
|
||||
) as Partial<User>[] as User[];
|
||||
|
||||
const courses: Course[] = [
|
||||
{
|
||||
|
|
|
|||
|
|
@ -410,6 +410,7 @@ export function createArrayOptimisticUpdate<
|
|||
}
|
||||
|
||||
// Update the array in the data structure
|
||||
// Generic TData requires structural cast -- array manipulation preserves shape
|
||||
if (Array.isArray(oldData)) {
|
||||
return newArray as unknown as TData;
|
||||
}
|
||||
|
|
@ -577,7 +578,7 @@ export function createToggleOptimisticUpdate<
|
|||
queryClient.setQueryData<TData>(queryKey, (old) => {
|
||||
if (!old) return old;
|
||||
|
||||
// Safe cast to ToggleableEntity for property access
|
||||
// Structural cast: TData is a superset of ToggleableEntity at runtime
|
||||
const entity = old as unknown as ToggleableEntity;
|
||||
const updated = { ...entity };
|
||||
|
||||
|
|
|
|||
|
|
@ -166,8 +166,8 @@ export function setupReactQuerySync(
|
|||
* to avoid performance issues from broadcasting every query update
|
||||
* Currently only invalidations and mutations are synced
|
||||
*/
|
||||
// @ts-expect-error - Kept for future use, not currently called
|
||||
function broadcastSetData(
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars -- Kept for future use, not currently called
|
||||
function _broadcastSetData(
|
||||
queryKey: (string | number)[],
|
||||
data: unknown,
|
||||
): void {
|
||||
|
|
|
|||
Loading…
Reference in a new issue