@react-querybuilder/datetime 8.4.0 → 8.5.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.
Files changed (73) hide show
  1. package/dist/{chunk-EGQ3B2PY.js → chunk-NZIAHMPY.js} +205 -17
  2. package/dist/chunk-NZIAHMPY.js.map +1 -0
  3. package/dist/{chunk-6RML23AL.mjs → chunk-TTBZSGPV.mjs} +194 -17
  4. package/dist/chunk-TTBZSGPV.mjs.map +1 -0
  5. package/dist/chunk-Y2DIP3LW.mjs +7 -0
  6. package/dist/chunk-Y2DIP3LW.mjs.map +1 -0
  7. package/dist/cjs/react-querybuilder_datetime.cjs.development.date-fns.js +194 -17
  8. package/dist/cjs/react-querybuilder_datetime.cjs.development.date-fns.js.map +1 -1
  9. package/dist/cjs/react-querybuilder_datetime.cjs.development.dayjs.js +194 -17
  10. package/dist/cjs/react-querybuilder_datetime.cjs.development.dayjs.js.map +1 -1
  11. package/dist/cjs/react-querybuilder_datetime.cjs.development.js +197 -17
  12. package/dist/cjs/react-querybuilder_datetime.cjs.development.js.map +1 -1
  13. package/dist/cjs/react-querybuilder_datetime.cjs.development.jsdate.js +205 -28
  14. package/dist/cjs/react-querybuilder_datetime.cjs.development.jsdate.js.map +1 -1
  15. package/dist/cjs/react-querybuilder_datetime.cjs.development.luxon.js +194 -17
  16. package/dist/cjs/react-querybuilder_datetime.cjs.development.luxon.js.map +1 -1
  17. package/dist/cjs/react-querybuilder_datetime.cjs.production.date-fns.js +6 -5
  18. package/dist/cjs/react-querybuilder_datetime.cjs.production.date-fns.js.map +1 -1
  19. package/dist/cjs/react-querybuilder_datetime.cjs.production.dayjs.js +6 -5
  20. package/dist/cjs/react-querybuilder_datetime.cjs.production.dayjs.js.map +1 -1
  21. package/dist/cjs/react-querybuilder_datetime.cjs.production.js +7 -6
  22. package/dist/cjs/react-querybuilder_datetime.cjs.production.js.map +1 -1
  23. package/dist/cjs/react-querybuilder_datetime.cjs.production.jsdate.js +7 -6
  24. package/dist/cjs/react-querybuilder_datetime.cjs.production.jsdate.js.map +1 -1
  25. package/dist/cjs/react-querybuilder_datetime.cjs.production.luxon.js +6 -5
  26. package/dist/cjs/react-querybuilder_datetime.cjs.production.luxon.js.map +1 -1
  27. package/dist/react-querybuilder_datetime.date-fns.mjs +4 -1
  28. package/dist/react-querybuilder_datetime.date-fns.mjs.map +1 -1
  29. package/dist/react-querybuilder_datetime.dayjs.mjs +4 -1
  30. package/dist/react-querybuilder_datetime.dayjs.mjs.map +1 -1
  31. package/dist/react-querybuilder_datetime.jsdate.mjs +4 -1
  32. package/dist/react-querybuilder_datetime.jsdate.mjs.map +1 -1
  33. package/dist/react-querybuilder_datetime.legacy-esm.date-fns.js +4 -1
  34. package/dist/react-querybuilder_datetime.legacy-esm.date-fns.js.map +1 -1
  35. package/dist/react-querybuilder_datetime.legacy-esm.dayjs.js +4 -1
  36. package/dist/react-querybuilder_datetime.legacy-esm.dayjs.js.map +1 -1
  37. package/dist/react-querybuilder_datetime.legacy-esm.js +7 -1
  38. package/dist/react-querybuilder_datetime.legacy-esm.js.map +1 -1
  39. package/dist/react-querybuilder_datetime.legacy-esm.jsdate.js +4 -1
  40. package/dist/react-querybuilder_datetime.legacy-esm.jsdate.js.map +1 -1
  41. package/dist/react-querybuilder_datetime.legacy-esm.luxon.js +4 -1
  42. package/dist/react-querybuilder_datetime.legacy-esm.luxon.js.map +1 -1
  43. package/dist/react-querybuilder_datetime.luxon.mjs +4 -1
  44. package/dist/react-querybuilder_datetime.luxon.mjs.map +1 -1
  45. package/dist/react-querybuilder_datetime.mjs +7 -1
  46. package/dist/react-querybuilder_datetime.mjs.map +1 -1
  47. package/dist/react-querybuilder_datetime.production.date-fns.mjs +1 -1
  48. package/dist/react-querybuilder_datetime.production.date-fns.mjs.map +1 -1
  49. package/dist/react-querybuilder_datetime.production.dayjs.mjs +1 -1
  50. package/dist/react-querybuilder_datetime.production.dayjs.mjs.map +1 -1
  51. package/dist/react-querybuilder_datetime.production.jsdate.mjs +2 -2
  52. package/dist/react-querybuilder_datetime.production.jsdate.mjs.map +1 -1
  53. package/dist/react-querybuilder_datetime.production.luxon.mjs +1 -1
  54. package/dist/react-querybuilder_datetime.production.luxon.mjs.map +1 -1
  55. package/dist/react-querybuilder_datetime.production.mjs +2 -2
  56. package/dist/react-querybuilder_datetime.production.mjs.map +1 -1
  57. package/dist/types/getDatetimeRuleProcessorNL.d.ts +13 -0
  58. package/dist/types/index.d.ts +1 -0
  59. package/dist/types/index.date-fns.d.ts +4 -0
  60. package/dist/types/index.dayjs.d.ts +4 -0
  61. package/dist/types/index.jsdate.d.ts +4 -0
  62. package/dist/types/index.luxon.d.ts +4 -0
  63. package/dist/types-esm/getDatetimeRuleProcessorNL.d.mts +13 -0
  64. package/dist/types-esm/index.d.mts +1 -0
  65. package/dist/types-esm/index.date-fns.d.mts +4 -0
  66. package/dist/types-esm/index.dayjs.d.mts +4 -0
  67. package/dist/types-esm/index.jsdate.d.mts +4 -0
  68. package/dist/types-esm/index.luxon.d.mts +4 -0
  69. package/package.json +14 -14
  70. package/dist/chunk-6RML23AL.mjs.map +0 -1
  71. package/dist/chunk-EGQ3B2PY.js.map +0 -1
  72. package/dist/chunk-SXNOZEVF.mjs +0 -6
  73. package/dist/chunk-SXNOZEVF.mjs.map +0 -1
@@ -22,6 +22,7 @@ var index_jsdate_exports = {};
22
22
  __export(index_jsdate_exports, {
23
23
  datetimeRuleProcessorCEL: () => datetimeRuleProcessorCEL,
24
24
  datetimeRuleProcessorMongoDBQuery: () => datetimeRuleProcessorMongoDBQuery,
25
+ datetimeRuleProcessorNL: () => datetimeRuleProcessorNL,
25
26
  datetimeRuleProcessorSQL: () => datetimeRuleProcessorSQL,
26
27
  datetimeValueProcessorANSI: () => datetimeValueProcessorANSI,
27
28
  datetimeValueProcessorMSSQL: () => datetimeValueProcessorMSSQL,
@@ -367,7 +368,7 @@ var getDatetimeRuleProcessorMongoDBQuery = function getDatetimeRuleProcessorMong
367
368
  };
368
369
  };
369
370
 
370
- // src/getDatetimeRuleProcessorSQL.ts
371
+ // src/getDatetimeRuleProcessorNL.ts
371
372
  var import_react_querybuilder3 = require("react-querybuilder");
372
373
  function _typeof3(o) {
373
374
  "@babel/helpers - typeof";
@@ -457,14 +458,187 @@ function _toPrimitive2(t, r) {
457
458
  }
458
459
  return ("string" === r ? String : Number)(t);
459
460
  }
461
+ var defaultDateTimeNLOperatorMap = {
462
+ // '=': 'is',
463
+ // '!=': 'is not',
464
+ "<": "is before",
465
+ ">": "is after",
466
+ "<=": "is on or before",
467
+ ">=": "is on or after",
468
+ "in": ["is one of the dates", "is the same as a date in"],
469
+ notin: ["is not one of the dates", "is not the same as any date in"],
470
+ between: ["is between", "is between the dates in"],
471
+ notbetween: ["is not between", "is not between the dates in"]
472
+ };
473
+ var datetimeValueProcessorNL = function datetimeValueProcessorNL2(rule, opts) {
474
+ var _opts$context, _opts$context4, _opts$context5;
475
+ if (isISOStringDateOnly(opts === null || opts === void 0 || (_opts$context = opts.context) === null || _opts$context === void 0 ? void 0 : _opts$context.originalValue)) {
476
+ var _opts$context2, _opts$context3;
477
+ return new Intl.DateTimeFormat(opts === null || opts === void 0 || (_opts$context2 = opts.context) === null || _opts$context2 === void 0 ? void 0 : _opts$context2.locales, _objectSpread({ dateStyle: "full" }, opts === null || opts === void 0 || (_opts$context3 = opts.context) === null || _opts$context3 === void 0 ? void 0 : _opts$context3.dateFormat)).format(rule.value);
478
+ }
479
+ return new Intl.DateTimeFormat(opts === null || opts === void 0 || (_opts$context4 = opts.context) === null || _opts$context4 === void 0 ? void 0 : _opts$context4.locales, _objectSpread({ dateStyle: "full", timeStyle: "long" }, opts === null || opts === void 0 || (_opts$context5 = opts.context) === null || _opts$context5 === void 0 ? void 0 : _opts$context5.dateTimeFormat)).format(rule.value);
480
+ };
481
+ var getDatetimeRuleProcessorNL = function getDatetimeRuleProcessorNL2(apiFns) {
482
+ return function(rule, options) {
483
+ var _fieldData$label;
484
+ var opts = options !== null && options !== void 0 ? options : (
485
+ /* istanbul ignore next */
486
+ {}
487
+ );
488
+ var operatorLowerCase = rule.operator.toLowerCase();
489
+ var finalValue = "";
490
+ var fieldData = opts.fieldData, _opts$quoteFieldNames = opts.quoteFieldNamesWith, quoteFieldNamesWith = _opts$quoteFieldNames === void 0 ? ["", ""] : _opts$quoteFieldNames, _opts$fieldIdentifier = opts.fieldIdentifierSeparator, fieldIdentifierSeparator = _opts$fieldIdentifier === void 0 ? "" : _opts$fieldIdentifier, _opts$operatorProcess = opts.operatorProcessor, operatorProcessor = _opts$operatorProcess === void 0 ? import_react_querybuilder3.defaultOperatorProcessorNL : _opts$operatorProcess, _opts$wordOrder = opts.wordOrder, wordOrder = _opts$wordOrder === void 0 ? "SVO" : _opts$wordOrder, _opts$context6 = opts.context, context = _opts$context6 === void 0 ? {} : _opts$context6, _opts$operatorMap = opts.operatorMap, operatorMap = _opts$operatorMap === void 0 ? defaultDateTimeNLOperatorMap : _opts$operatorMap;
491
+ if (!processIsDateField(context.isDateField, rule, opts)) {
492
+ return (0, import_react_querybuilder3.defaultRuleProcessorNL)(rule, opts);
493
+ }
494
+ if (rule.valueSource === "field") {
495
+ return (0, import_react_querybuilder3.defaultRuleProcessorNL)(rule, _objectSpread(_objectSpread({}, opts), {}, { operatorMap: defaultDateTimeNLOperatorMap }));
496
+ }
497
+ if ((operatorLowerCase === "in" || operatorLowerCase === "notin" || operatorLowerCase === "between" || operatorLowerCase === "notbetween") && !rule.value) {
498
+ return "";
499
+ }
500
+ var valueAsArray = (0, import_react_querybuilder3.toArray)(rule.value, { retainEmptyStrings: false });
501
+ var valueAsDateArray = valueAsArray.map(function(v) {
502
+ return [v, apiFns.toDate(v)];
503
+ }).filter(function(v) {
504
+ return apiFns.isValid(v[1]);
505
+ });
506
+ switch (operatorLowerCase) {
507
+ case "in":
508
+ case "notin":
509
+ {
510
+ if (valueAsDateArray.length === 0) return "";
511
+ finalValue = "(".concat(valueAsDateArray.map(function(value2) {
512
+ return datetimeValueProcessorNL({ field: rule.field, operator: "=", value: value2[1] }, _objectSpread(_objectSpread({}, opts), {}, { context: _objectSpread(_objectSpread({}, context), {}, { originalValue: value2[0] }) }));
513
+ }).join(", "), ")");
514
+ }
515
+ break;
516
+ case "between":
517
+ case "notbetween":
518
+ {
519
+ var _opts$translations$an, _opts$translations;
520
+ if (valueAsDateArray.length < 2) return "";
521
+ var _valueAsDateArray = _slicedToArray4(valueAsDateArray, 2), first = _valueAsDateArray[0], second = _valueAsDateArray[1];
522
+ var orderedArray = apiFns.isBefore(first[1], second[1]) ? [first, second] : [second, first];
523
+ finalValue = orderedArray.map(function(_ref) {
524
+ var _ref2 = _slicedToArray4(_ref, 2), originalValue2 = _ref2[0], value2 = _ref2[1];
525
+ return datetimeValueProcessorNL({ field: rule.field, operator: "=", value: value2 }, _objectSpread(_objectSpread({}, opts), {}, { context: _objectSpread(_objectSpread({}, context), {}, { originalValue: originalValue2 }) }));
526
+ }).join(" ".concat((_opts$translations$an = (_opts$translations = opts.translations) === null || _opts$translations === void 0 ? void 0 : _opts$translations.and) !== null && _opts$translations$an !== void 0 ? _opts$translations$an : "and", " "));
527
+ }
528
+ break;
529
+ default: {
530
+ var _valueAsDateArray$;
531
+ var _ref3 = (_valueAsDateArray$ = valueAsDateArray[0]) !== null && _valueAsDateArray$ !== void 0 ? _valueAsDateArray$ : ["", ""], _ref4 = _slicedToArray4(_ref3, 2), originalValue = _ref4[0], value = _ref4[1];
532
+ finalValue = originalValue ? datetimeValueProcessorNL({ field: rule.field, operator: "=", value }, _objectSpread(_objectSpread({}, opts), {}, { context: _objectSpread(_objectSpread({}, context), {}, { originalValue }) })) : "";
533
+ }
534
+ }
535
+ var processedField = (0, import_react_querybuilder3.getQuotedFieldName)((_fieldData$label = fieldData === null || fieldData === void 0 ? void 0 : fieldData.label) !== null && _fieldData$label !== void 0 ? _fieldData$label : rule.field, { quoteFieldNamesWith, fieldIdentifierSeparator });
536
+ var processedOperator = operatorProcessor(rule, _objectSpread(_objectSpread({}, opts), {}, { operatorMap: _objectSpread(_objectSpread({}, defaultDateTimeNLOperatorMap), operatorMap) }));
537
+ var wordOrderMap = { S: processedField, V: processedOperator, O: finalValue };
538
+ return (0, import_react_querybuilder3.normalizeConstituentWordOrder)(wordOrder).map(function(term) {
539
+ return "".concat(wordOrderMap[term]);
540
+ }).join(" ").trim();
541
+ };
542
+ };
543
+
544
+ // src/getDatetimeRuleProcessorSQL.ts
545
+ var import_react_querybuilder4 = require("react-querybuilder");
546
+ function _typeof4(o) {
547
+ "@babel/helpers - typeof";
548
+ return _typeof4 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) {
549
+ return typeof o2;
550
+ } : function(o2) {
551
+ return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2;
552
+ }, _typeof4(o);
553
+ }
554
+ function _slicedToArray5(r, e) {
555
+ return _arrayWithHoles5(r) || _iterableToArrayLimit5(r, e) || _unsupportedIterableToArray5(r, e) || _nonIterableRest5();
556
+ }
557
+ function _nonIterableRest5() {
558
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
559
+ }
560
+ function _unsupportedIterableToArray5(r, a) {
561
+ if (r) {
562
+ if ("string" == typeof r) return _arrayLikeToArray5(r, a);
563
+ var t = {}.toString.call(r).slice(8, -1);
564
+ return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray5(r, a) : void 0;
565
+ }
566
+ }
567
+ function _arrayLikeToArray5(r, a) {
568
+ (null == a || a > r.length) && (a = r.length);
569
+ for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
570
+ return n;
571
+ }
572
+ function _iterableToArrayLimit5(r, l) {
573
+ var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
574
+ if (null != t) {
575
+ var e, n, i, u, a = [], f = true, o = false;
576
+ try {
577
+ if (i = (t = t.call(r)).next, 0 === l) {
578
+ if (Object(t) !== t) return;
579
+ f = false;
580
+ } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = true) ;
581
+ } catch (r2) {
582
+ o = true, n = r2;
583
+ } finally {
584
+ try {
585
+ if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
586
+ } finally {
587
+ if (o) throw n;
588
+ }
589
+ }
590
+ return a;
591
+ }
592
+ }
593
+ function _arrayWithHoles5(r) {
594
+ if (Array.isArray(r)) return r;
595
+ }
596
+ function ownKeys2(e, r) {
597
+ var t = Object.keys(e);
598
+ if (Object.getOwnPropertySymbols) {
599
+ var o = Object.getOwnPropertySymbols(e);
600
+ r && (o = o.filter(function(r2) {
601
+ return Object.getOwnPropertyDescriptor(e, r2).enumerable;
602
+ })), t.push.apply(t, o);
603
+ }
604
+ return t;
605
+ }
606
+ function _objectSpread2(e) {
607
+ for (var r = 1; r < arguments.length; r++) {
608
+ var t = null != arguments[r] ? arguments[r] : {};
609
+ r % 2 ? ownKeys2(Object(t), true).forEach(function(r2) {
610
+ _defineProperty3(e, r2, t[r2]);
611
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys2(Object(t)).forEach(function(r2) {
612
+ Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
613
+ });
614
+ }
615
+ return e;
616
+ }
617
+ function _defineProperty3(e, r, t) {
618
+ return (r = _toPropertyKey3(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e;
619
+ }
620
+ function _toPropertyKey3(t) {
621
+ var i = _toPrimitive3(t, "string");
622
+ return "symbol" == _typeof4(i) ? i : i + "";
623
+ }
624
+ function _toPrimitive3(t, r) {
625
+ if ("object" != _typeof4(t) || !t) return t;
626
+ var e = t[Symbol.toPrimitive];
627
+ if (void 0 !== e) {
628
+ var i = e.call(t, r || "default");
629
+ if ("object" != _typeof4(i)) return i;
630
+ throw new TypeError("@@toPrimitive must return a primitive value.");
631
+ }
632
+ return ("string" === r ? String : Number)(t);
633
+ }
460
634
  var getDatetimeValueProcessorANSI = function getDatetimeValueProcessorANSI2(_ref) {
461
635
  var toISOStringDateOnly3 = _ref.toISOStringDateOnly, toISOString2 = _ref.toISOString;
462
636
  return function(rule, opts) {
463
637
  var _opts$context;
464
638
  if (isISOStringDateOnly(opts === null || opts === void 0 || (_opts$context = opts.context) === null || _opts$context === void 0 ? void 0 : _opts$context.originalValue)) {
465
- return (0, import_react_querybuilder3.defaultValueProcessorByRule)(_objectSpread(_objectSpread({}, rule), {}, { value: toISOStringDateOnly3(rule.value) }), opts);
639
+ return (0, import_react_querybuilder4.defaultValueProcessorByRule)(_objectSpread2(_objectSpread2({}, rule), {}, { value: toISOStringDateOnly3(rule.value) }), opts);
466
640
  }
467
- return (0, import_react_querybuilder3.defaultValueProcessorByRule)(_objectSpread(_objectSpread({}, rule), {}, { value: toISOString2(rule.value) }), opts);
641
+ return (0, import_react_querybuilder4.defaultValueProcessorByRule)(_objectSpread2(_objectSpread2({}, rule), {}, { value: toISOString2(rule.value) }), opts);
468
642
  };
469
643
  };
470
644
  var getDatetimeValueProcessorMSSQL = function getDatetimeValueProcessorMSSQL2(_ref2) {
@@ -473,7 +647,7 @@ var getDatetimeValueProcessorMSSQL = function getDatetimeValueProcessorMSSQL2(_r
473
647
  var _opts$fieldData;
474
648
  var datatype = /^(?:small)?datetime/i.test(opts === null || opts === void 0 || (_opts$fieldData = opts.fieldData) === null || _opts$fieldData === void 0 ? void 0 : _opts$fieldData.datatype) ? "datetimeoffset" : "date";
475
649
  var value = datatype === "datetimeoffset" ? toISOString2(rule.value) : toISOStringDateOnly3(rule.value);
476
- return (0, import_react_querybuilder3.defaultValueProcessorByRule)(_objectSpread(_objectSpread({}, rule), {}, { value }), _objectSpread(_objectSpread({}, opts), {}, { wrapValueWith: ["cast(", " as ".concat(datatype, ")")] }));
650
+ return (0, import_react_querybuilder4.defaultValueProcessorByRule)(_objectSpread2(_objectSpread2({}, rule), {}, { value }), _objectSpread2(_objectSpread2({}, opts), {}, { wrapValueWith: ["cast(", " as ".concat(datatype, ")")] }));
477
651
  };
478
652
  };
479
653
  var getDatetimeValueProcessorMySQL = function getDatetimeValueProcessorMySQL2(_ref3) {
@@ -482,7 +656,7 @@ var getDatetimeValueProcessorMySQL = function getDatetimeValueProcessorMySQL2(_r
482
656
  var _opts$fieldData2;
483
657
  var datatype = /^(?:datetime|timestamp)/i.test(opts === null || opts === void 0 || (_opts$fieldData2 = opts.fieldData) === null || _opts$fieldData2 === void 0 ? void 0 : _opts$fieldData2.datatype) ? "datetime" : "date";
484
658
  var value = datatype === "datetime" ? toISOString2(rule.value) : toISOStringDateOnly3(rule.value);
485
- return (0, import_react_querybuilder3.defaultValueProcessorByRule)(_objectSpread(_objectSpread({}, rule), {}, { value }), _objectSpread(_objectSpread({}, opts), {}, { wrapValueWith: ["cast(", " as ".concat(datatype, ")")] }));
659
+ return (0, import_react_querybuilder4.defaultValueProcessorByRule)(_objectSpread2(_objectSpread2({}, rule), {}, { value }), _objectSpread2(_objectSpread2({}, opts), {}, { wrapValueWith: ["cast(", " as ".concat(datatype, ")")] }));
486
660
  };
487
661
  };
488
662
  var getDatetimeValueProcessorOracle = function getDatetimeValueProcessorOracle2(_ref4) {
@@ -491,7 +665,7 @@ var getDatetimeValueProcessorOracle = function getDatetimeValueProcessorOracle2(
491
665
  var _opts$fieldData3;
492
666
  var datatype = /^timestamp/i.test(opts === null || opts === void 0 || (_opts$fieldData3 = opts.fieldData) === null || _opts$fieldData3 === void 0 ? void 0 : _opts$fieldData3.datatype) ? "timestamp" : "date";
493
667
  var value = datatype === "timestamp" ? toISOString2(rule.value).replaceAll("T", " ").replace("Z", " UTC") : toISOStringDateOnly3(rule.value);
494
- return (0, import_react_querybuilder3.defaultValueProcessorByRule)(_objectSpread(_objectSpread({}, rule), {}, { value }), _objectSpread(_objectSpread({}, opts), {}, { wrapValueWith: [datatype, ""] }));
668
+ return (0, import_react_querybuilder4.defaultValueProcessorByRule)(_objectSpread2(_objectSpread2({}, rule), {}, { value }), _objectSpread2(_objectSpread2({}, opts), {}, { wrapValueWith: [datatype, ""] }));
495
669
  };
496
670
  };
497
671
  var getDatetimeValueProcessorPostgreSQL = function getDatetimeValueProcessorPostgreSQL2(_ref5) {
@@ -500,7 +674,7 @@ var getDatetimeValueProcessorPostgreSQL = function getDatetimeValueProcessorPost
500
674
  var _opts$fieldData4;
501
675
  var datatype = /^timestamp/i.test(opts === null || opts === void 0 || (_opts$fieldData4 = opts.fieldData) === null || _opts$fieldData4 === void 0 ? void 0 : _opts$fieldData4.datatype) ? "timestamp" : "date";
502
676
  var value = datatype === "timestamp" ? toISOString2(rule.value) : toISOStringDateOnly3(rule.value);
503
- return (0, import_react_querybuilder3.defaultValueProcessorByRule)(_objectSpread(_objectSpread({}, rule), {}, { value }), _objectSpread(_objectSpread({}, opts), {}, { wrapValueWith: [datatype, ""] }));
677
+ return (0, import_react_querybuilder4.defaultValueProcessorByRule)(_objectSpread2(_objectSpread2({}, rule), {}, { value }), _objectSpread2(_objectSpread2({}, opts), {}, { wrapValueWith: [datatype, ""] }));
504
678
  };
505
679
  };
506
680
  var presetToValueProcessorMap = { ansi: getDatetimeValueProcessorANSI, mssql: getDatetimeValueProcessorMSSQL, mysql: getDatetimeValueProcessorMySQL, oracle: getDatetimeValueProcessorOracle, postgresql: getDatetimeValueProcessorPostgreSQL, sqlite: getDatetimeValueProcessorANSI };
@@ -510,15 +684,15 @@ var getDatetimeRuleProcessorSQL = function getDatetimeRuleProcessorSQL2(apiFns)
510
684
  /* istanbul ignore next */
511
685
  {}
512
686
  );
513
- var operator = (0, import_react_querybuilder3.mapSQLOperator)(rule.operator);
687
+ var operator = (0, import_react_querybuilder4.mapSQLOperator)(rule.operator);
514
688
  var operatorLowerCase = operator.toLowerCase();
515
689
  var _opts$quoteFieldNames = opts.quoteFieldNamesWith, quoteFieldNamesWith = _opts$quoteFieldNames === void 0 ? ["", ""] : _opts$quoteFieldNames, _opts$fieldIdentifier = opts.fieldIdentifierSeparator, fieldIdentifierSeparator = _opts$fieldIdentifier === void 0 ? "" : _opts$fieldIdentifier, _opts$context2 = opts.context, context = _opts$context2 === void 0 ? {} : _opts$context2;
516
690
  var finalValue = "";
517
691
  if (rule.valueSource === "field" || !processIsDateField(context.isDateField, rule, opts)) {
518
- return (0, import_react_querybuilder3.defaultRuleProcessorSQL)(rule, opts);
692
+ return (0, import_react_querybuilder4.defaultRuleProcessorSQL)(rule, opts);
519
693
  }
520
694
  var valueProcessor = presetToValueProcessorMap[opts.preset](apiFns);
521
- var valueAsArray = (0, import_react_querybuilder3.toArray)(rule.value, { retainEmptyStrings: false });
695
+ var valueAsArray = (0, import_react_querybuilder4.toArray)(rule.value, { retainEmptyStrings: false });
522
696
  var valueAsDateArray = valueAsArray.map(function(v) {
523
697
  return [v, apiFns.toDate(v)];
524
698
  }).filter(function(v) {
@@ -530,7 +704,7 @@ var getDatetimeRuleProcessorSQL = function getDatetimeRuleProcessorSQL2(apiFns)
530
704
  {
531
705
  if (valueAsDateArray.length === 0) return "";
532
706
  finalValue = "(".concat(valueAsDateArray.map(function(value2) {
533
- return valueProcessor({ field: rule.field, operator: "=", value: value2[1] }, _objectSpread(_objectSpread({}, opts), {}, { context: { originalValue: value2[0] } }));
707
+ return valueProcessor({ field: rule.field, operator: "=", value: value2[1] }, _objectSpread2(_objectSpread2({}, opts), {}, { context: { originalValue: value2[0] } }));
534
708
  }).join(", "), ")");
535
709
  }
536
710
  break;
@@ -538,43 +712,44 @@ var getDatetimeRuleProcessorSQL = function getDatetimeRuleProcessorSQL2(apiFns)
538
712
  case "not between":
539
713
  {
540
714
  if (valueAsDateArray.length < 2) return "";
541
- var _valueAsDateArray = _slicedToArray4(valueAsDateArray, 2), first = _valueAsDateArray[0], second = _valueAsDateArray[1];
715
+ var _valueAsDateArray = _slicedToArray5(valueAsDateArray, 2), first = _valueAsDateArray[0], second = _valueAsDateArray[1];
542
716
  var orderedArray = apiFns.isBefore(first[1], second[1]) ? [first, second] : [second, first];
543
717
  finalValue = orderedArray.map(function(_ref6) {
544
- var _ref7 = _slicedToArray4(_ref6, 2), originalValue2 = _ref7[0], value2 = _ref7[1];
545
- return valueProcessor({ field: rule.field, operator: "=", value: value2 }, _objectSpread(_objectSpread({}, opts), {}, { context: { originalValue: originalValue2 } }));
718
+ var _ref7 = _slicedToArray5(_ref6, 2), originalValue2 = _ref7[0], value2 = _ref7[1];
719
+ return valueProcessor({ field: rule.field, operator: "=", value: value2 }, _objectSpread2(_objectSpread2({}, opts), {}, { context: { originalValue: originalValue2 } }));
546
720
  }).join(" and ");
547
721
  }
548
722
  break;
549
723
  default: {
550
- var _valueAsDateArray$ = _slicedToArray4(valueAsDateArray[0], 2), originalValue = _valueAsDateArray$[0], value = _valueAsDateArray$[1];
551
- finalValue = valueProcessor({ field: rule.field, operator: "=", value }, _objectSpread(_objectSpread({}, opts), {}, { context: { originalValue } }));
724
+ var _valueAsDateArray$;
725
+ var _ref8 = (_valueAsDateArray$ = valueAsDateArray[0]) !== null && _valueAsDateArray$ !== void 0 ? _valueAsDateArray$ : ["", ""], _ref9 = _slicedToArray5(_ref8, 2), originalValue = _ref9[0], value = _ref9[1];
726
+ finalValue = valueProcessor({ field: rule.field, operator: "=", value }, _objectSpread2(_objectSpread2({}, opts), {}, { context: { originalValue } }));
552
727
  }
553
728
  }
554
- return "".concat((0, import_react_querybuilder3.getQuotedFieldName)(rule.field, { quoteFieldNamesWith, fieldIdentifierSeparator }), " ").concat(operator, " ").concat(finalValue).trim();
729
+ return "".concat((0, import_react_querybuilder4.getQuotedFieldName)(rule.field, { quoteFieldNamesWith, fieldIdentifierSeparator }), " ").concat(operator, " ").concat(finalValue).trim();
555
730
  };
556
731
  };
557
732
 
558
733
  // src/rqbDateTimeLibraryAPI.jsdate.ts
559
- function _slicedToArray5(r, e) {
560
- return _arrayWithHoles5(r) || _iterableToArrayLimit5(r, e) || _unsupportedIterableToArray5(r, e) || _nonIterableRest5();
734
+ function _slicedToArray6(r, e) {
735
+ return _arrayWithHoles6(r) || _iterableToArrayLimit6(r, e) || _unsupportedIterableToArray6(r, e) || _nonIterableRest6();
561
736
  }
562
- function _nonIterableRest5() {
737
+ function _nonIterableRest6() {
563
738
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
564
739
  }
565
- function _unsupportedIterableToArray5(r, a) {
740
+ function _unsupportedIterableToArray6(r, a) {
566
741
  if (r) {
567
- if ("string" == typeof r) return _arrayLikeToArray5(r, a);
742
+ if ("string" == typeof r) return _arrayLikeToArray6(r, a);
568
743
  var t = {}.toString.call(r).slice(8, -1);
569
- return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray5(r, a) : void 0;
744
+ return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray6(r, a) : void 0;
570
745
  }
571
746
  }
572
- function _arrayLikeToArray5(r, a) {
747
+ function _arrayLikeToArray6(r, a) {
573
748
  (null == a || a > r.length) && (a = r.length);
574
749
  for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
575
750
  return n;
576
751
  }
577
- function _iterableToArrayLimit5(r, l) {
752
+ function _iterableToArrayLimit6(r, l) {
578
753
  var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
579
754
  if (null != t) {
580
755
  var e, n, i, u, a = [], f = true, o = false;
@@ -595,7 +770,7 @@ function _iterableToArrayLimit5(r, l) {
595
770
  return a;
596
771
  }
597
772
  }
598
- function _arrayWithHoles5(r) {
773
+ function _arrayWithHoles6(r) {
599
774
  if (Array.isArray(r)) return r;
600
775
  }
601
776
  var invalidDate = /* @__PURE__ */ new Date(NaN);
@@ -604,8 +779,8 @@ var toDate = function toDate2(d) {
604
779
  if (d instanceof Date) return d;
605
780
  var reMatch = dateRegExp.exec(d);
606
781
  if (!reMatch) return invalidDate;
607
- var _reMatch = _slicedToArray5(reMatch, 10), _all = _reMatch[0], yyyy = _reMatch[1], mm = _reMatch[2], dd = _reMatch[3], _time = _reMatch[4], hh = _reMatch[5], mi = _reMatch[6], ss = _reMatch[7], _decimal = _reMatch[8], sss = _reMatch[9];
608
- var _filter$map = [yyyy, mm, dd, hh, mi, ss, sss !== null && sss !== void 0 ? sss : "0"].filter(Boolean).map(Number), _filter$map2 = _slicedToArray5(_filter$map, 7), year = _filter$map2[0], month = _filter$map2[1], day = _filter$map2[2], hours = _filter$map2[3], minutes = _filter$map2[4], seconds = _filter$map2[5], ms = _filter$map2[6];
782
+ var _reMatch = _slicedToArray6(reMatch, 10), _all = _reMatch[0], yyyy = _reMatch[1], mm = _reMatch[2], dd = _reMatch[3], _time = _reMatch[4], hh = _reMatch[5], mi = _reMatch[6], ss = _reMatch[7], _decimal = _reMatch[8], sss = _reMatch[9];
783
+ var _filter$map = [yyyy, mm, dd, hh, mi, ss, sss !== null && sss !== void 0 ? sss : "0"].filter(Boolean).map(Number), _filter$map2 = _slicedToArray6(_filter$map, 7), year = _filter$map2[0], month = _filter$map2[1], day = _filter$map2[2], hours = _filter$map2[3], minutes = _filter$map2[4], seconds = _filter$map2[5], ms = _filter$map2[6];
609
784
  var monthIndex = month - 1;
610
785
  return hh ? new Date(Date.UTC(year, monthIndex, day, hours, minutes, seconds, ms)) : new Date(year, monthIndex, day);
611
786
  };
@@ -646,10 +821,12 @@ var datetimeValueProcessorOracle = getDatetimeValueProcessorOracle(rqbDateTimeLi
646
821
  var datetimeValueProcessorPostgreSQL = getDatetimeValueProcessorPostgreSQL(rqbDateTimeLibraryAPI);
647
822
  var datetimeRuleProcessorCEL = getDatetimeRuleProcessorCEL(rqbDateTimeLibraryAPI);
648
823
  var datetimeRuleProcessorMongoDBQuery = getDatetimeRuleProcessorMongoDBQuery(rqbDateTimeLibraryAPI);
824
+ var datetimeRuleProcessorNL = getDatetimeRuleProcessorNL(rqbDateTimeLibraryAPI);
649
825
  // Annotate the CommonJS export names for ESM import in node:
650
826
  0 && (module.exports = {
651
827
  datetimeRuleProcessorCEL,
652
828
  datetimeRuleProcessorMongoDBQuery,
829
+ datetimeRuleProcessorNL,
653
830
  datetimeRuleProcessorSQL,
654
831
  datetimeValueProcessorANSI,
655
832
  datetimeValueProcessorMSSQL,