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.
- package/README.md +110 -55
- package/dist/core/ag-grid-url-sync.d.ts +10 -9
- package/dist/core/ag-grid-url-sync.js +23 -19
- package/dist/core/ag-grid-url-sync.js.map +1 -1
- package/dist/core/grid-integration.d.ts +27 -1
- package/dist/core/grid-integration.js +161 -129
- package/dist/core/grid-integration.js.map +1 -1
- package/dist/core/index.d.ts +2 -1
- package/dist/core/index.js +2 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/individual-params.d.ts +12 -5
- package/dist/core/individual-params.js +38 -62
- package/dist/core/individual-params.js.map +1 -1
- package/dist/core/issue-columns.d.ts +2 -0
- package/dist/core/issue-columns.js +11 -0
- package/dist/core/issue-columns.js.map +1 -0
- package/dist/core/issues.d.ts +34 -0
- package/dist/core/issues.js +58 -0
- package/dist/core/issues.js.map +1 -0
- package/dist/core/operators.d.ts +189 -0
- package/dist/core/operators.js +60 -0
- package/dist/core/operators.js.map +1 -0
- package/dist/core/options.d.ts +21 -0
- package/dist/core/options.js +21 -0
- package/dist/core/options.js.map +1 -0
- package/dist/core/schemas.d.ts +51 -0
- package/dist/core/schemas.js +59 -0
- package/dist/core/schemas.js.map +1 -0
- package/dist/core/serialization/formats.d.ts +7 -7
- package/dist/core/serialization/formats.js +34 -28
- package/dist/core/serialization/formats.js.map +1 -1
- package/dist/core/serialization/grouped.d.ts +9 -12
- package/dist/core/serialization/grouped.js +24 -17
- package/dist/core/serialization/grouped.js.map +1 -1
- package/dist/core/to-error.d.ts +5 -0
- package/dist/core/to-error.js +4 -0
- package/dist/core/to-error.js.map +1 -0
- package/dist/core/types.d.ts +149 -43
- package/dist/core/types.js +35 -108
- package/dist/core/types.js.map +1 -1
- package/dist/core/url-generator.d.ts +4 -4
- package/dist/core/url-generator.js +9 -7
- package/dist/core/url-generator.js.map +1 -1
- package/dist/core/url-parser.d.ts +4 -4
- package/dist/core/url-parser.js +6 -4
- package/dist/core/url-parser.js.map +1 -1
- package/dist/core/validation.d.ts +21 -14
- package/dist/core/validation.js +58 -54
- package/dist/core/validation.js.map +1 -1
- package/dist/core/view-storage.js +21 -19
- package/dist/core/view-storage.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/react/types.d.ts +31 -12
- package/dist/react/use-ag-grid-url-sync.js +148 -87
- package/dist/react/use-ag-grid-url-sync.js.map +1 -1
- package/package.json +22 -15
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { AGGridUrlSyncConfig, ResolvedOptions } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Default configuration values
|
|
4
|
+
*/
|
|
5
|
+
export declare const DEFAULT_CONFIG: {
|
|
6
|
+
readonly paramPrefix: 'f_';
|
|
7
|
+
readonly maxValueLength: 200;
|
|
8
|
+
readonly serialization: 'individual';
|
|
9
|
+
readonly groupedParam: 'grid_filters';
|
|
10
|
+
readonly format: 'querystring';
|
|
11
|
+
readonly onParseError: () => void;
|
|
12
|
+
readonly throwOnError: false;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Fills in the default of each option that the config leaves out or sets to
|
|
16
|
+
* undefined. The result has only the options, so a `gridApi` or any other
|
|
17
|
+
* key in the config is not copied. The config is not changed.
|
|
18
|
+
*
|
|
19
|
+
* An empty `paramPrefix` is kept: the prefix rules read it as the default.
|
|
20
|
+
*/
|
|
21
|
+
export declare function resolveOptions(options?: AGGridUrlSyncConfig): ResolvedOptions;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export const DEFAULT_CONFIG = {
|
|
2
|
+
paramPrefix: 'f_',
|
|
3
|
+
maxValueLength: 200,
|
|
4
|
+
serialization: 'individual',
|
|
5
|
+
groupedParam: 'grid_filters',
|
|
6
|
+
format: 'querystring',
|
|
7
|
+
onParseError: () => { },
|
|
8
|
+
throwOnError: false
|
|
9
|
+
};
|
|
10
|
+
export function resolveOptions(options = {}) {
|
|
11
|
+
return {
|
|
12
|
+
paramPrefix: options.paramPrefix ?? DEFAULT_CONFIG.paramPrefix,
|
|
13
|
+
maxValueLength: options.maxValueLength ?? DEFAULT_CONFIG.maxValueLength,
|
|
14
|
+
onParseError: options.onParseError ?? DEFAULT_CONFIG.onParseError,
|
|
15
|
+
serialization: options.serialization ?? DEFAULT_CONFIG.serialization,
|
|
16
|
+
groupedParam: options.groupedParam ?? DEFAULT_CONFIG.groupedParam,
|
|
17
|
+
format: options.format ?? DEFAULT_CONFIG.format,
|
|
18
|
+
throwOnError: options.throwOnError ?? DEFAULT_CONFIG.throwOnError
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/core/options.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,WAAW,EAAE,IAAI;IACjB,cAAc,EAAE,GAAG;IACnB,aAAa,EAAE,YAAqB;IACpC,YAAY,EAAE,cAAc;IAC5B,MAAM,EAAE,aAAsB;IAC9B,YAAY,EAAE,GAAG,EAAE,GAAE,CAAC;IACtB,YAAY,EAAE,KAAK;CACe,CAAA;AASpC,MAAM,UAAU,cAAc,CAC5B,OAAO,GAAwB,EAAE;IAEjC,OAAO;QACL,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,cAAc,CAAC,WAAW;QAC9D,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,cAAc,CAAC,cAAc;QACvE,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,cAAc,CAAC,YAAY;QACjE,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,cAAc,CAAC,aAAa;QACpE,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,cAAc,CAAC,YAAY;QACjE,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,cAAc,CAAC,MAAM;QAC/C,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,cAAc,CAAC,YAAY;KAClE,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import * as v from 'valibot';
|
|
2
|
+
/** Any JSON object (arrays included, the same as `typeof x === 'object'`) */
|
|
3
|
+
export declare const JsonObjectSchema: v.RecordSchema<v.StringSchema<undefined>, v.UnknownSchema, undefined>;
|
|
4
|
+
/** One column filter in the library's own format */
|
|
5
|
+
export declare const ColumnFilterSchema: v.VariantSchema<"filterType", [v.ObjectSchema<{
|
|
6
|
+
readonly filterType: v.LiteralSchema<"text", undefined>;
|
|
7
|
+
readonly type: v.PicklistSchema<readonly ["contains", "notContains", "startsWith", "endsWith", "eq", "notEqual", "blank", "notBlank"], undefined>;
|
|
8
|
+
readonly filter: v.StringSchema<undefined>;
|
|
9
|
+
}, undefined>, v.ObjectSchema<{
|
|
10
|
+
readonly filterType: v.LiteralSchema<"number", undefined>;
|
|
11
|
+
readonly type: v.PicklistSchema<readonly ["lessThan", "lessThanOrEqual", "greaterThan", "greaterThanOrEqual", "inRange", "eq", "notEqual", "blank", "notBlank"], undefined>;
|
|
12
|
+
readonly filter: v.NumberSchema<undefined>;
|
|
13
|
+
readonly filterTo: v.ExactOptionalSchema<v.NumberSchema<undefined>, undefined>;
|
|
14
|
+
}, undefined>, v.ObjectSchema<{
|
|
15
|
+
readonly filterType: v.LiteralSchema<"date", undefined>;
|
|
16
|
+
readonly type: v.PicklistSchema<readonly ["dateBefore", "dateBeforeOrEqual", "dateAfter", "dateAfterOrEqual", "dateRange", "eq", "notEqual", "blank", "notBlank"], undefined>;
|
|
17
|
+
readonly filter: v.StringSchema<undefined>;
|
|
18
|
+
readonly filterTo: v.ExactOptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
19
|
+
}, undefined>], undefined>;
|
|
20
|
+
/** One saved view. A view that does not match is dropped, not repaired. */
|
|
21
|
+
export declare const GridViewSchema: v.ObjectSchema<{
|
|
22
|
+
readonly id: v.StringSchema<undefined>;
|
|
23
|
+
readonly name: v.StringSchema<undefined>;
|
|
24
|
+
readonly updatedAt: v.NumberSchema<undefined>;
|
|
25
|
+
readonly filterModel: v.RecordSchema<v.StringSchema<undefined>, v.UnknownSchema, undefined>;
|
|
26
|
+
}, undefined>;
|
|
27
|
+
/**
|
|
28
|
+
* The stored blob. Reads must never fail: a `views` value that is not a list
|
|
29
|
+
* reads as no views, and an `activeId` that is not a string reads as none.
|
|
30
|
+
*/
|
|
31
|
+
export declare const StoredViewsSchema: v.LooseObjectSchema<{
|
|
32
|
+
readonly views: v.SchemaWithFallback<v.ArraySchema<v.UnknownSchema, undefined>, readonly []>;
|
|
33
|
+
readonly activeId: v.SchemaWithFallback<v.NullableSchema<v.StringSchema<undefined>, undefined>, null>;
|
|
34
|
+
}, undefined>;
|
|
35
|
+
/** One column of the AG Grid filter model that the library can read */
|
|
36
|
+
export declare const AgGridFilterSchema: v.VariantSchema<"filterType", [v.LooseObjectSchema<{
|
|
37
|
+
readonly filterType: v.LiteralSchema<"text", undefined>;
|
|
38
|
+
readonly type: v.SchemaWithFallback<v.OptionalSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
39
|
+
readonly filter: v.SchemaWithFallback<v.OptionalSchema<v.UnionSchema<[v.StringSchema<undefined>, v.NumberSchema<undefined>, v.NullSchema<undefined>], undefined>, undefined>, undefined>;
|
|
40
|
+
}, undefined>, v.LooseObjectSchema<{
|
|
41
|
+
readonly filterType: v.LiteralSchema<"number", undefined>;
|
|
42
|
+
readonly type: v.SchemaWithFallback<v.OptionalSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
43
|
+
readonly filter: v.SchemaWithFallback<v.OptionalSchema<v.UnionSchema<[v.StringSchema<undefined>, v.NumberSchema<undefined>, v.NullSchema<undefined>], undefined>, undefined>, undefined>;
|
|
44
|
+
readonly filterTo: v.SchemaWithFallback<v.OptionalSchema<v.UnionSchema<[v.StringSchema<undefined>, v.NumberSchema<undefined>, v.NullSchema<undefined>], undefined>, undefined>, undefined>;
|
|
45
|
+
}, undefined>, v.LooseObjectSchema<{
|
|
46
|
+
readonly filterType: v.LiteralSchema<"date", undefined>;
|
|
47
|
+
readonly type: v.SchemaWithFallback<v.OptionalSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
48
|
+
readonly filter: v.SchemaWithFallback<v.OptionalSchema<v.UnionSchema<[v.StringSchema<undefined>, v.NumberSchema<undefined>, v.NullSchema<undefined>], undefined>, undefined>, undefined>;
|
|
49
|
+
readonly dateFrom: v.SchemaWithFallback<v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>, undefined>;
|
|
50
|
+
readonly dateTo: v.SchemaWithFallback<v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>, undefined>;
|
|
51
|
+
}, undefined>], undefined>;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import * as v from 'valibot';
|
|
2
|
+
import { TEXT_FILTER_OPERATIONS, NUMBER_FILTER_OPERATIONS, DATE_FILTER_OPERATIONS } from './types.js';
|
|
3
|
+
export const JsonObjectSchema = v.record(v.string(), v.unknown());
|
|
4
|
+
const TextFilterSchema = v.object({
|
|
5
|
+
filterType: v.literal('text'),
|
|
6
|
+
type: v.picklist(TEXT_FILTER_OPERATIONS),
|
|
7
|
+
filter: v.string()
|
|
8
|
+
});
|
|
9
|
+
const NumberFilterSchema = v.object({
|
|
10
|
+
filterType: v.literal('number'),
|
|
11
|
+
type: v.picklist(NUMBER_FILTER_OPERATIONS),
|
|
12
|
+
filter: v.number(),
|
|
13
|
+
filterTo: v.exactOptional(v.number())
|
|
14
|
+
});
|
|
15
|
+
const DateFilterSchema = v.object({
|
|
16
|
+
filterType: v.literal('date'),
|
|
17
|
+
type: v.picklist(DATE_FILTER_OPERATIONS),
|
|
18
|
+
filter: v.string(),
|
|
19
|
+
filterTo: v.exactOptional(v.string())
|
|
20
|
+
});
|
|
21
|
+
export const ColumnFilterSchema = v.variant('filterType', [
|
|
22
|
+
TextFilterSchema,
|
|
23
|
+
NumberFilterSchema,
|
|
24
|
+
DateFilterSchema
|
|
25
|
+
]);
|
|
26
|
+
export const GridViewSchema = v.object({
|
|
27
|
+
id: v.string(),
|
|
28
|
+
name: v.string(),
|
|
29
|
+
updatedAt: v.number(),
|
|
30
|
+
filterModel: JsonObjectSchema
|
|
31
|
+
});
|
|
32
|
+
export const StoredViewsSchema = v.looseObject({
|
|
33
|
+
views: v.fallback(v.array(v.unknown()), []),
|
|
34
|
+
activeId: v.fallback(v.nullable(v.string()), null)
|
|
35
|
+
});
|
|
36
|
+
const agGridOperation = v.fallback(v.optional(v.string()), undefined);
|
|
37
|
+
const agGridValue = v.fallback(v.optional(v.union([v.string(), v.number(), v.null()])), undefined);
|
|
38
|
+
const agGridDate = v.fallback(v.optional(v.nullable(v.string())), undefined);
|
|
39
|
+
export const AgGridFilterSchema = v.variant('filterType', [
|
|
40
|
+
v.looseObject({
|
|
41
|
+
filterType: v.literal('text'),
|
|
42
|
+
type: agGridOperation,
|
|
43
|
+
filter: agGridValue
|
|
44
|
+
}),
|
|
45
|
+
v.looseObject({
|
|
46
|
+
filterType: v.literal('number'),
|
|
47
|
+
type: agGridOperation,
|
|
48
|
+
filter: agGridValue,
|
|
49
|
+
filterTo: agGridValue
|
|
50
|
+
}),
|
|
51
|
+
v.looseObject({
|
|
52
|
+
filterType: v.literal('date'),
|
|
53
|
+
type: agGridOperation,
|
|
54
|
+
filter: agGridValue,
|
|
55
|
+
dateFrom: agGridDate,
|
|
56
|
+
dateTo: agGridDate
|
|
57
|
+
})
|
|
58
|
+
]);
|
|
59
|
+
//# sourceMappingURL=schemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/core/schemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import type { FilterState, SerializationFormat, FormatSerializer,
|
|
1
|
+
import type { FilterState, SerializationFormat, FormatSerializer, AGGridUrlSyncConfig } from '../types.js';
|
|
2
2
|
/**
|
|
3
3
|
* QueryString format serializer
|
|
4
4
|
* Writes the individual filter parameters as one query string value
|
|
5
5
|
*/
|
|
6
6
|
export declare class QueryStringSerializer implements FormatSerializer {
|
|
7
7
|
readonly format: SerializationFormat;
|
|
8
|
-
serialize(filterState: FilterState, config?:
|
|
9
|
-
deserialize(value: string, config?:
|
|
8
|
+
serialize(filterState: FilterState, config?: AGGridUrlSyncConfig): string;
|
|
9
|
+
deserialize(value: string, config?: AGGridUrlSyncConfig): FilterState;
|
|
10
10
|
}
|
|
11
11
|
/**
|
|
12
12
|
* JSON format serializer
|
|
@@ -14,8 +14,8 @@ export declare class QueryStringSerializer implements FormatSerializer {
|
|
|
14
14
|
*/
|
|
15
15
|
export declare class JsonSerializer implements FormatSerializer {
|
|
16
16
|
readonly format: SerializationFormat;
|
|
17
|
-
serialize(filterState: FilterState, config?:
|
|
18
|
-
deserialize(value: string, config?:
|
|
17
|
+
serialize(filterState: FilterState, config?: AGGridUrlSyncConfig): string;
|
|
18
|
+
deserialize(value: string, config?: AGGridUrlSyncConfig): FilterState;
|
|
19
19
|
}
|
|
20
20
|
/**
|
|
21
21
|
* Base64 format serializer
|
|
@@ -23,6 +23,6 @@ export declare class JsonSerializer implements FormatSerializer {
|
|
|
23
23
|
*/
|
|
24
24
|
export declare class Base64Serializer implements FormatSerializer {
|
|
25
25
|
readonly format: SerializationFormat;
|
|
26
|
-
serialize(filterState: FilterState, config?:
|
|
27
|
-
deserialize(value: string, config?:
|
|
26
|
+
serialize(filterState: FilterState, config?: AGGridUrlSyncConfig): string;
|
|
27
|
+
deserialize(value: string, config?: AGGridUrlSyncConfig): FilterState;
|
|
28
28
|
}
|
|
@@ -1,38 +1,45 @@
|
|
|
1
|
+
import * as v from 'valibot';
|
|
1
2
|
import { InvalidSerializationError } from '../types.js';
|
|
2
3
|
import { parseIndividualParams, serializeFilters } from '../individual-params.js';
|
|
3
|
-
import {
|
|
4
|
+
import { validateFilterValue } from '../validation.js';
|
|
5
|
+
import { DEFAULT_CONFIG, resolveOptions } from '../options.js';
|
|
6
|
+
import { reportIssue, rethrowIfThrown, toIssue } from '../issues.js';
|
|
7
|
+
import { ColumnFilterSchema, JsonObjectSchema } from '../schemas.js';
|
|
8
|
+
import { toError } from '../to-error.js';
|
|
4
9
|
function dropOverLengthTextValues(filterState, config, format) {
|
|
5
|
-
const cfg = config
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
catch (error) {
|
|
13
|
-
cfg.onParseError?.(new InvalidSerializationError(format, error));
|
|
14
|
-
continue;
|
|
15
|
-
}
|
|
10
|
+
const cfg = resolveOptions(config);
|
|
11
|
+
const kept = Object.entries(filterState).filter(([column, filter]) => {
|
|
12
|
+
if (filter.filterType !== 'text')
|
|
13
|
+
return true;
|
|
14
|
+
try {
|
|
15
|
+
validateFilterValue(filter.filter, cfg, filter.type);
|
|
16
|
+
return true;
|
|
16
17
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
catch (error) {
|
|
19
|
+
const issue = toIssue(error, 'VALUE_TOO_LONG', column);
|
|
20
|
+
reportIssue(cfg, new InvalidSerializationError(format, issue));
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
return Object.fromEntries(kept);
|
|
20
25
|
}
|
|
21
26
|
function parseAndValidateJson(value) {
|
|
22
27
|
try {
|
|
23
|
-
const
|
|
24
|
-
if (
|
|
28
|
+
const json = JSON.parse(value);
|
|
29
|
+
if (!v.is(JsonObjectSchema, json)) {
|
|
25
30
|
throw new Error('Invalid JSON: must be an object');
|
|
26
31
|
}
|
|
27
|
-
|
|
28
|
-
|
|
32
|
+
const entries = Object.entries(json).map(([columnId, filter]) => {
|
|
33
|
+
const column = v.safeParse(ColumnFilterSchema, filter);
|
|
34
|
+
if (!column.success) {
|
|
29
35
|
throw new Error(`Invalid JSON: filter for column ${columnId} is not a valid filter object`);
|
|
30
36
|
}
|
|
31
|
-
|
|
32
|
-
|
|
37
|
+
return [columnId, column.output];
|
|
38
|
+
});
|
|
39
|
+
return Object.fromEntries(entries);
|
|
33
40
|
}
|
|
34
41
|
catch (error) {
|
|
35
|
-
throw new Error(`JSON parsing failed: ${error.message}`);
|
|
42
|
+
throw new Error(`JSON parsing failed: ${toError(error).message}`);
|
|
36
43
|
}
|
|
37
44
|
}
|
|
38
45
|
export class QueryStringSerializer {
|
|
@@ -45,13 +52,11 @@ export class QueryStringSerializer {
|
|
|
45
52
|
}
|
|
46
53
|
}
|
|
47
54
|
function innerConfig(config) {
|
|
48
|
-
|
|
49
|
-
return DEFAULT_CONFIG;
|
|
50
|
-
const onParseError = config.onParseError ?? DEFAULT_CONFIG.onParseError;
|
|
55
|
+
const outer = resolveOptions(config);
|
|
51
56
|
return {
|
|
52
57
|
...DEFAULT_CONFIG,
|
|
53
|
-
maxValueLength:
|
|
54
|
-
onParseError: error =>
|
|
58
|
+
maxValueLength: outer.maxValueLength,
|
|
59
|
+
onParseError: error => reportIssue(outer, new InvalidSerializationError('querystring', error))
|
|
55
60
|
};
|
|
56
61
|
}
|
|
57
62
|
export class JsonSerializer {
|
|
@@ -75,7 +80,8 @@ export class Base64Serializer {
|
|
|
75
80
|
return dropOverLengthTextValues(parseAndValidateJson(decoded), config, 'base64');
|
|
76
81
|
}
|
|
77
82
|
catch (error) {
|
|
78
|
-
|
|
83
|
+
rethrowIfThrown(error);
|
|
84
|
+
throw new Error(`Base64 decoding failed: ${toError(error).message}`);
|
|
79
85
|
}
|
|
80
86
|
}
|
|
81
87
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formats.js","sourceRoot":"","sources":["../../../src/core/serialization/formats.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"formats.js","sourceRoot":"","sources":["../../../src/core/serialization/formats.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,36 +1,33 @@
|
|
|
1
|
-
import type { FilterState, SerializationFormat, FormatSerializer, GroupedSerializationResult,
|
|
1
|
+
import type { FilterState, SerializationFormat, FormatSerializer, GroupedSerializationResult, GroupedDetectionResult, AGGridUrlSyncConfig } from '../types.js';
|
|
2
2
|
/**
|
|
3
3
|
* Serialize filter state using grouped serialization
|
|
4
4
|
* @param filterState - The filter state to serialize
|
|
5
|
-
* @param config -
|
|
5
|
+
* @param config - Options (no grid needed). An option that is left out gets
|
|
6
|
+
* its default.
|
|
6
7
|
* @returns Grouped serialization result with parameter name and value
|
|
7
8
|
*/
|
|
8
|
-
export declare function serializeGrouped(filterState: FilterState, config
|
|
9
|
+
export declare function serializeGrouped(filterState: FilterState, config?: AGGridUrlSyncConfig): GroupedSerializationResult;
|
|
9
10
|
/**
|
|
10
11
|
* Deserialize grouped filter state from URL parameter value
|
|
11
12
|
* @param value - The serialized value from URL parameter
|
|
12
13
|
* @param format - The serialization format to use
|
|
13
|
-
* @param config -
|
|
14
|
+
* @param config - Options for validation and error handling (no grid
|
|
15
|
+
* needed). An option that is left out gets its default.
|
|
14
16
|
* @returns Deserialized filter state
|
|
15
17
|
*/
|
|
16
|
-
export declare function deserializeGrouped(value: string, format: SerializationFormat, config
|
|
18
|
+
export declare function deserializeGrouped(value: string, format: SerializationFormat, config?: AGGridUrlSyncConfig): FilterState;
|
|
17
19
|
/**
|
|
18
20
|
* Detect if a URL contains grouped serialization parameters
|
|
19
21
|
*
|
|
20
22
|
* @deprecated parseUrlFilters no longer uses this. It reads only
|
|
21
23
|
* `config.groupedParam` and decodes it with `config.format`, because a guessed
|
|
22
24
|
* format takes any non-empty value as grouped filters (#210). This function
|
|
23
|
-
* will be removed in
|
|
25
|
+
* will be removed in 0.6.0.
|
|
24
26
|
* @param url - URL to analyze
|
|
25
27
|
* @param possibleParams - Array of possible grouped parameter names to check
|
|
26
28
|
* @returns Detection result with format and value if found
|
|
27
29
|
*/
|
|
28
|
-
export declare function detectGroupedSerialization(url: string, possibleParams: string[]):
|
|
29
|
-
isGrouped: boolean;
|
|
30
|
-
paramName?: string;
|
|
31
|
-
format?: SerializationFormat;
|
|
32
|
-
value?: string;
|
|
33
|
-
};
|
|
30
|
+
export declare function detectGroupedSerialization(url: string, possibleParams: string[]): GroupedDetectionResult;
|
|
34
31
|
/**
|
|
35
32
|
* Get all available serialization formats
|
|
36
33
|
*/
|
|
@@ -1,42 +1,51 @@
|
|
|
1
|
+
import * as v from 'valibot';
|
|
1
2
|
import { InvalidSerializationError } from '../types.js';
|
|
2
3
|
import { QueryStringSerializer, JsonSerializer, Base64Serializer } from './formats.js';
|
|
4
|
+
import { JsonObjectSchema } from '../schemas.js';
|
|
5
|
+
import { toError } from '../to-error.js';
|
|
6
|
+
import { resolveOptions } from '../options.js';
|
|
7
|
+
import { reportIssue, rethrowIfThrown } from '../issues.js';
|
|
3
8
|
const FORMAT_SERIALIZERS = {
|
|
4
9
|
querystring: new QueryStringSerializer(),
|
|
5
10
|
json: new JsonSerializer(),
|
|
6
11
|
base64: new Base64Serializer()
|
|
7
12
|
};
|
|
8
|
-
export function serializeGrouped(filterState, config) {
|
|
13
|
+
export function serializeGrouped(filterState, config = {}) {
|
|
14
|
+
const options = resolveOptions(config);
|
|
9
15
|
try {
|
|
10
|
-
const serializer = FORMAT_SERIALIZERS[
|
|
16
|
+
const serializer = FORMAT_SERIALIZERS[options.format];
|
|
11
17
|
if (!serializer) {
|
|
12
|
-
throw new Error(`Unknown serialization format: ${
|
|
18
|
+
throw new Error(`Unknown serialization format: ${options.format}`);
|
|
13
19
|
}
|
|
14
|
-
const value = serializer.serialize(filterState,
|
|
20
|
+
const value = serializer.serialize(filterState, options);
|
|
15
21
|
return {
|
|
16
|
-
paramName:
|
|
22
|
+
paramName: options.groupedParam,
|
|
17
23
|
value
|
|
18
24
|
};
|
|
19
25
|
}
|
|
20
26
|
catch (error) {
|
|
21
|
-
|
|
22
|
-
|
|
27
|
+
rethrowIfThrown(error);
|
|
28
|
+
const serializationError = new InvalidSerializationError(options.format, toError(error));
|
|
29
|
+
reportIssue(options, serializationError);
|
|
23
30
|
return {
|
|
24
|
-
paramName:
|
|
31
|
+
paramName: options.groupedParam,
|
|
25
32
|
value: ''
|
|
26
33
|
};
|
|
27
34
|
}
|
|
28
35
|
}
|
|
29
|
-
export function deserializeGrouped(value, format, config) {
|
|
36
|
+
export function deserializeGrouped(value, format, config = {}) {
|
|
37
|
+
const options = resolveOptions(config);
|
|
30
38
|
try {
|
|
31
39
|
const serializer = FORMAT_SERIALIZERS[format];
|
|
32
40
|
if (!serializer) {
|
|
33
41
|
throw new Error(`Unknown serialization format: ${format}`);
|
|
34
42
|
}
|
|
35
|
-
return serializer.deserialize(value,
|
|
43
|
+
return serializer.deserialize(value, options);
|
|
36
44
|
}
|
|
37
45
|
catch (error) {
|
|
38
|
-
|
|
39
|
-
|
|
46
|
+
rethrowIfThrown(error);
|
|
47
|
+
const serializationError = new InvalidSerializationError(format, toError(error));
|
|
48
|
+
reportIssue(options, serializationError);
|
|
40
49
|
return {};
|
|
41
50
|
}
|
|
42
51
|
}
|
|
@@ -59,8 +68,7 @@ export function detectGroupedSerialization(url, possibleParams) {
|
|
|
59
68
|
}
|
|
60
69
|
return { isGrouped: false };
|
|
61
70
|
}
|
|
62
|
-
catch
|
|
63
|
-
console.error(`Error detecting grouped serialization: ${error}`);
|
|
71
|
+
catch {
|
|
64
72
|
return { isGrouped: false };
|
|
65
73
|
}
|
|
66
74
|
}
|
|
@@ -89,15 +97,14 @@ function isBase64Format(value) {
|
|
|
89
97
|
}
|
|
90
98
|
function isJsonFormat(value) {
|
|
91
99
|
try {
|
|
92
|
-
|
|
93
|
-
return typeof parsed === 'object' && parsed !== null;
|
|
100
|
+
return v.is(JsonObjectSchema, JSON.parse(value));
|
|
94
101
|
}
|
|
95
102
|
catch {
|
|
96
103
|
return false;
|
|
97
104
|
}
|
|
98
105
|
}
|
|
99
106
|
export function getAvailableFormats() {
|
|
100
|
-
return Object.
|
|
107
|
+
return Object.values(FORMAT_SERIALIZERS).map(serializer => serializer.format);
|
|
101
108
|
}
|
|
102
109
|
export function getFormatSerializer(format) {
|
|
103
110
|
return FORMAT_SERIALIZERS[format] || null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grouped.js","sourceRoot":"","sources":["../../../src/core/serialization/grouped.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"grouped.js","sourceRoot":"","sources":["../../../src/core/serialization/grouped.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"to-error.js","sourceRoot":"","sources":["../../src/core/to-error.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,OAAO,CAAC,KAAc;IACpC,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;AAClE,CAAC"}
|