diff --git a/types/relay-runtime/index.d.ts b/types/relay-runtime/index.d.ts index f9b78fad7e..2d95a87377 100644 --- a/types/relay-runtime/index.d.ts +++ b/types/relay-runtime/index.d.ts @@ -14,14 +14,9 @@ export interface ConnectionMetadata { count: string | null | undefined; } -// ./handlers/connection/RelayConnectionInterface -export interface Record { - [key: string]: unknown; -} - -export interface EdgeRecord extends Record { +export interface EdgeRecord extends Record { cursor: unknown; - node: Record; + node: Record; } export interface PageInfo { @@ -294,7 +289,7 @@ export type MissingFieldHandler = kind: 'scalar'; handle: ( field: NormalizationScalarField, - record: Record | null | undefined, + record: Record | null | undefined, args: Variables, store: ReadonlyRecordSourceProxy ) => unknown; @@ -303,7 +298,7 @@ export type MissingFieldHandler = kind: 'linked'; handle: ( field: NormalizationLinkedField, - record: Record | null | undefined, + record: Record | null | undefined, args: Variables, store: ReadonlyRecordSourceProxy ) => DataID | null | undefined; @@ -312,7 +307,7 @@ export type MissingFieldHandler = kind: 'pluralLinked'; handle: ( field: NormalizationLinkedField, - record: Record | null | undefined, + record: Record | null | undefined, args: Variables, store: ReadonlyRecordSourceProxy ) => ReadonlyArray | null | undefined; @@ -416,12 +411,13 @@ interface ReadonlyRecordProxy { } interface RecordSource { - get(dataID: DataID): Record | null | undefined; + get(dataID: DataID): Record | null | undefined; getRecordIDs(): ReadonlyArray; getStatus(dataID: DataID): RecordState; has(dataID: DataID): boolean; - load(dataID: DataID, callback: (error: Error | null | undefined, record: Record | null | undefined) => void): void; + load(dataID: DataID, callback: (error: Error | null | undefined, record: Record | null | undefined) => void): void; size(): number; + toJSON(): Record; } export { RecordSource as IRecordSource }; @@ -440,7 +436,7 @@ export interface MutableRecordSource extends RecordSource { clear(): void; delete(dataID: DataID): void; remove(dataID: DataID): void; - set(dataID: DataID, record: Record): void; + set(dataID: DataID, record: Record): void; } type Scheduler = (callback: () => void) => void; @@ -861,7 +857,7 @@ export interface Props { interface RecordMap { // theoretically, this should be `[dataID: DataID]`, but `DataID` is a string. - [dataID: string]: Record | undefined; + [dataID: string]: Record | undefined; } export interface SelectorData { [key: string]: unknown; @@ -1019,14 +1015,19 @@ declare class RelayInMemoryRecordSource implements MutableRecordSource { constructor(records?: RecordMap); clear(): void; delete(dataID: DataID): void; - get(dataID: DataID): Record | null | undefined; + get(dataID: DataID): Record | null | undefined; getRecordIDs(): ReadonlyArray; getStatus(dataID: DataID): RecordState; has(dataID: DataID): boolean; - load(dataID: DataID, callback: (error: Error | null | undefined, record: Record | null | undefined) => void): void; + load( + dataID: DataID, + + callback: (error: Error | null | undefined, record: Record | null | undefined) => void + ): void; remove(dataID: DataID): void; - set(dataID: DataID, record: Record): void; + set(dataID: DataID, record: Record): void; size(): number; + toJSON(): Record; } export { RelayInMemoryRecordSource as RecordSource };