UNPKG

nukak

Version:

flexible and efficient ORM, with declarative JSON syntax and smart type-safety

19 lines 2.6 kB
export function clone(value) { if (typeof value !== 'object' || value === null) { return value; } if (Array.isArray(value)) { return value.map((it) => clone(it)); } return { ...value }; } export function hasKeys(obj) { return getKeys(obj).length > 0; } export function getKeys(obj) { return obj ? Object.keys(obj) : []; } export function getFieldKeys(fields) { return getKeys(fields).filter((field) => fields[field].eager ?? true); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbC9vYmplY3QudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLFVBQVUsS0FBSyxDQUFJLEtBQVE7SUFDL0IsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ2hELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3pCLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFpQixDQUFDO0lBQ3RELENBQUM7SUFDRCxPQUFPLEVBQUUsR0FBRyxLQUFLLEVBQUUsQ0FBQztBQUN0QixDQUFDO0FBRUQsTUFBTSxVQUFVLE9BQU8sQ0FBSSxHQUFNO0lBQy9CLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFDakMsQ0FBQztBQUVELE1BQU0sVUFBVSxPQUFPLENBQUksR0FBTTtJQUMvQixPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3JDLENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUMxQixNQUVDO0lBRUQsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBb0IsQ0FBQyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQWtCLENBQUM7QUFDeEcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmllbGRLZXksIEZpZWxkT3B0aW9ucyB9IGZyb20gJ251a2FrL3R5cGUnO1xuXG5leHBvcnQgZnVuY3Rpb24gY2xvbmU8VD4odmFsdWU6IFQpOiBUIHtcbiAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ29iamVjdCcgfHwgdmFsdWUgPT09IG51bGwpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgcmV0dXJuIHZhbHVlLm1hcCgoaXQpID0+IGNsb25lKGl0KSkgYXMgdW5rbm93biBhcyBUO1xuICB9XG4gIHJldHVybiB7IC4uLnZhbHVlIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNLZXlzPFQ+KG9iajogVCk6IGJvb2xlYW4ge1xuICByZXR1cm4gZ2V0S2V5cyhvYmopLmxlbmd0aCA+IDA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRLZXlzPFQ+KG9iajogVCk6IHN0cmluZ1tdIHtcbiAgcmV0dXJuIG9iaiA/IE9iamVjdC5rZXlzKG9iaikgOiBbXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZpZWxkS2V5czxFPihcbiAgZmllbGRzOiB7XG4gICAgW0sgaW4gRmllbGRLZXk8RT5dPzogRmllbGRPcHRpb25zO1xuICB9LFxuKTogRmllbGRLZXk8RT5bXSB7XG4gIHJldHVybiBnZXRLZXlzKGZpZWxkcykuZmlsdGVyKChmaWVsZCkgPT4gZmllbGRzW2ZpZWxkIGFzIEZpZWxkS2V5PEU+XS5lYWdlciA/PyB0cnVlKSBhcyBGaWVsZEtleTxFPltdO1xufVxuIl19