@react-querybuilder/datetime 8.8.2 → 8.8.4

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 (63) hide show
  1. package/dist/cjs/getDatetimeRuleProcessorSQL-npwUe9aM.js +2 -0
  2. package/dist/cjs/getDatetimeRuleProcessorSQL-npwUe9aM.js.map +1 -0
  3. package/dist/cjs/react-querybuilder_datetime.cjs.development.date-fns.js +81 -775
  4. package/dist/cjs/react-querybuilder_datetime.cjs.development.date-fns.js.map +1 -1
  5. package/dist/cjs/react-querybuilder_datetime.cjs.development.dayjs.js +75 -785
  6. package/dist/cjs/react-querybuilder_datetime.cjs.development.dayjs.js.map +1 -1
  7. package/dist/cjs/react-querybuilder_datetime.cjs.development.js +124 -934
  8. package/dist/cjs/react-querybuilder_datetime.cjs.development.js.map +1 -1
  9. package/dist/cjs/react-querybuilder_datetime.cjs.development.jsdate.js +113 -834
  10. package/dist/cjs/react-querybuilder_datetime.cjs.development.jsdate.js.map +1 -1
  11. package/dist/cjs/react-querybuilder_datetime.cjs.development.luxon.js +77 -779
  12. package/dist/cjs/react-querybuilder_datetime.cjs.development.luxon.js.map +1 -1
  13. package/dist/cjs/react-querybuilder_datetime.cjs.production.date-fns.js +1 -6
  14. package/dist/cjs/react-querybuilder_datetime.cjs.production.date-fns.js.map +1 -1
  15. package/dist/cjs/react-querybuilder_datetime.cjs.production.dayjs.js +1 -6
  16. package/dist/cjs/react-querybuilder_datetime.cjs.production.dayjs.js.map +1 -1
  17. package/dist/cjs/react-querybuilder_datetime.cjs.production.js +1 -7
  18. package/dist/cjs/react-querybuilder_datetime.cjs.production.js.map +1 -1
  19. package/dist/cjs/react-querybuilder_datetime.cjs.production.jsdate.js +1 -7
  20. package/dist/cjs/react-querybuilder_datetime.cjs.production.jsdate.js.map +1 -1
  21. package/dist/cjs/react-querybuilder_datetime.cjs.production.luxon.js +1 -6
  22. package/dist/cjs/react-querybuilder_datetime.cjs.production.luxon.js.map +1 -1
  23. package/dist/getDatetimeRuleProcessorSQL-CocyaiI5.mjs +373 -0
  24. package/dist/getDatetimeRuleProcessorSQL-CocyaiI5.mjs.map +1 -0
  25. package/dist/getDatetimeRuleProcessorSQL-CutYTD23.js +392 -0
  26. package/dist/getDatetimeRuleProcessorSQL-CutYTD23.js.map +1 -0
  27. package/dist/react-querybuilder_datetime.date-fns.mjs +72 -57
  28. package/dist/react-querybuilder_datetime.date-fns.mjs.map +1 -1
  29. package/dist/react-querybuilder_datetime.dayjs.mjs +66 -57
  30. package/dist/react-querybuilder_datetime.dayjs.mjs.map +1 -1
  31. package/dist/react-querybuilder_datetime.jsdate.mjs +102 -114
  32. package/dist/react-querybuilder_datetime.jsdate.mjs.map +1 -1
  33. package/dist/react-querybuilder_datetime.legacy-esm.date-fns.js +72 -57
  34. package/dist/react-querybuilder_datetime.legacy-esm.date-fns.js.map +1 -1
  35. package/dist/react-querybuilder_datetime.legacy-esm.dayjs.js +66 -57
  36. package/dist/react-querybuilder_datetime.legacy-esm.dayjs.js.map +1 -1
  37. package/dist/react-querybuilder_datetime.legacy-esm.js +113 -215
  38. package/dist/react-querybuilder_datetime.legacy-esm.js.map +1 -1
  39. package/dist/react-querybuilder_datetime.legacy-esm.jsdate.js +102 -114
  40. package/dist/react-querybuilder_datetime.legacy-esm.jsdate.js.map +1 -1
  41. package/dist/react-querybuilder_datetime.legacy-esm.luxon.js +68 -61
  42. package/dist/react-querybuilder_datetime.legacy-esm.luxon.js.map +1 -1
  43. package/dist/react-querybuilder_datetime.luxon.mjs +68 -61
  44. package/dist/react-querybuilder_datetime.luxon.mjs.map +1 -1
  45. package/dist/react-querybuilder_datetime.mjs +112 -215
  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 +1 -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 +1 -2
  56. package/dist/react-querybuilder_datetime.production.mjs.map +1 -1
  57. package/package.json +11 -11
  58. package/dist/chunk-SLTJVKUE.mjs +0 -7
  59. package/dist/chunk-SLTJVKUE.mjs.map +0 -1
  60. package/dist/chunk-ZLH5EH6W.mjs +0 -713
  61. package/dist/chunk-ZLH5EH6W.mjs.map +0 -1
  62. package/dist/chunk-ZS6AX35I.js +0 -738
  63. package/dist/chunk-ZS6AX35I.js.map +0 -1
@@ -1,839 +1,118 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/index.jsdate.ts
21
- var index_jsdate_exports = {};
22
- __export(index_jsdate_exports, {
23
- datetimeRuleProcessorCEL: () => datetimeRuleProcessorCEL,
24
- datetimeRuleProcessorMongoDBQuery: () => datetimeRuleProcessorMongoDBQuery,
25
- datetimeRuleProcessorNL: () => datetimeRuleProcessorNL,
26
- datetimeRuleProcessorSQL: () => datetimeRuleProcessorSQL,
27
- datetimeValueProcessorANSI: () => datetimeValueProcessorANSI,
28
- datetimeValueProcessorMSSQL: () => datetimeValueProcessorMSSQL,
29
- datetimeValueProcessorMySQL: () => datetimeValueProcessorMySQL,
30
- datetimeValueProcessorOracle: () => datetimeValueProcessorOracle,
31
- datetimeValueProcessorPostgreSQL: () => datetimeValueProcessorPostgreSQL,
32
- jsonLogicDateTimeOperations: () => jsonLogicDateTimeOperations,
33
- rqbDateTimeLibraryAPI: () => rqbDateTimeLibraryAPI
34
- });
35
- module.exports = __toCommonJS(index_jsdate_exports);
36
-
37
- // src/getDatetimeJsonLogicOperations.ts
38
- var getDatetimeJsonLogicOperations = function getDatetimeJsonLogicOperations2(_ref) {
39
- var isAfter2 = _ref.isAfter, isBefore2 = _ref.isBefore, isSame2 = _ref.isSame;
40
- return { dateAfter: function dateAfter(a, b) {
41
- return isAfter2(a, b);
42
- }, dateBefore: function dateBefore(a, b) {
43
- return isBefore2(a, b);
44
- }, dateBetween: function dateBetween(a, b, c) {
45
- return isSame2(b, a) || isSame2(b, c) || isAfter2(b, a) && isBefore2(b, c) || isAfter2(b, c) && isBefore2(b, a);
46
- }, dateNotBetween: function dateNotBetween(a, b, c) {
47
- return !isSame2(b, a) && !isSame2(b, c) && (isBefore2(a, c) && (isBefore2(b, a) || isAfter2(b, c)) || isAfter2(a, c) && (isBefore2(b, c) || isAfter2(b, a)));
48
- }, dateIn: function dateIn(a, b) {
49
- return b.some(function(v) {
50
- return isSame2(a, v);
51
- });
52
- }, dateNotIn: function dateNotIn(a, b) {
53
- return b.every(function(v) {
54
- return !isSame2(a, v);
55
- });
56
- }, dateNotOn: function dateNotOn(a, b) {
57
- return !isSame2(a, b);
58
- }, dateOn: function dateOn(a, b) {
59
- return isSame2(a, b);
60
- }, dateOnOrAfter: function dateOnOrAfter(a, b) {
61
- return isAfter2(a, b) || isSame2(a, b);
62
- }, dateOnOrBefore: function dateOnOrBefore(a, b) {
63
- return isBefore2(a, b) || isSame2(a, b);
64
- } };
65
- };
66
-
67
- // src/getDatetimeRuleProcessorCEL.ts
68
- var import_react_querybuilder = require("react-querybuilder");
69
-
70
- // src/utils.ts
71
- function _typeof(o) {
72
- "@babel/helpers - typeof";
73
- return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) {
74
- return typeof o2;
75
- } : function(o2) {
76
- return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2;
77
- }, _typeof(o);
78
- }
79
- function _slicedToArray(r, e) {
80
- return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();
81
- }
82
- function _nonIterableRest() {
83
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
84
- }
85
- function _unsupportedIterableToArray(r, a) {
86
- if (r) {
87
- if ("string" == typeof r) return _arrayLikeToArray(r, a);
88
- var t = {}.toString.call(r).slice(8, -1);
89
- 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) ? _arrayLikeToArray(r, a) : void 0;
90
- }
91
- }
92
- function _arrayLikeToArray(r, a) {
93
- (null == a || a > r.length) && (a = r.length);
94
- for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
95
- return n;
96
- }
97
- function _iterableToArrayLimit(r, l) {
98
- var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
99
- if (null != t) {
100
- var e, n, i, u, a = [], f = true, o = false;
101
- try {
102
- if (i = (t = t.call(r)).next, 0 === l) {
103
- if (Object(t) !== t) return;
104
- f = false;
105
- } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = true) ;
106
- } catch (r2) {
107
- o = true, n = r2;
108
- } finally {
109
- try {
110
- if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
111
- } finally {
112
- if (o) throw n;
113
- }
114
- }
115
- return a;
116
- }
117
- }
118
- function _arrayWithHoles(r) {
119
- if (Array.isArray(r)) return r;
120
- }
121
- var isISOStringDateOnly = function isISOStringDateOnly2(date) {
122
- return typeof date === "string" && /^\d{4}-\d{2}-\d{2}$/.test(date);
123
- };
124
- var defaultIsDateField = function defaultIsDateField2() {
125
- var _opts$fieldData;
126
- for (var _len = arguments.length, _ref = new Array(_len), _key = 0; _key < _len; _key++) {
127
- _ref[_key] = arguments[_key];
128
- }
129
- var rule = _ref[0], opts = _ref[1];
130
- return rule.operator !== "contains" && rule.operator !== "beginsWith" && rule.operator !== "endsWith" && rule.operator !== "doesNotContain" && rule.operator !== "doesNotBeginWith" && rule.operator !== "doesNotEndWith" && rule.operator !== "null" && rule.operator !== "notNull" && /^(?:date|datetime|datetimeoffset|timestamp)\b/i.test(opts === null || opts === void 0 || (_opts$fieldData = opts.fieldData) === null || _opts$fieldData === void 0 ? void 0 : _opts$fieldData.datatype);
131
- };
132
- var processIsDateField = function processIsDateField2(isDateField) {
133
- for (var _len2 = arguments.length, _ref2 = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
134
- _ref2[_key2 - 1] = arguments[_key2];
135
- }
136
- var rule = _ref2[0], opts = _ref2[1];
137
- if (typeof isDateField === "boolean") {
138
- return isDateField;
139
- }
140
- if (typeof isDateField === "function") {
141
- return isDateField(rule, opts);
142
- }
143
- if (Array.isArray(isDateField)) {
144
- return isDateField.some(function(condition) {
145
- return Object.entries(condition).every(function(_ref3) {
146
- var _opts$fieldData2;
147
- var _ref4 = _slicedToArray(_ref3, 2), key = _ref4[0], value = _ref4[1];
148
- return (opts === null || opts === void 0 || (_opts$fieldData2 = opts.fieldData) === null || _opts$fieldData2 === void 0 ? void 0 : _opts$fieldData2[key]) === value;
149
- });
150
- });
151
- }
152
- if (_typeof(isDateField) === "object") {
153
- return Object.entries(isDateField).every(function(_ref5) {
154
- var _opts$fieldData3;
155
- var _ref6 = _slicedToArray(_ref5, 2), key = _ref6[0], value = _ref6[1];
156
- return (opts === null || opts === void 0 || (_opts$fieldData3 = opts.fieldData) === null || _opts$fieldData3 === void 0 ? void 0 : _opts$fieldData3[key]) === value;
157
- });
158
- }
159
- return defaultIsDateField(rule, opts);
160
- };
1
+ const require_getDatetimeRuleProcessorSQL = require('./getDatetimeRuleProcessorSQL-npwUe9aM.js');
161
2
 
162
- // src/getDatetimeRuleProcessorCEL.ts
163
- function _slicedToArray2(r, e) {
164
- return _arrayWithHoles2(r) || _iterableToArrayLimit2(r, e) || _unsupportedIterableToArray2(r, e) || _nonIterableRest2();
165
- }
166
- function _nonIterableRest2() {
167
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
168
- }
169
- function _unsupportedIterableToArray2(r, a) {
170
- if (r) {
171
- if ("string" == typeof r) return _arrayLikeToArray2(r, a);
172
- var t = {}.toString.call(r).slice(8, -1);
173
- 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) ? _arrayLikeToArray2(r, a) : void 0;
174
- }
175
- }
176
- function _arrayLikeToArray2(r, a) {
177
- (null == a || a > r.length) && (a = r.length);
178
- for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
179
- return n;
180
- }
181
- function _iterableToArrayLimit2(r, l) {
182
- var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
183
- if (null != t) {
184
- var e, n, i, u, a = [], f = true, o = false;
185
- try {
186
- if (i = (t = t.call(r)).next, 0 === l) {
187
- if (Object(t) !== t) return;
188
- f = false;
189
- } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = true) ;
190
- } catch (r2) {
191
- o = true, n = r2;
192
- } finally {
193
- try {
194
- if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
195
- } finally {
196
- if (o) throw n;
197
- }
198
- }
199
- return a;
200
- }
201
- }
202
- function _arrayWithHoles2(r) {
203
- if (Array.isArray(r)) return r;
204
- }
205
- var shouldNegate = function shouldNegate2(op) {
206
- return /^(does)?not/i.test(op);
207
- };
208
- var getDatetimeRuleProcessorCEL = function getDatetimeRuleProcessorCEL2(apiFns) {
209
- return function(rule, options) {
210
- var opts = options !== null && options !== void 0 ? options : (
211
- /* istanbul ignore next */
212
- {}
213
- );
214
- var _opts$context = opts.context, context = _opts$context === void 0 ? {} : _opts$context;
215
- if (rule.valueSource === "field" || !processIsDateField(context.isDateField, rule, opts)) {
216
- return (0, import_react_querybuilder.defaultRuleProcessorCEL)(rule, opts);
217
- }
218
- var ts = function ts2(d) {
219
- return 'timestamp("'.concat(apiFns.toISOString(d), '")');
220
- };
221
- var operatorTL = (0, import_react_querybuilder.lc)(rule.operator.replace(/^=$/, "=="));
222
- switch (operatorTL) {
223
- case "<":
224
- case "<=":
225
- case "==":
226
- case "!=":
227
- case ">":
228
- case ">=":
229
- return "".concat(rule.field, " ").concat(operatorTL, " ").concat(ts(rule.value));
230
- }
231
- var valueAsArray = (0, import_react_querybuilder.toArray)(rule.value, { retainEmptyStrings: false });
232
- var valueAsDateArray = valueAsArray.map(function(v) {
233
- return apiFns.toDate(v);
234
- }).filter(function(dateVal) {
235
- return apiFns.isValid(dateVal);
236
- });
237
- switch (operatorTL) {
238
- case "in":
239
- case "notin": {
240
- if (valueAsDateArray.length === 0) return "";
241
- var _ref = shouldNegate(operatorTL) ? ["!(", ")"] : ["", ""], _ref2 = _slicedToArray2(_ref, 2), prefix = _ref2[0], suffix = _ref2[1];
242
- return "".concat(prefix).concat(rule.field, " in [").concat(valueAsDateArray.map(function(val) {
243
- return ts(val);
244
- }).join(", "), "]").concat(suffix);
245
- }
246
- case "between":
247
- case "notbetween": {
248
- if (valueAsDateArray.length < 2) return "";
249
- var _valueAsDateArray = _slicedToArray2(valueAsDateArray, 2), first = _valueAsDateArray[0], second = _valueAsDateArray[1];
250
- var _ref3 = apiFns.isBefore(first, second) ? [first, second] : [second, first], _ref4 = _slicedToArray2(_ref3, 2), firstDate = _ref4[0], secondDate = _ref4[1];
251
- return operatorTL === "between" ? "(".concat(rule.field, " >= ").concat(ts(firstDate), " && ").concat(rule.field, " <= ").concat(ts(secondDate), ")") : "(".concat(rule.field, " < ").concat(ts(firstDate), " || ").concat(rule.field, " > ").concat(ts(secondDate), ")");
252
- }
253
- }
254
- return (0, import_react_querybuilder.defaultRuleProcessorCEL)(rule, opts);
255
- };
3
+ //#region src/rqbDateTimeLibraryAPI.jsdate.ts
4
+ const invalidDate = /* @__PURE__ */ new Date(NaN);
5
+ const dateRegExp = /^(\d{4})-(\d{2})-(\d{2})([T ](\d{2}):(\d{2}):(\d{2})(\.(\d{1,3}))?)?/;
6
+ const toDate = (d) => {
7
+ if (d instanceof Date) return d;
8
+ const reMatch = dateRegExp.exec(d);
9
+ if (!reMatch) return invalidDate;
10
+ const [_all, yyyy, mm, dd, _time, hh, mi, ss, _decimal, sss] = reMatch;
11
+ const [year, month, day, hours, minutes, seconds, ms] = [
12
+ yyyy,
13
+ mm,
14
+ dd,
15
+ hh,
16
+ mi,
17
+ ss,
18
+ sss ?? "0"
19
+ ].filter(Boolean).map(Number);
20
+ const monthIndex = month - 1;
21
+ return hh ? new Date(Date.UTC(year, monthIndex, day, hours, minutes, seconds, ms)) : new Date(year, monthIndex, day);
22
+ };
23
+ const isValid = (d) => {
24
+ const dToDate = toDate(d);
25
+ return dToDate instanceof Date && !Number.isNaN(dToDate.getTime());
26
+ };
27
+ const toISOStringDateOnly = (d) => {
28
+ const dToDate = toDate(d);
29
+ return isValid(dToDate) ? dToDate.toISOString().slice(0, 10) : "";
30
+ };
31
+ /**
32
+ * {@link RQBDateTimeLibraryAPI} for JavaScript `Date`
33
+ *
34
+ * @deprecated This API will not be removed, but we recommend using one of the other
35
+ * {@link RQBDateTimeLibraryAPI}s based on a popular library instead.
36
+ */
37
+ const rqbDateTimeLibraryAPI = {
38
+ format: (d) => toDate(d).toISOString(),
39
+ isAfter: (a, b) => {
40
+ const dateA = toDate(a).getTime();
41
+ const dateB = toDate(b).getTime();
42
+ return !Number.isNaN(dateA) && !Number.isNaN(dateB) && dateA > dateB;
43
+ },
44
+ isBefore: (a, b) => {
45
+ const dateA = toDate(a).getTime();
46
+ const dateB = toDate(b).getTime();
47
+ return !Number.isNaN(dateA) && !Number.isNaN(dateB) && dateA < dateB;
48
+ },
49
+ isSame: (a, b) => {
50
+ const aToDate = toDate(a);
51
+ const bToDate = toDate(b);
52
+ return require_getDatetimeRuleProcessorSQL.isISOStringDateOnly(a) || require_getDatetimeRuleProcessorSQL.isISOStringDateOnly(b) ? toISOStringDateOnly(a) === toISOStringDateOnly(b) : aToDate.getTime() === bToDate.getTime();
53
+ },
54
+ isValid,
55
+ toDate,
56
+ toISOString: (d) => {
57
+ const dToDate = toDate(d);
58
+ return isValid(dToDate) ? dToDate.toISOString() : "";
59
+ },
60
+ toISOStringDateOnly
256
61
  };
257
62
 
258
- // src/getDatetimeRuleProcessorMongoDBQuery.ts
259
- var import_react_querybuilder2 = require("react-querybuilder");
260
- function _typeof2(o) {
261
- "@babel/helpers - typeof";
262
- return _typeof2 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) {
263
- return typeof o2;
264
- } : function(o2) {
265
- return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2;
266
- }, _typeof2(o);
267
- }
268
- function _slicedToArray3(r, e) {
269
- return _arrayWithHoles3(r) || _iterableToArrayLimit3(r, e) || _unsupportedIterableToArray3(r, e) || _nonIterableRest3();
270
- }
271
- function _nonIterableRest3() {
272
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
273
- }
274
- function _unsupportedIterableToArray3(r, a) {
275
- if (r) {
276
- if ("string" == typeof r) return _arrayLikeToArray3(r, a);
277
- var t = {}.toString.call(r).slice(8, -1);
278
- 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) ? _arrayLikeToArray3(r, a) : void 0;
279
- }
280
- }
281
- function _arrayLikeToArray3(r, a) {
282
- (null == a || a > r.length) && (a = r.length);
283
- for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
284
- return n;
285
- }
286
- function _iterableToArrayLimit3(r, l) {
287
- var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
288
- if (null != t) {
289
- var e, n, i, u, a = [], f = true, o = false;
290
- try {
291
- if (i = (t = t.call(r)).next, 0 === l) {
292
- if (Object(t) !== t) return;
293
- f = false;
294
- } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = true) ;
295
- } catch (r2) {
296
- o = true, n = r2;
297
- } finally {
298
- try {
299
- if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
300
- } finally {
301
- if (o) throw n;
302
- }
303
- }
304
- return a;
305
- }
306
- }
307
- function _arrayWithHoles3(r) {
308
- if (Array.isArray(r)) return r;
309
- }
310
- function _defineProperty(e, r, t) {
311
- return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e;
312
- }
313
- function _toPropertyKey(t) {
314
- var i = _toPrimitive(t, "string");
315
- return "symbol" == _typeof2(i) ? i : i + "";
316
- }
317
- function _toPrimitive(t, r) {
318
- if ("object" != _typeof2(t) || !t) return t;
319
- var e = t[Symbol.toPrimitive];
320
- if (void 0 !== e) {
321
- var i = e.call(t, r || "default");
322
- if ("object" != _typeof2(i)) return i;
323
- throw new TypeError("@@toPrimitive must return a primitive value.");
324
- }
325
- return ("string" === r ? String : Number)(t);
326
- }
327
- var getDatetimeRuleProcessorMongoDBQuery = function getDatetimeRuleProcessorMongoDBQuery2(apiFns) {
328
- return function(rule, options) {
329
- var _opts$context;
330
- var opts = options !== null && options !== void 0 ? options : (
331
- /* istanbul ignore next */
332
- {}
333
- );
334
- var field = rule.field, operator = rule.operator, value = rule.value, valueSource = rule.valueSource;
335
- if (valueSource === "field" || !processIsDateField((_opts$context = opts.context) === null || _opts$context === void 0 ? void 0 : _opts$context.isDateField, rule, opts)) {
336
- return (0, import_react_querybuilder2.defaultRuleProcessorMongoDBQuery)(rule, opts);
337
- }
338
- if (operator === "=") {
339
- return _defineProperty({}, field, apiFns.toDate(value));
340
- }
341
- switch (operator) {
342
- case "<":
343
- case "<=":
344
- case "!=":
345
- case ">":
346
- case ">=":
347
- return _defineProperty({}, field, _defineProperty({}, import_react_querybuilder2.mongoOperators[operator], apiFns.toDate(value)));
348
- }
349
- var valueAsArray = (0, import_react_querybuilder2.toArray)(rule.value, { retainEmptyStrings: false });
350
- var valueAsDateArray = valueAsArray.map(function(v) {
351
- return apiFns.toDate(v);
352
- }).filter(function(dateVal) {
353
- return apiFns.isValid(dateVal);
354
- });
355
- switch (operator) {
356
- case "in":
357
- case "notIn":
358
- return _defineProperty({}, field, _defineProperty({}, import_react_querybuilder2.mongoOperators[operator], valueAsDateArray));
359
- case "between":
360
- case "notBetween": {
361
- if (valueAsDateArray.length < 2) return "";
362
- var _valueAsDateArray = _slicedToArray3(valueAsDateArray, 2), first = _valueAsDateArray[0], second = _valueAsDateArray[1];
363
- var orderedArray = apiFns.isBefore(first, second) ? [first, second] : [second, first];
364
- return operator === "between" ? _defineProperty({}, field, { $gte: orderedArray[0], $lte: orderedArray[1] }) : { $or: [_defineProperty({}, field, { $lt: orderedArray[0] }), _defineProperty({}, field, { $gt: orderedArray[1] })] };
365
- }
366
- }
367
- return (0, import_react_querybuilder2.defaultRuleProcessorMongoDBQuery)(rule, opts);
368
- };
369
- };
370
-
371
- // src/getDatetimeRuleProcessorNL.ts
372
- var import_react_querybuilder3 = require("react-querybuilder");
373
- function _typeof3(o) {
374
- "@babel/helpers - typeof";
375
- return _typeof3 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) {
376
- return typeof o2;
377
- } : function(o2) {
378
- return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2;
379
- }, _typeof3(o);
380
- }
381
- function _slicedToArray4(r, e) {
382
- return _arrayWithHoles4(r) || _iterableToArrayLimit4(r, e) || _unsupportedIterableToArray4(r, e) || _nonIterableRest4();
383
- }
384
- function _nonIterableRest4() {
385
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
386
- }
387
- function _unsupportedIterableToArray4(r, a) {
388
- if (r) {
389
- if ("string" == typeof r) return _arrayLikeToArray4(r, a);
390
- var t = {}.toString.call(r).slice(8, -1);
391
- 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) ? _arrayLikeToArray4(r, a) : void 0;
392
- }
393
- }
394
- function _arrayLikeToArray4(r, a) {
395
- (null == a || a > r.length) && (a = r.length);
396
- for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
397
- return n;
398
- }
399
- function _iterableToArrayLimit4(r, l) {
400
- var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
401
- if (null != t) {
402
- var e, n, i, u, a = [], f = true, o = false;
403
- try {
404
- if (i = (t = t.call(r)).next, 0 === l) {
405
- if (Object(t) !== t) return;
406
- f = false;
407
- } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = true) ;
408
- } catch (r2) {
409
- o = true, n = r2;
410
- } finally {
411
- try {
412
- if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
413
- } finally {
414
- if (o) throw n;
415
- }
416
- }
417
- return a;
418
- }
419
- }
420
- function _arrayWithHoles4(r) {
421
- if (Array.isArray(r)) return r;
422
- }
423
- function ownKeys(e, r) {
424
- var t = Object.keys(e);
425
- if (Object.getOwnPropertySymbols) {
426
- var o = Object.getOwnPropertySymbols(e);
427
- r && (o = o.filter(function(r2) {
428
- return Object.getOwnPropertyDescriptor(e, r2).enumerable;
429
- })), t.push.apply(t, o);
430
- }
431
- return t;
432
- }
433
- function _objectSpread(e) {
434
- for (var r = 1; r < arguments.length; r++) {
435
- var t = null != arguments[r] ? arguments[r] : {};
436
- r % 2 ? ownKeys(Object(t), true).forEach(function(r2) {
437
- _defineProperty2(e, r2, t[r2]);
438
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r2) {
439
- Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
440
- });
441
- }
442
- return e;
443
- }
444
- function _defineProperty2(e, r, t) {
445
- return (r = _toPropertyKey2(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e;
446
- }
447
- function _toPropertyKey2(t) {
448
- var i = _toPrimitive2(t, "string");
449
- return "symbol" == _typeof3(i) ? i : i + "";
450
- }
451
- function _toPrimitive2(t, r) {
452
- if ("object" != _typeof3(t) || !t) return t;
453
- var e = t[Symbol.toPrimitive];
454
- if (void 0 !== e) {
455
- var i = e.call(t, r || "default");
456
- if ("object" != _typeof3(i)) return i;
457
- throw new TypeError("@@toPrimitive must return a primitive value.");
458
- }
459
- return ("string" === r ? String : Number)(t);
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 = (0, import_react_querybuilder3.lc)(rule.operator);
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
- }
634
- var getDatetimeValueProcessorANSI = function getDatetimeValueProcessorANSI2(_ref) {
635
- var toISOStringDateOnly3 = _ref.toISOStringDateOnly, toISOString2 = _ref.toISOString;
636
- return function(rule, opts) {
637
- var _opts$context;
638
- if (isISOStringDateOnly(opts === null || opts === void 0 || (_opts$context = opts.context) === null || _opts$context === void 0 ? void 0 : _opts$context.originalValue)) {
639
- return (0, import_react_querybuilder4.defaultValueProcessorByRule)(_objectSpread2(_objectSpread2({}, rule), {}, { value: toISOStringDateOnly3(rule.value) }), opts);
640
- }
641
- return (0, import_react_querybuilder4.defaultValueProcessorByRule)(_objectSpread2(_objectSpread2({}, rule), {}, { value: toISOString2(rule.value) }), opts);
642
- };
643
- };
644
- var getDatetimeValueProcessorMSSQL = function getDatetimeValueProcessorMSSQL2(_ref2) {
645
- var toISOStringDateOnly3 = _ref2.toISOStringDateOnly, toISOString2 = _ref2.toISOString;
646
- return function(rule, opts) {
647
- var _opts$fieldData;
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";
649
- var value = datatype === "datetimeoffset" ? toISOString2(rule.value) : toISOStringDateOnly3(rule.value);
650
- return (0, import_react_querybuilder4.defaultValueProcessorByRule)(_objectSpread2(_objectSpread2({}, rule), {}, { value }), _objectSpread2(_objectSpread2({}, opts), {}, { wrapValueWith: ["cast(", " as ".concat(datatype, ")")] }));
651
- };
652
- };
653
- var getDatetimeValueProcessorMySQL = function getDatetimeValueProcessorMySQL2(_ref3) {
654
- var toISOStringDateOnly3 = _ref3.toISOStringDateOnly, toISOString2 = _ref3.toISOString;
655
- return function(rule, opts) {
656
- var _opts$fieldData2;
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";
658
- var value = datatype === "datetime" ? toISOString2(rule.value) : toISOStringDateOnly3(rule.value);
659
- return (0, import_react_querybuilder4.defaultValueProcessorByRule)(_objectSpread2(_objectSpread2({}, rule), {}, { value }), _objectSpread2(_objectSpread2({}, opts), {}, { wrapValueWith: ["cast(", " as ".concat(datatype, ")")] }));
660
- };
661
- };
662
- var getDatetimeValueProcessorOracle = function getDatetimeValueProcessorOracle2(_ref4) {
663
- var toISOStringDateOnly3 = _ref4.toISOStringDateOnly, toISOString2 = _ref4.toISOString;
664
- return function(rule, opts) {
665
- var _opts$fieldData3;
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";
667
- var value = datatype === "timestamp" ? toISOString2(rule.value).replaceAll("T", " ").replace("Z", " UTC") : toISOStringDateOnly3(rule.value);
668
- return (0, import_react_querybuilder4.defaultValueProcessorByRule)(_objectSpread2(_objectSpread2({}, rule), {}, { value }), _objectSpread2(_objectSpread2({}, opts), {}, { wrapValueWith: [datatype, ""] }));
669
- };
670
- };
671
- var getDatetimeValueProcessorPostgreSQL = function getDatetimeValueProcessorPostgreSQL2(_ref5) {
672
- var toISOStringDateOnly3 = _ref5.toISOStringDateOnly, toISOString2 = _ref5.toISOString;
673
- return function(rule, opts) {
674
- var _opts$fieldData4;
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";
676
- var value = datatype === "timestamp" ? toISOString2(rule.value) : toISOStringDateOnly3(rule.value);
677
- return (0, import_react_querybuilder4.defaultValueProcessorByRule)(_objectSpread2(_objectSpread2({}, rule), {}, { value }), _objectSpread2(_objectSpread2({}, opts), {}, { wrapValueWith: [datatype, ""] }));
678
- };
679
- };
680
- var presetToValueProcessorMap = { ansi: getDatetimeValueProcessorANSI, mssql: getDatetimeValueProcessorMSSQL, mysql: getDatetimeValueProcessorMySQL, oracle: getDatetimeValueProcessorOracle, postgresql: getDatetimeValueProcessorPostgreSQL, sqlite: getDatetimeValueProcessorANSI };
681
- var getDatetimeRuleProcessorSQL = function getDatetimeRuleProcessorSQL2(apiFns) {
682
- return function(rule, options) {
683
- var opts = options !== null && options !== void 0 ? options : (
684
- /* istanbul ignore next */
685
- {}
686
- );
687
- var operator = (0, import_react_querybuilder4.mapSQLOperator)(rule.operator);
688
- var operatorLowerCase = (0, import_react_querybuilder4.lc)(operator);
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;
690
- var finalValue = "";
691
- if (rule.valueSource === "field" || !processIsDateField(context.isDateField, rule, opts)) {
692
- return (0, import_react_querybuilder4.defaultRuleProcessorSQL)(rule, opts);
693
- }
694
- var valueProcessor = presetToValueProcessorMap[opts.preset](apiFns);
695
- var valueAsArray = (0, import_react_querybuilder4.toArray)(rule.value, { retainEmptyStrings: false });
696
- var valueAsDateArray = valueAsArray.map(function(v) {
697
- return [v, apiFns.toDate(v)];
698
- }).filter(function(v) {
699
- return apiFns.isValid(v[1]);
700
- });
701
- switch (operatorLowerCase) {
702
- case "in":
703
- case "not in":
704
- {
705
- if (valueAsDateArray.length === 0) return "";
706
- finalValue = "(".concat(valueAsDateArray.map(function(value2) {
707
- return valueProcessor({ field: rule.field, operator: "=", value: value2[1] }, _objectSpread2(_objectSpread2({}, opts), {}, { context: { originalValue: value2[0] } }));
708
- }).join(", "), ")");
709
- }
710
- break;
711
- case "between":
712
- case "not between":
713
- {
714
- if (valueAsDateArray.length < 2) return "";
715
- var _valueAsDateArray = _slicedToArray5(valueAsDateArray, 2), first = _valueAsDateArray[0], second = _valueAsDateArray[1];
716
- var orderedArray = apiFns.isBefore(first[1], second[1]) ? [first, second] : [second, first];
717
- finalValue = orderedArray.map(function(_ref6) {
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 } }));
720
- }).join(" and ");
721
- }
722
- break;
723
- default: {
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 } }));
727
- }
728
- }
729
- return "".concat((0, import_react_querybuilder4.getQuotedFieldName)(rule.field, { quoteFieldNamesWith, fieldIdentifierSeparator }), " ").concat(operator, " ").concat(finalValue).trim();
730
- };
731
- };
732
-
733
- // src/rqbDateTimeLibraryAPI.jsdate.ts
734
- function _slicedToArray6(r, e) {
735
- return _arrayWithHoles6(r) || _iterableToArrayLimit6(r, e) || _unsupportedIterableToArray6(r, e) || _nonIterableRest6();
736
- }
737
- function _nonIterableRest6() {
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.");
739
- }
740
- function _unsupportedIterableToArray6(r, a) {
741
- if (r) {
742
- if ("string" == typeof r) return _arrayLikeToArray6(r, a);
743
- var t = {}.toString.call(r).slice(8, -1);
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;
745
- }
746
- }
747
- function _arrayLikeToArray6(r, a) {
748
- (null == a || a > r.length) && (a = r.length);
749
- for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
750
- return n;
751
- }
752
- function _iterableToArrayLimit6(r, l) {
753
- var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
754
- if (null != t) {
755
- var e, n, i, u, a = [], f = true, o = false;
756
- try {
757
- if (i = (t = t.call(r)).next, 0 === l) {
758
- if (Object(t) !== t) return;
759
- f = false;
760
- } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = true) ;
761
- } catch (r2) {
762
- o = true, n = r2;
763
- } finally {
764
- try {
765
- if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
766
- } finally {
767
- if (o) throw n;
768
- }
769
- }
770
- return a;
771
- }
772
- }
773
- function _arrayWithHoles6(r) {
774
- if (Array.isArray(r)) return r;
775
- }
776
- var invalidDate = new Date(Number.NaN);
777
- var dateRegExp = /^(\d{4})-(\d{2})-(\d{2})([T ](\d{2}):(\d{2}):(\d{2})(\.(\d{1,3}))?)?/;
778
- var toDate = function toDate2(d) {
779
- if (d instanceof Date) return d;
780
- var reMatch = dateRegExp.exec(d);
781
- if (!reMatch) return invalidDate;
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];
784
- var monthIndex = month - 1;
785
- return hh ? new Date(Date.UTC(year, monthIndex, day, hours, minutes, seconds, ms)) : new Date(year, monthIndex, day);
786
- };
787
- var isValid = function isValid2(d) {
788
- var dToDate = toDate(d);
789
- return dToDate instanceof Date && !Number.isNaN(dToDate.getTime());
790
- };
791
- var toISOStringDateOnly = function toISOStringDateOnly2(d) {
792
- var dToDate = toDate(d);
793
- return isValid(dToDate) ? dToDate.toISOString().slice(0, 10) : "";
794
- };
795
- var rqbDateTimeLibraryAPI = { format: function format(d) {
796
- return toDate(d).toISOString();
797
- }, isAfter: function isAfter(a, b) {
798
- var dateA = toDate(a).getTime();
799
- var dateB = toDate(b).getTime();
800
- return !Number.isNaN(dateA) && !Number.isNaN(dateB) && dateA > dateB;
801
- }, isBefore: function isBefore(a, b) {
802
- var dateA = toDate(a).getTime();
803
- var dateB = toDate(b).getTime();
804
- return !Number.isNaN(dateA) && !Number.isNaN(dateB) && dateA < dateB;
805
- }, isSame: function isSame(a, b) {
806
- var aToDate = toDate(a);
807
- var bToDate = toDate(b);
808
- return isISOStringDateOnly(a) || isISOStringDateOnly(b) ? toISOStringDateOnly(a) === toISOStringDateOnly(b) : aToDate.getTime() === bToDate.getTime();
809
- }, isValid, toDate, toISOString: function toISOString(d) {
810
- var dToDate = toDate(d);
811
- return isValid(dToDate) ? dToDate.toISOString() : "";
812
- }, toISOStringDateOnly };
63
+ //#endregion
64
+ //#region src/index.jsdate.ts
65
+ /**
66
+ * Custom JsonLogic date/time operations using JavaScript `Date`.
67
+ */
68
+ const jsonLogicDateTimeOperations = require_getDatetimeRuleProcessorSQL.getDatetimeJsonLogicOperations(rqbDateTimeLibraryAPI);
69
+ /**
70
+ * {@link react-querybuilder!index.formatQuery formatQuery} rule processor for "sql" format using JavaScript `Date`
71
+ */
72
+ const datetimeRuleProcessorSQL = require_getDatetimeRuleProcessorSQL.getDatetimeRuleProcessorSQL(rqbDateTimeLibraryAPI);
73
+ /**
74
+ * {@link react-querybuilder!index.formatQuery formatQuery} value processor for "sql" format ("ansi" preset) using JavaScript `Date`
75
+ */
76
+ const datetimeValueProcessorANSI = require_getDatetimeRuleProcessorSQL.getDatetimeValueProcessorANSI(rqbDateTimeLibraryAPI);
77
+ /**
78
+ * {@link react-querybuilder!index.formatQuery formatQuery} value processor for "sql" format ("mssql" preset) using JavaScript `Date`
79
+ */
80
+ const datetimeValueProcessorMSSQL = require_getDatetimeRuleProcessorSQL.getDatetimeValueProcessorMSSQL(rqbDateTimeLibraryAPI);
81
+ /**
82
+ * {@link react-querybuilder!index.formatQuery formatQuery} value processor for "sql" format ("mysql" preset) using JavaScript `Date`
83
+ */
84
+ const datetimeValueProcessorMySQL = require_getDatetimeRuleProcessorSQL.getDatetimeValueProcessorMySQL(rqbDateTimeLibraryAPI);
85
+ /**
86
+ * {@link react-querybuilder!index.formatQuery formatQuery} value processor for "sql" format ("oracle" preset) using JavaScript `Date`
87
+ */
88
+ const datetimeValueProcessorOracle = require_getDatetimeRuleProcessorSQL.getDatetimeValueProcessorOracle(rqbDateTimeLibraryAPI);
89
+ /**
90
+ * {@link react-querybuilder!index.formatQuery formatQuery} value processor for "sql" format ("postgresql" preset) using JavaScript `Date`
91
+ */
92
+ const datetimeValueProcessorPostgreSQL = require_getDatetimeRuleProcessorSQL.getDatetimeValueProcessorPostgreSQL(rqbDateTimeLibraryAPI);
93
+ /**
94
+ * {@link react-querybuilder!index.formatQuery formatQuery} rule processor for "cel" format using JavaScript `Date`
95
+ */
96
+ const datetimeRuleProcessorCEL = require_getDatetimeRuleProcessorSQL.getDatetimeRuleProcessorCEL(rqbDateTimeLibraryAPI);
97
+ /**
98
+ * {@link react-querybuilder!index.formatQuery formatQuery} rule processor for "mongodb_query" format using JavaScript `Date`
99
+ */
100
+ const datetimeRuleProcessorMongoDBQuery = require_getDatetimeRuleProcessorSQL.getDatetimeRuleProcessorMongoDBQuery(rqbDateTimeLibraryAPI);
101
+ /**
102
+ * {@link react-querybuilder!index.formatQuery formatQuery} rule processor for "natural_language" format using JavaScript `Date`
103
+ */
104
+ const datetimeRuleProcessorNL = require_getDatetimeRuleProcessorSQL.getDatetimeRuleProcessorNL(rqbDateTimeLibraryAPI);
813
105
 
814
- // src/index.jsdate.ts
815
- var jsonLogicDateTimeOperations = getDatetimeJsonLogicOperations(rqbDateTimeLibraryAPI);
816
- var datetimeRuleProcessorSQL = getDatetimeRuleProcessorSQL(rqbDateTimeLibraryAPI);
817
- var datetimeValueProcessorANSI = getDatetimeValueProcessorANSI(rqbDateTimeLibraryAPI);
818
- var datetimeValueProcessorMSSQL = getDatetimeValueProcessorMSSQL(rqbDateTimeLibraryAPI);
819
- var datetimeValueProcessorMySQL = getDatetimeValueProcessorMySQL(rqbDateTimeLibraryAPI);
820
- var datetimeValueProcessorOracle = getDatetimeValueProcessorOracle(rqbDateTimeLibraryAPI);
821
- var datetimeValueProcessorPostgreSQL = getDatetimeValueProcessorPostgreSQL(rqbDateTimeLibraryAPI);
822
- var datetimeRuleProcessorCEL = getDatetimeRuleProcessorCEL(rqbDateTimeLibraryAPI);
823
- var datetimeRuleProcessorMongoDBQuery = getDatetimeRuleProcessorMongoDBQuery(rqbDateTimeLibraryAPI);
824
- var datetimeRuleProcessorNL = getDatetimeRuleProcessorNL(rqbDateTimeLibraryAPI);
825
- // Annotate the CommonJS export names for ESM import in node:
826
- 0 && (module.exports = {
827
- datetimeRuleProcessorCEL,
828
- datetimeRuleProcessorMongoDBQuery,
829
- datetimeRuleProcessorNL,
830
- datetimeRuleProcessorSQL,
831
- datetimeValueProcessorANSI,
832
- datetimeValueProcessorMSSQL,
833
- datetimeValueProcessorMySQL,
834
- datetimeValueProcessorOracle,
835
- datetimeValueProcessorPostgreSQL,
836
- jsonLogicDateTimeOperations,
837
- rqbDateTimeLibraryAPI
838
- });
106
+ //#endregion
107
+ exports.datetimeRuleProcessorCEL = datetimeRuleProcessorCEL;
108
+ exports.datetimeRuleProcessorMongoDBQuery = datetimeRuleProcessorMongoDBQuery;
109
+ exports.datetimeRuleProcessorNL = datetimeRuleProcessorNL;
110
+ exports.datetimeRuleProcessorSQL = datetimeRuleProcessorSQL;
111
+ exports.datetimeValueProcessorANSI = datetimeValueProcessorANSI;
112
+ exports.datetimeValueProcessorMSSQL = datetimeValueProcessorMSSQL;
113
+ exports.datetimeValueProcessorMySQL = datetimeValueProcessorMySQL;
114
+ exports.datetimeValueProcessorOracle = datetimeValueProcessorOracle;
115
+ exports.datetimeValueProcessorPostgreSQL = datetimeValueProcessorPostgreSQL;
116
+ exports.jsonLogicDateTimeOperations = jsonLogicDateTimeOperations;
117
+ exports.rqbDateTimeLibraryAPI = rqbDateTimeLibraryAPI;
839
118
  //# sourceMappingURL=react-querybuilder_datetime.cjs.development.jsdate.js.map