export const todoCollection = createCollection(
queryCollectionOptions({
queryKey: (opts?: LoadSubsetOptions) => buildQueryKey('todos', opts),
queryFn: async (ctx) => {
const params = parseLoadSubsetOptions(
ctx.meta?.loadSubsetOptions ?? undefined,
)
console.log({ params })
return Promise.resolve([
{ id: 1, name: 'Alice' },
{ id: 2, name: 'Bob' },
{ id: 3, name: 'Charlie' },
])
},
syncMode: 'on-demand',
queryClient,
getKey: (item) => item.id,
}),
)
function buildQueryKey(base: string, opts?: LoadSubsetOptions) {
return [
base,
opts?.where ?? null,
opts?.orderBy ?? null,
opts?.limit ?? null,
] as const
}
export const todoCollection = createCollection(
queryCollectionOptions({
queryKey: (opts?: LoadSubsetOptions) => buildQueryKey('todos', opts),
queryFn: async (ctx) => {
const params = parseLoadSubsetOptions(
ctx.meta?.loadSubsetOptions ?? undefined,
)
console.log({ params })
return Promise.resolve([
{ id: 1, name: 'Alice' },
{ id: 2, name: 'Bob' },
{ id: 3, name: 'Charlie' },
])
},
syncMode: 'on-demand',
queryClient,
getKey: (item) => item.id,
}),
)
function buildQueryKey(base: string, opts?: LoadSubsetOptions) {
return [
base,
opts?.where ?? null,
opts?.orderBy ?? null,
opts?.limit ?? null,
] as const
}