hyperweb-io / hyperweb-io/ts-codegen

Supports untagged enum

Abierto
#89 5 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
TypeScript
Estrellas
126
Forks
31
Merge medio
19 min
PR fusionados (30 d)
2

Descripción

Current ts-codegen can't generate code from the following schema

```
{
...
"execute": {
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "ExecuteMsg",
"anyOf": [
{
"$ref": "#/definitions/ExecuteMsg_for_Nullable_Empty_and_Empty"
},
{
"$ref": "#/definitions/ICNSNameExecuteMsg"
}
],
"definitions": { ... },
...
}
```

as it tries to find properties under value of "execute" but it couldn't find one.

This schema is generated from

```rs
#[cw_serde]
#[serde(untagged)]
pub enum ExecuteMsg {
CW721Base(cw721_base::ExecuteMsg),
ICNSName(ICNSNameExecuteMsg),
}
```

It fails as it tries to find `Object.keys` on execute's `properties` but it couldn't find one on [this line of code](https://github.com/CosmWasm/ts-codegen/blob/cffa2acebb86f3c1f96fb00c4abae5ba0987e63e/packages/wasm-ast-types/src/client/client.ts#L266)

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Línea de trabajo

The failure is in packages/wasm-ast-types/src/client/client.ts at line 266, where the generated schema's execute value lacks properties. Start by tracing how that code handles anyOf and the referenced definitions in the supplied draft-07 schema. Done means ts-codegen can generate code for the shown serde(untagged) ExecuteMsg without attempting Object.keys on missing properties.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
rust, typescript
Área
tooling
Tipo de issue
Nueva funcionalidad
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
45/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.