Async functions for querying public graph
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 25/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- typescript
- Bereich
- api
Rechercherichtung
Beginne mit der im Anhang verlinkten internen Implementierung packages/hypergraph-react/src/internal/use-query-public.tsx in Zeile 384 und verfolge, wie useQuery Schemaabfragen, Mappings, Spaces und Filter erstellt. Vergleiche die beiden vorgeschlagenen Optionsdesigns zur Bereitstellung von mapping und spaceId, und definiere dann den asynchronen Abfrageeinstiegspunkt für serverseitiges Rendering und Abfragen mit Seiteneffekten. Als erledigt gilt die Aufgabe, wenn öffentliche Graphdaten ohne den React-useQuery-Hook abgefragt werden können.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Currently the only way to query the public graph using a specific schema is to go through Hypergraph's client-side useQuery hook. This works well when you need to modify the data, as we can keep the source of truth for queried data in the same place as modified data.
There are some use-cases where you just need to query for public data but not modify it. For this use case useQuery still works, but it won't work for server-side rendering or ad-hoc queries that run as a result of side-effects.
We should expose the query internals in a separate query(Schema) function.
Query options
Queries require things like the mapping or the space in order to generate the query + filters for a specific schema. We'll need a way to provide these options to the query at query time.
Option 1
We can pass the options to the query directly.
await query(Address, { mapping, spaceId })
Option 2
We can create a QueryClient which accepts options. Not entirely sure but this probably looks similar to hypergraph/react's internal context for spaces.
const client = new HypergraphClient({ mapping, spaceId });
await client.query(Address)
Appendix
- Vorherrschende Sprache
- TypeScript
- Sterne
- 22
- Forks
- 12
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus graphprotocol/hypergraph
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 78/100
graphprotocol/hypergraph#517 ·
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 68/100
graphprotocol/hypergraph#323 · 3 Kommentare ·
-
Improve Space Inbox Offen
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
graphprotocol/hypergraph#542 ·
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
graphprotocol/hypergraph#529 ·
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 30/100
graphprotocol/hypergraph#528 ·
Alle Issues in graphprotocol/hypergraph
Ähnliche Issues
-
VerificationGate: ATTRIBUTION quote guard never matches a normal quotation (\b around the quote) Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
danielmiessler/LifeOS#2234 ·
-
T: Bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 85/100
-
Mend: dependency security vulnerability untriaged
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100