a8m / a8m/syncmap

Can different custom packages for key and value is possible?

未關閉
#8 1 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
主要語言
Go
星號
256
分支
17
PR 合併指標
30 天內沒有已合併 PR

描述

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 ^^

貢獻指南

這個儲存庫沒有索引到貢獻指南

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。