@react-querybuilder/datetime 8.8.3 → 8.9.1
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/dist/cjs/date-fns.d.ts +1 -0
- package/dist/cjs/dayjs.d.ts +1 -0
- package/dist/cjs/getDatetimeRuleProcessorSQL-D95jgDK6.js +2 -0
- package/dist/cjs/getDatetimeRuleProcessorSQL-D95jgDK6.js.map +1 -0
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/jsdate.d.ts +1 -0
- package/dist/cjs/luxon.d.ts +1 -0
- package/dist/cjs/react-querybuilder_datetime.cjs.development.d.ts +108 -0
- package/dist/cjs/react-querybuilder_datetime.cjs.development.date-fns.d.ts +53 -0
- package/dist/cjs/react-querybuilder_datetime.cjs.development.date-fns.js +82 -775
- package/dist/cjs/react-querybuilder_datetime.cjs.development.date-fns.js.map +1 -1
- package/dist/cjs/react-querybuilder_datetime.cjs.development.dayjs.d.ts +53 -0
- package/dist/cjs/react-querybuilder_datetime.cjs.development.dayjs.js +76 -785
- package/dist/cjs/react-querybuilder_datetime.cjs.development.dayjs.js.map +1 -1
- package/dist/cjs/react-querybuilder_datetime.cjs.development.js +125 -934
- package/dist/cjs/react-querybuilder_datetime.cjs.development.js.map +1 -1
- package/dist/cjs/react-querybuilder_datetime.cjs.development.jsdate.d.ts +56 -0
- package/dist/cjs/react-querybuilder_datetime.cjs.development.jsdate.js +113 -834
- package/dist/cjs/react-querybuilder_datetime.cjs.development.jsdate.js.map +1 -1
- package/dist/cjs/react-querybuilder_datetime.cjs.development.luxon.d.ts +53 -0
- package/dist/cjs/react-querybuilder_datetime.cjs.development.luxon.js +78 -779
- package/dist/cjs/react-querybuilder_datetime.cjs.development.luxon.js.map +1 -1
- package/dist/cjs/react-querybuilder_datetime.cjs.production.d.ts +108 -0
- package/dist/cjs/react-querybuilder_datetime.cjs.production.date-fns.d.ts +53 -0
- package/dist/cjs/react-querybuilder_datetime.cjs.production.date-fns.js +1 -6
- package/dist/cjs/react-querybuilder_datetime.cjs.production.date-fns.js.map +1 -1
- package/dist/cjs/react-querybuilder_datetime.cjs.production.dayjs.d.ts +53 -0
- package/dist/cjs/react-querybuilder_datetime.cjs.production.dayjs.js +1 -6
- package/dist/cjs/react-querybuilder_datetime.cjs.production.dayjs.js.map +1 -1
- package/dist/cjs/react-querybuilder_datetime.cjs.production.js +1 -7
- package/dist/cjs/react-querybuilder_datetime.cjs.production.js.map +1 -1
- package/dist/cjs/react-querybuilder_datetime.cjs.production.jsdate.d.ts +56 -0
- package/dist/cjs/react-querybuilder_datetime.cjs.production.jsdate.js +1 -7
- package/dist/cjs/react-querybuilder_datetime.cjs.production.jsdate.js.map +1 -1
- package/dist/cjs/react-querybuilder_datetime.cjs.production.luxon.d.ts +53 -0
- package/dist/cjs/react-querybuilder_datetime.cjs.production.luxon.js +1 -6
- package/dist/cjs/react-querybuilder_datetime.cjs.production.luxon.js.map +1 -1
- package/dist/cjs/types-QCQUGVZa.d.ts +1694 -0
- package/dist/getDatetimeRuleProcessorSQL-CN80oEFK.js +386 -0
- package/dist/getDatetimeRuleProcessorSQL-CN80oEFK.js.map +1 -0
- package/dist/getDatetimeRuleProcessorSQL-KYRPP9qd.mjs +367 -0
- package/dist/getDatetimeRuleProcessorSQL-KYRPP9qd.mjs.map +1 -0
- package/dist/react-querybuilder_datetime.d.mts +108 -0
- package/dist/react-querybuilder_datetime.date-fns.d.mts +53 -0
- package/dist/react-querybuilder_datetime.date-fns.mjs +72 -57
- package/dist/react-querybuilder_datetime.date-fns.mjs.map +1 -1
- package/dist/react-querybuilder_datetime.dayjs.d.mts +53 -0
- package/dist/react-querybuilder_datetime.dayjs.mjs +66 -57
- package/dist/react-querybuilder_datetime.dayjs.mjs.map +1 -1
- package/dist/react-querybuilder_datetime.jsdate.d.mts +56 -0
- package/dist/react-querybuilder_datetime.jsdate.mjs +102 -114
- package/dist/react-querybuilder_datetime.jsdate.mjs.map +1 -1
- package/dist/react-querybuilder_datetime.legacy-esm.d.ts +108 -0
- package/dist/react-querybuilder_datetime.legacy-esm.date-fns.d.ts +53 -0
- package/dist/react-querybuilder_datetime.legacy-esm.date-fns.js +72 -57
- package/dist/react-querybuilder_datetime.legacy-esm.date-fns.js.map +1 -1
- package/dist/react-querybuilder_datetime.legacy-esm.dayjs.d.ts +53 -0
- package/dist/react-querybuilder_datetime.legacy-esm.dayjs.js +66 -57
- package/dist/react-querybuilder_datetime.legacy-esm.dayjs.js.map +1 -1
- package/dist/react-querybuilder_datetime.legacy-esm.js +113 -215
- package/dist/react-querybuilder_datetime.legacy-esm.js.map +1 -1
- package/dist/react-querybuilder_datetime.legacy-esm.jsdate.d.ts +56 -0
- package/dist/react-querybuilder_datetime.legacy-esm.jsdate.js +102 -114
- package/dist/react-querybuilder_datetime.legacy-esm.jsdate.js.map +1 -1
- package/dist/react-querybuilder_datetime.legacy-esm.luxon.d.ts +53 -0
- package/dist/react-querybuilder_datetime.legacy-esm.luxon.js +68 -61
- package/dist/react-querybuilder_datetime.legacy-esm.luxon.js.map +1 -1
- package/dist/react-querybuilder_datetime.luxon.d.mts +53 -0
- package/dist/react-querybuilder_datetime.luxon.mjs +68 -61
- package/dist/react-querybuilder_datetime.luxon.mjs.map +1 -1
- package/dist/react-querybuilder_datetime.mjs +112 -215
- package/dist/react-querybuilder_datetime.mjs.map +1 -1
- package/dist/react-querybuilder_datetime.production.d.mts +108 -0
- package/dist/react-querybuilder_datetime.production.date-fns.d.mts +53 -0
- package/dist/react-querybuilder_datetime.production.date-fns.mjs +1 -1
- package/dist/react-querybuilder_datetime.production.date-fns.mjs.map +1 -1
- package/dist/react-querybuilder_datetime.production.dayjs.d.mts +53 -0
- package/dist/react-querybuilder_datetime.production.dayjs.mjs +1 -1
- package/dist/react-querybuilder_datetime.production.dayjs.mjs.map +1 -1
- package/dist/react-querybuilder_datetime.production.jsdate.d.mts +56 -0
- package/dist/react-querybuilder_datetime.production.jsdate.mjs +1 -2
- package/dist/react-querybuilder_datetime.production.jsdate.mjs.map +1 -1
- package/dist/react-querybuilder_datetime.production.luxon.d.mts +53 -0
- package/dist/react-querybuilder_datetime.production.luxon.mjs +1 -1
- package/dist/react-querybuilder_datetime.production.luxon.mjs.map +1 -1
- package/dist/react-querybuilder_datetime.production.mjs +1 -2
- package/dist/react-querybuilder_datetime.production.mjs.map +1 -1
- package/dist/types-CDEkL2M_.d.mts +1694 -0
- package/dist/types-EgfSemtR.d.ts +1694 -0
- package/package.json +24 -24
- package/dist/chunk-SLTJVKUE.mjs +0 -7
- package/dist/chunk-SLTJVKUE.mjs.map +0 -1
- package/dist/chunk-ZLH5EH6W.mjs +0 -713
- package/dist/chunk-ZLH5EH6W.mjs.map +0 -1
- package/dist/chunk-ZS6AX35I.js +0 -738
- package/dist/chunk-ZS6AX35I.js.map +0 -1
- package/dist/types/QueryBuilderDateTime.d.ts +0 -4
- package/dist/types/datetimeRuleProcessorJsonLogic.d.ts +0 -10
- package/dist/types/getDatetimeJsonLogicOperations.d.ts +0 -6
- package/dist/types/getDatetimeRuleProcessorCEL.d.ts +0 -7
- package/dist/types/getDatetimeRuleProcessorJSONata.d.ts +0 -7
- package/dist/types/getDatetimeRuleProcessorMongoDBQuery.d.ts +0 -7
- package/dist/types/getDatetimeRuleProcessorNL.d.ts +0 -13
- package/dist/types/getDatetimeRuleProcessorSQL.d.ts +0 -32
- package/dist/types/index.d.ts +0 -8
- package/dist/types/index.date-fns.d.ts +0 -48
- package/dist/types/index.dayjs.d.ts +0 -48
- package/dist/types/index.jsdate.d.ts +0 -48
- package/dist/types/index.luxon.d.ts +0 -48
- package/dist/types/rqbDateTimeLibraryAPI.date-fns.d.ts +0 -5
- package/dist/types/rqbDateTimeLibraryAPI.dayjs.d.ts +0 -5
- package/dist/types/rqbDateTimeLibraryAPI.jsdate.d.ts +0 -8
- package/dist/types/rqbDateTimeLibraryAPI.luxon.d.ts +0 -5
- package/dist/types/types.d.ts +0 -111
- package/dist/types/utils.d.ts +0 -5
- package/dist/types-esm/QueryBuilderDateTime.d.mts +0 -4
- package/dist/types-esm/datetimeRuleProcessorJsonLogic.d.mts +0 -10
- package/dist/types-esm/getDatetimeJsonLogicOperations.d.mts +0 -6
- package/dist/types-esm/getDatetimeRuleProcessorCEL.d.mts +0 -7
- package/dist/types-esm/getDatetimeRuleProcessorJSONata.d.mts +0 -7
- package/dist/types-esm/getDatetimeRuleProcessorMongoDBQuery.d.mts +0 -7
- package/dist/types-esm/getDatetimeRuleProcessorNL.d.mts +0 -13
- package/dist/types-esm/getDatetimeRuleProcessorSQL.d.mts +0 -32
- package/dist/types-esm/index.d.mts +0 -8
- package/dist/types-esm/index.date-fns.d.mts +0 -48
- package/dist/types-esm/index.dayjs.d.mts +0 -48
- package/dist/types-esm/index.jsdate.d.mts +0 -48
- package/dist/types-esm/index.luxon.d.mts +0 -48
- package/dist/types-esm/rqbDateTimeLibraryAPI.date-fns.d.mts +0 -5
- package/dist/types-esm/rqbDateTimeLibraryAPI.dayjs.d.mts +0 -5
- package/dist/types-esm/rqbDateTimeLibraryAPI.jsdate.d.mts +0 -8
- package/dist/types-esm/rqbDateTimeLibraryAPI.luxon.d.mts +0 -5
- package/dist/types-esm/types.d.mts +0 -111
- package/dist/types-esm/utils.d.mts +0 -5
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { RQBDateTimeLibraryAPI, RQBJsonLogicDateTimeOperations, RuleProcessor, ValueProcessorByRule } from "./types-EgfSemtR.js";
|
|
2
|
+
|
|
3
|
+
//#region src/rqbDateTimeLibraryAPI.dayjs.d.ts
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* {@link RQBDateTimeLibraryAPI} for Day.js
|
|
7
|
+
*/
|
|
8
|
+
declare const rqbDateTimeLibraryAPI: RQBDateTimeLibraryAPI;
|
|
9
|
+
//#endregion
|
|
10
|
+
//#region src/index.dayjs.d.ts
|
|
11
|
+
/**
|
|
12
|
+
* Custom JsonLogic date/time operations using Day.js
|
|
13
|
+
*/
|
|
14
|
+
declare const jsonLogicDateTimeOperations: RQBJsonLogicDateTimeOperations;
|
|
15
|
+
/**
|
|
16
|
+
* {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for "sql" format using Day.js
|
|
17
|
+
*/
|
|
18
|
+
declare const datetimeRuleProcessorSQL: RuleProcessor;
|
|
19
|
+
/**
|
|
20
|
+
* {@link @react-querybuilder/core!formatQuery formatQuery} value processor for "sql" format ("ansi" preset) using Day.js
|
|
21
|
+
*/
|
|
22
|
+
declare const datetimeValueProcessorANSI: ValueProcessorByRule;
|
|
23
|
+
/**
|
|
24
|
+
* {@link @react-querybuilder/core!formatQuery formatQuery} value processor for "sql" format ("mssql" preset) using Day.js
|
|
25
|
+
*/
|
|
26
|
+
declare const datetimeValueProcessorMSSQL: ValueProcessorByRule;
|
|
27
|
+
/**
|
|
28
|
+
* {@link @react-querybuilder/core!formatQuery formatQuery} value processor for "sql" format ("mysql" preset) using Day.js
|
|
29
|
+
*/
|
|
30
|
+
declare const datetimeValueProcessorMySQL: ValueProcessorByRule;
|
|
31
|
+
/**
|
|
32
|
+
* {@link @react-querybuilder/core!formatQuery formatQuery} value processor for "sql" format ("oracle" preset) using Day.js
|
|
33
|
+
*/
|
|
34
|
+
declare const datetimeValueProcessorOracle: ValueProcessorByRule;
|
|
35
|
+
/**
|
|
36
|
+
* {@link @react-querybuilder/core!formatQuery formatQuery} value processor for "sql" format ("postgresql" preset) using Day.js
|
|
37
|
+
*/
|
|
38
|
+
declare const datetimeValueProcessorPostgreSQL: ValueProcessorByRule;
|
|
39
|
+
/**
|
|
40
|
+
* {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for "cel" format using Day.js
|
|
41
|
+
*/
|
|
42
|
+
declare const datetimeRuleProcessorCEL: ValueProcessorByRule;
|
|
43
|
+
/**
|
|
44
|
+
* {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for "mongodb_query" format using Day.js
|
|
45
|
+
*/
|
|
46
|
+
declare const datetimeRuleProcessorMongoDBQuery: ValueProcessorByRule;
|
|
47
|
+
/**
|
|
48
|
+
* {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for "natural_language" format using Day.js
|
|
49
|
+
*/
|
|
50
|
+
declare const datetimeRuleProcessorNL: ValueProcessorByRule;
|
|
51
|
+
//#endregion
|
|
52
|
+
export { datetimeRuleProcessorCEL, datetimeRuleProcessorMongoDBQuery, datetimeRuleProcessorNL, datetimeRuleProcessorSQL, datetimeValueProcessorANSI, datetimeValueProcessorMSSQL, datetimeValueProcessorMySQL, datetimeValueProcessorOracle, datetimeValueProcessorPostgreSQL, jsonLogicDateTimeOperations, rqbDateTimeLibraryAPI };
|
|
53
|
+
//# sourceMappingURL=react-querybuilder_datetime.legacy-esm.dayjs.d.ts.map
|
|
@@ -1,61 +1,70 @@
|
|
|
1
|
-
import {
|
|
2
|
-
getDatetimeJsonLogicOperations,
|
|
3
|
-
getDatetimeRuleProcessorCEL,
|
|
4
|
-
getDatetimeRuleProcessorMongoDBQuery,
|
|
5
|
-
getDatetimeRuleProcessorNL,
|
|
6
|
-
getDatetimeRuleProcessorSQL,
|
|
7
|
-
getDatetimeValueProcessorANSI,
|
|
8
|
-
getDatetimeValueProcessorMSSQL,
|
|
9
|
-
getDatetimeValueProcessorMySQL,
|
|
10
|
-
getDatetimeValueProcessorOracle,
|
|
11
|
-
getDatetimeValueProcessorPostgreSQL,
|
|
12
|
-
isISOStringDateOnly
|
|
13
|
-
} from "./chunk-ZS6AX35I.js";
|
|
14
|
-
|
|
15
|
-
// src/rqbDateTimeLibraryAPI.dayjs.ts
|
|
1
|
+
import { getDatetimeJsonLogicOperations, getDatetimeRuleProcessorCEL, getDatetimeRuleProcessorMongoDBQuery, getDatetimeRuleProcessorNL, getDatetimeRuleProcessorSQL, getDatetimeValueProcessorANSI, getDatetimeValueProcessorMSSQL, getDatetimeValueProcessorMySQL, getDatetimeValueProcessorOracle, getDatetimeValueProcessorPostgreSQL, isISOStringDateOnly } from "./getDatetimeRuleProcessorSQL-CN80oEFK.js";
|
|
16
2
|
import dayjs from "dayjs";
|
|
17
|
-
var rqbDateTimeLibraryAPI = { format: function format(d, fmt) {
|
|
18
|
-
return dayjs(d).format(fmt);
|
|
19
|
-
}, isAfter: function isAfter(a, b) {
|
|
20
|
-
return dayjs(a).isAfter(b);
|
|
21
|
-
}, isBefore: function isBefore(a, b) {
|
|
22
|
-
return dayjs(a).isBefore(b);
|
|
23
|
-
}, isSame: function isSame(a, b) {
|
|
24
|
-
return dayjs(a).isSame(b, isISOStringDateOnly(a) || isISOStringDateOnly(b) ? "d" : "ms");
|
|
25
|
-
}, isValid: function isValid(d) {
|
|
26
|
-
return dayjs(d).isValid();
|
|
27
|
-
}, toDate: function toDate(d) {
|
|
28
|
-
return dayjs(d).toDate();
|
|
29
|
-
}, toISOString: function toISOString(d) {
|
|
30
|
-
var dToDate = dayjs(d);
|
|
31
|
-
return dToDate.isValid() ? dToDate.toISOString() : "";
|
|
32
|
-
}, toISOStringDateOnly: function toISOStringDateOnly(d) {
|
|
33
|
-
var dToDate = dayjs(d);
|
|
34
|
-
return dToDate.isValid() ? dToDate.format("YYYY-MM-DD") : "";
|
|
35
|
-
} };
|
|
36
3
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
datetimeValueProcessorOracle,
|
|
57
|
-
datetimeValueProcessorPostgreSQL,
|
|
58
|
-
jsonLogicDateTimeOperations,
|
|
59
|
-
rqbDateTimeLibraryAPI
|
|
4
|
+
//#region src/rqbDateTimeLibraryAPI.dayjs.ts
|
|
5
|
+
/**
|
|
6
|
+
* {@link RQBDateTimeLibraryAPI} for Day.js
|
|
7
|
+
*/
|
|
8
|
+
const rqbDateTimeLibraryAPI = {
|
|
9
|
+
format: (d, fmt) => dayjs(d).format(fmt),
|
|
10
|
+
isAfter: (a, b) => dayjs(a).isAfter(b),
|
|
11
|
+
isBefore: (a, b) => dayjs(a).isBefore(b),
|
|
12
|
+
isSame: (a, b) => dayjs(a).isSame(b, isISOStringDateOnly(a) || isISOStringDateOnly(b) ? "d" : "ms"),
|
|
13
|
+
isValid: (d) => dayjs(d).isValid(),
|
|
14
|
+
toDate: (d) => dayjs(d).toDate(),
|
|
15
|
+
toISOString: (d) => {
|
|
16
|
+
const dToDate = dayjs(d);
|
|
17
|
+
return dToDate.isValid() ? dToDate.toISOString() : "";
|
|
18
|
+
},
|
|
19
|
+
toISOStringDateOnly: (d) => {
|
|
20
|
+
const dToDate = dayjs(d);
|
|
21
|
+
return dToDate.isValid() ? dToDate.format("YYYY-MM-DD") : "";
|
|
22
|
+
}
|
|
60
23
|
};
|
|
24
|
+
|
|
25
|
+
//#endregion
|
|
26
|
+
//#region src/index.dayjs.ts
|
|
27
|
+
/**
|
|
28
|
+
* Custom JsonLogic date/time operations using Day.js
|
|
29
|
+
*/
|
|
30
|
+
const jsonLogicDateTimeOperations = getDatetimeJsonLogicOperations(rqbDateTimeLibraryAPI);
|
|
31
|
+
/**
|
|
32
|
+
* {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for "sql" format using Day.js
|
|
33
|
+
*/
|
|
34
|
+
const datetimeRuleProcessorSQL = getDatetimeRuleProcessorSQL(rqbDateTimeLibraryAPI);
|
|
35
|
+
/**
|
|
36
|
+
* {@link @react-querybuilder/core!formatQuery formatQuery} value processor for "sql" format ("ansi" preset) using Day.js
|
|
37
|
+
*/
|
|
38
|
+
const datetimeValueProcessorANSI = getDatetimeValueProcessorANSI(rqbDateTimeLibraryAPI);
|
|
39
|
+
/**
|
|
40
|
+
* {@link @react-querybuilder/core!formatQuery formatQuery} value processor for "sql" format ("mssql" preset) using Day.js
|
|
41
|
+
*/
|
|
42
|
+
const datetimeValueProcessorMSSQL = getDatetimeValueProcessorMSSQL(rqbDateTimeLibraryAPI);
|
|
43
|
+
/**
|
|
44
|
+
* {@link @react-querybuilder/core!formatQuery formatQuery} value processor for "sql" format ("mysql" preset) using Day.js
|
|
45
|
+
*/
|
|
46
|
+
const datetimeValueProcessorMySQL = getDatetimeValueProcessorMySQL(rqbDateTimeLibraryAPI);
|
|
47
|
+
/**
|
|
48
|
+
* {@link @react-querybuilder/core!formatQuery formatQuery} value processor for "sql" format ("oracle" preset) using Day.js
|
|
49
|
+
*/
|
|
50
|
+
const datetimeValueProcessorOracle = getDatetimeValueProcessorOracle(rqbDateTimeLibraryAPI);
|
|
51
|
+
/**
|
|
52
|
+
* {@link @react-querybuilder/core!formatQuery formatQuery} value processor for "sql" format ("postgresql" preset) using Day.js
|
|
53
|
+
*/
|
|
54
|
+
const datetimeValueProcessorPostgreSQL = getDatetimeValueProcessorPostgreSQL(rqbDateTimeLibraryAPI);
|
|
55
|
+
/**
|
|
56
|
+
* {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for "cel" format using Day.js
|
|
57
|
+
*/
|
|
58
|
+
const datetimeRuleProcessorCEL = getDatetimeRuleProcessorCEL(rqbDateTimeLibraryAPI);
|
|
59
|
+
/**
|
|
60
|
+
* {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for "mongodb_query" format using Day.js
|
|
61
|
+
*/
|
|
62
|
+
const datetimeRuleProcessorMongoDBQuery = getDatetimeRuleProcessorMongoDBQuery(rqbDateTimeLibraryAPI);
|
|
63
|
+
/**
|
|
64
|
+
* {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for "natural_language" format using Day.js
|
|
65
|
+
*/
|
|
66
|
+
const datetimeRuleProcessorNL = getDatetimeRuleProcessorNL(rqbDateTimeLibraryAPI);
|
|
67
|
+
|
|
68
|
+
//#endregion
|
|
69
|
+
export { datetimeRuleProcessorCEL, datetimeRuleProcessorMongoDBQuery, datetimeRuleProcessorNL, datetimeRuleProcessorSQL, datetimeValueProcessorANSI, datetimeValueProcessorMSSQL, datetimeValueProcessorMySQL, datetimeValueProcessorOracle, datetimeValueProcessorPostgreSQL, jsonLogicDateTimeOperations, rqbDateTimeLibraryAPI };
|
|
61
70
|
//# sourceMappingURL=react-querybuilder_datetime.legacy-esm.dayjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/rqbDateTimeLibraryAPI.dayjs.ts","../src/index.dayjs.ts"],"sourcesContent":["import dayjs from
|
|
1
|
+
{"version":3,"file":"react-querybuilder_datetime.legacy-esm.dayjs.js","names":["rqbDateTimeLibraryAPI: RQBDateTimeLibraryAPI","jsonLogicDateTimeOperations: RQBJsonLogicDateTimeOperations","datetimeRuleProcessorSQL: RuleProcessor","datetimeValueProcessorANSI: ValueProcessorByRule","datetimeValueProcessorMSSQL: ValueProcessorByRule","datetimeValueProcessorMySQL: ValueProcessorByRule","datetimeValueProcessorOracle: ValueProcessorByRule","datetimeValueProcessorPostgreSQL: ValueProcessorByRule","datetimeRuleProcessorCEL: ValueProcessorByRule","datetimeRuleProcessorMongoDBQuery: ValueProcessorByRule","datetimeRuleProcessorNL: ValueProcessorByRule"],"sources":["../src/rqbDateTimeLibraryAPI.dayjs.ts","../src/index.dayjs.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport type { RQBDateTimeLibraryAPI } from './types';\nimport { isISOStringDateOnly } from './utils';\n\n/**\n * {@link RQBDateTimeLibraryAPI} for Day.js\n */\nexport const rqbDateTimeLibraryAPI: RQBDateTimeLibraryAPI = {\n format: (d, fmt) => dayjs(d).format(fmt),\n isAfter: (a, b) => dayjs(a).isAfter(b),\n isBefore: (a, b) => dayjs(a).isBefore(b),\n isSame: (a, b) =>\n dayjs(a).isSame(b, isISOStringDateOnly(a) || isISOStringDateOnly(b) ? 'd' : 'ms'),\n isValid: d => dayjs(d).isValid(),\n toDate: d => dayjs(d).toDate(),\n toISOString: d => {\n const dToDate = dayjs(d);\n return dToDate.isValid() ? dToDate.toISOString() : '';\n },\n toISOStringDateOnly: d => {\n const dToDate = dayjs(d);\n return dToDate.isValid() ? dToDate.format('YYYY-MM-DD') : '';\n },\n};\n","/**\n * Import from `\"@react-querybuilder/datetime/dayjs\"` for enhanced date/time support using [Day.js](https://day.js.org/).\n *\n * @module dayjs\n */\n\nimport type { RuleProcessor, ValueProcessorByRule } from 'react-querybuilder';\nimport { getDatetimeJsonLogicOperations } from './getDatetimeJsonLogicOperations';\nimport { getDatetimeRuleProcessorCEL } from './getDatetimeRuleProcessorCEL';\nimport { getDatetimeRuleProcessorMongoDBQuery } from './getDatetimeRuleProcessorMongoDBQuery';\nimport { getDatetimeRuleProcessorNL } from './getDatetimeRuleProcessorNL';\nimport {\n getDatetimeRuleProcessorSQL,\n getDatetimeValueProcessorANSI,\n getDatetimeValueProcessorMSSQL,\n getDatetimeValueProcessorMySQL,\n getDatetimeValueProcessorOracle,\n getDatetimeValueProcessorPostgreSQL,\n} from './getDatetimeRuleProcessorSQL';\nimport { rqbDateTimeLibraryAPI } from './rqbDateTimeLibraryAPI.dayjs';\nimport type { RQBJsonLogicDateTimeOperations } from './types';\n\n/**\n * Custom JsonLogic date/time operations using Day.js\n */\nexport const jsonLogicDateTimeOperations: RQBJsonLogicDateTimeOperations =\n getDatetimeJsonLogicOperations(rqbDateTimeLibraryAPI);\n\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for \"sql\" format using Day.js\n */\nexport const datetimeRuleProcessorSQL: RuleProcessor =\n getDatetimeRuleProcessorSQL(rqbDateTimeLibraryAPI);\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} value processor for \"sql\" format (\"ansi\" preset) using Day.js\n */\nexport const datetimeValueProcessorANSI: ValueProcessorByRule =\n getDatetimeValueProcessorANSI(rqbDateTimeLibraryAPI);\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} value processor for \"sql\" format (\"mssql\" preset) using Day.js\n */\nexport const datetimeValueProcessorMSSQL: ValueProcessorByRule =\n getDatetimeValueProcessorMSSQL(rqbDateTimeLibraryAPI);\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} value processor for \"sql\" format (\"mysql\" preset) using Day.js\n */\nexport const datetimeValueProcessorMySQL: ValueProcessorByRule =\n getDatetimeValueProcessorMySQL(rqbDateTimeLibraryAPI);\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} value processor for \"sql\" format (\"oracle\" preset) using Day.js\n */\nexport const datetimeValueProcessorOracle: ValueProcessorByRule =\n getDatetimeValueProcessorOracle(rqbDateTimeLibraryAPI);\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} value processor for \"sql\" format (\"postgresql\" preset) using Day.js\n */\nexport const datetimeValueProcessorPostgreSQL: ValueProcessorByRule =\n getDatetimeValueProcessorPostgreSQL(rqbDateTimeLibraryAPI);\n\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for \"cel\" format using Day.js\n */\nexport const datetimeRuleProcessorCEL: ValueProcessorByRule =\n getDatetimeRuleProcessorCEL(rqbDateTimeLibraryAPI);\n\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for \"mongodb_query\" format using Day.js\n */\nexport const datetimeRuleProcessorMongoDBQuery: ValueProcessorByRule =\n getDatetimeRuleProcessorMongoDBQuery(rqbDateTimeLibraryAPI);\n\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for \"natural_language\" format using Day.js\n */\nexport const datetimeRuleProcessorNL: ValueProcessorByRule =\n getDatetimeRuleProcessorNL(rqbDateTimeLibraryAPI);\n\nexport * from './rqbDateTimeLibraryAPI.dayjs';\n"],"mappings":";;;;;;;AAOA,MAAaA,wBAA+C;CAC1D,SAAS,GAAG,QAAQ,MAAM,EAAE,CAAC,OAAO,IAAI;CACxC,UAAU,GAAG,MAAM,MAAM,EAAE,CAAC,QAAQ,EAAE;CACtC,WAAW,GAAG,MAAM,MAAM,EAAE,CAAC,SAAS,EAAE;CACxC,SAAS,GAAG,MACV,MAAM,EAAE,CAAC,OAAO,GAAG,oBAAoB,EAAE,IAAI,oBAAoB,EAAE,GAAG,MAAM,KAAK;CACnF,UAAS,MAAK,MAAM,EAAE,CAAC,SAAS;CAChC,SAAQ,MAAK,MAAM,EAAE,CAAC,QAAQ;CAC9B,cAAa,MAAK;EAChB,MAAM,UAAU,MAAM,EAAE;AACxB,SAAO,QAAQ,SAAS,GAAG,QAAQ,aAAa,GAAG;;CAErD,sBAAqB,MAAK;EACxB,MAAM,UAAU,MAAM,EAAE;AACxB,SAAO,QAAQ,SAAS,GAAG,QAAQ,OAAO,aAAa,GAAG;;CAE7D;;;;;;;ACED,MAAaC,8BACX,+BAA+B,sBAAsB;;;;AAKvD,MAAaC,2BACX,4BAA4B,sBAAsB;;;;AAIpD,MAAaC,6BACX,8BAA8B,sBAAsB;;;;AAItD,MAAaC,8BACX,+BAA+B,sBAAsB;;;;AAIvD,MAAaC,8BACX,+BAA+B,sBAAsB;;;;AAIvD,MAAaC,+BACX,gCAAgC,sBAAsB;;;;AAIxD,MAAaC,mCACX,oCAAoC,sBAAsB;;;;AAK5D,MAAaC,2BACX,4BAA4B,sBAAsB;;;;AAKpD,MAAaC,oCACX,qCAAqC,sBAAsB;;;;AAK7D,MAAaC,0BACX,2BAA2B,sBAAsB"}
|
|
@@ -1,220 +1,118 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
defaultDateTimeNLOperatorMap,
|
|
4
|
-
getDatetimeJsonLogicOperations,
|
|
5
|
-
getDatetimeRuleProcessorCEL,
|
|
6
|
-
getDatetimeRuleProcessorMongoDBQuery,
|
|
7
|
-
getDatetimeRuleProcessorNL,
|
|
8
|
-
getDatetimeRuleProcessorSQL,
|
|
9
|
-
getDatetimeValueProcessorANSI,
|
|
10
|
-
getDatetimeValueProcessorMSSQL,
|
|
11
|
-
getDatetimeValueProcessorMySQL,
|
|
12
|
-
getDatetimeValueProcessorOracle,
|
|
13
|
-
getDatetimeValueProcessorPostgreSQL,
|
|
14
|
-
processIsDateField
|
|
15
|
-
} from "./chunk-ZS6AX35I.js";
|
|
1
|
+
import { datetimeValueProcessorNL, defaultDateTimeNLOperatorMap, getDatetimeJsonLogicOperations, getDatetimeRuleProcessorCEL, getDatetimeRuleProcessorMongoDBQuery, getDatetimeRuleProcessorNL, getDatetimeRuleProcessorSQL, getDatetimeValueProcessorANSI, getDatetimeValueProcessorMSSQL, getDatetimeValueProcessorMySQL, getDatetimeValueProcessorOracle, getDatetimeValueProcessorPostgreSQL, processIsDateField } from "./getDatetimeRuleProcessorSQL-CN80oEFK.js";
|
|
2
|
+
import { defaultRuleProcessorJSONata, defaultRuleProcessorJsonLogic, getQuotedFieldName, nullOrUndefinedOrEmpty, toArray } from "react-querybuilder";
|
|
16
3
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}
|
|
30
|
-
function _toPropertyKey(t) {
|
|
31
|
-
var i = _toPrimitive(t, "string");
|
|
32
|
-
return "symbol" == _typeof(i) ? i : i + "";
|
|
33
|
-
}
|
|
34
|
-
function _toPrimitive(t, r) {
|
|
35
|
-
if ("object" != _typeof(t) || !t) return t;
|
|
36
|
-
var e = t[Symbol.toPrimitive];
|
|
37
|
-
if (void 0 !== e) {
|
|
38
|
-
var i = e.call(t, r || "default");
|
|
39
|
-
if ("object" != _typeof(i)) return i;
|
|
40
|
-
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
41
|
-
}
|
|
42
|
-
return ("string" === r ? String : Number)(t);
|
|
43
|
-
}
|
|
44
|
-
var dateOperationMap = { "!=": "dateNotOn", "<": "dateBefore", "<=": "dateOnOrBefore", "=": "dateOn", ">": "dateAfter", ">=": "dateOnOrAfter", between: "dateBetween", "in": "dateIn", notBetween: "dateNotBetween", notIn: "dateNotIn" };
|
|
45
|
-
var datetimeRuleProcessorJsonLogic = function datetimeRuleProcessorJsonLogic2(rule, options) {
|
|
46
|
-
var _a;
|
|
47
|
-
var opts = options != null ? options : (
|
|
48
|
-
/* istanbul ignore next */
|
|
49
|
-
{}
|
|
50
|
-
);
|
|
51
|
-
if (!processIsDateField((_a = opts.context) == null ? void 0 : _a.isDateField, rule, opts)) {
|
|
52
|
-
return defaultRuleProcessorJsonLogic(rule, opts);
|
|
53
|
-
}
|
|
54
|
-
var field = rule.field, operator = rule.operator, value = rule.value, valueSource = rule.valueSource;
|
|
55
|
-
var valueIsField = valueSource === "field";
|
|
56
|
-
var fieldObject = { "var": field };
|
|
57
|
-
var maybeFieldRenderer = function maybeFieldRenderer2(v) {
|
|
58
|
-
return valueIsField ? { "var": "".concat(v) } : v;
|
|
59
|
-
};
|
|
60
|
-
switch (operator) {
|
|
61
|
-
case "<":
|
|
62
|
-
case "<=":
|
|
63
|
-
case "=":
|
|
64
|
-
case "!=":
|
|
65
|
-
case ">":
|
|
66
|
-
case ">=":
|
|
67
|
-
return _defineProperty({}, dateOperationMap[operator], [fieldObject, maybeFieldRenderer(value)]);
|
|
68
|
-
case "in":
|
|
69
|
-
case "notIn": {
|
|
70
|
-
var valueAsArray = toArray(value).map(function(v) {
|
|
71
|
-
return maybeFieldRenderer(v);
|
|
72
|
-
});
|
|
73
|
-
return _defineProperty({}, dateOperationMap[operator], [fieldObject, valueAsArray]);
|
|
74
|
-
}
|
|
75
|
-
case "between":
|
|
76
|
-
case "notBetween": {
|
|
77
|
-
var _valueAsArray = toArray(value).map(function(v) {
|
|
78
|
-
return maybeFieldRenderer(v);
|
|
79
|
-
});
|
|
80
|
-
if (_valueAsArray.length < 2) return false;
|
|
81
|
-
return _defineProperty({}, dateOperationMap[operator], [_valueAsArray[0], fieldObject, _valueAsArray[1]]);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
return defaultRuleProcessorJsonLogic(rule, options);
|
|
4
|
+
//#region src/datetimeRuleProcessorJsonLogic.ts
|
|
5
|
+
const dateOperationMap = {
|
|
6
|
+
"!=": "dateNotOn",
|
|
7
|
+
"<": "dateBefore",
|
|
8
|
+
"<=": "dateOnOrBefore",
|
|
9
|
+
"=": "dateOn",
|
|
10
|
+
">": "dateAfter",
|
|
11
|
+
">=": "dateOnOrAfter",
|
|
12
|
+
between: "dateBetween",
|
|
13
|
+
in: "dateIn",
|
|
14
|
+
notBetween: "dateNotBetween",
|
|
15
|
+
notIn: "dateNotIn"
|
|
85
16
|
};
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
function _arrayWithHoles(r) {
|
|
129
|
-
if (Array.isArray(r)) return r;
|
|
130
|
-
}
|
|
131
|
-
var shouldNegate = function shouldNegate2(op) {
|
|
132
|
-
return /^(does)?not/i.test(op);
|
|
133
|
-
};
|
|
134
|
-
var negate = function negate2(clause, negate22) {
|
|
135
|
-
return negate22 ? "$not(".concat(clause, ")") : "".concat(clause);
|
|
136
|
-
};
|
|
137
|
-
var getDatetimeRuleProcessorJSONata = function getDatetimeRuleProcessorJSONata2(apiFns) {
|
|
138
|
-
return function(rule, options) {
|
|
139
|
-
var opts = options != null ? options : (
|
|
140
|
-
/* istanbul ignore next */
|
|
141
|
-
{}
|
|
142
|
-
);
|
|
143
|
-
var _opts$context = opts.context, context = _opts$context === void 0 ? {} : _opts$context;
|
|
144
|
-
var _opts$quoteFieldNames = opts.quoteFieldNamesWith, quoteFieldNamesWith = _opts$quoteFieldNames === void 0 ? ["", ""] : _opts$quoteFieldNames, _opts$fieldIdentifier = opts.fieldIdentifierSeparator, fieldIdentifierSeparator = _opts$fieldIdentifier === void 0 ? "" : _opts$fieldIdentifier;
|
|
145
|
-
var field = rule.field, operator = rule.operator, value = rule.value, valueSource = rule.valueSource;
|
|
146
|
-
if (!processIsDateField(context.isDateField, rule, opts)) {
|
|
147
|
-
return defaultRuleProcessorJSONata(rule, opts);
|
|
148
|
-
}
|
|
149
|
-
var valueIsField = valueSource === "field";
|
|
150
|
-
var fldToMs = function fldToMs2(f) {
|
|
151
|
-
return "$toMillis(".concat(getQuotedFieldName(f, { quoteFieldNamesWith, fieldIdentifierSeparator }), ")");
|
|
152
|
-
};
|
|
153
|
-
var valToMs = function valToMs2(v) {
|
|
154
|
-
return '$toMillis("'.concat(apiFns.toISOString(v), '")');
|
|
155
|
-
};
|
|
156
|
-
switch (operator) {
|
|
157
|
-
case "<":
|
|
158
|
-
case "<=":
|
|
159
|
-
case "=":
|
|
160
|
-
case "!=":
|
|
161
|
-
case ">":
|
|
162
|
-
case ">=":
|
|
163
|
-
return "".concat(fldToMs(field), " ").concat(operator, " ").concat(valueIsField ? fldToMs(value) : valToMs(value));
|
|
164
|
-
}
|
|
165
|
-
var valueAsArray = toArray2(rule.value, { retainEmptyStrings: false });
|
|
166
|
-
var valueAsDateArray = valueAsArray.map(function(v) {
|
|
167
|
-
return apiFns.toDate(v);
|
|
168
|
-
}).filter(function(dateVal) {
|
|
169
|
-
return apiFns.isValid(dateVal);
|
|
170
|
-
});
|
|
171
|
-
switch (operator) {
|
|
172
|
-
case "in":
|
|
173
|
-
case "notIn": {
|
|
174
|
-
if (valueIsField) {
|
|
175
|
-
if (valueAsArray.length === 0) return "";
|
|
176
|
-
return negate("".concat(fldToMs(field), " in [").concat(valueAsArray.map(function(val) {
|
|
177
|
-
return fldToMs(val);
|
|
178
|
-
}).join(", "), "]"), shouldNegate(operator));
|
|
179
|
-
}
|
|
180
|
-
if (valueAsDateArray.length === 0) return "";
|
|
181
|
-
return negate("".concat(fldToMs(field), " in [").concat(valueAsDateArray.map(function(val) {
|
|
182
|
-
return valToMs(val);
|
|
183
|
-
}).join(", "), "]"), shouldNegate(operator));
|
|
184
|
-
}
|
|
185
|
-
case "between":
|
|
186
|
-
case "notBetween": {
|
|
187
|
-
if (valueAsArray.length < 2 || nullOrUndefinedOrEmpty(valueAsArray[0]) || nullOrUndefinedOrEmpty(valueAsArray[1]) || !valueIsField && valueAsDateArray.length < 2) {
|
|
188
|
-
return "";
|
|
189
|
-
}
|
|
190
|
-
if (valueIsField) {
|
|
191
|
-
var _valueAsArray = _slicedToArray(valueAsArray, 2), firstValue = _valueAsArray[0], secondValue = _valueAsArray[1];
|
|
192
|
-
var expression2 = "".concat(fldToMs(field), " >= ").concat(fldToMs(firstValue), " and ").concat(fldToMs(field), " <= ").concat(fldToMs(secondValue));
|
|
193
|
-
return operator === "between" ? "(".concat(expression2, ")") : negate(expression2, true);
|
|
194
|
-
}
|
|
195
|
-
var _valueAsDateArray = _slicedToArray(valueAsDateArray, 2), first = _valueAsDateArray[0], second = _valueAsDateArray[1];
|
|
196
|
-
var _ref = apiFns.isBefore(first, second) ? [first, second] : [second, first], _ref2 = _slicedToArray(_ref, 2), firstDate = _ref2[0], secondDate = _ref2[1];
|
|
197
|
-
var expression = "".concat(fldToMs(field), " >= ").concat(valToMs(firstDate), " and ").concat(fldToMs(field), " <= ").concat(valToMs(secondDate));
|
|
198
|
-
return operator === "between" ? "(".concat(expression, ")") : negate(expression, true);
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
return defaultRuleProcessorJSONata(rule, opts);
|
|
202
|
-
};
|
|
17
|
+
/**
|
|
18
|
+
* Date/time rule processor for use by {@link @react-querybuilder/core!formatQuery formatQuery}
|
|
19
|
+
* with the "jsonlogic" format.
|
|
20
|
+
*
|
|
21
|
+
* Note: Unlike other date/time rule processors from this library, this function does
|
|
22
|
+
* not require a date/time library API. Instead, the date/time library API is used by
|
|
23
|
+
* {@link getDatetimeJsonLogicOperations} during the evaluation process.
|
|
24
|
+
*/
|
|
25
|
+
const datetimeRuleProcessorJsonLogic = (rule, options) => {
|
|
26
|
+
var _opts$context;
|
|
27
|
+
const opts = options !== null && options !== void 0 ? options : ( /* istanbul ignore next */ {});
|
|
28
|
+
if (!processIsDateField((_opts$context = opts.context) === null || _opts$context === void 0 ? void 0 : _opts$context.isDateField, rule, opts)) return defaultRuleProcessorJsonLogic(rule, opts);
|
|
29
|
+
const { field, operator, value, valueSource } = rule;
|
|
30
|
+
const valueIsField = valueSource === "field";
|
|
31
|
+
const fieldObject = { var: field };
|
|
32
|
+
const maybeFieldRenderer = (v) => valueIsField ? { var: `${v}` } : v;
|
|
33
|
+
switch (operator) {
|
|
34
|
+
case "<":
|
|
35
|
+
case "<=":
|
|
36
|
+
case "=":
|
|
37
|
+
case "!=":
|
|
38
|
+
case ">":
|
|
39
|
+
case ">=": return { [dateOperationMap[operator]]: [fieldObject, maybeFieldRenderer(value)] };
|
|
40
|
+
case "in":
|
|
41
|
+
case "notIn": {
|
|
42
|
+
const valueAsArray = toArray(value).map((v) => maybeFieldRenderer(v));
|
|
43
|
+
return { [dateOperationMap[operator]]: [fieldObject, valueAsArray] };
|
|
44
|
+
}
|
|
45
|
+
case "between":
|
|
46
|
+
case "notBetween": {
|
|
47
|
+
const valueAsArray = toArray(value).map((v) => maybeFieldRenderer(v));
|
|
48
|
+
if (valueAsArray.length < 2) return false;
|
|
49
|
+
return { [dateOperationMap[operator]]: [
|
|
50
|
+
valueAsArray[0],
|
|
51
|
+
fieldObject,
|
|
52
|
+
valueAsArray[1]
|
|
53
|
+
] };
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return defaultRuleProcessorJsonLogic(rule, options);
|
|
203
57
|
};
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
58
|
+
|
|
59
|
+
//#endregion
|
|
60
|
+
//#region src/getDatetimeRuleProcessorJSONata.ts
|
|
61
|
+
const shouldNegate = (op) => /^(does)?not/i.test(op);
|
|
62
|
+
const negate = (clause, negate$1) => negate$1 ? `$not(${clause})` : `${clause}`;
|
|
63
|
+
/**
|
|
64
|
+
* Generates a rule processor with date/time features for use by
|
|
65
|
+
* {@link @react-querybuilder/core!formatQuery formatQuery} with the "jsonata" format.
|
|
66
|
+
*/
|
|
67
|
+
const getDatetimeRuleProcessorJSONata = (apiFns) => (rule, options) => {
|
|
68
|
+
const opts = options !== null && options !== void 0 ? options : ( /* istanbul ignore next */ {});
|
|
69
|
+
const { context = {} } = opts;
|
|
70
|
+
// istanbul ignore next
|
|
71
|
+
const { quoteFieldNamesWith = ["", ""], fieldIdentifierSeparator = "" } = opts;
|
|
72
|
+
const { field, operator, value, valueSource } = rule;
|
|
73
|
+
if (!processIsDateField(context.isDateField, rule, opts)) return defaultRuleProcessorJSONata(rule, opts);
|
|
74
|
+
const valueIsField = valueSource === "field";
|
|
75
|
+
const fldToMs = (f) => `$toMillis(${getQuotedFieldName(f, {
|
|
76
|
+
quoteFieldNamesWith,
|
|
77
|
+
fieldIdentifierSeparator
|
|
78
|
+
})})`;
|
|
79
|
+
const valToMs = (v) => `$toMillis("${apiFns.toISOString(v)}")`;
|
|
80
|
+
switch (operator) {
|
|
81
|
+
case "<":
|
|
82
|
+
case "<=":
|
|
83
|
+
case "=":
|
|
84
|
+
case "!=":
|
|
85
|
+
case ">":
|
|
86
|
+
case ">=": return `${fldToMs(field)} ${operator} ${valueIsField ? fldToMs(value) : valToMs(value)}`;
|
|
87
|
+
}
|
|
88
|
+
const valueAsArray = toArray(rule.value, { retainEmptyStrings: false });
|
|
89
|
+
const valueAsDateArray = valueAsArray.map((v) => apiFns.toDate(v)).filter((dateVal) => apiFns.isValid(dateVal));
|
|
90
|
+
switch (operator) {
|
|
91
|
+
case "in":
|
|
92
|
+
case "notIn":
|
|
93
|
+
if (valueIsField) {
|
|
94
|
+
if (valueAsArray.length === 0) return "";
|
|
95
|
+
return negate(`${fldToMs(field)} in [${valueAsArray.map((val) => fldToMs(val)).join(", ")}]`, shouldNegate(operator));
|
|
96
|
+
}
|
|
97
|
+
if (valueAsDateArray.length === 0) return "";
|
|
98
|
+
return negate(`${fldToMs(field)} in [${valueAsDateArray.map((val) => valToMs(val)).join(", ")}]`, shouldNegate(operator));
|
|
99
|
+
case "between":
|
|
100
|
+
case "notBetween": {
|
|
101
|
+
if (valueAsArray.length < 2 || nullOrUndefinedOrEmpty(valueAsArray[0]) || nullOrUndefinedOrEmpty(valueAsArray[1]) || !valueIsField && valueAsDateArray.length < 2) return "";
|
|
102
|
+
if (valueIsField) {
|
|
103
|
+
const [firstValue, secondValue] = valueAsArray;
|
|
104
|
+
const expression$1 = `${fldToMs(field)} >= ${fldToMs(firstValue)} and ${fldToMs(field)} <= ${fldToMs(secondValue)}`;
|
|
105
|
+
return operator === "between" ? `(${expression$1})` : negate(expression$1, true);
|
|
106
|
+
}
|
|
107
|
+
const [first, second] = valueAsDateArray;
|
|
108
|
+
const [firstDate, secondDate] = apiFns.isBefore(first, second) ? [first, second] : [second, first];
|
|
109
|
+
const expression = `${fldToMs(field)} >= ${valToMs(firstDate)} and ${fldToMs(field)} <= ${valToMs(secondDate)}`;
|
|
110
|
+
return operator === "between" ? `(${expression})` : negate(expression, true);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
return defaultRuleProcessorJSONata(rule, opts);
|
|
219
114
|
};
|
|
115
|
+
|
|
116
|
+
//#endregion
|
|
117
|
+
export { datetimeRuleProcessorJsonLogic, datetimeValueProcessorNL, defaultDateTimeNLOperatorMap, getDatetimeJsonLogicOperations, getDatetimeRuleProcessorCEL, getDatetimeRuleProcessorJSONata, getDatetimeRuleProcessorMongoDBQuery, getDatetimeRuleProcessorNL, getDatetimeRuleProcessorSQL, getDatetimeValueProcessorANSI, getDatetimeValueProcessorMSSQL, getDatetimeValueProcessorMySQL, getDatetimeValueProcessorOracle, getDatetimeValueProcessorPostgreSQL };
|
|
220
118
|
//# sourceMappingURL=react-querybuilder_datetime.legacy-esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/datetimeRuleProcessorJsonLogic.ts","../src/getDatetimeRuleProcessorJSONata.ts"],"sourcesContent":["function _typeof(o){\"@babel/helpers - typeof\";return _typeof=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(o){return typeof o;}:function(o){return o&&\"function\"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?\"symbol\":typeof o;},_typeof(o);}function _defineProperty(e,r,t){return(r=_toPropertyKey(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e;}function _toPropertyKey(t){var i=_toPrimitive(t,\"string\");return\"symbol\"==_typeof(i)?i:i+\"\";}function _toPrimitive(t,r){if(\"object\"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||\"default\");if(\"object\"!=_typeof(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\");}return(\"string\"===r?String:Number)(t);}import{defaultRuleProcessorJsonLogic,toArray}from\"react-querybuilder\";import{processIsDateField}from\"./utils\";var dateOperationMap={\"!=\":\"dateNotOn\",\"<\":\"dateBefore\",\"<=\":\"dateOnOrBefore\",\"=\":\"dateOn\",\">\":\"dateAfter\",\">=\":\"dateOnOrAfter\",between:\"dateBetween\",\"in\":\"dateIn\",notBetween:\"dateNotBetween\",notIn:\"dateNotIn\"};export var datetimeRuleProcessorJsonLogic=function datetimeRuleProcessorJsonLogic(rule,options){var _a;var opts=options!=null?options:(/* istanbul ignore next */{});if(!processIsDateField((_a=opts.context)==null?void 0:_a.isDateField,rule,opts)){return defaultRuleProcessorJsonLogic(rule,opts);}var field=rule.field,operator=rule.operator,value=rule.value,valueSource=rule.valueSource;var valueIsField=valueSource===\"field\";var fieldObject={\"var\":field};var maybeFieldRenderer=function maybeFieldRenderer(v){return valueIsField?{\"var\":\"\".concat(v)}:v;};switch(operator){case\"<\":case\"<=\":case\"=\":case\"!=\":case\">\":case\">=\":return _defineProperty({},dateOperationMap[operator],[fieldObject,maybeFieldRenderer(value)]);case\"in\":case\"notIn\":{var valueAsArray=toArray(value).map(function(v){return maybeFieldRenderer(v);});return _defineProperty({},dateOperationMap[operator],[fieldObject,valueAsArray]);}case\"between\":case\"notBetween\":{var _valueAsArray=toArray(value).map(function(v){return maybeFieldRenderer(v);});if(_valueAsArray.length<2)return false;return _defineProperty({},dateOperationMap[operator],[_valueAsArray[0],fieldObject,_valueAsArray[1]]);}}return defaultRuleProcessorJsonLogic(rule,options);};","function _slicedToArray(r,e){return _arrayWithHoles(r)||_iterableToArrayLimit(r,e)||_unsupportedIterableToArray(r,e)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");}function _unsupportedIterableToArray(r,a){if(r){if(\"string\"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);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;}}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n;}function _iterableToArrayLimit(r,l){var t=null==r?null:\"undefined\"!=typeof Symbol&&r[Symbol.iterator]||r[\"@@iterator\"];if(null!=t){var e,n,i,u,a=[],f=!0,o=!1;try{if(i=(t=t.call(r)).next,0===l){if(Object(t)!==t)return;f=!1;}else for(;!(f=(e=i.call(t)).done)&&(a.push(e.value),a.length!==l);f=!0);}catch(r){o=!0,n=r;}finally{try{if(!f&&null!=t[\"return\"]&&(u=t[\"return\"](),Object(u)!==u))return;}finally{if(o)throw n;}}return a;}}function _arrayWithHoles(r){if(Array.isArray(r))return r;}import{defaultRuleProcessorJSONata,getQuotedFieldName,nullOrUndefinedOrEmpty,toArray}from\"react-querybuilder\";import{processIsDateField}from\"./utils\";var shouldNegate=function shouldNegate(op){return /^(does)?not/i.test(op);};var negate=function negate(clause,negate2){return negate2?\"$not(\".concat(clause,\")\"):\"\".concat(clause);};export var getDatetimeRuleProcessorJSONata=function getDatetimeRuleProcessorJSONata(apiFns){return function(rule,options){var opts=options!=null?options:(/* istanbul ignore next */{});var _opts$context=opts.context,context=_opts$context===void 0?{}:_opts$context;var _opts$quoteFieldNames=opts.quoteFieldNamesWith,quoteFieldNamesWith=_opts$quoteFieldNames===void 0?[\"\",\"\"]:_opts$quoteFieldNames,_opts$fieldIdentifier=opts.fieldIdentifierSeparator,fieldIdentifierSeparator=_opts$fieldIdentifier===void 0?\"\":_opts$fieldIdentifier;var field=rule.field,operator=rule.operator,value=rule.value,valueSource=rule.valueSource;if(!processIsDateField(context.isDateField,rule,opts)){return defaultRuleProcessorJSONata(rule,opts);}var valueIsField=valueSource===\"field\";var fldToMs=function fldToMs(f){return\"$toMillis(\".concat(getQuotedFieldName(f,{quoteFieldNamesWith:quoteFieldNamesWith,fieldIdentifierSeparator:fieldIdentifierSeparator}),\")\");};var valToMs=function valToMs(v){return\"$toMillis(\\\"\".concat(apiFns.toISOString(v),\"\\\")\");};switch(operator){case\"<\":case\"<=\":case\"=\":case\"!=\":case\">\":case\">=\":return\"\".concat(fldToMs(field),\" \").concat(operator,\" \").concat(valueIsField?fldToMs(value):valToMs(value));}var valueAsArray=toArray(rule.value,{retainEmptyStrings:false});var valueAsDateArray=valueAsArray.map(function(v){return apiFns.toDate(v);}).filter(function(dateVal){return apiFns.isValid(dateVal);});switch(operator){case\"in\":case\"notIn\":{if(valueIsField){if(valueAsArray.length===0)return\"\";return negate(\"\".concat(fldToMs(field),\" in [\").concat(valueAsArray.map(function(val){return fldToMs(val);}).join(\", \"),\"]\"),shouldNegate(operator));}if(valueAsDateArray.length===0)return\"\";return negate(\"\".concat(fldToMs(field),\" in [\").concat(valueAsDateArray.map(function(val){return valToMs(val);}).join(\", \"),\"]\"),shouldNegate(operator));}case\"between\":case\"notBetween\":{if(valueAsArray.length<2||nullOrUndefinedOrEmpty(valueAsArray[0])||nullOrUndefinedOrEmpty(valueAsArray[1])||!valueIsField&&valueAsDateArray.length<2){return\"\";}if(valueIsField){var _valueAsArray=_slicedToArray(valueAsArray,2),firstValue=_valueAsArray[0],secondValue=_valueAsArray[1];var expression2=\"\".concat(fldToMs(field),\" >= \").concat(fldToMs(firstValue),\" and \").concat(fldToMs(field),\" <= \").concat(fldToMs(secondValue));return operator===\"between\"?\"(\".concat(expression2,\")\"):negate(expression2,true);}var _valueAsDateArray=_slicedToArray(valueAsDateArray,2),first=_valueAsDateArray[0],second=_valueAsDateArray[1];var _ref=apiFns.isBefore(first,second)?[first,second]:[second,first],_ref2=_slicedToArray(_ref,2),firstDate=_ref2[0],secondDate=_ref2[1];var expression=\"\".concat(fldToMs(field),\" >= \").concat(valToMs(firstDate),\" and \").concat(fldToMs(field),\" <= \").concat(valToMs(secondDate));return operator===\"between\"?\"(\".concat(expression,\")\"):negate(expression,true);}}return defaultRuleProcessorJSONata(rule,opts);};};"],"mappings":"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","names":["o","datetimeRuleProcessorJsonLogic","maybeFieldRenderer","toArray","r","shouldNegate","negate","negate2","getDatetimeRuleProcessorJSONata","fldToMs","valToMs","toArray"]}
|
|
1
|
+
{"version":3,"file":"react-querybuilder_datetime.legacy-esm.js","names":["datetimeRuleProcessorJsonLogic: RuleProcessor","fieldObject: JsonLogicVar","negate","valueAsArray: string[]","expression"],"sources":["../src/datetimeRuleProcessorJsonLogic.ts","../src/getDatetimeRuleProcessorJSONata.ts"],"sourcesContent":["import type { DefaultOperatorName, JsonLogicVar, RuleProcessor } from 'react-querybuilder';\nimport { defaultRuleProcessorJsonLogic, toArray } from 'react-querybuilder';\nimport type { RQBDateTimeJsonLogic } from './types';\nimport { processIsDateField } from './utils';\n\nconst dateOperationMap = {\n '!=': 'dateNotOn',\n '<': 'dateBefore',\n '<=': 'dateOnOrBefore',\n '=': 'dateOn',\n '>': 'dateAfter',\n '>=': 'dateOnOrAfter',\n between: 'dateBetween',\n in: 'dateIn',\n notBetween: 'dateNotBetween',\n notIn: 'dateNotIn',\n} as const satisfies Partial<Record<DefaultOperatorName, string>>;\n\n/**\n * Date/time rule processor for use by {@link @react-querybuilder/core!formatQuery formatQuery}\n * with the \"jsonlogic\" format.\n *\n * Note: Unlike other date/time rule processors from this library, this function does\n * not require a date/time library API. Instead, the date/time library API is used by\n * {@link getDatetimeJsonLogicOperations} during the evaluation process.\n */\nexport const datetimeRuleProcessorJsonLogic: RuleProcessor = (\n rule,\n options\n): RQBDateTimeJsonLogic => {\n const opts = options ?? /* istanbul ignore next */ {};\n\n if (!processIsDateField(opts.context?.isDateField, rule, opts)) {\n return defaultRuleProcessorJsonLogic(rule, opts);\n }\n\n const { field, operator, value, valueSource } = rule;\n const valueIsField = valueSource === 'field';\n const fieldObject: JsonLogicVar = { var: field };\n const maybeFieldRenderer = (v: string) => (valueIsField ? { var: `${v}` } : v);\n\n switch (operator) {\n case '<':\n case '<=':\n case '=':\n case '!=':\n case '>':\n case '>=':\n return {\n [dateOperationMap[operator]]: [fieldObject, maybeFieldRenderer(value)],\n } as RQBDateTimeJsonLogic;\n\n case 'in':\n case 'notIn': {\n const valueAsArray = toArray(value).map(v => maybeFieldRenderer(v));\n return { [dateOperationMap[operator]]: [fieldObject, valueAsArray] } as RQBDateTimeJsonLogic;\n }\n\n case 'between':\n case 'notBetween': {\n const valueAsArray = toArray(value).map(v => maybeFieldRenderer(v));\n\n if (valueAsArray.length < 2) return false;\n\n return {\n [dateOperationMap[operator]]: [valueAsArray[0], fieldObject, valueAsArray[1]],\n } as RQBDateTimeJsonLogic;\n }\n }\n\n return defaultRuleProcessorJsonLogic(rule, options);\n};\n","import type { RuleProcessor } from 'react-querybuilder';\nimport {\n defaultRuleProcessorJSONata,\n getQuotedFieldName,\n nullOrUndefinedOrEmpty,\n toArray,\n} from 'react-querybuilder';\nimport type { RQBDateTimeLibraryAPI } from './types';\nimport { processIsDateField } from './utils';\n\nconst shouldNegate = (op: string) => /^(does)?not/i.test(op);\n\nconst negate = (clause: string, negate: boolean) => (negate ? `$not(${clause})` : `${clause}`);\n\n/**\n * Generates a rule processor with date/time features for use by\n * {@link @react-querybuilder/core!formatQuery formatQuery} with the \"jsonata\" format.\n */\nexport const getDatetimeRuleProcessorJSONata =\n (apiFns: RQBDateTimeLibraryAPI): RuleProcessor =>\n (rule, options) => {\n const opts = options ?? /* istanbul ignore next */ {};\n const { context = {} } = opts;\n\n // istanbul ignore next\n const { quoteFieldNamesWith = ['', ''] as [string, string], fieldIdentifierSeparator = '' } =\n opts;\n const { field, operator, value, valueSource } = rule;\n\n if (!processIsDateField(context.isDateField, rule, opts)) {\n return defaultRuleProcessorJSONata(rule, opts);\n }\n\n const valueIsField = valueSource === 'field';\n\n const fldToMs = (f: string) =>\n `$toMillis(${getQuotedFieldName(f, { quoteFieldNamesWith, fieldIdentifierSeparator })})`;\n const valToMs = (v: string | Date) => `$toMillis(\"${apiFns.toISOString(v)}\")`;\n\n switch (operator) {\n case '<':\n case '<=':\n case '=':\n case '!=':\n case '>':\n case '>=':\n return `${fldToMs(field)} ${operator} ${valueIsField ? fldToMs(value) : valToMs(value)}`;\n }\n\n const valueAsArray: string[] = toArray(rule.value, { retainEmptyStrings: false });\n const valueAsDateArray = valueAsArray\n .map(v => apiFns.toDate(v))\n .filter(dateVal => apiFns.isValid(dateVal));\n\n switch (operator) {\n case 'in':\n case 'notIn': {\n if (valueIsField) {\n if (valueAsArray.length === 0) return '';\n return negate(\n `${fldToMs(field)} in [${valueAsArray.map(val => fldToMs(val)).join(', ')}]`,\n shouldNegate(operator)\n );\n }\n if (valueAsDateArray.length === 0) return '';\n return negate(\n `${fldToMs(field)} in [${valueAsDateArray.map(val => valToMs(val)).join(', ')}]`,\n shouldNegate(operator)\n );\n }\n\n case 'between':\n case 'notBetween': {\n if (\n valueAsArray.length < 2 ||\n nullOrUndefinedOrEmpty(valueAsArray[0]) ||\n nullOrUndefinedOrEmpty(valueAsArray[1]) ||\n (!valueIsField && valueAsDateArray.length < 2)\n ) {\n return '';\n }\n\n if (valueIsField) {\n const [firstValue, secondValue] = valueAsArray;\n const expression = `${fldToMs(field)} >= ${fldToMs(firstValue)} and ${fldToMs(field)} <= ${fldToMs(secondValue)}`;\n return operator === 'between' ? `(${expression})` : negate(expression, true);\n }\n\n const [first, second] = valueAsDateArray;\n const [firstDate, secondDate] = apiFns.isBefore(first, second)\n ? [first, second]\n : [second, first];\n const expression = `${fldToMs(field)} >= ${valToMs(firstDate)} and ${fldToMs(field)} <= ${valToMs(secondDate)}`;\n return operator === 'between' ? `(${expression})` : negate(expression, true);\n }\n }\n\n return defaultRuleProcessorJSONata(rule, opts);\n };\n"],"mappings":"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"}
|