mirror of
https://github.com/anotherhadi/ilovetui.git
synced 2026-10-05 10:58:26 +02:00
Vendored
+26
@@ -0,0 +1,26 @@
|
||||
// @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 };
|
||||
Reference in New Issue
Block a user