UNPKG

rosetty-solid

Version:

[![Maintainability](https://api.codeclimate.com/v1/badges/a777c53f5370b6900930/maintainability)](https://codeclimate.com/github/qlaffont/rosetty-solid/maintainability) [![Test Coverage](https://api.codeclimate.com/v1/badges/a777c53f5370b6900930/test_cover

49 lines (47 loc) 1.19 kB
// 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