ag-grid-url-sync 0.2.4 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,152 @@
1
+ import { InvalidSerializationError } from '../types.js';
2
+ import { QueryStringSerializer, JsonSerializer, Base64Serializer } from './formats.js';
3
+ /**
4
+ * Registry of available format serializers
5
+ */
6
+ const FORMAT_SERIALIZERS = {
7
+ querystring: new QueryStringSerializer(),
8
+ json: new JsonSerializer(),
9
+ base64: new Base64Serializer()
10
+ };
11
+ /**
12
+ * Serialize filter state using grouped serialization
13
+ * @param filterState - The filter state to serialize
14
+ * @param config - Internal configuration
15
+ * @returns Grouped serialization result with parameter name and value
16
+ */
17
+ export function serializeGrouped(filterState, config) {
18
+ try {
19
+ const serializer = FORMAT_SERIALIZERS[config.format];
20
+ if (!serializer) {
21
+ throw new Error(`Unknown serialization format: ${config.format}`);
22
+ }
23
+ const value = serializer.serialize(filterState);
24
+ return {
25
+ paramName: config.groupedParam,
26
+ value
27
+ };
28
+ }
29
+ catch (error) {
30
+ const serializationError = new InvalidSerializationError(config.format, error);
31
+ config.onParseError(serializationError);
32
+ // Return empty state on error
33
+ return {
34
+ paramName: config.groupedParam,
35
+ value: ''
36
+ };
37
+ }
38
+ }
39
+ /**
40
+ * Deserialize grouped filter state from URL parameter value
41
+ * @param value - The serialized value from URL parameter
42
+ * @param format - The serialization format to use
43
+ * @param config - Internal configuration for error handling
44
+ * @returns Deserialized filter state
45
+ */
46
+ export function deserializeGrouped(value, format, config) {
47
+ try {
48
+ const serializer = FORMAT_SERIALIZERS[format];
49
+ if (!serializer) {
50
+ throw new Error(`Unknown serialization format: ${format}`);
51
+ }
52
+ return serializer.deserialize(value);
53
+ }
54
+ catch (error) {
55
+ const serializationError = new InvalidSerializationError(format, error);
56
+ config.onParseError(serializationError);
57
+ // Return empty state on error
58
+ return {};
59
+ }
60
+ }
61
+ /**
62
+ * Detect if a URL contains grouped serialization parameters
63
+ * @param url - URL to analyze
64
+ * @param possibleParams - Array of possible grouped parameter names to check
65
+ * @returns Detection result with format and value if found
66
+ */
67
+ export function detectGroupedSerialization(url, possibleParams) {
68
+ try {
69
+ const urlObj = new URL(url);
70
+ // Check each possible parameter name
71
+ for (const paramName of possibleParams) {
72
+ const value = urlObj.searchParams.get(paramName);
73
+ if (value) {
74
+ // Try to detect format by attempting to parse
75
+ const format = detectFormat(value);
76
+ if (format) {
77
+ return {
78
+ isGrouped: true,
79
+ paramName,
80
+ format,
81
+ value
82
+ };
83
+ }
84
+ }
85
+ }
86
+ return { isGrouped: false };
87
+ }
88
+ catch (error) {
89
+ console.error(`Error detecting grouped serialization: ${error}`);
90
+ return { isGrouped: false };
91
+ }
92
+ }
93
+ /**
94
+ * Detect the serialization format of a value
95
+ * @param value - The serialized value
96
+ * @returns The detected format
97
+ */
98
+ function detectFormat(value) {
99
+ // Try base64 first (most specific)
100
+ if (isBase64Format(value)) {
101
+ return 'base64';
102
+ }
103
+ // Try JSON format
104
+ if (isJsonFormat(value)) {
105
+ return 'json';
106
+ }
107
+ return 'querystring';
108
+ }
109
+ /**
110
+ * Check if value appears to be base64 encoded
111
+ */
112
+ function isBase64Format(value) {
113
+ try {
114
+ // Base64 pattern check
115
+ const base64Pattern = /^[A-Za-z0-9+/]*={0,2}$/;
116
+ if (!base64Pattern.test(value)) {
117
+ return false;
118
+ }
119
+ // Try to decode and parse as JSON
120
+ const decoded = atob(value);
121
+ JSON.parse(decoded);
122
+ return true;
123
+ }
124
+ catch {
125
+ return false;
126
+ }
127
+ }
128
+ /**
129
+ * Check if value appears to be JSON
130
+ */
131
+ function isJsonFormat(value) {
132
+ try {
133
+ const parsed = JSON.parse(value);
134
+ return typeof parsed === 'object' && parsed !== null;
135
+ }
136
+ catch {
137
+ return false;
138
+ }
139
+ }
140
+ /**
141
+ * Get all available serialization formats
142
+ */
143
+ export function getAvailableFormats() {
144
+ return Object.keys(FORMAT_SERIALIZERS);
145
+ }
146
+ /**
147
+ * Get a specific format serializer
148
+ */
149
+ export function getFormatSerializer(format) {
150
+ return FORMAT_SERIALIZERS[format] || null;
151
+ }
152
+ //# sourceMappingURL=grouped.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grouped.js","sourceRoot":"","sources":["../../../src/core/serialization/grouped.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Serialization module for ag-grid-url-sync
3
+ * Provides grouped serialization functionality with multiple format support
4
+ */
5
+ export { serializeGrouped, deserializeGrouped, detectGroupedSerialization, getAvailableFormats, getFormatSerializer } from './grouped.js';
6
+ export { QueryStringSerializer, JsonSerializer, Base64Serializer } from './formats.js';
7
+ export type { FormatSerializer, GroupedSerializationResult, SerializationFormat, SerializationMode } from '../types.js';
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Serialization module for ag-grid-url-sync
3
+ * Provides grouped serialization functionality with multiple format support
4
+ */
5
+ export { serializeGrouped, deserializeGrouped, detectGroupedSerialization, getAvailableFormats, getFormatSerializer } from './grouped.js';
6
+ export { QueryStringSerializer, JsonSerializer, Base64Serializer } from './formats.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/serialization/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,0BAA0B,EAC1B,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,cAAc,CAAA;AAErB,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EACjB,MAAM,cAAc,CAAA"}
@@ -1,19 +1,35 @@
1
1
  import type { GridApi as AGGridApi, TextFilterModel, NumberFilterModel, DateFilterModel } from 'ag-grid-community';
2
+ /**
3
+ * Serialization modes for URL parameters
4
+ */
5
+ export type SerializationMode = 'individual' | 'grouped';
6
+ /**
7
+ * Serialization formats for grouped mode
8
+ */
9
+ export type SerializationFormat = 'querystring' | 'json' | 'base64';
2
10
  /**
3
11
  * Configuration options for AG Grid URL Sync
4
12
  *
5
13
  * @example
6
14
  * ```typescript
15
+ * // Individual mode (default - backward compatible)
7
16
  * const config: AGGridUrlSyncConfig = {
8
17
  * paramPrefix: 'filter_',
9
18
  * maxValueLength: 500,
10
19
  * onParseError: (error) => console.warn('Filter parse error:', error)
11
20
  * }
21
+ *
22
+ * // Grouped mode with base64 format
23
+ * const groupedConfig: AGGridUrlSyncConfig = {
24
+ * serialization: 'grouped',
25
+ * format: 'base64',
26
+ * groupedParam: 'filters'
27
+ * }
12
28
  * ```
13
29
  */
14
30
  export interface AGGridUrlSyncConfig {
15
31
  /**
16
- * Prefix for URL parameters
32
+ * Prefix for URL parameters (only used in individual mode)
17
33
  * @default 'f_'
18
34
  * @example 'filter_' results in URLs like '?filter_name_contains=john'
19
35
  */
@@ -28,6 +44,21 @@ export interface AGGridUrlSyncConfig {
28
44
  * Allows graceful error handling without breaking the application.
29
45
  */
30
46
  onParseError?: (error: Error) => void;
47
+ /**
48
+ * Serialization mode for URL parameters
49
+ * @default 'individual'
50
+ */
51
+ serialization?: SerializationMode;
52
+ /**
53
+ * Parameter name for grouped serialization
54
+ * @default 'grid_filters'
55
+ */
56
+ groupedParam?: string;
57
+ /**
58
+ * Serialization format for grouped mode
59
+ * @default 'querystring'
60
+ */
61
+ format?: SerializationFormat;
31
62
  }
32
63
  /**
33
64
  * Internal configuration with all required fields and runtime dependencies
@@ -195,6 +226,12 @@ export declare class InvalidURLError extends URLSyncError {
195
226
  export declare class InvalidDateError extends InvalidFilterError {
196
227
  constructor(message: string, cause?: Error);
197
228
  }
229
+ /**
230
+ * Error thrown when serialization/deserialization fails
231
+ */
232
+ export declare class InvalidSerializationError extends Error {
233
+ constructor(format: string, cause: Error);
234
+ }
198
235
  /**
199
236
  * Parsed filter parameter information for internal processing
200
237
  */
@@ -226,6 +263,39 @@ export interface RawAGGridFilter {
226
263
  dateFrom?: string;
227
264
  dateTo?: string;
228
265
  }
266
+ /**
267
+ * Grouped serialization result
268
+ */
269
+ export interface GroupedSerializationResult {
270
+ /** The parameter name for the grouped filters */
271
+ paramName: string;
272
+ /** The serialized filter value */
273
+ value: string;
274
+ }
275
+ /**
276
+ * Format-specific serializer interface
277
+ */
278
+ export interface FormatSerializer {
279
+ /** Serialize filter state to string */
280
+ serialize(filterState: FilterState): string;
281
+ /** Deserialize string to filter state */
282
+ deserialize(value: string): FilterState;
283
+ /** Format identifier */
284
+ format: SerializationFormat;
285
+ }
286
+ /**
287
+ * Detection result for grouped parameters
288
+ */
289
+ export interface GroupedDetectionResult {
290
+ /** Whether grouped serialization was detected */
291
+ isGrouped: boolean;
292
+ /** The parameter name if grouped */
293
+ paramName?: string;
294
+ /** The detected format if grouped */
295
+ format?: SerializationFormat;
296
+ /** The raw value if grouped */
297
+ value?: string;
298
+ }
229
299
  /**
230
300
  * Maps URL operation names to internal operation types
231
301
  */
@@ -152,6 +152,16 @@ export class InvalidDateError extends InvalidFilterError {
152
152
  this.name = 'InvalidDateError';
153
153
  }
154
154
  }
155
+ /**
156
+ * Error thrown when serialization/deserialization fails
157
+ */
158
+ export class InvalidSerializationError extends Error {
159
+ constructor(format, cause) {
160
+ super(`Invalid ${format} serialization: ${cause.message}`);
161
+ this.name = 'InvalidSerializationError';
162
+ this.cause = cause;
163
+ }
164
+ }
155
165
  // ============================================================================
156
166
  // OPERATION MAPPINGS
157
167
  // ============================================================================
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { validateFilterValue } from './validation.js';
2
2
  import { INTERNAL_TO_URL_OPERATION_MAP } from './types.js';
3
+ import { serializeGrouped } from './serialization/grouped.js';
3
4
  const FILTER_TYPES = {
4
5
  TEXT: 'text',
5
6
  NUMBER: 'number',
@@ -98,17 +99,35 @@ export function serializeFilters(filterState, config) {
98
99
  }
99
100
  return params;
100
101
  }
102
+ /**
103
+ * Helper to extract and preserve non-filter parameters from a URL
104
+ */
105
+ function getPreservedParams(url, config, excludeParam) {
106
+ const params = new URLSearchParams();
107
+ for (const [key, value] of url.searchParams.entries()) {
108
+ if ((excludeParam && key === excludeParam) ||
109
+ (config.paramPrefix && key.startsWith(config.paramPrefix))) {
110
+ continue;
111
+ }
112
+ params.set(key, value);
113
+ }
114
+ return params;
115
+ }
101
116
  /**
102
117
  * Generates a URL with the current filter state
103
118
  */
104
119
  export function generateUrl(baseUrl, filterState, config) {
105
120
  const url = new URL(baseUrl);
121
+ // Handle grouped serialization
122
+ if (config.serialization === 'grouped') {
123
+ return generateGroupedUrl(baseUrl, filterState, config);
124
+ }
125
+ // Handle individual serialization (existing logic)
106
126
  const filterParams = serializeFilters(filterState, config);
107
- // Preserve existing non-filter parameters
108
- for (const [key, value] of url.searchParams.entries()) {
109
- if (!key.startsWith(config.paramPrefix)) {
110
- filterParams.append(key, value);
111
- }
127
+ // Use shared helper to preserve non-filter parameters
128
+ const preservedParams = getPreservedParams(url, config);
129
+ for (const [key, value] of preservedParams.entries()) {
130
+ filterParams.append(key, value);
112
131
  }
113
132
  const queryString = filterParams.toString();
114
133
  // If no filters, return the base URL without query string or trailing slash
@@ -123,4 +142,37 @@ export function generateUrl(baseUrl, filterState, config) {
123
142
  url.search = queryString;
124
143
  return url.toString();
125
144
  }
145
+ /**
146
+ * Generates a URL with grouped serialization
147
+ */
148
+ function generateGroupedUrl(baseUrl, filterState, config) {
149
+ const url = new URL(baseUrl);
150
+ // Serialize filters using grouped format
151
+ const groupedResult = serializeGrouped(filterState, config);
152
+ // Use shared helper to preserve non-filter parameters (excluding grouped param)
153
+ const preservedParams = getPreservedParams(url, config, config.groupedParam);
154
+ url.search = '';
155
+ for (const [key, value] of preservedParams.entries()) {
156
+ url.searchParams.set(key, value);
157
+ }
158
+ // Add the grouped parameter if there are filters
159
+ if (groupedResult.value) {
160
+ url.searchParams.set(groupedResult.paramName, groupedResult.value);
161
+ }
162
+ // If no filters, ensure the grouped param is removed
163
+ if (!groupedResult.value && url.searchParams.has(config.groupedParam)) {
164
+ url.searchParams.delete(config.groupedParam);
165
+ }
166
+ // Clean up empty query string
167
+ const queryString = url.searchParams.toString();
168
+ if (!queryString) {
169
+ let result = url.toString().replace(/\?$/, '');
170
+ // Remove trailing slash for root paths when no query parameters
171
+ if (result.endsWith('/') && result === url.origin + '/') {
172
+ result = result.slice(0, -1);
173
+ }
174
+ return result;
175
+ }
176
+ return url.toString();
177
+ }
126
178
  //# sourceMappingURL=url-generator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"url-generator.js","sourceRoot":"","sources":["../../src/core/url-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"url-generator.js","sourceRoot":"","sources":["../../src/core/url-generator.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { InvalidFilterError, InvalidURLError, OPERATION_MAP } from './types.js';
2
2
  import { validateFilterValue, validateAndParseNumber, validateNumberRange, validateNumberFilter, validateAndParseDate, validateAndParseDateRange, validateDateFilter, DEFAULT_CONFIG } from './validation.js';
3
+ import { detectGroupedSerialization, deserializeGrouped } from './serialization/grouped.js';
3
4
  /**
4
5
  * Detects if an operation is number-specific
5
6
  */
@@ -249,6 +250,17 @@ export function parseUrlFilters(url, config) {
249
250
  else {
250
251
  urlToProcess = url;
251
252
  }
253
+ // First, try to detect grouped serialization
254
+ const DEFAULT_GROUPED_PARAMS = ['grid_filters', 'filters'];
255
+ const groupedDetection = detectGroupedSerialization(urlToProcess, [config.groupedParam, ...DEFAULT_GROUPED_PARAMS] // Common parameter names to check
256
+ );
257
+ if (groupedDetection.isGrouped &&
258
+ groupedDetection.value &&
259
+ groupedDetection.format) {
260
+ // Handle grouped serialization
261
+ return deserializeGrouped(groupedDetection.value, groupedDetection.format, config);
262
+ }
263
+ // Handle individual serialization (existing logic)
252
264
  const urlObj = new URL(urlToProcess);
253
265
  const filterState = {};
254
266
  for (const [param, value] of urlObj.searchParams.entries()) {
@@ -1 +1 @@
1
- {"version":3,"file":"url-parser.js","sourceRoot":"","sources":["../../src/core/url-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"url-parser.js","sourceRoot":"","sources":["../../src/core/url-parser.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,14 @@
1
- import type { InternalConfig, FilterOperation, DateFilterOperation } from './types.js';
1
+ import type { InternalConfig, FilterOperation, DateFilterOperation, ColumnFilter } from './types.js';
2
2
  /**
3
3
  * Default configuration values
4
4
  */
5
5
  export declare const DEFAULT_CONFIG: {
6
6
  readonly paramPrefix: "f_";
7
7
  readonly maxValueLength: 200;
8
+ readonly serialization: "individual";
9
+ readonly groupedParam: "grid_filters";
10
+ readonly format: "querystring";
11
+ readonly onParseError: () => void;
8
12
  };
9
13
  /**
10
14
  * Validation result interface
@@ -78,3 +82,10 @@ export declare function validateDateRange(startDate: string, endDate: string): V
78
82
  * @returns Tuple of [startDate, endDate] or throws InvalidDateError
79
83
  */
80
84
  export declare function validateAndParseDateRange(rangeValue: string): [string, string];
85
+ /**
86
+ * Validates if an object is a valid column filter
87
+ *
88
+ * @param obj - The object to validate
89
+ * @returns Type guard that narrows the type to ColumnFilter
90
+ */
91
+ export declare function isValidColumnFilter(obj: unknown): obj is ColumnFilter;
@@ -1,10 +1,14 @@
1
- import { InvalidFilterError, InvalidDateError } from './types.js';
1
+ import { InvalidFilterError, InvalidDateError, TEXT_FILTER_OPERATIONS, NUMBER_FILTER_OPERATIONS, DATE_FILTER_OPERATIONS } from './types.js';
2
2
  /**
3
3
  * Default configuration values
4
4
  */
5
5
  export const DEFAULT_CONFIG = {
6
6
  paramPrefix: 'f_',
7
- maxValueLength: 200
7
+ maxValueLength: 200,
8
+ serialization: 'individual',
9
+ groupedParam: 'grid_filters',
10
+ format: 'querystring',
11
+ onParseError: () => { }
8
12
  };
9
13
  /**
10
14
  * Validates a text filter value against configuration constraints
@@ -196,4 +200,39 @@ export function validateAndParseDateRange(rangeValue) {
196
200
  }
197
201
  return [startDate, endDate];
198
202
  }
203
+ /**
204
+ * Validates if an object is a valid column filter
205
+ *
206
+ * @param obj - The object to validate
207
+ * @returns Type guard that narrows the type to ColumnFilter
208
+ */
209
+ export function isValidColumnFilter(obj) {
210
+ if (!obj || typeof obj !== 'object') {
211
+ return false;
212
+ }
213
+ const filter = obj;
214
+ // Check for required properties
215
+ if (!filter.filterType ||
216
+ !filter.type ||
217
+ typeof filter.filterType !== 'string' ||
218
+ typeof filter.type !== 'string') {
219
+ return false;
220
+ }
221
+ // Validate based on filter type
222
+ if (filter.filterType === 'text') {
223
+ return (typeof filter.filter === 'string' &&
224
+ TEXT_FILTER_OPERATIONS.includes(filter.type));
225
+ }
226
+ if (filter.filterType === 'number') {
227
+ return (typeof filter.filter === 'number' &&
228
+ NUMBER_FILTER_OPERATIONS.includes(filter.type) &&
229
+ (filter.filterTo === undefined || typeof filter.filterTo === 'number'));
230
+ }
231
+ if (filter.filterType === 'date') {
232
+ return (typeof filter.filter === 'string' &&
233
+ DATE_FILTER_OPERATIONS.includes(filter.type) &&
234
+ (filter.filterTo === undefined || typeof filter.filterTo === 'string'));
235
+ }
236
+ return false;
237
+ }
199
238
  //# sourceMappingURL=validation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/core/validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/core/validation.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -4,3 +4,5 @@ export { validateFilterValue, DEFAULT_CONFIG } from './core/validation.js';
4
4
  export { parseUrlFilters, parseFilterParam } from './core/url-parser.js';
5
5
  export { serializeFilters, generateUrl } from './core/url-generator.js';
6
6
  export { getFilterModel, applyFilterModel } from './core/grid-integration.js';
7
+ export { serializeGrouped, deserializeGrouped, detectGroupedSerialization, getAvailableFormats, getFormatSerializer } from './core/serialization/grouped.js';
8
+ export { QueryStringSerializer, JsonSerializer, Base64Serializer } from './core/serialization/formats.js';
package/dist/index.js CHANGED
@@ -9,4 +9,7 @@ export { parseUrlFilters, parseFilterParam } from './core/url-parser.js';
9
9
  export { serializeFilters, generateUrl } from './core/url-generator.js';
10
10
  // AG Grid integration utilities
11
11
  export { getFilterModel, applyFilterModel } from './core/grid-integration.js';
12
+ // Grouped serialization utilities
13
+ export { serializeGrouped, deserializeGrouped, detectGroupedSerialization, getAvailableFormats, getFormatSerializer } from './core/serialization/grouped.js';
14
+ export { QueryStringSerializer, JsonSerializer, Base64Serializer } from './core/serialization/formats.js';
12
15
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAEzE,cAAc,iBAAiB,CAAA;AAE/B,uBAAuB;AACvB,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE1E,wBAAwB;AACxB,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAExE,2BAA2B;AAC3B,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAEvE,gCAAgC;AAChC,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAEzE,cAAc,iBAAiB,CAAA;AAE/B,uBAAuB;AACvB,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE1E,wBAAwB;AACxB,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAExE,2BAA2B;AAC3B,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAEvE,gCAAgC;AAChC,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAE7E,kCAAkC;AAClC,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,0BAA0B,EAC1B,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,iCAAiC,CAAA;AAExC,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EACjB,MAAM,iCAAiC,CAAA"}