@react-querybuilder/datetime 8.16.1 → 8.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/getDatetimeRuleProcessorSQL-Cca9pzSn.js +2 -0
- package/dist/cjs/{getDatetimeRuleProcessorSQL-BWQryLof.js.map → getDatetimeRuleProcessorSQL-Cca9pzSn.js.map} +1 -1
- package/dist/cjs/{getDatetimeRuleProcessorSQL-BY6ZJTYb.js → getDatetimeRuleProcessorSQL-CrA2ZrSe.js} +1 -2
- package/dist/cjs/{getDatetimeRuleProcessorSQL-BY6ZJTYb.js.map → getDatetimeRuleProcessorSQL-CrA2ZrSe.js.map} +1 -1
- package/dist/cjs/react-querybuilder_datetime.cjs.development.d.ts +1 -1
- package/dist/cjs/react-querybuilder_datetime.cjs.development.date-fns.d.ts +1 -1
- package/dist/cjs/react-querybuilder_datetime.cjs.development.date-fns.js +1 -2
- package/dist/cjs/react-querybuilder_datetime.cjs.development.date-fns.js.map +1 -1
- package/dist/cjs/react-querybuilder_datetime.cjs.development.dayjs.d.ts +1 -1
- package/dist/cjs/react-querybuilder_datetime.cjs.development.dayjs.js +1 -2
- package/dist/cjs/react-querybuilder_datetime.cjs.development.js +1 -2
- package/dist/cjs/react-querybuilder_datetime.cjs.development.js.map +1 -1
- package/dist/cjs/react-querybuilder_datetime.cjs.development.jsdate.d.ts +1 -1
- package/dist/cjs/react-querybuilder_datetime.cjs.development.jsdate.js +1 -1
- package/dist/cjs/react-querybuilder_datetime.cjs.development.luxon.d.ts +1 -1
- package/dist/cjs/react-querybuilder_datetime.cjs.development.luxon.js +1 -2
- package/dist/cjs/react-querybuilder_datetime.cjs.development.luxon.js.map +1 -1
- package/dist/cjs/react-querybuilder_datetime.cjs.production.d.ts +1 -1
- package/dist/cjs/react-querybuilder_datetime.cjs.production.date-fns.d.ts +1 -1
- package/dist/cjs/react-querybuilder_datetime.cjs.production.date-fns.js +1 -1
- package/dist/cjs/react-querybuilder_datetime.cjs.production.date-fns.js.map +1 -1
- package/dist/cjs/react-querybuilder_datetime.cjs.production.dayjs.d.ts +1 -1
- package/dist/cjs/react-querybuilder_datetime.cjs.production.dayjs.js +1 -1
- package/dist/cjs/react-querybuilder_datetime.cjs.production.js +1 -1
- package/dist/cjs/react-querybuilder_datetime.cjs.production.js.map +1 -1
- package/dist/cjs/react-querybuilder_datetime.cjs.production.jsdate.d.ts +1 -1
- package/dist/cjs/react-querybuilder_datetime.cjs.production.jsdate.js +1 -1
- package/dist/cjs/react-querybuilder_datetime.cjs.production.luxon.d.ts +1 -1
- package/dist/cjs/react-querybuilder_datetime.cjs.production.luxon.js +1 -1
- package/dist/cjs/react-querybuilder_datetime.cjs.production.luxon.js.map +1 -1
- package/dist/cjs/{types-BIfMyAwh.d.ts → types-c6_k1Tpr.d.ts} +1 -1
- package/dist/{getDatetimeRuleProcessorSQL-Dnhyo0qz.js → getDatetimeRuleProcessorSQL-Crw01Jo-.js} +6 -6
- package/dist/{getDatetimeRuleProcessorSQL-Dnhyo0qz.js.map → getDatetimeRuleProcessorSQL-Crw01Jo-.js.map} +1 -1
- package/dist/{getDatetimeRuleProcessorSQL-CSD_YXBJ.mjs → getDatetimeRuleProcessorSQL-CvGKzojM.mjs} +1 -1
- package/dist/{getDatetimeRuleProcessorSQL-CSD_YXBJ.mjs.map → getDatetimeRuleProcessorSQL-CvGKzojM.mjs.map} +1 -1
- package/dist/{getDatetimeRuleProcessorSQL-11eKdyI8.mjs → getDatetimeRuleProcessorSQL-Nz_XjNeY.mjs} +1 -1
- package/dist/{getDatetimeRuleProcessorSQL-11eKdyI8.mjs.map → getDatetimeRuleProcessorSQL-Nz_XjNeY.mjs.map} +1 -1
- package/dist/react-querybuilder_datetime.d.mts +1 -1
- package/dist/react-querybuilder_datetime.date-fns.d.mts +1 -1
- package/dist/react-querybuilder_datetime.date-fns.mjs +1 -1
- package/dist/react-querybuilder_datetime.dayjs.d.mts +1 -1
- package/dist/react-querybuilder_datetime.dayjs.mjs +1 -1
- package/dist/react-querybuilder_datetime.jsdate.d.mts +1 -1
- package/dist/react-querybuilder_datetime.jsdate.mjs +1 -1
- package/dist/react-querybuilder_datetime.legacy-esm.d.ts +1 -1
- package/dist/react-querybuilder_datetime.legacy-esm.date-fns.d.ts +1 -1
- package/dist/react-querybuilder_datetime.legacy-esm.date-fns.js +1 -1
- package/dist/react-querybuilder_datetime.legacy-esm.dayjs.d.ts +1 -1
- package/dist/react-querybuilder_datetime.legacy-esm.dayjs.js +1 -1
- package/dist/react-querybuilder_datetime.legacy-esm.js +1 -1
- package/dist/react-querybuilder_datetime.legacy-esm.jsdate.d.ts +1 -1
- package/dist/react-querybuilder_datetime.legacy-esm.jsdate.js +1 -1
- package/dist/react-querybuilder_datetime.legacy-esm.luxon.d.ts +1 -1
- package/dist/react-querybuilder_datetime.legacy-esm.luxon.js +1 -1
- package/dist/react-querybuilder_datetime.luxon.d.mts +1 -1
- package/dist/react-querybuilder_datetime.luxon.mjs +1 -1
- package/dist/react-querybuilder_datetime.mjs +1 -1
- package/dist/react-querybuilder_datetime.production.d.mts +1 -1
- package/dist/react-querybuilder_datetime.production.date-fns.d.mts +1 -1
- package/dist/react-querybuilder_datetime.production.date-fns.mjs +1 -1
- package/dist/react-querybuilder_datetime.production.dayjs.d.mts +1 -1
- package/dist/react-querybuilder_datetime.production.dayjs.mjs +1 -1
- package/dist/react-querybuilder_datetime.production.jsdate.d.mts +1 -1
- package/dist/react-querybuilder_datetime.production.jsdate.mjs +1 -1
- package/dist/react-querybuilder_datetime.production.luxon.d.mts +1 -1
- package/dist/react-querybuilder_datetime.production.luxon.mjs +1 -1
- package/dist/react-querybuilder_datetime.production.mjs +1 -1
- package/dist/{types-IRRXKZl4.d.mts → types-c6_k1Tpr.d.mts} +1 -1
- package/dist/{types-Dbg6IgzZ.d.ts → types-c6_k1Tpr.d.ts} +1 -1
- package/package.json +8 -8
- package/dist/cjs/getDatetimeRuleProcessorSQL-BWQryLof.js +0 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_getDatetimeRuleProcessorSQL = require("./getDatetimeRuleProcessorSQL-
|
|
2
|
+
const require_getDatetimeRuleProcessorSQL = require("./getDatetimeRuleProcessorSQL-CrA2ZrSe.js");
|
|
3
3
|
//#region src/rqbDateTimeLibraryAPI.jsdate.ts
|
|
4
4
|
const invalidDate = /* @__PURE__ */ new Date(NaN);
|
|
5
5
|
const dateRegExp = /^(\d{4})-(\d{2})-(\d{2})([T ](\d{2}):(\d{2}):(\d{2})(\.(\d{1,3}))?)?/;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { h as RQBJsonLogicDateTimeOperations, i as RQBDateTimeLibraryAPI } from "./types-
|
|
1
|
+
import { h as RQBJsonLogicDateTimeOperations, i as RQBDateTimeLibraryAPI } from "./types-c6_k1Tpr.js";
|
|
2
2
|
import { RuleProcessor, ValueProcessorByRule } from "react-querybuilder";
|
|
3
3
|
|
|
4
4
|
//#region src/rqbDateTimeLibraryAPI.luxon.d.ts
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_getDatetimeRuleProcessorSQL = require("./getDatetimeRuleProcessorSQL-
|
|
3
|
-
require("./react-querybuilder_datetime.cjs.development.dayjs.js");
|
|
2
|
+
const require_getDatetimeRuleProcessorSQL = require("./getDatetimeRuleProcessorSQL-CrA2ZrSe.js");
|
|
4
3
|
let luxon = require("luxon");
|
|
5
4
|
//#region src/rqbDateTimeLibraryAPI.luxon.ts
|
|
6
5
|
const toDateTime = (a) => typeof a === "string" ? luxon.DateTime.fromISO(a) : luxon.DateTime.fromJSDate(a);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-querybuilder_datetime.cjs.development.luxon.js","names":["DateTime","isISOStringDateOnly","getDatetimeJsonLogicOperations","getDatetimeRuleProcessorSQL","getDatetimeValueProcessorANSI","getDatetimeValueProcessorMSSQL","getDatetimeValueProcessorMySQL","getDatetimeValueProcessorOracle","getDatetimeValueProcessorPostgreSQL","getDatetimeRuleProcessorCEL","getDatetimeRuleProcessorMongoDBQuery","getDatetimeRuleProcessorNL","getDatetimeRuleProcessorCypher","getDatetimeRuleProcessorSPARQL"],"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 { getDatetimeRuleProcessorCypher } from './getDatetimeRuleProcessorCypher';\nimport { getDatetimeRuleProcessorMongoDBQuery } from './getDatetimeRuleProcessorMongoDBQuery';\nimport { getDatetimeRuleProcessorNL } from './getDatetimeRuleProcessorNL';\nimport { getDatetimeRuleProcessorSPARQL } from './getDatetimeRuleProcessorSPARQL';\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\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for \"cypher\"/\"gql\" format using Luxon\n */\nexport const datetimeRuleProcessorCypher: ValueProcessorByRule =\n getDatetimeRuleProcessorCypher(rqbDateTimeLibraryAPI);\n\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for \"sparql\" format using Luxon\n */\nexport const datetimeRuleProcessorSPARQL: ValueProcessorByRule =\n getDatetimeRuleProcessorSPARQL(rqbDateTimeLibraryAPI);\n\nexport * from './rqbDateTimeLibraryAPI.luxon';\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"react-querybuilder_datetime.cjs.development.luxon.js","names":["DateTime","isISOStringDateOnly","getDatetimeJsonLogicOperations","getDatetimeRuleProcessorSQL","getDatetimeValueProcessorANSI","getDatetimeValueProcessorMSSQL","getDatetimeValueProcessorMySQL","getDatetimeValueProcessorOracle","getDatetimeValueProcessorPostgreSQL","getDatetimeRuleProcessorCEL","getDatetimeRuleProcessorMongoDBQuery","getDatetimeRuleProcessorNL","getDatetimeRuleProcessorCypher","getDatetimeRuleProcessorSPARQL"],"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 { getDatetimeRuleProcessorCypher } from './getDatetimeRuleProcessorCypher';\nimport { getDatetimeRuleProcessorMongoDBQuery } from './getDatetimeRuleProcessorMongoDBQuery';\nimport { getDatetimeRuleProcessorNL } from './getDatetimeRuleProcessorNL';\nimport { getDatetimeRuleProcessorSPARQL } from './getDatetimeRuleProcessorSPARQL';\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\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for \"cypher\"/\"gql\" format using Luxon\n */\nexport const datetimeRuleProcessorCypher: ValueProcessorByRule =\n getDatetimeRuleProcessorCypher(rqbDateTimeLibraryAPI);\n\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for \"sparql\" format using Luxon\n */\nexport const datetimeRuleProcessorSPARQL: ValueProcessorByRule =\n getDatetimeRuleProcessorSPARQL(rqbDateTimeLibraryAPI);\n\nexport * from './rqbDateTimeLibraryAPI.luxon';\n"],"mappings":";;;;AAIA,MAAM,cAAc,MAClB,OAAO,MAAM,WAAWA,MAAAA,SAAS,QAAQ,CAAC,IAAIA,MAAAA,SAAS,WAAW,CAAC;AACrE,MAAM,kBAAkB;;;;AAKxB,MAAa,wBAA+C;CAC1D,SAAS,GAAG,QAAQ,WAAW,CAAC,EAAE,SAAS,IAAI,QAAQ,cAAc,eAAe,CAAC;CACrF,UAAU,GAAG,MAAM,WAAW,CAAC,IAAI,WAAW,CAAC;CAC/C,WAAW,GAAG,MAAM,WAAW,CAAC,IAAI,WAAW,CAAC;CAChD,SAAS,GAAG,MACVC,oCAAAA,oBAAoB,CAAC,KAAKA,oCAAAA,oBAAoB,CAAC,IAC3C,WAAW,CAAC,EAAE,QAAQ,WAAW,CAAC,GAAG,KAAK,IAC1C,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC;CACtC,UAAS,MAAK,WAAW,CAAC,EAAE;CAC5B,SAAQ,MAAK,WAAW,CAAC,EAAE,SAAS;CACpC,cAAa,MAAK;EAChB,MAAM,UAAU,WAAW,CAAC;EAC5B,OAAO,QAAQ,UAAU,QAAQ,SAAS,EAAE,YAAY,IAAI;CAC9D;CACA,sBAAqB,MAAK;EACxB,MAAM,UAAU,WAAW,CAAC;EAC5B,OAAO,QAAQ,UAAU,QAAQ,SAAS,eAAe,IAAI;CAC/D;AACF;;;;;;ACFA,MAAa,8BACXC,oCAAAA,+BAA+B,qBAAqB;;;;AAKtD,MAAa,2BACXC,oCAAAA,4BAA4B,qBAAqB;;;;AAInD,MAAa,6BACXC,oCAAAA,8BAA8B,qBAAqB;;;;AAIrD,MAAa,8BACXC,oCAAAA,+BAA+B,qBAAqB;;;;AAItD,MAAa,8BACXC,oCAAAA,+BAA+B,qBAAqB;;;;AAItD,MAAa,+BACXC,oCAAAA,gCAAgC,qBAAqB;;;;AAIvD,MAAa,mCACXC,oCAAAA,oCAAoC,qBAAqB;;;;AAK3D,MAAa,2BACXC,oCAAAA,4BAA4B,qBAAqB;;;;AAKnD,MAAa,oCACXC,oCAAAA,qCAAqC,qBAAqB;;;;AAK5D,MAAa,0BACXC,oCAAAA,2BAA2B,qBAAqB;;;;AAKlD,MAAa,8BACXC,oCAAAA,+BAA+B,qBAAqB;;;;AAKtD,MAAa,8BACXC,oCAAAA,+BAA+B,qBAAqB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
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-
|
|
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-c6_k1Tpr.js";
|
|
2
2
|
import { ExportOperatorMap, RuleProcessor, ValueProcessorByRule } from "react-querybuilder";
|
|
3
3
|
|
|
4
4
|
//#region src/datetimeRuleProcessorJsonLogic.d.ts
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { h as RQBJsonLogicDateTimeOperations, i as RQBDateTimeLibraryAPI } from "./types-
|
|
1
|
+
import { h as RQBJsonLogicDateTimeOperations, i as RQBDateTimeLibraryAPI } from "./types-c6_k1Tpr.js";
|
|
2
2
|
import { RuleProcessor, ValueProcessorByRule } from "react-querybuilder";
|
|
3
3
|
|
|
4
4
|
//#region src/rqbDateTimeLibraryAPI.date-fns.d.ts
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./getDatetimeRuleProcessorSQL-Cca9pzSn.js");let t=require("date-fns");const n=e=>typeof e==`string`?(0,t.parseISO)(e):(0,t.toDate)(e),r=`yyyy-MM-dd`,i={format:(e,i)=>(0,t.format)(n(e),i.replace(`YYYY-MM-DD`,r)),isAfter:t.isAfter,isBefore:t.isBefore,isSame:(r,i)=>{let a=n(r),o=n(i);return e.h(r)||e.h(i)?(0,t.isSameDay)(a,o):a.getTime()===o.getTime()},isValid:e=>(0,t.isValid)(n(e)),toDate:n,toISOString:e=>{let r=n(e);return(0,t.isValid)(r)?r.toISOString():``},toISOStringDateOnly:e=>{let i=n(e);return(0,t.isValid)(i)?(0,t.format)(i,r):``}},a=e.m(i),o=e.t(i),s=e.n(i),c=e.r(i),l=e.i(i),u=e.a(i),d=e.o(i),f=e.p(i),p=e.d(i),m=e.u(i),h=e.f(i),g=e.s(i);exports.datetimeRuleProcessorCEL=f,exports.datetimeRuleProcessorCypher=h,exports.datetimeRuleProcessorMongoDBQuery=p,exports.datetimeRuleProcessorNL=m,exports.datetimeRuleProcessorSPARQL=g,exports.datetimeRuleProcessorSQL=o,exports.datetimeValueProcessorANSI=s,exports.datetimeValueProcessorMSSQL=c,exports.datetimeValueProcessorMySQL=l,exports.datetimeValueProcessorOracle=u,exports.datetimeValueProcessorPostgreSQL=d,exports.jsonLogicDateTimeOperations=a,exports.rqbDateTimeLibraryAPI=i;
|
|
2
2
|
//# sourceMappingURL=react-querybuilder_datetime.cjs.production.date-fns.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-querybuilder_datetime.cjs.production.date-fns.js","names":["isISOStringDateOnly","getDatetimeJsonLogicOperations","getDatetimeRuleProcessorSQL","getDatetimeValueProcessorANSI","getDatetimeValueProcessorMSSQL","getDatetimeValueProcessorMySQL","getDatetimeValueProcessorOracle","getDatetimeValueProcessorPostgreSQL","getDatetimeRuleProcessorCEL","getDatetimeRuleProcessorMongoDBQuery","getDatetimeRuleProcessorNL","getDatetimeRuleProcessorCypher","getDatetimeRuleProcessorSPARQL"],"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 { getDatetimeRuleProcessorCypher } from './getDatetimeRuleProcessorCypher';\nimport { getDatetimeRuleProcessorMongoDBQuery } from './getDatetimeRuleProcessorMongoDBQuery';\nimport { getDatetimeRuleProcessorNL } from './getDatetimeRuleProcessorNL';\nimport { getDatetimeRuleProcessorSPARQL } from './getDatetimeRuleProcessorSPARQL';\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\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for \"cypher\"/\"gql\" format using date-fns\n */\nexport const datetimeRuleProcessorCypher: ValueProcessorByRule =\n getDatetimeRuleProcessorCypher(rqbDateTimeLibraryAPI);\n\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for \"sparql\" format using date-fns\n */\nexport const datetimeRuleProcessorSPARQL: ValueProcessorByRule =\n getDatetimeRuleProcessorSPARQL(rqbDateTimeLibraryAPI);\n\nexport * from './rqbDateTimeLibraryAPI.date-fns';\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"react-querybuilder_datetime.cjs.production.date-fns.js","names":["isISOStringDateOnly","getDatetimeJsonLogicOperations","getDatetimeRuleProcessorSQL","getDatetimeValueProcessorANSI","getDatetimeValueProcessorMSSQL","getDatetimeValueProcessorMySQL","getDatetimeValueProcessorOracle","getDatetimeValueProcessorPostgreSQL","getDatetimeRuleProcessorCEL","getDatetimeRuleProcessorMongoDBQuery","getDatetimeRuleProcessorNL","getDatetimeRuleProcessorCypher","getDatetimeRuleProcessorSPARQL"],"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 { getDatetimeRuleProcessorCypher } from './getDatetimeRuleProcessorCypher';\nimport { getDatetimeRuleProcessorMongoDBQuery } from './getDatetimeRuleProcessorMongoDBQuery';\nimport { getDatetimeRuleProcessorNL } from './getDatetimeRuleProcessorNL';\nimport { getDatetimeRuleProcessorSPARQL } from './getDatetimeRuleProcessorSPARQL';\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\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for \"cypher\"/\"gql\" format using date-fns\n */\nexport const datetimeRuleProcessorCypher: ValueProcessorByRule =\n getDatetimeRuleProcessorCypher(rqbDateTimeLibraryAPI);\n\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for \"sparql\" format using date-fns\n */\nexport const datetimeRuleProcessorSPARQL: ValueProcessorByRule =\n getDatetimeRuleProcessorSPARQL(rqbDateTimeLibraryAPI);\n\nexport * from './rqbDateTimeLibraryAPI.date-fns';\n"],"mappings":"0JAYA,MAAM,EAA+B,GAAM,OAAO,GAAM,UAAA,EAAA,EAAA,UAAoB,CAAC,GAAA,EAAA,EAAA,QAAkB,CAAC,EAC1F,EAAkB,aAKX,EAA+C,CAC1D,QAAS,EAAG,KAAA,EAAA,EAAA,QAAe,EAAO,CAAC,EAAG,EAAI,QAAQ,aAAc,CAAe,CAAC,EAChF,QAAA,EAAA,QACA,SAAA,EAAA,SACA,QAAS,EAAG,IAAM,CAChB,IAAM,EAAU,EAAO,CAAC,EAClB,EAAU,EAAO,CAAC,EACxB,OAAOA,EAAAA,EAAoB,CAAC,GAAKA,EAAAA,EAAoB,CAAC,GAAA,EAAA,EAAA,WACxC,EAAS,CAAO,EAC1B,EAAQ,QAAQ,IAAM,EAAQ,QAAQ,CAC5C,EACA,QAAS,IAAA,EAAA,EAAA,SAAa,EAAO,CAAC,CAAC,EAC/B,SACA,YAAa,GAAK,CAChB,IAAM,EAAU,EAAO,CAAC,EACxB,OAAA,EAAA,EAAA,SAAe,CAAO,EAAI,EAAQ,YAAY,EAAI,EACpD,EACA,oBAAqB,GAAK,CACxB,IAAM,EAAU,EAAO,CAAC,EACxB,OAAA,EAAA,EAAA,SAAe,CAAO,GAAA,EAAA,EAAA,QAAW,EAAS,CAAe,EAAI,EAC/D,CACF,ECZa,EACXC,EAAAA,EAA+B,CAAqB,EAKzC,EACXC,EAAAA,EAA4B,CAAqB,EAItC,EACXC,EAAAA,EAA8B,CAAqB,EAIxC,EACXC,EAAAA,EAA+B,CAAqB,EAIzC,EACXC,EAAAA,EAA+B,CAAqB,EAIzC,EACXC,EAAAA,EAAgC,CAAqB,EAI1C,EACXC,EAAAA,EAAoC,CAAqB,EAK9C,EACXC,EAAAA,EAA4B,CAAqB,EAKtC,EACXC,EAAAA,EAAqC,CAAqB,EAK/C,EACXC,EAAAA,EAA2B,CAAqB,EAKrC,EACXC,EAAAA,EAA+B,CAAqB,EAKzC,EACXC,EAAAA,EAA+B,CAAqB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { h as RQBJsonLogicDateTimeOperations, i as RQBDateTimeLibraryAPI } from "./types-
|
|
1
|
+
import { h as RQBJsonLogicDateTimeOperations, i as RQBDateTimeLibraryAPI } from "./types-c6_k1Tpr.js";
|
|
2
2
|
import { RuleProcessor, ValueProcessorByRule } from "react-querybuilder";
|
|
3
3
|
|
|
4
4
|
//#region src/rqbDateTimeLibraryAPI.dayjs.d.ts
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));const c=require(
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));const c=require("./getDatetimeRuleProcessorSQL-Cca9pzSn.js");let l=require("dayjs");l=s(l);const u={format:(e,t)=>(0,l.default)(e).format(t),isAfter:(e,t)=>(0,l.default)(e).isAfter(t),isBefore:(e,t)=>(0,l.default)(e).isBefore(t),isSame:(e,t)=>(0,l.default)(e).isSame(t,c.h(e)||c.h(t)?`d`:`ms`),isValid:e=>(0,l.default)(e).isValid(),toDate:e=>(0,l.default)(e).toDate(),toISOString:e=>{let t=(0,l.default)(e);return t.isValid()?t.toISOString():``},toISOStringDateOnly:e=>{let t=(0,l.default)(e);return t.isValid()?t.format(`YYYY-MM-DD`):``}},d=c.m(u),f=c.t(u),p=c.n(u),m=c.r(u),h=c.i(u),g=c.a(u),_=c.o(u),v=c.p(u),y=c.d(u),b=c.u(u),x=c.f(u),S=c.s(u);exports.datetimeRuleProcessorCEL=v,exports.datetimeRuleProcessorCypher=x,exports.datetimeRuleProcessorMongoDBQuery=y,exports.datetimeRuleProcessorNL=b,exports.datetimeRuleProcessorSPARQL=S,exports.datetimeRuleProcessorSQL=f,exports.datetimeValueProcessorANSI=p,exports.datetimeValueProcessorMSSQL=m,exports.datetimeValueProcessorMySQL=h,exports.datetimeValueProcessorOracle=g,exports.datetimeValueProcessorPostgreSQL=_,exports.jsonLogicDateTimeOperations=d,exports.rqbDateTimeLibraryAPI=u;
|
|
2
2
|
//# sourceMappingURL=react-querybuilder_datetime.cjs.production.dayjs.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./getDatetimeRuleProcessorSQL-Cca9pzSn.js");let t=require("react-querybuilder");const n={"!=":`dateNotOn`,"<":`dateBefore`,"<=":`dateOnOrBefore`,"=":`dateOn`,">":`dateAfter`,">=":`dateOnOrAfter`,between:`dateBetween`,in:`dateIn`,notBetween:`dateNotBetween`,notIn:`dateNotIn`},r=(r,i)=>{let a=i??{};if(!e.g(a.context?.isDateField,r,a))return(0,t.defaultRuleProcessorJsonLogic)(r,a);let{field:o,operator:s,value:c,valueSource:l}=r,u=l===`field`,d={var:o},f=e=>u?{var:`${e}`}:e;switch(s){case`<`:case`<=`:case`=`:case`!=`:case`>`:case`>=`:return{[n[s]]:[d,f(c)]};case`in`:case`notIn`:{let e=(0,t.toArray)(c).map(e=>f(e));return{[n[s]]:[d,e]}}case`between`:case`notBetween`:{let e=(0,t.toArray)(c).map(e=>f(e));return e.length<2?!1:{[n[s]]:[e[0],d,e[1]]}}}return(0,t.defaultRuleProcessorJsonLogic)(r,i)},i=e=>/^(does)?not/i.test(e),a=(e,t)=>t?`$not(${e})`:`${e}`,o=n=>(r,o)=>{let s=o??{},{context:c={}}=s,{quoteFieldNamesWith:l=[``,``],fieldIdentifierSeparator:u=``}=s,{field:d,operator:f,value:p,valueSource:m}=r;if(!e.g(c.isDateField,r,s))return(0,t.defaultRuleProcessorJSONata)(r,s);let h=m===`field`,g=e=>`$toMillis(${(0,t.getQuotedFieldName)(e,{quoteFieldNamesWith:l,fieldIdentifierSeparator:u})})`,_=e=>`$toMillis("${n.toISOString(e)}")`;switch(f){case`<`:case`<=`:case`=`:case`!=`:case`>`:case`>=`:return`${g(d)} ${f} ${h?g(p):_(p)}`}let v=(0,t.toArray)(r.value,{retainEmptyStrings:!1}),y=v.map(e=>n.toDate(e)).filter(e=>n.isValid(e));switch(f){case`in`:case`notIn`:return h?v.length===0?``:a(`${g(d)} in [${v.map(e=>g(e)).join(`, `)}]`,i(f)):y.length===0?``:a(`${g(d)} in [${y.map(e=>_(e)).join(`, `)}]`,i(f));case`between`:case`notBetween`:{if(v.length<2||(0,t.nullOrUndefinedOrEmpty)(v[0])||(0,t.nullOrUndefinedOrEmpty)(v[1])||!h&&y.length<2)return``;if(h){let[e,t]=v,n=`${g(d)} >= ${g(e)} and ${g(d)} <= ${g(t)}`;return f===`between`?`(${n})`:a(n,!0)}let[e,r]=y,[i,o]=n.isBefore(e,r)?[e,r]:[r,e],s=`${g(d)} >= ${_(i)} and ${g(d)} <= ${_(o)}`;return f===`between`?`(${s})`:a(s,!0)}}return(0,t.defaultRuleProcessorJSONata)(r,s)};exports.datetimeRuleProcessorJsonLogic=r,exports.datetimeValueProcessorNL=e.c,exports.defaultDateTimeNLOperatorMap=e.l,exports.getDatetimeJsonLogicOperations=e.m,exports.getDatetimeRuleProcessorCEL=e.p,exports.getDatetimeRuleProcessorCypher=e.f,exports.getDatetimeRuleProcessorJSONata=o,exports.getDatetimeRuleProcessorMongoDBQuery=e.d,exports.getDatetimeRuleProcessorNL=e.u,exports.getDatetimeRuleProcessorSPARQL=e.s,exports.getDatetimeRuleProcessorSQL=e.t,exports.getDatetimeValueProcessorANSI=e.n,exports.getDatetimeValueProcessorMSSQL=e.r,exports.getDatetimeValueProcessorMySQL=e.i,exports.getDatetimeValueProcessorOracle=e.a,exports.getDatetimeValueProcessorPostgreSQL=e.o;
|
|
2
2
|
//# sourceMappingURL=react-querybuilder_datetime.cjs.production.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-querybuilder_datetime.cjs.production.js","names":["processIsDateField","processIsDateField"],"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 ?? /* v8 ignore start -- @preserve */ {} /* v8 ignore stop -- @preserve */;\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 ?? /* v8 ignore start -- @preserve */ {} /* v8 ignore stop -- @preserve */;\n const { context = {} } = opts;\n\n // v8 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":"
|
|
1
|
+
{"version":3,"file":"react-querybuilder_datetime.cjs.production.js","names":["processIsDateField","processIsDateField"],"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 ?? /* v8 ignore start -- @preserve */ {} /* v8 ignore stop -- @preserve */;\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 ?? /* v8 ignore start -- @preserve */ {} /* v8 ignore stop -- @preserve */;\n const { context = {} } = opts;\n\n // v8 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,4 +1,4 @@
|
|
|
1
|
-
import { h as RQBJsonLogicDateTimeOperations, i as RQBDateTimeLibraryAPI } from "./types-
|
|
1
|
+
import { h as RQBJsonLogicDateTimeOperations, i as RQBDateTimeLibraryAPI } from "./types-c6_k1Tpr.js";
|
|
2
2
|
import { RuleProcessor, ValueProcessorByRule } from "react-querybuilder";
|
|
3
3
|
|
|
4
4
|
//#region src/rqbDateTimeLibraryAPI.jsdate.d.ts
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./getDatetimeRuleProcessorSQL-Cca9pzSn.js"),t=new Date(NaN),n=/^(\d{4})-(\d{2})-(\d{2})([T ](\d{2}):(\d{2}):(\d{2})(\.(\d{1,3}))?)?/,r=e=>{if(e instanceof Date)return e;let r=n.exec(e);if(!r)return t;let[i,a,o,s,c,l,u,d,f,p]=r,[m,h,g,_,v,y,b]=[a,o,s,l,u,d,p??`0`].filter(Boolean).map(Number),x=h-1;return l?new Date(Date.UTC(m,x,g,_,v,y,b)):new Date(m,x,g)},i=e=>{let t=r(e);return t instanceof Date&&!Number.isNaN(t.getTime())},a=e=>{let t=r(e);return i(t)?t.toISOString().slice(0,10):``},o={format:e=>r(e).toISOString(),isAfter:(e,t)=>{let n=r(e).getTime(),i=r(t).getTime();return!Number.isNaN(n)&&!Number.isNaN(i)&&n>i},isBefore:(e,t)=>{let n=r(e).getTime(),i=r(t).getTime();return!Number.isNaN(n)&&!Number.isNaN(i)&&n<i},isSame:(t,n)=>{let i=r(t),o=r(n);return e.h(t)||e.h(n)?a(t)===a(n):i.getTime()===o.getTime()},isValid:i,toDate:r,toISOString:e=>{let t=r(e);return i(t)?t.toISOString():``},toISOStringDateOnly:a},s=e.m(o),c=e.t(o),l=e.n(o),u=e.r(o),d=e.i(o),f=e.a(o),p=e.o(o),m=e.p(o),h=e.d(o),g=e.u(o),_=e.f(o),v=e.s(o);exports.datetimeRuleProcessorCEL=m,exports.datetimeRuleProcessorCypher=_,exports.datetimeRuleProcessorMongoDBQuery=h,exports.datetimeRuleProcessorNL=g,exports.datetimeRuleProcessorSPARQL=v,exports.datetimeRuleProcessorSQL=c,exports.datetimeValueProcessorANSI=l,exports.datetimeValueProcessorMSSQL=u,exports.datetimeValueProcessorMySQL=d,exports.datetimeValueProcessorOracle=f,exports.datetimeValueProcessorPostgreSQL=p,exports.jsonLogicDateTimeOperations=s,exports.rqbDateTimeLibraryAPI=o;
|
|
2
2
|
//# sourceMappingURL=react-querybuilder_datetime.cjs.production.jsdate.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { h as RQBJsonLogicDateTimeOperations, i as RQBDateTimeLibraryAPI } from "./types-
|
|
1
|
+
import { h as RQBJsonLogicDateTimeOperations, i as RQBDateTimeLibraryAPI } from "./types-c6_k1Tpr.js";
|
|
2
2
|
import { RuleProcessor, ValueProcessorByRule } from "react-querybuilder";
|
|
3
3
|
|
|
4
4
|
//#region src/rqbDateTimeLibraryAPI.luxon.d.ts
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./getDatetimeRuleProcessorSQL-Cca9pzSn.js");let t=require("luxon");const n=e=>typeof e==`string`?t.DateTime.fromISO(e):t.DateTime.fromJSDate(e),r=`yyyy-MM-dd`,i={format:(e,t)=>n(e).toFormat(t.replace(`YYYY-MM-DD`,r)),isAfter:(e,t)=>n(e)>n(t),isBefore:(e,t)=>n(e)<n(t),isSame:(t,r)=>e.h(t)||e.h(r)?n(t).hasSame(n(r),`day`):+n(t)==+n(r),isValid:e=>n(e).isValid,toDate:e=>n(e).toJSDate(),toISOString:e=>{let t=n(e);return t.isValid?t.toJSDate().toISOString():``},toISOStringDateOnly:e=>{let t=n(e);return t.isValid?t.toFormat(r):``}},a=e.m(i),o=e.t(i),s=e.n(i),c=e.r(i),l=e.i(i),u=e.a(i),d=e.o(i),f=e.p(i),p=e.d(i),m=e.u(i),h=e.f(i),g=e.s(i);exports.datetimeRuleProcessorCEL=f,exports.datetimeRuleProcessorCypher=h,exports.datetimeRuleProcessorMongoDBQuery=p,exports.datetimeRuleProcessorNL=m,exports.datetimeRuleProcessorSPARQL=g,exports.datetimeRuleProcessorSQL=o,exports.datetimeValueProcessorANSI=s,exports.datetimeValueProcessorMSSQL=c,exports.datetimeValueProcessorMySQL=l,exports.datetimeValueProcessorOracle=u,exports.datetimeValueProcessorPostgreSQL=d,exports.jsonLogicDateTimeOperations=a,exports.rqbDateTimeLibraryAPI=i;
|
|
2
2
|
//# sourceMappingURL=react-querybuilder_datetime.cjs.production.luxon.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-querybuilder_datetime.cjs.production.luxon.js","names":["DateTime","isISOStringDateOnly","getDatetimeJsonLogicOperations","getDatetimeRuleProcessorSQL","getDatetimeValueProcessorANSI","getDatetimeValueProcessorMSSQL","getDatetimeValueProcessorMySQL","getDatetimeValueProcessorOracle","getDatetimeValueProcessorPostgreSQL","getDatetimeRuleProcessorCEL","getDatetimeRuleProcessorMongoDBQuery","getDatetimeRuleProcessorNL","getDatetimeRuleProcessorCypher","getDatetimeRuleProcessorSPARQL"],"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 { getDatetimeRuleProcessorCypher } from './getDatetimeRuleProcessorCypher';\nimport { getDatetimeRuleProcessorMongoDBQuery } from './getDatetimeRuleProcessorMongoDBQuery';\nimport { getDatetimeRuleProcessorNL } from './getDatetimeRuleProcessorNL';\nimport { getDatetimeRuleProcessorSPARQL } from './getDatetimeRuleProcessorSPARQL';\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\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for \"cypher\"/\"gql\" format using Luxon\n */\nexport const datetimeRuleProcessorCypher: ValueProcessorByRule =\n getDatetimeRuleProcessorCypher(rqbDateTimeLibraryAPI);\n\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for \"sparql\" format using Luxon\n */\nexport const datetimeRuleProcessorSPARQL: ValueProcessorByRule =\n getDatetimeRuleProcessorSPARQL(rqbDateTimeLibraryAPI);\n\nexport * from './rqbDateTimeLibraryAPI.luxon';\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"react-querybuilder_datetime.cjs.production.luxon.js","names":["DateTime","isISOStringDateOnly","getDatetimeJsonLogicOperations","getDatetimeRuleProcessorSQL","getDatetimeValueProcessorANSI","getDatetimeValueProcessorMSSQL","getDatetimeValueProcessorMySQL","getDatetimeValueProcessorOracle","getDatetimeValueProcessorPostgreSQL","getDatetimeRuleProcessorCEL","getDatetimeRuleProcessorMongoDBQuery","getDatetimeRuleProcessorNL","getDatetimeRuleProcessorCypher","getDatetimeRuleProcessorSPARQL"],"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 { getDatetimeRuleProcessorCypher } from './getDatetimeRuleProcessorCypher';\nimport { getDatetimeRuleProcessorMongoDBQuery } from './getDatetimeRuleProcessorMongoDBQuery';\nimport { getDatetimeRuleProcessorNL } from './getDatetimeRuleProcessorNL';\nimport { getDatetimeRuleProcessorSPARQL } from './getDatetimeRuleProcessorSPARQL';\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\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for \"cypher\"/\"gql\" format using Luxon\n */\nexport const datetimeRuleProcessorCypher: ValueProcessorByRule =\n getDatetimeRuleProcessorCypher(rqbDateTimeLibraryAPI);\n\n/**\n * {@link @react-querybuilder/core!formatQuery formatQuery} rule processor for \"sparql\" format using Luxon\n */\nexport const datetimeRuleProcessorSPARQL: ValueProcessorByRule =\n getDatetimeRuleProcessorSPARQL(rqbDateTimeLibraryAPI);\n\nexport * from './rqbDateTimeLibraryAPI.luxon';\n"],"mappings":"uJAIA,MAAM,EAAc,GAClB,OAAO,GAAM,SAAWA,EAAAA,SAAS,QAAQ,CAAC,EAAIA,EAAAA,SAAS,WAAW,CAAC,EAC/D,EAAkB,aAKX,EAA+C,CAC1D,QAAS,EAAG,IAAQ,EAAW,CAAC,EAAE,SAAS,EAAI,QAAQ,aAAc,CAAe,CAAC,EACrF,SAAU,EAAG,IAAM,EAAW,CAAC,EAAI,EAAW,CAAC,EAC/C,UAAW,EAAG,IAAM,EAAW,CAAC,EAAI,EAAW,CAAC,EAChD,QAAS,EAAG,IACVC,EAAAA,EAAoB,CAAC,GAAKA,EAAAA,EAAoB,CAAC,EAC3C,EAAW,CAAC,EAAE,QAAQ,EAAW,CAAC,EAAG,KAAK,EAC1C,CAAC,EAAW,CAAC,GAAM,CAAC,EAAW,CAAC,EACtC,QAAS,GAAK,EAAW,CAAC,EAAE,QAC5B,OAAQ,GAAK,EAAW,CAAC,EAAE,SAAS,EACpC,YAAa,GAAK,CAChB,IAAM,EAAU,EAAW,CAAC,EAC5B,OAAO,EAAQ,QAAU,EAAQ,SAAS,EAAE,YAAY,EAAI,EAC9D,EACA,oBAAqB,GAAK,CACxB,IAAM,EAAU,EAAW,CAAC,EAC5B,OAAO,EAAQ,QAAU,EAAQ,SAAS,CAAe,EAAI,EAC/D,CACF,ECFa,EACXC,EAAAA,EAA+B,CAAqB,EAKzC,EACXC,EAAAA,EAA4B,CAAqB,EAItC,EACXC,EAAAA,EAA8B,CAAqB,EAIxC,EACXC,EAAAA,EAA+B,CAAqB,EAIzC,EACXC,EAAAA,EAA+B,CAAqB,EAIzC,EACXC,EAAAA,EAAgC,CAAqB,EAI1C,EACXC,EAAAA,EAAoC,CAAqB,EAK9C,EACXC,EAAAA,EAA4B,CAAqB,EAKtC,EACXC,EAAAA,EAAqC,CAAqB,EAK/C,EACXC,EAAAA,EAA2B,CAAqB,EAKrC,EACXC,EAAAA,EAA+B,CAAqB,EAKzC,EACXC,EAAAA,EAA+B,CAAqB"}
|
|
@@ -102,4 +102,4 @@ type IsDateFieldFunction = (...[rule, opts]: Parameters<RuleProcessor>) => boole
|
|
|
102
102
|
type IsDateField = IsDateFieldFunction | Record<string, unknown> | Record<string, unknown>[] | boolean | undefined;
|
|
103
103
|
//#endregion
|
|
104
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-
|
|
105
|
+
//# sourceMappingURL=types-c6_k1Tpr.d.ts.map
|
package/dist/{getDatetimeRuleProcessorSQL-Dnhyo0qz.js → getDatetimeRuleProcessorSQL-Crw01Jo-.js}
RENAMED
|
@@ -166,7 +166,7 @@ const getDatetimeRuleProcessorMongoDBQuery = (apiFns) => (rule, options) => {
|
|
|
166
166
|
return defaultRuleProcessorMongoDBQuery(rule, opts);
|
|
167
167
|
};
|
|
168
168
|
//#endregion
|
|
169
|
-
//#region \0@oxc-project+runtime@0.
|
|
169
|
+
//#region \0@oxc-project+runtime@0.132.0/helpers/typeof.js
|
|
170
170
|
function _typeof(o) {
|
|
171
171
|
"@babel/helpers - typeof";
|
|
172
172
|
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
|
|
@@ -176,7 +176,7 @@ function _typeof(o) {
|
|
|
176
176
|
}, _typeof(o);
|
|
177
177
|
}
|
|
178
178
|
//#endregion
|
|
179
|
-
//#region \0@oxc-project+runtime@0.
|
|
179
|
+
//#region \0@oxc-project+runtime@0.132.0/helpers/toPrimitive.js
|
|
180
180
|
function toPrimitive(t, r) {
|
|
181
181
|
if ("object" != _typeof(t) || !t) return t;
|
|
182
182
|
var e = t[Symbol.toPrimitive];
|
|
@@ -188,13 +188,13 @@ function toPrimitive(t, r) {
|
|
|
188
188
|
return ("string" === r ? String : Number)(t);
|
|
189
189
|
}
|
|
190
190
|
//#endregion
|
|
191
|
-
//#region \0@oxc-project+runtime@0.
|
|
191
|
+
//#region \0@oxc-project+runtime@0.132.0/helpers/toPropertyKey.js
|
|
192
192
|
function toPropertyKey(t) {
|
|
193
193
|
var i = toPrimitive(t, "string");
|
|
194
194
|
return "symbol" == _typeof(i) ? i : i + "";
|
|
195
195
|
}
|
|
196
196
|
//#endregion
|
|
197
|
-
//#region \0@oxc-project+runtime@0.
|
|
197
|
+
//#region \0@oxc-project+runtime@0.132.0/helpers/defineProperty.js
|
|
198
198
|
function _defineProperty(e, r, t) {
|
|
199
199
|
return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
|
|
200
200
|
value: t,
|
|
@@ -204,7 +204,7 @@ function _defineProperty(e, r, t) {
|
|
|
204
204
|
}) : e[r] = t, e;
|
|
205
205
|
}
|
|
206
206
|
//#endregion
|
|
207
|
-
//#region \0@oxc-project+runtime@0.
|
|
207
|
+
//#region \0@oxc-project+runtime@0.132.0/helpers/objectSpread2.js
|
|
208
208
|
function ownKeys(e, r) {
|
|
209
209
|
var t = Object.keys(e);
|
|
210
210
|
if (Object.getOwnPropertySymbols) {
|
|
@@ -479,4 +479,4 @@ const getDatetimeRuleProcessorSQL = (apiFns) => (rule, options) => {
|
|
|
479
479
|
//#endregion
|
|
480
480
|
export { getDatetimeValueProcessorOracle as a, datetimeValueProcessorNL as c, getDatetimeRuleProcessorMongoDBQuery as d, getDatetimeRuleProcessorCypher as f, processIsDateField as g, isISOStringDateOnly as h, getDatetimeValueProcessorMySQL as i, defaultDateTimeNLOperatorMap as l, getDatetimeJsonLogicOperations as m, getDatetimeValueProcessorANSI as n, getDatetimeValueProcessorPostgreSQL as o, getDatetimeRuleProcessorCEL as p, getDatetimeValueProcessorMSSQL as r, getDatetimeRuleProcessorSPARQL as s, getDatetimeRuleProcessorSQL as t, getDatetimeRuleProcessorNL as u };
|
|
481
481
|
|
|
482
|
-
//# sourceMappingURL=getDatetimeRuleProcessorSQL-
|
|
482
|
+
//# sourceMappingURL=getDatetimeRuleProcessorSQL-Crw01Jo-.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDatetimeRuleProcessorSQL-Dnhyo0qz.js","names":["shouldNegate","shouldNegate"],"sources":["../src/utils.ts","../src/getDatetimeJsonLogicOperations.ts","../src/getDatetimeRuleProcessorCEL.ts","../src/getDatetimeRuleProcessorCypher.ts","../src/getDatetimeRuleProcessorMongoDBQuery.ts","../src/getDatetimeRuleProcessorNL.ts","../src/getDatetimeRuleProcessorSPARQL.ts","../src/getDatetimeRuleProcessorSQL.ts"],"sourcesContent":["import type { RuleProcessor } from 'react-querybuilder';\nimport type { IsDateField, IsDateFieldFunction } from './types';\n\nexport const isISOStringDateOnly = (\n date: unknown\n): date is `${number}${number}${number}${number}-${number}${number}-${number}${number}` =>\n typeof date === 'string' && /^\\d{4}-\\d{2}-\\d{2}$/.test(date);\n\nexport const defaultIsDateField: IsDateFieldFunction = (\n ...[rule, opts]: Parameters<RuleProcessor>\n): boolean =>\n rule.operator !== 'contains' &&\n rule.operator !== 'beginsWith' &&\n rule.operator !== 'endsWith' &&\n rule.operator !== 'doesNotContain' &&\n rule.operator !== 'doesNotBeginWith' &&\n rule.operator !== 'doesNotEndWith' &&\n rule.operator !== 'null' &&\n rule.operator !== 'notNull' &&\n /^(?:date|datetime|datetimeoffset|timestamp)\\b/i.test(opts?.fieldData?.datatype as string);\n\nexport const processIsDateField = (\n isDateField: IsDateField,\n ...[rule, opts]: Parameters<RuleProcessor>\n): boolean => {\n if (typeof isDateField === 'boolean') {\n return isDateField;\n }\n\n if (typeof isDateField === 'function') {\n return isDateField(rule, opts);\n }\n\n if (Array.isArray(isDateField)) {\n return isDateField.some(condition =>\n Object.entries(condition).every(([key, value]) => opts?.fieldData?.[key] === value)\n );\n }\n\n if (typeof isDateField === 'object') {\n return Object.entries(isDateField).every(([key, value]) => opts?.fieldData?.[key] === value);\n }\n\n return defaultIsDateField(rule, opts);\n};\n","import type { RQBDateTimeLibraryAPI, RQBJsonLogicDateTimeOperations } from './types';\n\n/**\n * Custom operations for use with JsonLogic objects generated by\n * {@link datetimeRuleProcessorJsonLogic}.\n */\nexport const getDatetimeJsonLogicOperations = ({\n isAfter,\n isBefore,\n isSame,\n}: RQBDateTimeLibraryAPI): RQBJsonLogicDateTimeOperations => ({\n dateAfter: (a, b) => isAfter(a, b),\n dateBefore: (a, b) => isBefore(a, b),\n dateBetween: (a, b, c) =>\n isSame(b, a) ||\n isSame(b, c) ||\n (isAfter(b, a) && isBefore(b, c)) ||\n (isAfter(b, c) && isBefore(b, a)),\n dateNotBetween: (a, b, c) =>\n !isSame(b, a) &&\n !isSame(b, c) &&\n ((isBefore(a, c) && (isBefore(b, a) || isAfter(b, c))) ||\n (isAfter(a, c) && (isBefore(b, c) || isAfter(b, a)))),\n dateIn: (a, b) => b.some(v => isSame(a, v)),\n dateNotIn: (a, b) => b.every(v => !isSame(a, v)),\n dateNotOn: (a, b) => !isSame(a, b),\n dateOn: (a, b) => isSame(a, b),\n dateOnOrAfter: (a, b) => isAfter(a, b) || isSame(a, b),\n dateOnOrBefore: (a, b) => isBefore(a, b) || isSame(a, b),\n});\n","import type { RuleProcessor } from 'react-querybuilder';\nimport { defaultRuleProcessorCEL, lc, toArray } from 'react-querybuilder';\nimport type { RQBDateTimeLibraryAPI } from './types';\nimport { processIsDateField } from './utils';\n\nconst shouldNegate = (op: string) => /^(does)?not/i.test(op);\n\n/**\n * Generates a rule processor with date/time features for use by\n * {@link @react-querybuilder/core!formatQuery formatQuery} with the \"cel\" format.\n */\nexport const getDatetimeRuleProcessorCEL =\n (apiFns: RQBDateTimeLibraryAPI): RuleProcessor =>\n (rule, options) => {\n const opts = options ?? /* v8 ignore start -- @preserve */ {} /* v8 ignore stop -- @preserve */;\n const { context = {} } = opts;\n\n if (rule.valueSource === 'field' || !processIsDateField(context.isDateField, rule, opts)) {\n return defaultRuleProcessorCEL(rule, opts);\n }\n\n const ts = (d: string | Date) => `timestamp(\"${apiFns.toISOString(d)}\")`;\n\n const operatorTL = lc(rule.operator.replace(/^=$/, '=='));\n\n switch (operatorTL) {\n case '<':\n case '<=':\n case '==':\n case '!=':\n case '>':\n case '>=':\n return `${rule.field} ${operatorTL} ${ts(rule.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 (operatorTL) {\n case 'in':\n case 'notin': {\n if (valueAsDateArray.length === 0) return '';\n const [prefix, suffix] = shouldNegate(operatorTL) ? ['!(', ')'] : ['', ''];\n return `${prefix}${rule.field} in [${valueAsDateArray\n .map(val => ts(val))\n .join(', ')}]${suffix}`;\n }\n\n case 'between':\n case 'notbetween': {\n if (valueAsDateArray.length < 2) return '';\n const [first, second] = valueAsDateArray;\n const [firstDate, secondDate] = apiFns.isBefore(first, second)\n ? [first, second]\n : [second, first];\n return operatorTL === 'between'\n ? `(${rule.field} >= ${ts(firstDate)} && ${rule.field} <= ${ts(secondDate)})`\n : `(${rule.field} < ${ts(firstDate)} || ${rule.field} > ${ts(secondDate)})`;\n }\n }\n\n return defaultRuleProcessorCEL(rule, opts);\n };\n","import type { RuleProcessor } from 'react-querybuilder';\nimport { defaultRuleProcessorCypher, lc, toArray } from 'react-querybuilder';\nimport type { RQBDateTimeLibraryAPI } from './types';\nimport { isISOStringDateOnly, processIsDateField } from './utils';\n\nconst shouldNegate = (op: string) => /^(does)?not/i.test(op);\n\n/**\n * Wraps a date string in the appropriate Cypher temporal constructor.\n * - Date-only strings (YYYY-MM-DD) become `date('...')`\n * - Full ISO strings become `datetime('...')`\n */\nconst cypherTemporal = (iso: string, dateOnly: boolean): string =>\n dateOnly ? `date('${iso}')` : `datetime('${iso}')`;\n\n/**\n * Generates a rule processor with date/time features for use by\n * {@link @react-querybuilder/core!formatQuery formatQuery} with the \"cypher\" or \"gql\" format.\n *\n * Supports:\n * - Standard comparison operators (`=`, `!=`, `<`, `>`, `<=`, `>=`)\n * - Range operators (between, notBetween, in, notIn)\n * - Duration math via custom operators: `olderThanDuration` and `withinDuration`\n * (e.g., value `\"P30D\"` → `datetime() - field > duration('P30D')`)\n */\nexport const getDatetimeRuleProcessorCypher =\n (apiFns: RQBDateTimeLibraryAPI): RuleProcessor =>\n (rule, options) => {\n const opts = options ?? /* v8 ignore start -- @preserve */ {} /* v8 ignore stop -- @preserve */;\n const { context = {} } = opts;\n\n if (rule.valueSource === 'field' || !processIsDateField(context.isDateField, rule, opts)) {\n return defaultRuleProcessorCypher(rule, opts);\n }\n\n const { field, operator, value } = rule;\n const operatorTL = lc(operator);\n\n // Duration math operators — compare elapsed time against a duration literal\n if (operatorTL === 'olderthanduration') {\n return `datetime() - ${field} > duration('${value}')`;\n }\n if (operatorTL === 'withinduration') {\n return `datetime() - ${field} <= duration('${value}')`;\n }\n\n const valueAsArray: string[] = toArray(value, { retainEmptyStrings: false });\n const valueAsDateArray = valueAsArray\n .map((v): [string, Date] => [v, apiFns.toDate(v)])\n .filter(([, d]) => apiFns.isValid(d));\n\n const fmtDate = (originalValue: string): string => {\n const dateOnly = isISOStringDateOnly(originalValue);\n const iso = dateOnly\n ? apiFns.toISOStringDateOnly(originalValue)\n : apiFns.toISOString(originalValue);\n return cypherTemporal(iso, dateOnly);\n };\n\n switch (operatorTL) {\n case 'in':\n case 'notin': {\n if (valueAsDateArray.length === 0) return '';\n const items = valueAsDateArray.map(([orig]) => fmtDate(orig));\n const prefix = shouldNegate(operatorTL) ? 'NOT ' : '';\n return `${prefix}${field} IN [${items.join(', ')}]`;\n }\n\n case 'between':\n case 'notbetween': {\n if (valueAsDateArray.length < 2) return '';\n const [first, second] = valueAsDateArray;\n const [lo, hi] = apiFns.isBefore(first[1], second[1]) ? [first, second] : [second, first];\n const expr = `${fmtDate(lo[0])} <= ${field} AND ${field} <= ${fmtDate(hi[0])}`;\n return operatorTL === 'notbetween' ? `NOT (${expr})` : expr;\n }\n\n default: {\n // Standard comparison: =, !=, <, >, <=, >=\n if (valueAsDateArray.length === 0) return '';\n const [orig] = valueAsDateArray[0];\n const op = operatorTL === '<>' ? '<>' : operatorTL;\n return `${field} ${op} ${fmtDate(orig)}`;\n }\n }\n };\n","import type { RuleProcessor } from 'react-querybuilder';\nimport { defaultRuleProcessorMongoDBQuery, mongoOperators, toArray } from 'react-querybuilder';\nimport type { RQBDateTimeLibraryAPI } from './types';\nimport { processIsDateField } from './utils';\n\n/**\n * Generates a rule processor with date/time features for use by\n * {@link @react-querybuilder/core!formatQuery formatQuery} with the \"mongodb_query\" format.\n */\nexport const getDatetimeRuleProcessorMongoDBQuery =\n (apiFns: RQBDateTimeLibraryAPI): RuleProcessor =>\n (rule, options) => {\n const opts = options ?? /* v8 ignore start -- @preserve */ {} /* v8 ignore stop -- @preserve */;\n const { field, operator, value, valueSource } = rule;\n\n if (valueSource === 'field' || !processIsDateField(opts.context?.isDateField, rule, opts)) {\n return defaultRuleProcessorMongoDBQuery(rule, opts);\n }\n\n if (operator === '=') {\n return { [field]: apiFns.toDate(value) };\n }\n\n switch (operator) {\n case '<':\n case '<=':\n case '!=':\n case '>':\n case '>=':\n return { [field]: { [mongoOperators[operator]]: apiFns.toDate(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 return { [field]: { [mongoOperators[operator]]: valueAsDateArray } };\n\n case 'between':\n case 'notBetween': {\n if (valueAsDateArray.length < 2) return '';\n const [first, second] = valueAsDateArray;\n const orderedArray = apiFns.isBefore(first, second) ? [first, second] : [second, first];\n return operator === 'between'\n ? { [field]: { $gte: orderedArray[0], $lte: orderedArray[1] } }\n : {\n $or: [{ [field]: { $lt: orderedArray[0] } }, { [field]: { $gt: orderedArray[1] } }],\n };\n }\n }\n\n return defaultRuleProcessorMongoDBQuery(rule, opts);\n };\n","import type { ExportOperatorMap, RuleProcessor, ValueProcessorByRule } from 'react-querybuilder';\nimport {\n defaultOperatorProcessorNL,\n defaultRuleProcessorNL,\n getQuotedFieldName,\n lc,\n normalizeConstituentWordOrder,\n toArray,\n} from 'react-querybuilder';\nimport type { RQBDateTimeLibraryAPI } from './types';\nimport { isISOStringDateOnly, processIsDateField } from './utils';\n\nexport const defaultDateTimeNLOperatorMap: ExportOperatorMap = {\n // '=': 'is',\n // '!=': 'is not',\n '<': 'is before',\n '>': 'is after',\n '<=': 'is on or before',\n '>=': 'is on or after',\n in: ['is one of the dates', 'is the same as a date in'],\n notin: ['is not one of the dates', 'is not the same as any date in'],\n between: ['is between', 'is between the dates in'],\n notbetween: ['is not between', 'is not between the dates in'],\n};\n\n/**\n * Generates a value processor with date/time features for use by\n * {@link @react-querybuilder/core!formatQuery formatQuery} with the \"natural_language\" format.\n */\nexport const datetimeValueProcessorNL: ValueProcessorByRule = (rule, opts) => {\n if (isISOStringDateOnly(opts?.context?.originalValue)) {\n return new Intl.DateTimeFormat(opts?.context?.locales, {\n dateStyle: 'full',\n ...opts?.context?.dateFormat,\n }).format(rule.value);\n }\n return new Intl.DateTimeFormat(opts?.context?.locales, {\n dateStyle: 'full',\n timeStyle: 'long',\n ...opts?.context?.dateTimeFormat,\n }).format(rule.value);\n};\n\n/**\n * Generates a rule processor with date/time features for use by {@link @react-querybuilder/core!formatQuery formatQuery} with\n * the \"natural_language\" format.\n */\nexport const getDatetimeRuleProcessorNL =\n (apiFns: RQBDateTimeLibraryAPI): RuleProcessor =>\n (rule, options) => {\n const opts = options ?? /* v8 ignore start -- @preserve */ {} /* v8 ignore stop -- @preserve */;\n const operatorLowerCase = lc(rule.operator);\n let finalValue = '';\n\n // v8 ignore next\n const {\n fieldData,\n quoteFieldNamesWith = ['', ''] as [string, string],\n fieldIdentifierSeparator = '',\n operatorProcessor = defaultOperatorProcessorNL,\n // valueProcessor = datetimeValueProcessorNL,\n wordOrder = 'SVO',\n context = {},\n operatorMap = defaultDateTimeNLOperatorMap,\n } = opts;\n\n if (!processIsDateField(context.isDateField, rule, opts)) {\n return defaultRuleProcessorNL(rule, opts);\n }\n\n if (rule.valueSource === 'field') {\n return defaultRuleProcessorNL(rule, { ...opts, operatorMap: defaultDateTimeNLOperatorMap });\n }\n\n if (\n (operatorLowerCase === 'in' ||\n operatorLowerCase === 'notin' ||\n operatorLowerCase === 'between' ||\n operatorLowerCase === 'notbetween') &&\n !rule.value\n ) {\n return '';\n }\n\n const valueAsArray: string[] = toArray(rule.value, { retainEmptyStrings: false });\n const valueAsDateArray = valueAsArray\n .map((v): [string, Date] => [v, apiFns.toDate(v)])\n .filter(v => apiFns.isValid(v[1]));\n\n switch (operatorLowerCase) {\n case 'in':\n case 'notin':\n {\n if (valueAsDateArray.length === 0) return '';\n finalValue = `(${valueAsDateArray\n .map(value =>\n datetimeValueProcessorNL(\n { field: rule.field, operator: '=', value: value[1] },\n { ...opts, context: { ...context, originalValue: value[0] } }\n )\n )\n .join(', ')})`;\n }\n break;\n\n case 'between':\n case 'notbetween':\n {\n if (valueAsDateArray.length < 2) return '';\n const [first, second] = valueAsDateArray;\n const orderedArray = apiFns.isBefore(first[1], second[1])\n ? [first, second]\n : [second, first];\n finalValue = orderedArray\n .map(([originalValue, value]) =>\n datetimeValueProcessorNL(\n { field: rule.field, operator: '=', value },\n { ...opts, context: { ...context, originalValue } }\n )\n )\n .join(` ${opts.translations?.and ?? 'and'} `);\n }\n break;\n\n default: {\n const [originalValue, value] = valueAsDateArray[0] ?? ['', ''];\n finalValue = originalValue\n ? datetimeValueProcessorNL(\n { field: rule.field, operator: '=', value },\n { ...opts, context: { ...context, originalValue } }\n )\n : '';\n }\n }\n\n const processedField = getQuotedFieldName(fieldData?.label ?? rule.field, {\n quoteFieldNamesWith,\n fieldIdentifierSeparator,\n });\n\n const processedOperator = operatorProcessor(rule, {\n ...opts,\n operatorMap: { ...defaultDateTimeNLOperatorMap, ...operatorMap },\n });\n\n const wordOrderMap = {\n S: processedField,\n V: processedOperator,\n O: finalValue,\n };\n\n return normalizeConstituentWordOrder(wordOrder)\n .map(term => `${wordOrderMap[term]}`)\n .join(' ')\n .trim();\n };\n","import type { RuleProcessor } from 'react-querybuilder';\nimport { defaultRuleProcessorSPARQL, lc, sparqlVar, toArray } from 'react-querybuilder';\nimport type { RQBDateTimeLibraryAPI } from './types';\nimport { isISOStringDateOnly, processIsDateField } from './utils';\n\nconst shouldNegate = (op: string) => /^(does)?not/i.test(op);\n\n/**\n * Wraps a date string in the appropriate SPARQL typed literal.\n * - Date-only strings (YYYY-MM-DD) become `\"...\"^^xsd:date`\n * - Full ISO strings become `\"...\"^^xsd:dateTime`\n */\nconst sparqlTemporal = (iso: string, dateOnly: boolean): string =>\n dateOnly ? `\"${iso}\"^^xsd:date` : `\"${iso}\"^^xsd:dateTime`;\n\n/**\n * Generates a rule processor with date/time features for use by\n * {@link @react-querybuilder/core!formatQuery formatQuery} with the \"sparql\" format.\n *\n * Supports:\n * - Standard comparison operators (`=`, `!=`, `<`, `>`, `<=`, `>=`)\n * - Range operators (between, notBetween, in, notIn)\n * - Duration math via custom operators: `olderThanDuration` and `withinDuration`\n * (e.g., value `\"P30D\"` → `NOW() - ?field > \"P30D\"^^xsd:duration`)\n */\nexport const getDatetimeRuleProcessorSPARQL =\n (apiFns: RQBDateTimeLibraryAPI): RuleProcessor =>\n (rule, options) => {\n const opts = options ?? /* v8 ignore start -- @preserve */ {} /* v8 ignore stop -- @preserve */;\n const { context = {} } = opts;\n\n if (rule.valueSource === 'field' || !processIsDateField(context.isDateField, rule, opts)) {\n return defaultRuleProcessorSPARQL(rule, opts);\n }\n\n const { field: rawField, operator, value } = rule;\n const field = sparqlVar(rawField);\n const operatorTL = lc(operator);\n\n // Duration math operators — compare elapsed time against an xsd:duration literal\n if (operatorTL === 'olderthanduration') {\n return `NOW() - ${field} > \"${value}\"^^xsd:duration`;\n }\n if (operatorTL === 'withinduration') {\n return `NOW() - ${field} <= \"${value}\"^^xsd:duration`;\n }\n\n const valueAsArray: string[] = toArray(value, { retainEmptyStrings: false });\n const valueAsDateArray = valueAsArray\n .map((v): [string, Date] => [v, apiFns.toDate(v)])\n .filter(([, d]) => apiFns.isValid(d));\n\n const fmtDate = (originalValue: string): string => {\n const dateOnly = isISOStringDateOnly(originalValue);\n const iso = dateOnly\n ? apiFns.toISOStringDateOnly(originalValue)\n : apiFns.toISOString(originalValue);\n return sparqlTemporal(iso, dateOnly);\n };\n\n switch (operatorTL) {\n case 'in':\n case 'notin': {\n if (valueAsDateArray.length === 0) return '';\n const items = valueAsDateArray.map(([orig]) => fmtDate(orig));\n const prefix = shouldNegate(operatorTL) ? 'NOT ' : '';\n return `${field} ${prefix}IN (${items.join(', ')})`;\n }\n\n case 'between':\n case 'notbetween': {\n if (valueAsDateArray.length < 2) return '';\n const [first, second] = valueAsDateArray;\n const [lo, hi] = apiFns.isBefore(first[1], second[1]) ? [first, second] : [second, first];\n if (operatorTL === 'notbetween') {\n return `(${field} < ${fmtDate(lo[0])} || ${field} > ${fmtDate(hi[0])})`;\n }\n return `${field} >= ${fmtDate(lo[0])} && ${field} <= ${fmtDate(hi[0])}`;\n }\n\n default: {\n // Standard comparison: =, !=, <, >, <=, >=\n if (valueAsDateArray.length === 0) return '';\n const [orig] = valueAsDateArray[0];\n const op = operatorTL === '<>' ? '!=' : operatorTL;\n return `${field} ${op} ${fmtDate(orig)}`;\n }\n }\n };\n","import type { RuleProcessor, SQLPreset, ValueProcessorByRule } from 'react-querybuilder';\nimport {\n defaultRuleProcessorSQL,\n defaultValueProcessorByRule,\n getQuotedFieldName,\n lc,\n mapSQLOperator,\n toArray,\n} from 'react-querybuilder';\nimport type { RQBDateTimeLibraryAPI } from './types';\nimport { isISOStringDateOnly, processIsDateField } from './utils';\n\n/**\n * Generates a value processor with date/time features for use by\n * {@link @react-querybuilder/core!formatQuery formatQuery} with the \"sql\" format and \"ansi\" preset.\n */\nexport const getDatetimeValueProcessorANSI =\n ({ toISOStringDateOnly, toISOString }: RQBDateTimeLibraryAPI): ValueProcessorByRule =>\n (rule, opts) => {\n if (isISOStringDateOnly(opts?.context?.originalValue)) {\n return defaultValueProcessorByRule({ ...rule, value: toISOStringDateOnly(rule.value) }, opts);\n }\n return defaultValueProcessorByRule({ ...rule, value: toISOString(rule.value as Date) }, opts);\n };\n\n/**\n * Generates a value processor with date/time features for use by {@link @react-querybuilder/core!formatQuery formatQuery} with\n * the \"sql\" format and \"mssql\" preset.\n */\nexport const getDatetimeValueProcessorMSSQL =\n ({ toISOStringDateOnly, toISOString }: RQBDateTimeLibraryAPI): ValueProcessorByRule =>\n (rule, opts) => {\n const datatype = /^(?:small)?datetime/i.test(opts?.fieldData?.datatype as string)\n ? 'datetimeoffset'\n : 'date';\n const value =\n datatype === 'datetimeoffset' ? toISOString(rule.value) : toISOStringDateOnly(rule.value);\n return defaultValueProcessorByRule(\n { ...rule, value },\n { ...opts, wrapValueWith: [`cast(`, ` as ${datatype})`] }\n );\n };\n\n/**\n * Generates a value processor with date/time features for use by {@link @react-querybuilder/core!formatQuery formatQuery} with\n * the \"sql\" format and \"mysql\" preset.\n */\nexport const getDatetimeValueProcessorMySQL =\n ({ toISOStringDateOnly, toISOString }: RQBDateTimeLibraryAPI): ValueProcessorByRule =>\n (rule, opts) => {\n const datatype = /^(?:datetime|timestamp)/i.test(opts?.fieldData?.datatype as string)\n ? 'datetime'\n : 'date';\n const value =\n datatype === 'datetime' ? toISOString(rule.value) : toISOStringDateOnly(rule.value);\n return defaultValueProcessorByRule(\n { ...rule, value },\n { ...opts, wrapValueWith: [`cast(`, ` as ${datatype})`] }\n );\n };\n\n/**\n * Generates a value processor with date/time features for use by {@link @react-querybuilder/core!formatQuery formatQuery} with\n * the \"sql\" format and \"oracle\" preset.\n */\nexport const getDatetimeValueProcessorOracle =\n ({ toISOStringDateOnly, toISOString }: RQBDateTimeLibraryAPI): ValueProcessorByRule =>\n (rule, opts) => {\n // Oracle date format for _reading_ ISO 8601: 'YYYY-MM-DD\"T\"HH24:MI:SS.ff3\"Z\"'\n const datatype = /^timestamp/i.test(opts?.fieldData?.datatype as string) ? 'timestamp' : 'date';\n const value =\n datatype === 'timestamp'\n ? toISOString(rule.value).replaceAll('T', ' ').replace('Z', ' UTC')\n : toISOStringDateOnly(rule.value);\n return defaultValueProcessorByRule(\n { ...rule, value },\n { ...opts, wrapValueWith: [datatype, ``] }\n );\n };\n\n/**\n * Generates a value processor with date/time features for use by {@link @react-querybuilder/core!formatQuery formatQuery} with\n * the \"sql\" format and \"postgresql\" preset.\n */\nexport const getDatetimeValueProcessorPostgreSQL =\n ({ toISOStringDateOnly, toISOString }: RQBDateTimeLibraryAPI): ValueProcessorByRule =>\n (rule, opts) => {\n const datatype = /^timestamp/i.test(opts?.fieldData?.datatype as string) ? 'timestamp' : 'date';\n const value =\n datatype === 'timestamp' ? toISOString(rule.value) : toISOStringDateOnly(rule.value);\n return defaultValueProcessorByRule(\n { ...rule, value },\n { ...opts, wrapValueWith: [datatype, ``] }\n );\n };\n\nconst presetToValueProcessorMap = {\n ansi: getDatetimeValueProcessorANSI,\n mssql: getDatetimeValueProcessorMSSQL,\n mysql: getDatetimeValueProcessorMySQL,\n oracle: getDatetimeValueProcessorOracle,\n postgresql: getDatetimeValueProcessorPostgreSQL,\n sqlite: getDatetimeValueProcessorANSI,\n} satisfies Record<SQLPreset, (apiFns: RQBDateTimeLibraryAPI) => ValueProcessorByRule>;\n\n/**\n * Generates a rule processor with date/time features for use by {@link @react-querybuilder/core!formatQuery formatQuery} with\n * the \"sql\" format.\n */\nexport const getDatetimeRuleProcessorSQL =\n (apiFns: RQBDateTimeLibraryAPI): RuleProcessor =>\n (rule, options) => {\n const opts = options ?? /* v8 ignore start -- @preserve */ {} /* v8 ignore stop -- @preserve */;\n const operator = mapSQLOperator(rule.operator);\n const operatorLowerCase = lc(operator);\n // v8 ignore next\n const {\n quoteFieldNamesWith = ['', ''] as [string, string],\n fieldIdentifierSeparator = '',\n context = {},\n } = opts;\n let finalValue = '';\n\n if (rule.valueSource === 'field' || !processIsDateField(context.isDateField, rule, opts)) {\n return defaultRuleProcessorSQL(rule, opts);\n }\n\n const valueProcessor = presetToValueProcessorMap[opts.preset!](apiFns);\n\n const valueAsArray: string[] = toArray(rule.value, { retainEmptyStrings: false });\n const valueAsDateArray = valueAsArray\n .map((v): [string, Date] => [v, apiFns.toDate(v)])\n .filter(v => apiFns.isValid(v[1]));\n\n switch (operatorLowerCase) {\n case 'in':\n case 'not in':\n {\n if (valueAsDateArray.length === 0) return '';\n finalValue = `(${valueAsDateArray\n .map(value =>\n valueProcessor(\n { field: rule.field, operator: '=', value: value[1] },\n { ...opts, context: { originalValue: value[0] } }\n )\n )\n .join(', ')})`;\n }\n break;\n\n case 'between':\n case 'not between':\n {\n if (valueAsDateArray.length < 2) return '';\n const [first, second] = valueAsDateArray;\n const orderedArray = apiFns.isBefore(first[1], second[1])\n ? [first, second]\n : [second, first];\n finalValue = orderedArray\n .map(([originalValue, value]) =>\n valueProcessor(\n { field: rule.field, operator: '=', value },\n { ...opts, context: { originalValue } }\n )\n )\n .join(' and ');\n }\n break;\n\n default: {\n const [originalValue, value] = valueAsDateArray[0] ?? ['', ''];\n finalValue = valueProcessor(\n { field: rule.field, operator: '=', value },\n { ...opts, context: { originalValue } }\n );\n }\n }\n\n return `${getQuotedFieldName(rule.field, { quoteFieldNamesWith, fieldIdentifierSeparator })} ${operator} ${finalValue}`.trim();\n };\n"],"mappings":";;AAGA,MAAa,uBACX,SAEA,OAAO,SAAS,YAAY,sBAAsB,KAAK,IAAI;AAE7D,MAAa,sBACX,GAAG,CAAC,MAAM,UAEV;;aAAK,aAAa,cAClB,KAAK,aAAa,gBAClB,KAAK,aAAa,cAClB,KAAK,aAAa,oBAClB,KAAK,aAAa,sBAClB,KAAK,aAAa,oBAClB,KAAK,aAAa,UAClB,KAAK,aAAa,aAClB,iDAAiD,KAAA,SAAA,QAAA,SAAA,KAAA,MAAA,kBAAK,KAAM,eAAA,QAAA,oBAAA,KAAA,IAAA,KAAA,IAAA,gBAAW,QAAkB;;AAE3F,MAAa,sBACX,aACA,GAAG,CAAC,MAAM,UACE;CACZ,IAAI,OAAO,gBAAgB,WACzB,OAAO;CAGT,IAAI,OAAO,gBAAgB,YACzB,OAAO,YAAY,MAAM,IAAI;CAG/B,IAAI,MAAM,QAAQ,WAAW,GAC3B,OAAO,YAAY,MAAK,cACtB,OAAO,QAAQ,SAAS,EAAE,OAAO,CAAC,KAAK,WAAW;;uEAAM,eAAA,QAAA,qBAAA,KAAA,IAAA,KAAA,IAAA,iBAAY,UAAS;CAAI,CAAC,CACpF;CAGF,IAAI,OAAO,gBAAgB,UACzB,OAAO,OAAO,QAAQ,WAAW,EAAE,OAAO,CAAC,KAAK,WAAW;;uEAAM,eAAA,QAAA,qBAAA,KAAA,IAAA,KAAA,IAAA,iBAAY,UAAS;CAAI,CAAC;CAG7F,OAAO,mBAAmB,MAAM,IAAI;AACtC;;;;;;;ACtCA,MAAa,kCAAkC,EAC7C,SACA,UACA,cAC4D;CAC5D,YAAY,GAAG,MAAM,QAAQ,GAAG,CAAC;CACjC,aAAa,GAAG,MAAM,SAAS,GAAG,CAAC;CACnC,cAAc,GAAG,GAAG,MAClB,OAAO,GAAG,CAAC,KACX,OAAO,GAAG,CAAC,KACV,QAAQ,GAAG,CAAC,KAAK,SAAS,GAAG,CAAC,KAC9B,QAAQ,GAAG,CAAC,KAAK,SAAS,GAAG,CAAC;CACjC,iBAAiB,GAAG,GAAG,MACrB,CAAC,OAAO,GAAG,CAAC,KACZ,CAAC,OAAO,GAAG,CAAC,MACV,SAAS,GAAG,CAAC,MAAM,SAAS,GAAG,CAAC,KAAK,QAAQ,GAAG,CAAC,MAChD,QAAQ,GAAG,CAAC,MAAM,SAAS,GAAG,CAAC,KAAK,QAAQ,GAAG,CAAC;CACrD,SAAS,GAAG,MAAM,EAAE,MAAK,MAAK,OAAO,GAAG,CAAC,CAAC;CAC1C,YAAY,GAAG,MAAM,EAAE,OAAM,MAAK,CAAC,OAAO,GAAG,CAAC,CAAC;CAC/C,YAAY,GAAG,MAAM,CAAC,OAAO,GAAG,CAAC;CACjC,SAAS,GAAG,MAAM,OAAO,GAAG,CAAC;CAC7B,gBAAgB,GAAG,MAAM,QAAQ,GAAG,CAAC,KAAK,OAAO,GAAG,CAAC;CACrD,iBAAiB,GAAG,MAAM,SAAS,GAAG,CAAC,KAAK,OAAO,GAAG,CAAC;AACzD;;;ACxBA,MAAMA,kBAAgB,OAAe,eAAe,KAAK,EAAE;;;;;AAM3D,MAAa,+BACV,YACA,MAAM,YAAY;CACjB,MAAM,OAAO,YAAA,QAAA,YAAA,KAAA,IAAA,8CAA8C,CAAC;CAC5D,MAAM,EAAE,UAAU,CAAC,MAAM;CAEzB,IAAI,KAAK,gBAAgB,WAAW,CAAC,mBAAmB,QAAQ,aAAa,MAAM,IAAI,GACrF,OAAO,wBAAwB,MAAM,IAAI;CAG3C,MAAM,MAAM,MAAqB,cAAc,OAAO,YAAY,CAAC,EAAE;CAErE,MAAM,aAAa,GAAG,KAAK,SAAS,QAAQ,OAAO,IAAI,CAAC;CAExD,QAAQ,YAAR;EACE,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK,MACH,OAAO,GAAG,KAAK,MAAM,GAAG,WAAW,GAAG,GAAG,KAAK,KAAK;CACvD;CAGA,MAAM,mBADyB,QAAQ,KAAK,OAAO,EAAE,oBAAoB,MAAM,CAC3C,EACjC,KAAI,MAAK,OAAO,OAAO,CAAC,CAAC,EACzB,QAAO,YAAW,OAAO,QAAQ,OAAO,CAAC;CAE5C,QAAQ,YAAR;EACE,KAAK;EACL,KAAK,SAAS;GACZ,IAAI,iBAAiB,WAAW,GAAG,OAAO;GAC1C,MAAM,CAAC,QAAQ,UAAUA,eAAa,UAAU,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE;GACzE,OAAO,GAAG,SAAS,KAAK,MAAM,OAAO,iBAClC,KAAI,QAAO,GAAG,GAAG,CAAC,EAClB,KAAK,IAAI,EAAE,GAAG;EACnB;EAEA,KAAK;EACL,KAAK,cAAc;GACjB,IAAI,iBAAiB,SAAS,GAAG,OAAO;GACxC,MAAM,CAAC,OAAO,UAAU;GACxB,MAAM,CAAC,WAAW,cAAc,OAAO,SAAS,OAAO,MAAM,IACzD,CAAC,OAAO,MAAM,IACd,CAAC,QAAQ,KAAK;GAClB,OAAO,eAAe,YAClB,IAAI,KAAK,MAAM,MAAM,GAAG,SAAS,EAAE,MAAM,KAAK,MAAM,MAAM,GAAG,UAAU,EAAE,KACzE,IAAI,KAAK,MAAM,KAAK,GAAG,SAAS,EAAE,MAAM,KAAK,MAAM,KAAK,GAAG,UAAU,EAAE;EAC7E;CACF;CAEA,OAAO,wBAAwB,MAAM,IAAI;AAC3C;;;AC3DF,MAAMC,kBAAgB,OAAe,eAAe,KAAK,EAAE;;;;;;AAO3D,MAAM,kBAAkB,KAAa,aACnC,WAAW,SAAS,IAAI,MAAM,aAAa,IAAI;;;;;;;;;;;AAYjD,MAAa,kCACV,YACA,MAAM,YAAY;CACjB,MAAM,OAAO,YAAA,QAAA,YAAA,KAAA,IAAA,8CAA8C,CAAC;CAC5D,MAAM,EAAE,UAAU,CAAC,MAAM;CAEzB,IAAI,KAAK,gBAAgB,WAAW,CAAC,mBAAmB,QAAQ,aAAa,MAAM,IAAI,GACrF,OAAO,2BAA2B,MAAM,IAAI;CAG9C,MAAM,EAAE,OAAO,UAAU,UAAU;CACnC,MAAM,aAAa,GAAG,QAAQ;CAG9B,IAAI,eAAe,qBACjB,OAAO,gBAAgB,MAAM,eAAe,MAAM;CAEpD,IAAI,eAAe,kBACjB,OAAO,gBAAgB,MAAM,gBAAgB,MAAM;CAIrD,MAAM,mBADyB,QAAQ,OAAO,EAAE,oBAAoB,MAAM,CACtC,EACjC,KAAK,MAAsB,CAAC,GAAG,OAAO,OAAO,CAAC,CAAC,CAAC,EAChD,QAAQ,GAAG,OAAO,OAAO,QAAQ,CAAC,CAAC;CAEtC,MAAM,WAAW,kBAAkC;EACjD,MAAM,WAAW,oBAAoB,aAAa;EAIlD,OAAO,eAHK,WACR,OAAO,oBAAoB,aAAa,IACxC,OAAO,YAAY,aAAa,GACT,QAAQ;CACrC;CAEA,QAAQ,YAAR;EACE,KAAK;EACL,KAAK,SAAS;GACZ,IAAI,iBAAiB,WAAW,GAAG,OAAO;GAC1C,MAAM,QAAQ,iBAAiB,KAAK,CAAC,UAAU,QAAQ,IAAI,CAAC;GAE5D,OAAO,GADQA,eAAa,UAAU,IAAI,SAAS,KAChC,MAAM,OAAO,MAAM,KAAK,IAAI,EAAE;EACnD;EAEA,KAAK;EACL,KAAK,cAAc;GACjB,IAAI,iBAAiB,SAAS,GAAG,OAAO;GACxC,MAAM,CAAC,OAAO,UAAU;GACxB,MAAM,CAAC,IAAI,MAAM,OAAO,SAAS,MAAM,IAAI,OAAO,EAAE,IAAI,CAAC,OAAO,MAAM,IAAI,CAAC,QAAQ,KAAK;GACxF,MAAM,OAAO,GAAG,QAAQ,GAAG,EAAE,EAAE,MAAM,MAAM,OAAO,MAAM,MAAM,QAAQ,GAAG,EAAE;GAC3E,OAAO,eAAe,eAAe,QAAQ,KAAK,KAAK;EACzD;EAEA,SAAS;GAEP,IAAI,iBAAiB,WAAW,GAAG,OAAO;GAC1C,MAAM,CAAC,QAAQ,iBAAiB;GAEhC,OAAO,GAAG,MAAM,GADL,eAAe,OAAO,OAAO,WAClB,GAAG,QAAQ,IAAI;EACvC;CACF;AACF;;;;;;;AC5EF,MAAa,wCACV,YACA,MAAM,YAAY;;CACjB,MAAM,OAAO,YAAA,QAAA,YAAA,KAAA,IAAA,8CAA8C,CAAC;CAC5D,MAAM,EAAE,OAAO,UAAU,OAAO,gBAAgB;CAEhD,IAAI,gBAAgB,WAAW,CAAC,oBAAA,gBAAmB,KAAK,aAAA,QAAA,kBAAA,KAAA,IAAA,KAAA,IAAA,cAAS,aAAa,MAAM,IAAI,GACtF,OAAO,iCAAiC,MAAM,IAAI;CAGpD,IAAI,aAAa,KACf,OAAO,GAAG,QAAQ,OAAO,OAAO,KAAK,EAAE;CAGzC,QAAQ,UAAR;EACE,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK,MACH,OAAO,GAAG,QAAQ,GAAG,eAAe,YAAY,OAAO,OAAO,KAAK,EAAE,EAAE;CAC3E;CAGA,MAAM,mBADyB,QAAQ,KAAK,OAAO,EAAE,oBAAoB,MAAM,CAC3C,EACjC,KAAI,MAAK,OAAO,OAAO,CAAC,CAAC,EACzB,QAAO,YAAW,OAAO,QAAQ,OAAO,CAAC;CAE5C,QAAQ,UAAR;EACE,KAAK;EACL,KAAK,SACH,OAAO,GAAG,QAAQ,GAAG,eAAe,YAAY,iBAAiB,EAAE;EAErE,KAAK;EACL,KAAK,cAAc;GACjB,IAAI,iBAAiB,SAAS,GAAG,OAAO;GACxC,MAAM,CAAC,OAAO,UAAU;GACxB,MAAM,eAAe,OAAO,SAAS,OAAO,MAAM,IAAI,CAAC,OAAO,MAAM,IAAI,CAAC,QAAQ,KAAK;GACtF,OAAO,aAAa,YAChB,GAAG,QAAQ;IAAE,MAAM,aAAa;IAAI,MAAM,aAAa;GAAG,EAAE,IAC5D,EACE,KAAK,CAAC,GAAG,QAAQ,EAAE,KAAK,aAAa,GAAG,EAAE,GAAG,GAAG,QAAQ,EAAE,KAAK,aAAa,GAAG,EAAE,CAAC,EACpF;EACN;CACF;CAEA,OAAO,iCAAiC,MAAM,IAAI;AACpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5CF,MAAa,+BAAkD;CAG7D,KAAK;CACL,KAAK;CACL,MAAM;CACN,MAAM;CACN,IAAI,CAAC,uBAAuB,0BAA0B;CACtD,OAAO,CAAC,2BAA2B,gCAAgC;CACnE,SAAS,CAAC,cAAc,yBAAyB;CACjD,YAAY,CAAC,kBAAkB,6BAA6B;AAC9D;;;;;AAMA,MAAa,4BAAkD,MAAM,SAAS;;CAC5E,IAAI,oBAAA,SAAA,QAAA,SAAA,KAAA,MAAA,gBAAoB,KAAM,aAAA,QAAA,kBAAA,KAAA,IAAA,KAAA,IAAA,cAAS,aAAa,GAAG;;EACrD,OAAO,IAAI,KAAK,eAAA,SAAA,QAAA,SAAA,KAAA,MAAA,iBAAe,KAAM,aAAA,QAAA,mBAAA,KAAA,IAAA,KAAA,IAAA,eAAS,SAAA,eAAA,EAC5C,WAAW,OAAA,GAAA,SAAA,QAAA,SAAA,KAAA,MAAA,iBACR,KAAM,aAAA,QAAA,mBAAA,KAAA,IAAA,KAAA,IAAA,eAAS,UACpB,CAAC,EAAE,OAAO,KAAK,KAAK;CACtB;CACA,OAAO,IAAI,KAAK,eAAA,SAAA,QAAA,SAAA,KAAA,MAAA,iBAAe,KAAM,aAAA,QAAA,mBAAA,KAAA,IAAA,KAAA,IAAA,eAAS,SAAA,eAAA;EAC5C,WAAW;EACX,WAAW;0DACR,KAAM,aAAA,QAAA,mBAAA,KAAA,IAAA,KAAA,IAAA,eAAS,cACpB,CAAC,EAAE,OAAO,KAAK,KAAK;AACtB;;;;;AAMA,MAAa,8BACV,YACA,MAAM,YAAY;;CACjB,MAAM,OAAO,YAAA,QAAA,YAAA,KAAA,IAAA,8CAA8C,CAAC;CAC5D,MAAM,oBAAoB,GAAG,KAAK,QAAQ;CAC1C,IAAI,aAAa;;CAGjB,MAAM,EACJ,WACA,sBAAsB,CAAC,IAAI,EAAE,GAC7B,2BAA2B,IAC3B,oBAAoB,4BAEpB,YAAY,OACZ,UAAU,CAAC,GACX,cAAc,iCACZ;CAEJ,IAAI,CAAC,mBAAmB,QAAQ,aAAa,MAAM,IAAI,GACrD,OAAO,uBAAuB,MAAM,IAAI;CAG1C,IAAI,KAAK,gBAAgB,SACvB,OAAO,uBAAuB,MAAA,eAAA,eAAA,CAAA,GAAW,IAAA,GAAA,CAAA,GAAA,EAAM,aAAa,6BAAA,CAA6B,CAAC;CAG5F,KACG,sBAAsB,QACrB,sBAAsB,WACtB,sBAAsB,aACtB,sBAAsB,iBACxB,CAAC,KAAK,OAEN,OAAO;CAIT,MAAM,mBADyB,QAAQ,KAAK,OAAO,EAAE,oBAAoB,MAAM,CAC3C,EACjC,KAAK,MAAsB,CAAC,GAAG,OAAO,OAAO,CAAC,CAAC,CAAC,EAChD,QAAO,MAAK,OAAO,QAAQ,EAAE,EAAE,CAAC;CAEnC,QAAQ,mBAAR;EACE,KAAK;EACL,KAAK;GAED,IAAI,iBAAiB,WAAW,GAAG,OAAO;GAC1C,aAAa,IAAI,iBACd,KAAI,UACH,yBACE;IAAE,OAAO,KAAK;IAAO,UAAU;IAAK,OAAO,MAAM;GAAG,GAAA,eAAA,eAAA,CAAA,GAC/C,IAAA,GAAA,CAAA,GAAA,EAAM,SAAA,eAAA,eAAA,CAAA,GAAc,OAAA,GAAA,CAAA,GAAA,EAAS,eAAe,MAAM,GAAA,CAAG,EAAA,CAAE,CAC9D,CACF,EACC,KAAK,IAAI,EAAE;GAEhB;EAEF,KAAK;EACL,KAAK;GACH;;IACE,IAAI,iBAAiB,SAAS,GAAG,OAAO;IACxC,MAAM,CAAC,OAAO,UAAU;IAIxB,cAHqB,OAAO,SAAS,MAAM,IAAI,OAAO,EAAE,IACpD,CAAC,OAAO,MAAM,IACd,CAAC,QAAQ,KAAK,GAEf,KAAK,CAAC,eAAe,WACpB,yBACE;KAAE,OAAO,KAAK;KAAO,UAAU;KAAK;IAAM,GAAA,eAAA,eAAA,CAAA,GACrC,IAAA,GAAA,CAAA,GAAA,EAAM,SAAA,eAAA,eAAA,CAAA,GAAc,OAAA,GAAA,CAAA,GAAA,EAAS,cAAA,CAAc,EAAA,CAAE,CACpD,CACF,EACC,KAAK,KAAA,yBAAA,qBAAI,KAAK,kBAAA,QAAA,uBAAA,KAAA,IAAA,KAAA,IAAA,mBAAc,SAAA,QAAA,0BAAA,KAAA,IAAA,wBAAO,MAAM,EAAE;GAChD;GACA;EAEF,SAAS;;GACP,MAAM,CAAC,eAAe,UAAA,qBAAS,iBAAiB,QAAA,QAAA,uBAAA,KAAA,IAAA,qBAAM,CAAC,IAAI,EAAE;GAC7D,aAAa,gBACT,yBACE;IAAE,OAAO,KAAK;IAAO,UAAU;IAAK;GAAM,GAAA,eAAA,eAAA,CAAA,GACrC,IAAA,GAAA,CAAA,GAAA,EAAM,SAAA,eAAA,eAAA,CAAA,GAAc,OAAA,GAAA,CAAA,GAAA,EAAS,cAAA,CAAc,EAAA,CAAE,CACpD,IACA;EACN;CACF;CAYA,MAAM,eAAe;EACnB,GAXqB,oBAAA,mBAAA,cAAA,QAAA,cAAA,KAAA,IAAA,KAAA,IAAmB,UAAW,WAAA,QAAA,qBAAA,KAAA,IAAA,mBAAS,KAAK,OAAO;GACxE;GACA;EACF,CAQkB;EAChB,GAPwB,kBAAkB,MAAA,eAAA,eAAA,CAAA,GACvC,IAAA,GAAA,CAAA,GAAA,EACH,aAAA,eAAA,eAAA,CAAA,GAAkB,4BAAA,GAAiC,WAAY,EAAA,CACjE,CAIqB;EACnB,GAAG;CACL;CAEA,OAAO,8BAA8B,SAAS,EAC3C,KAAI,SAAQ,GAAG,aAAa,OAAO,EACnC,KAAK,GAAG,EACR,KAAK;AACV;;;ACtJF,MAAM,gBAAgB,OAAe,eAAe,KAAK,EAAE;;;;;;AAO3D,MAAM,kBAAkB,KAAa,aACnC,WAAW,IAAI,IAAI,eAAe,IAAI,IAAI;;;;;;;;;;;AAY5C,MAAa,kCACV,YACA,MAAM,YAAY;CACjB,MAAM,OAAO,YAAA,QAAA,YAAA,KAAA,IAAA,8CAA8C,CAAC;CAC5D,MAAM,EAAE,UAAU,CAAC,MAAM;CAEzB,IAAI,KAAK,gBAAgB,WAAW,CAAC,mBAAmB,QAAQ,aAAa,MAAM,IAAI,GACrF,OAAO,2BAA2B,MAAM,IAAI;CAG9C,MAAM,EAAE,OAAO,UAAU,UAAU,UAAU;CAC7C,MAAM,QAAQ,UAAU,QAAQ;CAChC,MAAM,aAAa,GAAG,QAAQ;CAG9B,IAAI,eAAe,qBACjB,OAAO,WAAW,MAAM,MAAM,MAAM;CAEtC,IAAI,eAAe,kBACjB,OAAO,WAAW,MAAM,OAAO,MAAM;CAIvC,MAAM,mBADyB,QAAQ,OAAO,EAAE,oBAAoB,MAAM,CACtC,EACjC,KAAK,MAAsB,CAAC,GAAG,OAAO,OAAO,CAAC,CAAC,CAAC,EAChD,QAAQ,GAAG,OAAO,OAAO,QAAQ,CAAC,CAAC;CAEtC,MAAM,WAAW,kBAAkC;EACjD,MAAM,WAAW,oBAAoB,aAAa;EAIlD,OAAO,eAHK,WACR,OAAO,oBAAoB,aAAa,IACxC,OAAO,YAAY,aAAa,GACT,QAAQ;CACrC;CAEA,QAAQ,YAAR;EACE,KAAK;EACL,KAAK,SAAS;GACZ,IAAI,iBAAiB,WAAW,GAAG,OAAO;GAC1C,MAAM,QAAQ,iBAAiB,KAAK,CAAC,UAAU,QAAQ,IAAI,CAAC;GAE5D,OAAO,GAAG,MAAM,GADD,aAAa,UAAU,IAAI,SAAS,GACzB,MAAM,MAAM,KAAK,IAAI,EAAE;EACnD;EAEA,KAAK;EACL,KAAK,cAAc;GACjB,IAAI,iBAAiB,SAAS,GAAG,OAAO;GACxC,MAAM,CAAC,OAAO,UAAU;GACxB,MAAM,CAAC,IAAI,MAAM,OAAO,SAAS,MAAM,IAAI,OAAO,EAAE,IAAI,CAAC,OAAO,MAAM,IAAI,CAAC,QAAQ,KAAK;GACxF,IAAI,eAAe,cACjB,OAAO,IAAI,MAAM,KAAK,QAAQ,GAAG,EAAE,EAAE,MAAM,MAAM,KAAK,QAAQ,GAAG,EAAE,EAAE;GAEvE,OAAO,GAAG,MAAM,MAAM,QAAQ,GAAG,EAAE,EAAE,MAAM,MAAM,MAAM,QAAQ,GAAG,EAAE;EACtE;EAEA,SAAS;GAEP,IAAI,iBAAiB,WAAW,GAAG,OAAO;GAC1C,MAAM,CAAC,QAAQ,iBAAiB;GAEhC,OAAO,GAAG,MAAM,GADL,eAAe,OAAO,OAAO,WAClB,GAAG,QAAQ,IAAI;EACvC;CACF;AACF;;;;;;;ACxEF,MAAa,iCACV,EAAE,qBAAqB,mBACvB,MAAM,SAAS;;CACd,IAAI,oBAAA,SAAA,QAAA,SAAA,KAAA,MAAA,gBAAoB,KAAM,aAAA,QAAA,kBAAA,KAAA,IAAA,KAAA,IAAA,cAAS,aAAa,GAClD,OAAO,4BAAA,eAAA,eAAA,CAAA,GAAiC,IAAA,GAAA,CAAA,GAAA,EAAM,OAAO,oBAAoB,KAAK,KAAK,EAAA,CAAE,GAAG,IAAI;CAE9F,OAAO,4BAAA,eAAA,eAAA,CAAA,GAAiC,IAAA,GAAA,CAAA,GAAA,EAAM,OAAO,YAAY,KAAK,KAAa,EAAA,CAAE,GAAG,IAAI;AAC9F;;;;;AAMF,MAAa,kCACV,EAAE,qBAAqB,mBACvB,MAAM,SAAS;;CACd,MAAM,WAAW,uBAAuB,KAAA,SAAA,QAAA,SAAA,KAAA,MAAA,kBAAK,KAAM,eAAA,QAAA,oBAAA,KAAA,IAAA,KAAA,IAAA,gBAAW,QAAkB,IAC5E,mBACA;CACJ,MAAM,QACJ,aAAa,mBAAmB,YAAY,KAAK,KAAK,IAAI,oBAAoB,KAAK,KAAK;CAC1F,OAAO,4BAAA,eAAA,eAAA,CAAA,GACA,IAAA,GAAA,CAAA,GAAA,EAAM,MAAA,CAAM,GAAA,eAAA,eAAA,CAAA,GACZ,IAAA,GAAA,CAAA,GAAA,EAAM,eAAe,CAAC,SAAS,OAAO,SAAS,EAAE,EAAA,CAAE,CAC1D;AACF;;;;;AAMF,MAAa,kCACV,EAAE,qBAAqB,mBACvB,MAAM,SAAS;;CACd,MAAM,WAAW,2BAA2B,KAAA,SAAA,QAAA,SAAA,KAAA,MAAA,mBAAK,KAAM,eAAA,QAAA,qBAAA,KAAA,IAAA,KAAA,IAAA,iBAAW,QAAkB,IAChF,aACA;CACJ,MAAM,QACJ,aAAa,aAAa,YAAY,KAAK,KAAK,IAAI,oBAAoB,KAAK,KAAK;CACpF,OAAO,4BAAA,eAAA,eAAA,CAAA,GACA,IAAA,GAAA,CAAA,GAAA,EAAM,MAAA,CAAM,GAAA,eAAA,eAAA,CAAA,GACZ,IAAA,GAAA,CAAA,GAAA,EAAM,eAAe,CAAC,SAAS,OAAO,SAAS,EAAE,EAAA,CAAE,CAC1D;AACF;;;;;AAMF,MAAa,mCACV,EAAE,qBAAqB,mBACvB,MAAM,SAAS;;CAEd,MAAM,WAAW,cAAc,KAAA,SAAA,QAAA,SAAA,KAAA,MAAA,mBAAK,KAAM,eAAA,QAAA,qBAAA,KAAA,IAAA,KAAA,IAAA,iBAAW,QAAkB,IAAI,cAAc;CACzF,MAAM,QACJ,aAAa,cACT,YAAY,KAAK,KAAK,EAAE,WAAW,KAAK,GAAG,EAAE,QAAQ,KAAK,MAAM,IAChE,oBAAoB,KAAK,KAAK;CACpC,OAAO,4BAAA,eAAA,eAAA,CAAA,GACA,IAAA,GAAA,CAAA,GAAA,EAAM,MAAA,CAAM,GAAA,eAAA,eAAA,CAAA,GACZ,IAAA,GAAA,CAAA,GAAA,EAAM,eAAe,CAAC,UAAU,EAAE,EAAA,CAAE,CAC3C;AACF;;;;;AAMF,MAAa,uCACV,EAAE,qBAAqB,mBACvB,MAAM,SAAS;;CACd,MAAM,WAAW,cAAc,KAAA,SAAA,QAAA,SAAA,KAAA,MAAA,mBAAK,KAAM,eAAA,QAAA,qBAAA,KAAA,IAAA,KAAA,IAAA,iBAAW,QAAkB,IAAI,cAAc;CACzF,MAAM,QACJ,aAAa,cAAc,YAAY,KAAK,KAAK,IAAI,oBAAoB,KAAK,KAAK;CACrF,OAAO,4BAAA,eAAA,eAAA,CAAA,GACA,IAAA,GAAA,CAAA,GAAA,EAAM,MAAA,CAAM,GAAA,eAAA,eAAA,CAAA,GACZ,IAAA,GAAA,CAAA,GAAA,EAAM,eAAe,CAAC,UAAU,EAAE,EAAA,CAAE,CAC3C;AACF;AAEF,MAAM,4BAA4B;CAChC,MAAM;CACN,OAAO;CACP,OAAO;CACP,QAAQ;CACR,YAAY;CACZ,QAAQ;AACV;;;;;AAMA,MAAa,+BACV,YACA,MAAM,YAAY;CACjB,MAAM,OAAO,YAAA,QAAA,YAAA,KAAA,IAAA,8CAA8C,CAAC;CAC5D,MAAM,WAAW,eAAe,KAAK,QAAQ;CAC7C,MAAM,oBAAoB,GAAG,QAAQ;;CAErC,MAAM,EACJ,sBAAsB,CAAC,IAAI,EAAE,GAC7B,2BAA2B,IAC3B,UAAU,CAAC,MACT;CACJ,IAAI,aAAa;CAEjB,IAAI,KAAK,gBAAgB,WAAW,CAAC,mBAAmB,QAAQ,aAAa,MAAM,IAAI,GACrF,OAAO,wBAAwB,MAAM,IAAI;CAG3C,MAAM,iBAAiB,0BAA0B,KAAK,QAAS,MAAM;CAGrE,MAAM,mBADyB,QAAQ,KAAK,OAAO,EAAE,oBAAoB,MAAM,CAC3C,EACjC,KAAK,MAAsB,CAAC,GAAG,OAAO,OAAO,CAAC,CAAC,CAAC,EAChD,QAAO,MAAK,OAAO,QAAQ,EAAE,EAAE,CAAC;CAEnC,QAAQ,mBAAR;EACE,KAAK;EACL,KAAK;GAED,IAAI,iBAAiB,WAAW,GAAG,OAAO;GAC1C,aAAa,IAAI,iBACd,KAAI,UACH,eACE;IAAE,OAAO,KAAK;IAAO,UAAU;IAAK,OAAO,MAAM;GAAG,GAAA,eAAA,eAAA,CAAA,GAC/C,IAAA,GAAA,CAAA,GAAA,EAAM,SAAS,EAAE,eAAe,MAAM,GAAG,EAAA,CAAE,CAClD,CACF,EACC,KAAK,IAAI,EAAE;GAEhB;EAEF,KAAK;EACL,KAAK;GACH;IACE,IAAI,iBAAiB,SAAS,GAAG,OAAO;IACxC,MAAM,CAAC,OAAO,UAAU;IAIxB,cAHqB,OAAO,SAAS,MAAM,IAAI,OAAO,EAAE,IACpD,CAAC,OAAO,MAAM,IACd,CAAC,QAAQ,KAAK,GAEf,KAAK,CAAC,eAAe,WACpB,eACE;KAAE,OAAO,KAAK;KAAO,UAAU;KAAK;IAAM,GAAA,eAAA,eAAA,CAAA,GACrC,IAAA,GAAA,CAAA,GAAA,EAAM,SAAS,EAAE,cAAc,EAAA,CAAE,CACxC,CACF,EACC,KAAK,OAAO;GACjB;GACA;EAEF,SAAS;;GACP,MAAM,CAAC,eAAe,UAAA,qBAAS,iBAAiB,QAAA,QAAA,uBAAA,KAAA,IAAA,qBAAM,CAAC,IAAI,EAAE;GAC7D,aAAa,eACX;IAAE,OAAO,KAAK;IAAO,UAAU;IAAK;GAAM,GAAA,eAAA,eAAA,CAAA,GACrC,IAAA,GAAA,CAAA,GAAA,EAAM,SAAS,EAAE,cAAc,EAAA,CAAE,CACxC;EACF;CACF;CAEA,OAAO,GAAG,mBAAmB,KAAK,OAAO;EAAE;EAAqB;CAAyB,CAAC,EAAE,GAAG,SAAS,GAAG,aAAa,KAAK;AAC/H"}
|
|
1
|
+
{"version":3,"file":"getDatetimeRuleProcessorSQL-Crw01Jo-.js","names":["shouldNegate","shouldNegate"],"sources":["../src/utils.ts","../src/getDatetimeJsonLogicOperations.ts","../src/getDatetimeRuleProcessorCEL.ts","../src/getDatetimeRuleProcessorCypher.ts","../src/getDatetimeRuleProcessorMongoDBQuery.ts","../src/getDatetimeRuleProcessorNL.ts","../src/getDatetimeRuleProcessorSPARQL.ts","../src/getDatetimeRuleProcessorSQL.ts"],"sourcesContent":["import type { RuleProcessor } from 'react-querybuilder';\nimport type { IsDateField, IsDateFieldFunction } from './types';\n\nexport const isISOStringDateOnly = (\n date: unknown\n): date is `${number}${number}${number}${number}-${number}${number}-${number}${number}` =>\n typeof date === 'string' && /^\\d{4}-\\d{2}-\\d{2}$/.test(date);\n\nexport const defaultIsDateField: IsDateFieldFunction = (\n ...[rule, opts]: Parameters<RuleProcessor>\n): boolean =>\n rule.operator !== 'contains' &&\n rule.operator !== 'beginsWith' &&\n rule.operator !== 'endsWith' &&\n rule.operator !== 'doesNotContain' &&\n rule.operator !== 'doesNotBeginWith' &&\n rule.operator !== 'doesNotEndWith' &&\n rule.operator !== 'null' &&\n rule.operator !== 'notNull' &&\n /^(?:date|datetime|datetimeoffset|timestamp)\\b/i.test(opts?.fieldData?.datatype as string);\n\nexport const processIsDateField = (\n isDateField: IsDateField,\n ...[rule, opts]: Parameters<RuleProcessor>\n): boolean => {\n if (typeof isDateField === 'boolean') {\n return isDateField;\n }\n\n if (typeof isDateField === 'function') {\n return isDateField(rule, opts);\n }\n\n if (Array.isArray(isDateField)) {\n return isDateField.some(condition =>\n Object.entries(condition).every(([key, value]) => opts?.fieldData?.[key] === value)\n );\n }\n\n if (typeof isDateField === 'object') {\n return Object.entries(isDateField).every(([key, value]) => opts?.fieldData?.[key] === value);\n }\n\n return defaultIsDateField(rule, opts);\n};\n","import type { RQBDateTimeLibraryAPI, RQBJsonLogicDateTimeOperations } from './types';\n\n/**\n * Custom operations for use with JsonLogic objects generated by\n * {@link datetimeRuleProcessorJsonLogic}.\n */\nexport const getDatetimeJsonLogicOperations = ({\n isAfter,\n isBefore,\n isSame,\n}: RQBDateTimeLibraryAPI): RQBJsonLogicDateTimeOperations => ({\n dateAfter: (a, b) => isAfter(a, b),\n dateBefore: (a, b) => isBefore(a, b),\n dateBetween: (a, b, c) =>\n isSame(b, a) ||\n isSame(b, c) ||\n (isAfter(b, a) && isBefore(b, c)) ||\n (isAfter(b, c) && isBefore(b, a)),\n dateNotBetween: (a, b, c) =>\n !isSame(b, a) &&\n !isSame(b, c) &&\n ((isBefore(a, c) && (isBefore(b, a) || isAfter(b, c))) ||\n (isAfter(a, c) && (isBefore(b, c) || isAfter(b, a)))),\n dateIn: (a, b) => b.some(v => isSame(a, v)),\n dateNotIn: (a, b) => b.every(v => !isSame(a, v)),\n dateNotOn: (a, b) => !isSame(a, b),\n dateOn: (a, b) => isSame(a, b),\n dateOnOrAfter: (a, b) => isAfter(a, b) || isSame(a, b),\n dateOnOrBefore: (a, b) => isBefore(a, b) || isSame(a, b),\n});\n","import type { RuleProcessor } from 'react-querybuilder';\nimport { defaultRuleProcessorCEL, lc, toArray } from 'react-querybuilder';\nimport type { RQBDateTimeLibraryAPI } from './types';\nimport { processIsDateField } from './utils';\n\nconst shouldNegate = (op: string) => /^(does)?not/i.test(op);\n\n/**\n * Generates a rule processor with date/time features for use by\n * {@link @react-querybuilder/core!formatQuery formatQuery} with the \"cel\" format.\n */\nexport const getDatetimeRuleProcessorCEL =\n (apiFns: RQBDateTimeLibraryAPI): RuleProcessor =>\n (rule, options) => {\n const opts = options ?? /* v8 ignore start -- @preserve */ {} /* v8 ignore stop -- @preserve */;\n const { context = {} } = opts;\n\n if (rule.valueSource === 'field' || !processIsDateField(context.isDateField, rule, opts)) {\n return defaultRuleProcessorCEL(rule, opts);\n }\n\n const ts = (d: string | Date) => `timestamp(\"${apiFns.toISOString(d)}\")`;\n\n const operatorTL = lc(rule.operator.replace(/^=$/, '=='));\n\n switch (operatorTL) {\n case '<':\n case '<=':\n case '==':\n case '!=':\n case '>':\n case '>=':\n return `${rule.field} ${operatorTL} ${ts(rule.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 (operatorTL) {\n case 'in':\n case 'notin': {\n if (valueAsDateArray.length === 0) return '';\n const [prefix, suffix] = shouldNegate(operatorTL) ? ['!(', ')'] : ['', ''];\n return `${prefix}${rule.field} in [${valueAsDateArray\n .map(val => ts(val))\n .join(', ')}]${suffix}`;\n }\n\n case 'between':\n case 'notbetween': {\n if (valueAsDateArray.length < 2) return '';\n const [first, second] = valueAsDateArray;\n const [firstDate, secondDate] = apiFns.isBefore(first, second)\n ? [first, second]\n : [second, first];\n return operatorTL === 'between'\n ? `(${rule.field} >= ${ts(firstDate)} && ${rule.field} <= ${ts(secondDate)})`\n : `(${rule.field} < ${ts(firstDate)} || ${rule.field} > ${ts(secondDate)})`;\n }\n }\n\n return defaultRuleProcessorCEL(rule, opts);\n };\n","import type { RuleProcessor } from 'react-querybuilder';\nimport { defaultRuleProcessorCypher, lc, toArray } from 'react-querybuilder';\nimport type { RQBDateTimeLibraryAPI } from './types';\nimport { isISOStringDateOnly, processIsDateField } from './utils';\n\nconst shouldNegate = (op: string) => /^(does)?not/i.test(op);\n\n/**\n * Wraps a date string in the appropriate Cypher temporal constructor.\n * - Date-only strings (YYYY-MM-DD) become `date('...')`\n * - Full ISO strings become `datetime('...')`\n */\nconst cypherTemporal = (iso: string, dateOnly: boolean): string =>\n dateOnly ? `date('${iso}')` : `datetime('${iso}')`;\n\n/**\n * Generates a rule processor with date/time features for use by\n * {@link @react-querybuilder/core!formatQuery formatQuery} with the \"cypher\" or \"gql\" format.\n *\n * Supports:\n * - Standard comparison operators (`=`, `!=`, `<`, `>`, `<=`, `>=`)\n * - Range operators (between, notBetween, in, notIn)\n * - Duration math via custom operators: `olderThanDuration` and `withinDuration`\n * (e.g., value `\"P30D\"` → `datetime() - field > duration('P30D')`)\n */\nexport const getDatetimeRuleProcessorCypher =\n (apiFns: RQBDateTimeLibraryAPI): RuleProcessor =>\n (rule, options) => {\n const opts = options ?? /* v8 ignore start -- @preserve */ {} /* v8 ignore stop -- @preserve */;\n const { context = {} } = opts;\n\n if (rule.valueSource === 'field' || !processIsDateField(context.isDateField, rule, opts)) {\n return defaultRuleProcessorCypher(rule, opts);\n }\n\n const { field, operator, value } = rule;\n const operatorTL = lc(operator);\n\n // Duration math operators — compare elapsed time against a duration literal\n if (operatorTL === 'olderthanduration') {\n return `datetime() - ${field} > duration('${value}')`;\n }\n if (operatorTL === 'withinduration') {\n return `datetime() - ${field} <= duration('${value}')`;\n }\n\n const valueAsArray: string[] = toArray(value, { retainEmptyStrings: false });\n const valueAsDateArray = valueAsArray\n .map((v): [string, Date] => [v, apiFns.toDate(v)])\n .filter(([, d]) => apiFns.isValid(d));\n\n const fmtDate = (originalValue: string): string => {\n const dateOnly = isISOStringDateOnly(originalValue);\n const iso = dateOnly\n ? apiFns.toISOStringDateOnly(originalValue)\n : apiFns.toISOString(originalValue);\n return cypherTemporal(iso, dateOnly);\n };\n\n switch (operatorTL) {\n case 'in':\n case 'notin': {\n if (valueAsDateArray.length === 0) return '';\n const items = valueAsDateArray.map(([orig]) => fmtDate(orig));\n const prefix = shouldNegate(operatorTL) ? 'NOT ' : '';\n return `${prefix}${field} IN [${items.join(', ')}]`;\n }\n\n case 'between':\n case 'notbetween': {\n if (valueAsDateArray.length < 2) return '';\n const [first, second] = valueAsDateArray;\n const [lo, hi] = apiFns.isBefore(first[1], second[1]) ? [first, second] : [second, first];\n const expr = `${fmtDate(lo[0])} <= ${field} AND ${field} <= ${fmtDate(hi[0])}`;\n return operatorTL === 'notbetween' ? `NOT (${expr})` : expr;\n }\n\n default: {\n // Standard comparison: =, !=, <, >, <=, >=\n if (valueAsDateArray.length === 0) return '';\n const [orig] = valueAsDateArray[0];\n const op = operatorTL === '<>' ? '<>' : operatorTL;\n return `${field} ${op} ${fmtDate(orig)}`;\n }\n }\n };\n","import type { RuleProcessor } from 'react-querybuilder';\nimport { defaultRuleProcessorMongoDBQuery, mongoOperators, toArray } from 'react-querybuilder';\nimport type { RQBDateTimeLibraryAPI } from './types';\nimport { processIsDateField } from './utils';\n\n/**\n * Generates a rule processor with date/time features for use by\n * {@link @react-querybuilder/core!formatQuery formatQuery} with the \"mongodb_query\" format.\n */\nexport const getDatetimeRuleProcessorMongoDBQuery =\n (apiFns: RQBDateTimeLibraryAPI): RuleProcessor =>\n (rule, options) => {\n const opts = options ?? /* v8 ignore start -- @preserve */ {} /* v8 ignore stop -- @preserve */;\n const { field, operator, value, valueSource } = rule;\n\n if (valueSource === 'field' || !processIsDateField(opts.context?.isDateField, rule, opts)) {\n return defaultRuleProcessorMongoDBQuery(rule, opts);\n }\n\n if (operator === '=') {\n return { [field]: apiFns.toDate(value) };\n }\n\n switch (operator) {\n case '<':\n case '<=':\n case '!=':\n case '>':\n case '>=':\n return { [field]: { [mongoOperators[operator]]: apiFns.toDate(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 return { [field]: { [mongoOperators[operator]]: valueAsDateArray } };\n\n case 'between':\n case 'notBetween': {\n if (valueAsDateArray.length < 2) return '';\n const [first, second] = valueAsDateArray;\n const orderedArray = apiFns.isBefore(first, second) ? [first, second] : [second, first];\n return operator === 'between'\n ? { [field]: { $gte: orderedArray[0], $lte: orderedArray[1] } }\n : {\n $or: [{ [field]: { $lt: orderedArray[0] } }, { [field]: { $gt: orderedArray[1] } }],\n };\n }\n }\n\n return defaultRuleProcessorMongoDBQuery(rule, opts);\n };\n","import type { ExportOperatorMap, RuleProcessor, ValueProcessorByRule } from 'react-querybuilder';\nimport {\n defaultOperatorProcessorNL,\n defaultRuleProcessorNL,\n getQuotedFieldName,\n lc,\n normalizeConstituentWordOrder,\n toArray,\n} from 'react-querybuilder';\nimport type { RQBDateTimeLibraryAPI } from './types';\nimport { isISOStringDateOnly, processIsDateField } from './utils';\n\nexport const defaultDateTimeNLOperatorMap: ExportOperatorMap = {\n // '=': 'is',\n // '!=': 'is not',\n '<': 'is before',\n '>': 'is after',\n '<=': 'is on or before',\n '>=': 'is on or after',\n in: ['is one of the dates', 'is the same as a date in'],\n notin: ['is not one of the dates', 'is not the same as any date in'],\n between: ['is between', 'is between the dates in'],\n notbetween: ['is not between', 'is not between the dates in'],\n};\n\n/**\n * Generates a value processor with date/time features for use by\n * {@link @react-querybuilder/core!formatQuery formatQuery} with the \"natural_language\" format.\n */\nexport const datetimeValueProcessorNL: ValueProcessorByRule = (rule, opts) => {\n if (isISOStringDateOnly(opts?.context?.originalValue)) {\n return new Intl.DateTimeFormat(opts?.context?.locales, {\n dateStyle: 'full',\n ...opts?.context?.dateFormat,\n }).format(rule.value);\n }\n return new Intl.DateTimeFormat(opts?.context?.locales, {\n dateStyle: 'full',\n timeStyle: 'long',\n ...opts?.context?.dateTimeFormat,\n }).format(rule.value);\n};\n\n/**\n * Generates a rule processor with date/time features for use by {@link @react-querybuilder/core!formatQuery formatQuery} with\n * the \"natural_language\" format.\n */\nexport const getDatetimeRuleProcessorNL =\n (apiFns: RQBDateTimeLibraryAPI): RuleProcessor =>\n (rule, options) => {\n const opts = options ?? /* v8 ignore start -- @preserve */ {} /* v8 ignore stop -- @preserve */;\n const operatorLowerCase = lc(rule.operator);\n let finalValue = '';\n\n // v8 ignore next\n const {\n fieldData,\n quoteFieldNamesWith = ['', ''] as [string, string],\n fieldIdentifierSeparator = '',\n operatorProcessor = defaultOperatorProcessorNL,\n // valueProcessor = datetimeValueProcessorNL,\n wordOrder = 'SVO',\n context = {},\n operatorMap = defaultDateTimeNLOperatorMap,\n } = opts;\n\n if (!processIsDateField(context.isDateField, rule, opts)) {\n return defaultRuleProcessorNL(rule, opts);\n }\n\n if (rule.valueSource === 'field') {\n return defaultRuleProcessorNL(rule, { ...opts, operatorMap: defaultDateTimeNLOperatorMap });\n }\n\n if (\n (operatorLowerCase === 'in' ||\n operatorLowerCase === 'notin' ||\n operatorLowerCase === 'between' ||\n operatorLowerCase === 'notbetween') &&\n !rule.value\n ) {\n return '';\n }\n\n const valueAsArray: string[] = toArray(rule.value, { retainEmptyStrings: false });\n const valueAsDateArray = valueAsArray\n .map((v): [string, Date] => [v, apiFns.toDate(v)])\n .filter(v => apiFns.isValid(v[1]));\n\n switch (operatorLowerCase) {\n case 'in':\n case 'notin':\n {\n if (valueAsDateArray.length === 0) return '';\n finalValue = `(${valueAsDateArray\n .map(value =>\n datetimeValueProcessorNL(\n { field: rule.field, operator: '=', value: value[1] },\n { ...opts, context: { ...context, originalValue: value[0] } }\n )\n )\n .join(', ')})`;\n }\n break;\n\n case 'between':\n case 'notbetween':\n {\n if (valueAsDateArray.length < 2) return '';\n const [first, second] = valueAsDateArray;\n const orderedArray = apiFns.isBefore(first[1], second[1])\n ? [first, second]\n : [second, first];\n finalValue = orderedArray\n .map(([originalValue, value]) =>\n datetimeValueProcessorNL(\n { field: rule.field, operator: '=', value },\n { ...opts, context: { ...context, originalValue } }\n )\n )\n .join(` ${opts.translations?.and ?? 'and'} `);\n }\n break;\n\n default: {\n const [originalValue, value] = valueAsDateArray[0] ?? ['', ''];\n finalValue = originalValue\n ? datetimeValueProcessorNL(\n { field: rule.field, operator: '=', value },\n { ...opts, context: { ...context, originalValue } }\n )\n : '';\n }\n }\n\n const processedField = getQuotedFieldName(fieldData?.label ?? rule.field, {\n quoteFieldNamesWith,\n fieldIdentifierSeparator,\n });\n\n const processedOperator = operatorProcessor(rule, {\n ...opts,\n operatorMap: { ...defaultDateTimeNLOperatorMap, ...operatorMap },\n });\n\n const wordOrderMap = {\n S: processedField,\n V: processedOperator,\n O: finalValue,\n };\n\n return normalizeConstituentWordOrder(wordOrder)\n .map(term => `${wordOrderMap[term]}`)\n .join(' ')\n .trim();\n };\n","import type { RuleProcessor } from 'react-querybuilder';\nimport { defaultRuleProcessorSPARQL, lc, sparqlVar, toArray } from 'react-querybuilder';\nimport type { RQBDateTimeLibraryAPI } from './types';\nimport { isISOStringDateOnly, processIsDateField } from './utils';\n\nconst shouldNegate = (op: string) => /^(does)?not/i.test(op);\n\n/**\n * Wraps a date string in the appropriate SPARQL typed literal.\n * - Date-only strings (YYYY-MM-DD) become `\"...\"^^xsd:date`\n * - Full ISO strings become `\"...\"^^xsd:dateTime`\n */\nconst sparqlTemporal = (iso: string, dateOnly: boolean): string =>\n dateOnly ? `\"${iso}\"^^xsd:date` : `\"${iso}\"^^xsd:dateTime`;\n\n/**\n * Generates a rule processor with date/time features for use by\n * {@link @react-querybuilder/core!formatQuery formatQuery} with the \"sparql\" format.\n *\n * Supports:\n * - Standard comparison operators (`=`, `!=`, `<`, `>`, `<=`, `>=`)\n * - Range operators (between, notBetween, in, notIn)\n * - Duration math via custom operators: `olderThanDuration` and `withinDuration`\n * (e.g., value `\"P30D\"` → `NOW() - ?field > \"P30D\"^^xsd:duration`)\n */\nexport const getDatetimeRuleProcessorSPARQL =\n (apiFns: RQBDateTimeLibraryAPI): RuleProcessor =>\n (rule, options) => {\n const opts = options ?? /* v8 ignore start -- @preserve */ {} /* v8 ignore stop -- @preserve */;\n const { context = {} } = opts;\n\n if (rule.valueSource === 'field' || !processIsDateField(context.isDateField, rule, opts)) {\n return defaultRuleProcessorSPARQL(rule, opts);\n }\n\n const { field: rawField, operator, value } = rule;\n const field = sparqlVar(rawField);\n const operatorTL = lc(operator);\n\n // Duration math operators — compare elapsed time against an xsd:duration literal\n if (operatorTL === 'olderthanduration') {\n return `NOW() - ${field} > \"${value}\"^^xsd:duration`;\n }\n if (operatorTL === 'withinduration') {\n return `NOW() - ${field} <= \"${value}\"^^xsd:duration`;\n }\n\n const valueAsArray: string[] = toArray(value, { retainEmptyStrings: false });\n const valueAsDateArray = valueAsArray\n .map((v): [string, Date] => [v, apiFns.toDate(v)])\n .filter(([, d]) => apiFns.isValid(d));\n\n const fmtDate = (originalValue: string): string => {\n const dateOnly = isISOStringDateOnly(originalValue);\n const iso = dateOnly\n ? apiFns.toISOStringDateOnly(originalValue)\n : apiFns.toISOString(originalValue);\n return sparqlTemporal(iso, dateOnly);\n };\n\n switch (operatorTL) {\n case 'in':\n case 'notin': {\n if (valueAsDateArray.length === 0) return '';\n const items = valueAsDateArray.map(([orig]) => fmtDate(orig));\n const prefix = shouldNegate(operatorTL) ? 'NOT ' : '';\n return `${field} ${prefix}IN (${items.join(', ')})`;\n }\n\n case 'between':\n case 'notbetween': {\n if (valueAsDateArray.length < 2) return '';\n const [first, second] = valueAsDateArray;\n const [lo, hi] = apiFns.isBefore(first[1], second[1]) ? [first, second] : [second, first];\n if (operatorTL === 'notbetween') {\n return `(${field} < ${fmtDate(lo[0])} || ${field} > ${fmtDate(hi[0])})`;\n }\n return `${field} >= ${fmtDate(lo[0])} && ${field} <= ${fmtDate(hi[0])}`;\n }\n\n default: {\n // Standard comparison: =, !=, <, >, <=, >=\n if (valueAsDateArray.length === 0) return '';\n const [orig] = valueAsDateArray[0];\n const op = operatorTL === '<>' ? '!=' : operatorTL;\n return `${field} ${op} ${fmtDate(orig)}`;\n }\n }\n };\n","import type { RuleProcessor, SQLPreset, ValueProcessorByRule } from 'react-querybuilder';\nimport {\n defaultRuleProcessorSQL,\n defaultValueProcessorByRule,\n getQuotedFieldName,\n lc,\n mapSQLOperator,\n toArray,\n} from 'react-querybuilder';\nimport type { RQBDateTimeLibraryAPI } from './types';\nimport { isISOStringDateOnly, processIsDateField } from './utils';\n\n/**\n * Generates a value processor with date/time features for use by\n * {@link @react-querybuilder/core!formatQuery formatQuery} with the \"sql\" format and \"ansi\" preset.\n */\nexport const getDatetimeValueProcessorANSI =\n ({ toISOStringDateOnly, toISOString }: RQBDateTimeLibraryAPI): ValueProcessorByRule =>\n (rule, opts) => {\n if (isISOStringDateOnly(opts?.context?.originalValue)) {\n return defaultValueProcessorByRule({ ...rule, value: toISOStringDateOnly(rule.value) }, opts);\n }\n return defaultValueProcessorByRule({ ...rule, value: toISOString(rule.value as Date) }, opts);\n };\n\n/**\n * Generates a value processor with date/time features for use by {@link @react-querybuilder/core!formatQuery formatQuery} with\n * the \"sql\" format and \"mssql\" preset.\n */\nexport const getDatetimeValueProcessorMSSQL =\n ({ toISOStringDateOnly, toISOString }: RQBDateTimeLibraryAPI): ValueProcessorByRule =>\n (rule, opts) => {\n const datatype = /^(?:small)?datetime/i.test(opts?.fieldData?.datatype as string)\n ? 'datetimeoffset'\n : 'date';\n const value =\n datatype === 'datetimeoffset' ? toISOString(rule.value) : toISOStringDateOnly(rule.value);\n return defaultValueProcessorByRule(\n { ...rule, value },\n { ...opts, wrapValueWith: [`cast(`, ` as ${datatype})`] }\n );\n };\n\n/**\n * Generates a value processor with date/time features for use by {@link @react-querybuilder/core!formatQuery formatQuery} with\n * the \"sql\" format and \"mysql\" preset.\n */\nexport const getDatetimeValueProcessorMySQL =\n ({ toISOStringDateOnly, toISOString }: RQBDateTimeLibraryAPI): ValueProcessorByRule =>\n (rule, opts) => {\n const datatype = /^(?:datetime|timestamp)/i.test(opts?.fieldData?.datatype as string)\n ? 'datetime'\n : 'date';\n const value =\n datatype === 'datetime' ? toISOString(rule.value) : toISOStringDateOnly(rule.value);\n return defaultValueProcessorByRule(\n { ...rule, value },\n { ...opts, wrapValueWith: [`cast(`, ` as ${datatype})`] }\n );\n };\n\n/**\n * Generates a value processor with date/time features for use by {@link @react-querybuilder/core!formatQuery formatQuery} with\n * the \"sql\" format and \"oracle\" preset.\n */\nexport const getDatetimeValueProcessorOracle =\n ({ toISOStringDateOnly, toISOString }: RQBDateTimeLibraryAPI): ValueProcessorByRule =>\n (rule, opts) => {\n // Oracle date format for _reading_ ISO 8601: 'YYYY-MM-DD\"T\"HH24:MI:SS.ff3\"Z\"'\n const datatype = /^timestamp/i.test(opts?.fieldData?.datatype as string) ? 'timestamp' : 'date';\n const value =\n datatype === 'timestamp'\n ? toISOString(rule.value).replaceAll('T', ' ').replace('Z', ' UTC')\n : toISOStringDateOnly(rule.value);\n return defaultValueProcessorByRule(\n { ...rule, value },\n { ...opts, wrapValueWith: [datatype, ``] }\n );\n };\n\n/**\n * Generates a value processor with date/time features for use by {@link @react-querybuilder/core!formatQuery formatQuery} with\n * the \"sql\" format and \"postgresql\" preset.\n */\nexport const getDatetimeValueProcessorPostgreSQL =\n ({ toISOStringDateOnly, toISOString }: RQBDateTimeLibraryAPI): ValueProcessorByRule =>\n (rule, opts) => {\n const datatype = /^timestamp/i.test(opts?.fieldData?.datatype as string) ? 'timestamp' : 'date';\n const value =\n datatype === 'timestamp' ? toISOString(rule.value) : toISOStringDateOnly(rule.value);\n return defaultValueProcessorByRule(\n { ...rule, value },\n { ...opts, wrapValueWith: [datatype, ``] }\n );\n };\n\nconst presetToValueProcessorMap = {\n ansi: getDatetimeValueProcessorANSI,\n mssql: getDatetimeValueProcessorMSSQL,\n mysql: getDatetimeValueProcessorMySQL,\n oracle: getDatetimeValueProcessorOracle,\n postgresql: getDatetimeValueProcessorPostgreSQL,\n sqlite: getDatetimeValueProcessorANSI,\n} satisfies Record<SQLPreset, (apiFns: RQBDateTimeLibraryAPI) => ValueProcessorByRule>;\n\n/**\n * Generates a rule processor with date/time features for use by {@link @react-querybuilder/core!formatQuery formatQuery} with\n * the \"sql\" format.\n */\nexport const getDatetimeRuleProcessorSQL =\n (apiFns: RQBDateTimeLibraryAPI): RuleProcessor =>\n (rule, options) => {\n const opts = options ?? /* v8 ignore start -- @preserve */ {} /* v8 ignore stop -- @preserve */;\n const operator = mapSQLOperator(rule.operator);\n const operatorLowerCase = lc(operator);\n // v8 ignore next\n const {\n quoteFieldNamesWith = ['', ''] as [string, string],\n fieldIdentifierSeparator = '',\n context = {},\n } = opts;\n let finalValue = '';\n\n if (rule.valueSource === 'field' || !processIsDateField(context.isDateField, rule, opts)) {\n return defaultRuleProcessorSQL(rule, opts);\n }\n\n const valueProcessor = presetToValueProcessorMap[opts.preset!](apiFns);\n\n const valueAsArray: string[] = toArray(rule.value, { retainEmptyStrings: false });\n const valueAsDateArray = valueAsArray\n .map((v): [string, Date] => [v, apiFns.toDate(v)])\n .filter(v => apiFns.isValid(v[1]));\n\n switch (operatorLowerCase) {\n case 'in':\n case 'not in':\n {\n if (valueAsDateArray.length === 0) return '';\n finalValue = `(${valueAsDateArray\n .map(value =>\n valueProcessor(\n { field: rule.field, operator: '=', value: value[1] },\n { ...opts, context: { originalValue: value[0] } }\n )\n )\n .join(', ')})`;\n }\n break;\n\n case 'between':\n case 'not between':\n {\n if (valueAsDateArray.length < 2) return '';\n const [first, second] = valueAsDateArray;\n const orderedArray = apiFns.isBefore(first[1], second[1])\n ? [first, second]\n : [second, first];\n finalValue = orderedArray\n .map(([originalValue, value]) =>\n valueProcessor(\n { field: rule.field, operator: '=', value },\n { ...opts, context: { originalValue } }\n )\n )\n .join(' and ');\n }\n break;\n\n default: {\n const [originalValue, value] = valueAsDateArray[0] ?? ['', ''];\n finalValue = valueProcessor(\n { field: rule.field, operator: '=', value },\n { ...opts, context: { originalValue } }\n );\n }\n }\n\n return `${getQuotedFieldName(rule.field, { quoteFieldNamesWith, fieldIdentifierSeparator })} ${operator} ${finalValue}`.trim();\n };\n"],"mappings":"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"}
|
package/dist/{getDatetimeRuleProcessorSQL-CSD_YXBJ.mjs → getDatetimeRuleProcessorSQL-CvGKzojM.mjs}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import{defaultOperatorProcessorNL as e,defaultRuleProcessorCEL as t,defaultRuleProcessorCypher as n,defaultRuleProcessorMongoDBQuery as r,defaultRuleProcessorNL as i,defaultRuleProcessorSPARQL as a,defaultRuleProcessorSQL as o,defaultValueProcessorByRule as s,getQuotedFieldName as c,lc as l,mapSQLOperator as u,mongoOperators as d,normalizeConstituentWordOrder as f,sparqlVar as p,toArray as m}from"react-querybuilder";const h=e=>typeof e==`string`&&/^\d{4}-\d{2}-\d{2}$/.test(e),g=(...[e,t])=>e.operator!==`contains`&&e.operator!==`beginsWith`&&e.operator!==`endsWith`&&e.operator!==`doesNotContain`&&e.operator!==`doesNotBeginWith`&&e.operator!==`doesNotEndWith`&&e.operator!==`null`&&e.operator!==`notNull`&&/^(?:date|datetime|datetimeoffset|timestamp)\b/i.test(t?.fieldData?.datatype),_=(e,...[t,n])=>typeof e==`boolean`?e:typeof e==`function`?e(t,n):Array.isArray(e)?e.some(e=>Object.entries(e).every(([e,t])=>n?.fieldData?.[e]===t)):typeof e==`object`?Object.entries(e).every(([e,t])=>n?.fieldData?.[e]===t):g(t,n),v=({isAfter:e,isBefore:t,isSame:n})=>({dateAfter:(t,n)=>e(t,n),dateBefore:(e,n)=>t(e,n),dateBetween:(r,i,a)=>n(i,r)||n(i,a)||e(i,r)&&t(i,a)||e(i,a)&&t(i,r),dateNotBetween:(r,i,a)=>!n(i,r)&&!n(i,a)&&(t(r,a)&&(t(i,r)||e(i,a))||e(r,a)&&(t(i,a)||e(i,r))),dateIn:(e,t)=>t.some(t=>n(e,t)),dateNotIn:(e,t)=>t.every(t=>!n(e,t)),dateNotOn:(e,t)=>!n(e,t),dateOn:(e,t)=>n(e,t),dateOnOrAfter:(t,r)=>e(t,r)||n(t,r),dateOnOrBefore:(e,r)=>t(e,r)||n(e,r)}),y=e=>/^(does)?not/i.test(e),b=e=>(n,r)=>{let i=r??{},{context:a={}}=i;if(n.valueSource===`field`||!_(a.isDateField,n,i))return t(n,i);let o=t=>`timestamp("${e.toISOString(t)}")`,s=l(n.operator.replace(/^=$/,`==`));switch(s){case`<`:case`<=`:case`==`:case`!=`:case`>`:case`>=`:return`${n.field} ${s} ${o(n.value)}`}let c=m(n.value,{retainEmptyStrings:!1}).map(t=>e.toDate(t)).filter(t=>e.isValid(t));switch(s){case`in`:case`notin`:{if(c.length===0)return``;let[e,t]=y(s)?[`!(`,`)`]:[``,``];return`${e}${n.field} in [${c.map(e=>o(e)).join(`, `)}]${t}`}case`between`:case`notbetween`:{if(c.length<2)return``;let[t,r]=c,[i,a]=e.isBefore(t,r)?[t,r]:[r,t];return s===`between`?`(${n.field} >= ${o(i)} && ${n.field} <= ${o(a)})`:`(${n.field} < ${o(i)} || ${n.field} > ${o(a)})`}}return t(n,i)},x=e=>/^(does)?not/i.test(e),S=(e,t)=>t?`date('${e}')`:`datetime('${e}')`,C=e=>(t,r)=>{let i=r??{},{context:a={}}=i;if(t.valueSource===`field`||!_(a.isDateField,t,i))return n(t,i);let{field:o,operator:s,value:c}=t,u=l(s);if(u===`olderthanduration`)return`datetime() - ${o} > duration('${c}')`;if(u===`withinduration`)return`datetime() - ${o} <= duration('${c}')`;let d=m(c,{retainEmptyStrings:!1}).map(t=>[t,e.toDate(t)]).filter(([,t])=>e.isValid(t)),f=t=>{let n=h(t);return S(n?e.toISOStringDateOnly(t):e.toISOString(t),n)};switch(u){case`in`:case`notin`:{if(d.length===0)return``;let e=d.map(([e])=>f(e));return`${x(u)?`NOT `:``}${o} IN [${e.join(`, `)}]`}case`between`:case`notbetween`:{if(d.length<2)return``;let[t,n]=d,[r,i]=e.isBefore(t[1],n[1])?[t,n]:[n,t],a=`${f(r[0])} <= ${o} AND ${o} <= ${f(i[0])}`;return u===`notbetween`?`NOT (${a})`:a}default:{if(d.length===0)return``;let[e]=d[0];return`${o} ${u===`<>`?`<>`:u} ${f(e)}`}}},w=e=>(t,n)=>{let i=n??{},{field:a,operator:o,value:s,valueSource:c}=t;if(c===`field`||!_(i.context?.isDateField,t,i))return r(t,i);if(o===`=`)return{[a]:e.toDate(s)};switch(o){case`<`:case`<=`:case`!=`:case`>`:case`>=`:return{[a]:{[d[o]]:e.toDate(s)}}}let l=m(t.value,{retainEmptyStrings:!1}).map(t=>e.toDate(t)).filter(t=>e.isValid(t));switch(o){case`in`:case`notIn`:return{[a]:{[d[o]]:l}};case`between`:case`notBetween`:{if(l.length<2)return``;let[t,n]=l,r=e.isBefore(t,n)?[t,n]:[n,t];return o===`between`?{[a]:{$gte:r[0],$lte:r[1]}}:{$or:[{[a]:{$lt:r[0]}},{[a]:{$gt:r[1]}}]}}}return r(t,i)},T={"<":`is before`,">":`is after`,"<=":`is on or before`,">=":`is on or after`,in:[`is one of the dates`,`is the same as a date in`],notin:[`is not one of the dates`,`is not the same as any date in`],between:[`is between`,`is between the dates in`],notbetween:[`is not between`,`is not between the dates in`]},E=(e,t)=>h(t?.context?.originalValue)?new Intl.DateTimeFormat(t?.context?.locales,{dateStyle:`full`,...t?.context?.dateFormat}).format(e.value):new Intl.DateTimeFormat(t?.context?.locales,{dateStyle:`full`,timeStyle:`long`,...t?.context?.dateTimeFormat}).format(e.value),D=t=>(n,r)=>{let a=r??{},o=l(n.operator),s=``,{fieldData:u,quoteFieldNamesWith:d=[``,``],fieldIdentifierSeparator:p=``,operatorProcessor:h=e,wordOrder:g=`SVO`,context:v={},operatorMap:y=T}=a;if(!_(v.isDateField,n,a))return i(n,a);if(n.valueSource===`field`)return i(n,{...a,operatorMap:T});if((o===`in`||o===`notin`||o===`between`||o===`notbetween`)&&!n.value)return``;let b=m(n.value,{retainEmptyStrings:!1}).map(e=>[e,t.toDate(e)]).filter(e=>t.isValid(e[1]));switch(o){case`in`:case`notin`:if(b.length===0)return``;s=`(${b.map(e=>E({field:n.field,operator:`=`,value:e[1]},{...a,context:{...v,originalValue:e[0]}})).join(`, `)})`;break;case`between`:case`notbetween`:{if(b.length<2)return``;let[e,r]=b;s=(t.isBefore(e[1],r[1])?[e,r]:[r,e]).map(([e,t])=>E({field:n.field,operator:`=`,value:t},{...a,context:{...v,originalValue:e}})).join(` ${a.translations?.and??`and`} `)}break;default:{let[e,t]=b[0]??[``,``];s=e?E({field:n.field,operator:`=`,value:t},{...a,context:{...v,originalValue:e}}):``}}let x={S:c(u?.label??n.field,{quoteFieldNamesWith:d,fieldIdentifierSeparator:p}),V:h(n,{...a,operatorMap:{...T,...y}}),O:s};return f(g).map(e=>`${x[e]}`).join(` `).trim()},O=e=>/^(does)?not/i.test(e),k=(e,t)=>t?`"${e}"^^xsd:date`:`"${e}"^^xsd:dateTime`,A=e=>(t,n)=>{let r=n??{},{context:i={}}=r;if(t.valueSource===`field`||!_(i.isDateField,t,r))return a(t,r);let{field:o,operator:s,value:c}=t,u=p(o),d=l(s);if(d===`olderthanduration`)return`NOW() - ${u} > "${c}"^^xsd:duration`;if(d===`withinduration`)return`NOW() - ${u} <= "${c}"^^xsd:duration`;let f=m(c,{retainEmptyStrings:!1}).map(t=>[t,e.toDate(t)]).filter(([,t])=>e.isValid(t)),g=t=>{let n=h(t);return k(n?e.toISOStringDateOnly(t):e.toISOString(t),n)};switch(d){case`in`:case`notin`:{if(f.length===0)return``;let e=f.map(([e])=>g(e));return`${u} ${O(d)?`NOT `:``}IN (${e.join(`, `)})`}case`between`:case`notbetween`:{if(f.length<2)return``;let[t,n]=f,[r,i]=e.isBefore(t[1],n[1])?[t,n]:[n,t];return d===`notbetween`?`(${u} < ${g(r[0])} || ${u} > ${g(i[0])})`:`${u} >= ${g(r[0])} && ${u} <= ${g(i[0])}`}default:{if(f.length===0)return``;let[e]=f[0];return`${u} ${d===`<>`?`!=`:d} ${g(e)}`}}},j=({toISOStringDateOnly:e,toISOString:t})=>(n,r)=>h(r?.context?.originalValue)?s({...n,value:e(n.value)},r):s({...n,value:t(n.value)},r),M=({toISOStringDateOnly:e,toISOString:t})=>(n,r)=>{let i=/^(?:small)?datetime/i.test(r?.fieldData?.datatype)?`datetimeoffset`:`date`,a=i===`datetimeoffset`?t(n.value):e(n.value);return s({...n,value:a},{...r,wrapValueWith:[`cast(`,` as ${i})`]})},N=({toISOStringDateOnly:e,toISOString:t})=>(n,r)=>{let i=/^(?:datetime|timestamp)/i.test(r?.fieldData?.datatype)?`datetime`:`date`,a=i===`datetime`?t(n.value):e(n.value);return s({...n,value:a},{...r,wrapValueWith:[`cast(`,` as ${i})`]})},P=({toISOStringDateOnly:e,toISOString:t})=>(n,r)=>{let i=/^timestamp/i.test(r?.fieldData?.datatype)?`timestamp`:`date`,a=i===`timestamp`?t(n.value).replaceAll(`T`,` `).replace(`Z`,` UTC`):e(n.value);return s({...n,value:a},{...r,wrapValueWith:[i,``]})},F=({toISOStringDateOnly:e,toISOString:t})=>(n,r)=>{let i=/^timestamp/i.test(r?.fieldData?.datatype)?`timestamp`:`date`,a=i===`timestamp`?t(n.value):e(n.value);return s({...n,value:a},{...r,wrapValueWith:[i,``]})},I={ansi:j,mssql:M,mysql:N,oracle:P,postgresql:F,sqlite:j},L=e=>(t,n)=>{let r=n??{},i=u(t.operator),a=l(i),{quoteFieldNamesWith:s=[``,``],fieldIdentifierSeparator:d=``,context:f={}}=r,p=``;if(t.valueSource===`field`||!_(f.isDateField,t,r))return o(t,r);let h=I[r.preset](e),g=m(t.value,{retainEmptyStrings:!1}).map(t=>[t,e.toDate(t)]).filter(t=>e.isValid(t[1]));switch(a){case`in`:case`not in`:if(g.length===0)return``;p=`(${g.map(e=>h({field:t.field,operator:`=`,value:e[1]},{...r,context:{originalValue:e[0]}})).join(`, `)})`;break;case`between`:case`not between`:{if(g.length<2)return``;let[n,i]=g;p=(e.isBefore(n[1],i[1])?[n,i]:[i,n]).map(([e,n])=>h({field:t.field,operator:`=`,value:n},{...r,context:{originalValue:e}})).join(` and `)}break;default:{let[e,n]=g[0]??[``,``];p=h({field:t.field,operator:`=`,value:n},{...r,context:{originalValue:e}})}}return`${c(t.field,{quoteFieldNamesWith:s,fieldIdentifierSeparator:d})} ${i} ${p}`.trim()};export{P as a,E as c,w as d,C as f,_ as g,h,N as i,T as l,v as m,j as n,F as o,b as p,M as r,A as s,L as t,D as u};
|
|
2
|
-
//# sourceMappingURL=getDatetimeRuleProcessorSQL-
|
|
2
|
+
//# sourceMappingURL=getDatetimeRuleProcessorSQL-CvGKzojM.mjs.map
|