rosetty-solid
Version:
[](https://codeclimate.com/github/qlaffont/rosetty-solid/maintainability) [ • 1.19 kB
JavaScript
// src/index.ts
import { rosetty } from "rosetty";
import {
createComponent,
createContext,
createMemo,
createSignal,
useContext
} from "solid-js";
var bootstrapRosetty = rosetty;
var RosettyContext = createContext();
var RosettyProvider = (props) => {
const [r, setLastR] = createSignal(bootstrapRosetty(props.languages, props.defaultLanguage, props.translateFallback), { equals: false });
const [actualLang, setActualLang] = createSignal(props.defaultLanguage);
const changeLang = (lang) => {
r().changeLang(lang);
setActualLang(r().getCurrentLang());
setLastR(r());
};
const returnValue = createMemo(() => ({
...r(),
actualLang,
changeLang
}));
return createComponent(RosettyContext.Provider, {
get value() {
return returnValue;
},
get children() {
return props.children;
}
});
};
function useRosetty() {
const client = useContext(RosettyContext);
if (!client) {
throw new Error("No RosettyClient set, use RosettyProvider to set one");
}
return client;
}
export {
useRosetty,
RosettyProvider,
RosettyContext
};
//# debugId=CCA654B7006CC7CB64756E2164756E21
//# sourceMappingURL=index.js.map