@react-querybuilder/datetime 8.9.2 → 8.10.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-COEhnVIZ.js +478 -0
- package/dist/cjs/{getDatetimeRuleProcessorSQL-D95jgDK6.js.map → getDatetimeRuleProcessorSQL-COEhnVIZ.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 -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 -1
- package/dist/cjs/react-querybuilder_datetime.cjs.development.js +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 -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.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/{types-CDEkL2M_.d.mts → cjs/types-C3iwOCvi.d.ts} +375 -310
- package/dist/{getDatetimeRuleProcessorSQL-KYRPP9qd.mjs → getDatetimeRuleProcessorSQL-CW5JXMXx.mjs} +12 -14
- package/dist/{getDatetimeRuleProcessorSQL-KYRPP9qd.mjs.map → getDatetimeRuleProcessorSQL-CW5JXMXx.mjs.map} +1 -1
- package/dist/{getDatetimeRuleProcessorSQL-CN80oEFK.js → getDatetimeRuleProcessorSQL-DS_x8OLw.js} +11 -13
- package/dist/{getDatetimeRuleProcessorSQL-CN80oEFK.js.map → getDatetimeRuleProcessorSQL-DS_x8OLw.js.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/{cjs/types-QCQUGVZa.d.ts → types-BQXdgbuB.d.mts} +375 -310
- package/dist/{types-EgfSemtR.d.ts → types-Dm-PhQtt.d.ts} +375 -310
- package/package.json +14 -14
- package/dist/cjs/getDatetimeRuleProcessorSQL-D95jgDK6.js +0 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { RQBDateTimeLibraryAPI, RQBJsonLogicDateTimeOperations, RuleProcessor, ValueProcessorByRule } from "./types-
|
|
1
|
+
import { RQBDateTimeLibraryAPI, RQBJsonLogicDateTimeOperations, RuleProcessor, ValueProcessorByRule } from "./types-C3iwOCvi.js";
|
|
2
2
|
|
|
3
3
|
//#region src/rqbDateTimeLibraryAPI.jsdate.d.ts
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const require_getDatetimeRuleProcessorSQL = require('./getDatetimeRuleProcessorSQL-
|
|
1
|
+
const require_getDatetimeRuleProcessorSQL = require('./getDatetimeRuleProcessorSQL-COEhnVIZ.js');
|
|
2
2
|
|
|
3
3
|
//#region src/rqbDateTimeLibraryAPI.jsdate.ts
|
|
4
4
|
const invalidDate = /* @__PURE__ */ new Date(NaN);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { RQBDateTimeLibraryAPI, RQBJsonLogicDateTimeOperations, RuleProcessor, ValueProcessorByRule } from "./types-
|
|
1
|
+
import { RQBDateTimeLibraryAPI, RQBJsonLogicDateTimeOperations, RuleProcessor, ValueProcessorByRule } from "./types-C3iwOCvi.js";
|
|
2
2
|
|
|
3
3
|
//#region src/rqbDateTimeLibraryAPI.luxon.d.ts
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const require_getDatetimeRuleProcessorSQL = require('./getDatetimeRuleProcessorSQL-
|
|
1
|
+
const require_getDatetimeRuleProcessorSQL = require('./getDatetimeRuleProcessorSQL-COEhnVIZ.js');
|
|
2
2
|
let luxon = require("luxon");
|
|
3
3
|
luxon = require_getDatetimeRuleProcessorSQL.__toESM(luxon);
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ExportOperatorMap, IsDateField, IsDateFieldFunction, RQBDateTimeJsonLogic, RQBDateTimeLibraryAPI, RQBJsonLogicDateAfter, RQBJsonLogicDateBefore, RQBJsonLogicDateBetween, RQBJsonLogicDateIn, RQBJsonLogicDateNotBetween, RQBJsonLogicDateNotIn, RQBJsonLogicDateNotOn, RQBJsonLogicDateOn, RQBJsonLogicDateOnOrAfter, RQBJsonLogicDateOnOrBefore, RQBJsonLogicDateTimeOperations, RuleProcessor, ValueProcessorByRule } from "./types-
|
|
1
|
+
import { ExportOperatorMap, IsDateField, IsDateFieldFunction, RQBDateTimeJsonLogic, RQBDateTimeLibraryAPI, RQBJsonLogicDateAfter, RQBJsonLogicDateBefore, RQBJsonLogicDateBetween, RQBJsonLogicDateIn, RQBJsonLogicDateNotBetween, RQBJsonLogicDateNotIn, RQBJsonLogicDateNotOn, RQBJsonLogicDateOn, RQBJsonLogicDateOnOrAfter, RQBJsonLogicDateOnOrBefore, RQBJsonLogicDateTimeOperations, RuleProcessor, ValueProcessorByRule } from "./types-C3iwOCvi.js";
|
|
2
2
|
|
|
3
3
|
//#region src/datetimeRuleProcessorJsonLogic.d.ts
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { RQBDateTimeLibraryAPI, RQBJsonLogicDateTimeOperations, RuleProcessor, ValueProcessorByRule } from "./types-
|
|
1
|
+
import { RQBDateTimeLibraryAPI, RQBJsonLogicDateTimeOperations, RuleProcessor, ValueProcessorByRule } from "./types-C3iwOCvi.js";
|
|
2
2
|
|
|
3
3
|
//#region src/rqbDateTimeLibraryAPI.date-fns.d.ts
|
|
4
4
|
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require(`./getDatetimeRuleProcessorSQL-
|
|
1
|
+
const e=require(`./getDatetimeRuleProcessorSQL-COEhnVIZ.js`);let t=require(`date-fns`);t=e.__toESM(t);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.isISOStringDateOnly(r)||e.isISOStringDateOnly(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.getDatetimeJsonLogicOperations(i),o=e.getDatetimeRuleProcessorSQL(i),s=e.getDatetimeValueProcessorANSI(i),c=e.getDatetimeValueProcessorMSSQL(i),l=e.getDatetimeValueProcessorMySQL(i),u=e.getDatetimeValueProcessorOracle(i),d=e.getDatetimeValueProcessorPostgreSQL(i),f=e.getDatetimeRuleProcessorCEL(i),p=e.getDatetimeRuleProcessorMongoDBQuery(i),m=e.getDatetimeRuleProcessorNL(i);exports.datetimeRuleProcessorCEL=f,exports.datetimeRuleProcessorMongoDBQuery=p,exports.datetimeRuleProcessorNL=m,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,4 +1,4 @@
|
|
|
1
|
-
import { RQBDateTimeLibraryAPI, RQBJsonLogicDateTimeOperations, RuleProcessor, ValueProcessorByRule } from "./types-
|
|
1
|
+
import { RQBDateTimeLibraryAPI, RQBJsonLogicDateTimeOperations, RuleProcessor, ValueProcessorByRule } from "./types-C3iwOCvi.js";
|
|
2
2
|
|
|
3
3
|
//#region src/rqbDateTimeLibraryAPI.dayjs.d.ts
|
|
4
4
|
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require(`./getDatetimeRuleProcessorSQL-
|
|
1
|
+
const e=require(`./getDatetimeRuleProcessorSQL-COEhnVIZ.js`);let t=require(`dayjs`);t=e.__toESM(t);const n={format:(e,n)=>(0,t.default)(e).format(n),isAfter:(e,n)=>(0,t.default)(e).isAfter(n),isBefore:(e,n)=>(0,t.default)(e).isBefore(n),isSame:(n,r)=>(0,t.default)(n).isSame(r,e.isISOStringDateOnly(n)||e.isISOStringDateOnly(r)?`d`:`ms`),isValid:e=>(0,t.default)(e).isValid(),toDate:e=>(0,t.default)(e).toDate(),toISOString:e=>{let n=(0,t.default)(e);return n.isValid()?n.toISOString():``},toISOStringDateOnly:e=>{let n=(0,t.default)(e);return n.isValid()?n.format(`YYYY-MM-DD`):``}},r=e.getDatetimeJsonLogicOperations(n),i=e.getDatetimeRuleProcessorSQL(n),a=e.getDatetimeValueProcessorANSI(n),o=e.getDatetimeValueProcessorMSSQL(n),s=e.getDatetimeValueProcessorMySQL(n),c=e.getDatetimeValueProcessorOracle(n),l=e.getDatetimeValueProcessorPostgreSQL(n),u=e.getDatetimeRuleProcessorCEL(n),d=e.getDatetimeRuleProcessorMongoDBQuery(n),f=e.getDatetimeRuleProcessorNL(n);exports.datetimeRuleProcessorCEL=u,exports.datetimeRuleProcessorMongoDBQuery=d,exports.datetimeRuleProcessorNL=f,exports.datetimeRuleProcessorSQL=i,exports.datetimeValueProcessorANSI=a,exports.datetimeValueProcessorMSSQL=o,exports.datetimeValueProcessorMySQL=s,exports.datetimeValueProcessorOracle=c,exports.datetimeValueProcessorPostgreSQL=l,exports.jsonLogicDateTimeOperations=r,exports.rqbDateTimeLibraryAPI=n;
|
|
2
2
|
//# sourceMappingURL=react-querybuilder_datetime.cjs.production.dayjs.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require(`./getDatetimeRuleProcessorSQL-
|
|
1
|
+
const e=require(`./getDatetimeRuleProcessorSQL-COEhnVIZ.js`);let t=require(`react-querybuilder`);t=e.__toESM(t);const n={"!=":`dateNotOn`,"<":`dateBefore`,"<=":`dateOnOrBefore`,"=":`dateOn`,">":`dateAfter`,">=":`dateOnOrAfter`,between:`dateBetween`,in:`dateIn`,notBetween:`dateNotBetween`,notIn:`dateNotIn`},r=(r,i)=>{let a=i??{};if(!e.processIsDateField(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.processIsDateField(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.datetimeValueProcessorNL,exports.defaultDateTimeNLOperatorMap=e.defaultDateTimeNLOperatorMap,exports.getDatetimeJsonLogicOperations=e.getDatetimeJsonLogicOperations,exports.getDatetimeRuleProcessorCEL=e.getDatetimeRuleProcessorCEL,exports.getDatetimeRuleProcessorJSONata=o,exports.getDatetimeRuleProcessorMongoDBQuery=e.getDatetimeRuleProcessorMongoDBQuery,exports.getDatetimeRuleProcessorNL=e.getDatetimeRuleProcessorNL,exports.getDatetimeRuleProcessorSQL=e.getDatetimeRuleProcessorSQL,exports.getDatetimeValueProcessorANSI=e.getDatetimeValueProcessorANSI,exports.getDatetimeValueProcessorMSSQL=e.getDatetimeValueProcessorMSSQL,exports.getDatetimeValueProcessorMySQL=e.getDatetimeValueProcessorMySQL,exports.getDatetimeValueProcessorOracle=e.getDatetimeValueProcessorOracle,exports.getDatetimeValueProcessorPostgreSQL=e.getDatetimeValueProcessorPostgreSQL;
|
|
2
2
|
//# sourceMappingURL=react-querybuilder_datetime.cjs.production.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-querybuilder_datetime.cjs.production.js","names":["datetimeRuleProcessorJsonLogic: RuleProcessor","processIsDateField","fieldObject: JsonLogicVar","negate","processIsDateField","valueAsArray: string[]","expression"],"sources":["../../src/datetimeRuleProcessorJsonLogic.ts","../../src/getDatetimeRuleProcessorJSONata.ts"],"sourcesContent":["import type { DefaultOperatorName, JsonLogicVar, RuleProcessor } from 'react-querybuilder';\nimport { defaultRuleProcessorJsonLogic, toArray } from 'react-querybuilder';\nimport type { RQBDateTimeJsonLogic } from './types';\nimport { processIsDateField } from './utils';\n\nconst dateOperationMap = {\n '!=': 'dateNotOn',\n '<': 'dateBefore',\n '<=': 'dateOnOrBefore',\n '=': 'dateOn',\n '>': 'dateAfter',\n '>=': 'dateOnOrAfter',\n between: 'dateBetween',\n in: 'dateIn',\n notBetween: 'dateNotBetween',\n notIn: 'dateNotIn',\n} as const satisfies Partial<Record<DefaultOperatorName, string>>;\n\n/**\n * Date/time rule processor for use by {@link @react-querybuilder/core!formatQuery formatQuery}\n * with the \"jsonlogic\" format.\n *\n * Note: Unlike other date/time rule processors from this library, this function does\n * not require a date/time library API. Instead, the date/time library API is used by\n * {@link getDatetimeJsonLogicOperations} during the evaluation process.\n */\nexport const datetimeRuleProcessorJsonLogic: RuleProcessor = (\n rule,\n options\n): RQBDateTimeJsonLogic => {\n const opts = options ?? /* istanbul ignore next */ {};\n\n if (!processIsDateField(opts.context?.isDateField, rule, opts)) {\n return defaultRuleProcessorJsonLogic(rule, opts);\n }\n\n const { field, operator, value, valueSource } = rule;\n const valueIsField = valueSource === 'field';\n const fieldObject: JsonLogicVar = { var: field };\n const maybeFieldRenderer = (v: string) => (valueIsField ? { var: `${v}` } : v);\n\n switch (operator) {\n case '<':\n case '<=':\n case '=':\n case '!=':\n case '>':\n case '>=':\n return {\n [dateOperationMap[operator]]: [fieldObject, maybeFieldRenderer(value)],\n } as RQBDateTimeJsonLogic;\n\n case 'in':\n case 'notIn': {\n const valueAsArray = toArray(value).map(v => maybeFieldRenderer(v));\n return { [dateOperationMap[operator]]: [fieldObject, valueAsArray] } as RQBDateTimeJsonLogic;\n }\n\n case 'between':\n case 'notBetween': {\n const valueAsArray = toArray(value).map(v => maybeFieldRenderer(v));\n\n if (valueAsArray.length < 2) return false;\n\n return {\n [dateOperationMap[operator]]: [valueAsArray[0], fieldObject, valueAsArray[1]],\n } as RQBDateTimeJsonLogic;\n }\n }\n\n return defaultRuleProcessorJsonLogic(rule, options);\n};\n","import type { RuleProcessor } from 'react-querybuilder';\nimport {\n defaultRuleProcessorJSONata,\n getQuotedFieldName,\n nullOrUndefinedOrEmpty,\n toArray,\n} from 'react-querybuilder';\nimport type { RQBDateTimeLibraryAPI } from './types';\nimport { processIsDateField } from './utils';\n\nconst shouldNegate = (op: string) => /^(does)?not/i.test(op);\n\nconst negate = (clause: string, negate: boolean) => (negate ? `$not(${clause})` : `${clause}`);\n\n/**\n * Generates a rule processor with date/time features for use by\n * {@link @react-querybuilder/core!formatQuery formatQuery} with the \"jsonata\" format.\n */\nexport const getDatetimeRuleProcessorJSONata =\n (apiFns: RQBDateTimeLibraryAPI): RuleProcessor =>\n (rule, options) => {\n const opts = options ?? /* istanbul ignore next */ {};\n const { context = {} } = opts;\n\n // istanbul ignore next\n const { quoteFieldNamesWith = ['', ''] as [string, string], fieldIdentifierSeparator = '' } =\n opts;\n const { field, operator, value, valueSource } = rule;\n\n if (!processIsDateField(context.isDateField, rule, opts)) {\n return defaultRuleProcessorJSONata(rule, opts);\n }\n\n const valueIsField = valueSource === 'field';\n\n const fldToMs = (f: string) =>\n `$toMillis(${getQuotedFieldName(f, { quoteFieldNamesWith, fieldIdentifierSeparator })})`;\n const valToMs = (v: string | Date) => `$toMillis(\"${apiFns.toISOString(v)}\")`;\n\n switch (operator) {\n case '<':\n case '<=':\n case '=':\n case '!=':\n case '>':\n case '>=':\n return `${fldToMs(field)} ${operator} ${valueIsField ? fldToMs(value) : valToMs(value)}`;\n }\n\n const valueAsArray: string[] = toArray(rule.value, { retainEmptyStrings: false });\n const valueAsDateArray = valueAsArray\n .map(v => apiFns.toDate(v))\n .filter(dateVal => apiFns.isValid(dateVal));\n\n switch (operator) {\n case 'in':\n case 'notIn': {\n if (valueIsField) {\n if (valueAsArray.length === 0) return '';\n return negate(\n `${fldToMs(field)} in [${valueAsArray.map(val => fldToMs(val)).join(', ')}]`,\n shouldNegate(operator)\n );\n }\n if (valueAsDateArray.length === 0) return '';\n return negate(\n `${fldToMs(field)} in [${valueAsDateArray.map(val => valToMs(val)).join(', ')}]`,\n shouldNegate(operator)\n );\n }\n\n case 'between':\n case 'notBetween': {\n if (\n valueAsArray.length < 2 ||\n nullOrUndefinedOrEmpty(valueAsArray[0]) ||\n nullOrUndefinedOrEmpty(valueAsArray[1]) ||\n (!valueIsField && valueAsDateArray.length < 2)\n ) {\n return '';\n }\n\n if (valueIsField) {\n const [firstValue, secondValue] = valueAsArray;\n const expression = `${fldToMs(field)} >= ${fldToMs(firstValue)} and ${fldToMs(field)} <= ${fldToMs(secondValue)}`;\n return operator === 'between' ? `(${expression})` : negate(expression, true);\n }\n\n const [first, second] = valueAsDateArray;\n const [firstDate, secondDate] = apiFns.isBefore(first, second)\n ? [first, second]\n : [second, first];\n const expression = `${fldToMs(field)} >= ${valToMs(firstDate)} and ${fldToMs(field)} <= ${valToMs(secondDate)}`;\n return operator === 'between' ? `(${expression})` : negate(expression, true);\n }\n }\n\n return defaultRuleProcessorJSONata(rule, opts);\n };\n"],"mappings":"gHAKA,MAAM,EAAmB,CACvB,KAAM,YACN,IAAK,aACL,KAAM,iBACN,IAAK,SACL,IAAK,YACL,KAAM,gBACN,QAAS,cACT,GAAI,SACJ,WAAY,iBACZ,MAAO,YACR,CAUYA,GACX,EACA,IACyB,CACzB,IAAM,EAAO,GAAsC,EAAE,CAErD,GAAI,
|
|
1
|
+
{"version":3,"file":"react-querybuilder_datetime.cjs.production.js","names":["datetimeRuleProcessorJsonLogic: RuleProcessor","processIsDateField","fieldObject: JsonLogicVar","negate","processIsDateField","valueAsArray: string[]","expression"],"sources":["../../src/datetimeRuleProcessorJsonLogic.ts","../../src/getDatetimeRuleProcessorJSONata.ts"],"sourcesContent":["import type { DefaultOperatorName, JsonLogicVar, RuleProcessor } from 'react-querybuilder';\nimport { defaultRuleProcessorJsonLogic, toArray } from 'react-querybuilder';\nimport type { RQBDateTimeJsonLogic } from './types';\nimport { processIsDateField } from './utils';\n\nconst dateOperationMap = {\n '!=': 'dateNotOn',\n '<': 'dateBefore',\n '<=': 'dateOnOrBefore',\n '=': 'dateOn',\n '>': 'dateAfter',\n '>=': 'dateOnOrAfter',\n between: 'dateBetween',\n in: 'dateIn',\n notBetween: 'dateNotBetween',\n notIn: 'dateNotIn',\n} as const satisfies Partial<Record<DefaultOperatorName, string>>;\n\n/**\n * Date/time rule processor for use by {@link @react-querybuilder/core!formatQuery formatQuery}\n * with the \"jsonlogic\" format.\n *\n * Note: Unlike other date/time rule processors from this library, this function does\n * not require a date/time library API. Instead, the date/time library API is used by\n * {@link getDatetimeJsonLogicOperations} during the evaluation process.\n */\nexport const datetimeRuleProcessorJsonLogic: RuleProcessor = (\n rule,\n options\n): RQBDateTimeJsonLogic => {\n const opts = options ?? /* istanbul ignore next */ {};\n\n if (!processIsDateField(opts.context?.isDateField, rule, opts)) {\n return defaultRuleProcessorJsonLogic(rule, opts);\n }\n\n const { field, operator, value, valueSource } = rule;\n const valueIsField = valueSource === 'field';\n const fieldObject: JsonLogicVar = { var: field };\n const maybeFieldRenderer = (v: string) => (valueIsField ? { var: `${v}` } : v);\n\n switch (operator) {\n case '<':\n case '<=':\n case '=':\n case '!=':\n case '>':\n case '>=':\n return {\n [dateOperationMap[operator]]: [fieldObject, maybeFieldRenderer(value)],\n } as RQBDateTimeJsonLogic;\n\n case 'in':\n case 'notIn': {\n const valueAsArray = toArray(value).map(v => maybeFieldRenderer(v));\n return { [dateOperationMap[operator]]: [fieldObject, valueAsArray] } as RQBDateTimeJsonLogic;\n }\n\n case 'between':\n case 'notBetween': {\n const valueAsArray = toArray(value).map(v => maybeFieldRenderer(v));\n\n if (valueAsArray.length < 2) return false;\n\n return {\n [dateOperationMap[operator]]: [valueAsArray[0], fieldObject, valueAsArray[1]],\n } as RQBDateTimeJsonLogic;\n }\n }\n\n return defaultRuleProcessorJsonLogic(rule, options);\n};\n","import type { RuleProcessor } from 'react-querybuilder';\nimport {\n defaultRuleProcessorJSONata,\n getQuotedFieldName,\n nullOrUndefinedOrEmpty,\n toArray,\n} from 'react-querybuilder';\nimport type { RQBDateTimeLibraryAPI } from './types';\nimport { processIsDateField } from './utils';\n\nconst shouldNegate = (op: string) => /^(does)?not/i.test(op);\n\nconst negate = (clause: string, negate: boolean) => (negate ? `$not(${clause})` : `${clause}`);\n\n/**\n * Generates a rule processor with date/time features for use by\n * {@link @react-querybuilder/core!formatQuery formatQuery} with the \"jsonata\" format.\n */\nexport const getDatetimeRuleProcessorJSONata =\n (apiFns: RQBDateTimeLibraryAPI): RuleProcessor =>\n (rule, options) => {\n const opts = options ?? /* istanbul ignore next */ {};\n const { context = {} } = opts;\n\n // istanbul ignore next\n const { quoteFieldNamesWith = ['', ''] as [string, string], fieldIdentifierSeparator = '' } =\n opts;\n const { field, operator, value, valueSource } = rule;\n\n if (!processIsDateField(context.isDateField, rule, opts)) {\n return defaultRuleProcessorJSONata(rule, opts);\n }\n\n const valueIsField = valueSource === 'field';\n\n const fldToMs = (f: string) =>\n `$toMillis(${getQuotedFieldName(f, { quoteFieldNamesWith, fieldIdentifierSeparator })})`;\n const valToMs = (v: string | Date) => `$toMillis(\"${apiFns.toISOString(v)}\")`;\n\n switch (operator) {\n case '<':\n case '<=':\n case '=':\n case '!=':\n case '>':\n case '>=':\n return `${fldToMs(field)} ${operator} ${valueIsField ? fldToMs(value) : valToMs(value)}`;\n }\n\n const valueAsArray: string[] = toArray(rule.value, { retainEmptyStrings: false });\n const valueAsDateArray = valueAsArray\n .map(v => apiFns.toDate(v))\n .filter(dateVal => apiFns.isValid(dateVal));\n\n switch (operator) {\n case 'in':\n case 'notIn': {\n if (valueIsField) {\n if (valueAsArray.length === 0) return '';\n return negate(\n `${fldToMs(field)} in [${valueAsArray.map(val => fldToMs(val)).join(', ')}]`,\n shouldNegate(operator)\n );\n }\n if (valueAsDateArray.length === 0) return '';\n return negate(\n `${fldToMs(field)} in [${valueAsDateArray.map(val => valToMs(val)).join(', ')}]`,\n shouldNegate(operator)\n );\n }\n\n case 'between':\n case 'notBetween': {\n if (\n valueAsArray.length < 2 ||\n nullOrUndefinedOrEmpty(valueAsArray[0]) ||\n nullOrUndefinedOrEmpty(valueAsArray[1]) ||\n (!valueIsField && valueAsDateArray.length < 2)\n ) {\n return '';\n }\n\n if (valueIsField) {\n const [firstValue, secondValue] = valueAsArray;\n const expression = `${fldToMs(field)} >= ${fldToMs(firstValue)} and ${fldToMs(field)} <= ${fldToMs(secondValue)}`;\n return operator === 'between' ? `(${expression})` : negate(expression, true);\n }\n\n const [first, second] = valueAsDateArray;\n const [firstDate, secondDate] = apiFns.isBefore(first, second)\n ? [first, second]\n : [second, first];\n const expression = `${fldToMs(field)} >= ${valToMs(firstDate)} and ${fldToMs(field)} <= ${valToMs(secondDate)}`;\n return operator === 'between' ? `(${expression})` : negate(expression, true);\n }\n }\n\n return defaultRuleProcessorJSONata(rule, opts);\n };\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { RQBDateTimeLibraryAPI, RQBJsonLogicDateTimeOperations, RuleProcessor, ValueProcessorByRule } from "./types-
|
|
1
|
+
import { RQBDateTimeLibraryAPI, RQBJsonLogicDateTimeOperations, RuleProcessor, ValueProcessorByRule } from "./types-C3iwOCvi.js";
|
|
2
2
|
|
|
3
3
|
//#region src/rqbDateTimeLibraryAPI.jsdate.d.ts
|
|
4
4
|
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require(`./getDatetimeRuleProcessorSQL-
|
|
1
|
+
const e=require(`./getDatetimeRuleProcessorSQL-COEhnVIZ.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.isISOStringDateOnly(t)||e.isISOStringDateOnly(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.getDatetimeJsonLogicOperations(o),c=e.getDatetimeRuleProcessorSQL(o),l=e.getDatetimeValueProcessorANSI(o),u=e.getDatetimeValueProcessorMSSQL(o),d=e.getDatetimeValueProcessorMySQL(o),f=e.getDatetimeValueProcessorOracle(o),p=e.getDatetimeValueProcessorPostgreSQL(o),m=e.getDatetimeRuleProcessorCEL(o),h=e.getDatetimeRuleProcessorMongoDBQuery(o),g=e.getDatetimeRuleProcessorNL(o);exports.datetimeRuleProcessorCEL=m,exports.datetimeRuleProcessorMongoDBQuery=h,exports.datetimeRuleProcessorNL=g,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 { RQBDateTimeLibraryAPI, RQBJsonLogicDateTimeOperations, RuleProcessor, ValueProcessorByRule } from "./types-
|
|
1
|
+
import { RQBDateTimeLibraryAPI, RQBJsonLogicDateTimeOperations, RuleProcessor, ValueProcessorByRule } from "./types-C3iwOCvi.js";
|
|
2
2
|
|
|
3
3
|
//#region src/rqbDateTimeLibraryAPI.luxon.d.ts
|
|
4
4
|
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require(`./getDatetimeRuleProcessorSQL-
|
|
1
|
+
const e=require(`./getDatetimeRuleProcessorSQL-COEhnVIZ.js`);let t=require(`luxon`);t=e.__toESM(t);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.isISOStringDateOnly(t)||e.isISOStringDateOnly(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.getDatetimeJsonLogicOperations(i),o=e.getDatetimeRuleProcessorSQL(i),s=e.getDatetimeValueProcessorANSI(i),c=e.getDatetimeValueProcessorMSSQL(i),l=e.getDatetimeValueProcessorMySQL(i),u=e.getDatetimeValueProcessorOracle(i),d=e.getDatetimeValueProcessorPostgreSQL(i),f=e.getDatetimeRuleProcessorCEL(i),p=e.getDatetimeRuleProcessorMongoDBQuery(i),m=e.getDatetimeRuleProcessorNL(i);exports.datetimeRuleProcessorCEL=f,exports.datetimeRuleProcessorMongoDBQuery=p,exports.datetimeRuleProcessorNL=m,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
|