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

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 (270) hide show
  1. package/.rush/temp/{61c1d4a91d98f048b475a5bb3e6541c5d27819de.tar.log → 54f89319dd14b2acc47614d70128001f4227d01e.tar.log} +3 -3
  2. package/.rush/temp/chunked-rush-logs/ts-web-extras.build.chunks.jsonl +18 -18
  3. package/.rush/temp/operation/build/all.log +18 -18
  4. package/.rush/temp/operation/build/log-chunks.jsonl +18 -18
  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/packlets/file-tree/httpTreeAccessors.js +72 -42
  9. package/dist/packlets/file-tree/httpTreeAccessors.js.map +1 -1
  10. package/dist/test/unit/httpTreeAccessors.test.js +135 -0
  11. package/dist/test/unit/httpTreeAccessors.test.js.map +1 -1
  12. package/dist/ts-web-extras.d.ts +6 -0
  13. package/dist/tsdoc-metadata.json +1 -1
  14. package/docs/CryptoUtils/README.md +60 -0
  15. package/docs/CryptoUtils/classes/BrowserCryptoProvider.decrypt.md +27 -0
  16. package/docs/CryptoUtils/classes/BrowserCryptoProvider.deriveKey.md +26 -0
  17. package/docs/CryptoUtils/classes/BrowserCryptoProvider.encrypt.md +25 -0
  18. package/docs/CryptoUtils/classes/BrowserCryptoProvider.fromBase64.md +24 -0
  19. package/docs/CryptoUtils/classes/BrowserCryptoProvider.generateKey.md +17 -0
  20. package/docs/CryptoUtils/classes/BrowserCryptoProvider.generateRandomBytes.md +24 -0
  21. package/docs/CryptoUtils/classes/BrowserCryptoProvider.md +151 -0
  22. package/docs/CryptoUtils/classes/BrowserCryptoProvider.toBase64.md +24 -0
  23. package/docs/CryptoUtils/classes/BrowserHashProvider.hashParts.md +26 -0
  24. package/docs/CryptoUtils/classes/BrowserHashProvider.hashString.md +25 -0
  25. package/docs/CryptoUtils/classes/BrowserHashProvider.md +81 -0
  26. package/docs/CryptoUtils/functions/createBrowserCryptoProvider.md +12 -0
  27. package/docs/FileTreeHelpers/README.md +85 -0
  28. package/docs/FileTreeHelpers/functions/extractFileListMetadata.md +11 -0
  29. package/docs/FileTreeHelpers/functions/extractFileMetadata.md +11 -0
  30. package/docs/FileTreeHelpers/functions/fromDirectoryUpload.md +12 -0
  31. package/docs/FileTreeHelpers/functions/fromFileList.md +12 -0
  32. package/docs/FileTreeHelpers/functions/getOriginalFile.md +11 -0
  33. package/docs/FileTreeHelpers/variables/defaultFileApiTreeInitParams.md +9 -0
  34. package/docs/README.md +499 -53
  35. package/docs/classes/BrowserCryptoProvider.decrypt.md +27 -0
  36. package/docs/classes/BrowserCryptoProvider.deriveKey.md +26 -0
  37. package/docs/classes/BrowserCryptoProvider.encrypt.md +25 -0
  38. package/docs/classes/BrowserCryptoProvider.fromBase64.md +24 -0
  39. package/docs/classes/BrowserCryptoProvider.generateKey.md +17 -0
  40. package/docs/classes/BrowserCryptoProvider.generateRandomBytes.md +24 -0
  41. package/docs/classes/BrowserCryptoProvider.md +151 -0
  42. package/docs/classes/BrowserCryptoProvider.toBase64.md +24 -0
  43. package/docs/classes/BrowserHashProvider.hashParts.md +26 -0
  44. package/docs/classes/BrowserHashProvider.hashString.md +25 -0
  45. package/docs/classes/BrowserHashProvider.md +81 -0
  46. package/docs/classes/DirectoryHandleStore.getAll.md +17 -0
  47. package/docs/classes/DirectoryHandleStore.getAllLabels.md +17 -0
  48. package/docs/classes/DirectoryHandleStore.load.md +24 -0
  49. package/docs/classes/DirectoryHandleStore.md +65 -61
  50. package/docs/classes/DirectoryHandleStore.remove.md +24 -0
  51. package/docs/classes/DirectoryHandleStore.save.md +25 -0
  52. package/docs/classes/FileApiTreeAccessors.create.md +25 -0
  53. package/docs/classes/FileApiTreeAccessors.createFromHttp.md +24 -0
  54. package/docs/classes/FileApiTreeAccessors.createFromLocalStorage.md +25 -0
  55. package/docs/classes/FileApiTreeAccessors.createPersistent.md +26 -0
  56. package/docs/classes/FileApiTreeAccessors.createPersistentFromFile.md +27 -0
  57. package/docs/classes/FileApiTreeAccessors.extractFileMetadata.md +24 -0
  58. package/docs/classes/FileApiTreeAccessors.fromDirectoryUpload.md +25 -0
  59. package/docs/classes/FileApiTreeAccessors.fromFileList.md +25 -0
  60. package/docs/classes/FileApiTreeAccessors.getOriginalFile.md +27 -0
  61. package/docs/classes/FileApiTreeAccessors.md +87 -201
  62. package/docs/classes/FileSystemAccessTreeAccessors.deleteFile.md +22 -0
  63. package/docs/classes/FileSystemAccessTreeAccessors.fileIsMutable.md +22 -0
  64. package/docs/classes/FileSystemAccessTreeAccessors.fromDirectoryHandle.md +25 -0
  65. package/docs/classes/FileSystemAccessTreeAccessors.fromFileHandle.md +29 -0
  66. package/docs/classes/FileSystemAccessTreeAccessors.getDirtyPaths.md +15 -0
  67. package/docs/classes/FileSystemAccessTreeAccessors.isDirty.md +15 -0
  68. package/docs/classes/FileSystemAccessTreeAccessors.md +128 -410
  69. package/docs/classes/FileSystemAccessTreeAccessors.saveFileContents.md +23 -0
  70. package/docs/classes/FileSystemAccessTreeAccessors.syncToDisk.md +15 -0
  71. package/docs/classes/HttpTreeAccessors.deleteFile.md +22 -0
  72. package/docs/classes/HttpTreeAccessors.fileIsMutable.md +24 -0
  73. package/docs/classes/HttpTreeAccessors.fromHttp.md +24 -0
  74. package/docs/classes/HttpTreeAccessors.getDirtyPaths.md +17 -0
  75. package/docs/classes/HttpTreeAccessors.isDirty.md +17 -0
  76. package/docs/classes/HttpTreeAccessors.md +121 -368
  77. package/docs/classes/HttpTreeAccessors.saveFileContents.md +25 -0
  78. package/docs/classes/HttpTreeAccessors.syncToDisk.md +22 -0
  79. package/docs/classes/LocalStorageTreeAccessors.deleteFile.md +24 -0
  80. package/docs/classes/LocalStorageTreeAccessors.fileIsMutable.md +24 -0
  81. package/docs/classes/LocalStorageTreeAccessors.fromStorage.md +25 -0
  82. package/docs/classes/LocalStorageTreeAccessors.getDirtyPaths.md +17 -0
  83. package/docs/classes/LocalStorageTreeAccessors.isDirty.md +17 -0
  84. package/docs/classes/LocalStorageTreeAccessors.md +121 -371
  85. package/docs/classes/LocalStorageTreeAccessors.saveFileContents.md +25 -0
  86. package/docs/classes/LocalStorageTreeAccessors.syncToDisk.md +17 -0
  87. package/docs/functions/createBrowserCryptoProvider.md +12 -0
  88. package/docs/functions/exportAsJson.md +6 -17
  89. package/docs/functions/exportUsingFileSystemAPI.md +6 -21
  90. package/docs/functions/extractDirectoryPath.md +6 -16
  91. package/docs/functions/extractFileListMetadata.md +11 -0
  92. package/docs/functions/extractFileMetadata.md +11 -0
  93. package/docs/functions/fromDirectoryUpload.md +12 -0
  94. package/docs/functions/fromFileList.md +12 -0
  95. package/docs/functions/getOriginalFile.md +11 -0
  96. package/docs/functions/isDirectoryHandle.md +6 -18
  97. package/docs/functions/isFileHandle.md +6 -18
  98. package/docs/functions/isFilePath.md +6 -16
  99. package/docs/functions/parseContextFilter.md +6 -16
  100. package/docs/functions/parseQualifierDefaults.md +6 -16
  101. package/docs/functions/parseResourceTypes.md +6 -16
  102. package/docs/functions/parseUrlParameters.md +6 -10
  103. package/docs/functions/safeShowDirectoryPicker.md +6 -19
  104. package/docs/functions/safeShowOpenFilePicker.md +6 -19
  105. package/docs/functions/safeShowSaveFilePicker.md +6 -19
  106. package/docs/functions/supportsFileSystemAccess.md +6 -18
  107. package/docs/interfaces/FilePickerAcceptType.accept.md +9 -0
  108. package/docs/interfaces/FilePickerAcceptType.description.md +9 -0
  109. package/docs/interfaces/FilePickerAcceptType.md +54 -9
  110. package/docs/interfaces/FileSystemCreateWritableOptions.keepExistingData.md +9 -0
  111. package/docs/interfaces/FileSystemCreateWritableOptions.md +37 -8
  112. package/docs/interfaces/FileSystemDirectoryHandle._asyncIterator_.md +13 -0
  113. package/docs/interfaces/FileSystemDirectoryHandle.entries.md +13 -0
  114. package/docs/interfaces/FileSystemDirectoryHandle.getDirectoryHandle.md +21 -0
  115. package/docs/interfaces/FileSystemDirectoryHandle.getFileHandle.md +21 -0
  116. package/docs/interfaces/FileSystemDirectoryHandle.keys.md +13 -0
  117. package/docs/interfaces/FileSystemDirectoryHandle.kind.md +9 -0
  118. package/docs/interfaces/FileSystemDirectoryHandle.md +140 -103
  119. package/docs/interfaces/FileSystemDirectoryHandle.removeEntry.md +21 -0
  120. package/docs/interfaces/FileSystemDirectoryHandle.resolve.md +20 -0
  121. package/docs/interfaces/FileSystemDirectoryHandle.values.md +13 -0
  122. package/docs/interfaces/FileSystemFileHandle.createWritable.md +20 -0
  123. package/docs/interfaces/FileSystemFileHandle.getFile.md +13 -0
  124. package/docs/interfaces/FileSystemFileHandle.kind.md +9 -0
  125. package/docs/interfaces/FileSystemFileHandle.md +98 -58
  126. package/docs/interfaces/FileSystemGetDirectoryOptions.create.md +9 -0
  127. package/docs/interfaces/FileSystemGetDirectoryOptions.md +37 -8
  128. package/docs/interfaces/FileSystemGetFileOptions.create.md +9 -0
  129. package/docs/interfaces/FileSystemGetFileOptions.md +37 -8
  130. package/docs/interfaces/FileSystemHandle.isSameEntry.md +20 -0
  131. package/docs/interfaces/FileSystemHandle.kind.md +9 -0
  132. package/docs/interfaces/FileSystemHandle.md +88 -39
  133. package/docs/interfaces/FileSystemHandle.name.md +9 -0
  134. package/docs/interfaces/FileSystemHandle.queryPermission.md +20 -0
  135. package/docs/interfaces/FileSystemHandle.requestPermission.md +20 -0
  136. package/docs/interfaces/FileSystemHandlePermissionDescriptor.md +37 -8
  137. package/docs/interfaces/FileSystemHandlePermissionDescriptor.mode.md +9 -0
  138. package/docs/interfaces/FileSystemRemoveOptions.md +37 -8
  139. package/docs/interfaces/FileSystemRemoveOptions.recursive.md +9 -0
  140. package/docs/interfaces/FileSystemWritableFileStream.md +83 -68
  141. package/docs/interfaces/FileSystemWritableFileStream.seek.md +20 -0
  142. package/docs/interfaces/FileSystemWritableFileStream.truncate.md +20 -0
  143. package/docs/interfaces/FileSystemWritableFileStream.write.md +20 -0
  144. package/docs/interfaces/IDirectoryHandleTreeInitializer.dirHandles.md +9 -0
  145. package/docs/interfaces/IDirectoryHandleTreeInitializer.md +71 -10
  146. package/docs/interfaces/IDirectoryHandleTreeInitializer.nonRecursive.md +9 -0
  147. package/docs/interfaces/IDirectoryHandleTreeInitializer.prefix.md +9 -0
  148. package/docs/interfaces/IFileHandleTreeInitializer.fileHandles.md +9 -0
  149. package/docs/interfaces/IFileHandleTreeInitializer.md +54 -9
  150. package/docs/interfaces/IFileHandleTreeInitializer.prefix.md +9 -0
  151. package/docs/interfaces/IFileListTreeInitializer.fileList.md +9 -0
  152. package/docs/interfaces/IFileListTreeInitializer.md +37 -8
  153. package/docs/interfaces/IFileMetadata.lastModified.md +9 -0
  154. package/docs/interfaces/IFileMetadata.md +105 -12
  155. package/docs/interfaces/IFileMetadata.name.md +9 -0
  156. package/docs/interfaces/IFileMetadata.path.md +9 -0
  157. package/docs/interfaces/IFileMetadata.size.md +9 -0
  158. package/docs/interfaces/IFileMetadata.type.md +9 -0
  159. package/docs/interfaces/IFileSystemAccessTreeParams.autoSync.md +12 -0
  160. package/docs/interfaces/IFileSystemAccessTreeParams.filePath.md +13 -0
  161. package/docs/interfaces/IFileSystemAccessTreeParams.logger.md +11 -0
  162. package/docs/interfaces/IFileSystemAccessTreeParams.md +138 -20
  163. package/docs/interfaces/IFileSystemAccessTreeParams.requireWritePermission.md +13 -0
  164. package/docs/interfaces/IFsAccessApis.md +36 -31
  165. package/docs/interfaces/IFsAccessApis.showDirectoryPicker.md +20 -0
  166. package/docs/interfaces/IFsAccessApis.showOpenFilePicker.md +20 -0
  167. package/docs/interfaces/IFsAccessApis.showSaveFilePicker.md +20 -0
  168. package/docs/interfaces/IHttpTreeParams.autoSync.md +9 -0
  169. package/docs/interfaces/IHttpTreeParams.baseUrl.md +9 -0
  170. package/docs/interfaces/IHttpTreeParams.fetchImpl.md +9 -0
  171. package/docs/interfaces/IHttpTreeParams.logger.md +9 -0
  172. package/docs/interfaces/IHttpTreeParams.md +172 -22
  173. package/docs/interfaces/IHttpTreeParams.namespace.md +9 -0
  174. package/docs/interfaces/IHttpTreeParams.userId.md +9 -0
  175. package/docs/interfaces/ILocalStorageTreeParams.autoSync.md +12 -0
  176. package/docs/interfaces/ILocalStorageTreeParams.md +121 -20
  177. package/docs/interfaces/ILocalStorageTreeParams.pathToKeyMap.md +13 -0
  178. package/docs/interfaces/ILocalStorageTreeParams.storage.md +12 -0
  179. package/docs/interfaces/IUrlConfigOptions.config.md +11 -0
  180. package/docs/interfaces/IUrlConfigOptions.configStartDir.md +11 -0
  181. package/docs/interfaces/IUrlConfigOptions.contextFilter.md +11 -0
  182. package/docs/interfaces/IUrlConfigOptions.input.md +11 -0
  183. package/docs/interfaces/IUrlConfigOptions.inputStartDir.md +11 -0
  184. package/docs/interfaces/IUrlConfigOptions.interactive.md +11 -0
  185. package/docs/interfaces/IUrlConfigOptions.loadZip.md +11 -0
  186. package/docs/interfaces/IUrlConfigOptions.maxDistance.md +11 -0
  187. package/docs/interfaces/IUrlConfigOptions.md +241 -20
  188. package/docs/interfaces/IUrlConfigOptions.qualifierDefaults.md +11 -0
  189. package/docs/interfaces/IUrlConfigOptions.reduceQualifiers.md +11 -0
  190. package/docs/interfaces/IUrlConfigOptions.resourceTypes.md +11 -0
  191. package/docs/interfaces/IUrlConfigOptions.zipFile.md +11 -0
  192. package/docs/interfaces/IUrlConfigOptions.zipPath.md +11 -0
  193. package/docs/interfaces/ShowDirectoryPickerOptions.id.md +9 -0
  194. package/docs/interfaces/ShowDirectoryPickerOptions.md +71 -10
  195. package/docs/interfaces/ShowDirectoryPickerOptions.mode.md +9 -0
  196. package/docs/interfaces/ShowDirectoryPickerOptions.startIn.md +9 -0
  197. package/docs/interfaces/ShowOpenFilePickerOptions.excludeAcceptAllOption.md +9 -0
  198. package/docs/interfaces/ShowOpenFilePickerOptions.id.md +9 -0
  199. package/docs/interfaces/ShowOpenFilePickerOptions.md +105 -12
  200. package/docs/interfaces/ShowOpenFilePickerOptions.multiple.md +9 -0
  201. package/docs/interfaces/ShowOpenFilePickerOptions.startIn.md +9 -0
  202. package/docs/interfaces/ShowOpenFilePickerOptions.types.md +9 -0
  203. package/docs/interfaces/ShowSaveFilePickerOptions.excludeAcceptAllOption.md +9 -0
  204. package/docs/interfaces/ShowSaveFilePickerOptions.id.md +9 -0
  205. package/docs/interfaces/ShowSaveFilePickerOptions.md +105 -12
  206. package/docs/interfaces/ShowSaveFilePickerOptions.startIn.md +9 -0
  207. package/docs/interfaces/ShowSaveFilePickerOptions.suggestedName.md +9 -0
  208. package/docs/interfaces/ShowSaveFilePickerOptions.types.md +9 -0
  209. package/docs/type-aliases/TreeInitializer.md +7 -7
  210. package/docs/type-aliases/WellKnownDirectory.md +7 -7
  211. package/docs/type-aliases/WindowWithFsAccess.md +7 -7
  212. package/docs/variables/DEFAULT_DIRECTORY_HANDLE_DB.md +5 -7
  213. package/docs/variables/DEFAULT_DIRECTORY_HANDLE_STORE.md +5 -7
  214. package/docs/variables/defaultFileApiTreeInitParams.md +9 -0
  215. package/lib/packlets/file-tree/httpTreeAccessors.d.ts +6 -0
  216. package/lib/packlets/file-tree/httpTreeAccessors.d.ts.map +1 -1
  217. package/lib/packlets/file-tree/httpTreeAccessors.js +72 -42
  218. package/lib/packlets/file-tree/httpTreeAccessors.js.map +1 -1
  219. package/lib/test/unit/httpTreeAccessors.test.js +135 -0
  220. package/lib/test/unit/httpTreeAccessors.test.js.map +1 -1
  221. package/package.json +12 -11
  222. package/rush-logs/ts-web-extras.build.cache.log +1 -1
  223. package/rush-logs/ts-web-extras.build.log +18 -18
  224. package/src/packlets/file-tree/httpTreeAccessors.ts +76 -46
  225. package/src/test/unit/httpTreeAccessors.test.ts +179 -0
  226. package/temp/build/typescript/ts_8nwakTlr.json +1 -1
  227. package/temp/coverage/crypto-utils/browserCryptoProvider.ts.html +1 -1
  228. package/temp/coverage/crypto-utils/browserHashProvider.ts.html +1 -1
  229. package/temp/coverage/crypto-utils/index.html +1 -1
  230. package/temp/coverage/file-tree/directoryHandleStore.ts.html +1 -1
  231. package/temp/coverage/file-tree/fileApiTreeAccessors.ts.html +1 -1
  232. package/temp/coverage/file-tree/fileSystemAccessTreeAccessors.ts.html +1 -1
  233. package/temp/coverage/file-tree/httpTreeAccessors.ts.html +333 -243
  234. package/temp/coverage/file-tree/index.html +11 -11
  235. package/temp/coverage/file-tree/localStorageTreeAccessors.ts.html +1 -1
  236. package/temp/coverage/helpers/fileTreeHelpers.ts.html +1 -1
  237. package/temp/coverage/helpers/index.html +1 -1
  238. package/temp/coverage/index.html +10 -10
  239. package/temp/coverage/lcov-report/crypto-utils/browserCryptoProvider.ts.html +1 -1
  240. package/temp/coverage/lcov-report/crypto-utils/browserHashProvider.ts.html +1 -1
  241. package/temp/coverage/lcov-report/crypto-utils/index.html +1 -1
  242. package/temp/coverage/lcov-report/file-tree/directoryHandleStore.ts.html +1 -1
  243. package/temp/coverage/lcov-report/file-tree/fileApiTreeAccessors.ts.html +1 -1
  244. package/temp/coverage/lcov-report/file-tree/fileSystemAccessTreeAccessors.ts.html +1 -1
  245. package/temp/coverage/lcov-report/file-tree/httpTreeAccessors.ts.html +333 -243
  246. package/temp/coverage/lcov-report/file-tree/index.html +11 -11
  247. package/temp/coverage/lcov-report/file-tree/localStorageTreeAccessors.ts.html +1 -1
  248. package/temp/coverage/lcov-report/helpers/fileTreeHelpers.ts.html +1 -1
  249. package/temp/coverage/lcov-report/helpers/index.html +1 -1
  250. package/temp/coverage/lcov-report/index.html +10 -10
  251. package/temp/coverage/lcov-report/url-utils/index.html +1 -1
  252. package/temp/coverage/lcov-report/url-utils/urlParams.ts.html +1 -1
  253. package/temp/coverage/lcov.info +470 -437
  254. package/temp/coverage/url-utils/index.html +1 -1
  255. package/temp/coverage/url-utils/urlParams.ts.html +1 -1
  256. package/temp/test/jest/haste-map-7492f1b44480e0cdd1f220078fb3afd8-c8dd6c3430605adeb2f1cadf4f75e791-8c9336785555d572065b28c111982ba4 +0 -0
  257. package/temp/test/jest/perf-cache-7492f1b44480e0cdd1f220078fb3afd8-da39a3ee5e6b4b0d3255bfef95601890 +1 -1
  258. package/temp/ts-web-extras.api.json +1 -1
  259. package/docs/@fgv/namespaces/CryptoUtils/README.md +0 -18
  260. package/docs/@fgv/namespaces/CryptoUtils/classes/BrowserCryptoProvider.md +0 -203
  261. package/docs/@fgv/namespaces/CryptoUtils/classes/BrowserHashProvider.md +0 -63
  262. package/docs/@fgv/namespaces/CryptoUtils/functions/createBrowserCryptoProvider.md +0 -18
  263. package/docs/@fgv/namespaces/FileTreeHelpers/README.md +0 -19
  264. package/docs/@fgv/namespaces/FileTreeHelpers/functions/extractFileListMetadata.md +0 -23
  265. package/docs/@fgv/namespaces/FileTreeHelpers/functions/extractFileMetadata.md +0 -23
  266. package/docs/@fgv/namespaces/FileTreeHelpers/functions/fromDirectoryUpload.md +0 -33
  267. package/docs/@fgv/namespaces/FileTreeHelpers/functions/fromFileList.md +0 -33
  268. package/docs/@fgv/namespaces/FileTreeHelpers/functions/getOriginalFile.md +0 -25
  269. package/docs/@fgv/namespaces/FileTreeHelpers/variables/defaultFileApiTreeInitParams.md +0 -11
  270. /package/temp/test/jest/jest-transform-cache-7492f1b44480e0cdd1f220078fb3afd8-79ef2876fae7ca75eedb2aa53dc48338/{d6/package_d6e3b0fa94752e16b0b2a2777739b973 → 7c/package_7c16afc8299e635d80273763175c7a50} +0 -0
@@ -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-26T23:17:06.797Z
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-26T23:17:06.797Z
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/localStorageTreeAccessors.test.js":[1,1899],"/home/runner/work/fgv/fgv/libraries/ts-web-extras/lib/test/unit/fileApiTreeAccessors.test.js":[1,2144],"/home/runner/work/fgv/fgv/libraries/ts-web-extras/lib/test/unit/httpTreeAccessors.test.js":[1,2546],"/home/runner/work/fgv/fgv/libraries/ts-web-extras/lib/test/unit/fileSystemAccessTreeAccessors.test.js":[1,1489],"/home/runner/work/fgv/fgv/libraries/ts-web-extras/lib/test/unit/fileTreeHelpers.test.js":[1,1864],"/home/runner/work/fgv/fgv/libraries/ts-web-extras/lib/test/unit/fileApiTypes.test.js":[1,1590],"/home/runner/work/fgv/fgv/libraries/ts-web-extras/lib/test/unit/urlParams.test.js":[1,1224],"/home/runner/work/fgv/fgv/libraries/ts-web-extras/lib/test/unit/directoryHandleStore.test.js":[1,1391],"/home/runner/work/fgv/fgv/libraries/ts-web-extras/lib/test/unit/browserHashProvider.test.js":[1,1278]}
@@ -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)
@@ -1,23 +0,0 @@
1
- [**@fgv/ts-web-extras**](../../../../README.md)
2
-
3
- ***
4
-
5
- [@fgv/ts-web-extras](../../../../README.md) / [FileTreeHelpers](../README.md) / extractFileListMetadata
6
-
7
- # Function: extractFileListMetadata()
8
-
9
- > **extractFileListMetadata**(`fileList`): [`IFileMetadata`](../../../../interfaces/IFileMetadata.md)[]
10
-
11
- Helper function to extract metadata from a `FileList`.
12
-
13
- ## Parameters
14
-
15
- | Parameter | Type | Description |
16
- | ------ | ------ | ------ |
17
- | `fileList` | `FileList` | The `FileList` to extract metadata from |
18
-
19
- ## Returns
20
-
21
- [`IFileMetadata`](../../../../interfaces/IFileMetadata.md)[]
22
-
23
- Array of [file metadata](../../../../interfaces/IFileMetadata.md) objects
@@ -1,23 +0,0 @@
1
- [**@fgv/ts-web-extras**](../../../../README.md)
2
-
3
- ***
4
-
5
- [@fgv/ts-web-extras](../../../../README.md) / [FileTreeHelpers](../README.md) / extractFileMetadata
6
-
7
- # Function: extractFileMetadata()
8
-
9
- > **extractFileMetadata**(`file`): [`IFileMetadata`](../../../../interfaces/IFileMetadata.md)
10
-
11
- Helper function to extract metadata from a `File`.
12
-
13
- ## Parameters
14
-
15
- | Parameter | Type | Description |
16
- | ------ | ------ | ------ |
17
- | `file` | `File` | The File to extract metadata from |
18
-
19
- ## Returns
20
-
21
- [`IFileMetadata`](../../../../interfaces/IFileMetadata.md)
22
-
23
- [file metadata](../../../../interfaces/IFileMetadata.md) object
@@ -1,33 +0,0 @@
1
- [**@fgv/ts-web-extras**](../../../../README.md)
2
-
3
- ***
4
-
5
- [@fgv/ts-web-extras](../../../../README.md) / [FileTreeHelpers](../README.md) / fromDirectoryUpload
6
-
7
- # Function: fromDirectoryUpload()
8
-
9
- > **fromDirectoryUpload**(`fileList`, `params?`): `Promise`\<[`Result`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils/docs)\<[`FileTree_2`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-json-base/docs)\<`string`\>\>\>
10
-
11
- Helper function to create a new FileTree instance
12
- from a directory upload with webkitRelativePath support.
13
-
14
- ## Parameters
15
-
16
- | Parameter | Type | Description |
17
- | ------ | ------ | ------ |
18
- | `fileList` | `FileList` | FileList from a directory upload (input with webkitdirectory) |
19
- | `params?` | [`IFileTreeInitParams`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-json-base/docs)\<`string`\> | Optional `IFileTreeInitParams` for the file tree. |
20
-
21
- ## Returns
22
-
23
- `Promise`\<[`Result`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils/docs)\<[`FileTree_2`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-json-base/docs)\<`string`\>\>\>
24
-
25
- Promise resolving to a successful Result with the new FileTree instance
26
- if successful, or a failed Result with an error message otherwise
27
-
28
- ## Remarks
29
-
30
- The content type of the files is always `string` and the default
31
- accept contentType function (`FileTree.FileItem.defaultAcceptContentType`) is
32
- is used, so content type is derived from the mime type of the file, when
33
- available.
@@ -1,33 +0,0 @@
1
- [**@fgv/ts-web-extras**](../../../../README.md)
2
-
3
- ***
4
-
5
- [@fgv/ts-web-extras](../../../../README.md) / [FileTreeHelpers](../README.md) / fromFileList
6
-
7
- # Function: fromFileList()
8
-
9
- > **fromFileList**(`fileList`, `params?`): `Promise`\<[`Result`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils/docs)\<[`FileTree_2`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-json-base/docs)\<`string`\>\>\>
10
-
11
- Helper function to create a new FileTree instance
12
- from a browser FileList (e.g., from input[type="file"]).
13
-
14
- ## Parameters
15
-
16
- | Parameter | Type | Description |
17
- | ------ | ------ | ------ |
18
- | `fileList` | `FileList` | FileList from a file input element |
19
- | `params?` | [`IFileTreeInitParams`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-json-base/docs)\<`string`\> | Optional `IFileTreeInitParams` for the file tree. |
20
-
21
- ## Returns
22
-
23
- `Promise`\<[`Result`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils/docs)\<[`FileTree_2`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-json-base/docs)\<`string`\>\>\>
24
-
25
- Promise resolving to a successful Result with the new FileTree instance
26
- if successful, or a failed Result with an error message otherwise
27
-
28
- ## Remarks
29
-
30
- The content type of the files is always `string` and the default
31
- accept contentType function (`FileTree.FileItem.defaultAcceptContentType`) is
32
- used, so content type is derived from the mime type of the file, when
33
- available.
@@ -1,25 +0,0 @@
1
- [**@fgv/ts-web-extras**](../../../../README.md)
2
-
3
- ***
4
-
5
- [@fgv/ts-web-extras](../../../../README.md) / [FileTreeHelpers](../README.md) / getOriginalFile
6
-
7
- # Function: getOriginalFile()
8
-
9
- > **getOriginalFile**(`fileList`, `path`): [`Result`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils/docs)\<`File`\>
10
-
11
- Helper function to get the original File object from a FileList by path.
12
-
13
- ## Parameters
14
-
15
- | Parameter | Type | Description |
16
- | ------ | ------ | ------ |
17
- | `fileList` | `FileList` | The original FileList |
18
- | `path` | `string` | The path to the file |
19
-
20
- ## Returns
21
-
22
- [`Result`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils/docs)\<`File`\>
23
-
24
- A successful Result with the File object if found,
25
- or a failed Result with an error message otherwise
@@ -1,11 +0,0 @@
1
- [**@fgv/ts-web-extras**](../../../../README.md)
2
-
3
- ***
4
-
5
- [@fgv/ts-web-extras](../../../../README.md) / [FileTreeHelpers](../README.md) / defaultFileApiTreeInitParams
6
-
7
- # Variable: defaultFileApiTreeInitParams
8
-
9
- > `const` **defaultFileApiTreeInitParams**: [`FileTree.IFileTreeInitParams`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-json-base/docs)\<`string`\>
10
-
11
- Default initialization parameters for a `FileTree` using [FileApiTreeAccessors](../../../../classes/FileApiTreeAccessors.md).