a8m / a8m/syncmap

Can different custom packages for key and value is possible?

Abierto
#8 1 comentario 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Go
Estrellas
256
Forks
17
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

Hi @a8m ,

Currently using a basic
```
syncmap -name UserChannelsMap -pkg xmap -o ./types/xmap/user_channels_map.go "map[string]string"
```
will work.

If I want to use a custom type:
```
syncmap -name UserChannelsMap -pkg xmap -o ./types/xmap/user_channels_map.go "map[string]*UserChannelList"
```
I need to make sure `UserChannelList` is in the same package than the one exported for the file (here `xmap`). I could arrange myself to do so, but it brings some complexity.

Last case, I want to use like an "enum" for the keys, in my case it's defined in my own `constant` package, how could I deal with this? From what I understand it's not possible, the `syncmap` would have to manage some add of imports, no?
```
syncmap -name UserChannelsMap -pkg xmap -o ./types/xmap/user_channels_map.go "map[constant.NameID]*UserChannelList"
```

Maybe I missed something 🤔

Thank you,

EDIT: a workaround could be that aside my exported file (having package `xmap`) I could declare type aliases for both the key and the value types, like:
```
import ...

type NameID = constant.NameID
type UserChannelList = entity.UserChannelList
```

EDIT2: in all cases, I should make sure it won't bring circular loop if the XXXMap was needed in one of those packages ^^

Guía de contribución

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

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.