import BaseAPI from "./BaseAPI" ; import Client from "../Client" ; export type GetCountryRegionsOptions = { locale : string ; } ; export type GetCountryRegions = { countryRegionList : { code : string ; name : string ; displayName : string ; } [ ] ; } ; export type GetLocalesOptions = { displayValueLocale ? : string ; } ; export type GetLocales = { data : { locale : { id : number ; locale : string ; name : string ; nativeName : string ; language : { id : number ; name : string ; nativeName : string ; languageCode : string ; } ; } ; isEnabledForFullExperience : boolean ; isEnabledForSignupAndLogin : boolean ; isEnabledForInGameUgc : boolean ; } [ ] ; } ; export type GetSupportedLocales = { supportedLocales : GetLocales [ "data" ] [ 0 ] [ "locale" ] [ ] ; } ; export type GetUserLocale = { supportedLocale : GetLocales [ "data" ] [ 0 ] [ "locale" ] ; } ; export type GetLocusSupportedLocales = { signupAndLogin : GetLocales [ "data" ] [ 0 ] [ "locale" ] ; generalExperience : GetLocales [ "data" ] [ 0 ] [ "locale" ] ; ugc : GetLocales [ "data" ] [ 0 ] [ "locale" ] ; } ; export type SetUserLocaleOptions = { supportedLocaleCode : string ; } ; export type SetUserLocale = { success : boolean ; } ; export default class LocaleAPI extends BaseAPI { constructor ( client ) { super ( { client , baseUrl : "https://locale.roblox.com/" } ) ; } getCountryRegions ( options ) { return this . request ( { requiresAuth : false , request : { path : `v1/country-regions` , qs : options } , json : true } ) . then ( response => response . body ) ; } getLocales ( options ) { return this . request ( { requiresAuth : false , request : { path : `v1/locales` , qs : options } , json : true } ) . then ( response => response . body ) ; } getSupportedLocales ( ) { return this . request ( { requiresAuth : false , request : { path : `v1/locales/supported-locales` } , json : true } ) . then ( response => response . body ) ; } getUserLocale ( ) { return this . request ( { requiresAuth : true , request : { path : `v1/locales/user-locale` } , json : true } ) . then ( response => response . body ) ; } getLocusSupportedLocales ( ) { return this . request ( { requiresAuth : false , request : { path : `v1/locales/user-localization-locus-supported-locales` } , json : true } ) . then ( response => response . body ) ; } setUserLocale ( options ) { return this . request ( { requiresAuth : true , request : { path : `v1/locales/set-user-supported-locale` , method : "POST" , json : options } , json : true } ) . then ( response => response . body ) ; } }