@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,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/httpsnippet-lite/esm/targets/shell/httpie/client.ts"],
4
- "sourcesContent": ["// @ts-nocheck\n/**\n * @description\n * HTTP code snippet generator for the Shell using HTTPie.\n *\n * @author\n * @AhmadNassri\n *\n * for any questions or issues regarding the generated code snippet, please open an issue mentioning the author.\n */\nimport { CodeBuilder } from '../../../helpers/code-builder.js'\nimport { quote } from '../../../helpers/shell.js'\n\nexport const httpie = {\n info: {\n key: 'httpie',\n title: 'HTTPie',\n link: 'http://httpie.org/',\n description: 'a CLI, cURL-like tool for humans',\n },\n convert: (\n { allHeaders, postData, queryObj, fullUrl, method, url },\n options,\n ) => {\n const opts = {\n body: false,\n cert: false,\n headers: false,\n indent: ' ',\n pretty: false,\n print: false,\n queryParams: false,\n short: false,\n style: false,\n timeout: false,\n verbose: false,\n verify: false,\n ...options,\n }\n const { push, join, unshift } = new CodeBuilder({\n indent: opts.indent,\n // @ts-expect-error SEEMS LEGIT\n join: opts.indent !== false ? ` \\\\\\n${opts.indent}` : ' ',\n })\n let raw = false\n const flags = []\n if (opts.headers) {\n flags.push(opts.short ? '-h' : '--headers')\n }\n if (opts.body) {\n flags.push(opts.short ? '-b' : '--body')\n }\n if (opts.verbose) {\n flags.push(opts.short ? '-v' : '--verbose')\n }\n if (opts.print) {\n flags.push(`${opts.short ? '-p' : '--print'}=${opts.print}`)\n }\n if (opts.verify) {\n flags.push(`--verify=${opts.verify}`)\n }\n if (opts.cert) {\n flags.push(`--cert=${opts.cert}`)\n }\n if (opts.pretty) {\n flags.push(`--pretty=${opts.pretty}`)\n }\n if (opts.style) {\n flags.push(`--style=${opts.style}`)\n }\n if (opts.timeout) {\n flags.push(`--timeout=${opts.timeout}`)\n }\n // construct query params\n if (opts.queryParams) {\n Object.keys(queryObj).forEach((name) => {\n const value = queryObj[name]\n if (Array.isArray(value)) {\n value.forEach((val) => {\n push(`${name}==${quote(val)}`)\n })\n } else {\n push(`${name}==${quote(value)}`)\n }\n })\n }\n // construct headers\n Object.keys(allHeaders)\n .sort()\n .forEach((key) => {\n push(`${key}:${quote(allHeaders[key])}`)\n })\n if (\n (postData === null || postData === void 0\n ? void 0\n : postData.mimeType) === 'application/x-www-form-urlencoded'\n ) {\n // construct post params\n if (postData.params?.length) {\n flags.push(opts.short ? '-f' : '--form')\n postData.params.forEach((param) => {\n push(`${param.name}=${quote(param.value)}`)\n })\n }\n } else {\n raw = true\n }\n const cliFlags = flags.length ? `${flags.join(' ')} ` : ''\n url = quote(opts.queryParams ? url : fullUrl)\n unshift(`http ${cliFlags}${method} ${url}`)\n if (\n raw &&\n (postData === null || postData === void 0 ? void 0 : postData.text)\n ) {\n const postDataText = quote(postData.text)\n unshift(`echo ${postDataText} | `)\n }\n return join()\n },\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["// @ts-nocheck\n/**\n * @description\n * HTTP code snippet generator for the Shell using HTTPie.\n *\n * @author\n * @AhmadNassri\n *\n * for any questions or issues regarding the generated code snippet, please open an issue mentioning the author.\n */\nimport { CodeBuilder } from '../../../helpers/code-builder.js'\nimport { quote } from '../../../helpers/shell.js'\n\nexport const httpie = {\n info: {\n key: 'httpie',\n title: 'HTTPie',\n link: 'http://httpie.org/',\n description: 'a CLI, cURL-like tool for humans',\n },\n convert: (\n { allHeaders, postData, queryObj, fullUrl, method, url },\n options,\n ) => {\n const opts = {\n body: false,\n cert: false,\n headers: false,\n indent: ' ',\n pretty: false,\n print: false,\n queryParams: false,\n short: false,\n style: false,\n timeout: false,\n verbose: false,\n verify: false,\n ...options,\n }\n const { push, join, unshift } = new CodeBuilder({\n indent: opts.indent,\n // @ts-expect-error SEEMS LEGIT\n join: opts.indent !== false ? ` \\\\\\n${opts.indent}` : ' ',\n })\n let raw = false\n const flags = []\n if (opts.headers) {\n flags.push(opts.short ? '-h' : '--headers')\n }\n if (opts.body) {\n flags.push(opts.short ? '-b' : '--body')\n }\n if (opts.verbose) {\n flags.push(opts.short ? '-v' : '--verbose')\n }\n if (opts.print) {\n flags.push(`${opts.short ? '-p' : '--print'}=${opts.print}`)\n }\n if (opts.verify) {\n flags.push(`--verify=${opts.verify}`)\n }\n if (opts.cert) {\n flags.push(`--cert=${opts.cert}`)\n }\n if (opts.pretty) {\n flags.push(`--pretty=${opts.pretty}`)\n }\n if (opts.style) {\n flags.push(`--style=${opts.style}`)\n }\n if (opts.timeout) {\n flags.push(`--timeout=${opts.timeout}`)\n }\n // construct query params\n if (opts.queryParams) {\n Object.keys(queryObj).forEach((name) => {\n const value = queryObj[name]\n if (Array.isArray(value)) {\n value.forEach((val) => {\n push(`${name}==${quote(val)}`)\n })\n } else {\n push(`${name}==${quote(value)}`)\n }\n })\n }\n // construct headers\n Object.keys(allHeaders)\n .sort()\n .forEach((key) => {\n push(`${key}:${quote(allHeaders[key])}`)\n })\n if (\n (postData === null || postData === void 0\n ? void 0\n : postData.mimeType) === 'application/x-www-form-urlencoded'\n ) {\n // construct post params\n if (postData.params?.length) {\n flags.push(opts.short ? '-f' : '--form')\n postData.params.forEach((param) => {\n push(`${param.name}=${quote(param.value)}`)\n })\n }\n } else if (\n (postData === null || postData === void 0\n ? void 0\n : postData.mimeType) === 'multipart/form-data'\n ) {\n // construct multipart form data\n if (postData.params?.length) {\n flags.push('--multipart')\n postData.params.forEach((param) => {\n if (param.fileName) {\n push(`${param.name}@${quote(param.fileName)}`)\n } else {\n push(`${param.name}='${quote(param.value)}'`)\n }\n })\n }\n } else {\n raw = true\n }\n const cliFlags = flags.length ? `${flags.join(' ')} ` : ''\n url = quote(opts.queryParams ? url : fullUrl)\n unshift(`http ${cliFlags}${method} ${url}`)\n if (\n raw &&\n (postData === null || postData === void 0 ? void 0 : postData.text)\n ) {\n const postDataText = quote(postData.text)\n unshift(`echo ${postDataText} | `)\n }\n return join()\n },\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,2 +1,2 @@
1
- export * from './axios.js';
1
+ export { jsAxios } from './axios.js';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/js/axios/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/js/axios/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA"}
@@ -1,2 +1,5 @@
1
- export * from "./axios.js";
1
+ import { jsAxios } from "./axios.js";
2
+ export {
3
+ jsAxios
4
+ };
2
5
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/plugins/js/axios/index.ts"],
4
- "sourcesContent": ["export * from './axios'\n"],
5
- "mappings": "AAAA,cAAc;",
4
+ "sourcesContent": ["export { jsAxios } from './axios'\n"],
5
+ "mappings": "AAAA,SAAS,eAAe;",
6
6
  "names": []
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../../src/plugins/js/fetch/fetch.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAEpD;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,MAqErB,CAAA"}
1
+ {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../../src/plugins/js/fetch/fetch.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAEpD;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,MAuFrB,CAAA"}
@@ -1,5 +1,5 @@
1
- import { arrayToObject } from "../../../utils/arrayToObject.js";
2
- import { objectToString } from "../../../utils/objectToString.js";
1
+ import { createSearchParams } from "../../../utils/create-search-params.js";
2
+ import { objectToString, Unquoted } from "../../../utils/objectToString.js";
3
3
  const jsFetch = {
4
4
  target: "js",
5
5
  client: "fetch",
@@ -9,13 +9,12 @@ const jsFetch = {
9
9
  method: "GET",
10
10
  ...request
11
11
  };
12
+ let prefix = "";
12
13
  normalizedRequest.method = normalizedRequest.method.toUpperCase();
13
14
  const options = {
14
15
  method: normalizedRequest.method === "GET" ? void 0 : normalizedRequest.method
15
16
  };
16
- const searchParams = new URLSearchParams(
17
- normalizedRequest.queryString ? arrayToObject(normalizedRequest.queryString) : void 0
18
- );
17
+ const searchParams = createSearchParams(normalizedRequest.queryString);
19
18
  const queryString = searchParams.size ? `?${searchParams.toString()}` : "";
20
19
  if (normalizedRequest.headers?.length) {
21
20
  options.headers = {};
@@ -35,13 +34,35 @@ const jsFetch = {
35
34
  }
36
35
  });
37
36
  if (normalizedRequest.postData) {
38
- options.body = normalizedRequest.postData.text;
39
- if (normalizedRequest.postData.mimeType === "application/json") {
40
- options.body = `JSON.stringify(${objectToString(JSON.parse(options.body))})`;
37
+ const { mimeType, text, params } = normalizedRequest.postData;
38
+ if (mimeType === "application/json" && text) {
39
+ try {
40
+ options.body = new Unquoted(`JSON.stringify(${objectToString(JSON.parse(text))})`);
41
+ } catch (e) {
42
+ options.body = text;
43
+ }
44
+ } else if (mimeType === "multipart/form-data" && params) {
45
+ prefix = "const formData = new FormData()\n";
46
+ params.forEach((param) => {
47
+ if (param.fileName !== void 0) {
48
+ prefix += `formData.append('${param.name}', new Blob([]), '${param.fileName}')
49
+ `;
50
+ } else if (param.value !== void 0) {
51
+ prefix += `formData.append('${param.name}', '${param.value}')
52
+ `;
53
+ }
54
+ });
55
+ prefix += "\n";
56
+ options.body = new Unquoted("formData");
57
+ } else if (mimeType === "application/x-www-form-urlencoded" && params) {
58
+ const form = Object.fromEntries(params.map((p) => [p.name, p.value]));
59
+ options.body = new Unquoted(`new URLSearchParams(${objectToString(form)})`);
60
+ } else {
61
+ options.body = normalizedRequest.postData.text;
41
62
  }
42
63
  }
43
64
  const jsonOptions = Object.keys(options).length ? `, ${objectToString(options)}` : "";
44
- return `fetch('${normalizedRequest.url}${queryString}'${jsonOptions})`;
65
+ return `${prefix}fetch('${normalizedRequest.url}${queryString}'${jsonOptions})`;
45
66
  }
46
67
  };
47
68
  export {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/plugins/js/fetch/fetch.ts"],
4
- "sourcesContent": ["import { arrayToObject } from '@/utils/arrayToObject'\nimport { objectToString } from '@/utils/objectToString'\nimport type { Plugin } from '@scalar/types/snippetz'\n\n/**\n * js/fetch\n */\nexport const jsFetch: Plugin = {\n target: 'js',\n client: 'fetch',\n title: 'Fetch',\n generate(request) {\n // Defaults\n const normalizedRequest = {\n method: 'GET',\n ...request,\n }\n\n // Normalization\n normalizedRequest.method = normalizedRequest.method.toUpperCase()\n\n // Reset fetch defaults\n const options: Record<string, any> = {\n method: normalizedRequest.method === 'GET' ? undefined : normalizedRequest.method,\n }\n\n // Query\n const searchParams = new URLSearchParams(\n normalizedRequest.queryString ? arrayToObject(normalizedRequest.queryString) : undefined,\n )\n const queryString = searchParams.size ? `?${searchParams.toString()}` : ''\n\n // Headers\n if (normalizedRequest.headers?.length) {\n options.headers = {}\n\n normalizedRequest.headers.forEach((header) => {\n options.headers![header.name] = header.value\n })\n }\n\n // Cookies\n if (normalizedRequest.cookies?.length) {\n options.headers = options.headers || {}\n\n normalizedRequest.cookies.forEach((cookie) => {\n options.headers!['Set-Cookie'] = options.headers!['Set-Cookie']\n ? `${options.headers!['Set-Cookie']}; ${cookie.name}=${cookie.value}`\n : `${cookie.name}=${cookie.value}`\n })\n }\n\n // Remove undefined keys\n Object.keys(options).forEach((key) => {\n if (options[key] === undefined) {\n delete options[key]\n }\n })\n\n // Add body\n if (normalizedRequest.postData) {\n // Plain text\n options.body = normalizedRequest.postData.text\n\n // JSON\n if (normalizedRequest.postData.mimeType === 'application/json') {\n options.body = `JSON.stringify(${objectToString(JSON.parse(options.body))})`\n }\n }\n\n // Transform to JSON\n const jsonOptions = Object.keys(options).length ? `, ${objectToString(options)}` : ''\n\n // Code Template\n return `fetch('${normalizedRequest.url}${queryString}'${jsonOptions})`\n },\n}\n"],
5
- "mappings": "AAAA,SAAS,qBAAqB;AAC9B,SAAS,sBAAsB;AAMxB,MAAM,UAAkB;AAAA,EAC7B,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,SAAS,SAAS;AAEhB,UAAM,oBAAoB;AAAA,MACxB,QAAQ;AAAA,MACR,GAAG;AAAA,IACL;AAGA,sBAAkB,SAAS,kBAAkB,OAAO,YAAY;AAGhE,UAAM,UAA+B;AAAA,MACnC,QAAQ,kBAAkB,WAAW,QAAQ,SAAY,kBAAkB;AAAA,IAC7E;AAGA,UAAM,eAAe,IAAI;AAAA,MACvB,kBAAkB,cAAc,cAAc,kBAAkB,WAAW,IAAI;AAAA,IACjF;AACA,UAAM,cAAc,aAAa,OAAO,IAAI,aAAa,SAAS,CAAC,KAAK;AAGxE,QAAI,kBAAkB,SAAS,QAAQ;AACrC,cAAQ,UAAU,CAAC;AAEnB,wBAAkB,QAAQ,QAAQ,CAAC,WAAW;AAC5C,gBAAQ,QAAS,OAAO,IAAI,IAAI,OAAO;AAAA,MACzC,CAAC;AAAA,IACH;AAGA,QAAI,kBAAkB,SAAS,QAAQ;AACrC,cAAQ,UAAU,QAAQ,WAAW,CAAC;AAEtC,wBAAkB,QAAQ,QAAQ,CAAC,WAAW;AAC5C,gBAAQ,QAAS,YAAY,IAAI,QAAQ,QAAS,YAAY,IAC1D,GAAG,QAAQ,QAAS,YAAY,CAAC,KAAK,OAAO,IAAI,IAAI,OAAO,KAAK,KACjE,GAAG,OAAO,IAAI,IAAI,OAAO,KAAK;AAAA,MACpC,CAAC;AAAA,IACH;AAGA,WAAO,KAAK,OAAO,EAAE,QAAQ,CAAC,QAAQ;AACpC,UAAI,QAAQ,GAAG,MAAM,QAAW;AAC9B,eAAO,QAAQ,GAAG;AAAA,MACpB;AAAA,IACF,CAAC;AAGD,QAAI,kBAAkB,UAAU;AAE9B,cAAQ,OAAO,kBAAkB,SAAS;AAG1C,UAAI,kBAAkB,SAAS,aAAa,oBAAoB;AAC9D,gBAAQ,OAAO,kBAAkB,eAAe,KAAK,MAAM,QAAQ,IAAI,CAAC,CAAC;AAAA,MAC3E;AAAA,IACF;AAGA,UAAM,cAAc,OAAO,KAAK,OAAO,EAAE,SAAS,KAAK,eAAe,OAAO,CAAC,KAAK;AAGnF,WAAO,UAAU,kBAAkB,GAAG,GAAG,WAAW,IAAI,WAAW;AAAA,EACrE;AACF;",
4
+ "sourcesContent": ["import { createSearchParams } from '@/utils/create-search-params'\nimport { objectToString, Unquoted } from '@/utils/objectToString'\nimport type { Plugin } from '@scalar/types/snippetz'\n\n/**\n * js/fetch\n */\nexport const jsFetch: Plugin = {\n target: 'js',\n client: 'fetch',\n title: 'Fetch',\n generate(request) {\n // Defaults\n const normalizedRequest = {\n method: 'GET',\n ...request,\n }\n\n let prefix = ''\n\n // Normalization\n normalizedRequest.method = normalizedRequest.method.toUpperCase()\n\n // Reset fetch defaults\n const options: Record<string, any> = {\n method: normalizedRequest.method === 'GET' ? undefined : normalizedRequest.method,\n }\n\n // Query\n const searchParams = createSearchParams(normalizedRequest.queryString)\n const queryString = searchParams.size ? `?${searchParams.toString()}` : ''\n\n // Headers\n if (normalizedRequest.headers?.length) {\n options.headers = {}\n\n normalizedRequest.headers.forEach((header) => {\n options.headers![header.name] = header.value\n })\n }\n\n // Cookies\n if (normalizedRequest.cookies?.length) {\n options.headers = options.headers || {}\n\n normalizedRequest.cookies.forEach((cookie) => {\n options.headers!['Set-Cookie'] = options.headers!['Set-Cookie']\n ? `${options.headers!['Set-Cookie']}; ${cookie.name}=${cookie.value}`\n : `${cookie.name}=${cookie.value}`\n })\n }\n\n // Remove undefined keys\n Object.keys(options).forEach((key) => {\n if (options[key] === undefined) {\n delete options[key]\n }\n })\n\n // Add body\n if (normalizedRequest.postData) {\n const { mimeType, text, params } = normalizedRequest.postData\n\n if (mimeType === 'application/json' && text) {\n try {\n options.body = new Unquoted(`JSON.stringify(${objectToString(JSON.parse(text))})`)\n } catch (e) {\n options.body = text\n }\n } else if (mimeType === 'multipart/form-data' && params) {\n prefix = 'const formData = new FormData()\\n'\n params.forEach((param) => {\n if (param.fileName !== undefined) {\n prefix += `formData.append('${param.name}', new Blob([]), '${param.fileName}')\\n`\n } else if (param.value !== undefined) {\n prefix += `formData.append('${param.name}', '${param.value}')\\n`\n }\n })\n prefix += '\\n'\n options.body = new Unquoted('formData')\n } else if (mimeType === 'application/x-www-form-urlencoded' && params) {\n const form = Object.fromEntries(params.map((p) => [p.name, p.value]))\n options.body = new Unquoted(`new URLSearchParams(${objectToString(form)})`)\n } else {\n options.body = normalizedRequest.postData.text\n }\n }\n\n // Transform to JSON\n const jsonOptions = Object.keys(options).length ? `, ${objectToString(options)}` : ''\n\n // Code Template\n return `${prefix}fetch('${normalizedRequest.url}${queryString}'${jsonOptions})`\n },\n}\n"],
5
+ "mappings": "AAAA,SAAS,0BAA0B;AACnC,SAAS,gBAAgB,gBAAgB;AAMlC,MAAM,UAAkB;AAAA,EAC7B,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,SAAS,SAAS;AAEhB,UAAM,oBAAoB;AAAA,MACxB,QAAQ;AAAA,MACR,GAAG;AAAA,IACL;AAEA,QAAI,SAAS;AAGb,sBAAkB,SAAS,kBAAkB,OAAO,YAAY;AAGhE,UAAM,UAA+B;AAAA,MACnC,QAAQ,kBAAkB,WAAW,QAAQ,SAAY,kBAAkB;AAAA,IAC7E;AAGA,UAAM,eAAe,mBAAmB,kBAAkB,WAAW;AACrE,UAAM,cAAc,aAAa,OAAO,IAAI,aAAa,SAAS,CAAC,KAAK;AAGxE,QAAI,kBAAkB,SAAS,QAAQ;AACrC,cAAQ,UAAU,CAAC;AAEnB,wBAAkB,QAAQ,QAAQ,CAAC,WAAW;AAC5C,gBAAQ,QAAS,OAAO,IAAI,IAAI,OAAO;AAAA,MACzC,CAAC;AAAA,IACH;AAGA,QAAI,kBAAkB,SAAS,QAAQ;AACrC,cAAQ,UAAU,QAAQ,WAAW,CAAC;AAEtC,wBAAkB,QAAQ,QAAQ,CAAC,WAAW;AAC5C,gBAAQ,QAAS,YAAY,IAAI,QAAQ,QAAS,YAAY,IAC1D,GAAG,QAAQ,QAAS,YAAY,CAAC,KAAK,OAAO,IAAI,IAAI,OAAO,KAAK,KACjE,GAAG,OAAO,IAAI,IAAI,OAAO,KAAK;AAAA,MACpC,CAAC;AAAA,IACH;AAGA,WAAO,KAAK,OAAO,EAAE,QAAQ,CAAC,QAAQ;AACpC,UAAI,QAAQ,GAAG,MAAM,QAAW;AAC9B,eAAO,QAAQ,GAAG;AAAA,MACpB;AAAA,IACF,CAAC;AAGD,QAAI,kBAAkB,UAAU;AAC9B,YAAM,EAAE,UAAU,MAAM,OAAO,IAAI,kBAAkB;AAErD,UAAI,aAAa,sBAAsB,MAAM;AAC3C,YAAI;AACF,kBAAQ,OAAO,IAAI,SAAS,kBAAkB,eAAe,KAAK,MAAM,IAAI,CAAC,CAAC,GAAG;AAAA,QACnF,SAAS,GAAG;AACV,kBAAQ,OAAO;AAAA,QACjB;AAAA,MACF,WAAW,aAAa,yBAAyB,QAAQ;AACvD,iBAAS;AACT,eAAO,QAAQ,CAAC,UAAU;AACxB,cAAI,MAAM,aAAa,QAAW;AAChC,sBAAU,oBAAoB,MAAM,IAAI,qBAAqB,MAAM,QAAQ;AAAA;AAAA,UAC7E,WAAW,MAAM,UAAU,QAAW;AACpC,sBAAU,oBAAoB,MAAM,IAAI,OAAO,MAAM,KAAK;AAAA;AAAA,UAC5D;AAAA,QACF,CAAC;AACD,kBAAU;AACV,gBAAQ,OAAO,IAAI,SAAS,UAAU;AAAA,MACxC,WAAW,aAAa,uCAAuC,QAAQ;AACrE,cAAM,OAAO,OAAO,YAAY,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AACpE,gBAAQ,OAAO,IAAI,SAAS,uBAAuB,eAAe,IAAI,CAAC,GAAG;AAAA,MAC5E,OAAO;AACL,gBAAQ,OAAO,kBAAkB,SAAS;AAAA,MAC5C;AAAA,IACF;AAGA,UAAM,cAAc,OAAO,KAAK,OAAO,EAAE,SAAS,KAAK,eAAe,OAAO,CAAC,KAAK;AAGnF,WAAO,GAAG,MAAM,UAAU,kBAAkB,GAAG,GAAG,WAAW,IAAI,WAAW;AAAA,EAC9E;AACF;",
6
6
  "names": []
7
7
  }
@@ -1,2 +1,2 @@
1
- export * from './fetch.js';
1
+ export { jsFetch } from './fetch.js';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/js/fetch/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/js/fetch/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA"}
@@ -1,2 +1,5 @@
1
- export * from "./fetch.js";
1
+ import { jsFetch } from "./fetch.js";
2
+ export {
3
+ jsFetch
4
+ };
2
5
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/plugins/js/fetch/index.ts"],
4
- "sourcesContent": ["export * from './fetch'\n"],
5
- "mappings": "AAAA,cAAc;",
4
+ "sourcesContent": ["export { jsFetch } from './fetch'\n"],
5
+ "mappings": "AAAA,SAAS,eAAe;",
6
6
  "names": []
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ofetch.d.ts","sourceRoot":"","sources":["../../../../src/plugins/js/ofetch/ofetch.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAEpD;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,MA6EtB,CAAA"}
1
+ {"version":3,"file":"ofetch.d.ts","sourceRoot":"","sources":["../../../../src/plugins/js/ofetch/ofetch.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAEpD;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,MAoEtB,CAAA"}
@@ -1,4 +1,3 @@
1
- import { arrayToObject } from "../../../utils/arrayToObject.js";
2
1
  import { objectToString } from "../../../utils/objectToString.js";
3
2
  const jsOfetch = {
4
3
  target: "js",
@@ -13,15 +12,7 @@ const jsOfetch = {
13
12
  const options = {
14
13
  method: normalizedRequest.method === "GET" ? void 0 : normalizedRequest.method
15
14
  };
16
- const searchParams = new URLSearchParams(
17
- normalizedRequest.queryString ? arrayToObject(normalizedRequest.queryString) : void 0
18
- );
19
- if (searchParams.size) {
20
- options.query = {};
21
- searchParams.forEach((value, key) => {
22
- options.query[key] = value;
23
- });
24
- }
15
+ options.query = normalizedRequest.queryString;
25
16
  if (normalizedRequest.headers?.length) {
26
17
  options.headers = {};
27
18
  normalizedRequest.headers.forEach((header) => {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/plugins/js/ofetch/ofetch.ts"],
4
- "sourcesContent": ["import { arrayToObject } from '@/utils/arrayToObject'\nimport { objectToString } from '@/utils/objectToString'\nimport type { Plugin } from '@scalar/types/snippetz'\n\n/**\n * js/ofetch\n */\nexport const jsOfetch: Plugin = {\n target: 'js',\n client: 'ofetch',\n title: 'ofetch',\n generate(request) {\n // Defaults\n const normalizedRequest = {\n method: 'GET',\n ...request,\n }\n\n // Normalization\n normalizedRequest.method = normalizedRequest.method.toUpperCase()\n\n // Reset fetch defaults\n const options: Record<string, any> = {\n method: normalizedRequest.method === 'GET' ? undefined : normalizedRequest.method,\n }\n\n // Query\n const searchParams = new URLSearchParams(\n normalizedRequest.queryString ? arrayToObject(normalizedRequest.queryString) : undefined,\n )\n\n if (searchParams.size) {\n options.query = {}\n searchParams.forEach((value, key) => {\n options.query[key] = value\n })\n }\n\n // Headers\n if (normalizedRequest.headers?.length) {\n options.headers = {}\n\n normalizedRequest.headers.forEach((header) => {\n options.headers![header.name] = header.value\n })\n }\n\n // Cookies\n if (normalizedRequest.cookies?.length) {\n options.headers = options.headers || {}\n\n normalizedRequest.cookies.forEach((cookie) => {\n options.headers!['Set-Cookie'] = options.headers!['Set-Cookie']\n ? `${options.headers!['Set-Cookie']}; ${cookie.name}=${cookie.value}`\n : `${cookie.name}=${cookie.value}`\n })\n }\n\n // Remove undefined keys\n Object.keys(options).forEach((key) => {\n if (options[key] === undefined) {\n delete options[key]\n }\n })\n\n // Add body\n if (normalizedRequest.postData) {\n // Plain text\n options.body = normalizedRequest.postData.text\n\n // JSON\n if (normalizedRequest.postData.mimeType === 'application/json') {\n options.body = JSON.parse(options.body)\n }\n }\n\n // Transform to JSON\n const jsonOptions = Object.keys(options).length ? `, ${objectToString(options)}` : ''\n\n // Code Template\n return `import { ofetch } from 'ofetch'\n\nofetch('${normalizedRequest.url}'${jsonOptions})`\n },\n}\n"],
5
- "mappings": "AAAA,SAAS,qBAAqB;AAC9B,SAAS,sBAAsB;AAMxB,MAAM,WAAmB;AAAA,EAC9B,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,SAAS,SAAS;AAEhB,UAAM,oBAAoB;AAAA,MACxB,QAAQ;AAAA,MACR,GAAG;AAAA,IACL;AAGA,sBAAkB,SAAS,kBAAkB,OAAO,YAAY;AAGhE,UAAM,UAA+B;AAAA,MACnC,QAAQ,kBAAkB,WAAW,QAAQ,SAAY,kBAAkB;AAAA,IAC7E;AAGA,UAAM,eAAe,IAAI;AAAA,MACvB,kBAAkB,cAAc,cAAc,kBAAkB,WAAW,IAAI;AAAA,IACjF;AAEA,QAAI,aAAa,MAAM;AACrB,cAAQ,QAAQ,CAAC;AACjB,mBAAa,QAAQ,CAAC,OAAO,QAAQ;AACnC,gBAAQ,MAAM,GAAG,IAAI;AAAA,MACvB,CAAC;AAAA,IACH;AAGA,QAAI,kBAAkB,SAAS,QAAQ;AACrC,cAAQ,UAAU,CAAC;AAEnB,wBAAkB,QAAQ,QAAQ,CAAC,WAAW;AAC5C,gBAAQ,QAAS,OAAO,IAAI,IAAI,OAAO;AAAA,MACzC,CAAC;AAAA,IACH;AAGA,QAAI,kBAAkB,SAAS,QAAQ;AACrC,cAAQ,UAAU,QAAQ,WAAW,CAAC;AAEtC,wBAAkB,QAAQ,QAAQ,CAAC,WAAW;AAC5C,gBAAQ,QAAS,YAAY,IAAI,QAAQ,QAAS,YAAY,IAC1D,GAAG,QAAQ,QAAS,YAAY,CAAC,KAAK,OAAO,IAAI,IAAI,OAAO,KAAK,KACjE,GAAG,OAAO,IAAI,IAAI,OAAO,KAAK;AAAA,MACpC,CAAC;AAAA,IACH;AAGA,WAAO,KAAK,OAAO,EAAE,QAAQ,CAAC,QAAQ;AACpC,UAAI,QAAQ,GAAG,MAAM,QAAW;AAC9B,eAAO,QAAQ,GAAG;AAAA,MACpB;AAAA,IACF,CAAC;AAGD,QAAI,kBAAkB,UAAU;AAE9B,cAAQ,OAAO,kBAAkB,SAAS;AAG1C,UAAI,kBAAkB,SAAS,aAAa,oBAAoB;AAC9D,gBAAQ,OAAO,KAAK,MAAM,QAAQ,IAAI;AAAA,MACxC;AAAA,IACF;AAGA,UAAM,cAAc,OAAO,KAAK,OAAO,EAAE,SAAS,KAAK,eAAe,OAAO,CAAC,KAAK;AAGnF,WAAO;AAAA;AAAA,UAED,kBAAkB,GAAG,IAAI,WAAW;AAAA,EAC5C;AACF;",
4
+ "sourcesContent": ["import { objectToString } from '@/utils/objectToString'\nimport type { Plugin } from '@scalar/types/snippetz'\n\n/**\n * js/ofetch\n */\nexport const jsOfetch: Plugin = {\n target: 'js',\n client: 'ofetch',\n title: 'ofetch',\n generate(request) {\n // Defaults\n const normalizedRequest = {\n method: 'GET',\n ...request,\n }\n\n // Normalization\n normalizedRequest.method = normalizedRequest.method.toUpperCase()\n\n // Reset fetch defaults\n const options: Record<string, any> = {\n method: normalizedRequest.method === 'GET' ? undefined : normalizedRequest.method,\n }\n\n // Query\n options.query = normalizedRequest.queryString\n\n // Headers\n if (normalizedRequest.headers?.length) {\n options.headers = {}\n\n normalizedRequest.headers.forEach((header) => {\n options.headers![header.name] = header.value\n })\n }\n\n // Cookies\n if (normalizedRequest.cookies?.length) {\n options.headers = options.headers || {}\n\n normalizedRequest.cookies.forEach((cookie) => {\n options.headers!['Set-Cookie'] = options.headers!['Set-Cookie']\n ? `${options.headers!['Set-Cookie']}; ${cookie.name}=${cookie.value}`\n : `${cookie.name}=${cookie.value}`\n })\n }\n\n // Remove undefined keys\n Object.keys(options).forEach((key) => {\n if (options[key] === undefined) {\n delete options[key]\n }\n })\n\n // Add body\n if (normalizedRequest.postData) {\n // Plain text\n options.body = normalizedRequest.postData.text\n\n // JSON\n if (normalizedRequest.postData.mimeType === 'application/json') {\n options.body = JSON.parse(options.body)\n }\n }\n\n // Transform to JSON\n const jsonOptions = Object.keys(options).length ? `, ${objectToString(options)}` : ''\n\n // Code Template\n return `import { ofetch } from 'ofetch'\n\nofetch('${normalizedRequest.url}'${jsonOptions})`\n },\n}\n"],
5
+ "mappings": "AAAA,SAAS,sBAAsB;AAMxB,MAAM,WAAmB;AAAA,EAC9B,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,SAAS,SAAS;AAEhB,UAAM,oBAAoB;AAAA,MACxB,QAAQ;AAAA,MACR,GAAG;AAAA,IACL;AAGA,sBAAkB,SAAS,kBAAkB,OAAO,YAAY;AAGhE,UAAM,UAA+B;AAAA,MACnC,QAAQ,kBAAkB,WAAW,QAAQ,SAAY,kBAAkB;AAAA,IAC7E;AAGA,YAAQ,QAAQ,kBAAkB;AAGlC,QAAI,kBAAkB,SAAS,QAAQ;AACrC,cAAQ,UAAU,CAAC;AAEnB,wBAAkB,QAAQ,QAAQ,CAAC,WAAW;AAC5C,gBAAQ,QAAS,OAAO,IAAI,IAAI,OAAO;AAAA,MACzC,CAAC;AAAA,IACH;AAGA,QAAI,kBAAkB,SAAS,QAAQ;AACrC,cAAQ,UAAU,QAAQ,WAAW,CAAC;AAEtC,wBAAkB,QAAQ,QAAQ,CAAC,WAAW;AAC5C,gBAAQ,QAAS,YAAY,IAAI,QAAQ,QAAS,YAAY,IAC1D,GAAG,QAAQ,QAAS,YAAY,CAAC,KAAK,OAAO,IAAI,IAAI,OAAO,KAAK,KACjE,GAAG,OAAO,IAAI,IAAI,OAAO,KAAK;AAAA,MACpC,CAAC;AAAA,IACH;AAGA,WAAO,KAAK,OAAO,EAAE,QAAQ,CAAC,QAAQ;AACpC,UAAI,QAAQ,GAAG,MAAM,QAAW;AAC9B,eAAO,QAAQ,GAAG;AAAA,MACpB;AAAA,IACF,CAAC;AAGD,QAAI,kBAAkB,UAAU;AAE9B,cAAQ,OAAO,kBAAkB,SAAS;AAG1C,UAAI,kBAAkB,SAAS,aAAa,oBAAoB;AAC9D,gBAAQ,OAAO,KAAK,MAAM,QAAQ,IAAI;AAAA,MACxC;AAAA,IACF;AAGA,UAAM,cAAc,OAAO,KAAK,OAAO,EAAE,SAAS,KAAK,eAAe,OAAO,CAAC,KAAK;AAGnF,WAAO;AAAA;AAAA,UAED,kBAAkB,GAAG,IAAI,WAAW;AAAA,EAC5C;AACF;",
6
6
  "names": []
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../../src/plugins/node/fetch/fetch.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAEpD;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,MAqEvB,CAAA"}
1
+ {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../../src/plugins/node/fetch/fetch.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAEpD;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,MA4FvB,CAAA"}
@@ -1,5 +1,5 @@
1
- import { arrayToObject } from "../../../utils/arrayToObject.js";
2
- import { objectToString } from "../../../utils/objectToString.js";
1
+ import { createSearchParams } from "../../../utils/create-search-params.js";
2
+ import { objectToString, Unquoted } from "../../../utils/objectToString.js";
3
3
  const nodeFetch = {
4
4
  target: "node",
5
5
  client: "fetch",
@@ -9,13 +9,12 @@ const nodeFetch = {
9
9
  method: "GET",
10
10
  ...request
11
11
  };
12
+ let prefix = "";
12
13
  normalizedRequest.method = normalizedRequest.method.toUpperCase();
13
14
  const options = {
14
15
  method: normalizedRequest.method === "GET" ? void 0 : normalizedRequest.method
15
16
  };
16
- const searchParams = new URLSearchParams(
17
- normalizedRequest.queryString ? arrayToObject(normalizedRequest.queryString) : void 0
18
- );
17
+ const searchParams = createSearchParams(normalizedRequest.queryString);
19
18
  const queryString = searchParams.size ? `?${searchParams.toString()}` : "";
20
19
  if (normalizedRequest.headers?.length) {
21
20
  options.headers = {};
@@ -35,13 +34,42 @@ const nodeFetch = {
35
34
  }
36
35
  });
37
36
  if (normalizedRequest.postData) {
38
- options.body = normalizedRequest.postData.text;
39
- if (normalizedRequest.postData.mimeType === "application/json") {
40
- options.body = `JSON.stringify(${objectToString(JSON.parse(options.body))})`;
37
+ const { mimeType, text, params } = normalizedRequest.postData;
38
+ let hasFsImport = false;
39
+ if (mimeType === "application/json" && text) {
40
+ try {
41
+ options.body = new Unquoted(`JSON.stringify(${objectToString(JSON.parse(text))})`);
42
+ } catch (e) {
43
+ options.body = text;
44
+ }
45
+ } else if (mimeType === "multipart/form-data" && params) {
46
+ prefix = "const formData = new FormData()\n";
47
+ params.forEach((param) => {
48
+ if (param.fileName !== void 0) {
49
+ if (!hasFsImport) {
50
+ prefix = `import fs from 'node:fs'
51
+
52
+ ${prefix}`;
53
+ hasFsImport = true;
54
+ }
55
+ prefix += `formData.append('${param.name}', new Blob([fs.readFileSync('${param.fileName}')]), '${param.fileName}')
56
+ `;
57
+ } else if (param.value !== void 0) {
58
+ prefix += `formData.append('${param.name}', '${param.value}')
59
+ `;
60
+ }
61
+ });
62
+ prefix += "\n";
63
+ options.body = new Unquoted("formData");
64
+ } else if (mimeType === "application/x-www-form-urlencoded" && params) {
65
+ const form = Object.fromEntries(params.map((p) => [p.name, p.value]));
66
+ options.body = new Unquoted(`new URLSearchParams(${objectToString(form)})`);
67
+ } else {
68
+ options.body = normalizedRequest.postData.text;
41
69
  }
42
70
  }
43
71
  const jsonOptions = Object.keys(options).length ? `, ${objectToString(options)}` : "";
44
- return `fetch('${normalizedRequest.url}${queryString}'${jsonOptions})`;
72
+ return `${prefix}fetch('${normalizedRequest.url}${queryString}'${jsonOptions})`;
45
73
  }
46
74
  };
47
75
  export {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/plugins/node/fetch/fetch.ts"],
4
- "sourcesContent": ["import { arrayToObject } from '@/utils/arrayToObject'\nimport { objectToString } from '@/utils/objectToString'\nimport type { Plugin } from '@scalar/types/snippetz'\n\n/**\n * node/fetch\n */\nexport const nodeFetch: Plugin = {\n target: 'node',\n client: 'fetch',\n title: 'Fetch',\n generate(request) {\n // Defaults\n const normalizedRequest = {\n method: 'GET',\n ...request,\n }\n\n // Normalization\n normalizedRequest.method = normalizedRequest.method.toUpperCase()\n\n // Reset fetch defaults\n const options: Record<string, any> = {\n method: normalizedRequest.method === 'GET' ? undefined : normalizedRequest.method,\n }\n\n // Query\n const searchParams = new URLSearchParams(\n normalizedRequest.queryString ? arrayToObject(normalizedRequest.queryString) : undefined,\n )\n const queryString = searchParams.size ? `?${searchParams.toString()}` : ''\n\n // Headers\n if (normalizedRequest.headers?.length) {\n options.headers = {}\n\n normalizedRequest.headers.forEach((header) => {\n options.headers![header.name] = header.value\n })\n }\n\n // Cookies\n if (normalizedRequest.cookies?.length) {\n options.headers = options.headers || {}\n\n normalizedRequest.cookies.forEach((cookie) => {\n options.headers!['Set-Cookie'] = options.headers!['Set-Cookie']\n ? `${options.headers!['Set-Cookie']}; ${cookie.name}=${cookie.value}`\n : `${cookie.name}=${cookie.value}`\n })\n }\n\n // Remove undefined keys\n Object.keys(options).forEach((key) => {\n if (options[key] === undefined) {\n delete options[key]\n }\n })\n\n // Add body\n if (normalizedRequest.postData) {\n // Plain text\n options.body = normalizedRequest.postData.text\n\n // JSON\n if (normalizedRequest.postData.mimeType === 'application/json') {\n options.body = `JSON.stringify(${objectToString(JSON.parse(options.body))})`\n }\n }\n\n // Transform to JSON\n const jsonOptions = Object.keys(options).length ? `, ${objectToString(options)}` : ''\n\n // Code Template\n return `fetch('${normalizedRequest.url}${queryString}'${jsonOptions})`\n },\n}\n"],
5
- "mappings": "AAAA,SAAS,qBAAqB;AAC9B,SAAS,sBAAsB;AAMxB,MAAM,YAAoB;AAAA,EAC/B,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,SAAS,SAAS;AAEhB,UAAM,oBAAoB;AAAA,MACxB,QAAQ;AAAA,MACR,GAAG;AAAA,IACL;AAGA,sBAAkB,SAAS,kBAAkB,OAAO,YAAY;AAGhE,UAAM,UAA+B;AAAA,MACnC,QAAQ,kBAAkB,WAAW,QAAQ,SAAY,kBAAkB;AAAA,IAC7E;AAGA,UAAM,eAAe,IAAI;AAAA,MACvB,kBAAkB,cAAc,cAAc,kBAAkB,WAAW,IAAI;AAAA,IACjF;AACA,UAAM,cAAc,aAAa,OAAO,IAAI,aAAa,SAAS,CAAC,KAAK;AAGxE,QAAI,kBAAkB,SAAS,QAAQ;AACrC,cAAQ,UAAU,CAAC;AAEnB,wBAAkB,QAAQ,QAAQ,CAAC,WAAW;AAC5C,gBAAQ,QAAS,OAAO,IAAI,IAAI,OAAO;AAAA,MACzC,CAAC;AAAA,IACH;AAGA,QAAI,kBAAkB,SAAS,QAAQ;AACrC,cAAQ,UAAU,QAAQ,WAAW,CAAC;AAEtC,wBAAkB,QAAQ,QAAQ,CAAC,WAAW;AAC5C,gBAAQ,QAAS,YAAY,IAAI,QAAQ,QAAS,YAAY,IAC1D,GAAG,QAAQ,QAAS,YAAY,CAAC,KAAK,OAAO,IAAI,IAAI,OAAO,KAAK,KACjE,GAAG,OAAO,IAAI,IAAI,OAAO,KAAK;AAAA,MACpC,CAAC;AAAA,IACH;AAGA,WAAO,KAAK,OAAO,EAAE,QAAQ,CAAC,QAAQ;AACpC,UAAI,QAAQ,GAAG,MAAM,QAAW;AAC9B,eAAO,QAAQ,GAAG;AAAA,MACpB;AAAA,IACF,CAAC;AAGD,QAAI,kBAAkB,UAAU;AAE9B,cAAQ,OAAO,kBAAkB,SAAS;AAG1C,UAAI,kBAAkB,SAAS,aAAa,oBAAoB;AAC9D,gBAAQ,OAAO,kBAAkB,eAAe,KAAK,MAAM,QAAQ,IAAI,CAAC,CAAC;AAAA,MAC3E;AAAA,IACF;AAGA,UAAM,cAAc,OAAO,KAAK,OAAO,EAAE,SAAS,KAAK,eAAe,OAAO,CAAC,KAAK;AAGnF,WAAO,UAAU,kBAAkB,GAAG,GAAG,WAAW,IAAI,WAAW;AAAA,EACrE;AACF;",
4
+ "sourcesContent": ["import { createSearchParams } from '@/utils/create-search-params'\nimport { objectToString, Unquoted } from '@/utils/objectToString'\nimport type { Plugin } from '@scalar/types/snippetz'\n\n/**\n * node/fetch\n */\nexport const nodeFetch: Plugin = {\n target: 'node',\n client: 'fetch',\n title: 'Fetch',\n generate(request) {\n // Defaults\n const normalizedRequest = {\n method: 'GET',\n ...request,\n }\n\n let prefix = ''\n\n // Normalization\n normalizedRequest.method = normalizedRequest.method.toUpperCase()\n\n // Reset fetch defaults\n const options: Record<string, any> = {\n method: normalizedRequest.method === 'GET' ? undefined : normalizedRequest.method,\n }\n\n // Query\n const searchParams = createSearchParams(normalizedRequest.queryString)\n const queryString = searchParams.size ? `?${searchParams.toString()}` : ''\n\n // Headers\n if (normalizedRequest.headers?.length) {\n options.headers = {}\n\n normalizedRequest.headers.forEach((header) => {\n options.headers![header.name] = header.value\n })\n }\n\n // Cookies\n if (normalizedRequest.cookies?.length) {\n options.headers = options.headers || {}\n\n normalizedRequest.cookies.forEach((cookie) => {\n options.headers!['Set-Cookie'] = options.headers!['Set-Cookie']\n ? `${options.headers!['Set-Cookie']}; ${cookie.name}=${cookie.value}`\n : `${cookie.name}=${cookie.value}`\n })\n }\n\n // Remove undefined keys\n Object.keys(options).forEach((key) => {\n if (options[key] === undefined) {\n delete options[key]\n }\n })\n\n // Add body\n if (normalizedRequest.postData) {\n const { mimeType, text, params } = normalizedRequest.postData\n let hasFsImport = false\n\n if (mimeType === 'application/json' && text) {\n try {\n options.body = new Unquoted(`JSON.stringify(${objectToString(JSON.parse(text))})`)\n } catch (e) {\n options.body = text\n }\n } else if (mimeType === 'multipart/form-data' && params) {\n prefix = 'const formData = new FormData()\\n'\n params.forEach((param) => {\n if (param.fileName !== undefined) {\n if (!hasFsImport) {\n prefix = `import fs from 'node:fs'\\n\\n${prefix}`\n hasFsImport = true\n }\n prefix += `formData.append('${param.name}', new Blob([fs.readFileSync('${param.fileName}')]), '${param.fileName}')\\n`\n } else if (param.value !== undefined) {\n prefix += `formData.append('${param.name}', '${param.value}')\\n`\n }\n })\n prefix += '\\n'\n options.body = new Unquoted('formData')\n } else if (mimeType === 'application/x-www-form-urlencoded' && params) {\n const form = Object.fromEntries(params.map((p) => [p.name, p.value]))\n options.body = new Unquoted(`new URLSearchParams(${objectToString(form)})`)\n } else {\n options.body = normalizedRequest.postData.text\n }\n }\n\n // Transform to JSON\n const jsonOptions = Object.keys(options).length ? `, ${objectToString(options)}` : ''\n\n // Code Template\n return `${prefix}fetch('${normalizedRequest.url}${queryString}'${jsonOptions})`\n },\n}\n"],
5
+ "mappings": "AAAA,SAAS,0BAA0B;AACnC,SAAS,gBAAgB,gBAAgB;AAMlC,MAAM,YAAoB;AAAA,EAC/B,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,SAAS,SAAS;AAEhB,UAAM,oBAAoB;AAAA,MACxB,QAAQ;AAAA,MACR,GAAG;AAAA,IACL;AAEA,QAAI,SAAS;AAGb,sBAAkB,SAAS,kBAAkB,OAAO,YAAY;AAGhE,UAAM,UAA+B;AAAA,MACnC,QAAQ,kBAAkB,WAAW,QAAQ,SAAY,kBAAkB;AAAA,IAC7E;AAGA,UAAM,eAAe,mBAAmB,kBAAkB,WAAW;AACrE,UAAM,cAAc,aAAa,OAAO,IAAI,aAAa,SAAS,CAAC,KAAK;AAGxE,QAAI,kBAAkB,SAAS,QAAQ;AACrC,cAAQ,UAAU,CAAC;AAEnB,wBAAkB,QAAQ,QAAQ,CAAC,WAAW;AAC5C,gBAAQ,QAAS,OAAO,IAAI,IAAI,OAAO;AAAA,MACzC,CAAC;AAAA,IACH;AAGA,QAAI,kBAAkB,SAAS,QAAQ;AACrC,cAAQ,UAAU,QAAQ,WAAW,CAAC;AAEtC,wBAAkB,QAAQ,QAAQ,CAAC,WAAW;AAC5C,gBAAQ,QAAS,YAAY,IAAI,QAAQ,QAAS,YAAY,IAC1D,GAAG,QAAQ,QAAS,YAAY,CAAC,KAAK,OAAO,IAAI,IAAI,OAAO,KAAK,KACjE,GAAG,OAAO,IAAI,IAAI,OAAO,KAAK;AAAA,MACpC,CAAC;AAAA,IACH;AAGA,WAAO,KAAK,OAAO,EAAE,QAAQ,CAAC,QAAQ;AACpC,UAAI,QAAQ,GAAG,MAAM,QAAW;AAC9B,eAAO,QAAQ,GAAG;AAAA,MACpB;AAAA,IACF,CAAC;AAGD,QAAI,kBAAkB,UAAU;AAC9B,YAAM,EAAE,UAAU,MAAM,OAAO,IAAI,kBAAkB;AACrD,UAAI,cAAc;AAElB,UAAI,aAAa,sBAAsB,MAAM;AAC3C,YAAI;AACF,kBAAQ,OAAO,IAAI,SAAS,kBAAkB,eAAe,KAAK,MAAM,IAAI,CAAC,CAAC,GAAG;AAAA,QACnF,SAAS,GAAG;AACV,kBAAQ,OAAO;AAAA,QACjB;AAAA,MACF,WAAW,aAAa,yBAAyB,QAAQ;AACvD,iBAAS;AACT,eAAO,QAAQ,CAAC,UAAU;AACxB,cAAI,MAAM,aAAa,QAAW;AAChC,gBAAI,CAAC,aAAa;AAChB,uBAAS;AAAA;AAAA,EAA+B,MAAM;AAC9C,4BAAc;AAAA,YAChB;AACA,sBAAU,oBAAoB,MAAM,IAAI,iCAAiC,MAAM,QAAQ,UAAU,MAAM,QAAQ;AAAA;AAAA,UACjH,WAAW,MAAM,UAAU,QAAW;AACpC,sBAAU,oBAAoB,MAAM,IAAI,OAAO,MAAM,KAAK;AAAA;AAAA,UAC5D;AAAA,QACF,CAAC;AACD,kBAAU;AACV,gBAAQ,OAAO,IAAI,SAAS,UAAU;AAAA,MACxC,WAAW,aAAa,uCAAuC,QAAQ;AACrE,cAAM,OAAO,OAAO,YAAY,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AACpE,gBAAQ,OAAO,IAAI,SAAS,uBAAuB,eAAe,IAAI,CAAC,GAAG;AAAA,MAC5E,OAAO;AACL,gBAAQ,OAAO,kBAAkB,SAAS;AAAA,MAC5C;AAAA,IACF;AAGA,UAAM,cAAc,OAAO,KAAK,OAAO,EAAE,SAAS,KAAK,eAAe,OAAO,CAAC,KAAK;AAGnF,WAAO,GAAG,MAAM,UAAU,kBAAkB,GAAG,GAAG,WAAW,IAAI,WAAW;AAAA,EAC9E;AACF;",
6
6
  "names": []
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ofetch.d.ts","sourceRoot":"","sources":["../../../../src/plugins/node/ofetch/ofetch.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAEpD;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,MA6ExB,CAAA"}
1
+ {"version":3,"file":"ofetch.d.ts","sourceRoot":"","sources":["../../../../src/plugins/node/ofetch/ofetch.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAEpD;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,MAoExB,CAAA"}
@@ -1,4 +1,3 @@
1
- import { arrayToObject } from "../../../utils/arrayToObject.js";
2
1
  import { objectToString } from "../../../utils/objectToString.js";
3
2
  const nodeOfetch = {
4
3
  target: "node",
@@ -13,15 +12,7 @@ const nodeOfetch = {
13
12
  const options = {
14
13
  method: normalizedRequest.method === "GET" ? void 0 : normalizedRequest.method
15
14
  };
16
- const searchParams = new URLSearchParams(
17
- normalizedRequest.queryString ? arrayToObject(normalizedRequest.queryString) : void 0
18
- );
19
- if (searchParams.size) {
20
- options.query = {};
21
- searchParams.forEach((value, key) => {
22
- options.query[key] = value;
23
- });
24
- }
15
+ options.query = normalizedRequest.queryString;
25
16
  if (normalizedRequest.headers?.length) {
26
17
  options.headers = {};
27
18
  normalizedRequest.headers.forEach((header) => {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/plugins/node/ofetch/ofetch.ts"],
4
- "sourcesContent": ["import { arrayToObject } from '@/utils/arrayToObject'\nimport { objectToString } from '@/utils/objectToString'\nimport type { Plugin } from '@scalar/types/snippetz'\n\n/**\n * node/ofetch\n */\nexport const nodeOfetch: Plugin = {\n target: 'node',\n client: 'ofetch',\n title: 'ofetch',\n generate(request) {\n // Defaults\n const normalizedRequest = {\n method: 'GET',\n ...request,\n }\n\n // Normalization\n normalizedRequest.method = normalizedRequest.method.toUpperCase()\n\n // Reset fetch defaults\n const options: Record<string, any> = {\n method: normalizedRequest.method === 'GET' ? undefined : normalizedRequest.method,\n }\n\n // Query\n const searchParams = new URLSearchParams(\n normalizedRequest.queryString ? arrayToObject(normalizedRequest.queryString) : undefined,\n )\n\n if (searchParams.size) {\n options.query = {}\n searchParams.forEach((value, key) => {\n options.query[key] = value\n })\n }\n\n // Headers\n if (normalizedRequest.headers?.length) {\n options.headers = {}\n\n normalizedRequest.headers.forEach((header) => {\n options.headers![header.name] = header.value\n })\n }\n\n // Cookies\n if (normalizedRequest.cookies?.length) {\n options.headers = options.headers || {}\n\n normalizedRequest.cookies.forEach((cookie) => {\n options.headers!['Set-Cookie'] = options.headers!['Set-Cookie']\n ? `${options.headers!['Set-Cookie']}; ${cookie.name}=${cookie.value}`\n : `${cookie.name}=${cookie.value}`\n })\n }\n\n // Remove undefined keys\n Object.keys(options).forEach((key) => {\n if (options[key] === undefined) {\n delete options[key]\n }\n })\n\n // Add body\n if (normalizedRequest.postData) {\n // Plain text\n options.body = normalizedRequest.postData.text\n\n // JSON\n if (normalizedRequest.postData.mimeType === 'application/json') {\n options.body = JSON.parse(options.body)\n }\n }\n\n // Transform to JSON\n const jsonOptions = Object.keys(options).length ? `, ${objectToString(options)}` : ''\n\n // Code Template\n return `import { ofetch } from 'ofetch'\n\nofetch('${normalizedRequest.url}'${jsonOptions})`\n },\n}\n"],
5
- "mappings": "AAAA,SAAS,qBAAqB;AAC9B,SAAS,sBAAsB;AAMxB,MAAM,aAAqB;AAAA,EAChC,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,SAAS,SAAS;AAEhB,UAAM,oBAAoB;AAAA,MACxB,QAAQ;AAAA,MACR,GAAG;AAAA,IACL;AAGA,sBAAkB,SAAS,kBAAkB,OAAO,YAAY;AAGhE,UAAM,UAA+B;AAAA,MACnC,QAAQ,kBAAkB,WAAW,QAAQ,SAAY,kBAAkB;AAAA,IAC7E;AAGA,UAAM,eAAe,IAAI;AAAA,MACvB,kBAAkB,cAAc,cAAc,kBAAkB,WAAW,IAAI;AAAA,IACjF;AAEA,QAAI,aAAa,MAAM;AACrB,cAAQ,QAAQ,CAAC;AACjB,mBAAa,QAAQ,CAAC,OAAO,QAAQ;AACnC,gBAAQ,MAAM,GAAG,IAAI;AAAA,MACvB,CAAC;AAAA,IACH;AAGA,QAAI,kBAAkB,SAAS,QAAQ;AACrC,cAAQ,UAAU,CAAC;AAEnB,wBAAkB,QAAQ,QAAQ,CAAC,WAAW;AAC5C,gBAAQ,QAAS,OAAO,IAAI,IAAI,OAAO;AAAA,MACzC,CAAC;AAAA,IACH;AAGA,QAAI,kBAAkB,SAAS,QAAQ;AACrC,cAAQ,UAAU,QAAQ,WAAW,CAAC;AAEtC,wBAAkB,QAAQ,QAAQ,CAAC,WAAW;AAC5C,gBAAQ,QAAS,YAAY,IAAI,QAAQ,QAAS,YAAY,IAC1D,GAAG,QAAQ,QAAS,YAAY,CAAC,KAAK,OAAO,IAAI,IAAI,OAAO,KAAK,KACjE,GAAG,OAAO,IAAI,IAAI,OAAO,KAAK;AAAA,MACpC,CAAC;AAAA,IACH;AAGA,WAAO,KAAK,OAAO,EAAE,QAAQ,CAAC,QAAQ;AACpC,UAAI,QAAQ,GAAG,MAAM,QAAW;AAC9B,eAAO,QAAQ,GAAG;AAAA,MACpB;AAAA,IACF,CAAC;AAGD,QAAI,kBAAkB,UAAU;AAE9B,cAAQ,OAAO,kBAAkB,SAAS;AAG1C,UAAI,kBAAkB,SAAS,aAAa,oBAAoB;AAC9D,gBAAQ,OAAO,KAAK,MAAM,QAAQ,IAAI;AAAA,MACxC;AAAA,IACF;AAGA,UAAM,cAAc,OAAO,KAAK,OAAO,EAAE,SAAS,KAAK,eAAe,OAAO,CAAC,KAAK;AAGnF,WAAO;AAAA;AAAA,UAED,kBAAkB,GAAG,IAAI,WAAW;AAAA,EAC5C;AACF;",
4
+ "sourcesContent": ["import { objectToString } from '@/utils/objectToString'\nimport type { Plugin } from '@scalar/types/snippetz'\n\n/**\n * node/ofetch\n */\nexport const nodeOfetch: Plugin = {\n target: 'node',\n client: 'ofetch',\n title: 'ofetch',\n generate(request) {\n // Defaults\n const normalizedRequest = {\n method: 'GET',\n ...request,\n }\n\n // Normalization\n normalizedRequest.method = normalizedRequest.method.toUpperCase()\n\n // Reset fetch defaults\n const options: Record<string, any> = {\n method: normalizedRequest.method === 'GET' ? undefined : normalizedRequest.method,\n }\n\n // Query\n options.query = normalizedRequest.queryString\n\n // Headers\n if (normalizedRequest.headers?.length) {\n options.headers = {}\n\n normalizedRequest.headers.forEach((header) => {\n options.headers![header.name] = header.value\n })\n }\n\n // Cookies\n if (normalizedRequest.cookies?.length) {\n options.headers = options.headers || {}\n\n normalizedRequest.cookies.forEach((cookie) => {\n options.headers!['Set-Cookie'] = options.headers!['Set-Cookie']\n ? `${options.headers!['Set-Cookie']}; ${cookie.name}=${cookie.value}`\n : `${cookie.name}=${cookie.value}`\n })\n }\n\n // Remove undefined keys\n Object.keys(options).forEach((key) => {\n if (options[key] === undefined) {\n delete options[key]\n }\n })\n\n // Add body\n if (normalizedRequest.postData) {\n // Plain text\n options.body = normalizedRequest.postData.text\n\n // JSON\n if (normalizedRequest.postData.mimeType === 'application/json') {\n options.body = JSON.parse(options.body)\n }\n }\n\n // Transform to JSON\n const jsonOptions = Object.keys(options).length ? `, ${objectToString(options)}` : ''\n\n // Code Template\n return `import { ofetch } from 'ofetch'\n\nofetch('${normalizedRequest.url}'${jsonOptions})`\n },\n}\n"],
5
+ "mappings": "AAAA,SAAS,sBAAsB;AAMxB,MAAM,aAAqB;AAAA,EAChC,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,SAAS,SAAS;AAEhB,UAAM,oBAAoB;AAAA,MACxB,QAAQ;AAAA,MACR,GAAG;AAAA,IACL;AAGA,sBAAkB,SAAS,kBAAkB,OAAO,YAAY;AAGhE,UAAM,UAA+B;AAAA,MACnC,QAAQ,kBAAkB,WAAW,QAAQ,SAAY,kBAAkB;AAAA,IAC7E;AAGA,YAAQ,QAAQ,kBAAkB;AAGlC,QAAI,kBAAkB,SAAS,QAAQ;AACrC,cAAQ,UAAU,CAAC;AAEnB,wBAAkB,QAAQ,QAAQ,CAAC,WAAW;AAC5C,gBAAQ,QAAS,OAAO,IAAI,IAAI,OAAO;AAAA,MACzC,CAAC;AAAA,IACH;AAGA,QAAI,kBAAkB,SAAS,QAAQ;AACrC,cAAQ,UAAU,QAAQ,WAAW,CAAC;AAEtC,wBAAkB,QAAQ,QAAQ,CAAC,WAAW;AAC5C,gBAAQ,QAAS,YAAY,IAAI,QAAQ,QAAS,YAAY,IAC1D,GAAG,QAAQ,QAAS,YAAY,CAAC,KAAK,OAAO,IAAI,IAAI,OAAO,KAAK,KACjE,GAAG,OAAO,IAAI,IAAI,OAAO,KAAK;AAAA,MACpC,CAAC;AAAA,IACH;AAGA,WAAO,KAAK,OAAO,EAAE,QAAQ,CAAC,QAAQ;AACpC,UAAI,QAAQ,GAAG,MAAM,QAAW;AAC9B,eAAO,QAAQ,GAAG;AAAA,MACpB;AAAA,IACF,CAAC;AAGD,QAAI,kBAAkB,UAAU;AAE9B,cAAQ,OAAO,kBAAkB,SAAS;AAG1C,UAAI,kBAAkB,SAAS,aAAa,oBAAoB;AAC9D,gBAAQ,OAAO,KAAK,MAAM,QAAQ,IAAI;AAAA,MACxC;AAAA,IACF;AAGA,UAAM,cAAc,OAAO,KAAK,OAAO,EAAE,SAAS,KAAK,eAAe,OAAO,CAAC,KAAK;AAGnF,WAAO;AAAA;AAAA,UAED,kBAAkB,GAAG,IAAI,WAAW;AAAA,EAC5C;AACF;",
6
6
  "names": []
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"undici.d.ts","sourceRoot":"","sources":["../../../../src/plugins/node/undici/undici.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAEpD;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,MAuExB,CAAA"}
1
+ {"version":3,"file":"undici.d.ts","sourceRoot":"","sources":["../../../../src/plugins/node/undici/undici.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAEpD;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,MAqExB,CAAA"}
@@ -1,5 +1,5 @@
1
- import { arrayToObject } from "../../../utils/arrayToObject.js";
2
- import { objectToString } from "../../../utils/objectToString.js";
1
+ import { createSearchParams } from "../../../utils/create-search-params.js";
2
+ import { objectToString, Unquoted } from "../../../utils/objectToString.js";
3
3
  const nodeUndici = {
4
4
  target: "node",
5
5
  client: "undici",
@@ -13,9 +13,7 @@ const nodeUndici = {
13
13
  const options = {
14
14
  method: normalizedRequest.method === "GET" ? void 0 : normalizedRequest.method
15
15
  };
16
- const searchParams = new URLSearchParams(
17
- normalizedRequest.queryString ? arrayToObject(normalizedRequest.queryString) : void 0
18
- );
16
+ const searchParams = createSearchParams(normalizedRequest.queryString);
19
17
  const queryString = searchParams.size ? `?${searchParams.toString()}` : "";
20
18
  if (normalizedRequest.headers?.length) {
21
19
  options.headers = {};
@@ -37,7 +35,7 @@ const nodeUndici = {
37
35
  if (normalizedRequest.postData) {
38
36
  options.body = normalizedRequest.postData.text;
39
37
  if (normalizedRequest.postData.mimeType === "application/json") {
40
- options.body = `JSON.stringify(${objectToString(JSON.parse(options.body))})`;
38
+ options.body = new Unquoted(`JSON.stringify(${objectToString(JSON.parse(options.body))})`);
41
39
  }
42
40
  }
43
41
  const jsonOptions = Object.keys(options).length ? `, ${objectToString(options)}` : "";
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/plugins/node/undici/undici.ts"],
4
- "sourcesContent": ["import { arrayToObject } from '@/utils/arrayToObject'\nimport { objectToString } from '@/utils/objectToString'\nimport type { Plugin } from '@scalar/types/snippetz'\n\n/**\n * node/undici\n */\nexport const nodeUndici: Plugin = {\n target: 'node',\n client: 'undici',\n title: 'undici',\n generate(request) {\n // Defaults\n const normalizedRequest = {\n method: 'GET',\n ...request,\n }\n\n // Normalization\n normalizedRequest.method = normalizedRequest.method.toUpperCase()\n\n // Reset undici defaults\n const options: Record<string, any> = {\n method: normalizedRequest.method === 'GET' ? undefined : normalizedRequest.method,\n }\n\n // Query\n const searchParams = new URLSearchParams(\n normalizedRequest.queryString ? arrayToObject(normalizedRequest.queryString) : undefined,\n )\n const queryString = searchParams.size ? `?${searchParams.toString()}` : ''\n\n // Headers\n if (normalizedRequest.headers?.length) {\n options.headers = {}\n\n normalizedRequest.headers.forEach((header) => {\n options.headers![header.name] = header.value\n })\n }\n\n // Cookies\n if (normalizedRequest.cookies?.length) {\n options.headers = options.headers || {}\n\n normalizedRequest.cookies.forEach((cookie) => {\n options.headers!['Set-Cookie'] = options.headers!['Set-Cookie']\n ? `${options.headers!['Set-Cookie']}; ${cookie.name}=${cookie.value}`\n : `${cookie.name}=${cookie.value}`\n })\n }\n\n // Remove undefined keys\n Object.keys(options).forEach((key) => {\n if (options[key] === undefined) {\n delete options[key]\n }\n })\n\n // Add body\n if (normalizedRequest.postData) {\n // Plain text\n options.body = normalizedRequest.postData.text\n\n // JSON\n if (normalizedRequest.postData.mimeType === 'application/json') {\n options.body = `JSON.stringify(${objectToString(JSON.parse(options.body))})`\n }\n }\n\n // Transform to JSON\n const jsonOptions = Object.keys(options).length ? `, ${objectToString(options)}` : ''\n\n // Code Template\n return `import { request } from 'undici'\n\nconst { statusCode, body } = await request('${normalizedRequest.url}${queryString}'${jsonOptions})`\n },\n}\n"],
5
- "mappings": "AAAA,SAAS,qBAAqB;AAC9B,SAAS,sBAAsB;AAMxB,MAAM,aAAqB;AAAA,EAChC,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,SAAS,SAAS;AAEhB,UAAM,oBAAoB;AAAA,MACxB,QAAQ;AAAA,MACR,GAAG;AAAA,IACL;AAGA,sBAAkB,SAAS,kBAAkB,OAAO,YAAY;AAGhE,UAAM,UAA+B;AAAA,MACnC,QAAQ,kBAAkB,WAAW,QAAQ,SAAY,kBAAkB;AAAA,IAC7E;AAGA,UAAM,eAAe,IAAI;AAAA,MACvB,kBAAkB,cAAc,cAAc,kBAAkB,WAAW,IAAI;AAAA,IACjF;AACA,UAAM,cAAc,aAAa,OAAO,IAAI,aAAa,SAAS,CAAC,KAAK;AAGxE,QAAI,kBAAkB,SAAS,QAAQ;AACrC,cAAQ,UAAU,CAAC;AAEnB,wBAAkB,QAAQ,QAAQ,CAAC,WAAW;AAC5C,gBAAQ,QAAS,OAAO,IAAI,IAAI,OAAO;AAAA,MACzC,CAAC;AAAA,IACH;AAGA,QAAI,kBAAkB,SAAS,QAAQ;AACrC,cAAQ,UAAU,QAAQ,WAAW,CAAC;AAEtC,wBAAkB,QAAQ,QAAQ,CAAC,WAAW;AAC5C,gBAAQ,QAAS,YAAY,IAAI,QAAQ,QAAS,YAAY,IAC1D,GAAG,QAAQ,QAAS,YAAY,CAAC,KAAK,OAAO,IAAI,IAAI,OAAO,KAAK,KACjE,GAAG,OAAO,IAAI,IAAI,OAAO,KAAK;AAAA,MACpC,CAAC;AAAA,IACH;AAGA,WAAO,KAAK,OAAO,EAAE,QAAQ,CAAC,QAAQ;AACpC,UAAI,QAAQ,GAAG,MAAM,QAAW;AAC9B,eAAO,QAAQ,GAAG;AAAA,MACpB;AAAA,IACF,CAAC;AAGD,QAAI,kBAAkB,UAAU;AAE9B,cAAQ,OAAO,kBAAkB,SAAS;AAG1C,UAAI,kBAAkB,SAAS,aAAa,oBAAoB;AAC9D,gBAAQ,OAAO,kBAAkB,eAAe,KAAK,MAAM,QAAQ,IAAI,CAAC,CAAC;AAAA,MAC3E;AAAA,IACF;AAGA,UAAM,cAAc,OAAO,KAAK,OAAO,EAAE,SAAS,KAAK,eAAe,OAAO,CAAC,KAAK;AAGnF,WAAO;AAAA;AAAA,8CAEmC,kBAAkB,GAAG,GAAG,WAAW,IAAI,WAAW;AAAA,EAC9F;AACF;",
4
+ "sourcesContent": ["import { createSearchParams } from '@/utils/create-search-params'\nimport { objectToString, Unquoted } from '@/utils/objectToString'\nimport type { Plugin } from '@scalar/types/snippetz'\n\n/**\n * node/undici\n */\nexport const nodeUndici: Plugin = {\n target: 'node',\n client: 'undici',\n title: 'undici',\n generate(request) {\n // Defaults\n const normalizedRequest = {\n method: 'GET',\n ...request,\n }\n\n // Normalization\n normalizedRequest.method = normalizedRequest.method.toUpperCase()\n\n // Reset undici defaults\n const options: Record<string, any> = {\n method: normalizedRequest.method === 'GET' ? undefined : normalizedRequest.method,\n }\n\n // Query\n const searchParams = createSearchParams(normalizedRequest.queryString)\n const queryString = searchParams.size ? `?${searchParams.toString()}` : ''\n\n // Headers\n if (normalizedRequest.headers?.length) {\n options.headers = {}\n\n normalizedRequest.headers.forEach((header) => {\n options.headers![header.name] = header.value\n })\n }\n\n // Cookies\n if (normalizedRequest.cookies?.length) {\n options.headers = options.headers || {}\n\n normalizedRequest.cookies.forEach((cookie) => {\n options.headers!['Set-Cookie'] = options.headers!['Set-Cookie']\n ? `${options.headers!['Set-Cookie']}; ${cookie.name}=${cookie.value}`\n : `${cookie.name}=${cookie.value}`\n })\n }\n\n // Remove undefined keys\n Object.keys(options).forEach((key) => {\n if (options[key] === undefined) {\n delete options[key]\n }\n })\n\n // Add body\n if (normalizedRequest.postData) {\n // Plain text\n options.body = normalizedRequest.postData.text\n\n // JSON\n if (normalizedRequest.postData.mimeType === 'application/json') {\n options.body = new Unquoted(`JSON.stringify(${objectToString(JSON.parse(options.body))})`)\n }\n }\n\n // Transform to JSON\n const jsonOptions = Object.keys(options).length ? `, ${objectToString(options)}` : ''\n\n // Code Template\n return `import { request } from 'undici'\n\nconst { statusCode, body } = await request('${normalizedRequest.url}${queryString}'${jsonOptions})`\n },\n}\n"],
5
+ "mappings": "AAAA,SAAS,0BAA0B;AACnC,SAAS,gBAAgB,gBAAgB;AAMlC,MAAM,aAAqB;AAAA,EAChC,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,SAAS,SAAS;AAEhB,UAAM,oBAAoB;AAAA,MACxB,QAAQ;AAAA,MACR,GAAG;AAAA,IACL;AAGA,sBAAkB,SAAS,kBAAkB,OAAO,YAAY;AAGhE,UAAM,UAA+B;AAAA,MACnC,QAAQ,kBAAkB,WAAW,QAAQ,SAAY,kBAAkB;AAAA,IAC7E;AAGA,UAAM,eAAe,mBAAmB,kBAAkB,WAAW;AACrE,UAAM,cAAc,aAAa,OAAO,IAAI,aAAa,SAAS,CAAC,KAAK;AAGxE,QAAI,kBAAkB,SAAS,QAAQ;AACrC,cAAQ,UAAU,CAAC;AAEnB,wBAAkB,QAAQ,QAAQ,CAAC,WAAW;AAC5C,gBAAQ,QAAS,OAAO,IAAI,IAAI,OAAO;AAAA,MACzC,CAAC;AAAA,IACH;AAGA,QAAI,kBAAkB,SAAS,QAAQ;AACrC,cAAQ,UAAU,QAAQ,WAAW,CAAC;AAEtC,wBAAkB,QAAQ,QAAQ,CAAC,WAAW;AAC5C,gBAAQ,QAAS,YAAY,IAAI,QAAQ,QAAS,YAAY,IAC1D,GAAG,QAAQ,QAAS,YAAY,CAAC,KAAK,OAAO,IAAI,IAAI,OAAO,KAAK,KACjE,GAAG,OAAO,IAAI,IAAI,OAAO,KAAK;AAAA,MACpC,CAAC;AAAA,IACH;AAGA,WAAO,KAAK,OAAO,EAAE,QAAQ,CAAC,QAAQ;AACpC,UAAI,QAAQ,GAAG,MAAM,QAAW;AAC9B,eAAO,QAAQ,GAAG;AAAA,MACpB;AAAA,IACF,CAAC;AAGD,QAAI,kBAAkB,UAAU;AAE9B,cAAQ,OAAO,kBAAkB,SAAS;AAG1C,UAAI,kBAAkB,SAAS,aAAa,oBAAoB;AAC9D,gBAAQ,OAAO,IAAI,SAAS,kBAAkB,eAAe,KAAK,MAAM,QAAQ,IAAI,CAAC,CAAC,GAAG;AAAA,MAC3F;AAAA,IACF;AAGA,UAAM,cAAc,OAAO,KAAK,OAAO,EAAE,SAAS,KAAK,eAAe,OAAO,CAAC,KAAK;AAGnF,WAAO;AAAA;AAAA,8CAEmC,kBAAkB,GAAG,GAAG,WAAW,IAAI,WAAW;AAAA,EAC9F;AACF;",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,6 @@
1
+ import type { Plugin } from '@scalar/types/snippetz';
2
+ /**
3
+ * python/httpx_async
4
+ */
5
+ export declare const pythonHttpxAsync: Plugin;
6
+ //# sourceMappingURL=async.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"async.d.ts","sourceRoot":"","sources":["../../../../src/plugins/python/httpx/async.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAGpD;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAc9B,CAAA"}
@@ -0,0 +1,16 @@
1
+ import { requestsLikeGenerate } from "../../../plugins/python/requestsLike.js";
2
+ const pythonHttpxAsync = {
3
+ target: "python",
4
+ client: "httpx_async",
5
+ title: "HTTPX (Async)",
6
+ generate(request, configuration) {
7
+ let formattedReq = requestsLikeGenerate("await client", request, configuration);
8
+ formattedReq = formattedReq.split("\n").map((line) => line.trim() === "" ? line : " " + line).join("\n");
9
+ return `with httpx.AsyncClient() as client:
10
+ ${formattedReq}`;
11
+ }
12
+ };
13
+ export {
14
+ pythonHttpxAsync
15
+ };
16
+ //# sourceMappingURL=async.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/plugins/python/httpx/async.ts"],
4
+ "sourcesContent": ["import type { Plugin } from '@scalar/types/snippetz'\nimport { requestsLikeGenerate } from '@/plugins/python/requestsLike'\n\n/**\n * python/httpx_async\n */\nexport const pythonHttpxAsync: Plugin = {\n target: 'python',\n client: 'httpx_async',\n title: 'HTTPX (Async)',\n generate(request, configuration) {\n let formattedReq = requestsLikeGenerate('await client', request, configuration)\n // add indent\n formattedReq = formattedReq\n .split('\\n')\n .map((line) => (line.trim() === '' ? line : ' ' + line))\n .join('\\n')\n\n return `with httpx.AsyncClient() as client:\\n${formattedReq}`\n },\n}\n"],
5
+ "mappings": "AACA,SAAS,4BAA4B;AAK9B,MAAM,mBAA2B;AAAA,EACtC,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,SAAS,SAAS,eAAe;AAC/B,QAAI,eAAe,qBAAqB,gBAAgB,SAAS,aAAa;AAE9E,mBAAe,aACZ,MAAM,IAAI,EACV,IAAI,CAAC,SAAU,KAAK,KAAK,MAAM,KAAK,OAAO,SAAS,IAAK,EACzD,KAAK,IAAI;AAEZ,WAAO;AAAA,EAAwC,YAAY;AAAA,EAC7D;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,3 @@
1
+ export * from './sync.js';
2
+ export * from './async.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/python/httpx/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * from "./sync.js";
2
+ export * from "./async.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/plugins/python/httpx/index.ts"],
4
+ "sourcesContent": ["export * from './sync'\nexport * from './async'\n"],
5
+ "mappings": "AAAA,cAAc;AACd,cAAc;",
6
+ "names": []
7
+ }
@@ -0,0 +1,6 @@
1
+ import type { Plugin } from '@scalar/types/snippetz';
2
+ /**
3
+ * python/httpx_sync
4
+ */
5
+ export declare const pythonHttpxSync: Plugin;
6
+ //# sourceMappingURL=sync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../../src/plugins/python/httpx/sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAGpD;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,MAO7B,CAAA"}
@@ -0,0 +1,13 @@
1
+ import { requestsLikeGenerate } from "../../../plugins/python/requestsLike.js";
2
+ const pythonHttpxSync = {
3
+ target: "python",
4
+ client: "httpx_sync",
5
+ title: "HTTPX (Sync)",
6
+ generate(request, configuration) {
7
+ return requestsLikeGenerate("httpx", request, configuration);
8
+ }
9
+ };
10
+ export {
11
+ pythonHttpxSync
12
+ };
13
+ //# sourceMappingURL=sync.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/plugins/python/httpx/sync.ts"],
4
+ "sourcesContent": ["import type { Plugin } from '@scalar/types/snippetz'\nimport { requestsLikeGenerate } from '@/plugins/python/requestsLike'\n\n/**\n * python/httpx_sync\n */\nexport const pythonHttpxSync: Plugin = {\n target: 'python',\n client: 'httpx_sync',\n title: 'HTTPX (Sync)',\n generate(request, configuration) {\n return requestsLikeGenerate('httpx', request, configuration)\n },\n}\n"],
5
+ "mappings": "AACA,SAAS,4BAA4B;AAK9B,MAAM,kBAA0B;AAAA,EACrC,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,SAAS,SAAS,eAAe;AAC/B,WAAO,qBAAqB,SAAS,SAAS,aAAa;AAAA,EAC7D;AACF;",
6
+ "names": []
7
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"requests.d.ts","sourceRoot":"","sources":["../../../../src/plugins/python/requests/requests.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAIpD;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,MAsI5B,CAAA"}
1
+ {"version":3,"file":"requests.d.ts","sourceRoot":"","sources":["../../../../src/plugins/python/requests/requests.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAGpD;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,MAO5B,CAAA"}