Skip to content

Commit 5106b2e

Browse files
committed
Fix compacted resources with undefined values not being ignored
1 parent e9f2632 commit 5106b2e

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

lib/RdfObjectLoader.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,9 @@ export class RdfObjectLoader {
128128
} else {
129129
// Handle compacted properties
130130
for (const subValue of Array.isArray(value) ? value : [ value ]) {
131-
resource.properties[key].push(this.createCompactedResource(subValue));
131+
if (subValue !== undefined) {
132+
resource.properties[key].push(this.createCompactedResource(subValue));
133+
}
132134
}
133135
}
134136
}

test/RdfObjectLoader-test.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -394,6 +394,15 @@ describe('RdfObjectLoader', () => {
394394
expect(resource.property.prop.term).toEqualRdfTerm(DF.literal('a'));
395395
});
396396

397+
it('should handle a hash with an undefined value', async() => {
398+
const resource = loader.createCompactedResource({
399+
'@id': 'ex:abc',
400+
prop: undefined,
401+
});
402+
expect(resource.term).toEqualRdfTerm(DF.namedNode('http://example.org/abc'));
403+
expect(resource.property.prop).toBeUndefined();
404+
});
405+
397406
it('should handle @type', async() => {
398407
const resource = loader.createCompactedResource({
399408
'@id': 'ex:abc',

0 commit comments

Comments
 (0)