import { MainPostTag, MainPostTagParent, MainPostTagName } from '@/types/common';

export const getTagsByMainTag:(main:string)=>Map<string, number> = (main:string)=>{
    const ans = new Map<string, number>()
    const mainTagId = MainPostTag[main as keyof typeof MainPostTag];
    for(const key in MainPostTagParent){
        if(MainPostTagParent[key] === mainTagId)
        {
            ans.set(MainPostTagName[key], Number(key));
        }
    }
    return ans;
}