Skip to content

Commit fb4e68d

Browse files
committed
Bugfix: don't skip incoming fields which are null or false
1 parent 6fb3c37 commit fb4e68d

File tree

3 files changed

+35
-33
lines changed

3 files changed

+35
-33
lines changed

dist/vuex-orm-apollo.esm.js

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -7840,27 +7840,25 @@ var QueryBuilder = /** @class */ (function () {
78407840
}
78417841
else {
78427842
Object.keys(data).forEach(function (key) {
7843-
if (data[key]) {
7844-
if (data[key] instanceof Object) {
7845-
if (data[key].nodes) {
7846-
result[inflection.pluralize(key)] = _this.transformIncomingData(data[key].nodes, model, mutation, true);
7847-
}
7848-
else {
7849-
var newKey = key;
7850-
if (mutation && !recursiveCall) {
7851-
newKey = data[key].nodes ? model.pluralName : model.singularName;
7852-
newKey = downcaseFirstLetter(newKey);
7853-
}
7854-
result[newKey] = _this.transformIncomingData(data[key], model, mutation, true);
7855-
}
7856-
}
7857-
else if (key === 'id') {
7858-
result[key] = parseInt(data[key], 0);
7843+
if (data[key] instanceof Object) {
7844+
if (data[key].nodes) {
7845+
result[inflection.pluralize(key)] = _this.transformIncomingData(data[key].nodes, model, mutation, true);
78597846
}
78607847
else {
7861-
result[key] = data[key];
7848+
var newKey = key;
7849+
if (mutation && !recursiveCall) {
7850+
newKey = data[key].nodes ? model.pluralName : model.singularName;
7851+
newKey = downcaseFirstLetter(newKey);
7852+
}
7853+
result[newKey] = _this.transformIncomingData(data[key], model, mutation, true);
78627854
}
78637855
}
7856+
else if (key === 'id') {
7857+
result[key] = parseInt(data[key], 0);
7858+
}
7859+
else {
7860+
result[key] = data[key];
7861+
}
78647862
});
78657863
}
78667864
if (!recursiveCall) {

src/queryBuilder.ts

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -169,25 +169,23 @@ export default class QueryBuilder {
169169
result = data.map(d => this.transformIncomingData(d, model, mutation, true));
170170
} else {
171171
Object.keys(data).forEach((key) => {
172-
if (data[key]) {
173-
if (data[key] instanceof Object) {
174-
if (data[key].nodes) {
175-
result[inflection.pluralize(key)] = this.transformIncomingData(data[key].nodes, model, mutation, true);
176-
} else {
177-
let newKey = key;
178-
179-
if (mutation && !recursiveCall) {
180-
newKey = data[key].nodes ? model.pluralName : model.singularName;
181-
newKey = downcaseFirstLetter(newKey);
182-
}
172+
if (data[key] instanceof Object) {
173+
if (data[key].nodes) {
174+
result[inflection.pluralize(key)] = this.transformIncomingData(data[key].nodes, model, mutation, true);
175+
} else {
176+
let newKey = key;
183177

184-
result[newKey] = this.transformIncomingData(data[key], model, mutation, true);
178+
if (mutation && !recursiveCall) {
179+
newKey = data[key].nodes ? model.pluralName : model.singularName;
180+
newKey = downcaseFirstLetter(newKey);
185181
}
186-
} else if (key === 'id') {
187-
result[key] = parseInt(data[key], 0);
188-
} else {
189-
result[key] = data[key];
182+
183+
result[newKey] = this.transformIncomingData(data[key], model, mutation, true);
190184
}
185+
} else if (key === 'id') {
186+
result[key] = parseInt(data[key], 0);
187+
} else {
188+
result[key] = data[key];
191189
}
192190
});
193191
}

test/unit/QueryBuilder.spec.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,7 @@ describe('QueryBuilder', () => {
182182
"name": "Contract S",
183183
"displayName": "Contract S",
184184
"slug": "contract-s",
185+
"checked": false,
185186
"contractOptions": {
186187
"nodes": [
187188
{
@@ -197,6 +198,7 @@ describe('QueryBuilder', () => {
197198
"name": "Contract M",
198199
"displayName": "Contract M",
199200
"slug": "contract-m",
201+
"checked": true,
200202
"contractOptions": {
201203
"nodes": [
202204
{
@@ -212,6 +214,7 @@ describe('QueryBuilder', () => {
212214
"name": "Contract L",
213215
"displayName": "Contract L",
214216
"slug": "contract-l",
217+
"checked": false,
215218
"contractOptions": {
216219
"nodes": [
217220
{
@@ -229,6 +232,7 @@ describe('QueryBuilder', () => {
229232
"contracts": [
230233
{
231234
"$isPersisted": true,
235+
"checked": false,
232236
"contractOptions": [
233237
{
234238
"$isPersisted": true,
@@ -244,6 +248,7 @@ describe('QueryBuilder', () => {
244248
},
245249
{
246250
"$isPersisted": true,
251+
"checked": true,
247252
"contractOptions": [
248253
{
249254
"$isPersisted": true,
@@ -259,6 +264,7 @@ describe('QueryBuilder', () => {
259264
},
260265
{
261266
"$isPersisted": true,
267+
"checked": false,
262268
"contractOptions": [
263269
{
264270
"$isPersisted": true,

0 commit comments

Comments
 (0)