react-intlayer
Version:
Easily internationalize i18n your React applications with type-safe multilingual content management.
28 lines (26 loc) • 1.28 kB
JavaScript
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
const require_runtime = require('./_virtual/_rolldown/runtime.cjs');
let react = require("react");
let react_jsx_runtime = require("react/jsx-runtime");
//#region src/IntlayerNode.tsx
const renderIntlayerNode = ({ children, value, additionalProps }) => {
const element = (0, react.isValidElement)(children) ? children : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_jsx_runtime.Fragment, { children });
return new Proxy(element, { get(target, prop, receiver) {
if (prop === "value") return value;
if (prop === Symbol.toPrimitive) return () => value ?? "";
if (prop === "toString") return () => String(value ?? "");
if (prop === "valueOf") return () => value;
if (additionalProps && prop in additionalProps) return additionalProps[prop];
if (value !== null && value !== void 0 && typeof prop === "string" && prop !== "constructor" && !(prop in target)) {
const valObj = Object(value);
if (prop in valObj) {
const valProp = valObj[prop];
return typeof valProp === "function" ? valProp.bind(value) : valProp;
}
}
return Reflect.get(target, prop, receiver);
} });
};
//#endregion
exports.renderIntlayerNode = renderIntlayerNode;
//# sourceMappingURL=IntlayerNode.cjs.map