n3 2.10.7 → 2.11.0

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.
@@ -427,7 +427,7 @@ function literal(value, languageOrDataType) {
427
427
  return new Literal(`"${value}"@${languageOrDataType.language.toLowerCase()}${languageOrDataType.direction ? `--${languageOrDataType.direction.toLowerCase()}` : ''}`);
428
428
  }
429
429
 
430
- // Automatically determine datatype for booleans, numbers, and dates
430
+ // Automatically determine datatype for booleans, numbers, BigInts, and dates
431
431
  let datatype = languageOrDataType ? languageOrDataType.value : '';
432
432
  if (datatype === '') {
433
433
  // Convert a boolean
@@ -443,6 +443,8 @@ function literal(value, languageOrDataType) {
443
443
  if (!Number.isNaN(value)) value = value > 0 ? 'INF' : '-INF';
444
444
  }
445
445
  }
446
+ // Convert a BigInt, whose decimal string is always a valid xsd:integer lexical
447
+ else if (typeof value === 'bigint') datatype = xsd.integer;
446
448
  // Convert a valid date
447
449
  else if (value instanceof Date && !Number.isNaN(value.getTime())) {
448
450
  datatype = xsd.dateTime;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n3",
3
- "version": "2.10.7",
3
+ "version": "2.11.0",
4
4
  "description": "Lightning fast, asynchronous, streaming Turtle / N3 / RDF library.",
5
5
  "author": "Ruben Verborgh <ruben.verborgh@gmail.com>",
6
6
  "keywords": [
@@ -439,7 +439,7 @@ function literal(value, languageOrDataType) {
439
439
  return new Literal(`"${value}"@${languageOrDataType.language.toLowerCase()}${languageOrDataType.direction ? `--${languageOrDataType.direction.toLowerCase()}` : ''}`);
440
440
  }
441
441
 
442
- // Automatically determine datatype for booleans, numbers, and dates
442
+ // Automatically determine datatype for booleans, numbers, BigInts, and dates
443
443
  let datatype = languageOrDataType ? languageOrDataType.value : '';
444
444
  if (datatype === '') {
445
445
  // Convert a boolean
@@ -458,6 +458,9 @@ function literal(value, languageOrDataType) {
458
458
  value = value > 0 ? 'INF' : '-INF';
459
459
  }
460
460
  }
461
+ // Convert a BigInt, whose decimal string is always a valid xsd:integer lexical
462
+ else if (typeof value === 'bigint')
463
+ datatype = xsd.integer;
461
464
  // Convert a valid date
462
465
  else if (value instanceof Date && !Number.isNaN(value.getTime())) {
463
466
  datatype = xsd.dateTime;