//
//  Copyright (c) 2017-2021 Slang Labs Private Limited. All rights reserved.
//  

import Foundation
import Slang

var slangLocaleMap = [
    "en-IN" : SlangLocale.localeEnglishIN,
    "hi-IN" : SlangLocale.localeHindiIN
]

func getRequestedLocales(_ locales:[String]?) -> Set<Locale> {
    var requestedLocales = Set<Locale>()
    if let locales = locales {
        for locale in locales {
            if let validLocale = slangLocaleMap[locale] {
                requestedLocales.insert(validLocale)
            }
        }
    }
    
    if requestedLocales.count == 0 {
        requestedLocales.insert(SlangLocale.localeEnglishIN)
    }
    
    return requestedLocales
}

func getLocale(_ language:String) -> Locale? {
    return slangLocaleMap[language]
}


func getDefaultLocale(_ language:String?) -> Locale {
    guard let language = language else {
        return SlangLocale.localeEnglishIN
    }

    if let validLocale = slangLocaleMap[language] {
        return validLocale
    }
    
    return SlangLocale.localeEnglishIN
}
