@wener/utils 1.1.26 → 1.1.27

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 (156) hide show
  1. package/README.md +4 -0
  2. package/dist/cjs/createFetchWith-qhRObsE4.js +2 -0
  3. package/dist/cjs/createFetchWith-qhRObsE4.js.map +1 -0
  4. package/dist/cjs/{getGlobalThis-304f74e0.js → getGlobalThis-GhffAgiG.js} +1 -1
  5. package/dist/cjs/{getGlobalThis-304f74e0.js.map → getGlobalThis-GhffAgiG.js.map} +1 -1
  6. package/dist/cjs/index.cjs +11 -11
  7. package/dist/cjs/index.cjs.map +1 -1
  8. package/dist/cjs/schema/typebox/gen/index.cjs +118 -0
  9. package/dist/cjs/schema/typebox/gen/index.cjs.map +1 -0
  10. package/dist/cjs/schema/typebox/index.cjs +2 -0
  11. package/dist/cjs/schema/typebox/index.cjs.map +1 -0
  12. package/dist/cjs/server.cjs +1 -1
  13. package/dist/cjs/server.cjs.map +1 -1
  14. package/dist/cjs/servers/jsdom.cjs +1 -1
  15. package/dist/cjs/servers/jsdom.cjs.map +1 -1
  16. package/dist/cjs/servers/node-fetch.cjs +1 -1
  17. package/dist/cjs/servers/ws.cjs +1 -1
  18. package/dist/esm/createFetchWith-1q1S-Xro.js +2 -0
  19. package/dist/esm/createFetchWith-1q1S-Xro.js.map +1 -0
  20. package/dist/esm/{getGlobalThis-b7ad0cf9.js → getGlobalThis-A8F-nU7J.js} +1 -1
  21. package/dist/esm/{getGlobalThis-b7ad0cf9.js.map → getGlobalThis-A8F-nU7J.js.map} +1 -1
  22. package/dist/esm/index.js +11 -11
  23. package/dist/esm/index.js.map +1 -1
  24. package/dist/esm/schema/typebox/gen.js +118 -0
  25. package/dist/esm/schema/typebox/gen.js.map +1 -0
  26. package/dist/esm/schema/typebox.js +2 -0
  27. package/dist/esm/schema/typebox.js.map +1 -0
  28. package/dist/esm/server.js +1 -1
  29. package/dist/esm/server.js.map +1 -1
  30. package/dist/esm/servers/jsdom.js +1 -1
  31. package/dist/esm/servers/jsdom.js.map +1 -1
  32. package/dist/esm/servers/node-fetch.js +1 -1
  33. package/dist/esm/servers/ws.js +1 -1
  34. package/dist/system/createFetchWith-TjUle-dI.js +2 -0
  35. package/dist/system/createFetchWith-TjUle-dI.js.map +1 -0
  36. package/dist/system/{getGlobalThis-8951eb0e.js → getGlobalThis-X5ifUXDI.js} +1 -1
  37. package/dist/system/{getGlobalThis-8951eb0e.js.map → getGlobalThis-X5ifUXDI.js.map} +1 -1
  38. package/dist/system/index.js +11 -11
  39. package/dist/system/index.js.map +1 -1
  40. package/dist/system/schema/typebox/gen.js +118 -0
  41. package/dist/system/schema/typebox/gen.js.map +1 -0
  42. package/dist/system/schema/typebox.js +2 -0
  43. package/dist/system/schema/typebox.js.map +1 -0
  44. package/dist/system/server.js +1 -1
  45. package/dist/system/server.js.map +1 -1
  46. package/dist/system/servers/jsdom.js +1 -1
  47. package/dist/system/servers/jsdom.js.map +1 -1
  48. package/dist/system/servers/node-fetch.js +1 -1
  49. package/dist/system/servers/ws.js +1 -1
  50. package/lib/index.js +2 -0
  51. package/lib/index.js.map +1 -1
  52. package/lib/langs/deepFreeze.js +16 -0
  53. package/lib/langs/deepFreeze.js.map +1 -0
  54. package/lib/maths/clamp.js +21 -0
  55. package/lib/maths/clamp.js.map +1 -0
  56. package/lib/objects/get.js.map +1 -1
  57. package/lib/objects/set.js.map +1 -1
  58. package/lib/schema/typebox/gen/codegen/common/encoder.js +74 -0
  59. package/lib/schema/typebox/gen/codegen/common/encoder.js.map +1 -0
  60. package/lib/schema/typebox/gen/codegen/common/formatter.js +10 -0
  61. package/lib/schema/typebox/gen/codegen/common/formatter.js.map +1 -0
  62. package/lib/schema/typebox/gen/codegen/common/jsdoc.js +68 -0
  63. package/lib/schema/typebox/gen/codegen/common/jsdoc.js.map +1 -0
  64. package/lib/schema/typebox/gen/codegen/expression/compiler.js +325 -0
  65. package/lib/schema/typebox/gen/codegen/expression/compiler.js.map +1 -0
  66. package/lib/schema/typebox/gen/codegen/expression/errors.js +237 -0
  67. package/lib/schema/typebox/gen/codegen/expression/errors.js.map +1 -0
  68. package/lib/schema/typebox/gen/codegen/expression/evaluator.js +241 -0
  69. package/lib/schema/typebox/gen/codegen/expression/evaluator.js.map +1 -0
  70. package/lib/schema/typebox/gen/codegen/expression/expression.js +200 -0
  71. package/lib/schema/typebox/gen/codegen/expression/expression.js.map +1 -0
  72. package/lib/schema/typebox/gen/codegen/index.js +19 -0
  73. package/lib/schema/typebox/gen/codegen/index.js.map +1 -0
  74. package/lib/schema/typebox/gen/codegen/model/model-to-arktype.js +263 -0
  75. package/lib/schema/typebox/gen/codegen/model/model-to-arktype.js.map +1 -0
  76. package/lib/schema/typebox/gen/codegen/model/model-to-expression.js +363 -0
  77. package/lib/schema/typebox/gen/codegen/model/model-to-expression.js.map +1 -0
  78. package/lib/schema/typebox/gen/codegen/model/model-to-grpc.js +245 -0
  79. package/lib/schema/typebox/gen/codegen/model/model-to-grpc.js.map +1 -0
  80. package/lib/schema/typebox/gen/codegen/model/model-to-io-ts.js +316 -0
  81. package/lib/schema/typebox/gen/codegen/model/model-to-io-ts.js.map +1 -0
  82. package/lib/schema/typebox/gen/codegen/model/model-to-javascript.js +20 -0
  83. package/lib/schema/typebox/gen/codegen/model/model-to-javascript.js.map +1 -0
  84. package/lib/schema/typebox/gen/codegen/model/model-to-json-schema.js +171 -0
  85. package/lib/schema/typebox/gen/codegen/model/model-to-json-schema.js.map +1 -0
  86. package/lib/schema/typebox/gen/codegen/model/model-to-typebox.js +10 -0
  87. package/lib/schema/typebox/gen/codegen/model/model-to-typebox.js.map +1 -0
  88. package/lib/schema/typebox/gen/codegen/model/model-to-typescript.js +198 -0
  89. package/lib/schema/typebox/gen/codegen/model/model-to-typescript.js.map +1 -0
  90. package/lib/schema/typebox/gen/codegen/model/model-to-valibot.js +252 -0
  91. package/lib/schema/typebox/gen/codegen/model/model-to-valibot.js.map +1 -0
  92. package/lib/schema/typebox/gen/codegen/model/model-to-value.js +19 -0
  93. package/lib/schema/typebox/gen/codegen/model/model-to-value.js.map +1 -0
  94. package/lib/schema/typebox/gen/codegen/model/model-to-yrel.js +247 -0
  95. package/lib/schema/typebox/gen/codegen/model/model-to-yrel.js.map +1 -0
  96. package/lib/schema/typebox/gen/codegen/model/model-to-yup.js +249 -0
  97. package/lib/schema/typebox/gen/codegen/model/model-to-yup.js.map +1 -0
  98. package/lib/schema/typebox/gen/codegen/model/model-to-zod.js +272 -0
  99. package/lib/schema/typebox/gen/codegen/model/model-to-zod.js.map +1 -0
  100. package/lib/schema/typebox/gen/codegen/typescript/typescript-to-model.js +45 -0
  101. package/lib/schema/typebox/gen/codegen/typescript/typescript-to-model.js.map +1 -0
  102. package/lib/schema/typebox/gen/codegen/typescript/typescript-to-typebox.js +620 -0
  103. package/lib/schema/typebox/gen/codegen/typescript/typescript-to-typebox.js.map +1 -0
  104. package/lib/schema/typebox/gen/index.js +3 -0
  105. package/lib/schema/typebox/gen/index.js.map +1 -0
  106. package/lib/schema/typebox/index.js +3 -0
  107. package/lib/schema/typebox/index.js.map +1 -0
  108. package/lib/schema/typebox/typebox.js +34 -0
  109. package/lib/schema/typebox/typebox.js.map +1 -0
  110. package/lib/servers/fetch/createFetchWithProxyByUndici.js +15 -0
  111. package/lib/servers/fetch/createFetchWithProxyByUndici.js.map +1 -1
  112. package/package.json +21 -6
  113. package/src/index.ts +3 -3
  114. package/src/langs/deepFreeze.ts +19 -0
  115. package/src/langs/hashCode.ignored.ts +125 -0
  116. package/src/libs/README.md +2 -0
  117. package/src/logging/slog.ts +121 -0
  118. package/src/maths/clamp.test.ts +19 -0
  119. package/src/maths/clamp.ts +23 -1
  120. package/src/objects/get.ts +14 -14
  121. package/src/objects/set.ts +5 -5
  122. package/src/schema/typebox/gen/codegen/common/encoder.ts +99 -0
  123. package/src/schema/typebox/gen/codegen/common/formatter.ts +31 -0
  124. package/src/schema/typebox/gen/codegen/common/index.ts +29 -0
  125. package/src/schema/typebox/gen/codegen/common/jsdoc.ts +93 -0
  126. package/src/schema/typebox/gen/codegen/expression/compiler.ts +377 -0
  127. package/src/schema/typebox/gen/codegen/expression/errors.ts +302 -0
  128. package/src/schema/typebox/gen/codegen/expression/evaluator.ts +268 -0
  129. package/src/schema/typebox/gen/codegen/expression/expression.ts +538 -0
  130. package/src/schema/typebox/gen/codegen/expression/index.ts +32 -0
  131. package/src/schema/typebox/gen/codegen/index.ts +29 -0
  132. package/src/schema/typebox/gen/codegen/model/index.ts +40 -0
  133. package/src/schema/typebox/gen/codegen/model/model-to-arktype.ts +266 -0
  134. package/src/schema/typebox/gen/codegen/model/model-to-expression.ts +378 -0
  135. package/src/schema/typebox/gen/codegen/model/model-to-grpc.ts +244 -0
  136. package/src/schema/typebox/gen/codegen/model/model-to-io-ts.ts +294 -0
  137. package/src/schema/typebox/gen/codegen/model/model-to-javascript.ts +42 -0
  138. package/src/schema/typebox/gen/codegen/model/model-to-json-schema.ts +166 -0
  139. package/src/schema/typebox/gen/codegen/model/model-to-typebox.ts +32 -0
  140. package/src/schema/typebox/gen/codegen/model/model-to-typescript.ts +189 -0
  141. package/src/schema/typebox/gen/codegen/model/model-to-valibot.ts +236 -0
  142. package/src/schema/typebox/gen/codegen/model/model-to-value.ts +42 -0
  143. package/src/schema/typebox/gen/codegen/model/model-to-yrel.ts +232 -0
  144. package/src/schema/typebox/gen/codegen/model/model-to-yup.ts +226 -0
  145. package/src/schema/typebox/gen/codegen/model/model-to-zod.ts +251 -0
  146. package/src/schema/typebox/gen/codegen/model/model.ts +33 -0
  147. package/src/schema/typebox/gen/codegen/typescript/index.ts +28 -0
  148. package/src/schema/typebox/gen/codegen/typescript/typescript-to-model.ts +61 -0
  149. package/src/schema/typebox/gen/codegen/typescript/typescript-to-typebox.ts +647 -0
  150. package/src/schema/typebox/gen/gen.test.ts +12 -0
  151. package/src/schema/typebox/gen/index.ts +1 -0
  152. package/src/schema/typebox/index.ts +1 -0
  153. package/src/schema/typebox/typebox.ts +34 -0
  154. package/src/servers/fetch/createFetchWithProxyByUndici.ts +16 -1
  155. package/src/types/index.d.ts +1 -0
  156. package/src/langs/hashCode.ts +0 -37
@@ -0,0 +1,34 @@
1
+ import { TSchema } from '@sinclair/typebox';
2
+ import { Value } from '@sinclair/typebox/value';
3
+
4
+ // works like zod parse
5
+ export const Parse = <T extends TSchema>(T: T, value: unknown) =>
6
+ // run transform, get T
7
+ Value.Decode(
8
+ T,
9
+ // remove additional
10
+ Value.Clean(
11
+ T,
12
+ // add missing
13
+ Value.Default(
14
+ T,
15
+ // '1' -> 1
16
+ Value.Convert(T, value),
17
+ ),
18
+ ),
19
+ );
20
+
21
+ export const SafeParse = <T extends TSchema>(T: T, value: unknown) => {
22
+ let out = Value.Clean(T, Value.Default(T, Value.Convert(T, value)));
23
+ if (Value.Check(T, out)) {
24
+ // decode 也会 check
25
+ return {
26
+ data: Value.Decode(T, out),
27
+ success: true,
28
+ };
29
+ }
30
+ return {
31
+ errors: Array.from(Value.Errors(T, [], value)),
32
+ success: false,
33
+ };
34
+ };
@@ -1,5 +1,6 @@
1
1
  import { MaybePromise } from '../../asyncs/MaybePromise';
2
- import { FetchLike } from '../../fetch';
2
+ import { createFetchWith, FetchLike } from '../../fetch';
3
+ import { getGlobalThis } from '../../isomorphics/getGlobalThis';
3
4
 
4
5
  export function createFetchWithProxyByUndici({
5
6
  proxy,
@@ -15,6 +16,20 @@ export function createFetchWithProxyByUndici({
15
16
  if (!proxy) {
16
17
  return fetch || globalThis.fetch;
17
18
  }
19
+
20
+ if ((getGlobalThis() as any).Bun) {
21
+ return createFetchWith({
22
+ fetch,
23
+ onRequest: ({ url, req, next }) => {
24
+ return next(url, {
25
+ ...req,
26
+ // https://github.com/oven-sh/bun/issues/1829
27
+ proxy,
28
+ } as RequestInit);
29
+ },
30
+ });
31
+ }
32
+
18
33
  let agent: any;
19
34
  // https://github.com/nodejs/undici/blob/main/docs/best-practices/proxy.md
20
35
  return async (...args) => {
@@ -5,4 +5,5 @@ export type PartialRequired<T, K extends keyof T> = Partial<Omit<T, K>> & Requir
5
5
 
6
6
  /*
7
7
  https://github.com/total-typescript/ts-reset/blob/main/src/entrypoints/filter-boolean.d.ts
8
+ https://github.com/sindresorhus/type-fest
8
9
  */
@@ -1,37 +0,0 @@
1
- function sortObjectKeys(obj?: Record<string, any>) {
2
- if (obj === null || obj === undefined) {
3
- return obj;
4
- }
5
- if (typeof obj !== 'object') {
6
- // it is a primitive: number/string (in an array)
7
- return obj;
8
- }
9
- return Object.keys(obj)
10
- .sort()
11
- .reduce(
12
- (acc, key) => {
13
- if (Array.isArray(obj[key])) {
14
- acc[key] = obj[key].map(sortObjectKeys);
15
- } else if (typeof obj[key] === 'object') {
16
- acc[key] = sortObjectKeys(obj[key]);
17
- } else {
18
- acc[key] = obj[key];
19
- }
20
- return acc;
21
- },
22
- {} as Record<string, any>,
23
- );
24
- }
25
-
26
- function toDeterministicJson(o: any) {
27
- // https://github.com/kikobeats/json-stringify-deterministic
28
- // https://stackoverflow.com/a/54902696/1870054
29
-
30
- let sorted: any = sortObjectKeys(o);
31
- let out = JSON.stringify(sorted, function (_, v) {
32
- return v === undefined ? 'undef' : v;
33
- });
34
-
35
- // Remove all whitespace
36
- return out.replace(/\s+/g, '');
37
- }