@fgv/ts-web-extras 5.1.0-12 → 5.1.0-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.
- package/.rush/temp/{974a5914552305b0a27fb30966567a15d3e85094.tar.log → 5e6de9551f93314b20b1864c1c59a8451069d073.tar.log} +2 -2
- package/.rush/temp/chunked-rush-logs/ts-web-extras.build.chunks.jsonl +12 -12
- package/.rush/temp/operation/build/all.log +12 -12
- package/.rush/temp/operation/build/log-chunks.jsonl +12 -12
- package/.rush/temp/operation/build/state.json +1 -1
- package/dist/packlets/crypto-utils/browserCryptoProvider.js +22 -1
- package/dist/packlets/crypto-utils/browserCryptoProvider.js.map +1 -1
- package/dist/ts-web-extras.d.ts +6 -0
- package/docs/CryptoUtils/classes/BrowserCryptoProvider.md +13 -0
- package/docs/CryptoUtils/classes/BrowserCryptoProvider.sha256.md +24 -0
- package/docs/classes/BrowserCryptoProvider.md +13 -0
- package/docs/classes/BrowserCryptoProvider.sha256.md +24 -0
- package/etc/ts-web-extras.api.md +1 -0
- package/lib/packlets/crypto-utils/browserCryptoProvider.d.ts +6 -0
- package/lib/packlets/crypto-utils/browserCryptoProvider.d.ts.map +1 -1
- package/lib/packlets/crypto-utils/browserCryptoProvider.js +21 -0
- package/lib/packlets/crypto-utils/browserCryptoProvider.js.map +1 -1
- package/package.json +10 -10
- package/rush-logs/ts-web-extras.build.cache.log +1 -1
- package/rush-logs/ts-web-extras.build.log +12 -12
- package/src/packlets/crypto-utils/browserCryptoProvider.ts +22 -1
- package/temp/build/typescript/ts_8nwakTlr.json +1 -1
- package/temp/coverage/crypto-utils/browserCryptoProvider.ts.html +69 -6
- package/temp/coverage/crypto-utils/browserHashProvider.ts.html +1 -1
- package/temp/coverage/crypto-utils/index.html +7 -7
- package/temp/coverage/file-tree/directoryHandleStore.ts.html +1 -1
- package/temp/coverage/file-tree/fileApiTreeAccessors.ts.html +1 -1
- package/temp/coverage/file-tree/fileSystemAccessTreeAccessors.ts.html +1 -1
- package/temp/coverage/file-tree/httpTreeAccessors.ts.html +1 -1
- package/temp/coverage/file-tree/index.html +1 -1
- package/temp/coverage/file-tree/localStorageTreeAccessors.ts.html +1 -1
- package/temp/coverage/helpers/fileTreeHelpers.ts.html +1 -1
- package/temp/coverage/helpers/index.html +1 -1
- package/temp/coverage/index.html +7 -7
- package/temp/coverage/lcov-report/crypto-utils/browserCryptoProvider.ts.html +69 -6
- package/temp/coverage/lcov-report/crypto-utils/browserHashProvider.ts.html +1 -1
- package/temp/coverage/lcov-report/crypto-utils/index.html +7 -7
- package/temp/coverage/lcov-report/file-tree/directoryHandleStore.ts.html +1 -1
- package/temp/coverage/lcov-report/file-tree/fileApiTreeAccessors.ts.html +1 -1
- package/temp/coverage/lcov-report/file-tree/fileSystemAccessTreeAccessors.ts.html +1 -1
- package/temp/coverage/lcov-report/file-tree/httpTreeAccessors.ts.html +1 -1
- package/temp/coverage/lcov-report/file-tree/index.html +1 -1
- package/temp/coverage/lcov-report/file-tree/localStorageTreeAccessors.ts.html +1 -1
- package/temp/coverage/lcov-report/helpers/fileTreeHelpers.ts.html +1 -1
- package/temp/coverage/lcov-report/helpers/index.html +1 -1
- package/temp/coverage/lcov-report/index.html +7 -7
- package/temp/coverage/lcov-report/url-utils/index.html +1 -1
- package/temp/coverage/lcov-report/url-utils/urlParams.ts.html +1 -1
- package/temp/coverage/lcov.info +31 -8
- package/temp/coverage/url-utils/index.html +1 -1
- package/temp/coverage/url-utils/urlParams.ts.html +1 -1
- package/temp/test/jest/haste-map-7492f1b44480e0cdd1f220078fb3afd8-c8dd6c3430605adeb2f1cadf4f75e791-8c9336785555d572065b28c111982ba4 +0 -0
- package/temp/test/jest/perf-cache-7492f1b44480e0cdd1f220078fb3afd8-da39a3ee5e6b4b0d3255bfef95601890 +1 -1
- package/temp/ts-web-extras.api.json +62 -0
- package/temp/ts-web-extras.api.md +1 -0
|
@@ -1627,7 +1627,7 @@ export class FileSystemAccessTreeAccessors<TCT extends string = string>
|
|
|
1627
1627
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1628
1628
|
Code coverage generated by
|
|
1629
1629
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1630
|
-
at 2026-04-
|
|
1630
|
+
at 2026-04-12T23:05:23.921Z
|
|
1631
1631
|
</div>
|
|
1632
1632
|
<script src="../prettify.js"></script>
|
|
1633
1633
|
<script>
|
|
@@ -1504,7 +1504,7 @@ export class HttpTreeAccessors<TCT extends string = string>
|
|
|
1504
1504
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1505
1505
|
Code coverage generated by
|
|
1506
1506
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1507
|
-
at 2026-04-
|
|
1507
|
+
at 2026-04-12T23:05:23.921Z
|
|
1508
1508
|
</div>
|
|
1509
1509
|
<script src="../prettify.js"></script>
|
|
1510
1510
|
<script>
|
|
@@ -161,7 +161,7 @@
|
|
|
161
161
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
162
162
|
Code coverage generated by
|
|
163
163
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
164
|
-
at 2026-04-
|
|
164
|
+
at 2026-04-12T23:05:23.921Z
|
|
165
165
|
</div>
|
|
166
166
|
<script src="../prettify.js"></script>
|
|
167
167
|
<script>
|
|
@@ -1360,7 +1360,7 @@ export class LocalStorageTreeAccessors<TCT extends string = string>
|
|
|
1360
1360
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1361
1361
|
Code coverage generated by
|
|
1362
1362
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1363
|
-
at 2026-04-
|
|
1363
|
+
at 2026-04-12T23:05:23.921Z
|
|
1364
1364
|
</div>
|
|
1365
1365
|
<script src="../prettify.js"></script>
|
|
1366
1366
|
<script>
|
|
@@ -391,7 +391,7 @@ export function extractFileMetadata(file: File): IFileMetadata {
|
|
|
391
391
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
392
392
|
Code coverage generated by
|
|
393
393
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
394
|
-
at 2026-04-
|
|
394
|
+
at 2026-04-12T23:05:23.921Z
|
|
395
395
|
</div>
|
|
396
396
|
<script src="../prettify.js"></script>
|
|
397
397
|
<script>
|
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
102
102
|
Code coverage generated by
|
|
103
103
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
104
|
-
at 2026-04-
|
|
104
|
+
at 2026-04-12T23:05:23.921Z
|
|
105
105
|
</div>
|
|
106
106
|
<script src="../prettify.js"></script>
|
|
107
107
|
<script>
|
package/temp/coverage/index.html
CHANGED
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
26
|
<span class="strong">100% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>2848/2848</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
@@ -39,14 +39,14 @@
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
40
|
<span class="strong">100% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>95/95</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
47
|
<span class="strong">100% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>2848/2848</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -84,13 +84,13 @@
|
|
|
84
84
|
<div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
|
|
85
85
|
</td>
|
|
86
86
|
<td data-value="100" class="pct high">100%</td>
|
|
87
|
-
<td data-value="
|
|
87
|
+
<td data-value="405" class="abs high">405/405</td>
|
|
88
88
|
<td data-value="100" class="pct high">100%</td>
|
|
89
89
|
<td data-value="9" class="abs high">9/9</td>
|
|
90
90
|
<td data-value="100" class="pct high">100%</td>
|
|
91
|
-
<td data-value="
|
|
91
|
+
<td data-value="13" class="abs high">13/13</td>
|
|
92
92
|
<td data-value="100" class="pct high">100%</td>
|
|
93
|
-
<td data-value="
|
|
93
|
+
<td data-value="405" class="abs high">405/405</td>
|
|
94
94
|
</tr>
|
|
95
95
|
|
|
96
96
|
<tr>
|
|
@@ -146,7 +146,7 @@
|
|
|
146
146
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
147
147
|
Code coverage generated by
|
|
148
148
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
149
|
-
at 2026-04-
|
|
149
|
+
at 2026-04-12T23:05:23.921Z
|
|
150
150
|
</div>
|
|
151
151
|
<script src="prettify.js"></script>
|
|
152
152
|
<script>
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
26
|
<span class="strong">100% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>332/332</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
@@ -39,14 +39,14 @@
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
40
|
<span class="strong">100% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>11/11</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
47
|
<span class="strong">100% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>332/332</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -374,7 +374,49 @@
|
|
|
374
374
|
<a name='L309'></a><a href='#L309'>309</a>
|
|
375
375
|
<a name='L310'></a><a href='#L310'>310</a>
|
|
376
376
|
<a name='L311'></a><a href='#L311'>311</a>
|
|
377
|
-
<a name='L312'></a><a href='#L312'>312</a
|
|
377
|
+
<a name='L312'></a><a href='#L312'>312</a>
|
|
378
|
+
<a name='L313'></a><a href='#L313'>313</a>
|
|
379
|
+
<a name='L314'></a><a href='#L314'>314</a>
|
|
380
|
+
<a name='L315'></a><a href='#L315'>315</a>
|
|
381
|
+
<a name='L316'></a><a href='#L316'>316</a>
|
|
382
|
+
<a name='L317'></a><a href='#L317'>317</a>
|
|
383
|
+
<a name='L318'></a><a href='#L318'>318</a>
|
|
384
|
+
<a name='L319'></a><a href='#L319'>319</a>
|
|
385
|
+
<a name='L320'></a><a href='#L320'>320</a>
|
|
386
|
+
<a name='L321'></a><a href='#L321'>321</a>
|
|
387
|
+
<a name='L322'></a><a href='#L322'>322</a>
|
|
388
|
+
<a name='L323'></a><a href='#L323'>323</a>
|
|
389
|
+
<a name='L324'></a><a href='#L324'>324</a>
|
|
390
|
+
<a name='L325'></a><a href='#L325'>325</a>
|
|
391
|
+
<a name='L326'></a><a href='#L326'>326</a>
|
|
392
|
+
<a name='L327'></a><a href='#L327'>327</a>
|
|
393
|
+
<a name='L328'></a><a href='#L328'>328</a>
|
|
394
|
+
<a name='L329'></a><a href='#L329'>329</a>
|
|
395
|
+
<a name='L330'></a><a href='#L330'>330</a>
|
|
396
|
+
<a name='L331'></a><a href='#L331'>331</a>
|
|
397
|
+
<a name='L332'></a><a href='#L332'>332</a>
|
|
398
|
+
<a name='L333'></a><a href='#L333'>333</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
399
|
+
<span class="cline-any cline-yes">1x</span>
|
|
400
|
+
<span class="cline-any cline-yes">1x</span>
|
|
401
|
+
<span class="cline-any cline-yes">1x</span>
|
|
402
|
+
<span class="cline-any cline-yes">1x</span>
|
|
403
|
+
<span class="cline-any cline-yes">1x</span>
|
|
404
|
+
<span class="cline-any cline-yes">1x</span>
|
|
405
|
+
<span class="cline-any cline-yes">1x</span>
|
|
406
|
+
<span class="cline-any cline-yes">1x</span>
|
|
407
|
+
<span class="cline-any cline-yes">1x</span>
|
|
408
|
+
<span class="cline-any cline-yes">1x</span>
|
|
409
|
+
<span class="cline-any cline-yes">1x</span>
|
|
410
|
+
<span class="cline-any cline-yes">1x</span>
|
|
411
|
+
<span class="cline-any cline-yes">1x</span>
|
|
412
|
+
<span class="cline-any cline-yes">1x</span>
|
|
413
|
+
<span class="cline-any cline-yes">1x</span>
|
|
414
|
+
<span class="cline-any cline-yes">1x</span>
|
|
415
|
+
<span class="cline-any cline-yes">1x</span>
|
|
416
|
+
<span class="cline-any cline-yes">1x</span>
|
|
417
|
+
<span class="cline-any cline-yes">1x</span>
|
|
418
|
+
<span class="cline-any cline-yes">1x</span>
|
|
419
|
+
<span class="cline-any cline-yes">1x</span>
|
|
378
420
|
<span class="cline-any cline-yes">1x</span>
|
|
379
421
|
<span class="cline-any cline-yes">1x</span>
|
|
380
422
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -706,7 +748,7 @@
|
|
|
706
748
|
// SOFTWARE.
|
|
707
749
|
|
|
708
750
|
/* c8 ignore start - Browser-only implementation cannot be tested in Node.js environment */
|
|
709
|
-
import { captureResult, Failure, Result, Success } from '@fgv/ts-utils';
|
|
751
|
+
import { captureResult, fail, Failure, Result, succeed, Success } from '@fgv/ts-utils';
|
|
710
752
|
import { CryptoUtils } from '@fgv/ts-extras';
|
|
711
753
|
|
|
712
754
|
type ICryptoProvider = CryptoUtils.ICryptoProvider;
|
|
@@ -931,6 +973,27 @@ export class BrowserCryptoProvider implements ICryptoProvider {
|
|
|
931
973
|
return Failure.with(`Key derivation failed: ${message}`);
|
|
932
974
|
}
|
|
933
975
|
}
|
|
976
|
+
|
|
977
|
+
/**
|
|
978
|
+
* Computes a SHA-256 hash of the given data.
|
|
979
|
+
* @param data - UTF-8 string to hash
|
|
980
|
+
* @returns `Success` with hex-encoded hash string, or `Failure` with an error.
|
|
981
|
+
*/
|
|
982
|
+
public async sha256(data: string): Promise<Result<string>> {
|
|
983
|
+
try {
|
|
984
|
+
const encoder = new TextEncoder();
|
|
985
|
+
const dataBuffer = encoder.encode(data);
|
|
986
|
+
const hashBuffer = await this._crypto.subtle.digest('SHA-256', dataBuffer);
|
|
987
|
+
const hashArray = new Uint8Array(hashBuffer);
|
|
988
|
+
const hashHex = Array.from(hashArray)
|
|
989
|
+
.map((b) => b.toString(16).padStart(2, '0'))
|
|
990
|
+
.join('');
|
|
991
|
+
return succeed(hashHex);
|
|
992
|
+
} catch (e) {
|
|
993
|
+
const message = e instanceof Error ? e.message : String(e);
|
|
994
|
+
return fail(`SHA-256 hash failed: ${message}`);
|
|
995
|
+
}
|
|
996
|
+
}
|
|
934
997
|
|
|
935
998
|
// ============================================================================
|
|
936
999
|
// Platform Utility Methods
|
|
@@ -1003,7 +1066,7 @@ export function createBrowserCryptoProvider(): Result<BrowserCryptoProvider&g
|
|
|
1003
1066
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1004
1067
|
Code coverage generated by
|
|
1005
1068
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1006
|
-
at 2026-04-
|
|
1069
|
+
at 2026-04-12T23:05:23.872Z
|
|
1007
1070
|
</div>
|
|
1008
1071
|
<script src="../prettify.js"></script>
|
|
1009
1072
|
<script>
|
|
@@ -289,7 +289,7 @@ export class BrowserHashProvider {
|
|
|
289
289
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
290
290
|
Code coverage generated by
|
|
291
291
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
292
|
-
at 2026-04-
|
|
292
|
+
at 2026-04-12T23:05:23.872Z
|
|
293
293
|
</div>
|
|
294
294
|
<script src="../prettify.js"></script>
|
|
295
295
|
<script>
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
26
|
<span class="strong">100% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>405/405</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
@@ -39,14 +39,14 @@
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
40
|
<span class="strong">100% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>13/13</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
47
|
<span class="strong">100% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>405/405</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -84,13 +84,13 @@
|
|
|
84
84
|
<div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
|
|
85
85
|
</td>
|
|
86
86
|
<td data-value="100" class="pct high">100%</td>
|
|
87
|
-
<td data-value="
|
|
87
|
+
<td data-value="332" class="abs high">332/332</td>
|
|
88
88
|
<td data-value="100" class="pct high">100%</td>
|
|
89
89
|
<td data-value="0" class="abs high">0/0</td>
|
|
90
90
|
<td data-value="100" class="pct high">100%</td>
|
|
91
|
-
<td data-value="
|
|
91
|
+
<td data-value="11" class="abs high">11/11</td>
|
|
92
92
|
<td data-value="100" class="pct high">100%</td>
|
|
93
|
-
<td data-value="
|
|
93
|
+
<td data-value="332" class="abs high">332/332</td>
|
|
94
94
|
</tr>
|
|
95
95
|
|
|
96
96
|
<tr>
|
|
@@ -116,7 +116,7 @@
|
|
|
116
116
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
117
117
|
Code coverage generated by
|
|
118
118
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
119
|
-
at 2026-04-
|
|
119
|
+
at 2026-04-12T23:05:23.872Z
|
|
120
120
|
</div>
|
|
121
121
|
<script src="../prettify.js"></script>
|
|
122
122
|
<script>
|
|
@@ -478,7 +478,7 @@ export class DirectoryHandleStore {
|
|
|
478
478
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
479
479
|
Code coverage generated by
|
|
480
480
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
481
|
-
at 2026-04-
|
|
481
|
+
at 2026-04-12T23:05:23.872Z
|
|
482
482
|
</div>
|
|
483
483
|
<script src="../prettify.js"></script>
|
|
484
484
|
<script>
|
|
@@ -1654,7 +1654,7 @@ export class FileApiTreeAccessors<TCT extends string = string> {
|
|
|
1654
1654
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1655
1655
|
Code coverage generated by
|
|
1656
1656
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1657
|
-
at 2026-04-
|
|
1657
|
+
at 2026-04-12T23:05:23.872Z
|
|
1658
1658
|
</div>
|
|
1659
1659
|
<script src="../prettify.js"></script>
|
|
1660
1660
|
<script>
|
|
@@ -1627,7 +1627,7 @@ export class FileSystemAccessTreeAccessors<TCT extends string = string>
|
|
|
1627
1627
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1628
1628
|
Code coverage generated by
|
|
1629
1629
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1630
|
-
at 2026-04-
|
|
1630
|
+
at 2026-04-12T23:05:23.872Z
|
|
1631
1631
|
</div>
|
|
1632
1632
|
<script src="../prettify.js"></script>
|
|
1633
1633
|
<script>
|
|
@@ -1504,7 +1504,7 @@ export class HttpTreeAccessors<TCT extends string = string>
|
|
|
1504
1504
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1505
1505
|
Code coverage generated by
|
|
1506
1506
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1507
|
-
at 2026-04-
|
|
1507
|
+
at 2026-04-12T23:05:23.872Z
|
|
1508
1508
|
</div>
|
|
1509
1509
|
<script src="../prettify.js"></script>
|
|
1510
1510
|
<script>
|
|
@@ -161,7 +161,7 @@
|
|
|
161
161
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
162
162
|
Code coverage generated by
|
|
163
163
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
164
|
-
at 2026-04-
|
|
164
|
+
at 2026-04-12T23:05:23.872Z
|
|
165
165
|
</div>
|
|
166
166
|
<script src="../prettify.js"></script>
|
|
167
167
|
<script>
|
|
@@ -1360,7 +1360,7 @@ export class LocalStorageTreeAccessors<TCT extends string = string>
|
|
|
1360
1360
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1361
1361
|
Code coverage generated by
|
|
1362
1362
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1363
|
-
at 2026-04-
|
|
1363
|
+
at 2026-04-12T23:05:23.872Z
|
|
1364
1364
|
</div>
|
|
1365
1365
|
<script src="../prettify.js"></script>
|
|
1366
1366
|
<script>
|
|
@@ -391,7 +391,7 @@ export function extractFileMetadata(file: File): IFileMetadata {
|
|
|
391
391
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
392
392
|
Code coverage generated by
|
|
393
393
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
394
|
-
at 2026-04-
|
|
394
|
+
at 2026-04-12T23:05:23.872Z
|
|
395
395
|
</div>
|
|
396
396
|
<script src="../prettify.js"></script>
|
|
397
397
|
<script>
|
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
102
102
|
Code coverage generated by
|
|
103
103
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
104
|
-
at 2026-04-
|
|
104
|
+
at 2026-04-12T23:05:23.872Z
|
|
105
105
|
</div>
|
|
106
106
|
<script src="../prettify.js"></script>
|
|
107
107
|
<script>
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
26
|
<span class="strong">100% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>2848/2848</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
@@ -39,14 +39,14 @@
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
40
|
<span class="strong">100% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>95/95</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
47
|
<span class="strong">100% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>2848/2848</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -84,13 +84,13 @@
|
|
|
84
84
|
<div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
|
|
85
85
|
</td>
|
|
86
86
|
<td data-value="100" class="pct high">100%</td>
|
|
87
|
-
<td data-value="
|
|
87
|
+
<td data-value="405" class="abs high">405/405</td>
|
|
88
88
|
<td data-value="100" class="pct high">100%</td>
|
|
89
89
|
<td data-value="9" class="abs high">9/9</td>
|
|
90
90
|
<td data-value="100" class="pct high">100%</td>
|
|
91
|
-
<td data-value="
|
|
91
|
+
<td data-value="13" class="abs high">13/13</td>
|
|
92
92
|
<td data-value="100" class="pct high">100%</td>
|
|
93
|
-
<td data-value="
|
|
93
|
+
<td data-value="405" class="abs high">405/405</td>
|
|
94
94
|
</tr>
|
|
95
95
|
|
|
96
96
|
<tr>
|
|
@@ -146,7 +146,7 @@
|
|
|
146
146
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
147
147
|
Code coverage generated by
|
|
148
148
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
149
|
-
at 2026-04-
|
|
149
|
+
at 2026-04-12T23:05:23.872Z
|
|
150
150
|
</div>
|
|
151
151
|
<script src="prettify.js"></script>
|
|
152
152
|
<script>
|
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
102
102
|
Code coverage generated by
|
|
103
103
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
104
|
-
at 2026-04-
|
|
104
|
+
at 2026-04-12T23:05:23.872Z
|
|
105
105
|
</div>
|
|
106
106
|
<script src="../prettify.js"></script>
|
|
107
107
|
<script>
|
|
@@ -805,7 +805,7 @@ export function isFilePath(path: string): boolean {
|
|
|
805
805
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
806
806
|
Code coverage generated by
|
|
807
807
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
808
|
-
at 2026-04-
|
|
808
|
+
at 2026-04-12T23:05:23.872Z
|
|
809
809
|
</div>
|
|
810
810
|
<script src="../prettify.js"></script>
|
|
811
811
|
<script>
|
package/temp/coverage/lcov.info
CHANGED
|
@@ -6,18 +6,20 @@ FN:75,encrypt
|
|
|
6
6
|
FN:134,decrypt
|
|
7
7
|
FN:191,generateKey
|
|
8
8
|
FN:207,deriveKey
|
|
9
|
-
FN:
|
|
10
|
-
FN:
|
|
11
|
-
FN:
|
|
12
|
-
FN:
|
|
13
|
-
|
|
14
|
-
|
|
9
|
+
FN:253,sha256
|
|
10
|
+
FN:278,generateRandomBytes
|
|
11
|
+
FN:295,toBase64
|
|
12
|
+
FN:309,fromBase64
|
|
13
|
+
FN:329,createBrowserCryptoProvider
|
|
14
|
+
FNF:11
|
|
15
|
+
FNH:11
|
|
15
16
|
FNDA:1,toArrayBuffer
|
|
16
17
|
FNDA:1,BrowserCryptoProvider
|
|
17
18
|
FNDA:1,encrypt
|
|
18
19
|
FNDA:1,decrypt
|
|
19
20
|
FNDA:1,generateKey
|
|
20
21
|
FNDA:1,deriveKey
|
|
22
|
+
FNDA:1,sha256
|
|
21
23
|
FNDA:1,generateRandomBytes
|
|
22
24
|
FNDA:1,toBase64
|
|
23
25
|
FNDA:1,fromBase64
|
|
@@ -333,8 +335,29 @@ DA:308,1
|
|
|
333
335
|
DA:309,1
|
|
334
336
|
DA:310,1
|
|
335
337
|
DA:311,1
|
|
336
|
-
|
|
337
|
-
|
|
338
|
+
DA:312,1
|
|
339
|
+
DA:313,1
|
|
340
|
+
DA:314,1
|
|
341
|
+
DA:315,1
|
|
342
|
+
DA:316,1
|
|
343
|
+
DA:317,1
|
|
344
|
+
DA:318,1
|
|
345
|
+
DA:319,1
|
|
346
|
+
DA:320,1
|
|
347
|
+
DA:321,1
|
|
348
|
+
DA:322,1
|
|
349
|
+
DA:323,1
|
|
350
|
+
DA:324,1
|
|
351
|
+
DA:325,1
|
|
352
|
+
DA:326,1
|
|
353
|
+
DA:327,1
|
|
354
|
+
DA:328,1
|
|
355
|
+
DA:329,1
|
|
356
|
+
DA:330,1
|
|
357
|
+
DA:331,1
|
|
358
|
+
DA:332,1
|
|
359
|
+
LF:332
|
|
360
|
+
LH:332
|
|
338
361
|
BRF:0
|
|
339
362
|
BRH:0
|
|
340
363
|
end_of_record
|
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
102
102
|
Code coverage generated by
|
|
103
103
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
104
|
-
at 2026-04-
|
|
104
|
+
at 2026-04-12T23:05:23.921Z
|
|
105
105
|
</div>
|
|
106
106
|
<script src="../prettify.js"></script>
|
|
107
107
|
<script>
|
|
@@ -805,7 +805,7 @@ export function isFilePath(path: string): boolean {
|
|
|
805
805
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
806
806
|
Code coverage generated by
|
|
807
807
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
808
|
-
at 2026-04-
|
|
808
|
+
at 2026-04-12T23:05:23.921Z
|
|
809
809
|
</div>
|
|
810
810
|
<script src="../prettify.js"></script>
|
|
811
811
|
<script>
|
|
Binary file
|
package/temp/test/jest/perf-cache-7492f1b44480e0cdd1f220078fb3afd8-da39a3ee5e6b4b0d3255bfef95601890
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"/home/runner/work/fgv/fgv/libraries/ts-web-extras/lib/test/unit/
|
|
1
|
+
{"/home/runner/work/fgv/fgv/libraries/ts-web-extras/lib/test/unit/httpTreeAccessors.test.js":[1,2213],"/home/runner/work/fgv/fgv/libraries/ts-web-extras/lib/test/unit/localStorageTreeAccessors.test.js":[1,2198],"/home/runner/work/fgv/fgv/libraries/ts-web-extras/lib/test/unit/fileApiTreeAccessors.test.js":[1,2117],"/home/runner/work/fgv/fgv/libraries/ts-web-extras/lib/test/unit/fileTreeHelpers.test.js":[1,1257],"/home/runner/work/fgv/fgv/libraries/ts-web-extras/lib/test/unit/fileSystemAccessTreeAccessors.test.js":[1,1513],"/home/runner/work/fgv/fgv/libraries/ts-web-extras/lib/test/unit/fileApiTypes.test.js":[1,1582],"/home/runner/work/fgv/fgv/libraries/ts-web-extras/lib/test/unit/directoryHandleStore.test.js":[1,1141],"/home/runner/work/fgv/fgv/libraries/ts-web-extras/lib/test/unit/urlParams.test.js":[1,1429],"/home/runner/work/fgv/fgv/libraries/ts-web-extras/lib/test/unit/browserHashProvider.test.js":[1,1273]}
|
|
@@ -740,6 +740,68 @@
|
|
|
740
740
|
"isAbstract": false,
|
|
741
741
|
"name": "generateRandomBytes"
|
|
742
742
|
},
|
|
743
|
+
{
|
|
744
|
+
"kind": "Method",
|
|
745
|
+
"canonicalReference": "@fgv/ts-web-extras!CryptoUtils.BrowserCryptoProvider#sha256:member(1)",
|
|
746
|
+
"docComment": "/**\n * Computes a SHA-256 hash of the given data.\n *\n * @param data - UTF-8 string to hash\n *\n * @returns `Success` with hex-encoded hash string, or `Failure` with an error.\n */\n",
|
|
747
|
+
"excerptTokens": [
|
|
748
|
+
{
|
|
749
|
+
"kind": "Content",
|
|
750
|
+
"text": "sha256(data: "
|
|
751
|
+
},
|
|
752
|
+
{
|
|
753
|
+
"kind": "Content",
|
|
754
|
+
"text": "string"
|
|
755
|
+
},
|
|
756
|
+
{
|
|
757
|
+
"kind": "Content",
|
|
758
|
+
"text": "): "
|
|
759
|
+
},
|
|
760
|
+
{
|
|
761
|
+
"kind": "Reference",
|
|
762
|
+
"text": "Promise",
|
|
763
|
+
"canonicalReference": "!Promise:interface"
|
|
764
|
+
},
|
|
765
|
+
{
|
|
766
|
+
"kind": "Content",
|
|
767
|
+
"text": "<"
|
|
768
|
+
},
|
|
769
|
+
{
|
|
770
|
+
"kind": "Reference",
|
|
771
|
+
"text": "Result",
|
|
772
|
+
"canonicalReference": "@fgv/ts-utils!Result:type"
|
|
773
|
+
},
|
|
774
|
+
{
|
|
775
|
+
"kind": "Content",
|
|
776
|
+
"text": "<string>>"
|
|
777
|
+
},
|
|
778
|
+
{
|
|
779
|
+
"kind": "Content",
|
|
780
|
+
"text": ";"
|
|
781
|
+
}
|
|
782
|
+
],
|
|
783
|
+
"isStatic": false,
|
|
784
|
+
"returnTypeTokenRange": {
|
|
785
|
+
"startIndex": 3,
|
|
786
|
+
"endIndex": 7
|
|
787
|
+
},
|
|
788
|
+
"releaseTag": "Public",
|
|
789
|
+
"isProtected": false,
|
|
790
|
+
"overloadIndex": 1,
|
|
791
|
+
"parameters": [
|
|
792
|
+
{
|
|
793
|
+
"parameterName": "data",
|
|
794
|
+
"parameterTypeTokenRange": {
|
|
795
|
+
"startIndex": 1,
|
|
796
|
+
"endIndex": 2
|
|
797
|
+
},
|
|
798
|
+
"isOptional": false
|
|
799
|
+
}
|
|
800
|
+
],
|
|
801
|
+
"isOptional": false,
|
|
802
|
+
"isAbstract": false,
|
|
803
|
+
"name": "sha256"
|
|
804
|
+
},
|
|
743
805
|
{
|
|
744
806
|
"kind": "Method",
|
|
745
807
|
"canonicalReference": "@fgv/ts-web-extras!CryptoUtils.BrowserCryptoProvider#toBase64:member(1)",
|
|
@@ -23,6 +23,7 @@ class BrowserCryptoProvider implements ICryptoProvider {
|
|
|
23
23
|
fromBase64(base64: string): Result<Uint8Array>;
|
|
24
24
|
generateKey(): Promise<Result<Uint8Array>>;
|
|
25
25
|
generateRandomBytes(length: number): Result<Uint8Array>;
|
|
26
|
+
sha256(data: string): Promise<Result<string>>;
|
|
26
27
|
toBase64(data: Uint8Array): string;
|
|
27
28
|
}
|
|
28
29
|
|