Get and set locale specific string conversion and error message callbacks.
Syntax
JSLocaleCallbacks * JS_GetLocaleCallbacks(JSRuntime *rt); void JS_SetLocaleCallbacks(JSRuntime *rt, JSLocaleCallbacks *callbacks);
| Name | Type | Description | 
|---|---|---|
| cx |  | Pointer to a JS context from which to derive runtime information. Requires request. In a JS_THREADSAFEbuild, the caller must be in a request on thisJSContext. | 
| callbacks | JSLocaleCallbacks * | Pointer to a JSLocaleCallbacksstruct. | 
Callback functions
struct JSLocaleCallbacks {
    JSLocaleToUpperCase     localeToUpperCase;
    JSLocaleToLowerCase     localeToLowerCase;
    JSLocaleCompare         localeCompare; // not used #if EXPOSE_INTL_API
    JSLocaleToUnicode       localeToUnicode;
};
typedef bool
(* JSLocaleToUpperCase)(JSContext *cx, JS::HandleString src, JS::MutableHandleValue rval);
typedef bool
(* JSLocaleToLowerCase)(JSContext *cx, JS::HandleString src, JS::MutableHandleValue rval);
typedef bool
(* JSLocaleCompare)(JSContext *cx, JS::HandleString src1, JS::HandleString src2,
                    JS::MutableHandleValue rval);
typedef bool
(* JSLocaleToUnicode)(JSContext *cx, const char *src, JS::MutableHandleValue rval);
| Type | Description | 
|---|---|
| JSLocaleToUpperCase | Implementation of String.prototype.toLocaleUpperCase()function. | 
| JSLocaleToLowerCase | Implementation of String.prototype.toLocaleLowerCase()function. | 
| JSLocaleCompare | Implementation of String.prototype.localeCompare()function. IfEXPOSE_INTL_APIis defined, Intl API is used instead. | 
| JSLocaleToUnicode | Convert locale specific string to Unicode string. | 
Description
JS_SetLocaleCallbacks establishes locale callbacks. The pointer must persist as long as the JSRuntime. Passing nullptr restores the default behaviour.
JS_GetLocaleCallbacks returns the address of the current locale callbacks struct, which may be nullptr.