termcast 1.3.54 → 1.4.1

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 (170) hide show
  1. package/dist/action-utils.d.ts.map +1 -1
  2. package/dist/action-utils.js +17 -132
  3. package/dist/action-utils.js.map +1 -1
  4. package/dist/apis/cache.d.ts +8 -30
  5. package/dist/apis/cache.d.ts.map +1 -1
  6. package/dist/apis/cache.js +9 -271
  7. package/dist/apis/cache.js.map +1 -1
  8. package/dist/apis/clipboard.d.ts +4 -2
  9. package/dist/apis/clipboard.d.ts.map +1 -1
  10. package/dist/apis/clipboard.js +18 -31
  11. package/dist/apis/clipboard.js.map +1 -1
  12. package/dist/apis/environment.d.ts.map +1 -1
  13. package/dist/apis/environment.js +14 -49
  14. package/dist/apis/environment.js.map +1 -1
  15. package/dist/apis/localstorage.d.ts +7 -12
  16. package/dist/apis/localstorage.d.ts.map +1 -1
  17. package/dist/apis/localstorage.js +7 -184
  18. package/dist/apis/localstorage.js.map +1 -1
  19. package/dist/app.d.ts.map +1 -1
  20. package/dist/app.js +16 -15
  21. package/dist/app.js.map +1 -1
  22. package/dist/cli.js +7 -6
  23. package/dist/cli.js.map +1 -1
  24. package/dist/components/actions.d.ts.map +1 -1
  25. package/dist/components/actions.js +13 -2
  26. package/dist/components/actions.js.map +1 -1
  27. package/dist/components/extension-preferences.d.ts.map +1 -1
  28. package/dist/components/extension-preferences.js +7 -8
  29. package/dist/components/extension-preferences.js.map +1 -1
  30. package/dist/components/form/file-autocomplete.js +2 -2
  31. package/dist/components/form/file-autocomplete.js.map +1 -1
  32. package/dist/components/list.d.ts.map +1 -1
  33. package/dist/components/list.js +242 -14
  34. package/dist/components/list.js.map +1 -1
  35. package/dist/e2e-node.d.ts.map +1 -1
  36. package/dist/e2e-node.js +5 -4
  37. package/dist/e2e-node.js.map +1 -1
  38. package/dist/extensions/dev.d.ts.map +1 -1
  39. package/dist/extensions/dev.js +5 -2
  40. package/dist/extensions/dev.js.map +1 -1
  41. package/dist/globals.d.ts.map +1 -1
  42. package/dist/globals.js +2 -1
  43. package/dist/globals.js.map +1 -1
  44. package/dist/internal/error-handler.d.ts.map +1 -1
  45. package/dist/internal/error-handler.js +21 -19
  46. package/dist/internal/error-handler.js.map +1 -1
  47. package/dist/internal/providers.d.ts.map +1 -1
  48. package/dist/internal/providers.js +41 -1
  49. package/dist/internal/providers.js.map +1 -1
  50. package/dist/logger.d.ts.map +1 -1
  51. package/dist/logger.js +40 -29
  52. package/dist/logger.js.map +1 -1
  53. package/dist/platform/browser/cache.d.ts +41 -0
  54. package/dist/platform/browser/cache.d.ts.map +1 -0
  55. package/dist/platform/browser/cache.js +262 -0
  56. package/dist/platform/browser/cache.js.map +1 -0
  57. package/dist/platform/browser/localstorage.d.ts +20 -0
  58. package/dist/platform/browser/localstorage.d.ts.map +1 -0
  59. package/dist/platform/browser/localstorage.js +102 -0
  60. package/dist/platform/browser/localstorage.js.map +1 -0
  61. package/dist/platform/browser/runtime.d.ts +51 -0
  62. package/dist/platform/browser/runtime.d.ts.map +1 -0
  63. package/dist/platform/browser/runtime.js +164 -0
  64. package/dist/platform/browser/runtime.js.map +1 -0
  65. package/dist/platform/bun/sqlite.d.ts +17 -0
  66. package/dist/platform/bun/sqlite.d.ts.map +1 -0
  67. package/dist/platform/bun/sqlite.js +6 -0
  68. package/dist/platform/bun/sqlite.js.map +1 -0
  69. package/dist/platform/node/cache.d.ts +35 -0
  70. package/dist/platform/node/cache.d.ts.map +1 -0
  71. package/dist/platform/node/cache.js +269 -0
  72. package/dist/platform/node/cache.js.map +1 -0
  73. package/dist/platform/node/localstorage.d.ts +17 -0
  74. package/dist/platform/node/localstorage.d.ts.map +1 -0
  75. package/dist/platform/node/localstorage.js +186 -0
  76. package/dist/platform/node/localstorage.js.map +1 -0
  77. package/dist/platform/node/runtime.d.ts +52 -0
  78. package/dist/platform/node/runtime.d.ts.map +1 -0
  79. package/dist/platform/node/runtime.js +230 -0
  80. package/dist/platform/node/runtime.js.map +1 -0
  81. package/dist/platform/node/sqlite.d.ts +27 -0
  82. package/dist/platform/node/sqlite.d.ts.map +1 -0
  83. package/dist/platform/node/sqlite.js +21 -0
  84. package/dist/platform/node/sqlite.js.map +1 -0
  85. package/dist/state.d.ts +5 -0
  86. package/dist/state.d.ts.map +1 -1
  87. package/dist/state.js +6 -28
  88. package/dist/state.js.map +1 -1
  89. package/dist/utils/file-system.d.ts.map +1 -1
  90. package/dist/utils/file-system.js +17 -22
  91. package/dist/utils/file-system.js.map +1 -1
  92. package/dist/utils.d.ts +1 -1
  93. package/dist/utils.d.ts.map +1 -1
  94. package/dist/utils.js +42 -47
  95. package/dist/utils.js.map +1 -1
  96. package/dist/vim-mode.d.ts +40 -0
  97. package/dist/vim-mode.d.ts.map +1 -0
  98. package/dist/vim-mode.js +135 -0
  99. package/dist/vim-mode.js.map +1 -0
  100. package/fonts/Inconsolata.otf +0 -0
  101. package/fonts/SIL Open Font License.txt +41 -0
  102. package/package.json +62 -10
  103. package/src/action-utils.tsx +27 -124
  104. package/src/apis/cache.test.ts +1 -1
  105. package/src/apis/cache.tsx +9 -373
  106. package/src/apis/clipboard.tsx +29 -38
  107. package/src/apis/environment.tsx +25 -52
  108. package/src/apis/localstorage.tsx +8 -214
  109. package/src/app.tsx +16 -15
  110. package/src/cli.tsx +14 -15
  111. package/src/compile.vitest.tsx +2 -2
  112. package/src/components/actions.tsx +19 -1
  113. package/src/components/extension-preferences.tsx +7 -8
  114. package/src/components/form/file-autocomplete.tsx +2 -2
  115. package/src/components/list.tsx +279 -14
  116. package/src/e2e-node.tsx +7 -7
  117. package/src/examples/action-shortcut.vitest.tsx +2 -2
  118. package/src/examples/actions-context.vitest.tsx +1 -1
  119. package/src/examples/bar-graph-weekly.vitest.tsx +10 -36
  120. package/src/examples/detail-metadata-showcase.vitest.tsx +37 -42
  121. package/src/examples/form-basic.vitest.tsx +45 -41
  122. package/src/examples/github.vitest.tsx +4 -4
  123. package/src/examples/graph-bar-chart.vitest.tsx +13 -11
  124. package/src/examples/graph-polymarket.vitest.tsx +2 -2
  125. package/src/examples/graph-row.vitest.tsx +66 -66
  126. package/src/examples/graph-styles.vitest.tsx +12 -12
  127. package/src/examples/internal/simple-scrollbox.vitest.tsx +14 -48
  128. package/src/examples/list-detail-metadata.vitest.tsx +5 -5
  129. package/src/examples/list-fetch-data.vitest.tsx +3 -3
  130. package/src/examples/list-item-accessories.vitest.tsx +2 -2
  131. package/src/examples/list-loading-empty-view.vitest.tsx +1 -1
  132. package/src/examples/list-no-actions.vitest.tsx +2 -2
  133. package/src/examples/list-scrollbox.vitest.tsx +5 -5
  134. package/src/examples/list-spacing-mode.vitest.tsx +3 -3
  135. package/src/examples/list-with-detail.vitest.tsx +68 -68
  136. package/src/examples/list-with-dropdown.vitest.tsx +5 -5
  137. package/src/examples/list-with-sections.vitest.tsx +27 -27
  138. package/src/examples/simple-candle-chart.vitest.tsx +7 -7
  139. package/src/examples/simple-detail-markdown.vitest.tsx +8 -8
  140. package/src/examples/simple-detail-table.vitest.tsx +8 -8
  141. package/src/examples/simple-graph.vitest.tsx +3 -3
  142. package/src/examples/simple-grid.vitest.tsx +14 -14
  143. package/src/examples/simple-heatmap.vitest.tsx +10 -10
  144. package/src/examples/simple-navigation.vitest.tsx +17 -17
  145. package/src/examples/simple-progress-bar.vitest.tsx +1 -1
  146. package/src/examples/store.vitest.tsx +1 -1
  147. package/src/examples/swift-extension.vitest.tsx +2 -2
  148. package/src/examples/table-edge-cases.vitest.tsx +18 -18
  149. package/src/examples/toast-action.vitest.tsx +2 -2
  150. package/src/examples/toast-variations.vitest.tsx +5 -5
  151. package/src/extensions/dev.tsx +5 -2
  152. package/src/extensions/dev.vitest.tsx +3 -3
  153. package/src/globals.ts +2 -1
  154. package/src/internal/error-handler.tsx +19 -21
  155. package/src/internal/providers.tsx +39 -0
  156. package/src/logger.tsx +48 -41
  157. package/src/platform/browser/cache.ts +327 -0
  158. package/src/platform/browser/localstorage.ts +119 -0
  159. package/src/platform/browser/runtime.ts +209 -0
  160. package/src/platform/bun/sqlite.ts +19 -0
  161. package/src/platform/node/cache.ts +372 -0
  162. package/src/platform/node/localstorage.ts +214 -0
  163. package/src/platform/node/runtime.ts +264 -0
  164. package/src/platform/node/sqlite.ts +43 -0
  165. package/src/state.tsx +17 -28
  166. package/src/utils/file-system.ts +17 -22
  167. package/src/utils.test.tsx +1 -1
  168. package/src/utils.tsx +56 -47
  169. package/src/vim-mode.tsx +153 -0
  170. package/src/apis/sqlite.ts +0 -14
@@ -1,37 +1,29 @@
1
- import fs from 'node:fs';
2
- import path from 'node:path';
3
- import { exec } from 'child_process';
4
- import { promisify } from 'util';
1
+ import { platform, getEnv, fileExists, resolvePath, readClipboard as platformRead, execCommand, execWithInput, } from '#platform/runtime';
5
2
  import { copyToClipboard, pasteContent } from 'termcast/src/action-utils';
6
3
  import { logger } from 'termcast/src/logger';
7
- const execAsync = promisify(exec);
8
- const platform = process.platform;
9
4
  async function copyFileToClipboard(filePath) {
10
- const absolutePath = path.resolve(filePath);
11
- if (process.env.VITEST) {
5
+ const absolutePath = resolvePath(filePath);
6
+ if (getEnv('VITEST')) {
12
7
  logger.log(`📋 [VITEST] Skipping copy file to clipboard: ${filePath}`);
13
8
  return;
14
9
  }
15
- if (!fs.existsSync(absolutePath)) {
10
+ if (!fileExists(absolutePath)) {
16
11
  throw new Error(`File not found: ${absolutePath}`);
17
12
  }
18
13
  try {
19
14
  if (platform === 'darwin') {
20
- // macOS: Use osascript to copy file to clipboard
21
15
  const script = `osascript -e 'set the clipboard to (POSIX file "${absolutePath}")'`;
22
- await execAsync(script);
16
+ await execCommand(script);
23
17
  logger.log(`📋 Copied file to clipboard: ${filePath}`);
24
18
  }
25
19
  else if (platform === 'linux') {
26
- // Linux: Copy file path as text and file URI
27
20
  const fileUri = `file://${absolutePath}`;
28
- await execAsync(`echo '${fileUri}' | xclip -selection clipboard -t text/uri-list`);
21
+ await execWithInput('xclip -selection clipboard -t text/uri-list', fileUri);
29
22
  logger.log(`📋 Copied file to clipboard: ${filePath}`);
30
23
  }
31
24
  else if (platform === 'win32') {
32
- // Windows: Use PowerShell to copy file to clipboard
33
25
  const script = `powershell -command "Set-Clipboard -Path '${absolutePath}'"`;
34
- await execAsync(script);
26
+ await execCommand(script);
35
27
  logger.log(`📋 Copied file to clipboard: ${filePath}`);
36
28
  }
37
29
  else {
@@ -96,25 +88,21 @@ export const Clipboard = {
96
88
  let text = '';
97
89
  let file;
98
90
  if (platform === 'darwin') {
99
- // Try to get file first
100
91
  try {
101
92
  const fileCheckScript = `osascript -e 'try' -e 'get the clipboard as «class furl»' -e 'POSIX path of result' -e 'end try'`;
102
- const { stdout: filePath } = await execAsync(fileCheckScript);
93
+ const filePath = await execCommand(fileCheckScript);
103
94
  if (filePath && filePath.trim()) {
104
95
  file = filePath.trim();
105
96
  }
106
97
  }
107
98
  catch {
108
- // No file in clipboard, try text
99
+ // No file in clipboard
109
100
  }
110
- // Get text content
111
- const { stdout } = await execAsync('pbpaste');
112
- text = stdout;
101
+ text = await platformRead();
113
102
  }
114
103
  else if (platform === 'linux') {
115
- // Check for file URIs
116
104
  try {
117
- const { stdout: fileUri } = await execAsync('xclip -selection clipboard -t text/uri-list -o');
105
+ const fileUri = await execCommand('xclip -selection clipboard -t text/uri-list -o');
118
106
  if (fileUri && fileUri.startsWith('file://')) {
119
107
  file = fileUri.replace('file://', '').trim();
120
108
  }
@@ -122,24 +110,23 @@ export const Clipboard = {
122
110
  catch {
123
111
  // No file in clipboard
124
112
  }
125
- // Get text content
126
113
  try {
127
- const { stdout } = await execAsync('xclip -selection clipboard -o');
128
- text = stdout;
114
+ text = await platformRead();
129
115
  }
130
116
  catch {
131
117
  // No text in clipboard
132
118
  }
133
119
  }
134
120
  else if (platform === 'win32') {
135
- // Windows: Get clipboard content
136
- const { stdout } = await execAsync('powershell -command "Get-Clipboard"');
137
- text = stdout;
138
- // Check if it's a file path
139
- if (text && fs.existsSync(text.trim())) {
121
+ text = await platformRead();
122
+ if (text && fileExists(text.trim())) {
140
123
  file = text.trim();
141
124
  }
142
125
  }
126
+ else {
127
+ // browser or other
128
+ text = await platformRead();
129
+ }
143
130
  return { text, file };
144
131
  }
145
132
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"clipboard.js","sourceRoot":"","sources":["../../src/apis/clipboard.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clipboard.js","sourceRoot":"","sources":["../../src/apis/clipboard.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,MAAM,EACN,UAAU,EACV,WAAW,EAEX,aAAa,IAAI,YAAY,EAC7B,WAAW,EACX,aAAa,GACd,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACzE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAE5C,KAAK,UAAU,mBAAmB,CAAC,QAAgB;IACjD,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAA;IAE1C,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrB,MAAM,CAAC,GAAG,CAAC,gDAAgD,QAAQ,EAAE,CAAC,CAAA;QACtE,OAAM;IACR,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,mBAAmB,YAAY,EAAE,CAAC,CAAA;IACpD,CAAC;IAED,IAAI,CAAC;QACH,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM,MAAM,GAAG,mDAAmD,YAAY,KAAK,CAAA;YACnF,MAAM,WAAW,CAAC,MAAM,CAAC,CAAA;YACzB,MAAM,CAAC,GAAG,CAAC,gCAAgC,QAAQ,EAAE,CAAC,CAAA;QACxD,CAAC;aAAM,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,UAAU,YAAY,EAAE,CAAA;YACxC,MAAM,aAAa,CACjB,6CAA6C,EAC7C,OAAO,CACR,CAAA;YACD,MAAM,CAAC,GAAG,CAAC,gCAAgC,QAAQ,EAAE,CAAC,CAAA;QACxD,CAAC;aAAM,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,6CAA6C,YAAY,IAAI,CAAA;YAC5E,MAAM,WAAW,CAAC,MAAM,CAAC,CAAA;YACzB,MAAM,CAAC,GAAG,CAAC,gCAAgC,QAAQ,EAAE,CAAC,CAAA;QACxD,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,iCAAiC,QAAQ,KAAK,QAAQ,EAAE,CAAC,CAAA;QACtE,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,GAAG,CAAC,wCAAwC,KAAK,EAAE,CAAC,CAAA;QAC3D,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC;AAaD,MAAM,CAAC,MAAM,SAAS,GAAkB;IACtC,KAAK,CAAC,IAAI,CACR,OAA4C,EAC5C,OAA+B;QAE/B,IAAI,WAAmB,CAAA;QAEvB,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC/D,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;QAC/B,CAAC;aAAM,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,WAAW,GAAG,OAAO,CAAC,IAAI,IAAI,EAAE,CAAA;QAClC,CAAC;aAAM,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;YAC/C,OAAM;QACR,CAAC;aAAM,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,WAAW,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAA;QAC5C,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;QACnD,CAAC;QAED,MAAM,eAAe,CAAC,WAAW,EAAE,OAAO,EAAE,SAAS,CAAC,CAAA;IACxD,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,eAAe,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;QAChC,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;IACpC,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,OAA4C;QACtD,IAAI,WAAmB,CAAA;QAEvB,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC/D,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;QAC/B,CAAC;aAAM,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,WAAW,GAAG,OAAO,CAAC,IAAI,IAAI,EAAE,CAAA;QAClC,CAAC;aAAM,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,CAAC,GAAG,CAAC,sCAAsC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;YAChE,OAAM;QACR,CAAC;aAAM,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,WAAW,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAA;QAC5C,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;QACnD,CAAC;QAED,MAAM,YAAY,CAAC,WAAW,CAAC,CAAA;IACjC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAA6B;QACtC,IAAI,OAAO,EAAE,MAAM,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,MAAM,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAA;QACxD,CAAC;QAED,IAAI,CAAC;YACH,IAAI,IAAI,GAAG,EAAE,CAAA;YACb,IAAI,IAAwB,CAAA;YAE5B,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC1B,IAAI,CAAC;oBACH,MAAM,eAAe,GAAG,kGAAkG,CAAA;oBAC1H,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,eAAe,CAAC,CAAA;oBACnD,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;wBAChC,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAA;oBACxB,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,uBAAuB;gBACzB,CAAC;gBAED,IAAI,GAAG,MAAM,YAAY,EAAE,CAAA;YAC7B,CAAC;iBAAM,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;gBAChC,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,MAAM,WAAW,CAC/B,gDAAgD,CACjD,CAAA;oBACD,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;wBAC7C,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;oBAC9C,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,uBAAuB;gBACzB,CAAC;gBAED,IAAI,CAAC;oBACH,IAAI,GAAG,MAAM,YAAY,EAAE,CAAA;gBAC7B,CAAC;gBAAC,MAAM,CAAC;oBACP,uBAAuB;gBACzB,CAAC;YACH,CAAC;iBAAM,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;gBAChC,IAAI,GAAG,MAAM,YAAY,EAAE,CAAA;gBAC3B,IAAI,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;oBACpC,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;gBACpB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,mBAAmB;gBACnB,IAAI,GAAG,MAAM,YAAY,EAAE,CAAA;YAC7B,CAAC;YAED,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,GAAG,CAAC,gCAAgC,KAAK,EAAE,CAAC,CAAA;YACnD,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAA;QACrB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAA6B;QAC1C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACxC,OAAO,OAAO,CAAC,IAAI,IAAI,SAAS,CAAA;IAClC,CAAC;CACF,CAAA;AA0BD,MAAM,CAAC,MAAM,mBAAmB,GAAG,SAAS,CAAC,IAAI,CAAA;AACjD,MAAM,CAAC,MAAM,cAAc,GAAG,SAAS,CAAC,KAAK,CAAA;AAC7C,MAAM,CAAC,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../src/apis/environment.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAQH,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,GAAG,OAAO,CAAA;IAC5B,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAAA;IAC5C,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,OAAO,CAAA;IACtB,UAAU,EAAE,UAAU,CAAA;IACtB,iBAAiB,EAAE,MAAM,CAAA;IACzB,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAA;IAC5B,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAA;IAC5B,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;CACxB;AAED,oBAAY,UAAU;IACpB,aAAa,kBAAkB;IAC/B,UAAU,eAAe;CAC1B;AAED,MAAM,WAAW,WAAW,CAC1B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAEnD,SAAS,EAAE,CAAC,CAAA;IACZ,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAA;CACvC;AAED,cAAM,eAAgB,YAAW,WAAW;;IAM1C,IAAI,UAAU,IAAI,MAAM,GAAG,OAAO,CAcjC;IAED,IAAI,UAAU,IAAI,MAAM,CAOvB;IAED,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,GAAG,UAAU,CAWjD;IAED,IAAI,WAAW,IAAI,MAAM,CAMxB;IAED,IAAI,aAAa,IAAI,MAAM,CAS1B;IAED,IAAI,aAAa,IAAI,OAAO,CAI3B;IAED,IAAI,UAAU,IAAI,UAAU,CAG3B;IAED,IAAI,iBAAiB,IAAI,MAAM,CAU9B;IAED,IAAI,cAAc,IAAI,MAAM,CAG3B;IAED,IAAI,WAAW,IAAI,MAAM,CAexB;IAED,IAAI,QAAQ,IAAI,QAAQ,GAAG,OAAO,CAGjC;IAGD,IAAI,KAAK,IAAI,MAAM,GAAG,OAAO,CAE5B;IAED,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO;CAK7B;AAED,eAAO,MAAM,WAAW,iBAAwB,CAAA;AAIhD,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CA6BhE;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAC9B;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAyDzE;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,CA4BvD"}
1
+ {"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../src/apis/environment.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAeH,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,GAAG,OAAO,CAAA;IAC5B,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAAA;IAC5C,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,OAAO,CAAA;IACtB,UAAU,EAAE,UAAU,CAAA;IACtB,iBAAiB,EAAE,MAAM,CAAA;IACzB,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAA;IAC5B,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAA;IAC5B,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;CACxB;AAED,oBAAY,UAAU;IACpB,aAAa,kBAAkB;IAC/B,UAAU,eAAe;CAC1B;AAED,MAAM,WAAW,WAAW,CAC1B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAEnD,SAAS,EAAE,CAAC,CAAA;IACZ,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAA;CACvC;AAED,cAAM,eAAgB,YAAW,WAAW;;IAM1C,IAAI,UAAU,IAAI,MAAM,GAAG,OAAO,CAEjC;IAED,IAAI,UAAU,IAAI,MAAM,CAOvB;IAED,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,GAAG,UAAU,CAWjD;IAED,IAAI,WAAW,IAAI,MAAM,CAMxB;IAED,IAAI,aAAa,IAAI,MAAM,CAS1B;IAED,IAAI,aAAa,IAAI,OAAO,CAI3B;IAED,IAAI,UAAU,IAAI,UAAU,CAG3B;IAED,IAAI,iBAAiB,IAAI,MAAM,CAU9B;IAED,IAAI,cAAc,IAAI,MAAM,CAG3B;IAED,IAAI,WAAW,IAAI,MAAM,CAYxB;IAED,IAAI,QAAQ,IAAI,QAAQ,GAAG,OAAO,CAGjC;IAGD,IAAI,KAAK,IAAI,MAAM,GAAG,OAAO,CAE5B;IAED,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO;CAK7B;AAED,eAAO,MAAM,WAAW,iBAAwB,CAAA;AAIhD,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAqBhE;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAC9B;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAyDzE;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,CAiBvD"}
@@ -14,10 +14,7 @@
14
14
  * - Support and assets paths for file storage
15
15
  * - System integration (selected Finder items, selected text)
16
16
  */
17
- import os from 'node:os';
18
- import path from 'node:path';
19
- import fs from 'node:fs';
20
- import { execSync } from 'node:child_process';
17
+ import { homedir, joinPath, basename, platform, getEnv, ensureDir, fileExists, execCommand, getSystemAppearance, } from '#platform/runtime';
21
18
  import { useStore } from '../state';
22
19
  export var LaunchType;
23
20
  (function (LaunchType) {
@@ -30,25 +27,15 @@ class EnvironmentImpl {
30
27
  this.canAccess = this.canAccess.bind(this);
31
28
  }
32
29
  get appearance() {
33
- // Try to detect system theme on macOS
34
- if (process.platform === 'darwin') {
35
- try {
36
- const result = execSync('defaults read -g AppleInterfaceStyle 2>/dev/null', { encoding: 'utf8' });
37
- return result.includes('Dark') ? 'dark' : 'light';
38
- }
39
- catch {
40
- return 'light';
41
- }
42
- }
43
- return 'light';
30
+ return getSystemAppearance();
44
31
  }
45
32
  get assetsPath() {
46
33
  const state = useStore.getState();
47
34
  if (state.extensionPath) {
48
- return path.join(state.extensionPath, 'assets');
35
+ return joinPath(state.extensionPath, 'assets');
49
36
  }
50
37
  // TODO: Fallback for non-dev mode extensions
51
- return path.join(os.homedir(), '.termcast', 'assets');
38
+ return joinPath(homedir(), '.termcast', 'assets');
52
39
  }
53
40
  get commandMode() {
54
41
  const state = useStore.getState();
@@ -73,7 +60,7 @@ class EnvironmentImpl {
73
60
  return state.extensionPackageJson.name;
74
61
  }
75
62
  if (state.extensionPath) {
76
- return path.basename(state.extensionPath);
63
+ return basename(state.extensionPath);
77
64
  }
78
65
  return '';
79
66
  }
@@ -103,11 +90,8 @@ class EnvironmentImpl {
103
90
  }
104
91
  get supportPath() {
105
92
  // Create a support directory in the user's data directory
106
- const baseDir = path.join(os.homedir(), '.termcast', 'support', this.extensionName);
107
- // Ensure the directory exists
108
- if (!fs.existsSync(baseDir)) {
109
- fs.mkdirSync(baseDir, { recursive: true });
110
- }
93
+ const baseDir = joinPath(homedir(), '.termcast', 'support', this.extensionName);
94
+ ensureDir(baseDir);
111
95
  return baseDir;
112
96
  }
113
97
  get textSize() {
@@ -128,17 +112,12 @@ export const environment = new EnvironmentImpl();
128
112
  // Whether the TUI is running inside a standalone desktop app built with `termcast app build`.
129
113
  // In app mode, ESC at root level does not exit the process.
130
114
  export function isAppMode() {
131
- return process.env.TERMCAST_APP_MODE === '1';
115
+ return getEnv('TERMCAST_APP_MODE') === '1';
132
116
  }
133
117
  export async function getSelectedFinderItems() {
134
118
  // TODO: Improve cross-platform support
135
- // Currently only works on macOS using AppleScript
136
- // Should add support for:
137
- // 1. Windows Explorer selection (via PowerShell or COM)
138
- // 2. Linux file managers (Nautilus, Dolphin, etc.)
139
- if (process.platform === 'darwin') {
119
+ if (platform === 'darwin') {
140
120
  try {
141
- // Use AppleScript to get selected Finder items
142
121
  const script = `
143
122
  tell application "Finder"
144
123
  set theSelection to selection
@@ -149,16 +128,13 @@ export async function getSelectedFinderItems() {
149
128
  return thePaths
150
129
  end tell
151
130
  `;
152
- const result = execSync(`osascript -e '${script}'`, {
153
- encoding: 'utf8',
154
- });
131
+ const result = await execCommand(`osascript -e '${script}'`);
155
132
  return result.trim().split(', ').filter(Boolean);
156
133
  }
157
134
  catch {
158
135
  return [];
159
136
  }
160
137
  }
161
- // TODO: Implement for other platforms
162
138
  return [];
163
139
  }
164
140
  export async function launchCommand(options) {
@@ -176,8 +152,8 @@ export async function launchCommand(options) {
176
152
  if (!commandDef) {
177
153
  throw new Error(`Command '${options.name}' not found in extension`);
178
154
  }
179
- const bundledPath = path.join(extensionPath, '.termcast-bundle', `${options.name}.js`);
180
- if (!fs.existsSync(bundledPath)) {
155
+ const bundledPath = joinPath(extensionPath, '.termcast-bundle', `${options.name}.js`);
156
+ if (!fileExists(bundledPath)) {
181
157
  throw new Error(`Command '${options.name}' has not been built`);
182
158
  }
183
159
  const importPath = devRebuildCount
@@ -205,16 +181,8 @@ export async function launchCommand(options) {
205
181
  });
206
182
  }
207
183
  export async function getSelectedText() {
208
- // TODO: Improve implementation and cross-platform support
209
- // Current implementation has issues:
210
- // 1. Modifies the clipboard (should preserve original content)
211
- // 2. Uses delay which may not be reliable
212
- // 3. Only works on macOS
213
- // Should add support for Windows and Linux
214
- if (process.platform === 'darwin') {
184
+ if (platform === 'darwin') {
215
185
  try {
216
- // TODO: Save and restore clipboard contents to avoid side effects
217
- // Use AppleScript to get selected text from frontmost application
218
186
  const script = `
219
187
  tell application "System Events"
220
188
  keystroke "c" using command down
@@ -222,16 +190,13 @@ export async function getSelectedText() {
222
190
  return (the clipboard)
223
191
  end tell
224
192
  `;
225
- const result = execSync(`osascript -e '${script}'`, {
226
- encoding: 'utf8',
227
- });
193
+ const result = await execCommand(`osascript -e '${script}'`);
228
194
  return result.trim();
229
195
  }
230
196
  catch {
231
197
  return '';
232
198
  }
233
199
  }
234
- // TODO: Implement for Windows (via PowerShell) and Linux (xclip/xsel)
235
200
  return '';
236
201
  }
237
202
  //# sourceMappingURL=environment.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"environment.js","sourceRoot":"","sources":["../../src/apis/environment.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"environment.js","sourceRoot":"","sources":["../../src/apis/environment.tsx"],"names":[],"mappings":"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"}
@@ -1,13 +1,8 @@
1
- export declare namespace LocalStorage {
2
- type Value = string | number | boolean;
3
- interface Values {
4
- [key: string]: any;
5
- }
6
- function getItem<T extends Value = Value>(key: string): Promise<T | undefined>;
7
- function getItemSync<T extends Value = Value>(key: string): T | undefined;
8
- function setItem(key: string, value: Value): Promise<void>;
9
- function removeItem(key: string): Promise<void>;
10
- function allItems<T extends Values = Values>(): Promise<T>;
11
- function clear(): Promise<void>;
12
- }
1
+ /**
2
+ * LocalStorage API platform-agnostic facade.
3
+ *
4
+ * Re-exports the platform-specific LocalStorage from #platform/localstorage
5
+ * (SQLite on Node/Bun, window.localStorage on browser).
6
+ */
7
+ export { LocalStorage } from '#platform/localstorage';
13
8
  //# sourceMappingURL=localstorage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"localstorage.d.ts","sourceRoot":"","sources":["../../src/apis/localstorage.tsx"],"names":[],"mappings":"AA4DA,yBAAiB,YAAY,CAAC;IAC5B,KAAY,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;IAE7C,UAAiB,MAAM;QACrB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KACnB;IAED,SAAsB,OAAO,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,EACnD,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CA+BxB;IAED,SAAgB,WAAW,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,EACjD,GAAG,EAAE,MAAM,GACV,CAAC,GAAG,SAAS,CA4Bf;IAED,SAAsB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBtE;IAED,SAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAW3D;IAED,SAAsB,QAAQ,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CAkCtE;IAED,SAAsB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAW3C;CACF"}
1
+ {"version":3,"file":"localstorage.d.ts","sourceRoot":"","sources":["../../src/apis/localstorage.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA"}
@@ -1,185 +1,8 @@
1
- import { Database } from './sqlite';
2
- import * as path from 'path';
3
- import * as fs from 'fs';
4
- import { logger } from '../logger';
5
- import { useStore } from '../state';
6
- let db = null;
7
- let currentDbPath = null;
8
- function getCurrentDatabasePath() {
9
- const { extensionPath } = useStore.getState();
10
- if (!extensionPath) {
11
- throw new Error('Cannot access LocalStorage - extensionPath not set');
12
- }
13
- return path.join(extensionPath, '.termcast-bundle', 'data.db');
14
- }
15
- function getDatabase() {
16
- const dbPath = getCurrentDatabasePath();
17
- // Check if we need to reconnect due to path change
18
- if (db && currentDbPath !== dbPath) {
19
- db.close();
20
- db = null;
21
- currentDbPath = null;
22
- }
23
- if (!db) {
24
- // Ensure parent directory exists
25
- const dbDir = path.dirname(dbPath);
26
- if (!fs.existsSync(dbDir)) {
27
- fs.mkdirSync(dbDir, { recursive: true });
28
- }
29
- db = new Database(dbPath, {
30
- create: true,
31
- readwrite: true,
32
- });
33
- currentDbPath = dbPath;
34
- // Use WAL mode and optimize for single file usage
35
- db.exec('PRAGMA journal_mode = WAL');
36
- db.exec('PRAGMA wal_autocheckpoint = 1000');
37
- db.exec('PRAGMA synchronous = NORMAL');
38
- db.exec(`
39
- CREATE TABLE IF NOT EXISTS localstorage (
40
- key TEXT PRIMARY KEY,
41
- value TEXT NOT NULL,
42
- type TEXT NOT NULL
43
- )
44
- `);
45
- }
46
- return db;
47
- }
48
- export var LocalStorage;
49
- (function (LocalStorage) {
50
- async function getItem(key) {
51
- return new Promise((resolve) => {
52
- try {
53
- const db = getDatabase();
54
- const row = db
55
- .prepare('SELECT value, type FROM localstorage WHERE key = ?')
56
- .get(key);
57
- if (!row) {
58
- resolve(undefined);
59
- return;
60
- }
61
- let value;
62
- switch (row.type) {
63
- case 'number':
64
- value = parseFloat(row.value);
65
- break;
66
- case 'boolean':
67
- value = row.value === 'true';
68
- break;
69
- default:
70
- value = row.value;
71
- }
72
- resolve(value);
73
- }
74
- catch (err) {
75
- logger.error('LocalStorage.getItem error:', err);
76
- resolve(undefined);
77
- }
78
- });
79
- }
80
- LocalStorage.getItem = getItem;
81
- function getItemSync(key) {
82
- try {
83
- const db = getDatabase();
84
- const row = db
85
- .prepare('SELECT value, type FROM localstorage WHERE key = ?')
86
- .get(key);
87
- if (!row) {
88
- return undefined;
89
- }
90
- let value;
91
- switch (row.type) {
92
- case 'number':
93
- value = parseFloat(row.value);
94
- break;
95
- case 'boolean':
96
- value = row.value === 'true';
97
- break;
98
- default:
99
- value = row.value;
100
- }
101
- return value;
102
- }
103
- catch (err) {
104
- logger.error('LocalStorage.getItemSync error:', err);
105
- return undefined;
106
- }
107
- }
108
- LocalStorage.getItemSync = getItemSync;
109
- async function setItem(key, value) {
110
- return new Promise((resolve, reject) => {
111
- try {
112
- const db = getDatabase();
113
- const type = typeof value;
114
- const stringValue = String(value);
115
- db.prepare('INSERT OR REPLACE INTO localstorage (key, value, type) VALUES (?, ?, ?)').run(key, stringValue, type);
116
- resolve();
117
- }
118
- catch (err) {
119
- logger.error('LocalStorage.setItem error:', err);
120
- reject(err);
121
- }
122
- });
123
- }
124
- LocalStorage.setItem = setItem;
125
- async function removeItem(key) {
126
- return new Promise((resolve, reject) => {
127
- try {
128
- const db = getDatabase();
129
- db.prepare('DELETE FROM localstorage WHERE key = ?').run(key);
130
- resolve();
131
- }
132
- catch (err) {
133
- logger.error('LocalStorage.removeItem error:', err);
134
- reject(err);
135
- }
136
- });
137
- }
138
- LocalStorage.removeItem = removeItem;
139
- async function allItems() {
140
- return new Promise((resolve, reject) => {
141
- try {
142
- const db = getDatabase();
143
- const rows = db
144
- .prepare('SELECT key, value, type FROM localstorage')
145
- .all();
146
- const result = {};
147
- for (const row of rows) {
148
- let value;
149
- switch (row.type) {
150
- case 'number':
151
- value = parseFloat(row.value);
152
- break;
153
- case 'boolean':
154
- value = row.value === 'true';
155
- break;
156
- default:
157
- value = row.value;
158
- }
159
- result[row.key] = value;
160
- }
161
- resolve(result);
162
- }
163
- catch (err) {
164
- logger.error('LocalStorage.allItems error:', err);
165
- reject(err);
166
- }
167
- });
168
- }
169
- LocalStorage.allItems = allItems;
170
- async function clear() {
171
- return new Promise((resolve, reject) => {
172
- try {
173
- const db = getDatabase();
174
- db.exec('DELETE FROM localstorage');
175
- resolve();
176
- }
177
- catch (err) {
178
- logger.error('LocalStorage.clear error:', err);
179
- reject(err);
180
- }
181
- });
182
- }
183
- LocalStorage.clear = clear;
184
- })(LocalStorage || (LocalStorage = {}));
1
+ /**
2
+ * LocalStorage API platform-agnostic facade.
3
+ *
4
+ * Re-exports the platform-specific LocalStorage from #platform/localstorage
5
+ * (SQLite on Node/Bun, window.localStorage on browser).
6
+ */
7
+ export { LocalStorage } from '#platform/localstorage';
185
8
  //# sourceMappingURL=localstorage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"localstorage.js","sourceRoot":"","sources":["../../src/apis/localstorage.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"localstorage.js","sourceRoot":"","sources":["../../src/apis/localstorage.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA"}
package/dist/app.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.tsx"],"names":[],"mappings":"AAYA,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,WAAW,CAAA;AAw9BhE,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,MAAM,CAAA;IACrB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,aAAa,CAAC,IAAI,CAAC,CAAA;IAC9B,sEAAsE;IACtE,IAAI,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC5B,sFAAsF;IACtF,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,6FAA6F;IAC7F,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mGAAmG;IACnG,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,+FAA+F;IAC/F,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAiJD,wBAAsB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAgBhF"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.tsx"],"names":[],"mappings":"AAYA,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,WAAW,CAAA;AAm9BhE,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,MAAM,CAAA;IACrB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,aAAa,CAAC,IAAI,CAAC,CAAA;IAC9B,sEAAsE;IACtE,IAAI,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC5B,sFAAsF;IACtF,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,6FAA6F;IAC7F,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mGAAmG;IACnG,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,+FAA+F;IAC/F,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAuJD,wBAAsB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAgBhF"}