@foundatiofx/fetchclient 0.47.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 (106) hide show
  1. package/esm/mod.js +5 -0
  2. package/esm/package.json +3 -0
  3. package/esm/src/Counter.js +36 -0
  4. package/esm/src/DefaultHelpers.js +132 -0
  5. package/esm/src/FetchClient.js +543 -0
  6. package/esm/src/FetchClientCache.js +88 -0
  7. package/esm/src/FetchClientContext.js +1 -0
  8. package/esm/src/FetchClientMiddleware.js +1 -0
  9. package/esm/src/FetchClientOptions.js +1 -0
  10. package/esm/src/FetchClientProvider.js +200 -0
  11. package/esm/src/FetchClientResponse.js +1 -0
  12. package/esm/src/LinkHeader.js +70 -0
  13. package/esm/src/ObjectEvent.js +15 -0
  14. package/esm/src/ProblemDetails.js +47 -0
  15. package/esm/src/RateLimitMiddleware.js +115 -0
  16. package/esm/src/RateLimiter.js +347 -0
  17. package/esm/src/RequestOptions.js +1 -0
  18. package/license +20 -0
  19. package/package.json +50 -0
  20. package/readme.md +303 -0
  21. package/script/mod.js +27 -0
  22. package/script/package.json +3 -0
  23. package/script/src/Counter.js +40 -0
  24. package/script/src/DefaultHelpers.js +149 -0
  25. package/script/src/FetchClient.js +547 -0
  26. package/script/src/FetchClientCache.js +92 -0
  27. package/script/src/FetchClientContext.js +2 -0
  28. package/script/src/FetchClientMiddleware.js +2 -0
  29. package/script/src/FetchClientOptions.js +2 -0
  30. package/script/src/FetchClientProvider.js +204 -0
  31. package/script/src/FetchClientResponse.js +2 -0
  32. package/script/src/LinkHeader.js +72 -0
  33. package/script/src/ObjectEvent.js +19 -0
  34. package/script/src/ProblemDetails.js +51 -0
  35. package/script/src/RateLimitMiddleware.js +120 -0
  36. package/script/src/RateLimiter.js +356 -0
  37. package/script/src/RequestOptions.js +2 -0
  38. package/types/_dnt.test_shims.d.ts.map +1 -0
  39. package/types/deps/jsr.io/@std/assert/1.0.14/almost_equals.d.ts.map +1 -0
  40. package/types/deps/jsr.io/@std/assert/1.0.14/array_includes.d.ts.map +1 -0
  41. package/types/deps/jsr.io/@std/assert/1.0.14/assert.d.ts.map +1 -0
  42. package/types/deps/jsr.io/@std/assert/1.0.14/assertion_error.d.ts.map +1 -0
  43. package/types/deps/jsr.io/@std/assert/1.0.14/equal.d.ts.map +1 -0
  44. package/types/deps/jsr.io/@std/assert/1.0.14/equals.d.ts.map +1 -0
  45. package/types/deps/jsr.io/@std/assert/1.0.14/exists.d.ts.map +1 -0
  46. package/types/deps/jsr.io/@std/assert/1.0.14/fail.d.ts.map +1 -0
  47. package/types/deps/jsr.io/@std/assert/1.0.14/false.d.ts.map +1 -0
  48. package/types/deps/jsr.io/@std/assert/1.0.14/greater.d.ts.map +1 -0
  49. package/types/deps/jsr.io/@std/assert/1.0.14/greater_or_equal.d.ts.map +1 -0
  50. package/types/deps/jsr.io/@std/assert/1.0.14/instance_of.d.ts.map +1 -0
  51. package/types/deps/jsr.io/@std/assert/1.0.14/is_error.d.ts.map +1 -0
  52. package/types/deps/jsr.io/@std/assert/1.0.14/less.d.ts.map +1 -0
  53. package/types/deps/jsr.io/@std/assert/1.0.14/less_or_equal.d.ts.map +1 -0
  54. package/types/deps/jsr.io/@std/assert/1.0.14/match.d.ts.map +1 -0
  55. package/types/deps/jsr.io/@std/assert/1.0.14/mod.d.ts.map +1 -0
  56. package/types/deps/jsr.io/@std/assert/1.0.14/not_equals.d.ts.map +1 -0
  57. package/types/deps/jsr.io/@std/assert/1.0.14/not_instance_of.d.ts.map +1 -0
  58. package/types/deps/jsr.io/@std/assert/1.0.14/not_match.d.ts.map +1 -0
  59. package/types/deps/jsr.io/@std/assert/1.0.14/not_strict_equals.d.ts.map +1 -0
  60. package/types/deps/jsr.io/@std/assert/1.0.14/object_match.d.ts.map +1 -0
  61. package/types/deps/jsr.io/@std/assert/1.0.14/rejects.d.ts.map +1 -0
  62. package/types/deps/jsr.io/@std/assert/1.0.14/strict_equals.d.ts.map +1 -0
  63. package/types/deps/jsr.io/@std/assert/1.0.14/string_includes.d.ts.map +1 -0
  64. package/types/deps/jsr.io/@std/assert/1.0.14/throws.d.ts.map +1 -0
  65. package/types/deps/jsr.io/@std/assert/1.0.14/unimplemented.d.ts.map +1 -0
  66. package/types/deps/jsr.io/@std/assert/1.0.14/unreachable.d.ts.map +1 -0
  67. package/types/deps/jsr.io/@std/internal/1.0.10/build_message.d.ts.map +1 -0
  68. package/types/deps/jsr.io/@std/internal/1.0.10/diff.d.ts.map +1 -0
  69. package/types/deps/jsr.io/@std/internal/1.0.10/diff_str.d.ts.map +1 -0
  70. package/types/deps/jsr.io/@std/internal/1.0.10/format.d.ts.map +1 -0
  71. package/types/deps/jsr.io/@std/internal/1.0.10/styles.d.ts.map +1 -0
  72. package/types/deps/jsr.io/@std/internal/1.0.10/types.d.ts.map +1 -0
  73. package/types/mod.d.ts +11 -0
  74. package/types/mod.d.ts.map +1 -0
  75. package/types/src/Counter.d.ts +27 -0
  76. package/types/src/Counter.d.ts.map +1 -0
  77. package/types/src/DefaultHelpers.d.ts +106 -0
  78. package/types/src/DefaultHelpers.d.ts.map +1 -0
  79. package/types/src/FetchClient.d.ts +156 -0
  80. package/types/src/FetchClient.d.ts.map +1 -0
  81. package/types/src/FetchClient.test.d.ts.map +1 -0
  82. package/types/src/FetchClientCache.d.ts +62 -0
  83. package/types/src/FetchClientCache.d.ts.map +1 -0
  84. package/types/src/FetchClientContext.d.ts +8 -0
  85. package/types/src/FetchClientContext.d.ts.map +1 -0
  86. package/types/src/FetchClientMiddleware.d.ts +9 -0
  87. package/types/src/FetchClientMiddleware.d.ts.map +1 -0
  88. package/types/src/FetchClientOptions.d.ts +53 -0
  89. package/types/src/FetchClientOptions.d.ts.map +1 -0
  90. package/types/src/FetchClientProvider.d.ts +109 -0
  91. package/types/src/FetchClientProvider.d.ts.map +1 -0
  92. package/types/src/FetchClientResponse.d.ts +29 -0
  93. package/types/src/FetchClientResponse.d.ts.map +1 -0
  94. package/types/src/LinkHeader.d.ts +15 -0
  95. package/types/src/LinkHeader.d.ts.map +1 -0
  96. package/types/src/ObjectEvent.d.ts +20 -0
  97. package/types/src/ObjectEvent.d.ts.map +1 -0
  98. package/types/src/ProblemDetails.d.ts +43 -0
  99. package/types/src/ProblemDetails.d.ts.map +1 -0
  100. package/types/src/RateLimit.test.d.ts.map +1 -0
  101. package/types/src/RateLimitMiddleware.d.ts +50 -0
  102. package/types/src/RateLimitMiddleware.d.ts.map +1 -0
  103. package/types/src/RateLimiter.d.ts +179 -0
  104. package/types/src/RateLimiter.d.ts.map +1 -0
  105. package/types/src/RequestOptions.d.ts +64 -0
  106. package/types/src/RequestOptions.d.ts.map +1 -0
@@ -0,0 +1,356 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RateLimiter = void 0;
4
+ exports.groupByDomain = groupByDomain;
5
+ exports.buildRateLimitHeader = buildRateLimitHeader;
6
+ exports.buildRateLimitPolicyHeader = buildRateLimitPolicyHeader;
7
+ exports.parseRateLimitHeader = parseRateLimitHeader;
8
+ exports.parseRateLimitPolicyHeader = parseRateLimitPolicyHeader;
9
+ /**
10
+ * A rate limiter that tracks requests per time window.
11
+ */
12
+ class RateLimiter {
13
+ options;
14
+ buckets = new Map();
15
+ groupOptions = new Map();
16
+ constructor(options) {
17
+ this.options = {
18
+ getGroupFunc: () => "global",
19
+ onRateLimitExceeded: () => { },
20
+ groups: {},
21
+ ...options,
22
+ };
23
+ // Initialize group options if provided
24
+ if (options.groups) {
25
+ for (const [groupKey, groupOptions] of Object.entries(options.groups)) {
26
+ this.groupOptions.set(groupKey, groupOptions);
27
+ }
28
+ }
29
+ }
30
+ /**
31
+ * Checks if a request is allowed and updates the rate limit state.
32
+ * @param url - The request URL
33
+ * @returns True if the request is allowed, false if rate limit is exceeded
34
+ */
35
+ isAllowed(url) {
36
+ const key = this.options.getGroupFunc(url);
37
+ const groupOptions = this.getGroupOptions(key);
38
+ const now = Date.now();
39
+ // Use group-specific options if available, otherwise fall back to global options
40
+ const maxRequests = groupOptions.maxRequests ?? 0;
41
+ const windowSeconds = groupOptions.windowSeconds ?? 0;
42
+ const onRateLimitExceeded = groupOptions.onRateLimitExceeded ??
43
+ this.options.onRateLimitExceeded;
44
+ let bucket = this.buckets.get(key);
45
+ if (!bucket) {
46
+ bucket = {
47
+ requests: [],
48
+ resetTime: now + (windowSeconds * 1000),
49
+ };
50
+ this.buckets.set(key, bucket);
51
+ }
52
+ // Clean up old requests outside the time window
53
+ const windowStart = now - (windowSeconds * 1000);
54
+ bucket.requests = bucket.requests.filter((time) => time > windowStart);
55
+ // Update reset time if all requests have expired
56
+ if (bucket.requests.length === 0) {
57
+ bucket.resetTime = now + (windowSeconds * 1000);
58
+ }
59
+ // Check if we're within the rate limit
60
+ if (bucket.requests.length >= maxRequests) {
61
+ onRateLimitExceeded(bucket.resetTime);
62
+ return false;
63
+ }
64
+ // Add the current request
65
+ bucket.requests.push(now);
66
+ return true;
67
+ }
68
+ /**
69
+ * Gets the current request count for a specific key.
70
+ * @param url - The request URL
71
+ * @returns The current number of requests in the time window
72
+ */
73
+ getRequestCount(url) {
74
+ const key = this.options.getGroupFunc(url);
75
+ const groupOptions = this.getGroupOptions(key);
76
+ const bucket = this.buckets.get(key);
77
+ if (!bucket) {
78
+ return 0;
79
+ }
80
+ const now = Date.now();
81
+ const windowSeconds = groupOptions.windowSeconds ?? 0;
82
+ const windowStart = now - (windowSeconds * 1000);
83
+ return bucket.requests.filter((time) => time > windowStart).length;
84
+ }
85
+ /**
86
+ * Gets the remaining requests allowed for a specific key.
87
+ * @param url - The request URL
88
+ * @returns The number of remaining requests allowed
89
+ */
90
+ getRemainingRequests(url) {
91
+ const key = this.options.getGroupFunc(url);
92
+ const groupOptions = this.getGroupOptions(key);
93
+ const maxRequests = groupOptions.maxRequests ?? 0;
94
+ return Math.max(0, maxRequests - this.getRequestCount(url));
95
+ }
96
+ /**
97
+ * Gets the time when the rate limit will reset for a specific key.
98
+ * @param url - The request URL
99
+ * @returns The reset time in milliseconds since epoch, or null if no bucket exists
100
+ */
101
+ getResetTime(url) {
102
+ const key = this.options.getGroupFunc(url);
103
+ const bucket = this.buckets.get(key);
104
+ return bucket?.resetTime ?? null;
105
+ }
106
+ /**
107
+ * Clears the rate limit state for a specific key.
108
+ * @param url - The request URL
109
+ */
110
+ clearBucket(url) {
111
+ const key = this.options.getGroupFunc(url);
112
+ this.buckets.delete(key);
113
+ }
114
+ /**
115
+ * Gets the group key for a URL.
116
+ * @param url - The request URL
117
+ * @returns The group key
118
+ */
119
+ getGroup(url) {
120
+ return this.options.getGroupFunc(url);
121
+ }
122
+ /**
123
+ * Gets the options for a specific group. Falls back to global options if not set.
124
+ * @param group - The group key
125
+ * @returns The options for the group
126
+ */
127
+ getGroupOptions(group) {
128
+ const options = this.groupOptions.get(group);
129
+ if (!options) {
130
+ return {
131
+ maxRequests: this.options.maxRequests,
132
+ windowSeconds: this.options.windowSeconds,
133
+ };
134
+ }
135
+ return options;
136
+ }
137
+ /**
138
+ * Checks if a group has specific options set.
139
+ * @param group - The group key
140
+ * @returns True if the group has options, false otherwise
141
+ */
142
+ hasGroupOptions(group) {
143
+ return this.groupOptions.has(group);
144
+ }
145
+ /**
146
+ * Sets options for a specific group.
147
+ * @param group - The group key
148
+ * @param options - The options to set
149
+ */
150
+ setGroupOptions(group, options) {
151
+ this.groupOptions.set(group, options);
152
+ }
153
+ /**
154
+ * Sets rate limit options for a request.
155
+ * @param url - The request URL
156
+ * @param options - The options to set for this group
157
+ */
158
+ setOptionsForRequest(url, options) {
159
+ const group = this.getGroup(url);
160
+ this.setGroupOptions(group, options);
161
+ }
162
+ /**
163
+ * Updates rate limit options for a request based on standard rate limit headers.
164
+ * @param url - The request URL
165
+ * @param method - The HTTP method
166
+ * @param headers - The response headers containing rate limit information
167
+ */
168
+ updateFromHeadersForRequest(url, headers) {
169
+ const group = this.getGroup(url);
170
+ this.updateFromHeaders(group, headers);
171
+ }
172
+ /**
173
+ * Updates rate limit options based on standard rate limit headers.
174
+ * @param group - The group key
175
+ * @param headers - The response headers containing rate limit information
176
+ */
177
+ updateFromHeaders(group, headers) {
178
+ // Get existing group-specific options (not global fallback)
179
+ const currentOptions = this.hasGroupOptions(group)
180
+ ? this.groupOptions.get(group)
181
+ : {};
182
+ const newOptions = { ...currentOptions };
183
+ // Parse IETF standard rate limit headers first, then fall back to x-ratelimit headers
184
+ let limit = null;
185
+ let window = null;
186
+ let reset = null;
187
+ // Try IETF standard headers first
188
+ const rateLimitPolicyHeader = headers.get("ratelimit-policy");
189
+ if (rateLimitPolicyHeader) {
190
+ const parsed = parseRateLimitPolicyHeader(rateLimitPolicyHeader);
191
+ if (parsed?.limit) {
192
+ limit = parsed.limit.toString();
193
+ }
194
+ if (parsed?.windowSeconds) {
195
+ window = parsed.windowSeconds.toString();
196
+ }
197
+ }
198
+ const rateLimitHeader = headers.get("ratelimit");
199
+ if (rateLimitHeader) {
200
+ const parsed = parseRateLimitHeader(rateLimitHeader);
201
+ if (parsed?.resetSeconds) {
202
+ reset = parsed.resetSeconds.toString();
203
+ }
204
+ }
205
+ // Fall back to x-ratelimit headers if IETF headers not found
206
+ if (!limit) {
207
+ limit = headers.get("x-ratelimit-limit") ||
208
+ headers.get("x-rate-limit-limit");
209
+ }
210
+ if (!window) {
211
+ window = headers.get("x-ratelimit-window") ||
212
+ headers.get("x-rate-limit-window");
213
+ }
214
+ if (!reset) {
215
+ reset = headers.get("x-ratelimit-reset") ||
216
+ headers.get("x-rate-limit-reset");
217
+ }
218
+ let hasChanges = false;
219
+ // Apply the parsed values
220
+ if (limit) {
221
+ const maxRequests = parseInt(limit, 10);
222
+ if (!isNaN(maxRequests)) {
223
+ newOptions.maxRequests = maxRequests;
224
+ hasChanges = true;
225
+ }
226
+ }
227
+ if (window) {
228
+ const windowSeconds = parseInt(window, 10);
229
+ if (!isNaN(windowSeconds)) {
230
+ newOptions.windowSeconds = windowSeconds;
231
+ hasChanges = true;
232
+ }
233
+ }
234
+ else if (reset) {
235
+ // If no window header, try to calculate from reset time
236
+ const resetTime = parseInt(reset, 10);
237
+ if (!isNaN(resetTime)) {
238
+ const now = Math.floor(Date.now() / 1000);
239
+ const windowSeconds = Math.max(1, resetTime - now);
240
+ newOptions.windowSeconds = windowSeconds;
241
+ hasChanges = true;
242
+ }
243
+ }
244
+ // Update the group options if we found valid headers
245
+ if (hasChanges) {
246
+ this.setGroupOptions(group, newOptions);
247
+ }
248
+ }
249
+ /**
250
+ * Clears all rate limit state.
251
+ */
252
+ clearAll() {
253
+ this.buckets.clear();
254
+ }
255
+ }
256
+ exports.RateLimiter = RateLimiter;
257
+ /**
258
+ * Creates a group generator function that groups requests by domain only (no protocol).
259
+ * @param url - The request URL
260
+ * @returns A string representing the domain without protocol
261
+ */
262
+ function groupByDomain(url) {
263
+ try {
264
+ const urlObj = new URL(url);
265
+ return urlObj.hostname;
266
+ }
267
+ catch {
268
+ return url;
269
+ }
270
+ }
271
+ /**
272
+ * Creates an IETF standard RateLimit header value.
273
+ * @param info - The rate limit information
274
+ * @returns The formatted RateLimit header value
275
+ */
276
+ function buildRateLimitHeader(info) {
277
+ let headerValue = `"${info.policy}";r=${info.remaining}`;
278
+ if (info.resetSeconds > 0) {
279
+ headerValue += `;t=${info.resetSeconds}`;
280
+ }
281
+ return headerValue;
282
+ }
283
+ /**
284
+ * Creates an IETF standard RateLimit-Policy header value.
285
+ * @param info - The rate limit information
286
+ * @returns The formatted RateLimit-Policy header value
287
+ */
288
+ function buildRateLimitPolicyHeader(info) {
289
+ let headerValue = `"${info.policy}";q=${info.limit}`;
290
+ if (info.windowSeconds && info.windowSeconds > 0) {
291
+ headerValue += `;w=${info.windowSeconds}`;
292
+ }
293
+ return headerValue;
294
+ }
295
+ /**
296
+ * Parses an IETF standard RateLimit header value.
297
+ * @param headerValue - The RateLimit header value to parse
298
+ * @returns The parsed rate limit information or null if invalid
299
+ */
300
+ function parseRateLimitHeader(headerValue) {
301
+ if (!headerValue)
302
+ return null;
303
+ try {
304
+ const result = {};
305
+ // Extract policy name (quoted string at the beginning)
306
+ const policyMatch = headerValue.match(/^"([^"]+)"/);
307
+ if (policyMatch) {
308
+ result.policy = policyMatch[1];
309
+ }
310
+ // Extract remaining (r parameter)
311
+ const remainingMatch = headerValue.match(/r=(\d+)/);
312
+ if (remainingMatch) {
313
+ result.remaining = parseInt(remainingMatch[1], 10);
314
+ }
315
+ // Extract reset time (t parameter)
316
+ const resetMatch = headerValue.match(/t=(\d+)/);
317
+ if (resetMatch) {
318
+ result.resetSeconds = parseInt(resetMatch[1], 10);
319
+ }
320
+ return result;
321
+ }
322
+ catch {
323
+ return null;
324
+ }
325
+ }
326
+ /**
327
+ * Parses an IETF standard RateLimit-Policy header value.
328
+ * @param headerValue - The RateLimit-Policy header value to parse
329
+ * @returns The parsed rate limit policy information or null if invalid
330
+ */
331
+ function parseRateLimitPolicyHeader(headerValue) {
332
+ if (!headerValue)
333
+ return null;
334
+ try {
335
+ const result = {};
336
+ // Extract policy name (quoted string at the beginning)
337
+ const policyMatch = headerValue.match(/^"([^"]+)"/);
338
+ if (policyMatch) {
339
+ result.policy = policyMatch[1];
340
+ }
341
+ // Extract quota/limit (q parameter)
342
+ const quotaMatch = headerValue.match(/q=(\d+)/);
343
+ if (quotaMatch) {
344
+ result.limit = parseInt(quotaMatch[1], 10);
345
+ }
346
+ // Extract window (w parameter)
347
+ const windowMatch = headerValue.match(/w=(\d+)/);
348
+ if (windowMatch) {
349
+ result.windowSeconds = parseInt(windowMatch[1], 10);
350
+ }
351
+ return result;
352
+ }
353
+ catch {
354
+ return null;
355
+ }
356
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_dnt.test_shims.d.ts","sourceRoot":"","sources":["../src/_dnt.test_shims.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAKvC,eAAO,MAAM,aAAa;;CAA2C,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"almost_equals.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.14/almost_equals.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,EAClB,GAAG,CAAC,EAAE,MAAM,QAmBb"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array_includes.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.14/array_includes.ts"],"names":[],"mappings":"AAMA,0FAA0F;AAC1F,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EACnC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EACvB,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,EACzB,GAAG,CAAC,EAAE,MAAM,QAwBb"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assert.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.14/assert.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;GAaG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,SAAK,GAAG,OAAO,CAAC,IAAI,CAI5D"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assertion_error.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.14/assertion_error.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,cAAe,SAAQ,KAAK;IACvC;;;;OAIG;gBACS,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAIpD"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"equal.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.14/equal.ts"],"names":[],"mappings":"AA2FA;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO,CAuGrD"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"equals.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.14/equals.ts"],"names":[],"mappings":"AAUA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAC5B,MAAM,EAAE,CAAC,EACT,QAAQ,EAAE,CAAC,EACX,GAAG,CAAC,EAAE,MAAM,QAkBb"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exists.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.14/exists.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAC5B,MAAM,EAAE,CAAC,EACT,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,IAAI,WAAW,CAAC,CAAC,CAAC,CAOlC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fail.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.14/fail.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AACH,wBAAgB,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,CAGxC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"false.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.14/false.ts"],"names":[],"mappings":"AAIA,uDAAuD;AACvD,MAAM,MAAM,KAAK,GAAG,KAAK,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,SAAS,CAAC;AAE3D;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,SAAK,GAAG,OAAO,CAAC,IAAI,IAAI,KAAK,CAI1E"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"greater.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.14/greater.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,QAMpE"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"greater_or_equal.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.14/greater_or_equal.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EACpC,MAAM,EAAE,CAAC,EACT,QAAQ,EAAE,CAAC,EACX,GAAG,CAAC,EAAE,MAAM,QASb"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instance_of.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.14/instance_of.ts"],"names":[],"mappings":"AAIA,sBAAsB;AAEtB,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;AACzD,4BAA4B;AAC5B,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,cAAc,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;AAE3E;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAE9B,CAAC,SAAS,QAAQ,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAE9C,MAAM,EAAE,OAAO,EACf,YAAY,EAAE,CAAC,EACf,GAAG,SAAK,GACP,OAAO,CAAC,MAAM,IAAI,YAAY,CAAC,CAAC,CAAC,CA6BnC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is_error.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.14/is_error.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,EACnD,KAAK,EAAE,OAAO,EAEd,UAAU,CAAC,EAAE,QAAQ,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EAC/C,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,EAC5B,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,KAAK,IAAI,CAAC,CA8BpB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"less.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.14/less.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,QAMjE"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"less_or_equal.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.14/less_or_equal.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EACjC,MAAM,EAAE,CAAC,EACT,QAAQ,EAAE,CAAC,EACX,GAAG,CAAC,EAAE,MAAM,QASb"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"match.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.14/match.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,GAAG,CAAC,EAAE,MAAM,QAMb"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.14/mod.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;GAeG;AAEH,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"not_equals.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.14/not_equals.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,QAUtE"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"not_instance_of.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.14/not_instance_of.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,CAAC,EACtC,MAAM,EAAE,CAAC,EAET,cAAc,EAAE,QAAQ,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EAClD,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAKjC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"not_match.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.14/not_match.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,GAAG,CAAC,EAAE,MAAM,QAMb"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"not_strict_equals.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.14/not_strict_equals.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EACrC,MAAM,EAAE,CAAC,EACT,QAAQ,EAAE,CAAC,EACX,GAAG,CAAC,EAAE,MAAM,QAYb"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object_match.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.14/object_match.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,iBAAiB,CAE/B,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,EAChC,QAAQ,EAAE,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,EACtC,GAAG,CAAC,EAAE,MAAM,GACX,IAAI,CAUN"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rejects.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.14/rejects.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAC3B,EAAE,EAAE,MAAM,WAAW,CAAC,OAAO,CAAC,EAC9B,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,OAAO,CAAC,CAAC;AACpB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,EACnD,EAAE,EAAE,MAAM,WAAW,CAAC,OAAO,CAAC,EAE9B,UAAU,EAAE,QAAQ,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EAC9C,WAAW,CAAC,EAAE,MAAM,EACpB,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strict_equals.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.14/strict_equals.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,CAAC,EACX,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,IAAI,CAAC,CA+BrB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string_includes.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.14/string_includes.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,GAAG,CAAC,EAAE,MAAM,QAMb"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"throws.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.14/throws.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,YAAY,CAC1B,EAAE,EAAE,MAAM,OAAO,EACjB,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC;AACX;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,EAClD,EAAE,EAAE,MAAM,OAAO,EAEjB,UAAU,EAAE,QAAQ,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EAC9C,WAAW,CAAC,EAAE,MAAM,EACpB,GAAG,CAAC,EAAE,MAAM,GACX,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unimplemented.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.14/unimplemented.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,CAGjD"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unreachable.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.14/unreachable.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,CAG/C"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build_message.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/internal/1.0.10/build_message.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEvD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,QAAQ;AAClB;;;GAGG;AACH,UAAU,UAAQ,GACjB,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CASvB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CASrD;AAED,4CAA4C;AAC5C,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,YAAY,CAC1B,UAAU,EAAE,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAC7C,OAAO,GAAE,mBAAwB,GAChC,MAAM,EAAE,CAsBV"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/internal/1.0.10/diff.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEvD,2DAA2D;AAC3D,MAAM,WAAW,aAAa;IAC5B,qCAAqC;IACrC,CAAC,EAAE,MAAM,CAAC;IACV,2BAA2B;IAC3B,EAAE,EAAE,MAAM,CAAC;CACZ;AAMD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAanD;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,aAAa,CAWvE;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,SAAS,CAAC,CAAC,EACzB,CAAC,EAAE,CAAC,EAAE,EACN,CAAC,EAAE,CAAC,EAAE,EACN,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,WAAW,EACnB,kBAAkB,EAAE,MAAM,GACzB,KAAK,CAAC;IACP,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,CAAC,CAAC;CACV,CAAC,CAgCD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,QAAQ,CACtB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,MAAM,EAAE,WAAW,EACnB,kBAAkB,EAAE,MAAM,EAC1B,GAAG,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,aAAa,EACrB,IAAI,CAAC,EAAE,aAAa,GACnB,aAAa,CAsBf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAwEvD"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff_str.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/internal/1.0.10/diff_str.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG7C;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAY/C;AAKD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,UAAQ,GAAG,MAAM,EAAE,CAiBnE;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,EACxB,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,GAC3B,UAAU,CAAC,MAAM,CAAC,EAAE,CAetB;AAID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,CAkDlE"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/internal/1.0.10/format.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,SAAS,GAAG,CACtB,CAAC,EAAE,OAAO,EACV,OAAO,EAAE;IACP,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;CAC3B,KACE,MAAM,CAAC;AAEZ;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CAmBzC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/internal/1.0.10/styles.ts"],"names":[],"mappings":"AAqCA;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAExC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEvC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEzC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE1C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEzC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAExC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEzC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE3C;AAWD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEpD"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/internal/1.0.10/types.ts"],"names":[],"mappings":"AAGA,kDAAkD;AAClD,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEtD;;;;GAIG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,4BAA4B;IAC5B,IAAI,EAAE,QAAQ,CAAC;IACf,6BAA6B;IAC7B,KAAK,EAAE,CAAC,CAAC;IACT,+BAA+B;IAC/B,OAAO,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;CAC3B"}
package/types/mod.d.ts ADDED
@@ -0,0 +1,11 @@
1
+ export { FetchClient } from "./src/FetchClient.js";
2
+ export type { FetchClientOptions } from "./src/FetchClientOptions.js";
3
+ export type { FetchClientResponse } from "./src/FetchClientResponse.js";
4
+ export { ProblemDetails } from "./src/ProblemDetails.js";
5
+ export { type CacheKey, FetchClientCache } from "./src/FetchClientCache.js";
6
+ export type { RequestOptions } from "./src/RequestOptions.js";
7
+ export type { FetchClientMiddleware } from "./src/FetchClientMiddleware.js";
8
+ export type { FetchClientContext } from "./src/FetchClientContext.js";
9
+ export { defaultInstance as defaultProviderInstance, FetchClientProvider, } from "./src/FetchClientProvider.js";
10
+ export * from "./src/DefaultHelpers.js";
11
+ //# sourceMappingURL=mod.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,YAAY,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACtE,YAAY,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,KAAK,QAAQ,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC5E,YAAY,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,YAAY,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAC5E,YAAY,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EACL,eAAe,IAAI,uBAAuB,EAC1C,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AACtC,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { type IObjectEvent } from "./ObjectEvent.js";
2
+ /**
3
+ * Represents a counter that can be incremented and decremented.
4
+ */
5
+ export declare class Counter {
6
+ #private;
7
+ /**
8
+ * Gets the current count.
9
+ */
10
+ get count(): number;
11
+ /**
12
+ * Gets an event that is triggered when the count changes.
13
+ */
14
+ get changed(): IObjectEvent<{
15
+ previous: number;
16
+ value: number;
17
+ }>;
18
+ /**
19
+ * Increments the count by 1.
20
+ */
21
+ increment(): void;
22
+ /**
23
+ * Decrements the count by 1.
24
+ */
25
+ decrement(): void;
26
+ }
27
+ //# sourceMappingURL=Counter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Counter.d.ts","sourceRoot":"","sources":["../../src/src/Counter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAe,MAAM,kBAAkB,CAAC;AAElE;;GAEG;AACH,qBAAa,OAAO;;IAIlB;;OAEG;IACH,IAAW,KAAK,IAAI,MAAM,CAEzB;IAED;;OAEG;IACH,IAAW,OAAO,IAAI,YAAY,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAEtE;IAED;;OAEG;IACH,SAAS;IAMT;;OAEG;IACH,SAAS;CAKV"}