@fgv/ts-web-extras 5.1.0-0 → 5.1.0-2

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 (332) hide show
  1. package/.rush/temp/chunked-rush-logs/ts-web-extras.build.chunks.jsonl +56 -33
  2. package/.rush/temp/chunked-rush-logs/ts-web-extras.test.chunks.jsonl +75 -0
  3. package/.rush/temp/operation/build/all.log +56 -33
  4. package/.rush/temp/operation/build/error.log +18 -0
  5. package/.rush/temp/operation/build/log-chunks.jsonl +56 -33
  6. package/.rush/temp/operation/build/state.json +1 -1
  7. package/.rush/temp/operation/test/all.log +75 -0
  8. package/.rush/temp/operation/test/error.log +18 -0
  9. package/.rush/temp/operation/test/log-chunks.jsonl +75 -0
  10. package/.rush/temp/operation/test/state.json +3 -0
  11. package/dist/packlets/file-tree/fileApiTreeAccessors.js +15 -0
  12. package/dist/packlets/file-tree/fileApiTreeAccessors.js.map +1 -1
  13. package/dist/packlets/file-tree/fileSystemAccessTreeAccessors.js +79 -10
  14. package/dist/packlets/file-tree/fileSystemAccessTreeAccessors.js.map +1 -1
  15. package/dist/packlets/file-tree/httpTreeAccessors.js +336 -0
  16. package/dist/packlets/file-tree/httpTreeAccessors.js.map +1 -0
  17. package/dist/packlets/file-tree/index.js +1 -0
  18. package/dist/packlets/file-tree/index.js.map +1 -1
  19. package/dist/packlets/file-tree/localStorageTreeAccessors.js +51 -0
  20. package/dist/packlets/file-tree/localStorageTreeAccessors.js.map +1 -1
  21. package/dist/test/unit/fileApiTreeAccessors.test.js +51 -0
  22. package/dist/test/unit/fileApiTreeAccessors.test.js.map +1 -1
  23. package/dist/test/unit/fileSystemAccessTreeAccessors.test.js +265 -160
  24. package/dist/test/unit/fileSystemAccessTreeAccessors.test.js.map +1 -1
  25. package/dist/test/unit/httpTreeAccessors.test.js +1229 -0
  26. package/dist/test/unit/httpTreeAccessors.test.js.map +1 -0
  27. package/dist/test/unit/localStorageTreeAccessors.test.js +218 -1
  28. package/dist/test/unit/localStorageTreeAccessors.test.js.map +1 -1
  29. package/dist/ts-web-extras.d.ts +138 -0
  30. package/docs/@fgv/namespaces/CryptoUtils/README.md +18 -0
  31. package/docs/@fgv/namespaces/CryptoUtils/classes/BrowserCryptoProvider.md +203 -0
  32. package/docs/@fgv/namespaces/CryptoUtils/classes/BrowserHashProvider.md +63 -0
  33. package/docs/@fgv/namespaces/CryptoUtils/functions/createBrowserCryptoProvider.md +18 -0
  34. package/docs/@fgv/namespaces/FileTreeHelpers/README.md +19 -0
  35. package/docs/@fgv/namespaces/FileTreeHelpers/functions/extractFileListMetadata.md +23 -0
  36. package/docs/@fgv/namespaces/FileTreeHelpers/functions/extractFileMetadata.md +23 -0
  37. package/docs/@fgv/namespaces/FileTreeHelpers/functions/fromDirectoryUpload.md +33 -0
  38. package/docs/@fgv/namespaces/FileTreeHelpers/functions/fromFileList.md +33 -0
  39. package/docs/@fgv/namespaces/FileTreeHelpers/functions/getOriginalFile.md +25 -0
  40. package/docs/@fgv/namespaces/FileTreeHelpers/variables/defaultFileApiTreeInitParams.md +11 -0
  41. package/docs/README.md +78 -0
  42. package/docs/classes/DirectoryHandleStore.md +116 -0
  43. package/docs/classes/FileApiTreeAccessors.md +286 -0
  44. package/docs/classes/FileSystemAccessTreeAccessors.md +557 -0
  45. package/docs/classes/HttpTreeAccessors.md +508 -0
  46. package/docs/classes/LocalStorageTreeAccessors.md +520 -0
  47. package/docs/functions/exportAsJson.md +23 -0
  48. package/docs/functions/exportUsingFileSystemAPI.md +26 -0
  49. package/docs/functions/extractDirectoryPath.md +23 -0
  50. package/docs/functions/isDirectoryHandle.md +23 -0
  51. package/docs/functions/isFileHandle.md +23 -0
  52. package/docs/functions/isFilePath.md +21 -0
  53. package/docs/functions/parseContextFilter.md +22 -0
  54. package/docs/functions/parseQualifierDefaults.md +22 -0
  55. package/docs/functions/parseResourceTypes.md +22 -0
  56. package/docs/functions/parseUrlParameters.md +15 -0
  57. package/docs/functions/safeShowDirectoryPicker.md +24 -0
  58. package/docs/functions/safeShowOpenFilePicker.md +24 -0
  59. package/docs/functions/safeShowSaveFilePicker.md +24 -0
  60. package/docs/functions/supportsFileSystemAccess.md +23 -0
  61. package/docs/interfaces/FilePickerAcceptType.md +16 -0
  62. package/docs/interfaces/FileSystemCreateWritableOptions.md +15 -0
  63. package/docs/interfaces/FileSystemDirectoryHandle.md +187 -0
  64. package/docs/interfaces/FileSystemFileHandle.md +106 -0
  65. package/docs/interfaces/FileSystemGetDirectoryOptions.md +15 -0
  66. package/docs/interfaces/FileSystemGetFileOptions.md +15 -0
  67. package/docs/interfaces/FileSystemHandle.md +69 -0
  68. package/docs/interfaces/FileSystemHandlePermissionDescriptor.md +15 -0
  69. package/docs/interfaces/FileSystemRemoveOptions.md +15 -0
  70. package/docs/interfaces/FileSystemWritableFileStream.md +127 -0
  71. package/docs/interfaces/IDirectoryHandleTreeInitializer.md +17 -0
  72. package/docs/interfaces/IFileHandleTreeInitializer.md +16 -0
  73. package/docs/interfaces/IFileListTreeInitializer.md +15 -0
  74. package/docs/interfaces/IFileMetadata.md +19 -0
  75. package/docs/interfaces/IFileSystemAccessTreeParams.md +30 -0
  76. package/docs/interfaces/IFsAccessApis.md +57 -0
  77. package/docs/interfaces/IHttpTreeParams.md +32 -0
  78. package/docs/interfaces/ILocalStorageTreeParams.md +30 -0
  79. package/docs/interfaces/IUrlConfigOptions.md +27 -0
  80. package/docs/interfaces/ShowDirectoryPickerOptions.md +17 -0
  81. package/docs/interfaces/ShowOpenFilePickerOptions.md +19 -0
  82. package/docs/interfaces/ShowSaveFilePickerOptions.md +19 -0
  83. package/docs/type-aliases/TreeInitializer.md +11 -0
  84. package/docs/type-aliases/WellKnownDirectory.md +11 -0
  85. package/docs/type-aliases/WindowWithFsAccess.md +11 -0
  86. package/docs/variables/DEFAULT_DIRECTORY_HANDLE_DB.md +11 -0
  87. package/docs/variables/DEFAULT_DIRECTORY_HANDLE_STORE.md +11 -0
  88. package/etc/ts-web-extras.api.md +33 -0
  89. package/lib/packlets/file-tree/fileApiTreeAccessors.d.ts +9 -0
  90. package/lib/packlets/file-tree/fileApiTreeAccessors.d.ts.map +1 -1
  91. package/lib/packlets/file-tree/fileApiTreeAccessors.js +15 -0
  92. package/lib/packlets/file-tree/fileApiTreeAccessors.js.map +1 -1
  93. package/lib/packlets/file-tree/fileSystemAccessTreeAccessors.d.ts +17 -1
  94. package/lib/packlets/file-tree/fileSystemAccessTreeAccessors.d.ts.map +1 -1
  95. package/lib/packlets/file-tree/fileSystemAccessTreeAccessors.js +78 -9
  96. package/lib/packlets/file-tree/fileSystemAccessTreeAccessors.js.map +1 -1
  97. package/lib/packlets/file-tree/httpTreeAccessors.d.ts +102 -0
  98. package/lib/packlets/file-tree/httpTreeAccessors.d.ts.map +1 -0
  99. package/lib/packlets/file-tree/httpTreeAccessors.js +340 -0
  100. package/lib/packlets/file-tree/httpTreeAccessors.js.map +1 -0
  101. package/lib/packlets/file-tree/index.d.ts +1 -0
  102. package/lib/packlets/file-tree/index.d.ts.map +1 -1
  103. package/lib/packlets/file-tree/index.js +1 -0
  104. package/lib/packlets/file-tree/index.js.map +1 -1
  105. package/lib/packlets/file-tree/localStorageTreeAccessors.d.ts +12 -0
  106. package/lib/packlets/file-tree/localStorageTreeAccessors.d.ts.map +1 -1
  107. package/lib/packlets/file-tree/localStorageTreeAccessors.js +51 -0
  108. package/lib/packlets/file-tree/localStorageTreeAccessors.js.map +1 -1
  109. package/lib/test/unit/fileApiTreeAccessors.test.js +51 -0
  110. package/lib/test/unit/fileApiTreeAccessors.test.js.map +1 -1
  111. package/lib/test/unit/fileSystemAccessTreeAccessors.test.js +265 -160
  112. package/lib/test/unit/fileSystemAccessTreeAccessors.test.js.map +1 -1
  113. package/lib/test/unit/httpTreeAccessors.test.d.ts +2 -0
  114. package/lib/test/unit/httpTreeAccessors.test.d.ts.map +1 -0
  115. package/lib/test/unit/httpTreeAccessors.test.js +1231 -0
  116. package/lib/test/unit/httpTreeAccessors.test.js.map +1 -0
  117. package/lib/test/unit/localStorageTreeAccessors.test.js +218 -1
  118. package/lib/test/unit/localStorageTreeAccessors.test.js.map +1 -1
  119. package/package.json +25 -25
  120. package/rush-logs/ts-web-extras.build.cache.log +0 -3
  121. package/rush-logs/ts-web-extras.build.error.log +18 -0
  122. package/rush-logs/ts-web-extras.build.log +56 -33
  123. package/rush-logs/ts-web-extras.test.cache.log +1 -0
  124. package/rush-logs/ts-web-extras.test.error.log +18 -0
  125. package/rush-logs/ts-web-extras.test.log +75 -0
  126. package/src/packlets/file-tree/fileApiTreeAccessors.ts +18 -0
  127. package/src/packlets/file-tree/fileSystemAccessTreeAccessors.ts +100 -8
  128. package/src/packlets/file-tree/httpTreeAccessors.ts +448 -0
  129. package/src/packlets/file-tree/index.ts +1 -0
  130. package/src/packlets/file-tree/localStorageTreeAccessors.ts +53 -0
  131. package/src/test/unit/fileApiTreeAccessors.test.ts +69 -0
  132. package/src/test/unit/fileSystemAccessTreeAccessors.test.ts +341 -188
  133. package/src/test/unit/httpTreeAccessors.test.ts +1571 -0
  134. package/src/test/unit/localStorageTreeAccessors.test.ts +269 -1
  135. package/temp/build/typescript/ts_8nwakTlr.json +1 -1
  136. package/temp/coverage/crypto/browserHashProvider.ts.html +304 -0
  137. package/temp/coverage/crypto/index.html +116 -0
  138. package/temp/coverage/crypto-utils/browserCryptoProvider.ts.html +1 -1
  139. package/temp/coverage/crypto-utils/browserHashProvider.ts.html +1 -1
  140. package/temp/coverage/crypto-utils/index.html +1 -1
  141. package/temp/coverage/file-tree/directoryHandleStore.ts.html +1 -1
  142. package/temp/coverage/file-tree/fileApiTreeAccessors.ts.html +60 -6
  143. package/temp/coverage/file-tree/fileSystemAccessTreeAccessors.ts.html +410 -134
  144. package/temp/coverage/file-tree/httpTreeAccessors.ts.html +1429 -0
  145. package/temp/coverage/file-tree/index.html +35 -20
  146. package/temp/coverage/file-tree/localStorageTreeAccessors.ts.html +318 -159
  147. package/temp/coverage/helpers/fileTreeHelpers.ts.html +1 -1
  148. package/temp/coverage/helpers/index.html +1 -1
  149. package/temp/coverage/index.html +11 -11
  150. package/temp/coverage/lcov-report/crypto/browserHashProvider.ts.html +304 -0
  151. package/temp/coverage/lcov-report/crypto/index.html +116 -0
  152. package/temp/coverage/lcov-report/crypto-utils/browserCryptoProvider.ts.html +1 -1
  153. package/temp/coverage/lcov-report/crypto-utils/browserHashProvider.ts.html +1 -1
  154. package/temp/coverage/lcov-report/crypto-utils/index.html +1 -1
  155. package/temp/coverage/lcov-report/file-tree/directoryHandleStore.ts.html +1 -1
  156. package/temp/coverage/lcov-report/file-tree/fileApiTreeAccessors.ts.html +60 -6
  157. package/temp/coverage/lcov-report/file-tree/fileSystemAccessTreeAccessors.ts.html +410 -134
  158. package/temp/coverage/lcov-report/file-tree/httpTreeAccessors.ts.html +1429 -0
  159. package/temp/coverage/lcov-report/file-tree/index.html +35 -20
  160. package/temp/coverage/lcov-report/file-tree/localStorageTreeAccessors.ts.html +318 -159
  161. package/temp/coverage/lcov-report/helpers/fileTreeHelpers.ts.html +1 -1
  162. package/temp/coverage/lcov-report/helpers/index.html +1 -1
  163. package/temp/coverage/lcov-report/index.html +11 -11
  164. package/temp/coverage/lcov-report/url-utils/index.html +1 -1
  165. package/temp/coverage/lcov-report/url-utils/urlParams.ts.html +1 -1
  166. package/temp/coverage/lcov.info +2021 -1197
  167. package/temp/coverage/url-utils/index.html +1 -1
  168. package/temp/coverage/url-utils/urlParams.ts.html +1 -1
  169. package/temp/test/jest/haste-map-b931e4e63102f86c5bd4949f7dced44f-9d713eb41149188b4e5c0ae3d86d0a57-2ad8e16b24e391b8cdbe50b55c137169 +0 -0
  170. package/temp/test/jest/perf-cache-b931e4e63102f86c5bd4949f7dced44f-da39a3ee5e6b4b0d3255bfef95601890 +1 -0
  171. package/temp/ts-web-extras.api.json +1313 -354
  172. package/temp/ts-web-extras.api.md +33 -0
  173. package/.rush/temp/81e0881271ff236956b2f52e8ca99da6574c6e1e.tar.log +0 -223
  174. package/docs/index.md +0 -34
  175. package/docs/ts-web-extras.cryptoutils.browsercryptoprovider._constructor_.md +0 -50
  176. package/docs/ts-web-extras.cryptoutils.browsercryptoprovider.decrypt.md +0 -104
  177. package/docs/ts-web-extras.cryptoutils.browsercryptoprovider.derivekey.md +0 -88
  178. package/docs/ts-web-extras.cryptoutils.browsercryptoprovider.encrypt.md +0 -72
  179. package/docs/ts-web-extras.cryptoutils.browsercryptoprovider.frombase64.md +0 -56
  180. package/docs/ts-web-extras.cryptoutils.browsercryptoprovider.generatekey.md +0 -19
  181. package/docs/ts-web-extras.cryptoutils.browsercryptoprovider.generaterandombytes.md +0 -56
  182. package/docs/ts-web-extras.cryptoutils.browsercryptoprovider.md +0 -169
  183. package/docs/ts-web-extras.cryptoutils.browsercryptoprovider.tobase64.md +0 -56
  184. package/docs/ts-web-extras.cryptoutils.browserhashprovider.hashparts.md +0 -88
  185. package/docs/ts-web-extras.cryptoutils.browserhashprovider.hashstring.md +0 -72
  186. package/docs/ts-web-extras.cryptoutils.browserhashprovider.md +0 -66
  187. package/docs/ts-web-extras.cryptoutils.createbrowsercryptoprovider.md +0 -19
  188. package/docs/ts-web-extras.cryptoutils.md +0 -71
  189. package/docs/ts-web-extras.exportasjson.md +0 -70
  190. package/docs/ts-web-extras.exportusingfilesystemapi.md +0 -104
  191. package/docs/ts-web-extras.extractdirectorypath.md +0 -52
  192. package/docs/ts-web-extras.fileapitreeaccessors.create.md +0 -72
  193. package/docs/ts-web-extras.fileapitreeaccessors.createfromlocalstorage.md +0 -74
  194. package/docs/ts-web-extras.fileapitreeaccessors.createpersistent.md +0 -76
  195. package/docs/ts-web-extras.fileapitreeaccessors.extractfilemetadata.md +0 -54
  196. package/docs/ts-web-extras.fileapitreeaccessors.fromdirectoryupload.md +0 -72
  197. package/docs/ts-web-extras.fileapitreeaccessors.fromfilelist.md +0 -72
  198. package/docs/ts-web-extras.fileapitreeaccessors.getoriginalfile.md +0 -72
  199. package/docs/ts-web-extras.fileapitreeaccessors.md +0 -146
  200. package/docs/ts-web-extras.filepickeraccepttype.accept.md +0 -11
  201. package/docs/ts-web-extras.filepickeraccepttype.description.md +0 -11
  202. package/docs/ts-web-extras.filepickeraccepttype.md +0 -75
  203. package/docs/ts-web-extras.filesystemaccesstreeaccessors._constructor_.md +0 -114
  204. package/docs/ts-web-extras.filesystemaccesstreeaccessors.fileismutable.md +0 -52
  205. package/docs/ts-web-extras.filesystemaccesstreeaccessors.fromdirectoryhandle.md +0 -72
  206. package/docs/ts-web-extras.filesystemaccesstreeaccessors.getdirtypaths.md +0 -17
  207. package/docs/ts-web-extras.filesystemaccesstreeaccessors.isdirty.md +0 -17
  208. package/docs/ts-web-extras.filesystemaccesstreeaccessors.md +0 -159
  209. package/docs/ts-web-extras.filesystemaccesstreeaccessors.savefilecontents.md +0 -66
  210. package/docs/ts-web-extras.filesystemaccesstreeaccessors.synctodisk.md +0 -17
  211. package/docs/ts-web-extras.filesystemcreatewritableoptions_2.keepexistingdata.md +0 -11
  212. package/docs/ts-web-extras.filesystemcreatewritableoptions_2.md +0 -58
  213. package/docs/ts-web-extras.filesystemdirectoryhandle_2._symbol.asynciterator_.md +0 -15
  214. package/docs/ts-web-extras.filesystemdirectoryhandle_2.entries.md +0 -15
  215. package/docs/ts-web-extras.filesystemdirectoryhandle_2.getdirectoryhandle.md +0 -66
  216. package/docs/ts-web-extras.filesystemdirectoryhandle_2.getfilehandle.md +0 -66
  217. package/docs/ts-web-extras.filesystemdirectoryhandle_2.keys.md +0 -15
  218. package/docs/ts-web-extras.filesystemdirectoryhandle_2.kind.md +0 -11
  219. package/docs/ts-web-extras.filesystemdirectoryhandle_2.md +0 -146
  220. package/docs/ts-web-extras.filesystemdirectoryhandle_2.removeentry.md +0 -66
  221. package/docs/ts-web-extras.filesystemdirectoryhandle_2.resolve.md +0 -50
  222. package/docs/ts-web-extras.filesystemdirectoryhandle_2.values.md +0 -15
  223. package/docs/ts-web-extras.filesystemfilehandle_2.createwritable.md +0 -52
  224. package/docs/ts-web-extras.filesystemfilehandle_2.getfile.md +0 -15
  225. package/docs/ts-web-extras.filesystemfilehandle_2.kind.md +0 -11
  226. package/docs/ts-web-extras.filesystemfilehandle_2.md +0 -92
  227. package/docs/ts-web-extras.filesystemgetdirectoryoptions_2.create.md +0 -11
  228. package/docs/ts-web-extras.filesystemgetdirectoryoptions_2.md +0 -58
  229. package/docs/ts-web-extras.filesystemgetfileoptions_2.create.md +0 -11
  230. package/docs/ts-web-extras.filesystemgetfileoptions_2.md +0 -58
  231. package/docs/ts-web-extras.filesystemhandle_2.issameentry.md +0 -50
  232. package/docs/ts-web-extras.filesystemhandle_2.kind.md +0 -11
  233. package/docs/ts-web-extras.filesystemhandle_2.md +0 -119
  234. package/docs/ts-web-extras.filesystemhandle_2.name.md +0 -11
  235. package/docs/ts-web-extras.filesystemhandle_2.querypermission.md +0 -52
  236. package/docs/ts-web-extras.filesystemhandle_2.requestpermission.md +0 -52
  237. package/docs/ts-web-extras.filesystemhandlepermissiondescriptor.md +0 -58
  238. package/docs/ts-web-extras.filesystemhandlepermissiondescriptor.mode.md +0 -11
  239. package/docs/ts-web-extras.filesystemremoveoptions_2.md +0 -58
  240. package/docs/ts-web-extras.filesystemremoveoptions_2.recursive.md +0 -11
  241. package/docs/ts-web-extras.filesystemwritablefilestream_2.md +0 -57
  242. package/docs/ts-web-extras.filesystemwritablefilestream_2.seek.md +0 -50
  243. package/docs/ts-web-extras.filesystemwritablefilestream_2.truncate.md +0 -50
  244. package/docs/ts-web-extras.filesystemwritablefilestream_2.write.md +0 -50
  245. package/docs/ts-web-extras.filetreehelpers.defaultfileapitreeinitparams.md +0 -13
  246. package/docs/ts-web-extras.filetreehelpers.extractfilelistmetadata.md +0 -56
  247. package/docs/ts-web-extras.filetreehelpers.extractfilemetadata.md +0 -56
  248. package/docs/ts-web-extras.filetreehelpers.fromdirectoryupload.md +0 -76
  249. package/docs/ts-web-extras.filetreehelpers.fromfilelist.md +0 -76
  250. package/docs/ts-web-extras.filetreehelpers.getoriginalfile.md +0 -72
  251. package/docs/ts-web-extras.filetreehelpers.md +0 -102
  252. package/docs/ts-web-extras.idirectoryhandletreeinitializer.dirhandles.md +0 -11
  253. package/docs/ts-web-extras.idirectoryhandletreeinitializer.md +0 -100
  254. package/docs/ts-web-extras.idirectoryhandletreeinitializer.nonrecursive.md +0 -11
  255. package/docs/ts-web-extras.idirectoryhandletreeinitializer.prefix.md +0 -11
  256. package/docs/ts-web-extras.ifilehandletreeinitializer.filehandles.md +0 -11
  257. package/docs/ts-web-extras.ifilehandletreeinitializer.md +0 -79
  258. package/docs/ts-web-extras.ifilehandletreeinitializer.prefix.md +0 -11
  259. package/docs/ts-web-extras.ifilelisttreeinitializer.filelist.md +0 -11
  260. package/docs/ts-web-extras.ifilelisttreeinitializer.md +0 -58
  261. package/docs/ts-web-extras.ifilemetadata.lastmodified.md +0 -11
  262. package/docs/ts-web-extras.ifilemetadata.md +0 -124
  263. package/docs/ts-web-extras.ifilemetadata.name.md +0 -11
  264. package/docs/ts-web-extras.ifilemetadata.path.md +0 -11
  265. package/docs/ts-web-extras.ifilemetadata.size.md +0 -11
  266. package/docs/ts-web-extras.ifilemetadata.type.md +0 -11
  267. package/docs/ts-web-extras.ifilesystemaccesstreeparams.autosync.md +0 -13
  268. package/docs/ts-web-extras.ifilesystemaccesstreeparams.md +0 -78
  269. package/docs/ts-web-extras.ifilesystemaccesstreeparams.requirewritepermission.md +0 -13
  270. package/docs/ts-web-extras.ifsaccessapis.md +0 -56
  271. package/docs/ts-web-extras.ifsaccessapis.showdirectorypicker.md +0 -52
  272. package/docs/ts-web-extras.ifsaccessapis.showopenfilepicker.md +0 -52
  273. package/docs/ts-web-extras.ifsaccessapis.showsavefilepicker.md +0 -52
  274. package/docs/ts-web-extras.ilocalstoragetreeparams.autosync.md +0 -13
  275. package/docs/ts-web-extras.ilocalstoragetreeparams.md +0 -97
  276. package/docs/ts-web-extras.ilocalstoragetreeparams.pathtokeymap.md +0 -13
  277. package/docs/ts-web-extras.ilocalstoragetreeparams.storage.md +0 -13
  278. package/docs/ts-web-extras.isdirectoryhandle.md +0 -56
  279. package/docs/ts-web-extras.isfilehandle.md +0 -56
  280. package/docs/ts-web-extras.isfilepath.md +0 -52
  281. package/docs/ts-web-extras.iurlconfigoptions.config.md +0 -13
  282. package/docs/ts-web-extras.iurlconfigoptions.configstartdir.md +0 -13
  283. package/docs/ts-web-extras.iurlconfigoptions.contextfilter.md +0 -13
  284. package/docs/ts-web-extras.iurlconfigoptions.input.md +0 -13
  285. package/docs/ts-web-extras.iurlconfigoptions.inputstartdir.md +0 -13
  286. package/docs/ts-web-extras.iurlconfigoptions.interactive.md +0 -13
  287. package/docs/ts-web-extras.iurlconfigoptions.loadzip.md +0 -13
  288. package/docs/ts-web-extras.iurlconfigoptions.maxdistance.md +0 -13
  289. package/docs/ts-web-extras.iurlconfigoptions.md +0 -286
  290. package/docs/ts-web-extras.iurlconfigoptions.qualifierdefaults.md +0 -13
  291. package/docs/ts-web-extras.iurlconfigoptions.reducequalifiers.md +0 -13
  292. package/docs/ts-web-extras.iurlconfigoptions.resourcetypes.md +0 -13
  293. package/docs/ts-web-extras.iurlconfigoptions.zipfile.md +0 -13
  294. package/docs/ts-web-extras.iurlconfigoptions.zippath.md +0 -13
  295. package/docs/ts-web-extras.localstoragetreeaccessors.fileismutable.md +0 -56
  296. package/docs/ts-web-extras.localstoragetreeaccessors.fromstorage.md +0 -56
  297. package/docs/ts-web-extras.localstoragetreeaccessors.getdirtypaths.md +0 -19
  298. package/docs/ts-web-extras.localstoragetreeaccessors.isdirty.md +0 -19
  299. package/docs/ts-web-extras.localstoragetreeaccessors.md +0 -131
  300. package/docs/ts-web-extras.localstoragetreeaccessors.savefilecontents.md +0 -72
  301. package/docs/ts-web-extras.localstoragetreeaccessors.synctodisk.md +0 -19
  302. package/docs/ts-web-extras.md +0 -558
  303. package/docs/ts-web-extras.parsecontextfilter.md +0 -52
  304. package/docs/ts-web-extras.parsequalifierdefaults.md +0 -52
  305. package/docs/ts-web-extras.parseresourcetypes.md +0 -52
  306. package/docs/ts-web-extras.parseurlparameters.md +0 -17
  307. package/docs/ts-web-extras.safeshowdirectorypicker.md +0 -72
  308. package/docs/ts-web-extras.safeshowopenfilepicker.md +0 -72
  309. package/docs/ts-web-extras.safeshowsavefilepicker.md +0 -72
  310. package/docs/ts-web-extras.showdirectorypickeroptions.id.md +0 -11
  311. package/docs/ts-web-extras.showdirectorypickeroptions.md +0 -96
  312. package/docs/ts-web-extras.showdirectorypickeroptions.mode.md +0 -11
  313. package/docs/ts-web-extras.showdirectorypickeroptions.startin.md +0 -11
  314. package/docs/ts-web-extras.showopenfilepickeroptions.excludeacceptalloption.md +0 -11
  315. package/docs/ts-web-extras.showopenfilepickeroptions.id.md +0 -11
  316. package/docs/ts-web-extras.showopenfilepickeroptions.md +0 -134
  317. package/docs/ts-web-extras.showopenfilepickeroptions.multiple.md +0 -11
  318. package/docs/ts-web-extras.showopenfilepickeroptions.startin.md +0 -11
  319. package/docs/ts-web-extras.showopenfilepickeroptions.types.md +0 -11
  320. package/docs/ts-web-extras.showsavefilepickeroptions.excludeacceptalloption.md +0 -11
  321. package/docs/ts-web-extras.showsavefilepickeroptions.id.md +0 -11
  322. package/docs/ts-web-extras.showsavefilepickeroptions.md +0 -134
  323. package/docs/ts-web-extras.showsavefilepickeroptions.startin.md +0 -11
  324. package/docs/ts-web-extras.showsavefilepickeroptions.suggestedname.md +0 -11
  325. package/docs/ts-web-extras.showsavefilepickeroptions.types.md +0 -11
  326. package/docs/ts-web-extras.supportsfilesystemaccess.md +0 -56
  327. package/docs/ts-web-extras.treeinitializer.md +0 -15
  328. package/docs/ts-web-extras.wellknowndirectory.md +0 -13
  329. package/docs/ts-web-extras.windowwithfsaccess.md +0 -15
  330. package/temp/test/jest/haste-map-7492f1b44480e0cdd1f220078fb3afd8-c8dd6c3430605adeb2f1cadf4f75e791-8c9336785555d572065b28c111982ba4 +0 -0
  331. package/temp/test/jest/perf-cache-7492f1b44480e0cdd1f220078fb3afd8-da39a3ee5e6b4b0d3255bfef95601890 +0 -1
  332. /package/temp/test/jest/{jest-transform-cache-7492f1b44480e0cdd1f220078fb3afd8-79ef2876fae7ca75eedb2aa53dc48338/8d/package_8dcbedef69e4299f0f51fcda8f4f1c8e → jest-transform-cache-b931e4e63102f86c5bd4949f7dced44f-79ef2876fae7ca75eedb2aa53dc48338/b5/package_b5f57afc9ec2c011239b1608ee5bdfa5} +0 -0
@@ -25,28 +25,28 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>377/377</span>
28
+ <span class='fraction'>430/430</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">88.6% </span>
33
+ <span class="strong">100% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>70/79</span>
35
+ <span class='fraction'>91/91</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>14/14</span>
42
+ <span class='fraction'>16/16</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>377/377</span>
49
+ <span class='fraction'>430/430</span>
50
50
  </div>
51
51
 
52
52
 
@@ -440,7 +440,60 @@
440
440
  <a name='L375'></a><a href='#L375'>375</a>
441
441
  <a name='L376'></a><a href='#L376'>376</a>
442
442
  <a name='L377'></a><a href='#L377'>377</a>
443
- <a name='L378'></a><a href='#L378'>378</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
443
+ <a name='L378'></a><a href='#L378'>378</a>
444
+ <a name='L379'></a><a href='#L379'>379</a>
445
+ <a name='L380'></a><a href='#L380'>380</a>
446
+ <a name='L381'></a><a href='#L381'>381</a>
447
+ <a name='L382'></a><a href='#L382'>382</a>
448
+ <a name='L383'></a><a href='#L383'>383</a>
449
+ <a name='L384'></a><a href='#L384'>384</a>
450
+ <a name='L385'></a><a href='#L385'>385</a>
451
+ <a name='L386'></a><a href='#L386'>386</a>
452
+ <a name='L387'></a><a href='#L387'>387</a>
453
+ <a name='L388'></a><a href='#L388'>388</a>
454
+ <a name='L389'></a><a href='#L389'>389</a>
455
+ <a name='L390'></a><a href='#L390'>390</a>
456
+ <a name='L391'></a><a href='#L391'>391</a>
457
+ <a name='L392'></a><a href='#L392'>392</a>
458
+ <a name='L393'></a><a href='#L393'>393</a>
459
+ <a name='L394'></a><a href='#L394'>394</a>
460
+ <a name='L395'></a><a href='#L395'>395</a>
461
+ <a name='L396'></a><a href='#L396'>396</a>
462
+ <a name='L397'></a><a href='#L397'>397</a>
463
+ <a name='L398'></a><a href='#L398'>398</a>
464
+ <a name='L399'></a><a href='#L399'>399</a>
465
+ <a name='L400'></a><a href='#L400'>400</a>
466
+ <a name='L401'></a><a href='#L401'>401</a>
467
+ <a name='L402'></a><a href='#L402'>402</a>
468
+ <a name='L403'></a><a href='#L403'>403</a>
469
+ <a name='L404'></a><a href='#L404'>404</a>
470
+ <a name='L405'></a><a href='#L405'>405</a>
471
+ <a name='L406'></a><a href='#L406'>406</a>
472
+ <a name='L407'></a><a href='#L407'>407</a>
473
+ <a name='L408'></a><a href='#L408'>408</a>
474
+ <a name='L409'></a><a href='#L409'>409</a>
475
+ <a name='L410'></a><a href='#L410'>410</a>
476
+ <a name='L411'></a><a href='#L411'>411</a>
477
+ <a name='L412'></a><a href='#L412'>412</a>
478
+ <a name='L413'></a><a href='#L413'>413</a>
479
+ <a name='L414'></a><a href='#L414'>414</a>
480
+ <a name='L415'></a><a href='#L415'>415</a>
481
+ <a name='L416'></a><a href='#L416'>416</a>
482
+ <a name='L417'></a><a href='#L417'>417</a>
483
+ <a name='L418'></a><a href='#L418'>418</a>
484
+ <a name='L419'></a><a href='#L419'>419</a>
485
+ <a name='L420'></a><a href='#L420'>420</a>
486
+ <a name='L421'></a><a href='#L421'>421</a>
487
+ <a name='L422'></a><a href='#L422'>422</a>
488
+ <a name='L423'></a><a href='#L423'>423</a>
489
+ <a name='L424'></a><a href='#L424'>424</a>
490
+ <a name='L425'></a><a href='#L425'>425</a>
491
+ <a name='L426'></a><a href='#L426'>426</a>
492
+ <a name='L427'></a><a href='#L427'>427</a>
493
+ <a name='L428'></a><a href='#L428'>428</a>
494
+ <a name='L429'></a><a href='#L429'>429</a>
495
+ <a name='L430'></a><a href='#L430'>430</a>
496
+ <a name='L431'></a><a href='#L431'>431</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
444
497
  <span class="cline-any cline-yes">1x</span>
445
498
  <span class="cline-any cline-yes">1x</span>
446
499
  <span class="cline-any cline-yes">1x</span>
@@ -521,20 +574,19 @@
521
574
  <span class="cline-any cline-yes">1x</span>
522
575
  <span class="cline-any cline-yes">1x</span>
523
576
  <span class="cline-any cline-yes">1x</span>
524
- <span class="cline-any cline-yes">32x</span>
525
- <span class="cline-any cline-yes">32x</span>
526
- <span class="cline-any cline-yes">32x</span>
527
- <span class="cline-any cline-yes">32x</span>
528
- <span class="cline-any cline-yes">32x</span>
529
- <span class="cline-any cline-yes">32x</span>
530
- <span class="cline-any cline-yes">32x</span>
531
- <span class="cline-any cline-yes">32x</span>
532
- <span class="cline-any cline-yes">32x</span>
533
- <span class="cline-any cline-yes">32x</span>
534
- <span class="cline-any cline-yes">32x</span>
535
- <span class="cline-any cline-yes">32x</span>
577
+ <span class="cline-any cline-yes">44x</span>
578
+ <span class="cline-any cline-yes">44x</span>
579
+ <span class="cline-any cline-yes">44x</span>
580
+ <span class="cline-any cline-yes">44x</span>
581
+ <span class="cline-any cline-yes">44x</span>
582
+ <span class="cline-any cline-yes">44x</span>
583
+ <span class="cline-any cline-yes">44x</span>
584
+ <span class="cline-any cline-yes">44x</span>
585
+ <span class="cline-any cline-yes">44x</span>
586
+ <span class="cline-any cline-yes">44x</span>
536
587
  <span class="cline-any cline-yes">1x</span>
537
588
  <span class="cline-any cline-yes">1x</span>
589
+ <span class="cline-any cline-yes">44x</span>
538
590
  <span class="cline-any cline-yes">1x</span>
539
591
  <span class="cline-any cline-yes">1x</span>
540
592
  <span class="cline-any cline-yes">1x</span>
@@ -543,177 +595,216 @@
543
595
  <span class="cline-any cline-yes">1x</span>
544
596
  <span class="cline-any cline-yes">1x</span>
545
597
  <span class="cline-any cline-yes">1x</span>
546
- <span class="cline-any cline-yes">33x</span>
547
- <span class="cline-any cline-yes">33x</span>
548
- <span class="cline-any cline-yes">33x</span>
549
- <span class="cline-any cline-yes">33x</span>
550
- <span class="cline-any cline-yes">33x</span>
551
598
  <span class="cline-any cline-yes">1x</span>
552
599
  <span class="cline-any cline-yes">1x</span>
553
- <span class="cline-any cline-yes">32x</span>
554
- <span class="cline-any cline-yes">32x</span>
555
- <span class="cline-any cline-yes">32x</span>
556
- <span class="cline-any cline-yes">32x</span>
557
- <span class="cline-any cline-yes">32x</span>
600
+ <span class="cline-any cline-yes">45x</span>
601
+ <span class="cline-any cline-yes">45x</span>
602
+ <span class="cline-any cline-yes">45x</span>
558
603
  <span class="cline-any cline-yes">1x</span>
559
604
  <span class="cline-any cline-yes">1x</span>
605
+ <span class="cline-any cline-yes">45x</span>
560
606
  <span class="cline-any cline-yes">1x</span>
561
607
  <span class="cline-any cline-yes">1x</span>
608
+ <span class="cline-any cline-yes">44x</span>
609
+ <span class="cline-any cline-yes">44x</span>
610
+ <span class="cline-any cline-yes">44x</span>
611
+ <span class="cline-any cline-yes">44x</span>
612
+ <span class="cline-any cline-yes">44x</span>
562
613
  <span class="cline-any cline-yes">1x</span>
563
- <span class="cline-any cline-yes">33x</span>
564
614
  <span class="cline-any cline-yes">1x</span>
565
615
  <span class="cline-any cline-yes">1x</span>
566
616
  <span class="cline-any cline-yes">1x</span>
567
617
  <span class="cline-any cline-yes">1x</span>
618
+ <span class="cline-any cline-yes">45x</span>
568
619
  <span class="cline-any cline-yes">1x</span>
569
620
  <span class="cline-any cline-yes">1x</span>
570
- <span class="cline-any cline-yes">32x</span>
571
- <span class="cline-any cline-yes">32x</span>
572
- <span class="cline-any cline-yes">32x</span>
573
- <span class="cline-any cline-yes">32x</span>
574
- <span class="cline-any cline-yes">32x</span>
575
- <span class="cline-any cline-yes">32x</span>
576
- <span class="cline-any cline-yes">32x</span>
577
- <span class="cline-any cline-yes">35x</span>
578
- <span class="cline-any cline-yes">35x</span>
579
- <span class="cline-any cline-yes">6x</span>
580
- <span class="cline-any cline-yes">6x</span>
581
- <span class="cline-any cline-yes">29x</span>
582
- <span class="cline-any cline-yes">29x</span>
583
- <span class="cline-any cline-yes">29x</span>
584
- <span class="cline-any cline-yes">35x</span>
585
621
  <span class="cline-any cline-yes">1x</span>
586
622
  <span class="cline-any cline-yes">1x</span>
587
- <span class="cline-any cline-yes">27x</span>
588
- <span class="cline-any cline-yes">35x</span>
589
- <span class="cline-any cline-yes">33x</span>
590
- <span class="cline-any cline-yes">33x</span>
591
- <span class="cline-any cline-yes">33x</span>
592
- <span class="cline-any cline-yes">33x</span>
593
- <span class="cline-any cline-yes">2x</span>
594
- <span class="cline-any cline-yes">2x</span>
595
- <span class="cline-any cline-yes">2x</span>
596
- <span class="cline-any cline-yes">33x</span>
623
+ <span class="cline-any cline-yes">1x</span>
624
+ <span class="cline-any cline-yes">1x</span>
625
+ <span class="cline-any cline-yes">44x</span>
626
+ <span class="cline-any cline-yes">44x</span>
627
+ <span class="cline-any cline-yes">44x</span>
628
+ <span class="cline-any cline-yes">44x</span>
629
+ <span class="cline-any cline-yes">44x</span>
630
+ <span class="cline-any cline-yes">44x</span>
631
+ <span class="cline-any cline-yes">44x</span>
632
+ <span class="cline-any cline-yes">47x</span>
633
+ <span class="cline-any cline-yes">47x</span>
634
+ <span class="cline-any cline-yes">11x</span>
635
+ <span class="cline-any cline-yes">11x</span>
636
+ <span class="cline-any cline-yes">36x</span>
637
+ <span class="cline-any cline-yes">36x</span>
638
+ <span class="cline-any cline-yes">36x</span>
639
+ <span class="cline-any cline-yes">47x</span>
640
+ <span class="cline-any cline-yes">1x</span>
641
+ <span class="cline-any cline-yes">1x</span>
642
+ <span class="cline-any cline-yes">34x</span>
643
+ <span class="cline-any cline-yes">47x</span>
644
+ <span class="cline-any cline-yes">41x</span>
645
+ <span class="cline-any cline-yes">41x</span>
646
+ <span class="cline-any cline-yes">41x</span>
647
+ <span class="cline-any cline-yes">41x</span>
648
+ <span class="cline-any cline-yes">10x</span>
649
+ <span class="cline-any cline-yes">10x</span>
650
+ <span class="cline-any cline-yes">10x</span>
651
+ <span class="cline-any cline-yes">41x</span>
597
652
  <span class="cline-any cline-yes">30x</span>
598
653
  <span class="cline-any cline-yes">30x</span>
599
654
  <span class="cline-any cline-yes">30x</span>
600
655
  <span class="cline-any cline-yes">31x</span>
601
656
  <span class="cline-any cline-yes">1x</span>
602
657
  <span class="cline-any cline-yes">1x</span>
603
- <span class="cline-any cline-yes">32x</span>
604
- <span class="cline-any cline-yes">32x</span>
605
- <span class="cline-any cline-yes">33x</span>
606
- <span class="cline-any cline-yes">33x</span>
607
- <span class="cline-any cline-yes">33x</span>
608
- <span class="cline-any cline-yes">33x</span>
609
- <span class="cline-any cline-yes">33x</span>
610
- <span class="cline-any cline-yes">33x</span>
611
- <span class="cline-any cline-yes">33x</span>
612
- <span class="cline-any cline-yes">33x</span>
613
- <span class="cline-any cline-yes">33x</span>
614
- <span class="cline-any cline-yes">33x</span>
615
- <span class="cline-any cline-yes">35x</span>
658
+ <span class="cline-any cline-yes">40x</span>
659
+ <span class="cline-any cline-yes">40x</span>
616
660
  <span class="cline-any cline-yes">1x</span>
617
661
  <span class="cline-any cline-yes">1x</span>
618
662
  <span class="cline-any cline-yes">1x</span>
619
- <span class="cline-any cline-yes">35x</span>
620
- <span class="cline-any cline-yes">32x</span>
621
- <span class="cline-any cline-yes">32x</span>
622
- <span class="cline-any cline-yes">32x</span>
623
663
  <span class="cline-any cline-yes">1x</span>
664
+ <span class="cline-any cline-yes">41x</span>
665
+ <span class="cline-any cline-yes">41x</span>
666
+ <span class="cline-any cline-yes">41x</span>
667
+ <span class="cline-any cline-yes">41x</span>
668
+ <span class="cline-any cline-yes">41x</span>
669
+ <span class="cline-any cline-yes">41x</span>
670
+ <span class="cline-any cline-yes">41x</span>
671
+ <span class="cline-any cline-yes">47x</span>
624
672
  <span class="cline-any cline-yes">1x</span>
625
673
  <span class="cline-any cline-yes">1x</span>
626
674
  <span class="cline-any cline-yes">1x</span>
675
+ <span class="cline-any cline-yes">47x</span>
676
+ <span class="cline-any cline-yes">44x</span>
677
+ <span class="cline-any cline-yes">44x</span>
678
+ <span class="cline-any cline-yes">44x</span>
627
679
  <span class="cline-any cline-yes">1x</span>
628
680
  <span class="cline-any cline-yes">1x</span>
629
- <span class="cline-any cline-yes">2x</span>
630
- <span class="cline-any cline-yes">2x</span>
631
- <span class="cline-any cline-yes">2x</span>
632
681
  <span class="cline-any cline-yes">1x</span>
633
682
  <span class="cline-any cline-yes">1x</span>
634
683
  <span class="cline-any cline-yes">1x</span>
635
684
  <span class="cline-any cline-yes">1x</span>
685
+ <span class="cline-any cline-yes">10x</span>
686
+ <span class="cline-any cline-yes">10x</span>
687
+ <span class="cline-any cline-yes">10x</span>
636
688
  <span class="cline-any cline-yes">1x</span>
637
689
  <span class="cline-any cline-yes">1x</span>
638
- <span class="cline-any cline-yes">32x</span>
639
- <span class="cline-any cline-yes">32x</span>
640
- <span class="cline-any cline-yes">32x</span>
641
- <span class="cline-any cline-yes">32x</span>
642
690
  <span class="cline-any cline-yes">1x</span>
643
691
  <span class="cline-any cline-yes">1x</span>
644
692
  <span class="cline-any cline-yes">1x</span>
645
693
  <span class="cline-any cline-yes">1x</span>
646
694
  <span class="cline-any cline-yes">1x</span>
647
695
  <span class="cline-any cline-yes">1x</span>
648
- <span class="cline-any cline-yes">16x</span>
649
- <span class="cline-any cline-yes">16x</span>
650
- <span class="cline-any cline-yes">16x</span>
651
- <span class="cline-any cline-yes">18x</span>
652
- <span class="cline-any cline-yes">12x</span>
653
- <span class="cline-any cline-yes">12x</span>
654
- <span class="cline-any cline-yes">12x</span>
655
- <span class="cline-any cline-yes">12x</span>
656
- <span class="cline-any cline-yes">18x</span>
657
- <span class="cline-any cline-yes">16x</span>
658
- <span class="cline-any cline-yes">16x</span>
659
696
  <span class="cline-any cline-yes">1x</span>
697
+ <span class="cline-any cline-yes">40x</span>
698
+ <span class="cline-any cline-yes">40x</span>
660
699
  <span class="cline-any cline-yes">1x</span>
661
700
  <span class="cline-any cline-yes">1x</span>
662
701
  <span class="cline-any cline-yes">1x</span>
663
702
  <span class="cline-any cline-yes">1x</span>
664
703
  <span class="cline-any cline-yes">1x</span>
665
- <span class="cline-any cline-yes">12x</span>
666
- <span class="cline-any cline-yes">13x</span>
667
- <span class="cline-any cline-yes">12x</span>
668
- <span class="cline-any cline-yes">12x</span>
669
- <span class="cline-any cline-yes">13x</span>
670
704
  <span class="cline-any cline-yes">1x</span>
705
+ <span class="cline-any cline-yes">25x</span>
706
+ <span class="cline-any cline-yes">25x</span>
707
+ <span class="cline-any cline-yes">25x</span>
708
+ <span class="cline-any cline-yes">27x</span>
671
709
  <span class="cline-any cline-yes">1x</span>
672
710
  <span class="cline-any cline-yes">1x</span>
711
+ <span class="cline-any cline-yes">20x</span>
712
+ <span class="cline-any cline-yes">20x</span>
713
+ <span class="cline-any cline-yes">20x</span>
714
+ <span class="cline-any cline-yes">27x</span>
715
+ <span class="cline-any cline-yes">25x</span>
716
+ <span class="cline-any cline-yes">25x</span>
673
717
  <span class="cline-any cline-yes">1x</span>
674
718
  <span class="cline-any cline-yes">1x</span>
675
719
  <span class="cline-any cline-yes">1x</span>
676
720
  <span class="cline-any cline-yes">1x</span>
677
721
  <span class="cline-any cline-yes">1x</span>
678
722
  <span class="cline-any cline-yes">1x</span>
723
+ <span class="cline-any cline-yes">20x</span>
724
+ <span class="cline-any cline-yes">21x</span>
725
+ <span class="cline-any cline-yes">20x</span>
726
+ <span class="cline-any cline-yes">20x</span>
727
+ <span class="cline-any cline-yes">21x</span>
679
728
  <span class="cline-any cline-yes">1x</span>
680
- <span class="cline-any cline-yes">12x</span>
681
729
  <span class="cline-any cline-yes">1x</span>
682
730
  <span class="cline-any cline-yes">1x</span>
683
731
  <span class="cline-any cline-yes">1x</span>
684
732
  <span class="cline-any cline-yes">1x</span>
685
- <span class="cline-any cline-yes">12x</span>
686
- <span class="cline-any cline-yes">12x</span>
687
- <span class="cline-any cline-yes">12x</span>
688
- <span class="cline-any cline-yes">12x</span>
689
- <span class="cline-any cline-yes">12x</span>
690
- <span class="cline-any cline-yes">12x</span>
691
- <span class="cline-any cline-yes">12x</span>
692
- <span class="cline-any cline-yes">12x</span>
693
733
  <span class="cline-any cline-yes">1x</span>
694
734
  <span class="cline-any cline-yes">1x</span>
695
735
  <span class="cline-any cline-yes">1x</span>
696
736
  <span class="cline-any cline-yes">1x</span>
697
737
  <span class="cline-any cline-yes">1x</span>
738
+ <span class="cline-any cline-yes">20x</span>
739
+ <span class="cline-any cline-yes">1x</span>
740
+ <span class="cline-any cline-yes">1x</span>
741
+ <span class="cline-any cline-yes">1x</span>
742
+ <span class="cline-any cline-yes">1x</span>
743
+ <span class="cline-any cline-yes">20x</span>
744
+ <span class="cline-any cline-yes">20x</span>
745
+ <span class="cline-any cline-yes">1x</span>
746
+ <span class="cline-any cline-yes">1x</span>
747
+ <span class="cline-any cline-yes">20x</span>
748
+ <span class="cline-any cline-yes">20x</span>
749
+ <span class="cline-any cline-yes">20x</span>
750
+ <span class="cline-any cline-yes">20x</span>
751
+ <span class="cline-any cline-yes">20x</span>
752
+ <span class="cline-any cline-yes">1x</span>
753
+ <span class="cline-any cline-yes">1x</span>
754
+ <span class="cline-any cline-yes">1x</span>
755
+ <span class="cline-any cline-yes">1x</span>
756
+ <span class="cline-any cline-yes">1x</span>
757
+ <span class="cline-any cline-yes">1x</span>
758
+ <span class="cline-any cline-yes">8x</span>
759
+ <span class="cline-any cline-yes">8x</span>
760
+ <span class="cline-any cline-yes">1x</span>
761
+ <span class="cline-any cline-yes">1x</span>
762
+ <span class="cline-any cline-yes">7x</span>
763
+ <span class="cline-any cline-yes">7x</span>
764
+ <span class="cline-any cline-yes">7x</span>
765
+ <span class="cline-any cline-yes">8x</span>
766
+ <span class="cline-any cline-yes">1x</span>
767
+ <span class="cline-any cline-yes">1x</span>
768
+ <span class="cline-any cline-yes">6x</span>
769
+ <span class="cline-any cline-yes">6x</span>
770
+ <span class="cline-any cline-yes">6x</span>
771
+ <span class="cline-any cline-yes">8x</span>
772
+ <span class="cline-any cline-yes">5x</span>
773
+ <span class="cline-any cline-yes">5x</span>
774
+ <span class="cline-any cline-yes">5x</span>
775
+ <span class="cline-any cline-yes">2x</span>
776
+ <span class="cline-any cline-yes">5x</span>
777
+ <span class="cline-any cline-yes">3x</span>
778
+ <span class="cline-any cline-yes">3x</span>
779
+ <span class="cline-any cline-yes">5x</span>
780
+ <span class="cline-any cline-yes">8x</span>
781
+ <span class="cline-any cline-yes">1x</span>
782
+ <span class="cline-any cline-yes">1x</span>
783
+ <span class="cline-any cline-yes">8x</span>
784
+ <span class="cline-any cline-yes">1x</span>
785
+ <span class="cline-any cline-yes">1x</span>
786
+ <span class="cline-any cline-yes">1x</span>
698
787
  <span class="cline-any cline-yes">1x</span>
699
- <span class="cline-any cline-yes">16x</span>
700
- <span class="cline-any cline-yes">16x</span>
788
+ <span class="cline-any cline-yes">1x</span>
789
+ <span class="cline-any cline-yes">1x</span>
790
+ <span class="cline-any cline-yes">17x</span>
791
+ <span class="cline-any cline-yes">17x</span>
701
792
  <span class="cline-any cline-yes">4x</span>
702
793
  <span class="cline-any cline-yes">4x</span>
794
+ <span class="cline-any cline-yes">13x</span>
795
+ <span class="cline-any cline-yes">13x</span>
796
+ <span class="cline-any cline-yes">13x</span>
797
+ <span class="cline-any cline-yes">17x</span>
798
+ <span class="cline-any cline-yes">1x</span>
799
+ <span class="cline-any cline-yes">1x</span>
703
800
  <span class="cline-any cline-yes">12x</span>
704
801
  <span class="cline-any cline-yes">12x</span>
705
802
  <span class="cline-any cline-yes">12x</span>
706
- <span class="cline-any cline-yes">16x</span>
707
- <span class="cline-any cline-yes">1x</span>
708
- <span class="cline-any cline-yes">1x</span>
709
- <span class="cline-any cline-yes">11x</span>
710
- <span class="cline-any cline-yes">11x</span>
711
- <span class="cline-any cline-yes">11x</span>
712
- <span class="cline-any cline-yes">11x</span>
713
- <span class="cline-any cline-yes">11x</span>
714
- <span class="cline-any cline-yes">11x</span>
715
- <span class="cline-any cline-yes">11x</span>
716
- <span class="cline-any cline-yes">16x</span>
803
+ <span class="cline-any cline-yes">12x</span>
804
+ <span class="cline-any cline-yes">12x</span>
805
+ <span class="cline-any cline-yes">12x</span>
806
+ <span class="cline-any cline-yes">12x</span>
807
+ <span class="cline-any cline-yes">17x</span>
717
808
  <span class="cline-any cline-yes">10x</span>
718
809
  <span class="cline-any cline-yes">10x</span>
719
810
  <span class="cline-any cline-yes">10x</span>
@@ -723,18 +814,18 @@
723
814
  <span class="cline-any cline-yes">1x</span>
724
815
  <span class="cline-any cline-yes">1x</span>
725
816
  <span class="cline-any cline-yes">10x</span>
726
- <span class="cline-any cline-yes">11x</span>
727
- <span class="cline-any cline-yes">11x</span>
728
- <span class="cline-any cline-yes">11x</span>
729
- <span class="cline-any cline-yes">11x</span>
730
- <span class="cline-any cline-yes">11x</span>
731
- <span class="cline-any cline-yes">11x</span>
817
+ <span class="cline-any cline-yes">12x</span>
818
+ <span class="cline-any cline-yes">12x</span>
819
+ <span class="cline-any cline-yes">12x</span>
820
+ <span class="cline-any cline-yes">12x</span>
821
+ <span class="cline-any cline-yes">12x</span>
822
+ <span class="cline-any cline-yes">12x</span>
732
823
  <span class="cline-any cline-yes">1x</span>
733
824
  <span class="cline-any cline-yes">1x</span>
734
825
  <span class="cline-any cline-yes">1x</span>
735
826
  <span class="cline-any cline-yes">1x</span>
736
827
  <span class="cline-any cline-yes">1x</span>
737
- <span class="cline-any cline-yes">16x</span>
828
+ <span class="cline-any cline-yes">17x</span>
738
829
  <span class="cline-any cline-yes">1x</span>
739
830
  <span class="cline-any cline-yes">1x</span>
740
831
  <span class="cline-any cline-yes">1x</span>
@@ -742,25 +833,25 @@
742
833
  <span class="cline-any cline-yes">1x</span>
743
834
  <span class="cline-any cline-yes">1x</span>
744
835
  <span class="cline-any cline-yes">1x</span>
745
- <span class="cline-any cline-yes">12x</span>
836
+ <span class="cline-any cline-yes">13x</span>
746
837
  <span class="cline-any cline-yes">1x</span>
747
838
  <span class="cline-any cline-yes">1x</span>
748
- <span class="cline-any cline-yes">11x</span>
749
- <span class="cline-any cline-yes">11x</span>
750
839
  <span class="cline-any cline-yes">12x</span>
751
- <span class="cline-any cline-yes">14x</span>
752
- <span class="cline-any cline-yes">14x</span>
840
+ <span class="cline-any cline-yes">12x</span>
841
+ <span class="cline-any cline-yes">13x</span>
842
+ <span class="cline-any cline-yes">15x</span>
843
+ <span class="cline-any cline-yes">15x</span>
753
844
  <span class="cline-any cline-yes">4x</span>
754
845
  <span class="cline-any cline-yes">4x</span>
755
- <span class="cline-any cline-yes">14x</span>
756
- <span class="cline-any cline-yes">11x</span>
846
+ <span class="cline-any cline-yes">15x</span>
757
847
  <span class="cline-any cline-yes">12x</span>
848
+ <span class="cline-any cline-yes">13x</span>
758
849
  <span class="cline-any cline-yes">3x</span>
759
850
  <span class="cline-any cline-yes">3x</span>
760
- <span class="cline-any cline-yes">8x</span>
761
- <span class="cline-any cline-yes">8x</span>
762
- <span class="cline-any cline-yes">8x</span>
763
- <span class="cline-any cline-yes">8x</span>
851
+ <span class="cline-any cline-yes">9x</span>
852
+ <span class="cline-any cline-yes">9x</span>
853
+ <span class="cline-any cline-yes">9x</span>
854
+ <span class="cline-any cline-yes">9x</span>
764
855
  <span class="cline-any cline-yes">1x</span>
765
856
  <span class="cline-any cline-yes">1x</span>
766
857
  <span class="cline-any cline-yes">1x</span>
@@ -768,8 +859,8 @@
768
859
  <span class="cline-any cline-yes">1x</span>
769
860
  <span class="cline-any cline-yes">1x</span>
770
861
  <span class="cline-any cline-yes">1x</span>
771
- <span class="cline-any cline-yes">8x</span>
772
- <span class="cline-any cline-yes">8x</span>
862
+ <span class="cline-any cline-yes">10x</span>
863
+ <span class="cline-any cline-yes">10x</span>
773
864
  <span class="cline-any cline-yes">1x</span>
774
865
  <span class="cline-any cline-yes">1x</span>
775
866
  <span class="cline-any cline-yes">1x</span>
@@ -777,8 +868,8 @@
777
868
  <span class="cline-any cline-yes">1x</span>
778
869
  <span class="cline-any cline-yes">1x</span>
779
870
  <span class="cline-any cline-yes">1x</span>
780
- <span class="cline-any cline-yes">4x</span>
781
- <span class="cline-any cline-yes">4x</span>
871
+ <span class="cline-any cline-yes">5x</span>
872
+ <span class="cline-any cline-yes">5x</span>
782
873
  <span class="cline-any cline-yes">1x</span>
783
874
  <span class="cline-any cline-yes">1x</span>
784
875
  <span class="cline-any cline-yes">1x</span>
@@ -787,11 +878,26 @@
787
878
  <span class="cline-any cline-yes">1x</span>
788
879
  <span class="cline-any cline-yes">1x</span>
789
880
  <span class="cline-any cline-yes">1x</span>
881
+ <span class="cline-any cline-yes">9x</span>
882
+ <span class="cline-any cline-yes">9x</span>
883
+ <span class="cline-any cline-yes">8x</span>
884
+ <span class="cline-any cline-yes">8x</span>
885
+ <span class="cline-any cline-yes">8x</span>
886
+ <span class="cline-any cline-yes">9x</span>
887
+ <span class="cline-any cline-yes">9x</span>
790
888
  <span class="cline-any cline-yes">1x</span>
791
- <span class="cline-any cline-yes">20x</span>
792
- <span class="cline-any cline-yes">20x</span>
793
- <span class="cline-any cline-yes">20x</span>
794
- <span class="cline-any cline-yes">20x</span>
889
+ <span class="cline-any cline-yes">1x</span>
890
+ <span class="cline-any cline-yes">1x</span>
891
+ <span class="cline-any cline-yes">1x</span>
892
+ <span class="cline-any cline-yes">1x</span>
893
+ <span class="cline-any cline-yes">1x</span>
894
+ <span class="cline-any cline-yes">1x</span>
895
+ <span class="cline-any cline-yes">1x</span>
896
+ <span class="cline-any cline-yes">1x</span>
897
+ <span class="cline-any cline-yes">26x</span>
898
+ <span class="cline-any cline-yes">26x</span>
899
+ <span class="cline-any cline-yes">26x</span>
900
+ <span class="cline-any cline-yes">26x</span>
795
901
  <span class="cline-any cline-yes">2x</span>
796
902
  <span class="cline-any cline-yes">2x</span>
797
903
  <span class="cline-any cline-yes">1x</span>
@@ -799,9 +905,9 @@
799
905
  <span class="cline-any cline-yes">1x</span>
800
906
  <span class="cline-any cline-yes">1x</span>
801
907
  <span class="cline-any cline-yes">2x</span>
802
- <span class="cline-any cline-yes">20x</span>
803
- <span class="cline-any cline-yes">19x</span>
804
- <span class="cline-any cline-yes">19x</span>
908
+ <span class="cline-any cline-yes">26x</span>
909
+ <span class="cline-any cline-yes">25x</span>
910
+ <span class="cline-any cline-yes">25x</span>
805
911
  <span class="cline-any cline-yes">1x</span>
806
912
  <span class="cline-any cline-yes">1x</span>
807
913
  <span class="cline-any cline-yes">1x</span>
@@ -810,10 +916,10 @@
810
916
  <span class="cline-any cline-yes">1x</span>
811
917
  <span class="cline-any cline-yes">1x</span>
812
918
  <span class="cline-any cline-yes">1x</span>
813
- <span class="cline-any cline-yes">23x</span>
814
- <span class="cline-any cline-yes">23x</span>
815
- <span class="cline-any cline-yes">22x</span>
816
- <span class="cline-any cline-yes">22x</span>
919
+ <span class="cline-any cline-yes">29x</span>
920
+ <span class="cline-any cline-yes">29x</span>
921
+ <span class="cline-any cline-yes">28x</span>
922
+ <span class="cline-any cline-yes">28x</span>
817
923
  <span class="cline-any cline-yes">1x</span>
818
924
  <span class="cline-any cline-yes">1x</span>
819
925
  <span class="cline-any cline-yes">1x</span>
@@ -908,7 +1014,8 @@ export class LocalStorageTreeAccessors&lt;TCT extends string = string&gt;
908
1014
  this._pathToKeyMap = pathToKeyMap;
909
1015
  this._keyToPathMap = new Map(Array.from(pathToKeyMap.entries()).map(([k, v]) =&gt; [v, k]));
910
1016
  this._dirtyFiles = new Set();
911
- this._autoSync = params<span class="branch-0 cbranch-no" title="branch not covered" >?.a</span>utoSync ?? false;
1017
+ /* c8 ignore next 1 - intermittent branch coverage: ?? false branch when params is undefined */
1018
+ this._autoSync = params?.autoSync ?? false;
912
1019
  }
913
1020
  &nbsp;
914
1021
  /**
@@ -923,7 +1030,8 @@ export class LocalStorageTreeAccessors&lt;TCT extends string = string&gt;
923
1030
  params: ILocalStorageTreeParams&lt;TCT&gt;
924
1031
  ): Result&lt;LocalStorageTreeAccessors&lt;TCT&gt;&gt; {
925
1032
  try {
926
- const storage = params.storage ?? (typeof window !== 'undefined' <span class="branch-0 cbranch-no" title="branch not covered" >? window.localStorage </span>: undefined);
1033
+ /* c8 ignore next 1 - intermittent branch coverage: window.localStorage branch when params.storage is undefined */
1034
+ const storage = params.storage ?? (typeof window !== 'undefined' ? window.localStorage : undefined);
927
1035
  if (!storage) {
928
1036
  return fail('localStorage is not available');
929
1037
  }
@@ -979,8 +1087,9 @@ export class LocalStorageTreeAccessors&lt;TCT extends string = string&gt;
979
1087
  }
980
1088
  &nbsp;
981
1089
  const filePath = this._joinPath(dataPath, `${collectionId}${extension}`);
982
- const contentType = params<span class="branch-0 cbranch-no" title="branch not covered" >?.i</span>nferContentType
983
- <span class="branch-0 cbranch-no" title="branch not covered" > ? params.inferContentType(filePath, undefined).orDefault()</span>
1090
+ /* c8 ignore next 3 - intermittent branch coverage: ternary branches in tight loop */
1091
+ const contentType = params?.inferContentType
1092
+ ? params.inferContentType(filePath, undefined).orDefault()
984
1093
  : undefined;
985
1094
  &nbsp;
986
1095
  files.push({
@@ -1012,8 +1121,9 @@ export class LocalStorageTreeAccessors&lt;TCT extends string = string&gt;
1012
1121
  * @internal
1013
1122
  */
1014
1123
  private static _joinPath(base: string, name: string): string {
1015
- const cleanBase = base.endsWith('/') <span class="branch-0 cbranch-no" title="branch not covered" >? base.slice(0, -1) </span>: base;
1016
- const cleanName = name.startsWith('/') <span class="branch-0 cbranch-no" title="branch not covered" >? name.slice(1) </span>: name;
1124
+ /* c8 ignore next 2 - intermittent branch coverage: slash-trimming edge cases */
1125
+ const cleanBase = base.endsWith('/') ? base.slice(0, -1) : base;
1126
+ const cleanName = name.startsWith('/') ? name.slice(1) : name;
1017
1127
  return `${cleanBase}/${cleanName}`;
1018
1128
  }
1019
1129
  &nbsp;
@@ -1026,7 +1136,8 @@ export class LocalStorageTreeAccessors&lt;TCT extends string = string&gt;
1026
1136
  let bestMatch: { prefix: string; key: string } | undefined;
1027
1137
  for (const [prefix, key] of this._pathToKeyMap.entries()) {
1028
1138
  if (path.startsWith(prefix)) {
1029
- if (!bestMatch<span class="branch-0 cbranch-no" title="branch not covered" > || prefix.length &gt; bestMatch.prefix.length)</span> {
1139
+ /* c8 ignore next 1 - intermittent: overlapping-prefix branch requires two matching prefixes in iteration order */
1140
+ if (!bestMatch || prefix.length &gt; bestMatch.prefix.length) {
1030
1141
  bestMatch = { prefix, key };
1031
1142
  }
1032
1143
  }
@@ -1061,11 +1172,44 @@ export class LocalStorageTreeAccessors&lt;TCT extends string = string&gt;
1061
1172
  }
1062
1173
  &nbsp;
1063
1174
  const relativePath = path.slice(dataPath.length);
1064
- const cleanPath = relativePath.startsWith('/') ? relativePath.slice(1) <span class="branch-0 cbranch-no" title="branch not covered" >: relativePath;</span>
1175
+ /* c8 ignore next 1 - defensive: relativePath always starts with / when paths are absolute */
1176
+ const cleanPath = relativePath.startsWith('/') ? relativePath.slice(1) : relativePath;
1065
1177
  &nbsp;
1066
1178
  // Remove any file extension
1067
1179
  const dotIndex = cleanPath.lastIndexOf('.');
1068
- return dotIndex &gt; 0 ? cleanPath.slice(0, dotIndex) <span class="branch-0 cbranch-no" title="branch not covered" >: cleanPath;</span>
1180
+ return dotIndex &gt; 0 ? cleanPath.slice(0, dotIndex) : cleanPath;
1181
+ }
1182
+ &nbsp;
1183
+ /**
1184
+ * Remove a file's entry from its localStorage key.
1185
+ * @internal
1186
+ */
1187
+ private _deleteFileFromStorage(path: string): void {
1188
+ const storageKey = this._getStorageKeyForPath(path);
1189
+ if (!storageKey) {
1190
+ return;
1191
+ }
1192
+ &nbsp;
1193
+ const collectionId = this._getCollectionIdFromPath(path);
1194
+ const existingJson = this._storage.getItem(storageKey);
1195
+ if (!existingJson) {
1196
+ return;
1197
+ }
1198
+ &nbsp;
1199
+ try {
1200
+ const parsed = JSON.parse(existingJson);
1201
+ if (isJsonObject(parsed)) {
1202
+ const existing = parsed as Record&lt;string, unknown&gt;;
1203
+ delete existing[collectionId];
1204
+ if (Object.keys(existing).length &gt; 0) {
1205
+ this._storage.setItem(storageKey, JSON.stringify(existing));
1206
+ } else {
1207
+ this._storage.removeItem(storageKey);
1208
+ }
1209
+ }
1210
+ } catch {
1211
+ // Storage is corrupted — nothing to clean up
1212
+ }
1069
1213
  }
1070
1214
  &nbsp;
1071
1215
  /**
@@ -1156,6 +1300,21 @@ export class LocalStorageTreeAccessors&lt;TCT extends string = string&gt;
1156
1300
  public getDirtyPaths(): string[] {
1157
1301
  return Array.from(this._dirtyFiles);
1158
1302
  }
1303
+ &nbsp;
1304
+ /**
1305
+ * Delete a file and remove it from localStorage.
1306
+ * @param path - File path to delete
1307
+ * @returns Result with true if deleted, or error
1308
+ * @public
1309
+ */
1310
+ public deleteFile(path: string): Result&lt;boolean&gt; {
1311
+ const result = super.deleteFile(path);
1312
+ if (result.isSuccess()) {
1313
+ this._dirtyFiles.delete(path);
1314
+ this._deleteFileFromStorage(path);
1315
+ }
1316
+ return result;
1317
+ }
1159
1318
  &nbsp;
1160
1319
  /**
1161
1320
  * Save file contents. Marks file as dirty and optionally auto-syncs.
@@ -1201,7 +1360,7 @@ export class LocalStorageTreeAccessors&lt;TCT extends string = string&gt;
1201
1360
  <div class='footer quiet pad2 space-top1 center small'>
1202
1361
  Code coverage generated by
1203
1362
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1204
- at 2026-03-09T21:03:54.361Z
1363
+ at 2026-03-24T18:05:41.442Z
1205
1364
  </div>
1206
1365
  <script src="../prettify.js"></script>
1207
1366
  <script>