@kurai-io/redis
Version:
Schema-based abstraction layer for redis database interactions
20 lines (19 loc) • 540 B
JavaScript
import { ObjectSchema as i, seal as c } from "@sigiljs/seal";
function u(n, t) {
const r = {}, e = t.__$shape;
return Object.keys(e).forEach((s, f) => {
const a = e[s], o = n[f];
r[s] = a instanceof i ? u(o, a.__$shape) : o;
}), r;
}
function h(n, t) {
const r = JSON.parse(n);
if (!Array.isArray(r)) throw new Error("Input must be a JSON array string");
if (!(t instanceof i))
return c.validate(t, r).length ? null : r;
const e = u(r, t);
return c.validate(t, e).length ? null : e;
}
export {
h as default
};