Query
Type-safe query filters and field selection for Payload, with a REST select parameter plugin.
Installation
pnpm add payload-query About
payload-query brings compile-time type checking to Payload's `Where` query type. Pass your collection's TypeScript type to the `Filter` type and the editor will flag invalid field paths, unsupported operators, and operands that don't match the field's type. The shape stays identical to Payload's `Where`, so you can drop it into `find`, `findByID`, and anywhere a where clause is expected. When a query needs to vary per request, the `Query` type lets operands be functions that receive typed data and return a value. You can define a query once, mixing literal values and function operands, then resolve it to a `Filter` with `toFilter`. Calling `toFilter` with only the query returns a reusable builder that takes the data later. The package also adds field selection, similar to a SQL `SELECT` or a MongoDB projection. A `Select` type marks which fields to include, with `id` selected by default. The `selectPlugin` registers `afterRead` hooks on collections and globals so a `select` query parameter works on the REST API, and you can scope it to specific slugs. For the internal API, the `select` function applies the same projection to a returned document. A few limitations apply. Collections with circular references cannot be used directly as the type parameter, so you need `Pick<>` or `any`. Nested field selection is not supported; nested fields are either all included or excluded. The peer dependency targets Payload 1.6.x and later.
Package info
- Package name
payload-query- Latest version
1.0.2- Unpacked size
- 19 kB
- License
- MIT
- Weekly downloads
- 11
- Last publish
- Apr 18, 2023
More from teunmooij
View profileIntegration Test Utils
Provides integration test helpers for a ready-to-use Payload instance in vitest.
Repository
Wrapper around Payload's Local API providing repository operations.
Utilities
Utility functions for Payload CMS to handle validation, ID extraction, and document resolution.
Field Factories
Provides factory functions for creating Payload CMS field configurations.