@halix/action-sdk 1.0.27 → 1.0.29
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/lib/cjs/data-aggregate.js +174 -4
- package/lib/cjs/data-crud.js +1 -1
- package/lib/cjs/index.js +3 -1
- package/lib/cjs/types/data-aggregate.d.ts +139 -11
- package/lib/cjs/types/data-aggregate.d.ts.map +1 -1
- package/lib/cjs/types/data-crud.d.ts +3 -4
- package/lib/cjs/types/data-crud.d.ts.map +1 -1
- package/lib/cjs/types/index.d.ts +1 -2
- package/lib/cjs/types/index.d.ts.map +1 -1
- package/lib/cjs/types/lists.d.ts +2 -3
- package/lib/cjs/types/lists.d.ts.map +1 -1
- package/lib/esm/data-aggregate.js +173 -4
- package/lib/esm/data-aggregate.js.map +1 -1
- package/lib/esm/data-crud.js +1 -1
- package/lib/esm/data-crud.js.map +1 -1
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/index.mjs +2 -0
- package/lib/esm/lists.js.map +1 -1
- package/lib/esm/types/data-aggregate.d.ts +139 -11
- package/lib/esm/types/data-crud.d.ts +3 -4
- package/lib/esm/types/index.d.ts +1 -2
- package/lib/esm/types/lists.d.ts +2 -3
- package/package.json +1 -1
- package/lib/cjs/filter-expressions.js +0 -10
- package/lib/cjs/types/filter-expressions.d.ts +0 -82
- package/lib/cjs/types/filter-expressions.d.ts.map +0 -1
- package/lib/esm/filter-expressions.js +0 -10
- package/lib/esm/filter-expressions.js.map +0 -1
- package/lib/esm/types/filter-expressions.d.ts +0 -81
|
@@ -23,6 +23,164 @@
|
|
|
23
23
|
import axios from 'axios';
|
|
24
24
|
import { from, lastValueFrom } from 'rxjs';
|
|
25
25
|
import { sandboxKey, serviceAddress, getAuthToken } from './sdk-general';
|
|
26
|
+
/**
|
|
27
|
+
* AggregationResponse provides structured access to aggregated data results.
|
|
28
|
+
* Each row contains:
|
|
29
|
+
* - Group fields named after their groupField property
|
|
30
|
+
* - Aggregation fields named as {aggregationType}_{aggregationField} (e.g., "count_objKey", "sum_totalAmount")
|
|
31
|
+
*/
|
|
32
|
+
export class AggregationResponse {
|
|
33
|
+
rawData;
|
|
34
|
+
constructor(data) {
|
|
35
|
+
this.rawData = data || [];
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Get the raw data array.
|
|
39
|
+
* @returns Array of aggregation result rows
|
|
40
|
+
*/
|
|
41
|
+
getData() {
|
|
42
|
+
return this.rawData;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Get the number of rows in the aggregated results.
|
|
46
|
+
*/
|
|
47
|
+
get length() {
|
|
48
|
+
return this.rawData.length;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Get a specific row by index.
|
|
52
|
+
* @param index - The row index
|
|
53
|
+
* @returns The row at the specified index, or undefined if out of bounds
|
|
54
|
+
*/
|
|
55
|
+
getRow(index) {
|
|
56
|
+
return this.rawData[index];
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Get a group field value from a specific row.
|
|
60
|
+
* @param row - The aggregation row
|
|
61
|
+
* @param groupField - The name of the group field
|
|
62
|
+
* @returns The group field value
|
|
63
|
+
*/
|
|
64
|
+
getGroup(row, groupField) {
|
|
65
|
+
return row[groupField];
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Get an aggregation value from a specific row.
|
|
69
|
+
* Handles case-insensitive aggregation type matching.
|
|
70
|
+
* @param row - The aggregation row
|
|
71
|
+
* @param aggregationType - The aggregation type (case-insensitive: 'Count', 'Sum', 'Average', etc.)
|
|
72
|
+
* @param aggregationField - The field that was aggregated
|
|
73
|
+
* @returns The aggregation value
|
|
74
|
+
*/
|
|
75
|
+
getAggregation(row, aggregationType, aggregationField) {
|
|
76
|
+
const fieldName = this.getAggregationFieldName(aggregationType, aggregationField);
|
|
77
|
+
return row[fieldName];
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Build the aggregation field name from type and field.
|
|
81
|
+
* @param aggregationType - The aggregation type (case-insensitive)
|
|
82
|
+
* @param field - The field name
|
|
83
|
+
* @returns The aggregation field name in the format {type}_{field}
|
|
84
|
+
*/
|
|
85
|
+
getAggregationFieldName(aggregationType, field) {
|
|
86
|
+
return `${aggregationType.toLowerCase()}_${field}`;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Find rows matching specific group values.
|
|
90
|
+
* @param groupFilters - Object with group field names as keys and desired values
|
|
91
|
+
* @returns Array of matching rows
|
|
92
|
+
*
|
|
93
|
+
* @example
|
|
94
|
+
* // Find all rows where status is "Draft"
|
|
95
|
+
* response.findByGroups({ status: 'Draft' })
|
|
96
|
+
*
|
|
97
|
+
* @example
|
|
98
|
+
* // Find rows where status is "Draft" and homeLanguage is "English"
|
|
99
|
+
* response.findByGroups({ status: 'Draft', homeLanguage: 'English' })
|
|
100
|
+
*/
|
|
101
|
+
findByGroups(groupFilters) {
|
|
102
|
+
return this.rawData.filter(row => {
|
|
103
|
+
return Object.entries(groupFilters).every(([field, value]) => row[field] === value);
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Get a specific aggregation value for rows matching group filters.
|
|
108
|
+
* @param groupFilters - Object with group field names as keys and desired values
|
|
109
|
+
* @param aggregationType - The aggregation type (case-insensitive)
|
|
110
|
+
* @param aggregationField - The field that was aggregated
|
|
111
|
+
* @returns The aggregation value from the first matching row, or undefined if no match
|
|
112
|
+
*
|
|
113
|
+
* @example
|
|
114
|
+
* // Get count of objKey for Draft status and English homeLanguage
|
|
115
|
+
* response.getAggregationValue(
|
|
116
|
+
* { status: 'Draft', homeLanguage: 'English' },
|
|
117
|
+
* 'Count',
|
|
118
|
+
* 'objKey'
|
|
119
|
+
* )
|
|
120
|
+
*/
|
|
121
|
+
getAggregationValue(groupFilters, aggregationType, aggregationField) {
|
|
122
|
+
const row = this.findByGroups(groupFilters)[0];
|
|
123
|
+
return row ? this.getAggregation(row, aggregationType, aggregationField) : undefined;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Iterate over all rows with a callback function.
|
|
127
|
+
* @param callback - Function to execute for each row
|
|
128
|
+
*/
|
|
129
|
+
forEach(callback) {
|
|
130
|
+
this.rawData.forEach(callback);
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Map aggregation rows to a new array.
|
|
134
|
+
* @param callback - Function to transform each row
|
|
135
|
+
* @returns New array of transformed values
|
|
136
|
+
*/
|
|
137
|
+
map(callback) {
|
|
138
|
+
return this.rawData.map(callback);
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Filter aggregation rows.
|
|
142
|
+
* @param predicate - Function to test each row
|
|
143
|
+
* @returns New array of rows that pass the test
|
|
144
|
+
*/
|
|
145
|
+
filter(predicate) {
|
|
146
|
+
return this.rawData.filter(predicate);
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Make the response iterable for use in for...of loops.
|
|
150
|
+
*/
|
|
151
|
+
[Symbol.iterator]() {
|
|
152
|
+
return this.rawData[Symbol.iterator]();
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Get all unique values for a specific group field across all rows.
|
|
156
|
+
* @param groupField - The group field name
|
|
157
|
+
* @returns Array of unique values (excluding null/undefined)
|
|
158
|
+
*/
|
|
159
|
+
getUniqueGroupValues(groupField) {
|
|
160
|
+
const values = new Set();
|
|
161
|
+
this.rawData.forEach(row => {
|
|
162
|
+
const value = row[groupField];
|
|
163
|
+
if (value !== null && value !== undefined) {
|
|
164
|
+
values.add(value);
|
|
165
|
+
}
|
|
166
|
+
});
|
|
167
|
+
return Array.from(values);
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Calculate the sum of a specific aggregation across all rows.
|
|
171
|
+
* Useful for totaling aggregated values.
|
|
172
|
+
* @param aggregationType - The aggregation type
|
|
173
|
+
* @param aggregationField - The field that was aggregated
|
|
174
|
+
* @returns Sum of the aggregation values, or 0 if no valid values
|
|
175
|
+
*/
|
|
176
|
+
sumAggregation(aggregationType, aggregationField) {
|
|
177
|
+
const fieldName = this.getAggregationFieldName(aggregationType, aggregationField);
|
|
178
|
+
return this.rawData.reduce((sum, row) => {
|
|
179
|
+
const value = row[fieldName];
|
|
180
|
+
return sum + (typeof value === 'number' ? value : 0);
|
|
181
|
+
}, 0);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
26
184
|
// ================================================================================
|
|
27
185
|
// DATA AGGREGATION FUNCTIONS
|
|
28
186
|
// ================================================================================
|
|
@@ -31,10 +189,10 @@ import { sandboxKey, serviceAddress, getAuthToken } from './sdk-general';
|
|
|
31
189
|
* Supports filtering, grouping with transforms, sorting, and multiple aggregations.
|
|
32
190
|
*
|
|
33
191
|
* @param request - Aggregation configuration including dataElementId, parent scope, groups, aggregations
|
|
34
|
-
* @returns Promise<AggregationResponse>
|
|
192
|
+
* @returns Promise<AggregationResponse> - A class instance providing structured access to aggregated data
|
|
35
193
|
*
|
|
36
194
|
* @example
|
|
37
|
-
* const
|
|
195
|
+
* const result = await getAggregateData({
|
|
38
196
|
* dataElementId: 'order',
|
|
39
197
|
* parentDataElementId: 'company',
|
|
40
198
|
* parentKey: orgProxyKey,
|
|
@@ -50,6 +208,14 @@ import { sandboxKey, serviceAddress, getAuthToken } from './sdk-general';
|
|
|
50
208
|
* aggregationField: 'totalAmount'
|
|
51
209
|
* }]
|
|
52
210
|
* });
|
|
211
|
+
*
|
|
212
|
+
* // Access aggregation values
|
|
213
|
+
* const count = result.getAggregationValue({ status: 'Draft' }, 'Count', 'objKey');
|
|
214
|
+
*
|
|
215
|
+
* // Iterate over results
|
|
216
|
+
* for (const row of result) {
|
|
217
|
+
* console.log(row.status, result.getAggregation(row, 'Sum', 'totalAmount'));
|
|
218
|
+
* }
|
|
53
219
|
*/
|
|
54
220
|
export async function getAggregateData(request) {
|
|
55
221
|
if (!getAuthToken) {
|
|
@@ -66,7 +232,7 @@ export async function getAggregateData(request) {
|
|
|
66
232
|
console.log("Sending POST request to " + url + " with token " + authToken);
|
|
67
233
|
// Make the API request
|
|
68
234
|
let response = await axios.post(url, request, { headers });
|
|
69
|
-
return response.data;
|
|
235
|
+
return new AggregationResponse(response.data.data);
|
|
70
236
|
}
|
|
71
237
|
/**
|
|
72
238
|
* Observable version of getAggregateData. See getAggregateData for details.
|
|
@@ -76,7 +242,10 @@ export async function getAggregateData(request) {
|
|
|
76
242
|
* dataElementId: 'order',
|
|
77
243
|
* groups: [{ groupField: 'status', groupDirection: 'asc' }],
|
|
78
244
|
* aggregations: [{ aggregation: 'Count', aggregationField: 'objKey' }]
|
|
79
|
-
* }).subscribe(
|
|
245
|
+
* }).subscribe(result => {
|
|
246
|
+
* console.log('Total rows:', result.length);
|
|
247
|
+
* result.forEach(row => console.log(result.getAggregation(row, 'Count', 'objKey')));
|
|
248
|
+
* });
|
|
80
249
|
*/
|
|
81
250
|
export function getAggregateDataAsObservable(request) {
|
|
82
251
|
return from(getAggregateData(request));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-aggregate.js","sourceRoot":"","sources":["../../src/data-aggregate.ts"],"names":[],"mappings":"AAAA,yBAAyB;AACzB,mCAAmC;AACnC,EAAE;AACF,oEAAoE;AACpE,0EAA0E;AAC1E,EAAE;AACF,6DAA6D;AAC7D,oDAAoD;AAEpD;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAc,aAAa,EAAE,MAAM,MAAM,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AA2HzE,mFAAmF;AACnF,6BAA6B;AAC7B,mFAAmF;AAEnF
|
|
1
|
+
{"version":3,"file":"data-aggregate.js","sourceRoot":"","sources":["../../src/data-aggregate.ts"],"names":[],"mappings":"AAAA,yBAAyB;AACzB,mCAAmC;AACnC,EAAE;AACF,oEAAoE;AACpE,0EAA0E;AAC1E,EAAE;AACF,6DAA6D;AAC7D,oDAAoD;AAEpD;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAc,aAAa,EAAE,MAAM,MAAM,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AA2HzE;;;;;GAKG;AACH,MAAM,OAAO,mBAAmB;IACpB,OAAO,CAAmB;IAElC,YAAY,IAAsB;QAC9B,IAAI,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACI,OAAO;QACV,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,IAAW,MAAM;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,KAAa;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACI,QAAQ,CAAC,GAAmB,EAAE,UAAkB;QACnD,OAAO,GAAG,CAAC,UAAU,CAAC,CAAC;IAC3B,CAAC;IAED;;;;;;;OAOG;IACI,cAAc,CAAC,GAAmB,EAAE,eAAyC,EAAE,gBAAwB;QAC1G,MAAM,SAAS,GAAG,IAAI,CAAC,uBAAuB,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;QAClF,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;OAKG;IACK,uBAAuB,CAAC,eAAuB,EAAE,KAAa;QAClE,OAAO,GAAG,eAAe,CAAC,WAAW,EAAE,IAAI,KAAK,EAAE,CAAC;IACvD,CAAC;IAED;;;;;;;;;;;;OAYG;IACI,YAAY,CAAC,YAA2C;QAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;YAC7B,OAAO,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,CAAC;QACxF,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACI,mBAAmB,CACtB,YAA2C,EAC3C,eAAyC,EACzC,gBAAwB;QAExB,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/C,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,eAAe,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACzF,CAAC;IAED;;;OAGG;IACI,OAAO,CAAC,QAAsD;QACjE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED;;;;OAIG;IACI,GAAG,CAAI,QAAmD;QAC7D,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,SAA0D;QACpE,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACI,CAAC,MAAM,CAAC,QAAQ,CAAC;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACI,oBAAoB,CAAC,UAAkB;QAC1C,MAAM,MAAM,GAAG,IAAI,GAAG,EAAO,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACvB,MAAM,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC;YAC9B,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED;;;;;;OAMG;IACI,cAAc,CAAC,eAAyC,EAAE,gBAAwB;QACrF,MAAM,SAAS,GAAG,IAAI,CAAC,uBAAuB,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;QAClF,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACpC,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;YAC7B,OAAO,GAAG,GAAG,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,CAAC,EAAE,CAAC,CAAC,CAAC;IACV,CAAC;CACJ;AAED,mFAAmF;AACnF,6BAA6B;AAC7B,mFAAmF;AAEnF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAA2B;IAC9D,IAAI,CAAC,YAAY,EAAE,CAAC;QAChB,MAAM,YAAY,GAAG,sBAAsB,CAAC;QAC5C,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,GAAG,GAAG,GAAG,cAAc,cAAc,UAAU,gBAAgB,CAAC;IAEtE,0CAA0C;IAC1C,IAAI,SAAS,GAAG,MAAM,aAAa,CAAC,YAAY,EAAE,CAAC,CAAC;IACpD,IAAI,OAAO,GAAQ;QACf,aAAa,EAAE,UAAU,SAAS,EAAE;KACvC,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,0BAA0B,GAAG,GAAG,GAAG,cAAc,GAAG,SAAS,CAAC,CAAC;IAE3E,uBAAuB;IACvB,IAAI,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAE3D,OAAO,IAAI,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvD,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,4BAA4B,CAAC,OAA2B;IACpE,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;AAC3C,CAAC"}
|
package/lib/esm/data-crud.js
CHANGED
|
@@ -64,7 +64,7 @@ export function getObjectAsObservable(dataElementId, key, fetchedRelationships)
|
|
|
64
64
|
* @param parentElementId - Parent element ID
|
|
65
65
|
* @param parentKey - Parent object key
|
|
66
66
|
* @param elementId - Child element ID
|
|
67
|
-
* @param filter - Optional filter
|
|
67
|
+
* @param filter - Optional filter; call `dataexpr_agent` to generate the filter expression.
|
|
68
68
|
* @param fetchedRelationships - Optional relationships to include as nested objects
|
|
69
69
|
* @returns Promise<any[]>
|
|
70
70
|
*/
|
package/lib/esm/data-crud.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-crud.js","sourceRoot":"","sources":["../../src/data-crud.ts"],"names":[],"mappings":"AAAA,yBAAyB;AACzB,mCAAmC;AACnC,EAAE;AACF,oEAAoE;AACpE,0EAA0E;AAC1E,EAAE;AACF,6DAA6D;AAC7D,oDAAoD;AAEpD;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAc,aAAa,EAAE,MAAM,MAAM,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"data-crud.js","sourceRoot":"","sources":["../../src/data-crud.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,yBAAyB;AACzB,mCAAmC;AACnC,EAAE;AACF,oEAAoE;AACpE,0EAA0E;AAC1E,EAAE;AACF,6DAA6D;AAC7D,oDAAoD;AAEpD;;;;GAIG;AAEH,mFAAmF;AACnF,sDAAsD;AACtD,mFAAmF;AAEnF,OAAO;AACH,UAAU;AACV,YAAY,EACZ,UAAU,EACV,cAAc,EACd,aAAa,EACb,WAAW,EACX,MAAM,EACN,OAAO;AAEP,iBAAiB;AACjB,UAAU;AAkBV,mBAAmB;AACnB,sBAAsB,EACtB,oBAAoB,EACvB,MAAM,eAAe,CAAC;AAEvB,mFAAmF;AACnF,sBAAsB;AACtB,mFAAmF;AAEnF,OAAO;AAIH,iBAAiB;AACjB,SAAS,EACT,qBAAqB,EACrB,iBAAiB,EACjB,6BAA6B;AAE7B,YAAY;AACZ,iBAAiB,EACjB,6BAA6B;AAE7B,cAAc;AACd,mBAAmB,EACnB,+BAA+B,EAC/B,oBAAoB,EACpB,gCAAgC,EACnC,MAAM,aAAa,CAAC;AAErB,mFAAmF;AACnF,oBAAoB;AACpB,mFAAmF;AAEnF,OAAO;AAIH,oBAAoB;AACpB,mBAAmB,EACnB,+BAA+B,EAC/B,YAAY,EACZ,wBAAwB,EACxB,gBAAgB,EAChB,4BAA4B,EAC5B,sBAAsB,EACtB,kCAAkC,EACrC,MAAM,WAAW,CAAC;AAEnB,mFAAmF;AACnF,sBAAsB;AACtB,mFAAmF;AAEnF,OAAO;AACH,kBAAkB;AAClB,aAAa;AAKb,sBAAsB;AACtB,WAAW,EACX,uBAAuB,EAC1B,MAAM,aAAa,CAAC;AAErB,mFAAmF;AACnF,uBAAuB;AACvB,mFAAmF;AAEnF,OAAO;AACH,uBAAuB;AACvB,aAAa,EACb,yBAAyB,EAC5B,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,yBAAyB;AACzB,mCAAmC;AACnC,EAAE;AACF,oEAAoE;AACpE,0EAA0E;AAC1E,EAAE;AACF,6DAA6D;AAC7D,oDAAoD;AAEpD;;;;GAIG;AAEH,mFAAmF;AACnF,sDAAsD;AACtD,mFAAmF;AAEnF,OAAO;AACH,UAAU;AACV,YAAY,EACZ,UAAU,EACV,cAAc,EACd,aAAa,EACb,WAAW,EACX,MAAM,EACN,OAAO;AAEP,iBAAiB;AACjB,UAAU;AAkBV,mBAAmB;AACnB,sBAAsB,EACtB,oBAAoB,EACvB,MAAM,eAAe,CAAC;AAEvB,mFAAmF;AACnF,sBAAsB;AACtB,mFAAmF;AAEnF,OAAO;AAIH,iBAAiB;AACjB,SAAS,EACT,qBAAqB,EACrB,iBAAiB,EACjB,6BAA6B;AAE7B,YAAY;AACZ,iBAAiB,EACjB,6BAA6B;AAE7B,cAAc;AACd,mBAAmB,EACnB,+BAA+B,EAC/B,oBAAoB,EACpB,gCAAgC,EACnC,MAAM,aAAa,CAAC;AAErB,mFAAmF;AACnF,oBAAoB;AACpB,mFAAmF;AAEnF,OAAO;AAIH,oBAAoB;AACpB,mBAAmB,EACnB,+BAA+B,EAC/B,YAAY,EACZ,wBAAwB,EACxB,gBAAgB,EAChB,4BAA4B,EAC5B,sBAAsB,EACtB,kCAAkC,EACrC,MAAM,WAAW,CAAC;AAEnB,mFAAmF;AACnF,sBAAsB;AACtB,mFAAmF;AAEnF,OAAO;AACH,kBAAkB;AAClB,aAAa;AAKb,sBAAsB;AACtB,WAAW,EACX,uBAAuB,EAC1B,MAAM,aAAa,CAAC;AAErB,mFAAmF;AACnF,uBAAuB;AACvB,mFAAmF;AAEnF,OAAO;AACH,uBAAuB;AACvB,aAAa,EACb,yBAAyB,EAC5B,MAAM,eAAe,CAAC;AAEvB,mFAAmF;AACnF,sBAAsB;AACtB,mFAAmF;AAEnF,OAAO;AAcH,YAAY;AACZ,WAAW,EACX,uBAAuB,EACvB,QAAQ,EACR,oBAAoB,EACpB,UAAU,EACV,sBAAsB,EACzB,MAAM,SAAS,CAAC;AAEjB,mFAAmF;AACnF,2BAA2B;AAC3B,mFAAmF;AAEnF,OAAO;AACH,UAAU;AACV,mBAAmB;AAYnB,YAAY;AACZ,gBAAgB,EAChB,4BAA4B,EAC/B,MAAM,kBAAkB,CAAC;AAE1B,mFAAmF;AACnF,oBAAoB;AACpB,mFAAmF;AAEnF,OAAO,EACH,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,UAAU,EACb,MAAM,aAAa,CAAC"}
|
package/lib/esm/index.mjs
CHANGED
|
@@ -61,6 +61,8 @@ getListData, getListDataAsObservable, massEdit, massEditAsObservable, massDelete
|
|
|
61
61
|
// DATA AGGREGATE FUNCTIONS
|
|
62
62
|
// ================================================================================
|
|
63
63
|
export {
|
|
64
|
+
// Classes
|
|
65
|
+
AggregationResponse,
|
|
64
66
|
// Functions
|
|
65
67
|
getAggregateData, getAggregateDataAsObservable } from './data-aggregate';
|
|
66
68
|
// ================================================================================
|
package/lib/esm/lists.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lists.js","sourceRoot":"","sources":["../../src/lists.ts"],"names":[],"mappings":"AAAA,yBAAyB;AACzB,mCAAmC;AACnC,EAAE;AACF,oEAAoE;AACpE,0EAA0E;AAC1E,EAAE;AACF,6DAA6D;AAC7D,oDAAoD;AAEpD;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAc,aAAa,EAAE,MAAM,MAAM,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"lists.js","sourceRoot":"","sources":["../../src/lists.ts"],"names":[],"mappings":"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"}
|
|
@@ -62,20 +62,20 @@ export interface AggregationRequest {
|
|
|
62
62
|
* The ID of the parent data element that defines the overall scope of records.
|
|
63
63
|
* The dataElementId must be related to this through a foreign key or key array.
|
|
64
64
|
*/
|
|
65
|
-
parentDataElementId
|
|
65
|
+
parentDataElementId: string;
|
|
66
66
|
/**
|
|
67
67
|
* The key of a parent object that all records must be related to.
|
|
68
68
|
* Works with parentDataElementId to scope results.
|
|
69
69
|
*/
|
|
70
|
-
parentKey
|
|
70
|
+
parentKey: string;
|
|
71
71
|
/**
|
|
72
72
|
* Optional field to specify the foreign key field on the data element that defines
|
|
73
73
|
* the relationship to the parent. If omitted, a derived key is assumed.
|
|
74
74
|
*/
|
|
75
75
|
parentKeyField?: string;
|
|
76
76
|
/**
|
|
77
|
-
* Filter expression to limit records before aggregation.
|
|
78
|
-
*
|
|
77
|
+
* Filter expression to limit records before aggregation. Call `dataexpr_agent` to generate the
|
|
78
|
+
* filter expression.
|
|
79
79
|
*/
|
|
80
80
|
filter?: string;
|
|
81
81
|
/**
|
|
@@ -94,21 +94,138 @@ export interface AggregationRequest {
|
|
|
94
94
|
aggregations: Aggregation[];
|
|
95
95
|
}
|
|
96
96
|
/**
|
|
97
|
-
*
|
|
97
|
+
* AggregationRow represents a single row in the aggregated results.
|
|
98
|
+
* Contains dynamic fields for groups and aggregations.
|
|
98
99
|
*/
|
|
99
|
-
export interface
|
|
100
|
-
|
|
101
|
-
|
|
100
|
+
export interface AggregationRow {
|
|
101
|
+
[key: string]: any;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* AggregationResponse provides structured access to aggregated data results.
|
|
105
|
+
* Each row contains:
|
|
106
|
+
* - Group fields named after their groupField property
|
|
107
|
+
* - Aggregation fields named as {aggregationType}_{aggregationField} (e.g., "count_objKey", "sum_totalAmount")
|
|
108
|
+
*/
|
|
109
|
+
export declare class AggregationResponse {
|
|
110
|
+
private rawData;
|
|
111
|
+
constructor(data: AggregationRow[]);
|
|
112
|
+
/**
|
|
113
|
+
* Get the raw data array.
|
|
114
|
+
* @returns Array of aggregation result rows
|
|
115
|
+
*/
|
|
116
|
+
getData(): AggregationRow[];
|
|
117
|
+
/**
|
|
118
|
+
* Get the number of rows in the aggregated results.
|
|
119
|
+
*/
|
|
120
|
+
get length(): number;
|
|
121
|
+
/**
|
|
122
|
+
* Get a specific row by index.
|
|
123
|
+
* @param index - The row index
|
|
124
|
+
* @returns The row at the specified index, or undefined if out of bounds
|
|
125
|
+
*/
|
|
126
|
+
getRow(index: number): AggregationRow | undefined;
|
|
127
|
+
/**
|
|
128
|
+
* Get a group field value from a specific row.
|
|
129
|
+
* @param row - The aggregation row
|
|
130
|
+
* @param groupField - The name of the group field
|
|
131
|
+
* @returns The group field value
|
|
132
|
+
*/
|
|
133
|
+
getGroup(row: AggregationRow, groupField: string): any;
|
|
134
|
+
/**
|
|
135
|
+
* Get an aggregation value from a specific row.
|
|
136
|
+
* Handles case-insensitive aggregation type matching.
|
|
137
|
+
* @param row - The aggregation row
|
|
138
|
+
* @param aggregationType - The aggregation type (case-insensitive: 'Count', 'Sum', 'Average', etc.)
|
|
139
|
+
* @param aggregationField - The field that was aggregated
|
|
140
|
+
* @returns The aggregation value
|
|
141
|
+
*/
|
|
142
|
+
getAggregation(row: AggregationRow, aggregationType: AggregationType | string, aggregationField: string): any;
|
|
143
|
+
/**
|
|
144
|
+
* Build the aggregation field name from type and field.
|
|
145
|
+
* @param aggregationType - The aggregation type (case-insensitive)
|
|
146
|
+
* @param field - The field name
|
|
147
|
+
* @returns The aggregation field name in the format {type}_{field}
|
|
148
|
+
*/
|
|
149
|
+
private getAggregationFieldName;
|
|
150
|
+
/**
|
|
151
|
+
* Find rows matching specific group values.
|
|
152
|
+
* @param groupFilters - Object with group field names as keys and desired values
|
|
153
|
+
* @returns Array of matching rows
|
|
154
|
+
*
|
|
155
|
+
* @example
|
|
156
|
+
* // Find all rows where status is "Draft"
|
|
157
|
+
* response.findByGroups({ status: 'Draft' })
|
|
158
|
+
*
|
|
159
|
+
* @example
|
|
160
|
+
* // Find rows where status is "Draft" and homeLanguage is "English"
|
|
161
|
+
* response.findByGroups({ status: 'Draft', homeLanguage: 'English' })
|
|
162
|
+
*/
|
|
163
|
+
findByGroups(groupFilters: {
|
|
164
|
+
[groupField: string]: any;
|
|
165
|
+
}): AggregationRow[];
|
|
166
|
+
/**
|
|
167
|
+
* Get a specific aggregation value for rows matching group filters.
|
|
168
|
+
* @param groupFilters - Object with group field names as keys and desired values
|
|
169
|
+
* @param aggregationType - The aggregation type (case-insensitive)
|
|
170
|
+
* @param aggregationField - The field that was aggregated
|
|
171
|
+
* @returns The aggregation value from the first matching row, or undefined if no match
|
|
172
|
+
*
|
|
173
|
+
* @example
|
|
174
|
+
* // Get count of objKey for Draft status and English homeLanguage
|
|
175
|
+
* response.getAggregationValue(
|
|
176
|
+
* { status: 'Draft', homeLanguage: 'English' },
|
|
177
|
+
* 'Count',
|
|
178
|
+
* 'objKey'
|
|
179
|
+
* )
|
|
180
|
+
*/
|
|
181
|
+
getAggregationValue(groupFilters: {
|
|
182
|
+
[groupField: string]: any;
|
|
183
|
+
}, aggregationType: AggregationType | string, aggregationField: string): any;
|
|
184
|
+
/**
|
|
185
|
+
* Iterate over all rows with a callback function.
|
|
186
|
+
* @param callback - Function to execute for each row
|
|
187
|
+
*/
|
|
188
|
+
forEach(callback: (row: AggregationRow, index: number) => void): void;
|
|
189
|
+
/**
|
|
190
|
+
* Map aggregation rows to a new array.
|
|
191
|
+
* @param callback - Function to transform each row
|
|
192
|
+
* @returns New array of transformed values
|
|
193
|
+
*/
|
|
194
|
+
map<T>(callback: (row: AggregationRow, index: number) => T): T[];
|
|
195
|
+
/**
|
|
196
|
+
* Filter aggregation rows.
|
|
197
|
+
* @param predicate - Function to test each row
|
|
198
|
+
* @returns New array of rows that pass the test
|
|
199
|
+
*/
|
|
200
|
+
filter(predicate: (row: AggregationRow, index: number) => boolean): AggregationRow[];
|
|
201
|
+
/**
|
|
202
|
+
* Make the response iterable for use in for...of loops.
|
|
203
|
+
*/
|
|
204
|
+
[Symbol.iterator](): Iterator<AggregationRow>;
|
|
205
|
+
/**
|
|
206
|
+
* Get all unique values for a specific group field across all rows.
|
|
207
|
+
* @param groupField - The group field name
|
|
208
|
+
* @returns Array of unique values (excluding null/undefined)
|
|
209
|
+
*/
|
|
210
|
+
getUniqueGroupValues(groupField: string): any[];
|
|
211
|
+
/**
|
|
212
|
+
* Calculate the sum of a specific aggregation across all rows.
|
|
213
|
+
* Useful for totaling aggregated values.
|
|
214
|
+
* @param aggregationType - The aggregation type
|
|
215
|
+
* @param aggregationField - The field that was aggregated
|
|
216
|
+
* @returns Sum of the aggregation values, or 0 if no valid values
|
|
217
|
+
*/
|
|
218
|
+
sumAggregation(aggregationType: AggregationType | string, aggregationField: string): number;
|
|
102
219
|
}
|
|
103
220
|
/**
|
|
104
221
|
* Performs data aggregation operations (count, sum, average, etc.) on grouped data.
|
|
105
222
|
* Supports filtering, grouping with transforms, sorting, and multiple aggregations.
|
|
106
223
|
*
|
|
107
224
|
* @param request - Aggregation configuration including dataElementId, parent scope, groups, aggregations
|
|
108
|
-
* @returns Promise<AggregationResponse>
|
|
225
|
+
* @returns Promise<AggregationResponse> - A class instance providing structured access to aggregated data
|
|
109
226
|
*
|
|
110
227
|
* @example
|
|
111
|
-
* const
|
|
228
|
+
* const result = await getAggregateData({
|
|
112
229
|
* dataElementId: 'order',
|
|
113
230
|
* parentDataElementId: 'company',
|
|
114
231
|
* parentKey: orgProxyKey,
|
|
@@ -124,6 +241,14 @@ export interface AggregationResponse {
|
|
|
124
241
|
* aggregationField: 'totalAmount'
|
|
125
242
|
* }]
|
|
126
243
|
* });
|
|
244
|
+
*
|
|
245
|
+
* // Access aggregation values
|
|
246
|
+
* const count = result.getAggregationValue({ status: 'Draft' }, 'Count', 'objKey');
|
|
247
|
+
*
|
|
248
|
+
* // Iterate over results
|
|
249
|
+
* for (const row of result) {
|
|
250
|
+
* console.log(row.status, result.getAggregation(row, 'Sum', 'totalAmount'));
|
|
251
|
+
* }
|
|
127
252
|
*/
|
|
128
253
|
export declare function getAggregateData(request: AggregationRequest): Promise<AggregationResponse>;
|
|
129
254
|
/**
|
|
@@ -134,6 +259,9 @@ export declare function getAggregateData(request: AggregationRequest): Promise<A
|
|
|
134
259
|
* dataElementId: 'order',
|
|
135
260
|
* groups: [{ groupField: 'status', groupDirection: 'asc' }],
|
|
136
261
|
* aggregations: [{ aggregation: 'Count', aggregationField: 'objKey' }]
|
|
137
|
-
* }).subscribe(
|
|
262
|
+
* }).subscribe(result => {
|
|
263
|
+
* console.log('Total rows:', result.length);
|
|
264
|
+
* result.forEach(row => console.log(result.getAggregation(row, 'Count', 'objKey')));
|
|
265
|
+
* });
|
|
138
266
|
*/
|
|
139
267
|
export declare function getAggregateDataAsObservable(request: AggregationRequest): Observable<AggregationResponse>;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Observable } from 'rxjs';
|
|
2
|
-
import { FilterExpression } from './filter-expressions';
|
|
3
2
|
/**
|
|
4
3
|
* SaveOptions is an interface for specifying save operation options.
|
|
5
4
|
*/
|
|
@@ -23,15 +22,15 @@ export declare function getObjectAsObservable(dataElementId: string, key: string
|
|
|
23
22
|
* @param parentElementId - Parent element ID
|
|
24
23
|
* @param parentKey - Parent object key
|
|
25
24
|
* @param elementId - Child element ID
|
|
26
|
-
* @param filter - Optional filter
|
|
25
|
+
* @param filter - Optional filter; call `dataexpr_agent` to generate the filter expression.
|
|
27
26
|
* @param fetchedRelationships - Optional relationships to include as nested objects
|
|
28
27
|
* @returns Promise<any[]>
|
|
29
28
|
*/
|
|
30
|
-
export declare function getRelatedObjects(parentElementId: string, parentKey: string, elementId: string, filter?:
|
|
29
|
+
export declare function getRelatedObjects(parentElementId: string, parentKey: string, elementId: string, filter?: string, fetchedRelationships?: string[]): Promise<any[]>;
|
|
31
30
|
/**
|
|
32
31
|
* Observable version of getRelatedObjects. See getRelatedObjects for details.
|
|
33
32
|
*/
|
|
34
|
-
export declare function getRelatedObjectsAsObservable(parentElementId: string, parentKey: string, elementId: string, filter?:
|
|
33
|
+
export declare function getRelatedObjectsAsObservable(parentElementId: string, parentKey: string, elementId: string, filter?: string, fetchedRelationships?: string[]): Observable<any[]>;
|
|
35
34
|
/**
|
|
36
35
|
* Saves a related object and establishes relationship to parent. Returns saved object with any server-assigned values (objKey, calculated fields).
|
|
37
36
|
*
|
package/lib/esm/types/index.d.ts
CHANGED
|
@@ -8,7 +8,6 @@ export { type SaveOptions, getObject, getObjectAsObservable, getRelatedObjects,
|
|
|
8
8
|
export { type ContentResource, getOrCreateResource, getOrCreateResourceAsObservable, saveResource, saveResourceAsObservable, sendFileContents, sendFileContentsAsObservable, createOrUpdateResource, createOrUpdateResourceAsObservable } from './content';
|
|
9
9
|
export { MessageMethod, type MessageRequest, sendMessage, sendMessageAsObservable } from './messaging';
|
|
10
10
|
export { getPreference, getPreferenceAsObservable } from './preferences';
|
|
11
|
-
export { type FilterExpression } from './filter-expressions';
|
|
12
11
|
export { type SortField, type DataSortField, type BaseListDataRequest, type PagedListDataRequest, type ListDataResponse, type ListDataOptions, type ListDataSearchOptions, type MassEditValueType, type MassEditRequest, type MassDeleteRequest, type MassChangeResponse, getListData, getListDataAsObservable, massEdit, massEditAsObservable, massDelete, massDeleteAsObservable } from './lists';
|
|
13
|
-
export { type AggregationRequest, type
|
|
12
|
+
export { AggregationResponse, type AggregationRequest, type AggregationRow, type AggregationGroup, type AggregationSort, type Aggregation, type AggregationGroupTransform, type TransformType, type AggregationType, getAggregateData, getAggregateDataAsObservable } from './data-aggregate';
|
|
14
13
|
export { sortObjectArray, compareValues, getValueFromObject, debounceFn } from './utilities';
|
package/lib/esm/types/lists.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Observable } from 'rxjs';
|
|
2
|
-
import { FilterExpression } from './filter-expressions';
|
|
3
2
|
/**
|
|
4
3
|
* SortField is an interface for specifying sort fields.
|
|
5
4
|
*/
|
|
@@ -60,9 +59,9 @@ export interface BaseListDataRequest {
|
|
|
60
59
|
childKeysField?: string;
|
|
61
60
|
/**
|
|
62
61
|
* Filter expression to limit results. Evaluated within the parent key scope.
|
|
63
|
-
*
|
|
62
|
+
* Call `dataexpr_agent` to generate the filter expression.
|
|
64
63
|
*/
|
|
65
|
-
filter?:
|
|
64
|
+
filter?: string;
|
|
66
65
|
/**
|
|
67
66
|
* List of fields being displayed on the list. Only these fields are populated in
|
|
68
67
|
* returned objects to reduce payload size. If fields include relationship paths,
|
package/package.json
CHANGED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// Halix SDK License v1.0
|
|
3
|
-
// Copyright (c) 2025 halix.io LLC.
|
|
4
|
-
//
|
|
5
|
-
// This source code is licensed for use **only** within applications
|
|
6
|
-
// running on the Halix platform, in accordance with Halix SDK guidelines.
|
|
7
|
-
//
|
|
8
|
-
// Unauthorized use outside the Halix platform is prohibited.
|
|
9
|
-
// Full license terms available in the LICENSE file.
|
|
10
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module @halix/action-sdk/filter-expressions
|
|
3
|
-
* @description Filter expression language (dataexpr format) used throughout the SDK for filtering
|
|
4
|
-
* data in queries.
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* FilterExpression represents a filter expression string in the Halix dataexpr format.
|
|
8
|
-
* Used to filter data based on logical comparisons and boolean conditions.
|
|
9
|
-
*
|
|
10
|
-
* ## Basic Forms
|
|
11
|
-
* ```
|
|
12
|
-
* <left> <operator> <right>
|
|
13
|
-
* (<expression1>) AND (<expression2>)
|
|
14
|
-
* (<expression1>) OR (<expression2>)
|
|
15
|
-
* ```
|
|
16
|
-
* Combine comparisons with AND/OR. Each operand must be in parentheses.
|
|
17
|
-
*
|
|
18
|
-
* ## Supported Operators
|
|
19
|
-
*
|
|
20
|
-
* | Operator | Description | Example |
|
|
21
|
-
* |----------|-------------|---------|
|
|
22
|
-
* | `=` | Equals | `status = 'active'` |
|
|
23
|
-
* | `!=` | Not equals | `status != 'closed'` |
|
|
24
|
-
* | `~` | Equals (case-insensitive) | `name ~ 'ADMIN'` |
|
|
25
|
-
* | `!~` | Not equals (case-insensitive) | `role !~ 'ADMIN'` |
|
|
26
|
-
* | `<` | Less than | `score < '80'` |
|
|
27
|
-
* | `>` | Greater than | `score > '90'` |
|
|
28
|
-
* | `<=` | Less than or equal to | `score <= '90'` |
|
|
29
|
-
* | `>=` | Greater than or equal to | `score >= '70'` |
|
|
30
|
-
* | `!>` | Begins with | `name !> 'Jo'` |
|
|
31
|
-
* | `<!` | Ends with | `email <! '@example.com'` |
|
|
32
|
-
* | `<>` | Contains (string or array) | `tags <> 'urgent'` |
|
|
33
|
-
* | `!<>` | Does not contain | `tags !<> 'archived'` |
|
|
34
|
-
* | `<empty> $void` | Value is empty | `notes <empty> $void` |
|
|
35
|
-
* | `!<empty> $void` | Value is not empty | `notes !<empty> $void` |
|
|
36
|
-
*
|
|
37
|
-
* ## Value Types
|
|
38
|
-
* - **String literals**: `'value'` (single quotes required)
|
|
39
|
-
* - **Attribute references**: `status`, `score` (no quotes)
|
|
40
|
-
* - **Arrays**: `['A', 'B', 'C']`
|
|
41
|
-
* - **Variables**: `$today`, `$daysAgo:5`
|
|
42
|
-
* - **Page/group variables**: `'@{page.fieldName}'` (quoted)
|
|
43
|
-
*
|
|
44
|
-
* ## Time Variables
|
|
45
|
-
* - `$today`, `$todayTimestamp`, `$todayUnixTimestamp`
|
|
46
|
-
* - `$startOfMonth`, `$endOfMonth`
|
|
47
|
-
* - `$yearsAgo:N`, `$monthsAgo:N`, `$weeksAgo:N`, `$daysAgo:N`, `$hoursAgo:N`, `$minutesAgo:N`, `$secondsAgo:N`
|
|
48
|
-
* - `$yearsAhead:N`, `$monthsAhead:N`, `$weeksAhead:N`, `$daysAhead:N`, `$hoursAhead:N`, `$minutesAhead:N`, `$secondsAhead:N`
|
|
49
|
-
*
|
|
50
|
-
* ## Examples
|
|
51
|
-
* ```typescript
|
|
52
|
-
* // Simple comparison
|
|
53
|
-
* "status = 'active'"
|
|
54
|
-
*
|
|
55
|
-
* // Case-insensitive
|
|
56
|
-
* "role ~ 'ADMIN'"
|
|
57
|
-
*
|
|
58
|
-
* // Contains
|
|
59
|
-
* "notes <> 'important'"
|
|
60
|
-
*
|
|
61
|
-
* // Array contains
|
|
62
|
-
* "['pending', 'active'] <> status"
|
|
63
|
-
*
|
|
64
|
-
* // Not empty
|
|
65
|
-
* "notes !<empty> $void"
|
|
66
|
-
*
|
|
67
|
-
* // Compound with AND/OR
|
|
68
|
-
* "(status = 'active') AND (priority = 'high')"
|
|
69
|
-
* "(status = 'active') AND ((score > '90') OR (grade = 'A'))"
|
|
70
|
-
*
|
|
71
|
-
* // Time-based
|
|
72
|
-
* "createdAt > $daysAgo:30"
|
|
73
|
-
*
|
|
74
|
-
* // Boolean
|
|
75
|
-
* "enabled = boolean:true"
|
|
76
|
-
*
|
|
77
|
-
* // Page variables
|
|
78
|
-
* "category = '@{page.selectedCategory.value}'"
|
|
79
|
-
* ```
|
|
80
|
-
*/
|
|
81
|
-
export type FilterExpression = string;
|
|
82
|
-
//# sourceMappingURL=filter-expressions.d.ts.map
|