@kwiz/common 1.0.90 → 1.0.92

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 (99) hide show
  1. package/.github/workflows/npm-publish.yml +24 -24
  2. package/.madgerc +2 -2
  3. package/LICENSE +21 -21
  4. package/fix-folder-imports.js +26 -26
  5. package/lib/cjs/helpers/browser.js +42 -20
  6. package/lib/cjs/helpers/browser.js.map +1 -1
  7. package/lib/cjs/types/libs/msal.types.js +26 -26
  8. package/lib/cjs/utils/sharepoint.rest/user.js +11 -11
  9. package/lib/esm/helpers/browser.js +42 -20
  10. package/lib/esm/helpers/browser.js.map +1 -1
  11. package/lib/esm/types/libs/msal.types.js +26 -26
  12. package/lib/esm/utils/sharepoint.rest/user.js +11 -11
  13. package/lib/types/helpers/browser.d.ts +1 -0
  14. package/package.json +81 -80
  15. package/readme.md +17 -17
  16. package/src/_dependencies.ts +12 -12
  17. package/src/config.ts +17 -17
  18. package/src/helpers/Guid.ts +181 -181
  19. package/src/helpers/base64.ts +173 -173
  20. package/src/helpers/browser.test.js +13 -13
  21. package/src/helpers/browser.ts +1386 -1358
  22. package/src/helpers/browserinfo.ts +292 -292
  23. package/src/helpers/collections.base.test.js +25 -25
  24. package/src/helpers/collections.base.ts +437 -437
  25. package/src/helpers/collections.ts +107 -107
  26. package/src/helpers/color.ts +54 -54
  27. package/src/helpers/cookies.ts +59 -59
  28. package/src/helpers/date.test.js +119 -119
  29. package/src/helpers/date.ts +188 -188
  30. package/src/helpers/debug.ts +186 -186
  31. package/src/helpers/emails.ts +6 -6
  32. package/src/helpers/eval.ts +5 -5
  33. package/src/helpers/file.test.js +50 -50
  34. package/src/helpers/file.ts +60 -60
  35. package/src/helpers/flatted.ts +149 -149
  36. package/src/helpers/functions.ts +16 -16
  37. package/src/helpers/graph/calendar.types.ts +10 -10
  38. package/src/helpers/http.ts +69 -69
  39. package/src/helpers/images.ts +22 -22
  40. package/src/helpers/json.ts +38 -38
  41. package/src/helpers/md5.ts +189 -189
  42. package/src/helpers/objects.test.js +33 -33
  43. package/src/helpers/objects.ts +274 -274
  44. package/src/helpers/promises.test.js +37 -37
  45. package/src/helpers/promises.ts +165 -165
  46. package/src/helpers/random.ts +27 -27
  47. package/src/helpers/scheduler/scheduler.test.js +103 -103
  48. package/src/helpers/scheduler/scheduler.ts +131 -131
  49. package/src/helpers/sharepoint.ts +776 -776
  50. package/src/helpers/strings.test.js +101 -101
  51. package/src/helpers/strings.ts +317 -317
  52. package/src/helpers/typecheckers.test.js +34 -34
  53. package/src/helpers/typecheckers.ts +266 -266
  54. package/src/helpers/url.test.js +43 -43
  55. package/src/helpers/url.ts +207 -207
  56. package/src/helpers/urlhelper.ts +111 -111
  57. package/src/index.ts +6 -6
  58. package/src/types/auth.ts +54 -54
  59. package/src/types/common.types.ts +15 -15
  60. package/src/types/flatted.types.ts +59 -59
  61. package/src/types/globals.types.ts +6 -6
  62. package/src/types/graph/calendar.types.ts +80 -80
  63. package/src/types/knownscript.types.ts +18 -18
  64. package/src/types/libs/datajs.types.ts +28 -28
  65. package/src/types/libs/ics.types.ts +30 -30
  66. package/src/types/libs/msal.types.ts +49 -49
  67. package/src/types/locales.ts +124 -124
  68. package/src/types/localstoragecache.types.ts +8 -8
  69. package/src/types/location.types.ts +27 -27
  70. package/src/types/moment.ts +11 -11
  71. package/src/types/regex.types.ts +16 -16
  72. package/src/types/rest.types.ts +95 -95
  73. package/src/types/sharepoint.types.ts +1465 -1465
  74. package/src/types/sharepoint.utils.types.ts +287 -287
  75. package/src/utils/auth/common.ts +74 -74
  76. package/src/utils/auth/discovery.test.js +12 -12
  77. package/src/utils/auth/discovery.ts +132 -132
  78. package/src/utils/base64.ts +27 -27
  79. package/src/utils/consolelogger.ts +320 -320
  80. package/src/utils/date.ts +35 -35
  81. package/src/utils/emails.ts +24 -24
  82. package/src/utils/knownscript.ts +286 -286
  83. package/src/utils/localstoragecache.ts +441 -441
  84. package/src/utils/rest.ts +501 -501
  85. package/src/utils/script.ts +170 -170
  86. package/src/utils/sharepoint.rest/common.ts +154 -154
  87. package/src/utils/sharepoint.rest/date.ts +62 -62
  88. package/src/utils/sharepoint.rest/file.folder.ts +598 -598
  89. package/src/utils/sharepoint.rest/item.ts +547 -547
  90. package/src/utils/sharepoint.rest/list.ts +1480 -1480
  91. package/src/utils/sharepoint.rest/listutils/GetListItemsByCaml.ts +774 -774
  92. package/src/utils/sharepoint.rest/listutils/GetListItemsById.ts +275 -275
  93. package/src/utils/sharepoint.rest/listutils/common.ts +206 -206
  94. package/src/utils/sharepoint.rest/location.ts +141 -141
  95. package/src/utils/sharepoint.rest/navigation-links.ts +86 -86
  96. package/src/utils/sharepoint.rest/user-search.ts +252 -252
  97. package/src/utils/sharepoint.rest/user.ts +491 -491
  98. package/src/utils/sharepoint.rest/web.ts +1384 -1384
  99. package/src/utils/sod.ts +194 -194
@@ -1,190 +1,190 @@
1
- /** fastest implementation
2
- * from: http://www.myersdaily.org/joseph/javascript/md5-text.html
3
- */
4
-
5
-
6
- /** Get an MD5 hash for a specific string input */
7
- export function md5(s: string): string {
8
- return hex(md51(s));
9
- }
10
-
11
- /* this function is much faster,
12
- so if possible we use it. Some IEs
13
- are the only ones I know of that
14
- need the idiotic second function,
15
- generated by an if clause. */
16
-
17
- var add32 = (a, b) => {
18
- return (a + b) & 0xFFFFFFFF;
19
- };
20
-
21
- function md5cycle(x, k) {
22
- var a = x[0], b = x[1], c = x[2], d = x[3];
23
-
24
- a = ff(a, b, c, d, k[0], 7, -680876936);
25
- d = ff(d, a, b, c, k[1], 12, -389564586);
26
- c = ff(c, d, a, b, k[2], 17, 606105819);
27
- b = ff(b, c, d, a, k[3], 22, -1044525330);
28
- a = ff(a, b, c, d, k[4], 7, -176418897);
29
- d = ff(d, a, b, c, k[5], 12, 1200080426);
30
- c = ff(c, d, a, b, k[6], 17, -1473231341);
31
- b = ff(b, c, d, a, k[7], 22, -45705983);
32
- a = ff(a, b, c, d, k[8], 7, 1770035416);
33
- d = ff(d, a, b, c, k[9], 12, -1958414417);
34
- c = ff(c, d, a, b, k[10], 17, -42063);
35
- b = ff(b, c, d, a, k[11], 22, -1990404162);
36
- a = ff(a, b, c, d, k[12], 7, 1804603682);
37
- d = ff(d, a, b, c, k[13], 12, -40341101);
38
- c = ff(c, d, a, b, k[14], 17, -1502002290);
39
- b = ff(b, c, d, a, k[15], 22, 1236535329);
40
-
41
- a = gg(a, b, c, d, k[1], 5, -165796510);
42
- d = gg(d, a, b, c, k[6], 9, -1069501632);
43
- c = gg(c, d, a, b, k[11], 14, 643717713);
44
- b = gg(b, c, d, a, k[0], 20, -373897302);
45
- a = gg(a, b, c, d, k[5], 5, -701558691);
46
- d = gg(d, a, b, c, k[10], 9, 38016083);
47
- c = gg(c, d, a, b, k[15], 14, -660478335);
48
- b = gg(b, c, d, a, k[4], 20, -405537848);
49
- a = gg(a, b, c, d, k[9], 5, 568446438);
50
- d = gg(d, a, b, c, k[14], 9, -1019803690);
51
- c = gg(c, d, a, b, k[3], 14, -187363961);
52
- b = gg(b, c, d, a, k[8], 20, 1163531501);
53
- a = gg(a, b, c, d, k[13], 5, -1444681467);
54
- d = gg(d, a, b, c, k[2], 9, -51403784);
55
- c = gg(c, d, a, b, k[7], 14, 1735328473);
56
- b = gg(b, c, d, a, k[12], 20, -1926607734);
57
-
58
- a = hh(a, b, c, d, k[5], 4, -378558);
59
- d = hh(d, a, b, c, k[8], 11, -2022574463);
60
- c = hh(c, d, a, b, k[11], 16, 1839030562);
61
- b = hh(b, c, d, a, k[14], 23, -35309556);
62
- a = hh(a, b, c, d, k[1], 4, -1530992060);
63
- d = hh(d, a, b, c, k[4], 11, 1272893353);
64
- c = hh(c, d, a, b, k[7], 16, -155497632);
65
- b = hh(b, c, d, a, k[10], 23, -1094730640);
66
- a = hh(a, b, c, d, k[13], 4, 681279174);
67
- d = hh(d, a, b, c, k[0], 11, -358537222);
68
- c = hh(c, d, a, b, k[3], 16, -722521979);
69
- b = hh(b, c, d, a, k[6], 23, 76029189);
70
- a = hh(a, b, c, d, k[9], 4, -640364487);
71
- d = hh(d, a, b, c, k[12], 11, -421815835);
72
- c = hh(c, d, a, b, k[15], 16, 530742520);
73
- b = hh(b, c, d, a, k[2], 23, -995338651);
74
-
75
- a = ii(a, b, c, d, k[0], 6, -198630844);
76
- d = ii(d, a, b, c, k[7], 10, 1126891415);
77
- c = ii(c, d, a, b, k[14], 15, -1416354905);
78
- b = ii(b, c, d, a, k[5], 21, -57434055);
79
- a = ii(a, b, c, d, k[12], 6, 1700485571);
80
- d = ii(d, a, b, c, k[3], 10, -1894986606);
81
- c = ii(c, d, a, b, k[10], 15, -1051523);
82
- b = ii(b, c, d, a, k[1], 21, -2054922799);
83
- a = ii(a, b, c, d, k[8], 6, 1873313359);
84
- d = ii(d, a, b, c, k[15], 10, -30611744);
85
- c = ii(c, d, a, b, k[6], 15, -1560198380);
86
- b = ii(b, c, d, a, k[13], 21, 1309151649);
87
- a = ii(a, b, c, d, k[4], 6, -145523070);
88
- d = ii(d, a, b, c, k[11], 10, -1120210379);
89
- c = ii(c, d, a, b, k[2], 15, 718787259);
90
- b = ii(b, c, d, a, k[9], 21, -343485551);
91
-
92
- x[0] = add32(a, x[0]);
93
- x[1] = add32(b, x[1]);
94
- x[2] = add32(c, x[2]);
95
- x[3] = add32(d, x[3]);
96
-
97
- }
98
-
99
- function cmn(q, a, b, x, s, t) {
100
- a = add32(add32(a, q), add32(x, t));
101
- return add32((a << s) | (a >>> (32 - s)), b);
102
- }
103
-
104
- function ff(a, b, c, d, x, s, t) {
105
- return cmn((b & c) | ((~b) & d), a, b, x, s, t);
106
- }
107
-
108
- function gg(a, b, c, d, x, s, t) {
109
- return cmn((b & d) | (c & (~d)), a, b, x, s, t);
110
- }
111
-
112
- function hh(a, b, c, d, x, s, t) {
113
- return cmn(b ^ c ^ d, a, b, x, s, t);
114
- }
115
-
116
- function ii(a, b, c, d, x, s, t) {
117
- return cmn(c ^ (b | (~d)), a, b, x, s, t);
118
- }
119
-
120
- function md51(s) {
121
- //var txt = '';
122
- var n = s.length,
123
- state = [1732584193, -271733879, -1732584194, 271733878], i;
124
- for (i = 64; i <= s.length; i += 64) {
125
- md5cycle(state, md5blk(s.substring(i - 64, i)));
126
- }
127
- s = s.substring(i - 64);
128
- var tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
129
- for (i = 0; i < s.length; i++)
130
- tail[i >> 2] |= s.charCodeAt(i) << ((i % 4) << 3);
131
- tail[i >> 2] |= 0x80 << ((i % 4) << 3);
132
- if (i > 55) {
133
- md5cycle(state, tail);
134
- for (i = 0; i < 16; i++) tail[i] = 0;
135
- }
136
- tail[14] = n * 8;
137
- md5cycle(state, tail);
138
- return state;
139
- }
140
-
141
- /* there needs to be support for Unicode here,
142
- * unless we pretend that we can redefine the MD-5
143
- * algorithm for multi-byte characters (perhaps
144
- * by adding every four 16-bit characters and
145
- * shortening the sum to 32 bits). Otherwise
146
- * I suggest performing MD-5 as if every character
147
- * was two bytes--e.g., 0040 0025 = @%--but then
148
- * how will an ordinary MD-5 sum be matched?
149
- * There is no way to standardize text to something
150
- * like UTF-8 before transformation; speed cost is
151
- * utterly prohibitive. The JavaScript standard
152
- * itself needs to look at this: it should start
153
- * providing access to strings as preformed UTF-8
154
- * 8-bit unsigned value arrays.
155
- */
156
- function md5blk(s) { /* I figured global was faster. */
157
- var md5blks = [], i; /* Andy King said do it this way. */
158
- for (i = 0; i < 64; i += 4) {
159
- md5blks[i >> 2] = s.charCodeAt(i)
160
- + (s.charCodeAt(i + 1) << 8)
161
- + (s.charCodeAt(i + 2) << 16)
162
- + (s.charCodeAt(i + 3) << 24);
163
- }
164
- return md5blks;
165
- }
166
-
167
- var hex_chr = '0123456789abcdef'.split('');
168
-
169
- function rhex(n) {
170
- var s = '', j = 0;
171
- for (; j < 4; j++)
172
- s += hex_chr[(n >> (j * 8 + 4)) & 0x0F]
173
- + hex_chr[(n >> (j * 8)) & 0x0F];
174
- return s;
175
- }
176
-
177
- function hex(x) {
178
- for (var i = 0; i < x.length; i++)
179
- x[i] = rhex(x[i]);
180
- return x.join('');
181
- }
182
-
183
- if (md5('hello') !== '5d41402abc4b2a76b9719d911017c592') {
184
- //slower one, for IE only
185
- add32 = (x, y) => {
186
- var lsw = (x & 0xFFFF) + (y & 0xFFFF),
187
- msw = (x >> 16) + (y >> 16) + (lsw >> 16);
188
- return (msw << 16) | (lsw & 0xFFFF);
189
- };
1
+ /** fastest implementation
2
+ * from: http://www.myersdaily.org/joseph/javascript/md5-text.html
3
+ */
4
+
5
+
6
+ /** Get an MD5 hash for a specific string input */
7
+ export function md5(s: string): string {
8
+ return hex(md51(s));
9
+ }
10
+
11
+ /* this function is much faster,
12
+ so if possible we use it. Some IEs
13
+ are the only ones I know of that
14
+ need the idiotic second function,
15
+ generated by an if clause. */
16
+
17
+ var add32 = (a, b) => {
18
+ return (a + b) & 0xFFFFFFFF;
19
+ };
20
+
21
+ function md5cycle(x, k) {
22
+ var a = x[0], b = x[1], c = x[2], d = x[3];
23
+
24
+ a = ff(a, b, c, d, k[0], 7, -680876936);
25
+ d = ff(d, a, b, c, k[1], 12, -389564586);
26
+ c = ff(c, d, a, b, k[2], 17, 606105819);
27
+ b = ff(b, c, d, a, k[3], 22, -1044525330);
28
+ a = ff(a, b, c, d, k[4], 7, -176418897);
29
+ d = ff(d, a, b, c, k[5], 12, 1200080426);
30
+ c = ff(c, d, a, b, k[6], 17, -1473231341);
31
+ b = ff(b, c, d, a, k[7], 22, -45705983);
32
+ a = ff(a, b, c, d, k[8], 7, 1770035416);
33
+ d = ff(d, a, b, c, k[9], 12, -1958414417);
34
+ c = ff(c, d, a, b, k[10], 17, -42063);
35
+ b = ff(b, c, d, a, k[11], 22, -1990404162);
36
+ a = ff(a, b, c, d, k[12], 7, 1804603682);
37
+ d = ff(d, a, b, c, k[13], 12, -40341101);
38
+ c = ff(c, d, a, b, k[14], 17, -1502002290);
39
+ b = ff(b, c, d, a, k[15], 22, 1236535329);
40
+
41
+ a = gg(a, b, c, d, k[1], 5, -165796510);
42
+ d = gg(d, a, b, c, k[6], 9, -1069501632);
43
+ c = gg(c, d, a, b, k[11], 14, 643717713);
44
+ b = gg(b, c, d, a, k[0], 20, -373897302);
45
+ a = gg(a, b, c, d, k[5], 5, -701558691);
46
+ d = gg(d, a, b, c, k[10], 9, 38016083);
47
+ c = gg(c, d, a, b, k[15], 14, -660478335);
48
+ b = gg(b, c, d, a, k[4], 20, -405537848);
49
+ a = gg(a, b, c, d, k[9], 5, 568446438);
50
+ d = gg(d, a, b, c, k[14], 9, -1019803690);
51
+ c = gg(c, d, a, b, k[3], 14, -187363961);
52
+ b = gg(b, c, d, a, k[8], 20, 1163531501);
53
+ a = gg(a, b, c, d, k[13], 5, -1444681467);
54
+ d = gg(d, a, b, c, k[2], 9, -51403784);
55
+ c = gg(c, d, a, b, k[7], 14, 1735328473);
56
+ b = gg(b, c, d, a, k[12], 20, -1926607734);
57
+
58
+ a = hh(a, b, c, d, k[5], 4, -378558);
59
+ d = hh(d, a, b, c, k[8], 11, -2022574463);
60
+ c = hh(c, d, a, b, k[11], 16, 1839030562);
61
+ b = hh(b, c, d, a, k[14], 23, -35309556);
62
+ a = hh(a, b, c, d, k[1], 4, -1530992060);
63
+ d = hh(d, a, b, c, k[4], 11, 1272893353);
64
+ c = hh(c, d, a, b, k[7], 16, -155497632);
65
+ b = hh(b, c, d, a, k[10], 23, -1094730640);
66
+ a = hh(a, b, c, d, k[13], 4, 681279174);
67
+ d = hh(d, a, b, c, k[0], 11, -358537222);
68
+ c = hh(c, d, a, b, k[3], 16, -722521979);
69
+ b = hh(b, c, d, a, k[6], 23, 76029189);
70
+ a = hh(a, b, c, d, k[9], 4, -640364487);
71
+ d = hh(d, a, b, c, k[12], 11, -421815835);
72
+ c = hh(c, d, a, b, k[15], 16, 530742520);
73
+ b = hh(b, c, d, a, k[2], 23, -995338651);
74
+
75
+ a = ii(a, b, c, d, k[0], 6, -198630844);
76
+ d = ii(d, a, b, c, k[7], 10, 1126891415);
77
+ c = ii(c, d, a, b, k[14], 15, -1416354905);
78
+ b = ii(b, c, d, a, k[5], 21, -57434055);
79
+ a = ii(a, b, c, d, k[12], 6, 1700485571);
80
+ d = ii(d, a, b, c, k[3], 10, -1894986606);
81
+ c = ii(c, d, a, b, k[10], 15, -1051523);
82
+ b = ii(b, c, d, a, k[1], 21, -2054922799);
83
+ a = ii(a, b, c, d, k[8], 6, 1873313359);
84
+ d = ii(d, a, b, c, k[15], 10, -30611744);
85
+ c = ii(c, d, a, b, k[6], 15, -1560198380);
86
+ b = ii(b, c, d, a, k[13], 21, 1309151649);
87
+ a = ii(a, b, c, d, k[4], 6, -145523070);
88
+ d = ii(d, a, b, c, k[11], 10, -1120210379);
89
+ c = ii(c, d, a, b, k[2], 15, 718787259);
90
+ b = ii(b, c, d, a, k[9], 21, -343485551);
91
+
92
+ x[0] = add32(a, x[0]);
93
+ x[1] = add32(b, x[1]);
94
+ x[2] = add32(c, x[2]);
95
+ x[3] = add32(d, x[3]);
96
+
97
+ }
98
+
99
+ function cmn(q, a, b, x, s, t) {
100
+ a = add32(add32(a, q), add32(x, t));
101
+ return add32((a << s) | (a >>> (32 - s)), b);
102
+ }
103
+
104
+ function ff(a, b, c, d, x, s, t) {
105
+ return cmn((b & c) | ((~b) & d), a, b, x, s, t);
106
+ }
107
+
108
+ function gg(a, b, c, d, x, s, t) {
109
+ return cmn((b & d) | (c & (~d)), a, b, x, s, t);
110
+ }
111
+
112
+ function hh(a, b, c, d, x, s, t) {
113
+ return cmn(b ^ c ^ d, a, b, x, s, t);
114
+ }
115
+
116
+ function ii(a, b, c, d, x, s, t) {
117
+ return cmn(c ^ (b | (~d)), a, b, x, s, t);
118
+ }
119
+
120
+ function md51(s) {
121
+ //var txt = '';
122
+ var n = s.length,
123
+ state = [1732584193, -271733879, -1732584194, 271733878], i;
124
+ for (i = 64; i <= s.length; i += 64) {
125
+ md5cycle(state, md5blk(s.substring(i - 64, i)));
126
+ }
127
+ s = s.substring(i - 64);
128
+ var tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
129
+ for (i = 0; i < s.length; i++)
130
+ tail[i >> 2] |= s.charCodeAt(i) << ((i % 4) << 3);
131
+ tail[i >> 2] |= 0x80 << ((i % 4) << 3);
132
+ if (i > 55) {
133
+ md5cycle(state, tail);
134
+ for (i = 0; i < 16; i++) tail[i] = 0;
135
+ }
136
+ tail[14] = n * 8;
137
+ md5cycle(state, tail);
138
+ return state;
139
+ }
140
+
141
+ /* there needs to be support for Unicode here,
142
+ * unless we pretend that we can redefine the MD-5
143
+ * algorithm for multi-byte characters (perhaps
144
+ * by adding every four 16-bit characters and
145
+ * shortening the sum to 32 bits). Otherwise
146
+ * I suggest performing MD-5 as if every character
147
+ * was two bytes--e.g., 0040 0025 = @%--but then
148
+ * how will an ordinary MD-5 sum be matched?
149
+ * There is no way to standardize text to something
150
+ * like UTF-8 before transformation; speed cost is
151
+ * utterly prohibitive. The JavaScript standard
152
+ * itself needs to look at this: it should start
153
+ * providing access to strings as preformed UTF-8
154
+ * 8-bit unsigned value arrays.
155
+ */
156
+ function md5blk(s) { /* I figured global was faster. */
157
+ var md5blks = [], i; /* Andy King said do it this way. */
158
+ for (i = 0; i < 64; i += 4) {
159
+ md5blks[i >> 2] = s.charCodeAt(i)
160
+ + (s.charCodeAt(i + 1) << 8)
161
+ + (s.charCodeAt(i + 2) << 16)
162
+ + (s.charCodeAt(i + 3) << 24);
163
+ }
164
+ return md5blks;
165
+ }
166
+
167
+ var hex_chr = '0123456789abcdef'.split('');
168
+
169
+ function rhex(n) {
170
+ var s = '', j = 0;
171
+ for (; j < 4; j++)
172
+ s += hex_chr[(n >> (j * 8 + 4)) & 0x0F]
173
+ + hex_chr[(n >> (j * 8)) & 0x0F];
174
+ return s;
175
+ }
176
+
177
+ function hex(x) {
178
+ for (var i = 0; i < x.length; i++)
179
+ x[i] = rhex(x[i]);
180
+ return x.join('');
181
+ }
182
+
183
+ if (md5('hello') !== '5d41402abc4b2a76b9719d911017c592') {
184
+ //slower one, for IE only
185
+ add32 = (x, y) => {
186
+ var lsw = (x & 0xFFFF) + (y & 0xFFFF),
187
+ msw = (x >> 16) + (y >> 16) + (lsw >> 16);
188
+ return (msw << 16) | (lsw & 0xFFFF);
189
+ };
190
190
  }
@@ -1,34 +1,34 @@
1
- import assert from 'assert/strict';
2
- import test from 'node:test';
3
- import { objectsEqual, primitivesEqual } from './objects';
4
-
5
- test('primitivesEqual', t => {
6
- assert.strictEqual(primitivesEqual(null, ""), false);
7
- assert.strictEqual(primitivesEqual(null, undefined), true);
8
- assert.strictEqual(primitivesEqual(new Date('2022-02-02'), new Date('2022-02-02')), true);
9
- });
10
- test('objectsEqual', async t => {
11
- let now = new Date();
12
- let next = new Date(now.getTime() + 10000);//add a second
13
- assert.strictEqual(objectsEqual(1.42, 1.42), true);
14
- assert.strictEqual(objectsEqual(now, now), true);
15
- assert.strictEqual(objectsEqual(now, next), false);
16
- assert.strictEqual(objectsEqual("hello", "bye"), false);
17
- assert.strictEqual(objectsEqual(() => { console.log(1); }, () => { console.log(1); }), true);
18
- assert.strictEqual(objectsEqual(() => { console.log(1); }, () => { console.log(2); }), false);
19
- assert.strictEqual(objectsEqual(
20
- { id: 1, name: "test", complex: { cid: 4, foo: () => console.log(1) }, nested: { nid: 4, complex: { ncid: 5, time: now } } },
21
- { id: 1, name: "test", complex: { cid: 4, foo: () => console.log(1) }, nested: { nid: 4, complex: { ncid: 5, time: now } } }),
22
- true);
23
- assert.strictEqual(objectsEqual(
24
- { id: 1, name: "test", complex: { cid: 4, foo: () => console.log(1) }, nested: { nid: 4, complex: { ncid: 5, time: now } } },
25
- { id: 1, name: "test", complex: { cid: 4, foo: () => console.log(1) }, nested: { nid: 4, complex: { ncid: 5, time: next } } }),
26
- false);
27
- assert.strictEqual(objectsEqual(
28
- { id: 1, name: "test", complex: { cid: 4, foo: () => console.log(1) }, nested: { nid: 4, complex: { ncid: 5, time: now } } },
29
- { id: 1, name: "test", complex: { cid: 4, foo: () => console.log(1) }, nested: { nid: 4, complex: { ncid: 5, time: next } } },
30
- ["time"]),
31
- true);
32
-
33
- assert.strictEqual(objectsEqual(null, ""), false);
1
+ import assert from 'assert/strict';
2
+ import test from 'node:test';
3
+ import { objectsEqual, primitivesEqual } from './objects';
4
+
5
+ test('primitivesEqual', t => {
6
+ assert.strictEqual(primitivesEqual(null, ""), false);
7
+ assert.strictEqual(primitivesEqual(null, undefined), true);
8
+ assert.strictEqual(primitivesEqual(new Date('2022-02-02'), new Date('2022-02-02')), true);
9
+ });
10
+ test('objectsEqual', async t => {
11
+ let now = new Date();
12
+ let next = new Date(now.getTime() + 10000);//add a second
13
+ assert.strictEqual(objectsEqual(1.42, 1.42), true);
14
+ assert.strictEqual(objectsEqual(now, now), true);
15
+ assert.strictEqual(objectsEqual(now, next), false);
16
+ assert.strictEqual(objectsEqual("hello", "bye"), false);
17
+ assert.strictEqual(objectsEqual(() => { console.log(1); }, () => { console.log(1); }), true);
18
+ assert.strictEqual(objectsEqual(() => { console.log(1); }, () => { console.log(2); }), false);
19
+ assert.strictEqual(objectsEqual(
20
+ { id: 1, name: "test", complex: { cid: 4, foo: () => console.log(1) }, nested: { nid: 4, complex: { ncid: 5, time: now } } },
21
+ { id: 1, name: "test", complex: { cid: 4, foo: () => console.log(1) }, nested: { nid: 4, complex: { ncid: 5, time: now } } }),
22
+ true);
23
+ assert.strictEqual(objectsEqual(
24
+ { id: 1, name: "test", complex: { cid: 4, foo: () => console.log(1) }, nested: { nid: 4, complex: { ncid: 5, time: now } } },
25
+ { id: 1, name: "test", complex: { cid: 4, foo: () => console.log(1) }, nested: { nid: 4, complex: { ncid: 5, time: next } } }),
26
+ false);
27
+ assert.strictEqual(objectsEqual(
28
+ { id: 1, name: "test", complex: { cid: 4, foo: () => console.log(1) }, nested: { nid: 4, complex: { ncid: 5, time: now } } },
29
+ { id: 1, name: "test", complex: { cid: 4, foo: () => console.log(1) }, nested: { nid: 4, complex: { ncid: 5, time: next } } },
30
+ ["time"]),
31
+ true);
32
+
33
+ assert.strictEqual(objectsEqual(null, ""), false);
34
34
  });