hyperweb-io / hyperweb-io/ts-codegen

No query helpers generated for string queries

Aperta
#133 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
TypeScript
Stelle
126
Fork
31
Merge medio
19m
PR unite (30g)
2

Descrizione

If we have a query like this:
```rust
#[returns(Config)]
GetConfig,
```
The client will not generate a query helper for it, rather just ignore it (unless i missed an option for it)

Tho it will recognize it as a type in the types file:
```ts
export type QueryMsg = "get_admin" | "get_config" ...
```

But that doesn't help much, as the general query of the `SigningCosmWasmClient` function doesn't know those types, so its not really giving me any type checks.

1. The preferred way for me:
To generate a simple helpers for those queries as well, will make it a lot easier to use.

2. Less preferred way
Generate a general query message specific to the schema, this at least will give us some type checks as the general query function will accept the contract specific `QueryMsg` and not just `any`.
Something like:
```ts
query = async (msg: QueryMsg): Promise => {
return this.client.queryContractSmart(this.contractAddress, msg);
};
```

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Start by tracing how #[returns(Config)] entries become QueryMsg types and generated query helpers, then compare that path with the SigningCosmWasmClient queryContractSmart call. Decide whether string queries should receive helpers or a schema-specific QueryMsg query method; done means generated clients provide type-checked access for these queries.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
rust, typescript
Ambito
tooling
Tipo di issue
Funzionalità
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.