michangarrito/apps/mcp-server/node_modules/hono/dist/jsx/dom/context.js
rckrdmrd 97f407c661 [MIGRATION-V2] feat: Migrar michangarrito a estructura v2
- Prefijo v2: MCH
- TRACEABILITY-MASTER.yml creado
- Listo para integracion como submodulo

Workspace: v2.0.0 | SIMCO: v4.0.0
2026-01-10 11:28:54 -06:00

49 lines
1.1 KiB
JavaScript

// src/jsx/dom/context.ts
import { DOM_ERROR_HANDLER } from "../constants.js";
import { globalContexts } from "../context.js";
import { setInternalTagFlag } from "./utils.js";
var createContextProviderFunction = (values) => ({ value, children }) => {
if (!children) {
return void 0;
}
const props = {
children: [
{
tag: setInternalTagFlag(() => {
values.push(value);
}),
props: {}
}
]
};
if (Array.isArray(children)) {
props.children.push(...children.flat());
} else {
props.children.push(children);
}
props.children.push({
tag: setInternalTagFlag(() => {
values.pop();
}),
props: {}
});
const res = { tag: "", props, type: "" };
res[DOM_ERROR_HANDLER] = (err) => {
values.pop();
throw err;
};
return res;
};
var createContext = (defaultValue) => {
const values = [defaultValue];
const context = createContextProviderFunction(values);
context.values = values;
context.Provider = context;
globalContexts.push(context);
return context;
};
export {
createContext,
createContextProviderFunction
};