@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.
Files changed (134) hide show
  1. package/dist/cjs/date-fns.d.ts +1 -0
  2. package/dist/cjs/dayjs.d.ts +1 -0
  3. package/dist/cjs/getDatetimeRuleProcessorSQL-D95jgDK6.js +2 -0
  4. package/dist/cjs/getDatetimeRuleProcessorSQL-D95jgDK6.js.map +1 -0
  5. package/dist/cjs/index.d.ts +1 -0
  6. package/dist/cjs/jsdate.d.ts +1 -0
  7. package/dist/cjs/luxon.d.ts +1 -0
  8. package/dist/cjs/react-querybuilder_datetime.cjs.development.d.ts +108 -0
  9. package/dist/cjs/react-querybuilder_datetime.cjs.development.date-fns.d.ts +53 -0
  10. package/dist/cjs/react-querybuilder_datetime.cjs.development.date-fns.js +82 -775
  11. package/dist/cjs/react-querybuilder_datetime.cjs.development.date-fns.js.map +1 -1
  12. package/dist/cjs/react-querybuilder_datetime.cjs.development.dayjs.d.ts +53 -0
  13. package/dist/cjs/react-querybuilder_datetime.cjs.development.dayjs.js +76 -785
  14. package/dist/cjs/react-querybuilder_datetime.cjs.development.dayjs.js.map +1 -1
  15. package/dist/cjs/react-querybuilder_datetime.cjs.development.js +125 -934
  16. package/dist/cjs/react-querybuilder_datetime.cjs.development.js.map +1 -1
  17. package/dist/cjs/react-querybuilder_datetime.cjs.development.jsdate.d.ts +56 -0
  18. package/dist/cjs/react-querybuilder_datetime.cjs.development.jsdate.js +113 -834
  19. package/dist/cjs/react-querybuilder_datetime.cjs.development.jsdate.js.map +1 -1
  20. package/dist/cjs/react-querybuilder_datetime.cjs.development.luxon.d.ts +53 -0
  21. package/dist/cjs/react-querybuilder_datetime.cjs.development.luxon.js +78 -779
  22. package/dist/cjs/react-querybuilder_datetime.cjs.development.luxon.js.map +1 -1
  23. package/dist/cjs/react-querybuilder_datetime.cjs.production.d.ts +108 -0
  24. package/dist/cjs/react-querybuilder_datetime.cjs.production.date-fns.d.ts +53 -0
  25. package/dist/cjs/react-querybuilder_datetime.cjs.production.date-fns.js +1 -6
  26. package/dist/cjs/react-querybuilder_datetime.cjs.production.date-fns.js.map +1 -1
  27. package/dist/cjs/react-querybuilder_datetime.cjs.production.dayjs.d.ts +53 -0
  28. package/dist/cjs/react-querybuilder_datetime.cjs.production.dayjs.js +1 -6
  29. package/dist/cjs/react-querybuilder_datetime.cjs.production.dayjs.js.map +1 -1
  30. package/dist/cjs/react-querybuilder_datetime.cjs.production.js +1 -7
  31. package/dist/cjs/react-querybuilder_datetime.cjs.production.js.map +1 -1
  32. package/dist/cjs/react-querybuilder_datetime.cjs.production.jsdate.d.ts +56 -0
  33. package/dist/cjs/react-querybuilder_datetime.cjs.production.jsdate.js +1 -7
  34. package/dist/cjs/react-querybuilder_datetime.cjs.production.jsdate.js.map +1 -1
  35. package/dist/cjs/react-querybuilder_datetime.cjs.production.luxon.d.ts +53 -0
  36. package/dist/cjs/react-querybuilder_datetime.cjs.production.luxon.js +1 -6
  37. package/dist/cjs/react-querybuilder_datetime.cjs.production.luxon.js.map +1 -1
  38. package/dist/cjs/types-QCQUGVZa.d.ts +1694 -0
  39. package/dist/getDatetimeRuleProcessorSQL-CN80oEFK.js +386 -0
  40. package/dist/getDatetimeRuleProcessorSQL-CN80oEFK.js.map +1 -0
  41. package/dist/getDatetimeRuleProcessorSQL-KYRPP9qd.mjs +367 -0
  42. package/dist/getDatetimeRuleProcessorSQL-KYRPP9qd.mjs.map +1 -0
  43. package/dist/react-querybuilder_datetime.d.mts +108 -0
  44. package/dist/react-querybuilder_datetime.date-fns.d.mts +53 -0
  45. package/dist/react-querybuilder_datetime.date-fns.mjs +72 -57
  46. package/dist/react-querybuilder_datetime.date-fns.mjs.map +1 -1
  47. package/dist/react-querybuilder_datetime.dayjs.d.mts +53 -0
  48. package/dist/react-querybuilder_datetime.dayjs.mjs +66 -57
  49. package/dist/react-querybuilder_datetime.dayjs.mjs.map +1 -1
  50. package/dist/react-querybuilder_datetime.jsdate.d.mts +56 -0
  51. package/dist/react-querybuilder_datetime.jsdate.mjs +102 -114
  52. package/dist/react-querybuilder_datetime.jsdate.mjs.map +1 -1
  53. package/dist/react-querybuilder_datetime.legacy-esm.d.ts +108 -0
  54. package/dist/react-querybuilder_datetime.legacy-esm.date-fns.d.ts +53 -0
  55. package/dist/react-querybuilder_datetime.legacy-esm.date-fns.js +72 -57
  56. package/dist/react-querybuilder_datetime.legacy-esm.date-fns.js.map +1 -1
  57. package/dist/react-querybuilder_datetime.legacy-esm.dayjs.d.ts +53 -0
  58. package/dist/react-querybuilder_datetime.legacy-esm.dayjs.js +66 -57
  59. package/dist/react-querybuilder_datetime.legacy-esm.dayjs.js.map +1 -1
  60. package/dist/react-querybuilder_datetime.legacy-esm.js +113 -215
  61. package/dist/react-querybuilder_datetime.legacy-esm.js.map +1 -1
  62. package/dist/react-querybuilder_datetime.legacy-esm.jsdate.d.ts +56 -0
  63. package/dist/react-querybuilder_datetime.legacy-esm.jsdate.js +102 -114
  64. package/dist/react-querybuilder_datetime.legacy-esm.jsdate.js.map +1 -1
  65. package/dist/react-querybuilder_datetime.legacy-esm.luxon.d.ts +53 -0
  66. package/dist/react-querybuilder_datetime.legacy-esm.luxon.js +68 -61
  67. package/dist/react-querybuilder_datetime.legacy-esm.luxon.js.map +1 -1
  68. package/dist/react-querybuilder_datetime.luxon.d.mts +53 -0
  69. package/dist/react-querybuilder_datetime.luxon.mjs +68 -61
  70. package/dist/react-querybuilder_datetime.luxon.mjs.map +1 -1
  71. package/dist/react-querybuilder_datetime.mjs +112 -215
  72. package/dist/react-querybuilder_datetime.mjs.map +1 -1
  73. package/dist/react-querybuilder_datetime.production.d.mts +108 -0
  74. package/dist/react-querybuilder_datetime.production.date-fns.d.mts +53 -0
  75. package/dist/react-querybuilder_datetime.production.date-fns.mjs +1 -1
  76. package/dist/react-querybuilder_datetime.production.date-fns.mjs.map +1 -1
  77. package/dist/react-querybuilder_datetime.production.dayjs.d.mts +53 -0
  78. package/dist/react-querybuilder_datetime.production.dayjs.mjs +1 -1
  79. package/dist/react-querybuilder_datetime.production.dayjs.mjs.map +1 -1
  80. package/dist/react-querybuilder_datetime.production.jsdate.d.mts +56 -0
  81. package/dist/react-querybuilder_datetime.production.jsdate.mjs +1 -2
  82. package/dist/react-querybuilder_datetime.production.jsdate.mjs.map +1 -1
  83. package/dist/react-querybuilder_datetime.production.luxon.d.mts +53 -0
  84. package/dist/react-querybuilder_datetime.production.luxon.mjs +1 -1
  85. package/dist/react-querybuilder_datetime.production.luxon.mjs.map +1 -1
  86. package/dist/react-querybuilder_datetime.production.mjs +1 -2
  87. package/dist/react-querybuilder_datetime.production.mjs.map +1 -1
  88. package/dist/types-CDEkL2M_.d.mts +1694 -0
  89. package/dist/types-EgfSemtR.d.ts +1694 -0
  90. package/package.json +24 -24
  91. package/dist/chunk-SLTJVKUE.mjs +0 -7
  92. package/dist/chunk-SLTJVKUE.mjs.map +0 -1
  93. package/dist/chunk-ZLH5EH6W.mjs +0 -713
  94. package/dist/chunk-ZLH5EH6W.mjs.map +0 -1
  95. package/dist/chunk-ZS6AX35I.js +0 -738
  96. package/dist/chunk-ZS6AX35I.js.map +0 -1
  97. package/dist/types/QueryBuilderDateTime.d.ts +0 -4
  98. package/dist/types/datetimeRuleProcessorJsonLogic.d.ts +0 -10
  99. package/dist/types/getDatetimeJsonLogicOperations.d.ts +0 -6
  100. package/dist/types/getDatetimeRuleProcessorCEL.d.ts +0 -7
  101. package/dist/types/getDatetimeRuleProcessorJSONata.d.ts +0 -7
  102. package/dist/types/getDatetimeRuleProcessorMongoDBQuery.d.ts +0 -7
  103. package/dist/types/getDatetimeRuleProcessorNL.d.ts +0 -13
  104. package/dist/types/getDatetimeRuleProcessorSQL.d.ts +0 -32
  105. package/dist/types/index.d.ts +0 -8
  106. package/dist/types/index.date-fns.d.ts +0 -48
  107. package/dist/types/index.dayjs.d.ts +0 -48
  108. package/dist/types/index.jsdate.d.ts +0 -48
  109. package/dist/types/index.luxon.d.ts +0 -48
  110. package/dist/types/rqbDateTimeLibraryAPI.date-fns.d.ts +0 -5
  111. package/dist/types/rqbDateTimeLibraryAPI.dayjs.d.ts +0 -5
  112. package/dist/types/rqbDateTimeLibraryAPI.jsdate.d.ts +0 -8
  113. package/dist/types/rqbDateTimeLibraryAPI.luxon.d.ts +0 -5
  114. package/dist/types/types.d.ts +0 -111
  115. package/dist/types/utils.d.ts +0 -5
  116. package/dist/types-esm/QueryBuilderDateTime.d.mts +0 -4
  117. package/dist/types-esm/datetimeRuleProcessorJsonLogic.d.mts +0 -10
  118. package/dist/types-esm/getDatetimeJsonLogicOperations.d.mts +0 -6
  119. package/dist/types-esm/getDatetimeRuleProcessorCEL.d.mts +0 -7
  120. package/dist/types-esm/getDatetimeRuleProcessorJSONata.d.mts +0 -7
  121. package/dist/types-esm/getDatetimeRuleProcessorMongoDBQuery.d.mts +0 -7
  122. package/dist/types-esm/getDatetimeRuleProcessorNL.d.mts +0 -13
  123. package/dist/types-esm/getDatetimeRuleProcessorSQL.d.mts +0 -32
  124. package/dist/types-esm/index.d.mts +0 -8
  125. package/dist/types-esm/index.date-fns.d.mts +0 -48
  126. package/dist/types-esm/index.dayjs.d.mts +0 -48
  127. package/dist/types-esm/index.jsdate.d.mts +0 -48
  128. package/dist/types-esm/index.luxon.d.mts +0 -48
  129. package/dist/types-esm/rqbDateTimeLibraryAPI.date-fns.d.mts +0 -5
  130. package/dist/types-esm/rqbDateTimeLibraryAPI.dayjs.d.mts +0 -5
  131. package/dist/types-esm/rqbDateTimeLibraryAPI.jsdate.d.mts +0 -8
  132. package/dist/types-esm/rqbDateTimeLibraryAPI.luxon.d.mts +0 -5
  133. package/dist/types-esm/types.d.mts +0 -111
  134. 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
- // src/index.dayjs.ts
38
- var jsonLogicDateTimeOperations = getDatetimeJsonLogicOperations(rqbDateTimeLibraryAPI);
39
- var datetimeRuleProcessorSQL = getDatetimeRuleProcessorSQL(rqbDateTimeLibraryAPI);
40
- var datetimeValueProcessorANSI = getDatetimeValueProcessorANSI(rqbDateTimeLibraryAPI);
41
- var datetimeValueProcessorMSSQL = getDatetimeValueProcessorMSSQL(rqbDateTimeLibraryAPI);
42
- var datetimeValueProcessorMySQL = getDatetimeValueProcessorMySQL(rqbDateTimeLibraryAPI);
43
- var datetimeValueProcessorOracle = getDatetimeValueProcessorOracle(rqbDateTimeLibraryAPI);
44
- var datetimeValueProcessorPostgreSQL = getDatetimeValueProcessorPostgreSQL(rqbDateTimeLibraryAPI);
45
- var datetimeRuleProcessorCEL = getDatetimeRuleProcessorCEL(rqbDateTimeLibraryAPI);
46
- var datetimeRuleProcessorMongoDBQuery = getDatetimeRuleProcessorMongoDBQuery(rqbDateTimeLibraryAPI);
47
- var datetimeRuleProcessorNL = getDatetimeRuleProcessorNL(rqbDateTimeLibraryAPI);
48
- export {
49
- datetimeRuleProcessorCEL,
50
- datetimeRuleProcessorMongoDBQuery,
51
- datetimeRuleProcessorNL,
52
- datetimeRuleProcessorSQL,
53
- datetimeValueProcessorANSI,
54
- datetimeValueProcessorMSSQL,
55
- datetimeValueProcessorMySQL,
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\"dayjs\";import{isISOStringDateOnly}from\"./utils\";export var rqbDateTimeLibraryAPI={format:function format(d,fmt){return dayjs(d).format(fmt);},isAfter:function isAfter(a,b){return dayjs(a).isAfter(b);},isBefore:function isBefore(a,b){return dayjs(a).isBefore(b);},isSame:function isSame(a,b){return dayjs(a).isSame(b,isISOStringDateOnly(a)||isISOStringDateOnly(b)?\"d\":\"ms\");},isValid:function isValid(d){return dayjs(d).isValid();},toDate:function toDate(d){return dayjs(d).toDate();},toISOString:function toISOString(d){var dToDate=dayjs(d);return dToDate.isValid()?dToDate.toISOString():\"\";},toISOStringDateOnly:function toISOStringDateOnly(d){var dToDate=dayjs(d);return dToDate.isValid()?dToDate.format(\"YYYY-MM-DD\"):\"\";}};","import{getDatetimeJsonLogicOperations}from\"./getDatetimeJsonLogicOperations\";import{getDatetimeRuleProcessorCEL}from\"./getDatetimeRuleProcessorCEL\";import{getDatetimeRuleProcessorMongoDBQuery}from\"./getDatetimeRuleProcessorMongoDBQuery\";import{getDatetimeRuleProcessorNL}from\"./getDatetimeRuleProcessorNL\";import{getDatetimeRuleProcessorSQL,getDatetimeValueProcessorANSI,getDatetimeValueProcessorMSSQL,getDatetimeValueProcessorMySQL,getDatetimeValueProcessorOracle,getDatetimeValueProcessorPostgreSQL}from\"./getDatetimeRuleProcessorSQL\";import{rqbDateTimeLibraryAPI}from\"./rqbDateTimeLibraryAPI.dayjs\";export var jsonLogicDateTimeOperations=getDatetimeJsonLogicOperations(rqbDateTimeLibraryAPI);export var datetimeRuleProcessorSQL=getDatetimeRuleProcessorSQL(rqbDateTimeLibraryAPI);export var datetimeValueProcessorANSI=getDatetimeValueProcessorANSI(rqbDateTimeLibraryAPI);export var datetimeValueProcessorMSSQL=getDatetimeValueProcessorMSSQL(rqbDateTimeLibraryAPI);export var datetimeValueProcessorMySQL=getDatetimeValueProcessorMySQL(rqbDateTimeLibraryAPI);export var datetimeValueProcessorOracle=getDatetimeValueProcessorOracle(rqbDateTimeLibraryAPI);export var datetimeValueProcessorPostgreSQL=getDatetimeValueProcessorPostgreSQL(rqbDateTimeLibraryAPI);export var datetimeRuleProcessorCEL=getDatetimeRuleProcessorCEL(rqbDateTimeLibraryAPI);export var datetimeRuleProcessorMongoDBQuery=getDatetimeRuleProcessorMongoDBQuery(rqbDateTimeLibraryAPI);export var datetimeRuleProcessorNL=getDatetimeRuleProcessorNL(rqbDateTimeLibraryAPI);export*from\"./rqbDateTimeLibraryAPI.dayjs\";"],"mappings":";;;;;;;;;;;;;;;AAAA,OAAO,WAAU;AAAwD,IAAI,wBAAsB,EAAC,QAAO,SAAS,OAAO,GAAE,KAAI;AAAC,SAAO,MAAM,CAAC,EAAE,OAAO,GAAG;AAAE,GAAE,SAAQ,SAAS,QAAQ,GAAE,GAAE;AAAC,SAAO,MAAM,CAAC,EAAE,QAAQ,CAAC;AAAE,GAAE,UAAS,SAAS,SAAS,GAAE,GAAE;AAAC,SAAO,MAAM,CAAC,EAAE,SAAS,CAAC;AAAE,GAAE,QAAO,SAAS,OAAO,GAAE,GAAE;AAAC,SAAO,MAAM,CAAC,EAAE,OAAO,GAAE,oBAAoB,CAAC,KAAG,oBAAoB,CAAC,IAAE,MAAI,IAAI;AAAE,GAAE,SAAQ,SAAS,QAAQ,GAAE;AAAC,SAAO,MAAM,CAAC,EAAE,QAAQ;AAAE,GAAE,QAAO,SAAS,OAAO,GAAE;AAAC,SAAO,MAAM,CAAC,EAAE,OAAO;AAAE,GAAE,aAAY,SAAS,YAAY,GAAE;AAAC,MAAI,UAAQ,MAAM,CAAC;AAAE,SAAO,QAAQ,QAAQ,IAAE,QAAQ,YAAY,IAAE;AAAG,GAAE,qBAAoB,SAAS,oBAAoB,GAAE;AAAC,MAAI,UAAQ,MAAM,CAAC;AAAE,SAAO,QAAQ,QAAQ,IAAE,QAAQ,OAAO,YAAY,IAAE;AAAG,EAAC;;;ACArI,IAAI,8BAA4B,+BAA+B,qBAAqB;AAAS,IAAI,2BAAyB,4BAA4B,qBAAqB;AAAS,IAAI,6BAA2B,8BAA8B,qBAAqB;AAAS,IAAI,8BAA4B,+BAA+B,qBAAqB;AAAS,IAAI,8BAA4B,+BAA+B,qBAAqB;AAAS,IAAI,+BAA6B,gCAAgC,qBAAqB;AAAS,IAAI,mCAAiC,oCAAoC,qBAAqB;AAAS,IAAI,2BAAyB,4BAA4B,qBAAqB;AAAS,IAAI,oCAAkC,qCAAqC,qBAAqB;AAAS,IAAI,0BAAwB,2BAA2B,qBAAqB;","names":[]}
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
- datetimeValueProcessorNL,
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
- // src/datetimeRuleProcessorJsonLogic.ts
18
- import { defaultRuleProcessorJsonLogic, toArray } from "react-querybuilder";
19
- function _typeof(o) {
20
- "@babel/helpers - typeof";
21
- return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) {
22
- return typeof o2;
23
- } : function(o2) {
24
- return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2;
25
- }, _typeof(o);
26
- }
27
- function _defineProperty(e, r, t) {
28
- return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e;
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
- // src/getDatetimeRuleProcessorJSONata.ts
88
- import { defaultRuleProcessorJSONata, getQuotedFieldName, nullOrUndefinedOrEmpty, toArray as toArray2 } from "react-querybuilder";
89
- function _slicedToArray(r, e) {
90
- return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();
91
- }
92
- function _nonIterableRest() {
93
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
94
- }
95
- function _unsupportedIterableToArray(r, a) {
96
- if (r) {
97
- if ("string" == typeof r) return _arrayLikeToArray(r, a);
98
- var t = {}.toString.call(r).slice(8, -1);
99
- 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;
100
- }
101
- }
102
- function _arrayLikeToArray(r, a) {
103
- (null == a || a > r.length) && (a = r.length);
104
- for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
105
- return n;
106
- }
107
- function _iterableToArrayLimit(r, l) {
108
- var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
109
- if (null != t) {
110
- var e, n, i, u, a = [], f = true, o = false;
111
- try {
112
- if (i = (t = t.call(r)).next, 0 === l) {
113
- if (Object(t) !== t) return;
114
- f = false;
115
- } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = true) ;
116
- } catch (r2) {
117
- o = true, n = r2;
118
- } finally {
119
- try {
120
- if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
121
- } finally {
122
- if (o) throw n;
123
- }
124
- }
125
- return a;
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
- export {
205
- datetimeRuleProcessorJsonLogic,
206
- datetimeValueProcessorNL,
207
- defaultDateTimeNLOperatorMap,
208
- getDatetimeJsonLogicOperations,
209
- getDatetimeRuleProcessorCEL,
210
- getDatetimeRuleProcessorJSONata,
211
- getDatetimeRuleProcessorMongoDBQuery,
212
- getDatetimeRuleProcessorNL,
213
- getDatetimeRuleProcessorSQL,
214
- getDatetimeValueProcessorANSI,
215
- getDatetimeValueProcessorMSSQL,
216
- getDatetimeValueProcessorMySQL,
217
- getDatetimeValueProcessorOracle,
218
- getDatetimeValueProcessorPostgreSQL
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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"}