@crimson-education/browser-logger 2.0.2 → 3.0.1-pinpoint-middleware.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.
Files changed (79) hide show
  1. package/README.md +212 -67
  2. package/lib/index.d.ts +12 -82
  3. package/lib/index.d.ts.map +1 -1
  4. package/lib/index.js +69 -213
  5. package/lib/index.js.map +1 -1
  6. package/lib/logger/consoleTransport.d.ts +37 -0
  7. package/lib/logger/consoleTransport.d.ts.map +1 -0
  8. package/lib/logger/consoleTransport.js +81 -0
  9. package/lib/logger/consoleTransport.js.map +1 -0
  10. package/lib/logger/datadogTransport.d.ts +8 -0
  11. package/lib/logger/datadogTransport.d.ts.map +1 -0
  12. package/lib/logger/datadogTransport.js +21 -0
  13. package/lib/logger/datadogTransport.js.map +1 -0
  14. package/lib/logger/index.d.ts +16 -0
  15. package/lib/logger/index.d.ts.map +1 -0
  16. package/lib/logger/index.js +148 -0
  17. package/lib/logger/index.js.map +1 -0
  18. package/lib/logger/index.test.d.ts +2 -0
  19. package/lib/logger/index.test.d.ts.map +1 -0
  20. package/lib/logger/index.test.js +60 -0
  21. package/lib/logger/index.test.js.map +1 -0
  22. package/lib/logger/utils.d.ts +15 -0
  23. package/lib/logger/utils.d.ts.map +1 -0
  24. package/lib/logger/utils.js +32 -0
  25. package/lib/logger/utils.js.map +1 -0
  26. package/lib/reporters/amplifyReporter.d.ts +83 -77
  27. package/lib/reporters/amplifyReporter.d.ts.map +1 -1
  28. package/lib/reporters/amplifyReporter.js +162 -151
  29. package/lib/reporters/amplifyReporter.js.map +1 -1
  30. package/lib/reporters/amplifyReporter.test.d.ts +1 -1
  31. package/lib/reporters/amplifyReporter.test.js +50 -50
  32. package/lib/reporters/datadogReporter.d.ts +76 -74
  33. package/lib/reporters/datadogReporter.d.ts.map +1 -1
  34. package/lib/reporters/datadogReporter.js +122 -185
  35. package/lib/reporters/datadogReporter.js.map +1 -1
  36. package/lib/reporters/gtmReporter.d.ts +8 -8
  37. package/lib/reporters/gtmReporter.d.ts.map +1 -1
  38. package/lib/reporters/gtmReporter.js +56 -61
  39. package/lib/reporters/gtmReporter.js.map +1 -1
  40. package/lib/reporters/index.d.ts +66 -3
  41. package/lib/reporters/index.d.ts.map +1 -1
  42. package/lib/reporters/index.js +212 -19
  43. package/lib/reporters/index.js.map +1 -1
  44. package/lib/reporters/logReporter.d.ts +35 -0
  45. package/lib/reporters/logReporter.d.ts.map +1 -0
  46. package/lib/reporters/logReporter.js +62 -0
  47. package/lib/reporters/logReporter.js.map +1 -0
  48. package/lib/types/index.d.ts +2 -2
  49. package/lib/types/index.js +18 -18
  50. package/lib/types/logger.d.ts +77 -36
  51. package/lib/types/logger.d.ts.map +1 -1
  52. package/lib/types/logger.js +10 -10
  53. package/lib/types/logger.js.map +1 -1
  54. package/lib/types/reporter.d.ts +154 -102
  55. package/lib/types/reporter.d.ts.map +1 -1
  56. package/lib/types/reporter.js +2 -2
  57. package/lib/utils.d.ts +9 -8
  58. package/lib/utils.d.ts.map +1 -1
  59. package/lib/utils.js +31 -51
  60. package/lib/utils.js.map +1 -1
  61. package/lib/utils.test.d.ts +1 -1
  62. package/lib/utils.test.js +31 -18
  63. package/lib/utils.test.js.map +1 -1
  64. package/package.json +1 -1
  65. package/src/index.ts +38 -208
  66. package/src/logger/consoleTransport.ts +101 -0
  67. package/src/logger/datadogTransport.ts +20 -0
  68. package/src/logger/index.test.ts +68 -0
  69. package/src/logger/index.ts +139 -0
  70. package/src/logger/utils.ts +28 -0
  71. package/src/reporters/amplifyReporter.ts +37 -17
  72. package/src/reporters/datadogReporter.ts +48 -116
  73. package/src/reporters/gtmReporter.ts +2 -7
  74. package/src/reporters/index.ts +216 -3
  75. package/src/reporters/logReporter.ts +86 -0
  76. package/src/types/logger.ts +49 -4
  77. package/src/types/reporter.ts +66 -6
  78. package/src/utils.test.ts +20 -6
  79. package/src/utils.ts +37 -62
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Crimson Education Browser Logger
2
2
 
3
- An abstract logger and reporting utility for browser environments.
3
+ A structured logger and analytics reporting utility for browser environments.
4
4
 
5
5
  This library contains a number of reporters that is will send analytics to.
6
6
 
@@ -34,30 +34,39 @@ Logger.init({
34
34
  application: 'test',
35
35
  },
36
36
 
37
- datadog: {
38
- applicationId: config.datadogApplicationId,
39
- clientToken: config.datadogClientToken,
40
- site: config.datadogSite,
41
- proxyUrl: config.datadogTunnelProxyUrl,
42
- version: config.datadogVersion,
43
-
44
- sampleRate: config.environment === 'production' ? 50 : 0,
45
- replaySampleRate: config.environment === 'production' ? 50 : 0,
46
-
47
- forwardConsoleLogs: true,
48
- trackInteractions: true,
49
- trackFrustrations: true,
50
- allowedTracingOrigins: ['https://my.api.domain']
51
- },
52
-
53
- amplify: {
54
- region: config.awsRegion,
55
- identityPoolId: config.pinpointIdentityPoolId,
56
- analyticsAppId: config.pinpointAnalyticsAppId,
57
-
58
- autoTrackEvents: true,
59
- autoTrackPageViews: true,
60
- autoTrackSessions: true,
37
+ reporters: {
38
+ log: true,
39
+
40
+ gtm: true,
41
+
42
+ datadog: {
43
+ applicationId: config.datadogApplicationId,
44
+ clientToken: config.datadogClientToken,
45
+ site: config.datadogSite,
46
+ proxyUrl: config.datadogTunnelProxyUrl,
47
+ version: config.datadogVersion,
48
+
49
+ sampleRate: config.environment === 'production' ? 50 : 0,
50
+ replaySampleRate: config.environment === 'production' ? 50 : 0,
51
+
52
+ forwardConsoleLogs: true,
53
+ logTransport: {
54
+ level: Logger.LogLevel.Info,
55
+ },
56
+ trackInteractions: true,
57
+ trackFrustrations: true,
58
+ allowedTracingOrigins: ['https://my.api.domain']
59
+ },
60
+
61
+ amplify: {
62
+ region: config.awsRegion,
63
+ identityPoolId: config.pinpointIdentityPoolId,
64
+ analyticsAppId: config.pinpointAnalyticsAppId,
65
+
66
+ autoTrackEvents: true,
67
+ autoTrackPageViews: true,
68
+ autoTrackSessions: true,
69
+ }
61
70
  }
62
71
  });
63
72
 
@@ -77,8 +86,7 @@ Logger.trackEvent({
77
86
  },
78
87
  });
79
88
 
80
- // Must init before you can create a logger.
81
- const logger = Logger.createLogger('app');
89
+ export const logger = Logger.createLogger();
82
90
 
83
91
  // Attributed logging.
84
92
  logger.info('WOW!', {
@@ -86,7 +94,133 @@ logger.info('WOW!', {
86
94
  });
87
95
  ```
88
96
 
89
- ### Reporters
97
+ ### Structured Logging
98
+
99
+ Structured logging in this library is loosely based on Winston, and follows roughly the same interface as `@crimson-education/node-logger`.
100
+
101
+ Call `Logger.createLogger()` to create a logger instance, it is recommended to re-use this as a global logger everywhere, and then call `.child()` to reuse metadata.
102
+
103
+ Global metadata about the service will be added for transport usage after calling `Logger.init()`.
104
+
105
+ You can add more Global Metadata at any time by calling `addMetadata()`.
106
+
107
+
108
+ ```ts
109
+ export const logger = Logger.createLogger();
110
+
111
+ const log = logger.child({
112
+ from: 'childLog',
113
+ });
114
+
115
+ log.info('My Log', { jobCount: jobs.length });
116
+
117
+ const timer = log.startTimer();
118
+
119
+ const result = await job(jobs);
120
+
121
+ timer.done({ message: 'Job Completed', metadata: { id: result.id } });
122
+ ```
123
+
124
+ ### Reporting
125
+
126
+ #### Opting out of events
127
+
128
+ You can opt out of sending events to reporters on a global, or per call basis using the endpoints config.
129
+
130
+ E.g. On calls
131
+
132
+ ```ts
133
+ Logger.trackEvent({
134
+ message: 'my-event',
135
+ toReporters: ['log', 'datadog'],
136
+ excludeReporters: ['datadog']
137
+ });
138
+ ```
139
+
140
+ E.g. Globally
141
+
142
+ ```ts
143
+ Logger.init({
144
+ reporters: {
145
+ log: true,
146
+ datadog: {
147
+ ...
148
+ endpoints: {
149
+ trackEvent: false,
150
+ }
151
+ }
152
+ }
153
+ });
154
+ ```
155
+
156
+ These will only send to the log reporter, it is recommended to use `toReporters` or `excludeReporters` separately as they overlap.
157
+
158
+ #### Filtering out metadata
159
+
160
+ You can filter what metadata gets sent to each reporter in the reporter config.
161
+ This accepts a string for exact match metadata keys, or a RegExp.
162
+ You can use `.` to traverse metadata.
163
+
164
+ ```ts
165
+ Logger.init({
166
+ reporters: {
167
+ log: {
168
+ ignoreMetadataPatterns: [
169
+ 'internalError',
170
+ 'user.email',
171
+ /error\.stack.*/g
172
+ ]
173
+ }
174
+ }
175
+ });
176
+ ```
177
+
178
+ ### Filtering out Breadcrumb categories
179
+
180
+ You can filter what breadcrumbs get sent to reports in the reporter config.
181
+
182
+ ```ts
183
+ Logger.init({
184
+ reporters: {
185
+ log: {
186
+ ignoreBreadcrumbCategories: [
187
+ 'fetch'
188
+ ]
189
+ }
190
+ }
191
+ });
192
+
193
+ // Not sent to the log reporter.
194
+ Logger.addBreadcrumb({
195
+ ...
196
+ category: 'fetch',
197
+ });
198
+ ```
199
+
200
+ ### Configure Reporters
201
+
202
+ #### Log
203
+
204
+ By default, the log reporter is enabled. This adds all reporter functions to logs. Set `reporters.log` to `false` to disable reporter logging.
205
+
206
+ ```ts
207
+ import { config } from '../configuration';
208
+ import * as Logger from '@crimson-education/browser-logger';
209
+
210
+ Logger.init({
211
+ reporters: {
212
+ log: {
213
+ trackEventLevel: Logger.LogInfo.Debug,
214
+ endpoints: {
215
+ recordSession: false,
216
+ recordSessionStop: false,
217
+ }
218
+ }
219
+ }
220
+ });
221
+ ```
222
+
223
+ Check out the [`DatadogReporterConfig`](https://github.com/crimson-education/browser-logger/blob/main/src/reporters/datadogReporter.ts) for all of the configuration you can apply to Datadog reporting.
90
224
 
91
225
  #### Datadog
92
226
 
@@ -97,26 +231,32 @@ import { config } from '../configuration';
97
231
  import * as Logger from '@crimson-education/browser-logger';
98
232
 
99
233
  Logger.init({
100
- ...
101
- datadog: {
102
- applicationId: config.datadogApplicationId,
103
- clientToken: config.datadogClientToken,
104
- site: config.datadogSite,
105
- proxyUrl: config.datadogTunnelProxyUrl,
106
- version: config.datadogVersion,
107
-
108
- sampleRate: config.environment === 'production' ? 50 : 0,
109
- replaySampleRate: config.environment === 'production' ? 50 : 0,
110
-
111
- forwardConsoleLogs: true,
112
- trackInteractions: true,
113
- allowedTracingOrigins: ['https://my.api.domain']
234
+ reporters: {
235
+ datadog: {
236
+ applicationId: config.datadogApplicationId,
237
+ clientToken: config.datadogClientToken,
238
+ site: config.datadogSite,
239
+ proxyUrl: config.datadogTunnelProxyUrl,
240
+ version: config.datadogVersion,
241
+
242
+ sampleRate: config.environment === 'production' ? 50 : 0,
243
+ replaySampleRate: config.environment === 'production' ? 50 : 0,
244
+
245
+ forwardConsoleLogs: true,
246
+ logTransport: {
247
+ level: Logger.LogLevel.Info,
248
+ },
249
+ trackInteractions: true,
250
+ allowedTracingOrigins: ['https://my.api.domain']
251
+ }
114
252
  }
115
253
  });
116
254
  ```
117
255
 
118
256
  Check out the [`DatadogReporterConfig`](https://github.com/crimson-education/browser-logger/blob/main/src/reporters/datadogReporter.ts) for all of the configuration you can apply to Datadog reporting.
119
257
 
258
+ This automatically adds a Datadog Log Transport that transmits Log data to Datadog, this can be customized in `DatadogReporterConfig` with `logTransport`, or disabled by setting `logTransport` to `false`.
259
+
120
260
  #### Amplify/Pinpoint
121
261
 
122
262
  To configure Amplify, this requires at least `region`, `identityPoolId` and `analyticsAppId`.
@@ -131,15 +271,16 @@ import { config } from '../configuration';
131
271
  import * as Logger from '@crimson-education/browser-logger';
132
272
 
133
273
  Logger.init({
134
- ...
135
- amplify: {
136
- region: config.amplifyAwsRegion,
137
- analyticsAppId: config.pinpointAnalyticsAppId,
138
- identityPoolId: config.amplifyIdentityPoolId,
139
-
140
- autoTrackEvents: true,
141
- autoTrackPageViews: true,
142
- autoTrackSessions: true,
274
+ reporters: {
275
+ amplify: {
276
+ region: config.amplifyAwsRegion,
277
+ analyticsAppId: config.pinpointAnalyticsAppId,
278
+ identityPoolId: config.amplifyIdentityPoolId,
279
+
280
+ autoTrackEvents: true,
281
+ autoTrackPageViews: true,
282
+ autoTrackSessions: true,
283
+ }
143
284
  }
144
285
  });
145
286
  ```
@@ -158,15 +299,16 @@ Auth.configure({
158
299
  });
159
300
 
160
301
  Logger.init({
161
- ...
162
- amplify: {
163
- region: config.amplifyAwsRegion,
164
- analyticsAppId: config.pinpointAnalyticsAppId,
165
- identityPoolId: false,
166
-
167
- autoTrackEvents: true,
168
- autoTrackPageViews: true,
169
- autoTrackSessions: true,
302
+ reporters: {
303
+ amplify: {
304
+ region: config.amplifyAwsRegion,
305
+ analyticsAppId: config.pinpointAnalyticsAppId,
306
+ identityPoolId: false,
307
+
308
+ autoTrackEvents: true,
309
+ autoTrackPageViews: true,
310
+ autoTrackSessions: true,
311
+ }
170
312
  }
171
313
  });
172
314
  ```
@@ -184,16 +326,18 @@ import * as Logger from '@crimson-education/browser-logger';
184
326
 
185
327
  // No configuration
186
328
  Logger.init({
187
- ...
188
- gtm: true,
329
+ reporters: {
330
+ gtm: true,
331
+ }
189
332
  });
190
333
 
191
334
  // With configuration
192
335
  Logger.init({
193
- ...
194
- gtm: {
195
- ignoreBreadcrumbCategories: ['fetch']
196
- },
336
+ reporters: {
337
+ gtm: {
338
+ ignoreBreadcrumbCategories: ['fetch']
339
+ }
340
+ }
197
341
  });
198
342
  ```
199
343
 
@@ -201,7 +345,8 @@ Check out the [`GTMReporterConfig`](https://github.com/crimson-education/browser
201
345
 
202
346
  ### Functions
203
347
 
204
- See the [src/index.ts](./src/index.ts) file for all exported functions of the Logger.
348
+ See the [src/logger/index.ts](./src/logger/index.ts) file for all exported functions of the Logger.
349
+ See the [src/reporter/index.ts](./src/reporter/index.ts) file for all exported functions of the Reporter.
205
350
 
206
351
  ### Improve Session Tracking with Component names
207
352
 
package/lib/index.d.ts CHANGED
@@ -1,83 +1,13 @@
1
- import { ILogger, Metadata, ReporterBreadcrumb, ReporterEvent, ReporterFilters, ReportError, ReportUser, ServiceInfo, TrackedReporterEvent } from './types';
2
- import { DatadogReporterConfig, GTMReporterConfig, AmplifyReporterConfig } from './reporters';
3
- export * from './types';
4
- export declare let logger: ILogger | null;
5
- export declare type ReporterType = 'datadog' | 'gtm' | 'amplify';
6
- export declare type ReporterConfig = ServiceInfo & {
7
- datadog?: DatadogReporterConfig;
8
- amplify?: AmplifyReporterConfig;
9
- gtm?: true | GTMReporterConfig;
10
- };
11
- /**
12
- * Initializes the logger and reporters.
13
- * @param config Reporter config options.
14
- */
15
- export declare function init(config: ReporterConfig): void;
16
- /**
17
- * Tracks an Analytics event.
18
- */
19
- export declare function trackEvent(event: ReporterEvent): void;
20
- /**
21
- * Tracks an Analytics event, recording the time since the last event, if available.
22
- */
23
- export declare function trackEventSinceLastAction(event: ReporterEvent): void;
24
- /**
25
- * Gets the last tracked event, if available.
26
- */
27
- export declare function getLastTrackedEvent(): TrackedReporterEvent | null;
28
- /**
29
- * Breadcrumbs to create a trail of events that happened prior to an issue.
30
- * These events are very similar to traditional logs, but can record more rich structured data.
31
- */
32
- export declare function addBreadcrumb(breadcrumb: ReporterBreadcrumb): void;
33
- /**
34
- * Adds global metadata to all events.
35
- * @param metadata Metadata to add.
36
- * @param filters Optional filters to specify which reporters to add metadata to.
37
- */
38
- export declare function addMetadata(metadata: Metadata, filters?: ReporterFilters): void;
39
- /**
40
- * Sets the user information in Analytics.
41
- * @param user User information, or null to clear.
42
- * @param filters Optional filters to specify which reporters to set the user for.
43
- */
44
- export declare function setUser(user: ReportUser | null, filters?: ReporterFilters): void;
45
- /**
46
- * Sets the route name in Analytics.
47
- * Some Analytics services use this differentiate SPA Route vs Page changes.
48
- * @param routeName Name of the Route.
49
- * @param filters Optional filters to specify which reporters to set the route name for.
50
- */
51
- export declare function setRouteName(routeName: string, filters?: ReporterFilters): void;
52
- /**
53
- * Sets the page name in Analytics.
54
- * @param pageName Name of the Page.
55
- * @param filters Optional filters to specify which reporters to set the page name for.
56
- */
57
- export declare function setPageName(pageName: string, filters?: ReporterFilters): void;
58
- /**
59
- * Reports an Error in Reporters that support error tracking.
60
- * @param error Error data.
61
- * @param metadata Metadata to add to the error.
62
- * @param filters Optional filters to specify which reporters to report the error to.
63
- */
64
- export declare function reportError(error: ReportError, metadata?: Metadata, filters?: ReporterFilters): void;
65
- /**
66
- * Starts a session recording in Analytics, e.g. RUM Session Replay
67
- * @param filters Optional filters to specify which reporters to start a session recording for.
68
- */
69
- export declare function recordSession(filters?: ReporterFilters): void;
70
- /**
71
- * Stops a session recording in Analytics, e.g. RUM Session Replay
72
- * @param filters Optional filters to specify which reporters to stop a session recording for.
73
- */
74
- export declare function recordSessionStop(filters?: ReporterFilters): void;
75
- /**
76
- * Creates a Logger instance.
77
- * @param name Name of the Logger.
78
- * @param options Logger configuration options.
79
- */
80
- export declare function createLogger(name?: string, options?: {
81
- metadata?: Metadata;
82
- }): ILogger;
1
+ import { ReporterConfigurations, ServiceInfo } from './types';
2
+ export * from './types';
3
+ export * from './reporters';
4
+ export * from './logger';
5
+ export declare type LoggerConfig = ServiceInfo & {
6
+ reporters?: ReporterConfigurations;
7
+ };
8
+ /**
9
+ * Initializes the logger and reporters.
10
+ * @param config Reporter config options.
11
+ */
12
+ export declare function init(config: LoggerConfig): void;
83
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EAEP,QAAQ,EACR,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,WAAW,EACX,UAAU,EACV,WAAW,EACX,oBAAoB,EACrB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAGL,qBAAqB,EAErB,iBAAiB,EAEjB,qBAAqB,EACtB,MAAM,aAAa,CAAC;AAErB,cAAc,SAAS,CAAC;AAExB,eAAO,IAAI,MAAM,EAAE,OAAO,GAAG,IAAW,CAAC;AAEzC,oBAAY,YAAY,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,CAAC;AAEzD,oBAAY,cAAc,GAAG,WAAW,GAAG;IAEzC,OAAO,CAAC,EAAE,qBAAqB,CAAC;IAGhC,OAAO,CAAC,EAAE,qBAAqB,CAAC;IAGhC,GAAG,CAAC,EAAE,IAAI,GAAG,iBAAiB,CAAC;CAChC,CAAC;AAMF;;;GAGG;AACH,wBAAgB,IAAI,CAAC,MAAM,EAAE,cAAc,QAuB1C;AAkBD;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAIrD;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAgBpE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,oBAAoB,GAAG,IAAI,CAOjE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,kBAAkB,GAAG,IAAI,CAIlE;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI,CAI/E;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI,CAIhF;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI,CAI/E;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI,CAI7E;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI,CAIpG;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI,CAI7D;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI,CAIjE;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,QAAQ,CAAA;CAAE,GAAG,OAAO,CAUtF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAQ9D,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AAEzB,oBAAY,YAAY,GAAG,WAAW,GAAG;IAAE,SAAS,CAAC,EAAE,sBAAsB,CAAA;CAAE,CAAC;AAIhF;;;GAGG;AACH,wBAAgB,IAAI,CAAC,MAAM,EAAE,YAAY,QA2CxC"}