@fgv/ts-web-extras 5.1.0-3 → 5.1.0-4

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 (255) hide show
  1. package/.rush/temp/{61c1d4a91d98f048b475a5bb3e6541c5d27819de.tar.log → 44b0369e8112f3c6f4248af466a3f35ad626d9d7.tar.log} +3 -3
  2. package/.rush/temp/chunked-rush-logs/ts-web-extras.build.chunks.jsonl +13 -13
  3. package/.rush/temp/operation/build/all.log +13 -13
  4. package/.rush/temp/operation/build/log-chunks.jsonl +13 -13
  5. package/.rush/temp/operation/build/state.json +1 -1
  6. package/.rush/temp/shrinkwrap-deps.json +690 -633
  7. package/config/typedoc.json +2 -1
  8. package/dist/tsdoc-metadata.json +1 -1
  9. package/docs/CryptoUtils/README.md +60 -0
  10. package/docs/CryptoUtils/classes/BrowserCryptoProvider.decrypt.md +27 -0
  11. package/docs/CryptoUtils/classes/BrowserCryptoProvider.deriveKey.md +26 -0
  12. package/docs/CryptoUtils/classes/BrowserCryptoProvider.encrypt.md +25 -0
  13. package/docs/CryptoUtils/classes/BrowserCryptoProvider.fromBase64.md +24 -0
  14. package/docs/CryptoUtils/classes/BrowserCryptoProvider.generateKey.md +17 -0
  15. package/docs/CryptoUtils/classes/BrowserCryptoProvider.generateRandomBytes.md +24 -0
  16. package/docs/CryptoUtils/classes/BrowserCryptoProvider.md +151 -0
  17. package/docs/CryptoUtils/classes/BrowserCryptoProvider.toBase64.md +24 -0
  18. package/docs/CryptoUtils/classes/BrowserHashProvider.hashParts.md +26 -0
  19. package/docs/CryptoUtils/classes/BrowserHashProvider.hashString.md +25 -0
  20. package/docs/CryptoUtils/classes/BrowserHashProvider.md +81 -0
  21. package/docs/CryptoUtils/functions/createBrowserCryptoProvider.md +12 -0
  22. package/docs/FileTreeHelpers/README.md +85 -0
  23. package/docs/FileTreeHelpers/functions/extractFileListMetadata.md +11 -0
  24. package/docs/FileTreeHelpers/functions/extractFileMetadata.md +11 -0
  25. package/docs/FileTreeHelpers/functions/fromDirectoryUpload.md +12 -0
  26. package/docs/FileTreeHelpers/functions/fromFileList.md +12 -0
  27. package/docs/FileTreeHelpers/functions/getOriginalFile.md +11 -0
  28. package/docs/FileTreeHelpers/variables/defaultFileApiTreeInitParams.md +9 -0
  29. package/docs/README.md +499 -53
  30. package/docs/classes/BrowserCryptoProvider.decrypt.md +27 -0
  31. package/docs/classes/BrowserCryptoProvider.deriveKey.md +26 -0
  32. package/docs/classes/BrowserCryptoProvider.encrypt.md +25 -0
  33. package/docs/classes/BrowserCryptoProvider.fromBase64.md +24 -0
  34. package/docs/classes/BrowserCryptoProvider.generateKey.md +17 -0
  35. package/docs/classes/BrowserCryptoProvider.generateRandomBytes.md +24 -0
  36. package/docs/classes/BrowserCryptoProvider.md +151 -0
  37. package/docs/classes/BrowserCryptoProvider.toBase64.md +24 -0
  38. package/docs/classes/BrowserHashProvider.hashParts.md +26 -0
  39. package/docs/classes/BrowserHashProvider.hashString.md +25 -0
  40. package/docs/classes/BrowserHashProvider.md +81 -0
  41. package/docs/classes/DirectoryHandleStore.getAll.md +17 -0
  42. package/docs/classes/DirectoryHandleStore.getAllLabels.md +17 -0
  43. package/docs/classes/DirectoryHandleStore.load.md +24 -0
  44. package/docs/classes/DirectoryHandleStore.md +65 -61
  45. package/docs/classes/DirectoryHandleStore.remove.md +24 -0
  46. package/docs/classes/DirectoryHandleStore.save.md +25 -0
  47. package/docs/classes/FileApiTreeAccessors.create.md +25 -0
  48. package/docs/classes/FileApiTreeAccessors.createFromHttp.md +24 -0
  49. package/docs/classes/FileApiTreeAccessors.createFromLocalStorage.md +25 -0
  50. package/docs/classes/FileApiTreeAccessors.createPersistent.md +26 -0
  51. package/docs/classes/FileApiTreeAccessors.createPersistentFromFile.md +27 -0
  52. package/docs/classes/FileApiTreeAccessors.extractFileMetadata.md +24 -0
  53. package/docs/classes/FileApiTreeAccessors.fromDirectoryUpload.md +25 -0
  54. package/docs/classes/FileApiTreeAccessors.fromFileList.md +25 -0
  55. package/docs/classes/FileApiTreeAccessors.getOriginalFile.md +27 -0
  56. package/docs/classes/FileApiTreeAccessors.md +87 -201
  57. package/docs/classes/FileSystemAccessTreeAccessors.deleteFile.md +22 -0
  58. package/docs/classes/FileSystemAccessTreeAccessors.fileIsMutable.md +22 -0
  59. package/docs/classes/FileSystemAccessTreeAccessors.fromDirectoryHandle.md +25 -0
  60. package/docs/classes/FileSystemAccessTreeAccessors.fromFileHandle.md +29 -0
  61. package/docs/classes/FileSystemAccessTreeAccessors.getDirtyPaths.md +15 -0
  62. package/docs/classes/FileSystemAccessTreeAccessors.isDirty.md +15 -0
  63. package/docs/classes/FileSystemAccessTreeAccessors.md +128 -410
  64. package/docs/classes/FileSystemAccessTreeAccessors.saveFileContents.md +23 -0
  65. package/docs/classes/FileSystemAccessTreeAccessors.syncToDisk.md +15 -0
  66. package/docs/classes/HttpTreeAccessors.deleteFile.md +22 -0
  67. package/docs/classes/HttpTreeAccessors.fileIsMutable.md +24 -0
  68. package/docs/classes/HttpTreeAccessors.fromHttp.md +24 -0
  69. package/docs/classes/HttpTreeAccessors.getDirtyPaths.md +17 -0
  70. package/docs/classes/HttpTreeAccessors.isDirty.md +17 -0
  71. package/docs/classes/HttpTreeAccessors.md +121 -368
  72. package/docs/classes/HttpTreeAccessors.saveFileContents.md +25 -0
  73. package/docs/classes/HttpTreeAccessors.syncToDisk.md +22 -0
  74. package/docs/classes/LocalStorageTreeAccessors.deleteFile.md +24 -0
  75. package/docs/classes/LocalStorageTreeAccessors.fileIsMutable.md +24 -0
  76. package/docs/classes/LocalStorageTreeAccessors.fromStorage.md +25 -0
  77. package/docs/classes/LocalStorageTreeAccessors.getDirtyPaths.md +17 -0
  78. package/docs/classes/LocalStorageTreeAccessors.isDirty.md +17 -0
  79. package/docs/classes/LocalStorageTreeAccessors.md +121 -371
  80. package/docs/classes/LocalStorageTreeAccessors.saveFileContents.md +25 -0
  81. package/docs/classes/LocalStorageTreeAccessors.syncToDisk.md +17 -0
  82. package/docs/functions/createBrowserCryptoProvider.md +12 -0
  83. package/docs/functions/exportAsJson.md +6 -17
  84. package/docs/functions/exportUsingFileSystemAPI.md +6 -21
  85. package/docs/functions/extractDirectoryPath.md +6 -16
  86. package/docs/functions/extractFileListMetadata.md +11 -0
  87. package/docs/functions/extractFileMetadata.md +11 -0
  88. package/docs/functions/fromDirectoryUpload.md +12 -0
  89. package/docs/functions/fromFileList.md +12 -0
  90. package/docs/functions/getOriginalFile.md +11 -0
  91. package/docs/functions/isDirectoryHandle.md +6 -18
  92. package/docs/functions/isFileHandle.md +6 -18
  93. package/docs/functions/isFilePath.md +6 -16
  94. package/docs/functions/parseContextFilter.md +6 -16
  95. package/docs/functions/parseQualifierDefaults.md +6 -16
  96. package/docs/functions/parseResourceTypes.md +6 -16
  97. package/docs/functions/parseUrlParameters.md +6 -10
  98. package/docs/functions/safeShowDirectoryPicker.md +6 -19
  99. package/docs/functions/safeShowOpenFilePicker.md +6 -19
  100. package/docs/functions/safeShowSaveFilePicker.md +6 -19
  101. package/docs/functions/supportsFileSystemAccess.md +6 -18
  102. package/docs/interfaces/FilePickerAcceptType.accept.md +9 -0
  103. package/docs/interfaces/FilePickerAcceptType.description.md +9 -0
  104. package/docs/interfaces/FilePickerAcceptType.md +54 -9
  105. package/docs/interfaces/FileSystemCreateWritableOptions.keepExistingData.md +9 -0
  106. package/docs/interfaces/FileSystemCreateWritableOptions.md +37 -8
  107. package/docs/interfaces/FileSystemDirectoryHandle._asyncIterator_.md +13 -0
  108. package/docs/interfaces/FileSystemDirectoryHandle.entries.md +13 -0
  109. package/docs/interfaces/FileSystemDirectoryHandle.getDirectoryHandle.md +21 -0
  110. package/docs/interfaces/FileSystemDirectoryHandle.getFileHandle.md +21 -0
  111. package/docs/interfaces/FileSystemDirectoryHandle.keys.md +13 -0
  112. package/docs/interfaces/FileSystemDirectoryHandle.kind.md +9 -0
  113. package/docs/interfaces/FileSystemDirectoryHandle.md +140 -103
  114. package/docs/interfaces/FileSystemDirectoryHandle.removeEntry.md +21 -0
  115. package/docs/interfaces/FileSystemDirectoryHandle.resolve.md +20 -0
  116. package/docs/interfaces/FileSystemDirectoryHandle.values.md +13 -0
  117. package/docs/interfaces/FileSystemFileHandle.createWritable.md +20 -0
  118. package/docs/interfaces/FileSystemFileHandle.getFile.md +13 -0
  119. package/docs/interfaces/FileSystemFileHandle.kind.md +9 -0
  120. package/docs/interfaces/FileSystemFileHandle.md +98 -58
  121. package/docs/interfaces/FileSystemGetDirectoryOptions.create.md +9 -0
  122. package/docs/interfaces/FileSystemGetDirectoryOptions.md +37 -8
  123. package/docs/interfaces/FileSystemGetFileOptions.create.md +9 -0
  124. package/docs/interfaces/FileSystemGetFileOptions.md +37 -8
  125. package/docs/interfaces/FileSystemHandle.isSameEntry.md +20 -0
  126. package/docs/interfaces/FileSystemHandle.kind.md +9 -0
  127. package/docs/interfaces/FileSystemHandle.md +88 -39
  128. package/docs/interfaces/FileSystemHandle.name.md +9 -0
  129. package/docs/interfaces/FileSystemHandle.queryPermission.md +20 -0
  130. package/docs/interfaces/FileSystemHandle.requestPermission.md +20 -0
  131. package/docs/interfaces/FileSystemHandlePermissionDescriptor.md +37 -8
  132. package/docs/interfaces/FileSystemHandlePermissionDescriptor.mode.md +9 -0
  133. package/docs/interfaces/FileSystemRemoveOptions.md +37 -8
  134. package/docs/interfaces/FileSystemRemoveOptions.recursive.md +9 -0
  135. package/docs/interfaces/FileSystemWritableFileStream.md +83 -68
  136. package/docs/interfaces/FileSystemWritableFileStream.seek.md +20 -0
  137. package/docs/interfaces/FileSystemWritableFileStream.truncate.md +20 -0
  138. package/docs/interfaces/FileSystemWritableFileStream.write.md +20 -0
  139. package/docs/interfaces/IDirectoryHandleTreeInitializer.dirHandles.md +9 -0
  140. package/docs/interfaces/IDirectoryHandleTreeInitializer.md +71 -10
  141. package/docs/interfaces/IDirectoryHandleTreeInitializer.nonRecursive.md +9 -0
  142. package/docs/interfaces/IDirectoryHandleTreeInitializer.prefix.md +9 -0
  143. package/docs/interfaces/IFileHandleTreeInitializer.fileHandles.md +9 -0
  144. package/docs/interfaces/IFileHandleTreeInitializer.md +54 -9
  145. package/docs/interfaces/IFileHandleTreeInitializer.prefix.md +9 -0
  146. package/docs/interfaces/IFileListTreeInitializer.fileList.md +9 -0
  147. package/docs/interfaces/IFileListTreeInitializer.md +37 -8
  148. package/docs/interfaces/IFileMetadata.lastModified.md +9 -0
  149. package/docs/interfaces/IFileMetadata.md +105 -12
  150. package/docs/interfaces/IFileMetadata.name.md +9 -0
  151. package/docs/interfaces/IFileMetadata.path.md +9 -0
  152. package/docs/interfaces/IFileMetadata.size.md +9 -0
  153. package/docs/interfaces/IFileMetadata.type.md +9 -0
  154. package/docs/interfaces/IFileSystemAccessTreeParams.autoSync.md +12 -0
  155. package/docs/interfaces/IFileSystemAccessTreeParams.filePath.md +13 -0
  156. package/docs/interfaces/IFileSystemAccessTreeParams.logger.md +11 -0
  157. package/docs/interfaces/IFileSystemAccessTreeParams.md +138 -20
  158. package/docs/interfaces/IFileSystemAccessTreeParams.requireWritePermission.md +13 -0
  159. package/docs/interfaces/IFsAccessApis.md +36 -31
  160. package/docs/interfaces/IFsAccessApis.showDirectoryPicker.md +20 -0
  161. package/docs/interfaces/IFsAccessApis.showOpenFilePicker.md +20 -0
  162. package/docs/interfaces/IFsAccessApis.showSaveFilePicker.md +20 -0
  163. package/docs/interfaces/IHttpTreeParams.autoSync.md +9 -0
  164. package/docs/interfaces/IHttpTreeParams.baseUrl.md +9 -0
  165. package/docs/interfaces/IHttpTreeParams.fetchImpl.md +9 -0
  166. package/docs/interfaces/IHttpTreeParams.logger.md +9 -0
  167. package/docs/interfaces/IHttpTreeParams.md +172 -22
  168. package/docs/interfaces/IHttpTreeParams.namespace.md +9 -0
  169. package/docs/interfaces/IHttpTreeParams.userId.md +9 -0
  170. package/docs/interfaces/ILocalStorageTreeParams.autoSync.md +12 -0
  171. package/docs/interfaces/ILocalStorageTreeParams.md +121 -20
  172. package/docs/interfaces/ILocalStorageTreeParams.pathToKeyMap.md +13 -0
  173. package/docs/interfaces/ILocalStorageTreeParams.storage.md +12 -0
  174. package/docs/interfaces/IUrlConfigOptions.config.md +11 -0
  175. package/docs/interfaces/IUrlConfigOptions.configStartDir.md +11 -0
  176. package/docs/interfaces/IUrlConfigOptions.contextFilter.md +11 -0
  177. package/docs/interfaces/IUrlConfigOptions.input.md +11 -0
  178. package/docs/interfaces/IUrlConfigOptions.inputStartDir.md +11 -0
  179. package/docs/interfaces/IUrlConfigOptions.interactive.md +11 -0
  180. package/docs/interfaces/IUrlConfigOptions.loadZip.md +11 -0
  181. package/docs/interfaces/IUrlConfigOptions.maxDistance.md +11 -0
  182. package/docs/interfaces/IUrlConfigOptions.md +241 -20
  183. package/docs/interfaces/IUrlConfigOptions.qualifierDefaults.md +11 -0
  184. package/docs/interfaces/IUrlConfigOptions.reduceQualifiers.md +11 -0
  185. package/docs/interfaces/IUrlConfigOptions.resourceTypes.md +11 -0
  186. package/docs/interfaces/IUrlConfigOptions.zipFile.md +11 -0
  187. package/docs/interfaces/IUrlConfigOptions.zipPath.md +11 -0
  188. package/docs/interfaces/ShowDirectoryPickerOptions.id.md +9 -0
  189. package/docs/interfaces/ShowDirectoryPickerOptions.md +71 -10
  190. package/docs/interfaces/ShowDirectoryPickerOptions.mode.md +9 -0
  191. package/docs/interfaces/ShowDirectoryPickerOptions.startIn.md +9 -0
  192. package/docs/interfaces/ShowOpenFilePickerOptions.excludeAcceptAllOption.md +9 -0
  193. package/docs/interfaces/ShowOpenFilePickerOptions.id.md +9 -0
  194. package/docs/interfaces/ShowOpenFilePickerOptions.md +105 -12
  195. package/docs/interfaces/ShowOpenFilePickerOptions.multiple.md +9 -0
  196. package/docs/interfaces/ShowOpenFilePickerOptions.startIn.md +9 -0
  197. package/docs/interfaces/ShowOpenFilePickerOptions.types.md +9 -0
  198. package/docs/interfaces/ShowSaveFilePickerOptions.excludeAcceptAllOption.md +9 -0
  199. package/docs/interfaces/ShowSaveFilePickerOptions.id.md +9 -0
  200. package/docs/interfaces/ShowSaveFilePickerOptions.md +105 -12
  201. package/docs/interfaces/ShowSaveFilePickerOptions.startIn.md +9 -0
  202. package/docs/interfaces/ShowSaveFilePickerOptions.suggestedName.md +9 -0
  203. package/docs/interfaces/ShowSaveFilePickerOptions.types.md +9 -0
  204. package/docs/type-aliases/TreeInitializer.md +7 -7
  205. package/docs/type-aliases/WellKnownDirectory.md +7 -7
  206. package/docs/type-aliases/WindowWithFsAccess.md +7 -7
  207. package/docs/variables/DEFAULT_DIRECTORY_HANDLE_DB.md +5 -7
  208. package/docs/variables/DEFAULT_DIRECTORY_HANDLE_STORE.md +5 -7
  209. package/docs/variables/defaultFileApiTreeInitParams.md +9 -0
  210. package/package.json +12 -11
  211. package/rush-logs/ts-web-extras.build.cache.log +1 -1
  212. package/rush-logs/ts-web-extras.build.log +13 -13
  213. package/temp/coverage/crypto-utils/browserCryptoProvider.ts.html +1 -1
  214. package/temp/coverage/crypto-utils/browserHashProvider.ts.html +1 -1
  215. package/temp/coverage/crypto-utils/index.html +1 -1
  216. package/temp/coverage/file-tree/directoryHandleStore.ts.html +1 -1
  217. package/temp/coverage/file-tree/fileApiTreeAccessors.ts.html +1 -1
  218. package/temp/coverage/file-tree/fileSystemAccessTreeAccessors.ts.html +1 -1
  219. package/temp/coverage/file-tree/httpTreeAccessors.ts.html +1 -1
  220. package/temp/coverage/file-tree/index.html +1 -1
  221. package/temp/coverage/file-tree/localStorageTreeAccessors.ts.html +1 -1
  222. package/temp/coverage/helpers/fileTreeHelpers.ts.html +1 -1
  223. package/temp/coverage/helpers/index.html +1 -1
  224. package/temp/coverage/index.html +1 -1
  225. package/temp/coverage/lcov-report/crypto-utils/browserCryptoProvider.ts.html +1 -1
  226. package/temp/coverage/lcov-report/crypto-utils/browserHashProvider.ts.html +1 -1
  227. package/temp/coverage/lcov-report/crypto-utils/index.html +1 -1
  228. package/temp/coverage/lcov-report/file-tree/directoryHandleStore.ts.html +1 -1
  229. package/temp/coverage/lcov-report/file-tree/fileApiTreeAccessors.ts.html +1 -1
  230. package/temp/coverage/lcov-report/file-tree/fileSystemAccessTreeAccessors.ts.html +1 -1
  231. package/temp/coverage/lcov-report/file-tree/httpTreeAccessors.ts.html +1 -1
  232. package/temp/coverage/lcov-report/file-tree/index.html +1 -1
  233. package/temp/coverage/lcov-report/file-tree/localStorageTreeAccessors.ts.html +1 -1
  234. package/temp/coverage/lcov-report/helpers/fileTreeHelpers.ts.html +1 -1
  235. package/temp/coverage/lcov-report/helpers/index.html +1 -1
  236. package/temp/coverage/lcov-report/index.html +1 -1
  237. package/temp/coverage/lcov-report/url-utils/index.html +1 -1
  238. package/temp/coverage/lcov-report/url-utils/urlParams.ts.html +1 -1
  239. package/temp/coverage/url-utils/index.html +1 -1
  240. package/temp/coverage/url-utils/urlParams.ts.html +1 -1
  241. package/temp/test/jest/haste-map-7492f1b44480e0cdd1f220078fb3afd8-c8dd6c3430605adeb2f1cadf4f75e791-8c9336785555d572065b28c111982ba4 +0 -0
  242. package/temp/test/jest/perf-cache-7492f1b44480e0cdd1f220078fb3afd8-da39a3ee5e6b4b0d3255bfef95601890 +1 -1
  243. package/temp/ts-web-extras.api.json +1 -1
  244. package/docs/@fgv/namespaces/CryptoUtils/README.md +0 -18
  245. package/docs/@fgv/namespaces/CryptoUtils/classes/BrowserCryptoProvider.md +0 -203
  246. package/docs/@fgv/namespaces/CryptoUtils/classes/BrowserHashProvider.md +0 -63
  247. package/docs/@fgv/namespaces/CryptoUtils/functions/createBrowserCryptoProvider.md +0 -18
  248. package/docs/@fgv/namespaces/FileTreeHelpers/README.md +0 -19
  249. package/docs/@fgv/namespaces/FileTreeHelpers/functions/extractFileListMetadata.md +0 -23
  250. package/docs/@fgv/namespaces/FileTreeHelpers/functions/extractFileMetadata.md +0 -23
  251. package/docs/@fgv/namespaces/FileTreeHelpers/functions/fromDirectoryUpload.md +0 -33
  252. package/docs/@fgv/namespaces/FileTreeHelpers/functions/fromFileList.md +0 -33
  253. package/docs/@fgv/namespaces/FileTreeHelpers/functions/getOriginalFile.md +0 -25
  254. package/docs/@fgv/namespaces/FileTreeHelpers/variables/defaultFileApiTreeInitParams.md +0 -11
  255. /package/temp/test/jest/jest-transform-cache-7492f1b44480e0cdd1f220078fb3afd8-79ef2876fae7ca75eedb2aa53dc48338/{d6/package_d6e3b0fa94752e16b0b2a2777739b973 → 7c/package_7c16afc8299e635d80273763175c7a50} +0 -0
@@ -1003,7 +1003,7 @@ export function createBrowserCryptoProvider(): Result<BrowserCryptoProvider&g
1003
1003
  <div class='footer quiet pad2 space-top1 center small'>
1004
1004
  Code coverage generated by
1005
1005
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1006
- at 2026-03-25T10:37:38.182Z
1006
+ at 2026-03-26T21:27:39.586Z
1007
1007
  </div>
1008
1008
  <script src="../prettify.js"></script>
1009
1009
  <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-03-25T10:37:38.182Z
292
+ at 2026-03-26T21:27:39.586Z
293
293
  </div>
294
294
  <script src="../prettify.js"></script>
295
295
  <script>
@@ -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-03-25T10:37:38.182Z
119
+ at 2026-03-26T21:27:39.586Z
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-03-25T10:37:38.182Z
481
+ at 2026-03-26T21:27:39.586Z
482
482
  </div>
483
483
  <script src="../prettify.js"></script>
484
484
  <script>
@@ -1654,7 +1654,7 @@ export class FileApiTreeAccessors&lt;TCT extends string = string&gt; {
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-03-25T10:37:38.182Z
1657
+ at 2026-03-26T21:27:39.586Z
1658
1658
  </div>
1659
1659
  <script src="../prettify.js"></script>
1660
1660
  <script>
@@ -1627,7 +1627,7 @@ export class FileSystemAccessTreeAccessors&lt;TCT extends string = string&gt;
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-03-25T10:37:38.182Z
1630
+ at 2026-03-26T21:27:39.586Z
1631
1631
  </div>
1632
1632
  <script src="../prettify.js"></script>
1633
1633
  <script>
@@ -1414,7 +1414,7 @@ export class HttpTreeAccessors&lt;TCT extends string = string&gt;
1414
1414
  <div class='footer quiet pad2 space-top1 center small'>
1415
1415
  Code coverage generated by
1416
1416
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1417
- at 2026-03-25T10:37:38.182Z
1417
+ at 2026-03-26T21:27:39.586Z
1418
1418
  </div>
1419
1419
  <script src="../prettify.js"></script>
1420
1420
  <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-03-25T10:37:38.182Z
164
+ at 2026-03-26T21:27:39.586Z
165
165
  </div>
166
166
  <script src="../prettify.js"></script>
167
167
  <script>
@@ -1360,7 +1360,7 @@ export class LocalStorageTreeAccessors&lt;TCT extends string = string&gt;
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-03-25T10:37:38.182Z
1363
+ at 2026-03-26T21:27:39.586Z
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-03-25T10:37:38.182Z
394
+ at 2026-03-26T21:27:39.586Z
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-03-25T10:37:38.182Z
104
+ at 2026-03-26T21:27:39.586Z
105
105
  </div>
106
106
  <script src="../prettify.js"></script>
107
107
  <script>
@@ -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-03-25T10:37:38.182Z
149
+ at 2026-03-26T21:27:39.586Z
150
150
  </div>
151
151
  <script src="prettify.js"></script>
152
152
  <script>
@@ -1003,7 +1003,7 @@ export function createBrowserCryptoProvider(): Result&lt;BrowserCryptoProvider&g
1003
1003
  <div class='footer quiet pad2 space-top1 center small'>
1004
1004
  Code coverage generated by
1005
1005
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1006
- at 2026-03-25T10:37:38.121Z
1006
+ at 2026-03-26T21:27:39.543Z
1007
1007
  </div>
1008
1008
  <script src="../prettify.js"></script>
1009
1009
  <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-03-25T10:37:38.121Z
292
+ at 2026-03-26T21:27:39.543Z
293
293
  </div>
294
294
  <script src="../prettify.js"></script>
295
295
  <script>
@@ -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-03-25T10:37:38.121Z
119
+ at 2026-03-26T21:27:39.543Z
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-03-25T10:37:38.121Z
481
+ at 2026-03-26T21:27:39.543Z
482
482
  </div>
483
483
  <script src="../prettify.js"></script>
484
484
  <script>
@@ -1654,7 +1654,7 @@ export class FileApiTreeAccessors&lt;TCT extends string = string&gt; {
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-03-25T10:37:38.121Z
1657
+ at 2026-03-26T21:27:39.543Z
1658
1658
  </div>
1659
1659
  <script src="../prettify.js"></script>
1660
1660
  <script>
@@ -1627,7 +1627,7 @@ export class FileSystemAccessTreeAccessors&lt;TCT extends string = string&gt;
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-03-25T10:37:38.121Z
1630
+ at 2026-03-26T21:27:39.543Z
1631
1631
  </div>
1632
1632
  <script src="../prettify.js"></script>
1633
1633
  <script>
@@ -1414,7 +1414,7 @@ export class HttpTreeAccessors&lt;TCT extends string = string&gt;
1414
1414
  <div class='footer quiet pad2 space-top1 center small'>
1415
1415
  Code coverage generated by
1416
1416
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1417
- at 2026-03-25T10:37:38.121Z
1417
+ at 2026-03-26T21:27:39.543Z
1418
1418
  </div>
1419
1419
  <script src="../prettify.js"></script>
1420
1420
  <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-03-25T10:37:38.121Z
164
+ at 2026-03-26T21:27:39.543Z
165
165
  </div>
166
166
  <script src="../prettify.js"></script>
167
167
  <script>
@@ -1360,7 +1360,7 @@ export class LocalStorageTreeAccessors&lt;TCT extends string = string&gt;
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-03-25T10:37:38.121Z
1363
+ at 2026-03-26T21:27:39.543Z
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-03-25T10:37:38.121Z
394
+ at 2026-03-26T21:27:39.543Z
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-03-25T10:37:38.121Z
104
+ at 2026-03-26T21:27:39.543Z
105
105
  </div>
106
106
  <script src="../prettify.js"></script>
107
107
  <script>
@@ -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-03-25T10:37:38.121Z
149
+ at 2026-03-26T21:27:39.543Z
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-03-25T10:37:38.121Z
104
+ at 2026-03-26T21:27:39.543Z
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-03-25T10:37:38.121Z
808
+ at 2026-03-26T21:27:39.543Z
809
809
  </div>
810
810
  <script src="../prettify.js"></script>
811
811
  <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-03-25T10:37:38.182Z
104
+ at 2026-03-26T21:27:39.586Z
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-03-25T10:37:38.182Z
808
+ at 2026-03-26T21:27:39.586Z
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,1749],"/home/runner/work/fgv/fgv/libraries/ts-web-extras/lib/test/unit/fileApiTreeAccessors.test.js":[1,2021],"/home/runner/work/fgv/fgv/libraries/ts-web-extras/lib/test/unit/httpTreeAccessors.test.js":[1,2316],"/home/runner/work/fgv/fgv/libraries/ts-web-extras/lib/test/unit/fileSystemAccessTreeAccessors.test.js":[1,1352],"/home/runner/work/fgv/fgv/libraries/ts-web-extras/lib/test/unit/fileTreeHelpers.test.js":[1,1538],"/home/runner/work/fgv/fgv/libraries/ts-web-extras/lib/test/unit/fileApiTypes.test.js":[1,1440],"/home/runner/work/fgv/fgv/libraries/ts-web-extras/lib/test/unit/urlParams.test.js":[1,1637],"/home/runner/work/fgv/fgv/libraries/ts-web-extras/lib/test/unit/directoryHandleStore.test.js":[1,1412],"/home/runner/work/fgv/fgv/libraries/ts-web-extras/lib/test/unit/browserHashProvider.test.js":[1,1586]}
1
+ {"/home/runner/work/fgv/fgv/libraries/ts-web-extras/lib/test/unit/httpTreeAccessors.test.js":[1,1937],"/home/runner/work/fgv/fgv/libraries/ts-web-extras/lib/test/unit/fileApiTreeAccessors.test.js":[1,2182],"/home/runner/work/fgv/fgv/libraries/ts-web-extras/lib/test/unit/localStorageTreeAccessors.test.js":[1,2170],"/home/runner/work/fgv/fgv/libraries/ts-web-extras/lib/test/unit/fileSystemAccessTreeAccessors.test.js":[1,1659],"/home/runner/work/fgv/fgv/libraries/ts-web-extras/lib/test/unit/fileApiTypes.test.js":[1,1275],"/home/runner/work/fgv/fgv/libraries/ts-web-extras/lib/test/unit/fileTreeHelpers.test.js":[1,1784],"/home/runner/work/fgv/fgv/libraries/ts-web-extras/lib/test/unit/directoryHandleStore.test.js":[1,1140],"/home/runner/work/fgv/fgv/libraries/ts-web-extras/lib/test/unit/urlParams.test.js":[1,1398],"/home/runner/work/fgv/fgv/libraries/ts-web-extras/lib/test/unit/browserHashProvider.test.js":[1,1392]}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "metadata": {
3
3
  "toolPackage": "@microsoft/api-extractor",
4
- "toolVersion": "7.57.6",
4
+ "toolVersion": "7.57.7",
5
5
  "schemaVersion": 1011,
6
6
  "oldestForwardsCompatibleVersion": 1001,
7
7
  "tsdocConfig": {
@@ -1,18 +0,0 @@
1
- [**@fgv/ts-web-extras**](../../../README.md)
2
-
3
- ***
4
-
5
- [@fgv/ts-web-extras](../../../README.md) / CryptoUtils
6
-
7
- # CryptoUtils
8
-
9
- Browser-compatible cryptographic utilities using the Web Crypto API.
10
-
11
- ## Classes
12
-
13
- - [BrowserCryptoProvider](classes/BrowserCryptoProvider.md)
14
- - [BrowserHashProvider](classes/BrowserHashProvider.md)
15
-
16
- ## Functions
17
-
18
- - [createBrowserCryptoProvider](functions/createBrowserCryptoProvider.md)
@@ -1,203 +0,0 @@
1
- [**@fgv/ts-web-extras**](../../../../README.md)
2
-
3
- ***
4
-
5
- [@fgv/ts-web-extras](../../../../README.md) / [CryptoUtils](../README.md) / BrowserCryptoProvider
6
-
7
- # Class: BrowserCryptoProvider
8
-
9
- Browser implementation of `ICryptoProvider` using the Web Crypto API.
10
- Uses AES-256-GCM for authenticated encryption.
11
-
12
- Note: This provider requires a browser environment with Web Crypto API support.
13
- In Node.js 15+, Web Crypto is available via globalThis.crypto or require('crypto').webcrypto.
14
-
15
- ## Implements
16
-
17
- - [`ICryptoProvider`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-web-extras/docs)
18
-
19
- ## Constructors
20
-
21
- ### Constructor
22
-
23
- > **new BrowserCryptoProvider**(`cryptoApi?`): `BrowserCryptoProvider`
24
-
25
- Creates a new BrowserCryptoProvider.
26
-
27
- #### Parameters
28
-
29
- | Parameter | Type | Description |
30
- | ------ | ------ | ------ |
31
- | `cryptoApi?` | `Crypto` | Optional Crypto instance (defaults to globalThis.crypto) |
32
-
33
- #### Returns
34
-
35
- `BrowserCryptoProvider`
36
-
37
- ## Methods
38
-
39
- ### decrypt()
40
-
41
- > **decrypt**(`encryptedData`, `key`, `iv`, `authTag`): `Promise`\<[`Result`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils/docs)\<`string`\>\>
42
-
43
- Decrypts ciphertext using AES-256-GCM.
44
-
45
- #### Parameters
46
-
47
- | Parameter | Type | Description |
48
- | ------ | ------ | ------ |
49
- | `encryptedData` | `Uint8Array` | Encrypted bytes |
50
- | `key` | `Uint8Array` | 32-byte decryption key |
51
- | `iv` | `Uint8Array` | Initialization vector (12 bytes) |
52
- | `authTag` | `Uint8Array` | GCM authentication tag (16 bytes) |
53
-
54
- #### Returns
55
-
56
- `Promise`\<[`Result`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils/docs)\<`string`\>\>
57
-
58
- `Success` with decrypted UTF-8 string, or `Failure` with an error.
59
-
60
- #### Implementation of
61
-
62
- `ICryptoProvider.decrypt`
63
-
64
- ***
65
-
66
- ### deriveKey()
67
-
68
- > **deriveKey**(`password`, `salt`, `iterations`): `Promise`\<[`Result`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils/docs)\<`Uint8Array`\<`ArrayBufferLike`\>\>\>
69
-
70
- Derives a key from a password using PBKDF2.
71
-
72
- #### Parameters
73
-
74
- | Parameter | Type | Description |
75
- | ------ | ------ | ------ |
76
- | `password` | `string` | Password string |
77
- | `salt` | `Uint8Array` | Salt bytes (should be at least 16 bytes) |
78
- | `iterations` | `number` | Number of iterations (recommend 100000+) |
79
-
80
- #### Returns
81
-
82
- `Promise`\<[`Result`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils/docs)\<`Uint8Array`\<`ArrayBufferLike`\>\>\>
83
-
84
- Success with derived 32-byte key, or Failure with error
85
-
86
- #### Implementation of
87
-
88
- `ICryptoProvider.deriveKey`
89
-
90
- ***
91
-
92
- ### encrypt()
93
-
94
- > **encrypt**(`plaintext`, `key`): `Promise`\<[`Result`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils/docs)\<[`IEncryptionResult`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-extras/docs)\>\>
95
-
96
- Encrypts plaintext using AES-256-GCM.
97
-
98
- #### Parameters
99
-
100
- | Parameter | Type | Description |
101
- | ------ | ------ | ------ |
102
- | `plaintext` | `string` | UTF-8 string to encrypt |
103
- | `key` | `Uint8Array` | 32-byte encryption key |
104
-
105
- #### Returns
106
-
107
- `Promise`\<[`Result`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils/docs)\<[`IEncryptionResult`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-extras/docs)\>\>
108
-
109
- `Success` with encryption result, or `Failure` with an error.
110
-
111
- #### Implementation of
112
-
113
- `ICryptoProvider.encrypt`
114
-
115
- ***
116
-
117
- ### fromBase64()
118
-
119
- > **fromBase64**(`base64`): [`Result`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils/docs)\<`Uint8Array`\<`ArrayBufferLike`\>\>
120
-
121
- Decodes base64 string to binary data.
122
-
123
- #### Parameters
124
-
125
- | Parameter | Type | Description |
126
- | ------ | ------ | ------ |
127
- | `base64` | `string` | Base64-encoded string |
128
-
129
- #### Returns
130
-
131
- [`Result`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils/docs)\<`Uint8Array`\<`ArrayBufferLike`\>\>
132
-
133
- Success with decoded bytes, or Failure if invalid base64
134
-
135
- #### Implementation of
136
-
137
- `ICryptoProvider.fromBase64`
138
-
139
- ***
140
-
141
- ### generateKey()
142
-
143
- > **generateKey**(): `Promise`\<[`Result`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils/docs)\<`Uint8Array`\<`ArrayBufferLike`\>\>\>
144
-
145
- Generates a random 32-byte key suitable for AES-256.
146
-
147
- #### Returns
148
-
149
- `Promise`\<[`Result`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils/docs)\<`Uint8Array`\<`ArrayBufferLike`\>\>\>
150
-
151
- Success with generated key, or Failure with error
152
-
153
- #### Implementation of
154
-
155
- `ICryptoProvider.generateKey`
156
-
157
- ***
158
-
159
- ### generateRandomBytes()
160
-
161
- > **generateRandomBytes**(`length`): [`Result`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils/docs)\<`Uint8Array`\<`ArrayBufferLike`\>\>
162
-
163
- Generates cryptographically secure random bytes.
164
-
165
- #### Parameters
166
-
167
- | Parameter | Type | Description |
168
- | ------ | ------ | ------ |
169
- | `length` | `number` | Number of bytes to generate |
170
-
171
- #### Returns
172
-
173
- [`Result`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils/docs)\<`Uint8Array`\<`ArrayBufferLike`\>\>
174
-
175
- Success with random bytes, or Failure with error
176
-
177
- #### Implementation of
178
-
179
- `ICryptoProvider.generateRandomBytes`
180
-
181
- ***
182
-
183
- ### toBase64()
184
-
185
- > **toBase64**(`data`): `string`
186
-
187
- Encodes binary data to base64 string.
188
-
189
- #### Parameters
190
-
191
- | Parameter | Type | Description |
192
- | ------ | ------ | ------ |
193
- | `data` | `Uint8Array` | Binary data to encode |
194
-
195
- #### Returns
196
-
197
- `string`
198
-
199
- Base64-encoded string
200
-
201
- #### Implementation of
202
-
203
- `ICryptoProvider.toBase64`
@@ -1,63 +0,0 @@
1
- [**@fgv/ts-web-extras**](../../../../README.md)
2
-
3
- ***
4
-
5
- [@fgv/ts-web-extras](../../../../README.md) / [CryptoUtils](../README.md) / BrowserHashProvider
6
-
7
- # Class: BrowserHashProvider
8
-
9
- Browser-compatible hash provider using the Web Crypto API.
10
- Supports common hash algorithms available in browsers.
11
-
12
- ## Constructors
13
-
14
- ### Constructor
15
-
16
- > **new BrowserHashProvider**(): `BrowserHashProvider`
17
-
18
- #### Returns
19
-
20
- `BrowserHashProvider`
21
-
22
- ## Methods
23
-
24
- ### hashParts()
25
-
26
- > `static` **hashParts**(`parts`, `algorithm`, `separator`): `Promise`\<[`Result`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils/docs)\<`string`\>\>
27
-
28
- Hash multiple strings concatenated with a separator.
29
-
30
- #### Parameters
31
-
32
- | Parameter | Type | Default value | Description |
33
- | ------ | ------ | ------ | ------ |
34
- | `parts` | `string`[] | `undefined` | Array of strings to concatenate and hash |
35
- | `algorithm` | `string` | `'SHA-256'` | The hash algorithm to use |
36
- | `separator` | `string` | '\|' | Separator to use between parts (default: '|') |
37
-
38
- #### Returns
39
-
40
- `Promise`\<[`Result`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils/docs)\<`string`\>\>
41
-
42
- Promise resolving to the hex-encoded hash
43
-
44
- ***
45
-
46
- ### hashString()
47
-
48
- > `static` **hashString**(`data`, `algorithm`): `Promise`\<[`Result`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils/docs)\<`string`\>\>
49
-
50
- Hash a string using the specified algorithm.
51
-
52
- #### Parameters
53
-
54
- | Parameter | Type | Default value | Description |
55
- | ------ | ------ | ------ | ------ |
56
- | `data` | `string` | `undefined` | The string to hash |
57
- | `algorithm` | `string` | `'SHA-256'` | The hash algorithm to use |
58
-
59
- #### Returns
60
-
61
- `Promise`\<[`Result`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils/docs)\<`string`\>\>
62
-
63
- Promise resolving to the hex-encoded hash
@@ -1,18 +0,0 @@
1
- [**@fgv/ts-web-extras**](../../../../README.md)
2
-
3
- ***
4
-
5
- [@fgv/ts-web-extras](../../../../README.md) / [CryptoUtils](../README.md) / createBrowserCryptoProvider
6
-
7
- # Function: createBrowserCryptoProvider()
8
-
9
- > **createBrowserCryptoProvider**(): [`Result`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils/docs)\<[`BrowserCryptoProvider`](../classes/BrowserCryptoProvider.md)\>
10
-
11
- Creates a [BrowserCryptoProvider](../classes/BrowserCryptoProvider.md) if Web
12
- Crypto API is available.
13
-
14
- ## Returns
15
-
16
- [`Result`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils/docs)\<[`BrowserCryptoProvider`](../classes/BrowserCryptoProvider.md)\>
17
-
18
- `Success` with provider, or `Failure` if not available
@@ -1,19 +0,0 @@
1
- [**@fgv/ts-web-extras**](../../../README.md)
2
-
3
- ***
4
-
5
- [@fgv/ts-web-extras](../../../README.md) / FileTreeHelpers
6
-
7
- # FileTreeHelpers
8
-
9
- ## Variables
10
-
11
- - [defaultFileApiTreeInitParams](variables/defaultFileApiTreeInitParams.md)
12
-
13
- ## Functions
14
-
15
- - [extractFileListMetadata](functions/extractFileListMetadata.md)
16
- - [extractFileMetadata](functions/extractFileMetadata.md)
17
- - [fromDirectoryUpload](functions/fromDirectoryUpload.md)
18
- - [fromFileList](functions/fromFileList.md)
19
- - [getOriginalFile](functions/getOriginalFile.md)