UNPKG

@tuoyuan/json-schema

Version:

json-schema编辑器及表单组件

40 lines (39 loc) 1.15 kB
function s(e) { if (typeof e == "string") return e; if (e instanceof Array) { if (e.length === 2) return e[0]; if (e.length === 7) return "any"; } } function u(e, t) { t && Object.keys(t).forEach((n) => { const i = t[n], l = s(i.type); ["string", "number", "integer", "boolean"].includes(l) ? i.default != null && (e[n] = e[n] ?? i.default) : l === "array" ? e[n] || (e[n] = i.items.default || [], s(i.items.type) === "object" && (e[n].push({}), e[n].forEach((f, c) => { u(f, i.items.properties); }))) : l === "object" && (e[n] || (e[n] = {}, u(e[n], i.properties))); }); } function g(e, t) { const n = Number(t); isNaN(n) ? e.splice(e.length - 1, 1) : e[e.length - 1] = n; } function r(e, t) { if (e === t) return !0; if (typeof e != "object" || e === null || typeof t != "object" || t === null) return !1; const n = Object.keys(e), i = Object.keys(t); if (n.length !== i.length) return !1; for (let l of n) if (!i.includes(l) || !r(e[l], t[l])) return !1; return !0; } export { g as convertStringInArray, r as deepEqual, s as getTrueType, u as setFormData };