@wener/utils 1.1.14 → 1.1.15

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 (82) hide show
  1. package/dist/cjs/{globalThis-ee7c1669.js → getGlobalThis-304f74e0.js} +2 -2
  2. package/dist/cjs/getGlobalThis-304f74e0.js.map +1 -0
  3. package/dist/cjs/index.cjs +16 -5
  4. package/dist/cjs/index.cjs.map +1 -1
  5. package/dist/cjs/server.cjs +1 -1
  6. package/dist/cjs/server.cjs.map +1 -1
  7. package/dist/esm/{globalThis-000611c3.js → getGlobalThis-b7ad0cf9.js} +2 -2
  8. package/dist/esm/getGlobalThis-b7ad0cf9.js.map +1 -0
  9. package/dist/esm/index.js +15 -4
  10. package/dist/esm/index.js.map +1 -1
  11. package/dist/esm/server.js +1 -1
  12. package/dist/esm/server.js.map +1 -1
  13. package/dist/system/getGlobalThis-8951eb0e.js +2 -0
  14. package/dist/system/getGlobalThis-8951eb0e.js.map +1 -0
  15. package/dist/system/index.js +16 -5
  16. package/dist/system/index.js.map +1 -1
  17. package/dist/system/server.js +1 -1
  18. package/dist/system/server.js.map +1 -1
  19. package/lib/asyncs/timeout.js.map +1 -1
  20. package/lib/browsers/download.js.map +1 -1
  21. package/lib/browsers/loaders.js.map +1 -1
  22. package/lib/crypto/getRandomValues.js +2 -1
  23. package/lib/crypto/getRandomValues.js.map +1 -1
  24. package/lib/crypto/randomUUID.js +2 -1
  25. package/lib/crypto/randomUUID.js.map +1 -1
  26. package/lib/fetch/createFetchWith.js +25 -0
  27. package/lib/fetch/createFetchWith.js.map +1 -0
  28. package/lib/fetch/createFetchWithLogging.js +21 -0
  29. package/lib/fetch/createFetchWithLogging.js.map +1 -0
  30. package/lib/fetch/dumpRequest.js +46 -0
  31. package/lib/fetch/dumpRequest.js.map +1 -0
  32. package/lib/fetch/dumpResponse.js +23 -0
  33. package/lib/fetch/dumpResponse.js.map +1 -0
  34. package/lib/index.js +4 -1
  35. package/lib/index.js.map +1 -1
  36. package/lib/io/ArrayBuffers.js +2 -2
  37. package/lib/io/ArrayBuffers.js.map +1 -1
  38. package/lib/io/isTransferable.js +2 -1
  39. package/lib/io/isTransferable.js.map +1 -1
  40. package/lib/isomorphics/structuredClone.js +2 -1
  41. package/lib/isomorphics/structuredClone.js.map +1 -1
  42. package/lib/logging/createLogger.js.map +1 -1
  43. package/lib/objects/get.js.map +1 -1
  44. package/lib/objects/set.js.map +1 -1
  45. package/lib/servers/createFetchWithProxy.js +0 -1
  46. package/lib/servers/createFetchWithProxy.js.map +1 -1
  47. package/lib/servers/createFetchWithProxyByNodeFetch.js +2 -1
  48. package/lib/servers/createFetchWithProxyByNodeFetch.js.map +1 -1
  49. package/lib/servers/polyfillCrypto.js +2 -1
  50. package/lib/servers/polyfillCrypto.js.map +1 -1
  51. package/lib/servers/polyfillJsDom.js +2 -1
  52. package/lib/servers/polyfillJsDom.js.map +1 -1
  53. package/package.json +37 -35
  54. package/src/asyncs/timeout.ts +3 -1
  55. package/src/browsers/download.ts +3 -1
  56. package/src/browsers/loaders.ts +6 -2
  57. package/src/crypto/getRandomValues.ts +2 -1
  58. package/src/crypto/randomUUID.ts +3 -1
  59. package/src/fetch/createFetchWith.ts +32 -0
  60. package/src/fetch/createFetchWithLogging.ts +20 -0
  61. package/src/fetch/dumpRequest.ts +51 -0
  62. package/src/fetch/dumpResponse.ts +28 -0
  63. package/src/fetch/index.ts +4 -0
  64. package/src/index.ts +4 -2
  65. package/src/io/ArrayBuffers.ts +2 -2
  66. package/src/io/isTransferable.ts +3 -1
  67. package/src/isomorphics/structuredClone.ts +3 -1
  68. package/src/logging/createLogger.ts +15 -5
  69. package/src/objects/get.ts +1 -1
  70. package/src/objects/set.ts +1 -1
  71. package/src/servers/createFetchWithProxyByNodeFetch.ts +3 -2
  72. package/src/servers/polyfillCrypto.ts +2 -1
  73. package/src/servers/polyfillJsDom.ts +3 -1
  74. package/src/servers/polyfillWebSocket.ts +2 -1
  75. package/dist/cjs/globalThis-ee7c1669.js.map +0 -1
  76. package/dist/esm/globalThis-000611c3.js.map +0 -1
  77. package/dist/system/globalThis-7bba6592.js +0 -2
  78. package/dist/system/globalThis-7bba6592.js.map +0 -1
  79. package/lib/isomorphics/globalThis.js +0 -6
  80. package/lib/isomorphics/globalThis.js.map +0 -1
  81. package/src/isomorphics/globalThis.ts +0 -3
  82. package/src/servers/createFetchWithLogger.ts +0 -75
@@ -1,3 +0,0 @@
1
- import { getGlobalThis } from './getGlobalThis';
2
-
3
- export const globalThis = getGlobalThis();
@@ -1,75 +0,0 @@
1
- import { FetchLike } from '../fetch';
2
-
3
- export function createFetchWithLogger({
4
- fetch = globalThis.fetch,
5
- logger = console.log,
6
- }: {
7
- fetch?: FetchLike;
8
- logger?: (s: string) => void;
9
- } = {}): FetchLike {
10
- return async (...args) => {
11
- const [, init = { method: 'GET', headers: {} } as RequestInit] = args;
12
- const url = typeof args[0] === 'string' ? args[0] : args[0].url;
13
-
14
- let dumpRequest = `-> ${init.method} ${url}
15
- ${Array.from(new Headers(init.headers).entries())
16
- .map(([k, v]) => `${k}: ${v}`)
17
- .join('\n')}
18
- `;
19
-
20
- if (init.body) {
21
- if (init.body instanceof ReadableStream) {
22
- const [a, b] = init.body.tee();
23
- init.body = a;
24
- const signal = init.signal;
25
- Promise.resolve().then(async () => {
26
- const reader = b.getReader();
27
- logger(dumpRequest);
28
- while (true) {
29
- if (signal?.aborted) {
30
- break;
31
- }
32
-
33
- let { done, value } = await reader.read();
34
- value instanceof Uint8Array && (value = new TextDecoder().decode(value));
35
- dumpRequest += value;
36
- logger(value);
37
- if (!done) {
38
- break;
39
- }
40
- }
41
- // maybe for archive
42
- dumpRequest += `\n`;
43
- });
44
- } else {
45
- dumpRequest += `
46
- ${init.body}
47
- `;
48
- }
49
- }
50
- console.log(dumpRequest);
51
-
52
- try {
53
- let res = await fetch(...args);
54
- let dumpResponse = `<- ${res.status} ${res.statusText} ${init.method} ${url}
55
- ${Array.from(res.headers.entries())
56
- .map(([k, v]) => `${k}: ${v}`)
57
- .join('\n')}
58
- `;
59
- let contentType = res.headers.get('content-type');
60
- // text/event-stream
61
- if (contentType?.includes('application/json') || contentType?.includes('text/plain')) {
62
- const body = await res.text();
63
- dumpResponse += `\n${body}\n`;
64
- res = new Response(body, res);
65
- }
66
-
67
- logger(dumpResponse);
68
-
69
- return res;
70
- } catch (e) {
71
- console.error(`[Error] -> ${init.method} ${url} :${e}`);
72
- throw e;
73
- }
74
- };
75
- }