@react-querybuilder/datetime 8.1.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.
- package/LICENSE.md +21 -0
- package/README.md +71 -0
- package/dist/chunk-6RML23AL.mjs +536 -0
- package/dist/chunk-6RML23AL.mjs.map +1 -0
- package/dist/chunk-EGQ3B2PY.js +550 -0
- package/dist/chunk-EGQ3B2PY.js.map +1 -0
- package/dist/chunk-SXNOZEVF.mjs +6 -0
- package/dist/chunk-SXNOZEVF.mjs.map +1 -0
- package/dist/cjs/date-fns.js +6 -0
- package/dist/cjs/dayjs.js +6 -0
- package/dist/cjs/index.js +6 -0
- package/dist/cjs/jsdate.js +6 -0
- package/dist/cjs/luxon.js +6 -0
- package/dist/cjs/react-querybuilder_datetime.cjs.development.date-fns.js +603 -0
- package/dist/cjs/react-querybuilder_datetime.cjs.development.date-fns.js.map +1 -0
- package/dist/cjs/react-querybuilder_datetime.cjs.development.dayjs.js +613 -0
- package/dist/cjs/react-querybuilder_datetime.cjs.development.dayjs.js.map +1 -0
- package/dist/cjs/react-querybuilder_datetime.cjs.development.js +760 -0
- package/dist/cjs/react-querybuilder_datetime.cjs.development.js.map +1 -0
- package/dist/cjs/react-querybuilder_datetime.cjs.development.jsdate.js +662 -0
- package/dist/cjs/react-querybuilder_datetime.cjs.development.jsdate.js.map +1 -0
- package/dist/cjs/react-querybuilder_datetime.cjs.development.luxon.js +607 -0
- package/dist/cjs/react-querybuilder_datetime.cjs.development.luxon.js.map +1 -0
- package/dist/cjs/react-querybuilder_datetime.cjs.production.date-fns.js +6 -0
- package/dist/cjs/react-querybuilder_datetime.cjs.production.date-fns.js.map +1 -0
- package/dist/cjs/react-querybuilder_datetime.cjs.production.dayjs.js +6 -0
- package/dist/cjs/react-querybuilder_datetime.cjs.production.dayjs.js.map +1 -0
- package/dist/cjs/react-querybuilder_datetime.cjs.production.js +7 -0
- package/dist/cjs/react-querybuilder_datetime.cjs.production.js.map +1 -0
- package/dist/cjs/react-querybuilder_datetime.cjs.production.jsdate.js +7 -0
- package/dist/cjs/react-querybuilder_datetime.cjs.production.jsdate.js.map +1 -0
- package/dist/cjs/react-querybuilder_datetime.cjs.production.luxon.js +6 -0
- package/dist/cjs/react-querybuilder_datetime.cjs.production.luxon.js.map +1 -0
- package/dist/react-querybuilder_datetime.date-fns.mjs +58 -0
- package/dist/react-querybuilder_datetime.date-fns.mjs.map +1 -0
- package/dist/react-querybuilder_datetime.dayjs.mjs +58 -0
- package/dist/react-querybuilder_datetime.dayjs.mjs.map +1 -0
- package/dist/react-querybuilder_datetime.jsdate.mjs +117 -0
- package/dist/react-querybuilder_datetime.jsdate.mjs.map +1 -0
- package/dist/react-querybuilder_datetime.legacy-esm.date-fns.js +58 -0
- package/dist/react-querybuilder_datetime.legacy-esm.date-fns.js.map +1 -0
- package/dist/react-querybuilder_datetime.legacy-esm.dayjs.js +58 -0
- package/dist/react-querybuilder_datetime.legacy-esm.dayjs.js.map +1 -0
- package/dist/react-querybuilder_datetime.legacy-esm.js +214 -0
- package/dist/react-querybuilder_datetime.legacy-esm.js.map +1 -0
- package/dist/react-querybuilder_datetime.legacy-esm.jsdate.js +117 -0
- package/dist/react-querybuilder_datetime.legacy-esm.jsdate.js.map +1 -0
- package/dist/react-querybuilder_datetime.legacy-esm.luxon.js +62 -0
- package/dist/react-querybuilder_datetime.legacy-esm.luxon.js.map +1 -0
- package/dist/react-querybuilder_datetime.luxon.mjs +62 -0
- package/dist/react-querybuilder_datetime.luxon.mjs.map +1 -0
- package/dist/react-querybuilder_datetime.mjs +214 -0
- package/dist/react-querybuilder_datetime.mjs.map +1 -0
- package/dist/react-querybuilder_datetime.production.date-fns.mjs +2 -0
- package/dist/react-querybuilder_datetime.production.date-fns.mjs.map +1 -0
- package/dist/react-querybuilder_datetime.production.dayjs.mjs +2 -0
- package/dist/react-querybuilder_datetime.production.dayjs.mjs.map +1 -0
- package/dist/react-querybuilder_datetime.production.jsdate.mjs +3 -0
- package/dist/react-querybuilder_datetime.production.jsdate.mjs.map +1 -0
- package/dist/react-querybuilder_datetime.production.luxon.mjs +2 -0
- package/dist/react-querybuilder_datetime.production.luxon.mjs.map +1 -0
- package/dist/react-querybuilder_datetime.production.mjs +3 -0
- package/dist/react-querybuilder_datetime.production.mjs.map +1 -0
- package/dist/types/QueryBuilderDateTime.d.ts +4 -0
- package/dist/types/datetimeRuleProcessorJsonLogic.d.ts +10 -0
- package/dist/types/getDatetimeJsonLogicOperations.d.ts +6 -0
- package/dist/types/getDatetimeRuleProcessorCEL.d.ts +7 -0
- package/dist/types/getDatetimeRuleProcessorJSONata.d.ts +7 -0
- package/dist/types/getDatetimeRuleProcessorMongoDBQuery.d.ts +7 -0
- package/dist/types/getDatetimeRuleProcessorSQL.d.ts +32 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/index.date-fns.d.ts +44 -0
- package/dist/types/index.dayjs.d.ts +44 -0
- package/dist/types/index.jsdate.d.ts +44 -0
- package/dist/types/index.luxon.d.ts +44 -0
- package/dist/types/rqbDateTimeLibraryAPI.date-fns.d.ts +5 -0
- package/dist/types/rqbDateTimeLibraryAPI.dayjs.d.ts +5 -0
- package/dist/types/rqbDateTimeLibraryAPI.jsdate.d.ts +8 -0
- package/dist/types/rqbDateTimeLibraryAPI.luxon.d.ts +5 -0
- package/dist/types/types.d.ts +101 -0
- package/dist/types/utils.d.ts +5 -0
- package/dist/types-esm/QueryBuilderDateTime.d.mts +4 -0
- package/dist/types-esm/datetimeRuleProcessorJsonLogic.d.mts +10 -0
- package/dist/types-esm/getDatetimeJsonLogicOperations.d.mts +6 -0
- package/dist/types-esm/getDatetimeRuleProcessorCEL.d.mts +7 -0
- package/dist/types-esm/getDatetimeRuleProcessorJSONata.d.mts +7 -0
- package/dist/types-esm/getDatetimeRuleProcessorMongoDBQuery.d.mts +7 -0
- package/dist/types-esm/getDatetimeRuleProcessorSQL.d.mts +32 -0
- package/dist/types-esm/index.d.mts +7 -0
- package/dist/types-esm/index.date-fns.d.mts +44 -0
- package/dist/types-esm/index.dayjs.d.mts +44 -0
- package/dist/types-esm/index.jsdate.d.mts +44 -0
- package/dist/types-esm/index.luxon.d.mts +44 -0
- package/dist/types-esm/rqbDateTimeLibraryAPI.date-fns.d.mts +5 -0
- package/dist/types-esm/rqbDateTimeLibraryAPI.dayjs.d.mts +5 -0
- package/dist/types-esm/rqbDateTimeLibraryAPI.jsdate.d.mts +8 -0
- package/dist/types-esm/rqbDateTimeLibraryAPI.luxon.d.mts +5 -0
- package/dist/types-esm/types.d.mts +101 -0
- package/dist/types-esm/utils.d.mts +5 -0
- package/package.json +129 -0
|
@@ -0,0 +1,760 @@
|
|
|
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.ts
|
|
21
|
+
var src_exports = {};
|
|
22
|
+
__export(src_exports, {
|
|
23
|
+
datetimeRuleProcessorJsonLogic: () => datetimeRuleProcessorJsonLogic,
|
|
24
|
+
getDatetimeJsonLogicOperations: () => getDatetimeJsonLogicOperations,
|
|
25
|
+
getDatetimeRuleProcessorCEL: () => getDatetimeRuleProcessorCEL,
|
|
26
|
+
getDatetimeRuleProcessorJSONata: () => getDatetimeRuleProcessorJSONata,
|
|
27
|
+
getDatetimeRuleProcessorMongoDBQuery: () => getDatetimeRuleProcessorMongoDBQuery,
|
|
28
|
+
getDatetimeRuleProcessorSQL: () => getDatetimeRuleProcessorSQL,
|
|
29
|
+
getDatetimeValueProcessorANSI: () => getDatetimeValueProcessorANSI,
|
|
30
|
+
getDatetimeValueProcessorMSSQL: () => getDatetimeValueProcessorMSSQL,
|
|
31
|
+
getDatetimeValueProcessorMySQL: () => getDatetimeValueProcessorMySQL,
|
|
32
|
+
getDatetimeValueProcessorOracle: () => getDatetimeValueProcessorOracle,
|
|
33
|
+
getDatetimeValueProcessorPostgreSQL: () => getDatetimeValueProcessorPostgreSQL
|
|
34
|
+
});
|
|
35
|
+
module.exports = __toCommonJS(src_exports);
|
|
36
|
+
|
|
37
|
+
// src/datetimeRuleProcessorJsonLogic.ts
|
|
38
|
+
var import_react_querybuilder = require("react-querybuilder");
|
|
39
|
+
|
|
40
|
+
// src/utils.ts
|
|
41
|
+
function _typeof(o) {
|
|
42
|
+
"@babel/helpers - typeof";
|
|
43
|
+
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) {
|
|
44
|
+
return typeof o2;
|
|
45
|
+
} : function(o2) {
|
|
46
|
+
return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2;
|
|
47
|
+
}, _typeof(o);
|
|
48
|
+
}
|
|
49
|
+
function _slicedToArray(r, e) {
|
|
50
|
+
return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();
|
|
51
|
+
}
|
|
52
|
+
function _nonIterableRest() {
|
|
53
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
54
|
+
}
|
|
55
|
+
function _unsupportedIterableToArray(r, a) {
|
|
56
|
+
if (r) {
|
|
57
|
+
if ("string" == typeof r) return _arrayLikeToArray(r, a);
|
|
58
|
+
var t = {}.toString.call(r).slice(8, -1);
|
|
59
|
+
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;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
function _arrayLikeToArray(r, a) {
|
|
63
|
+
(null == a || a > r.length) && (a = r.length);
|
|
64
|
+
for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
|
|
65
|
+
return n;
|
|
66
|
+
}
|
|
67
|
+
function _iterableToArrayLimit(r, l) {
|
|
68
|
+
var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
|
|
69
|
+
if (null != t) {
|
|
70
|
+
var e, n, i, u, a = [], f = true, o = false;
|
|
71
|
+
try {
|
|
72
|
+
if (i = (t = t.call(r)).next, 0 === l) {
|
|
73
|
+
if (Object(t) !== t) return;
|
|
74
|
+
f = false;
|
|
75
|
+
} else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = true) ;
|
|
76
|
+
} catch (r2) {
|
|
77
|
+
o = true, n = r2;
|
|
78
|
+
} finally {
|
|
79
|
+
try {
|
|
80
|
+
if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
|
|
81
|
+
} finally {
|
|
82
|
+
if (o) throw n;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
return a;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
function _arrayWithHoles(r) {
|
|
89
|
+
if (Array.isArray(r)) return r;
|
|
90
|
+
}
|
|
91
|
+
var isISOStringDateOnly = function isISOStringDateOnly2(date) {
|
|
92
|
+
return typeof date === "string" && /^\d{4}-\d{2}-\d{2}$/.test(date);
|
|
93
|
+
};
|
|
94
|
+
var defaultIsDateField = function defaultIsDateField2() {
|
|
95
|
+
var _opts$fieldData;
|
|
96
|
+
for (var _len = arguments.length, _ref = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
97
|
+
_ref[_key] = arguments[_key];
|
|
98
|
+
}
|
|
99
|
+
var rule = _ref[0], opts = _ref[1];
|
|
100
|
+
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);
|
|
101
|
+
};
|
|
102
|
+
var processIsDateField = function processIsDateField2(isDateField) {
|
|
103
|
+
for (var _len2 = arguments.length, _ref2 = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
|
104
|
+
_ref2[_key2 - 1] = arguments[_key2];
|
|
105
|
+
}
|
|
106
|
+
var rule = _ref2[0], opts = _ref2[1];
|
|
107
|
+
if (typeof isDateField === "boolean") {
|
|
108
|
+
return isDateField;
|
|
109
|
+
}
|
|
110
|
+
if (typeof isDateField === "function") {
|
|
111
|
+
return isDateField(rule, opts);
|
|
112
|
+
}
|
|
113
|
+
if (Array.isArray(isDateField)) {
|
|
114
|
+
return isDateField.some(function(condition) {
|
|
115
|
+
return Object.entries(condition).every(function(_ref3) {
|
|
116
|
+
var _opts$fieldData2;
|
|
117
|
+
var _ref4 = _slicedToArray(_ref3, 2), key = _ref4[0], value = _ref4[1];
|
|
118
|
+
return (opts === null || opts === void 0 || (_opts$fieldData2 = opts.fieldData) === null || _opts$fieldData2 === void 0 ? void 0 : _opts$fieldData2[key]) === value;
|
|
119
|
+
});
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
if (_typeof(isDateField) === "object") {
|
|
123
|
+
return Object.entries(isDateField).every(function(_ref5) {
|
|
124
|
+
var _opts$fieldData3;
|
|
125
|
+
var _ref6 = _slicedToArray(_ref5, 2), key = _ref6[0], value = _ref6[1];
|
|
126
|
+
return (opts === null || opts === void 0 || (_opts$fieldData3 = opts.fieldData) === null || _opts$fieldData3 === void 0 ? void 0 : _opts$fieldData3[key]) === value;
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
return defaultIsDateField(rule, opts);
|
|
130
|
+
};
|
|
131
|
+
|
|
132
|
+
// src/datetimeRuleProcessorJsonLogic.ts
|
|
133
|
+
function _typeof2(o) {
|
|
134
|
+
"@babel/helpers - typeof";
|
|
135
|
+
return _typeof2 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) {
|
|
136
|
+
return typeof o2;
|
|
137
|
+
} : function(o2) {
|
|
138
|
+
return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2;
|
|
139
|
+
}, _typeof2(o);
|
|
140
|
+
}
|
|
141
|
+
function _defineProperty(e, r, t) {
|
|
142
|
+
return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e;
|
|
143
|
+
}
|
|
144
|
+
function _toPropertyKey(t) {
|
|
145
|
+
var i = _toPrimitive(t, "string");
|
|
146
|
+
return "symbol" == _typeof2(i) ? i : i + "";
|
|
147
|
+
}
|
|
148
|
+
function _toPrimitive(t, r) {
|
|
149
|
+
if ("object" != _typeof2(t) || !t) return t;
|
|
150
|
+
var e = t[Symbol.toPrimitive];
|
|
151
|
+
if (void 0 !== e) {
|
|
152
|
+
var i = e.call(t, r || "default");
|
|
153
|
+
if ("object" != _typeof2(i)) return i;
|
|
154
|
+
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
155
|
+
}
|
|
156
|
+
return ("string" === r ? String : Number)(t);
|
|
157
|
+
}
|
|
158
|
+
var dateOperationMap = { "!=": "dateNotOn", "<": "dateBefore", "<=": "dateOnOrBefore", "=": "dateOn", ">": "dateAfter", ">=": "dateOnOrAfter", between: "dateBetween", "in": "dateIn", notBetween: "dateNotBetween", notIn: "dateNotIn" };
|
|
159
|
+
var datetimeRuleProcessorJsonLogic = function datetimeRuleProcessorJsonLogic2(rule, options) {
|
|
160
|
+
var _opts$context;
|
|
161
|
+
var opts = options !== null && options !== void 0 ? options : (
|
|
162
|
+
/* istanbul ignore next */
|
|
163
|
+
{}
|
|
164
|
+
);
|
|
165
|
+
if (!processIsDateField((_opts$context = opts.context) === null || _opts$context === void 0 ? void 0 : _opts$context.isDateField, rule, opts)) {
|
|
166
|
+
return (0, import_react_querybuilder.defaultRuleProcessorJsonLogic)(rule, opts);
|
|
167
|
+
}
|
|
168
|
+
var field = rule.field, operator = rule.operator, value = rule.value, valueSource = rule.valueSource;
|
|
169
|
+
var valueIsField = valueSource === "field";
|
|
170
|
+
var fieldObject = { "var": field };
|
|
171
|
+
var maybeFieldRenderer = function maybeFieldRenderer2(v) {
|
|
172
|
+
return valueIsField ? { "var": "".concat(v) } : v;
|
|
173
|
+
};
|
|
174
|
+
switch (operator) {
|
|
175
|
+
case "<":
|
|
176
|
+
case "<=":
|
|
177
|
+
case "=":
|
|
178
|
+
case "!=":
|
|
179
|
+
case ">":
|
|
180
|
+
case ">=":
|
|
181
|
+
return _defineProperty({}, dateOperationMap[operator], [fieldObject, maybeFieldRenderer(value)]);
|
|
182
|
+
case "in":
|
|
183
|
+
case "notIn": {
|
|
184
|
+
var valueAsArray = (0, import_react_querybuilder.toArray)(value).map(function(v) {
|
|
185
|
+
return maybeFieldRenderer(v);
|
|
186
|
+
});
|
|
187
|
+
return _defineProperty({}, dateOperationMap[operator], [fieldObject, valueAsArray]);
|
|
188
|
+
}
|
|
189
|
+
case "between":
|
|
190
|
+
case "notBetween": {
|
|
191
|
+
var _valueAsArray = (0, import_react_querybuilder.toArray)(value).map(function(v) {
|
|
192
|
+
return maybeFieldRenderer(v);
|
|
193
|
+
});
|
|
194
|
+
if (_valueAsArray.length < 2) return false;
|
|
195
|
+
return _defineProperty({}, dateOperationMap[operator], [_valueAsArray[0], fieldObject, _valueAsArray[1]]);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
return (0, import_react_querybuilder.defaultRuleProcessorJsonLogic)(rule, options);
|
|
199
|
+
};
|
|
200
|
+
|
|
201
|
+
// src/getDatetimeJsonLogicOperations.ts
|
|
202
|
+
var getDatetimeJsonLogicOperations = function getDatetimeJsonLogicOperations2(_ref) {
|
|
203
|
+
var isAfter = _ref.isAfter, isBefore = _ref.isBefore, isSame = _ref.isSame;
|
|
204
|
+
return { dateAfter: function dateAfter(a, b) {
|
|
205
|
+
return isAfter(a, b);
|
|
206
|
+
}, dateBefore: function dateBefore(a, b) {
|
|
207
|
+
return isBefore(a, b);
|
|
208
|
+
}, dateBetween: function dateBetween(a, b, c) {
|
|
209
|
+
return isSame(b, a) || isSame(b, c) || isAfter(b, a) && isBefore(b, c) || isAfter(b, c) && isBefore(b, a);
|
|
210
|
+
}, dateNotBetween: function dateNotBetween(a, b, c) {
|
|
211
|
+
return !isSame(b, a) && !isSame(b, c) && (isBefore(a, c) && (isBefore(b, a) || isAfter(b, c)) || isAfter(a, c) && (isBefore(b, c) || isAfter(b, a)));
|
|
212
|
+
}, dateIn: function dateIn(a, b) {
|
|
213
|
+
return b.some(function(v) {
|
|
214
|
+
return isSame(a, v);
|
|
215
|
+
});
|
|
216
|
+
}, dateNotIn: function dateNotIn(a, b) {
|
|
217
|
+
return b.every(function(v) {
|
|
218
|
+
return !isSame(a, v);
|
|
219
|
+
});
|
|
220
|
+
}, dateNotOn: function dateNotOn(a, b) {
|
|
221
|
+
return !isSame(a, b);
|
|
222
|
+
}, dateOn: function dateOn(a, b) {
|
|
223
|
+
return isSame(a, b);
|
|
224
|
+
}, dateOnOrAfter: function dateOnOrAfter(a, b) {
|
|
225
|
+
return isAfter(a, b) || isSame(a, b);
|
|
226
|
+
}, dateOnOrBefore: function dateOnOrBefore(a, b) {
|
|
227
|
+
return isBefore(a, b) || isSame(a, b);
|
|
228
|
+
} };
|
|
229
|
+
};
|
|
230
|
+
|
|
231
|
+
// src/getDatetimeRuleProcessorCEL.ts
|
|
232
|
+
var import_react_querybuilder2 = require("react-querybuilder");
|
|
233
|
+
function _slicedToArray2(r, e) {
|
|
234
|
+
return _arrayWithHoles2(r) || _iterableToArrayLimit2(r, e) || _unsupportedIterableToArray2(r, e) || _nonIterableRest2();
|
|
235
|
+
}
|
|
236
|
+
function _nonIterableRest2() {
|
|
237
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
238
|
+
}
|
|
239
|
+
function _unsupportedIterableToArray2(r, a) {
|
|
240
|
+
if (r) {
|
|
241
|
+
if ("string" == typeof r) return _arrayLikeToArray2(r, a);
|
|
242
|
+
var t = {}.toString.call(r).slice(8, -1);
|
|
243
|
+
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;
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
function _arrayLikeToArray2(r, a) {
|
|
247
|
+
(null == a || a > r.length) && (a = r.length);
|
|
248
|
+
for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
|
|
249
|
+
return n;
|
|
250
|
+
}
|
|
251
|
+
function _iterableToArrayLimit2(r, l) {
|
|
252
|
+
var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
|
|
253
|
+
if (null != t) {
|
|
254
|
+
var e, n, i, u, a = [], f = true, o = false;
|
|
255
|
+
try {
|
|
256
|
+
if (i = (t = t.call(r)).next, 0 === l) {
|
|
257
|
+
if (Object(t) !== t) return;
|
|
258
|
+
f = false;
|
|
259
|
+
} else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = true) ;
|
|
260
|
+
} catch (r2) {
|
|
261
|
+
o = true, n = r2;
|
|
262
|
+
} finally {
|
|
263
|
+
try {
|
|
264
|
+
if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
|
|
265
|
+
} finally {
|
|
266
|
+
if (o) throw n;
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
return a;
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
function _arrayWithHoles2(r) {
|
|
273
|
+
if (Array.isArray(r)) return r;
|
|
274
|
+
}
|
|
275
|
+
var shouldNegate = function shouldNegate2(op) {
|
|
276
|
+
return /^(does)?not/i.test(op);
|
|
277
|
+
};
|
|
278
|
+
var getDatetimeRuleProcessorCEL = function getDatetimeRuleProcessorCEL2(apiFns) {
|
|
279
|
+
return function(rule, options) {
|
|
280
|
+
var opts = options !== null && options !== void 0 ? options : (
|
|
281
|
+
/* istanbul ignore next */
|
|
282
|
+
{}
|
|
283
|
+
);
|
|
284
|
+
var _opts$context = opts.context, context = _opts$context === void 0 ? {} : _opts$context;
|
|
285
|
+
if (rule.valueSource === "field" || !processIsDateField(context.isDateField, rule, opts)) {
|
|
286
|
+
return (0, import_react_querybuilder2.defaultRuleProcessorCEL)(rule, opts);
|
|
287
|
+
}
|
|
288
|
+
var ts = function ts2(d) {
|
|
289
|
+
return 'timestamp("'.concat(apiFns.toISOString(d), '")');
|
|
290
|
+
};
|
|
291
|
+
var operatorTL = rule.operator.replace(/^=$/, "==").toLowerCase();
|
|
292
|
+
switch (operatorTL) {
|
|
293
|
+
case "<":
|
|
294
|
+
case "<=":
|
|
295
|
+
case "==":
|
|
296
|
+
case "!=":
|
|
297
|
+
case ">":
|
|
298
|
+
case ">=":
|
|
299
|
+
return "".concat(rule.field, " ").concat(operatorTL, " ").concat(ts(rule.value));
|
|
300
|
+
}
|
|
301
|
+
var valueAsArray = (0, import_react_querybuilder2.toArray)(rule.value, { retainEmptyStrings: false });
|
|
302
|
+
var valueAsDateArray = valueAsArray.map(function(v) {
|
|
303
|
+
return apiFns.toDate(v);
|
|
304
|
+
}).filter(function(dateVal) {
|
|
305
|
+
return apiFns.isValid(dateVal);
|
|
306
|
+
});
|
|
307
|
+
switch (operatorTL) {
|
|
308
|
+
case "in":
|
|
309
|
+
case "notin": {
|
|
310
|
+
if (valueAsDateArray.length === 0) return "";
|
|
311
|
+
var _ref = shouldNegate(operatorTL) ? ["!(", ")"] : ["", ""], _ref2 = _slicedToArray2(_ref, 2), prefix = _ref2[0], suffix = _ref2[1];
|
|
312
|
+
return "".concat(prefix).concat(rule.field, " in [").concat(valueAsDateArray.map(function(val) {
|
|
313
|
+
return ts(val);
|
|
314
|
+
}).join(", "), "]").concat(suffix);
|
|
315
|
+
}
|
|
316
|
+
case "between":
|
|
317
|
+
case "notbetween": {
|
|
318
|
+
if (valueAsDateArray.length < 2) return "";
|
|
319
|
+
var _valueAsDateArray = _slicedToArray2(valueAsDateArray, 2), first = _valueAsDateArray[0], second = _valueAsDateArray[1];
|
|
320
|
+
var _ref3 = apiFns.isBefore(first, second) ? [first, second] : [second, first], _ref4 = _slicedToArray2(_ref3, 2), firstDate = _ref4[0], secondDate = _ref4[1];
|
|
321
|
+
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), ")");
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
return (0, import_react_querybuilder2.defaultRuleProcessorCEL)(rule, opts);
|
|
325
|
+
};
|
|
326
|
+
};
|
|
327
|
+
|
|
328
|
+
// src/getDatetimeRuleProcessorJSONata.ts
|
|
329
|
+
var import_react_querybuilder3 = require("react-querybuilder");
|
|
330
|
+
function _slicedToArray3(r, e) {
|
|
331
|
+
return _arrayWithHoles3(r) || _iterableToArrayLimit3(r, e) || _unsupportedIterableToArray3(r, e) || _nonIterableRest3();
|
|
332
|
+
}
|
|
333
|
+
function _nonIterableRest3() {
|
|
334
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
335
|
+
}
|
|
336
|
+
function _unsupportedIterableToArray3(r, a) {
|
|
337
|
+
if (r) {
|
|
338
|
+
if ("string" == typeof r) return _arrayLikeToArray3(r, a);
|
|
339
|
+
var t = {}.toString.call(r).slice(8, -1);
|
|
340
|
+
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;
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
function _arrayLikeToArray3(r, a) {
|
|
344
|
+
(null == a || a > r.length) && (a = r.length);
|
|
345
|
+
for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
|
|
346
|
+
return n;
|
|
347
|
+
}
|
|
348
|
+
function _iterableToArrayLimit3(r, l) {
|
|
349
|
+
var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
|
|
350
|
+
if (null != t) {
|
|
351
|
+
var e, n, i, u, a = [], f = true, o = false;
|
|
352
|
+
try {
|
|
353
|
+
if (i = (t = t.call(r)).next, 0 === l) {
|
|
354
|
+
if (Object(t) !== t) return;
|
|
355
|
+
f = false;
|
|
356
|
+
} else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = true) ;
|
|
357
|
+
} catch (r2) {
|
|
358
|
+
o = true, n = r2;
|
|
359
|
+
} finally {
|
|
360
|
+
try {
|
|
361
|
+
if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
|
|
362
|
+
} finally {
|
|
363
|
+
if (o) throw n;
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
return a;
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
function _arrayWithHoles3(r) {
|
|
370
|
+
if (Array.isArray(r)) return r;
|
|
371
|
+
}
|
|
372
|
+
var shouldNegate3 = function shouldNegate4(op) {
|
|
373
|
+
return /^(does)?not/i.test(op);
|
|
374
|
+
};
|
|
375
|
+
var negate = function negate2(clause, negate22) {
|
|
376
|
+
return negate22 ? "$not(".concat(clause, ")") : "".concat(clause);
|
|
377
|
+
};
|
|
378
|
+
var getDatetimeRuleProcessorJSONata = function getDatetimeRuleProcessorJSONata2(apiFns) {
|
|
379
|
+
return function(rule, options) {
|
|
380
|
+
var opts = options !== null && options !== void 0 ? options : (
|
|
381
|
+
/* istanbul ignore next */
|
|
382
|
+
{}
|
|
383
|
+
);
|
|
384
|
+
var _opts$context = opts.context, context = _opts$context === void 0 ? {} : _opts$context;
|
|
385
|
+
var _opts$quoteFieldNames = opts.quoteFieldNamesWith, quoteFieldNamesWith = _opts$quoteFieldNames === void 0 ? ["", ""] : _opts$quoteFieldNames, _opts$fieldIdentifier = opts.fieldIdentifierSeparator, fieldIdentifierSeparator = _opts$fieldIdentifier === void 0 ? "" : _opts$fieldIdentifier;
|
|
386
|
+
var field = rule.field, operator = rule.operator, value = rule.value, valueSource = rule.valueSource;
|
|
387
|
+
if (!processIsDateField(context.isDateField, rule, opts)) {
|
|
388
|
+
return (0, import_react_querybuilder3.defaultRuleProcessorJSONata)(rule, opts);
|
|
389
|
+
}
|
|
390
|
+
var valueIsField = valueSource === "field";
|
|
391
|
+
var fldToMs = function fldToMs2(f) {
|
|
392
|
+
return "$toMillis(".concat((0, import_react_querybuilder3.getQuotedFieldName)(f, { quoteFieldNamesWith, fieldIdentifierSeparator }), ")");
|
|
393
|
+
};
|
|
394
|
+
var valToMs = function valToMs2(v) {
|
|
395
|
+
return '$toMillis("'.concat(apiFns.toISOString(v), '")');
|
|
396
|
+
};
|
|
397
|
+
switch (operator) {
|
|
398
|
+
case "<":
|
|
399
|
+
case "<=":
|
|
400
|
+
case "=":
|
|
401
|
+
case "!=":
|
|
402
|
+
case ">":
|
|
403
|
+
case ">=":
|
|
404
|
+
return "".concat(fldToMs(field), " ").concat(operator, " ").concat(valueIsField ? fldToMs(value) : valToMs(value));
|
|
405
|
+
}
|
|
406
|
+
var valueAsArray = (0, import_react_querybuilder3.toArray)(rule.value, { retainEmptyStrings: false });
|
|
407
|
+
var valueAsDateArray = valueAsArray.map(function(v) {
|
|
408
|
+
return apiFns.toDate(v);
|
|
409
|
+
}).filter(function(dateVal) {
|
|
410
|
+
return apiFns.isValid(dateVal);
|
|
411
|
+
});
|
|
412
|
+
switch (operator) {
|
|
413
|
+
case "in":
|
|
414
|
+
case "notIn": {
|
|
415
|
+
if (valueIsField) {
|
|
416
|
+
if (valueAsArray.length === 0) return "";
|
|
417
|
+
return negate("".concat(fldToMs(field), " in [").concat(valueAsArray.map(function(val) {
|
|
418
|
+
return fldToMs(val);
|
|
419
|
+
}).join(", "), "]"), shouldNegate3(operator));
|
|
420
|
+
}
|
|
421
|
+
if (valueAsDateArray.length === 0) return "";
|
|
422
|
+
return negate("".concat(fldToMs(field), " in [").concat(valueAsDateArray.map(function(val) {
|
|
423
|
+
return valToMs(val);
|
|
424
|
+
}).join(", "), "]"), shouldNegate3(operator));
|
|
425
|
+
}
|
|
426
|
+
case "between":
|
|
427
|
+
case "notBetween": {
|
|
428
|
+
if (valueAsArray.length < 2 || (0, import_react_querybuilder3.nullOrUndefinedOrEmpty)(valueAsArray[0]) || (0, import_react_querybuilder3.nullOrUndefinedOrEmpty)(valueAsArray[1]) || !valueIsField && valueAsDateArray.length < 2) {
|
|
429
|
+
return "";
|
|
430
|
+
}
|
|
431
|
+
if (valueIsField) {
|
|
432
|
+
var _valueAsArray = _slicedToArray3(valueAsArray, 2), firstValue = _valueAsArray[0], secondValue = _valueAsArray[1];
|
|
433
|
+
var expression2 = "".concat(fldToMs(field), " >= ").concat(fldToMs(firstValue), " and ").concat(fldToMs(field), " <= ").concat(fldToMs(secondValue));
|
|
434
|
+
return operator === "between" ? "(".concat(expression2, ")") : negate(expression2, true);
|
|
435
|
+
}
|
|
436
|
+
var _valueAsDateArray = _slicedToArray3(valueAsDateArray, 2), first = _valueAsDateArray[0], second = _valueAsDateArray[1];
|
|
437
|
+
var _ref = apiFns.isBefore(first, second) ? [first, second] : [second, first], _ref2 = _slicedToArray3(_ref, 2), firstDate = _ref2[0], secondDate = _ref2[1];
|
|
438
|
+
var expression = "".concat(fldToMs(field), " >= ").concat(valToMs(firstDate), " and ").concat(fldToMs(field), " <= ").concat(valToMs(secondDate));
|
|
439
|
+
return operator === "between" ? "(".concat(expression, ")") : negate(expression, true);
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
return (0, import_react_querybuilder3.defaultRuleProcessorJSONata)(rule, opts);
|
|
443
|
+
};
|
|
444
|
+
};
|
|
445
|
+
|
|
446
|
+
// src/getDatetimeRuleProcessorMongoDBQuery.ts
|
|
447
|
+
var import_react_querybuilder4 = require("react-querybuilder");
|
|
448
|
+
function _typeof3(o) {
|
|
449
|
+
"@babel/helpers - typeof";
|
|
450
|
+
return _typeof3 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) {
|
|
451
|
+
return typeof o2;
|
|
452
|
+
} : function(o2) {
|
|
453
|
+
return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2;
|
|
454
|
+
}, _typeof3(o);
|
|
455
|
+
}
|
|
456
|
+
function _slicedToArray4(r, e) {
|
|
457
|
+
return _arrayWithHoles4(r) || _iterableToArrayLimit4(r, e) || _unsupportedIterableToArray4(r, e) || _nonIterableRest4();
|
|
458
|
+
}
|
|
459
|
+
function _nonIterableRest4() {
|
|
460
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
461
|
+
}
|
|
462
|
+
function _unsupportedIterableToArray4(r, a) {
|
|
463
|
+
if (r) {
|
|
464
|
+
if ("string" == typeof r) return _arrayLikeToArray4(r, a);
|
|
465
|
+
var t = {}.toString.call(r).slice(8, -1);
|
|
466
|
+
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;
|
|
467
|
+
}
|
|
468
|
+
}
|
|
469
|
+
function _arrayLikeToArray4(r, a) {
|
|
470
|
+
(null == a || a > r.length) && (a = r.length);
|
|
471
|
+
for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
|
|
472
|
+
return n;
|
|
473
|
+
}
|
|
474
|
+
function _iterableToArrayLimit4(r, l) {
|
|
475
|
+
var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
|
|
476
|
+
if (null != t) {
|
|
477
|
+
var e, n, i, u, a = [], f = true, o = false;
|
|
478
|
+
try {
|
|
479
|
+
if (i = (t = t.call(r)).next, 0 === l) {
|
|
480
|
+
if (Object(t) !== t) return;
|
|
481
|
+
f = false;
|
|
482
|
+
} else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = true) ;
|
|
483
|
+
} catch (r2) {
|
|
484
|
+
o = true, n = r2;
|
|
485
|
+
} finally {
|
|
486
|
+
try {
|
|
487
|
+
if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
|
|
488
|
+
} finally {
|
|
489
|
+
if (o) throw n;
|
|
490
|
+
}
|
|
491
|
+
}
|
|
492
|
+
return a;
|
|
493
|
+
}
|
|
494
|
+
}
|
|
495
|
+
function _arrayWithHoles4(r) {
|
|
496
|
+
if (Array.isArray(r)) return r;
|
|
497
|
+
}
|
|
498
|
+
function _defineProperty2(e, r, t) {
|
|
499
|
+
return (r = _toPropertyKey2(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e;
|
|
500
|
+
}
|
|
501
|
+
function _toPropertyKey2(t) {
|
|
502
|
+
var i = _toPrimitive2(t, "string");
|
|
503
|
+
return "symbol" == _typeof3(i) ? i : i + "";
|
|
504
|
+
}
|
|
505
|
+
function _toPrimitive2(t, r) {
|
|
506
|
+
if ("object" != _typeof3(t) || !t) return t;
|
|
507
|
+
var e = t[Symbol.toPrimitive];
|
|
508
|
+
if (void 0 !== e) {
|
|
509
|
+
var i = e.call(t, r || "default");
|
|
510
|
+
if ("object" != _typeof3(i)) return i;
|
|
511
|
+
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
512
|
+
}
|
|
513
|
+
return ("string" === r ? String : Number)(t);
|
|
514
|
+
}
|
|
515
|
+
var getDatetimeRuleProcessorMongoDBQuery = function getDatetimeRuleProcessorMongoDBQuery2(apiFns) {
|
|
516
|
+
return function(rule, options) {
|
|
517
|
+
var _opts$context;
|
|
518
|
+
var opts = options !== null && options !== void 0 ? options : (
|
|
519
|
+
/* istanbul ignore next */
|
|
520
|
+
{}
|
|
521
|
+
);
|
|
522
|
+
var field = rule.field, operator = rule.operator, value = rule.value, valueSource = rule.valueSource;
|
|
523
|
+
if (valueSource === "field" || !processIsDateField((_opts$context = opts.context) === null || _opts$context === void 0 ? void 0 : _opts$context.isDateField, rule, opts)) {
|
|
524
|
+
return (0, import_react_querybuilder4.defaultRuleProcessorMongoDBQuery)(rule, opts);
|
|
525
|
+
}
|
|
526
|
+
if (operator === "=") {
|
|
527
|
+
return _defineProperty2({}, field, apiFns.toDate(value));
|
|
528
|
+
}
|
|
529
|
+
switch (operator) {
|
|
530
|
+
case "<":
|
|
531
|
+
case "<=":
|
|
532
|
+
case "!=":
|
|
533
|
+
case ">":
|
|
534
|
+
case ">=":
|
|
535
|
+
return _defineProperty2({}, field, _defineProperty2({}, import_react_querybuilder4.mongoOperators[operator], apiFns.toDate(value)));
|
|
536
|
+
}
|
|
537
|
+
var valueAsArray = (0, import_react_querybuilder4.toArray)(rule.value, { retainEmptyStrings: false });
|
|
538
|
+
var valueAsDateArray = valueAsArray.map(function(v) {
|
|
539
|
+
return apiFns.toDate(v);
|
|
540
|
+
}).filter(function(dateVal) {
|
|
541
|
+
return apiFns.isValid(dateVal);
|
|
542
|
+
});
|
|
543
|
+
switch (operator) {
|
|
544
|
+
case "in":
|
|
545
|
+
case "notIn":
|
|
546
|
+
return _defineProperty2({}, field, _defineProperty2({}, import_react_querybuilder4.mongoOperators[operator], valueAsDateArray));
|
|
547
|
+
case "between":
|
|
548
|
+
case "notBetween": {
|
|
549
|
+
if (valueAsDateArray.length < 2) return "";
|
|
550
|
+
var _valueAsDateArray = _slicedToArray4(valueAsDateArray, 2), first = _valueAsDateArray[0], second = _valueAsDateArray[1];
|
|
551
|
+
var orderedArray = apiFns.isBefore(first, second) ? [first, second] : [second, first];
|
|
552
|
+
return operator === "between" ? _defineProperty2({}, field, { $gte: orderedArray[0], $lte: orderedArray[1] }) : { $or: [_defineProperty2({}, field, { $lt: orderedArray[0] }), _defineProperty2({}, field, { $gt: orderedArray[1] })] };
|
|
553
|
+
}
|
|
554
|
+
}
|
|
555
|
+
return (0, import_react_querybuilder4.defaultRuleProcessorMongoDBQuery)(rule, opts);
|
|
556
|
+
};
|
|
557
|
+
};
|
|
558
|
+
|
|
559
|
+
// src/getDatetimeRuleProcessorSQL.ts
|
|
560
|
+
var import_react_querybuilder5 = require("react-querybuilder");
|
|
561
|
+
function _typeof4(o) {
|
|
562
|
+
"@babel/helpers - typeof";
|
|
563
|
+
return _typeof4 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) {
|
|
564
|
+
return typeof o2;
|
|
565
|
+
} : function(o2) {
|
|
566
|
+
return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2;
|
|
567
|
+
}, _typeof4(o);
|
|
568
|
+
}
|
|
569
|
+
function _slicedToArray5(r, e) {
|
|
570
|
+
return _arrayWithHoles5(r) || _iterableToArrayLimit5(r, e) || _unsupportedIterableToArray5(r, e) || _nonIterableRest5();
|
|
571
|
+
}
|
|
572
|
+
function _nonIterableRest5() {
|
|
573
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
574
|
+
}
|
|
575
|
+
function _unsupportedIterableToArray5(r, a) {
|
|
576
|
+
if (r) {
|
|
577
|
+
if ("string" == typeof r) return _arrayLikeToArray5(r, a);
|
|
578
|
+
var t = {}.toString.call(r).slice(8, -1);
|
|
579
|
+
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;
|
|
580
|
+
}
|
|
581
|
+
}
|
|
582
|
+
function _arrayLikeToArray5(r, a) {
|
|
583
|
+
(null == a || a > r.length) && (a = r.length);
|
|
584
|
+
for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
|
|
585
|
+
return n;
|
|
586
|
+
}
|
|
587
|
+
function _iterableToArrayLimit5(r, l) {
|
|
588
|
+
var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
|
|
589
|
+
if (null != t) {
|
|
590
|
+
var e, n, i, u, a = [], f = true, o = false;
|
|
591
|
+
try {
|
|
592
|
+
if (i = (t = t.call(r)).next, 0 === l) {
|
|
593
|
+
if (Object(t) !== t) return;
|
|
594
|
+
f = false;
|
|
595
|
+
} else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = true) ;
|
|
596
|
+
} catch (r2) {
|
|
597
|
+
o = true, n = r2;
|
|
598
|
+
} finally {
|
|
599
|
+
try {
|
|
600
|
+
if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
|
|
601
|
+
} finally {
|
|
602
|
+
if (o) throw n;
|
|
603
|
+
}
|
|
604
|
+
}
|
|
605
|
+
return a;
|
|
606
|
+
}
|
|
607
|
+
}
|
|
608
|
+
function _arrayWithHoles5(r) {
|
|
609
|
+
if (Array.isArray(r)) return r;
|
|
610
|
+
}
|
|
611
|
+
function ownKeys(e, r) {
|
|
612
|
+
var t = Object.keys(e);
|
|
613
|
+
if (Object.getOwnPropertySymbols) {
|
|
614
|
+
var o = Object.getOwnPropertySymbols(e);
|
|
615
|
+
r && (o = o.filter(function(r2) {
|
|
616
|
+
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
|
|
617
|
+
})), t.push.apply(t, o);
|
|
618
|
+
}
|
|
619
|
+
return t;
|
|
620
|
+
}
|
|
621
|
+
function _objectSpread(e) {
|
|
622
|
+
for (var r = 1; r < arguments.length; r++) {
|
|
623
|
+
var t = null != arguments[r] ? arguments[r] : {};
|
|
624
|
+
r % 2 ? ownKeys(Object(t), true).forEach(function(r2) {
|
|
625
|
+
_defineProperty3(e, r2, t[r2]);
|
|
626
|
+
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r2) {
|
|
627
|
+
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
|
|
628
|
+
});
|
|
629
|
+
}
|
|
630
|
+
return e;
|
|
631
|
+
}
|
|
632
|
+
function _defineProperty3(e, r, t) {
|
|
633
|
+
return (r = _toPropertyKey3(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e;
|
|
634
|
+
}
|
|
635
|
+
function _toPropertyKey3(t) {
|
|
636
|
+
var i = _toPrimitive3(t, "string");
|
|
637
|
+
return "symbol" == _typeof4(i) ? i : i + "";
|
|
638
|
+
}
|
|
639
|
+
function _toPrimitive3(t, r) {
|
|
640
|
+
if ("object" != _typeof4(t) || !t) return t;
|
|
641
|
+
var e = t[Symbol.toPrimitive];
|
|
642
|
+
if (void 0 !== e) {
|
|
643
|
+
var i = e.call(t, r || "default");
|
|
644
|
+
if ("object" != _typeof4(i)) return i;
|
|
645
|
+
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
646
|
+
}
|
|
647
|
+
return ("string" === r ? String : Number)(t);
|
|
648
|
+
}
|
|
649
|
+
var getDatetimeValueProcessorANSI = function getDatetimeValueProcessorANSI2(_ref) {
|
|
650
|
+
var toISOStringDateOnly = _ref.toISOStringDateOnly, toISOString = _ref.toISOString;
|
|
651
|
+
return function(rule, opts) {
|
|
652
|
+
var _opts$context;
|
|
653
|
+
if (isISOStringDateOnly(opts === null || opts === void 0 || (_opts$context = opts.context) === null || _opts$context === void 0 ? void 0 : _opts$context.originalValue)) {
|
|
654
|
+
return (0, import_react_querybuilder5.defaultValueProcessorByRule)(_objectSpread(_objectSpread({}, rule), {}, { value: toISOStringDateOnly(rule.value) }), opts);
|
|
655
|
+
}
|
|
656
|
+
return (0, import_react_querybuilder5.defaultValueProcessorByRule)(_objectSpread(_objectSpread({}, rule), {}, { value: toISOString(rule.value) }), opts);
|
|
657
|
+
};
|
|
658
|
+
};
|
|
659
|
+
var getDatetimeValueProcessorMSSQL = function getDatetimeValueProcessorMSSQL2(_ref2) {
|
|
660
|
+
var toISOStringDateOnly = _ref2.toISOStringDateOnly, toISOString = _ref2.toISOString;
|
|
661
|
+
return function(rule, opts) {
|
|
662
|
+
var _opts$fieldData;
|
|
663
|
+
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";
|
|
664
|
+
var value = datatype === "datetimeoffset" ? toISOString(rule.value) : toISOStringDateOnly(rule.value);
|
|
665
|
+
return (0, import_react_querybuilder5.defaultValueProcessorByRule)(_objectSpread(_objectSpread({}, rule), {}, { value }), _objectSpread(_objectSpread({}, opts), {}, { wrapValueWith: ["cast(", " as ".concat(datatype, ")")] }));
|
|
666
|
+
};
|
|
667
|
+
};
|
|
668
|
+
var getDatetimeValueProcessorMySQL = function getDatetimeValueProcessorMySQL2(_ref3) {
|
|
669
|
+
var toISOStringDateOnly = _ref3.toISOStringDateOnly, toISOString = _ref3.toISOString;
|
|
670
|
+
return function(rule, opts) {
|
|
671
|
+
var _opts$fieldData2;
|
|
672
|
+
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";
|
|
673
|
+
var value = datatype === "datetime" ? toISOString(rule.value) : toISOStringDateOnly(rule.value);
|
|
674
|
+
return (0, import_react_querybuilder5.defaultValueProcessorByRule)(_objectSpread(_objectSpread({}, rule), {}, { value }), _objectSpread(_objectSpread({}, opts), {}, { wrapValueWith: ["cast(", " as ".concat(datatype, ")")] }));
|
|
675
|
+
};
|
|
676
|
+
};
|
|
677
|
+
var getDatetimeValueProcessorOracle = function getDatetimeValueProcessorOracle2(_ref4) {
|
|
678
|
+
var toISOStringDateOnly = _ref4.toISOStringDateOnly, toISOString = _ref4.toISOString;
|
|
679
|
+
return function(rule, opts) {
|
|
680
|
+
var _opts$fieldData3;
|
|
681
|
+
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";
|
|
682
|
+
var value = datatype === "timestamp" ? toISOString(rule.value).replaceAll("T", " ").replace("Z", " UTC") : toISOStringDateOnly(rule.value);
|
|
683
|
+
return (0, import_react_querybuilder5.defaultValueProcessorByRule)(_objectSpread(_objectSpread({}, rule), {}, { value }), _objectSpread(_objectSpread({}, opts), {}, { wrapValueWith: [datatype, ""] }));
|
|
684
|
+
};
|
|
685
|
+
};
|
|
686
|
+
var getDatetimeValueProcessorPostgreSQL = function getDatetimeValueProcessorPostgreSQL2(_ref5) {
|
|
687
|
+
var toISOStringDateOnly = _ref5.toISOStringDateOnly, toISOString = _ref5.toISOString;
|
|
688
|
+
return function(rule, opts) {
|
|
689
|
+
var _opts$fieldData4;
|
|
690
|
+
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";
|
|
691
|
+
var value = datatype === "timestamp" ? toISOString(rule.value) : toISOStringDateOnly(rule.value);
|
|
692
|
+
return (0, import_react_querybuilder5.defaultValueProcessorByRule)(_objectSpread(_objectSpread({}, rule), {}, { value }), _objectSpread(_objectSpread({}, opts), {}, { wrapValueWith: [datatype, ""] }));
|
|
693
|
+
};
|
|
694
|
+
};
|
|
695
|
+
var presetToValueProcessorMap = { ansi: getDatetimeValueProcessorANSI, mssql: getDatetimeValueProcessorMSSQL, mysql: getDatetimeValueProcessorMySQL, oracle: getDatetimeValueProcessorOracle, postgresql: getDatetimeValueProcessorPostgreSQL, sqlite: getDatetimeValueProcessorANSI };
|
|
696
|
+
var getDatetimeRuleProcessorSQL = function getDatetimeRuleProcessorSQL2(apiFns) {
|
|
697
|
+
return function(rule, options) {
|
|
698
|
+
var opts = options !== null && options !== void 0 ? options : (
|
|
699
|
+
/* istanbul ignore next */
|
|
700
|
+
{}
|
|
701
|
+
);
|
|
702
|
+
var operator = (0, import_react_querybuilder5.mapSQLOperator)(rule.operator);
|
|
703
|
+
var operatorLowerCase = operator.toLowerCase();
|
|
704
|
+
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;
|
|
705
|
+
var finalValue = "";
|
|
706
|
+
if (rule.valueSource === "field" || !processIsDateField(context.isDateField, rule, opts)) {
|
|
707
|
+
return (0, import_react_querybuilder5.defaultRuleProcessorSQL)(rule, opts);
|
|
708
|
+
}
|
|
709
|
+
var valueProcessor = presetToValueProcessorMap[opts.preset](apiFns);
|
|
710
|
+
var valueAsArray = (0, import_react_querybuilder5.toArray)(rule.value, { retainEmptyStrings: false });
|
|
711
|
+
var valueAsDateArray = valueAsArray.map(function(v) {
|
|
712
|
+
return [v, apiFns.toDate(v)];
|
|
713
|
+
}).filter(function(v) {
|
|
714
|
+
return apiFns.isValid(v[1]);
|
|
715
|
+
});
|
|
716
|
+
switch (operatorLowerCase) {
|
|
717
|
+
case "in":
|
|
718
|
+
case "not in":
|
|
719
|
+
{
|
|
720
|
+
if (valueAsDateArray.length === 0) return "";
|
|
721
|
+
finalValue = "(".concat(valueAsDateArray.map(function(value2) {
|
|
722
|
+
return valueProcessor({ field: rule.field, operator: "=", value: value2[1] }, _objectSpread(_objectSpread({}, opts), {}, { context: { originalValue: value2[0] } }));
|
|
723
|
+
}).join(", "), ")");
|
|
724
|
+
}
|
|
725
|
+
break;
|
|
726
|
+
case "between":
|
|
727
|
+
case "not between":
|
|
728
|
+
{
|
|
729
|
+
if (valueAsDateArray.length < 2) return "";
|
|
730
|
+
var _valueAsDateArray = _slicedToArray5(valueAsDateArray, 2), first = _valueAsDateArray[0], second = _valueAsDateArray[1];
|
|
731
|
+
var orderedArray = apiFns.isBefore(first[1], second[1]) ? [first, second] : [second, first];
|
|
732
|
+
finalValue = orderedArray.map(function(_ref6) {
|
|
733
|
+
var _ref7 = _slicedToArray5(_ref6, 2), originalValue2 = _ref7[0], value2 = _ref7[1];
|
|
734
|
+
return valueProcessor({ field: rule.field, operator: "=", value: value2 }, _objectSpread(_objectSpread({}, opts), {}, { context: { originalValue: originalValue2 } }));
|
|
735
|
+
}).join(" and ");
|
|
736
|
+
}
|
|
737
|
+
break;
|
|
738
|
+
default: {
|
|
739
|
+
var _valueAsDateArray$ = _slicedToArray5(valueAsDateArray[0], 2), originalValue = _valueAsDateArray$[0], value = _valueAsDateArray$[1];
|
|
740
|
+
finalValue = valueProcessor({ field: rule.field, operator: "=", value }, _objectSpread(_objectSpread({}, opts), {}, { context: { originalValue } }));
|
|
741
|
+
}
|
|
742
|
+
}
|
|
743
|
+
return "".concat((0, import_react_querybuilder5.getQuotedFieldName)(rule.field, { quoteFieldNamesWith, fieldIdentifierSeparator }), " ").concat(operator, " ").concat(finalValue).trim();
|
|
744
|
+
};
|
|
745
|
+
};
|
|
746
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
747
|
+
0 && (module.exports = {
|
|
748
|
+
datetimeRuleProcessorJsonLogic,
|
|
749
|
+
getDatetimeJsonLogicOperations,
|
|
750
|
+
getDatetimeRuleProcessorCEL,
|
|
751
|
+
getDatetimeRuleProcessorJSONata,
|
|
752
|
+
getDatetimeRuleProcessorMongoDBQuery,
|
|
753
|
+
getDatetimeRuleProcessorSQL,
|
|
754
|
+
getDatetimeValueProcessorANSI,
|
|
755
|
+
getDatetimeValueProcessorMSSQL,
|
|
756
|
+
getDatetimeValueProcessorMySQL,
|
|
757
|
+
getDatetimeValueProcessorOracle,
|
|
758
|
+
getDatetimeValueProcessorPostgreSQL
|
|
759
|
+
});
|
|
760
|
+
//# sourceMappingURL=react-querybuilder_datetime.cjs.development.js.map
|