alinea
Version:
[](https://npmjs.org/package/alinea) [](https://packagephobia.com/result?p=alinea)
25 lines (23 loc) • 684 B
JavaScript
import "../../chunks/chunk-U5RRZUYZ.js";
// src/core/pages/CreateExprData.ts
import { Expr } from "./Expr.js";
import { ExprData } from "./ExprData.js";
var { entries, fromEntries } = Object;
function createExprData(input) {
if (input === null || input === void 0)
return ExprData.Value(null);
if (Expr.hasExpr(input))
input = input[Expr.ToExpr]();
if (Expr.isExpr(input))
return input[Expr.Data];
if (input && typeof input === "object" && !Array.isArray(input))
return ExprData.Record(
fromEntries(
entries(input).map(([key, value]) => [key, createExprData(value)])
)
);
return ExprData.Value(input);
}
export {
createExprData
};