Skip to content

Commit 3bc4680

Browse files
Fix realtime equality test typings
Co-authored-by: Neil Raina <makeitraina@users.noreply.github.com>
1 parent ac5705d commit 3bc4680

2 files changed

Lines changed: 7 additions & 7 deletions

File tree

src/utils/isRealtimePayloadEqual.test.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { RealTimeTaskResponse } from '@/hoc/RealTime'
1+
import type { RealTimeTaskResponse } from '@/hoc/RealTime'
22
import { isTaskPayloadEqual } from '@/utils/isRealtimePayloadEqual'
33
import { RealtimePostgresChangesPayload } from '@supabase/supabase-js'
44

@@ -11,13 +11,13 @@ const buildTaskPayload = ({
1111
}): RealtimePostgresChangesPayload<RealTimeTaskResponse> =>
1212
({
1313
commit_timestamp: '2026-07-08T12:00:00.000Z',
14-
errors: null,
14+
errors: [],
1515
eventType: 'UPDATE',
1616
new: newPayload,
1717
old: oldPayload,
1818
schema: 'public',
1919
table: 'Tasks',
20-
}) as RealtimePostgresChangesPayload<RealTimeTaskResponse>
20+
}) as unknown as RealtimePostgresChangesPayload<RealTimeTaskResponse>
2121

2222
describe('isTaskPayloadEqual', () => {
2323
it('ignores no-op updates for task fields', () => {

src/utils/isRealtimePayloadEqual.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import { RealTimeTaskResponse } from '@/hoc/RealTime'
2-
import { RealTimeTemplateResponse } from '@/hoc/RealtimeTemplates'
1+
import type { RealTimeTaskResponse } from '@/hoc/RealTime'
2+
import type { RealTimeTemplateResponse } from '@/hoc/RealtimeTemplates'
33
import { RealtimePostgresChangesPayload } from '@supabase/supabase-js'
44

55
const taskRealtimeFields = [
@@ -71,8 +71,8 @@ const areRealtimeValuesEqual = (newValue: unknown, oldValue: unknown): boolean =
7171
export function isTaskPayloadEqual(
7272
payload: RealtimePostgresChangesPayload<RealTimeTaskResponse | RealTimeTemplateResponse>,
7373
): boolean {
74-
const newPayload = payload.new
75-
const oldPayload = payload.old
74+
const newPayload = isRecord(payload.new) ? payload.new : undefined
75+
const oldPayload = isRecord(payload.old) ? payload.old : undefined
7676
if (!newPayload || !oldPayload) return true
7777
return taskRealtimeFields.every((field) => areRealtimeValuesEqual(newPayload[field], oldPayload[field]))
7878
}

0 commit comments

Comments
 (0)