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

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 (263) hide show
  1. package/dist/packlets/crypto-utils/browserCryptoProvider.js +208 -18
  2. package/dist/packlets/crypto-utils/browserCryptoProvider.js.map +1 -1
  3. package/dist/packlets/file-tree/fileApiTreeAccessors.js +1 -1
  4. package/dist/packlets/file-tree/fileApiTreeAccessors.js.map +1 -1
  5. package/dist/packlets/file-tree/httpTreeAccessors.js +72 -42
  6. package/dist/packlets/file-tree/httpTreeAccessors.js.map +1 -1
  7. package/dist/ts-web-extras.d.ts +59 -7
  8. package/dist/tsdoc-metadata.json +1 -1
  9. package/lib/packlets/crypto-utils/browserCryptoProvider.d.ts +52 -5
  10. package/lib/packlets/crypto-utils/browserCryptoProvider.d.ts.map +1 -1
  11. package/lib/packlets/crypto-utils/browserCryptoProvider.js +207 -17
  12. package/lib/packlets/crypto-utils/browserCryptoProvider.js.map +1 -1
  13. package/lib/packlets/file-tree/fileApiTreeAccessors.d.ts +1 -1
  14. package/lib/packlets/file-tree/fileApiTreeAccessors.js +1 -1
  15. package/lib/packlets/file-tree/fileApiTreeAccessors.js.map +1 -1
  16. package/lib/packlets/file-tree/httpTreeAccessors.d.ts +6 -0
  17. package/lib/packlets/file-tree/httpTreeAccessors.d.ts.map +1 -1
  18. package/lib/packlets/file-tree/httpTreeAccessors.js +72 -42
  19. package/lib/packlets/file-tree/httpTreeAccessors.js.map +1 -1
  20. package/package.json +27 -26
  21. package/.rush/temp/chunked-rush-logs/ts-web-extras.build.chunks.jsonl +0 -75
  22. package/.rush/temp/chunked-rush-logs/ts-web-extras.test.chunks.jsonl +0 -75
  23. package/.rush/temp/operation/build/all.log +0 -75
  24. package/.rush/temp/operation/build/error.log +0 -18
  25. package/.rush/temp/operation/build/log-chunks.jsonl +0 -75
  26. package/.rush/temp/operation/build/state.json +0 -3
  27. package/.rush/temp/operation/test/all.log +0 -75
  28. package/.rush/temp/operation/test/error.log +0 -18
  29. package/.rush/temp/operation/test/log-chunks.jsonl +0 -75
  30. package/.rush/temp/operation/test/state.json +0 -3
  31. package/.rush/temp/shrinkwrap-deps.json +0 -635
  32. package/CHANGELOG.md +0 -23
  33. package/config/api-extractor.json +0 -343
  34. package/config/jest.config.json +0 -19
  35. package/config/rig.json +0 -16
  36. package/config/typedoc.json +0 -6
  37. package/dist/test/mocks/idb-keyval.js +0 -6
  38. package/dist/test/mocks/idb-keyval.js.map +0 -1
  39. package/dist/test/setupTests.js +0 -74
  40. package/dist/test/setupTests.js.map +0 -1
  41. package/dist/test/unit/browserHashProvider.test.js +0 -140
  42. package/dist/test/unit/browserHashProvider.test.js.map +0 -1
  43. package/dist/test/unit/directoryHandleStore.test.js +0 -190
  44. package/dist/test/unit/directoryHandleStore.test.js.map +0 -1
  45. package/dist/test/unit/fileApiTreeAccessors.test.js +0 -1188
  46. package/dist/test/unit/fileApiTreeAccessors.test.js.map +0 -1
  47. package/dist/test/unit/fileApiTypes.test.js +0 -472
  48. package/dist/test/unit/fileApiTypes.test.js.map +0 -1
  49. package/dist/test/unit/fileSystemAccessTreeAccessors.test.js +0 -622
  50. package/dist/test/unit/fileSystemAccessTreeAccessors.test.js.map +0 -1
  51. package/dist/test/unit/fileTreeHelpers.test.js +0 -590
  52. package/dist/test/unit/fileTreeHelpers.test.js.map +0 -1
  53. package/dist/test/unit/httpTreeAccessors.test.js +0 -1229
  54. package/dist/test/unit/httpTreeAccessors.test.js.map +0 -1
  55. package/dist/test/unit/localStorageTreeAccessors.test.js +0 -812
  56. package/dist/test/unit/localStorageTreeAccessors.test.js.map +0 -1
  57. package/dist/test/unit/urlParams.test.js +0 -393
  58. package/dist/test/unit/urlParams.test.js.map +0 -1
  59. package/dist/test/utils/fileSystemAccessMocks.js +0 -271
  60. package/dist/test/utils/fileSystemAccessMocks.js.map +0 -1
  61. package/dist/test/utils/testHelpers.js +0 -124
  62. package/dist/test/utils/testHelpers.js.map +0 -1
  63. package/docs/@fgv/namespaces/CryptoUtils/README.md +0 -18
  64. package/docs/@fgv/namespaces/CryptoUtils/classes/BrowserCryptoProvider.md +0 -203
  65. package/docs/@fgv/namespaces/CryptoUtils/classes/BrowserHashProvider.md +0 -63
  66. package/docs/@fgv/namespaces/CryptoUtils/functions/createBrowserCryptoProvider.md +0 -18
  67. package/docs/@fgv/namespaces/FileTreeHelpers/README.md +0 -19
  68. package/docs/@fgv/namespaces/FileTreeHelpers/functions/extractFileListMetadata.md +0 -23
  69. package/docs/@fgv/namespaces/FileTreeHelpers/functions/extractFileMetadata.md +0 -23
  70. package/docs/@fgv/namespaces/FileTreeHelpers/functions/fromDirectoryUpload.md +0 -33
  71. package/docs/@fgv/namespaces/FileTreeHelpers/functions/fromFileList.md +0 -33
  72. package/docs/@fgv/namespaces/FileTreeHelpers/functions/getOriginalFile.md +0 -25
  73. package/docs/@fgv/namespaces/FileTreeHelpers/variables/defaultFileApiTreeInitParams.md +0 -11
  74. package/docs/README.md +0 -78
  75. package/docs/classes/DirectoryHandleStore.md +0 -116
  76. package/docs/classes/FileApiTreeAccessors.md +0 -286
  77. package/docs/classes/FileSystemAccessTreeAccessors.md +0 -557
  78. package/docs/classes/HttpTreeAccessors.md +0 -508
  79. package/docs/classes/LocalStorageTreeAccessors.md +0 -520
  80. package/docs/functions/exportAsJson.md +0 -23
  81. package/docs/functions/exportUsingFileSystemAPI.md +0 -26
  82. package/docs/functions/extractDirectoryPath.md +0 -23
  83. package/docs/functions/isDirectoryHandle.md +0 -23
  84. package/docs/functions/isFileHandle.md +0 -23
  85. package/docs/functions/isFilePath.md +0 -21
  86. package/docs/functions/parseContextFilter.md +0 -22
  87. package/docs/functions/parseQualifierDefaults.md +0 -22
  88. package/docs/functions/parseResourceTypes.md +0 -22
  89. package/docs/functions/parseUrlParameters.md +0 -15
  90. package/docs/functions/safeShowDirectoryPicker.md +0 -24
  91. package/docs/functions/safeShowOpenFilePicker.md +0 -24
  92. package/docs/functions/safeShowSaveFilePicker.md +0 -24
  93. package/docs/functions/supportsFileSystemAccess.md +0 -23
  94. package/docs/interfaces/FilePickerAcceptType.md +0 -16
  95. package/docs/interfaces/FileSystemCreateWritableOptions.md +0 -15
  96. package/docs/interfaces/FileSystemDirectoryHandle.md +0 -187
  97. package/docs/interfaces/FileSystemFileHandle.md +0 -106
  98. package/docs/interfaces/FileSystemGetDirectoryOptions.md +0 -15
  99. package/docs/interfaces/FileSystemGetFileOptions.md +0 -15
  100. package/docs/interfaces/FileSystemHandle.md +0 -69
  101. package/docs/interfaces/FileSystemHandlePermissionDescriptor.md +0 -15
  102. package/docs/interfaces/FileSystemRemoveOptions.md +0 -15
  103. package/docs/interfaces/FileSystemWritableFileStream.md +0 -127
  104. package/docs/interfaces/IDirectoryHandleTreeInitializer.md +0 -17
  105. package/docs/interfaces/IFileHandleTreeInitializer.md +0 -16
  106. package/docs/interfaces/IFileListTreeInitializer.md +0 -15
  107. package/docs/interfaces/IFileMetadata.md +0 -19
  108. package/docs/interfaces/IFileSystemAccessTreeParams.md +0 -30
  109. package/docs/interfaces/IFsAccessApis.md +0 -57
  110. package/docs/interfaces/IHttpTreeParams.md +0 -32
  111. package/docs/interfaces/ILocalStorageTreeParams.md +0 -30
  112. package/docs/interfaces/IUrlConfigOptions.md +0 -27
  113. package/docs/interfaces/ShowDirectoryPickerOptions.md +0 -17
  114. package/docs/interfaces/ShowOpenFilePickerOptions.md +0 -19
  115. package/docs/interfaces/ShowSaveFilePickerOptions.md +0 -19
  116. package/docs/type-aliases/TreeInitializer.md +0 -11
  117. package/docs/type-aliases/WellKnownDirectory.md +0 -11
  118. package/docs/type-aliases/WindowWithFsAccess.md +0 -11
  119. package/docs/variables/DEFAULT_DIRECTORY_HANDLE_DB.md +0 -11
  120. package/docs/variables/DEFAULT_DIRECTORY_HANDLE_STORE.md +0 -11
  121. package/etc/ts-web-extras.api.md +0 -433
  122. package/lib/test/mocks/idb-keyval.d.ts +0 -6
  123. package/lib/test/mocks/idb-keyval.d.ts.map +0 -1
  124. package/lib/test/mocks/idb-keyval.js +0 -9
  125. package/lib/test/mocks/idb-keyval.js.map +0 -1
  126. package/lib/test/setupTests.d.ts +0 -2
  127. package/lib/test/setupTests.d.ts.map +0 -1
  128. package/lib/test/setupTests.js +0 -76
  129. package/lib/test/setupTests.js.map +0 -1
  130. package/lib/test/unit/browserHashProvider.test.d.ts +0 -2
  131. package/lib/test/unit/browserHashProvider.test.d.ts.map +0 -1
  132. package/lib/test/unit/browserHashProvider.test.js +0 -142
  133. package/lib/test/unit/browserHashProvider.test.js.map +0 -1
  134. package/lib/test/unit/directoryHandleStore.test.d.ts +0 -2
  135. package/lib/test/unit/directoryHandleStore.test.d.ts.map +0 -1
  136. package/lib/test/unit/directoryHandleStore.test.js +0 -192
  137. package/lib/test/unit/directoryHandleStore.test.js.map +0 -1
  138. package/lib/test/unit/fileApiTreeAccessors.test.d.ts +0 -2
  139. package/lib/test/unit/fileApiTreeAccessors.test.d.ts.map +0 -1
  140. package/lib/test/unit/fileApiTreeAccessors.test.js +0 -1190
  141. package/lib/test/unit/fileApiTreeAccessors.test.js.map +0 -1
  142. package/lib/test/unit/fileApiTypes.test.d.ts +0 -2
  143. package/lib/test/unit/fileApiTypes.test.d.ts.map +0 -1
  144. package/lib/test/unit/fileApiTypes.test.js +0 -474
  145. package/lib/test/unit/fileApiTypes.test.js.map +0 -1
  146. package/lib/test/unit/fileSystemAccessTreeAccessors.test.d.ts +0 -2
  147. package/lib/test/unit/fileSystemAccessTreeAccessors.test.d.ts.map +0 -1
  148. package/lib/test/unit/fileSystemAccessTreeAccessors.test.js +0 -624
  149. package/lib/test/unit/fileSystemAccessTreeAccessors.test.js.map +0 -1
  150. package/lib/test/unit/fileTreeHelpers.test.d.ts +0 -2
  151. package/lib/test/unit/fileTreeHelpers.test.d.ts.map +0 -1
  152. package/lib/test/unit/fileTreeHelpers.test.js +0 -592
  153. package/lib/test/unit/fileTreeHelpers.test.js.map +0 -1
  154. package/lib/test/unit/httpTreeAccessors.test.d.ts +0 -2
  155. package/lib/test/unit/httpTreeAccessors.test.d.ts.map +0 -1
  156. package/lib/test/unit/httpTreeAccessors.test.js +0 -1231
  157. package/lib/test/unit/httpTreeAccessors.test.js.map +0 -1
  158. package/lib/test/unit/localStorageTreeAccessors.test.d.ts +0 -2
  159. package/lib/test/unit/localStorageTreeAccessors.test.d.ts.map +0 -1
  160. package/lib/test/unit/localStorageTreeAccessors.test.js +0 -814
  161. package/lib/test/unit/localStorageTreeAccessors.test.js.map +0 -1
  162. package/lib/test/unit/urlParams.test.d.ts +0 -2
  163. package/lib/test/unit/urlParams.test.d.ts.map +0 -1
  164. package/lib/test/unit/urlParams.test.js +0 -395
  165. package/lib/test/unit/urlParams.test.js.map +0 -1
  166. package/lib/test/utils/fileSystemAccessMocks.d.ts +0 -53
  167. package/lib/test/utils/fileSystemAccessMocks.d.ts.map +0 -1
  168. package/lib/test/utils/fileSystemAccessMocks.js +0 -277
  169. package/lib/test/utils/fileSystemAccessMocks.js.map +0 -1
  170. package/lib/test/utils/testHelpers.d.ts +0 -51
  171. package/lib/test/utils/testHelpers.d.ts.map +0 -1
  172. package/lib/test/utils/testHelpers.js +0 -133
  173. package/lib/test/utils/testHelpers.js.map +0 -1
  174. package/rush-logs/ts-web-extras.build.cache.log +0 -0
  175. package/rush-logs/ts-web-extras.build.error.log +0 -18
  176. package/rush-logs/ts-web-extras.build.log +0 -75
  177. package/rush-logs/ts-web-extras.test.cache.log +0 -1
  178. package/rush-logs/ts-web-extras.test.error.log +0 -18
  179. package/rush-logs/ts-web-extras.test.log +0 -75
  180. package/src/index.browser.ts +0 -24
  181. package/src/index.ts +0 -47
  182. package/src/packlets/crypto-utils/browserCryptoProvider.ts +0 -311
  183. package/src/packlets/crypto-utils/browserHashProvider.ts +0 -73
  184. package/src/packlets/crypto-utils/index.ts +0 -29
  185. package/src/packlets/file-api-types/index.ts +0 -366
  186. package/src/packlets/file-tree/directoryHandleStore.ts +0 -136
  187. package/src/packlets/file-tree/fileApiTreeAccessors.ts +0 -528
  188. package/src/packlets/file-tree/fileSystemAccessTreeAccessors.ts +0 -519
  189. package/src/packlets/file-tree/httpTreeAccessors.ts +0 -448
  190. package/src/packlets/file-tree/index.ts +0 -32
  191. package/src/packlets/file-tree/localStorageTreeAccessors.ts +0 -430
  192. package/src/packlets/helpers/fileTreeHelpers.ts +0 -107
  193. package/src/packlets/helpers/index.ts +0 -28
  194. package/src/packlets/url-utils/index.ts +0 -28
  195. package/src/packlets/url-utils/urlParams.ts +0 -245
  196. package/src/test/mocks/idb-keyval.ts +0 -5
  197. package/src/test/setupTests.ts +0 -87
  198. package/src/test/unit/browserHashProvider.test.ts +0 -155
  199. package/src/test/unit/browserHashProvider.test.ts.bak +0 -376
  200. package/src/test/unit/directoryHandleStore.test.ts +0 -251
  201. package/src/test/unit/fileApiTreeAccessors.test.ts +0 -1387
  202. package/src/test/unit/fileApiTypes.test.ts +0 -587
  203. package/src/test/unit/fileSystemAccessTreeAccessors.test.ts +0 -885
  204. package/src/test/unit/fileTreeHelpers.test.ts +0 -694
  205. package/src/test/unit/httpTreeAccessors.test.ts +0 -1571
  206. package/src/test/unit/localStorageTreeAccessors.test.ts +0 -1014
  207. package/src/test/unit/urlParams.test.ts +0 -464
  208. package/src/test/utils/fileSystemAccessMocks.ts +0 -353
  209. package/src/test/utils/testHelpers.ts +0 -155
  210. package/temp/build/typescript/ts_8nwakTlr.json +0 -1
  211. package/temp/coverage/base.css +0 -224
  212. package/temp/coverage/block-navigation.js +0 -87
  213. package/temp/coverage/crypto/browserHashProvider.ts.html +0 -304
  214. package/temp/coverage/crypto/index.html +0 -116
  215. package/temp/coverage/crypto-utils/browserCryptoProvider.ts.html +0 -1018
  216. package/temp/coverage/crypto-utils/browserHashProvider.ts.html +0 -304
  217. package/temp/coverage/crypto-utils/index.html +0 -131
  218. package/temp/coverage/favicon.png +0 -0
  219. package/temp/coverage/file-tree/directoryHandleStore.ts.html +0 -493
  220. package/temp/coverage/file-tree/fileApiTreeAccessors.ts.html +0 -1669
  221. package/temp/coverage/file-tree/fileSystemAccessTreeAccessors.ts.html +0 -1642
  222. package/temp/coverage/file-tree/httpTreeAccessors.ts.html +0 -1429
  223. package/temp/coverage/file-tree/index.html +0 -176
  224. package/temp/coverage/file-tree/localStorageTreeAccessors.ts.html +0 -1375
  225. package/temp/coverage/helpers/fileTreeHelpers.ts.html +0 -406
  226. package/temp/coverage/helpers/index.html +0 -116
  227. package/temp/coverage/index.html +0 -161
  228. package/temp/coverage/lcov-report/base.css +0 -224
  229. package/temp/coverage/lcov-report/block-navigation.js +0 -87
  230. package/temp/coverage/lcov-report/crypto/browserHashProvider.ts.html +0 -304
  231. package/temp/coverage/lcov-report/crypto/index.html +0 -116
  232. package/temp/coverage/lcov-report/crypto-utils/browserCryptoProvider.ts.html +0 -1018
  233. package/temp/coverage/lcov-report/crypto-utils/browserHashProvider.ts.html +0 -304
  234. package/temp/coverage/lcov-report/crypto-utils/index.html +0 -131
  235. package/temp/coverage/lcov-report/favicon.png +0 -0
  236. package/temp/coverage/lcov-report/file-tree/directoryHandleStore.ts.html +0 -493
  237. package/temp/coverage/lcov-report/file-tree/fileApiTreeAccessors.ts.html +0 -1669
  238. package/temp/coverage/lcov-report/file-tree/fileSystemAccessTreeAccessors.ts.html +0 -1642
  239. package/temp/coverage/lcov-report/file-tree/httpTreeAccessors.ts.html +0 -1429
  240. package/temp/coverage/lcov-report/file-tree/index.html +0 -176
  241. package/temp/coverage/lcov-report/file-tree/localStorageTreeAccessors.ts.html +0 -1375
  242. package/temp/coverage/lcov-report/helpers/fileTreeHelpers.ts.html +0 -406
  243. package/temp/coverage/lcov-report/helpers/index.html +0 -116
  244. package/temp/coverage/lcov-report/index.html +0 -161
  245. package/temp/coverage/lcov-report/prettify.css +0 -1
  246. package/temp/coverage/lcov-report/prettify.js +0 -2
  247. package/temp/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  248. package/temp/coverage/lcov-report/sorter.js +0 -210
  249. package/temp/coverage/lcov-report/url-utils/index.html +0 -116
  250. package/temp/coverage/lcov-report/url-utils/urlParams.ts.html +0 -820
  251. package/temp/coverage/lcov.info +0 -3597
  252. package/temp/coverage/prettify.css +0 -1
  253. package/temp/coverage/prettify.js +0 -2
  254. package/temp/coverage/sort-arrow-sprite.png +0 -0
  255. package/temp/coverage/sorter.js +0 -210
  256. package/temp/coverage/url-utils/index.html +0 -116
  257. package/temp/coverage/url-utils/urlParams.ts.html +0 -820
  258. package/temp/test/jest/haste-map-b931e4e63102f86c5bd4949f7dced44f-9d713eb41149188b4e5c0ae3d86d0a57-2ad8e16b24e391b8cdbe50b55c137169 +0 -0
  259. package/temp/test/jest/jest-transform-cache-b931e4e63102f86c5bd4949f7dced44f-79ef2876fae7ca75eedb2aa53dc48338/b5/package_b5f57afc9ec2c011239b1608ee5bdfa5 +0 -53
  260. package/temp/test/jest/perf-cache-b931e4e63102f86c5bd4949f7dced44f-da39a3ee5e6b4b0d3255bfef95601890 +0 -1
  261. package/temp/ts-web-extras.api.json +0 -8850
  262. package/temp/ts-web-extras.api.md +0 -433
  263. package/tsconfig.json +0 -7
@@ -1,520 +0,0 @@
1
- [**@fgv/ts-web-extras**](../README.md)
2
-
3
- ***
4
-
5
- [@fgv/ts-web-extras](../README.md) / LocalStorageTreeAccessors
6
-
7
- # Class: LocalStorageTreeAccessors\<TCT\>
8
-
9
- Browser localStorage-backed file tree accessors with persistence support.
10
-
11
- Maps filesystem-like directory paths to localStorage keys, where each key stores
12
- multiple collections as a JSON object. This provides a general-purpose implementation
13
- for browser-based file tree persistence without requiring File System Access API.
14
-
15
- Storage format per key: `{ "collection-id": "<raw file content>" }`
16
- File paths map as: `/data/ingredients/collection-id.yaml` → stored in key for `/data/ingredients`
17
-
18
- Legacy format (v1): `{ "collection-id": { ...parsedJsonObject } }` is auto-migrated on load.
19
-
20
- ## Extends
21
-
22
- - [`InMemoryTreeAccessors`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-json-base/docs)\<`TCT`\>
23
-
24
- ## Type Parameters
25
-
26
- | Type Parameter | Default type |
27
- | ------ | ------ |
28
- | `TCT` *extends* `string` | `string` |
29
-
30
- ## Implements
31
-
32
- - [`IPersistentFileTreeAccessors`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-json-base/docs)\<`TCT`\>
33
-
34
- ## Methods
35
-
36
- ### createDirectory()
37
-
38
- > **createDirectory**(`dirPath`): [`Result`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils/docs)\<`string`\>
39
-
40
- FileTree.IMutableFileTreeAccessors.createDirectory
41
-
42
- #### Parameters
43
-
44
- | Parameter | Type |
45
- | ------ | ------ |
46
- | `dirPath` | `string` |
47
-
48
- #### Returns
49
-
50
- [`Result`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils/docs)\<`string`\>
51
-
52
- #### Implementation of
53
-
54
- `FileTree.IPersistentFileTreeAccessors.createDirectory`
55
-
56
- #### Inherited from
57
-
58
- `FileTree.InMemoryTreeAccessors.createDirectory`
59
-
60
- ***
61
-
62
- ### deleteDirectory()
63
-
64
- > **deleteDirectory**(`path`): [`Result`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils/docs)\<`boolean`\>
65
-
66
- FileTree.IMutableFileTreeAccessors.deleteDirectory
67
-
68
- #### Parameters
69
-
70
- | Parameter | Type |
71
- | ------ | ------ |
72
- | `path` | `string` |
73
-
74
- #### Returns
75
-
76
- [`Result`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils/docs)\<`boolean`\>
77
-
78
- #### Implementation of
79
-
80
- `FileTree.IPersistentFileTreeAccessors.deleteDirectory`
81
-
82
- #### Inherited from
83
-
84
- `FileTree.InMemoryTreeAccessors.deleteDirectory`
85
-
86
- ***
87
-
88
- ### deleteFile()
89
-
90
- > **deleteFile**(`path`): [`Result`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils/docs)\<`boolean`\>
91
-
92
- Delete a file and remove it from localStorage.
93
-
94
- #### Parameters
95
-
96
- | Parameter | Type | Description |
97
- | ------ | ------ | ------ |
98
- | `path` | `string` | File path to delete |
99
-
100
- #### Returns
101
-
102
- [`Result`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils/docs)\<`boolean`\>
103
-
104
- Result with true if deleted, or error
105
-
106
- #### Implementation of
107
-
108
- `FileTree.IPersistentFileTreeAccessors.deleteFile`
109
-
110
- #### Overrides
111
-
112
- `FileTree.InMemoryTreeAccessors.deleteFile`
113
-
114
- ***
115
-
116
- ### fileIsMutable()
117
-
118
- > **fileIsMutable**(`path`): [`DetailedResult`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils/docs)\<`boolean`, [`SaveDetail`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-json-base/docs)\>
119
-
120
- Check if a file is mutable and return persistence detail.
121
-
122
- #### Parameters
123
-
124
- | Parameter | Type | Description |
125
- | ------ | ------ | ------ |
126
- | `path` | `string` | File path to check |
127
-
128
- #### Returns
129
-
130
- [`DetailedResult`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils/docs)\<`boolean`, [`SaveDetail`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-json-base/docs)\>
131
-
132
- DetailedResult with mutability status and 'persistent' detail if mutable
133
-
134
- #### Implementation of
135
-
136
- `FileTree.IPersistentFileTreeAccessors.fileIsMutable`
137
-
138
- #### Overrides
139
-
140
- `FileTree.InMemoryTreeAccessors.fileIsMutable`
141
-
142
- ***
143
-
144
- ### getBaseName()
145
-
146
- > **getBaseName**(`path`, `suffix?`): `string`
147
-
148
- FileTree.IFileTreeAccessors.getBaseName
149
-
150
- #### Parameters
151
-
152
- | Parameter | Type |
153
- | ------ | ------ |
154
- | `path` | `string` |
155
- | `suffix?` | `string` |
156
-
157
- #### Returns
158
-
159
- `string`
160
-
161
- #### Implementation of
162
-
163
- `FileTree.IPersistentFileTreeAccessors.getBaseName`
164
-
165
- #### Inherited from
166
-
167
- `FileTree.InMemoryTreeAccessors.getBaseName`
168
-
169
- ***
170
-
171
- ### getChildren()
172
-
173
- > **getChildren**(`path`): [`Result`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils/docs)\<readonly [`FileTreeItem`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-json-base/docs)\<`TCT`\>[]\>
174
-
175
- FileTree.IFileTreeAccessors.getChildren
176
-
177
- #### Parameters
178
-
179
- | Parameter | Type |
180
- | ------ | ------ |
181
- | `path` | `string` |
182
-
183
- #### Returns
184
-
185
- [`Result`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils/docs)\<readonly [`FileTreeItem`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-json-base/docs)\<`TCT`\>[]\>
186
-
187
- #### Implementation of
188
-
189
- `FileTree.IPersistentFileTreeAccessors.getChildren`
190
-
191
- #### Inherited from
192
-
193
- `FileTree.InMemoryTreeAccessors.getChildren`
194
-
195
- ***
196
-
197
- ### getDirtyPaths()
198
-
199
- > **getDirtyPaths**(): `string`[]
200
-
201
- Get list of file paths with unsaved changes.
202
-
203
- #### Returns
204
-
205
- `string`[]
206
-
207
- Array of dirty file paths
208
-
209
- #### Implementation of
210
-
211
- `FileTree.IPersistentFileTreeAccessors.getDirtyPaths`
212
-
213
- ***
214
-
215
- ### getExtension()
216
-
217
- > **getExtension**(`path`): `string`
218
-
219
- FileTree.IFileTreeAccessors.getExtension
220
-
221
- #### Parameters
222
-
223
- | Parameter | Type |
224
- | ------ | ------ |
225
- | `path` | `string` |
226
-
227
- #### Returns
228
-
229
- `string`
230
-
231
- #### Implementation of
232
-
233
- `FileTree.IPersistentFileTreeAccessors.getExtension`
234
-
235
- #### Inherited from
236
-
237
- `FileTree.InMemoryTreeAccessors.getExtension`
238
-
239
- ***
240
-
241
- ### getFileContents()
242
-
243
- > **getFileContents**(`path`): [`Result`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils/docs)\<`string`\>
244
-
245
- FileTree.IFileTreeAccessors.getFileContents
246
-
247
- #### Parameters
248
-
249
- | Parameter | Type |
250
- | ------ | ------ |
251
- | `path` | `string` |
252
-
253
- #### Returns
254
-
255
- [`Result`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils/docs)\<`string`\>
256
-
257
- #### Implementation of
258
-
259
- `FileTree.IPersistentFileTreeAccessors.getFileContents`
260
-
261
- #### Inherited from
262
-
263
- `FileTree.InMemoryTreeAccessors.getFileContents`
264
-
265
- ***
266
-
267
- ### getFileContentType()
268
-
269
- > **getFileContentType**(`path`, `provided?`): [`Result`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils/docs)\<`TCT` \| `undefined`\>
270
-
271
- FileTree.IFileTreeAccessors.getFileContentType
272
-
273
- #### Parameters
274
-
275
- | Parameter | Type |
276
- | ------ | ------ |
277
- | `path` | `string` |
278
- | `provided?` | `string` |
279
-
280
- #### Returns
281
-
282
- [`Result`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils/docs)\<`TCT` \| `undefined`\>
283
-
284
- #### Implementation of
285
-
286
- `FileTree.IPersistentFileTreeAccessors.getFileContentType`
287
-
288
- #### Inherited from
289
-
290
- `FileTree.InMemoryTreeAccessors.getFileContentType`
291
-
292
- ***
293
-
294
- ### getItem()
295
-
296
- > **getItem**(`itemPath`): [`Result`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils/docs)\<[`FileTreeItem`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-json-base/docs)\<`TCT`\>\>
297
-
298
- FileTree.IFileTreeAccessors.getItem
299
-
300
- #### Parameters
301
-
302
- | Parameter | Type |
303
- | ------ | ------ |
304
- | `itemPath` | `string` |
305
-
306
- #### Returns
307
-
308
- [`Result`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils/docs)\<[`FileTreeItem`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-json-base/docs)\<`TCT`\>\>
309
-
310
- #### Implementation of
311
-
312
- `FileTree.IPersistentFileTreeAccessors.getItem`
313
-
314
- #### Inherited from
315
-
316
- `FileTree.InMemoryTreeAccessors.getItem`
317
-
318
- ***
319
-
320
- ### isDirty()
321
-
322
- > **isDirty**(): `boolean`
323
-
324
- Check if there are unsaved changes.
325
-
326
- #### Returns
327
-
328
- `boolean`
329
-
330
- True if there are dirty files
331
-
332
- #### Implementation of
333
-
334
- `FileTree.IPersistentFileTreeAccessors.isDirty`
335
-
336
- ***
337
-
338
- ### joinPaths()
339
-
340
- > **joinPaths**(...`paths`): `string`
341
-
342
- FileTree.IFileTreeAccessors.joinPaths
343
-
344
- #### Parameters
345
-
346
- | Parameter | Type |
347
- | ------ | ------ |
348
- | ...`paths` | `string`[] |
349
-
350
- #### Returns
351
-
352
- `string`
353
-
354
- #### Implementation of
355
-
356
- `FileTree.IPersistentFileTreeAccessors.joinPaths`
357
-
358
- #### Inherited from
359
-
360
- `FileTree.InMemoryTreeAccessors.joinPaths`
361
-
362
- ***
363
-
364
- ### resolveAbsolutePath()
365
-
366
- > **resolveAbsolutePath**(...`paths`): `string`
367
-
368
- FileTree.IFileTreeAccessors.resolveAbsolutePath
369
-
370
- #### Parameters
371
-
372
- | Parameter | Type |
373
- | ------ | ------ |
374
- | ...`paths` | `string`[] |
375
-
376
- #### Returns
377
-
378
- `string`
379
-
380
- #### Implementation of
381
-
382
- `FileTree.IPersistentFileTreeAccessors.resolveAbsolutePath`
383
-
384
- #### Inherited from
385
-
386
- `FileTree.InMemoryTreeAccessors.resolveAbsolutePath`
387
-
388
- ***
389
-
390
- ### saveFileContents()
391
-
392
- > **saveFileContents**(`path`, `contents`): [`Result`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils/docs)\<`string`\>
393
-
394
- Save file contents. Marks file as dirty and optionally auto-syncs.
395
-
396
- #### Parameters
397
-
398
- | Parameter | Type | Description |
399
- | ------ | ------ | ------ |
400
- | `path` | `string` | File path |
401
- | `contents` | `string` | New file contents |
402
-
403
- #### Returns
404
-
405
- [`Result`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils/docs)\<`string`\>
406
-
407
- Result with the saved contents or error
408
-
409
- #### Implementation of
410
-
411
- `FileTree.IPersistentFileTreeAccessors.saveFileContents`
412
-
413
- #### Overrides
414
-
415
- `FileTree.InMemoryTreeAccessors.saveFileContents`
416
-
417
- ***
418
-
419
- ### syncToDisk()
420
-
421
- > **syncToDisk**(): `Promise`\<[`Result`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils/docs)\<`void`\>\>
422
-
423
- Sync all dirty files to localStorage.
424
-
425
- #### Returns
426
-
427
- `Promise`\<[`Result`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils/docs)\<`void`\>\>
428
-
429
- Result indicating success or failure
430
-
431
- #### Implementation of
432
-
433
- `FileTree.IPersistentFileTreeAccessors.syncToDisk`
434
-
435
- ***
436
-
437
- ### create()
438
-
439
- #### Call Signature
440
-
441
- > `static` **create**\<`TCT`\>(`files`, `prefix?`): [`Result`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils/docs)\<[`InMemoryTreeAccessors`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-json-base/docs)\<`TCT`\>\>
442
-
443
- Creates a new [InMemoryTreeAccessors](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-json-base/docs) instance with the supplied
444
- in-memory files.
445
-
446
- ##### Type Parameters
447
-
448
- | Type Parameter | Default type |
449
- | ------ | ------ |
450
- | `TCT` *extends* `string` | `string` |
451
-
452
- ##### Parameters
453
-
454
- | Parameter | Type | Description |
455
- | ------ | ------ | ------ |
456
- | `files` | [`IInMemoryFile`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-json-base/docs)\<`TCT`\>[] | An array of [in-memory files](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-json-base/docs) to include in the tree. |
457
- | `prefix?` | `string` | Optional prefix for the tree. |
458
-
459
- ##### Returns
460
-
461
- [`Result`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils/docs)\<[`InMemoryTreeAccessors`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-json-base/docs)\<`TCT`\>\>
462
-
463
- ##### Inherited from
464
-
465
- `FileTree.InMemoryTreeAccessors.create`
466
-
467
- #### Call Signature
468
-
469
- > `static` **create**\<`TCT`\>(`files`, `params?`): [`Result`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils/docs)\<[`InMemoryTreeAccessors`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-json-base/docs)\<`TCT`\>\>
470
-
471
- Creates a new [InMemoryTreeAccessors](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-json-base/docs) instance with the supplied
472
- in-memory files.
473
-
474
- ##### Type Parameters
475
-
476
- | Type Parameter | Default type |
477
- | ------ | ------ |
478
- | `TCT` *extends* `string` | `string` |
479
-
480
- ##### Parameters
481
-
482
- | Parameter | Type | Description |
483
- | ------ | ------ | ------ |
484
- | `files` | [`IInMemoryFile`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-json-base/docs)\<`TCT`\>[] | An array of [in-memory files](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-json-base/docs) to include in the tree. |
485
- | `params?` | [`IFileTreeInitParams`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-json-base/docs)\<`TCT`\> | Optional params for the tree. |
486
-
487
- ##### Returns
488
-
489
- [`Result`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils/docs)\<[`InMemoryTreeAccessors`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-json-base/docs)\<`TCT`\>\>
490
-
491
- ##### Inherited from
492
-
493
- `FileTree.InMemoryTreeAccessors.create`
494
-
495
- ***
496
-
497
- ### fromStorage()
498
-
499
- > `static` **fromStorage**\<`TCT`\>(`params`): [`Result`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils/docs)\<`LocalStorageTreeAccessors`\<`TCT`\>\>
500
-
501
- Create LocalStorageTreeAccessors from browser localStorage.
502
- Loads all collections from the configured storage keys.
503
-
504
- #### Type Parameters
505
-
506
- | Type Parameter | Default type |
507
- | ------ | ------ |
508
- | `TCT` *extends* `string` | `string` |
509
-
510
- #### Parameters
511
-
512
- | Parameter | Type | Description |
513
- | ------ | ------ | ------ |
514
- | `params` | [`ILocalStorageTreeParams`](../interfaces/ILocalStorageTreeParams.md)\<`TCT`\> | Configuration including path-to-key mappings |
515
-
516
- #### Returns
517
-
518
- [`Result`](https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils/docs)\<`LocalStorageTreeAccessors`\<`TCT`\>\>
519
-
520
- Result containing the accessors or an error
@@ -1,23 +0,0 @@
1
- [**@fgv/ts-web-extras**](../README.md)
2
-
3
- ***
4
-
5
- [@fgv/ts-web-extras](../README.md) / exportAsJson
6
-
7
- # Function: exportAsJson()
8
-
9
- > **exportAsJson**(`data`, `filename`): `void`
10
-
11
- Export data as JSON file using legacy blob download method.
12
- Creates a temporary download link and triggers file download.
13
-
14
- ## Parameters
15
-
16
- | Parameter | Type | Description |
17
- | ------ | ------ | ------ |
18
- | `data` | `unknown` | Data to export as JSON |
19
- | `filename` | `string` | Name for the downloaded file |
20
-
21
- ## Returns
22
-
23
- `void`
@@ -1,26 +0,0 @@
1
- [**@fgv/ts-web-extras**](../README.md)
2
-
3
- ***
4
-
5
- [@fgv/ts-web-extras](../README.md) / exportUsingFileSystemAPI
6
-
7
- # Function: exportUsingFileSystemAPI()
8
-
9
- > **exportUsingFileSystemAPI**(`data`, `suggestedName`, `description`, `window`): `Promise`\<`boolean`\>
10
-
11
- Export data using File System Access API with fallback to blob download.
12
-
13
- ## Parameters
14
-
15
- | Parameter | Type | Default value | Description |
16
- | ------ | ------ | ------ | ------ |
17
- | `data` | `unknown` | `undefined` | Data to export as JSON |
18
- | `suggestedName` | `string` | `undefined` | Suggested filename for the save dialog |
19
- | `description` | `string` | `'JSON files'` | Description for file type filter (default: 'JSON files') |
20
- | `window` | `Window` | `globalThis.window` | Window object for API access (default: globalThis.window) |
21
-
22
- ## Returns
23
-
24
- `Promise`\<`boolean`\>
25
-
26
- Promise resolving to true if saved via File System Access API, false if fallback used
@@ -1,23 +0,0 @@
1
- [**@fgv/ts-web-extras**](../README.md)
2
-
3
- ***
4
-
5
- [@fgv/ts-web-extras](../README.md) / extractDirectoryPath
6
-
7
- # Function: extractDirectoryPath()
8
-
9
- > **extractDirectoryPath**(`path`): `string`
10
-
11
- Extracts the directory path from a file or directory path
12
- If the path appears to be a directory (no extension), returns it as-is
13
- If the path appears to be a file, returns the parent directory
14
-
15
- ## Parameters
16
-
17
- | Parameter | Type |
18
- | ------ | ------ |
19
- | `path` | `string` |
20
-
21
- ## Returns
22
-
23
- `string`
@@ -1,23 +0,0 @@
1
- [**@fgv/ts-web-extras**](../README.md)
2
-
3
- ***
4
-
5
- [@fgv/ts-web-extras](../README.md) / isDirectoryHandle
6
-
7
- # Function: isDirectoryHandle()
8
-
9
- > **isDirectoryHandle**(`handle`): `handle is FileSystemDirectoryHandle`
10
-
11
- Type guard to check if a FileSystemHandle is a directory handle
12
-
13
- ## Parameters
14
-
15
- | Parameter | Type | Description |
16
- | ------ | ------ | ------ |
17
- | `handle` | [`FileSystemHandle`](../interfaces/FileSystemHandle.md) | The handle to check |
18
-
19
- ## Returns
20
-
21
- `handle is FileSystemDirectoryHandle`
22
-
23
- True if the handle is a FileSystemDirectoryHandle
@@ -1,23 +0,0 @@
1
- [**@fgv/ts-web-extras**](../README.md)
2
-
3
- ***
4
-
5
- [@fgv/ts-web-extras](../README.md) / isFileHandle
6
-
7
- # Function: isFileHandle()
8
-
9
- > **isFileHandle**(`handle`): `handle is FileSystemFileHandle`
10
-
11
- Type guard to check if a FileSystemHandle is a file handle
12
-
13
- ## Parameters
14
-
15
- | Parameter | Type | Description |
16
- | ------ | ------ | ------ |
17
- | `handle` | [`FileSystemHandle`](../interfaces/FileSystemHandle.md) | The handle to check |
18
-
19
- ## Returns
20
-
21
- `handle is FileSystemFileHandle`
22
-
23
- True if the handle is a FileSystemFileHandle
@@ -1,21 +0,0 @@
1
- [**@fgv/ts-web-extras**](../README.md)
2
-
3
- ***
4
-
5
- [@fgv/ts-web-extras](../README.md) / isFilePath
6
-
7
- # Function: isFilePath()
8
-
9
- > **isFilePath**(`path`): `boolean`
10
-
11
- Determines if a path appears to be a file (has extension) or directory
12
-
13
- ## Parameters
14
-
15
- | Parameter | Type |
16
- | ------ | ------ |
17
- | `path` | `string` |
18
-
19
- ## Returns
20
-
21
- `boolean`
@@ -1,22 +0,0 @@
1
- [**@fgv/ts-web-extras**](../README.md)
2
-
3
- ***
4
-
5
- [@fgv/ts-web-extras](../README.md) / parseContextFilter
6
-
7
- # Function: parseContextFilter()
8
-
9
- > **parseContextFilter**(`contextFilter`): `Record`\<`string`, `string`\>
10
-
11
- Converts context filter token to context object
12
- Example: "language=en-US|territory=US" -\> { language: "en-US", territory: "US" }
13
-
14
- ## Parameters
15
-
16
- | Parameter | Type |
17
- | ------ | ------ |
18
- | `contextFilter` | `string` |
19
-
20
- ## Returns
21
-
22
- `Record`\<`string`, `string`\>
@@ -1,22 +0,0 @@
1
- [**@fgv/ts-web-extras**](../README.md)
2
-
3
- ***
4
-
5
- [@fgv/ts-web-extras](../README.md) / parseQualifierDefaults
6
-
7
- # Function: parseQualifierDefaults()
8
-
9
- > **parseQualifierDefaults**(`qualifierDefaults`): `Record`\<`string`, `string`[]\>
10
-
11
- Converts qualifier defaults token to structured format
12
- Example: "language=en-US,en-CA|territory=US" -\> { language: ["en-US", "en-CA"], territory: ["US"] }
13
-
14
- ## Parameters
15
-
16
- | Parameter | Type |
17
- | ------ | ------ |
18
- | `qualifierDefaults` | `string` |
19
-
20
- ## Returns
21
-
22
- `Record`\<`string`, `string`[]\>