a8m / a8m/syncmap

Can different custom packages for key and value is possible?

オープン
#8 コメント 1 件 リアクション 0 件 担当者 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 を短くまとめたダイジェスト。