BaseRecord
See source codeTable of contents
The base record interface that all records in the store must extend. This interface provides the fundamental structure required for all records: a unique ID and a type name. The type parameters ensure type safety and prevent mixing of different record types.
interface BaseRecord<
TypeName extends string,
Id extends RecordId<UnknownRecord>,
> {}
Example
// Define a Book record that extends BaseRecord
interface Book extends BaseRecord<'book', RecordId<Book>> {
title: string
author: string
publishedYear: number
}
// Define an Author record
interface Author extends BaseRecord<'author', RecordId<Author>> {
name: string
birthYear: number
}
// Usage with RecordType
const Book = createRecordType<Book>('book', { scope: 'document' })
const book = Book.create({
title: '1984',
author: 'George Orwell',
publishedYear: 1949,
})
// Results in: { id: 'book:abc123', typeName: 'book', title: '1984', ... }
Properties
id
readonly
readonly id: Id
typeName
readonly
readonly typeName: TypeName
Prev
SignalNext
CollectionDiff