@scalar/snippetz 0.7.4 → 0.7.6
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.
- package/dist/clients/index.js +168 -169
- package/dist/httpsnippet-lite/helpers/code-builder.js +86 -74
- package/dist/httpsnippet-lite/helpers/escape.js +69 -44
- package/dist/httpsnippet-lite/helpers/headers.js +17 -14
- package/dist/httpsnippet-lite/helpers/reducer.js +1 -1
- package/dist/httpsnippet-lite/helpers/shell.js +13 -13
- package/dist/httpsnippet-lite/helpers/snippet-request.js +1 -1
- package/dist/httpsnippet-lite/helpers/url.js +4 -8
- package/dist/httpsnippet-lite/targets/c/libcurl/client.js +69 -67
- package/dist/httpsnippet-lite/targets/clojure/clj_http/client.js +165 -154
- package/dist/httpsnippet-lite/targets/csharp/restsharp/client.js +35 -38
- package/dist/httpsnippet-lite/targets/go/native/client.js +151 -147
- package/dist/httpsnippet-lite/targets/java/asynchttp/client.js +32 -35
- package/dist/httpsnippet-lite/targets/java/nethttp/client.js +40 -39
- package/dist/httpsnippet-lite/targets/java/okhttp/client.js +83 -73
- package/dist/httpsnippet-lite/targets/java/unirest/client.js +41 -34
- package/dist/httpsnippet-lite/targets/javascript/axios/client.js +81 -76
- package/dist/httpsnippet-lite/targets/javascript/jquery/client.js +77 -71
- package/dist/httpsnippet-lite/targets/javascript/xhr/client.js +73 -71
- package/dist/httpsnippet-lite/targets/kotlin/okhttp/client.js +83 -73
- package/dist/httpsnippet-lite/targets/node/axios/client.js +74 -69
- package/dist/httpsnippet-lite/targets/objc/helpers.js +52 -33
- package/dist/httpsnippet-lite/targets/objc/nsurlsession/client.js +123 -121
- package/dist/httpsnippet-lite/targets/ocaml/cohttp/client.js +60 -49
- package/dist/httpsnippet-lite/targets/powershell/common.js +46 -56
- package/dist/httpsnippet-lite/targets/powershell/restmethod/client.js +9 -13
- package/dist/httpsnippet-lite/targets/powershell/webrequest/client.js +9 -13
- package/dist/httpsnippet-lite/targets/python/python3/client.js +85 -68
- package/dist/httpsnippet-lite/targets/r/httr/client.js +114 -95
- package/dist/httpsnippet-lite/targets/ruby/native/client.js +66 -70
- package/dist/httpsnippet-lite/targets/shell/httpie/client.js +121 -107
- package/dist/httpsnippet-lite/targets/shell/wget/client.js +48 -43
- package/dist/httpsnippet-lite/targets/swift/helpers.js +62 -44
- package/dist/httpsnippet-lite/targets/swift/nsurlsession/client.js +126 -112
- package/dist/httpsnippet-lite/targets/target.js +1 -1
- package/dist/index.js +2 -9
- package/dist/libs/http.js +68 -56
- package/dist/libs/javascript.js +77 -60
- package/dist/libs/php.js +59 -49
- package/dist/libs/rust.js +60 -33
- package/dist/libs/shell.js +14 -5
- package/dist/plugins/c/libcurl/index.js +1 -5
- package/dist/plugins/c/libcurl/libcurl.js +13 -13
- package/dist/plugins/clojure/clj_http/clj_http.js +13 -13
- package/dist/plugins/clojure/clj_http/index.js +1 -5
- package/dist/plugins/csharp/httpclient/httpclient.js +206 -150
- package/dist/plugins/csharp/httpclient/index.js +1 -5
- package/dist/plugins/csharp/restsharp/index.js +1 -5
- package/dist/plugins/csharp/restsharp/restsharp.js +13 -13
- package/dist/plugins/dart/http/http.js +95 -93
- package/dist/plugins/dart/http/index.js +1 -5
- package/dist/plugins/fsharp/httpclient/httpclient.js +169 -122
- package/dist/plugins/fsharp/httpclient/index.js +1 -5
- package/dist/plugins/go/native/index.js +1 -5
- package/dist/plugins/go/native/native.js +13 -13
- package/dist/plugins/http/http11/http11.d.ts.map +1 -1
- package/dist/plugins/http/http11/http11.js +104 -85
- package/dist/plugins/http/http11/index.js +1 -5
- package/dist/plugins/java/asynchttp/asynchttp.js +13 -13
- package/dist/plugins/java/asynchttp/index.js +1 -5
- package/dist/plugins/java/nethttp/index.js +1 -5
- package/dist/plugins/java/nethttp/nethttp.js +13 -13
- package/dist/plugins/java/okhttp/index.js +1 -5
- package/dist/plugins/java/okhttp/okhttp.js +13 -13
- package/dist/plugins/java/unirest/index.js +1 -5
- package/dist/plugins/java/unirest/unirest.js +13 -13
- package/dist/plugins/js/axios/axios.js +13 -13
- package/dist/plugins/js/axios/index.js +1 -5
- package/dist/plugins/js/fetch/fetch.js +82 -68
- package/dist/plugins/js/fetch/index.js +1 -5
- package/dist/plugins/js/jquery/index.js +1 -5
- package/dist/plugins/js/jquery/jquery.js +13 -13
- package/dist/plugins/js/ofetch/index.js +1 -5
- package/dist/plugins/js/ofetch/ofetch.js +61 -48
- package/dist/plugins/js/xhr/index.js +1 -5
- package/dist/plugins/js/xhr/xhr.js +13 -13
- package/dist/plugins/kotlin/okhttp/index.js +1 -5
- package/dist/plugins/kotlin/okhttp/okhttp.js +13 -13
- package/dist/plugins/node/axios/axios.js +13 -13
- package/dist/plugins/node/axios/index.js +1 -5
- package/dist/plugins/node/fetch/fetch.js +86 -74
- package/dist/plugins/node/fetch/index.js +1 -5
- package/dist/plugins/node/ofetch/index.js +1 -5
- package/dist/plugins/node/ofetch/ofetch.js +61 -48
- package/dist/plugins/node/undici/index.js +1 -5
- package/dist/plugins/node/undici/undici.js +60 -47
- package/dist/plugins/objc/nsurlsession/index.js +1 -5
- package/dist/plugins/objc/nsurlsession/nsurlsession.js +13 -13
- package/dist/plugins/ocaml/cohttp/cohttp.js +13 -13
- package/dist/plugins/ocaml/cohttp/index.js +1 -5
- package/dist/plugins/php/curl/curl.js +143 -101
- package/dist/plugins/php/curl/index.js +1 -5
- package/dist/plugins/php/guzzle/guzzle.d.ts.map +1 -1
- package/dist/plugins/php/guzzle/guzzle.js +109 -83
- package/dist/plugins/php/guzzle/index.js +1 -5
- package/dist/plugins/powershell/restmethod/index.js +1 -5
- package/dist/plugins/powershell/restmethod/restmethod.js +13 -13
- package/dist/plugins/powershell/webrequest/index.js +1 -5
- package/dist/plugins/powershell/webrequest/webrequest.js +13 -13
- package/dist/plugins/python/httpx/async.js +17 -15
- package/dist/plugins/python/httpx/index.js +2 -7
- package/dist/plugins/python/httpx/sync.js +11 -12
- package/dist/plugins/python/python3/index.js +1 -5
- package/dist/plugins/python/python3/python3.js +13 -13
- package/dist/plugins/python/requests/index.js +1 -5
- package/dist/plugins/python/requests/requests.js +11 -12
- package/dist/plugins/python/requestsLike.d.ts.map +1 -1
- package/dist/plugins/python/requestsLike.js +145 -112
- package/dist/plugins/r/httr/httr.js +13 -13
- package/dist/plugins/r/httr/index.js +1 -5
- package/dist/plugins/ruby/native/index.js +1 -5
- package/dist/plugins/ruby/native/native.js +13 -13
- package/dist/plugins/rust/reqwest/index.js +1 -5
- package/dist/plugins/rust/reqwest/reqwest.js +126 -83
- package/dist/plugins/shell/curl/curl.d.ts.map +1 -1
- package/dist/plugins/shell/curl/curl.js +129 -97
- package/dist/plugins/shell/curl/index.js +1 -5
- package/dist/plugins/shell/httpie/httpie.js +13 -13
- package/dist/plugins/shell/httpie/index.js +1 -5
- package/dist/plugins/shell/wget/index.js +1 -5
- package/dist/plugins/shell/wget/wget.js +13 -13
- package/dist/plugins/swift/nsurlsession/index.js +1 -5
- package/dist/plugins/swift/nsurlsession/nsurlsession.js +13 -13
- package/dist/snippetz.js +25 -28
- package/dist/utils/convertWithHttpSnippetLite.js +100 -96
- package/dist/utils/index.js +1 -5
- package/package.json +8 -12
- package/dist/clients/index.js.map +0 -7
- package/dist/httpsnippet-lite/helpers/code-builder.js.map +0 -7
- package/dist/httpsnippet-lite/helpers/escape.js.map +0 -7
- package/dist/httpsnippet-lite/helpers/headers.js.map +0 -7
- package/dist/httpsnippet-lite/helpers/reducer.js.map +0 -7
- package/dist/httpsnippet-lite/helpers/shell.js.map +0 -7
- package/dist/httpsnippet-lite/helpers/snippet-request.js.map +0 -7
- package/dist/httpsnippet-lite/helpers/url.js.map +0 -7
- package/dist/httpsnippet-lite/targets/c/libcurl/client.js.map +0 -7
- package/dist/httpsnippet-lite/targets/clojure/clj_http/client.js.map +0 -7
- package/dist/httpsnippet-lite/targets/csharp/restsharp/client.js.map +0 -7
- package/dist/httpsnippet-lite/targets/go/native/client.js.map +0 -7
- package/dist/httpsnippet-lite/targets/java/asynchttp/client.js.map +0 -7
- package/dist/httpsnippet-lite/targets/java/nethttp/client.js.map +0 -7
- package/dist/httpsnippet-lite/targets/java/okhttp/client.js.map +0 -7
- package/dist/httpsnippet-lite/targets/java/unirest/client.js.map +0 -7
- package/dist/httpsnippet-lite/targets/javascript/axios/client.js.map +0 -7
- package/dist/httpsnippet-lite/targets/javascript/jquery/client.js.map +0 -7
- package/dist/httpsnippet-lite/targets/javascript/xhr/client.js.map +0 -7
- package/dist/httpsnippet-lite/targets/kotlin/okhttp/client.js.map +0 -7
- package/dist/httpsnippet-lite/targets/node/axios/client.js.map +0 -7
- package/dist/httpsnippet-lite/targets/objc/helpers.js.map +0 -7
- package/dist/httpsnippet-lite/targets/objc/nsurlsession/client.js.map +0 -7
- package/dist/httpsnippet-lite/targets/ocaml/cohttp/client.js.map +0 -7
- package/dist/httpsnippet-lite/targets/powershell/common.js.map +0 -7
- package/dist/httpsnippet-lite/targets/powershell/restmethod/client.js.map +0 -7
- package/dist/httpsnippet-lite/targets/powershell/webrequest/client.js.map +0 -7
- package/dist/httpsnippet-lite/targets/python/python3/client.js.map +0 -7
- package/dist/httpsnippet-lite/targets/r/httr/client.js.map +0 -7
- package/dist/httpsnippet-lite/targets/ruby/native/client.js.map +0 -7
- package/dist/httpsnippet-lite/targets/shell/httpie/client.js.map +0 -7
- package/dist/httpsnippet-lite/targets/shell/wget/client.js.map +0 -7
- package/dist/httpsnippet-lite/targets/swift/helpers.js.map +0 -7
- package/dist/httpsnippet-lite/targets/swift/nsurlsession/client.js.map +0 -7
- package/dist/httpsnippet-lite/targets/target.js.map +0 -7
- package/dist/index.js.map +0 -7
- package/dist/libs/http.js.map +0 -7
- package/dist/libs/javascript.js.map +0 -7
- package/dist/libs/php.js.map +0 -7
- package/dist/libs/rust.js.map +0 -7
- package/dist/libs/shell.js.map +0 -7
- package/dist/plugins/c/libcurl/index.js.map +0 -7
- package/dist/plugins/c/libcurl/libcurl.js.map +0 -7
- package/dist/plugins/clojure/clj_http/clj_http.js.map +0 -7
- package/dist/plugins/clojure/clj_http/index.js.map +0 -7
- package/dist/plugins/csharp/httpclient/httpclient.js.map +0 -7
- package/dist/plugins/csharp/httpclient/index.js.map +0 -7
- package/dist/plugins/csharp/restsharp/index.js.map +0 -7
- package/dist/plugins/csharp/restsharp/restsharp.js.map +0 -7
- package/dist/plugins/dart/http/http.js.map +0 -7
- package/dist/plugins/dart/http/index.js.map +0 -7
- package/dist/plugins/fsharp/httpclient/httpclient.js.map +0 -7
- package/dist/plugins/fsharp/httpclient/index.js.map +0 -7
- package/dist/plugins/go/native/index.js.map +0 -7
- package/dist/plugins/go/native/native.js.map +0 -7
- package/dist/plugins/http/http11/http11.js.map +0 -7
- package/dist/plugins/http/http11/index.js.map +0 -7
- package/dist/plugins/java/asynchttp/asynchttp.js.map +0 -7
- package/dist/plugins/java/asynchttp/index.js.map +0 -7
- package/dist/plugins/java/nethttp/index.js.map +0 -7
- package/dist/plugins/java/nethttp/nethttp.js.map +0 -7
- package/dist/plugins/java/okhttp/index.js.map +0 -7
- package/dist/plugins/java/okhttp/okhttp.js.map +0 -7
- package/dist/plugins/java/unirest/index.js.map +0 -7
- package/dist/plugins/java/unirest/unirest.js.map +0 -7
- package/dist/plugins/js/axios/axios.js.map +0 -7
- package/dist/plugins/js/axios/index.js.map +0 -7
- package/dist/plugins/js/fetch/fetch.js.map +0 -7
- package/dist/plugins/js/fetch/index.js.map +0 -7
- package/dist/plugins/js/jquery/index.js.map +0 -7
- package/dist/plugins/js/jquery/jquery.js.map +0 -7
- package/dist/plugins/js/ofetch/index.js.map +0 -7
- package/dist/plugins/js/ofetch/ofetch.js.map +0 -7
- package/dist/plugins/js/xhr/index.js.map +0 -7
- package/dist/plugins/js/xhr/xhr.js.map +0 -7
- package/dist/plugins/kotlin/okhttp/index.js.map +0 -7
- package/dist/plugins/kotlin/okhttp/okhttp.js.map +0 -7
- package/dist/plugins/node/axios/axios.js.map +0 -7
- package/dist/plugins/node/axios/index.js.map +0 -7
- package/dist/plugins/node/fetch/fetch.js.map +0 -7
- package/dist/plugins/node/fetch/index.js.map +0 -7
- package/dist/plugins/node/ofetch/index.js.map +0 -7
- package/dist/plugins/node/ofetch/ofetch.js.map +0 -7
- package/dist/plugins/node/undici/index.js.map +0 -7
- package/dist/plugins/node/undici/undici.js.map +0 -7
- package/dist/plugins/objc/nsurlsession/index.js.map +0 -7
- package/dist/plugins/objc/nsurlsession/nsurlsession.js.map +0 -7
- package/dist/plugins/ocaml/cohttp/cohttp.js.map +0 -7
- package/dist/plugins/ocaml/cohttp/index.js.map +0 -7
- package/dist/plugins/php/curl/curl.js.map +0 -7
- package/dist/plugins/php/curl/index.js.map +0 -7
- package/dist/plugins/php/guzzle/guzzle.js.map +0 -7
- package/dist/plugins/php/guzzle/index.js.map +0 -7
- package/dist/plugins/powershell/restmethod/index.js.map +0 -7
- package/dist/plugins/powershell/restmethod/restmethod.js.map +0 -7
- package/dist/plugins/powershell/webrequest/index.js.map +0 -7
- package/dist/plugins/powershell/webrequest/webrequest.js.map +0 -7
- package/dist/plugins/python/httpx/async.js.map +0 -7
- package/dist/plugins/python/httpx/index.js.map +0 -7
- package/dist/plugins/python/httpx/sync.js.map +0 -7
- package/dist/plugins/python/python3/index.js.map +0 -7
- package/dist/plugins/python/python3/python3.js.map +0 -7
- package/dist/plugins/python/requests/index.js.map +0 -7
- package/dist/plugins/python/requests/requests.js.map +0 -7
- package/dist/plugins/python/requestsLike.js.map +0 -7
- package/dist/plugins/r/httr/httr.js.map +0 -7
- package/dist/plugins/r/httr/index.js.map +0 -7
- package/dist/plugins/ruby/native/index.js.map +0 -7
- package/dist/plugins/ruby/native/native.js.map +0 -7
- package/dist/plugins/rust/reqwest/index.js.map +0 -7
- package/dist/plugins/rust/reqwest/reqwest.js.map +0 -7
- package/dist/plugins/shell/curl/curl.js.map +0 -7
- package/dist/plugins/shell/curl/index.js.map +0 -7
- package/dist/plugins/shell/httpie/httpie.js.map +0 -7
- package/dist/plugins/shell/httpie/index.js.map +0 -7
- package/dist/plugins/shell/wget/index.js.map +0 -7
- package/dist/plugins/shell/wget/wget.js.map +0 -7
- package/dist/plugins/swift/nsurlsession/index.js.map +0 -7
- package/dist/plugins/swift/nsurlsession/nsurlsession.js.map +0 -7
- package/dist/snippetz.js.map +0 -7
- package/dist/utils/convertWithHttpSnippetLite.js.map +0 -7
- package/dist/utils/index.js.map +0 -7
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../../src/httpsnippet-lite/targets/shell/httpie/client.ts"],
|
|
4
|
-
"sourcesContent": ["/**\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 */\n\nimport { CodeBuilder } from '@/httpsnippet-lite/helpers/code-builder'\nimport { shellQuote } from '@/httpsnippet-lite/helpers/shell'\nimport type { Client } from '@/httpsnippet-lite/targets/target'\n\nexport const httpie: Client = {\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: ({ allHeaders, postData, queryObj, fullUrl, method, url }, options) => {\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}==${shellQuote(val)}`)\n })\n } else {\n push(`${name}==${shellQuote(value)}`)\n }\n })\n }\n // construct headers\n Object.keys(allHeaders)\n .sort()\n .forEach((key) => {\n push(`${key}:${shellQuote(allHeaders[key] as string)}`)\n })\n if (\n (postData === null || postData === void 0 ? void 0 : 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}=${shellQuote(param.value)}`)\n })\n }\n } else if ((postData === null || postData === void 0 ? void 0 : postData.mimeType) === 'multipart/form-data') {\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}@${shellQuote(param.fileName)}`)\n } else {\n push(`${param.name}='${shellQuote(param.value)}'`)\n }\n })\n }\n } else {\n raw = true\n }\n const cliFlags = flags.length ? `${flags.join(' ')} ` : ''\n url = shellQuote(opts.queryParams ? url : fullUrl)\n unshift(`http ${cliFlags}${method} ${url}`)\n if (raw && (postData === null || postData === void 0 ? void 0 : postData.text)) {\n const postDataText = shellQuote(postData!.text)\n unshift(`echo ${postDataText} | `)\n }\n return join()\n },\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../../src/httpsnippet-lite/targets/shell/wget/client.ts"],
|
|
4
|
-
"sourcesContent": ["/**\n * @description\n * HTTP code snippet generator for the Shell using Wget.\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 */\n\nimport { CodeBuilder } from '@/httpsnippet-lite/helpers/code-builder'\nimport { shellEscape, shellQuote } from '@/httpsnippet-lite/helpers/shell'\nimport type { Client } from '@/httpsnippet-lite/targets/target'\n\nexport const wget: Client = {\n info: {\n key: 'wget',\n title: 'Wget',\n link: 'https://www.gnu.org/software/wget/',\n description: 'a free software package for retrieving files using HTTP, HTTPS',\n },\n convert: ({ method, postData, allHeaders, fullUrl }, options) => {\n const opts = {\n indent: ' ',\n short: false,\n verbose: false,\n ...options,\n }\n const { push, join } = new CodeBuilder({\n indent: opts.indent,\n // @ts-expect-error SEEMS LEGIT\n join: opts.indent !== false ? ` \\\\\\n${opts.indent}` : ' ',\n })\n if (opts.verbose) {\n push(`wget ${opts.short ? '-v' : '--verbose'}`)\n } else {\n push(`wget ${opts.short ? '-q' : '--quiet'}`)\n }\n push(`--method ${shellQuote(method)}`)\n Object.keys(allHeaders).forEach((key) => {\n const header = `${key}: ${allHeaders[key]}`\n push(`--header ${shellQuote(header)}`)\n })\n if (postData === null || postData === void 0 ? void 0 : postData.text) {\n push(`--body-data ${shellEscape(shellQuote(postData!.text))}`)\n }\n push(opts.short ? '-O' : '--output-document')\n push(`- ${shellQuote(fullUrl)}`)\n return join()\n },\n}\n"],
|
|
5
|
-
"mappings": "AAUA,SAAS,mBAAmB;AAC5B,SAAS,aAAa,kBAAkB;AAGjC,MAAM,OAAe;AAAA,EAC1B,MAAM;AAAA,IACJ,KAAK;AAAA,IACL,OAAO;AAAA,IACP,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA,SAAS,CAAC,EAAE,QAAQ,UAAU,YAAY,QAAQ,GAAG,YAAY;AAC/D,UAAM,OAAO;AAAA,MACX,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,SAAS;AAAA,MACT,GAAG;AAAA,IACL;AACA,UAAM,EAAE,MAAM,KAAK,IAAI,IAAI,YAAY;AAAA,MACrC,QAAQ,KAAK;AAAA;AAAA,MAEb,MAAM,KAAK,WAAW,QAAQ;AAAA,EAAQ,KAAK,MAAM,KAAK;AAAA,IACxD,CAAC;AACD,QAAI,KAAK,SAAS;AAChB,WAAK,QAAQ,KAAK,QAAQ,OAAO,WAAW,EAAE;AAAA,IAChD,OAAO;AACL,WAAK,QAAQ,KAAK,QAAQ,OAAO,SAAS,EAAE;AAAA,IAC9C;AACA,SAAK,YAAY,WAAW,MAAM,CAAC,EAAE;AACrC,WAAO,KAAK,UAAU,EAAE,QAAQ,CAAC,QAAQ;AACvC,YAAM,SAAS,GAAG,GAAG,KAAK,WAAW,GAAG,CAAC;AACzC,WAAK,YAAY,WAAW,MAAM,CAAC,EAAE;AAAA,IACvC,CAAC;AACD,QAAI,aAAa,QAAQ,aAAa,SAAS,SAAS,SAAS,MAAM;AACrE,WAAK,eAAe,YAAY,WAAW,SAAU,IAAI,CAAC,CAAC,EAAE;AAAA,IAC/D;AACA,SAAK,KAAK,QAAQ,OAAO,mBAAmB;AAC5C,SAAK,KAAK,WAAW,OAAO,CAAC,EAAE;AAC/B,WAAO,KAAK;AAAA,EACd;AACF;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/httpsnippet-lite/targets/swift/helpers.ts"],
|
|
4
|
-
"sourcesContent": ["/**\n * Create an string of given length filled with blank spaces\n *\n * @param length Length of the array to return\n * @param str String to pad out with\n */\nconst buildString = (length: number, str: string) => str.repeat(length)\n\n/**\n * Create a string corresponding to a Dictionary or Array literal representation with pretty option and indentation.\n */\nconst concatArray = (arr: Array<string>, pretty: boolean, indentation: string, indentLevel: number): string => {\n const currentIndent = buildString(indentLevel, indentation)\n const closingBraceIndent = buildString(indentLevel - 1, indentation)\n const join = pretty ? `,\\n${currentIndent}` : ', '\n if (pretty) {\n return `[\\n${currentIndent}${arr.join(join)}\\n${closingBraceIndent}]`\n }\n return `[${arr.join(join)}]`\n}\n\ninterface Options {\n indent: string\n pretty: boolean\n}\n\n/**\n * Create a string corresponding to a valid declaration and initialization of a Swift array or dictionary literal\n *\n * @param name Desired name of the instance\n * @param parameters Key-value object of parameters to translate to a Swift object literal\n * @param opts Target options\n * @return {string}\n */\n\nexport const literalDeclaration = (name: string, parameters: unknown, opts: Options) =>\n `let ${name} = ${literalRepresentation(parameters, opts)}`\n/**\n * Create a valid Swift string of a literal value according to its type.\n *\n * @param value Any JavaScript literal\n * @param opts Target options\n */\nconst literalRepresentation = (value: unknown, opts: Options, indentLevelInput?: number): string => {\n const indentLevel = indentLevelInput === undefined ? 1 : indentLevelInput + 1\n switch (Object.prototype.toString.call(value)) {\n case '[object Number]':\n return value as string\n case '[object Array]': {\n // Don't prettify arrays to avoid taking too much space\n let pretty = false\n const valuesRepresentation = (value as Array<unknown>).map((v) => {\n // Switch to prettify if the value is a dictionary with multiple keys\n if (Object.prototype.toString.call(v) === '[object Object]') {\n pretty = Object.keys(v as {}).length > 1\n }\n return literalRepresentation(v, opts, indentLevel)\n })\n\n return concatArray(valuesRepresentation, pretty, opts.indent, indentLevel)\n }\n case '[object Object]': {\n const keyValuePairs = []\n const _value = value as Record<string, unknown>\n for (const key in _value) {\n if (Object.hasOwn(_value, key)) {\n keyValuePairs.push(`\"${key}\": ${literalRepresentation(_value[key], opts, indentLevel)}`)\n }\n }\n return concatArray(keyValuePairs, opts.pretty && keyValuePairs.length > 1, opts.indent, indentLevel)\n }\n case '[object Boolean]':\n return (value as boolean).toString()\n\n default:\n if (value === null || value === undefined) {\n return ''\n }\n return `\"${value.toString().replace(/\"/g, '\\\\\"')}\"`\n }\n}\n"],
|
|
5
|
-
"mappings": "AAMA,MAAM,cAAc,CAAC,QAAgB,QAAgB,IAAI,OAAO,MAAM;AAKtE,MAAM,cAAc,CAAC,KAAoB,QAAiB,aAAqB,gBAAgC;AAC7G,QAAM,gBAAgB,YAAY,aAAa,WAAW;AAC1D,QAAM,qBAAqB,YAAY,cAAc,GAAG,WAAW;AACnE,QAAM,OAAO,SAAS;AAAA,EAAM,aAAa,KAAK;AAC9C,MAAI,QAAQ;AACV,WAAO;AAAA,EAAM,aAAa,GAAG,IAAI,KAAK,IAAI,CAAC;AAAA,EAAK,kBAAkB;AAAA,EACpE;AACA,SAAO,IAAI,IAAI,KAAK,IAAI,CAAC;AAC3B;AAgBO,MAAM,qBAAqB,CAAC,MAAc,YAAqB,SACpE,OAAO,IAAI,MAAM,sBAAsB,YAAY,IAAI,CAAC;AAO1D,MAAM,wBAAwB,CAAC,OAAgB,MAAe,qBAAsC;AAClG,QAAM,cAAc,qBAAqB,SAAY,IAAI,mBAAmB;AAC5E,UAAQ,OAAO,UAAU,SAAS,KAAK,KAAK,GAAG;AAAA,IAC7C,KAAK;AACH,aAAO;AAAA,IACT,KAAK,kBAAkB;AAErB,UAAI,SAAS;AACb,YAAM,uBAAwB,MAAyB,IAAI,CAAC,MAAM;AAEhE,YAAI,OAAO,UAAU,SAAS,KAAK,CAAC,MAAM,mBAAmB;AAC3D,mBAAS,OAAO,KAAK,CAAO,EAAE,SAAS;AAAA,QACzC;AACA,eAAO,sBAAsB,GAAG,MAAM,WAAW;AAAA,MACnD,CAAC;AAED,aAAO,YAAY,sBAAsB,QAAQ,KAAK,QAAQ,WAAW;AAAA,IAC3E;AAAA,IACA,KAAK,mBAAmB;AACtB,YAAM,gBAAgB,CAAC;AACvB,YAAM,SAAS;AACf,iBAAW,OAAO,QAAQ;AACxB,YAAI,OAAO,OAAO,QAAQ,GAAG,GAAG;AAC9B,wBAAc,KAAK,IAAI,GAAG,MAAM,sBAAsB,OAAO,GAAG,GAAG,MAAM,WAAW,CAAC,EAAE;AAAA,QACzF;AAAA,MACF;AACA,aAAO,YAAY,eAAe,KAAK,UAAU,cAAc,SAAS,GAAG,KAAK,QAAQ,WAAW;AAAA,IACrG;AAAA,IACA,KAAK;AACH,aAAQ,MAAkB,SAAS;AAAA,IAErC;AACE,UAAI,UAAU,QAAQ,UAAU,QAAW;AACzC,eAAO;AAAA,MACT;AACA,aAAO,IAAI,MAAM,SAAS,EAAE,QAAQ,MAAM,KAAK,CAAC;AAAA,EACpD;AACF;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../../src/httpsnippet-lite/targets/swift/nsurlsession/client.ts"],
|
|
4
|
-
"sourcesContent": ["/**\n * @description\n * HTTP code snippet generator for Swift using NSURLSession.\n *\n * @author\n * @thibaultCha\n *\n * for any questions or issues regarding the generated code snippet, please open an issue mentioning the author.\n */\n\nimport { CodeBuilder } from '@/httpsnippet-lite/helpers/code-builder'\nimport { literalDeclaration } from '@/httpsnippet-lite/targets/swift/helpers'\nimport type { Client } from '@/httpsnippet-lite/targets/target'\n\nexport const nsurlsession: Client = {\n info: {\n key: 'nsurlsession',\n title: 'NSURLSession',\n link: 'https://developer.apple.com/library/mac/documentation/Foundation/Reference/NSURLSession_class/index.html',\n description: \"Foundation's NSURLSession request\",\n },\n convert: ({ allHeaders, postData, fullUrl, method }, options) => {\n let _a\n const opts = {\n indent: ' ',\n pretty: true,\n timeout: '10',\n ...options,\n }\n const { push, blank, join } = new CodeBuilder({ indent: opts.indent })\n // Markers for headers to be created as litteral objects and later be set on the NSURLRequest if exist\n const req = {\n hasHeaders: false,\n hasBody: false,\n }\n // We just want to make sure people understand that is the only dependency\n push('import Foundation')\n if (Object.keys(allHeaders).length) {\n req.hasHeaders = true\n blank()\n push(literalDeclaration('headers', allHeaders, opts))\n }\n if (postData && (postData.text || postData.jsonObj || postData.params)) {\n req.hasBody = true\n switch (postData.mimeType) {\n case 'application/x-www-form-urlencoded':\n // By appending parameters one by one in the resulting snippet,\n // we make it easier for the user to edit it according to his or her needs after pasting.\n // The user can just add/remove lines adding/removing body parameters.\n blank()\n if ((_a = postData.params) === null || _a === void 0 ? void 0 : _a.length) {\n const [head, ...tail] = postData.params!\n push(\n `let postData = NSMutableData(data: \"${head!.name}=${head!.value}\".data(using: String.Encoding.utf8)!)`,\n )\n tail.forEach(({ name, value }) => {\n push(`postData.append(\"&${name}=${value}\".data(using: String.Encoding.utf8)!)`)\n })\n } else {\n req.hasBody = false\n }\n break\n case 'application/json':\n if (postData.jsonObj) {\n push(`${literalDeclaration('parameters', postData.jsonObj, opts)} as [String : Any]`)\n blank()\n push('let postData = JSONSerialization.data(withJSONObject: parameters, options: [])')\n }\n break\n case 'multipart/form-data':\n /**\n * By appending multipart parameters one by one in the resulting snippet,\n * we make it easier for the user to edit it according to his or her needs after pasting.\n * The user can just edit the parameters NSDictionary or put this part of a snippet in a multipart builder method.\n */\n push(literalDeclaration('parameters', postData.params, opts))\n blank()\n push(`let boundary = \"${postData.boundary}\"`)\n blank()\n push('var body = \"\"')\n push('var error: NSError? = nil')\n push('for param in parameters {')\n push('let paramName = param[\"name\"]!', 1)\n push('body += \"--\\\\(boundary)\\\\r\\\\n\"', 1)\n push('body += \"Content-Disposition:form-data; name=\\\\\"\\\\(paramName)\\\\\"\"', 1)\n push('if let filename = param[\"fileName\"] {', 1)\n push('let contentType = param[\"content-type\"]!', 2)\n push('let fileContent = String(contentsOfFile: filename, encoding: String.Encoding.utf8)', 2)\n push('if (error != nil) {', 2)\n push('print(error as Any)', 3)\n push('}', 2)\n push('body += \"; filename=\\\\\"\\\\(filename)\\\\\"\\\\r\\\\n\"', 2)\n push('body += \"Content-Type: \\\\(contentType)\\\\r\\\\n\\\\r\\\\n\"', 2)\n push('body += fileContent', 2)\n push('} else if let paramValue = param[\"value\"] {', 1)\n push('body += \"\\\\r\\\\n\\\\r\\\\n\\\\(paramValue)\"', 2)\n push('}', 1)\n push('}')\n break\n default:\n blank()\n push(`let postData = NSData(data: \"${postData.text}\".data(using: String.Encoding.utf8)!)`)\n }\n }\n blank()\n // NSURLRequestUseProtocolCachePolicy is the default policy, let's just always set it to avoid confusion.\n push(`let request = NSMutableURLRequest(url: NSURL(string: \"${fullUrl}\")! as URL,`)\n push(' cachePolicy: .useProtocolCachePolicy,')\n push(` timeoutInterval: ${Number.parseInt(opts.timeout, 10).toFixed(1)})`)\n push(`request.httpMethod = \"${method}\"`)\n if (req.hasHeaders) {\n push('request.allHTTPHeaderFields = headers')\n }\n if (req.hasBody) {\n push('request.httpBody = postData as Data')\n }\n blank()\n // Retrieving the shared session will be less verbose than creating a new one.\n push('let session = URLSession.shared')\n push(\n 'let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in',\n )\n push('if (error != nil) {', 1)\n push('print(error as Any)', 2)\n push('} else {', 1) // Casting the NSURLResponse to NSHTTPURLResponse so the user can see the status .\n push('let httpResponse = response as? HTTPURLResponse', 2)\n push('print(httpResponse)', 2)\n push('}', 1)\n push('})')\n blank()\n push('dataTask.resume()')\n return join()\n },\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
package/dist/index.js.map
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/index.ts"],
|
|
4
|
-
"sourcesContent": ["export {\n AVAILABLE_CLIENTS,\n type AvailableClient,\n type AvailableClients,\n type ClientId,\n type FormDataParam,\n type HarRequest,\n type HarResponse,\n type Plugin,\n type PluginConfiguration,\n type Target,\n type TargetId,\n} from '@scalar/types/snippetz'\n\nexport { snippetz } from './snippetz'\n"],
|
|
5
|
-
"mappings": "AAAA;AAAA,EACE;AAAA,OAWK;AAEP,SAAS,gBAAgB;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
package/dist/libs/http.js.map
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/libs/http.ts"],
|
|
4
|
-
"sourcesContent": ["import type { HarRequest } from '@scalar/types/snippetz'\n\n/**\n * Normalizes the request object with defaults\n */\nexport function normalizeRequest(request: Partial<HarRequest>): Partial<HarRequest> & { method: string } {\n return {\n ...request,\n method: (request.method || 'GET').toUpperCase(),\n }\n}\n\n/**\n * Builds the query string from request parameters\n */\nexport function buildQueryString(queryParams?: Array<{ name: string; value: string }>): string {\n if (!queryParams?.length) {\n return ''\n }\n\n const queryPairs = queryParams.map((param) => `${encodeURIComponent(param.name)}=${encodeURIComponent(param.value)}`)\n return `?${queryPairs.join('&')}`\n}\n\n/**\n * Creates a new URL search params object and sets query params so we can handle arrays\n */\nexport const createSearchParams = (query: HarRequest['queryString'] = []) => {\n const searchParams = new URLSearchParams()\n\n query.forEach((q: { name: string; value: string }) => {\n searchParams.append(q.name, q.value)\n })\n\n return searchParams\n}\n\n/**\n * Reduces query parameters into an object while preserving repeated keys as arrays.\n */\nexport function reduceQueryParams(query: HarRequest['queryString'] = []): Record<string, string | string[]> {\n return query.reduce(\n (acc, { name, value }) => {\n const existingValue = acc[name]\n\n if (existingValue === undefined) {\n acc[name] = value\n } else if (Array.isArray(existingValue)) {\n existingValue.push(value)\n } else {\n acc[name] = [existingValue, value]\n }\n\n return acc\n },\n {} as Record<string, string | string[]>,\n )\n}\n\n/**\n * Builds the complete URL with query string\n */\nexport function buildUrl(baseUrl: string, queryString: string): string {\n return `${baseUrl}${queryString}`\n}\n\n/**\n * Processes headers and cookies into a headers object\n */\nexport function processHeaders(request: Partial<HarRequest>): Record<string, string> {\n const headers: Record<string, string> = {}\n\n // Process regular headers\n if (request.headers) {\n for (const header of request.headers) {\n if (header.value && !/[; ]/.test(header.name)) {\n headers[header.name] = header.value\n }\n }\n }\n\n // Process cookies\n if (request.cookies && request.cookies.length > 0) {\n const cookieString = request.cookies\n .map((cookie) => `${encodeURIComponent(cookie.name)}=${encodeURIComponent(cookie.value)}`)\n .join('; ')\n headers['Cookie'] = cookieString\n }\n\n return headers\n}\n"],
|
|
5
|
-
"mappings": "AAKO,SAAS,iBAAiB,SAAwE;AACvG,SAAO;AAAA,IACL,GAAG;AAAA,IACH,SAAS,QAAQ,UAAU,OAAO,YAAY;AAAA,EAChD;AACF;AAKO,SAAS,iBAAiB,aAA8D;AAC7F,MAAI,CAAC,aAAa,QAAQ;AACxB,WAAO;AAAA,EACT;AAEA,QAAM,aAAa,YAAY,IAAI,CAAC,UAAU,GAAG,mBAAmB,MAAM,IAAI,CAAC,IAAI,mBAAmB,MAAM,KAAK,CAAC,EAAE;AACpH,SAAO,IAAI,WAAW,KAAK,GAAG,CAAC;AACjC;AAKO,MAAM,qBAAqB,CAAC,QAAmC,CAAC,MAAM;AAC3E,QAAM,eAAe,IAAI,gBAAgB;AAEzC,QAAM,QAAQ,CAAC,MAAuC;AACpD,iBAAa,OAAO,EAAE,MAAM,EAAE,KAAK;AAAA,EACrC,CAAC;AAED,SAAO;AACT;AAKO,SAAS,kBAAkB,QAAmC,CAAC,GAAsC;AAC1G,SAAO,MAAM;AAAA,IACX,CAAC,KAAK,EAAE,MAAM,MAAM,MAAM;AACxB,YAAM,gBAAgB,IAAI,IAAI;AAE9B,UAAI,kBAAkB,QAAW;AAC/B,YAAI,IAAI,IAAI;AAAA,MACd,WAAW,MAAM,QAAQ,aAAa,GAAG;AACvC,sBAAc,KAAK,KAAK;AAAA,MAC1B,OAAO;AACL,YAAI,IAAI,IAAI,CAAC,eAAe,KAAK;AAAA,MACnC;AAEA,aAAO;AAAA,IACT;AAAA,IACA,CAAC;AAAA,EACH;AACF;AAKO,SAAS,SAAS,SAAiB,aAA6B;AACrE,SAAO,GAAG,OAAO,GAAG,WAAW;AACjC;AAKO,SAAS,eAAe,SAAsD;AACnF,QAAM,UAAkC,CAAC;AAGzC,MAAI,QAAQ,SAAS;AACnB,eAAW,UAAU,QAAQ,SAAS;AACpC,UAAI,OAAO,SAAS,CAAC,OAAO,KAAK,OAAO,IAAI,GAAG;AAC7C,gBAAQ,OAAO,IAAI,IAAI,OAAO;AAAA,MAChC;AAAA,IACF;AAAA,EACF;AAGA,MAAI,QAAQ,WAAW,QAAQ,QAAQ,SAAS,GAAG;AACjD,UAAM,eAAe,QAAQ,QAC1B,IAAI,CAAC,WAAW,GAAG,mBAAmB,OAAO,IAAI,CAAC,IAAI,mBAAmB,OAAO,KAAK,CAAC,EAAE,EACxF,KAAK,IAAI;AACZ,YAAQ,QAAQ,IAAI;AAAA,EACtB;AAEA,SAAO;AACT;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/libs/javascript.ts"],
|
|
4
|
-
"sourcesContent": ["/**\n * Checks if a key needs to be wrapped in quotes when used as an object property\n *\n * Returns true if the key contains spaces or hyphens\n */\nfunction needsQuotes(key: string) {\n return /\\s|-/.test(key)\n}\n\n/**\n * Represents a raw code that should not be quoted, e.g. `JSON.stringify(...)`.\n * If consists of multiple lines, they will be indented properly.\n */\nexport class Raw {\n constructor(public value: string) {}\n}\n\n/**\n * Converts an object into a string representation with proper formatting and indentation\n *\n * Handles nested objects, arrays, and special string values\n */\nexport function objectToString(obj: Record<string, any>, indent = 0): string {\n const parts = []\n const indentation = ' '.repeat(indent)\n const innerIndentation = ' '.repeat(indent + 2)\n\n if (Object.keys(obj).length === 0) {\n return '{}'\n }\n\n for (const [key, value] of Object.entries(obj)) {\n const formattedKey = needsQuotes(key) ? `'${key}'` : key\n\n if (value instanceof Raw) {\n const lines = value.value.split('\\n')\n let formattedValue = `${value.value}`\n\n if (lines.length > 1) {\n formattedValue = lines\n .map((line, index) => {\n if (index === 0) {\n return line\n }\n\n return `${innerIndentation}${line}`\n })\n .join('\\n')\n }\n\n parts.push(`${innerIndentation}${formattedKey}: ${formattedValue}`)\n } else if (Array.isArray(value)) {\n const items = value.map((item) => {\n if (typeof item === 'string') {\n return `'${item}'`\n }\n if (item && typeof item === 'object') {\n return objectToString(item)\n }\n return JSON.stringify(item)\n })\n\n if (items.some((item) => item.includes('\\n'))) {\n // format vertically if any array element contains a newline\n const arrayString = items.map((item) => indentString(item, indent + 4)).join(',\\n')\n parts.push(`${innerIndentation}${formattedKey}: [\\n${arrayString}\\n${innerIndentation}]`)\n } else {\n parts.push(`${innerIndentation}${formattedKey}: [${items.join(', ')}]`)\n }\n } else if (value && typeof value === 'object') {\n parts.push(`${innerIndentation}${formattedKey}: ${objectToString(value, indent + 2)}`)\n } else if (typeof value === 'string') {\n const formattedValue = `'${value}'`\n\n parts.push(`${innerIndentation}${formattedKey}: ${formattedValue}`)\n } else {\n parts.push(`${innerIndentation}${formattedKey}: ${value}`)\n }\n }\n\n return `{\\n${parts.join(',\\n')}\\n${indentation}}`\n}\n\nfunction indentString(str: string, indent: number) {\n const indentation = ' '.repeat(indent)\n return str\n .split('\\n')\n .map((line) => `${indentation}${line}`)\n .join('\\n')\n}\n"],
|
|
5
|
-
"mappings": "AAKA,SAAS,YAAY,KAAa;AAChC,SAAO,OAAO,KAAK,GAAG;AACxB;AAMO,MAAM,IAAI;AAAA,EACf,YAAmB,OAAe;AAAf;AAAA,EAAgB;AACrC;AAOO,SAAS,eAAe,KAA0B,SAAS,GAAW;AAC3E,QAAM,QAAQ,CAAC;AACf,QAAM,cAAc,IAAI,OAAO,MAAM;AACrC,QAAM,mBAAmB,IAAI,OAAO,SAAS,CAAC;AAE9C,MAAI,OAAO,KAAK,GAAG,EAAE,WAAW,GAAG;AACjC,WAAO;AAAA,EACT;AAEA,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,GAAG,GAAG;AAC9C,UAAM,eAAe,YAAY,GAAG,IAAI,IAAI,GAAG,MAAM;AAErD,QAAI,iBAAiB,KAAK;AACxB,YAAM,QAAQ,MAAM,MAAM,MAAM,IAAI;AACpC,UAAI,iBAAiB,GAAG,MAAM,KAAK;AAEnC,UAAI,MAAM,SAAS,GAAG;AACpB,yBAAiB,MACd,IAAI,CAAC,MAAM,UAAU;AACpB,cAAI,UAAU,GAAG;AACf,mBAAO;AAAA,UACT;AAEA,iBAAO,GAAG,gBAAgB,GAAG,IAAI;AAAA,QACnC,CAAC,EACA,KAAK,IAAI;AAAA,MACd;AAEA,YAAM,KAAK,GAAG,gBAAgB,GAAG,YAAY,KAAK,cAAc,EAAE;AAAA,IACpE,WAAW,MAAM,QAAQ,KAAK,GAAG;AAC/B,YAAM,QAAQ,MAAM,IAAI,CAAC,SAAS;AAChC,YAAI,OAAO,SAAS,UAAU;AAC5B,iBAAO,IAAI,IAAI;AAAA,QACjB;AACA,YAAI,QAAQ,OAAO,SAAS,UAAU;AACpC,iBAAO,eAAe,IAAI;AAAA,QAC5B;AACA,eAAO,KAAK,UAAU,IAAI;AAAA,MAC5B,CAAC;AAED,UAAI,MAAM,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,GAAG;AAE7C,cAAM,cAAc,MAAM,IAAI,CAAC,SAAS,aAAa,MAAM,SAAS,CAAC,CAAC,EAAE,KAAK,KAAK;AAClF,cAAM,KAAK,GAAG,gBAAgB,GAAG,YAAY;AAAA,EAAQ,WAAW;AAAA,EAAK,gBAAgB,GAAG;AAAA,MAC1F,OAAO;AACL,cAAM,KAAK,GAAG,gBAAgB,GAAG,YAAY,MAAM,MAAM,KAAK,IAAI,CAAC,GAAG;AAAA,MACxE;AAAA,IACF,WAAW,SAAS,OAAO,UAAU,UAAU;AAC7C,YAAM,KAAK,GAAG,gBAAgB,GAAG,YAAY,KAAK,eAAe,OAAO,SAAS,CAAC,CAAC,EAAE;AAAA,IACvF,WAAW,OAAO,UAAU,UAAU;AACpC,YAAM,iBAAiB,IAAI,KAAK;AAEhC,YAAM,KAAK,GAAG,gBAAgB,GAAG,YAAY,KAAK,cAAc,EAAE;AAAA,IACpE,OAAO;AACL,YAAM,KAAK,GAAG,gBAAgB,GAAG,YAAY,KAAK,KAAK,EAAE;AAAA,IAC3D;AAAA,EACF;AAEA,SAAO;AAAA,EAAM,MAAM,KAAK,KAAK,CAAC;AAAA,EAAK,WAAW;AAChD;AAEA,SAAS,aAAa,KAAa,QAAgB;AACjD,QAAM,cAAc,IAAI,OAAO,MAAM;AACrC,SAAO,IACJ,MAAM,IAAI,EACV,IAAI,CAAC,SAAS,GAAG,WAAW,GAAG,IAAI,EAAE,EACrC,KAAK,IAAI;AACd;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
package/dist/libs/php.js.map
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/libs/php.ts"],
|
|
4
|
-
"sourcesContent": ["/**\n * Generates a consistent indentation string based on the specified indentation level.\n */\nfunction indent(level: number): string {\n return ' '.repeat(level * 2)\n}\n\n/**\n * Represents a raw PHP code that should not be quoted, e.g. `fopen('test.txt', 'r')`.\n * If it consists of multiple lines, they will be indented properly.\n */\nexport class Raw {\n constructor(public value: string) {}\n}\n\n/**\n * Converts a JavaScript object or value into a PHP array or scalar string representation.\n * Handles nested arrays and objects, proper string escaping, and preserves indentation for readability.\n *\n * @example\n * objectToString({ foo: 'bar', baz: 'qux' }) // => \"['foo' => 'bar', 'baz' => 'qux']\"\n */\nexport function objectToString(data: unknown, level = 0): string {\n if (data === null || data === undefined) {\n return 'null'\n }\n\n if (data instanceof Raw) {\n const lines = data.value.split('\\n')\n if (lines.length > 1) {\n const innerIndentation = indent(level + 1)\n return lines\n .map((line, index) => {\n if (index === 0) {\n return line\n }\n return `${innerIndentation}${line}`\n })\n .join('\\n')\n }\n return data.value\n }\n\n if (typeof data === 'string') {\n return `'${data.replace(/\\\\/g, '\\\\\\\\').replace(/'/g, \"\\\\'\")}'`\n }\n\n if (typeof data === 'number' || typeof data === 'boolean') {\n return String(data)\n }\n\n if (Array.isArray(data)) {\n if (data.length === 0) {\n return '[]'\n }\n\n const items = data.map((item) => objectToString(item, level + 1)).join(',\\n' + indent(level + 1))\n\n return `[\\n${indent(level + 1)}${items}\\n${indent(level)}]`\n }\n\n if (typeof data === 'object') {\n const entries = Object.entries(data)\n if (entries.length === 0) {\n return '[]'\n }\n\n const items = entries\n .map(([key, value]) => `'${key}' => ${objectToString(value, level + 1)}`)\n .join(',\\n' + indent(level + 1))\n\n return `[\\n${indent(level + 1)}${items}\\n${indent(level)}]`\n }\n\n return 'null'\n}\n"],
|
|
5
|
-
"mappings": "AAGA,SAAS,OAAO,OAAuB;AACrC,SAAO,IAAI,OAAO,QAAQ,CAAC;AAC7B;AAMO,MAAM,IAAI;AAAA,EACf,YAAmB,OAAe;AAAf;AAAA,EAAgB;AACrC;AASO,SAAS,eAAe,MAAe,QAAQ,GAAW;AAC/D,MAAI,SAAS,QAAQ,SAAS,QAAW;AACvC,WAAO;AAAA,EACT;AAEA,MAAI,gBAAgB,KAAK;AACvB,UAAM,QAAQ,KAAK,MAAM,MAAM,IAAI;AACnC,QAAI,MAAM,SAAS,GAAG;AACpB,YAAM,mBAAmB,OAAO,QAAQ,CAAC;AACzC,aAAO,MACJ,IAAI,CAAC,MAAM,UAAU;AACpB,YAAI,UAAU,GAAG;AACf,iBAAO;AAAA,QACT;AACA,eAAO,GAAG,gBAAgB,GAAG,IAAI;AAAA,MACnC,CAAC,EACA,KAAK,IAAI;AAAA,IACd;AACA,WAAO,KAAK;AAAA,EACd;AAEA,MAAI,OAAO,SAAS,UAAU;AAC5B,WAAO,IAAI,KAAK,QAAQ,OAAO,MAAM,EAAE,QAAQ,MAAM,KAAK,CAAC;AAAA,EAC7D;AAEA,MAAI,OAAO,SAAS,YAAY,OAAO,SAAS,WAAW;AACzD,WAAO,OAAO,IAAI;AAAA,EACpB;AAEA,MAAI,MAAM,QAAQ,IAAI,GAAG;AACvB,QAAI,KAAK,WAAW,GAAG;AACrB,aAAO;AAAA,IACT;AAEA,UAAM,QAAQ,KAAK,IAAI,CAAC,SAAS,eAAe,MAAM,QAAQ,CAAC,CAAC,EAAE,KAAK,QAAQ,OAAO,QAAQ,CAAC,CAAC;AAEhG,WAAO;AAAA,EAAM,OAAO,QAAQ,CAAC,CAAC,GAAG,KAAK;AAAA,EAAK,OAAO,KAAK,CAAC;AAAA,EAC1D;AAEA,MAAI,OAAO,SAAS,UAAU;AAC5B,UAAM,UAAU,OAAO,QAAQ,IAAI;AACnC,QAAI,QAAQ,WAAW,GAAG;AACxB,aAAO;AAAA,IACT;AAEA,UAAM,QAAQ,QACX,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,IAAI,GAAG,QAAQ,eAAe,OAAO,QAAQ,CAAC,CAAC,EAAE,EACvE,KAAK,QAAQ,OAAO,QAAQ,CAAC,CAAC;AAEjC,WAAO;AAAA,EAAM,OAAO,QAAQ,CAAC,CAAC,GAAG,KAAK;AAAA,EAAK,OAAO,KAAK,CAAC;AAAA,EAC1D;AAEA,SAAO;AACT;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
package/dist/libs/rust.js.map
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/libs/rust.ts"],
|
|
4
|
-
"sourcesContent": ["/**\n * Escapes a string for use in Rust string literals\n * Handles quotes, backslashes, newlines, and other special characters\n */\nfunction escapeString(str: string): string {\n return str\n .replace(/\\\\/g, '\\\\\\\\') // Escape backslashes first\n .replace(/\"/g, '\\\\\"') // Escape double quotes\n .replace(/\\n/g, '\\\\n') // Escape newlines\n .replace(/\\r/g, '\\\\r') // Escape carriage returns\n .replace(/\\t/g, '\\\\t') // Escape tabs\n .replace(/\\0/g, '\\\\0') // Escape null bytes\n}\n\n/**\n * Formats and escapes a string safely for use in Rust string literals.\n * The returned value is the escaped string, surrounded by double quotes,\n * making it ready for direct insertion into Rust source code.\n */\nexport function wrapInDoubleQuotes(str: string): string {\n return `\"${escapeString(str)}\"`\n}\n\n/**\n * Produces an indented string using 4 spaces per indent level,\n * in accordance with rustfmt style guidelines.\n * Useful for code generation scenarios requiring precise formatting.\n */\nexport function indent(level: number, text: string): string {\n const spaces = ' '.repeat(level * 4)\n return `${spaces}${text}`\n}\n\n/**\n * Formats a Rust chained method call with standard 4-space indentation.\n * Useful for fluent API or builder patterns in generated Rust code.\n */\nexport function createChain(method: string, ...args: string[]): string {\n return indent(1, `.${method}(${args.join(', ')})`)\n}\n\n/**\n * Properly formats a JSON snippet for Rust's `serde_json::json!` macro,\n * applying idiomatic 4-space indentation to each line for improved readability.\n */\nexport function formatJson(jsonText: string): string {\n try {\n const jsonData = JSON.parse(jsonText)\n const prettyJson = JSON.stringify(jsonData, null, 4)\n\n // Split into lines and add proper indentation for Rust\n const lines = prettyJson.split('\\n')\n const rustLines = lines.map((line, index) => {\n if (index === 0) {\n // First line (opening brace)\n return line\n }\n if (index === lines.length - 1) {\n // Last line (closing brace)\n return indent(1, line)\n }\n // Middle lines\n return indent(1, line)\n })\n\n return rustLines.join('\\n')\n } catch {\n // If JSON parsing fails, return the original text\n return jsonText\n }\n}\n"],
|
|
5
|
-
"mappings": "AAIA,SAAS,aAAa,KAAqB;AACzC,SAAO,IACJ,QAAQ,OAAO,MAAM,EACrB,QAAQ,MAAM,KAAK,EACnB,QAAQ,OAAO,KAAK,EACpB,QAAQ,OAAO,KAAK,EACpB,QAAQ,OAAO,KAAK,EACpB,QAAQ,OAAO,KAAK;AACzB;AAOO,SAAS,mBAAmB,KAAqB;AACtD,SAAO,IAAI,aAAa,GAAG,CAAC;AAC9B;AAOO,SAAS,OAAO,OAAe,MAAsB;AAC1D,QAAM,SAAS,IAAI,OAAO,QAAQ,CAAC;AACnC,SAAO,GAAG,MAAM,GAAG,IAAI;AACzB;AAMO,SAAS,YAAY,WAAmB,MAAwB;AACrE,SAAO,OAAO,GAAG,IAAI,MAAM,IAAI,KAAK,KAAK,IAAI,CAAC,GAAG;AACnD;AAMO,SAAS,WAAW,UAA0B;AACnD,MAAI;AACF,UAAM,WAAW,KAAK,MAAM,QAAQ;AACpC,UAAM,aAAa,KAAK,UAAU,UAAU,MAAM,CAAC;AAGnD,UAAM,QAAQ,WAAW,MAAM,IAAI;AACnC,UAAM,YAAY,MAAM,IAAI,CAAC,MAAM,UAAU;AAC3C,UAAI,UAAU,GAAG;AAEf,eAAO;AAAA,MACT;AACA,UAAI,UAAU,MAAM,SAAS,GAAG;AAE9B,eAAO,OAAO,GAAG,IAAI;AAAA,MACvB;AAEA,aAAO,OAAO,GAAG,IAAI;AAAA,IACvB,CAAC;AAED,WAAO,UAAU,KAAK,IAAI;AAAA,EAC5B,QAAQ;AAEN,WAAO;AAAA,EACT;AACF;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
package/dist/libs/shell.js.map
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/libs/shell.ts"],
|
|
4
|
-
"sourcesContent": ["/**\n * Escapes single quotes in a string for safe use inside bash single-quoted strings.\n * In bash, you cannot directly escape a single quote inside single quotes (i.e., 'hell\\'o' is invalid).\n * Instead, you must close the single quotes, insert an escaped single quote, then reopen the single quotes:\n *\n * ```bash\n * 'hell'\\''o'\n * ```\n *\n * This is why escaping a single quote in bash is not as simple as just using a backslash (\\' does not work).\n *\n * @example \"hell'o\" becomes \"hell'\\''o\"\n */\nexport const escapeSingleQuotes = (value: string): string => value.replace(/'/g, \"'\\\\''\")\n"],
|
|
5
|
-
"mappings": "AAaO,MAAM,qBAAqB,CAAC,UAA0B,MAAM,QAAQ,MAAM,OAAO;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/plugins/c/libcurl/libcurl.ts"],
|
|
4
|
-
"sourcesContent": ["import type { Plugin } from '@scalar/types/snippetz'\n\nimport { libcurl } from '@/httpsnippet-lite/targets/c/libcurl/client'\nimport { convertWithHttpSnippetLite } from '@/utils/convertWithHttpSnippetLite'\n\n/**\n * c/libcurl\n */\nexport const cLibcurl: Plugin = {\n target: 'c',\n client: 'libcurl',\n title: 'Libcurl',\n generate(request) {\n // TODO: Write an own converter\n return convertWithHttpSnippetLite(libcurl, request)\n },\n}\n"],
|
|
5
|
-
"mappings": "AAEA,SAAS,eAAe;AACxB,SAAS,kCAAkC;AAKpC,MAAM,WAAmB;AAAA,EAC9B,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,SAAS,SAAS;AAEhB,WAAO,2BAA2B,SAAS,OAAO;AAAA,EACpD;AACF;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/plugins/clojure/clj_http/clj_http.ts"],
|
|
4
|
-
"sourcesContent": ["import type { Plugin } from '@scalar/types/snippetz'\n\nimport { clj_http } from '@/httpsnippet-lite/targets/clojure/clj_http/client'\nimport { convertWithHttpSnippetLite } from '@/utils/convertWithHttpSnippetLite'\n\n/**\n * clojure/clj_http\n */\nexport const clojureCljhttp: Plugin = {\n target: 'clojure',\n client: 'clj_http',\n title: 'clj-http',\n generate(request) {\n // TODO: Write an own converter\n return convertWithHttpSnippetLite(clj_http, request)\n },\n}\n"],
|
|
5
|
-
"mappings": "AAEA,SAAS,gBAAgB;AACzB,SAAS,kCAAkC;AAKpC,MAAM,iBAAyB;AAAA,EACpC,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,SAAS,SAAS;AAEhB,WAAO,2BAA2B,UAAU,OAAO;AAAA,EACrD;AACF;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/plugins/csharp/httpclient/httpclient.ts"],
|
|
4
|
-
"sourcesContent": ["import type { Plugin, PluginConfiguration } from '@scalar/types/snippetz'\nimport { encode } from 'js-base64'\n\nimport { createSearchParams } from '@/libs/http'\n\n/**\n * csharp/httpclient\n */\nexport const csharpHttpclient: Plugin = {\n target: 'csharp',\n client: 'httpclient',\n title: 'HttpClient',\n generate(request, configuration) {\n // Defaults\n const normalizedRequest = {\n method: 'GET',\n url: '',\n ...request,\n }\n\n // Normalization\n normalizedRequest.method = normalizedRequest.method.toUpperCase()\n\n // Build URL with query string\n const searchParams = createSearchParams(normalizedRequest.queryString)\n const queryString = searchParams.size ? `?${searchParams.toString()}` : ''\n\n const url = `${normalizedRequest.url}${queryString}`\n\n // Start building the snippet\n const lines: string[] = []\n\n // HttpClient declaration\n lines.push('using var client = new HttpClient();')\n lines.push('')\n\n // HttpRequestMessage\n const httpMethod = getHttpMethod(normalizedRequest.method)\n lines.push(`var request = new HttpRequestMessage(${httpMethod}, \"${url}\");`)\n\n // Headers and auth\n addHeadersAndAuth(lines, normalizedRequest, configuration)\n\n // Body content\n addBodyContent(lines, normalizedRequest)\n\n // Send request and read response\n lines.push('')\n lines.push('using var response = await client.SendAsync(request);')\n\n return lines.join('\\n')\n },\n}\n\n/**\n * Convert HTTP method to HttpMethod constant\n */\nfunction getHttpMethod(method: string): string {\n switch (method) {\n case 'GET':\n return 'HttpMethod.Get'\n case 'POST':\n return 'HttpMethod.Post'\n case 'PUT':\n return 'HttpMethod.Put'\n case 'DELETE':\n return 'HttpMethod.Delete'\n case 'PATCH':\n return 'HttpMethod.Patch'\n case 'HEAD':\n return 'HttpMethod.Head'\n case 'OPTIONS':\n return 'HttpMethod.Options'\n default:\n return `new HttpMethod(\"${method}\")`\n }\n}\n\n/**\n * Add headers and authentication to the request\n */\nfunction addHeadersAndAuth(lines: string[], request: any, configuration?: PluginConfiguration): void {\n const headers = request.headers || []\n const cookies = request.cookies || []\n\n // Check for explicit Authorization header first\n const authHeader = headers.find((h: any) => h.name.toLowerCase() === 'authorization')\n\n if (authHeader) {\n const [scheme, parameter] = authHeader.value.split(' ', 2)\n if (scheme && parameter) {\n lines.push(`request.Headers.Authorization = new AuthenticationHeaderValue(\"${scheme}\", \"${parameter}\");`)\n }\n } else if (configuration?.auth?.username && configuration?.auth?.password) {\n // Use configuration auth if no explicit header\n const credentials = encode(`${configuration.auth.username}:${configuration.auth.password}`)\n lines.push(`request.Headers.Authorization = new AuthenticationHeaderValue(\"Basic\", \"${credentials}\");`)\n }\n\n // Process other headers (keep only the last value for duplicates)\n const processedHeaders = new Map<string, string>()\n for (const header of headers) {\n const name = header.name\n const value = header.value\n\n if (name.toLowerCase() === 'authorization') {\n // Already handled above\n continue\n }\n\n processedHeaders.set(name, value)\n }\n\n for (const [name, value] of processedHeaders) {\n if (name.toLowerCase() === 'accept' && isMediaType(value)) {\n lines.push(`request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(\"${value}\"));`)\n } else if (name.toLowerCase() === 'content-type' && request.postData) {\n // Content-Type will be set on content object\n continue\n } else {\n lines.push(`request.Headers.TryAddWithoutValidation(\"${name}\", \"${value}\");`)\n }\n }\n\n // Add cookies\n if (cookies.length > 0) {\n const cookieString = cookies.map((cookie: any) => `${cookie.name}=${cookie.value}`).join('; ')\n lines.push(`request.Headers.TryAddWithoutValidation(\"Cookie\", \"${cookieString}\");`)\n }\n}\n\n/**\n * Add body content to the request\n */\nfunction addBodyContent(lines: string[], request: any): void {\n if (!request.postData) {\n return\n }\n\n const { mimeType, text, params } = request.postData\n\n if (mimeType === 'application/json' && text) {\n try {\n const jsonData = JSON.parse(text)\n const prettyJson = JSON.stringify(jsonData, null, 2)\n const rawStringLiteral = createRawStringLiteral(prettyJson)\n lines.push('request.Content = new StringContent(')\n lines.push(`${rawStringLiteral},`)\n lines.push('System.Text.Encoding.UTF8, \"application/json\");')\n } catch {\n const rawStringLiteral = createRawStringLiteral(text)\n lines.push('request.Content = new StringContent(')\n lines.push(`${rawStringLiteral},`)\n lines.push('System.Text.Encoding.UTF8, \"application/json\");')\n }\n } else if (mimeType === 'application/x-www-form-urlencoded' && params) {\n // Check for duplicate field names\n const fieldNames = params.map((p: any) => p.name)\n const hasDuplicates = fieldNames.length !== new Set(fieldNames).size\n\n if (hasDuplicates) {\n // Use List<KeyValuePair> for duplicates\n lines.push('var formParams = new List<KeyValuePair<string, string>>')\n lines.push('{')\n for (const param of params) {\n lines.push(` new(\"${param.name}\", \"${param.value}\"),`)\n }\n lines.push('};')\n lines.push('request.Content = new FormUrlEncodedContent(formParams);')\n } else {\n // Use Dictionary for clean syntax\n lines.push('var formParams = new Dictionary<string, string>')\n lines.push('{')\n for (const param of params) {\n lines.push(` [\"${param.name}\"] = \"${param.value}\",`)\n }\n lines.push('};')\n lines.push('request.Content = new FormUrlEncodedContent(formParams);')\n }\n } else if (mimeType === 'multipart/form-data' && params) {\n lines.push('var content = new MultipartFormDataContent();')\n for (const param of params) {\n if (param.fileName !== undefined) {\n lines.push(\n `content.Add(new StreamContent(File.OpenRead(\"${param.fileName}\")), \"${param.name}\", \"${param.fileName}\");`,\n )\n } else {\n lines.push(`content.Add(new StringContent(\"${param.value}\"), \"${param.name}\");`)\n }\n }\n lines.push('request.Content = content;')\n } else if (mimeType === 'application/octet-stream' && text) {\n lines.push(\n 'var content = new ByteArrayContent(System.Text.Encoding.UTF8.GetBytes(\"' + text.replace(/\"/g, '\\\\\"') + '\"));',\n )\n lines.push('content.Headers.ContentType = new MediaTypeHeaderValue(\"application/octet-stream\");')\n lines.push('request.Content = content;')\n } else if (text) {\n // Fallback for other content types\n const rawStringLiteral = createRawStringLiteral(text)\n lines.push('request.Content = new StringContent(')\n lines.push(`${rawStringLiteral},`)\n lines.push(`System.Text.Encoding.UTF8, \"${mimeType}\");`)\n }\n}\n\n/**\n * Create a C# raw string literal with minimal quote count\n */\nfunction createRawStringLiteral(text: string): string {\n // Find the minimum number of quotes needed\n let quoteCount = 3\n while (text.includes('\"'.repeat(quoteCount))) {\n quoteCount++\n }\n\n const quotes = '\"'.repeat(quoteCount)\n return `${quotes}\\n${text}\\n${quotes}`\n}\n\n/**\n * Check if a value looks like a media type\n */\nfunction isMediaType(value: string): boolean {\n return /^[a-zA-Z0-9][a-zA-Z0-9!#$&\\-\\^_]*\\/[a-zA-Z0-9][a-zA-Z0-9!#$&\\-\\^_]*(\\s*;\\s*[a-zA-Z0-9][a-zA-Z0-9!#$&\\-\\^_]*=.*)?$/.test(\n value,\n )\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/plugins/csharp/restsharp/restsharp.ts"],
|
|
4
|
-
"sourcesContent": ["import type { Plugin } from '@scalar/types/snippetz'\n\nimport { restsharp } from '@/httpsnippet-lite/targets/csharp/restsharp/client'\nimport { convertWithHttpSnippetLite } from '@/utils/convertWithHttpSnippetLite'\n\n/**\n * csharp/restsharp\n */\nexport const csharpRestsharp: Plugin = {\n target: 'csharp',\n client: 'restsharp',\n title: 'RestSharp',\n generate(request) {\n // TODO: Write an own converter\n return convertWithHttpSnippetLite(restsharp, request)\n },\n}\n"],
|
|
5
|
-
"mappings": "AAEA,SAAS,iBAAiB;AAC1B,SAAS,kCAAkC;AAKpC,MAAM,kBAA0B;AAAA,EACrC,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,SAAS,SAAS;AAEhB,WAAO,2BAA2B,WAAW,OAAO;AAAA,EACtD;AACF;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/plugins/dart/http/http.ts"],
|
|
4
|
-
"sourcesContent": ["import type { Plugin } from '@scalar/types/snippetz'\n\n/**\n * dart/http\n */\nexport const dartHttp: Plugin = {\n target: 'dart',\n client: 'http',\n title: 'Http',\n generate(request, options?: { auth?: { username: string; password: string } }) {\n // Defaults\n const normalizedRequest = {\n method: 'GET',\n ...request,\n }\n\n // Normalize method to uppercase\n normalizedRequest.method = normalizedRequest.method.toUpperCase()\n\n // Start building the Dart code\n let code = `import 'package:http/http.dart' as http;\\n\\nvoid main() async {\\n`\n\n // Handle cookies\n let cookieHeader = ''\n let cookieString = ''\n if (normalizedRequest.cookies && normalizedRequest.cookies.length > 0) {\n cookieString = normalizedRequest.cookies\n .map((cookie) => `${encodeURIComponent(cookie.name)}=${encodeURIComponent(cookie.value)}`)\n .join('; ')\n cookieHeader = ` \"Cookie\": \"${cookieString}\",\\n`\n }\n\n // Handle headers\n const headers =\n normalizedRequest.headers?.reduce(\n (acc, header) => {\n if (header.value && !/[; ]/.test(header.name)) {\n acc[header.name] = header.value\n }\n return acc\n },\n {} as Record<string, string>,\n ) || {}\n\n // Add Authorization header if credentials are provided\n if (options?.auth) {\n const { username, password } = options.auth\n\n if (username && password) {\n const credentials = `${username}:${password}`\n headers['Authorization'] = `'Basic ' + base64Encode(utf8.encode('${credentials}'))`\n }\n }\n\n if (cookieHeader) {\n headers['Cookie'] = cookieString\n }\n\n if (Object.keys(headers).length > 0) {\n code += ' final headers = <String,String>{\\n'\n for (const [key, value] of Object.entries(headers)) {\n if (value.includes('utf8.encode')) {\n code += ` '${key}': ${value},\\n`\n } else {\n code += ` '${key}': '${value}',\\n`\n }\n }\n code += ' };\\n\\n'\n }\n\n // Handle query string\n const queryString = normalizedRequest.queryString?.length\n ? '?' +\n normalizedRequest.queryString\n .map((param) => `${encodeURIComponent(param.name)}=${encodeURIComponent(param.value)}`)\n .join('&')\n : ''\n const url = `${normalizedRequest.url}${queryString}`\n\n // Handle body\n let body = ''\n if (normalizedRequest.postData) {\n if (normalizedRequest.postData.mimeType === 'application/json') {\n body = ` final body = r'${normalizedRequest.postData.text}';\\n\\n`\n } else if (normalizedRequest.postData.mimeType === 'application/x-www-form-urlencoded') {\n body = ` final body = '${normalizedRequest.postData.params?.map((param) => `${encodeURIComponent(param.name)}=${encodeURIComponent(param.value ?? '')}`).join('&') || ''}';\\n\\n`\n } else if (normalizedRequest.postData.mimeType === 'multipart/form-data') {\n body = ' final body = <String,String>{\\n'\n for (const param of normalizedRequest.postData.params || []) {\n const value = param.value || ''\n const fileName = param.fileName || ''\n body += ` '${param.name}': '${fileName || value}',\\n`\n }\n body += ' };\\n\\n'\n } else if (normalizedRequest.postData.mimeType === 'application/octet-stream') {\n body = ` final body = '${normalizedRequest.postData.text}';\\n\\n`\n }\n }\n\n if (body) {\n code += body\n }\n\n // Handle method and request\n const method = normalizedRequest.method.toLowerCase()\n const headersPart = Object.keys(headers).length > 0 ? ', headers: headers' : ''\n const bodyPart = body ? ', body: body' : ''\n code += ` final response = await http.${method}(Uri.parse('${url}')${headersPart}${bodyPart});\\n`\n code += ' print(response.body);\\n'\n code += '}'\n\n return code\n },\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/plugins/fsharp/httpclient/httpclient.ts"],
|
|
4
|
-
"sourcesContent": ["import type { Plugin } from '@scalar/types/snippetz'\n\n/**\n * F# HttpClient plugin for generating HTTP request code\n */\nexport const fsharpHttpclient: Plugin = {\n target: 'fsharp',\n client: 'httpclient',\n title: 'HttpClient',\n generate: (request, _) => {\n if (!request) {\n return ''\n }\n\n const finalUrl = buildUrlWithQueryString(request.url, request.queryString)\n let code = ''\n\n // Initialize HttpRequestMessage\n code += generateHttpRequestMessage(request.method, finalUrl)\n\n // Add headers if present\n if (request.headers && request.headers.length > 0) {\n code += generateHeadersCode(request.headers)\n }\n\n // Add request body if present\n if (request.postData) {\n code += generatePostDataCode(request.postData)\n }\n\n // Configure client with cookies if present\n if (request.cookies && request.cookies.length > 0 && request.url) {\n code += generateCookiesCode(request.cookies, request.url)\n code += 'let client = new HttpClient(handler)\\n'\n } else {\n code += 'let client = new HttpClient()\\n'\n }\n\n // Send the request\n code += 'let! result = client.SendAsync(httpRequestMessage)\\n'\n\n return code\n },\n}\n\n/**\n * Builds a query string from an array of query parameters\n */\nfunction buildQueryString(queryParams: { name: string; value: string }[]): string {\n if (!queryParams || queryParams.length === 0) {\n return ''\n }\n\n const params = queryParams.map((param) => `${param.name}=${param.value}`)\n return '?' + params.join('&')\n}\n\n/**\n * Combines base URL with query string if present\n */\nfunction buildUrlWithQueryString(baseUrl: string | undefined, queryParams?: { name: string; value: string }[]): string {\n if (!baseUrl) {\n return ''\n }\n\n if (!queryParams || queryParams.length === 0) {\n return baseUrl\n }\n\n return baseUrl + buildQueryString(queryParams)\n}\n\n/**\n * Generates the HttpRequestMessage initialization code\n */\nfunction generateHttpRequestMessage(method: string | undefined, url: string): string {\n return `let httpRequestMessage = new HttpRequestMessage(\n HttpMethod(\"${method}\"),\n new Uri(\"${escapeString(url)}\")\n)\\n\\n`\n}\n\n/**\n * Generates code to add headers to the HttpRequestMessage\n */\nfunction generateHeadersCode(headers: { name: string; value: string }[]): string {\n let code = ''\n for (const header of headers) {\n code += `httpRequestMessage.Headers.Add(\"${escapeString(header.name ?? '')}\", \"${escapeString(header.value ?? '')}\")\\n`\n }\n code += '\\n'\n return code\n}\n\n/**\n * Generates code to configure cookies for the HttpClient\n */\nfunction generateCookiesCode(cookies: { name: string; value: string }[], url: string): string {\n let code = 'let cookieContainer = CookieContainer()\\n'\n for (const cookie of cookies) {\n code += `cookieContainer.Add(Uri(\"${escapeString(url)}\"), Cookie(\"${escapeString(cookie.name ?? '')}\", \"${escapeString(cookie.value ?? '')}\"))\\n`\n }\n\n code += 'use handler = new HttpClientHandler()\\n'\n code += 'handler.CookieContainer <- cookieContainer\\n\\n'\n\n return code\n}\n\n/**\n * Generates code to set the request content based on postData\n */\nfunction generatePostDataCode(postData: any): string {\n if (!postData) {\n return ''\n }\n\n let code = ''\n\n switch (postData.mimeType) {\n case 'multipart/form-data':\n code += generateMultipartFormDataCode(postData)\n break\n case 'application/x-www-form-urlencoded':\n code += generateUrlEncodedFormDataCode(postData)\n break\n case 'application/json':\n code += generateJsonContentCode(postData)\n break\n default:\n code += generateGenericContentCode(postData, postData.mimeType)\n break\n }\n\n code += 'httpRequestMessage.Content <- content\\n\\n'\n return code\n}\n\n/**\n * Generates code for generic content types\n */\nfunction generateGenericContentCode(postData: any, contentType: string): string {\n let code = `let content = new StringContent(\"${escapeString(postData.text ?? '')}\", Encoding.UTF8, \"${escapeString(contentType ?? '')}\")\\n`\n code += `content.Headers.ContentType <- MediaTypeHeaderValue(\"${escapeString(contentType ?? '')}\")\\n`\n return code\n}\n\n/**\n * Generates code for multipart/form-data content\n */\nfunction generateMultipartFormDataCode(postData: any): string {\n let code = 'let content = new MultipartFormDataContent()\\n'\n\n let fileIndex = 0\n for (const param of postData.params) {\n if (param.value === 'BINARY') {\n const escapedFileName = escapeString(param.fileName ?? '')\n code += `let fileStreamContent_${fileIndex} = new StreamContent(File.OpenRead(\"${escapedFileName}\"))\\n`\n code += `fileStreamContent_${fileIndex}.Headers.ContentType <- MediaTypeHeaderValue(\"${escapeString(param.contentType ?? '')}\")\\n`\n code += `content.Add(fileStreamContent_${fileIndex}, \"${escapedFileName}\", \"${escapedFileName}\")\\n`\n fileIndex++\n } else {\n code += `content.Add(new StringContent(\"${escapeString(param.value ?? '')}\"), \"${escapeString(param.name ?? '')}\")\\n`\n }\n }\n return code\n}\n\n/**\n * Generates code for JSON content\n */\nfunction generateJsonContentCode(postData: any): string {\n let prettyJson: string\n try {\n prettyJson = JSON.stringify(JSON.parse(postData.text ?? '{}'), null, 2)\n } catch {\n // If JSON parsing fails, use the raw text as-is\n prettyJson = postData.text ?? '{}'\n }\n return `let content = new StringContent(\"\"\"${prettyJson}\"\"\", Encoding.UTF8, \"application/json\")\\n`\n}\n\n/**\n * Generates code for application/x-www-form-urlencoded content\n */\nfunction generateUrlEncodedFormDataCode(postData: any): string {\n let code = 'let formUrlEncodedContentDictionary = new Dictionary<string, string>()\\n'\n for (const param of postData.params) {\n code += `formUrlEncodedContentDictionary.Add(\"${escapeString(param.name ?? '')}\", \"${escapeString(param.value ?? '')}\")\\n`\n }\n\n code += 'let content = new FormUrlEncodedContent(formUrlEncodedContentDictionary)\\n'\n return code\n}\n\n/**\n * Escapes special characters for F# string literals\n */\nfunction escapeString(str: string | undefined): string {\n if (str == null) {\n return ''\n }\n return str\n .replace(/\\\\/g, '\\\\\\\\') // Escape backslashes\n .replace(/\"/g, '\\\\\"') // Escape double quotes\n .replace(/\\n/g, '\\\\n') // Escape newlines\n .replace(/\\r/g, '\\\\r') // Escape carriage returns\n .replace(/\\t/g, '\\\\t') // Escape tabs\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/plugins/go/native/native.ts"],
|
|
4
|
-
"sourcesContent": ["import type { Plugin } from '@scalar/types/snippetz'\n\nimport { native } from '@/httpsnippet-lite/targets/go/native/client'\nimport { convertWithHttpSnippetLite } from '@/utils/convertWithHttpSnippetLite'\n\n/**\n * go/native\n */\nexport const goNative: Plugin = {\n target: 'go',\n client: 'native',\n title: 'NewRequest',\n generate(request) {\n // TODO: Write an own converter\n return convertWithHttpSnippetLite(native, request)\n },\n}\n"],
|
|
5
|
-
"mappings": "AAEA,SAAS,cAAc;AACvB,SAAS,kCAAkC;AAKpC,MAAM,WAAmB;AAAA,EAC9B,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,SAAS,SAAS;AAEhB,WAAO,2BAA2B,QAAQ,OAAO;AAAA,EACnD;AACF;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/plugins/http/http11/http11.ts"],
|
|
4
|
-
"sourcesContent": ["import type { Plugin } from '@scalar/types/snippetz'\n\n/**\n * http/http1.1\n */\nexport const httpHttp11: Plugin = {\n target: 'http',\n client: 'http1.1',\n title: 'HTTP/1.1',\n generate(request) {\n // Defaults\n const normalizedRequest = {\n method: 'GET',\n headers: [],\n queryString: [],\n ...request,\n }\n\n // Normalize method\n normalizedRequest.method = normalizedRequest.method.toUpperCase()\n\n // Parse URL with error handling\n let url\n let path\n try {\n url = new URL(normalizedRequest.url || 'http://')\n path = url.pathname + (url.search || '')\n } catch (_error) {\n // Oops, got an invalid URL, use the provided URL directly.\n path = normalizedRequest.url || '/'\n }\n\n const hostname = url?.hostname || 'UNKNOWN_HOSTNAME'\n\n // Start building the request\n let requestString = `${normalizedRequest.method} ${path} HTTP/1.1\\r\\n`\n\n // Handle query string parameters\n if (normalizedRequest.queryString.length) {\n const queryString = normalizedRequest.queryString\n .map((param) => `${encodeURIComponent(param.name)}=${encodeURIComponent(param.value)}`)\n .join('&')\n\n // Append query string to the path\n requestString = `${normalizedRequest.method} ${path}?${queryString} HTTP/1.1\\r\\n`\n }\n\n // Store all headers\n const headers = new Map()\n\n // Host header\n headers.set('Host', hostname)\n\n // Passed headers\n normalizedRequest.headers.forEach((header) => {\n if (headers.has(header.name)) {\n headers.set(header.name, `${headers.get(header.name)}, ${header.value}`)\n } else {\n headers.set(header.name, header.value)\n }\n })\n\n // Query string parameters\n if (normalizedRequest.queryString.length) {\n const queryString = normalizedRequest.queryString\n .map((param) => `${encodeURIComponent(param.name)}=${encodeURIComponent(param.value)}`)\n .join('&')\n\n // Append query string to the path\n requestString = `${normalizedRequest.method} ${path}?${queryString} HTTP/1.1\\r\\n`\n }\n\n // Request body\n let body = ''\n if (normalizedRequest.postData) {\n // Always set the Content-Type header based on postData.mimeType\n if (normalizedRequest.postData.mimeType === 'application/json' && normalizedRequest.postData.text) {\n headers.set('Content-Type', 'application/json')\n body = normalizedRequest.postData.text\n } else if (\n normalizedRequest.postData.mimeType === 'application/octet-stream' &&\n normalizedRequest.postData.text\n ) {\n headers.set('Content-Type', 'application/octet-stream')\n body = normalizedRequest.postData.text\n } else if (\n normalizedRequest.postData.mimeType === 'application/x-www-form-urlencoded' &&\n normalizedRequest.postData.params\n ) {\n const formData = normalizedRequest.postData.params\n .map((param) => `${encodeURIComponent(param.name)}=${encodeURIComponent(param.value ?? '')}`)\n .join('&')\n\n headers.set('Content-Type', 'application/x-www-form-urlencoded')\n body = formData\n } else if (normalizedRequest.postData.mimeType === 'multipart/form-data' && normalizedRequest.postData.params) {\n const boundary = '----WebKitFormBoundary7MA4YWxkTrZu0gW'\n headers.set('Content-Type', `multipart/form-data; boundary=${boundary}`)\n\n body =\n normalizedRequest.postData.params\n .map((param) => {\n if (param.fileName) {\n return `--${boundary}\\r\\nContent-Disposition: form-data; name=\"${param.name}\"; filename=\"${param.fileName}\"\\r\\n\\r\\n`\n }\n return `--${boundary}\\r\\nContent-Disposition: form-data; name=\"${param.name}\"\\r\\n\\r\\n${param.value}\\r\\n`\n })\n .join('') + `--${boundary}--\\r\\n`\n }\n }\n\n // Add headers to requestString\n headers.forEach((value, name) => {\n requestString += `${name}: ${value}\\r\\n`\n })\n\n // Add body to requestString\n requestString += `\\r\\n${body}`\n\n return requestString\n },\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/plugins/java/asynchttp/asynchttp.ts"],
|
|
4
|
-
"sourcesContent": ["import type { Plugin } from '@scalar/types/snippetz'\n\nimport { asynchttp } from '@/httpsnippet-lite/targets/java/asynchttp/client'\nimport { convertWithHttpSnippetLite } from '@/utils/convertWithHttpSnippetLite'\n\n/**\n * java/asynchttp\n */\nexport const javaAsynchttp: Plugin = {\n target: 'java',\n client: 'asynchttp',\n title: 'AsyncHttp',\n generate(request) {\n // TODO: Write an own converter\n return convertWithHttpSnippetLite(asynchttp, request)\n },\n}\n"],
|
|
5
|
-
"mappings": "AAEA,SAAS,iBAAiB;AAC1B,SAAS,kCAAkC;AAKpC,MAAM,gBAAwB;AAAA,EACnC,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,SAAS,SAAS;AAEhB,WAAO,2BAA2B,WAAW,OAAO;AAAA,EACtD;AACF;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/plugins/java/nethttp/nethttp.ts"],
|
|
4
|
-
"sourcesContent": ["import type { Plugin } from '@scalar/types/snippetz'\n\nimport { nethttp } from '@/httpsnippet-lite/targets/java/nethttp/client'\nimport { convertWithHttpSnippetLite } from '@/utils/convertWithHttpSnippetLite'\n\n/**\n * java/nethttp\n */\nexport const javaNethttp: Plugin = {\n target: 'java',\n client: 'nethttp',\n title: 'java.net.http',\n generate(request) {\n // TODO: Write an own converter\n return convertWithHttpSnippetLite(nethttp, request)\n },\n}\n"],
|
|
5
|
-
"mappings": "AAEA,SAAS,eAAe;AACxB,SAAS,kCAAkC;AAKpC,MAAM,cAAsB;AAAA,EACjC,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,SAAS,SAAS;AAEhB,WAAO,2BAA2B,SAAS,OAAO;AAAA,EACpD;AACF;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/plugins/java/okhttp/okhttp.ts"],
|
|
4
|
-
"sourcesContent": ["import type { Plugin } from '@scalar/types/snippetz'\n\nimport { okhttp } from '@/httpsnippet-lite/targets/java/okhttp/client'\nimport { convertWithHttpSnippetLite } from '@/utils/convertWithHttpSnippetLite'\n\n/**\n * java/okhttp\n */\nexport const javaOkhttp: Plugin = {\n target: 'java',\n client: 'okhttp',\n title: 'OkHttp',\n generate(request) {\n // TODO: Write an own converter\n return convertWithHttpSnippetLite(okhttp, request)\n },\n}\n"],
|
|
5
|
-
"mappings": "AAEA,SAAS,cAAc;AACvB,SAAS,kCAAkC;AAKpC,MAAM,aAAqB;AAAA,EAChC,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,SAAS,SAAS;AAEhB,WAAO,2BAA2B,QAAQ,OAAO;AAAA,EACnD;AACF;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/plugins/java/unirest/unirest.ts"],
|
|
4
|
-
"sourcesContent": ["import type { Plugin } from '@scalar/types/snippetz'\n\nimport { unirest } from '@/httpsnippet-lite/targets/java/unirest/client'\nimport { convertWithHttpSnippetLite } from '@/utils/convertWithHttpSnippetLite'\n\n/**\n * java/unirest\n */\nexport const javaUnirest: Plugin = {\n target: 'java',\n client: 'unirest',\n title: 'Unirest',\n generate(request) {\n // TODO: Write an own converter\n return convertWithHttpSnippetLite(unirest, request)\n },\n}\n"],
|
|
5
|
-
"mappings": "AAEA,SAAS,eAAe;AACxB,SAAS,kCAAkC;AAKpC,MAAM,cAAsB;AAAA,EACjC,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,SAAS,SAAS;AAEhB,WAAO,2BAA2B,SAAS,OAAO;AAAA,EACpD;AACF;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/plugins/js/axios/axios.ts"],
|
|
4
|
-
"sourcesContent": ["import type { Plugin } from '@scalar/types/snippetz'\n\nimport { axios } from '@/httpsnippet-lite/targets/javascript/axios/client'\nimport { convertWithHttpSnippetLite } from '@/utils/convertWithHttpSnippetLite'\n\n/**\n * js/axios\n */\nexport const jsAxios: Plugin = {\n target: 'js',\n client: 'axios',\n title: 'Axios',\n generate(request) {\n // TODO: Write an own converter\n return convertWithHttpSnippetLite(axios, request)\n },\n}\n"],
|
|
5
|
-
"mappings": "AAEA,SAAS,aAAa;AACtB,SAAS,kCAAkC;AAKpC,MAAM,UAAkB;AAAA,EAC7B,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,SAAS,SAAS;AAEhB,WAAO,2BAA2B,OAAO,OAAO;AAAA,EAClD;AACF;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/plugins/js/fetch/fetch.ts"],
|
|
4
|
-
"sourcesContent": ["import type { Plugin } from '@scalar/types/snippetz'\n\nimport { createSearchParams } from '@/libs/http'\nimport { Raw, objectToString } from '@/libs/javascript'\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 Raw(`JSON.stringify(${objectToString(JSON.parse(text))})`)\n } catch {\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 Raw('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 Raw(`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": "AAEA,SAAS,0BAA0B;AACnC,SAAS,KAAK,sBAAsB;AAK7B,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,IAAI,kBAAkB,eAAe,KAAK,MAAM,IAAI,CAAC,CAAC,GAAG;AAAA,QAC9E,QAAQ;AACN,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,IAAI,UAAU;AAAA,MACnC,WAAW,aAAa,uCAAuC,QAAQ;AACrE,cAAM,OAAO,OAAO,YAAY,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AACpE,gBAAQ,OAAO,IAAI,IAAI,uBAAuB,eAAe,IAAI,CAAC,GAAG;AAAA,MACvE,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
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/plugins/js/jquery/jquery.ts"],
|
|
4
|
-
"sourcesContent": ["import type { Plugin } from '@scalar/types/snippetz'\n\nimport { jquery } from '@/httpsnippet-lite/targets/javascript/jquery/client'\nimport { convertWithHttpSnippetLite } from '@/utils/convertWithHttpSnippetLite'\n\n/**\n * js/jquery\n */\nexport const jsJquery: Plugin = {\n target: 'js',\n client: 'jquery',\n title: 'jQuery',\n generate(request) {\n // TODO: Write an own converter\n return convertWithHttpSnippetLite(jquery, request)\n },\n}\n"],
|
|
5
|
-
"mappings": "AAEA,SAAS,cAAc;AACvB,SAAS,kCAAkC;AAKpC,MAAM,WAAmB;AAAA,EAC9B,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,SAAS,SAAS;AAEhB,WAAO,2BAA2B,QAAQ,OAAO;AAAA,EACnD;AACF;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/plugins/js/ofetch/ofetch.ts"],
|
|
4
|
-
"sourcesContent": ["import type { Plugin } from '@scalar/types/snippetz'\n\nimport { reduceQueryParams } from '@/libs/http'\nimport { objectToString } from '@/libs/javascript'\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 if (normalizedRequest.queryString?.length) {\n options.query = reduceQueryParams(normalizedRequest.queryString)\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": "AAEA,SAAS,yBAAyB;AAClC,SAAS,sBAAsB;AAKxB,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,QAAI,kBAAkB,aAAa,QAAQ;AACzC,cAAQ,QAAQ,kBAAkB,kBAAkB,WAAW;AAAA,IACjE;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;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|