vue-api-request-builder 0.2.1 → 0.2.4

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 (97) hide show
  1. package/README.md +1 -21
  2. package/dist/abap-D0Neqhq6.js +1404 -0
  3. package/dist/apex-B5LhxkeG.js +332 -0
  4. package/dist/assets/css.worker-DNgQEC96.js +84 -0
  5. package/dist/assets/editor.worker-BKD3YLiN.js +12 -0
  6. package/dist/assets/html.worker-B7xpmB-M.js +461 -0
  7. package/dist/assets/json.worker-td2JV8fN.js +49 -0
  8. package/dist/assets/ts.worker-CqZGdM85.js +51334 -0
  9. package/dist/azcli-BrBH0QTU.js +74 -0
  10. package/dist/bat-BfzAov64.js +106 -0
  11. package/dist/bicep-C3bCSWel.js +108 -0
  12. package/dist/cameligo-sFL5plcd.js +180 -0
  13. package/dist/clojure-CfeExRz0.js +767 -0
  14. package/dist/coffee-Xws5K0WL.js +238 -0
  15. package/dist/cpp-CqOUEpxN.js +395 -0
  16. package/dist/csharp-DVLiBOZb.js +332 -0
  17. package/dist/csp-DVFp9bw5.js +59 -0
  18. package/dist/css-DwARn2R6.js +193 -0
  19. package/dist/cssMode-D58CHn54.js +1577 -0
  20. package/dist/cypher-uY0Mffat.js +269 -0
  21. package/dist/dart-D27H-mX_.js +287 -0
  22. package/dist/dockerfile-CmV85WZK.js +136 -0
  23. package/dist/ecl--fKn7yzB.js +462 -0
  24. package/dist/elixir-DUhH17ON.js +575 -0
  25. package/dist/flow9-B3Dx2LLe.js +148 -0
  26. package/dist/freemarker2-w_cDNZsU.js +995 -0
  27. package/dist/fsharp-SyqBfUAR.js +223 -0
  28. package/dist/go-BbMR2tdT.js +224 -0
  29. package/dist/graphql-DDJE6tIl.js +157 -0
  30. package/dist/handlebars-CCg0iZRc.js +425 -0
  31. package/dist/hcl-YBvpaUqf.js +189 -0
  32. package/dist/html-DbOHkprv.js +314 -0
  33. package/dist/htmlMode-DXGBRJTk.js +1587 -0
  34. package/dist/index-BXm0ary_.js +113063 -0
  35. package/dist/index.css +1 -1
  36. package/dist/index.d.ts +30 -0
  37. package/dist/index.es.js +10 -756
  38. package/dist/index.umd.js +1923 -5
  39. package/dist/ini-Ct73dBtM.js +77 -0
  40. package/dist/java-C_jlkwoG.js +238 -0
  41. package/dist/javascript-Oxy1_vKh.js +76 -0
  42. package/dist/jsonMode-BkQ19i9r.js +2002 -0
  43. package/dist/julia-D8WE5U1e.js +517 -0
  44. package/dist/kotlin-Zy9aq5yB.js +259 -0
  45. package/dist/less-sZ0iHtE8.js +168 -0
  46. package/dist/lexon-CsdNL29A.js +163 -0
  47. package/dist/liquid-DcYHk_7H.js +246 -0
  48. package/dist/lua-C2YJo0zw.js +168 -0
  49. package/dist/m3-CPLP40SG.js +216 -0
  50. package/dist/markdown-B1mf5e0R.js +235 -0
  51. package/dist/mdx-CLwtO6U4.js +171 -0
  52. package/dist/mips-DA33BZX1.js +204 -0
  53. package/dist/msdax-CCYFIQsP.js +381 -0
  54. package/dist/mysql-hjmIjL-D.js +884 -0
  55. package/dist/objective-c-RRCpEmqC.js +189 -0
  56. package/dist/pascal-CeV8XfxB.js +257 -0
  57. package/dist/pascaligo-IEEGVJAJ.js +170 -0
  58. package/dist/perl-B5-QbHq_.js +632 -0
  59. package/dist/pgsql-s6kqEJmi.js +857 -0
  60. package/dist/php-CWWqzOo8.js +506 -0
  61. package/dist/pla-FSvb_YP_.js +143 -0
  62. package/dist/postiats-DQdscQXO.js +913 -0
  63. package/dist/powerquery-CtA5JA1I.js +896 -0
  64. package/dist/powershell-DglEq96N.js +245 -0
  65. package/dist/protobuf-BSepub3e.js +426 -0
  66. package/dist/pug-B1847F4G.js +408 -0
  67. package/dist/python-sbo77_2a.js +307 -0
  68. package/dist/qsharp-D4i0Nqg9.js +307 -0
  69. package/dist/r-cdRigKxa.js +249 -0
  70. package/dist/razor-BJPyxG4u.js +556 -0
  71. package/dist/redis-D9MFxvE8.js +308 -0
  72. package/dist/redshift-CmCnsvL-.js +815 -0
  73. package/dist/restructuredtext-CWy8J51t.js +180 -0
  74. package/dist/ruby-WP-c36m5.js +517 -0
  75. package/dist/rust-Q9FLdYpu.js +349 -0
  76. package/dist/sb-C54-JBGT.js +121 -0
  77. package/dist/scala-CzbFImc5.js +376 -0
  78. package/dist/scheme-BhfDmYN3.js +114 -0
  79. package/dist/scss-CEmiBXpS.js +268 -0
  80. package/dist/shell-Bmc1VhG0.js +227 -0
  81. package/dist/solidity-C9Q2I8Hh.js +1373 -0
  82. package/dist/sophia-jWa1UyKz.js +205 -0
  83. package/dist/sparql-CM7jctbc.js +207 -0
  84. package/dist/sql-WzihTkbg.js +859 -0
  85. package/dist/st-6y7_3aup.js +422 -0
  86. package/dist/swift-k-0zxG_D.js +318 -0
  87. package/dist/systemverilog-Pnr5_rIP.js +582 -0
  88. package/dist/tcl-fNPXval8.js +238 -0
  89. package/dist/tsMode-DfW25lTY.js +895 -0
  90. package/dist/twig-L2MkztkV.js +398 -0
  91. package/dist/typescript-Bjg5kaqB.js +349 -0
  92. package/dist/typespec-Cqqo-3Pt.js +123 -0
  93. package/dist/vb-B5YC2xN9.js +378 -0
  94. package/dist/wgsl-B-_uRex7.js +445 -0
  95. package/dist/xml-BZwuIq27.js +101 -0
  96. package/dist/yaml-C01XJ7rX.js +212 -0
  97. package/package.json +9 -3
package/dist/index.es.js CHANGED
@@ -1,758 +1,12 @@
1
- import { defineComponent as H, ref as w, watch as C, resolveComponent as c, createElementBlock as $, openBlock as _, createElementVNode as p, createCommentVNode as R, createBlock as O, createVNode as s, withCtx as r, createTextVNode as b, toDisplayString as z, Fragment as F, renderList as K, computed as J } from "vue";
2
- const le = { class: "key-value-input flex flex-col gap-1" }, se = { class: "flex gap-2" }, ne = {
3
- key: 0,
4
- class: "flex flex-col gap-1"
5
- }, ue = { class: "flex w-full gap-1 items-center" }, re = /* @__PURE__ */ H({
6
- __name: "KeyValueInput",
7
- props: {
8
- modelValue: {},
9
- addButtonText: { default: "添加参数" },
10
- showPreview: { type: Boolean, default: !1 },
11
- previewText: { default: "" }
12
- },
13
- emits: ["update:modelValue"],
14
- setup(a, { emit: g }) {
15
- const d = a, o = g, n = w(d.modelValue);
16
- C(
17
- () => d.modelValue,
18
- (u) => {
19
- n.value = u;
20
- }
21
- ), C(
22
- n,
23
- (u) => {
24
- o("update:modelValue", u);
25
- },
26
- { deep: !0 }
27
- );
28
- const y = () => {
29
- n.value.push({ key: "", value: "" });
30
- }, l = (u) => {
31
- n.value.splice(u, 1);
32
- }, f = () => {
33
- n.value = [];
34
- };
35
- return (u, t) => {
36
- const v = c("a-button"), x = c("a-popconfirm"), j = c("a-input"), B = c("a-typography-paragraph"), U = c("a-typography");
37
- return _(), $("div", le, [
38
- p("div", se, [
39
- s(v, {
40
- type: "primary",
41
- onClick: y,
42
- class: "w-40 max-w-full",
43
- size: "small"
44
- }, {
45
- default: r(() => [
46
- b(z(u.addButtonText), 1)
47
- ]),
48
- _: 1
49
- }),
50
- s(x, {
51
- title: "确认清空",
52
- description: "确定要清空所有参数吗?",
53
- "ok-text": "确认",
54
- "cancel-text": "取消",
55
- onConfirm: f
56
- }, {
57
- default: r(() => [
58
- s(v, {
59
- type: "primary",
60
- danger: "",
61
- class: "w-40 max-w-full",
62
- size: "small",
63
- disabled: n.value.length === 0
64
- }, {
65
- default: r(() => t[0] || (t[0] = [
66
- b(" 清空 ")
67
- ])),
68
- _: 1
69
- }, 8, ["disabled"])
70
- ]),
71
- _: 1
72
- })
73
- ]),
74
- n.value.length > 0 ? (_(), $("div", ne, [
75
- (_(!0), $(F, null, K(n.value, (k, S) => (_(), $("div", {
76
- key: S,
77
- class: "flex"
78
- }, [
79
- p("div", ue, [
80
- s(v, {
81
- type: "primary",
82
- danger: "",
83
- onClick: (h) => l(S),
84
- class: "w-16",
85
- size: "small"
86
- }, {
87
- default: r(() => t[1] || (t[1] = [
88
- b(" 删除 ")
89
- ])),
90
- _: 2
91
- }, 1032, ["onClick"]),
92
- s(j, {
93
- value: k.key,
94
- "onUpdate:value": (h) => k.key = h,
95
- placeholder: "键",
96
- style: { width: "60%" },
97
- size: "small"
98
- }, null, 8, ["value", "onUpdate:value"]),
99
- s(j, {
100
- value: k.value,
101
- "onUpdate:value": (h) => k.value = h,
102
- placeholder: "值",
103
- style: { width: "100%" },
104
- size: "small"
105
- }, null, 8, ["value", "onUpdate:value"])
106
- ])
107
- ]))), 128))
108
- ])) : R("", !0),
109
- u.showPreview ? (_(), O(U, {
110
- key: 1,
111
- class: "m-0"
112
- }, {
113
- default: r(() => [
114
- s(B, { class: "!m-0" }, {
115
- default: r(() => [
116
- p("pre", null, z(u.previewText), 1)
117
- ]),
118
- _: 1
119
- })
120
- ]),
121
- _: 1
122
- })) : R("", !0)
123
- ]);
124
- };
125
- }
126
- }), M = (a, g) => {
127
- const d = a.__vccOpts || a;
128
- for (const [o, n] of g)
129
- d[o] = n;
130
- return d;
131
- }, L = /* @__PURE__ */ M(re, [["__scopeId", "data-v-1e5ef051"]]), de = {
132
- method: "GET",
133
- url: "https://yesno.wtf",
134
- path: "/api",
135
- auth: {
136
- type: "none"
137
- },
138
- params: [],
139
- headers: [],
140
- body: {
141
- type: "application/json"
142
- }
143
- }, ie = { class: "request-form" }, pe = { class: "flex flex-col gap-1" }, ve = { class: "flex flex-row gap-1" }, me = { class: "flex flex-row gap-1" }, fe = { class: "mt-1" }, ce = {
144
- key: 0,
145
- class: "flex flex-col gap-1 mt-2"
146
- }, ye = { class: "flex flex-row gap-1 h-6" }, _e = { class: "flex flex-row gap-1" }, be = {
147
- key: 1,
148
- class: "flex flex-col gap-1 mt-1"
149
- }, xe = { class: "flex flex-row gap-1 items-center" }, we = /* @__PURE__ */ H({
150
- __name: "RequestForm",
151
- props: {
152
- modelValue: { default: () => de }
153
- },
154
- emits: ["update:modelValue"],
155
- setup(a, { emit: g }) {
156
- const d = a, o = g, n = w(d.modelValue.method), y = w(d.modelValue.url), l = w(d.modelValue.auth.type), f = w(d.modelValue.path), u = w(d.modelValue.auth.username || ""), t = w(d.modelValue.auth.password || ""), v = w(d.modelValue.auth.token || ""), x = w(d.modelValue.params), j = w(d.modelValue.headers), B = w(d.modelValue.body.formData || []), U = w(d.modelValue.body.type), k = w(d.modelValue.body.json || ""), S = w(d.modelValue.body.raw || ""), h = w("");
157
- function N(i, e) {
158
- let T;
159
- return function(...E) {
160
- clearTimeout(T), T = setTimeout(() => i.apply(this, E), e);
161
- };
162
- }
163
- const A = () => ({
164
- method: n.value,
165
- url: y.value,
166
- path: f.value,
167
- auth: {
168
- type: l.value,
169
- ...l.value === "Basic" ? {
170
- username: u.value,
171
- password: t.value
172
- } : l.value === "Bearer" ? {
173
- token: v.value
174
- } : {}
175
- },
176
- params: x.value,
177
- headers: j.value,
178
- body: {
179
- type: U.value,
180
- ...U.value === "application/json" ? { json: k.value } : U.value === "multipart/form-data" ? { formData: B.value } : { raw: S.value }
181
- }
182
- }), W = N(() => {
183
- o("update:modelValue", A());
184
- }, 100);
185
- C(
186
- [
187
- n,
188
- y,
189
- f,
190
- l,
191
- u,
192
- t,
193
- v,
194
- x,
195
- j,
196
- U,
197
- B,
198
- k,
199
- S
200
- ],
201
- () => {
202
- W();
203
- },
204
- { deep: !0 }
205
- ), C(
206
- () => d.modelValue,
207
- (i) => {
208
- const e = A();
209
- JSON.stringify(i) !== JSON.stringify(e) && (n.value = i.method, y.value = i.url, f.value = i.path, l.value = i.auth.type, u.value = i.auth.username || "", t.value = i.auth.password || "", v.value = i.auth.token || "", x.value = i.params, j.value = i.headers, U.value = i.body.type, B.value = i.body.formData || [], k.value = i.body.json || "", S.value = i.body.raw || "");
210
- },
211
- { deep: !0 }
212
- );
213
- const X = J(() => {
214
- const i = x.value.filter((e) => !!e.key).map((e) => e.key + "=" + encodeURIComponent(e.value)).join("&");
215
- return i === "" ? "" : "?" + i;
216
- }), Q = J(() => {
217
- switch (U.value) {
218
- case "application/json":
219
- try {
220
- return k.value ? JSON.stringify(JSON.parse(k.value), null, 2) : "-空-";
221
- } catch {
222
- return "Invalid JSON";
223
- }
224
- case "multipart/form-data":
225
- const i = "----WebKitFormBoundaryPreview";
226
- return B.value.filter((T) => !!T.key).map(
227
- (T) => `--${i}\r
228
- Content-Disposition: form-data; name="${T.key}"\r
229
- \r
230
- ${T.value}\r
231
- `
232
- ).join("") + `--${i}--\r
233
- `;
234
- case "text/plain":
235
- return S.value || "-空-";
236
- default:
237
- return "-空-";
238
- }
239
- }), Y = () => {
240
- try {
241
- k.value && (JSON.parse(k.value), h.value = "");
242
- } catch {
243
- h.value = "Invalid JSON format";
244
- }
245
- }, Z = () => {
246
- try {
247
- const i = y.value, e = new URL(i);
248
- y.value = `${e.protocol}//${e.host}`, f.value = e.pathname;
249
- const T = new URLSearchParams(e.search), E = [];
250
- T.forEach((V, D) => {
251
- E.push({ key: D, value: V });
252
- }), x.value = E;
253
- } catch (i) {
254
- console.error("URL解析失败:", i);
255
- }
256
- }, ee = J(() => {
257
- if (!y.value) return !1;
258
- try {
259
- const i = y.value, e = new URL(i);
260
- return e.search !== "" || e.pathname !== "/";
261
- } catch {
262
- return !1;
263
- }
264
- });
265
- return (i, e) => {
266
- const T = c("a-input"), E = c("a-button"), V = c("a-select-option"), D = c("a-select"), P = c("a-card"), q = c("a-radio-button"), G = c("a-radio-group"), te = c("a-input-password"), I = c("a-textarea"), ae = c("a-alert"), oe = c("a-form");
267
- return _(), $("div", ie, [
268
- s(oe, { layout: "vertical" }, {
269
- default: r(() => [
270
- s(P, {
271
- title: "URL配置",
272
- class: "form-section",
273
- size: "small"
274
- }, {
275
- default: r(() => [
276
- p("div", pe, [
277
- p("div", ve, [
278
- s(T, {
279
- value: y.value,
280
- "onUpdate:value": e[0] || (e[0] = (m) => y.value = m),
281
- placeholder: "基础URL",
282
- size: "small"
283
- }, null, 8, ["value"]),
284
- ee.value ? (_(), O(E, {
285
- key: 0,
286
- type: "primary",
287
- size: "small",
288
- onClick: Z
289
- }, {
290
- default: r(() => e[13] || (e[13] = [
291
- b("拆解")
292
- ])),
293
- _: 1
294
- })) : R("", !0)
295
- ]),
296
- p("div", me, [
297
- s(D, {
298
- value: n.value,
299
- "onUpdate:value": e[1] || (e[1] = (m) => n.value = m),
300
- class: "w-40",
301
- size: "small"
302
- }, {
303
- default: r(() => [
304
- s(V, { value: "GET" }, {
305
- default: r(() => e[14] || (e[14] = [
306
- b("GET")
307
- ])),
308
- _: 1
309
- }),
310
- s(V, { value: "POST" }, {
311
- default: r(() => e[15] || (e[15] = [
312
- b("POST")
313
- ])),
314
- _: 1
315
- }),
316
- s(V, { value: "PUT" }, {
317
- default: r(() => e[16] || (e[16] = [
318
- b("PUT")
319
- ])),
320
- _: 1
321
- }),
322
- s(V, { value: "DELETE" }, {
323
- default: r(() => e[17] || (e[17] = [
324
- b("DELETE")
325
- ])),
326
- _: 1
327
- }),
328
- s(V, { value: "OPTIONS" }, {
329
- default: r(() => e[18] || (e[18] = [
330
- b("OPTIONS")
331
- ])),
332
- _: 1
333
- })
334
- ]),
335
- _: 1
336
- }, 8, ["value"]),
337
- s(T, {
338
- value: f.value,
339
- "onUpdate:value": e[2] || (e[2] = (m) => f.value = m),
340
- placeholder: "路径",
341
- size: "small"
342
- }, null, 8, ["value"])
343
- ])
344
- ]),
345
- p("div", fe, [
346
- s(L, {
347
- modelValue: x.value,
348
- "onUpdate:modelValue": e[3] || (e[3] = (m) => x.value = m),
349
- "add-button-text": "添加参数",
350
- "show-preview": !0,
351
- "preview-text": y.value + f.value + X.value
352
- }, null, 8, ["modelValue", "preview-text"])
353
- ])
354
- ]),
355
- _: 1
356
- }),
357
- s(P, {
358
- title: "认证方案",
359
- class: "form-section",
360
- size: "small"
361
- }, {
362
- default: r(() => [
363
- s(G, {
364
- value: l.value,
365
- "onUpdate:value": e[4] || (e[4] = (m) => l.value = m),
366
- "button-style": "solid",
367
- size: "small"
368
- }, {
369
- default: r(() => [
370
- s(q, { value: "none" }, {
371
- default: r(() => e[19] || (e[19] = [
372
- b("无认证")
373
- ])),
374
- _: 1
375
- }),
376
- s(q, { value: "Basic" }, {
377
- default: r(() => e[20] || (e[20] = [
378
- b("Basic认证")
379
- ])),
380
- _: 1
381
- }),
382
- s(q, { value: "Bearer" }, {
383
- default: r(() => e[21] || (e[21] = [
384
- b("Bearer认证")
385
- ])),
386
- _: 1
387
- })
388
- ]),
389
- _: 1
390
- }, 8, ["value"]),
391
- l.value === "Basic" ? (_(), $("div", ce, [
392
- p("div", ye, [
393
- e[22] || (e[22] = p("p", { class: "m-0 w-16" }, "用户名", -1)),
394
- s(T, {
395
- value: u.value,
396
- "onUpdate:value": e[5] || (e[5] = (m) => u.value = m),
397
- size: "small"
398
- }, null, 8, ["value"])
399
- ]),
400
- p("div", _e, [
401
- e[23] || (e[23] = p("p", { class: "m-0 w-16" }, "密码", -1)),
402
- s(te, {
403
- value: t.value,
404
- "onUpdate:value": e[6] || (e[6] = (m) => t.value = m),
405
- size: "small"
406
- }, null, 8, ["value"])
407
- ])
408
- ])) : R("", !0),
409
- l.value === "Bearer" ? (_(), $("div", be, [
410
- p("div", xe, [
411
- e[24] || (e[24] = p("p", { class: "m-0 w-16 h-full" }, "Token", -1)),
412
- s(I, {
413
- value: v.value,
414
- "onUpdate:value": e[7] || (e[7] = (m) => v.value = m),
415
- size: "small",
416
- class: "mt-1",
417
- rows: "4",
418
- placeholder: "请输入Token"
419
- }, null, 8, ["value"])
420
- ])
421
- ])) : R("", !0)
422
- ]),
423
- _: 1
424
- }),
425
- s(P, {
426
- title: "请求头",
427
- class: "form-section",
428
- size: "small"
429
- }, {
430
- default: r(() => [
431
- s(L, {
432
- modelValue: j.value,
433
- "onUpdate:modelValue": e[8] || (e[8] = (m) => j.value = m),
434
- "add-button-text": "添加请求头",
435
- "show-preview": !1
436
- }, null, 8, ["modelValue"])
437
- ]),
438
- _: 1
439
- }),
440
- n.value === "POST" || n.value === "PUT" ? (_(), O(P, {
441
- key: 0,
442
- title: "请求体",
443
- class: "form-section",
444
- size: "small"
445
- }, {
446
- default: r(() => [
447
- s(G, {
448
- value: U.value,
449
- "onUpdate:value": e[9] || (e[9] = (m) => U.value = m),
450
- "button-style": "solid",
451
- size: "small",
452
- class: "mb-1"
453
- }, {
454
- default: r(() => [
455
- s(q, { value: "application/json" }, {
456
- default: r(() => e[25] || (e[25] = [
457
- b("JSON")
458
- ])),
459
- _: 1
460
- }),
461
- s(q, { value: "multipart/form-data" }, {
462
- default: r(() => e[26] || (e[26] = [
463
- b("Form Data")
464
- ])),
465
- _: 1
466
- }),
467
- s(q, { value: "text/plain" }, {
468
- default: r(() => e[27] || (e[27] = [
469
- b("Raw")
470
- ])),
471
- _: 1
472
- })
473
- ]),
474
- _: 1
475
- }, 8, ["value"]),
476
- U.value === "application/json" ? (_(), $(F, { key: 0 }, [
477
- s(I, {
478
- value: k.value,
479
- "onUpdate:value": e[10] || (e[10] = (m) => k.value = m),
480
- rows: 6,
481
- placeholder: "请输入 JSON 数据",
482
- onInput: Y
483
- }, null, 8, ["value"]),
484
- h.value ? (_(), O(ae, {
485
- key: 0,
486
- type: "error",
487
- message: h.value,
488
- banner: "",
489
- style: { "margin-bottom": "8px" }
490
- }, null, 8, ["message"])) : R("", !0)
491
- ], 64)) : R("", !0),
492
- U.value === "multipart/form-data" ? (_(), O(L, {
493
- key: 1,
494
- modelValue: B.value,
495
- "onUpdate:modelValue": e[11] || (e[11] = (m) => B.value = m),
496
- "add-button-text": "添加表单字段",
497
- "show-preview": !1
498
- }, null, 8, ["modelValue"])) : R("", !0),
499
- U.value === "text/plain" ? (_(), O(I, {
500
- key: 2,
501
- value: S.value,
502
- "onUpdate:value": e[12] || (e[12] = (m) => S.value = m),
503
- rows: 6,
504
- placeholder: "请输入原始数据"
505
- }, null, 8, ["value"])) : R("", !0),
506
- p("pre", null, z(Q.value), 1)
507
- ]),
508
- _: 1
509
- })) : R("", !0)
510
- ]),
511
- _: 1
512
- })
513
- ]);
514
- };
515
- }
516
- }), Ee = /* @__PURE__ */ M(we, [["__scopeId", "data-v-c9f65487"]]);
517
- async function ge(a, g = "xhr") {
518
- return g === "fetch" ? ke(a) : he(a);
519
- }
520
- async function ke(a) {
521
- var y;
522
- const g = a.params.filter((l) => !!l.key).map((l) => `${l.key}=${encodeURIComponent(l.value)}`).join("&"), d = `${a.url}${a.path}${g ? "?" + g : ""}`, o = new Headers();
523
- a.headers.forEach((l) => {
524
- l.key && o.append(l.key, l.value);
525
- });
526
- const n = {
527
- method: a.method,
528
- headers: o,
529
- credentials: "omit"
530
- };
531
- if (a.auth.type === "Basic" && a.auth.username && a.auth.password) {
532
- const l = btoa(`${a.auth.username}:${a.auth.password}`);
533
- o.append("Authorization", `Basic ${l}`);
534
- } else a.auth.type === "Bearer" && a.auth.token && o.append("Authorization", `Bearer ${a.auth.token}`);
535
- if (a.method === "POST" || a.method === "PUT")
536
- switch (a.body.type) {
537
- case "application/json":
538
- n.body = a.body.json || "", o.set("Content-Type", "application/json; charset=utf-8");
539
- break;
540
- case "multipart/form-data":
541
- const l = new FormData();
542
- (y = a.body.formData) == null || y.forEach((f) => {
543
- f.key && l.append(f.key, f.value);
544
- }), n.body = l;
545
- break;
546
- case "text/plain":
547
- n.body = a.body.raw || "", o.set("Content-Type", "text/plain; charset=utf-8");
548
- break;
549
- }
550
- try {
551
- const l = await fetch(d, n), f = {};
552
- l.headers.forEach((v, x) => {
553
- f[x.toLowerCase()] = v;
554
- });
555
- let u = "";
556
- if ((f["content-type"] || "").startsWith("application/json"))
557
- try {
558
- const v = await l.json();
559
- u = JSON.stringify(v, null, 2);
560
- } catch {
561
- u = await l.text();
562
- }
563
- else
564
- u = await l.text();
565
- return {
566
- status: l.status.toString(),
567
- headers: f,
568
- body: u
569
- };
570
- } catch {
571
- throw new Error("Request failed");
572
- }
573
- }
574
- async function he(a) {
575
- return new Promise((g, d) => {
576
- var u;
577
- const o = new XMLHttpRequest(), n = a.auth.type === "Basic" ? a.auth.username : null, y = a.auth.type === "Basic" ? a.auth.password : null, l = a.params.filter((t) => !!t.key).map((t) => `${t.key}=${encodeURIComponent(t.value)}`).join("&"), f = `${a.url}${a.path}${l ? "?" + l : ""}`;
578
- if (o.open(a.method, f, !0, n, y), a.headers.forEach((t) => {
579
- t.key && o.setRequestHeader(t.key, t.value);
580
- }), a.auth.type === "Bearer" && a.auth.token && o.setRequestHeader("Authorization", `Bearer ${a.auth.token}`), a.method === "POST" || a.method === "PUT") {
581
- let t = "";
582
- switch (a.body.type) {
583
- case "application/json":
584
- t = a.body.json || "", o.setRequestHeader("Content-Type", "application/json; charset=utf-8");
585
- break;
586
- case "multipart/form-data":
587
- const v = new FormData();
588
- (u = a.body.formData) == null || u.forEach((x) => {
589
- x.key && v.append(x.key, x.value);
590
- }), t = v;
591
- break;
592
- case "text/plain":
593
- t = a.body.raw || "", o.setRequestHeader("Content-Type", "text/plain; charset=utf-8");
594
- break;
595
- }
596
- o.send(t);
597
- } else
598
- o.send();
599
- o.onload = () => {
600
- const t = Ue(o), v = {
601
- status: o.status.toString(),
602
- headers: t,
603
- body: ""
604
- };
605
- if ((t["content-type"] || "").startsWith("application/json"))
606
- try {
607
- v.body = JSON.stringify(JSON.parse(o.responseText), null, 2);
608
- } catch {
609
- v.body = o.responseText;
610
- }
611
- else
612
- v.body = o.responseText;
613
- g(v);
614
- }, o.onerror = () => {
615
- d(new Error("Request failed"));
616
- };
617
- });
618
- }
619
- function Ue(a) {
620
- const g = a.getAllResponseHeaders().trim().split(/[\r\n]+/), d = {};
621
- return g.forEach(function(o) {
622
- var f;
623
- const n = o.split(": "), y = ((f = n.shift()) == null ? void 0 : f.toLowerCase()) || "", l = n.join(": ");
624
- d[y] = l;
625
- }), d;
626
- }
627
- const Te = { style: { display: "flex", "align-items": "center", gap: "8px", "margin-bottom": "8px" } }, $e = { class: "flex flex-col gap-2" }, Se = { class: "flex flex-col gap-1" }, Re = {
628
- key: 0,
629
- class: "border border-solid border-gray-300 w-full"
630
- }, je = { class: "border border-gray-300" }, Be = { class: "border border-gray-300" }, Oe = { key: 1 }, Ve = /* @__PURE__ */ H({
631
- __name: "ResponseSection",
632
- props: {
633
- modelValue: {}
634
- },
635
- setup(a) {
636
- const g = a, d = w("xhr"), o = w({
637
- status: "",
638
- headers: {},
639
- body: "",
640
- timing: 0
641
- }), n = w(""), y = (u) => {
642
- const t = Number(u);
643
- return t >= 200 && t < 300 ? "success" : t >= 300 && t < 400 ? "warning" : t >= 400 && t < 500 || t >= 500 ? "error" : "default";
644
- }, l = (u) => u instanceof Error ? u.message : "请求失败", f = async () => {
645
- n.value = "";
646
- const u = Date.now();
647
- try {
648
- o.value = await ge(g.modelValue, d.value), o.value.timing = Date.now() - u;
649
- } catch (t) {
650
- n.value = l(t), o.value = {
651
- status: "Error",
652
- headers: {},
653
- body: t instanceof Error ? t.message : "Request failed",
654
- timing: Date.now() - u
655
- };
656
- }
657
- };
658
- return (u, t) => {
659
- const v = c("a-radio-button"), x = c("a-radio-group"), j = c("a-button"), B = c("a-alert"), U = c("a-tag"), k = c("a-textarea"), S = c("a-card");
660
- return _(), O(S, {
661
- title: "响应",
662
- class: "form-section",
663
- size: "small"
664
- }, {
665
- default: r(() => [
666
- p("div", Te, [
667
- s(x, {
668
- value: d.value,
669
- "onUpdate:value": t[0] || (t[0] = (h) => d.value = h),
670
- "button-style": "solid",
671
- size: "small"
672
- }, {
673
- default: r(() => [
674
- s(v, { value: "xhr" }, {
675
- default: r(() => t[2] || (t[2] = [
676
- b("XMLHttpRequest")
677
- ])),
678
- _: 1
679
- }),
680
- s(v, { value: "fetch" }, {
681
- default: r(() => t[3] || (t[3] = [
682
- b("Fetch")
683
- ])),
684
- _: 1
685
- })
686
- ]),
687
- _: 1
688
- }, 8, ["value"]),
689
- s(j, {
690
- type: "primary",
691
- onClick: f,
692
- size: "small"
693
- }, {
694
- default: r(() => t[4] || (t[4] = [
695
- b("发送")
696
- ])),
697
- _: 1
698
- })
699
- ]),
700
- n.value ? (_(), O(B, {
701
- key: 0,
702
- message: n.value,
703
- type: "error",
704
- "show-icon": "",
705
- style: { "margin-bottom": "8px" }
706
- }, null, 8, ["message"])) : R("", !0),
707
- p("div", $e, [
708
- t[7] || (t[7] = p("div", { class: "text-sm font-bold" }, "基本信息", -1)),
709
- p("div", Se, [
710
- p("div", null, [
711
- t[5] || (t[5] = p("span", null, "状态码:", -1)),
712
- s(U, {
713
- color: y(o.value.status)
714
- }, {
715
- default: r(() => [
716
- b(z(o.value.status), 1)
717
- ]),
718
- _: 1
719
- }, 8, ["color"])
720
- ]),
721
- p("div", null, [
722
- t[6] || (t[6] = p("span", null, "耗时:", -1)),
723
- p("span", null, z(o.value.timing ? `${o.value.timing}ms` : "-"), 1)
724
- ])
725
- ]),
726
- t[8] || (t[8] = p("div", { class: "text-sm font-bold" }, "响应头", -1)),
727
- Object.keys(o.value.headers).length > 0 ? (_(), $("table", Re, [
728
- p("tbody", null, [
729
- (_(!0), $(F, null, K(Object.entries(o.value.headers), ([h, N]) => (_(), $("tr", { key: h }, [
730
- p("td", je, z(h), 1),
731
- p("td", Be, z(N), 1)
732
- ]))), 128))
733
- ])
734
- ])) : (_(), $("p", Oe, "无响应头")),
735
- t[9] || (t[9] = p("div", { class: "text-sm font-bold" }, "响应体", -1)),
736
- s(k, {
737
- value: o.value.body,
738
- "onUpdate:value": t[1] || (t[1] = (h) => o.value.body = h),
739
- rows: 5,
740
- readonly: "",
741
- style: { width: "100%" },
742
- size: "small"
743
- }, null, 8, ["value"])
744
- ])
745
- ]),
746
- _: 1
747
- });
748
- };
749
- }
750
- }), qe = /* @__PURE__ */ M(Ve, [["__scopeId", "data-v-1dd2b288"]]);
1
+ import { i as s, K as t, R as u, a as n, R as o, d as r, e as c, b as f, v as m } from "./index-BXm0ary_.js";
751
2
  export {
752
- L as KeyValueInput,
753
- Ee as RequestForm,
754
- qe as ResponseSection,
755
- Ee as default,
756
- de as defaultRequestSchema,
757
- ge as executeRequest
3
+ s as DataTransform,
4
+ t as KeyValueInput,
5
+ u as RequestForm,
6
+ n as ResponseSection,
7
+ o as default,
8
+ r as defaultRequestSchema,
9
+ c as executeRequest,
10
+ f as executeTransformFunction,
11
+ m as validateTransformFunction
758
12
  };