@fgv/ts-web-extras 5.1.0-16 → 5.1.0-18

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 (70) hide show
  1. package/.rush/temp/{f0f00bdb97aeaff654977812289f006f012e92e2.tar.log → 680645452ebdb4d7f294f08d3b45f143d69c3f5d.tar.log} +2 -2
  2. package/.rush/temp/chunked-rush-logs/ts-web-extras.build.chunks.jsonl +12 -12
  3. package/.rush/temp/operation/build/all.log +12 -12
  4. package/.rush/temp/operation/build/log-chunks.jsonl +12 -12
  5. package/.rush/temp/operation/build/state.json +1 -1
  6. package/dist/packlets/crypto-utils/browserCryptoProvider.js +58 -17
  7. package/dist/packlets/crypto-utils/browserCryptoProvider.js.map +1 -1
  8. package/dist/packlets/file-tree/fileApiTreeAccessors.js +1 -1
  9. package/dist/packlets/file-tree/fileApiTreeAccessors.js.map +1 -1
  10. package/dist/ts-web-extras.d.ts +28 -7
  11. package/docs/CryptoUtils/classes/BrowserCryptoProvider.exportPublicKeyJwk.md +24 -0
  12. package/docs/CryptoUtils/classes/BrowserCryptoProvider.generateKeyPair.md +25 -0
  13. package/docs/CryptoUtils/classes/BrowserCryptoProvider.importPublicKeyJwk.md +25 -0
  14. package/docs/CryptoUtils/classes/BrowserCryptoProvider.md +39 -0
  15. package/docs/classes/BrowserCryptoProvider.exportPublicKeyJwk.md +24 -0
  16. package/docs/classes/BrowserCryptoProvider.generateKeyPair.md +25 -0
  17. package/docs/classes/BrowserCryptoProvider.importPublicKeyJwk.md +25 -0
  18. package/docs/classes/BrowserCryptoProvider.md +39 -0
  19. package/docs/classes/FileApiTreeAccessors.extractFileMetadata.md +1 -1
  20. package/docs/classes/FileSystemAccessTreeAccessors.md +10 -10
  21. package/docs/classes/HttpTreeAccessors.deleteFile.md +4 -2
  22. package/docs/classes/HttpTreeAccessors.md +11 -11
  23. package/docs/classes/LocalStorageTreeAccessors.md +10 -10
  24. package/etc/ts-web-extras.api.md +5 -5
  25. package/lib/packlets/crypto-utils/browserCryptoProvider.d.ts +27 -5
  26. package/lib/packlets/crypto-utils/browserCryptoProvider.d.ts.map +1 -1
  27. package/lib/packlets/crypto-utils/browserCryptoProvider.js +57 -16
  28. package/lib/packlets/crypto-utils/browserCryptoProvider.js.map +1 -1
  29. package/lib/packlets/file-tree/fileApiTreeAccessors.d.ts +1 -1
  30. package/lib/packlets/file-tree/fileApiTreeAccessors.js +1 -1
  31. package/lib/packlets/file-tree/fileApiTreeAccessors.js.map +1 -1
  32. package/package.json +10 -10
  33. package/rush-logs/ts-web-extras.build.cache.log +1 -1
  34. package/rush-logs/ts-web-extras.build.log +12 -12
  35. package/src/packlets/crypto-utils/browserCryptoProvider.ts +76 -22
  36. package/src/packlets/file-tree/fileApiTreeAccessors.ts +1 -1
  37. package/temp/build/typescript/ts_8nwakTlr.json +1 -1
  38. package/temp/coverage/crypto-utils/browserCryptoProvider.ts.html +189 -27
  39. package/temp/coverage/crypto-utils/browserHashProvider.ts.html +1 -1
  40. package/temp/coverage/crypto-utils/index.html +7 -7
  41. package/temp/coverage/file-tree/directoryHandleStore.ts.html +1 -1
  42. package/temp/coverage/file-tree/fileApiTreeAccessors.ts.html +2 -2
  43. package/temp/coverage/file-tree/fileSystemAccessTreeAccessors.ts.html +1 -1
  44. package/temp/coverage/file-tree/httpTreeAccessors.ts.html +1 -1
  45. package/temp/coverage/file-tree/index.html +1 -1
  46. package/temp/coverage/file-tree/localStorageTreeAccessors.ts.html +1 -1
  47. package/temp/coverage/helpers/fileTreeHelpers.ts.html +1 -1
  48. package/temp/coverage/helpers/index.html +1 -1
  49. package/temp/coverage/index.html +7 -7
  50. package/temp/coverage/lcov-report/crypto-utils/browserCryptoProvider.ts.html +189 -27
  51. package/temp/coverage/lcov-report/crypto-utils/browserHashProvider.ts.html +1 -1
  52. package/temp/coverage/lcov-report/crypto-utils/index.html +7 -7
  53. package/temp/coverage/lcov-report/file-tree/directoryHandleStore.ts.html +1 -1
  54. package/temp/coverage/lcov-report/file-tree/fileApiTreeAccessors.ts.html +2 -2
  55. package/temp/coverage/lcov-report/file-tree/fileSystemAccessTreeAccessors.ts.html +1 -1
  56. package/temp/coverage/lcov-report/file-tree/httpTreeAccessors.ts.html +1 -1
  57. package/temp/coverage/lcov-report/file-tree/index.html +1 -1
  58. package/temp/coverage/lcov-report/file-tree/localStorageTreeAccessors.ts.html +1 -1
  59. package/temp/coverage/lcov-report/helpers/fileTreeHelpers.ts.html +1 -1
  60. package/temp/coverage/lcov-report/helpers/index.html +1 -1
  61. package/temp/coverage/lcov-report/index.html +7 -7
  62. package/temp/coverage/lcov-report/url-utils/index.html +1 -1
  63. package/temp/coverage/lcov-report/url-utils/urlParams.ts.html +1 -1
  64. package/temp/coverage/lcov.info +75 -15
  65. package/temp/coverage/url-utils/index.html +1 -1
  66. package/temp/coverage/url-utils/urlParams.ts.html +1 -1
  67. package/temp/test/jest/haste-map-7492f1b44480e0cdd1f220078fb3afd8-c8dd6c3430605adeb2f1cadf4f75e791-8c9336785555d572065b28c111982ba4 +0 -0
  68. package/temp/test/jest/perf-cache-7492f1b44480e0cdd1f220078fb3afd8-da39a3ee5e6b4b0d3255bfef95601890 +1 -1
  69. package/temp/ts-web-extras.api.json +254 -5
  70. package/temp/ts-web-extras.api.md +5 -5
@@ -1,18 +1,21 @@
1
1
  TN:
2
2
  SF:src/packlets/crypto-utils/browserCryptoProvider.ts
3
- FN:34,toArrayBuffer
4
- FN:57,BrowserCryptoProvider
5
- FN:75,encrypt
6
- FN:134,decrypt
7
- FN:191,generateKey
8
- FN:207,deriveKey
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
3
+ FN:30,toArrayBuffer
4
+ FN:53,BrowserCryptoProvider
5
+ FN:71,encrypt
6
+ FN:130,decrypt
7
+ FN:187,generateKey
8
+ FN:205,deriveKey
9
+ FN:251,sha256
10
+ FN:276,generateRandomBytes
11
+ FN:293,toBase64
12
+ FN:307,fromBase64
13
+ FN:330,generateKeyPair
14
+ FN:351,exportPublicKeyJwk
15
+ FN:365,importPublicKeyJwk
16
+ FN:383,createBrowserCryptoProvider
17
+ FNF:14
18
+ FNH:14
16
19
  FNDA:1,toArrayBuffer
17
20
  FNDA:1,BrowserCryptoProvider
18
21
  FNDA:1,encrypt
@@ -23,6 +26,9 @@ FNDA:1,sha256
23
26
  FNDA:1,generateRandomBytes
24
27
  FNDA:1,toBase64
25
28
  FNDA:1,fromBase64
29
+ FNDA:1,generateKeyPair
30
+ FNDA:1,exportPublicKeyJwk
31
+ FNDA:1,importPublicKeyJwk
26
32
  FNDA:1,createBrowserCryptoProvider
27
33
  DA:1,1
28
34
  DA:2,1
@@ -356,8 +362,62 @@ DA:329,1
356
362
  DA:330,1
357
363
  DA:331,1
358
364
  DA:332,1
359
- LF:332
360
- LH:332
365
+ DA:333,1
366
+ DA:334,1
367
+ DA:335,1
368
+ DA:336,1
369
+ DA:337,1
370
+ DA:338,1
371
+ DA:339,1
372
+ DA:340,1
373
+ DA:341,1
374
+ DA:342,1
375
+ DA:343,1
376
+ DA:344,1
377
+ DA:345,1
378
+ DA:346,1
379
+ DA:347,1
380
+ DA:348,1
381
+ DA:349,1
382
+ DA:350,1
383
+ DA:351,1
384
+ DA:352,1
385
+ DA:353,1
386
+ DA:354,1
387
+ DA:355,1
388
+ DA:356,1
389
+ DA:357,1
390
+ DA:358,1
391
+ DA:359,1
392
+ DA:360,1
393
+ DA:361,1
394
+ DA:362,1
395
+ DA:363,1
396
+ DA:364,1
397
+ DA:365,1
398
+ DA:366,1
399
+ DA:367,1
400
+ DA:368,1
401
+ DA:369,1
402
+ DA:370,1
403
+ DA:371,1
404
+ DA:372,1
405
+ DA:373,1
406
+ DA:374,1
407
+ DA:375,1
408
+ DA:376,1
409
+ DA:377,1
410
+ DA:378,1
411
+ DA:379,1
412
+ DA:380,1
413
+ DA:381,1
414
+ DA:382,1
415
+ DA:383,1
416
+ DA:384,1
417
+ DA:385,1
418
+ DA:386,1
419
+ LF:386
420
+ LH:386
361
421
  BRF:0
362
422
  BRH:0
363
423
  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-13T15:34:45.550Z
104
+ at 2026-04-27T05:38:37.182Z
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-13T15:34:45.550Z
808
+ at 2026-04-27T05:38:37.182Z
809
809
  </div>
810
810
  <script src="../prettify.js"></script>
811
811
  <script>
@@ -1 +1 @@
1
- {"/home/runner/work/fgv/fgv/libraries/ts-web-extras/lib/test/unit/localStorageTreeAccessors.test.js":[1,1814],"/home/runner/work/fgv/fgv/libraries/ts-web-extras/lib/test/unit/fileApiTreeAccessors.test.js":[1,2274],"/home/runner/work/fgv/fgv/libraries/ts-web-extras/lib/test/unit/httpTreeAccessors.test.js":[1,2153],"/home/runner/work/fgv/fgv/libraries/ts-web-extras/lib/test/unit/fileSystemAccessTreeAccessors.test.js":[1,1485],"/home/runner/work/fgv/fgv/libraries/ts-web-extras/lib/test/unit/fileApiTypes.test.js":[1,1202],"/home/runner/work/fgv/fgv/libraries/ts-web-extras/lib/test/unit/fileTreeHelpers.test.js":[1,1774],"/home/runner/work/fgv/fgv/libraries/ts-web-extras/lib/test/unit/urlParams.test.js":[1,1439],"/home/runner/work/fgv/fgv/libraries/ts-web-extras/lib/test/unit/directoryHandleStore.test.js":[1,1320],"/home/runner/work/fgv/fgv/libraries/ts-web-extras/lib/test/unit/browserHashProvider.test.js":[1,1501]}
1
+ {"/home/runner/work/fgv/fgv/libraries/ts-web-extras/lib/test/unit/localStorageTreeAccessors.test.js":[1,2975],"/home/runner/work/fgv/fgv/libraries/ts-web-extras/lib/test/unit/httpTreeAccessors.test.js":[1,3203],"/home/runner/work/fgv/fgv/libraries/ts-web-extras/lib/test/unit/fileApiTreeAccessors.test.js":[1,3464],"/home/runner/work/fgv/fgv/libraries/ts-web-extras/lib/test/unit/fileSystemAccessTreeAccessors.test.js":[1,1300],"/home/runner/work/fgv/fgv/libraries/ts-web-extras/lib/test/unit/fileTreeHelpers.test.js":[1,1819],"/home/runner/work/fgv/fgv/libraries/ts-web-extras/lib/test/unit/fileApiTypes.test.js":[1,1579],"/home/runner/work/fgv/fgv/libraries/ts-web-extras/lib/test/unit/urlParams.test.js":[1,1586],"/home/runner/work/fgv/fgv/libraries/ts-web-extras/lib/test/unit/directoryHandleStore.test.js":[1,1282],"/home/runner/work/fgv/fgv/libraries/ts-web-extras/lib/test/unit/browserHashProvider.test.js":[1,1520]}
@@ -209,8 +209,8 @@
209
209
  },
210
210
  {
211
211
  "kind": "Reference",
212
- "text": "ICryptoProvider",
213
- "canonicalReference": "@fgv/ts-web-extras!~ICryptoProvider:type"
212
+ "text": "CryptoUtils.ICryptoProvider",
213
+ "canonicalReference": "@fgv/ts-extras!ICryptoProvider:interface"
214
214
  },
215
215
  {
216
216
  "kind": "Content",
@@ -520,8 +520,8 @@
520
520
  },
521
521
  {
522
522
  "kind": "Reference",
523
- "text": "IEncryptionResult",
524
- "canonicalReference": "@fgv/ts-web-extras!~IEncryptionResult:type"
523
+ "text": "CryptoUtils.IEncryptionResult",
524
+ "canonicalReference": "@fgv/ts-extras!IEncryptionResult:interface"
525
525
  },
526
526
  {
527
527
  "kind": "Content",
@@ -562,6 +562,78 @@
562
562
  "isAbstract": false,
563
563
  "name": "encrypt"
564
564
  },
565
+ {
566
+ "kind": "Method",
567
+ "canonicalReference": "@fgv/ts-web-extras!CryptoUtils.BrowserCryptoProvider#exportPublicKeyJwk:member(1)",
568
+ "docComment": "/**\n * Exports a public `CryptoKey` as a JSON Web Key.\n *\n * @remarks\n *\n * Rejects non-public keys at runtime. WebCrypto's `exportKey('jwk', ...)` does not enforce public-vs-private; without this guard a caller that passed an extractable private key would receive its private fields (`d`, `p`, `q`, ...) as JWK, defeating the method's name.\n *\n * @param publicKey - Extractable public key to export.\n *\n * @returns `Success` with the JWK, or `Failure` if not a public key or if export fails.\n */\n",
569
+ "excerptTokens": [
570
+ {
571
+ "kind": "Content",
572
+ "text": "exportPublicKeyJwk(publicKey: "
573
+ },
574
+ {
575
+ "kind": "Reference",
576
+ "text": "CryptoKey",
577
+ "canonicalReference": "!CryptoKey:interface"
578
+ },
579
+ {
580
+ "kind": "Content",
581
+ "text": "): "
582
+ },
583
+ {
584
+ "kind": "Reference",
585
+ "text": "Promise",
586
+ "canonicalReference": "!Promise:interface"
587
+ },
588
+ {
589
+ "kind": "Content",
590
+ "text": "<"
591
+ },
592
+ {
593
+ "kind": "Reference",
594
+ "text": "Result",
595
+ "canonicalReference": "@fgv/ts-utils!Result:type"
596
+ },
597
+ {
598
+ "kind": "Content",
599
+ "text": "<"
600
+ },
601
+ {
602
+ "kind": "Reference",
603
+ "text": "JsonWebKey",
604
+ "canonicalReference": "!JsonWebKey:interface"
605
+ },
606
+ {
607
+ "kind": "Content",
608
+ "text": ">>"
609
+ },
610
+ {
611
+ "kind": "Content",
612
+ "text": ";"
613
+ }
614
+ ],
615
+ "isStatic": false,
616
+ "returnTypeTokenRange": {
617
+ "startIndex": 3,
618
+ "endIndex": 9
619
+ },
620
+ "releaseTag": "Public",
621
+ "isProtected": false,
622
+ "overloadIndex": 1,
623
+ "parameters": [
624
+ {
625
+ "parameterName": "publicKey",
626
+ "parameterTypeTokenRange": {
627
+ "startIndex": 1,
628
+ "endIndex": 2
629
+ },
630
+ "isOptional": false
631
+ }
632
+ ],
633
+ "isOptional": false,
634
+ "isAbstract": false,
635
+ "name": "exportPublicKeyJwk"
636
+ },
565
637
  {
566
638
  "kind": "Method",
567
639
  "canonicalReference": "@fgv/ts-web-extras!CryptoUtils.BrowserCryptoProvider#fromBase64:member(1)",
@@ -678,6 +750,94 @@
678
750
  "isAbstract": false,
679
751
  "name": "generateKey"
680
752
  },
753
+ {
754
+ "kind": "Method",
755
+ "canonicalReference": "@fgv/ts-web-extras!CryptoUtils.BrowserCryptoProvider#generateKeyPair:member(1)",
756
+ "docComment": "/**\n * Generates a new asymmetric keypair via Web Crypto.\n *\n * @param algorithm - The algorithm to use.\n *\n * @param extractable - Whether the resulting keys may be exported.\n *\n * @returns `Success` with the generated `CryptoKeyPair`, or `Failure` with an error.\n */\n",
757
+ "excerptTokens": [
758
+ {
759
+ "kind": "Content",
760
+ "text": "generateKeyPair(algorithm: "
761
+ },
762
+ {
763
+ "kind": "Reference",
764
+ "text": "CryptoUtils.KeyPairAlgorithm",
765
+ "canonicalReference": "@fgv/ts-extras!KeyPairAlgorithm:type"
766
+ },
767
+ {
768
+ "kind": "Content",
769
+ "text": ", extractable: "
770
+ },
771
+ {
772
+ "kind": "Content",
773
+ "text": "boolean"
774
+ },
775
+ {
776
+ "kind": "Content",
777
+ "text": "): "
778
+ },
779
+ {
780
+ "kind": "Reference",
781
+ "text": "Promise",
782
+ "canonicalReference": "!Promise:interface"
783
+ },
784
+ {
785
+ "kind": "Content",
786
+ "text": "<"
787
+ },
788
+ {
789
+ "kind": "Reference",
790
+ "text": "Result",
791
+ "canonicalReference": "@fgv/ts-utils!Result:type"
792
+ },
793
+ {
794
+ "kind": "Content",
795
+ "text": "<"
796
+ },
797
+ {
798
+ "kind": "Reference",
799
+ "text": "CryptoKeyPair",
800
+ "canonicalReference": "!CryptoKeyPair:interface"
801
+ },
802
+ {
803
+ "kind": "Content",
804
+ "text": ">>"
805
+ },
806
+ {
807
+ "kind": "Content",
808
+ "text": ";"
809
+ }
810
+ ],
811
+ "isStatic": false,
812
+ "returnTypeTokenRange": {
813
+ "startIndex": 5,
814
+ "endIndex": 11
815
+ },
816
+ "releaseTag": "Public",
817
+ "isProtected": false,
818
+ "overloadIndex": 1,
819
+ "parameters": [
820
+ {
821
+ "parameterName": "algorithm",
822
+ "parameterTypeTokenRange": {
823
+ "startIndex": 1,
824
+ "endIndex": 2
825
+ },
826
+ "isOptional": false
827
+ },
828
+ {
829
+ "parameterName": "extractable",
830
+ "parameterTypeTokenRange": {
831
+ "startIndex": 3,
832
+ "endIndex": 4
833
+ },
834
+ "isOptional": false
835
+ }
836
+ ],
837
+ "isOptional": false,
838
+ "isAbstract": false,
839
+ "name": "generateKeyPair"
840
+ },
681
841
  {
682
842
  "kind": "Method",
683
843
  "canonicalReference": "@fgv/ts-web-extras!CryptoUtils.BrowserCryptoProvider#generateRandomBytes:member(1)",
@@ -740,6 +900,95 @@
740
900
  "isAbstract": false,
741
901
  "name": "generateRandomBytes"
742
902
  },
903
+ {
904
+ "kind": "Method",
905
+ "canonicalReference": "@fgv/ts-web-extras!CryptoUtils.BrowserCryptoProvider#importPublicKeyJwk:member(1)",
906
+ "docComment": "/**\n * Imports a public-key JWK as a `CryptoKey` for the requested algorithm.\n *\n * @param jwk - The JSON Web Key produced by a prior export.\n *\n * @param algorithm - The algorithm the key was generated for.\n *\n * @returns `Success` with the imported public `CryptoKey`, or `Failure` with an error.\n */\n",
907
+ "excerptTokens": [
908
+ {
909
+ "kind": "Content",
910
+ "text": "importPublicKeyJwk(jwk: "
911
+ },
912
+ {
913
+ "kind": "Reference",
914
+ "text": "JsonWebKey",
915
+ "canonicalReference": "!JsonWebKey:interface"
916
+ },
917
+ {
918
+ "kind": "Content",
919
+ "text": ", algorithm: "
920
+ },
921
+ {
922
+ "kind": "Reference",
923
+ "text": "CryptoUtils.KeyPairAlgorithm",
924
+ "canonicalReference": "@fgv/ts-extras!KeyPairAlgorithm:type"
925
+ },
926
+ {
927
+ "kind": "Content",
928
+ "text": "): "
929
+ },
930
+ {
931
+ "kind": "Reference",
932
+ "text": "Promise",
933
+ "canonicalReference": "!Promise:interface"
934
+ },
935
+ {
936
+ "kind": "Content",
937
+ "text": "<"
938
+ },
939
+ {
940
+ "kind": "Reference",
941
+ "text": "Result",
942
+ "canonicalReference": "@fgv/ts-utils!Result:type"
943
+ },
944
+ {
945
+ "kind": "Content",
946
+ "text": "<"
947
+ },
948
+ {
949
+ "kind": "Reference",
950
+ "text": "CryptoKey",
951
+ "canonicalReference": "!CryptoKey:interface"
952
+ },
953
+ {
954
+ "kind": "Content",
955
+ "text": ">>"
956
+ },
957
+ {
958
+ "kind": "Content",
959
+ "text": ";"
960
+ }
961
+ ],
962
+ "isStatic": false,
963
+ "returnTypeTokenRange": {
964
+ "startIndex": 5,
965
+ "endIndex": 11
966
+ },
967
+ "releaseTag": "Public",
968
+ "isProtected": false,
969
+ "overloadIndex": 1,
970
+ "parameters": [
971
+ {
972
+ "parameterName": "jwk",
973
+ "parameterTypeTokenRange": {
974
+ "startIndex": 1,
975
+ "endIndex": 2
976
+ },
977
+ "isOptional": false
978
+ },
979
+ {
980
+ "parameterName": "algorithm",
981
+ "parameterTypeTokenRange": {
982
+ "startIndex": 3,
983
+ "endIndex": 4
984
+ },
985
+ "isOptional": false
986
+ }
987
+ ],
988
+ "isOptional": false,
989
+ "isAbstract": false,
990
+ "name": "importPublicKeyJwk"
991
+ },
743
992
  {
744
993
  "kind": "Method",
745
994
  "canonicalReference": "@fgv/ts-web-extras!CryptoUtils.BrowserCryptoProvider#sha256:member(1)",
@@ -2359,7 +2608,7 @@
2359
2608
  {
2360
2609
  "kind": "Method",
2361
2610
  "canonicalReference": "@fgv/ts-web-extras!FileApiTreeAccessors.extractFileMetadata:member(1)",
2362
- "docComment": "/**\n * Extract file metadata from a File.\n *\n * @param fileList - The File to extract metadata from\n *\n * @returns The {@link IFileMetadata | file metadata}\n */\n",
2611
+ "docComment": "/**\n * Extract file metadata from a File.\n *\n * @param file - The File to extract metadata from\n *\n * @returns The {@link IFileMetadata | file metadata}\n */\n",
2363
2612
  "excerptTokens": [
2364
2613
  {
2365
2614
  "kind": "Content",
@@ -10,19 +10,19 @@ import { FileTree } from '@fgv/ts-json-base';
10
10
  import { Logging } from '@fgv/ts-utils';
11
11
  import { Result } from '@fgv/ts-utils';
12
12
 
13
- // Warning: (ae-forgotten-export) The symbol "ICryptoProvider" needs to be exported by the entry point index.d.ts
14
- //
15
13
  // @public
16
- class BrowserCryptoProvider implements ICryptoProvider {
14
+ class BrowserCryptoProvider implements CryptoUtils_2.ICryptoProvider {
17
15
  // Warning: (ae-unresolved-link) The @link reference could not be resolved: This type of declaration is not supported yet by the resolver
18
16
  constructor(cryptoApi?: Crypto);
19
17
  decrypt(encryptedData: Uint8Array, key: Uint8Array, iv: Uint8Array, authTag: Uint8Array): Promise<Result<string>>;
20
18
  deriveKey(password: string, salt: Uint8Array, iterations: number): Promise<Result<Uint8Array>>;
21
- // Warning: (ae-forgotten-export) The symbol "IEncryptionResult" needs to be exported by the entry point index.d.ts
22
- encrypt(plaintext: string, key: Uint8Array): Promise<Result<IEncryptionResult>>;
19
+ encrypt(plaintext: string, key: Uint8Array): Promise<Result<CryptoUtils_2.IEncryptionResult>>;
20
+ exportPublicKeyJwk(publicKey: CryptoKey): Promise<Result<JsonWebKey>>;
23
21
  fromBase64(base64: string): Result<Uint8Array>;
24
22
  generateKey(): Promise<Result<Uint8Array>>;
23
+ generateKeyPair(algorithm: CryptoUtils_2.KeyPairAlgorithm, extractable: boolean): Promise<Result<CryptoKeyPair>>;
25
24
  generateRandomBytes(length: number): Result<Uint8Array>;
25
+ importPublicKeyJwk(jwk: JsonWebKey, algorithm: CryptoUtils_2.KeyPairAlgorithm): Promise<Result<CryptoKey>>;
26
26
  sha256(data: string): Promise<Result<string>>;
27
27
  toBase64(data: Uint8Array): string;
28
28
  }