@scalar/snippetz 0.2.20 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/dist/clients.d.ts.map +1 -1
  2. package/dist/clients.js +2 -1
  3. package/dist/clients.js.map +2 -2
  4. package/dist/httpsnippet-lite/esm/targets/c/libcurl/client.d.ts.map +1 -1
  5. package/dist/httpsnippet-lite/esm/targets/c/libcurl/client.js +37 -8
  6. package/dist/httpsnippet-lite/esm/targets/c/libcurl/client.js.map +2 -2
  7. package/dist/httpsnippet-lite/esm/targets/go/native/client.d.ts.map +1 -1
  8. package/dist/httpsnippet-lite/esm/targets/go/native/client.js +76 -30
  9. package/dist/httpsnippet-lite/esm/targets/go/native/client.js.map +2 -2
  10. package/dist/httpsnippet-lite/esm/targets/java/okhttp/client.d.ts.map +1 -1
  11. package/dist/httpsnippet-lite/esm/targets/java/okhttp/client.js +25 -9
  12. package/dist/httpsnippet-lite/esm/targets/java/okhttp/client.js.map +2 -2
  13. package/dist/httpsnippet-lite/esm/targets/kotlin/okhttp/client.d.ts.map +1 -1
  14. package/dist/httpsnippet-lite/esm/targets/kotlin/okhttp/client.js +25 -9
  15. package/dist/httpsnippet-lite/esm/targets/kotlin/okhttp/client.js.map +2 -2
  16. package/dist/httpsnippet-lite/esm/targets/shell/httpie/client.d.ts.map +1 -1
  17. package/dist/httpsnippet-lite/esm/targets/shell/httpie/client.js +11 -0
  18. package/dist/httpsnippet-lite/esm/targets/shell/httpie/client.js.map +2 -2
  19. package/dist/plugins/js/axios/index.d.ts +1 -1
  20. package/dist/plugins/js/axios/index.d.ts.map +1 -1
  21. package/dist/plugins/js/axios/index.js +4 -1
  22. package/dist/plugins/js/axios/index.js.map +2 -2
  23. package/dist/plugins/js/fetch/fetch.d.ts.map +1 -1
  24. package/dist/plugins/js/fetch/fetch.js +30 -9
  25. package/dist/plugins/js/fetch/fetch.js.map +2 -2
  26. package/dist/plugins/js/fetch/index.d.ts +1 -1
  27. package/dist/plugins/js/fetch/index.d.ts.map +1 -1
  28. package/dist/plugins/js/fetch/index.js +4 -1
  29. package/dist/plugins/js/fetch/index.js.map +2 -2
  30. package/dist/plugins/js/ofetch/ofetch.d.ts.map +1 -1
  31. package/dist/plugins/js/ofetch/ofetch.js +1 -10
  32. package/dist/plugins/js/ofetch/ofetch.js.map +2 -2
  33. package/dist/plugins/node/fetch/fetch.d.ts.map +1 -1
  34. package/dist/plugins/node/fetch/fetch.js +37 -9
  35. package/dist/plugins/node/fetch/fetch.js.map +2 -2
  36. package/dist/plugins/node/ofetch/ofetch.d.ts.map +1 -1
  37. package/dist/plugins/node/ofetch/ofetch.js +1 -10
  38. package/dist/plugins/node/ofetch/ofetch.js.map +2 -2
  39. package/dist/plugins/node/undici/undici.d.ts.map +1 -1
  40. package/dist/plugins/node/undici/undici.js +4 -6
  41. package/dist/plugins/node/undici/undici.js.map +2 -2
  42. package/dist/plugins/python/httpx/async.d.ts +6 -0
  43. package/dist/plugins/python/httpx/async.d.ts.map +1 -0
  44. package/dist/plugins/python/httpx/async.js +16 -0
  45. package/dist/plugins/python/httpx/async.js.map +7 -0
  46. package/dist/plugins/python/httpx/index.d.ts +3 -0
  47. package/dist/plugins/python/httpx/index.d.ts.map +1 -0
  48. package/dist/plugins/python/httpx/index.js +3 -0
  49. package/dist/plugins/python/httpx/index.js.map +7 -0
  50. package/dist/plugins/python/httpx/sync.d.ts +6 -0
  51. package/dist/plugins/python/httpx/sync.d.ts.map +1 -0
  52. package/dist/plugins/python/httpx/sync.js +13 -0
  53. package/dist/plugins/python/httpx/sync.js.map +7 -0
  54. package/dist/plugins/python/requests/requests.d.ts.map +1 -1
  55. package/dist/plugins/python/requests/requests.js +2 -92
  56. package/dist/plugins/python/requests/requests.js.map +2 -2
  57. package/dist/plugins/python/requestsLike.d.ts +3 -0
  58. package/dist/plugins/python/requestsLike.d.ts.map +1 -0
  59. package/dist/plugins/python/requestsLike.js +120 -0
  60. package/dist/plugins/python/requestsLike.js.map +7 -0
  61. package/dist/snippetz.d.ts +1 -1
  62. package/dist/utils/create-search-params.d.ts +4 -0
  63. package/dist/utils/create-search-params.d.ts.map +1 -0
  64. package/dist/utils/create-search-params.js +11 -0
  65. package/dist/utils/create-search-params.js.map +7 -0
  66. package/dist/utils/index.d.ts +0 -1
  67. package/dist/utils/index.d.ts.map +1 -1
  68. package/dist/utils/index.js +0 -1
  69. package/dist/utils/index.js.map +2 -2
  70. package/dist/utils/objectToString.d.ts +8 -0
  71. package/dist/utils/objectToString.d.ts.map +1 -1
  72. package/dist/utils/objectToString.js +20 -15
  73. package/dist/utils/objectToString.js.map +2 -2
  74. package/package.json +10 -5
  75. package/dist/plugins/c/libcurl/libcurl.test.js +0 -200
  76. package/dist/plugins/c/libcurl/libcurl.test.js.map +0 -7
  77. package/dist/plugins/clojure/clj_http/clj_http.test.js +0 -151
  78. package/dist/plugins/clojure/clj_http/clj_http.test.js.map +0 -7
  79. package/dist/plugins/dart/http/http.test.js +0 -550
  80. package/dist/plugins/dart/http/http.test.js.map +0 -7
  81. package/dist/plugins/go/native/native.test.js +0 -367
  82. package/dist/plugins/go/native/native.test.js.map +0 -7
  83. package/dist/plugins/http/http11/http11.test.js +0 -175
  84. package/dist/plugins/http/http11/http11.test.js.map +0 -7
  85. package/dist/plugins/js/fetch/fetch.test.js +0 -111
  86. package/dist/plugins/js/fetch/fetch.test.js.map +0 -7
  87. package/dist/plugins/js/ofetch/ofetch.test.js +0 -123
  88. package/dist/plugins/js/ofetch/ofetch.test.js.map +0 -7
  89. package/dist/plugins/node/fetch/fetch.test.js +0 -111
  90. package/dist/plugins/node/fetch/fetch.test.js.map +0 -7
  91. package/dist/plugins/node/ofetch/ofetch.test.js +0 -123
  92. package/dist/plugins/node/ofetch/ofetch.test.js.map +0 -7
  93. package/dist/plugins/node/undici/undici.test.js +0 -133
  94. package/dist/plugins/node/undici/undici.test.js.map +0 -7
  95. package/dist/plugins/php/curl/curl.test.js +0 -564
  96. package/dist/plugins/php/curl/curl.test.js.map +0 -7
  97. package/dist/plugins/php/guzzle/guzzle.test.js +0 -546
  98. package/dist/plugins/php/guzzle/guzzle.test.js.map +0 -7
  99. package/dist/plugins/python/requests/requests.test.js +0 -390
  100. package/dist/plugins/python/requests/requests.test.js.map +0 -7
  101. package/dist/plugins/ruby/native/native.test.js +0 -240
  102. package/dist/plugins/ruby/native/native.test.js.map +0 -7
  103. package/dist/plugins/shell/curl/curl.test.js +0 -427
  104. package/dist/plugins/shell/curl/curl.test.js.map +0 -7
  105. package/dist/plugins/shell/httpie/httpie.test.js +0 -113
  106. package/dist/plugins/shell/httpie/httpie.test.js.map +0 -7
  107. package/dist/plugins/shell/wget/wget.test.js +0 -143
  108. package/dist/plugins/shell/wget/wget.test.js.map +0 -7
  109. package/dist/plugins/swift/nsurlsession/nsurlsession.test.js +0 -344
  110. package/dist/plugins/swift/nsurlsession/nsurlsession.test.js.map +0 -7
  111. package/dist/snippetz.test.js +0 -79
  112. package/dist/snippetz.test.js.map +0 -7
  113. package/dist/utils/arrayToObject.d.ts +0 -8
  114. package/dist/utils/arrayToObject.d.ts.map +0 -1
  115. package/dist/utils/arrayToObject.js +0 -10
  116. package/dist/utils/arrayToObject.js.map +0 -7
  117. package/dist/utils/convertWithHttpSnippetLite.test.js +0 -106
  118. package/dist/utils/convertWithHttpSnippetLite.test.js.map +0 -7
@@ -1,550 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import { dartHttp } from "./http.js";
3
- describe("dartHttp", () => {
4
- it("returns a basic request", () => {
5
- const result = dartHttp.generate({
6
- url: "https://example.com"
7
- });
8
- expect(result).toBe(`import 'package:http/http.dart' as http;
9
-
10
- void main() async {
11
- final response = await http.get(Uri.parse('https://example.com'));
12
- print(response.body);
13
- }`);
14
- });
15
- it("returns a POST request", () => {
16
- const result = dartHttp.generate({
17
- url: "https://example.com",
18
- method: "post"
19
- });
20
- expect(result).toBe(`import 'package:http/http.dart' as http;
21
-
22
- void main() async {
23
- final response = await http.post(Uri.parse('https://example.com'));
24
- print(response.body);
25
- }`);
26
- });
27
- it("has headers", () => {
28
- const result = dartHttp.generate({
29
- url: "https://example.com",
30
- headers: [
31
- {
32
- name: "Content-Type",
33
- value: "application/json"
34
- }
35
- ]
36
- });
37
- expect(result).toBe(`import 'package:http/http.dart' as http;
38
-
39
- void main() async {
40
- final headers = <String,String>{
41
- 'Content-Type': 'application/json',
42
- };
43
-
44
- final response = await http.get(Uri.parse('https://example.com'), headers: headers);
45
- print(response.body);
46
- }`);
47
- });
48
- it("doesn\u2019t add empty headers", () => {
49
- const result = dartHttp.generate({
50
- url: "https://example.com",
51
- headers: []
52
- });
53
- expect(result).toBe(`import 'package:http/http.dart' as http;
54
-
55
- void main() async {
56
- final response = await http.get(Uri.parse('https://example.com'));
57
- print(response.body);
58
- }`);
59
- });
60
- it("has JSON body", () => {
61
- const result = dartHttp.generate({
62
- url: "https://example.com",
63
- method: "POST",
64
- headers: [
65
- {
66
- name: "Content-Type",
67
- value: "application/json"
68
- }
69
- ],
70
- postData: {
71
- mimeType: "application/json",
72
- text: JSON.stringify({
73
- hello: "world"
74
- })
75
- }
76
- });
77
- expect(result).toBe(`import 'package:http/http.dart' as http;
78
-
79
- void main() async {
80
- final headers = <String,String>{
81
- 'Content-Type': 'application/json',
82
- };
83
-
84
- final body = r'{"hello":"world"}';
85
-
86
- final response = await http.post(Uri.parse('https://example.com'), headers: headers, body: body);
87
- print(response.body);
88
- }`);
89
- });
90
- it("has query string", () => {
91
- const result = dartHttp.generate({
92
- url: "https://example.com",
93
- queryString: [
94
- {
95
- name: "foo",
96
- value: "bar"
97
- },
98
- {
99
- name: "bar",
100
- value: "foo"
101
- }
102
- ]
103
- });
104
- expect(result).toBe(`import 'package:http/http.dart' as http;
105
-
106
- void main() async {
107
- final response = await http.get(Uri.parse('https://example.com?foo=bar&bar=foo'));
108
- print(response.body);
109
- }`);
110
- });
111
- it("has cookies", () => {
112
- const result = dartHttp.generate({
113
- url: "https://example.com",
114
- cookies: [
115
- {
116
- name: "foo",
117
- value: "bar"
118
- },
119
- {
120
- name: "bar",
121
- value: "foo"
122
- }
123
- ]
124
- });
125
- expect(result).toBe(`import 'package:http/http.dart' as http;
126
-
127
- void main() async {
128
- final headers = <String,String>{
129
- 'Cookie': 'foo=bar; bar=foo',
130
- };
131
-
132
- final response = await http.get(Uri.parse('https://example.com'), headers: headers);
133
- print(response.body);
134
- }`);
135
- });
136
- it("doesn\u2019t add empty cookies", () => {
137
- const result = dartHttp.generate({
138
- url: "https://example.com",
139
- cookies: []
140
- });
141
- expect(result).toBe(`import 'package:http/http.dart' as http;
142
-
143
- void main() async {
144
- final response = await http.get(Uri.parse('https://example.com'));
145
- print(response.body);
146
- }`);
147
- });
148
- it("adds basic auth credentials", () => {
149
- const result = dartHttp.generate(
150
- {
151
- url: "https://example.com"
152
- },
153
- {
154
- auth: {
155
- username: "user",
156
- password: "pass"
157
- }
158
- }
159
- );
160
- expect(result).toBe(`import 'package:http/http.dart' as http;
161
-
162
- void main() async {
163
- final headers = <String,String>{
164
- 'Authorization': 'Basic ' + base64Encode(utf8.encode('user:pass')),
165
- };
166
-
167
- final response = await http.get(Uri.parse('https://example.com'), headers: headers);
168
- print(response.body);
169
- }`);
170
- });
171
- it("omits auth when not provided", () => {
172
- const result = dartHttp.generate({
173
- url: "https://example.com"
174
- });
175
- expect(result).toBe(`import 'package:http/http.dart' as http;
176
-
177
- void main() async {
178
- final response = await http.get(Uri.parse('https://example.com'));
179
- print(response.body);
180
- }`);
181
- });
182
- it("omits auth when username is missing", () => {
183
- const result = dartHttp.generate(
184
- {
185
- url: "https://example.com"
186
- },
187
- {
188
- auth: {
189
- username: "",
190
- password: "pass"
191
- }
192
- }
193
- );
194
- expect(result).toBe(`import 'package:http/http.dart' as http;
195
-
196
- void main() async {
197
- final response = await http.get(Uri.parse('https://example.com'));
198
- print(response.body);
199
- }`);
200
- });
201
- it("omits auth when password is missing", () => {
202
- const result = dartHttp.generate(
203
- {
204
- url: "https://example.com"
205
- },
206
- {
207
- auth: {
208
- username: "user",
209
- password: ""
210
- }
211
- }
212
- );
213
- expect(result).toBe(`import 'package:http/http.dart' as http;
214
-
215
- void main() async {
216
- final response = await http.get(Uri.parse('https://example.com'));
217
- print(response.body);
218
- }`);
219
- });
220
- it("handles special characters in auth credentials", () => {
221
- const result = dartHttp.generate(
222
- {
223
- url: "https://example.com"
224
- },
225
- {
226
- auth: {
227
- username: "user@example.com",
228
- password: "pass:word!"
229
- }
230
- }
231
- );
232
- expect(result).toBe(`import 'package:http/http.dart' as http;
233
-
234
- void main() async {
235
- final headers = <String,String>{
236
- 'Authorization': 'Basic ' + base64Encode(utf8.encode('user@example.com:pass:word!')),
237
- };
238
-
239
- final response = await http.get(Uri.parse('https://example.com'), headers: headers);
240
- print(response.body);
241
- }`);
242
- });
243
- it("handles undefined auth object", () => {
244
- const result = dartHttp.generate(
245
- {
246
- url: "https://example.com"
247
- },
248
- {
249
- auth: void 0
250
- }
251
- );
252
- expect(result).toBe(`import 'package:http/http.dart' as http;
253
-
254
- void main() async {
255
- final response = await http.get(Uri.parse('https://example.com'));
256
- print(response.body);
257
- }`);
258
- });
259
- it("handles multipart form data with files", () => {
260
- const result = dartHttp.generate({
261
- url: "https://example.com",
262
- method: "POST",
263
- postData: {
264
- mimeType: "multipart/form-data",
265
- params: [
266
- {
267
- name: "file",
268
- fileName: "test.txt"
269
- },
270
- {
271
- name: "field",
272
- value: "value"
273
- }
274
- ]
275
- }
276
- });
277
- expect(result).toBe(`import 'package:http/http.dart' as http;
278
-
279
- void main() async {
280
- final body = <String,String>{
281
- 'file': 'test.txt',
282
- 'field': 'value',
283
- };
284
-
285
- final response = await http.post(Uri.parse('https://example.com'), body: body);
286
- print(response.body);
287
- }`);
288
- });
289
- it("handles url-encoded form data with special characters", () => {
290
- const result = dartHttp.generate({
291
- url: "https://example.com",
292
- method: "POST",
293
- postData: {
294
- mimeType: "application/x-www-form-urlencoded",
295
- params: [
296
- {
297
- name: "special chars!@#",
298
- value: "value"
299
- }
300
- ]
301
- }
302
- });
303
- expect(result).toBe(`import 'package:http/http.dart' as http;
304
-
305
- void main() async {
306
- final body = 'special%20chars!%40%23=value';
307
-
308
- final response = await http.post(Uri.parse('https://example.com'), body: body);
309
- print(response.body);
310
- }`);
311
- });
312
- it("handles binary data flag", () => {
313
- const result = dartHttp.generate({
314
- url: "https://example.com",
315
- method: "POST",
316
- postData: {
317
- mimeType: "application/octet-stream",
318
- text: "binary content"
319
- }
320
- });
321
- expect(result).toBe(`import 'package:http/http.dart' as http;
322
-
323
- void main() async {
324
- final body = 'binary content';
325
-
326
- final response = await http.post(Uri.parse('https://example.com'), body: body);
327
- print(response.body);
328
- }`);
329
- });
330
- it("handles compressed response", () => {
331
- const result = dartHttp.generate({
332
- url: "https://example.com",
333
- headers: [
334
- {
335
- name: "Accept-Encoding",
336
- value: "gzip, deflate"
337
- }
338
- ]
339
- });
340
- expect(result).toBe(`import 'package:http/http.dart' as http;
341
-
342
- void main() async {
343
- final headers = <String,String>{
344
- 'Accept-Encoding': 'gzip, deflate',
345
- };
346
-
347
- final response = await http.get(Uri.parse('https://example.com'), headers: headers);
348
- print(response.body);
349
- }`);
350
- });
351
- it("handles special characters in URL", () => {
352
- const result = dartHttp.generate({
353
- url: "https://example.com/path with spaces/[brackets]"
354
- });
355
- expect(result).toBe(`import 'package:http/http.dart' as http;
356
-
357
- void main() async {
358
- final response = await http.get(Uri.parse('https://example.com/path with spaces/[brackets]'));
359
- print(response.body);
360
- }`);
361
- });
362
- it("handles special characters in query parameters", () => {
363
- const result = dartHttp.generate({
364
- url: "https://example.com",
365
- queryString: [
366
- {
367
- name: "q",
368
- value: "hello world & more"
369
- },
370
- {
371
- name: "special",
372
- value: "!@#$%^&*()"
373
- }
374
- ]
375
- });
376
- expect(result).toBe(`import 'package:http/http.dart' as http;
377
-
378
- void main() async {
379
- final response = await http.get(Uri.parse('https://example.com?q=hello%20world%20%26%20more&special=!%40%23%24%25%5E%26*()'));
380
- print(response.body);
381
- }`);
382
- });
383
- it("handles empty URL", () => {
384
- const result = dartHttp.generate({
385
- url: ""
386
- });
387
- expect(result).toBe(`import 'package:http/http.dart' as http;
388
-
389
- void main() async {
390
- final response = await http.get(Uri.parse(''));
391
- print(response.body);
392
- }`);
393
- });
394
- it("handles extremely long URLs", () => {
395
- const result = dartHttp.generate({
396
- url: "https://example.com/" + "a".repeat(2e3)
397
- });
398
- expect(result).toBe(`import 'package:http/http.dart' as http;
399
-
400
- void main() async {
401
- final response = await http.get(Uri.parse('https://example.com/${"a".repeat(2e3)}'));
402
- print(response.body);
403
- }`);
404
- });
405
- it("handles multiple headers with same name", () => {
406
- const result = dartHttp.generate({
407
- url: "https://example.com",
408
- headers: [
409
- { name: "X-Custom", value: "value1" },
410
- { name: "X-Custom", value: "value2" }
411
- ]
412
- });
413
- expect(result).toBe(`import 'package:http/http.dart' as http;
414
-
415
- void main() async {
416
- final headers = <String,String>{
417
- 'X-Custom': 'value2',
418
- };
419
-
420
- final response = await http.get(Uri.parse('https://example.com'), headers: headers);
421
- print(response.body);
422
- }`);
423
- });
424
- it("handles headers with empty values", () => {
425
- const result = dartHttp.generate({
426
- url: "https://example.com",
427
- headers: [{ name: "X-Empty", value: "" }]
428
- });
429
- expect(result).toBe(`import 'package:http/http.dart' as http;
430
-
431
- void main() async {
432
- final response = await http.get(Uri.parse('https://example.com'));
433
- print(response.body);
434
- }`);
435
- });
436
- it("handles multipart form data with empty file names", () => {
437
- const result = dartHttp.generate({
438
- url: "https://example.com",
439
- method: "POST",
440
- postData: {
441
- mimeType: "multipart/form-data",
442
- params: [
443
- {
444
- name: "file",
445
- fileName: ""
446
- }
447
- ]
448
- }
449
- });
450
- expect(result).toBe(`import 'package:http/http.dart' as http;
451
-
452
- void main() async {
453
- final body = <String,String>{
454
- 'file': '',
455
- };
456
-
457
- final response = await http.post(Uri.parse('https://example.com'), body: body);
458
- print(response.body);
459
- }`);
460
- });
461
- it("handles JSON body with special characters", () => {
462
- const result = dartHttp.generate({
463
- url: "https://example.com",
464
- method: "POST",
465
- headers: [
466
- {
467
- name: "Content-Type",
468
- value: "application/json"
469
- }
470
- ],
471
- postData: {
472
- mimeType: "application/json",
473
- text: JSON.stringify({
474
- key: '"quotes" and \\backslashes\\',
475
- nested: {
476
- array: ["item1", null, void 0]
477
- }
478
- })
479
- }
480
- });
481
- expect(result).toBe(`import 'package:http/http.dart' as http;
482
-
483
- void main() async {
484
- final headers = <String,String>{
485
- 'Content-Type': 'application/json',
486
- };
487
-
488
- final body = r'{"key":"\\"quotes\\" and \\\\backslashes\\\\","nested":{"array":["item1",null,null]}}';
489
-
490
- final response = await http.post(Uri.parse('https://example.com'), headers: headers, body: body);
491
- print(response.body);
492
- }`);
493
- });
494
- it("handles cookies with special characters", () => {
495
- const result = dartHttp.generate({
496
- url: "https://example.com",
497
- cookies: [
498
- {
499
- name: "special;cookie",
500
- value: "value with spaces"
501
- }
502
- ]
503
- });
504
- expect(result).toBe(`import 'package:http/http.dart' as http;
505
-
506
- void main() async {
507
- final headers = <String,String>{
508
- 'Cookie': 'special%3Bcookie=value%20with%20spaces',
509
- };
510
-
511
- final response = await http.get(Uri.parse('https://example.com'), headers: headers);
512
- print(response.body);
513
- }`);
514
- });
515
- it("prettifies JSON body", () => {
516
- const result = dartHttp.generate({
517
- url: "https://example.com",
518
- method: "POST",
519
- headers: [
520
- {
521
- name: "Content-Type",
522
- value: "application/json"
523
- }
524
- ],
525
- postData: {
526
- mimeType: "application/json",
527
- text: JSON.stringify({
528
- nested: {
529
- array: [1, 2, 3],
530
- object: { foo: "bar" }
531
- },
532
- simple: "value"
533
- })
534
- }
535
- });
536
- expect(result).toBe(`import 'package:http/http.dart' as http;
537
-
538
- void main() async {
539
- final headers = <String,String>{
540
- 'Content-Type': 'application/json',
541
- };
542
-
543
- final body = r'{"nested":{"array":[1,2,3],"object":{"foo":"bar"}},"simple":"value"}';
544
-
545
- final response = await http.post(Uri.parse('https://example.com'), headers: headers, body: body);
546
- print(response.body);
547
- }`);
548
- });
549
- });
550
- //# sourceMappingURL=http.test.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../src/plugins/dart/http/http.test.ts"],
4
- "sourcesContent": ["import { describe, expect, it } from 'vitest'\n\nimport { dartHttp } from './http'\n\ndescribe('dartHttp', () => {\n it('returns a basic request', () => {\n const result = dartHttp.generate({\n url: 'https://example.com',\n })\n\n expect(result).toBe(`import 'package:http/http.dart' as http;\n\nvoid main() async {\n final response = await http.get(Uri.parse('https://example.com'));\n print(response.body);\n}`)\n })\n\n it('returns a POST request', () => {\n const result = dartHttp.generate({\n url: 'https://example.com',\n method: 'post',\n })\n\n expect(result).toBe(`import 'package:http/http.dart' as http;\n\nvoid main() async {\n final response = await http.post(Uri.parse('https://example.com'));\n print(response.body);\n}`)\n })\n\n it('has headers', () => {\n const result = dartHttp.generate({\n url: 'https://example.com',\n headers: [\n {\n name: 'Content-Type',\n value: 'application/json',\n },\n ],\n })\n\n expect(result).toBe(`import 'package:http/http.dart' as http;\n\nvoid main() async {\n final headers = <String,String>{\n 'Content-Type': 'application/json',\n };\n\n final response = await http.get(Uri.parse('https://example.com'), headers: headers);\n print(response.body);\n}`)\n })\n\n it('doesn\u2019t add empty headers', () => {\n const result = dartHttp.generate({\n url: 'https://example.com',\n headers: [],\n })\n\n expect(result).toBe(`import 'package:http/http.dart' as http;\n\nvoid main() async {\n final response = await http.get(Uri.parse('https://example.com'));\n print(response.body);\n}`)\n })\n\n it('has JSON body', () => {\n const result = dartHttp.generate({\n url: 'https://example.com',\n method: 'POST',\n headers: [\n {\n name: 'Content-Type',\n value: 'application/json',\n },\n ],\n postData: {\n mimeType: 'application/json',\n text: JSON.stringify({\n hello: 'world',\n }),\n },\n })\n\n expect(result).toBe(`import 'package:http/http.dart' as http;\n\nvoid main() async {\n final headers = <String,String>{\n 'Content-Type': 'application/json',\n };\n\n final body = r'{\"hello\":\"world\"}';\n\n final response = await http.post(Uri.parse('https://example.com'), headers: headers, body: body);\n print(response.body);\n}`)\n })\n\n it('has query string', () => {\n const result = dartHttp.generate({\n url: 'https://example.com',\n queryString: [\n {\n name: 'foo',\n value: 'bar',\n },\n {\n name: 'bar',\n value: 'foo',\n },\n ],\n })\n\n expect(result).toBe(`import 'package:http/http.dart' as http;\n\nvoid main() async {\n final response = await http.get(Uri.parse('https://example.com?foo=bar&bar=foo'));\n print(response.body);\n}`)\n })\n\n it('has cookies', () => {\n const result = dartHttp.generate({\n url: 'https://example.com',\n cookies: [\n {\n name: 'foo',\n value: 'bar',\n },\n {\n name: 'bar',\n value: 'foo',\n },\n ],\n })\n\n expect(result).toBe(`import 'package:http/http.dart' as http;\n\nvoid main() async {\n final headers = <String,String>{\n 'Cookie': 'foo=bar; bar=foo',\n };\n\n final response = await http.get(Uri.parse('https://example.com'), headers: headers);\n print(response.body);\n}`)\n })\n\n it('doesn\u2019t add empty cookies', () => {\n const result = dartHttp.generate({\n url: 'https://example.com',\n cookies: [],\n })\n\n expect(result).toBe(`import 'package:http/http.dart' as http;\n\nvoid main() async {\n final response = await http.get(Uri.parse('https://example.com'));\n print(response.body);\n}`)\n })\n\n it('adds basic auth credentials', () => {\n const result = dartHttp.generate(\n {\n url: 'https://example.com',\n },\n {\n auth: {\n username: 'user',\n password: 'pass',\n },\n },\n )\n\n expect(result).toBe(`import 'package:http/http.dart' as http;\n\nvoid main() async {\n final headers = <String,String>{\n 'Authorization': 'Basic ' + base64Encode(utf8.encode('user:pass')),\n };\n\n final response = await http.get(Uri.parse('https://example.com'), headers: headers);\n print(response.body);\n}`)\n })\n\n it('omits auth when not provided', () => {\n const result = dartHttp.generate({\n url: 'https://example.com',\n })\n\n expect(result).toBe(`import 'package:http/http.dart' as http;\n\nvoid main() async {\n final response = await http.get(Uri.parse('https://example.com'));\n print(response.body);\n}`)\n })\n\n it('omits auth when username is missing', () => {\n const result = dartHttp.generate(\n {\n url: 'https://example.com',\n },\n {\n auth: {\n username: '',\n password: 'pass',\n },\n },\n )\n\n expect(result).toBe(`import 'package:http/http.dart' as http;\n\nvoid main() async {\n final response = await http.get(Uri.parse('https://example.com'));\n print(response.body);\n}`)\n })\n\n it('omits auth when password is missing', () => {\n const result = dartHttp.generate(\n {\n url: 'https://example.com',\n },\n {\n auth: {\n username: 'user',\n password: '',\n },\n },\n )\n\n expect(result).toBe(`import 'package:http/http.dart' as http;\n\nvoid main() async {\n final response = await http.get(Uri.parse('https://example.com'));\n print(response.body);\n}`)\n })\n\n it('handles special characters in auth credentials', () => {\n const result = dartHttp.generate(\n {\n url: 'https://example.com',\n },\n {\n auth: {\n username: 'user@example.com',\n password: 'pass:word!',\n },\n },\n )\n\n expect(result).toBe(`import 'package:http/http.dart' as http;\n\nvoid main() async {\n final headers = <String,String>{\n 'Authorization': 'Basic ' + base64Encode(utf8.encode('user@example.com:pass:word!')),\n };\n\n final response = await http.get(Uri.parse('https://example.com'), headers: headers);\n print(response.body);\n}`)\n })\n\n it('handles undefined auth object', () => {\n const result = dartHttp.generate(\n {\n url: 'https://example.com',\n },\n {\n auth: undefined,\n },\n )\n\n expect(result).toBe(`import 'package:http/http.dart' as http;\n\nvoid main() async {\n final response = await http.get(Uri.parse('https://example.com'));\n print(response.body);\n}`)\n })\n\n it('handles multipart form data with files', () => {\n const result = dartHttp.generate({\n url: 'https://example.com',\n method: 'POST',\n postData: {\n mimeType: 'multipart/form-data',\n params: [\n {\n name: 'file',\n fileName: 'test.txt',\n },\n {\n name: 'field',\n value: 'value',\n },\n ],\n },\n })\n\n expect(result).toBe(`import 'package:http/http.dart' as http;\n\nvoid main() async {\n final body = <String,String>{\n 'file': 'test.txt',\n 'field': 'value',\n };\n\n final response = await http.post(Uri.parse('https://example.com'), body: body);\n print(response.body);\n}`)\n })\n\n it('handles url-encoded form data with special characters', () => {\n const result = dartHttp.generate({\n url: 'https://example.com',\n method: 'POST',\n postData: {\n mimeType: 'application/x-www-form-urlencoded',\n params: [\n {\n name: 'special chars!@#',\n value: 'value',\n },\n ],\n },\n })\n\n expect(result).toBe(`import 'package:http/http.dart' as http;\n\nvoid main() async {\n final body = 'special%20chars!%40%23=value';\n\n final response = await http.post(Uri.parse('https://example.com'), body: body);\n print(response.body);\n}`)\n })\n\n it('handles binary data flag', () => {\n const result = dartHttp.generate({\n url: 'https://example.com',\n method: 'POST',\n postData: {\n mimeType: 'application/octet-stream',\n text: 'binary content',\n },\n })\n\n expect(result).toBe(`import 'package:http/http.dart' as http;\n\nvoid main() async {\n final body = 'binary content';\n\n final response = await http.post(Uri.parse('https://example.com'), body: body);\n print(response.body);\n}`)\n })\n\n it('handles compressed response', () => {\n const result = dartHttp.generate({\n url: 'https://example.com',\n headers: [\n {\n name: 'Accept-Encoding',\n value: 'gzip, deflate',\n },\n ],\n })\n\n expect(result).toBe(`import 'package:http/http.dart' as http;\n\nvoid main() async {\n final headers = <String,String>{\n 'Accept-Encoding': 'gzip, deflate',\n };\n\n final response = await http.get(Uri.parse('https://example.com'), headers: headers);\n print(response.body);\n}`)\n })\n\n it('handles special characters in URL', () => {\n const result = dartHttp.generate({\n url: 'https://example.com/path with spaces/[brackets]',\n })\n\n expect(result).toBe(`import 'package:http/http.dart' as http;\n\nvoid main() async {\n final response = await http.get(Uri.parse('https://example.com/path with spaces/[brackets]'));\n print(response.body);\n}`)\n })\n\n it('handles special characters in query parameters', () => {\n const result = dartHttp.generate({\n url: 'https://example.com',\n queryString: [\n {\n name: 'q',\n value: 'hello world & more',\n },\n {\n name: 'special',\n value: '!@#$%^&*()',\n },\n ],\n })\n\n expect(result).toBe(`import 'package:http/http.dart' as http;\n\nvoid main() async {\n final response = await http.get(Uri.parse('https://example.com?q=hello%20world%20%26%20more&special=!%40%23%24%25%5E%26*()'));\n print(response.body);\n}`)\n })\n\n it('handles empty URL', () => {\n const result = dartHttp.generate({\n url: '',\n })\n\n expect(result).toBe(`import 'package:http/http.dart' as http;\n\nvoid main() async {\n final response = await http.get(Uri.parse(''));\n print(response.body);\n}`)\n })\n\n it('handles extremely long URLs', () => {\n const result = dartHttp.generate({\n url: 'https://example.com/' + 'a'.repeat(2000),\n })\n\n expect(result).toBe(`import 'package:http/http.dart' as http;\n\nvoid main() async {\n final response = await http.get(Uri.parse('https://example.com/${'a'.repeat(2000)}'));\n print(response.body);\n}`)\n })\n\n it('handles multiple headers with same name', () => {\n const result = dartHttp.generate({\n url: 'https://example.com',\n headers: [\n { name: 'X-Custom', value: 'value1' },\n { name: 'X-Custom', value: 'value2' },\n ],\n })\n\n expect(result).toBe(`import 'package:http/http.dart' as http;\n\nvoid main() async {\n final headers = <String,String>{\n 'X-Custom': 'value2',\n };\n\n final response = await http.get(Uri.parse('https://example.com'), headers: headers);\n print(response.body);\n}`)\n })\n\n it('handles headers with empty values', () => {\n const result = dartHttp.generate({\n url: 'https://example.com',\n headers: [{ name: 'X-Empty', value: '' }],\n })\n\n expect(result).toBe(`import 'package:http/http.dart' as http;\n\nvoid main() async {\n final response = await http.get(Uri.parse('https://example.com'));\n print(response.body);\n}`)\n })\n\n it('handles multipart form data with empty file names', () => {\n const result = dartHttp.generate({\n url: 'https://example.com',\n method: 'POST',\n postData: {\n mimeType: 'multipart/form-data',\n params: [\n {\n name: 'file',\n fileName: '',\n },\n ],\n },\n })\n\n expect(result).toBe(`import 'package:http/http.dart' as http;\n\nvoid main() async {\n final body = <String,String>{\n 'file': '',\n };\n\n final response = await http.post(Uri.parse('https://example.com'), body: body);\n print(response.body);\n}`)\n })\n\n it('handles JSON body with special characters', () => {\n const result = dartHttp.generate({\n url: 'https://example.com',\n method: 'POST',\n headers: [\n {\n name: 'Content-Type',\n value: 'application/json',\n },\n ],\n postData: {\n mimeType: 'application/json',\n text: JSON.stringify({\n key: '\"quotes\" and \\\\backslashes\\\\',\n nested: {\n array: ['item1', null, undefined],\n },\n }),\n },\n })\n\n expect(result).toBe(`import 'package:http/http.dart' as http;\n\nvoid main() async {\n final headers = <String,String>{\n 'Content-Type': 'application/json',\n };\n\n final body = r'{\"key\":\"\\\\\"quotes\\\\\" and \\\\\\\\backslashes\\\\\\\\\",\"nested\":{\"array\":[\"item1\",null,null]}}';\n\n final response = await http.post(Uri.parse('https://example.com'), headers: headers, body: body);\n print(response.body);\n}`)\n })\n\n it('handles cookies with special characters', () => {\n const result = dartHttp.generate({\n url: 'https://example.com',\n cookies: [\n {\n name: 'special;cookie',\n value: 'value with spaces',\n },\n ],\n })\n\n expect(result).toBe(`import 'package:http/http.dart' as http;\n\nvoid main() async {\n final headers = <String,String>{\n 'Cookie': 'special%3Bcookie=value%20with%20spaces',\n };\n\n final response = await http.get(Uri.parse('https://example.com'), headers: headers);\n print(response.body);\n}`)\n })\n\n it('prettifies JSON body', () => {\n const result = dartHttp.generate({\n url: 'https://example.com',\n method: 'POST',\n headers: [\n {\n name: 'Content-Type',\n value: 'application/json',\n },\n ],\n postData: {\n mimeType: 'application/json',\n text: JSON.stringify({\n nested: {\n array: [1, 2, 3],\n object: { foo: 'bar' },\n },\n simple: 'value',\n }),\n },\n })\n\n expect(result).toBe(`import 'package:http/http.dart' as http;\n\nvoid main() async {\n final headers = <String,String>{\n 'Content-Type': 'application/json',\n };\n\n final body = r'{\"nested\":{\"array\":[1,2,3],\"object\":{\"foo\":\"bar\"}},\"simple\":\"value\"}';\n\n final response = await http.post(Uri.parse('https://example.com'), headers: headers, body: body);\n print(response.body);\n}`)\n })\n})\n"],
5
- "mappings": "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",
6
- "names": []
7
- }