@wener/utils 1.1.5 → 1.1.7

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 (137) hide show
  1. package/README.md +5 -1
  2. package/dist/cjs/index.js +1 -1
  3. package/dist/cjs/index.js.map +1 -1
  4. package/dist/cjs/server.js +1 -1
  5. package/dist/cjs/server.js.map +1 -1
  6. package/dist/esm/index.js +1 -1
  7. package/dist/esm/index.js.map +1 -1
  8. package/dist/esm/server.js +1 -1
  9. package/dist/esm/server.js.map +1 -1
  10. package/dist/system/index.js +1 -1
  11. package/dist/system/index.js.map +1 -1
  12. package/dist/system/server.js +1 -1
  13. package/dist/system/server.js.map +1 -1
  14. package/lib/arrays/MaybeArray.js.map +1 -1
  15. package/lib/asyncs/createLazyPromise.js +55 -0
  16. package/lib/asyncs/createLazyPromise.js.map +1 -0
  17. package/lib/asyncs/timeout.js +1 -1
  18. package/lib/asyncs/timeout.js.map +1 -1
  19. package/lib/browsers/copy.js +2 -3
  20. package/lib/browsers/copy.js.map +1 -1
  21. package/lib/browsers/loaders.js +6 -11
  22. package/lib/browsers/loaders.js.map +1 -1
  23. package/lib/crypto/{hex.js → base.js} +1 -1
  24. package/lib/crypto/base.js.map +1 -0
  25. package/lib/crypto/hashing.js +4 -4
  26. package/lib/crypto/hashing.js.map +1 -1
  27. package/lib/crypto/randomUUID.js +3 -5
  28. package/lib/crypto/randomUUID.js.map +1 -1
  29. package/lib/i18n/createTranslate.js +37 -0
  30. package/lib/i18n/createTranslate.js.map +1 -0
  31. package/lib/index.js +12 -7
  32. package/lib/index.js.map +1 -1
  33. package/lib/io/ArrayBuffers.js +164 -0
  34. package/lib/io/ArrayBuffers.js.map +1 -0
  35. package/lib/io/isBuffer.js +1 -1
  36. package/lib/io/isBuffer.js.map +1 -1
  37. package/lib/io/isTransferable.js +23 -0
  38. package/lib/io/isTransferable.js.map +1 -0
  39. package/lib/isomorphics/structuredClone.js +70 -0
  40. package/lib/isomorphics/structuredClone.js.map +1 -0
  41. package/lib/langs/classOf.js +6 -0
  42. package/lib/langs/classOf.js.map +1 -0
  43. package/lib/{validations/dequal.js → langs/deepEqual.js} +7 -7
  44. package/lib/langs/deepEqual.js.map +1 -0
  45. package/lib/{validations/shallow.js → langs/shallowEqual.js} +3 -3
  46. package/lib/langs/shallowEqual.js.map +1 -0
  47. package/lib/logging/createNoopLogger.js.map +1 -1
  48. package/lib/modules/isModule.js.map +1 -1
  49. package/lib/modules/parseModuleId.js +7 -5
  50. package/lib/modules/parseModuleId.js.map +1 -1
  51. package/lib/objects/parseObjectPath.js.map +1 -1
  52. package/lib/objects/set.js.map +1 -1
  53. package/lib/server/polyfillBrowser.js +12 -0
  54. package/lib/server/polyfillBrowser.js.map +1 -0
  55. package/lib/server/polyfillCrypto.js +10 -0
  56. package/lib/server/polyfillCrypto.js.map +1 -0
  57. package/lib/server/polyfillFetch.js +31 -0
  58. package/lib/server/polyfillFetch.js.map +1 -0
  59. package/lib/server/polyfillJsDom.js +49 -0
  60. package/lib/server/polyfillJsDom.js.map +1 -0
  61. package/lib/server.js +4 -1
  62. package/lib/server.js.map +1 -1
  63. package/lib/{formats → strings}/formatBytes.js +1 -1
  64. package/lib/{formats → strings}/formatBytes.js.map +1 -1
  65. package/lib/strings/renderTemplate.js +4 -2
  66. package/lib/strings/renderTemplate.js.map +1 -1
  67. package/lib/validations/isUUID.js +6 -0
  68. package/lib/validations/isUUID.js.map +1 -0
  69. package/package.json +14 -2
  70. package/src/arrays/MaybeArray.ts +1 -1
  71. package/src/asyncs/createLazyPromise.test.ts +39 -0
  72. package/src/asyncs/createLazyPromise.ts +63 -0
  73. package/src/asyncs/generatorOfStream.ts +1 -0
  74. package/src/asyncs/timeout.ts +1 -1
  75. package/src/browsers/copy.ts +6 -5
  76. package/src/browsers/loaders.ts +6 -11
  77. package/src/crypto/{hex.ts → base.ts} +3 -0
  78. package/src/crypto/hashing.test.ts +12 -8
  79. package/src/crypto/hashing.ts +4 -4
  80. package/src/crypto/randomUUID.ts +6 -4
  81. package/src/i18n/createTranslate.test.ts +155 -0
  82. package/src/i18n/createTranslate.ts +52 -0
  83. package/src/index.ts +22 -9
  84. package/src/io/AbstractEncoding.ts +21 -0
  85. package/src/io/ArrayBuffer.test-d.ts +4 -0
  86. package/src/io/ArrayBuffers.base64.test.ts +61 -0
  87. package/src/io/ArrayBuffers.test.ts +23 -0
  88. package/src/io/ArrayBuffers.ts +272 -0
  89. package/src/io/Buffer.ts +16 -0
  90. package/src/io/isBuffer.test.ts +9 -0
  91. package/src/io/isBuffer.ts +3 -8
  92. package/src/io/isTransferable.test.ts +10 -0
  93. package/src/io/isTransferable.ts +50 -0
  94. package/src/isomorphics/structuredClone.test.ts +14 -0
  95. package/src/isomorphics/structuredClone.ts +88 -0
  96. package/src/langs/classOf.ts +3 -0
  97. package/src/{validations/dequal.test.ts → langs/deepEqual.test.ts} +2 -2
  98. package/src/{validations/dequal.ts → langs/deepEqual.ts} +6 -5
  99. package/src/langs/langs.test.ts +23 -0
  100. package/src/{validations/shallow.ts → langs/shallowEqual.ts} +2 -2
  101. package/src/logging/Logger.ts +6 -0
  102. package/src/logging/createNoopLogger.ts +1 -1
  103. package/src/logging/logger.test.ts +3 -3
  104. package/src/modules/isModule.ts +3 -0
  105. package/src/modules/parseModuleId.test.ts +7 -2
  106. package/src/modules/parseModuleId.ts +15 -9
  107. package/src/objects/get.test-d.ts +51 -0
  108. package/src/objects/get.test.ts +2 -55
  109. package/src/objects/parseObjectPath.ts +4 -3
  110. package/src/objects/set.test.ts +32 -31
  111. package/src/objects/set.ts +2 -2
  112. package/src/server/polyfillBrowser.test.ts +15 -0
  113. package/src/server/polyfillBrowser.ts +17 -0
  114. package/src/server/polyfillCrypto.ts +7 -0
  115. package/src/server/polyfillFetch.ts +28 -0
  116. package/src/server/polyfillJsDom.ts +85 -0
  117. package/src/server.ts +4 -1
  118. package/src/{formats → strings}/formatBytes.ts +1 -1
  119. package/src/strings/renderTemplate.test.ts +1 -0
  120. package/src/strings/renderTemplate.ts +12 -6
  121. package/src/typedoc.ts +2 -0
  122. package/src/validations/isUUID.ts +3 -0
  123. package/tsconfig.json +2 -1
  124. package/lib/asyncs/LazyPromise.js +0 -27
  125. package/lib/asyncs/LazyPromise.js.map +0 -1
  126. package/lib/crypto/hex.js.map +0 -1
  127. package/lib/server/polyfill.js +0 -8
  128. package/lib/server/polyfill.js.map +0 -1
  129. package/lib/shim/urljoin.js +0 -51
  130. package/lib/shim/urljoin.js.map +0 -1
  131. package/lib/validations/dequal.js.map +0 -1
  132. package/lib/validations/shallow.js.map +0 -1
  133. package/src/asyncs/LazyPromise.ts +0 -29
  134. package/src/server/polyfill.ts +0 -5
  135. package/src/shim/urljoin.test.ts +0 -6
  136. package/src/shim/urljoin.ts +0 -75
  137. package/src/types.d.ts +0 -7
@@ -1,29 +0,0 @@
1
- export type LazyPromise<T> = Promise<T> & {
2
- reject(e: any): void;
3
- resolve(v?: T | PromiseLike<T>): void;
4
- };
5
-
6
- export function createLazyPromise<T = any>(): LazyPromise<T> {
7
- const holder = {
8
- resolve(_: any): void {
9
- throw new Error('pending resolve');
10
- },
11
- reject(_: any): void {
12
- throw new Error('pending reject');
13
- },
14
- };
15
- return Object.assign(
16
- new Promise<T>((resolve, reject) => {
17
- holder.reject = reject;
18
- holder.resolve = resolve;
19
- }),
20
- {
21
- resolve(v: any) {
22
- holder.resolve(v);
23
- },
24
- reject(v: any) {
25
- holder.resolve(v);
26
- },
27
- },
28
- );
29
- }
@@ -1,5 +0,0 @@
1
- export async function polyfill() {
2
- if (!('crypto' in globalThis)) {
3
- (globalThis as any).crypto = (await import('node:crypto')).webcrypto;
4
- }
5
- }
@@ -1,6 +0,0 @@
1
- import test from 'ava';
2
- import { urljoin } from './urljoin';
3
-
4
- test('join ext', (t) => {
5
- t.is(urljoin('http://wener.me/sub/', '/a/', '/hello.js'), 'http://wener.me/sub/a/hello.js');
6
- });
@@ -1,75 +0,0 @@
1
- export function urljoin(...strArray: string[]): string;
2
- export function urljoin(strArray: string[]): string;
3
-
4
- /**
5
- * @see {@link https://github.com/jfromaniello/url-join}
6
- */
7
- export function urljoin(...args: string[] | [string[]]): string {
8
- if (Array.isArray(args[0])) {
9
- return normalize(args[0]);
10
- } else {
11
- return normalize(args as any);
12
- }
13
- }
14
-
15
- function normalize(strArray: string[]) {
16
- const resultArray: string[] = [];
17
- if (strArray.length === 0) {
18
- return '';
19
- }
20
-
21
- if (typeof strArray[0] !== 'string') {
22
- throw new TypeError('Url must be a string. Received ' + strArray[0]);
23
- }
24
-
25
- // If the first part is a plain protocol, we combine it with the next part.
26
- if (strArray[0].match(/^[^/:]+:\/*$/) && strArray.length > 1) {
27
- const first = strArray.shift();
28
- strArray[0] = first + strArray[0];
29
- }
30
-
31
- // There must be two or three slashes in the file protocol, two slashes in anything else.
32
- if (strArray[0].match(/^file:\/\/\//)) {
33
- strArray[0] = strArray[0].replace(/^([^/:]+):\/*/, '$1:///');
34
- } else {
35
- strArray[0] = strArray[0].replace(/^([^/:]+):\/*/, '$1://');
36
- }
37
-
38
- for (let i = 0; i < strArray.length; i++) {
39
- let component = strArray[i];
40
-
41
- if (typeof component !== 'string') {
42
- throw new TypeError('Url must be a string. Received ' + component);
43
- }
44
-
45
- if (component === '') {
46
- continue;
47
- }
48
-
49
- if (i > 0) {
50
- // Removing the starting slashes for each component but the first.
51
- component = component.replace(/^[\/]+/, '');
52
- }
53
- if (i < strArray.length - 1) {
54
- // Removing the ending slashes for each component but the last.
55
- component = component.replace(/[\/]+$/, '');
56
- } else {
57
- // For the last component we will combine multiple slashes to a single one.
58
- component = component.replace(/[\/]+$/, '/');
59
- }
60
-
61
- resultArray.push(component);
62
- }
63
-
64
- let str = resultArray.join('/');
65
- // Each input component is now separated by a single slash except the possible first plain protocol part.
66
-
67
- // remove trailing slash before parameters or hash
68
- str = str.replace(/\/(\?|&|#[^!])/g, '$1');
69
-
70
- // replace ? in parameters with &
71
- const parts = str.split('?');
72
- str = parts.shift() + (parts.length > 0 ? '?' : '') + parts.join('&');
73
-
74
- return str;
75
- }
package/src/types.d.ts DELETED
@@ -1,7 +0,0 @@
1
- declare var __DEV__: boolean;
2
-
3
- namespace NodeJS {
4
- interface ProcessEnv {
5
- readonly NODE_ENV: 'development' | 'production' | 'test';
6
- }
7
- }