@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,143 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import { shellWget } from "./wget.js";
3
- describe("shellWget", () => {
4
- it("returns a basic request", () => {
5
- const result = shellWget.generate({
6
- url: "https://example.com"
7
- });
8
- expect(result).toBe(`wget --quiet \\
9
- --method GET \\
10
- --output-document \\
11
- - https://example.com`);
12
- });
13
- it("returns a POST request", () => {
14
- const result = shellWget.generate({
15
- url: "https://example.com",
16
- method: "post"
17
- });
18
- expect(result).toBe(`wget --quiet \\
19
- --method POST \\
20
- --output-document \\
21
- - https://example.com`);
22
- });
23
- it("has headers", () => {
24
- const result = shellWget.generate({
25
- url: "https://example.com",
26
- headers: [
27
- {
28
- name: "Content-Type",
29
- value: "application/json"
30
- }
31
- ]
32
- });
33
- expect(result).toBe(`wget --quiet \\
34
- --method GET \\
35
- --header 'Content-Type: application/json' \\
36
- --output-document \\
37
- - https://example.com`);
38
- });
39
- it.skip("handles multipart form data with files", () => {
40
- const result = shellWget.generate({
41
- url: "https://example.com",
42
- method: "POST",
43
- postData: {
44
- mimeType: "multipart/form-data",
45
- params: [
46
- {
47
- name: "file",
48
- fileName: "test.txt"
49
- },
50
- {
51
- name: "field",
52
- value: "value"
53
- }
54
- ]
55
- }
56
- });
57
- expect(result).toBe(`wget --quiet \\
58
- --method POST \\
59
- --body-file='test.txt' \\
60
- --body-data 'field=value' \\
61
- --output-document \\
62
- - https://example.com`);
63
- });
64
- it.skip("handles url-encoded form data with special characters", () => {
65
- const result = shellWget.generate({
66
- url: "https://example.com",
67
- method: "POST",
68
- postData: {
69
- mimeType: "application/x-www-form-urlencoded",
70
- params: [
71
- {
72
- name: "special chars!@#",
73
- value: "value"
74
- }
75
- ]
76
- }
77
- });
78
- expect(result).toBe(`wget --quiet \\
79
- --method POST \\
80
- --body-data 'special%20chars!%40%23=value' \\
81
- --output-document \\
82
- - https://example.com`);
83
- });
84
- it("handles binary data", () => {
85
- const result = shellWget.generate({
86
- url: "https://example.com",
87
- method: "POST",
88
- postData: {
89
- mimeType: "application/octet-stream",
90
- text: "binary content"
91
- }
92
- });
93
- expect(result).toBe(`wget --quiet \\
94
- --method POST \\
95
- --body-data 'binary content' \\
96
- --output-document \\
97
- - https://example.com`);
98
- });
99
- it("handles special characters in URL", () => {
100
- const result = shellWget.generate({
101
- url: "https://example.com/path with spaces/[brackets]"
102
- });
103
- expect(result).toBe(`wget --quiet \\
104
- --method GET \\
105
- --output-document \\
106
- - 'https://example.com/path%20with%20spaces/[brackets]'`);
107
- });
108
- it("handles multiple headers with same name", () => {
109
- const result = shellWget.generate({
110
- url: "https://example.com",
111
- headers: [
112
- { name: "X-Custom", value: "value1" },
113
- { name: "X-Custom", value: "value2" }
114
- ]
115
- });
116
- expect(result).toBe(`wget --quiet \\
117
- --method GET \\
118
- --header 'X-Custom: value2' \\
119
- --output-document \\
120
- - https://example.com`);
121
- });
122
- it("handles headers with empty values", () => {
123
- const result = shellWget.generate({
124
- url: "https://example.com",
125
- headers: [{ name: "X-Empty", value: "" }]
126
- });
127
- expect(result).toBe(`wget --quiet \\
128
- --method GET \\
129
- --header 'X-Empty: ' \\
130
- --output-document \\
131
- - https://example.com`);
132
- });
133
- it("handles query string parameters", () => {
134
- const result = shellWget.generate({
135
- url: "https://example.com/api?param1=value1&param2=special value&param3=123"
136
- });
137
- expect(result).toBe(`wget --quiet \\
138
- --method GET \\
139
- --output-document \\
140
- - 'https://example.com/api?param1=value1&param2=special%20value&param3=123'`);
141
- });
142
- });
143
- //# sourceMappingURL=wget.test.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../src/plugins/shell/wget/wget.test.ts"],
4
- "sourcesContent": ["import { describe, expect, it } from 'vitest'\n\nimport { shellWget } from './wget'\n\ndescribe('shellWget', () => {\n it('returns a basic request', () => {\n const result = shellWget.generate({\n url: 'https://example.com',\n })\n\n expect(result).toBe(`wget --quiet \\\\\n --method GET \\\\\n --output-document \\\\\n - https://example.com`)\n })\n\n it('returns a POST request', () => {\n const result = shellWget.generate({\n url: 'https://example.com',\n method: 'post',\n })\n\n expect(result).toBe(`wget --quiet \\\\\n --method POST \\\\\n --output-document \\\\\n - https://example.com`)\n })\n\n it('has headers', () => {\n const result = shellWget.generate({\n url: 'https://example.com',\n headers: [\n {\n name: 'Content-Type',\n value: 'application/json',\n },\n ],\n })\n expect(result).toBe(`wget --quiet \\\\\n --method GET \\\\\n --header 'Content-Type: application/json' \\\\\n --output-document \\\\\n - https://example.com`)\n })\n\n it.skip('handles multipart form data with files', () => {\n const result = shellWget.generate({\n url: 'https://example.com',\n method: 'POST',\n postData: {\n mimeType: 'multipart/form-data',\n params: [\n {\n name: 'file',\n fileName: 'test.txt',\n },\n {\n name: 'field',\n value: 'value',\n },\n ],\n },\n })\n\n expect(result).toBe(`wget --quiet \\\\\n --method POST \\\\\n --body-file='test.txt' \\\\\n --body-data 'field=value' \\\\\n --output-document \\\\\n - https://example.com`)\n })\n\n it.skip('handles url-encoded form data with special characters', () => {\n const result = shellWget.generate({\n url: 'https://example.com',\n method: 'POST',\n postData: {\n mimeType: 'application/x-www-form-urlencoded',\n params: [\n {\n name: 'special chars!@#',\n value: 'value',\n },\n ],\n },\n })\n\n expect(result).toBe(`wget --quiet \\\\\n --method POST \\\\\n --body-data 'special%20chars!%40%23=value' \\\\\n --output-document \\\\\n - https://example.com`)\n })\n\n it('handles binary data', () => {\n const result = shellWget.generate({\n url: 'https://example.com',\n method: 'POST',\n postData: {\n mimeType: 'application/octet-stream',\n text: 'binary content',\n },\n })\n\n expect(result).toBe(`wget --quiet \\\\\n --method POST \\\\\n --body-data 'binary content' \\\\\n --output-document \\\\\n - https://example.com`)\n })\n\n it('handles special characters in URL', () => {\n const result = shellWget.generate({\n url: 'https://example.com/path with spaces/[brackets]',\n })\n\n expect(result).toBe(`wget --quiet \\\\\n --method GET \\\\\n --output-document \\\\\n - 'https://example.com/path%20with%20spaces/[brackets]'`)\n })\n\n it('handles multiple headers with same name', () => {\n const result = shellWget.generate({\n url: 'https://example.com',\n headers: [\n { name: 'X-Custom', value: 'value1' },\n { name: 'X-Custom', value: 'value2' },\n ],\n })\n\n expect(result).toBe(`wget --quiet \\\\\n --method GET \\\\\n --header 'X-Custom: value2' \\\\\n --output-document \\\\\n - https://example.com`)\n })\n\n it('handles headers with empty values', () => {\n const result = shellWget.generate({\n url: 'https://example.com',\n headers: [{ name: 'X-Empty', value: '' }],\n })\n\n expect(result).toBe(`wget --quiet \\\\\n --method GET \\\\\n --header 'X-Empty: ' \\\\\n --output-document \\\\\n - https://example.com`)\n })\n\n it('handles query string parameters', () => {\n const result = shellWget.generate({\n url: 'https://example.com/api?param1=value1&param2=special value&param3=123',\n })\n\n expect(result).toBe(`wget --quiet \\\\\n --method GET \\\\\n --output-document \\\\\n - 'https://example.com/api?param1=value1&param2=special%20value&param3=123'`)\n })\n})\n"],
5
- "mappings": "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",
6
- "names": []
7
- }
@@ -1,344 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import { swiftNsurlsession } from "./nsurlsession.js";
3
- describe("swiftNsurlsession", () => {
4
- it("returns a basic request", () => {
5
- const result = swiftNsurlsession.generate({
6
- url: "https://example.com"
7
- });
8
- expect(result).toBe(
9
- `import Foundation
10
-
11
- let request = NSMutableURLRequest(url: NSURL(string: "https://example.com")! as URL,
12
- cachePolicy: .useProtocolCachePolicy,
13
- timeoutInterval: 10.0)
14
- request.httpMethod = "GET"
15
-
16
- let session = URLSession.shared
17
- let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
18
- if (error != nil) {
19
- print(error as Any)
20
- } else {
21
- let httpResponse = response as? HTTPURLResponse
22
- print(httpResponse)
23
- }
24
- })
25
-
26
- dataTask.resume()`
27
- );
28
- });
29
- it("returns a POST request", () => {
30
- const result = swiftNsurlsession.generate({
31
- url: "https://example.com",
32
- method: "post"
33
- });
34
- expect(result).toBe(
35
- `import Foundation
36
-
37
- let request = NSMutableURLRequest(url: NSURL(string: "https://example.com")! as URL,
38
- cachePolicy: .useProtocolCachePolicy,
39
- timeoutInterval: 10.0)
40
- request.httpMethod = "POST"
41
-
42
- let session = URLSession.shared
43
- let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
44
- if (error != nil) {
45
- print(error as Any)
46
- } else {
47
- let httpResponse = response as? HTTPURLResponse
48
- print(httpResponse)
49
- }
50
- })
51
-
52
- dataTask.resume()`
53
- );
54
- });
55
- it("has headers", () => {
56
- const result = swiftNsurlsession.generate({
57
- url: "https://example.com",
58
- headers: [
59
- {
60
- name: "Content-Type",
61
- value: "application/json"
62
- }
63
- ]
64
- });
65
- expect(result).toBe(
66
- `import Foundation
67
-
68
- let headers = ["Content-Type": "application/json"]
69
-
70
- let request = NSMutableURLRequest(url: NSURL(string: "https://example.com")! as URL,
71
- cachePolicy: .useProtocolCachePolicy,
72
- timeoutInterval: 10.0)
73
- request.httpMethod = "GET"
74
- request.allHTTPHeaderFields = headers
75
-
76
- let session = URLSession.shared
77
- let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
78
- if (error != nil) {
79
- print(error as Any)
80
- } else {
81
- let httpResponse = response as? HTTPURLResponse
82
- print(httpResponse)
83
- }
84
- })
85
-
86
- dataTask.resume()`
87
- );
88
- });
89
- it("handles multipart form data with files", () => {
90
- const result = swiftNsurlsession.generate({
91
- url: "https://example.com",
92
- method: "POST",
93
- postData: {
94
- mimeType: "multipart/form-data",
95
- params: [
96
- {
97
- name: "file",
98
- fileName: "test.txt"
99
- },
100
- {
101
- name: "field",
102
- value: "value"
103
- }
104
- ]
105
- }
106
- });
107
- expect(result).toBe(
108
- `import Foundation
109
- let parameters = [
110
- [
111
- "name": "file",
112
- "fileName": "test.txt"
113
- ],
114
- [
115
- "name": "field",
116
- "value": "value"
117
- ]
118
- ]
119
-
120
- let boundary = "undefined"
121
-
122
- var body = ""
123
- var error: NSError? = nil
124
- for param in parameters {
125
- let paramName = param["name"]!
126
- body += "--\\(boundary)\\r\\n"
127
- body += "Content-Disposition:form-data; name=\\"\\(paramName)\\""
128
- if let filename = param["fileName"] {
129
- let contentType = param["content-type"]!
130
- let fileContent = String(contentsOfFile: filename, encoding: String.Encoding.utf8)
131
- if (error != nil) {
132
- print(error as Any)
133
- }
134
- body += "; filename=\\"\\(filename)\\"\\r\\n"
135
- body += "Content-Type: \\(contentType)\\r\\n\\r\\n"
136
- body += fileContent
137
- } else if let paramValue = param["value"] {
138
- body += "\\r\\n\\r\\n\\(paramValue)"
139
- }
140
- }
141
-
142
- let request = NSMutableURLRequest(url: NSURL(string: "https://example.com")! as URL,
143
- cachePolicy: .useProtocolCachePolicy,
144
- timeoutInterval: 10.0)
145
- request.httpMethod = "POST"
146
- request.httpBody = postData as Data
147
-
148
- let session = URLSession.shared
149
- let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
150
- if (error != nil) {
151
- print(error as Any)
152
- } else {
153
- let httpResponse = response as? HTTPURLResponse
154
- print(httpResponse)
155
- }
156
- })
157
-
158
- dataTask.resume()`
159
- );
160
- });
161
- it("handles url-encoded form data with special characters", () => {
162
- const result = swiftNsurlsession.generate({
163
- url: "https://example.com",
164
- method: "POST",
165
- postData: {
166
- mimeType: "application/x-www-form-urlencoded",
167
- params: [
168
- {
169
- name: "special chars!@#",
170
- value: "value"
171
- }
172
- ]
173
- }
174
- });
175
- expect(result).toBe(
176
- `import Foundation
177
-
178
- let postData = NSMutableData(data: "special chars!@#=value".data(using: String.Encoding.utf8)!)
179
-
180
- let request = NSMutableURLRequest(url: NSURL(string: "https://example.com")! as URL,
181
- cachePolicy: .useProtocolCachePolicy,
182
- timeoutInterval: 10.0)
183
- request.httpMethod = "POST"
184
- request.httpBody = postData as Data
185
-
186
- let session = URLSession.shared
187
- let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
188
- if (error != nil) {
189
- print(error as Any)
190
- } else {
191
- let httpResponse = response as? HTTPURLResponse
192
- print(httpResponse)
193
- }
194
- })
195
-
196
- dataTask.resume()`
197
- );
198
- });
199
- it("handles binary data", () => {
200
- const result = swiftNsurlsession.generate({
201
- url: "https://example.com",
202
- method: "POST",
203
- postData: {
204
- mimeType: "application/octet-stream",
205
- text: "binary content"
206
- }
207
- });
208
- expect(result).toBe(
209
- `import Foundation
210
-
211
- let postData = NSData(data: "binary content".data(using: String.Encoding.utf8)!)
212
-
213
- let request = NSMutableURLRequest(url: NSURL(string: "https://example.com")! as URL,
214
- cachePolicy: .useProtocolCachePolicy,
215
- timeoutInterval: 10.0)
216
- request.httpMethod = "POST"
217
- request.httpBody = postData as Data
218
-
219
- let session = URLSession.shared
220
- let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
221
- if (error != nil) {
222
- print(error as Any)
223
- } else {
224
- let httpResponse = response as? HTTPURLResponse
225
- print(httpResponse)
226
- }
227
- })
228
-
229
- dataTask.resume()`
230
- );
231
- });
232
- it("handles special characters in URL", () => {
233
- const result = swiftNsurlsession.generate({
234
- url: "https://example.com/path with spaces/[brackets]"
235
- });
236
- expect(result).toBe(
237
- `import Foundation
238
-
239
- let request = NSMutableURLRequest(url: NSURL(string: "https://example.com/path%20with%20spaces/[brackets]")! as URL,
240
- cachePolicy: .useProtocolCachePolicy,
241
- timeoutInterval: 10.0)
242
- request.httpMethod = "GET"
243
-
244
- let session = URLSession.shared
245
- let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
246
- if (error != nil) {
247
- print(error as Any)
248
- } else {
249
- let httpResponse = response as? HTTPURLResponse
250
- print(httpResponse)
251
- }
252
- })
253
-
254
- dataTask.resume()`
255
- );
256
- });
257
- it("handles multiple headers with same name", () => {
258
- const result = swiftNsurlsession.generate({
259
- url: "https://example.com",
260
- headers: [
261
- { name: "X-Custom", value: "value1" },
262
- { name: "X-Custom", value: "value2" }
263
- ]
264
- });
265
- expect(result).toBe(
266
- `import Foundation
267
-
268
- let headers = ["X-Custom": "value2"]
269
-
270
- let request = NSMutableURLRequest(url: NSURL(string: "https://example.com")! as URL,
271
- cachePolicy: .useProtocolCachePolicy,
272
- timeoutInterval: 10.0)
273
- request.httpMethod = "GET"
274
- request.allHTTPHeaderFields = headers
275
-
276
- let session = URLSession.shared
277
- let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
278
- if (error != nil) {
279
- print(error as Any)
280
- } else {
281
- let httpResponse = response as? HTTPURLResponse
282
- print(httpResponse)
283
- }
284
- })
285
-
286
- dataTask.resume()`
287
- );
288
- });
289
- it("handles headers with empty values", () => {
290
- const result = swiftNsurlsession.generate({
291
- url: "https://example.com",
292
- headers: [{ name: "X-Empty", value: "" }]
293
- });
294
- expect(result).toBe(
295
- `import Foundation
296
-
297
- let headers = ["X-Empty": ""]
298
-
299
- let request = NSMutableURLRequest(url: NSURL(string: "https://example.com")! as URL,
300
- cachePolicy: .useProtocolCachePolicy,
301
- timeoutInterval: 10.0)
302
- request.httpMethod = "GET"
303
- request.allHTTPHeaderFields = headers
304
-
305
- let session = URLSession.shared
306
- let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
307
- if (error != nil) {
308
- print(error as Any)
309
- } else {
310
- let httpResponse = response as? HTTPURLResponse
311
- print(httpResponse)
312
- }
313
- })
314
-
315
- dataTask.resume()`
316
- );
317
- });
318
- it("handles query string parameters", () => {
319
- const result = swiftNsurlsession.generate({
320
- url: "https://example.com/api?param1=value1&param2=special value&param3=123"
321
- });
322
- expect(result).toBe(
323
- `import Foundation
324
-
325
- let request = NSMutableURLRequest(url: NSURL(string: "https://example.com/api?param1=value1&param2=special%20value&param3=123")! as URL,
326
- cachePolicy: .useProtocolCachePolicy,
327
- timeoutInterval: 10.0)
328
- request.httpMethod = "GET"
329
-
330
- let session = URLSession.shared
331
- let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
332
- if (error != nil) {
333
- print(error as Any)
334
- } else {
335
- let httpResponse = response as? HTTPURLResponse
336
- print(httpResponse)
337
- }
338
- })
339
-
340
- dataTask.resume()`
341
- );
342
- });
343
- });
344
- //# sourceMappingURL=nsurlsession.test.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../src/plugins/swift/nsurlsession/nsurlsession.test.ts"],
4
- "sourcesContent": ["import { describe, expect, it } from 'vitest'\n\nimport { swiftNsurlsession } from './nsurlsession'\n\ndescribe('swiftNsurlsession', () => {\n it('returns a basic request', () => {\n const result = swiftNsurlsession.generate({\n url: 'https://example.com',\n })\n\n expect(result).toBe(\n `import Foundation\n\nlet request = NSMutableURLRequest(url: NSURL(string: \"https://example.com\")! as URL,\n cachePolicy: .useProtocolCachePolicy,\n timeoutInterval: 10.0)\nrequest.httpMethod = \"GET\"\n\nlet session = URLSession.shared\nlet dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in\n if (error != nil) {\n print(error as Any)\n } else {\n let httpResponse = response as? HTTPURLResponse\n print(httpResponse)\n }\n})\n\ndataTask.resume()`,\n )\n })\n\n it('returns a POST request', () => {\n const result = swiftNsurlsession.generate({\n url: 'https://example.com',\n method: 'post',\n })\n\n expect(result).toBe(\n `import Foundation\n\nlet request = NSMutableURLRequest(url: NSURL(string: \"https://example.com\")! as URL,\n cachePolicy: .useProtocolCachePolicy,\n timeoutInterval: 10.0)\nrequest.httpMethod = \"POST\"\n\nlet session = URLSession.shared\nlet dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in\n if (error != nil) {\n print(error as Any)\n } else {\n let httpResponse = response as? HTTPURLResponse\n print(httpResponse)\n }\n})\n\ndataTask.resume()`,\n )\n })\n\n it('has headers', () => {\n const result = swiftNsurlsession.generate({\n url: 'https://example.com',\n headers: [\n {\n name: 'Content-Type',\n value: 'application/json',\n },\n ],\n })\n expect(result).toBe(\n `import Foundation\n\nlet headers = [\"Content-Type\": \"application/json\"]\n\nlet request = NSMutableURLRequest(url: NSURL(string: \"https://example.com\")! as URL,\n cachePolicy: .useProtocolCachePolicy,\n timeoutInterval: 10.0)\nrequest.httpMethod = \"GET\"\nrequest.allHTTPHeaderFields = headers\n\nlet session = URLSession.shared\nlet dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in\n if (error != nil) {\n print(error as Any)\n } else {\n let httpResponse = response as? HTTPURLResponse\n print(httpResponse)\n }\n})\n\ndataTask.resume()`,\n )\n })\n\n it('handles multipart form data with files', () => {\n const result = swiftNsurlsession.generate({\n url: 'https://example.com',\n method: 'POST',\n postData: {\n mimeType: 'multipart/form-data',\n params: [\n {\n name: 'file',\n fileName: 'test.txt',\n },\n {\n name: 'field',\n value: 'value',\n },\n ],\n },\n })\n\n expect(result).toBe(\n `import Foundation\nlet parameters = [\n [\n \"name\": \"file\",\n \"fileName\": \"test.txt\"\n ],\n [\n \"name\": \"field\",\n \"value\": \"value\"\n ]\n]\n\nlet boundary = \"undefined\"\n\nvar body = \"\"\nvar error: NSError? = nil\nfor param in parameters {\n let paramName = param[\"name\"]!\n body += \"--\\\\(boundary)\\\\r\\\\n\"\n body += \"Content-Disposition:form-data; name=\\\\\"\\\\(paramName)\\\\\"\"\n if let filename = param[\"fileName\"] {\n let contentType = param[\"content-type\"]!\n let fileContent = String(contentsOfFile: filename, encoding: String.Encoding.utf8)\n if (error != nil) {\n print(error as Any)\n }\n body += \"; filename=\\\\\"\\\\(filename)\\\\\"\\\\r\\\\n\"\n body += \"Content-Type: \\\\(contentType)\\\\r\\\\n\\\\r\\\\n\"\n body += fileContent\n } else if let paramValue = param[\"value\"] {\n body += \"\\\\r\\\\n\\\\r\\\\n\\\\(paramValue)\"\n }\n}\n\nlet request = NSMutableURLRequest(url: NSURL(string: \"https://example.com\")! as URL,\n cachePolicy: .useProtocolCachePolicy,\n timeoutInterval: 10.0)\nrequest.httpMethod = \"POST\"\nrequest.httpBody = postData as Data\n\nlet session = URLSession.shared\nlet dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in\n if (error != nil) {\n print(error as Any)\n } else {\n let httpResponse = response as? HTTPURLResponse\n print(httpResponse)\n }\n})\n\ndataTask.resume()`,\n )\n })\n\n it('handles url-encoded form data with special characters', () => {\n const result = swiftNsurlsession.generate({\n url: 'https://example.com',\n method: 'POST',\n postData: {\n mimeType: 'application/x-www-form-urlencoded',\n params: [\n {\n name: 'special chars!@#',\n value: 'value',\n },\n ],\n },\n })\n\n expect(result).toBe(\n `import Foundation\n\nlet postData = NSMutableData(data: \"special chars!@#=value\".data(using: String.Encoding.utf8)!)\n\nlet request = NSMutableURLRequest(url: NSURL(string: \"https://example.com\")! as URL,\n cachePolicy: .useProtocolCachePolicy,\n timeoutInterval: 10.0)\nrequest.httpMethod = \"POST\"\nrequest.httpBody = postData as Data\n\nlet session = URLSession.shared\nlet dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in\n if (error != nil) {\n print(error as Any)\n } else {\n let httpResponse = response as? HTTPURLResponse\n print(httpResponse)\n }\n})\n\ndataTask.resume()`,\n )\n })\n\n it('handles binary data', () => {\n const result = swiftNsurlsession.generate({\n url: 'https://example.com',\n method: 'POST',\n postData: {\n mimeType: 'application/octet-stream',\n text: 'binary content',\n },\n })\n\n expect(result).toBe(\n `import Foundation\n\nlet postData = NSData(data: \"binary content\".data(using: String.Encoding.utf8)!)\n\nlet request = NSMutableURLRequest(url: NSURL(string: \"https://example.com\")! as URL,\n cachePolicy: .useProtocolCachePolicy,\n timeoutInterval: 10.0)\nrequest.httpMethod = \"POST\"\nrequest.httpBody = postData as Data\n\nlet session = URLSession.shared\nlet dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in\n if (error != nil) {\n print(error as Any)\n } else {\n let httpResponse = response as? HTTPURLResponse\n print(httpResponse)\n }\n})\n\ndataTask.resume()`,\n )\n })\n\n it('handles special characters in URL', () => {\n const result = swiftNsurlsession.generate({\n url: 'https://example.com/path with spaces/[brackets]',\n })\n\n expect(result).toBe(\n `import Foundation\n\nlet request = NSMutableURLRequest(url: NSURL(string: \"https://example.com/path%20with%20spaces/[brackets]\")! as URL,\n cachePolicy: .useProtocolCachePolicy,\n timeoutInterval: 10.0)\nrequest.httpMethod = \"GET\"\n\nlet session = URLSession.shared\nlet dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in\n if (error != nil) {\n print(error as Any)\n } else {\n let httpResponse = response as? HTTPURLResponse\n print(httpResponse)\n }\n})\n\ndataTask.resume()`,\n )\n })\n\n it('handles multiple headers with same name', () => {\n const result = swiftNsurlsession.generate({\n url: 'https://example.com',\n headers: [\n { name: 'X-Custom', value: 'value1' },\n { name: 'X-Custom', value: 'value2' },\n ],\n })\n\n expect(result).toBe(\n `import Foundation\n\nlet headers = [\"X-Custom\": \"value2\"]\n\nlet request = NSMutableURLRequest(url: NSURL(string: \"https://example.com\")! as URL,\n cachePolicy: .useProtocolCachePolicy,\n timeoutInterval: 10.0)\nrequest.httpMethod = \"GET\"\nrequest.allHTTPHeaderFields = headers\n\nlet session = URLSession.shared\nlet dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in\n if (error != nil) {\n print(error as Any)\n } else {\n let httpResponse = response as? HTTPURLResponse\n print(httpResponse)\n }\n})\n\ndataTask.resume()`,\n )\n })\n\n it('handles headers with empty values', () => {\n const result = swiftNsurlsession.generate({\n url: 'https://example.com',\n headers: [{ name: 'X-Empty', value: '' }],\n })\n\n expect(result).toBe(\n `import Foundation\n\nlet headers = [\"X-Empty\": \"\"]\n\nlet request = NSMutableURLRequest(url: NSURL(string: \"https://example.com\")! as URL,\n cachePolicy: .useProtocolCachePolicy,\n timeoutInterval: 10.0)\nrequest.httpMethod = \"GET\"\nrequest.allHTTPHeaderFields = headers\n\nlet session = URLSession.shared\nlet dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in\n if (error != nil) {\n print(error as Any)\n } else {\n let httpResponse = response as? HTTPURLResponse\n print(httpResponse)\n }\n})\n\ndataTask.resume()`,\n )\n })\n\n it('handles query string parameters', () => {\n const result = swiftNsurlsession.generate({\n url: 'https://example.com/api?param1=value1&param2=special value&param3=123',\n })\n\n expect(result).toBe(\n `import Foundation\n\nlet request = NSMutableURLRequest(url: NSURL(string: \"https://example.com/api?param1=value1&param2=special%20value&param3=123\")! as URL,\n cachePolicy: .useProtocolCachePolicy,\n timeoutInterval: 10.0)\nrequest.httpMethod = \"GET\"\n\nlet session = URLSession.shared\nlet dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in\n if (error != nil) {\n print(error as Any)\n } else {\n let httpResponse = response as? HTTPURLResponse\n print(httpResponse)\n }\n})\n\ndataTask.resume()`,\n )\n })\n})\n"],
5
- "mappings": "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",
6
- "names": []
7
- }
@@ -1,79 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import { snippetz } from "./snippetz.js";
3
- describe("snippetz", async () => {
4
- it("returns code for undici", async () => {
5
- const snippet = snippetz().print("node", "undici", {
6
- url: "https://example.com"
7
- });
8
- expect(snippet).toBe(`import { request } from 'undici'
9
-
10
- const { statusCode, body } = await request('https://example.com')`);
11
- });
12
- it("loads some clients by default", async () => {
13
- expect(snippetz().clients()).toEqual(
14
- expect.arrayContaining([
15
- {
16
- key: "node",
17
- title: "Node.js",
18
- default: "fetch",
19
- clients: expect.arrayContaining([
20
- expect.objectContaining({
21
- client: "undici"
22
- }),
23
- expect.objectContaining({
24
- client: "fetch"
25
- })
26
- ])
27
- },
28
- {
29
- key: "shell",
30
- title: "Shell",
31
- default: "curl",
32
- clients: expect.arrayContaining([
33
- expect.objectContaining({
34
- client: "curl"
35
- }),
36
- expect.objectContaining({
37
- client: "wget"
38
- }),
39
- expect.objectContaining({
40
- client: "httpie"
41
- })
42
- ])
43
- }
44
- ])
45
- );
46
- });
47
- });
48
- describe("plugins", async () => {
49
- it("returns true if it has the plugin", async () => {
50
- const result = snippetz().plugins();
51
- expect(result).toEqual(
52
- expect.arrayContaining([
53
- {
54
- target: "node",
55
- client: "undici"
56
- },
57
- {
58
- target: "node",
59
- client: "fetch"
60
- },
61
- {
62
- target: "shell",
63
- client: "curl"
64
- }
65
- ])
66
- );
67
- });
68
- });
69
- describe("hasPlugin", async () => {
70
- it("returns true if it has the plugin", async () => {
71
- const result = snippetz().hasPlugin("node", "undici");
72
- expect(result).toBe(true);
73
- });
74
- it("returns false if it doesn\u2019t know the plugin", async () => {
75
- const result = snippetz().hasPlugin("node", "fantasy");
76
- expect(result).toBe(false);
77
- });
78
- });
79
- //# sourceMappingURL=snippetz.test.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/snippetz.test.ts"],
4
- "sourcesContent": ["import { describe, expect, it } from 'vitest'\n\nimport { snippetz } from './snippetz'\n\ndescribe('snippetz', async () => {\n it('returns code for undici', async () => {\n const snippet = snippetz().print('node', 'undici', {\n url: 'https://example.com',\n })\n\n expect(snippet).toBe(`import { request } from 'undici'\n\nconst { statusCode, body } = await request('https://example.com')`)\n })\n\n it('loads some clients by default', async () => {\n expect(snippetz().clients()).toEqual(\n expect.arrayContaining([\n {\n key: 'node',\n title: 'Node.js',\n default: 'fetch',\n clients: expect.arrayContaining([\n expect.objectContaining({\n client: 'undici',\n }),\n expect.objectContaining({\n client: 'fetch',\n }),\n ]),\n },\n {\n key: 'shell',\n title: 'Shell',\n default: 'curl',\n clients: expect.arrayContaining([\n expect.objectContaining({\n client: 'curl',\n }),\n expect.objectContaining({\n client: 'wget',\n }),\n expect.objectContaining({\n client: 'httpie',\n }),\n ]),\n },\n ]),\n )\n })\n})\n\ndescribe('plugins', async () => {\n it('returns true if it has the plugin', async () => {\n const result = snippetz().plugins()\n\n expect(result).toEqual(\n expect.arrayContaining([\n {\n target: 'node',\n client: 'undici',\n },\n {\n target: 'node',\n client: 'fetch',\n },\n {\n target: 'shell',\n client: 'curl',\n },\n ]),\n )\n })\n})\n\ndescribe('hasPlugin', async () => {\n it('returns true if it has the plugin', async () => {\n const result = snippetz().hasPlugin('node', 'undici')\n\n expect(result).toBe(true)\n })\n\n it('returns false if it doesn\u2019t know the plugin', async () => {\n const result = snippetz().hasPlugin('node', 'fantasy')\n\n expect(result).toBe(false)\n })\n})\n"],
5
- "mappings": "AAAA,SAAS,UAAU,QAAQ,UAAU;AAErC,SAAS,gBAAgB;AAEzB,SAAS,YAAY,YAAY;AAC/B,KAAG,2BAA2B,YAAY;AACxC,UAAM,UAAU,SAAS,EAAE,MAAM,QAAQ,UAAU;AAAA,MACjD,KAAK;AAAA,IACP,CAAC;AAED,WAAO,OAAO,EAAE,KAAK;AAAA;AAAA,kEAEyC;AAAA,EAChE,CAAC;AAED,KAAG,iCAAiC,YAAY;AAC9C,WAAO,SAAS,EAAE,QAAQ,CAAC,EAAE;AAAA,MAC3B,OAAO,gBAAgB;AAAA,QACrB;AAAA,UACE,KAAK;AAAA,UACL,OAAO;AAAA,UACP,SAAS;AAAA,UACT,SAAS,OAAO,gBAAgB;AAAA,YAC9B,OAAO,iBAAiB;AAAA,cACtB,QAAQ;AAAA,YACV,CAAC;AAAA,YACD,OAAO,iBAAiB;AAAA,cACtB,QAAQ;AAAA,YACV,CAAC;AAAA,UACH,CAAC;AAAA,QACH;AAAA,QACA;AAAA,UACE,KAAK;AAAA,UACL,OAAO;AAAA,UACP,SAAS;AAAA,UACT,SAAS,OAAO,gBAAgB;AAAA,YAC9B,OAAO,iBAAiB;AAAA,cACtB,QAAQ;AAAA,YACV,CAAC;AAAA,YACD,OAAO,iBAAiB;AAAA,cACtB,QAAQ;AAAA,YACV,CAAC;AAAA,YACD,OAAO,iBAAiB;AAAA,cACtB,QAAQ;AAAA,YACV,CAAC;AAAA,UACH,CAAC;AAAA,QACH;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF,CAAC;AACH,CAAC;AAED,SAAS,WAAW,YAAY;AAC9B,KAAG,qCAAqC,YAAY;AAClD,UAAM,SAAS,SAAS,EAAE,QAAQ;AAElC,WAAO,MAAM,EAAE;AAAA,MACb,OAAO,gBAAgB;AAAA,QACrB;AAAA,UACE,QAAQ;AAAA,UACR,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,QAAQ;AAAA,UACR,QAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,QAAQ;AAAA,UACR,QAAQ;AAAA,QACV;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF,CAAC;AACH,CAAC;AAED,SAAS,aAAa,YAAY;AAChC,KAAG,qCAAqC,YAAY;AAClD,UAAM,SAAS,SAAS,EAAE,UAAU,QAAQ,QAAQ;AAEpD,WAAO,MAAM,EAAE,KAAK,IAAI;AAAA,EAC1B,CAAC;AAED,KAAG,oDAA+C,YAAY;AAC5D,UAAM,SAAS,SAAS,EAAE,UAAU,QAAQ,SAAS;AAErD,WAAO,MAAM,EAAE,KAAK,KAAK;AAAA,EAC3B,CAAC;AACH,CAAC;",
6
- "names": []
7
- }
@@ -1,8 +0,0 @@
1
- /**
2
- * Converts an array of name/value pairs into an object with those mappings
3
- *
4
- * @example
5
- * arrayToObject([{ name: 'foo', value: 'bar' }]) // => { foo: 'bar' }
6
- */
7
- export declare function arrayToObject(items: any): any;
8
- //# sourceMappingURL=arrayToObject.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"arrayToObject.d.ts","sourceRoot":"","sources":["../../src/utils/arrayToObject.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,GAAG,OAKvC"}
@@ -1,10 +0,0 @@
1
- function arrayToObject(items) {
2
- return items.reduce((acc, item) => {
3
- acc[item.name] = item.value;
4
- return acc;
5
- }, {});
6
- }
7
- export {
8
- arrayToObject
9
- };
10
- //# sourceMappingURL=arrayToObject.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/utils/arrayToObject.ts"],
4
- "sourcesContent": ["/**\n * Converts an array of name/value pairs into an object with those mappings\n *\n * @example\n * arrayToObject([{ name: 'foo', value: 'bar' }]) // => { foo: 'bar' }\n */\nexport function arrayToObject(items: any) {\n return items.reduce((acc: any, item: any) => {\n acc[item.name] = item.value\n return acc\n }, {})\n}\n"],
5
- "mappings": "AAMO,SAAS,cAAc,OAAY;AACxC,SAAO,MAAM,OAAO,CAAC,KAAU,SAAc;AAC3C,QAAI,KAAK,IAAI,IAAI,KAAK;AACtB,WAAO;AAAA,EACT,GAAG,CAAC,CAAC;AACP;",
6
- "names": []
7
- }