function localOnlyCollectionOptions<TExplicit, TSchema, TFallback, TKey>(config): object
function localOnlyCollectionOptions<TExplicit, TSchema, TFallback, TKey>(config): object
定义于: packages/db/src/local-only.ts:137
为标准的 Collection 创建本地独占集合选项
这是一个内存中的集合,不与外部源同步,但使用一个回送同步配置,该配置会立即将所有乐观更改“同步”到集合中,使其永久化。非常适合不需要持久性或外部同步的本地独占数据。
• TExplicit = 未知
集合中项目的显式类型(最高优先级)
• TSchema 继承自 StandardSchemaV1<unknown, unknown> = never
用于验证和类型推断的模式类型(第二优先级)
• TFallback 继承自 Record<string, unknown> = Record<string, unknown>
如果没有提供显式类型或模式类型,则回退类型
• TKey 继承自 string | number = string | number
getKey 返回的键的类型
LocalOnlyCollectionConfig<TExplicit, TSchema, TFallback, TKey>
本地独占集合的配置选项
object
带有实用程序的集合选项(目前为空,但遵循模式)
gcTime: number = 0;
gcTime: number = 0;
getKey: (item) => TKey;
getKey: (item) => TKey;
ResolveType<TExplicit, TSchema, TFallback>
TKey
optional id: string;
optional id: string;
标准集合配置属性
onDelete: (params) => Promise<any> = wrappedOnDelete;
onDelete: (params) => Promise<any> = wrappedOnDelete;
onDelete 处理程序的包装器,该处理程序还会立即确认事务
DeleteMutationFnParams<ResolveType<TExplicit, TSchema, TFallback>, TKey, LocalOnlyCollectionUtils>
Promise<any>
onInsert: (params) => Promise<any> = wrappedOnInsert;
onInsert: (params) => Promise<any> = wrappedOnInsert;
创建包装器处理程序,该处理程序首先调用用户处理程序,然后确认事务 包装用户 的 onInsert 处理程序,使其立即确认事务
InsertMutationFnParams<ResolveType<TExplicit, TSchema, TFallback>, TKey, LocalOnlyCollectionUtils>
Promise<any>
onUpdate: (params) => Promise<any> = wrappedOnUpdate;
onUpdate: (params) => Promise<any> = wrappedOnUpdate;
onUpdate 处理程序的包装器,该处理程序还会立即确认事务
UpdateMutationFnParams<ResolveType<TExplicit, TSchema, TFallback>, TKey, LocalOnlyCollectionUtils>
Promise<any>
optional schema: TSchema;
optional schema: TSchema;
startSync: boolean = true;
startSync: boolean = true;
sync: SyncConfig<ResolveType<TExplicit, TSchema, TFallback>, TKey> = syncResult.sync;
sync: SyncConfig<ResolveType<TExplicit, TSchema, TFallback>, TKey> = syncResult.sync;
utils: LocalOnlyCollectionUtils;
utils: LocalOnlyCollectionUtils;
// Basic local-only collection
const collection = createCollection(
localOnlyCollectionOptions({
getKey: (item) => item.id,
})
)
// Basic local-only collection
const collection = createCollection(
localOnlyCollectionOptions({
getKey: (item) => item.id,
})
)
// Local-only collection with initial data
const collection = createCollection(
localOnlyCollectionOptions({
getKey: (item) => item.id,
initialData: [
{ id: 1, name: 'Item 1' },
{ id: 2, name: 'Item 2' },
],
})
)
// Local-only collection with initial data
const collection = createCollection(
localOnlyCollectionOptions({
getKey: (item) => item.id,
initialData: [
{ id: 1, name: 'Item 1' },
{ id: 2, name: 'Item 2' },
],
})
)
// Local-only collection with mutation handlers
const collection = createCollection(
localOnlyCollectionOptions({
getKey: (item) => item.id,
onInsert: async ({ transaction }) => {
console.log('Item inserted:', transaction.mutations[0].modified)
// Custom logic after insert
},
})
)
// Local-only collection with mutation handlers
const collection = createCollection(
localOnlyCollectionOptions({
getKey: (item) => item.id,
onInsert: async ({ transaction }) => {
console.log('Item inserted:', transaction.mutations[0].modified)
// Custom logic after insert
},
})
)
您的每周 JavaScript 资讯。每周一免费发送给超过 10 万开发者。