rads-db 0.1.43 → 0.1.44
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +14 -9
- package/dist/index.mjs +14 -9
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -109,17 +109,8 @@ const mergeFn = createMerge__default({
|
|
|
109
109
|
function merge(target, source) {
|
|
110
110
|
cleanUndefined(source);
|
|
111
111
|
const result = mergeFn(target, source);
|
|
112
|
-
cleanNull(result);
|
|
113
112
|
return result;
|
|
114
113
|
}
|
|
115
|
-
function cleanNull(obj) {
|
|
116
|
-
for (const key in obj) {
|
|
117
|
-
if (obj[key] === null)
|
|
118
|
-
delete obj[key];
|
|
119
|
-
if (___default.isPlainObject(obj[key]))
|
|
120
|
-
cleanNull(obj[key]);
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
114
|
function cleanUndefined(obj) {
|
|
124
115
|
if (!obj || !___default.isPlainObject(obj))
|
|
125
116
|
return;
|
|
@@ -134,6 +125,15 @@ function cleanUndefinedInner(obj) {
|
|
|
134
125
|
}
|
|
135
126
|
}
|
|
136
127
|
|
|
128
|
+
function cleanUndefinedAndNull(obj) {
|
|
129
|
+
for (const key in obj) {
|
|
130
|
+
if (obj[key] == null)
|
|
131
|
+
delete obj[key];
|
|
132
|
+
if (___default.isPlainObject(obj[key]))
|
|
133
|
+
cleanUndefinedAndNull(obj[key]);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
|
|
137
137
|
const operatorFns = {
|
|
138
138
|
eq: (x, w) => x === w,
|
|
139
139
|
ieq: (x, w) => x?.toLowerCase() === w?.toLowerCase(),
|
|
@@ -643,6 +643,7 @@ function generateMethods(schema, validators, options) {
|
|
|
643
643
|
db
|
|
644
644
|
};
|
|
645
645
|
const driverInstance = getDriverInstance(schema, key, opts.driver, drivers);
|
|
646
|
+
const mustCleanNulls = driverInstance.driverName !== "restApi";
|
|
646
647
|
db[handle] = {
|
|
647
648
|
getAgg: async (args, ctx) => {
|
|
648
649
|
if (!args?.agg)
|
|
@@ -683,6 +684,8 @@ function generateMethods(schema, validators, options) {
|
|
|
683
684
|
const oldDoc = await driverInstance.get({ where: { id: doc.id } });
|
|
684
685
|
if (oldDoc)
|
|
685
686
|
doc = merge(oldDoc, doc);
|
|
687
|
+
if (mustCleanNulls)
|
|
688
|
+
cleanUndefinedAndNull(doc);
|
|
686
689
|
doc = validators[key](doc);
|
|
687
690
|
const docArgsToSave = [{ doc, oldDoc }];
|
|
688
691
|
await fillDenormFieldsBeforePut(computedContext, docArgsToSave);
|
|
@@ -705,6 +708,8 @@ function generateMethods(schema, validators, options) {
|
|
|
705
708
|
const docArgsToSave = docs.map((doc) => {
|
|
706
709
|
const oldDoc = oldDocsById[doc.id];
|
|
707
710
|
doc = merge(oldDoc, doc);
|
|
711
|
+
if (mustCleanNulls)
|
|
712
|
+
cleanUndefinedAndNull(doc);
|
|
708
713
|
doc = validators[key](doc);
|
|
709
714
|
return { oldDoc, doc };
|
|
710
715
|
});
|
package/dist/index.mjs
CHANGED
|
@@ -102,17 +102,8 @@ const mergeFn = createMerge({
|
|
|
102
102
|
function merge(target, source) {
|
|
103
103
|
cleanUndefined(source);
|
|
104
104
|
const result = mergeFn(target, source);
|
|
105
|
-
cleanNull(result);
|
|
106
105
|
return result;
|
|
107
106
|
}
|
|
108
|
-
function cleanNull(obj) {
|
|
109
|
-
for (const key in obj) {
|
|
110
|
-
if (obj[key] === null)
|
|
111
|
-
delete obj[key];
|
|
112
|
-
if (_.isPlainObject(obj[key]))
|
|
113
|
-
cleanNull(obj[key]);
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
107
|
function cleanUndefined(obj) {
|
|
117
108
|
if (!obj || !_.isPlainObject(obj))
|
|
118
109
|
return;
|
|
@@ -127,6 +118,15 @@ function cleanUndefinedInner(obj) {
|
|
|
127
118
|
}
|
|
128
119
|
}
|
|
129
120
|
|
|
121
|
+
function cleanUndefinedAndNull(obj) {
|
|
122
|
+
for (const key in obj) {
|
|
123
|
+
if (obj[key] == null)
|
|
124
|
+
delete obj[key];
|
|
125
|
+
if (_.isPlainObject(obj[key]))
|
|
126
|
+
cleanUndefinedAndNull(obj[key]);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
130
|
const operatorFns = {
|
|
131
131
|
eq: (x, w) => x === w,
|
|
132
132
|
ieq: (x, w) => x?.toLowerCase() === w?.toLowerCase(),
|
|
@@ -636,6 +636,7 @@ function generateMethods(schema, validators, options) {
|
|
|
636
636
|
db
|
|
637
637
|
};
|
|
638
638
|
const driverInstance = getDriverInstance(schema, key, opts.driver, drivers);
|
|
639
|
+
const mustCleanNulls = driverInstance.driverName !== "restApi";
|
|
639
640
|
db[handle] = {
|
|
640
641
|
getAgg: async (args, ctx) => {
|
|
641
642
|
if (!args?.agg)
|
|
@@ -676,6 +677,8 @@ function generateMethods(schema, validators, options) {
|
|
|
676
677
|
const oldDoc = await driverInstance.get({ where: { id: doc.id } });
|
|
677
678
|
if (oldDoc)
|
|
678
679
|
doc = merge(oldDoc, doc);
|
|
680
|
+
if (mustCleanNulls)
|
|
681
|
+
cleanUndefinedAndNull(doc);
|
|
679
682
|
doc = validators[key](doc);
|
|
680
683
|
const docArgsToSave = [{ doc, oldDoc }];
|
|
681
684
|
await fillDenormFieldsBeforePut(computedContext, docArgsToSave);
|
|
@@ -698,6 +701,8 @@ function generateMethods(schema, validators, options) {
|
|
|
698
701
|
const docArgsToSave = docs.map((doc) => {
|
|
699
702
|
const oldDoc = oldDocsById[doc.id];
|
|
700
703
|
doc = merge(oldDoc, doc);
|
|
704
|
+
if (mustCleanNulls)
|
|
705
|
+
cleanUndefinedAndNull(doc);
|
|
701
706
|
doc = validators[key](doc);
|
|
702
707
|
return { oldDoc, doc };
|
|
703
708
|
});
|