@davidsouther/jiffies 2.2.5 → 2026.4.0

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 (427) hide show
  1. package/LICENSE +1 -1
  2. package/package.json +22 -25
  3. package/src/assert.ts +5 -5
  4. package/src/components/button_bar.ts +28 -30
  5. package/src/components/inline_edit.ts +8 -7
  6. package/src/components/logger.ts +6 -6
  7. package/src/components/select.ts +7 -7
  8. package/src/components/test.ts +5 -0
  9. package/src/components/virtual_scroll.test.ts +9 -6
  10. package/src/components/virtual_scroll.ts +29 -24
  11. package/src/context.test.ts +4 -4
  12. package/src/context.ts +16 -11
  13. package/src/debounce.ts +9 -3
  14. package/src/diff.test.ts +4 -4
  15. package/src/diff.ts +14 -16
  16. package/src/dom/css/border.ts +11 -11
  17. package/src/dom/css/core.ts +1 -1
  18. package/src/dom/css/fstyle.ts +4 -4
  19. package/src/dom/css/sizing.ts +1 -1
  20. package/src/dom/dom.ts +59 -47
  21. package/src/dom/fc.test.ts +8 -8
  22. package/src/dom/fc.ts +32 -35
  23. package/src/dom/form/form.app.ts +9 -9
  24. package/src/dom/form/form.ts +21 -15
  25. package/src/dom/form/index.html +3 -2
  26. package/src/dom/html.test.ts +12 -10
  27. package/src/dom/html.ts +2 -3
  28. package/src/dom/index.ts +2 -0
  29. package/src/dom/observable.test.ts +6 -6
  30. package/src/dom/observable.ts +2 -2
  31. package/src/dom/provide.ts +1 -1
  32. package/src/dom/router/link.ts +3 -3
  33. package/src/dom/router/router.ts +5 -5
  34. package/src/dom/svg.ts +7 -6
  35. package/src/dom/test.ts +3 -0
  36. package/src/dom/types/css.ts +43 -61
  37. package/src/dom/types/html.ts +2 -4
  38. package/src/dom/xml.ts +2 -2
  39. package/src/equal.test.ts +3 -3
  40. package/src/equal.ts +27 -14
  41. package/src/flags.test.ts +2 -2
  42. package/src/flags.ts +2 -2
  43. package/src/fs.test.ts +5 -5
  44. package/src/fs.ts +26 -20
  45. package/src/fs_node.ts +4 -4
  46. package/src/fs_win.test.ts +1 -1
  47. package/src/generator.test.ts +4 -3
  48. package/src/generator.ts +1 -1
  49. package/src/hooks/_notes +4 -1
  50. package/src/index.html +7 -7
  51. package/src/lock.test.ts +4 -4
  52. package/src/lock.ts +8 -7
  53. package/src/log.ts +17 -18
  54. package/src/observable/event.ts +7 -7
  55. package/src/observable/observable.test.ts +3 -3
  56. package/src/observable/observable.ts +73 -52
  57. package/src/result.test.ts +7 -10
  58. package/src/result.ts +51 -47
  59. package/src/safe.ts +1 -1
  60. package/src/scope/describe.ts +12 -11
  61. package/src/scope/display/console.ts +4 -4
  62. package/src/scope/display/dom.ts +9 -9
  63. package/src/scope/display/junit.ts +21 -24
  64. package/src/scope/execute.ts +17 -12
  65. package/src/scope/expect.ts +22 -22
  66. package/src/scope/fix.ts +8 -7
  67. package/src/scope/index.ts +3 -3
  68. package/src/scope/scope.ts +2 -2
  69. package/src/scope/state.ts +2 -2
  70. package/src/server/http/apps.ts +5 -5
  71. package/src/server/http/css.ts +10 -26
  72. package/src/server/http/index.ts +30 -24
  73. package/src/server/http/response.ts +12 -5
  74. package/src/server/http/sitemap.ts +8 -8
  75. package/src/server/http/static.ts +9 -6
  76. package/src/server/http/typescript.ts +25 -25
  77. package/src/server/main.ts +7 -4
  78. package/src/test.mjs +8 -8
  79. package/src/test_all.ts +16 -13
  80. package/src/transpile.mjs +5 -18
  81. package/tsconfig.json +34 -0
  82. package/build/pico.css +0 -2466
  83. package/build/pico.css.map +0 -1
  84. package/lib/cjs/assert.d.ts +0 -26
  85. package/lib/cjs/assert.js +0 -46
  86. package/lib/cjs/awaitable.d.ts +0 -1
  87. package/lib/cjs/awaitable.js +0 -2
  88. package/lib/cjs/case.d.ts +0 -1
  89. package/lib/cjs/case.js +0 -9
  90. package/lib/cjs/components/button_bar.d.ts +0 -8
  91. package/lib/cjs/components/button_bar.js +0 -29
  92. package/lib/cjs/components/inline_edit.d.ts +0 -12
  93. package/lib/cjs/components/inline_edit.js +0 -51
  94. package/lib/cjs/components/logger.d.ts +0 -6
  95. package/lib/cjs/components/logger.js +0 -27
  96. package/lib/cjs/components/select.d.ts +0 -13
  97. package/lib/cjs/components/select.js +0 -6
  98. package/lib/cjs/components/test.d.ts +0 -1
  99. package/lib/cjs/components/test.js +0 -7
  100. package/lib/cjs/components/virtual_scroll.d.ts +0 -40
  101. package/lib/cjs/components/virtual_scroll.js +0 -102
  102. package/lib/cjs/components/virtual_scroll.test.d.ts +0 -1
  103. package/lib/cjs/components/virtual_scroll.test.js +0 -22
  104. package/lib/cjs/context.d.ts +0 -15
  105. package/lib/cjs/context.js +0 -48
  106. package/lib/cjs/context.test.d.ts +0 -1
  107. package/lib/cjs/context.test.js +0 -48
  108. package/lib/cjs/debounce.d.ts +0 -1
  109. package/lib/cjs/debounce.js +0 -12
  110. package/lib/cjs/diff.d.ts +0 -15
  111. package/lib/cjs/diff.js +0 -58
  112. package/lib/cjs/diff.test.d.ts +0 -1
  113. package/lib/cjs/diff.test.js +0 -41
  114. package/lib/cjs/display.d.ts +0 -5
  115. package/lib/cjs/display.js +0 -16
  116. package/lib/cjs/dom/css/border.d.ts +0 -11
  117. package/lib/cjs/dom/css/border.js +0 -33
  118. package/lib/cjs/dom/css/constants.d.ts +0 -31
  119. package/lib/cjs/dom/css/constants.js +0 -31
  120. package/lib/cjs/dom/css/core.d.ts +0 -5
  121. package/lib/cjs/dom/css/core.js +0 -31
  122. package/lib/cjs/dom/css/fstyle.d.ts +0 -5
  123. package/lib/cjs/dom/css/fstyle.js +0 -36
  124. package/lib/cjs/dom/css/sizing.d.ts +0 -5
  125. package/lib/cjs/dom/css/sizing.js +0 -14
  126. package/lib/cjs/dom/dom.d.ts +0 -27
  127. package/lib/cjs/dom/dom.js +0 -110
  128. package/lib/cjs/dom/fc.d.ts +0 -14
  129. package/lib/cjs/dom/fc.js +0 -39
  130. package/lib/cjs/dom/fc.test.d.ts +0 -1
  131. package/lib/cjs/dom/fc.test.js +0 -23
  132. package/lib/cjs/dom/form/form.app.d.ts +0 -1
  133. package/lib/cjs/dom/form/form.app.js +0 -27
  134. package/lib/cjs/dom/form/form.d.ts +0 -26
  135. package/lib/cjs/dom/form/form.js +0 -49
  136. package/lib/cjs/dom/form/form.test.d.ts +0 -0
  137. package/lib/cjs/dom/form/form.test.js +0 -1
  138. package/lib/cjs/dom/html.d.ts +0 -113
  139. package/lib/cjs/dom/html.js +0 -119
  140. package/lib/cjs/dom/html.test.d.ts +0 -1
  141. package/lib/cjs/dom/html.test.js +0 -60
  142. package/lib/cjs/dom/observable.d.ts +0 -2
  143. package/lib/cjs/dom/observable.js +0 -10
  144. package/lib/cjs/dom/observable.test.d.ts +0 -1
  145. package/lib/cjs/dom/observable.test.js +0 -35
  146. package/lib/cjs/dom/provide.d.ts +0 -3
  147. package/lib/cjs/dom/provide.js +0 -12
  148. package/lib/cjs/dom/router/link.d.ts +0 -6
  149. package/lib/cjs/dom/router/link.js +0 -7
  150. package/lib/cjs/dom/router/router.d.ts +0 -13
  151. package/lib/cjs/dom/router/router.js +0 -55
  152. package/lib/cjs/dom/svg.d.ts +0 -64
  153. package/lib/cjs/dom/svg.js +0 -69
  154. package/lib/cjs/dom/test.d.ts +0 -1
  155. package/lib/cjs/dom/test.js +0 -13
  156. package/lib/cjs/dom/types/css.d.ts +0 -6612
  157. package/lib/cjs/dom/types/css.js +0 -24
  158. package/lib/cjs/dom/types/dom.d.ts +0 -0
  159. package/lib/cjs/dom/types/dom.js +0 -1
  160. package/lib/cjs/dom/types/html.d.ts +0 -616
  161. package/lib/cjs/dom/types/html.js +0 -2
  162. package/lib/cjs/dom/xml.d.ts +0 -1
  163. package/lib/cjs/dom/xml.js +0 -8
  164. package/lib/cjs/equal.d.ts +0 -8
  165. package/lib/cjs/equal.js +0 -48
  166. package/lib/cjs/equal.test.d.ts +0 -1
  167. package/lib/cjs/equal.test.js +0 -22
  168. package/lib/cjs/flags.d.ts +0 -7
  169. package/lib/cjs/flags.js +0 -52
  170. package/lib/cjs/flags.test.d.ts +0 -1
  171. package/lib/cjs/flags.test.js +0 -37
  172. package/lib/cjs/fs.d.ts +0 -72
  173. package/lib/cjs/fs.js +0 -235
  174. package/lib/cjs/fs.test.d.ts +0 -1
  175. package/lib/cjs/fs.test.js +0 -86
  176. package/lib/cjs/fs_node.d.ts +0 -15
  177. package/lib/cjs/fs_node.js +0 -50
  178. package/lib/cjs/fs_win.test.d.ts +0 -1
  179. package/lib/cjs/fs_win.test.js +0 -10
  180. package/lib/cjs/generator.d.ts +0 -1
  181. package/lib/cjs/generator.js +0 -14
  182. package/lib/cjs/generator.test.d.ts +0 -1
  183. package/lib/cjs/generator.test.js +0 -26
  184. package/lib/cjs/is_browser.d.ts +0 -1
  185. package/lib/cjs/is_browser.js +0 -4
  186. package/lib/cjs/loader-register.d.mts +0 -1
  187. package/lib/cjs/loader-register.d.ts +0 -1
  188. package/lib/cjs/loader-register.js +0 -4
  189. package/lib/cjs/loader-register.mjs +0 -4
  190. package/lib/cjs/loader.d.mts +0 -23
  191. package/lib/cjs/loader.mjs +0 -41
  192. package/lib/cjs/lock.d.ts +0 -1
  193. package/lib/cjs/lock.js +0 -27
  194. package/lib/cjs/lock.test.d.ts +0 -1
  195. package/lib/cjs/lock.test.js +0 -18
  196. package/lib/cjs/log.d.ts +0 -56
  197. package/lib/cjs/log.js +0 -103
  198. package/lib/cjs/observable/event.d.ts +0 -35
  199. package/lib/cjs/observable/event.js +0 -61
  200. package/lib/cjs/observable/observable.d.ts +0 -132
  201. package/lib/cjs/observable/observable.js +0 -363
  202. package/lib/cjs/observable/observable.test.d.ts +0 -1
  203. package/lib/cjs/observable/observable.test.js +0 -65
  204. package/lib/cjs/package.json +0 -1
  205. package/lib/cjs/range.d.ts +0 -1
  206. package/lib/cjs/range.js +0 -11
  207. package/lib/cjs/result.d.ts +0 -31
  208. package/lib/cjs/result.js +0 -80
  209. package/lib/cjs/result.test.d.ts +0 -1
  210. package/lib/cjs/result.test.js +0 -78
  211. package/lib/cjs/safe.d.ts +0 -1
  212. package/lib/cjs/safe.js +0 -14
  213. package/lib/cjs/scope/describe.d.ts +0 -18
  214. package/lib/cjs/scope/describe.js +0 -73
  215. package/lib/cjs/scope/display/console.d.ts +0 -2
  216. package/lib/cjs/scope/display/console.js +0 -25
  217. package/lib/cjs/scope/display/dom.d.ts +0 -3
  218. package/lib/cjs/scope/display/dom.js +0 -30
  219. package/lib/cjs/scope/display/junit.d.ts +0 -2
  220. package/lib/cjs/scope/display/junit.js +0 -21
  221. package/lib/cjs/scope/execute.d.ts +0 -12
  222. package/lib/cjs/scope/execute.js +0 -91
  223. package/lib/cjs/scope/expect.d.ts +0 -23
  224. package/lib/cjs/scope/expect.js +0 -110
  225. package/lib/cjs/scope/fix.d.ts +0 -4
  226. package/lib/cjs/scope/fix.js +0 -26
  227. package/lib/cjs/scope/index.d.ts +0 -3
  228. package/lib/cjs/scope/index.js +0 -15
  229. package/lib/cjs/scope/scope.d.ts +0 -17
  230. package/lib/cjs/scope/scope.js +0 -2
  231. package/lib/cjs/scope/state.d.ts +0 -2
  232. package/lib/cjs/scope/state.js +0 -12
  233. package/lib/cjs/server/http/apps.d.ts +0 -5
  234. package/lib/cjs/server/http/apps.js +0 -27
  235. package/lib/cjs/server/http/css.d.ts +0 -5
  236. package/lib/cjs/server/http/css.js +0 -54
  237. package/lib/cjs/server/http/index.d.ts +0 -21
  238. package/lib/cjs/server/http/index.js +0 -77
  239. package/lib/cjs/server/http/response.d.ts +0 -4
  240. package/lib/cjs/server/http/response.js +0 -45
  241. package/lib/cjs/server/http/sitemap.d.ts +0 -2
  242. package/lib/cjs/server/http/sitemap.js +0 -46
  243. package/lib/cjs/server/http/static.d.ts +0 -2
  244. package/lib/cjs/server/http/static.js +0 -25
  245. package/lib/cjs/server/http/typescript.d.ts +0 -5
  246. package/lib/cjs/server/http/typescript.js +0 -44
  247. package/lib/cjs/server/main.d.ts +0 -2
  248. package/lib/cjs/server/main.js +0 -14
  249. package/lib/cjs/test.d.mts +0 -2
  250. package/lib/cjs/test.mjs +0 -28
  251. package/lib/cjs/test_all.d.ts +0 -9
  252. package/lib/cjs/test_all.js +0 -30
  253. package/lib/cjs/transpile.d.mts +0 -3
  254. package/lib/cjs/transpile.mjs +0 -22
  255. package/lib/cjs/tsconfig.tsbuildinfo +0 -1
  256. package/lib/esm/assert.d.ts +0 -26
  257. package/lib/esm/assert.js +0 -38
  258. package/lib/esm/awaitable.d.ts +0 -1
  259. package/lib/esm/awaitable.js +0 -1
  260. package/lib/esm/case.d.ts +0 -1
  261. package/lib/esm/case.js +0 -5
  262. package/lib/esm/components/button_bar.d.ts +0 -8
  263. package/lib/esm/components/button_bar.js +0 -27
  264. package/lib/esm/components/inline_edit.d.ts +0 -12
  265. package/lib/esm/components/inline_edit.js +0 -48
  266. package/lib/esm/components/logger.d.ts +0 -6
  267. package/lib/esm/components/logger.js +0 -22
  268. package/lib/esm/components/select.d.ts +0 -10
  269. package/lib/esm/components/select.js +0 -3
  270. package/lib/esm/components/test.d.ts +0 -1
  271. package/lib/esm/components/test.js +0 -3
  272. package/lib/esm/components/virtual_scroll.d.ts +0 -40
  273. package/lib/esm/components/virtual_scroll.js +0 -94
  274. package/lib/esm/components/virtual_scroll.test.d.ts +0 -1
  275. package/lib/esm/components/virtual_scroll.test.js +0 -20
  276. package/lib/esm/context.d.ts +0 -15
  277. package/lib/esm/context.js +0 -43
  278. package/lib/esm/context.test.d.ts +0 -1
  279. package/lib/esm/context.test.js +0 -46
  280. package/lib/esm/debounce.d.ts +0 -2
  281. package/lib/esm/debounce.js +0 -8
  282. package/lib/esm/diff.d.ts +0 -15
  283. package/lib/esm/diff.js +0 -54
  284. package/lib/esm/diff.test.d.ts +0 -1
  285. package/lib/esm/diff.test.js +0 -39
  286. package/lib/esm/display.d.ts +0 -5
  287. package/lib/esm/display.js +0 -11
  288. package/lib/esm/dom/css/border.d.ts +0 -11
  289. package/lib/esm/dom/css/border.js +0 -27
  290. package/lib/esm/dom/css/constants.d.ts +0 -31
  291. package/lib/esm/dom/css/constants.js +0 -28
  292. package/lib/esm/dom/css/core.d.ts +0 -5
  293. package/lib/esm/dom/css/core.js +0 -24
  294. package/lib/esm/dom/css/fstyle.d.ts +0 -5
  295. package/lib/esm/dom/css/fstyle.js +0 -32
  296. package/lib/esm/dom/css/sizing.d.ts +0 -5
  297. package/lib/esm/dom/css/sizing.js +0 -10
  298. package/lib/esm/dom/dom.d.ts +0 -27
  299. package/lib/esm/dom/dom.js +0 -104
  300. package/lib/esm/dom/fc.d.ts +0 -14
  301. package/lib/esm/dom/fc.js +0 -35
  302. package/lib/esm/dom/fc.test.d.ts +0 -1
  303. package/lib/esm/dom/fc.test.js +0 -21
  304. package/lib/esm/dom/form/form.app.d.ts +0 -1
  305. package/lib/esm/dom/form/form.app.js +0 -23
  306. package/lib/esm/dom/form/form.d.ts +0 -26
  307. package/lib/esm/dom/form/form.js +0 -34
  308. package/lib/esm/dom/form/form.test.d.ts +0 -0
  309. package/lib/esm/dom/form/form.test.js +0 -1
  310. package/lib/esm/dom/html.d.ts +0 -113
  311. package/lib/esm/dom/html.js +0 -114
  312. package/lib/esm/dom/html.test.d.ts +0 -1
  313. package/lib/esm/dom/html.test.js +0 -58
  314. package/lib/esm/dom/observable.d.ts +0 -2
  315. package/lib/esm/dom/observable.js +0 -6
  316. package/lib/esm/dom/observable.test.d.ts +0 -1
  317. package/lib/esm/dom/observable.test.js +0 -33
  318. package/lib/esm/dom/provide.d.ts +0 -3
  319. package/lib/esm/dom/provide.js +0 -7
  320. package/lib/esm/dom/router/link.d.ts +0 -6
  321. package/lib/esm/dom/router/link.js +0 -3
  322. package/lib/esm/dom/router/router.d.ts +0 -13
  323. package/lib/esm/dom/router/router.js +0 -52
  324. package/lib/esm/dom/svg.d.ts +0 -64
  325. package/lib/esm/dom/svg.js +0 -65
  326. package/lib/esm/dom/test.d.ts +0 -1
  327. package/lib/esm/dom/test.js +0 -9
  328. package/lib/esm/dom/types/css.d.ts +0 -6612
  329. package/lib/esm/dom/types/css.js +0 -23
  330. package/lib/esm/dom/types/dom.d.ts +0 -0
  331. package/lib/esm/dom/types/dom.js +0 -1
  332. package/lib/esm/dom/types/html.d.ts +0 -616
  333. package/lib/esm/dom/types/html.js +0 -1
  334. package/lib/esm/dom/xml.d.ts +0 -1
  335. package/lib/esm/dom/xml.js +0 -4
  336. package/lib/esm/equal.d.ts +0 -8
  337. package/lib/esm/equal.js +0 -41
  338. package/lib/esm/equal.test.d.ts +0 -1
  339. package/lib/esm/equal.test.js +0 -20
  340. package/lib/esm/flags.d.ts +0 -7
  341. package/lib/esm/flags.js +0 -48
  342. package/lib/esm/flags.test.d.ts +0 -1
  343. package/lib/esm/flags.test.js +0 -35
  344. package/lib/esm/fs.d.ts +0 -72
  345. package/lib/esm/fs.js +0 -226
  346. package/lib/esm/fs.test.d.ts +0 -1
  347. package/lib/esm/fs.test.js +0 -84
  348. package/lib/esm/fs_node.d.ts +0 -15
  349. package/lib/esm/fs_node.js +0 -45
  350. package/lib/esm/fs_win.test.d.ts +0 -1
  351. package/lib/esm/fs_win.test.js +0 -8
  352. package/lib/esm/generator.d.ts +0 -1
  353. package/lib/esm/generator.js +0 -10
  354. package/lib/esm/generator.test.d.ts +0 -1
  355. package/lib/esm/generator.test.js +0 -24
  356. package/lib/esm/is_browser.d.ts +0 -1
  357. package/lib/esm/is_browser.js +0 -1
  358. package/lib/esm/loader-register.d.mts +0 -1
  359. package/lib/esm/loader-register.mjs +0 -2
  360. package/lib/esm/loader.d.mts +0 -23
  361. package/lib/esm/loader.mjs +0 -36
  362. package/lib/esm/lock.d.ts +0 -1
  363. package/lib/esm/lock.js +0 -23
  364. package/lib/esm/lock.test.d.ts +0 -1
  365. package/lib/esm/lock.test.js +0 -16
  366. package/lib/esm/log.d.ts +0 -56
  367. package/lib/esm/log.js +0 -93
  368. package/lib/esm/observable/event.d.ts +0 -35
  369. package/lib/esm/observable/event.js +0 -46
  370. package/lib/esm/observable/observable.d.ts +0 -132
  371. package/lib/esm/observable/observable.js +0 -343
  372. package/lib/esm/observable/observable.test.d.ts +0 -1
  373. package/lib/esm/observable/observable.test.js +0 -63
  374. package/lib/esm/range.d.ts +0 -1
  375. package/lib/esm/range.js +0 -7
  376. package/lib/esm/result.d.ts +0 -31
  377. package/lib/esm/result.js +0 -65
  378. package/lib/esm/result.test.d.ts +0 -1
  379. package/lib/esm/result.test.js +0 -76
  380. package/lib/esm/safe.d.ts +0 -1
  381. package/lib/esm/safe.js +0 -10
  382. package/lib/esm/scope/describe.d.ts +0 -18
  383. package/lib/esm/scope/describe.js +0 -60
  384. package/lib/esm/scope/display/console.d.ts +0 -2
  385. package/lib/esm/scope/display/console.js +0 -21
  386. package/lib/esm/scope/display/dom.d.ts +0 -3
  387. package/lib/esm/scope/display/dom.js +0 -26
  388. package/lib/esm/scope/display/junit.d.ts +0 -2
  389. package/lib/esm/scope/display/junit.js +0 -17
  390. package/lib/esm/scope/execute.d.ts +0 -12
  391. package/lib/esm/scope/execute.js +0 -85
  392. package/lib/esm/scope/expect.d.ts +0 -23
  393. package/lib/esm/scope/expect.js +0 -104
  394. package/lib/esm/scope/fix.d.ts +0 -4
  395. package/lib/esm/scope/fix.js +0 -22
  396. package/lib/esm/scope/index.d.ts +0 -3
  397. package/lib/esm/scope/index.js +0 -3
  398. package/lib/esm/scope/scope.d.ts +0 -17
  399. package/lib/esm/scope/scope.js +0 -1
  400. package/lib/esm/scope/state.d.ts +0 -2
  401. package/lib/esm/scope/state.js +0 -8
  402. package/lib/esm/server/http/apps.d.ts +0 -5
  403. package/lib/esm/server/http/apps.js +0 -23
  404. package/lib/esm/server/http/css.d.ts +0 -5
  405. package/lib/esm/server/http/css.js +0 -50
  406. package/lib/esm/server/http/index.d.ts +0 -21
  407. package/lib/esm/server/http/index.js +0 -73
  408. package/lib/esm/server/http/response.d.ts +0 -4
  409. package/lib/esm/server/http/response.js +0 -40
  410. package/lib/esm/server/http/sitemap.d.ts +0 -2
  411. package/lib/esm/server/http/sitemap.js +0 -42
  412. package/lib/esm/server/http/static.d.ts +0 -2
  413. package/lib/esm/server/http/static.js +0 -21
  414. package/lib/esm/server/http/typescript.d.ts +0 -5
  415. package/lib/esm/server/http/typescript.js +0 -40
  416. package/lib/esm/server/main.d.ts +0 -2
  417. package/lib/esm/server/main.js +0 -12
  418. package/lib/esm/test.d.mts +0 -2
  419. package/lib/esm/test.mjs +0 -26
  420. package/lib/esm/test_all.d.ts +0 -9
  421. package/lib/esm/test_all.js +0 -28
  422. package/lib/esm/transpile.d.mts +0 -3
  423. package/lib/esm/transpile.mjs +0 -18
  424. package/lib/esm/tsconfig.tsbuildinfo +0 -1
  425. package/src/components/test.js +0 -3
  426. package/src/loader-register.mjs +0 -3
  427. package/src/loader.mjs +0 -46
package/lib/cjs/equal.js DELETED
@@ -1,48 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.equals = exports.matchObjects = exports.asArray = exports.matchArrays = exports.equalArrays = exports.compareArrays = void 0;
4
- function compareArrays(equal) {
5
- return (a, b, partial = false) => a.length === b.length && a.every((e, i) => equal(e, b[i], partial));
6
- }
7
- exports.compareArrays = compareArrays;
8
- exports.equalArrays = compareArrays(Object.is);
9
- exports.matchArrays = compareArrays(equals);
10
- function asArray(a) {
11
- return Object.entries(a).sort((a, b) => a[0].localeCompare(b[0]));
12
- }
13
- exports.asArray = asArray;
14
- const matchObjects = (a, b, partial = true) => {
15
- for (const [k, v] of Object.entries(a)) {
16
- if (!b.hasOwnProperty(k) && partial)
17
- continue;
18
- // @ts-ignore
19
- if (!equals(v, b[k], partial))
20
- return false;
21
- }
22
- return true;
23
- };
24
- exports.matchObjects = matchObjects;
25
- function equals(a, b, partial = false) {
26
- // runtime type checking
27
- if (a === null && a === b)
28
- return true;
29
- if (a === undefined && a === b)
30
- return true;
31
- switch (typeof a) {
32
- case "object":
33
- if (b === undefined) {
34
- return false;
35
- }
36
- if (a instanceof Array && b instanceof Array) {
37
- return (0, exports.matchArrays)(a, b, partial);
38
- }
39
- else {
40
- return (0, exports.matchObjects)(a, b, partial);
41
- }
42
- case "function":
43
- return a.name === b.name;
44
- default:
45
- return Object.is(a, b);
46
- }
47
- }
48
- exports.equals = equals;
@@ -1 +0,0 @@
1
- export {};
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const index_js_1 = require("./scope/index.js");
4
- const equal_js_1 = require("./equal.js");
5
- (0, index_js_1.describe)("Equality", () => {
6
- (0, index_js_1.it)("compares objects", () => {
7
- (0, index_js_1.expect)((0, equal_js_1.equals)({ a: 1, b: 2 }, { b: 2, a: 1 })).toBe(true);
8
- (0, index_js_1.expect)((0, equal_js_1.equals)({ a: 1, b: 2 }, { b: 1, a: 2 })).toBe(false);
9
- });
10
- (0, index_js_1.it)("compares primitives", () => {
11
- (0, index_js_1.expect)((0, equal_js_1.equals)(1, 1)).toBe(true);
12
- (0, index_js_1.expect)((0, equal_js_1.equals)(1, -1)).toBe(false);
13
- (0, index_js_1.expect)((0, equal_js_1.equals)(0, -0)).toBe(false);
14
- (0, index_js_1.expect)((0, equal_js_1.equals)(NaN, NaN)).toBe(true);
15
- });
16
- (0, index_js_1.it)("compares arrays", () => {
17
- (0, index_js_1.expect)((0, equal_js_1.equalArrays)([1, 2, 3], [1, 2, 3])).toBe(true);
18
- (0, index_js_1.expect)((0, equal_js_1.equalArrays)([1], [2, 3])).toBe(false);
19
- (0, index_js_1.expect)((0, equal_js_1.equalArrays)([{ a: 1 }], [{ a: 1 }])).toBe(false);
20
- (0, index_js_1.expect)((0, equal_js_1.matchArrays)([{ a: 1 }], [{ a: 1 }])).toBe(true);
21
- });
22
- });
@@ -1,7 +0,0 @@
1
- export declare const parse: (parseArgs: string[]) => {
2
- readonly argv0: string;
3
- readonly args: readonly string[];
4
- get(flag: string, def?: boolean): boolean;
5
- asNumber(param: string, def?: number): number;
6
- asString(param: string, def?: string): string;
7
- };
package/lib/cjs/flags.js DELETED
@@ -1,52 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parse = void 0;
4
- const parse = (parseArgs) => {
5
- const fromNode = parseArgs[0].endsWith("node");
6
- const argv = parseArgs[fromNode ? 1 : 0];
7
- const params = new Map();
8
- const flags = new Map();
9
- const args = [];
10
- let index = fromNode ? 2 : 1;
11
- const hasNext = () => index < parseArgs.length;
12
- const peek = () => parseArgs[index];
13
- const advance = () => parseArgs[index++];
14
- const parseLong = (arg) => {
15
- if (arg.substr(0, 3) === "no-") {
16
- flags.set(arg.substr(3), false);
17
- }
18
- else if (!arg.includes("=")) {
19
- flags.set(arg, true);
20
- }
21
- else {
22
- const [param, ...value] = arg.split("=");
23
- params.set(param, value.join("="));
24
- }
25
- };
26
- while (hasNext()) {
27
- if (peek().substr(0, 2) === "--") {
28
- parseLong(advance().substr(2));
29
- }
30
- else {
31
- args.push(advance());
32
- }
33
- }
34
- return {
35
- get argv0() {
36
- return argv;
37
- },
38
- get args() {
39
- return args;
40
- },
41
- get(flag, def = false) {
42
- return flags.get(flag) ?? def;
43
- },
44
- asNumber(param, def = 0) {
45
- return Number.parseFloat(params.get(param) ?? `${def}`);
46
- },
47
- asString(param, def = "") {
48
- return params.get(param) ?? def;
49
- },
50
- };
51
- };
52
- exports.parse = parse;
@@ -1 +0,0 @@
1
- export {};
@@ -1,37 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const index_js_1 = require("./scope/index.js");
4
- const flags_js_1 = require("./flags.js");
5
- const TEST_CASES = {
6
- SIMPLE: "program",
7
- NODE: "/usr/local/bin/node program",
8
- ONE_FLAG: "program --fun",
9
- ONE_PARAM: "program --fun=100",
10
- ONE_ARG: "program cat",
11
- ONE_NO_FLAG: "program --no-fun",
12
- MIXED: "program --fun=dog cat --port=8080 mouse --hamster --no-bird",
13
- };
14
- const makeFlags = (commandLine) => {
15
- return (0, flags_js_1.parse)(commandLine.split(" "));
16
- };
17
- (0, index_js_1.describe)("Flags", () => {
18
- (0, index_js_1.it)("stores the program name", () => {
19
- const flags = makeFlags(TEST_CASES.SIMPLE);
20
- (0, index_js_1.expect)(flags.argv0).toEqual("program");
21
- (0, index_js_1.expect)(flags.args).toEqual([]);
22
- });
23
- (0, index_js_1.it)("stores the program name ignoring node", () => {
24
- const flags = makeFlags(TEST_CASES.NODE);
25
- (0, index_js_1.expect)(flags.argv0).toEqual("program");
26
- (0, index_js_1.expect)(flags.args).toEqual([]);
27
- });
28
- (0, index_js_1.it)("parses a flag", () => {
29
- const flags = makeFlags(TEST_CASES.ONE_FLAG);
30
- (0, index_js_1.expect)(flags.get("fun")).toBe(true);
31
- });
32
- (0, index_js_1.it)("parses a flag with a default value", () => {
33
- const flags = makeFlags(TEST_CASES.SIMPLE);
34
- (0, index_js_1.expect)(flags.get("missing")).toBe(false);
35
- (0, index_js_1.expect)(flags.get("missing", true)).toBe(true);
36
- });
37
- });
package/lib/cjs/fs.d.ts DELETED
@@ -1,72 +0,0 @@
1
- export declare type PathLike = string;
2
- export interface PlatformParts {
3
- SEP: string;
4
- WD: string;
5
- isAbsolute(path: PathLike): boolean;
6
- }
7
- export declare const PLATFORM_PARTS_WIN: PlatformParts;
8
- export declare const PLATFORM_PARTS_UNIX: PlatformParts;
9
- export declare const PLATFORM_PARTS: PlatformParts;
10
- export declare const SEP: string;
11
- export declare const WD: string;
12
- export declare const isAbsolute: (path: PathLike) => boolean;
13
- export interface Stats {
14
- isDirectory(): boolean;
15
- isFile(): boolean;
16
- name: string;
17
- }
18
- export declare function basename(filename: PathLike): string;
19
- export interface FileSystemAdapter {
20
- stat(path: PathLike): Promise<Stats>;
21
- readdir(path: PathLike): Promise<string[]>;
22
- scandir(path: PathLike): Promise<Stats[]>;
23
- mkdir(path: PathLike): Promise<void>;
24
- copyFile(from: PathLike, to: PathLike): Promise<void>;
25
- readFile(path: PathLike): Promise<string>;
26
- writeFile(path: PathLike, contents: string): Promise<void>;
27
- rm(path: PathLike): Promise<void>;
28
- }
29
- export declare class FileSystem implements FileSystemAdapter {
30
- protected adapter: FileSystemAdapter;
31
- protected wd: string;
32
- protected stack: string[];
33
- constructor(adapter?: FileSystemAdapter);
34
- cwd(): string;
35
- cd(dir: string): void;
36
- pushd(dir: string): void;
37
- popd(): void;
38
- stat(path: PathLike): Promise<Stats>;
39
- scandir(path: PathLike): Promise<Stats[]>;
40
- readdir(path: PathLike): Promise<string[]>;
41
- mkdir(path: string): Promise<void>;
42
- copyFile(from: PathLike, to: PathLike): Promise<void>;
43
- readFile(path: PathLike): Promise<string>;
44
- writeFile(path: PathLike, contents: string): Promise<void>;
45
- rm(path: PathLike): Promise<void>;
46
- private p;
47
- }
48
- export declare class RecordFileSystemAdapter implements FileSystemAdapter {
49
- private fs;
50
- constructor(fs?: Record<string, string>);
51
- stat(path: PathLike): Promise<Stats>;
52
- scandir(path: PathLike): Promise<Stats[]>;
53
- readdir(path: PathLike): Promise<string[]>;
54
- mkdir(path: string): Promise<void>;
55
- copyFile(from: PathLike, to: PathLike): Promise<void>;
56
- readFile(path: PathLike): Promise<string>;
57
- writeFile(path: PathLike, contents: string): Promise<void>;
58
- rm(path: PathLike): Promise<void>;
59
- }
60
- export declare class LocalStorageFileSystemAdapter extends RecordFileSystemAdapter {
61
- constructor();
62
- }
63
- export declare type ObjectFileSystem = {
64
- [k: string]: string | ObjectFileSystem;
65
- };
66
- export declare class ObjectFileSystemAdapter extends RecordFileSystemAdapter {
67
- constructor(object: ObjectFileSystem);
68
- }
69
- export interface Tree {
70
- [k: string]: string | Tree;
71
- }
72
- export declare function reset(fs: FileSystem, tree: Tree): Promise<void>;
package/lib/cjs/fs.js DELETED
@@ -1,235 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.reset = exports.ObjectFileSystemAdapter = exports.LocalStorageFileSystemAdapter = exports.RecordFileSystemAdapter = exports.FileSystem = exports.basename = exports.isAbsolute = exports.WD = exports.SEP = exports.PLATFORM_PARTS = exports.PLATFORM_PARTS_UNIX = exports.PLATFORM_PARTS_WIN = void 0;
4
- exports.PLATFORM_PARTS_WIN = {
5
- SEP: "\\",
6
- WD: "C:\\\\",
7
- isAbsolute: (path) => Boolean(path.match(new RegExp("^[a-zA-Z]:\\\\"))),
8
- };
9
- exports.PLATFORM_PARTS_UNIX = {
10
- SEP: "/",
11
- WD: "/",
12
- isAbsolute: (path) => path[0] == "/",
13
- };
14
- exports.PLATFORM_PARTS = typeof process !== "undefined" && process.platform == "win32"
15
- ? exports.PLATFORM_PARTS_WIN
16
- : exports.PLATFORM_PARTS_UNIX;
17
- exports.SEP = exports.PLATFORM_PARTS.SEP;
18
- exports.WD = exports.PLATFORM_PARTS.WD;
19
- exports.isAbsolute = exports.PLATFORM_PARTS.isAbsolute;
20
- function basename(filename) {
21
- if (filename.endsWith(exports.SEP)) {
22
- filename = filename.substring(0, filename.length - 1);
23
- }
24
- const basename = filename.split(exports.SEP).at(-1) ?? "";
25
- return basename;
26
- }
27
- exports.basename = basename;
28
- function join(...paths) {
29
- const pathParts = [];
30
- for (const path of paths) {
31
- for (const part of path.split(exports.SEP)) {
32
- switch (part) {
33
- case "":
34
- case ".":
35
- break;
36
- case "..":
37
- pathParts.pop();
38
- break;
39
- default:
40
- pathParts.push(part);
41
- }
42
- }
43
- }
44
- return ((exports.PLATFORM_PARTS == exports.PLATFORM_PARTS_UNIX ? exports.SEP : "") + pathParts.join(exports.SEP));
45
- }
46
- class FileSystem {
47
- adapter;
48
- wd = exports.WD;
49
- stack = [];
50
- constructor(adapter = new RecordFileSystemAdapter()) {
51
- this.adapter = adapter;
52
- }
53
- cwd() {
54
- return this.wd;
55
- }
56
- cd(dir) {
57
- this.wd = this.p(dir);
58
- }
59
- pushd(dir) {
60
- this.stack.push(this.wd);
61
- this.cd(dir);
62
- }
63
- popd() {
64
- if (this.stack.length > 0) {
65
- this.wd = this.stack.pop();
66
- }
67
- }
68
- stat(path) {
69
- return this.adapter.stat(this.p(path));
70
- }
71
- scandir(path) {
72
- return this.adapter.scandir(this.p(path));
73
- }
74
- readdir(path) {
75
- return this.adapter.readdir(this.p(path));
76
- }
77
- mkdir(path) {
78
- return this.adapter.mkdir(this.p(path));
79
- }
80
- copyFile(from, to) {
81
- return this.adapter.copyFile(this.p(from), this.p(to));
82
- }
83
- readFile(path) {
84
- return this.adapter.readFile(this.p(path));
85
- }
86
- writeFile(path, contents) {
87
- return this.adapter.writeFile(this.p(path), contents);
88
- }
89
- rm(path) {
90
- return this.adapter.rm(this.p(path));
91
- }
92
- p(path) {
93
- return (0, exports.isAbsolute)(path) ? path : join(this.cwd(), path);
94
- }
95
- }
96
- exports.FileSystem = FileSystem;
97
- class RecordFileSystemAdapter {
98
- fs;
99
- constructor(fs = {}) {
100
- this.fs = fs;
101
- }
102
- stat(path) {
103
- return new Promise((resolve, reject) => {
104
- if (this.fs[path]) {
105
- return resolve({
106
- name: basename(path),
107
- isDirectory() {
108
- return false;
109
- },
110
- isFile() {
111
- return true;
112
- },
113
- });
114
- }
115
- if (!path.endsWith(exports.SEP))
116
- path += exports.SEP;
117
- for (let filename of Object.keys(this.fs)) {
118
- if (filename.startsWith(path)) {
119
- return resolve({
120
- name: basename(path),
121
- isDirectory() {
122
- return true;
123
- },
124
- isFile() {
125
- return false;
126
- },
127
- });
128
- }
129
- }
130
- reject();
131
- });
132
- }
133
- async scandir(path) {
134
- return (await this.readdir(path)).map((name) => {
135
- let isFile = this.fs[join(path, name)] !== undefined;
136
- return {
137
- name,
138
- isDirectory() {
139
- return !isFile;
140
- },
141
- isFile() {
142
- return isFile;
143
- },
144
- };
145
- });
146
- }
147
- readdir(path) {
148
- if (!path.endsWith(exports.SEP))
149
- path += exports.SEP;
150
- return new Promise((resolve) => {
151
- let dir = new Set();
152
- for (const filename of Object.keys(this.fs)) {
153
- if (filename.startsWith(path)) {
154
- const end = filename.indexOf(exports.SEP, path.length + 1);
155
- const basename = filename.substring(path.length, end === -1 ? undefined : end);
156
- dir.add(basename);
157
- }
158
- }
159
- return resolve([...dir].sort());
160
- });
161
- }
162
- mkdir(path) {
163
- return Promise.resolve();
164
- }
165
- copyFile(from, to) {
166
- return new Promise((resolve) => {
167
- this.fs[to] = this.fs[from];
168
- resolve();
169
- });
170
- }
171
- readFile(path) {
172
- return new Promise((resolve, reject) => {
173
- let file = this.fs[path];
174
- if (file === undefined) {
175
- const error = new Error(`File Not Found ${path}`);
176
- reject(error);
177
- }
178
- else {
179
- resolve(file);
180
- }
181
- });
182
- }
183
- writeFile(path, contents) {
184
- return new Promise((resolve) => {
185
- this.fs[path] = contents;
186
- resolve();
187
- });
188
- }
189
- rm(path) {
190
- return new Promise((resolve) => {
191
- delete this.fs[path];
192
- resolve();
193
- });
194
- }
195
- }
196
- exports.RecordFileSystemAdapter = RecordFileSystemAdapter;
197
- class LocalStorageFileSystemAdapter extends RecordFileSystemAdapter {
198
- constructor() {
199
- super(window.localStorage);
200
- }
201
- }
202
- exports.LocalStorageFileSystemAdapter = LocalStorageFileSystemAdapter;
203
- class ObjectFileSystemAdapter extends RecordFileSystemAdapter {
204
- constructor(object) {
205
- super(reduceObjectFileSystem(object));
206
- }
207
- }
208
- exports.ObjectFileSystemAdapter = ObjectFileSystemAdapter;
209
- function reduceObjectFileSystem(object) {
210
- let level = {};
211
- for (let [k, v] of Object.entries(object)) {
212
- if (typeof v == "string") {
213
- level[`/${k}`] = v;
214
- }
215
- else {
216
- for (let [k2, v2] of Object.entries(reduceObjectFileSystem(v))) {
217
- level[`/${k}${k2}`] = v2;
218
- }
219
- }
220
- }
221
- return level;
222
- }
223
- async function reset(fs, tree) {
224
- for (const [path, file] of Object.entries(tree)) {
225
- if (typeof file === "string") {
226
- await fs.writeFile(path, file);
227
- }
228
- else {
229
- fs.cd(path);
230
- await reset(fs, file);
231
- fs.cd("..");
232
- }
233
- }
234
- }
235
- exports.reset = reset;
@@ -1 +0,0 @@
1
- export {};
@@ -1,86 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const fs_js_1 = require("./fs.js");
4
- const index_js_1 = require("./scope/index.js");
5
- const state_js_1 = require("./scope/state.js");
6
- (0, index_js_1.describe)("FileSystem", () => {
7
- (0, index_js_1.describe)("Writing", () => {
8
- (0, index_js_1.it)("Writes files", async () => {
9
- const fsObj = {};
10
- const fs = new fs_js_1.FileSystem(new fs_js_1.RecordFileSystemAdapter(fsObj));
11
- await fs.writeFile("hello", "world");
12
- (0, index_js_1.expect)(fsObj).toEqual({ "/hello": "world" });
13
- });
14
- (0, index_js_1.it)("Writes deep files", async () => {
15
- const fsObj = {};
16
- const fs = new fs_js_1.FileSystem(new fs_js_1.RecordFileSystemAdapter(fsObj));
17
- await fs.writeFile("deep/hello", "world");
18
- (0, index_js_1.expect)(fsObj).toEqual({ "/deep/hello": "world" });
19
- });
20
- (0, index_js_1.it)("Writes deep files from root", async () => {
21
- const fsObj = {};
22
- const fs = new fs_js_1.FileSystem(new fs_js_1.RecordFileSystemAdapter(fsObj));
23
- await fs.writeFile("/root/deep/hello", "world");
24
- (0, index_js_1.expect)(fsObj).toEqual({ "/root/deep/hello": "world" });
25
- });
26
- (0, index_js_1.it)("Writes files after cd", async () => {
27
- const fsObj = {};
28
- const fs = new fs_js_1.FileSystem(new fs_js_1.RecordFileSystemAdapter(fsObj));
29
- await fs.cd("deep");
30
- await fs.writeFile("hello", "world");
31
- (0, index_js_1.expect)(fsObj).toEqual({ "/deep/hello": "world" });
32
- });
33
- });
34
- (0, index_js_1.describe)("directory", () => {
35
- (0, index_js_1.it)("returns directory listing", async () => {
36
- const fsObj = {
37
- "/deep/hello": "world",
38
- "/deep/bonjour": "monde",
39
- "/other/file": "text",
40
- };
41
- const fs = new fs_js_1.FileSystem(new fs_js_1.RecordFileSystemAdapter(fsObj));
42
- const dir = await fs.readdir("deep");
43
- (0, index_js_1.expect)(dir.sort()).toEqual(["bonjour", "hello"]);
44
- });
45
- });
46
- (0, index_js_1.describe)("stat", () => {
47
- const state = (0, state_js_1.cleanState)(() => {
48
- const fsObj = {
49
- "/deep/hello": "world",
50
- "/deep/bonjour": "monde",
51
- "/other/file": "text",
52
- };
53
- return { fs: new fs_js_1.FileSystem(new fs_js_1.RecordFileSystemAdapter(fsObj)) };
54
- }, index_js_1.beforeEach);
55
- (0, index_js_1.it)("stats a directory", async () => {
56
- const deep = await state.fs.stat("/deep");
57
- (0, index_js_1.expect)(deep.isDirectory()).toBe(true);
58
- (0, index_js_1.expect)(deep.isFile()).toBe(false);
59
- });
60
- (0, index_js_1.it)("stats a file", async () => {
61
- const deep = await state.fs.stat("/deep/hello");
62
- (0, index_js_1.expect)(deep.isDirectory()).toBe(false);
63
- (0, index_js_1.expect)(deep.isFile()).toBe(true);
64
- });
65
- });
66
- (0, index_js_1.describe)("ObjectFileSystem", () => {
67
- (0, index_js_1.it)("treats object keys as directories and final values as strings", async () => {
68
- const fsAdapter = new fs_js_1.ObjectFileSystemAdapter({
69
- deep: {
70
- hello: "world",
71
- bonjour: "monde",
72
- },
73
- other_file: "text",
74
- });
75
- (0, index_js_1.expect)([
76
- ...Object.keys(fsAdapter.fs),
77
- ]).toEqual(["/deep/hello", "/deep/bonjour", "/other_file"]);
78
- let fs = new fs_js_1.FileSystem(fsAdapter);
79
- const deep = await fs.stat("/deep");
80
- (0, index_js_1.expect)(deep.isDirectory()).toBe(true);
81
- (0, index_js_1.expect)(deep.isFile()).toBe(false);
82
- const deep_bonjour = await fs.readFile("/deep/bonjour");
83
- (0, index_js_1.expect)(deep_bonjour).toBe("monde");
84
- });
85
- });
86
- });
@@ -1,15 +0,0 @@
1
- import { FileSystem, FileSystemAdapter, Stats } from "./fs.js";
2
- export declare class NodeFileSystem extends FileSystem {
3
- constructor(cd?: string);
4
- }
5
- /** Jiffies FileSystemAdapter using NodeJS' fs/promises. */
6
- export declare class NodeFileSystemAdapter implements FileSystemAdapter {
7
- stat(path: string): Promise<Stats>;
8
- readdir(path: string): Promise<string[]>;
9
- mkdir(path: string): Promise<void>;
10
- scandir(path: string): Promise<Stats[]>;
11
- copyFile(from: string, to: string): Promise<void>;
12
- readFile(path: string): Promise<string>;
13
- writeFile(path: string, contents: string): Promise<void>;
14
- rm(path: string): Promise<void>;
15
- }
@@ -1,50 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NodeFileSystemAdapter = exports.NodeFileSystem = void 0;
4
- const fs_js_1 = require("./fs.js");
5
- const promises_1 = require("fs/promises");
6
- const path_1 = require("path");
7
- class NodeFileSystem extends fs_js_1.FileSystem {
8
- constructor(cd = process.cwd()) {
9
- super(new NodeFileSystemAdapter());
10
- this.cd(cd);
11
- }
12
- }
13
- exports.NodeFileSystem = NodeFileSystem;
14
- /** Jiffies FileSystemAdapter using NodeJS' fs/promises. */
15
- class NodeFileSystemAdapter {
16
- async stat(path) {
17
- const fsStat = await (0, promises_1.stat)(path);
18
- return {
19
- name: (0, path_1.basename)(path),
20
- isDirectory() {
21
- return fsStat.isDirectory();
22
- },
23
- isFile() {
24
- return !fsStat.isDirectory();
25
- },
26
- };
27
- }
28
- readdir(path) {
29
- return (0, promises_1.readdir)(path);
30
- }
31
- mkdir(path) {
32
- return (0, promises_1.mkdir)(path);
33
- }
34
- async scandir(path) {
35
- return Promise.all((await this.readdir(path)).map((name) => this.stat((0, path_1.join)(path, name))));
36
- }
37
- copyFile(from, to) {
38
- return (0, promises_1.copyFile)(from, to);
39
- }
40
- readFile(path) {
41
- return (0, promises_1.readFile)(path, "utf-8");
42
- }
43
- writeFile(path, contents) {
44
- return (0, promises_1.writeFile)(path, contents, "utf-8");
45
- }
46
- rm(path) {
47
- return (0, promises_1.rm)(path, { force: true, recursive: true });
48
- }
49
- }
50
- exports.NodeFileSystemAdapter = NodeFileSystemAdapter;
@@ -1 +0,0 @@
1
- export {};
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const fs_node_js_1 = require("./fs_node.js");
4
- const fs = new fs_node_js_1.NodeFileSystem();
5
- async function main() {
6
- for (const stats of await fs.scandir(".")) {
7
- console.log(stats);
8
- }
9
- }
10
- main();
@@ -1 +0,0 @@
1
- export declare function takeWhile<T>(predicate: (t: T) => boolean, iterator: Iterable<T>): Generator<T, void, unknown>;
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.takeWhile = void 0;
4
- function* takeWhile(predicate, iterator) {
5
- for (const x of iterator) {
6
- if (predicate(x)) {
7
- yield x;
8
- }
9
- else {
10
- return;
11
- }
12
- }
13
- }
14
- exports.takeWhile = takeWhile;
@@ -1 +0,0 @@
1
- export {};