@ohos-ports/curlconverter 4.12.0-beta.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 (270) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +153 -0
  3. package/dist/src/Headers.d.ts +23 -0
  4. package/dist/src/Headers.js +287 -0
  5. package/dist/src/Headers.js.map +1 -0
  6. package/dist/src/Query.d.ts +8 -0
  7. package/dist/src/Query.js +136 -0
  8. package/dist/src/Query.js.map +1 -0
  9. package/dist/src/Request.d.ts +200 -0
  10. package/dist/src/Request.js +1191 -0
  11. package/dist/src/Request.js.map +1 -0
  12. package/dist/src/Warnings.d.ts +15 -0
  13. package/dist/src/Warnings.js +111 -0
  14. package/dist/src/Warnings.js.map +1 -0
  15. package/dist/src/cli.d.ts +2 -0
  16. package/dist/src/cli.js +333 -0
  17. package/dist/src/cli.js.map +1 -0
  18. package/dist/src/curl/auth.d.ts +12 -0
  19. package/dist/src/curl/auth.js +40 -0
  20. package/dist/src/curl/auth.js.map +1 -0
  21. package/dist/src/curl/form.d.ts +28 -0
  22. package/dist/src/curl/form.js +218 -0
  23. package/dist/src/curl/form.js.map +1 -0
  24. package/dist/src/curl/opts.d.ts +2052 -0
  25. package/dist/src/curl/opts.js +1000 -0
  26. package/dist/src/curl/opts.js.map +1 -0
  27. package/dist/src/curl/url.d.ts +14 -0
  28. package/dist/src/curl/url.js +218 -0
  29. package/dist/src/curl/url.js.map +1 -0
  30. package/dist/src/generators/ansible.d.ts +5 -0
  31. package/dist/src/generators/ansible.js +282 -0
  32. package/dist/src/generators/ansible.js.map +1 -0
  33. package/dist/src/generators/c.d.ts +12 -0
  34. package/dist/src/generators/c.js +1230 -0
  35. package/dist/src/generators/c.js.map +1 -0
  36. package/dist/src/generators/cfml.d.ts +5 -0
  37. package/dist/src/generators/cfml.js +134 -0
  38. package/dist/src/generators/cfml.js.map +1 -0
  39. package/dist/src/generators/clojure.d.ts +7 -0
  40. package/dist/src/generators/clojure.js +436 -0
  41. package/dist/src/generators/clojure.js.map +1 -0
  42. package/dist/src/generators/csharp.d.ts +8 -0
  43. package/dist/src/generators/csharp.js +356 -0
  44. package/dist/src/generators/csharp.js.map +1 -0
  45. package/dist/src/generators/dart.d.ts +5 -0
  46. package/dist/src/generators/dart.js +273 -0
  47. package/dist/src/generators/dart.js.map +1 -0
  48. package/dist/src/generators/elixir.d.ts +8 -0
  49. package/dist/src/generators/elixir.js +296 -0
  50. package/dist/src/generators/elixir.js.map +1 -0
  51. package/dist/src/generators/go.d.ts +5 -0
  52. package/dist/src/generators/go.js +228 -0
  53. package/dist/src/generators/go.js.map +1 -0
  54. package/dist/src/generators/har.d.ts +7 -0
  55. package/dist/src/generators/har.js +115 -0
  56. package/dist/src/generators/har.js.map +1 -0
  57. package/dist/src/generators/http.d.ts +7 -0
  58. package/dist/src/generators/http.js +165 -0
  59. package/dist/src/generators/http.js.map +1 -0
  60. package/dist/src/generators/httpie.d.ts +5 -0
  61. package/dist/src/generators/httpie.js +446 -0
  62. package/dist/src/generators/httpie.js.map +1 -0
  63. package/dist/src/generators/java/httpurlconnection.d.ts +5 -0
  64. package/dist/src/generators/java/httpurlconnection.js +123 -0
  65. package/dist/src/generators/java/httpurlconnection.js.map +1 -0
  66. package/dist/src/generators/java/java.d.ts +8 -0
  67. package/dist/src/generators/java/java.js +247 -0
  68. package/dist/src/generators/java/java.js.map +1 -0
  69. package/dist/src/generators/java/jsoup.d.ts +5 -0
  70. package/dist/src/generators/java/jsoup.js +152 -0
  71. package/dist/src/generators/java/jsoup.js.map +1 -0
  72. package/dist/src/generators/java/okhttp.d.ts +5 -0
  73. package/dist/src/generators/java/okhttp.js +232 -0
  74. package/dist/src/generators/java/okhttp.js.map +1 -0
  75. package/dist/src/generators/javascript/axios.d.ts +5 -0
  76. package/dist/src/generators/javascript/axios.js +332 -0
  77. package/dist/src/generators/javascript/axios.js.map +1 -0
  78. package/dist/src/generators/javascript/got.d.ts +5 -0
  79. package/dist/src/generators/javascript/got.js +277 -0
  80. package/dist/src/generators/javascript/got.js.map +1 -0
  81. package/dist/src/generators/javascript/http.d.ts +8 -0
  82. package/dist/src/generators/javascript/http.js +183 -0
  83. package/dist/src/generators/javascript/http.js.map +1 -0
  84. package/dist/src/generators/javascript/javascript.d.ts +37 -0
  85. package/dist/src/generators/javascript/javascript.js +676 -0
  86. package/dist/src/generators/javascript/javascript.js.map +1 -0
  87. package/dist/src/generators/javascript/jquery.d.ts +15 -0
  88. package/dist/src/generators/javascript/jquery.js +297 -0
  89. package/dist/src/generators/javascript/jquery.js.map +1 -0
  90. package/dist/src/generators/javascript/ky.d.ts +7 -0
  91. package/dist/src/generators/javascript/ky.js +245 -0
  92. package/dist/src/generators/javascript/ky.js.map +1 -0
  93. package/dist/src/generators/javascript/request.d.ts +5 -0
  94. package/dist/src/generators/javascript/request.js +113 -0
  95. package/dist/src/generators/javascript/request.js.map +1 -0
  96. package/dist/src/generators/javascript/superagent.d.ts +10 -0
  97. package/dist/src/generators/javascript/superagent.js +301 -0
  98. package/dist/src/generators/javascript/superagent.js.map +1 -0
  99. package/dist/src/generators/javascript/xhr.d.ts +8 -0
  100. package/dist/src/generators/javascript/xhr.js +147 -0
  101. package/dist/src/generators/javascript/xhr.js.map +1 -0
  102. package/dist/src/generators/json.d.ts +45 -0
  103. package/dist/src/generators/json.js +197 -0
  104. package/dist/src/generators/json.js.map +1 -0
  105. package/dist/src/generators/julia.d.ts +8 -0
  106. package/dist/src/generators/julia.js +365 -0
  107. package/dist/src/generators/julia.js.map +1 -0
  108. package/dist/src/generators/kotlin.d.ts +8 -0
  109. package/dist/src/generators/kotlin.js +325 -0
  110. package/dist/src/generators/kotlin.js.map +1 -0
  111. package/dist/src/generators/lua.d.ts +5 -0
  112. package/dist/src/generators/lua.js +192 -0
  113. package/dist/src/generators/lua.js.map +1 -0
  114. package/dist/src/generators/matlab/common.d.ts +16 -0
  115. package/dist/src/generators/matlab/common.js +238 -0
  116. package/dist/src/generators/matlab/common.js.map +1 -0
  117. package/dist/src/generators/matlab/httpinterface.d.ts +2 -0
  118. package/dist/src/generators/matlab/httpinterface.js +211 -0
  119. package/dist/src/generators/matlab/httpinterface.js.map +1 -0
  120. package/dist/src/generators/matlab/matlab.d.ts +5 -0
  121. package/dist/src/generators/matlab/matlab.js +29 -0
  122. package/dist/src/generators/matlab/matlab.js.map +1 -0
  123. package/dist/src/generators/matlab/webservices.d.ts +2 -0
  124. package/dist/src/generators/matlab/webservices.js +191 -0
  125. package/dist/src/generators/matlab/webservices.js.map +1 -0
  126. package/dist/src/generators/objectivec.d.ts +8 -0
  127. package/dist/src/generators/objectivec.js +269 -0
  128. package/dist/src/generators/objectivec.js.map +1 -0
  129. package/dist/src/generators/ocaml.d.ts +8 -0
  130. package/dist/src/generators/ocaml.js +150 -0
  131. package/dist/src/generators/ocaml.js.map +1 -0
  132. package/dist/src/generators/perl.d.ts +9 -0
  133. package/dist/src/generators/perl.js +209 -0
  134. package/dist/src/generators/perl.js.map +1 -0
  135. package/dist/src/generators/php/guzzle.d.ts +5 -0
  136. package/dist/src/generators/php/guzzle.js +328 -0
  137. package/dist/src/generators/php/guzzle.js.map +1 -0
  138. package/dist/src/generators/php/php.d.ts +8 -0
  139. package/dist/src/generators/php/php.js +217 -0
  140. package/dist/src/generators/php/php.js.map +1 -0
  141. package/dist/src/generators/php/requests.d.ts +5 -0
  142. package/dist/src/generators/php/requests.js +89 -0
  143. package/dist/src/generators/php/requests.js.map +1 -0
  144. package/dist/src/generators/powershell.d.ts +11 -0
  145. package/dist/src/generators/powershell.js +377 -0
  146. package/dist/src/generators/powershell.js.map +1 -0
  147. package/dist/src/generators/python/http.d.ts +5 -0
  148. package/dist/src/generators/python/http.js +128 -0
  149. package/dist/src/generators/python/http.js.map +1 -0
  150. package/dist/src/generators/python/python.d.ts +22 -0
  151. package/dist/src/generators/python/python.js +1693 -0
  152. package/dist/src/generators/python/python.js.map +1 -0
  153. package/dist/src/generators/r/httr.d.ts +10 -0
  154. package/dist/src/generators/r/httr.js +298 -0
  155. package/dist/src/generators/r/httr.js.map +1 -0
  156. package/dist/src/generators/r/httr2.d.ts +5 -0
  157. package/dist/src/generators/r/httr2.js +214 -0
  158. package/dist/src/generators/r/httr2.js.map +1 -0
  159. package/dist/src/generators/ruby/httparty.d.ts +6 -0
  160. package/dist/src/generators/ruby/httparty.js +308 -0
  161. package/dist/src/generators/ruby/httparty.js.map +1 -0
  162. package/dist/src/generators/ruby/ruby.d.ts +14 -0
  163. package/dist/src/generators/ruby/ruby.js +515 -0
  164. package/dist/src/generators/ruby/ruby.js.map +1 -0
  165. package/dist/src/generators/rust.d.ts +8 -0
  166. package/dist/src/generators/rust.js +177 -0
  167. package/dist/src/generators/rust.js.map +1 -0
  168. package/dist/src/generators/swift.d.ts +8 -0
  169. package/dist/src/generators/swift.js +219 -0
  170. package/dist/src/generators/swift.js.map +1 -0
  171. package/dist/src/generators/wget.d.ts +8 -0
  172. package/dist/src/generators/wget.js +472 -0
  173. package/dist/src/generators/wget.js.map +1 -0
  174. package/dist/src/index.d.ts +53 -0
  175. package/dist/src/index.js +54 -0
  176. package/dist/src/index.js.map +1 -0
  177. package/dist/src/parse.d.ts +13 -0
  178. package/dist/src/parse.js +43 -0
  179. package/dist/src/parse.js.map +1 -0
  180. package/dist/src/shell/Parser.d.ts +4 -0
  181. package/dist/src/shell/Parser.js +6 -0
  182. package/dist/src/shell/Parser.js.map +1 -0
  183. package/dist/src/shell/Word.d.ts +48 -0
  184. package/dist/src/shell/Word.js +486 -0
  185. package/dist/src/shell/Word.js.map +1 -0
  186. package/dist/src/shell/tokenizer.d.ts +3 -0
  187. package/dist/src/shell/tokenizer.js +610 -0
  188. package/dist/src/shell/tokenizer.js.map +1 -0
  189. package/dist/src/shell/webParser.d.ts +4 -0
  190. package/dist/src/shell/webParser.js +15 -0
  191. package/dist/src/shell/webParser.js.map +1 -0
  192. package/dist/src/utils.d.ts +6 -0
  193. package/dist/src/utils.js +21 -0
  194. package/dist/src/utils.js.map +1 -0
  195. package/dist/tools/compare-requests.d.ts +2 -0
  196. package/dist/tools/compare-requests.js +448 -0
  197. package/dist/tools/compare-requests.js.map +1 -0
  198. package/dist/tools/gen-test.d.ts +2 -0
  199. package/dist/tools/gen-test.js +114 -0
  200. package/dist/tools/gen-test.js.map +1 -0
  201. package/dist/tree-sitter-bash.wasm +0 -0
  202. package/index.d.ts +3 -0
  203. package/package.json +97 -0
  204. package/src/Headers.ts +334 -0
  205. package/src/Query.ts +147 -0
  206. package/src/Request.ts +1649 -0
  207. package/src/Warnings.ts +154 -0
  208. package/src/cli.ts +561 -0
  209. package/src/curl/auth.ts +45 -0
  210. package/src/curl/form.ts +297 -0
  211. package/src/curl/opts.ts +1417 -0
  212. package/src/curl/url.ts +241 -0
  213. package/src/generators/ansible.ts +364 -0
  214. package/src/generators/c.ts +1371 -0
  215. package/src/generators/cfml.ts +155 -0
  216. package/src/generators/clojure.ts +521 -0
  217. package/src/generators/csharp.ts +383 -0
  218. package/src/generators/dart.ts +293 -0
  219. package/src/generators/elixir.ts +349 -0
  220. package/src/generators/go.ts +269 -0
  221. package/src/generators/har.ts +147 -0
  222. package/src/generators/http.ts +194 -0
  223. package/src/generators/httpie.ts +506 -0
  224. package/src/generators/java/httpurlconnection.ts +151 -0
  225. package/src/generators/java/java.ts +280 -0
  226. package/src/generators/java/jsoup.ts +172 -0
  227. package/src/generators/java/okhttp.ts +257 -0
  228. package/src/generators/javascript/axios.ts +395 -0
  229. package/src/generators/javascript/got.ts +362 -0
  230. package/src/generators/javascript/http.ts +232 -0
  231. package/src/generators/javascript/javascript.ts +825 -0
  232. package/src/generators/javascript/jquery.ts +360 -0
  233. package/src/generators/javascript/ky.ts +315 -0
  234. package/src/generators/javascript/request.ts +152 -0
  235. package/src/generators/javascript/superagent.ts +373 -0
  236. package/src/generators/javascript/xhr.ts +192 -0
  237. package/src/generators/json.ts +293 -0
  238. package/src/generators/julia.ts +398 -0
  239. package/src/generators/kotlin.ts +355 -0
  240. package/src/generators/lua.ts +209 -0
  241. package/src/generators/matlab/common.ts +281 -0
  242. package/src/generators/matlab/httpinterface.ts +284 -0
  243. package/src/generators/matlab/matlab.ts +39 -0
  244. package/src/generators/matlab/webservices.ts +263 -0
  245. package/src/generators/objectivec.ts +297 -0
  246. package/src/generators/ocaml.ts +168 -0
  247. package/src/generators/perl.ts +237 -0
  248. package/src/generators/php/guzzle.ts +368 -0
  249. package/src/generators/php/php.ts +239 -0
  250. package/src/generators/php/requests.ts +103 -0
  251. package/src/generators/powershell.ts +430 -0
  252. package/src/generators/python/http.ts +167 -0
  253. package/src/generators/python/python.ts +1934 -0
  254. package/src/generators/r/httr.ts +328 -0
  255. package/src/generators/r/httr2.ts +268 -0
  256. package/src/generators/ruby/httparty.ts +351 -0
  257. package/src/generators/ruby/ruby.ts +564 -0
  258. package/src/generators/rust.ts +243 -0
  259. package/src/generators/swift.ts +235 -0
  260. package/src/generators/wget.ts +533 -0
  261. package/src/index.ts +89 -0
  262. package/src/parse.ts +72 -0
  263. package/src/shell/Parser.ts +8 -0
  264. package/src/shell/Word.ts +531 -0
  265. package/src/shell/tokenizer.ts +736 -0
  266. package/src/shell/webParser.ts +18 -0
  267. package/src/utils.ts +25 -0
  268. package/tools/compare-requests.ts +571 -0
  269. package/tools/extract_curl_args.py +511 -0
  270. package/tools/gen-test.ts +129 -0
@@ -0,0 +1,273 @@
1
+ import { Word, eq } from "../shell/Word.js";
2
+ import { parse, getFirst, COMMON_SUPPORTED_ARGS } from "../parse.js";
3
+ import { parseQueryString } from "../Query.js";
4
+ import { esc as jsesc } from "./javascript/javascript.js";
5
+ export const supportedArgs = new Set([
6
+ ...COMMON_SUPPORTED_ARGS,
7
+ "compressed",
8
+ "form",
9
+ "form-string",
10
+ "no-compressed",
11
+ ]);
12
+ function escape(value, quote) {
13
+ // Escape Dart's $string interpolation syntax
14
+ // TODO: does Dart have the same escape sequences as JS?
15
+ return jsesc(value, quote).replace(/\$/g, "\\$");
16
+ }
17
+ function reprStr(value) {
18
+ const quote = value.includes("'") && !value.includes('"') ? '"' : "'";
19
+ return quote + escape(value, quote) + quote;
20
+ }
21
+ function repr(value, imports) {
22
+ const ret = [];
23
+ for (const t of value.tokens) {
24
+ if (typeof t === "string") {
25
+ ret.push(reprStr(t));
26
+ }
27
+ else if (t.type === "variable") {
28
+ ret.push("(Platform.environment[" + reprStr(t.value) + "] ?? '')");
29
+ imports.add("dart:io");
30
+ }
31
+ else {
32
+ ret.push("(await Process.run(" +
33
+ reprStr(t.value) +
34
+ ", runInShell: true)).stdout");
35
+ imports.add("dart:io");
36
+ }
37
+ }
38
+ return ret.join(" + ");
39
+ }
40
+ function reprWords(value, imports) {
41
+ if (value instanceof Word)
42
+ return repr(value, imports);
43
+ const ret = [];
44
+ for (const v of value) {
45
+ ret.push(repr(v, imports));
46
+ }
47
+ return "[" + ret.join(", ") + "]";
48
+ }
49
+ export function _toDart(requests, warnings = []) {
50
+ const request = getFirst(requests, warnings);
51
+ const imports = new Set();
52
+ if (request.urls[0].auth || request.isDataBinary)
53
+ imports.add("dart:convert");
54
+ let s = "void main() async {\n";
55
+ if (request.urls[0].auth) {
56
+ const [uname, pword] = request.urls[0].auth;
57
+ s +=
58
+ " final uname = " +
59
+ repr(uname, imports) +
60
+ ";\n" +
61
+ " final pword = " +
62
+ repr(pword, imports) +
63
+ ";\n" +
64
+ " final authn = 'Basic ${base64Encode(utf8.encode('$uname:$pword'))}';\n" +
65
+ "\n";
66
+ }
67
+ const methods = ["HEAD", "GET", "POST", "PUT", "PATCH", "DELETE"];
68
+ const rawRequestObj = request.multipartUploads ||
69
+ !methods.includes(request.urls[0].method.toString());
70
+ const hasHeaders = request.headers.length ||
71
+ request.compressed ||
72
+ request.isDataBinary ||
73
+ request.urls[0].method.toLowerCase().toString() === "put";
74
+ if (hasHeaders && !rawRequestObj) {
75
+ s += " final headers = {\n";
76
+ for (const [hname, hval] of request.headers) {
77
+ s +=
78
+ " " +
79
+ repr(hname, imports) +
80
+ ": " +
81
+ repr(hval !== null && hval !== void 0 ? hval : new Word(), imports) +
82
+ ",\n";
83
+ }
84
+ if (request.urls[0].auth)
85
+ s += " 'Authorization': authn,\n";
86
+ // TODO: headers might already have Accept-Encoding
87
+ if (request.compressed)
88
+ s += " 'Accept-Encoding': 'gzip',\n";
89
+ s += " };\n";
90
+ s += "\n";
91
+ }
92
+ if (request.urls[0].queryDict) {
93
+ s += " final params = {\n";
94
+ for (const [paramName, rawValue] of request.urls[0].queryDict) {
95
+ s +=
96
+ " " +
97
+ repr(paramName, imports) +
98
+ ": " +
99
+ reprWords(rawValue, imports) +
100
+ ",\n";
101
+ }
102
+ s += " };\n";
103
+ s += "\n";
104
+ }
105
+ const hasData = request.data && !request.multipartUploads;
106
+ if (hasData && request.data) {
107
+ const [parsedQuery] = parseQueryString(request.data);
108
+ if (parsedQuery && parsedQuery.length) {
109
+ s += " final data = {\n";
110
+ for (const param of parsedQuery) {
111
+ const [key, val] = param;
112
+ s += " " + repr(key, imports) + ": " + repr(val, imports) + ",\n";
113
+ }
114
+ s += " };\n";
115
+ s += "\n";
116
+ }
117
+ else {
118
+ s += ` final data = ${repr(request.data, imports)};\n\n`;
119
+ }
120
+ }
121
+ if (request.urls[0].queryDict) {
122
+ const urlString = repr(request.urls[0].urlWithoutQueryList, imports);
123
+ s +=
124
+ " final url = Uri.parse(" +
125
+ urlString +
126
+ ")\n" +
127
+ " .replace(queryParameters: params);\n";
128
+ }
129
+ else {
130
+ s +=
131
+ " final url = Uri.parse(" + repr(request.urls[0].url, imports) + ");\n";
132
+ }
133
+ s += "\n";
134
+ if (rawRequestObj) {
135
+ let multipart = "http.";
136
+ if (request.multipartUploads) {
137
+ multipart += "MultipartRequest";
138
+ }
139
+ else {
140
+ multipart += "Request";
141
+ }
142
+ multipart += "(" + repr(request.urls[0].method, imports) + ", url)";
143
+ for (const m of request.multipartUploads || []) {
144
+ // MultipartRequest syntax looks like this:
145
+ // ..fields['user'] = 'nweiz@google.com'
146
+ // or
147
+ // ..files.add(await http.MultipartFile.fromPath(
148
+ // 'package', 'build/package.tar.gz',
149
+ // contentType: MediaType('application', 'x-tar')))
150
+ const name = repr(m.name, imports); // TODO: what if name is empty string?
151
+ const sentFilename = "filename" in m && m.filename;
152
+ if ("contentFile" in m) {
153
+ multipart += "\n ..files.add(await http.MultipartFile.";
154
+ if (eq(m.contentFile, "-")) {
155
+ if (request.stdinFile) {
156
+ multipart += "fromPath(\n";
157
+ multipart +=
158
+ " " + name + ", " + repr(request.stdinFile, imports);
159
+ if (sentFilename && request.stdinFile !== sentFilename) {
160
+ multipart += ",\n";
161
+ multipart += " filename: " + repr(sentFilename, imports);
162
+ }
163
+ multipart += "))";
164
+ }
165
+ else if (request.stdin) {
166
+ multipart += "fromString(\n";
167
+ multipart += " " + name + ", " + repr(request.stdin, imports);
168
+ if (sentFilename) {
169
+ multipart += ",\n";
170
+ multipart += " filename: " + repr(sentFilename, imports);
171
+ }
172
+ multipart += "))";
173
+ }
174
+ else {
175
+ multipart += "fromString(\n";
176
+ // TODO: read the entire thing, not one line.
177
+ multipart +=
178
+ " " + name + ", stdin.readLineSync(encoding: utf8)";
179
+ if (sentFilename) {
180
+ multipart += ",\n";
181
+ multipart += " filename: " + repr(sentFilename, imports);
182
+ }
183
+ multipart += "))";
184
+ imports.add("dart:io");
185
+ imports.add("dart:convert");
186
+ }
187
+ }
188
+ else {
189
+ multipart += "fromPath(\n";
190
+ multipart += " " + name + ", " + repr(m.contentFile, imports);
191
+ if (sentFilename && m.contentFile !== sentFilename) {
192
+ multipart += ",\n";
193
+ multipart += " filename: " + repr(sentFilename, imports);
194
+ }
195
+ multipart += "))";
196
+ }
197
+ }
198
+ else {
199
+ multipart +=
200
+ "\n ..fields[" + name + "] = " + repr(m.content, imports);
201
+ }
202
+ }
203
+ multipart += ";\n\n";
204
+ if (hasHeaders || request.urls[0].auth) {
205
+ s += " final req = " + multipart;
206
+ if (request.headers.length) {
207
+ for (const [hname, hval] of request.headers) {
208
+ s +=
209
+ " req.headers[" +
210
+ repr(hname, imports) +
211
+ "] = " +
212
+ repr(hval || new Word(), imports) +
213
+ ";\n";
214
+ }
215
+ s += "\n";
216
+ }
217
+ if (request.urls[0].auth) {
218
+ s += " req.headers['Authorization'] = authn;\n";
219
+ s += "\n";
220
+ }
221
+ s += " final stream = await req.send();\n";
222
+ s += " final res = await http.Response.fromStream(stream);\n";
223
+ }
224
+ else {
225
+ s += " final req = " + multipart;
226
+ s += " final stream = await req.send();\n";
227
+ s += " final res = await http.Response.fromStream(stream);\n";
228
+ }
229
+ s +=
230
+ " final status = res.statusCode;\n" +
231
+ " if (status != 200) throw Exception('http.send" +
232
+ " error: statusCode= $status');\n" +
233
+ "\n" +
234
+ " print(res.body);\n" +
235
+ "}";
236
+ }
237
+ else {
238
+ s +=
239
+ " final res = await http." +
240
+ request.urls[0].method.toLowerCase().toString() +
241
+ "(url";
242
+ if (hasHeaders)
243
+ s += ", headers: headers";
244
+ else if (request.urls[0].auth)
245
+ s += ", headers: {'Authorization': authn}";
246
+ if (hasData)
247
+ s += ", body: data";
248
+ s += ");\n";
249
+ s +=
250
+ " final status = res.statusCode;\n" +
251
+ " if (status != 200) throw Exception('http." +
252
+ request.urls[0].method.toLowerCase().toString() +
253
+ " error: statusCode= $status');\n" +
254
+ "\n" +
255
+ " print(res.body);\n" +
256
+ "}";
257
+ }
258
+ let importString = "";
259
+ for (const imp of Array.from(imports).sort()) {
260
+ importString += "import '" + imp + "';\n";
261
+ }
262
+ importString += "import 'package:http/http.dart' as http;\n";
263
+ return importString + "\n" + s + "\n";
264
+ }
265
+ export function toDartWarn(curlCommand, warnings = []) {
266
+ const requests = parse(curlCommand, supportedArgs, warnings);
267
+ const dart = _toDart(requests, warnings);
268
+ return [dart, warnings];
269
+ }
270
+ export function toDart(curlCommand) {
271
+ return toDartWarn(curlCommand)[0];
272
+ }
273
+ //# sourceMappingURL=dart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dart.js","sourceRoot":"","sources":["../../../src/generators/dart.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { Word } from "../shell/Word.js";
2
+ import type { Request, Warnings } from "../parse.js";
3
+ export declare const supportedArgs: Set<string>;
4
+ export declare function reprStr(s: string): string;
5
+ export declare function repr(w: Word): string;
6
+ export declare function _toElixir(requests: Request[], warnings?: Warnings): string;
7
+ export declare function toElixirWarn(curlCommand: string | string[], warnings?: Warnings): [string, Warnings];
8
+ export declare function toElixir(curlCommand: string | string[]): string;
@@ -0,0 +1,296 @@
1
+ import { warnIfPartsIgnored } from "../Warnings.js";
2
+ import { Word, joinWords } from "../shell/Word.js";
3
+ import { parse, COMMON_SUPPORTED_ARGS } from "../parse.js";
4
+ import { parseQueryString } from "../Query.js";
5
+ export const supportedArgs = new Set([
6
+ ...COMMON_SUPPORTED_ARGS,
7
+ "form",
8
+ "form-string",
9
+ "insecure",
10
+ "no-insecure",
11
+ "next",
12
+ ]);
13
+ const regexEscape = /"|\\|\p{C}|[^ \P{Z}]|#\{/gu;
14
+ export function reprStr(s) {
15
+ return ('"' +
16
+ s.replace(regexEscape, (c) => {
17
+ switch (c[0]) {
18
+ case "\x00":
19
+ return "\\0";
20
+ case "\x07":
21
+ return "\\a";
22
+ case "\b":
23
+ return "\\b";
24
+ case "\f":
25
+ return "\\f";
26
+ case "\n":
27
+ return "\\n";
28
+ case "\r":
29
+ return "\\r";
30
+ case "\t":
31
+ return "\\t";
32
+ case "\v":
33
+ return "\\v";
34
+ case "\x1B":
35
+ return "\\e";
36
+ case "\\":
37
+ return "\\\\";
38
+ case '"':
39
+ return '\\"';
40
+ case "#":
41
+ return "\\" + c;
42
+ }
43
+ const hex = c.codePointAt(0).toString(16);
44
+ if (hex.length <= 4) {
45
+ return "\\u" + hex.padStart(4, "0");
46
+ }
47
+ return "\\u{" + hex + "}";
48
+ }) +
49
+ '"');
50
+ }
51
+ export function repr(w) {
52
+ const args = [];
53
+ for (const t of w.tokens) {
54
+ if (typeof t === "string") {
55
+ args.push(reprStr(t));
56
+ }
57
+ else if (t.type === "variable") {
58
+ args.push("System.get_env(" + reprStr(t.value) + ', "")');
59
+ }
60
+ else {
61
+ // TODO: strip newline?
62
+ // TODO: use System.cmd(), which needs to be two arguments the command name + list of args
63
+ args.push("elem(System.shell(" + reprStr(t.value) + "), 0)");
64
+ }
65
+ }
66
+ return args.join(" <> ");
67
+ }
68
+ function addIndent(value) {
69
+ // split on new lines and add 2 spaces of indentation to each line, except empty lines
70
+ return value
71
+ .split("\n")
72
+ .map((line) => (line ? " " + line : line))
73
+ .join("\n");
74
+ }
75
+ function getCookies(request) {
76
+ if (!request.cookies || !request.cookies.length) {
77
+ return "";
78
+ }
79
+ // TODO: this duplicates work, just get it from request.headers
80
+ const cookies = joinWords(request.cookies.map((c) => joinWords(c, "=")), "; ");
81
+ return `cookie: [${repr(cookies)}]`;
82
+ }
83
+ function getOptions(request, params) {
84
+ const hackneyOptions = [];
85
+ const auth = getBasicAuth(request);
86
+ if (auth) {
87
+ hackneyOptions.push(auth);
88
+ }
89
+ if (request.insecure) {
90
+ hackneyOptions.push(":insecure");
91
+ }
92
+ const cookies = getCookies(request);
93
+ if (cookies) {
94
+ hackneyOptions.push(cookies);
95
+ }
96
+ let hackneyOptionsString = "";
97
+ if (hackneyOptions.length > 1) {
98
+ hackneyOptionsString = `hackney: [\n ${hackneyOptions.join(",\n ")}\n ]`;
99
+ }
100
+ else if (hackneyOptions.length) {
101
+ hackneyOptionsString = `hackney: [${hackneyOptions[0]}]`;
102
+ }
103
+ const optionsWithoutParams = `[${hackneyOptionsString}]`;
104
+ let options = optionsWithoutParams;
105
+ if (params !== "[]") {
106
+ options = "";
107
+ options += "[\n";
108
+ options += " params: " + addIndent(params).trim();
109
+ if (hackneyOptionsString) {
110
+ options += ",\n";
111
+ options += " " + addIndent(hackneyOptionsString).trim();
112
+ }
113
+ options += "\n";
114
+ options += " ]";
115
+ }
116
+ return [options, optionsWithoutParams];
117
+ }
118
+ function getBasicAuth(request) {
119
+ if (!request.urls[0].auth) {
120
+ return "";
121
+ }
122
+ const [user, password] = request.urls[0].auth;
123
+ return `basic_auth: {${repr(user)}, ${repr(password)}}`;
124
+ }
125
+ function getQueryDict(request) {
126
+ if (!request.urls[0].queryList || !request.urls[0].queryList.length) {
127
+ return "[]";
128
+ }
129
+ let queryDict = "[\n";
130
+ const queryDictLines = [];
131
+ for (const [paramName, rawValue] of request.urls[0].queryList) {
132
+ queryDictLines.push(` {${repr(paramName)}, ${repr(rawValue)}}`);
133
+ }
134
+ queryDict += queryDictLines.join(",\n");
135
+ queryDict += "\n ]";
136
+ return queryDict;
137
+ }
138
+ function getHeadersDict(request) {
139
+ if (!request.headers.length) {
140
+ return "[]";
141
+ }
142
+ let dict = "[\n";
143
+ const dictLines = [];
144
+ for (const [headerName, headerValue] of request.headers) {
145
+ dictLines.push(` {${repr(headerName)}, ${repr(headerValue !== null && headerValue !== void 0 ? headerValue : new Word())}}`);
146
+ }
147
+ dict += dictLines.join(",\n");
148
+ dict += "\n ]";
149
+ return dict;
150
+ }
151
+ function getBody(request) {
152
+ const formData = getFormDataString(request);
153
+ return formData ? formData : '""';
154
+ }
155
+ function getFormDataString(request) {
156
+ var _a;
157
+ if (request.multipartUploads) {
158
+ if (!request.multipartUploads.length) {
159
+ return `{:multipart, []}`;
160
+ }
161
+ const formParams = [];
162
+ for (const m of request.multipartUploads) {
163
+ if ("contentFile" in m) {
164
+ formParams.push(` {:file, ${repr(m.contentFile)}, {"form-data", [{:name, ${repr(m.name)}}, {:filename, Path.basename(${repr((_a = m.filename) !== null && _a !== void 0 ? _a : m.contentFile)})}]}, []}`);
165
+ }
166
+ else {
167
+ formParams.push(` {${repr(m.name)}, ${repr(m.content)}}`);
168
+ }
169
+ }
170
+ const formStr = formParams.join(",\n");
171
+ if (formStr) {
172
+ return `{:multipart, [
173
+ ${formStr}
174
+ ]}`;
175
+ }
176
+ }
177
+ if (request.data) {
178
+ return getDataString(request);
179
+ }
180
+ return "";
181
+ }
182
+ function getDataString(request) {
183
+ if (!request.data) {
184
+ return "";
185
+ }
186
+ // TODO: JSON with Poison
187
+ if (!request.isDataRaw && request.data.startsWith("@")) {
188
+ const filePath = request.data.slice(1);
189
+ if (request.isDataBinary) {
190
+ return `File.read!(${repr(filePath)})`;
191
+ }
192
+ else {
193
+ return `{:file, ${repr(filePath)}}`;
194
+ }
195
+ }
196
+ const [parsedQuery] = parseQueryString(request.data);
197
+ if (parsedQuery && parsedQuery.length) {
198
+ const data = parsedQuery.map((p) => {
199
+ const [key, value] = p;
200
+ return ` {${repr(key)}, ${repr(value)}}`;
201
+ });
202
+ return `{:form, [\n${data.join(",\n")}\n ]}`;
203
+ }
204
+ if (request.data.isString() &&
205
+ !request.data.includes("|") &&
206
+ request.data.split("\n", 4).length > 3 &&
207
+ // No trailing whitespace, except possibly on the last line
208
+ !request.data.match(/[^\S\r\n]\n/)) {
209
+ return "~s|" + request.data.toString() + "|";
210
+ }
211
+ return repr(request.data);
212
+ }
213
+ function requestToElixir(request, warnings = []) {
214
+ warnIfPartsIgnored(request, warnings);
215
+ if (request.cookies) {
216
+ request.headers.delete("cookie");
217
+ }
218
+ // delete!(url, headers \\ [], options \\ [])
219
+ // get!(url, headers \\ [], options \\ [])
220
+ // head!(url, headers \\ [], options \\ [])
221
+ // options!(url, headers \\ [], options \\ [])
222
+ // patch!(url, body, headers \\ [], options \\ [])
223
+ // post!(url, body, headers \\ [], options \\ [])
224
+ // put!(url, body \\ "", headers \\ [], options \\ [])
225
+ const methods = ["DELETE", "GET", "HEAD", "OPTIONS", "PATCH", "POST", "PUT"];
226
+ const bodyMethods = ["PATCH", "POST", "PUT"];
227
+ const method = request.urls[0].method;
228
+ const methodStr = method.toString();
229
+ if (!methods.includes(methodStr)) {
230
+ warnings.push([
231
+ "bad-method",
232
+ "Unsupported method " + JSON.stringify(methodStr),
233
+ ]);
234
+ }
235
+ const isBodyMethod = bodyMethods.includes(methodStr);
236
+ const body = getBody(request);
237
+ const headers = getHeadersDict(request);
238
+ const params = getQueryDict(request);
239
+ // params can go in the options argument, but if we're using the full
240
+ // form, put them as a separate argument.
241
+ const [options, optionsWithoutParams] = getOptions(request, params);
242
+ if (isBodyMethod || (body === '""' && methods.includes(methodStr))) {
243
+ // Add args backwards. As soon as we see a non-default value, we have to
244
+ // add all preceding arguments.
245
+ let args = [];
246
+ let keepArgs = false;
247
+ keepArgs || (keepArgs = options !== "[]");
248
+ if (keepArgs) {
249
+ args.push(options);
250
+ }
251
+ keepArgs || (keepArgs = headers !== "[]");
252
+ if (keepArgs) {
253
+ args.push(headers);
254
+ }
255
+ keepArgs || (keepArgs = body !== '""');
256
+ if (keepArgs && isBodyMethod) {
257
+ args.push(body);
258
+ }
259
+ args.push(repr(request.urls[0].urlWithoutQueryList));
260
+ args = args.reverse();
261
+ let s = "response = HTTPoison." + methodStr.toLowerCase() + "!(";
262
+ if (args.length === 1) {
263
+ // If we just need the method+URL, keep it all on one line
264
+ s += args[0];
265
+ }
266
+ else {
267
+ s += "\n";
268
+ s += " " + args.join(",\n ");
269
+ s += "\n";
270
+ }
271
+ return s + ")\n";
272
+ }
273
+ return `request = %HTTPoison.Request{
274
+ method: :${method.toLowerCase().toString()},
275
+ url: ${repr(request.urls[0].urlWithoutQueryList)},
276
+ body: ${body},
277
+ headers: ${headers},
278
+ options: ${optionsWithoutParams},
279
+ params: ${params}
280
+ }
281
+
282
+ response = HTTPoison.request(request)
283
+ `;
284
+ }
285
+ export function _toElixir(requests, warnings = []) {
286
+ return requests.map((r) => requestToElixir(r, warnings)).join("\n");
287
+ }
288
+ export function toElixirWarn(curlCommand, warnings = []) {
289
+ const requests = parse(curlCommand, supportedArgs, warnings);
290
+ const elixir = _toElixir(requests, warnings);
291
+ return [elixir, warnings];
292
+ }
293
+ export function toElixir(curlCommand) {
294
+ return toElixirWarn(curlCommand)[0];
295
+ }
296
+ //# sourceMappingURL=elixir.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elixir.js","sourceRoot":"","sources":["../../../src/generators/elixir.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { Request, Warnings } from "../parse.js";
2
+ export declare const supportedArgs: Set<string>;
3
+ export declare function _toGo(requests: Request[], warnings?: Warnings): string;
4
+ export declare function toGoWarn(curlCommand: string | string[], warnings?: Warnings): [string, Warnings];
5
+ export declare function toGo(curlCommand: string | string[]): string;