mirror of
https://github.com/anotherhadi/ilovetui.git
synced 2026-10-05 10:58:26 +02:00
27 lines
670 B
JavaScript
27 lines
670 B
JavaScript
// @bun
|
|
// src/context/helper.tsx
|
|
import { createComponent as _$createComponent } from "@opentui/solid";
|
|
import { createContext, useContext } from "solid-js";
|
|
function createSimpleContext2(input) {
|
|
const ctx = createContext();
|
|
return {
|
|
provider: (props) => {
|
|
const value = input.init(props);
|
|
return _$createComponent(ctx.Provider, {
|
|
value,
|
|
get children() {
|
|
return props.children;
|
|
}
|
|
});
|
|
},
|
|
use() {
|
|
const value = useContext(ctx);
|
|
if (!value)
|
|
throw new Error(`${input.name} context must be used within its provider`);
|
|
return value;
|
|
}
|
|
};
|
|
}
|
|
|
|
export { createSimpleContext2 };
|