@omni-graph/omni-model 0.6.107-1-g0211605 → 0.6.107-6-g8768e5d
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/functions/filtering/baseHandler.d.ts +9 -0
- package/dist/functions/filtering/baseHandler.d.ts.map +1 -0
- package/dist/functions/filtering/baseHandler.js +12 -0
- package/dist/functions/filtering/baseHandler.js.map +1 -0
- package/dist/functions/filtering/booleanHandler.d.ts +8 -0
- package/dist/functions/filtering/booleanHandler.d.ts.map +1 -0
- package/dist/functions/filtering/booleanHandler.js +41 -0
- package/dist/functions/filtering/booleanHandler.js.map +1 -0
- package/dist/functions/filtering/dateHandler.d.ts +8 -0
- package/dist/functions/filtering/dateHandler.d.ts.map +1 -0
- package/dist/functions/filtering/dateHandler.js +71 -0
- package/dist/functions/filtering/dateHandler.js.map +1 -0
- package/dist/functions/filtering/dateRangeHandler.d.ts +8 -0
- package/dist/functions/filtering/dateRangeHandler.d.ts.map +1 -0
- package/dist/functions/filtering/dateRangeHandler.js +46 -0
- package/dist/functions/filtering/dateRangeHandler.js.map +1 -0
- package/dist/functions/filtering/filterPredicate.d.ts +2 -0
- package/dist/functions/filtering/filterPredicate.d.ts.map +1 -0
- package/dist/functions/filtering/filterPredicate.js +2 -0
- package/dist/functions/filtering/filterPredicate.js.map +1 -0
- package/dist/functions/filtering/generalFilterArgs.d.ts +6 -0
- package/dist/functions/filtering/generalFilterArgs.d.ts.map +1 -0
- package/dist/functions/filtering/generalFilterArgs.js +2 -0
- package/dist/functions/filtering/generalFilterArgs.js.map +1 -0
- package/dist/functions/filtering/handler.d.ts +8 -0
- package/dist/functions/filtering/handler.d.ts.map +1 -0
- package/dist/functions/filtering/handler.js +2 -0
- package/dist/functions/filtering/handler.js.map +1 -0
- package/dist/functions/filtering/multiSelectHandler.d.ts +8 -0
- package/dist/functions/filtering/multiSelectHandler.d.ts.map +1 -0
- package/dist/functions/filtering/multiSelectHandler.js +48 -0
- package/dist/functions/filtering/multiSelectHandler.js.map +1 -0
- package/dist/functions/filtering/numberHandler.d.ts +8 -0
- package/dist/functions/filtering/numberHandler.d.ts.map +1 -0
- package/dist/functions/filtering/numberHandler.js +50 -0
- package/dist/functions/filtering/numberHandler.js.map +1 -0
- package/dist/functions/filtering/numberRangeHandler.d.ts +8 -0
- package/dist/functions/filtering/numberRangeHandler.d.ts.map +1 -0
- package/dist/functions/filtering/numberRangeHandler.js +27 -0
- package/dist/functions/filtering/numberRangeHandler.js.map +1 -0
- package/dist/functions/filtering/queryFilters.d.ts +20 -8
- package/dist/functions/filtering/queryFilters.d.ts.map +1 -1
- package/dist/functions/filtering/queryFilters.js +55 -430
- package/dist/functions/filtering/queryFilters.js.map +1 -1
- package/dist/functions/filtering/textHandler.d.ts +8 -0
- package/dist/functions/filtering/textHandler.d.ts.map +1 -0
- package/dist/functions/filtering/textHandler.js +44 -0
- package/dist/functions/filtering/textHandler.js.map +1 -0
- package/dist/functions/filtering/utils.d.ts +26 -0
- package/dist/functions/filtering/utils.d.ts.map +1 -0
- package/dist/functions/filtering/utils.js +96 -0
- package/dist/functions/filtering/utils.js.map +1 -0
- package/dist/functions/index.d.ts.map +1 -1
- package/dist/functions/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export declare const parseJSONValue: (json: string) => boolean | number | string | string[] | number[];
|
|
2
|
+
export declare const toNumber: (x: unknown) => number | null;
|
|
3
|
+
export declare const toDate: (x: unknown) => Date | null;
|
|
4
|
+
export declare const normalizeStr: (x: unknown) => string;
|
|
5
|
+
export declare const ensureAllowed: (op: string, allowed: readonly string[]) => void;
|
|
6
|
+
/** ---------- Date helpers ---------- */
|
|
7
|
+
export declare const startOfDay: (d: Date) => Date;
|
|
8
|
+
export declare const endOfDay: (d: Date) => Date;
|
|
9
|
+
export declare const compareDateOnly: (a: Date | null, b: Date | null) => number;
|
|
10
|
+
/** For isRelativeToToday on date/dateRange:
|
|
11
|
+
* Expect valueJson to encode one of:
|
|
12
|
+
* - { offsetDays: number, compare: "lt"|"lte"|"gt"|"gte"|"eq"|"ne" }
|
|
13
|
+
* - { startOffsetDays: number, endOffsetDays: number } (interpreted as an inclusive range [today+start, today+end])
|
|
14
|
+
*/
|
|
15
|
+
type RelativeSingle = {
|
|
16
|
+
offsetDays: number;
|
|
17
|
+
compare: Exclude<string, 'isBetween' | 'isRelativeToToday'>;
|
|
18
|
+
};
|
|
19
|
+
type RelativeRange = {
|
|
20
|
+
startOffsetDays: number;
|
|
21
|
+
endOffsetDays: number;
|
|
22
|
+
};
|
|
23
|
+
export declare const parseRelative: (json: string) => RelativeSingle | RelativeRange;
|
|
24
|
+
export declare const addDays: (d: Date, days: number) => Date;
|
|
25
|
+
export {};
|
|
26
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/functions/filtering/utils.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,KAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,EAQ1F,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,GAAG,OAAO,KAAG,MAAM,GAAG,IAI9C,CAAC;AAEF,eAAO,MAAM,MAAM,GAAI,GAAG,OAAO,KAAG,IAAI,GAAG,IAe1C,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,GAAG,OAAO,KAAG,MAMzC,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,IAAI,MAAM,EAAE,SAAS,SAAS,MAAM,EAAE,SAInE,CAAC;AAGF,yCAAyC;AACzC,eAAO,MAAM,UAAU,GAAI,GAAG,IAAI,KAAG,IAIpC,CAAC;AACF,eAAO,MAAM,QAAQ,GAAI,GAAG,IAAI,KAAG,IAIlC,CAAC;AACF,eAAO,MAAM,eAAe,GAAI,GAAG,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI,GAAG,IAAI,KAAG,MAQhE,CAAC;AAEF;;;;GAIG;AACH,KAAK,cAAc,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,WAAW,GAAG,mBAAmB,CAAC,CAAA;CAAE,CAAC;AAC1G,KAAK,aAAa,GAAG;IAAE,eAAe,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAAC;AAExE,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,KAAG,cAAc,GAAG,aAW7D,CAAC;AAEF,eAAO,MAAM,OAAO,GAAI,GAAG,IAAI,EAAE,MAAM,MAAM,SAI5C,CAAC"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { DateTime } from "luxon";
|
|
2
|
+
export const parseJSONValue = (json) => {
|
|
3
|
+
const v = JSON.parse(json);
|
|
4
|
+
if (typeof v === 'string')
|
|
5
|
+
return v;
|
|
6
|
+
if (typeof v === 'boolean')
|
|
7
|
+
return v;
|
|
8
|
+
if (typeof v === 'number')
|
|
9
|
+
return v;
|
|
10
|
+
if (Array.isArray(v) && v.every((x) => typeof x === 'string'))
|
|
11
|
+
return v;
|
|
12
|
+
if (Array.isArray(v) && v.every((x) => typeof x === 'number'))
|
|
13
|
+
return v;
|
|
14
|
+
throw new Error('Invalid type for filter value');
|
|
15
|
+
};
|
|
16
|
+
export const toNumber = (x) => {
|
|
17
|
+
if (x == null || x === '')
|
|
18
|
+
return null;
|
|
19
|
+
const n = Number(x);
|
|
20
|
+
return Number.isFinite(n) ? n : null;
|
|
21
|
+
};
|
|
22
|
+
export const toDate = (x) => {
|
|
23
|
+
if (x == null || x === '')
|
|
24
|
+
return null;
|
|
25
|
+
// Accept Date, epoch number, Luxon, or ISO-like string
|
|
26
|
+
if (x instanceof Date && !Number.isNaN(x.getTime()))
|
|
27
|
+
return x;
|
|
28
|
+
if (x instanceof DateTime && !Number.isNaN(x.toJSDate().getTime()))
|
|
29
|
+
return x.toJSDate();
|
|
30
|
+
const n = Number(x);
|
|
31
|
+
if (Number.isFinite(n)) {
|
|
32
|
+
const d = new Date(n);
|
|
33
|
+
return Number.isNaN(d.getTime()) ? null : d;
|
|
34
|
+
}
|
|
35
|
+
if (typeof x === 'string') {
|
|
36
|
+
const d = new Date(String(x));
|
|
37
|
+
return Number.isNaN(d.getTime()) ? null : d;
|
|
38
|
+
}
|
|
39
|
+
throw new Error('Invalid date value');
|
|
40
|
+
};
|
|
41
|
+
export const normalizeStr = (x) => {
|
|
42
|
+
if (typeof x === 'object' && x !== null)
|
|
43
|
+
return JSON.stringify(x);
|
|
44
|
+
if (typeof x === 'string')
|
|
45
|
+
return x.trim();
|
|
46
|
+
if (typeof x === 'number')
|
|
47
|
+
return String(x);
|
|
48
|
+
if (typeof x === 'boolean')
|
|
49
|
+
return String(x);
|
|
50
|
+
return JSON.stringify(x).trim();
|
|
51
|
+
};
|
|
52
|
+
export const ensureAllowed = (op, allowed) => {
|
|
53
|
+
if (!allowed.includes(op)) {
|
|
54
|
+
throw new Error(`Operator "${op}" is not allowed for this variant`);
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
/** ---------- Date helpers ---------- */
|
|
58
|
+
export const startOfDay = (d) => {
|
|
59
|
+
const r = new Date(d);
|
|
60
|
+
r.setHours(0, 0, 0, 0);
|
|
61
|
+
return r;
|
|
62
|
+
};
|
|
63
|
+
export const endOfDay = (d) => {
|
|
64
|
+
const r = new Date(d);
|
|
65
|
+
r.setHours(23, 59, 59, 999);
|
|
66
|
+
return r;
|
|
67
|
+
};
|
|
68
|
+
export const compareDateOnly = (a, b) => {
|
|
69
|
+
if (!a && !b)
|
|
70
|
+
return 0;
|
|
71
|
+
if (!a)
|
|
72
|
+
return 1;
|
|
73
|
+
if (!b)
|
|
74
|
+
return -1;
|
|
75
|
+
const aa = startOfDay(a).getTime();
|
|
76
|
+
const bb = startOfDay(b).getTime();
|
|
77
|
+
if (aa === bb)
|
|
78
|
+
return 0;
|
|
79
|
+
return aa < bb ? -1 : 1;
|
|
80
|
+
};
|
|
81
|
+
export const parseRelative = (json) => {
|
|
82
|
+
const v = JSON.parse(json);
|
|
83
|
+
if (v && typeof v === 'object' && typeof v.offsetDays === 'number' && typeof v.compare === 'string') {
|
|
84
|
+
return v;
|
|
85
|
+
}
|
|
86
|
+
if (v && typeof v === 'object' && typeof v.startOffsetDays === 'number' && typeof v.endOffsetDays === 'number') {
|
|
87
|
+
return v;
|
|
88
|
+
}
|
|
89
|
+
throw new Error('For "isRelativeToToday", value must be {"offsetDays":number,"compare":"lt|lte|gt|gte|eq|ne"} or {"startOffsetDays":number,"endOffsetDays":number}');
|
|
90
|
+
};
|
|
91
|
+
export const addDays = (d, days) => {
|
|
92
|
+
const copy = new Date(d);
|
|
93
|
+
copy.setDate(copy.getDate() + days);
|
|
94
|
+
return copy;
|
|
95
|
+
};
|
|
96
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/functions/filtering/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,OAAO,CAAC;AAE/B,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAY,EAAmD,EAAE;IAC9F,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3B,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC;IACpC,IAAI,OAAO,CAAC,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC;IACrC,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC;IACpC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;QAAE,OAAO,CAAC,CAAC;IACxE,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;QAAE,OAAO,CAAC,CAAC;IACxE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;AACnD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAU,EAAiB,EAAE;IACpD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACpB,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACvC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,CAAU,EAAe,EAAE;IAChD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IACvC,uDAAuD;IACvD,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAAE,OAAO,CAAC,CAAC;IAC9D,IAAI,CAAC,YAAY,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC;QAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;IACxF,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACvB,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;QACtB,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC1B,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9B,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;AACxC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAU,EAAU,EAAE;IACjD,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAClE,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3C,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IAC5C,IAAI,OAAO,CAAC,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IAC7C,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAClC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAAU,EAAE,OAA0B,EAAE,EAAE;IACtE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,aAAa,EAAE,mCAAmC,CAAC,CAAC;IACtE,CAAC;AACH,CAAC,CAAC;AAGF,yCAAyC;AACzC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAO,EAAQ,EAAE;IAC1C,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACvB,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AACF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAO,EAAQ,EAAE;IACxC,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IAC5B,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AACF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAc,EAAE,CAAc,EAAU,EAAE;IACxE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC;IACvB,IAAI,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC;IACjB,IAAI,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC,CAAC;IAClB,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IACnC,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IACnC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,CAAC,CAAC;IACxB,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC;AAUF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAY,EAAkC,EAAE;IAC5E,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3B,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACpG,OAAO,CAAmB,CAAC;IAC7B,CAAC;IACD,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,eAAe,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;QAC/G,OAAO,CAAkB,CAAC;IAC5B,CAAC;IACD,MAAM,IAAI,KAAK,CACP,mJAAmJ,CAC1J,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAO,EAAE,IAAY,EAAE,EAAE;IAC/C,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IACpC,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/functions/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/functions/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/functions/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/functions/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC"}
|