Query
Typsichere Filter und Feldprojektion für Payload mit REST-Select-Parameter-Plugin.
Installation
pnpm add payload-query Über
Der `Filter`-Typ ist eine typsichere Variante von Payloads `Where`-Typ. Er validiert Feldpfade, Operatoren und Operanden gegen den TypeScript-Typ einer Collection. Der Editor markiert ungültige Pfade, nicht unterstützte Operatoren und Operanden, deren Typ nicht zum Feld passt. Die Struktur entspricht Payloads `Where`, sodass sich der Typ in `find`, `findByID` und an allen Stellen einsetzen lässt, die eine Where-Klausel erwarten. Wenn eine Abfrage zur Laufzeit variieren muss, erlaubt der `Query`-Typ, Operanden als Funktionen zu definieren, die typisierte Daten erhalten und einen Wert zurückgeben. `toFilter` löst eine solche Query in einen `Filter` auf. Ruft man `toFilter` nur mit der Query auf, erhält man eine wiederverwendbare Builder-Funktion, die die Daten später übernimmt. Alternativ lassen sich Query und Daten direkt übergeben. Für die Feldprojektion, vergleichbar mit SQL `SELECT` oder MongoDB-Projektionen, stellt das Paket den `Select`-Typ bereit. Er markiert Felder für Include oder Exclude, wobei `id` standardmäßig ausgewählt ist. Das `selectPlugin` registriert `afterRead`-Hooks an Collections und Globals und ermöglicht damit einen `select`-Query-Parameter in der REST-API. Die Anwendung lässt sich auf bestimmte Slugs beschränken. Für die interne API übernimmt die Funktion `select()` dieselbe Projektion auf einem zurückgegebenen Dokument. Die Pfadauflösung basiert auf `ts-powertypes/ts-powertools` (ObjectPaths, ValueAtPath). Zwei Einschränkungen gelten: Collections mit Zirkelbezügen können nicht direkt als Typparameter verwendet werden, stattdessen hilft `Pick<>` oder `any`. Verschachtelte Feldselektion wird nicht unterstützt, verschachtelte Felder werden als Ganzes ein- oder ausgeschlossen. Die Peer-Dependency richtet sich an Payload 1.x ab Version 1.6.22.
Paketinformationen
- Paketname
payload-query- Neueste Version
1.0.2- Entpackte Größe
- 19 kB
- Lizenz
- MIT
- Wöchentliche Downloads
- 35
- Zuletzt veröffentlicht
- 18. Apr. 2023
Mehr von teunmooij
Profil ansehenÄhnliche Plugins
Mehr in DevtoolsShared plugin tooling
Dev-only Konfiguration für Linting, Formatierung, TypeScript, Build, Testdatenbank und Release der @seshuk Payload-Plugins.
Puck visual page builder
Integriert den Puck visuell Page Builder mit Payload CMS für Drag-and-Drop-Bearbeitung.
OpenAPI
Generiert OpenAPI-Spezifikationen aus Payload CMS-Konfigurationen.
Create Ideal CMS
Interaktive CLI, die ein Payload-CMS-Monorepo mit vorkonfigurierten FocusReactive-Plugins aufsetzt.
OpenAPI
Erstellt automatisch eine OpenAPI-Spezifikation aus einer Payload CMS 3.x-Konfiguration und stellt sie über Scalar, Swagger UI, RapiDoc oder Redoc dar.
Markdown documentation sync
Synchronisiert Markdown-Dokumentation mit Payload CMS und Git.