@alwatr/render-state
Version:
Clone deeply nested objects and arrays in JavaScript.
43 lines (41 loc) • 1.29 kB
JavaScript
/* @alwatr/render-state v5.5.3 */
// src/main.ts
import { createLogger } from "@alwatr/logger";
import { packageTracer } from "@alwatr/package-tracer";
__dev_mode__: packageTracer.add("@alwatr/render-state", "5.5.3");
var logger = /* @__PURE__ */ createLogger("@alwatr/render-state");
var renderState = (state, renderRecord, thisArg = null) => {
logger.logMethodArgs?.("renderState", { state, renderRecord });
let render = renderRecord[state];
if (typeof render === "string") {
render = renderRecord[render];
}
if (render === void 0) {
if (renderRecord._default === void 0) {
logger.error("renderState", "invalid_render_state");
return;
}
if (typeof renderRecord._default === "string") {
if (renderRecord[renderRecord._default] === void 0) {
logger.error("renderState", "invalid_default_render");
return;
}
return renderState(renderRecord._default, renderRecord, thisArg);
}
render = renderRecord._default;
}
if (typeof render !== "function") {
logger.error("renderState", "invalid_render_state");
return;
}
try {
return render.call(thisArg);
} catch (err) {
logger.error("renderState", "render_error", err);
return;
}
};
export {
renderState
};
//# sourceMappingURL=main.mjs.map