Buckets:
| // src/jsx/context.ts | |
| import { raw } from "../helper/html/index.js"; | |
| import { JSXFragmentNode } from "./base.js"; | |
| import { DOM_RENDERER } from "./constants.js"; | |
| import { createContextProviderFunction } from "./dom/context.js"; | |
| var globalContexts = []; | |
| var createContext = (defaultValue) => { | |
| const values = [defaultValue]; | |
| const context = ((props) => { | |
| values.push(props.value); | |
| let string; | |
| try { | |
| string = props.children ? (Array.isArray(props.children) ? new JSXFragmentNode("", {}, props.children) : props.children).toString() : ""; | |
| } finally { | |
| values.pop(); | |
| } | |
| if (string instanceof Promise) { | |
| return string.then((resString) => raw(resString, resString.callbacks)); | |
| } else { | |
| return raw(string); | |
| } | |
| }); | |
| context.values = values; | |
| context.Provider = context; | |
| context[DOM_RENDERER] = createContextProviderFunction(values); | |
| globalContexts.push(context); | |
| return context; | |
| }; | |
| var useContext = (context) => { | |
| return context.values.at(-1); | |
| }; | |
| export { | |
| createContext, | |
| globalContexts, | |
| useContext | |
| }; | |
Xet Storage Details
- Size:
- 1.07 kB
- Xet hash:
- c7f577d7f46bdf78bd738d4b19a78d3029b897a62acc85f28a99831c46cfba61
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.