@react-querybuilder/datetime 8.14.0 → 8.14.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 (98) hide show
  1. package/dist/cjs/{getDatetimeRuleProcessorSQL-Dkg4HEtH.js → getDatetimeRuleProcessorSQL-Bn34z-S-.js} +73 -79
  2. package/dist/cjs/getDatetimeRuleProcessorSQL-Bn34z-S-.js.map +1 -0
  3. package/dist/cjs/getDatetimeRuleProcessorSQL-Cs8MroHp.js +2 -0
  4. package/dist/cjs/getDatetimeRuleProcessorSQL-Cs8MroHp.js.map +1 -0
  5. package/dist/cjs/react-querybuilder_datetime.cjs.development.d.ts +2 -2
  6. package/dist/cjs/react-querybuilder_datetime.cjs.development.date-fns.d.ts +2 -2
  7. package/dist/cjs/react-querybuilder_datetime.cjs.development.date-fns.js +4 -5
  8. package/dist/cjs/react-querybuilder_datetime.cjs.development.date-fns.js.map +1 -1
  9. package/dist/cjs/react-querybuilder_datetime.cjs.development.dayjs.d.ts +2 -2
  10. package/dist/cjs/react-querybuilder_datetime.cjs.development.dayjs.js +10 -16
  11. package/dist/cjs/react-querybuilder_datetime.cjs.development.dayjs.js.map +1 -1
  12. package/dist/cjs/react-querybuilder_datetime.cjs.development.js +7 -8
  13. package/dist/cjs/react-querybuilder_datetime.cjs.development.js.map +1 -1
  14. package/dist/cjs/react-querybuilder_datetime.cjs.development.jsdate.d.ts +2 -2
  15. package/dist/cjs/react-querybuilder_datetime.cjs.development.jsdate.js +3 -4
  16. package/dist/cjs/react-querybuilder_datetime.cjs.development.jsdate.js.map +1 -1
  17. package/dist/cjs/react-querybuilder_datetime.cjs.development.luxon.d.ts +2 -2
  18. package/dist/cjs/react-querybuilder_datetime.cjs.development.luxon.js +4 -5
  19. package/dist/cjs/react-querybuilder_datetime.cjs.development.luxon.js.map +1 -1
  20. package/dist/cjs/react-querybuilder_datetime.cjs.production.d.ts +2 -2
  21. package/dist/cjs/react-querybuilder_datetime.cjs.production.date-fns.d.ts +2 -2
  22. package/dist/cjs/react-querybuilder_datetime.cjs.production.date-fns.js +1 -1
  23. package/dist/cjs/react-querybuilder_datetime.cjs.production.date-fns.js.map +1 -1
  24. package/dist/cjs/react-querybuilder_datetime.cjs.production.dayjs.d.ts +2 -2
  25. package/dist/cjs/react-querybuilder_datetime.cjs.production.dayjs.js +1 -1
  26. package/dist/cjs/react-querybuilder_datetime.cjs.production.dayjs.js.map +1 -1
  27. package/dist/cjs/react-querybuilder_datetime.cjs.production.js +1 -1
  28. package/dist/cjs/react-querybuilder_datetime.cjs.production.js.map +1 -1
  29. package/dist/cjs/react-querybuilder_datetime.cjs.production.jsdate.d.ts +2 -2
  30. package/dist/cjs/react-querybuilder_datetime.cjs.production.jsdate.js +1 -1
  31. package/dist/cjs/react-querybuilder_datetime.cjs.production.jsdate.js.map +1 -1
  32. package/dist/cjs/react-querybuilder_datetime.cjs.production.luxon.d.ts +2 -2
  33. package/dist/cjs/react-querybuilder_datetime.cjs.production.luxon.js +1 -1
  34. package/dist/cjs/react-querybuilder_datetime.cjs.production.luxon.js.map +1 -1
  35. package/dist/cjs/types-BIfMyAwh.d.ts +105 -0
  36. package/dist/{getDatetimeRuleProcessorSQL-Dcqi5kh5.mjs → getDatetimeRuleProcessorSQL-Cbq2-tqd.mjs} +1 -1
  37. package/dist/getDatetimeRuleProcessorSQL-Cbq2-tqd.mjs.map +1 -0
  38. package/dist/{getDatetimeRuleProcessorSQL-CugqyF_a.mjs → getDatetimeRuleProcessorSQL-CnAPMZf2.mjs} +2 -8
  39. package/dist/getDatetimeRuleProcessorSQL-CnAPMZf2.mjs.map +1 -0
  40. package/dist/{getDatetimeRuleProcessorSQL-Cxyajj0g.js → getDatetimeRuleProcessorSQL-r7Vd5Cm4.js} +17 -28
  41. package/dist/getDatetimeRuleProcessorSQL-r7Vd5Cm4.js.map +1 -0
  42. package/dist/react-querybuilder_datetime.d.mts +2 -2
  43. package/dist/react-querybuilder_datetime.date-fns.d.mts +2 -2
  44. package/dist/react-querybuilder_datetime.date-fns.mjs +2 -4
  45. package/dist/react-querybuilder_datetime.date-fns.mjs.map +1 -1
  46. package/dist/react-querybuilder_datetime.dayjs.d.mts +2 -2
  47. package/dist/react-querybuilder_datetime.dayjs.mjs +2 -4
  48. package/dist/react-querybuilder_datetime.dayjs.mjs.map +1 -1
  49. package/dist/react-querybuilder_datetime.jsdate.d.mts +2 -2
  50. package/dist/react-querybuilder_datetime.jsdate.mjs +2 -4
  51. package/dist/react-querybuilder_datetime.jsdate.mjs.map +1 -1
  52. package/dist/react-querybuilder_datetime.legacy-esm.d.ts +2 -2
  53. package/dist/react-querybuilder_datetime.legacy-esm.date-fns.d.ts +2 -2
  54. package/dist/react-querybuilder_datetime.legacy-esm.date-fns.js +2 -4
  55. package/dist/react-querybuilder_datetime.legacy-esm.date-fns.js.map +1 -1
  56. package/dist/react-querybuilder_datetime.legacy-esm.dayjs.d.ts +2 -2
  57. package/dist/react-querybuilder_datetime.legacy-esm.dayjs.js +2 -4
  58. package/dist/react-querybuilder_datetime.legacy-esm.dayjs.js.map +1 -1
  59. package/dist/react-querybuilder_datetime.legacy-esm.js +5 -7
  60. package/dist/react-querybuilder_datetime.legacy-esm.js.map +1 -1
  61. package/dist/react-querybuilder_datetime.legacy-esm.jsdate.d.ts +2 -2
  62. package/dist/react-querybuilder_datetime.legacy-esm.jsdate.js +2 -4
  63. package/dist/react-querybuilder_datetime.legacy-esm.jsdate.js.map +1 -1
  64. package/dist/react-querybuilder_datetime.legacy-esm.luxon.d.ts +2 -2
  65. package/dist/react-querybuilder_datetime.legacy-esm.luxon.js +2 -4
  66. package/dist/react-querybuilder_datetime.legacy-esm.luxon.js.map +1 -1
  67. package/dist/react-querybuilder_datetime.luxon.d.mts +2 -2
  68. package/dist/react-querybuilder_datetime.luxon.mjs +2 -4
  69. package/dist/react-querybuilder_datetime.luxon.mjs.map +1 -1
  70. package/dist/react-querybuilder_datetime.mjs +5 -7
  71. package/dist/react-querybuilder_datetime.mjs.map +1 -1
  72. package/dist/react-querybuilder_datetime.production.d.mts +2 -2
  73. package/dist/react-querybuilder_datetime.production.date-fns.d.mts +2 -2
  74. package/dist/react-querybuilder_datetime.production.date-fns.mjs +1 -1
  75. package/dist/react-querybuilder_datetime.production.date-fns.mjs.map +1 -1
  76. package/dist/react-querybuilder_datetime.production.dayjs.d.mts +2 -2
  77. package/dist/react-querybuilder_datetime.production.dayjs.mjs +1 -1
  78. package/dist/react-querybuilder_datetime.production.dayjs.mjs.map +1 -1
  79. package/dist/react-querybuilder_datetime.production.jsdate.d.mts +2 -2
  80. package/dist/react-querybuilder_datetime.production.jsdate.mjs +1 -1
  81. package/dist/react-querybuilder_datetime.production.jsdate.mjs.map +1 -1
  82. package/dist/react-querybuilder_datetime.production.luxon.d.mts +2 -2
  83. package/dist/react-querybuilder_datetime.production.luxon.mjs +1 -1
  84. package/dist/react-querybuilder_datetime.production.luxon.mjs.map +1 -1
  85. package/dist/react-querybuilder_datetime.production.mjs +1 -1
  86. package/dist/react-querybuilder_datetime.production.mjs.map +1 -1
  87. package/dist/types-Dbg6IgzZ.d.ts +105 -0
  88. package/dist/types-IRRXKZl4.d.mts +105 -0
  89. package/package.json +16 -16
  90. package/dist/cjs/getDatetimeRuleProcessorSQL-Dkg4HEtH.js.map +0 -1
  91. package/dist/cjs/getDatetimeRuleProcessorSQL-xGETy1ec.js +0 -2
  92. package/dist/cjs/getDatetimeRuleProcessorSQL-xGETy1ec.js.map +0 -1
  93. package/dist/cjs/types-B0Eveeq4.d.ts +0 -1752
  94. package/dist/getDatetimeRuleProcessorSQL-CugqyF_a.mjs.map +0 -1
  95. package/dist/getDatetimeRuleProcessorSQL-Cxyajj0g.js.map +0 -1
  96. package/dist/getDatetimeRuleProcessorSQL-Dcqi5kh5.mjs.map +0 -1
  97. package/dist/types-C-P0L9xh.d.mts +0 -1753
  98. package/dist/types-DuaAB95e.d.ts +0 -1753
@@ -1,7 +1,7 @@
1
- import { _ as RuleProcessor, h as RQBJsonLogicDateTimeOperations, i as RQBDateTimeLibraryAPI, v as ValueProcessorByRule } from "./types-C-P0L9xh.mjs";
1
+ import { h as RQBJsonLogicDateTimeOperations, i as RQBDateTimeLibraryAPI } from "./types-IRRXKZl4.mjs";
2
+ import { RuleProcessor, ValueProcessorByRule } from "react-querybuilder";
2
3
 
3
4
  //#region src/rqbDateTimeLibraryAPI.luxon.d.ts
4
-
5
5
  /**
6
6
  * {@link RQBDateTimeLibraryAPI} for Luxon
7
7
  */
@@ -1,6 +1,5 @@
1
- import { a as getDatetimeValueProcessorOracle, d as getDatetimeRuleProcessorCEL, f as getDatetimeJsonLogicOperations, i as getDatetimeValueProcessorMySQL, l as getDatetimeRuleProcessorNL, n as getDatetimeValueProcessorANSI, o as getDatetimeValueProcessorPostgreSQL, p as isISOStringDateOnly, r as getDatetimeValueProcessorMSSQL, t as getDatetimeRuleProcessorSQL, u as getDatetimeRuleProcessorMongoDBQuery } from "./getDatetimeRuleProcessorSQL-CugqyF_a.mjs";
1
+ import { a as getDatetimeValueProcessorOracle, d as getDatetimeRuleProcessorCEL, f as getDatetimeJsonLogicOperations, i as getDatetimeValueProcessorMySQL, l as getDatetimeRuleProcessorNL, n as getDatetimeValueProcessorANSI, o as getDatetimeValueProcessorPostgreSQL, p as isISOStringDateOnly, r as getDatetimeValueProcessorMSSQL, t as getDatetimeRuleProcessorSQL, u as getDatetimeRuleProcessorMongoDBQuery } from "./getDatetimeRuleProcessorSQL-CnAPMZf2.mjs";
2
2
  import { DateTime } from "luxon";
3
-
4
3
  //#region src/rqbDateTimeLibraryAPI.luxon.ts
5
4
  const toDateTime = (a) => typeof a === "string" ? DateTime.fromISO(a) : DateTime.fromJSDate(a);
6
5
  const iso8601DateOnly = "yyyy-MM-dd";
@@ -23,7 +22,6 @@ const rqbDateTimeLibraryAPI = {
23
22
  return dToDate.isValid ? dToDate.toFormat(iso8601DateOnly) : "";
24
23
  }
25
24
  };
26
-
27
25
  //#endregion
28
26
  //#region src/index.luxon.ts
29
27
  /**
@@ -66,7 +64,7 @@ const datetimeRuleProcessorMongoDBQuery = getDatetimeRuleProcessorMongoDBQuery(r
66
64
  * {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for "natural_language" format using Luxon
67
65
  */
68
66
  const datetimeRuleProcessorNL = getDatetimeRuleProcessorNL(rqbDateTimeLibraryAPI);
69
-
70
67
  //#endregion
71
68
  export { datetimeRuleProcessorCEL, datetimeRuleProcessorMongoDBQuery, datetimeRuleProcessorNL, datetimeRuleProcessorSQL, datetimeValueProcessorANSI, datetimeValueProcessorMSSQL, datetimeValueProcessorMySQL, datetimeValueProcessorOracle, datetimeValueProcessorPostgreSQL, jsonLogicDateTimeOperations, rqbDateTimeLibraryAPI };
69
+
72
70
  //# sourceMappingURL=react-querybuilder_datetime.luxon.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"react-querybuilder_datetime.luxon.mjs","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.luxon.ts","../src/index.luxon.ts"],"sourcesContent":["import { DateTime } from 'luxon';\nimport type { RQBDateTimeLibraryAPI } from './types';\nimport { isISOStringDateOnly } from './utils';\n\nconst toDateTime = (a: string | Date) =>\n typeof a === 'string' ? DateTime.fromISO(a) : DateTime.fromJSDate(a);\nconst iso8601DateOnly = 'yyyy-MM-dd';\n\n/**\n * {@link RQBDateTimeLibraryAPI} for Luxon\n */\nexport const rqbDateTimeLibraryAPI: RQBDateTimeLibraryAPI = {\n format: (d, fmt) => toDateTime(d).toFormat(fmt.replace('YYYY-MM-DD', iso8601DateOnly)),\n isAfter: (a, b) => toDateTime(a) > toDateTime(b),\n isBefore: (a, b) => toDateTime(a) < toDateTime(b),\n isSame: (a, b) =>\n isISOStringDateOnly(a) || isISOStringDateOnly(b)\n ? toDateTime(a).hasSame(toDateTime(b), 'day')\n : +toDateTime(a) === +toDateTime(b),\n isValid: d => toDateTime(d).isValid,\n toDate: d => toDateTime(d).toJSDate(),\n toISOString: d => {\n const dToDate = toDateTime(d);\n return dToDate.isValid ? dToDate.toJSDate().toISOString() : '';\n },\n toISOStringDateOnly: d => {\n const dToDate = toDateTime(d);\n return dToDate.isValid ? dToDate.toFormat(iso8601DateOnly) : '';\n },\n};\n","/**\n * Import from `\"@react-querybuilder/datetime/luxon\"` for enhanced date/time support using [Luxon](https://moment.github.io/luxon/).\n *\n * @module luxon\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.luxon';\nimport type { RQBJsonLogicDateTimeOperations } from './types';\n\n/**\n * Custom JsonLogic date/time operations using Luxon\n */\nexport const jsonLogicDateTimeOperations: RQBJsonLogicDateTimeOperations =\n getDatetimeJsonLogicOperations(rqbDateTimeLibraryAPI);\n\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for \"sql\" format using Luxon\n */\nexport const datetimeRuleProcessorSQL: RuleProcessor =\n getDatetimeRuleProcessorSQL(rqbDateTimeLibraryAPI);\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} value processor for \"sql\" format (\"ansi\" preset) using Luxon\n */\nexport const datetimeValueProcessorANSI: ValueProcessorByRule =\n getDatetimeValueProcessorANSI(rqbDateTimeLibraryAPI);\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} value processor for \"sql\" format (\"mssql\" preset) using Luxon\n */\nexport const datetimeValueProcessorMSSQL: ValueProcessorByRule =\n getDatetimeValueProcessorMSSQL(rqbDateTimeLibraryAPI);\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} value processor for \"sql\" format (\"mysql\" preset) using Luxon\n */\nexport const datetimeValueProcessorMySQL: ValueProcessorByRule =\n getDatetimeValueProcessorMySQL(rqbDateTimeLibraryAPI);\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} value processor for \"sql\" format (\"oracle\" preset) using Luxon\n */\nexport const datetimeValueProcessorOracle: ValueProcessorByRule =\n getDatetimeValueProcessorOracle(rqbDateTimeLibraryAPI);\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} value processor for \"sql\" format (\"postgresql\" preset) using Luxon\n */\nexport const datetimeValueProcessorPostgreSQL: ValueProcessorByRule =\n getDatetimeValueProcessorPostgreSQL(rqbDateTimeLibraryAPI);\n\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for \"cel\" format using Luxon\n */\nexport const datetimeRuleProcessorCEL: ValueProcessorByRule =\n getDatetimeRuleProcessorCEL(rqbDateTimeLibraryAPI);\n\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for \"mongodb_query\" format using Luxon\n */\nexport const datetimeRuleProcessorMongoDBQuery: ValueProcessorByRule =\n getDatetimeRuleProcessorMongoDBQuery(rqbDateTimeLibraryAPI);\n\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for \"natural_language\" format using Luxon\n */\nexport const datetimeRuleProcessorNL: ValueProcessorByRule =\n getDatetimeRuleProcessorNL(rqbDateTimeLibraryAPI);\n\nexport * from './rqbDateTimeLibraryAPI.luxon';\n"],"mappings":";;;;AAIA,MAAM,cAAc,MAClB,OAAO,MAAM,WAAW,SAAS,QAAQ,EAAE,GAAG,SAAS,WAAW,EAAE;AACtE,MAAM,kBAAkB;;;;AAKxB,MAAaA,wBAA+C;CAC1D,SAAS,GAAG,QAAQ,WAAW,EAAE,CAAC,SAAS,IAAI,QAAQ,cAAc,gBAAgB,CAAC;CACtF,UAAU,GAAG,MAAM,WAAW,EAAE,GAAG,WAAW,EAAE;CAChD,WAAW,GAAG,MAAM,WAAW,EAAE,GAAG,WAAW,EAAE;CACjD,SAAS,GAAG,MACV,oBAAoB,EAAE,IAAI,oBAAoB,EAAE,GAC5C,WAAW,EAAE,CAAC,QAAQ,WAAW,EAAE,EAAE,MAAM,GAC3C,CAAC,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE;CACvC,UAAS,MAAK,WAAW,EAAE,CAAC;CAC5B,SAAQ,MAAK,WAAW,EAAE,CAAC,UAAU;CACrC,cAAa,MAAK;EAChB,MAAM,UAAU,WAAW,EAAE;AAC7B,SAAO,QAAQ,UAAU,QAAQ,UAAU,CAAC,aAAa,GAAG;;CAE9D,sBAAqB,MAAK;EACxB,MAAM,UAAU,WAAW,EAAE;AAC7B,SAAO,QAAQ,UAAU,QAAQ,SAAS,gBAAgB,GAAG;;CAEhE;;;;;;;ACJD,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
+ {"version":3,"file":"react-querybuilder_datetime.luxon.mjs","names":[],"sources":["../src/rqbDateTimeLibraryAPI.luxon.ts","../src/index.luxon.ts"],"sourcesContent":["import { DateTime } from 'luxon';\nimport type { RQBDateTimeLibraryAPI } from './types';\nimport { isISOStringDateOnly } from './utils';\n\nconst toDateTime = (a: string | Date) =>\n typeof a === 'string' ? DateTime.fromISO(a) : DateTime.fromJSDate(a);\nconst iso8601DateOnly = 'yyyy-MM-dd';\n\n/**\n * {@link RQBDateTimeLibraryAPI} for Luxon\n */\nexport const rqbDateTimeLibraryAPI: RQBDateTimeLibraryAPI = {\n format: (d, fmt) => toDateTime(d).toFormat(fmt.replace('YYYY-MM-DD', iso8601DateOnly)),\n isAfter: (a, b) => toDateTime(a) > toDateTime(b),\n isBefore: (a, b) => toDateTime(a) < toDateTime(b),\n isSame: (a, b) =>\n isISOStringDateOnly(a) || isISOStringDateOnly(b)\n ? toDateTime(a).hasSame(toDateTime(b), 'day')\n : +toDateTime(a) === +toDateTime(b),\n isValid: d => toDateTime(d).isValid,\n toDate: d => toDateTime(d).toJSDate(),\n toISOString: d => {\n const dToDate = toDateTime(d);\n return dToDate.isValid ? dToDate.toJSDate().toISOString() : '';\n },\n toISOStringDateOnly: d => {\n const dToDate = toDateTime(d);\n return dToDate.isValid ? dToDate.toFormat(iso8601DateOnly) : '';\n },\n};\n","/**\n * Import from `\"@react-querybuilder/datetime/luxon\"` for enhanced date/time support using [Luxon](https://moment.github.io/luxon/).\n *\n * @module luxon\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.luxon';\nimport type { RQBJsonLogicDateTimeOperations } from './types';\n\n/**\n * Custom JsonLogic date/time operations using Luxon\n */\nexport const jsonLogicDateTimeOperations: RQBJsonLogicDateTimeOperations =\n getDatetimeJsonLogicOperations(rqbDateTimeLibraryAPI);\n\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for \"sql\" format using Luxon\n */\nexport const datetimeRuleProcessorSQL: RuleProcessor =\n getDatetimeRuleProcessorSQL(rqbDateTimeLibraryAPI);\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} value processor for \"sql\" format (\"ansi\" preset) using Luxon\n */\nexport const datetimeValueProcessorANSI: ValueProcessorByRule =\n getDatetimeValueProcessorANSI(rqbDateTimeLibraryAPI);\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} value processor for \"sql\" format (\"mssql\" preset) using Luxon\n */\nexport const datetimeValueProcessorMSSQL: ValueProcessorByRule =\n getDatetimeValueProcessorMSSQL(rqbDateTimeLibraryAPI);\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} value processor for \"sql\" format (\"mysql\" preset) using Luxon\n */\nexport const datetimeValueProcessorMySQL: ValueProcessorByRule =\n getDatetimeValueProcessorMySQL(rqbDateTimeLibraryAPI);\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} value processor for \"sql\" format (\"oracle\" preset) using Luxon\n */\nexport const datetimeValueProcessorOracle: ValueProcessorByRule =\n getDatetimeValueProcessorOracle(rqbDateTimeLibraryAPI);\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} value processor for \"sql\" format (\"postgresql\" preset) using Luxon\n */\nexport const datetimeValueProcessorPostgreSQL: ValueProcessorByRule =\n getDatetimeValueProcessorPostgreSQL(rqbDateTimeLibraryAPI);\n\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for \"cel\" format using Luxon\n */\nexport const datetimeRuleProcessorCEL: ValueProcessorByRule =\n getDatetimeRuleProcessorCEL(rqbDateTimeLibraryAPI);\n\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for \"mongodb_query\" format using Luxon\n */\nexport const datetimeRuleProcessorMongoDBQuery: ValueProcessorByRule =\n getDatetimeRuleProcessorMongoDBQuery(rqbDateTimeLibraryAPI);\n\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for \"natural_language\" format using Luxon\n */\nexport const datetimeRuleProcessorNL: ValueProcessorByRule =\n getDatetimeRuleProcessorNL(rqbDateTimeLibraryAPI);\n\nexport * from './rqbDateTimeLibraryAPI.luxon';\n"],"mappings":";;;AAIA,MAAM,cAAc,MAClB,OAAO,MAAM,WAAW,SAAS,QAAQ,EAAE,GAAG,SAAS,WAAW,EAAE;AACtE,MAAM,kBAAkB;;;;AAKxB,MAAa,wBAA+C;CAC1D,SAAS,GAAG,QAAQ,WAAW,EAAE,CAAC,SAAS,IAAI,QAAQ,cAAc,gBAAgB,CAAC;CACtF,UAAU,GAAG,MAAM,WAAW,EAAE,GAAG,WAAW,EAAE;CAChD,WAAW,GAAG,MAAM,WAAW,EAAE,GAAG,WAAW,EAAE;CACjD,SAAS,GAAG,MACV,oBAAoB,EAAE,IAAI,oBAAoB,EAAE,GAC5C,WAAW,EAAE,CAAC,QAAQ,WAAW,EAAE,EAAE,MAAM,GAC3C,CAAC,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE;CACvC,UAAS,MAAK,WAAW,EAAE,CAAC;CAC5B,SAAQ,MAAK,WAAW,EAAE,CAAC,UAAU;CACrC,cAAa,MAAK;EAChB,MAAM,UAAU,WAAW,EAAE;AAC7B,SAAO,QAAQ,UAAU,QAAQ,UAAU,CAAC,aAAa,GAAG;;CAE9D,sBAAqB,MAAK;EACxB,MAAM,UAAU,WAAW,EAAE;AAC7B,SAAO,QAAQ,UAAU,QAAQ,SAAS,gBAAgB,GAAG;;CAEhE;;;;;;ACJD,MAAa,8BACX,+BAA+B,sBAAsB;;;;AAKvD,MAAa,2BACX,4BAA4B,sBAAsB;;;;AAIpD,MAAa,6BACX,8BAA8B,sBAAsB;;;;AAItD,MAAa,8BACX,+BAA+B,sBAAsB;;;;AAIvD,MAAa,8BACX,+BAA+B,sBAAsB;;;;AAIvD,MAAa,+BACX,gCAAgC,sBAAsB;;;;AAIxD,MAAa,mCACX,oCAAoC,sBAAsB;;;;AAK5D,MAAa,2BACX,4BAA4B,sBAAsB;;;;AAKpD,MAAa,oCACX,qCAAqC,sBAAsB;;;;AAK7D,MAAa,0BACX,2BAA2B,sBAAsB"}
@@ -1,6 +1,5 @@
1
- import { a as getDatetimeValueProcessorOracle, c as defaultDateTimeNLOperatorMap, d as getDatetimeRuleProcessorCEL, f as getDatetimeJsonLogicOperations, i as getDatetimeValueProcessorMySQL, l as getDatetimeRuleProcessorNL, m as processIsDateField, n as getDatetimeValueProcessorANSI, o as getDatetimeValueProcessorPostgreSQL, r as getDatetimeValueProcessorMSSQL, s as datetimeValueProcessorNL, t as getDatetimeRuleProcessorSQL, u as getDatetimeRuleProcessorMongoDBQuery } from "./getDatetimeRuleProcessorSQL-CugqyF_a.mjs";
1
+ import { a as getDatetimeValueProcessorOracle, c as defaultDateTimeNLOperatorMap, d as getDatetimeRuleProcessorCEL, f as getDatetimeJsonLogicOperations, i as getDatetimeValueProcessorMySQL, l as getDatetimeRuleProcessorNL, m as processIsDateField, n as getDatetimeValueProcessorANSI, o as getDatetimeValueProcessorPostgreSQL, r as getDatetimeValueProcessorMSSQL, s as datetimeValueProcessorNL, t as getDatetimeRuleProcessorSQL, u as getDatetimeRuleProcessorMongoDBQuery } from "./getDatetimeRuleProcessorSQL-CnAPMZf2.mjs";
2
2
  import { defaultRuleProcessorJSONata, defaultRuleProcessorJsonLogic, getQuotedFieldName, nullOrUndefinedOrEmpty, toArray } from "react-querybuilder";
3
-
4
3
  //#region src/datetimeRuleProcessorJsonLogic.ts
5
4
  const dateOperationMap = {
6
5
  "!=": "dateNotOn",
@@ -54,11 +53,10 @@ const datetimeRuleProcessorJsonLogic = (rule, options) => {
54
53
  }
55
54
  return defaultRuleProcessorJsonLogic(rule, options);
56
55
  };
57
-
58
56
  //#endregion
59
57
  //#region src/getDatetimeRuleProcessorJSONata.ts
60
58
  const shouldNegate = (op) => /^(does)?not/i.test(op);
61
- const negate = (clause, negate$1) => negate$1 ? `$not(${clause})` : `${clause}`;
59
+ const negate = (clause, neg) => neg ? `$not(${clause})` : `${clause}`;
62
60
  /**
63
61
  * Generates a rule processor with date/time features for use by
64
62
  * {@link @react-querybuilder/core!formatQuery formatQuery} with the "jsonata" format.
@@ -100,8 +98,8 @@ const getDatetimeRuleProcessorJSONata = (apiFns) => (rule, options) => {
100
98
  if (valueAsArray.length < 2 || nullOrUndefinedOrEmpty(valueAsArray[0]) || nullOrUndefinedOrEmpty(valueAsArray[1]) || !valueIsField && valueAsDateArray.length < 2) return "";
101
99
  if (valueIsField) {
102
100
  const [firstValue, secondValue] = valueAsArray;
103
- const expression$1 = `${fldToMs(field)} >= ${fldToMs(firstValue)} and ${fldToMs(field)} <= ${fldToMs(secondValue)}`;
104
- return operator === "between" ? `(${expression$1})` : negate(expression$1, true);
101
+ const expression = `${fldToMs(field)} >= ${fldToMs(firstValue)} and ${fldToMs(field)} <= ${fldToMs(secondValue)}`;
102
+ return operator === "between" ? `(${expression})` : negate(expression, true);
105
103
  }
106
104
  const [first, second] = valueAsDateArray;
107
105
  const [firstDate, secondDate] = apiFns.isBefore(first, second) ? [first, second] : [second, first];
@@ -111,7 +109,7 @@ const getDatetimeRuleProcessorJSONata = (apiFns) => (rule, options) => {
111
109
  }
112
110
  return defaultRuleProcessorJSONata(rule, opts);
113
111
  };
114
-
115
112
  //#endregion
116
113
  export { datetimeRuleProcessorJsonLogic, datetimeValueProcessorNL, defaultDateTimeNLOperatorMap, getDatetimeJsonLogicOperations, getDatetimeRuleProcessorCEL, getDatetimeRuleProcessorJSONata, getDatetimeRuleProcessorMongoDBQuery, getDatetimeRuleProcessorNL, getDatetimeRuleProcessorSQL, getDatetimeValueProcessorANSI, getDatetimeValueProcessorMSSQL, getDatetimeValueProcessorMySQL, getDatetimeValueProcessorOracle, getDatetimeValueProcessorPostgreSQL };
114
+
117
115
  //# sourceMappingURL=react-querybuilder_datetime.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"react-querybuilder_datetime.mjs","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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"}
1
+ {"version":3,"file":"react-querybuilder_datetime.mjs","names":[],"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, neg: boolean) => (neg ? `$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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"}
@@ -1,7 +1,7 @@
1
- import { _ as RuleProcessor, a as RQBJsonLogicDateAfter, c as RQBJsonLogicDateIn, d as RQBJsonLogicDateNotOn, f as RQBJsonLogicDateOn, g as ExportOperatorMap, h as RQBJsonLogicDateTimeOperations, i as RQBDateTimeLibraryAPI, l as RQBJsonLogicDateNotBetween, m as RQBJsonLogicDateOnOrBefore, n as IsDateFieldFunction, o as RQBJsonLogicDateBefore, p as RQBJsonLogicDateOnOrAfter, r as RQBDateTimeJsonLogic, s as RQBJsonLogicDateBetween, t as IsDateField, u as RQBJsonLogicDateNotIn, v as ValueProcessorByRule } from "./types-C-P0L9xh.mjs";
1
+ import { a as RQBJsonLogicDateAfter, c as RQBJsonLogicDateIn, d as RQBJsonLogicDateNotOn, f as RQBJsonLogicDateOn, h as RQBJsonLogicDateTimeOperations, i as RQBDateTimeLibraryAPI, l as RQBJsonLogicDateNotBetween, m as RQBJsonLogicDateOnOrBefore, n as IsDateFieldFunction, o as RQBJsonLogicDateBefore, p as RQBJsonLogicDateOnOrAfter, r as RQBDateTimeJsonLogic, s as RQBJsonLogicDateBetween, t as IsDateField, u as RQBJsonLogicDateNotIn } from "./types-IRRXKZl4.mjs";
2
+ import { ExportOperatorMap, RuleProcessor, ValueProcessorByRule } from "react-querybuilder";
2
3
 
3
4
  //#region src/datetimeRuleProcessorJsonLogic.d.ts
4
-
5
5
  /**
6
6
  * Date/time rule processor for use by {@link @react-querybuilder/core!formatQuery formatQuery}
7
7
  * with the "jsonlogic" format.
@@ -1,7 +1,7 @@
1
- import { _ as RuleProcessor, h as RQBJsonLogicDateTimeOperations, i as RQBDateTimeLibraryAPI, v as ValueProcessorByRule } from "./types-C-P0L9xh.mjs";
1
+ import { h as RQBJsonLogicDateTimeOperations, i as RQBDateTimeLibraryAPI } from "./types-IRRXKZl4.mjs";
2
+ import { RuleProcessor, ValueProcessorByRule } from "react-querybuilder";
2
3
 
3
4
  //#region src/rqbDateTimeLibraryAPI.date-fns.d.ts
4
-
5
5
  /**
6
6
  * {@link RQBDateTimeLibraryAPI} for date-fns
7
7
  */
@@ -1,2 +1,2 @@
1
- import{a as e,d as t,f as n,i as r,l as i,n as a,o,p as s,r as c,t as l,u}from"./getDatetimeRuleProcessorSQL-Dcqi5kh5.mjs";import{format as d,isAfter as f,isBefore as p,isSameDay as m,isValid as h,parseISO as g,toDate as _}from"date-fns";const v=e=>typeof e==`string`?g(e):_(e),y=`yyyy-MM-dd`,b={format:(e,t)=>d(v(e),t.replace(`YYYY-MM-DD`,y)),isAfter:f,isBefore:p,isSame:(e,t)=>{let n=v(e),r=v(t);return s(e)||s(t)?m(n,r):n.getTime()===r.getTime()},isValid:e=>h(v(e)),toDate:v,toISOString:e=>{let t=v(e);return h(t)?t.toISOString():``},toISOStringDateOnly:e=>{let t=v(e);return h(t)?d(t,y):``}},x=n(b),S=l(b),C=a(b),w=c(b),T=r(b),E=e(b),D=o(b),O=t(b),k=u(b),A=i(b);export{O as datetimeRuleProcessorCEL,k as datetimeRuleProcessorMongoDBQuery,A as datetimeRuleProcessorNL,S as datetimeRuleProcessorSQL,C as datetimeValueProcessorANSI,w as datetimeValueProcessorMSSQL,T as datetimeValueProcessorMySQL,E as datetimeValueProcessorOracle,D as datetimeValueProcessorPostgreSQL,x as jsonLogicDateTimeOperations,b as rqbDateTimeLibraryAPI};
1
+ import{a as e,d as t,f as n,i as r,l as i,n as a,o,p as s,r as c,t as l,u}from"./getDatetimeRuleProcessorSQL-Cbq2-tqd.mjs";import{format as d,isAfter as f,isBefore as p,isSameDay as m,isValid as h,parseISO as g,toDate as _}from"date-fns";const v=e=>typeof e==`string`?g(e):_(e),y=`yyyy-MM-dd`,b={format:(e,t)=>d(v(e),t.replace(`YYYY-MM-DD`,y)),isAfter:f,isBefore:p,isSame:(e,t)=>{let n=v(e),r=v(t);return s(e)||s(t)?m(n,r):n.getTime()===r.getTime()},isValid:e=>h(v(e)),toDate:v,toISOString:e=>{let t=v(e);return h(t)?t.toISOString():``},toISOStringDateOnly:e=>{let t=v(e);return h(t)?d(t,y):``}},x=n(b),S=l(b),C=a(b),w=c(b),T=r(b),E=e(b),D=o(b),O=t(b),k=u(b),A=i(b);export{O as datetimeRuleProcessorCEL,k as datetimeRuleProcessorMongoDBQuery,A as datetimeRuleProcessorNL,S as datetimeRuleProcessorSQL,C as datetimeValueProcessorANSI,w as datetimeValueProcessorMSSQL,T as datetimeValueProcessorMySQL,E as datetimeValueProcessorOracle,D as datetimeValueProcessorPostgreSQL,x as jsonLogicDateTimeOperations,b as rqbDateTimeLibraryAPI};
2
2
  //# sourceMappingURL=react-querybuilder_datetime.production.date-fns.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"react-querybuilder_datetime.production.date-fns.mjs","names":["toDate: typeof dateFnsToDate","dateFnsToDate","rqbDateTimeLibraryAPI: RQBDateTimeLibraryAPI","toDate","jsonLogicDateTimeOperations: RQBJsonLogicDateTimeOperations","datetimeRuleProcessorSQL: RuleProcessor","datetimeValueProcessorANSI: ValueProcessorByRule","datetimeValueProcessorMSSQL: ValueProcessorByRule","datetimeValueProcessorMySQL: ValueProcessorByRule","datetimeValueProcessorOracle: ValueProcessorByRule","datetimeValueProcessorPostgreSQL: ValueProcessorByRule","datetimeRuleProcessorCEL: ValueProcessorByRule","datetimeRuleProcessorMongoDBQuery: ValueProcessorByRule","datetimeRuleProcessorNL: ValueProcessorByRule"],"sources":["../src/rqbDateTimeLibraryAPI.date-fns.ts","../src/index.date-fns.ts"],"sourcesContent":["import {\n toDate as dateFnsToDate,\n format,\n isAfter,\n isBefore,\n isSameDay,\n isValid,\n parseISO,\n} from 'date-fns';\nimport type { RQBDateTimeLibraryAPI } from './types';\nimport { isISOStringDateOnly } from './utils';\n\nconst toDate: typeof dateFnsToDate = a => (typeof a === 'string' ? parseISO(a) : dateFnsToDate(a));\nconst iso8601DateOnly = 'yyyy-MM-dd';\n\n/**\n * {@link RQBDateTimeLibraryAPI} for date-fns\n */\nexport const rqbDateTimeLibraryAPI: RQBDateTimeLibraryAPI = {\n format: (d, fmt) => format(toDate(d), fmt.replace('YYYY-MM-DD', iso8601DateOnly)),\n isAfter,\n isBefore,\n isSame: (a, b) => {\n const aToDate = toDate(a);\n const bToDate = toDate(b);\n return isISOStringDateOnly(a) || isISOStringDateOnly(b)\n ? isSameDay(aToDate, bToDate)\n : aToDate.getTime() === bToDate.getTime();\n },\n isValid: d => isValid(toDate(d)),\n toDate,\n toISOString: d => {\n const dToDate = toDate(d);\n return isValid(dToDate) ? dToDate.toISOString() : '';\n },\n toISOStringDateOnly: d => {\n const dToDate = toDate(d);\n return isValid(dToDate) ? format(dToDate, iso8601DateOnly) : '';\n },\n};\n","/**\n * Import from `\"@react-querybuilder/datetime/date-fns\"` for enhanced date/time support using [date-fns](https://date-fns.org/).\n *\n * @module date-fns\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.date-fns';\nimport type { RQBJsonLogicDateTimeOperations } from './types';\n\n/**\n * Custom JsonLogic date/time operations using date-fns\n */\nexport const jsonLogicDateTimeOperations: RQBJsonLogicDateTimeOperations =\n getDatetimeJsonLogicOperations(rqbDateTimeLibraryAPI);\n\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for \"sql\" format using date-fns\n */\nexport const datetimeRuleProcessorSQL: RuleProcessor =\n getDatetimeRuleProcessorSQL(rqbDateTimeLibraryAPI);\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} value processor for \"sql\" format (\"ansi\" preset) using date-fns\n */\nexport const datetimeValueProcessorANSI: ValueProcessorByRule =\n getDatetimeValueProcessorANSI(rqbDateTimeLibraryAPI);\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} value processor for \"sql\" format (\"mssql\" preset) using date-fns\n */\nexport const datetimeValueProcessorMSSQL: ValueProcessorByRule =\n getDatetimeValueProcessorMSSQL(rqbDateTimeLibraryAPI);\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} value processor for \"sql\" format (\"mysql\" preset) using date-fns\n */\nexport const datetimeValueProcessorMySQL: ValueProcessorByRule =\n getDatetimeValueProcessorMySQL(rqbDateTimeLibraryAPI);\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} value processor for \"sql\" format (\"oracle\" preset) using date-fns\n */\nexport const datetimeValueProcessorOracle: ValueProcessorByRule =\n getDatetimeValueProcessorOracle(rqbDateTimeLibraryAPI);\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} value processor for \"sql\" format (\"postgresql\" preset) using date-fns\n */\nexport const datetimeValueProcessorPostgreSQL: ValueProcessorByRule =\n getDatetimeValueProcessorPostgreSQL(rqbDateTimeLibraryAPI);\n\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for \"cel\" format using date-fns\n */\nexport const datetimeRuleProcessorCEL: ValueProcessorByRule =\n getDatetimeRuleProcessorCEL(rqbDateTimeLibraryAPI);\n\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for \"mongodb_query\" format using date-fns\n */\nexport const datetimeRuleProcessorMongoDBQuery: ValueProcessorByRule =\n getDatetimeRuleProcessorMongoDBQuery(rqbDateTimeLibraryAPI);\n\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for \"natural_language\" format using date-fns\n */\nexport const datetimeRuleProcessorNL: ValueProcessorByRule =\n getDatetimeRuleProcessorNL(rqbDateTimeLibraryAPI);\n\nexport * from './rqbDateTimeLibraryAPI.date-fns';\n"],"mappings":"8OAYA,MAAMA,EAA+B,GAAM,OAAO,GAAM,SAAW,EAAS,EAAE,CAAGC,EAAc,EAAE,CAC3F,EAAkB,aAKXC,EAA+C,CAC1D,QAAS,EAAG,IAAQ,EAAOC,EAAO,EAAE,CAAE,EAAI,QAAQ,aAAc,EAAgB,CAAC,CACjF,UACA,WACA,QAAS,EAAG,IAAM,CAChB,IAAM,EAAUA,EAAO,EAAE,CACnB,EAAUA,EAAO,EAAE,CACzB,OAAO,EAAoB,EAAE,EAAI,EAAoB,EAAE,CACnD,EAAU,EAAS,EAAQ,CAC3B,EAAQ,SAAS,GAAK,EAAQ,SAAS,EAE7C,QAAS,GAAK,EAAQA,EAAO,EAAE,CAAC,CAChC,OAAA,EACA,YAAa,GAAK,CAChB,IAAM,EAAUA,EAAO,EAAE,CACzB,OAAO,EAAQ,EAAQ,CAAG,EAAQ,aAAa,CAAG,IAEpD,oBAAqB,GAAK,CACxB,IAAM,EAAUA,EAAO,EAAE,CACzB,OAAO,EAAQ,EAAQ,CAAG,EAAO,EAAS,EAAgB,CAAG,IAEhE,CCdYC,EACX,EAA+B,EAAsB,CAK1CC,EACX,EAA4B,EAAsB,CAIvCC,EACX,EAA8B,EAAsB,CAIzCC,EACX,EAA+B,EAAsB,CAI1CC,EACX,EAA+B,EAAsB,CAI1CC,EACX,EAAgC,EAAsB,CAI3CC,EACX,EAAoC,EAAsB,CAK/CC,EACX,EAA4B,EAAsB,CAKvCC,EACX,EAAqC,EAAsB,CAKhDC,EACX,EAA2B,EAAsB"}
1
+ {"version":3,"file":"react-querybuilder_datetime.production.date-fns.mjs","names":["toDate","dateFnsToDate"],"sources":["../src/rqbDateTimeLibraryAPI.date-fns.ts","../src/index.date-fns.ts"],"sourcesContent":["import {\n toDate as dateFnsToDate,\n format,\n isAfter,\n isBefore,\n isSameDay,\n isValid,\n parseISO,\n} from 'date-fns';\nimport type { RQBDateTimeLibraryAPI } from './types';\nimport { isISOStringDateOnly } from './utils';\n\nconst toDate: typeof dateFnsToDate = a => (typeof a === 'string' ? parseISO(a) : dateFnsToDate(a));\nconst iso8601DateOnly = 'yyyy-MM-dd';\n\n/**\n * {@link RQBDateTimeLibraryAPI} for date-fns\n */\nexport const rqbDateTimeLibraryAPI: RQBDateTimeLibraryAPI = {\n format: (d, fmt) => format(toDate(d), fmt.replace('YYYY-MM-DD', iso8601DateOnly)),\n isAfter,\n isBefore,\n isSame: (a, b) => {\n const aToDate = toDate(a);\n const bToDate = toDate(b);\n return isISOStringDateOnly(a) || isISOStringDateOnly(b)\n ? isSameDay(aToDate, bToDate)\n : aToDate.getTime() === bToDate.getTime();\n },\n isValid: d => isValid(toDate(d)),\n toDate,\n toISOString: d => {\n const dToDate = toDate(d);\n return isValid(dToDate) ? dToDate.toISOString() : '';\n },\n toISOStringDateOnly: d => {\n const dToDate = toDate(d);\n return isValid(dToDate) ? format(dToDate, iso8601DateOnly) : '';\n },\n};\n","/**\n * Import from `\"@react-querybuilder/datetime/date-fns\"` for enhanced date/time support using [date-fns](https://date-fns.org/).\n *\n * @module date-fns\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.date-fns';\nimport type { RQBJsonLogicDateTimeOperations } from './types';\n\n/**\n * Custom JsonLogic date/time operations using date-fns\n */\nexport const jsonLogicDateTimeOperations: RQBJsonLogicDateTimeOperations =\n getDatetimeJsonLogicOperations(rqbDateTimeLibraryAPI);\n\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for \"sql\" format using date-fns\n */\nexport const datetimeRuleProcessorSQL: RuleProcessor =\n getDatetimeRuleProcessorSQL(rqbDateTimeLibraryAPI);\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} value processor for \"sql\" format (\"ansi\" preset) using date-fns\n */\nexport const datetimeValueProcessorANSI: ValueProcessorByRule =\n getDatetimeValueProcessorANSI(rqbDateTimeLibraryAPI);\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} value processor for \"sql\" format (\"mssql\" preset) using date-fns\n */\nexport const datetimeValueProcessorMSSQL: ValueProcessorByRule =\n getDatetimeValueProcessorMSSQL(rqbDateTimeLibraryAPI);\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} value processor for \"sql\" format (\"mysql\" preset) using date-fns\n */\nexport const datetimeValueProcessorMySQL: ValueProcessorByRule =\n getDatetimeValueProcessorMySQL(rqbDateTimeLibraryAPI);\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} value processor for \"sql\" format (\"oracle\" preset) using date-fns\n */\nexport const datetimeValueProcessorOracle: ValueProcessorByRule =\n getDatetimeValueProcessorOracle(rqbDateTimeLibraryAPI);\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} value processor for \"sql\" format (\"postgresql\" preset) using date-fns\n */\nexport const datetimeValueProcessorPostgreSQL: ValueProcessorByRule =\n getDatetimeValueProcessorPostgreSQL(rqbDateTimeLibraryAPI);\n\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for \"cel\" format using date-fns\n */\nexport const datetimeRuleProcessorCEL: ValueProcessorByRule =\n getDatetimeRuleProcessorCEL(rqbDateTimeLibraryAPI);\n\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for \"mongodb_query\" format using date-fns\n */\nexport const datetimeRuleProcessorMongoDBQuery: ValueProcessorByRule =\n getDatetimeRuleProcessorMongoDBQuery(rqbDateTimeLibraryAPI);\n\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for \"natural_language\" format using date-fns\n */\nexport const datetimeRuleProcessorNL: ValueProcessorByRule =\n getDatetimeRuleProcessorNL(rqbDateTimeLibraryAPI);\n\nexport * from './rqbDateTimeLibraryAPI.date-fns';\n"],"mappings":"8OAYA,MAAMA,EAA+B,GAAM,OAAO,GAAM,SAAW,EAAS,EAAE,CAAGC,EAAc,EAAE,CAC3F,EAAkB,aAKX,EAA+C,CAC1D,QAAS,EAAG,IAAQ,EAAOD,EAAO,EAAE,CAAE,EAAI,QAAQ,aAAc,EAAgB,CAAC,CACjF,UACA,WACA,QAAS,EAAG,IAAM,CAChB,IAAM,EAAUA,EAAO,EAAE,CACnB,EAAUA,EAAO,EAAE,CACzB,OAAO,EAAoB,EAAE,EAAI,EAAoB,EAAE,CACnD,EAAU,EAAS,EAAQ,CAC3B,EAAQ,SAAS,GAAK,EAAQ,SAAS,EAE7C,QAAS,GAAK,EAAQA,EAAO,EAAE,CAAC,CAChC,OAAA,EACA,YAAa,GAAK,CAChB,IAAM,EAAUA,EAAO,EAAE,CACzB,OAAO,EAAQ,EAAQ,CAAG,EAAQ,aAAa,CAAG,IAEpD,oBAAqB,GAAK,CACxB,IAAM,EAAUA,EAAO,EAAE,CACzB,OAAO,EAAQ,EAAQ,CAAG,EAAO,EAAS,EAAgB,CAAG,IAEhE,CCdY,EACX,EAA+B,EAAsB,CAK1C,EACX,EAA4B,EAAsB,CAIvC,EACX,EAA8B,EAAsB,CAIzC,EACX,EAA+B,EAAsB,CAI1C,EACX,EAA+B,EAAsB,CAI1C,EACX,EAAgC,EAAsB,CAI3C,EACX,EAAoC,EAAsB,CAK/C,EACX,EAA4B,EAAsB,CAKvC,EACX,EAAqC,EAAsB,CAKhD,EACX,EAA2B,EAAsB"}
@@ -1,7 +1,7 @@
1
- import { _ as RuleProcessor, h as RQBJsonLogicDateTimeOperations, i as RQBDateTimeLibraryAPI, v as ValueProcessorByRule } from "./types-C-P0L9xh.mjs";
1
+ import { h as RQBJsonLogicDateTimeOperations, i as RQBDateTimeLibraryAPI } from "./types-IRRXKZl4.mjs";
2
+ import { RuleProcessor, ValueProcessorByRule } from "react-querybuilder";
2
3
 
3
4
  //#region src/rqbDateTimeLibraryAPI.dayjs.d.ts
4
-
5
5
  /**
6
6
  * {@link RQBDateTimeLibraryAPI} for Day.js
7
7
  */
@@ -1,2 +1,2 @@
1
- import{a as e,d as t,f as n,i as r,l as i,n as a,o,p as s,r as c,t as l,u}from"./getDatetimeRuleProcessorSQL-Dcqi5kh5.mjs";import d from"dayjs";const f={format:(e,t)=>d(e).format(t),isAfter:(e,t)=>d(e).isAfter(t),isBefore:(e,t)=>d(e).isBefore(t),isSame:(e,t)=>d(e).isSame(t,s(e)||s(t)?`d`:`ms`),isValid:e=>d(e).isValid(),toDate:e=>d(e).toDate(),toISOString:e=>{let t=d(e);return t.isValid()?t.toISOString():``},toISOStringDateOnly:e=>{let t=d(e);return t.isValid()?t.format(`YYYY-MM-DD`):``}},p=n(f),m=l(f),h=a(f),g=c(f),_=r(f),v=e(f),y=o(f),b=t(f),x=u(f),S=i(f);export{b as datetimeRuleProcessorCEL,x as datetimeRuleProcessorMongoDBQuery,S as datetimeRuleProcessorNL,m as datetimeRuleProcessorSQL,h as datetimeValueProcessorANSI,g as datetimeValueProcessorMSSQL,_ as datetimeValueProcessorMySQL,v as datetimeValueProcessorOracle,y as datetimeValueProcessorPostgreSQL,p as jsonLogicDateTimeOperations,f as rqbDateTimeLibraryAPI};
1
+ import{a as e,d as t,f as n,i as r,l as i,n as a,o,p as s,r as c,t as l,u}from"./getDatetimeRuleProcessorSQL-Cbq2-tqd.mjs";import d from"dayjs";const f={format:(e,t)=>d(e).format(t),isAfter:(e,t)=>d(e).isAfter(t),isBefore:(e,t)=>d(e).isBefore(t),isSame:(e,t)=>d(e).isSame(t,s(e)||s(t)?`d`:`ms`),isValid:e=>d(e).isValid(),toDate:e=>d(e).toDate(),toISOString:e=>{let t=d(e);return t.isValid()?t.toISOString():``},toISOStringDateOnly:e=>{let t=d(e);return t.isValid()?t.format(`YYYY-MM-DD`):``}},p=n(f),m=l(f),h=a(f),g=c(f),_=r(f),v=e(f),y=o(f),b=t(f),x=u(f),S=i(f);export{b as datetimeRuleProcessorCEL,x as datetimeRuleProcessorMongoDBQuery,S as datetimeRuleProcessorNL,m as datetimeRuleProcessorSQL,h as datetimeValueProcessorANSI,g as datetimeValueProcessorMSSQL,_ as datetimeValueProcessorMySQL,v as datetimeValueProcessorOracle,y as datetimeValueProcessorPostgreSQL,p as jsonLogicDateTimeOperations,f as rqbDateTimeLibraryAPI};
2
2
  //# sourceMappingURL=react-querybuilder_datetime.production.dayjs.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"react-querybuilder_datetime.production.dayjs.mjs","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":"gJAOA,MAAaA,EAA+C,CAC1D,QAAS,EAAG,IAAQ,EAAM,EAAE,CAAC,OAAO,EAAI,CACxC,SAAU,EAAG,IAAM,EAAM,EAAE,CAAC,QAAQ,EAAE,CACtC,UAAW,EAAG,IAAM,EAAM,EAAE,CAAC,SAAS,EAAE,CACxC,QAAS,EAAG,IACV,EAAM,EAAE,CAAC,OAAO,EAAG,EAAoB,EAAE,EAAI,EAAoB,EAAE,CAAG,IAAM,KAAK,CACnF,QAAS,GAAK,EAAM,EAAE,CAAC,SAAS,CAChC,OAAQ,GAAK,EAAM,EAAE,CAAC,QAAQ,CAC9B,YAAa,GAAK,CAChB,IAAM,EAAU,EAAM,EAAE,CACxB,OAAO,EAAQ,SAAS,CAAG,EAAQ,aAAa,CAAG,IAErD,oBAAqB,GAAK,CACxB,IAAM,EAAU,EAAM,EAAE,CACxB,OAAO,EAAQ,SAAS,CAAG,EAAQ,OAAO,aAAa,CAAG,IAE7D,CCEYC,EACX,EAA+B,EAAsB,CAK1CC,EACX,EAA4B,EAAsB,CAIvCC,EACX,EAA8B,EAAsB,CAIzCC,EACX,EAA+B,EAAsB,CAI1CC,EACX,EAA+B,EAAsB,CAI1CC,EACX,EAAgC,EAAsB,CAI3CC,EACX,EAAoC,EAAsB,CAK/CC,EACX,EAA4B,EAAsB,CAKvCC,EACX,EAAqC,EAAsB,CAKhDC,EACX,EAA2B,EAAsB"}
1
+ {"version":3,"file":"react-querybuilder_datetime.production.dayjs.mjs","names":[],"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":"gJAOA,MAAa,EAA+C,CAC1D,QAAS,EAAG,IAAQ,EAAM,EAAE,CAAC,OAAO,EAAI,CACxC,SAAU,EAAG,IAAM,EAAM,EAAE,CAAC,QAAQ,EAAE,CACtC,UAAW,EAAG,IAAM,EAAM,EAAE,CAAC,SAAS,EAAE,CACxC,QAAS,EAAG,IACV,EAAM,EAAE,CAAC,OAAO,EAAG,EAAoB,EAAE,EAAI,EAAoB,EAAE,CAAG,IAAM,KAAK,CACnF,QAAS,GAAK,EAAM,EAAE,CAAC,SAAS,CAChC,OAAQ,GAAK,EAAM,EAAE,CAAC,QAAQ,CAC9B,YAAa,GAAK,CAChB,IAAM,EAAU,EAAM,EAAE,CACxB,OAAO,EAAQ,SAAS,CAAG,EAAQ,aAAa,CAAG,IAErD,oBAAqB,GAAK,CACxB,IAAM,EAAU,EAAM,EAAE,CACxB,OAAO,EAAQ,SAAS,CAAG,EAAQ,OAAO,aAAa,CAAG,IAE7D,CCEY,EACX,EAA+B,EAAsB,CAK1C,EACX,EAA4B,EAAsB,CAIvC,EACX,EAA8B,EAAsB,CAIzC,EACX,EAA+B,EAAsB,CAI1C,EACX,EAA+B,EAAsB,CAI1C,EACX,EAAgC,EAAsB,CAI3C,EACX,EAAoC,EAAsB,CAK/C,EACX,EAA4B,EAAsB,CAKvC,EACX,EAAqC,EAAsB,CAKhD,EACX,EAA2B,EAAsB"}
@@ -1,7 +1,7 @@
1
- import { _ as RuleProcessor, h as RQBJsonLogicDateTimeOperations, i as RQBDateTimeLibraryAPI, v as ValueProcessorByRule } from "./types-C-P0L9xh.mjs";
1
+ import { h as RQBJsonLogicDateTimeOperations, i as RQBDateTimeLibraryAPI } from "./types-IRRXKZl4.mjs";
2
+ import { RuleProcessor, ValueProcessorByRule } from "react-querybuilder";
2
3
 
3
4
  //#region src/rqbDateTimeLibraryAPI.jsdate.d.ts
4
-
5
5
  /**
6
6
  * {@link RQBDateTimeLibraryAPI} for JavaScript `Date`
7
7
  *
@@ -1,2 +1,2 @@
1
- import{a as e,d as t,f as n,i as r,l as i,n as a,o,p as s,r as c,t as l,u}from"./getDatetimeRuleProcessorSQL-Dcqi5kh5.mjs";const d=new Date(NaN),f=/^(\d{4})-(\d{2})-(\d{2})([T ](\d{2}):(\d{2}):(\d{2})(\.(\d{1,3}))?)?/,p=e=>{if(e instanceof Date)return e;let t=f.exec(e);if(!t)return d;let[n,r,i,a,o,s,c,l,u,p]=t,[m,h,g,_,v,y,b]=[r,i,a,s,c,l,p??`0`].filter(Boolean).map(Number),x=h-1;return s?new Date(Date.UTC(m,x,g,_,v,y,b)):new Date(m,x,g)},m=e=>{let t=p(e);return t instanceof Date&&!Number.isNaN(t.getTime())},h=e=>{let t=p(e);return m(t)?t.toISOString().slice(0,10):``},g={format:e=>p(e).toISOString(),isAfter:(e,t)=>{let n=p(e).getTime(),r=p(t).getTime();return!Number.isNaN(n)&&!Number.isNaN(r)&&n>r},isBefore:(e,t)=>{let n=p(e).getTime(),r=p(t).getTime();return!Number.isNaN(n)&&!Number.isNaN(r)&&n<r},isSame:(e,t)=>{let n=p(e),r=p(t);return s(e)||s(t)?h(e)===h(t):n.getTime()===r.getTime()},isValid:m,toDate:p,toISOString:e=>{let t=p(e);return m(t)?t.toISOString():``},toISOStringDateOnly:h},_=n(g),v=l(g),y=a(g),b=c(g),x=r(g),S=e(g),C=o(g),w=t(g),T=u(g),E=i(g);export{w as datetimeRuleProcessorCEL,T as datetimeRuleProcessorMongoDBQuery,E as datetimeRuleProcessorNL,v as datetimeRuleProcessorSQL,y as datetimeValueProcessorANSI,b as datetimeValueProcessorMSSQL,x as datetimeValueProcessorMySQL,S as datetimeValueProcessorOracle,C as datetimeValueProcessorPostgreSQL,_ as jsonLogicDateTimeOperations,g as rqbDateTimeLibraryAPI};
1
+ import{a as e,d as t,f as n,i as r,l as i,n as a,o,p as s,r as c,t as l,u}from"./getDatetimeRuleProcessorSQL-Cbq2-tqd.mjs";const d=new Date(NaN),f=/^(\d{4})-(\d{2})-(\d{2})([T ](\d{2}):(\d{2}):(\d{2})(\.(\d{1,3}))?)?/,p=e=>{if(e instanceof Date)return e;let t=f.exec(e);if(!t)return d;let[n,r,i,a,o,s,c,l,u,p]=t,[m,h,g,_,v,y,b]=[r,i,a,s,c,l,p??`0`].filter(Boolean).map(Number),x=h-1;return s?new Date(Date.UTC(m,x,g,_,v,y,b)):new Date(m,x,g)},m=e=>{let t=p(e);return t instanceof Date&&!Number.isNaN(t.getTime())},h=e=>{let t=p(e);return m(t)?t.toISOString().slice(0,10):``},g={format:e=>p(e).toISOString(),isAfter:(e,t)=>{let n=p(e).getTime(),r=p(t).getTime();return!Number.isNaN(n)&&!Number.isNaN(r)&&n>r},isBefore:(e,t)=>{let n=p(e).getTime(),r=p(t).getTime();return!Number.isNaN(n)&&!Number.isNaN(r)&&n<r},isSame:(e,t)=>{let n=p(e),r=p(t);return s(e)||s(t)?h(e)===h(t):n.getTime()===r.getTime()},isValid:m,toDate:p,toISOString:e=>{let t=p(e);return m(t)?t.toISOString():``},toISOStringDateOnly:h},_=n(g),v=l(g),y=a(g),b=c(g),x=r(g),S=e(g),C=o(g),w=t(g),T=u(g),E=i(g);export{w as datetimeRuleProcessorCEL,T as datetimeRuleProcessorMongoDBQuery,E as datetimeRuleProcessorNL,v as datetimeRuleProcessorSQL,y as datetimeValueProcessorANSI,b as datetimeValueProcessorMSSQL,x as datetimeValueProcessorMySQL,S as datetimeValueProcessorOracle,C as datetimeValueProcessorPostgreSQL,_ as jsonLogicDateTimeOperations,g as rqbDateTimeLibraryAPI};
2
2
  //# sourceMappingURL=react-querybuilder_datetime.production.jsdate.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"react-querybuilder_datetime.production.jsdate.mjs","names":["rqbDateTimeLibraryAPI: RQBDateTimeLibraryAPI","jsonLogicDateTimeOperations: RQBJsonLogicDateTimeOperations","datetimeRuleProcessorSQL: RuleProcessor","datetimeValueProcessorANSI: ValueProcessorByRule","datetimeValueProcessorMSSQL: ValueProcessorByRule","datetimeValueProcessorMySQL: ValueProcessorByRule","datetimeValueProcessorOracle: ValueProcessorByRule","datetimeValueProcessorPostgreSQL: ValueProcessorByRule","datetimeRuleProcessorCEL: RuleProcessor","datetimeRuleProcessorMongoDBQuery: RuleProcessor","datetimeRuleProcessorNL: ValueProcessorByRule"],"sources":["../src/rqbDateTimeLibraryAPI.jsdate.ts","../src/index.jsdate.ts"],"sourcesContent":["import type { RQBDateTimeLibraryAPI } from './types';\nimport { isISOStringDateOnly } from './utils';\n\nconst invalidDate = new Date(Number.NaN);\n\nconst dateRegExp = /^(\\d{4})-(\\d{2})-(\\d{2})([T ](\\d{2}):(\\d{2}):(\\d{2})(\\.(\\d{1,3}))?)?/;\n\nconst toDate = (d: string | Date) => {\n if (d instanceof Date) return d;\n\n const reMatch = dateRegExp.exec(d);\n\n if (!reMatch) return invalidDate;\n\n const [_all, yyyy, mm, dd, _time, hh, mi, ss, _decimal, sss] = reMatch;\n const [year, month, day, hours, minutes, seconds, ms] = [yyyy, mm, dd, hh, mi, ss, sss ?? '0']\n .filter(Boolean)\n .map(Number);\n\n const monthIndex = month - 1;\n\n return hh\n ? new Date(Date.UTC(year, monthIndex, day, hours, minutes, seconds, ms))\n : new Date(year, monthIndex, day);\n};\n\nconst isValid = (d: string | Date) => {\n const dToDate = toDate(d);\n return dToDate instanceof Date && !Number.isNaN(dToDate.getTime());\n};\n\nconst toISOStringDateOnly = (d: string | Date) => {\n const dToDate = toDate(d);\n return isValid(dToDate) ? dToDate.toISOString().slice(0, 10) : '';\n};\n\n/**\n * {@link RQBDateTimeLibraryAPI} for JavaScript `Date`\n *\n * @deprecated This API will not be removed, but we recommend using one of the other\n * {@link RQBDateTimeLibraryAPI}s based on a popular library instead.\n */\nexport const rqbDateTimeLibraryAPI: RQBDateTimeLibraryAPI = {\n format: d => toDate(d).toISOString(),\n isAfter: (a, b) => {\n const dateA = toDate(a).getTime();\n const dateB = toDate(b).getTime();\n return !Number.isNaN(dateA) && !Number.isNaN(dateB) && dateA > dateB;\n },\n isBefore: (a, b) => {\n const dateA = toDate(a).getTime();\n const dateB = toDate(b).getTime();\n return !Number.isNaN(dateA) && !Number.isNaN(dateB) && dateA < dateB;\n },\n isSame: (a, b) => {\n const aToDate = toDate(a);\n const bToDate = toDate(b);\n return isISOStringDateOnly(a) || isISOStringDateOnly(b)\n ? toISOStringDateOnly(a) === toISOStringDateOnly(b)\n : aToDate.getTime() === bToDate.getTime();\n },\n isValid,\n toDate,\n toISOString: d => {\n const dToDate = toDate(d);\n return isValid(dToDate) ? dToDate.toISOString() : '';\n },\n toISOStringDateOnly,\n};\n","/**\n * Import from `\"@react-querybuilder/datetime/jsdate\"` for enhanced date/time support using a custom JavaScript `Date`-based library.\n *\n * @module jsdate\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.jsdate';\nimport type { RQBJsonLogicDateTimeOperations } from './types';\n\n/**\n * Custom JsonLogic date/time operations using JavaScript `Date`.\n */\nexport const jsonLogicDateTimeOperations: RQBJsonLogicDateTimeOperations =\n getDatetimeJsonLogicOperations(rqbDateTimeLibraryAPI);\n\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for \"sql\" format using JavaScript `Date`\n */\nexport const datetimeRuleProcessorSQL: RuleProcessor =\n getDatetimeRuleProcessorSQL(rqbDateTimeLibraryAPI);\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} value processor for \"sql\" format (\"ansi\" preset) using JavaScript `Date`\n */\nexport const datetimeValueProcessorANSI: ValueProcessorByRule =\n getDatetimeValueProcessorANSI(rqbDateTimeLibraryAPI);\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} value processor for \"sql\" format (\"mssql\" preset) using JavaScript `Date`\n */\nexport const datetimeValueProcessorMSSQL: ValueProcessorByRule =\n getDatetimeValueProcessorMSSQL(rqbDateTimeLibraryAPI);\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} value processor for \"sql\" format (\"mysql\" preset) using JavaScript `Date`\n */\nexport const datetimeValueProcessorMySQL: ValueProcessorByRule =\n getDatetimeValueProcessorMySQL(rqbDateTimeLibraryAPI);\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} value processor for \"sql\" format (\"oracle\" preset) using JavaScript `Date`\n */\nexport const datetimeValueProcessorOracle: ValueProcessorByRule =\n getDatetimeValueProcessorOracle(rqbDateTimeLibraryAPI);\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} value processor for \"sql\" format (\"postgresql\" preset) using JavaScript `Date`\n */\nexport const datetimeValueProcessorPostgreSQL: ValueProcessorByRule =\n getDatetimeValueProcessorPostgreSQL(rqbDateTimeLibraryAPI);\n\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for \"cel\" format using JavaScript `Date`\n */\nexport const datetimeRuleProcessorCEL: RuleProcessor =\n getDatetimeRuleProcessorCEL(rqbDateTimeLibraryAPI);\n\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for \"mongodb_query\" format using JavaScript `Date`\n */\nexport const datetimeRuleProcessorMongoDBQuery: RuleProcessor =\n getDatetimeRuleProcessorMongoDBQuery(rqbDateTimeLibraryAPI);\n\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for \"natural_language\" format using JavaScript `Date`\n */\nexport const datetimeRuleProcessorNL: ValueProcessorByRule =\n getDatetimeRuleProcessorNL(rqbDateTimeLibraryAPI);\n\nexport * from './rqbDateTimeLibraryAPI.jsdate';\n"],"mappings":"2HAGA,MAAM,EAAc,IAAI,KAAK,IAAW,CAElC,EAAa,uEAEb,EAAU,GAAqB,CACnC,GAAI,aAAa,KAAM,OAAO,EAE9B,IAAM,EAAU,EAAW,KAAK,EAAE,CAElC,GAAI,CAAC,EAAS,OAAO,EAErB,GAAM,CAAC,EAAM,EAAM,EAAI,EAAI,EAAO,EAAI,EAAI,EAAI,EAAU,GAAO,EACzD,CAAC,EAAM,EAAO,EAAK,EAAO,EAAS,EAAS,GAAM,CAAC,EAAM,EAAI,EAAI,EAAI,EAAI,EAAI,GAAO,IAAI,CAC3F,OAAO,QAAQ,CACf,IAAI,OAAO,CAER,EAAa,EAAQ,EAE3B,OAAO,EACH,IAAI,KAAK,KAAK,IAAI,EAAM,EAAY,EAAK,EAAO,EAAS,EAAS,EAAG,CAAC,CACtE,IAAI,KAAK,EAAM,EAAY,EAAI,EAG/B,EAAW,GAAqB,CACpC,IAAM,EAAU,EAAO,EAAE,CACzB,OAAO,aAAmB,MAAQ,CAAC,OAAO,MAAM,EAAQ,SAAS,CAAC,EAG9D,EAAuB,GAAqB,CAChD,IAAM,EAAU,EAAO,EAAE,CACzB,OAAO,EAAQ,EAAQ,CAAG,EAAQ,aAAa,CAAC,MAAM,EAAG,GAAG,CAAG,IASpDA,EAA+C,CAC1D,OAAQ,GAAK,EAAO,EAAE,CAAC,aAAa,CACpC,SAAU,EAAG,IAAM,CACjB,IAAM,EAAQ,EAAO,EAAE,CAAC,SAAS,CAC3B,EAAQ,EAAO,EAAE,CAAC,SAAS,CACjC,MAAO,CAAC,OAAO,MAAM,EAAM,EAAI,CAAC,OAAO,MAAM,EAAM,EAAI,EAAQ,GAEjE,UAAW,EAAG,IAAM,CAClB,IAAM,EAAQ,EAAO,EAAE,CAAC,SAAS,CAC3B,EAAQ,EAAO,EAAE,CAAC,SAAS,CACjC,MAAO,CAAC,OAAO,MAAM,EAAM,EAAI,CAAC,OAAO,MAAM,EAAM,EAAI,EAAQ,GAEjE,QAAS,EAAG,IAAM,CAChB,IAAM,EAAU,EAAO,EAAE,CACnB,EAAU,EAAO,EAAE,CACzB,OAAO,EAAoB,EAAE,EAAI,EAAoB,EAAE,CACnD,EAAoB,EAAE,GAAK,EAAoB,EAAE,CACjD,EAAQ,SAAS,GAAK,EAAQ,SAAS,EAE7C,UACA,SACA,YAAa,GAAK,CAChB,IAAM,EAAU,EAAO,EAAE,CACzB,OAAO,EAAQ,EAAQ,CAAG,EAAQ,aAAa,CAAG,IAEpD,sBACD,CC3CYC,EACX,EAA+B,EAAsB,CAK1CC,EACX,EAA4B,EAAsB,CAIvCC,EACX,EAA8B,EAAsB,CAIzCC,EACX,EAA+B,EAAsB,CAI1CC,EACX,EAA+B,EAAsB,CAI1CC,EACX,EAAgC,EAAsB,CAI3CC,EACX,EAAoC,EAAsB,CAK/CC,EACX,EAA4B,EAAsB,CAKvCC,EACX,EAAqC,EAAsB,CAKhDC,EACX,EAA2B,EAAsB"}
1
+ {"version":3,"file":"react-querybuilder_datetime.production.jsdate.mjs","names":[],"sources":["../src/rqbDateTimeLibraryAPI.jsdate.ts","../src/index.jsdate.ts"],"sourcesContent":["import type { RQBDateTimeLibraryAPI } from './types';\nimport { isISOStringDateOnly } from './utils';\n\nconst invalidDate = new Date(Number.NaN);\n\nconst dateRegExp = /^(\\d{4})-(\\d{2})-(\\d{2})([T ](\\d{2}):(\\d{2}):(\\d{2})(\\.(\\d{1,3}))?)?/;\n\nconst toDate = (d: string | Date) => {\n if (d instanceof Date) return d;\n\n const reMatch = dateRegExp.exec(d);\n\n if (!reMatch) return invalidDate;\n\n const [_all, yyyy, mm, dd, _time, hh, mi, ss, _decimal, sss] = reMatch;\n const [year, month, day, hours, minutes, seconds, ms] = [yyyy, mm, dd, hh, mi, ss, sss ?? '0']\n .filter(Boolean)\n .map(Number);\n\n const monthIndex = month - 1;\n\n return hh\n ? new Date(Date.UTC(year, monthIndex, day, hours, minutes, seconds, ms))\n : new Date(year, monthIndex, day);\n};\n\nconst isValid = (d: string | Date) => {\n const dToDate = toDate(d);\n return dToDate instanceof Date && !Number.isNaN(dToDate.getTime());\n};\n\nconst toISOStringDateOnly = (d: string | Date) => {\n const dToDate = toDate(d);\n return isValid(dToDate) ? dToDate.toISOString().slice(0, 10) : '';\n};\n\n/**\n * {@link RQBDateTimeLibraryAPI} for JavaScript `Date`\n *\n * @deprecated This API will not be removed, but we recommend using one of the other\n * {@link RQBDateTimeLibraryAPI}s based on a popular library instead.\n */\nexport const rqbDateTimeLibraryAPI: RQBDateTimeLibraryAPI = {\n format: d => toDate(d).toISOString(),\n isAfter: (a, b) => {\n const dateA = toDate(a).getTime();\n const dateB = toDate(b).getTime();\n return !Number.isNaN(dateA) && !Number.isNaN(dateB) && dateA > dateB;\n },\n isBefore: (a, b) => {\n const dateA = toDate(a).getTime();\n const dateB = toDate(b).getTime();\n return !Number.isNaN(dateA) && !Number.isNaN(dateB) && dateA < dateB;\n },\n isSame: (a, b) => {\n const aToDate = toDate(a);\n const bToDate = toDate(b);\n return isISOStringDateOnly(a) || isISOStringDateOnly(b)\n ? toISOStringDateOnly(a) === toISOStringDateOnly(b)\n : aToDate.getTime() === bToDate.getTime();\n },\n isValid,\n toDate,\n toISOString: d => {\n const dToDate = toDate(d);\n return isValid(dToDate) ? dToDate.toISOString() : '';\n },\n toISOStringDateOnly,\n};\n","/**\n * Import from `\"@react-querybuilder/datetime/jsdate\"` for enhanced date/time support using a custom JavaScript `Date`-based library.\n *\n * @module jsdate\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.jsdate';\nimport type { RQBJsonLogicDateTimeOperations } from './types';\n\n/**\n * Custom JsonLogic date/time operations using JavaScript `Date`.\n */\nexport const jsonLogicDateTimeOperations: RQBJsonLogicDateTimeOperations =\n getDatetimeJsonLogicOperations(rqbDateTimeLibraryAPI);\n\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for \"sql\" format using JavaScript `Date`\n */\nexport const datetimeRuleProcessorSQL: RuleProcessor =\n getDatetimeRuleProcessorSQL(rqbDateTimeLibraryAPI);\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} value processor for \"sql\" format (\"ansi\" preset) using JavaScript `Date`\n */\nexport const datetimeValueProcessorANSI: ValueProcessorByRule =\n getDatetimeValueProcessorANSI(rqbDateTimeLibraryAPI);\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} value processor for \"sql\" format (\"mssql\" preset) using JavaScript `Date`\n */\nexport const datetimeValueProcessorMSSQL: ValueProcessorByRule =\n getDatetimeValueProcessorMSSQL(rqbDateTimeLibraryAPI);\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} value processor for \"sql\" format (\"mysql\" preset) using JavaScript `Date`\n */\nexport const datetimeValueProcessorMySQL: ValueProcessorByRule =\n getDatetimeValueProcessorMySQL(rqbDateTimeLibraryAPI);\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} value processor for \"sql\" format (\"oracle\" preset) using JavaScript `Date`\n */\nexport const datetimeValueProcessorOracle: ValueProcessorByRule =\n getDatetimeValueProcessorOracle(rqbDateTimeLibraryAPI);\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} value processor for \"sql\" format (\"postgresql\" preset) using JavaScript `Date`\n */\nexport const datetimeValueProcessorPostgreSQL: ValueProcessorByRule =\n getDatetimeValueProcessorPostgreSQL(rqbDateTimeLibraryAPI);\n\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for \"cel\" format using JavaScript `Date`\n */\nexport const datetimeRuleProcessorCEL: RuleProcessor =\n getDatetimeRuleProcessorCEL(rqbDateTimeLibraryAPI);\n\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for \"mongodb_query\" format using JavaScript `Date`\n */\nexport const datetimeRuleProcessorMongoDBQuery: RuleProcessor =\n getDatetimeRuleProcessorMongoDBQuery(rqbDateTimeLibraryAPI);\n\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for \"natural_language\" format using JavaScript `Date`\n */\nexport const datetimeRuleProcessorNL: ValueProcessorByRule =\n getDatetimeRuleProcessorNL(rqbDateTimeLibraryAPI);\n\nexport * from './rqbDateTimeLibraryAPI.jsdate';\n"],"mappings":"2HAGA,MAAM,EAAc,IAAI,KAAK,IAAW,CAElC,EAAa,uEAEb,EAAU,GAAqB,CACnC,GAAI,aAAa,KAAM,OAAO,EAE9B,IAAM,EAAU,EAAW,KAAK,EAAE,CAElC,GAAI,CAAC,EAAS,OAAO,EAErB,GAAM,CAAC,EAAM,EAAM,EAAI,EAAI,EAAO,EAAI,EAAI,EAAI,EAAU,GAAO,EACzD,CAAC,EAAM,EAAO,EAAK,EAAO,EAAS,EAAS,GAAM,CAAC,EAAM,EAAI,EAAI,EAAI,EAAI,EAAI,GAAO,IAAI,CAC3F,OAAO,QAAQ,CACf,IAAI,OAAO,CAER,EAAa,EAAQ,EAE3B,OAAO,EACH,IAAI,KAAK,KAAK,IAAI,EAAM,EAAY,EAAK,EAAO,EAAS,EAAS,EAAG,CAAC,CACtE,IAAI,KAAK,EAAM,EAAY,EAAI,EAG/B,EAAW,GAAqB,CACpC,IAAM,EAAU,EAAO,EAAE,CACzB,OAAO,aAAmB,MAAQ,CAAC,OAAO,MAAM,EAAQ,SAAS,CAAC,EAG9D,EAAuB,GAAqB,CAChD,IAAM,EAAU,EAAO,EAAE,CACzB,OAAO,EAAQ,EAAQ,CAAG,EAAQ,aAAa,CAAC,MAAM,EAAG,GAAG,CAAG,IASpD,EAA+C,CAC1D,OAAQ,GAAK,EAAO,EAAE,CAAC,aAAa,CACpC,SAAU,EAAG,IAAM,CACjB,IAAM,EAAQ,EAAO,EAAE,CAAC,SAAS,CAC3B,EAAQ,EAAO,EAAE,CAAC,SAAS,CACjC,MAAO,CAAC,OAAO,MAAM,EAAM,EAAI,CAAC,OAAO,MAAM,EAAM,EAAI,EAAQ,GAEjE,UAAW,EAAG,IAAM,CAClB,IAAM,EAAQ,EAAO,EAAE,CAAC,SAAS,CAC3B,EAAQ,EAAO,EAAE,CAAC,SAAS,CACjC,MAAO,CAAC,OAAO,MAAM,EAAM,EAAI,CAAC,OAAO,MAAM,EAAM,EAAI,EAAQ,GAEjE,QAAS,EAAG,IAAM,CAChB,IAAM,EAAU,EAAO,EAAE,CACnB,EAAU,EAAO,EAAE,CACzB,OAAO,EAAoB,EAAE,EAAI,EAAoB,EAAE,CACnD,EAAoB,EAAE,GAAK,EAAoB,EAAE,CACjD,EAAQ,SAAS,GAAK,EAAQ,SAAS,EAE7C,UACA,SACA,YAAa,GAAK,CAChB,IAAM,EAAU,EAAO,EAAE,CACzB,OAAO,EAAQ,EAAQ,CAAG,EAAQ,aAAa,CAAG,IAEpD,sBACD,CC3CY,EACX,EAA+B,EAAsB,CAK1C,EACX,EAA4B,EAAsB,CAIvC,EACX,EAA8B,EAAsB,CAIzC,EACX,EAA+B,EAAsB,CAI1C,EACX,EAA+B,EAAsB,CAI1C,EACX,EAAgC,EAAsB,CAI3C,EACX,EAAoC,EAAsB,CAK/C,EACX,EAA4B,EAAsB,CAKvC,EACX,EAAqC,EAAsB,CAKhD,EACX,EAA2B,EAAsB"}
@@ -1,7 +1,7 @@
1
- import { _ as RuleProcessor, h as RQBJsonLogicDateTimeOperations, i as RQBDateTimeLibraryAPI, v as ValueProcessorByRule } from "./types-C-P0L9xh.mjs";
1
+ import { h as RQBJsonLogicDateTimeOperations, i as RQBDateTimeLibraryAPI } from "./types-IRRXKZl4.mjs";
2
+ import { RuleProcessor, ValueProcessorByRule } from "react-querybuilder";
2
3
 
3
4
  //#region src/rqbDateTimeLibraryAPI.luxon.d.ts
4
-
5
5
  /**
6
6
  * {@link RQBDateTimeLibraryAPI} for Luxon
7
7
  */
@@ -1,2 +1,2 @@
1
- import{a as e,d as t,f as n,i as r,l as i,n as a,o,p as s,r as c,t as l,u}from"./getDatetimeRuleProcessorSQL-Dcqi5kh5.mjs";import{DateTime as d}from"luxon";const f=e=>typeof e==`string`?d.fromISO(e):d.fromJSDate(e),p=`yyyy-MM-dd`,m={format:(e,t)=>f(e).toFormat(t.replace(`YYYY-MM-DD`,p)),isAfter:(e,t)=>f(e)>f(t),isBefore:(e,t)=>f(e)<f(t),isSame:(e,t)=>s(e)||s(t)?f(e).hasSame(f(t),`day`):+f(e)==+f(t),isValid:e=>f(e).isValid,toDate:e=>f(e).toJSDate(),toISOString:e=>{let t=f(e);return t.isValid?t.toJSDate().toISOString():``},toISOStringDateOnly:e=>{let t=f(e);return t.isValid?t.toFormat(p):``}},h=n(m),g=l(m),_=a(m),v=c(m),y=r(m),b=e(m),x=o(m),S=t(m),C=u(m),w=i(m);export{S as datetimeRuleProcessorCEL,C as datetimeRuleProcessorMongoDBQuery,w as datetimeRuleProcessorNL,g as datetimeRuleProcessorSQL,_ as datetimeValueProcessorANSI,v as datetimeValueProcessorMSSQL,y as datetimeValueProcessorMySQL,b as datetimeValueProcessorOracle,x as datetimeValueProcessorPostgreSQL,h as jsonLogicDateTimeOperations,m as rqbDateTimeLibraryAPI};
1
+ import{a as e,d as t,f as n,i as r,l as i,n as a,o,p as s,r as c,t as l,u}from"./getDatetimeRuleProcessorSQL-Cbq2-tqd.mjs";import{DateTime as d}from"luxon";const f=e=>typeof e==`string`?d.fromISO(e):d.fromJSDate(e),p=`yyyy-MM-dd`,m={format:(e,t)=>f(e).toFormat(t.replace(`YYYY-MM-DD`,p)),isAfter:(e,t)=>f(e)>f(t),isBefore:(e,t)=>f(e)<f(t),isSame:(e,t)=>s(e)||s(t)?f(e).hasSame(f(t),`day`):+f(e)==+f(t),isValid:e=>f(e).isValid,toDate:e=>f(e).toJSDate(),toISOString:e=>{let t=f(e);return t.isValid?t.toJSDate().toISOString():``},toISOStringDateOnly:e=>{let t=f(e);return t.isValid?t.toFormat(p):``}},h=n(m),g=l(m),_=a(m),v=c(m),y=r(m),b=e(m),x=o(m),S=t(m),C=u(m),w=i(m);export{S as datetimeRuleProcessorCEL,C as datetimeRuleProcessorMongoDBQuery,w as datetimeRuleProcessorNL,g as datetimeRuleProcessorSQL,_ as datetimeValueProcessorANSI,v as datetimeValueProcessorMSSQL,y as datetimeValueProcessorMySQL,b as datetimeValueProcessorOracle,x as datetimeValueProcessorPostgreSQL,h as jsonLogicDateTimeOperations,m as rqbDateTimeLibraryAPI};
2
2
  //# sourceMappingURL=react-querybuilder_datetime.production.luxon.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"react-querybuilder_datetime.production.luxon.mjs","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.luxon.ts","../src/index.luxon.ts"],"sourcesContent":["import { DateTime } from 'luxon';\nimport type { RQBDateTimeLibraryAPI } from './types';\nimport { isISOStringDateOnly } from './utils';\n\nconst toDateTime = (a: string | Date) =>\n typeof a === 'string' ? DateTime.fromISO(a) : DateTime.fromJSDate(a);\nconst iso8601DateOnly = 'yyyy-MM-dd';\n\n/**\n * {@link RQBDateTimeLibraryAPI} for Luxon\n */\nexport const rqbDateTimeLibraryAPI: RQBDateTimeLibraryAPI = {\n format: (d, fmt) => toDateTime(d).toFormat(fmt.replace('YYYY-MM-DD', iso8601DateOnly)),\n isAfter: (a, b) => toDateTime(a) > toDateTime(b),\n isBefore: (a, b) => toDateTime(a) < toDateTime(b),\n isSame: (a, b) =>\n isISOStringDateOnly(a) || isISOStringDateOnly(b)\n ? toDateTime(a).hasSame(toDateTime(b), 'day')\n : +toDateTime(a) === +toDateTime(b),\n isValid: d => toDateTime(d).isValid,\n toDate: d => toDateTime(d).toJSDate(),\n toISOString: d => {\n const dToDate = toDateTime(d);\n return dToDate.isValid ? dToDate.toJSDate().toISOString() : '';\n },\n toISOStringDateOnly: d => {\n const dToDate = toDateTime(d);\n return dToDate.isValid ? dToDate.toFormat(iso8601DateOnly) : '';\n },\n};\n","/**\n * Import from `\"@react-querybuilder/datetime/luxon\"` for enhanced date/time support using [Luxon](https://moment.github.io/luxon/).\n *\n * @module luxon\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.luxon';\nimport type { RQBJsonLogicDateTimeOperations } from './types';\n\n/**\n * Custom JsonLogic date/time operations using Luxon\n */\nexport const jsonLogicDateTimeOperations: RQBJsonLogicDateTimeOperations =\n getDatetimeJsonLogicOperations(rqbDateTimeLibraryAPI);\n\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for \"sql\" format using Luxon\n */\nexport const datetimeRuleProcessorSQL: RuleProcessor =\n getDatetimeRuleProcessorSQL(rqbDateTimeLibraryAPI);\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} value processor for \"sql\" format (\"ansi\" preset) using Luxon\n */\nexport const datetimeValueProcessorANSI: ValueProcessorByRule =\n getDatetimeValueProcessorANSI(rqbDateTimeLibraryAPI);\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} value processor for \"sql\" format (\"mssql\" preset) using Luxon\n */\nexport const datetimeValueProcessorMSSQL: ValueProcessorByRule =\n getDatetimeValueProcessorMSSQL(rqbDateTimeLibraryAPI);\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} value processor for \"sql\" format (\"mysql\" preset) using Luxon\n */\nexport const datetimeValueProcessorMySQL: ValueProcessorByRule =\n getDatetimeValueProcessorMySQL(rqbDateTimeLibraryAPI);\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} value processor for \"sql\" format (\"oracle\" preset) using Luxon\n */\nexport const datetimeValueProcessorOracle: ValueProcessorByRule =\n getDatetimeValueProcessorOracle(rqbDateTimeLibraryAPI);\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} value processor for \"sql\" format (\"postgresql\" preset) using Luxon\n */\nexport const datetimeValueProcessorPostgreSQL: ValueProcessorByRule =\n getDatetimeValueProcessorPostgreSQL(rqbDateTimeLibraryAPI);\n\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for \"cel\" format using Luxon\n */\nexport const datetimeRuleProcessorCEL: ValueProcessorByRule =\n getDatetimeRuleProcessorCEL(rqbDateTimeLibraryAPI);\n\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for \"mongodb_query\" format using Luxon\n */\nexport const datetimeRuleProcessorMongoDBQuery: ValueProcessorByRule =\n getDatetimeRuleProcessorMongoDBQuery(rqbDateTimeLibraryAPI);\n\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for \"natural_language\" format using Luxon\n */\nexport const datetimeRuleProcessorNL: ValueProcessorByRule =\n getDatetimeRuleProcessorNL(rqbDateTimeLibraryAPI);\n\nexport * from './rqbDateTimeLibraryAPI.luxon';\n"],"mappings":"4JAIA,MAAM,EAAc,GAClB,OAAO,GAAM,SAAW,EAAS,QAAQ,EAAE,CAAG,EAAS,WAAW,EAAE,CAChE,EAAkB,aAKXA,EAA+C,CAC1D,QAAS,EAAG,IAAQ,EAAW,EAAE,CAAC,SAAS,EAAI,QAAQ,aAAc,EAAgB,CAAC,CACtF,SAAU,EAAG,IAAM,EAAW,EAAE,CAAG,EAAW,EAAE,CAChD,UAAW,EAAG,IAAM,EAAW,EAAE,CAAG,EAAW,EAAE,CACjD,QAAS,EAAG,IACV,EAAoB,EAAE,EAAI,EAAoB,EAAE,CAC5C,EAAW,EAAE,CAAC,QAAQ,EAAW,EAAE,CAAE,MAAM,CAC3C,CAAC,EAAW,EAAE,EAAK,CAAC,EAAW,EAAE,CACvC,QAAS,GAAK,EAAW,EAAE,CAAC,QAC5B,OAAQ,GAAK,EAAW,EAAE,CAAC,UAAU,CACrC,YAAa,GAAK,CAChB,IAAM,EAAU,EAAW,EAAE,CAC7B,OAAO,EAAQ,QAAU,EAAQ,UAAU,CAAC,aAAa,CAAG,IAE9D,oBAAqB,GAAK,CACxB,IAAM,EAAU,EAAW,EAAE,CAC7B,OAAO,EAAQ,QAAU,EAAQ,SAAS,EAAgB,CAAG,IAEhE,CCJYC,EACX,EAA+B,EAAsB,CAK1CC,EACX,EAA4B,EAAsB,CAIvCC,EACX,EAA8B,EAAsB,CAIzCC,EACX,EAA+B,EAAsB,CAI1CC,EACX,EAA+B,EAAsB,CAI1CC,EACX,EAAgC,EAAsB,CAI3CC,EACX,EAAoC,EAAsB,CAK/CC,EACX,EAA4B,EAAsB,CAKvCC,EACX,EAAqC,EAAsB,CAKhDC,EACX,EAA2B,EAAsB"}
1
+ {"version":3,"file":"react-querybuilder_datetime.production.luxon.mjs","names":[],"sources":["../src/rqbDateTimeLibraryAPI.luxon.ts","../src/index.luxon.ts"],"sourcesContent":["import { DateTime } from 'luxon';\nimport type { RQBDateTimeLibraryAPI } from './types';\nimport { isISOStringDateOnly } from './utils';\n\nconst toDateTime = (a: string | Date) =>\n typeof a === 'string' ? DateTime.fromISO(a) : DateTime.fromJSDate(a);\nconst iso8601DateOnly = 'yyyy-MM-dd';\n\n/**\n * {@link RQBDateTimeLibraryAPI} for Luxon\n */\nexport const rqbDateTimeLibraryAPI: RQBDateTimeLibraryAPI = {\n format: (d, fmt) => toDateTime(d).toFormat(fmt.replace('YYYY-MM-DD', iso8601DateOnly)),\n isAfter: (a, b) => toDateTime(a) > toDateTime(b),\n isBefore: (a, b) => toDateTime(a) < toDateTime(b),\n isSame: (a, b) =>\n isISOStringDateOnly(a) || isISOStringDateOnly(b)\n ? toDateTime(a).hasSame(toDateTime(b), 'day')\n : +toDateTime(a) === +toDateTime(b),\n isValid: d => toDateTime(d).isValid,\n toDate: d => toDateTime(d).toJSDate(),\n toISOString: d => {\n const dToDate = toDateTime(d);\n return dToDate.isValid ? dToDate.toJSDate().toISOString() : '';\n },\n toISOStringDateOnly: d => {\n const dToDate = toDateTime(d);\n return dToDate.isValid ? dToDate.toFormat(iso8601DateOnly) : '';\n },\n};\n","/**\n * Import from `\"@react-querybuilder/datetime/luxon\"` for enhanced date/time support using [Luxon](https://moment.github.io/luxon/).\n *\n * @module luxon\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.luxon';\nimport type { RQBJsonLogicDateTimeOperations } from './types';\n\n/**\n * Custom JsonLogic date/time operations using Luxon\n */\nexport const jsonLogicDateTimeOperations: RQBJsonLogicDateTimeOperations =\n getDatetimeJsonLogicOperations(rqbDateTimeLibraryAPI);\n\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for \"sql\" format using Luxon\n */\nexport const datetimeRuleProcessorSQL: RuleProcessor =\n getDatetimeRuleProcessorSQL(rqbDateTimeLibraryAPI);\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} value processor for \"sql\" format (\"ansi\" preset) using Luxon\n */\nexport const datetimeValueProcessorANSI: ValueProcessorByRule =\n getDatetimeValueProcessorANSI(rqbDateTimeLibraryAPI);\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} value processor for \"sql\" format (\"mssql\" preset) using Luxon\n */\nexport const datetimeValueProcessorMSSQL: ValueProcessorByRule =\n getDatetimeValueProcessorMSSQL(rqbDateTimeLibraryAPI);\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} value processor for \"sql\" format (\"mysql\" preset) using Luxon\n */\nexport const datetimeValueProcessorMySQL: ValueProcessorByRule =\n getDatetimeValueProcessorMySQL(rqbDateTimeLibraryAPI);\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} value processor for \"sql\" format (\"oracle\" preset) using Luxon\n */\nexport const datetimeValueProcessorOracle: ValueProcessorByRule =\n getDatetimeValueProcessorOracle(rqbDateTimeLibraryAPI);\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} value processor for \"sql\" format (\"postgresql\" preset) using Luxon\n */\nexport const datetimeValueProcessorPostgreSQL: ValueProcessorByRule =\n getDatetimeValueProcessorPostgreSQL(rqbDateTimeLibraryAPI);\n\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for \"cel\" format using Luxon\n */\nexport const datetimeRuleProcessorCEL: ValueProcessorByRule =\n getDatetimeRuleProcessorCEL(rqbDateTimeLibraryAPI);\n\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for \"mongodb_query\" format using Luxon\n */\nexport const datetimeRuleProcessorMongoDBQuery: ValueProcessorByRule =\n getDatetimeRuleProcessorMongoDBQuery(rqbDateTimeLibraryAPI);\n\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for \"natural_language\" format using Luxon\n */\nexport const datetimeRuleProcessorNL: ValueProcessorByRule =\n getDatetimeRuleProcessorNL(rqbDateTimeLibraryAPI);\n\nexport * from './rqbDateTimeLibraryAPI.luxon';\n"],"mappings":"4JAIA,MAAM,EAAc,GAClB,OAAO,GAAM,SAAW,EAAS,QAAQ,EAAE,CAAG,EAAS,WAAW,EAAE,CAChE,EAAkB,aAKX,EAA+C,CAC1D,QAAS,EAAG,IAAQ,EAAW,EAAE,CAAC,SAAS,EAAI,QAAQ,aAAc,EAAgB,CAAC,CACtF,SAAU,EAAG,IAAM,EAAW,EAAE,CAAG,EAAW,EAAE,CAChD,UAAW,EAAG,IAAM,EAAW,EAAE,CAAG,EAAW,EAAE,CACjD,QAAS,EAAG,IACV,EAAoB,EAAE,EAAI,EAAoB,EAAE,CAC5C,EAAW,EAAE,CAAC,QAAQ,EAAW,EAAE,CAAE,MAAM,CAC3C,CAAC,EAAW,EAAE,EAAK,CAAC,EAAW,EAAE,CACvC,QAAS,GAAK,EAAW,EAAE,CAAC,QAC5B,OAAQ,GAAK,EAAW,EAAE,CAAC,UAAU,CACrC,YAAa,GAAK,CAChB,IAAM,EAAU,EAAW,EAAE,CAC7B,OAAO,EAAQ,QAAU,EAAQ,UAAU,CAAC,aAAa,CAAG,IAE9D,oBAAqB,GAAK,CACxB,IAAM,EAAU,EAAW,EAAE,CAC7B,OAAO,EAAQ,QAAU,EAAQ,SAAS,EAAgB,CAAG,IAEhE,CCJY,EACX,EAA+B,EAAsB,CAK1C,EACX,EAA4B,EAAsB,CAIvC,EACX,EAA8B,EAAsB,CAIzC,EACX,EAA+B,EAAsB,CAI1C,EACX,EAA+B,EAAsB,CAI1C,EACX,EAAgC,EAAsB,CAI3C,EACX,EAAoC,EAAsB,CAK/C,EACX,EAA4B,EAAsB,CAKvC,EACX,EAAqC,EAAsB,CAKhD,EACX,EAA2B,EAAsB"}
@@ -1,2 +1,2 @@
1
- import{a as e,c as t,d as n,f as r,i,l as a,m as o,n as s,o as c,r as l,s as u,t as d,u as f}from"./getDatetimeRuleProcessorSQL-Dcqi5kh5.mjs";import{defaultRuleProcessorJSONata as p,defaultRuleProcessorJsonLogic as m,getQuotedFieldName as h,nullOrUndefinedOrEmpty as g,toArray as _}from"react-querybuilder";const v={"!=":`dateNotOn`,"<":`dateBefore`,"<=":`dateOnOrBefore`,"=":`dateOn`,">":`dateAfter`,">=":`dateOnOrAfter`,between:`dateBetween`,in:`dateIn`,notBetween:`dateNotBetween`,notIn:`dateNotIn`},y=(e,t)=>{let n=t??{};if(!o(n.context?.isDateField,e,n))return m(e,n);let{field:r,operator:i,value:a,valueSource:s}=e,c=s===`field`,l={var:r},u=e=>c?{var:`${e}`}:e;switch(i){case`<`:case`<=`:case`=`:case`!=`:case`>`:case`>=`:return{[v[i]]:[l,u(a)]};case`in`:case`notIn`:{let e=_(a).map(e=>u(e));return{[v[i]]:[l,e]}}case`between`:case`notBetween`:{let e=_(a).map(e=>u(e));return e.length<2?!1:{[v[i]]:[e[0],l,e[1]]}}}return m(e,t)},b=e=>/^(does)?not/i.test(e),x=(e,t)=>t?`$not(${e})`:`${e}`,S=e=>(t,n)=>{let r=n??{},{context:i={}}=r,{quoteFieldNamesWith:a=[``,``],fieldIdentifierSeparator:s=``}=r,{field:c,operator:l,value:u,valueSource:d}=t;if(!o(i.isDateField,t,r))return p(t,r);let f=d===`field`,m=e=>`$toMillis(${h(e,{quoteFieldNamesWith:a,fieldIdentifierSeparator:s})})`,v=t=>`$toMillis("${e.toISOString(t)}")`;switch(l){case`<`:case`<=`:case`=`:case`!=`:case`>`:case`>=`:return`${m(c)} ${l} ${f?m(u):v(u)}`}let y=_(t.value,{retainEmptyStrings:!1}),S=y.map(t=>e.toDate(t)).filter(t=>e.isValid(t));switch(l){case`in`:case`notIn`:return f?y.length===0?``:x(`${m(c)} in [${y.map(e=>m(e)).join(`, `)}]`,b(l)):S.length===0?``:x(`${m(c)} in [${S.map(e=>v(e)).join(`, `)}]`,b(l));case`between`:case`notBetween`:{if(y.length<2||g(y[0])||g(y[1])||!f&&S.length<2)return``;if(f){let[e,t]=y,n=`${m(c)} >= ${m(e)} and ${m(c)} <= ${m(t)}`;return l===`between`?`(${n})`:x(n,!0)}let[t,n]=S,[r,i]=e.isBefore(t,n)?[t,n]:[n,t],a=`${m(c)} >= ${v(r)} and ${m(c)} <= ${v(i)}`;return l===`between`?`(${a})`:x(a,!0)}}return p(t,r)};export{y as datetimeRuleProcessorJsonLogic,u as datetimeValueProcessorNL,t as defaultDateTimeNLOperatorMap,r as getDatetimeJsonLogicOperations,n as getDatetimeRuleProcessorCEL,S as getDatetimeRuleProcessorJSONata,f as getDatetimeRuleProcessorMongoDBQuery,a as getDatetimeRuleProcessorNL,d as getDatetimeRuleProcessorSQL,s as getDatetimeValueProcessorANSI,l as getDatetimeValueProcessorMSSQL,i as getDatetimeValueProcessorMySQL,e as getDatetimeValueProcessorOracle,c as getDatetimeValueProcessorPostgreSQL};
1
+ import{a as e,c as t,d as n,f as r,i,l as a,m as o,n as s,o as c,r as l,s as u,t as d,u as f}from"./getDatetimeRuleProcessorSQL-Cbq2-tqd.mjs";import{defaultRuleProcessorJSONata as p,defaultRuleProcessorJsonLogic as m,getQuotedFieldName as h,nullOrUndefinedOrEmpty as g,toArray as _}from"react-querybuilder";const v={"!=":`dateNotOn`,"<":`dateBefore`,"<=":`dateOnOrBefore`,"=":`dateOn`,">":`dateAfter`,">=":`dateOnOrAfter`,between:`dateBetween`,in:`dateIn`,notBetween:`dateNotBetween`,notIn:`dateNotIn`},y=(e,t)=>{let n=t??{};if(!o(n.context?.isDateField,e,n))return m(e,n);let{field:r,operator:i,value:a,valueSource:s}=e,c=s===`field`,l={var:r},u=e=>c?{var:`${e}`}:e;switch(i){case`<`:case`<=`:case`=`:case`!=`:case`>`:case`>=`:return{[v[i]]:[l,u(a)]};case`in`:case`notIn`:{let e=_(a).map(e=>u(e));return{[v[i]]:[l,e]}}case`between`:case`notBetween`:{let e=_(a).map(e=>u(e));return e.length<2?!1:{[v[i]]:[e[0],l,e[1]]}}}return m(e,t)},b=e=>/^(does)?not/i.test(e),x=(e,t)=>t?`$not(${e})`:`${e}`,S=e=>(t,n)=>{let r=n??{},{context:i={}}=r,{quoteFieldNamesWith:a=[``,``],fieldIdentifierSeparator:s=``}=r,{field:c,operator:l,value:u,valueSource:d}=t;if(!o(i.isDateField,t,r))return p(t,r);let f=d===`field`,m=e=>`$toMillis(${h(e,{quoteFieldNamesWith:a,fieldIdentifierSeparator:s})})`,v=t=>`$toMillis("${e.toISOString(t)}")`;switch(l){case`<`:case`<=`:case`=`:case`!=`:case`>`:case`>=`:return`${m(c)} ${l} ${f?m(u):v(u)}`}let y=_(t.value,{retainEmptyStrings:!1}),S=y.map(t=>e.toDate(t)).filter(t=>e.isValid(t));switch(l){case`in`:case`notIn`:return f?y.length===0?``:x(`${m(c)} in [${y.map(e=>m(e)).join(`, `)}]`,b(l)):S.length===0?``:x(`${m(c)} in [${S.map(e=>v(e)).join(`, `)}]`,b(l));case`between`:case`notBetween`:{if(y.length<2||g(y[0])||g(y[1])||!f&&S.length<2)return``;if(f){let[e,t]=y,n=`${m(c)} >= ${m(e)} and ${m(c)} <= ${m(t)}`;return l===`between`?`(${n})`:x(n,!0)}let[t,n]=S,[r,i]=e.isBefore(t,n)?[t,n]:[n,t],a=`${m(c)} >= ${v(r)} and ${m(c)} <= ${v(i)}`;return l===`between`?`(${a})`:x(a,!0)}}return p(t,r)};export{y as datetimeRuleProcessorJsonLogic,u as datetimeValueProcessorNL,t as defaultDateTimeNLOperatorMap,r as getDatetimeJsonLogicOperations,n as getDatetimeRuleProcessorCEL,S as getDatetimeRuleProcessorJSONata,f as getDatetimeRuleProcessorMongoDBQuery,a as getDatetimeRuleProcessorNL,d as getDatetimeRuleProcessorSQL,s as getDatetimeValueProcessorANSI,l as getDatetimeValueProcessorMSSQL,i as getDatetimeValueProcessorMySQL,e as getDatetimeValueProcessorOracle,c as getDatetimeValueProcessorPostgreSQL};
2
2
  //# sourceMappingURL=react-querybuilder_datetime.production.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"react-querybuilder_datetime.production.mjs","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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"}
1
+ {"version":3,"file":"react-querybuilder_datetime.production.mjs","names":[],"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, neg: boolean) => (neg ? `$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":"mTAKA,MAAM,EAAmB,CACvB,KAAM,YACN,IAAK,aACL,KAAM,iBACN,IAAK,SACL,IAAK,YACL,KAAM,gBACN,QAAS,cACT,GAAI,SACJ,WAAY,iBACZ,MAAO,YACR,CAUY,GACX,EACA,IACyB,CACzB,IAAM,EAAO,GAAsC,EAAE,CAErD,GAAI,CAAC,EAAmB,EAAK,SAAS,YAAa,EAAM,EAAK,CAC5D,OAAO,EAA8B,EAAM,EAAK,CAGlD,GAAM,CAAE,QAAO,WAAU,QAAO,eAAgB,EAC1C,EAAe,IAAgB,QAC/B,EAA4B,CAAE,IAAK,EAAO,CAC1C,EAAsB,GAAe,EAAe,CAAE,IAAK,GAAG,IAAK,CAAG,EAE5E,OAAQ,EAAR,CACE,IAAK,IACL,IAAK,KACL,IAAK,IACL,IAAK,KACL,IAAK,IACL,IAAK,KACH,MAAO,EACJ,EAAiB,IAAY,CAAC,EAAa,EAAmB,EAAM,CAAC,CACvE,CAEH,IAAK,KACL,IAAK,QAAS,CACZ,IAAM,EAAe,EAAQ,EAAM,CAAC,IAAI,GAAK,EAAmB,EAAE,CAAC,CACnE,MAAO,EAAG,EAAiB,IAAY,CAAC,EAAa,EAAa,CAAE,CAGtE,IAAK,UACL,IAAK,aAAc,CACjB,IAAM,EAAe,EAAQ,EAAM,CAAC,IAAI,GAAK,EAAmB,EAAE,CAAC,CAInE,OAFI,EAAa,OAAS,EAAU,GAE7B,EACJ,EAAiB,IAAY,CAAC,EAAa,GAAI,EAAa,EAAa,GAAG,CAC9E,EAIL,OAAO,EAA8B,EAAM,EAAQ,EC5D/C,EAAgB,GAAe,eAAe,KAAK,EAAG,CAEtD,GAAU,EAAgB,IAAkB,EAAM,QAAQ,EAAO,GAAK,GAAG,IAMlE,EACV,IACA,EAAM,IAAY,CACjB,IAAM,EAAO,GAAsC,EAAE,CAC/C,CAAE,UAAU,EAAE,EAAK,EAGnB,CAAE,sBAAsB,CAAC,GAAI,GAAG,CAAsB,2BAA2B,IACrF,EACI,CAAE,QAAO,WAAU,QAAO,eAAgB,EAEhD,GAAI,CAAC,EAAmB,EAAQ,YAAa,EAAM,EAAK,CACtD,OAAO,EAA4B,EAAM,EAAK,CAGhD,IAAM,EAAe,IAAgB,QAE/B,EAAW,GACf,aAAa,EAAmB,EAAG,CAAE,sBAAqB,2BAA0B,CAAC,CAAC,GAClF,EAAW,GAAqB,cAAc,EAAO,YAAY,EAAE,CAAC,IAE1E,OAAQ,EAAR,CACE,IAAK,IACL,IAAK,KACL,IAAK,IACL,IAAK,KACL,IAAK,IACL,IAAK,KACH,MAAO,GAAG,EAAQ,EAAM,CAAC,GAAG,EAAS,GAAG,EAAe,EAAQ,EAAM,CAAG,EAAQ,EAAM,GAG1F,IAAM,EAAyB,EAAQ,EAAK,MAAO,CAAE,mBAAoB,GAAO,CAAC,CAC3E,EAAmB,EACtB,IAAI,GAAK,EAAO,OAAO,EAAE,CAAC,CAC1B,OAAO,GAAW,EAAO,QAAQ,EAAQ,CAAC,CAE7C,OAAQ,EAAR,CACE,IAAK,KACL,IAAK,QASH,OARI,EACE,EAAa,SAAW,EAAU,GAC/B,EACL,GAAG,EAAQ,EAAM,CAAC,OAAO,EAAa,IAAI,GAAO,EAAQ,EAAI,CAAC,CAAC,KAAK,KAAK,CAAC,GAC1E,EAAa,EAAS,CACvB,CAEC,EAAiB,SAAW,EAAU,GACnC,EACL,GAAG,EAAQ,EAAM,CAAC,OAAO,EAAiB,IAAI,GAAO,EAAQ,EAAI,CAAC,CAAC,KAAK,KAAK,CAAC,GAC9E,EAAa,EAAS,CACvB,CAGH,IAAK,UACL,IAAK,aAAc,CACjB,GACE,EAAa,OAAS,GACtB,EAAuB,EAAa,GAAG,EACvC,EAAuB,EAAa,GAAG,EACtC,CAAC,GAAgB,EAAiB,OAAS,EAE5C,MAAO,GAGT,GAAI,EAAc,CAChB,GAAM,CAAC,EAAY,GAAe,EAC5B,EAAa,GAAG,EAAQ,EAAM,CAAC,MAAM,EAAQ,EAAW,CAAC,OAAO,EAAQ,EAAM,CAAC,MAAM,EAAQ,EAAY,GAC/G,OAAO,IAAa,UAAY,IAAI,EAAW,GAAK,EAAO,EAAY,GAAK,CAG9E,GAAM,CAAC,EAAO,GAAU,EAClB,CAAC,EAAW,GAAc,EAAO,SAAS,EAAO,EAAO,CAC1D,CAAC,EAAO,EAAO,CACf,CAAC,EAAQ,EAAM,CACb,EAAa,GAAG,EAAQ,EAAM,CAAC,MAAM,EAAQ,EAAU,CAAC,OAAO,EAAQ,EAAM,CAAC,MAAM,EAAQ,EAAW,GAC7G,OAAO,IAAa,UAAY,IAAI,EAAW,GAAK,EAAO,EAAY,GAAK,EAIhF,OAAO,EAA4B,EAAM,EAAK"}
@@ -0,0 +1,105 @@
1
+ import { RQBJsonLogic, RuleProcessor } from "react-querybuilder";
2
+ import { RulesLogic } from "json-logic-js";
3
+
4
+ //#region src/types.d.ts
5
+ interface RQBJsonLogicDateBetween {
6
+ dateBetween: [RQBJsonLogic, RQBJsonLogic, RQBJsonLogic];
7
+ }
8
+ interface RQBJsonLogicDateNotBetween {
9
+ dateNotBetween: [RQBJsonLogic, RQBJsonLogic, RQBJsonLogic];
10
+ }
11
+ interface RQBJsonLogicDateIn {
12
+ dateIn: [RQBJsonLogic, RQBJsonLogic[]];
13
+ }
14
+ interface RQBJsonLogicDateNotIn {
15
+ dateNotIn: [RQBJsonLogic, RQBJsonLogic[]];
16
+ }
17
+ interface RQBJsonLogicDateBefore {
18
+ dateBefore: [RQBJsonLogic, RQBJsonLogic, ...RQBJsonLogic[]];
19
+ }
20
+ interface RQBJsonLogicDateOnOrBefore {
21
+ dateOnOrBefore: [RQBJsonLogic, RQBJsonLogic, ...RQBJsonLogic[]];
22
+ }
23
+ interface RQBJsonLogicDateOn {
24
+ dateOn: [RQBJsonLogic, RQBJsonLogic, ...RQBJsonLogic[]];
25
+ }
26
+ interface RQBJsonLogicDateNotOn {
27
+ dateNotOn: [RQBJsonLogic, RQBJsonLogic, ...RQBJsonLogic[]];
28
+ }
29
+ interface RQBJsonLogicDateAfter {
30
+ dateAfter: [RQBJsonLogic, RQBJsonLogic, ...RQBJsonLogic[]];
31
+ }
32
+ interface RQBJsonLogicDateOnOrAfter {
33
+ dateOnOrAfter: [RQBJsonLogic, RQBJsonLogic, ...RQBJsonLogic[]];
34
+ }
35
+ /**
36
+ * JsonLogic rule object with additional operators generated by
37
+ * {@link @react-querybuilder/core!formatQuery formatQuery} and accepted by
38
+ * {@link @react-querybuilder/core!parseJsonLogic parseJsonLogic}.
39
+ */
40
+ type RQBDateTimeJsonLogic = RQBJsonLogic | RulesLogic<RQBJsonLogicDateAfter | RQBJsonLogicDateBefore | RQBJsonLogicDateBetween | RQBJsonLogicDateIn | RQBJsonLogicDateNotBetween | RQBJsonLogicDateNotIn | RQBJsonLogicDateNotOn | RQBJsonLogicDateOn | RQBJsonLogicDateOnOrAfter | RQBJsonLogicDateOnOrBefore>;
41
+ type DateOrString = string | Date;
42
+ interface RQBDateTimeLibraryAPI {
43
+ /**
44
+ * Formats a date as a string.
45
+ */
46
+ format: (d: DateOrString, fmt: string) => string;
47
+ /**
48
+ * Formats a date as an ISO 8601 string, only including
49
+ * the year, month, and day ('YYYY-MM-DD').
50
+ */
51
+ toISOStringDateOnly: (d: DateOrString) => string;
52
+ /**
53
+ * Determines whether the first date is after the second date.
54
+ */
55
+ isAfter: (a: DateOrString, b: DateOrString) => boolean;
56
+ /**
57
+ * Determines whether the first date is before the second date.
58
+ */
59
+ isBefore: (a: DateOrString, b: DateOrString) => boolean;
60
+ /**
61
+ * Determines whether the first date is the same as the second date.
62
+ *
63
+ * If either the first date or the second date is a string in the
64
+ * format 'YYYY-MM-DD', then the dates will only be compared at
65
+ * the date level (no time component). Otherwise, they will be
66
+ * compared to the millisecond.
67
+ */
68
+ isSame: (a: DateOrString, b: DateOrString) => boolean;
69
+ /**
70
+ * Determines whether the date is either a valid `Date` object or an
71
+ * ISO 8601-formatted string representing a valid date.
72
+ */
73
+ isValid: (d: DateOrString) => boolean;
74
+ /**
75
+ * Converts a string to a `Date` object or returns a valid `Date` as is.
76
+ */
77
+ toDate: (d: DateOrString) => Date;
78
+ /**
79
+ * Converts a `Date` or ISO 8601-formatted string into a full ISO 8601 UTC
80
+ * string, in the format 'YYYY-MM-DDTHH:mm:ss.SSSZ' (the "T" and "Z" are
81
+ * static; other parts represent standard time units, increasing in precision
82
+ * from left to right).
83
+ */
84
+ toISOString: (d: DateOrString) => string;
85
+ }
86
+ type FnDateDate = (a: DateOrString, b: DateOrString) => boolean;
87
+ type FnDateArrayOfDates = (a: DateOrString, b: DateOrString[]) => boolean;
88
+ type FnDateDateDate = (a: DateOrString, b: DateOrString, c: DateOrString) => boolean;
89
+ type RQBJsonLogicDateTimeOperations = {
90
+ /** Determines if the first date is after the second date. */dateAfter: FnDateDate; /** Determines if the first date is before the second date. */
91
+ dateBefore: FnDateDate; /** Determines if the second date is between the first and third dates (inclusive). */
92
+ dateBetween: FnDateDateDate; /** Determines if the first date is one of the values in the array of dates. */
93
+ dateIn: FnDateArrayOfDates; /** Determines if the second date is not between the first and third dates. */
94
+ dateNotBetween: FnDateDateDate; /** Determines if the first date is not one of the values in the array of dates. */
95
+ dateNotIn: FnDateArrayOfDates; /** Determines if the first date is not the same as the second date. */
96
+ dateNotOn: FnDateDate; /** Determines if the first date is the same as the second date (at the level of least precision between the two). */
97
+ dateOn: FnDateDate; /** Determines if the first date is either the same as the second date or after it. */
98
+ dateOnOrAfter: FnDateDate; /** Determines if the first date is either the same as the second date or before it. */
99
+ dateOnOrBefore: FnDateDate;
100
+ };
101
+ type IsDateFieldFunction = (...[rule, opts]: Parameters<RuleProcessor>) => boolean;
102
+ type IsDateField = IsDateFieldFunction | Record<string, unknown> | Record<string, unknown>[] | boolean | undefined;
103
+ //#endregion
104
+ export { RQBJsonLogicDateAfter as a, RQBJsonLogicDateIn as c, RQBJsonLogicDateNotOn as d, RQBJsonLogicDateOn as f, RQBJsonLogicDateTimeOperations as h, RQBDateTimeLibraryAPI as i, RQBJsonLogicDateNotBetween as l, RQBJsonLogicDateOnOrBefore as m, IsDateFieldFunction as n, RQBJsonLogicDateBefore as o, RQBJsonLogicDateOnOrAfter as p, RQBDateTimeJsonLogic as r, RQBJsonLogicDateBetween as s, IsDateField as t, RQBJsonLogicDateNotIn as u };
105
+ //# sourceMappingURL=types-Dbg6IgzZ.d.ts.map