ag-grid-url-sync 0.5.0 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/README.md +110 -55
  2. package/dist/core/ag-grid-url-sync.d.ts +10 -9
  3. package/dist/core/ag-grid-url-sync.js +23 -19
  4. package/dist/core/ag-grid-url-sync.js.map +1 -1
  5. package/dist/core/grid-integration.d.ts +27 -1
  6. package/dist/core/grid-integration.js +161 -129
  7. package/dist/core/grid-integration.js.map +1 -1
  8. package/dist/core/index.d.ts +2 -1
  9. package/dist/core/index.js +2 -1
  10. package/dist/core/index.js.map +1 -1
  11. package/dist/core/individual-params.d.ts +12 -5
  12. package/dist/core/individual-params.js +38 -62
  13. package/dist/core/individual-params.js.map +1 -1
  14. package/dist/core/issue-columns.d.ts +2 -0
  15. package/dist/core/issue-columns.js +11 -0
  16. package/dist/core/issue-columns.js.map +1 -0
  17. package/dist/core/issues.d.ts +34 -0
  18. package/dist/core/issues.js +58 -0
  19. package/dist/core/issues.js.map +1 -0
  20. package/dist/core/operators.d.ts +189 -0
  21. package/dist/core/operators.js +60 -0
  22. package/dist/core/operators.js.map +1 -0
  23. package/dist/core/options.d.ts +21 -0
  24. package/dist/core/options.js +21 -0
  25. package/dist/core/options.js.map +1 -0
  26. package/dist/core/schemas.d.ts +51 -0
  27. package/dist/core/schemas.js +59 -0
  28. package/dist/core/schemas.js.map +1 -0
  29. package/dist/core/serialization/formats.d.ts +7 -7
  30. package/dist/core/serialization/formats.js +34 -28
  31. package/dist/core/serialization/formats.js.map +1 -1
  32. package/dist/core/serialization/grouped.d.ts +9 -12
  33. package/dist/core/serialization/grouped.js +24 -17
  34. package/dist/core/serialization/grouped.js.map +1 -1
  35. package/dist/core/to-error.d.ts +5 -0
  36. package/dist/core/to-error.js +4 -0
  37. package/dist/core/to-error.js.map +1 -0
  38. package/dist/core/types.d.ts +149 -43
  39. package/dist/core/types.js +35 -108
  40. package/dist/core/types.js.map +1 -1
  41. package/dist/core/url-generator.d.ts +4 -4
  42. package/dist/core/url-generator.js +9 -7
  43. package/dist/core/url-generator.js.map +1 -1
  44. package/dist/core/url-parser.d.ts +4 -4
  45. package/dist/core/url-parser.js +6 -4
  46. package/dist/core/url-parser.js.map +1 -1
  47. package/dist/core/validation.d.ts +21 -14
  48. package/dist/core/validation.js +58 -54
  49. package/dist/core/validation.js.map +1 -1
  50. package/dist/core/view-storage.js +21 -19
  51. package/dist/core/view-storage.js.map +1 -1
  52. package/dist/index.d.ts +2 -1
  53. package/dist/index.js +2 -1
  54. package/dist/index.js.map +1 -1
  55. package/dist/react/types.d.ts +31 -12
  56. package/dist/react/use-ag-grid-url-sync.js +148 -87
  57. package/dist/react/use-ag-grid-url-sync.js.map +1 -1
  58. package/package.json +22 -15
@@ -1,12 +1,19 @@
1
- import { InvalidFilterError, OPERATION_MAP, INTERNAL_TO_URL_OPERATION_MAP } from './types.js';
2
- import { validateFilterValue, validateAndParseNumber, validateNumberRange, validateAndParseDate, validateAndParseDateRange, validateDateFilter, DEFAULT_CONFIG } from './validation.js';
1
+ import { InvalidFilterError } from './types.js';
2
+ import { operatorById, operatorFromUrl, isOperationOnlyFor, isSharedOperation } from './operators.js';
3
+ import { validateFilterValue, validateAndParseNumber, parseExactNumber, validateNumberRange, validateAndParseDate, validateAndParseDateRange, validateDateFilter } from './validation.js';
4
+ import { DEFAULT_CONFIG, resolveOptions } from './options.js';
5
+ import { reportIssue, toIssue } from './issues.js';
3
6
  const FILTER_TYPES = {
4
7
  TEXT: 'text',
5
8
  NUMBER: 'number',
6
9
  DATE: 'date'
7
10
  };
11
+ export function resolveParamPrefix(paramPrefix) {
12
+ const prefix = paramPrefix || DEFAULT_CONFIG.paramPrefix;
13
+ return prefix.endsWith('_') ? prefix : `${prefix}_`;
14
+ }
8
15
  function serializeColumnFilter(columnName, filter, paramPrefix) {
9
- const urlOperation = INTERNAL_TO_URL_OPERATION_MAP[filter.type];
16
+ const urlOperation = operatorById(filter.type)?.url;
10
17
  if (!urlOperation)
11
18
  return null;
12
19
  const paramName = `${paramPrefix}${columnName}_${urlOperation}`;
@@ -28,7 +35,8 @@ function serializeColumnFilter(columnName, filter, paramPrefix) {
28
35
  }
29
36
  return null;
30
37
  }
31
- export function serializeFilters(filterState, config) {
38
+ export function serializeFilters(filterState, config = {}) {
39
+ const options = resolveOptions(config);
32
40
  const params = new URLSearchParams();
33
41
  for (const [column, filter] of Object.entries(filterState)) {
34
42
  if (filter.filterType !== FILTER_TYPES.TEXT &&
@@ -40,42 +48,21 @@ export function serializeFilters(filterState, config) {
40
48
  try {
41
49
  checkedFilter = {
42
50
  ...filter,
43
- filter: validateFilterValue(filter.filter, config, filter.type)
51
+ filter: validateFilterValue(filter.filter, options, filter.type)
44
52
  };
45
53
  }
46
54
  catch (error) {
47
- config.onParseError?.(error);
55
+ reportIssue(options, toIssue(error, 'INVALID_PARAM', column));
48
56
  continue;
49
57
  }
50
58
  }
51
- const param = serializeColumnFilter(column, checkedFilter, config.paramPrefix);
59
+ const param = serializeColumnFilter(column, checkedFilter, resolveParamPrefix(options.paramPrefix));
52
60
  if (param) {
53
61
  params.append(...param);
54
62
  }
55
63
  }
56
64
  return params;
57
65
  }
58
- function isNumberOperation(operation) {
59
- return [
60
- 'lessThan',
61
- 'lessThanOrEqual',
62
- 'greaterThan',
63
- 'greaterThanOrEqual',
64
- 'inRange'
65
- ].includes(operation);
66
- }
67
- function isDateOperation(operation) {
68
- return [
69
- 'dateBefore',
70
- 'dateBeforeOrEqual',
71
- 'dateAfter',
72
- 'dateAfterOrEqual',
73
- 'dateRange'
74
- ].includes(operation);
75
- }
76
- function isSharedOperation(operation) {
77
- return ['eq', 'notEqual', 'blank', 'notBlank'].includes(operation);
78
- }
79
66
  function tryParseAsDate(value) {
80
67
  try {
81
68
  validateAndParseDate(value);
@@ -85,14 +72,6 @@ function tryParseAsDate(value) {
85
72
  return null;
86
73
  }
87
74
  }
88
- function tryParseNumber(value) {
89
- try {
90
- return validateAndParseNumber(value);
91
- }
92
- catch {
93
- return null;
94
- }
95
- }
96
75
  function detectFilterTypeForSharedOperation(operation, value) {
97
76
  if (operation === 'blank' || operation === 'notBlank') {
98
77
  return 'text';
@@ -101,7 +80,7 @@ function detectFilterTypeForSharedOperation(operation, value) {
101
80
  if (tryParseAsDate(value) === 'date') {
102
81
  return 'date';
103
82
  }
104
- if (tryParseNumber(value) !== null) {
83
+ if (parseExactNumber(value) !== null) {
105
84
  return 'number';
106
85
  }
107
86
  return 'text';
@@ -109,15 +88,11 @@ function detectFilterTypeForSharedOperation(operation, value) {
109
88
  return 'text';
110
89
  }
111
90
  function extractColumnAndOperation(param, expectedPrefix) {
112
- const ensureTrailingUnderscore = (prefix) => prefix.endsWith('_') ? prefix : prefix + '_';
113
- const sanitizedPrefix = expectedPrefix
114
- ? ensureTrailingUnderscore(expectedPrefix)
115
- : ensureTrailingUnderscore(DEFAULT_CONFIG.paramPrefix);
116
- const prefixToCheck = sanitizedPrefix.slice(0, -1);
117
- if (!param.startsWith(prefixToCheck + '_')) {
91
+ const prefix = resolveParamPrefix(expectedPrefix);
92
+ if (!param.startsWith(prefix)) {
118
93
  throw new InvalidFilterError(`Invalid filter prefix in parameter: ${param}`);
119
94
  }
120
- const withoutPrefix = param.substring(prefixToCheck.length + 1);
95
+ const withoutPrefix = param.substring(prefix.length);
121
96
  const lastUnderscoreIndex = withoutPrefix.lastIndexOf('_');
122
97
  if (lastUnderscoreIndex === -1) {
123
98
  throw new InvalidFilterError(`Invalid filter parameter format: ${param}`);
@@ -134,7 +109,7 @@ export function parseFilterParam(param, value, expectedPrefix) {
134
109
  return parseFilterOperation(operation, value);
135
110
  }
136
111
  function parseFilterOperation(operation, value) {
137
- const filterOp = OPERATION_MAP[operation];
112
+ const filterOp = operatorFromUrl(operation)?.id;
138
113
  if (!filterOp) {
139
114
  throw new InvalidFilterError(`Unsupported filter operation: ${operation}`);
140
115
  }
@@ -149,19 +124,19 @@ function parseFilterOperation(operation, value) {
149
124
  };
150
125
  }
151
126
  catch (error) {
152
- throw new InvalidFilterError(error instanceof Error ? error.message : 'Invalid date range');
127
+ throw new InvalidFilterError(error instanceof Error ? error.message : 'Invalid date range', undefined, { code: 'INVALID_DATE' });
153
128
  }
154
129
  }
155
130
  if (filterOp === 'inRange') {
156
131
  const rangeParts = value.split(',');
157
132
  if (rangeParts.length !== 2) {
158
- throw new InvalidFilterError('Range operation requires exactly two values separated by comma');
133
+ throw new InvalidFilterError('Range operation requires exactly two values separated by comma', undefined, { code: 'INVALID_NUMBER' });
159
134
  }
160
135
  const min = validateAndParseNumber(rangeParts[0] || '');
161
136
  const max = validateAndParseNumber(rangeParts[1] || '');
162
137
  const rangeValidation = validateNumberRange(min, max);
163
138
  if (!rangeValidation.valid) {
164
- throw new InvalidFilterError(rangeValidation.error || 'Invalid range values');
139
+ throw new InvalidFilterError(rangeValidation.error || 'Invalid range values', undefined, { code: 'INVALID_NUMBER' });
165
140
  }
166
141
  return {
167
142
  filterType: 'number',
@@ -170,7 +145,7 @@ function parseFilterOperation(operation, value) {
170
145
  filterTo: max
171
146
  };
172
147
  }
173
- if (isDateOperation(filterOp)) {
148
+ if (isOperationOnlyFor(filterOp, 'date')) {
174
149
  try {
175
150
  const dateValue = validateAndParseDate(value);
176
151
  const validation = validateDateFilter(dateValue, filterOp);
@@ -184,10 +159,10 @@ function parseFilterOperation(operation, value) {
184
159
  };
185
160
  }
186
161
  catch (error) {
187
- throw new InvalidFilterError(error instanceof Error ? error.message : 'Invalid date filter');
162
+ throw new InvalidFilterError(error instanceof Error ? error.message : 'Invalid date filter', undefined, { code: 'INVALID_DATE' });
188
163
  }
189
164
  }
190
- if (isNumberOperation(filterOp)) {
165
+ if (isOperationOnlyFor(filterOp, 'number')) {
191
166
  const numValue = validateAndParseNumber(value);
192
167
  return {
193
168
  filterType: 'number',
@@ -210,7 +185,7 @@ function parseFilterOperation(operation, value) {
210
185
  }
211
186
  }
212
187
  if (detectedType === 'number') {
213
- const numValue = tryParseNumber(value);
188
+ const numValue = parseExactNumber(value);
214
189
  if (numValue !== null) {
215
190
  return {
216
191
  filterType: 'number',
@@ -232,29 +207,30 @@ function parseFilterOperation(operation, value) {
232
207
  };
233
208
  }
234
209
  export function parseIndividualParams(searchParams, config) {
235
- const filterState = {};
210
+ const filters = new Map();
211
+ const prefix = resolveParamPrefix(config.paramPrefix);
236
212
  for (const [param, value] of searchParams.entries()) {
237
- if (!param.startsWith(config.paramPrefix))
213
+ if (!param.startsWith(prefix))
238
214
  continue;
215
+ let columnName;
239
216
  try {
240
- const { column: columnName, operation } = extractColumnAndOperation(param, config.paramPrefix);
217
+ const parts = extractColumnAndOperation(param, prefix);
218
+ columnName = parts.column;
219
+ const { operation } = parts;
241
220
  const filterParam = parseFilterOperation(operation, value);
242
221
  if (filterParam.filterType === 'text') {
243
222
  const validatedValue = validateFilterValue(value, config, filterParam.type);
244
- filterState[columnName] = {
245
- ...filterParam,
246
- filter: validatedValue
247
- };
223
+ filters.set(parts.column, { ...filterParam, filter: validatedValue });
248
224
  }
249
225
  else {
250
- filterState[columnName] = filterParam;
226
+ filters.set(parts.column, filterParam);
251
227
  }
252
228
  }
253
229
  catch (error) {
254
- config.onParseError?.(error);
230
+ reportIssue(config, toIssue(error, 'INVALID_PARAM', columnName));
255
231
  continue;
256
232
  }
257
233
  }
258
- return filterState;
234
+ return Object.fromEntries(filters);
259
235
  }
260
236
  //# sourceMappingURL=individual-params.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"individual-params.js","sourceRoot":"","sources":["../../src/core/individual-params.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"individual-params.js","sourceRoot":"","sources":["../../src/core/individual-params.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ /** Sets the column of an issue. An issue that has a column keeps it. */
2
+ export declare function attachColumn(error: Error, column: string): void;
@@ -0,0 +1,11 @@
1
+ export function attachColumn(error, column) {
2
+ if (Object.getOwnPropertyDescriptor(error, 'column') !== undefined)
3
+ return;
4
+ Object.defineProperty(error, 'column', {
5
+ value: column,
6
+ enumerable: true,
7
+ writable: false,
8
+ configurable: true
9
+ });
10
+ }
11
+ //# sourceMappingURL=issue-columns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"issue-columns.js","sourceRoot":"","sources":["../../src/core/issue-columns.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,YAAY,CAAC,KAAY,EAAE,MAAc;IACvD,IAAI,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,SAAS;QAAE,OAAM;IAE1E,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE;QACrC,KAAK,EAAE,MAAM;QACb,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,KAAK;QAEf,YAAY,EAAE,IAAI;KACnB,CAAC,CAAA;AACJ,CAAC"}
@@ -0,0 +1,34 @@
1
+ import type { IssueCode, ResolvedOptions } from './types.js';
2
+ import { URLSyncError } from './types.js';
3
+ /** The codes for a filter that is dropped or not valid */
4
+ export declare const DATA_ISSUE_CODES: ReadonlySet<IssueCode>;
5
+ /** Whether the error is a data issue: a filter that is dropped or not valid */
6
+ export declare function isDataIssue(error: unknown): error is URLSyncError;
7
+ /**
8
+ * The caught value as an issue. A URLSyncError keeps its class and code, and
9
+ * gets the column if it has none. Any other value becomes a URLSyncError with
10
+ * the code, and the original error is its cause.
11
+ */
12
+ export declare function toIssue(cause: unknown, code: IssueCode, column?: string): URLSyncError;
13
+ /** Options for one call, and the issues that the call reports */
14
+ export interface IssueCollector {
15
+ options: ResolvedOptions;
16
+ issues: URLSyncError[];
17
+ }
18
+ /**
19
+ * Options that also keep each issue they report, so a method can return the
20
+ * issues of one call (#229). The caller's onParseError still gets each one.
21
+ */
22
+ export declare function collectIssues(options: ResolvedOptions): IssueCollector;
23
+ /** Whether throwOnError picks the issue (#229) */
24
+ export declare function shouldThrow(throwOnError: ResolvedOptions['throwOnError'], issue: URLSyncError): boolean;
25
+ /**
26
+ * Reports one issue to the caller. An issue that throwOnError picks is thrown
27
+ * instead, and it does not reach onParseError (#229).
28
+ */
29
+ export declare function reportIssue(options: ResolvedOptions, issue: URLSyncError): void;
30
+ /**
31
+ * Rethrows an issue that reportIssue threw. A catch that wraps errors calls
32
+ * this first, so a thrown issue reaches the caller one time, not wrapped again.
33
+ */
34
+ export declare function rethrowIfThrown(cause: unknown): void;
@@ -0,0 +1,58 @@
1
+ import { URLSyncError } from './types.js';
2
+ import { attachColumn } from './issue-columns.js';
3
+ import { toError } from './to-error.js';
4
+ export const DATA_ISSUE_CODES = new Set([
5
+ 'INVALID_PARAM',
6
+ 'INVALID_NUMBER',
7
+ 'INVALID_DATE',
8
+ 'VALUE_TOO_LONG',
9
+ 'INVALID_GROUPED',
10
+ 'TYPE_MISMATCH',
11
+ 'INVALID_URL'
12
+ ]);
13
+ export function isDataIssue(error) {
14
+ return error instanceof URLSyncError && DATA_ISSUE_CODES.has(error.code);
15
+ }
16
+ export function toIssue(cause, code, column) {
17
+ if (cause instanceof URLSyncError) {
18
+ if (column !== undefined)
19
+ attachColumn(cause, column);
20
+ return cause;
21
+ }
22
+ const error = toError(cause);
23
+ return new URLSyncError(error.message, error, { code, column });
24
+ }
25
+ export function collectIssues(options) {
26
+ const issues = [];
27
+ return {
28
+ issues,
29
+ options: {
30
+ ...options,
31
+ onParseError: error => {
32
+ if (error instanceof URLSyncError)
33
+ issues.push(error);
34
+ options.onParseError(error);
35
+ }
36
+ }
37
+ };
38
+ }
39
+ const thrownIssues = new WeakSet();
40
+ export function shouldThrow(throwOnError, issue) {
41
+ if (throwOnError === undefined || throwOnError === false)
42
+ return false;
43
+ if (throwOnError === true)
44
+ return true;
45
+ return throwOnError(issue);
46
+ }
47
+ export function reportIssue(options, issue) {
48
+ if (shouldThrow(options.throwOnError, issue)) {
49
+ thrownIssues.add(issue);
50
+ throw issue;
51
+ }
52
+ options.onParseError(issue);
53
+ }
54
+ export function rethrowIfThrown(cause) {
55
+ if (cause instanceof Error && thrownIssues.has(cause))
56
+ throw cause;
57
+ }
58
+ //# sourceMappingURL=issues.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"issues.js","sourceRoot":"","sources":["../../src/core/issues.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAOvC,MAAM,CAAC,MAAM,gBAAgB,GAA2B,IAAI,GAAG,CAAY;IACzE,eAAe;IACf,gBAAgB;IAChB,cAAc;IACd,gBAAgB;IAChB,iBAAiB;IACjB,eAAe;IACf,aAAa;CACd,CAAC,CAAA;AAGF,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,OAAO,KAAK,YAAY,YAAY,IAAI,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;AAC1E,CAAC;AAOD,MAAM,UAAU,OAAO,CACrB,KAAc,EACd,IAAe,EACf,MAAe;IAEf,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;QAClC,IAAI,MAAM,KAAK,SAAS;YAAE,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QAErD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;IAE5B,OAAO,IAAI,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;AACjE,CAAC;AAYD,MAAM,UAAU,aAAa,CAAC,OAAwB;IACpD,MAAM,MAAM,GAAmB,EAAE,CAAA;IAEjC,OAAO;QACL,MAAM;QACN,OAAO,EAAE;YACP,GAAG,OAAO;YACV,YAAY,EAAE,KAAK,CAAC,EAAE;gBAEpB,IAAI,KAAK,YAAY,YAAY;oBAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBACrD,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;YAC7B,CAAC;SACF;KACF,CAAA;AACH,CAAC;AAGD,MAAM,YAAY,GAAG,IAAI,OAAO,EAAS,CAAA;AAGzC,MAAM,UAAU,WAAW,CACzB,YAA6C,EAC7C,KAAmB;IAEnB,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,KAAK;QAAE,OAAO,KAAK,CAAA;IAEtE,IAAI,YAAY,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAEtC,OAAO,YAAY,CAAC,KAAK,CAAC,CAAA;AAC5B,CAAC;AAMD,MAAM,UAAU,WAAW,CACzB,OAAwB,EACxB,KAAmB;IAEnB,IAAI,WAAW,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC;QAC7C,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAEvB,MAAM,KAAK,CAAA;IACb,CAAC;IAED,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;AAC7B,CAAC;AAMD,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,IAAI,KAAK,YAAY,KAAK,IAAI,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC;QAAE,MAAM,KAAK,CAAA;AACpE,CAAC"}
@@ -0,0 +1,189 @@
1
+ /** A filter type that the library supports */
2
+ export type OperatorFilterType = 'text' | 'number' | 'date';
3
+ declare const ALL_TYPES: readonly ['text', 'number', 'date'];
4
+ /**
5
+ * Row order matters: the public operation lists keep their old order, and
6
+ * the deprecated reverse AG Grid map keeps its old "last row wins" values.
7
+ * Keep text-only rows first, then shared rows, then number-only rows, then
8
+ * date-only rows.
9
+ */
10
+ export declare const OPERATORS: readonly [{
11
+ readonly id: 'contains';
12
+ readonly url: 'contains';
13
+ readonly agGrid: 'contains';
14
+ readonly types: readonly ["text"];
15
+ readonly arity: 1;
16
+ }, {
17
+ readonly id: 'notContains';
18
+ readonly url: 'notContains';
19
+ readonly agGrid: 'notContains';
20
+ readonly types: readonly ["text"];
21
+ readonly arity: 1;
22
+ }, {
23
+ readonly id: 'startsWith';
24
+ readonly url: 'startsWith';
25
+ readonly agGrid: 'startsWith';
26
+ readonly types: readonly ["text"];
27
+ readonly arity: 1;
28
+ }, {
29
+ readonly id: 'endsWith';
30
+ readonly url: 'endsWith';
31
+ readonly agGrid: 'endsWith';
32
+ readonly types: readonly ["text"];
33
+ readonly arity: 1;
34
+ }, {
35
+ readonly id: 'eq';
36
+ readonly url: 'eq';
37
+ readonly agGrid: 'equals';
38
+ readonly types: readonly ["text", "number", "date"];
39
+ readonly arity: 1;
40
+ }, {
41
+ readonly id: 'notEqual';
42
+ readonly url: 'neq';
43
+ readonly agGrid: 'notEqual';
44
+ readonly types: readonly ["text", "number", "date"];
45
+ readonly arity: 1;
46
+ }, {
47
+ readonly id: 'blank';
48
+ readonly url: 'blank';
49
+ readonly agGrid: 'blank';
50
+ readonly types: readonly ["text", "number", "date"];
51
+ readonly arity: 0;
52
+ }, {
53
+ readonly id: 'notBlank';
54
+ readonly url: 'notBlank';
55
+ readonly agGrid: 'notBlank';
56
+ readonly types: readonly ["text", "number", "date"];
57
+ readonly arity: 0;
58
+ }, {
59
+ readonly id: 'lessThan';
60
+ readonly url: 'lt';
61
+ readonly agGrid: 'lessThan';
62
+ readonly types: readonly ["number"];
63
+ readonly arity: 1;
64
+ }, {
65
+ readonly id: 'lessThanOrEqual';
66
+ readonly url: 'lte';
67
+ readonly agGrid: 'lessThanOrEqual';
68
+ readonly types: readonly ["number"];
69
+ readonly arity: 1;
70
+ }, {
71
+ readonly id: 'greaterThan';
72
+ readonly url: 'gt';
73
+ readonly agGrid: 'greaterThan';
74
+ readonly types: readonly ["number"];
75
+ readonly arity: 1;
76
+ }, {
77
+ readonly id: 'greaterThanOrEqual';
78
+ readonly url: 'gte';
79
+ readonly agGrid: 'greaterThanOrEqual';
80
+ readonly types: readonly ["number"];
81
+ readonly arity: 1;
82
+ }, {
83
+ readonly id: 'inRange';
84
+ readonly url: 'range';
85
+ readonly agGrid: 'inRange';
86
+ readonly types: readonly ["number"];
87
+ readonly arity: 2;
88
+ }, {
89
+ readonly id: 'dateBefore';
90
+ readonly url: 'before';
91
+ readonly agGrid: 'lessThan';
92
+ readonly types: readonly ["date"];
93
+ readonly arity: 1;
94
+ }, {
95
+ readonly id: 'dateBeforeOrEqual';
96
+ readonly url: 'beforeEq';
97
+ readonly agGrid: 'lessThanOrEqual';
98
+ readonly types: readonly ["date"];
99
+ readonly arity: 1;
100
+ }, {
101
+ readonly id: 'dateAfter';
102
+ readonly url: 'after';
103
+ readonly agGrid: 'greaterThan';
104
+ readonly types: readonly ["date"];
105
+ readonly arity: 1;
106
+ }, {
107
+ readonly id: 'dateAfterOrEqual';
108
+ readonly url: 'afterEq';
109
+ readonly agGrid: 'greaterThanOrEqual';
110
+ readonly types: readonly ["date"];
111
+ readonly arity: 1;
112
+ }, {
113
+ readonly id: 'dateRange';
114
+ readonly url: 'daterange';
115
+ readonly agGrid: 'inRange';
116
+ readonly types: readonly ["date"];
117
+ readonly arity: 2;
118
+ }];
119
+ export type Operator = (typeof OPERATORS)[number];
120
+ export type OperatorId = Operator['id'];
121
+ /**
122
+ * The ids of the rows in `Ops` that match `Match`, in table order, as a tuple
123
+ * with a literal type at each index
124
+ */
125
+ type IdsWhere<Ops extends readonly unknown[], Match> = Ops extends readonly [
126
+ infer Head,
127
+ ...infer Rest
128
+ ] ? Head extends Match ? Head extends {
129
+ id: infer Id;
130
+ } ? [Id, ...IdsWhere<Rest, Match>] : IdsWhere<Rest, Match> : IdsWhere<Rest, Match> : [];
131
+ /**
132
+ * The tuples for each filter type, in a map. A generic `T` then indexes
133
+ * concrete tuples, so TypeScript can compare the generic type with a list of
134
+ * ids.
135
+ */
136
+ type OnlyForTuples = {
137
+ [K in OperatorFilterType]: Readonly<IdsWhere<typeof OPERATORS, {
138
+ types: readonly [K];
139
+ }>>;
140
+ };
141
+ /** Ids of the operations that only one filter type supports, as a tuple */
142
+ export type OperationsOnlyForTuple<T extends OperatorFilterType> = OnlyForTuples[T];
143
+ /** Ids of the operations that every filter type supports, as a tuple */
144
+ export type SharedOperationsTuple = Readonly<IdsWhere<typeof OPERATORS, {
145
+ types: typeof ALL_TYPES;
146
+ }>>;
147
+ /**
148
+ * Ids of the operations that a filter type supports, as a tuple: its own
149
+ * operations first, then the shared ones
150
+ */
151
+ export type OperationsForTuple<T extends OperatorFilterType> = {
152
+ [K in OperatorFilterType]: readonly [
153
+ ...OnlyForTuples[K],
154
+ ...SharedOperationsTuple
155
+ ];
156
+ }[T];
157
+ /** Ids of the operations that a filter type supports, shared ones included */
158
+ export type OperationsFor<T extends OperatorFilterType> = OperationsForTuple<T>[number];
159
+ /** Ids of the operations that only one filter type supports */
160
+ export type OperationsOnlyFor<T extends OperatorFilterType> = OperationsOnlyForTuple<T>[number];
161
+ /** Ids of the operations that every filter type supports */
162
+ export type SharedOperationId = SharedOperationsTuple[number];
163
+ /** The operations that only `type` supports, in table order */
164
+ export declare function operationsOnlyFor<T extends OperatorFilterType>(type: T): OperationsOnlyForTuple<T>;
165
+ /** The operations that every filter type supports, in table order */
166
+ export declare function sharedOperations(): SharedOperationsTuple;
167
+ /**
168
+ * The operations that `type` supports: its own operations first, then the
169
+ * shared ones
170
+ */
171
+ export declare function operationsFor<T extends OperatorFilterType>(type: T): OperationsForTuple<T>;
172
+ /** The operator with this internal id */
173
+ export declare function operatorById(id: string): Operator | undefined;
174
+ /** The operator with this name in a URL param (`gt`, `before`, `neq`, …) */
175
+ export declare function operatorFromUrl(urlName: string): Operator | undefined;
176
+ /**
177
+ * The operator for an AG Grid operation name on a filter type. The key is the
178
+ * pair, because AG Grid uses one name for a number and a date operation
179
+ * (`lessThan` is `lessThan` on a number filter and `dateBefore` on a date
180
+ * filter).
181
+ */
182
+ export declare function operatorFromAgGrid(filterType: string | undefined, agGridName: string | undefined): Operator | undefined;
183
+ /** Whether `id` is an operation that only `type` supports */
184
+ export declare function isOperationOnlyFor<T extends OperatorFilterType>(id: string, type: T): id is OperationsOnlyFor<T>;
185
+ /** Whether `id` is an operation that every filter type supports */
186
+ export declare function isSharedOperation(id: string): id is SharedOperationId;
187
+ /** Whether `id` is an operation that `type` supports */
188
+ export declare function isOperationFor<T extends OperatorFilterType>(id: string, type: T): id is OperationsFor<T>;
189
+ export {};
@@ -0,0 +1,60 @@
1
+ const ALL_TYPES = ['text', 'number', 'date'];
2
+ export const OPERATORS = [
3
+ { id: 'contains', url: 'contains', agGrid: 'contains', types: ['text'], arity: 1 },
4
+ { id: 'notContains', url: 'notContains', agGrid: 'notContains', types: ['text'], arity: 1 },
5
+ { id: 'startsWith', url: 'startsWith', agGrid: 'startsWith', types: ['text'], arity: 1 },
6
+ { id: 'endsWith', url: 'endsWith', agGrid: 'endsWith', types: ['text'], arity: 1 },
7
+ { id: 'eq', url: 'eq', agGrid: 'equals', types: ALL_TYPES, arity: 1 },
8
+ { id: 'notEqual', url: 'neq', agGrid: 'notEqual', types: ALL_TYPES, arity: 1 },
9
+ { id: 'blank', url: 'blank', agGrid: 'blank', types: ALL_TYPES, arity: 0 },
10
+ { id: 'notBlank', url: 'notBlank', agGrid: 'notBlank', types: ALL_TYPES, arity: 0 },
11
+ { id: 'lessThan', url: 'lt', agGrid: 'lessThan', types: ['number'], arity: 1 },
12
+ { id: 'lessThanOrEqual', url: 'lte', agGrid: 'lessThanOrEqual', types: ['number'], arity: 1 },
13
+ { id: 'greaterThan', url: 'gt', agGrid: 'greaterThan', types: ['number'], arity: 1 },
14
+ { id: 'greaterThanOrEqual', url: 'gte', agGrid: 'greaterThanOrEqual', types: ['number'], arity: 1 },
15
+ { id: 'inRange', url: 'range', agGrid: 'inRange', types: ['number'], arity: 2 },
16
+ { id: 'dateBefore', url: 'before', agGrid: 'lessThan', types: ['date'], arity: 1 },
17
+ { id: 'dateBeforeOrEqual', url: 'beforeEq', agGrid: 'lessThanOrEqual', types: ['date'], arity: 1 },
18
+ { id: 'dateAfter', url: 'after', agGrid: 'greaterThan', types: ['date'], arity: 1 },
19
+ { id: 'dateAfterOrEqual', url: 'afterEq', agGrid: 'greaterThanOrEqual', types: ['date'], arity: 1 },
20
+ { id: 'dateRange', url: 'daterange', agGrid: 'inRange', types: ['date'], arity: 2 }
21
+ ];
22
+ const isShared = (op) => op.types.length === ALL_TYPES.length;
23
+ const supports = (op, type) => op.types.some(own => own === type);
24
+ export function operationsOnlyFor(type) {
25
+ const ids = OPERATORS.flatMap(op => !isShared(op) && supports(op, type) ? [op.id] : []);
26
+ return ids;
27
+ }
28
+ export function sharedOperations() {
29
+ const ids = OPERATORS.flatMap(op => isShared(op) ? [op.id] : []);
30
+ return ids;
31
+ }
32
+ export function operationsFor(type) {
33
+ const own = operationsOnlyFor(type);
34
+ const ids = [...own, ...sharedOperations()];
35
+ return ids;
36
+ }
37
+ const BY_ID = new Map(OPERATORS.map(op => [op.id, op]));
38
+ const BY_URL = new Map(OPERATORS.map(op => [op.url, op]));
39
+ export function operatorById(id) {
40
+ return BY_ID.get(id);
41
+ }
42
+ export function operatorFromUrl(urlName) {
43
+ return BY_URL.get(urlName);
44
+ }
45
+ export function operatorFromAgGrid(filterType, agGridName) {
46
+ return OPERATORS.find(op => op.agGrid === agGridName && supports(op, filterType));
47
+ }
48
+ export function isOperationOnlyFor(id, type) {
49
+ const op = operatorById(id);
50
+ return op !== undefined && !isShared(op) && supports(op, type);
51
+ }
52
+ export function isSharedOperation(id) {
53
+ const op = operatorById(id);
54
+ return op !== undefined && isShared(op);
55
+ }
56
+ export function isOperationFor(id, type) {
57
+ const op = operatorById(id);
58
+ return op !== undefined && supports(op, type);
59
+ }
60
+ //# sourceMappingURL=operators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operators.js","sourceRoot":"","sources":["../../src/core/operators.ts"],"names":[],"mappings":"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"}