From 5c4e06557f387949d6728d3c8d63912e25af41b5 Mon Sep 17 00:00:00 2001 From: Akaanksh Raj <18450543+goknsh@users.noreply.github.com> Date: Tue, 28 Feb 2023 01:10:15 -0600 Subject: [PATCH] chore: update pocketbase to ^0.11.1, use getFullList w/o batchSize, RecordService type, and sort imports --- .changeset/quick-mayflies-do.md | 5 ++++ package.json | 5 ++-- pnpm-lock.yaml | 8 +++---- src/lib/index.ts | 2 +- src/lib/internal/index.ts | 5 ++-- src/lib/queries/collection.ts | 24 +++++++++---------- src/lib/queries/infinite-collection.ts | 32 +++++++++++++------------- src/lib/queries/record.ts | 14 +++++------ src/lib/queries/user.ts | 2 +- src/lib/query-key-factory.ts | 5 ++-- src/lib/types.ts | 12 +++++----- 11 files changed, 59 insertions(+), 55 deletions(-) create mode 100644 .changeset/quick-mayflies-do.md diff --git a/.changeset/quick-mayflies-do.md b/.changeset/quick-mayflies-do.md new file mode 100644 index 0000000..3c430c2 --- /dev/null +++ b/.changeset/quick-mayflies-do.md @@ -0,0 +1,5 @@ +--- +'svelte-query-pocketbase': patch +--- + +chore: update pocketbase to ^0.11.1, use getFullList w/o batchSize, RecordService type, and sort imports diff --git a/package.json b/package.json index a12ecad..27c585e 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,7 @@ "dependencies": { "@tanstack/svelte-query": "^4.22.2", "immer": "^9.0.19", - "pocketbase": "^0.10.0", + "pocketbase": "^0.11.1", "svelte": "^3.54.0" }, "devDependencies": { @@ -74,7 +74,8 @@ "realtime" ], "files": [ - "dist" + "dist", + "CHANGELOG.md" ], "exports": { ".": "./dist/index.js" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 01f4f9c..264d86f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -19,7 +19,7 @@ specifiers: husky: 8.0.3 immer: ^9.0.19 lodash: 4.17.21 - pocketbase: ^0.10.0 + pocketbase: ^0.11.1 postcss: 8.4.21 prettier: 2.8.3 prettier-plugin-svelte: 2.9.0 @@ -35,7 +35,7 @@ specifiers: dependencies: '@tanstack/svelte-query': 4.22.4_svelte@3.55.1 immer: 9.0.19 - pocketbase: 0.10.1 + pocketbase: 0.11.1 svelte: 3.55.1 devDependencies: @@ -3732,8 +3732,8 @@ packages: pathe: 1.1.0 dev: true - /pocketbase/0.10.1: - resolution: {integrity: sha512-FMBhF+9o2AmdKJYbfz2qunnk4Q5/efYMRcukdQF49UfhsIuaSYl39fSPN1l880bYI4XAvDDeySAjK1MlxrK37A==} + /pocketbase/0.11.1: + resolution: {integrity: sha512-4DeKvS3Yqd8zx4/sHQhalACK5fl2/UfzBTLvCFVrTNBqXpy1epmOaXEiUjHNoZYLFw1IMeksRRaWZR8akARwOQ==} dev: false /postcss-import/14.1.0_postcss@8.4.21: diff --git a/src/lib/index.ts b/src/lib/index.ts index a4f5206..5edd0ef 100644 --- a/src/lib/index.ts +++ b/src/lib/index.ts @@ -1,6 +1,6 @@ -export * from './query-key-factory'; export * from './queries/collection'; export * from './queries/infinite-collection'; export * from './queries/record'; export * from './queries/user'; +export * from './query-key-factory'; export * from './types'; diff --git a/src/lib/internal/index.ts b/src/lib/internal/index.ts index 32211f0..ef1a5fc 100644 --- a/src/lib/internal/index.ts +++ b/src/lib/internal/index.ts @@ -1,5 +1,4 @@ -import type Client from 'pocketbase'; -import type { Record } from 'pocketbase'; +import type { Record, RecordService } from 'pocketbase'; /** * Meant for internal use, simply returns the expanded record if there is an expand query param. @@ -10,7 +9,7 @@ import type { Record } from 'pocketbase'; * @returns The expanded record. */ export const realtimeStoreExpand = async >( - collection: ReturnType, + collection: RecordService, record: T, expand: string | undefined = undefined ): Promise => diff --git a/src/lib/queries/collection.ts b/src/lib/queries/collection.ts index dd2fe91..197d989 100644 --- a/src/lib/queries/collection.ts +++ b/src/lib/queries/collection.ts @@ -1,25 +1,25 @@ import { createQuery, - type QueryClient, useQueryClient, type CreateQueryResult, type FetchQueryOptions, + type QueryClient, type QueryKey } from '@tanstack/svelte-query'; -import { setAutoFreeze, produce, type Draft } from 'immer'; +import { produce, setAutoFreeze, type Draft } from 'immer'; -import type Client from 'pocketbase'; import type { + ClientResponseError, Record, RecordListQueryParams, - RecordSubscription, - ClientResponseError + RecordService, + RecordSubscription } from 'pocketbase'; -import { collectionKeys } from '../query-key-factory'; import { realtimeStoreExpand } from '../internal'; -import type { CollectionStoreOptions, CollectionQueryPrefetchOptions } from '../types'; +import { collectionKeys } from '../query-key-factory'; +import type { CollectionQueryPrefetchOptions, CollectionStoreOptions } from '../types'; setAutoFreeze(false); @@ -30,7 +30,7 @@ const collectionStoreCallback = async < queryClient: QueryClient, queryKey: TQueryKey, subscription: RecordSubscription, - collection: ReturnType, + collection: RecordService, queryParams: RecordListQueryParams | undefined = undefined, sortFunction?: (a: T, b: T) => number, filterFunction?: (value: T, index: number, array: T[]) => boolean, @@ -106,9 +106,9 @@ const collectionStoreCallback = async < export const createCollectionQueryInitialData = async < T extends Pick = Pick >( - collection: ReturnType, + collection: RecordService, { queryParams = undefined }: { queryParams?: RecordListQueryParams } -): Promise> => [...(await collection.getFullList(undefined, queryParams))]; +): Promise> => [...(await collection.getFullList(queryParams))]; /** * Meant for SSR use, allows for prefetching queries on the server so that data is already available in the cache, and no initial fetch occurs client-side. See [TanStack's documentation](https://tanstack.com/query/v4/docs/svelte/ssr#using-prefetchquery) and this project's README.md for some examples. @@ -124,7 +124,7 @@ export const createCollectionQueryPrefetch = < T extends Pick = Pick, TQueryKey extends QueryKey = QueryKey >( - collection: ReturnType, + collection: RecordService, { staleTime = Infinity, queryParams = undefined, @@ -168,7 +168,7 @@ export const createCollectionQuery = < T extends Pick = Pick, TQueryKey extends QueryKey = QueryKey >( - collection: ReturnType, + collection: RecordService, { staleTime = Infinity, refetchOnReconnect = 'always', diff --git a/src/lib/queries/infinite-collection.ts b/src/lib/queries/infinite-collection.ts index a8ee517..4cb2907 100644 --- a/src/lib/queries/infinite-collection.ts +++ b/src/lib/queries/infinite-collection.ts @@ -1,22 +1,22 @@ -import type Client from 'pocketbase'; -import { - ListResult, - type Record, - type RecordSubscription, - type RecordListQueryParams, - type ClientResponseError -} from 'pocketbase'; import { createInfiniteQuery, useQueryClient, + type CreateInfiniteQueryResult, type FetchQueryOptions, - type QueryKey, type InfiniteData, - type CreateInfiniteQueryResult, - type QueryClient + type QueryClient, + type QueryKey } from '@tanstack/svelte-query'; +import { + ListResult, + type ClientResponseError, + type Record, + type RecordListQueryParams, + type RecordService, + type RecordSubscription +} from 'pocketbase'; -import { setAutoFreeze, produce, type Draft } from 'immer'; +import { produce, setAutoFreeze, type Draft } from 'immer'; import { realtimeStoreExpand } from '../internal'; import { collectionKeys } from '../query-key-factory'; @@ -31,7 +31,7 @@ const infiniteCollectionStoreCallback = async < queryClient: QueryClient, queryKey: TQueryKey, subscription: RecordSubscription, - collection: ReturnType, + collection: RecordService, perPage: number, queryParams: RecordListQueryParams | undefined = undefined, sortFunction?: (a: T, b: T) => number, @@ -237,7 +237,7 @@ const infiniteCollectionStoreCallback = async < export const infiniteCollectionQueryInitialData = async < T extends Pick = Pick >( - collection: ReturnType, + collection: RecordService, { page = 1, perPage = 20, @@ -262,7 +262,7 @@ export const infiniteCollectionQueryPrefetch = < T extends Pick = Pick, TQueryKey extends QueryKey = QueryKey >( - collection: ReturnType, + collection: RecordService, { staleTime = Infinity, page = 1, @@ -314,7 +314,7 @@ export const createInfiniteCollectionQuery = < T extends Pick = Pick, TQueryKey extends QueryKey = QueryKey >( - collection: ReturnType, + collection: RecordService, { staleTime = Infinity, refetchOnReconnect = 'always', diff --git a/src/lib/queries/record.ts b/src/lib/queries/record.ts index 0880740..732e4bd 100644 --- a/src/lib/queries/record.ts +++ b/src/lib/queries/record.ts @@ -1,22 +1,22 @@ import { createQuery, - type QueryClient, useQueryClient, type CreateQueryResult, type FetchQueryOptions, + type QueryClient, type QueryKey } from '@tanstack/svelte-query'; -import type Client from 'pocketbase'; import type { ClientResponseError, Record, RecordQueryParams, + RecordService, RecordSubscription } from 'pocketbase'; -import { collectionKeys } from '../query-key-factory'; import { realtimeStoreExpand } from '../internal'; +import { collectionKeys } from '../query-key-factory'; import type { QueryPrefetchOptions, RecordStoreOptions } from '../types'; const createRecordQueryCallback = async < @@ -26,7 +26,7 @@ const createRecordQueryCallback = async < queryClient: QueryClient, queryKey: TQueryKey, subscription: RecordSubscription, - collection: ReturnType, + collection: RecordService, queryParams: RecordQueryParams | undefined = undefined ) => { let data = queryClient.getQueryData(queryKey); @@ -69,7 +69,7 @@ const createRecordQueryCallback = async < export const createRecordQueryInitialData = < T extends Pick = Pick >( - collection: ReturnType, + collection: RecordService, id: string, { queryParams = undefined }: { queryParams?: RecordQueryParams } ): Promise => collection.getOne(id, queryParams); @@ -89,7 +89,7 @@ export const createRecordQueryPrefetch = < T extends Pick = Pick, TQueryKey extends QueryKey = QueryKey >( - collection: ReturnType, + collection: RecordService, id: string, { staleTime = Infinity, @@ -132,7 +132,7 @@ export const createRecordQuery = < T extends Pick = Pick, TQueryKey extends QueryKey = QueryKey >( - collection: ReturnType, + collection: RecordService, id: string, { staleTime = Infinity, diff --git a/src/lib/queries/user.ts b/src/lib/queries/user.ts index 9b935ac..e900d4b 100644 --- a/src/lib/queries/user.ts +++ b/src/lib/queries/user.ts @@ -2,7 +2,7 @@ import type Client from 'pocketbase'; import type { BaseAuthStore, Record } from 'pocketbase'; import { readable, type Readable } from 'svelte/store'; -import { type KnownUser, type UnknownUser, isRecord } from '../types'; +import { isRecord, type KnownUser, type UnknownUser } from '../types'; /** * Svelte store wrapper around the authenticated Pocketbase user that updates in realtime. diff --git a/src/lib/query-key-factory.ts b/src/lib/query-key-factory.ts index b7cba08..41a4ef2 100644 --- a/src/lib/query-key-factory.ts +++ b/src/lib/query-key-factory.ts @@ -1,5 +1,4 @@ -import type { RecordListQueryParams } from 'pocketbase'; -import type Client from 'pocketbase'; +import type { RecordListQueryParams, RecordService } from 'pocketbase'; /** * A collection key factory to generate query keys for TanStack Query based on the parameters given to a Pocketbase `get[...]` function. @@ -14,7 +13,7 @@ export const collectionKeys = ({ id = '*', ...queryParams }: { - collection: ReturnType; + collection: RecordService; id?: string; } & RecordListQueryParams) => { return [ diff --git a/src/lib/types.ts b/src/lib/types.ts index 7150ba0..b327e73 100644 --- a/src/lib/types.ts +++ b/src/lib/types.ts @@ -1,3 +1,9 @@ +import type { + CreateInfiniteQueryOptions, + CreateQueryOptions, + FetchQueryOptions, + QueryKey +} from '@tanstack/svelte-query'; import type { Admin, Record, @@ -5,12 +11,6 @@ import type { RecordQueryParams, RecordSubscription } from 'pocketbase'; -import type { - CreateInfiniteQueryOptions, - CreateQueryOptions, - FetchQueryOptions, - QueryKey -} from '@tanstack/svelte-query'; /** * A known user, used in the `userStore`.