Skip to content

Commit 97db5ed

Browse files
committed
fix: Fix invalid literals when only language as options is passed
1 parent d481855 commit 97db5ed

2 files changed

Lines changed: 5 additions & 1 deletion

File tree

src/N3DataFactory.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -376,7 +376,7 @@ function literal(value, languageOrDataType) {
376376

377377
// Create a language-tagged string with base direction
378378
if (languageOrDataType !== undefined && !('termType' in languageOrDataType)) {
379-
return new Literal(`"${value}"@${languageOrDataType.language.toLowerCase()}--${languageOrDataType.direction.toLowerCase()}`);
379+
return new Literal(`"${value}"@${languageOrDataType.language.toLowerCase()}${languageOrDataType.direction ? `--${languageOrDataType.direction.toLowerCase()}` : ''}`);
380380
}
381381

382382
// Automatically determine datatype for booleans and numbers

test/N3DataFactory-test.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,10 @@ describe('DataFactory', () => {
5252
expect(DataFactory.literal('abc', 'en-GB')).toEqual(new Literal('"abc"@en-gb'));
5353
});
5454

55+
it('converts a non-empty string with a language via options', () => {
56+
expect(DataFactory.literal('abc', { language: 'en-GB' })).toEqual(new Literal('"abc"@en-gb'));
57+
});
58+
5559
it('converts a non-empty string with a language and direction', () => {
5660
expect(DataFactory.literal('abc', { language: 'en-GB', direction: 'rtl' })).toEqual(new Literal('"abc"@en-gb--rtl'));
5761
});

0 commit comments

Comments
 (0)