@scalar/snippetz 0.3.0 → 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 (70) 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/plugins/python/httpx/async.d.ts +6 -0
  5. package/dist/plugins/python/httpx/async.d.ts.map +1 -0
  6. package/dist/plugins/python/httpx/async.js +16 -0
  7. package/dist/plugins/python/httpx/async.js.map +7 -0
  8. package/dist/plugins/python/httpx/index.d.ts +3 -0
  9. package/dist/plugins/python/httpx/index.d.ts.map +1 -0
  10. package/dist/plugins/python/httpx/index.js +3 -0
  11. package/dist/plugins/python/httpx/index.js.map +7 -0
  12. package/dist/plugins/python/httpx/sync.d.ts +6 -0
  13. package/dist/plugins/python/httpx/sync.d.ts.map +1 -0
  14. package/dist/plugins/python/httpx/sync.js +13 -0
  15. package/dist/plugins/python/httpx/sync.js.map +7 -0
  16. package/dist/plugins/python/requests/requests.d.ts.map +1 -1
  17. package/dist/plugins/python/requests/requests.js +2 -93
  18. package/dist/plugins/python/requests/requests.js.map +3 -3
  19. package/dist/plugins/python/requestsLike.d.ts +3 -0
  20. package/dist/plugins/python/requestsLike.d.ts.map +1 -0
  21. package/dist/plugins/python/requestsLike.js +120 -0
  22. package/dist/plugins/python/requestsLike.js.map +7 -0
  23. package/dist/snippetz.d.ts +1 -1
  24. package/package.json +8 -3
  25. package/dist/plugins/c/libcurl/libcurl.test.js +0 -208
  26. package/dist/plugins/c/libcurl/libcurl.test.js.map +0 -7
  27. package/dist/plugins/clojure/clj_http/clj_http.test.js +0 -151
  28. package/dist/plugins/clojure/clj_http/clj_http.test.js.map +0 -7
  29. package/dist/plugins/dart/http/http.test.js +0 -550
  30. package/dist/plugins/dart/http/http.test.js.map +0 -7
  31. package/dist/plugins/go/native/native.test.js +0 -366
  32. package/dist/plugins/go/native/native.test.js.map +0 -7
  33. package/dist/plugins/http/http11/http11.test.js +0 -175
  34. package/dist/plugins/http/http11/http11.test.js.map +0 -7
  35. package/dist/plugins/java/okhttp/okhttp.test.js +0 -164
  36. package/dist/plugins/java/okhttp/okhttp.test.js.map +0 -7
  37. package/dist/plugins/js/fetch/fetch.test.js +0 -214
  38. package/dist/plugins/js/fetch/fetch.test.js.map +0 -7
  39. package/dist/plugins/js/ofetch/ofetch.test.js +0 -126
  40. package/dist/plugins/js/ofetch/ofetch.test.js.map +0 -7
  41. package/dist/plugins/kotlin/okhttp/okhttp.test.js +0 -164
  42. package/dist/plugins/kotlin/okhttp/okhttp.test.js.map +0 -7
  43. package/dist/plugins/node/fetch/fetch.test.js +0 -200
  44. package/dist/plugins/node/fetch/fetch.test.js.map +0 -7
  45. package/dist/plugins/node/ofetch/ofetch.test.js +0 -126
  46. package/dist/plugins/node/ofetch/ofetch.test.js.map +0 -7
  47. package/dist/plugins/node/undici/undici.test.js +0 -133
  48. package/dist/plugins/node/undici/undici.test.js.map +0 -7
  49. package/dist/plugins/php/curl/curl.test.js +0 -564
  50. package/dist/plugins/php/curl/curl.test.js.map +0 -7
  51. package/dist/plugins/php/guzzle/guzzle.test.js +0 -546
  52. package/dist/plugins/php/guzzle/guzzle.test.js.map +0 -7
  53. package/dist/plugins/python/requests/requests.test.js +0 -419
  54. package/dist/plugins/python/requests/requests.test.js.map +0 -7
  55. package/dist/plugins/ruby/native/native.test.js +0 -240
  56. package/dist/plugins/ruby/native/native.test.js.map +0 -7
  57. package/dist/plugins/shell/curl/curl.test.js +0 -427
  58. package/dist/plugins/shell/curl/curl.test.js.map +0 -7
  59. package/dist/plugins/shell/httpie/httpie.test.js +0 -113
  60. package/dist/plugins/shell/httpie/httpie.test.js.map +0 -7
  61. package/dist/plugins/shell/wget/wget.test.js +0 -143
  62. package/dist/plugins/shell/wget/wget.test.js.map +0 -7
  63. package/dist/plugins/swift/nsurlsession/nsurlsession.test.js +0 -344
  64. package/dist/plugins/swift/nsurlsession/nsurlsession.test.js.map +0 -7
  65. package/dist/snippetz.test.js +0 -79
  66. package/dist/snippetz.test.js.map +0 -7
  67. package/dist/utils/convertWithHttpSnippetLite.test.js +0 -106
  68. package/dist/utils/convertWithHttpSnippetLite.test.js.map +0 -7
  69. package/dist/utils/create-search-params.test.js +0 -49
  70. package/dist/utils/create-search-params.test.js.map +0 -7
@@ -1,208 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import { cLibcurl } from "./libcurl.js";
3
- describe("cLibcurl", () => {
4
- it("returns a basic request", () => {
5
- const result = cLibcurl.generate({
6
- url: "https://example.com"
7
- });
8
- expect(result).toBe(
9
- `CURL *hnd = curl_easy_init();
10
-
11
- curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
12
- curl_easy_setopt(hnd, CURLOPT_URL, "https://example.com");
13
-
14
- CURLcode ret = curl_easy_perform(hnd);`
15
- );
16
- });
17
- it("returns a POST request", () => {
18
- const result = cLibcurl.generate({
19
- url: "https://example.com",
20
- method: "post"
21
- });
22
- expect(result).toBe(
23
- `CURL *hnd = curl_easy_init();
24
-
25
- curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
26
- curl_easy_setopt(hnd, CURLOPT_URL, "https://example.com");
27
-
28
- CURLcode ret = curl_easy_perform(hnd);`
29
- );
30
- });
31
- it("has headers", () => {
32
- const result = cLibcurl.generate({
33
- url: "https://example.com",
34
- headers: [
35
- {
36
- name: "Content-Type",
37
- value: "application/json"
38
- }
39
- ]
40
- });
41
- expect(result).toBe(
42
- `CURL *hnd = curl_easy_init();
43
-
44
- curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
45
- curl_easy_setopt(hnd, CURLOPT_URL, "https://example.com");
46
-
47
- struct curl_slist *headers = NULL;
48
- headers = curl_slist_append(headers, "Content-Type: application/json");
49
- curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);
50
-
51
- CURLcode ret = curl_easy_perform(hnd);`
52
- );
53
- });
54
- it("handles multipart form data with files", () => {
55
- const result = cLibcurl.generate({
56
- url: "https://example.com",
57
- method: "POST",
58
- postData: {
59
- mimeType: "multipart/form-data",
60
- params: [
61
- {
62
- name: "file",
63
- fileName: "test.txt"
64
- },
65
- {
66
- name: "field",
67
- value: "value"
68
- }
69
- ]
70
- }
71
- });
72
- expect(result).toBe(
73
- `CURL *hnd = curl_easy_init();
74
-
75
- curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
76
- curl_easy_setopt(hnd, CURLOPT_URL, "https://example.com");
77
-
78
- curl_mime *mime = curl_mime_init(hnd);
79
-
80
- {
81
- curl_mimepart *part = curl_mime_addpart(mime);
82
- curl_mime_name(part, "file");
83
- curl_mime_filedata(part, "test.txt");
84
- }
85
-
86
- {
87
- curl_mimepart *part = curl_mime_addpart(mime);
88
- curl_mime_name(part, "field");
89
- curl_mime_data(part, "value", CURL_ZERO_TERMINATED);
90
- }
91
-
92
- curl_easy_setopt(hnd, CURLOPT_MIMEPOST, mime);
93
-
94
- CURLcode ret = curl_easy_perform(hnd);`
95
- );
96
- });
97
- it("handles url-encoded form data with special characters", () => {
98
- const result = cLibcurl.generate({
99
- url: "https://example.com",
100
- method: "POST",
101
- postData: {
102
- mimeType: "application/x-www-form-urlencoded",
103
- params: [
104
- {
105
- name: "special chars!@#",
106
- value: "value"
107
- }
108
- ]
109
- }
110
- });
111
- expect(result).toBe(
112
- `CURL *hnd = curl_easy_init();
113
-
114
- curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
115
- curl_easy_setopt(hnd, CURLOPT_URL, "https://example.com");
116
-
117
- curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "special+chars%21%40%23=value");
118
-
119
- CURLcode ret = curl_easy_perform(hnd);`
120
- );
121
- });
122
- it("handles binary data", () => {
123
- const result = cLibcurl.generate({
124
- url: "https://example.com",
125
- method: "POST",
126
- postData: {
127
- mimeType: "application/octet-stream",
128
- text: "binary content"
129
- }
130
- });
131
- expect(result).toBe(
132
- `CURL *hnd = curl_easy_init();
133
-
134
- curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
135
- curl_easy_setopt(hnd, CURLOPT_URL, "https://example.com");
136
-
137
- curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "binary content");
138
-
139
- CURLcode ret = curl_easy_perform(hnd);`
140
- );
141
- });
142
- it("handles special characters in URL", () => {
143
- const result = cLibcurl.generate({
144
- url: "https://example.com/path with spaces/[brackets]"
145
- });
146
- expect(result).toBe(
147
- `CURL *hnd = curl_easy_init();
148
-
149
- curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
150
- curl_easy_setopt(hnd, CURLOPT_URL, "https://example.com/path%20with%20spaces/[brackets]");
151
-
152
- CURLcode ret = curl_easy_perform(hnd);`
153
- );
154
- });
155
- it("handles multiple headers with same name", () => {
156
- const result = cLibcurl.generate({
157
- url: "https://example.com",
158
- headers: [
159
- { name: "X-Custom", value: "value1" },
160
- { name: "X-Custom", value: "value2" }
161
- ]
162
- });
163
- expect(result).toBe(
164
- `CURL *hnd = curl_easy_init();
165
-
166
- curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
167
- curl_easy_setopt(hnd, CURLOPT_URL, "https://example.com");
168
-
169
- struct curl_slist *headers = NULL;
170
- headers = curl_slist_append(headers, "X-Custom: value2");
171
- curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);
172
-
173
- CURLcode ret = curl_easy_perform(hnd);`
174
- );
175
- });
176
- it("handles headers with empty values", () => {
177
- const result = cLibcurl.generate({
178
- url: "https://example.com",
179
- headers: [{ name: "X-Empty", value: "" }]
180
- });
181
- expect(result).toBe(
182
- `CURL *hnd = curl_easy_init();
183
-
184
- curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
185
- curl_easy_setopt(hnd, CURLOPT_URL, "https://example.com");
186
-
187
- struct curl_slist *headers = NULL;
188
- headers = curl_slist_append(headers, "X-Empty;");
189
- curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);
190
-
191
- CURLcode ret = curl_easy_perform(hnd);`
192
- );
193
- });
194
- it("handles query string parameters", () => {
195
- const result = cLibcurl.generate({
196
- url: "https://example.com/api?param1=value1&param2=special value&param3=123"
197
- });
198
- expect(result).toBe(
199
- `CURL *hnd = curl_easy_init();
200
-
201
- curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
202
- curl_easy_setopt(hnd, CURLOPT_URL, "https://example.com/api?param1=value1&param2=special%20value&param3=123");
203
-
204
- CURLcode ret = curl_easy_perform(hnd);`
205
- );
206
- });
207
- });
208
- //# sourceMappingURL=libcurl.test.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../src/plugins/c/libcurl/libcurl.test.ts"],
4
- "sourcesContent": ["import { describe, expect, it } from 'vitest'\n\nimport { cLibcurl } from './libcurl'\n\ndescribe('cLibcurl', () => {\n it('returns a basic request', () => {\n const result = cLibcurl.generate({\n url: 'https://example.com',\n })\n\n expect(result).toBe(\n `CURL *hnd = curl_easy_init();\n\ncurl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, \"GET\");\ncurl_easy_setopt(hnd, CURLOPT_URL, \"https://example.com\");\n\nCURLcode ret = curl_easy_perform(hnd);`,\n )\n })\n\n it('returns a POST request', () => {\n const result = cLibcurl.generate({\n url: 'https://example.com',\n method: 'post',\n })\n\n expect(result).toBe(\n `CURL *hnd = curl_easy_init();\n\ncurl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, \"POST\");\ncurl_easy_setopt(hnd, CURLOPT_URL, \"https://example.com\");\n\nCURLcode ret = curl_easy_perform(hnd);`,\n )\n })\n\n it('has headers', () => {\n const result = cLibcurl.generate({\n url: 'https://example.com',\n headers: [\n {\n name: 'Content-Type',\n value: 'application/json',\n },\n ],\n })\n expect(result).toBe(\n `CURL *hnd = curl_easy_init();\n\ncurl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, \"GET\");\ncurl_easy_setopt(hnd, CURLOPT_URL, \"https://example.com\");\n\nstruct curl_slist *headers = NULL;\nheaders = curl_slist_append(headers, \"Content-Type: application/json\");\ncurl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);\n\nCURLcode ret = curl_easy_perform(hnd);`,\n )\n })\n\n it('handles multipart form data with files', () => {\n const result = cLibcurl.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(\n `CURL *hnd = curl_easy_init();\n\ncurl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, \"POST\");\ncurl_easy_setopt(hnd, CURLOPT_URL, \"https://example.com\");\n\ncurl_mime *mime = curl_mime_init(hnd);\n\n{\n curl_mimepart *part = curl_mime_addpart(mime);\n curl_mime_name(part, \"file\");\n curl_mime_filedata(part, \"test.txt\");\n}\n\n{\n curl_mimepart *part = curl_mime_addpart(mime);\n curl_mime_name(part, \"field\");\n curl_mime_data(part, \"value\", CURL_ZERO_TERMINATED);\n}\n\ncurl_easy_setopt(hnd, CURLOPT_MIMEPOST, mime);\n\nCURLcode ret = curl_easy_perform(hnd);`,\n )\n })\n\n it('handles url-encoded form data with special characters', () => {\n const result = cLibcurl.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(\n `CURL *hnd = curl_easy_init();\n\ncurl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, \"POST\");\ncurl_easy_setopt(hnd, CURLOPT_URL, \"https://example.com\");\n\ncurl_easy_setopt(hnd, CURLOPT_POSTFIELDS, \"special+chars%21%40%23=value\");\n\nCURLcode ret = curl_easy_perform(hnd);`,\n )\n })\n\n it('handles binary data', () => {\n const result = cLibcurl.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(\n `CURL *hnd = curl_easy_init();\n\ncurl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, \"POST\");\ncurl_easy_setopt(hnd, CURLOPT_URL, \"https://example.com\");\n\ncurl_easy_setopt(hnd, CURLOPT_POSTFIELDS, \"binary content\");\n\nCURLcode ret = curl_easy_perform(hnd);`,\n )\n })\n\n it('handles special characters in URL', () => {\n const result = cLibcurl.generate({\n url: 'https://example.com/path with spaces/[brackets]',\n })\n\n expect(result).toBe(\n `CURL *hnd = curl_easy_init();\n\ncurl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, \"GET\");\ncurl_easy_setopt(hnd, CURLOPT_URL, \"https://example.com/path%20with%20spaces/[brackets]\");\n\nCURLcode ret = curl_easy_perform(hnd);`,\n )\n })\n\n it('handles multiple headers with same name', () => {\n const result = cLibcurl.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(\n `CURL *hnd = curl_easy_init();\n\ncurl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, \"GET\");\ncurl_easy_setopt(hnd, CURLOPT_URL, \"https://example.com\");\n\nstruct curl_slist *headers = NULL;\nheaders = curl_slist_append(headers, \"X-Custom: value2\");\ncurl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);\n\nCURLcode ret = curl_easy_perform(hnd);`,\n )\n })\n\n it('handles headers with empty values', () => {\n const result = cLibcurl.generate({\n url: 'https://example.com',\n headers: [{ name: 'X-Empty', value: '' }],\n })\n\n expect(result).toBe(\n `CURL *hnd = curl_easy_init();\n\ncurl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, \"GET\");\ncurl_easy_setopt(hnd, CURLOPT_URL, \"https://example.com\");\n\nstruct curl_slist *headers = NULL;\nheaders = curl_slist_append(headers, \"X-Empty;\");\ncurl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);\n\nCURLcode ret = curl_easy_perform(hnd);`,\n )\n })\n\n it('handles query string parameters', () => {\n const result = cLibcurl.generate({\n url: 'https://example.com/api?param1=value1&param2=special value&param3=123',\n })\n\n expect(result).toBe(\n `CURL *hnd = curl_easy_init();\n\ncurl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, \"GET\");\ncurl_easy_setopt(hnd, CURLOPT_URL, \"https://example.com/api?param1=value1&param2=special%20value&param3=123\");\n\nCURLcode ret = curl_easy_perform(hnd);`,\n )\n })\n})\n"],
5
- "mappings": "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",
6
- "names": []
7
- }
@@ -1,151 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import { clojureCljhttp } from "./clj_http.js";
3
- describe("clojureCljhttp", () => {
4
- it("returns a basic request", () => {
5
- const result = clojureCljhttp.generate({
6
- url: "https://example.com"
7
- });
8
- expect(result).toBe(
9
- `(require '[clj-http.client :as client])
10
-
11
- (client/get "https://example.com")`
12
- );
13
- });
14
- it("returns a POST request", () => {
15
- const result = clojureCljhttp.generate({
16
- url: "https://example.com",
17
- method: "post"
18
- });
19
- expect(result).toBe(
20
- `(require '[clj-http.client :as client])
21
-
22
- (client/post "https://example.com")`
23
- );
24
- });
25
- it("has headers", () => {
26
- const result = clojureCljhttp.generate({
27
- url: "https://example.com",
28
- headers: [
29
- {
30
- name: "Content-Type",
31
- value: "application/json"
32
- }
33
- ]
34
- });
35
- expect(result).toBe(
36
- `(require '[clj-http.client :as client])
37
-
38
- (client/get "https://example.com" {:headers {:Content-Type "application/json"}})`
39
- );
40
- });
41
- it("handles multipart form data with files", () => {
42
- const result = clojureCljhttp.generate({
43
- url: "https://example.com",
44
- method: "POST",
45
- postData: {
46
- mimeType: "multipart/form-data",
47
- params: [
48
- {
49
- name: "file",
50
- fileName: "test.txt"
51
- },
52
- {
53
- name: "field",
54
- value: "value"
55
- }
56
- ]
57
- }
58
- });
59
- expect(result).toBe(
60
- `(require '[clj-http.client :as client])
61
-
62
- (client/post "https://example.com" {:multipart [{:name "file"
63
- :content (clojure.java.io/file "test.txt")} {:name "field"
64
- :content "value"}]})`
65
- );
66
- });
67
- it("handles url-encoded form data with special characters", () => {
68
- const result = clojureCljhttp.generate({
69
- url: "https://example.com",
70
- method: "POST",
71
- postData: {
72
- mimeType: "application/x-www-form-urlencoded",
73
- params: [
74
- {
75
- name: "special chars!@#",
76
- value: "value"
77
- }
78
- ]
79
- }
80
- });
81
- expect(result).toBe(
82
- `(require '[clj-http.client :as client])
83
-
84
- (client/post "https://example.com" {:form-params {:special chars!@# "value"}})`
85
- );
86
- });
87
- it.skip("handles binary data", () => {
88
- const result = clojureCljhttp.generate({
89
- url: "https://example.com",
90
- method: "POST",
91
- postData: {
92
- mimeType: "application/octet-stream",
93
- text: "binary content"
94
- }
95
- });
96
- expect(result).toBe(
97
- `(require '[clj-http.client :as client])
98
-
99
- (client/post "https://example.com" {:body "binary content"
100
- :content-type :application/octet-stream})`
101
- );
102
- });
103
- it("handles special characters in URL", () => {
104
- const result = clojureCljhttp.generate({
105
- url: "https://example.com/path with spaces/[brackets]"
106
- });
107
- expect(result).toBe(
108
- `(require '[clj-http.client :as client])
109
-
110
- (client/get "https://example.com/path%20with%20spaces/[brackets]")`
111
- );
112
- });
113
- it("handles multiple headers with same name", () => {
114
- const result = clojureCljhttp.generate({
115
- url: "https://example.com",
116
- headers: [
117
- { name: "X-Custom", value: "value1" },
118
- { name: "X-Custom", value: "value2" }
119
- ]
120
- });
121
- expect(result).toBe(
122
- `(require '[clj-http.client :as client])
123
-
124
- (client/get "https://example.com" {:headers {:X-Custom "value2"}})`
125
- );
126
- });
127
- it("handles headers with empty values", () => {
128
- const result = clojureCljhttp.generate({
129
- url: "https://example.com",
130
- headers: [{ name: "X-Empty", value: "" }]
131
- });
132
- expect(result).toBe(
133
- `(require '[clj-http.client :as client])
134
-
135
- (client/get "https://example.com" {:headers {:X-Empty ""}})`
136
- );
137
- });
138
- it("handles query string parameters", () => {
139
- const result = clojureCljhttp.generate({
140
- url: "https://example.com/api?param1=value1&param2=special value&param3=123"
141
- });
142
- expect(result).toBe(
143
- `(require '[clj-http.client :as client])
144
-
145
- (client/get "https://example.com/api" {:query-params {:param1 "value1"
146
- :param2 "special value"
147
- :param3 "123"}})`
148
- );
149
- });
150
- });
151
- //# sourceMappingURL=clj_http.test.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../src/plugins/clojure/clj_http/clj_http.test.ts"],
4
- "sourcesContent": ["import { describe, expect, it } from 'vitest'\n\nimport { clojureCljhttp } from './clj_http'\n\ndescribe('clojureCljhttp', () => {\n it('returns a basic request', () => {\n const result = clojureCljhttp.generate({\n url: 'https://example.com',\n })\n\n expect(result).toBe(\n `(require '[clj-http.client :as client])\n\n(client/get \"https://example.com\")`,\n )\n })\n\n it('returns a POST request', () => {\n const result = clojureCljhttp.generate({\n url: 'https://example.com',\n method: 'post',\n })\n\n expect(result).toBe(\n `(require '[clj-http.client :as client])\n\n(client/post \"https://example.com\")`,\n )\n })\n\n it('has headers', () => {\n const result = clojureCljhttp.generate({\n url: 'https://example.com',\n headers: [\n {\n name: 'Content-Type',\n value: 'application/json',\n },\n ],\n })\n expect(result).toBe(\n `(require '[clj-http.client :as client])\n\n(client/get \"https://example.com\" {:headers {:Content-Type \"application/json\"}})`,\n )\n })\n\n it('handles multipart form data with files', () => {\n const result = clojureCljhttp.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(\n `(require '[clj-http.client :as client])\n\n(client/post \"https://example.com\" {:multipart [{:name \"file\"\n :content (clojure.java.io/file \"test.txt\")} {:name \"field\"\n :content \"value\"}]})`,\n )\n })\n\n it('handles url-encoded form data with special characters', () => {\n const result = clojureCljhttp.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(\n `(require '[clj-http.client :as client])\n\n(client/post \"https://example.com\" {:form-params {:special chars!@# \"value\"}})`,\n )\n })\n\n it.skip('handles binary data', () => {\n const result = clojureCljhttp.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(\n `(require '[clj-http.client :as client])\n\n(client/post \"https://example.com\" {:body \"binary content\"\n :content-type :application/octet-stream})`,\n )\n })\n\n it('handles special characters in URL', () => {\n const result = clojureCljhttp.generate({\n url: 'https://example.com/path with spaces/[brackets]',\n })\n\n expect(result).toBe(\n `(require '[clj-http.client :as client])\n\n(client/get \"https://example.com/path%20with%20spaces/[brackets]\")`,\n )\n })\n\n it('handles multiple headers with same name', () => {\n const result = clojureCljhttp.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(\n `(require '[clj-http.client :as client])\n\n(client/get \"https://example.com\" {:headers {:X-Custom \"value2\"}})`,\n )\n })\n\n it('handles headers with empty values', () => {\n const result = clojureCljhttp.generate({\n url: 'https://example.com',\n headers: [{ name: 'X-Empty', value: '' }],\n })\n\n expect(result).toBe(\n `(require '[clj-http.client :as client])\n\n(client/get \"https://example.com\" {:headers {:X-Empty \"\"}})`,\n )\n })\n\n it('handles query string parameters', () => {\n const result = clojureCljhttp.generate({\n url: 'https://example.com/api?param1=value1&param2=special value&param3=123',\n })\n\n expect(result).toBe(\n `(require '[clj-http.client :as client])\n\n(client/get \"https://example.com/api\" {:query-params {:param1 \"value1\"\n :param2 \"special value\"\n :param3 \"123\"}})`,\n )\n })\n})\n"],
5
- "mappings": "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",
6
- "names": []
7
- }