flingit 0.0.63 → 0.0.66

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 (545) hide show
  1. package/dist/cli/commands/db.d.ts +10 -0
  2. package/dist/cli/commands/db.d.ts.map +1 -1
  3. package/dist/cli/commands/db.js +17 -0
  4. package/dist/cli/commands/db.js.map +1 -1
  5. package/dist/cli/commands/dev.d.ts.map +1 -1
  6. package/dist/cli/commands/dev.js +22 -7
  7. package/dist/cli/commands/dev.js.map +1 -1
  8. package/dist/cli/commands/init.js +1 -1
  9. package/dist/cli/commands/init.js.map +1 -1
  10. package/dist/cli/commands/push.d.ts +1 -0
  11. package/dist/cli/commands/push.d.ts.map +1 -1
  12. package/dist/cli/commands/push.js +3 -3
  13. package/dist/cli/commands/push.js.map +1 -1
  14. package/dist/cli/commands/storage.d.ts +0 -3
  15. package/dist/cli/commands/storage.d.ts.map +1 -1
  16. package/dist/cli/commands/storage.js +1 -4
  17. package/dist/cli/commands/storage.js.map +1 -1
  18. package/dist/cli/commands/workflow.d.ts +51 -0
  19. package/dist/cli/commands/workflow.d.ts.map +1 -0
  20. package/dist/cli/commands/workflow.js +479 -0
  21. package/dist/cli/commands/workflow.js.map +1 -0
  22. package/dist/cli/deploy/bundler.d.ts.map +1 -1
  23. package/dist/cli/deploy/bundler.js +17 -1
  24. package/dist/cli/deploy/bundler.js.map +1 -1
  25. package/dist/cli/index.d.ts.map +1 -1
  26. package/dist/cli/index.js +2 -0
  27. package/dist/cli/index.js.map +1 -1
  28. package/dist/cli/utils/cli-io-impl.d.ts +24 -2
  29. package/dist/cli/utils/cli-io-impl.d.ts.map +1 -1
  30. package/dist/cli/utils/cli-io-impl.js +87 -3
  31. package/dist/cli/utils/cli-io-impl.js.map +1 -1
  32. package/dist/cli/utils/cli-io.d.ts +25 -1
  33. package/dist/cli/utils/cli-io.d.ts.map +1 -1
  34. package/dist/cli/utils/project-name.d.ts +9 -0
  35. package/dist/cli/utils/project-name.d.ts.map +1 -1
  36. package/dist/cli/utils/project-name.js +28 -0
  37. package/dist/cli/utils/project-name.js.map +1 -1
  38. package/dist/cli/utils/project.d.ts +14 -1
  39. package/dist/cli/utils/project.d.ts.map +1 -1
  40. package/dist/cli/utils/project.js +16 -0
  41. package/dist/cli/utils/project.js.map +1 -1
  42. package/dist/index.d.ts +4 -1
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +3 -1
  45. package/dist/index.js.map +1 -1
  46. package/dist/runtime/entry.d.ts +7 -0
  47. package/dist/runtime/entry.d.ts.map +1 -1
  48. package/dist/runtime/entry.js +71 -2
  49. package/dist/runtime/entry.js.map +1 -1
  50. package/dist/types/workflow.d.ts +82 -0
  51. package/dist/types/workflow.d.ts.map +1 -0
  52. package/dist/types/workflow.js +8 -0
  53. package/dist/types/workflow.js.map +1 -0
  54. package/dist/worker-runtime/d1-event-store.d.ts +23 -0
  55. package/dist/worker-runtime/d1-event-store.d.ts.map +1 -0
  56. package/dist/worker-runtime/d1-event-store.js +253 -0
  57. package/dist/worker-runtime/d1-event-store.js.map +1 -0
  58. package/dist/worker-runtime/entry-extract.d.ts.map +1 -1
  59. package/dist/worker-runtime/entry-extract.js +6 -3
  60. package/dist/worker-runtime/entry-extract.js.map +1 -1
  61. package/dist/worker-runtime/entry.d.ts.map +1 -1
  62. package/dist/worker-runtime/entry.js +116 -13
  63. package/dist/worker-runtime/entry.js.map +1 -1
  64. package/dist/worker-runtime/index.d.ts +2 -0
  65. package/dist/worker-runtime/index.d.ts.map +1 -1
  66. package/dist/worker-runtime/index.js +5 -0
  67. package/dist/worker-runtime/index.js.map +1 -1
  68. package/dist/workflow/runtime.d.ts +59 -0
  69. package/dist/workflow/runtime.d.ts.map +1 -0
  70. package/dist/workflow/runtime.js +483 -0
  71. package/dist/workflow/runtime.js.map +1 -0
  72. package/node_modules/@glideapps/ts-necessities/LICENSE +21 -0
  73. package/node_modules/@glideapps/ts-necessities/README.md +16 -0
  74. package/node_modules/@glideapps/ts-necessities/dist/branded-strings.d.ts +39 -0
  75. package/node_modules/@glideapps/ts-necessities/dist/default-map.d.ts +53 -0
  76. package/node_modules/@glideapps/ts-necessities/dist/index.d.mts +113 -0
  77. package/node_modules/@glideapps/ts-necessities/dist/index.d.ts +113 -0
  78. package/node_modules/@glideapps/ts-necessities/dist/index.js +237 -0
  79. package/node_modules/@glideapps/ts-necessities/dist/index.mjs +189 -0
  80. package/node_modules/@glideapps/ts-necessities/package.json +52 -0
  81. package/node_modules/@rollup/rollup-linux-x64-gnu/README.md +3 -0
  82. package/node_modules/@rollup/rollup-linux-x64-gnu/package.json +25 -0
  83. package/node_modules/@rollup/rollup-linux-x64-gnu/rollup.linux-x64-gnu.node +0 -0
  84. package/node_modules/base64-js/LICENSE +21 -0
  85. package/node_modules/base64-js/README.md +34 -0
  86. package/node_modules/base64-js/base64js.min.js +1 -0
  87. package/node_modules/base64-js/index.d.ts +3 -0
  88. package/node_modules/base64-js/index.js +150 -0
  89. package/node_modules/base64-js/package.json +47 -0
  90. package/node_modules/better-sqlite3/LICENSE +21 -0
  91. package/node_modules/better-sqlite3/README.md +99 -0
  92. package/node_modules/better-sqlite3/binding.gyp +38 -0
  93. package/node_modules/better-sqlite3/deps/common.gypi +68 -0
  94. package/node_modules/better-sqlite3/deps/copy.js +31 -0
  95. package/node_modules/better-sqlite3/deps/defines.gypi +41 -0
  96. package/node_modules/better-sqlite3/deps/download.sh +122 -0
  97. package/node_modules/better-sqlite3/deps/patches/1208.patch +15 -0
  98. package/node_modules/better-sqlite3/deps/sqlite3/sqlite3.c +265994 -0
  99. package/node_modules/better-sqlite3/deps/sqlite3/sqlite3.h +13968 -0
  100. package/node_modules/better-sqlite3/deps/sqlite3/sqlite3ext.h +730 -0
  101. package/node_modules/better-sqlite3/deps/sqlite3.gyp +80 -0
  102. package/node_modules/better-sqlite3/deps/test_extension.c +21 -0
  103. package/node_modules/better-sqlite3/lib/database.js +90 -0
  104. package/node_modules/better-sqlite3/lib/index.js +3 -0
  105. package/node_modules/better-sqlite3/lib/methods/aggregate.js +43 -0
  106. package/node_modules/better-sqlite3/lib/methods/backup.js +67 -0
  107. package/node_modules/better-sqlite3/lib/methods/function.js +31 -0
  108. package/node_modules/better-sqlite3/lib/methods/inspect.js +7 -0
  109. package/node_modules/better-sqlite3/lib/methods/pragma.js +12 -0
  110. package/node_modules/better-sqlite3/lib/methods/serialize.js +16 -0
  111. package/node_modules/better-sqlite3/lib/methods/table.js +189 -0
  112. package/node_modules/better-sqlite3/lib/methods/transaction.js +78 -0
  113. package/node_modules/better-sqlite3/lib/methods/wrappers.js +54 -0
  114. package/node_modules/better-sqlite3/lib/sqlite-error.js +20 -0
  115. package/node_modules/better-sqlite3/lib/util.js +12 -0
  116. package/node_modules/better-sqlite3/package.json +59 -0
  117. package/node_modules/better-sqlite3/src/addon.cpp +47 -0
  118. package/node_modules/better-sqlite3/src/better_sqlite3.cpp +74 -0
  119. package/node_modules/better-sqlite3/src/objects/backup.cpp +120 -0
  120. package/node_modules/better-sqlite3/src/objects/backup.hpp +36 -0
  121. package/node_modules/better-sqlite3/src/objects/database.cpp +417 -0
  122. package/node_modules/better-sqlite3/src/objects/database.hpp +103 -0
  123. package/node_modules/better-sqlite3/src/objects/statement-iterator.cpp +113 -0
  124. package/node_modules/better-sqlite3/src/objects/statement-iterator.hpp +50 -0
  125. package/node_modules/better-sqlite3/src/objects/statement.cpp +383 -0
  126. package/node_modules/better-sqlite3/src/objects/statement.hpp +58 -0
  127. package/node_modules/better-sqlite3/src/util/bind-map.cpp +73 -0
  128. package/node_modules/better-sqlite3/src/util/binder.cpp +193 -0
  129. package/node_modules/better-sqlite3/src/util/constants.cpp +172 -0
  130. package/node_modules/better-sqlite3/src/util/custom-aggregate.cpp +121 -0
  131. package/node_modules/better-sqlite3/src/util/custom-function.cpp +59 -0
  132. package/node_modules/better-sqlite3/src/util/custom-table.cpp +409 -0
  133. package/node_modules/better-sqlite3/src/util/data-converter.cpp +17 -0
  134. package/node_modules/better-sqlite3/src/util/data.cpp +194 -0
  135. package/node_modules/better-sqlite3/src/util/helpers.cpp +109 -0
  136. package/node_modules/better-sqlite3/src/util/macros.cpp +83 -0
  137. package/node_modules/better-sqlite3/src/util/query-macros.cpp +71 -0
  138. package/node_modules/better-sqlite3/src/util/row-builder.cpp +49 -0
  139. package/node_modules/bindings/LICENSE.md +22 -0
  140. package/node_modules/bindings/README.md +98 -0
  141. package/node_modules/bindings/bindings.js +221 -0
  142. package/node_modules/bindings/package.json +28 -0
  143. package/node_modules/bl/.travis.yml +17 -0
  144. package/node_modules/bl/BufferList.js +396 -0
  145. package/node_modules/bl/LICENSE.md +13 -0
  146. package/node_modules/bl/README.md +247 -0
  147. package/node_modules/bl/bl.js +84 -0
  148. package/node_modules/bl/package.json +37 -0
  149. package/node_modules/bl/test/convert.js +21 -0
  150. package/node_modules/bl/test/indexOf.js +492 -0
  151. package/node_modules/bl/test/isBufferList.js +32 -0
  152. package/node_modules/bl/test/test.js +869 -0
  153. package/node_modules/buffer/AUTHORS.md +70 -0
  154. package/node_modules/buffer/LICENSE +21 -0
  155. package/node_modules/buffer/README.md +410 -0
  156. package/node_modules/buffer/index.d.ts +186 -0
  157. package/node_modules/buffer/index.js +1817 -0
  158. package/node_modules/buffer/package.json +96 -0
  159. package/node_modules/chownr/LICENSE +15 -0
  160. package/node_modules/chownr/README.md +3 -0
  161. package/node_modules/chownr/chownr.js +167 -0
  162. package/node_modules/chownr/package.json +29 -0
  163. package/node_modules/decompress-response/index.d.ts +22 -0
  164. package/node_modules/decompress-response/index.js +58 -0
  165. package/node_modules/decompress-response/license +9 -0
  166. package/node_modules/decompress-response/package.json +56 -0
  167. package/node_modules/decompress-response/readme.md +48 -0
  168. package/node_modules/deep-extend/LICENSE +20 -0
  169. package/node_modules/deep-extend/README.md +91 -0
  170. package/node_modules/deep-extend/index.js +1 -0
  171. package/node_modules/deep-extend/lib/deep-extend.js +150 -0
  172. package/node_modules/deep-extend/package.json +62 -0
  173. package/node_modules/detect-libc/LICENSE +201 -0
  174. package/node_modules/detect-libc/README.md +163 -0
  175. package/node_modules/detect-libc/index.d.ts +14 -0
  176. package/node_modules/detect-libc/lib/detect-libc.js +313 -0
  177. package/node_modules/detect-libc/lib/elf.js +39 -0
  178. package/node_modules/detect-libc/lib/filesystem.js +51 -0
  179. package/node_modules/detect-libc/lib/process.js +24 -0
  180. package/node_modules/detect-libc/package.json +44 -0
  181. package/node_modules/determined/LICENSE +18 -0
  182. package/node_modules/determined/README.md +317 -0
  183. package/node_modules/determined/dist/index.cjs +370 -0
  184. package/node_modules/determined/dist/index.d.cts +110 -0
  185. package/node_modules/determined/dist/index.d.ts +110 -0
  186. package/node_modules/determined/dist/index.js +332 -0
  187. package/node_modules/determined/package.json +45 -0
  188. package/node_modules/end-of-stream/LICENSE +21 -0
  189. package/node_modules/end-of-stream/README.md +54 -0
  190. package/node_modules/end-of-stream/index.js +96 -0
  191. package/node_modules/end-of-stream/package.json +37 -0
  192. package/node_modules/expand-template/.travis.yml +6 -0
  193. package/node_modules/expand-template/LICENSE +21 -0
  194. package/node_modules/expand-template/README.md +43 -0
  195. package/node_modules/expand-template/index.js +26 -0
  196. package/node_modules/expand-template/package.json +29 -0
  197. package/node_modules/expand-template/test.js +67 -0
  198. package/node_modules/file-uri-to-path/.npmignore +1 -0
  199. package/node_modules/file-uri-to-path/.travis.yml +30 -0
  200. package/node_modules/file-uri-to-path/History.md +21 -0
  201. package/node_modules/file-uri-to-path/LICENSE +20 -0
  202. package/node_modules/file-uri-to-path/README.md +74 -0
  203. package/node_modules/file-uri-to-path/index.d.ts +2 -0
  204. package/node_modules/file-uri-to-path/index.js +66 -0
  205. package/node_modules/file-uri-to-path/package.json +32 -0
  206. package/node_modules/file-uri-to-path/test/test.js +24 -0
  207. package/node_modules/file-uri-to-path/test/tests.json +13 -0
  208. package/node_modules/flingflow/.nvmrc +1 -0
  209. package/node_modules/flingflow/AGENTS.md +5 -0
  210. package/node_modules/flingflow/README.md +689 -0
  211. package/node_modules/flingflow/SPEC.md +550 -0
  212. package/node_modules/flingflow/TESTING.md +508 -0
  213. package/node_modules/flingflow/dist/backoff.d.ts +9 -0
  214. package/node_modules/flingflow/dist/backoff.js +14 -0
  215. package/node_modules/flingflow/dist/backoff.js.map +1 -0
  216. package/node_modules/flingflow/dist/clock.d.ts +13 -0
  217. package/node_modules/flingflow/dist/clock.js +21 -0
  218. package/node_modules/flingflow/dist/clock.js.map +1 -0
  219. package/node_modules/flingflow/dist/context.d.ts +8 -0
  220. package/node_modules/flingflow/dist/context.js +45 -0
  221. package/node_modules/flingflow/dist/context.js.map +1 -0
  222. package/node_modules/flingflow/dist/engine.d.ts +29 -0
  223. package/node_modules/flingflow/dist/engine.js +306 -0
  224. package/node_modules/flingflow/dist/engine.js.map +1 -0
  225. package/node_modules/flingflow/dist/index.d.ts +18 -0
  226. package/node_modules/flingflow/dist/index.js +14 -0
  227. package/node_modules/flingflow/dist/index.js.map +1 -0
  228. package/node_modules/flingflow/dist/recovery.d.ts +16 -0
  229. package/node_modules/flingflow/dist/recovery.js +118 -0
  230. package/node_modules/flingflow/dist/recovery.js.map +1 -0
  231. package/node_modules/flingflow/dist/registry.d.ts +24 -0
  232. package/node_modules/flingflow/dist/registry.js +29 -0
  233. package/node_modules/flingflow/dist/registry.js.map +1 -0
  234. package/node_modules/flingflow/dist/store-memory.d.ts +30 -0
  235. package/node_modules/flingflow/dist/store-memory.js +385 -0
  236. package/node_modules/flingflow/dist/store-memory.js.map +1 -0
  237. package/node_modules/flingflow/dist/store-sqlite.d.ts +31 -0
  238. package/node_modules/flingflow/dist/store-sqlite.js +445 -0
  239. package/node_modules/flingflow/dist/store-sqlite.js.map +1 -0
  240. package/node_modules/flingflow/dist/store.d.ts +44 -0
  241. package/node_modules/flingflow/dist/store.js +21 -0
  242. package/node_modules/flingflow/dist/store.js.map +1 -0
  243. package/node_modules/flingflow/dist/stress.d.ts +1 -0
  244. package/node_modules/flingflow/dist/stress.js +377 -0
  245. package/node_modules/flingflow/dist/stress.js.map +1 -0
  246. package/node_modules/flingflow/dist/transitions.d.ts +14 -0
  247. package/node_modules/flingflow/dist/transitions.js +28 -0
  248. package/node_modules/flingflow/dist/transitions.js.map +1 -0
  249. package/node_modules/flingflow/dist/types.d.ts +114 -0
  250. package/node_modules/flingflow/dist/types.js +10 -0
  251. package/node_modules/flingflow/dist/types.js.map +1 -0
  252. package/node_modules/flingflow/eslint.config.js +94 -0
  253. package/node_modules/flingflow/package.json +66 -0
  254. package/node_modules/flingflow/src/backoff.ts +14 -0
  255. package/node_modules/flingflow/src/clock.ts +29 -0
  256. package/node_modules/flingflow/src/context.ts +60 -0
  257. package/node_modules/flingflow/src/engine.ts +367 -0
  258. package/node_modules/flingflow/src/index.ts +52 -0
  259. package/node_modules/flingflow/src/recovery.ts +144 -0
  260. package/node_modules/flingflow/src/registry.ts +52 -0
  261. package/node_modules/flingflow/src/store-memory.ts +418 -0
  262. package/node_modules/flingflow/src/store-sqlite.ts +498 -0
  263. package/node_modules/flingflow/src/store.ts +61 -0
  264. package/node_modules/flingflow/src/stress.ts +423 -0
  265. package/node_modules/flingflow/src/transitions.ts +38 -0
  266. package/node_modules/flingflow/src/types.ts +84 -0
  267. package/node_modules/flingflow/test/backoff.test.ts +54 -0
  268. package/node_modules/flingflow/test/context.test.ts +94 -0
  269. package/node_modules/flingflow/test/engine.test.ts +362 -0
  270. package/node_modules/flingflow/test/fixtures.ts +58 -0
  271. package/node_modules/flingflow/test/recovery.test.ts +176 -0
  272. package/node_modules/flingflow/test/simulation.test.ts +395 -0
  273. package/node_modules/flingflow/test/store-conformance.ts +386 -0
  274. package/node_modules/flingflow/test/store-memory.test.ts +8 -0
  275. package/node_modules/flingflow/test/store-sqlite.test.ts +8 -0
  276. package/node_modules/flingflow/tsconfig.json +18 -0
  277. package/node_modules/flingflow/tsconfig.lint.json +5 -0
  278. package/node_modules/flingflow/tsconfig.typecheck.json +20 -0
  279. package/node_modules/flingflow/vitest.config.ts +10 -0
  280. package/node_modules/fs-constants/LICENSE +21 -0
  281. package/node_modules/fs-constants/README.md +26 -0
  282. package/node_modules/fs-constants/browser.js +1 -0
  283. package/node_modules/fs-constants/index.js +1 -0
  284. package/node_modules/fs-constants/package.json +19 -0
  285. package/node_modules/github-from-package/.travis.yml +4 -0
  286. package/node_modules/github-from-package/LICENSE +18 -0
  287. package/node_modules/github-from-package/example/package.json +8 -0
  288. package/node_modules/github-from-package/example/url.js +3 -0
  289. package/node_modules/github-from-package/index.js +17 -0
  290. package/node_modules/github-from-package/package.json +30 -0
  291. package/node_modules/github-from-package/readme.markdown +53 -0
  292. package/node_modules/github-from-package/test/a.json +8 -0
  293. package/node_modules/github-from-package/test/b.json +5 -0
  294. package/node_modules/github-from-package/test/c.json +5 -0
  295. package/node_modules/github-from-package/test/d.json +7 -0
  296. package/node_modules/github-from-package/test/e.json +5 -0
  297. package/node_modules/github-from-package/test/url.js +19 -0
  298. package/node_modules/ieee754/LICENSE +11 -0
  299. package/node_modules/ieee754/README.md +51 -0
  300. package/node_modules/ieee754/index.d.ts +10 -0
  301. package/node_modules/ieee754/index.js +85 -0
  302. package/node_modules/ieee754/package.json +52 -0
  303. package/node_modules/inherits/LICENSE +16 -0
  304. package/node_modules/inherits/README.md +42 -0
  305. package/node_modules/inherits/inherits.js +9 -0
  306. package/node_modules/inherits/inherits_browser.js +27 -0
  307. package/node_modules/inherits/package.json +29 -0
  308. package/node_modules/ini/LICENSE +15 -0
  309. package/node_modules/ini/README.md +102 -0
  310. package/node_modules/ini/ini.js +206 -0
  311. package/node_modules/ini/package.json +33 -0
  312. package/node_modules/mimic-response/index.d.ts +17 -0
  313. package/node_modules/mimic-response/index.js +77 -0
  314. package/node_modules/mimic-response/license +9 -0
  315. package/node_modules/mimic-response/package.json +42 -0
  316. package/node_modules/mimic-response/readme.md +78 -0
  317. package/node_modules/minimist/.eslintrc +29 -0
  318. package/node_modules/minimist/.github/FUNDING.yml +12 -0
  319. package/node_modules/minimist/.nycrc +14 -0
  320. package/node_modules/minimist/CHANGELOG.md +298 -0
  321. package/node_modules/minimist/LICENSE +18 -0
  322. package/node_modules/minimist/README.md +121 -0
  323. package/node_modules/minimist/example/parse.js +4 -0
  324. package/node_modules/minimist/index.js +263 -0
  325. package/node_modules/minimist/package.json +75 -0
  326. package/node_modules/minimist/test/all_bool.js +34 -0
  327. package/node_modules/minimist/test/bool.js +177 -0
  328. package/node_modules/minimist/test/dash.js +43 -0
  329. package/node_modules/minimist/test/default_bool.js +37 -0
  330. package/node_modules/minimist/test/dotted.js +24 -0
  331. package/node_modules/minimist/test/kv_short.js +32 -0
  332. package/node_modules/minimist/test/long.js +33 -0
  333. package/node_modules/minimist/test/num.js +38 -0
  334. package/node_modules/minimist/test/parse.js +209 -0
  335. package/node_modules/minimist/test/parse_modified.js +11 -0
  336. package/node_modules/minimist/test/proto.js +64 -0
  337. package/node_modules/minimist/test/short.js +69 -0
  338. package/node_modules/minimist/test/stop_early.js +17 -0
  339. package/node_modules/minimist/test/unknown.js +104 -0
  340. package/node_modules/minimist/test/whitespace.js +10 -0
  341. package/node_modules/mkdirp-classic/LICENSE +21 -0
  342. package/node_modules/mkdirp-classic/README.md +18 -0
  343. package/node_modules/mkdirp-classic/index.js +98 -0
  344. package/node_modules/mkdirp-classic/package.json +18 -0
  345. package/node_modules/napi-build-utils/.github/workflows/run-npm-tests.yml +31 -0
  346. package/node_modules/napi-build-utils/LICENSE +21 -0
  347. package/node_modules/napi-build-utils/README.md +52 -0
  348. package/node_modules/napi-build-utils/index.js +214 -0
  349. package/node_modules/napi-build-utils/index.md +0 -0
  350. package/node_modules/napi-build-utils/package.json +42 -0
  351. package/node_modules/neverthrow/LICENSE +22 -0
  352. package/node_modules/neverthrow/README.md +1683 -0
  353. package/node_modules/neverthrow/dist/index.cjs.js +510 -0
  354. package/node_modules/neverthrow/dist/index.d.ts +408 -0
  355. package/node_modules/neverthrow/dist/index.es.js +497 -0
  356. package/node_modules/neverthrow/package.json +64 -0
  357. package/node_modules/node-abi/LICENSE +21 -0
  358. package/node_modules/node-abi/README.md +54 -0
  359. package/node_modules/node-abi/abi_registry.json +425 -0
  360. package/node_modules/node-abi/index.js +179 -0
  361. package/node_modules/node-abi/package.json +45 -0
  362. package/node_modules/once/LICENSE +15 -0
  363. package/node_modules/once/README.md +79 -0
  364. package/node_modules/once/once.js +42 -0
  365. package/node_modules/once/package.json +33 -0
  366. package/node_modules/prebuild-install/CHANGELOG.md +131 -0
  367. package/node_modules/prebuild-install/CONTRIBUTING.md +6 -0
  368. package/node_modules/prebuild-install/LICENSE +21 -0
  369. package/node_modules/prebuild-install/README.md +163 -0
  370. package/node_modules/prebuild-install/asset.js +44 -0
  371. package/node_modules/prebuild-install/bin.js +78 -0
  372. package/node_modules/prebuild-install/download.js +142 -0
  373. package/node_modules/prebuild-install/error.js +14 -0
  374. package/node_modules/prebuild-install/help.txt +16 -0
  375. package/node_modules/prebuild-install/index.js +1 -0
  376. package/node_modules/prebuild-install/log.js +33 -0
  377. package/node_modules/prebuild-install/package.json +67 -0
  378. package/node_modules/prebuild-install/proxy.js +35 -0
  379. package/node_modules/prebuild-install/rc.js +64 -0
  380. package/node_modules/prebuild-install/util.js +143 -0
  381. package/node_modules/pump/.github/FUNDING.yml +2 -0
  382. package/node_modules/pump/.travis.yml +5 -0
  383. package/node_modules/pump/LICENSE +21 -0
  384. package/node_modules/pump/README.md +74 -0
  385. package/node_modules/pump/SECURITY.md +5 -0
  386. package/node_modules/pump/index.js +86 -0
  387. package/node_modules/pump/package.json +24 -0
  388. package/node_modules/pump/test-browser.js +66 -0
  389. package/node_modules/pump/test-node.js +53 -0
  390. package/node_modules/rc/LICENSE.APACHE2 +15 -0
  391. package/node_modules/rc/LICENSE.BSD +26 -0
  392. package/node_modules/rc/LICENSE.MIT +24 -0
  393. package/node_modules/rc/README.md +227 -0
  394. package/node_modules/rc/browser.js +7 -0
  395. package/node_modules/rc/cli.js +4 -0
  396. package/node_modules/rc/index.js +53 -0
  397. package/node_modules/rc/lib/utils.js +104 -0
  398. package/node_modules/rc/package.json +29 -0
  399. package/node_modules/rc/test/ini.js +16 -0
  400. package/node_modules/rc/test/nested-env-vars.js +50 -0
  401. package/node_modules/rc/test/test.js +59 -0
  402. package/node_modules/readable-stream/CONTRIBUTING.md +38 -0
  403. package/node_modules/readable-stream/GOVERNANCE.md +136 -0
  404. package/node_modules/readable-stream/LICENSE +47 -0
  405. package/node_modules/readable-stream/README.md +106 -0
  406. package/node_modules/readable-stream/errors-browser.js +127 -0
  407. package/node_modules/readable-stream/errors.js +116 -0
  408. package/node_modules/readable-stream/experimentalWarning.js +17 -0
  409. package/node_modules/readable-stream/lib/_stream_duplex.js +126 -0
  410. package/node_modules/readable-stream/lib/_stream_passthrough.js +37 -0
  411. package/node_modules/readable-stream/lib/_stream_readable.js +1027 -0
  412. package/node_modules/readable-stream/lib/_stream_transform.js +190 -0
  413. package/node_modules/readable-stream/lib/_stream_writable.js +641 -0
  414. package/node_modules/readable-stream/lib/internal/streams/async_iterator.js +180 -0
  415. package/node_modules/readable-stream/lib/internal/streams/buffer_list.js +183 -0
  416. package/node_modules/readable-stream/lib/internal/streams/destroy.js +96 -0
  417. package/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +86 -0
  418. package/node_modules/readable-stream/lib/internal/streams/from-browser.js +3 -0
  419. package/node_modules/readable-stream/lib/internal/streams/from.js +52 -0
  420. package/node_modules/readable-stream/lib/internal/streams/pipeline.js +86 -0
  421. package/node_modules/readable-stream/lib/internal/streams/state.js +22 -0
  422. package/node_modules/readable-stream/lib/internal/streams/stream-browser.js +1 -0
  423. package/node_modules/readable-stream/lib/internal/streams/stream.js +1 -0
  424. package/node_modules/readable-stream/package.json +68 -0
  425. package/node_modules/readable-stream/readable-browser.js +9 -0
  426. package/node_modules/readable-stream/readable.js +16 -0
  427. package/node_modules/safe-buffer/LICENSE +21 -0
  428. package/node_modules/safe-buffer/README.md +584 -0
  429. package/node_modules/safe-buffer/index.d.ts +187 -0
  430. package/node_modules/safe-buffer/index.js +65 -0
  431. package/node_modules/safe-buffer/package.json +51 -0
  432. package/node_modules/semver/LICENSE +15 -0
  433. package/node_modules/semver/README.md +664 -0
  434. package/node_modules/semver/bin/semver.js +191 -0
  435. package/node_modules/semver/classes/comparator.js +143 -0
  436. package/node_modules/semver/classes/index.js +7 -0
  437. package/node_modules/semver/classes/range.js +557 -0
  438. package/node_modules/semver/classes/semver.js +333 -0
  439. package/node_modules/semver/functions/clean.js +8 -0
  440. package/node_modules/semver/functions/cmp.js +54 -0
  441. package/node_modules/semver/functions/coerce.js +62 -0
  442. package/node_modules/semver/functions/compare-build.js +9 -0
  443. package/node_modules/semver/functions/compare-loose.js +5 -0
  444. package/node_modules/semver/functions/compare.js +7 -0
  445. package/node_modules/semver/functions/diff.js +60 -0
  446. package/node_modules/semver/functions/eq.js +5 -0
  447. package/node_modules/semver/functions/gt.js +5 -0
  448. package/node_modules/semver/functions/gte.js +5 -0
  449. package/node_modules/semver/functions/inc.js +21 -0
  450. package/node_modules/semver/functions/lt.js +5 -0
  451. package/node_modules/semver/functions/lte.js +5 -0
  452. package/node_modules/semver/functions/major.js +5 -0
  453. package/node_modules/semver/functions/minor.js +5 -0
  454. package/node_modules/semver/functions/neq.js +5 -0
  455. package/node_modules/semver/functions/parse.js +18 -0
  456. package/node_modules/semver/functions/patch.js +5 -0
  457. package/node_modules/semver/functions/prerelease.js +8 -0
  458. package/node_modules/semver/functions/rcompare.js +5 -0
  459. package/node_modules/semver/functions/rsort.js +5 -0
  460. package/node_modules/semver/functions/satisfies.js +12 -0
  461. package/node_modules/semver/functions/sort.js +5 -0
  462. package/node_modules/semver/functions/valid.js +8 -0
  463. package/node_modules/semver/index.js +91 -0
  464. package/node_modules/semver/internal/constants.js +37 -0
  465. package/node_modules/semver/internal/debug.js +11 -0
  466. package/node_modules/semver/internal/identifiers.js +29 -0
  467. package/node_modules/semver/internal/lrucache.js +42 -0
  468. package/node_modules/semver/internal/parse-options.js +17 -0
  469. package/node_modules/semver/internal/re.js +223 -0
  470. package/node_modules/semver/package.json +78 -0
  471. package/node_modules/semver/preload.js +4 -0
  472. package/node_modules/semver/range.bnf +16 -0
  473. package/node_modules/semver/ranges/gtr.js +6 -0
  474. package/node_modules/semver/ranges/intersects.js +9 -0
  475. package/node_modules/semver/ranges/ltr.js +6 -0
  476. package/node_modules/semver/ranges/max-satisfying.js +27 -0
  477. package/node_modules/semver/ranges/min-satisfying.js +26 -0
  478. package/node_modules/semver/ranges/min-version.js +63 -0
  479. package/node_modules/semver/ranges/outside.js +82 -0
  480. package/node_modules/semver/ranges/simplify.js +49 -0
  481. package/node_modules/semver/ranges/subset.js +249 -0
  482. package/node_modules/semver/ranges/to-comparators.js +10 -0
  483. package/node_modules/semver/ranges/valid.js +13 -0
  484. package/node_modules/simple-concat/.travis.yml +3 -0
  485. package/node_modules/simple-concat/LICENSE +20 -0
  486. package/node_modules/simple-concat/README.md +44 -0
  487. package/node_modules/simple-concat/index.js +15 -0
  488. package/node_modules/simple-concat/package.json +47 -0
  489. package/node_modules/simple-concat/test/basic.js +41 -0
  490. package/node_modules/simple-get/.github/dependabot.yml +15 -0
  491. package/node_modules/simple-get/.github/workflows/ci.yml +23 -0
  492. package/node_modules/simple-get/LICENSE +20 -0
  493. package/node_modules/simple-get/README.md +333 -0
  494. package/node_modules/simple-get/index.js +108 -0
  495. package/node_modules/simple-get/package.json +67 -0
  496. package/node_modules/string_decoder/LICENSE +48 -0
  497. package/node_modules/string_decoder/README.md +47 -0
  498. package/node_modules/string_decoder/lib/string_decoder.js +296 -0
  499. package/node_modules/string_decoder/package.json +34 -0
  500. package/node_modules/strip-json-comments/index.js +70 -0
  501. package/node_modules/strip-json-comments/license +21 -0
  502. package/node_modules/strip-json-comments/package.json +42 -0
  503. package/node_modules/strip-json-comments/readme.md +64 -0
  504. package/node_modules/tar-fs/.travis.yml +6 -0
  505. package/node_modules/tar-fs/LICENSE +21 -0
  506. package/node_modules/tar-fs/README.md +165 -0
  507. package/node_modules/tar-fs/index.js +363 -0
  508. package/node_modules/tar-fs/package.json +41 -0
  509. package/node_modules/tar-fs/test/fixtures/a/hello.txt +1 -0
  510. package/node_modules/tar-fs/test/fixtures/b/a/test.txt +1 -0
  511. package/node_modules/tar-fs/test/fixtures/d/file1 +0 -0
  512. package/node_modules/tar-fs/test/fixtures/d/file2 +0 -0
  513. package/node_modules/tar-fs/test/fixtures/d/sub-dir/file5 +0 -0
  514. package/node_modules/tar-fs/test/fixtures/d/sub-files/file3 +0 -0
  515. package/node_modules/tar-fs/test/fixtures/d/sub-files/file4 +0 -0
  516. package/node_modules/tar-fs/test/fixtures/e/directory/.ignore +0 -0
  517. package/node_modules/tar-fs/test/fixtures/e/file +0 -0
  518. package/node_modules/tar-fs/test/fixtures/invalid.tar +0 -0
  519. package/node_modules/tar-fs/test/index.js +346 -0
  520. package/node_modules/tar-stream/LICENSE +21 -0
  521. package/node_modules/tar-stream/README.md +168 -0
  522. package/node_modules/tar-stream/extract.js +257 -0
  523. package/node_modules/tar-stream/headers.js +295 -0
  524. package/node_modules/tar-stream/index.js +2 -0
  525. package/node_modules/tar-stream/pack.js +255 -0
  526. package/node_modules/tar-stream/package.json +58 -0
  527. package/node_modules/tar-stream/sandbox.js +11 -0
  528. package/node_modules/tunnel-agent/LICENSE +55 -0
  529. package/node_modules/tunnel-agent/README.md +4 -0
  530. package/node_modules/tunnel-agent/index.js +244 -0
  531. package/node_modules/tunnel-agent/package.json +22 -0
  532. package/node_modules/util-deprecate/History.md +16 -0
  533. package/node_modules/util-deprecate/LICENSE +24 -0
  534. package/node_modules/util-deprecate/README.md +53 -0
  535. package/node_modules/util-deprecate/browser.js +67 -0
  536. package/node_modules/util-deprecate/node.js +6 -0
  537. package/node_modules/util-deprecate/package.json +27 -0
  538. package/node_modules/wrappy/LICENSE +15 -0
  539. package/node_modules/wrappy/README.md +36 -0
  540. package/node_modules/wrappy/package.json +29 -0
  541. package/node_modules/wrappy/wrappy.js +33 -0
  542. package/package.json +12 -2
  543. package/templates/default/dot-claude/skills/fling/.hash +1 -1
  544. package/templates/default/dot-claude/skills/fling/SKILL.md +58 -29
  545. package/templates/default/dot-claude/skills/fling/references/WORKFLOWS.md +368 -0
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2021 typeguard, Inc.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,16 @@
1
+ # TS Necessities
2
+
3
+ [![CI](https://github.com/glideapps/ts-necessities/actions/workflows/ci.yml/badge.svg)](https://github.com/glideapps/ts-necessities/actions/workflows/ci.yml)
4
+ [![Docs](https://img.shields.io/badge/docs-TypeDoc-blue)](https://glideapps.github.io/ts-necessities/)
5
+
6
+ These are some very basic functions and classes that we use at [Glide](https://glideapps.com/) to make coding with TypeScript easier and safer.
7
+
8
+ [📚 API Documentation](https://glideapps.github.io/ts-necessities/)
9
+
10
+ ## Installation
11
+
12
+ To add the package to your own project:
13
+
14
+ ```shell
15
+ $ npm install @glideapps/ts-necessities
16
+ ```
@@ -0,0 +1,39 @@
1
+ /**
2
+ * A branded string is a string that has a unique type, so that it can be
3
+ * distinguished from other strings. This is useful when you want to ensure
4
+ * that a string is only used in a specific context. When assigning to a
5
+ * branded string type it's not allowed to assign a non-branded string, or a
6
+ * string of the wrong brand:
7
+ *
8
+ * ```ts
9
+ * type Apple = BrandedString<"apple">;
10
+ * type Orange = BrandedString<"orange">;
11
+ *
12
+ * const apple: Apple = brandString("Pink Lady");
13
+ * let orange: Orange = apple; // error!
14
+ * orange = "jalapeño"; // error!
15
+ * let justAString: string = apple; // This is ok
16
+ * ```
17
+ */
18
+ export type BrandedString<T extends string> = string & {
19
+ __brand: T;
20
+ };
21
+ /**
22
+ * Brands a string with the specified brand.
23
+ *
24
+ * @param s The string to brand.
25
+ */
26
+ export declare function brandString<T extends string>(s: string): BrandedString<T>;
27
+ /**
28
+ * Returns a function that brands a string with the specified brand. For
29
+ * example:
30
+ *
31
+ * ```ts
32
+ * type Apple = BrandedString<"apple">;
33
+ * // `makeApple` will be of type `(s: string) => Apple`
34
+ * const makeApple = makeBrandString<Apple>();
35
+ * // `apple` will be of type `Apple`
36
+ * const apple = makeApple("Pink Lady");
37
+ * ```
38
+ */
39
+ export declare function makeBrandString<T>(): T extends BrandedString<string> ? (s: string) => T : never;
@@ -0,0 +1,53 @@
1
+ /**
2
+ * The read-only interface of [[DefaultMap]].
3
+ *
4
+ * @typeParam K The key type.
5
+ * @typeParam V The value type.
6
+ */
7
+ export interface ReadonlyDefaultMap<K, V> extends ReadonlyMap<K, V> {
8
+ get(k: K): V;
9
+ }
10
+ /**
11
+ * A `Map` that returns default values for keys that are not present.
12
+ *
13
+ * To map strings to `Set`s of numbers, for example, `DefaultMap` can
14
+ * be used like this:
15
+ *
16
+ * ```
17
+ * const m = new DefaultMap<string, Set<number>>(() => new Set());
18
+ * m.get("foo"); // returns an empty `Set`
19
+ * m.get("bar").add(1);
20
+ * m.get("bar"); // returns a `Set` containing `1`.
21
+ * ```
22
+ *
23
+ * @typeParam K The key type.
24
+ * @typeParam V The value type.
25
+ */
26
+ export declare class DefaultMap<K, V> extends Map<K, V> implements ReadonlyDefaultMap<K, V> {
27
+ private readonly _defaultFunc;
28
+ /**
29
+ *
30
+ * @param _defaultFunc Must return the default value for key `k`. Will only be called when necessary.
31
+ * @param initKVPs An array of [key, value] arrays to initialize the map with.
32
+ */
33
+ constructor(_defaultFunc: (k: K) => V, initKVPs?: readonly (readonly [K, V])[]);
34
+ /**
35
+ * Returns the value for `k`. If `k` is not present, creates
36
+ * the default value via [[_defaultFunc]], sets that default
37
+ * as the value for `k` and returns it.
38
+ */
39
+ get(k: K): V;
40
+ /**
41
+ * Sets the value for `k` to `f(v)` where `v` is the previous
42
+ * value for `k`, or the default if not present. Returns the new
43
+ * value.
44
+ *
45
+ * These two lines are equivalent:
46
+ *
47
+ * ```
48
+ * m.set("foo", m.get("foo") + 1);
49
+ * m.update("foo", x => x + 1);
50
+ * ```
51
+ */
52
+ update(k: K, f: (v: V) => V): V;
53
+ }
@@ -0,0 +1,113 @@
1
+ /**
2
+ * Do nothing, but only compile if `_val` is of type `T`.
3
+ */
4
+ export declare function proveType<T>(_val: T): void;
5
+ /**
6
+ * Only compile if `_never` has type `never`. If run, trace the
7
+ * `message` and return `result`.
8
+ */
9
+ export declare function proveNever<T>(_never: never, message: string, result: T): never;
10
+ /**
11
+ * Throw an `Error` and trace `message`.
12
+ */
13
+ export declare function panic(message?: string): never;
14
+ /**
15
+ * Assert that `fact` is `true`. If the assertion fails, [[panic]]
16
+ * with `message`.
17
+ */
18
+ export declare function assert(fact: boolean, message?: string): asserts fact;
19
+ /**
20
+ * Only compile if `_never` has the type `never`. If run, [[panic]]
21
+ * with `message`.
22
+ */
23
+ export declare function assertNever(_never: never, message?: string): never;
24
+ /**
25
+ * If `v` is not `undefined`, return `v`. Otherwise, [[panic]] with
26
+ * a message including `reason`.
27
+ */
28
+ export declare function defined<T>(v: T | undefined, reason?: string): T;
29
+ /**
30
+ * The only thing this function does is to trace if the promise
31
+ * `p` rejects. It is useful to explain to ESLint that `p` is
32
+ * intentionally not `await`ed.
33
+ *
34
+ * @deprecated Instead of `dontAwait(x)` use `void x`.
35
+ */
36
+ export declare function dontAwait<T>(p: Promise<T> | T): void;
37
+ /**
38
+ * A promise that resolves after `ms` milliseconds.
39
+ */
40
+ export declare function sleep(ms: number): Promise<void>;
41
+ /**
42
+ * If both `a` and `b` are `undefined`, return `undefined`.
43
+ * If exactly one of the two is `undefined`, return the other.
44
+ * If both are not `undefined`, return `f(a, b)`.
45
+ */
46
+ export declare function reduceTwo<T>(a: T | undefined, b: T | undefined, f: (aa: T, bb: T) => T): T | undefined;
47
+ /**
48
+ * Remove `readonly` from all properties of `T`.
49
+ */
50
+ export type Writable<T> = {
51
+ -readonly [P in keyof T]: T[P];
52
+ };
53
+ export type DeepWritable<T> = {
54
+ -readonly [P in keyof T]: DeepWritable<T[P]>;
55
+ };
56
+ export type DeepReadonly<T> = {
57
+ readonly [P in keyof T]: DeepReadonly<T[P]>;
58
+ };
59
+ /**
60
+ * If `x` is undefined, return `undefined`. Otherwise, return `f(x)`.
61
+ */
62
+ export declare function definedMap<T, U>(x: T | undefined, f: (xx: T) => U): U | undefined;
63
+ /**
64
+ * If `x` belongs to the enum `e`, return `true`. Otherwise, return `false`.
65
+ */
66
+ export declare function isEnumValue<T extends object>(e: T, x: unknown): x is T[keyof T];
67
+ /**
68
+ * Returns whether `x` is an array.
69
+ *
70
+ * We have this because `Array.isArray(x)` returns `x is any[]`, which means
71
+ * that this code compiles without error, for example:
72
+ *
73
+ * ```typescript
74
+ * function thisShouldNotCompile(x: string | readonly string[]) {
75
+ * if (Array.isArray(x)) {
76
+ * const s = x[0];
77
+ * s.thisIsAnAny("but it's actually a string");
78
+ * }
79
+ * }
80
+ * ```
81
+ */
82
+ export declare function isArray<T, U>(x: readonly T[] | U): x is readonly T[];
83
+ export declare function isArray<T, U>(x: T[] | U): x is T[];
84
+ /**
85
+ * Returns whether `obj` has `name` as its own property.
86
+ */
87
+ export declare function hasOwnProperty<T extends string>(obj: unknown, name: T): obj is {
88
+ [P in T]: unknown;
89
+ };
90
+ /**
91
+ * Map `f` over `iterable`, and return an array of all results
92
+ * that are not `undefined`.
93
+ */
94
+ export declare function mapFilterUndefined<T, U>(iterable: Iterable<T>, f: (x: T, i: number) => U | undefined): U[];
95
+ /**
96
+ * Filters out all elements in `arr` that are `undefined`.
97
+ */
98
+ export declare function filterUndefined<T>(arr: Iterable<T | undefined>): T[];
99
+ export declare function mapRecord<T, U>(r: Record<string, T>, f: (v: T, n: string) => U): Record<string, U>;
100
+ export declare function mapRecordFilterUndefined<T, U>(r: Record<string, T>, f: (v: T, n: string) => U | undefined): Record<string, U>;
101
+ /**
102
+ * Returns a string representation of `e`, which is supposed to be an
103
+ * exception.
104
+ */
105
+ export declare function exceptionToString(e: unknown): string;
106
+ /**
107
+ * Returns the exception `e` as an instance of `Error`. If `e` is already an
108
+ * `Error`, it just returns `e`, otherwise it returns an error with
109
+ * `exceptionToString(e)`.
110
+ */
111
+ export declare function exceptionToError(e: unknown): Error;
112
+ export { DefaultMap, ReadonlyDefaultMap } from "./default-map";
113
+ export { BrandedString, brandString, makeBrandString } from "./branded-strings";
@@ -0,0 +1,113 @@
1
+ /**
2
+ * Do nothing, but only compile if `_val` is of type `T`.
3
+ */
4
+ export declare function proveType<T>(_val: T): void;
5
+ /**
6
+ * Only compile if `_never` has type `never`. If run, trace the
7
+ * `message` and return `result`.
8
+ */
9
+ export declare function proveNever<T>(_never: never, message: string, result: T): never;
10
+ /**
11
+ * Throw an `Error` and trace `message`.
12
+ */
13
+ export declare function panic(message?: string): never;
14
+ /**
15
+ * Assert that `fact` is `true`. If the assertion fails, [[panic]]
16
+ * with `message`.
17
+ */
18
+ export declare function assert(fact: boolean, message?: string): asserts fact;
19
+ /**
20
+ * Only compile if `_never` has the type `never`. If run, [[panic]]
21
+ * with `message`.
22
+ */
23
+ export declare function assertNever(_never: never, message?: string): never;
24
+ /**
25
+ * If `v` is not `undefined`, return `v`. Otherwise, [[panic]] with
26
+ * a message including `reason`.
27
+ */
28
+ export declare function defined<T>(v: T | undefined, reason?: string): T;
29
+ /**
30
+ * The only thing this function does is to trace if the promise
31
+ * `p` rejects. It is useful to explain to ESLint that `p` is
32
+ * intentionally not `await`ed.
33
+ *
34
+ * @deprecated Instead of `dontAwait(x)` use `void x`.
35
+ */
36
+ export declare function dontAwait<T>(p: Promise<T> | T): void;
37
+ /**
38
+ * A promise that resolves after `ms` milliseconds.
39
+ */
40
+ export declare function sleep(ms: number): Promise<void>;
41
+ /**
42
+ * If both `a` and `b` are `undefined`, return `undefined`.
43
+ * If exactly one of the two is `undefined`, return the other.
44
+ * If both are not `undefined`, return `f(a, b)`.
45
+ */
46
+ export declare function reduceTwo<T>(a: T | undefined, b: T | undefined, f: (aa: T, bb: T) => T): T | undefined;
47
+ /**
48
+ * Remove `readonly` from all properties of `T`.
49
+ */
50
+ export type Writable<T> = {
51
+ -readonly [P in keyof T]: T[P];
52
+ };
53
+ export type DeepWritable<T> = {
54
+ -readonly [P in keyof T]: DeepWritable<T[P]>;
55
+ };
56
+ export type DeepReadonly<T> = {
57
+ readonly [P in keyof T]: DeepReadonly<T[P]>;
58
+ };
59
+ /**
60
+ * If `x` is undefined, return `undefined`. Otherwise, return `f(x)`.
61
+ */
62
+ export declare function definedMap<T, U>(x: T | undefined, f: (xx: T) => U): U | undefined;
63
+ /**
64
+ * If `x` belongs to the enum `e`, return `true`. Otherwise, return `false`.
65
+ */
66
+ export declare function isEnumValue<T extends object>(e: T, x: unknown): x is T[keyof T];
67
+ /**
68
+ * Returns whether `x` is an array.
69
+ *
70
+ * We have this because `Array.isArray(x)` returns `x is any[]`, which means
71
+ * that this code compiles without error, for example:
72
+ *
73
+ * ```typescript
74
+ * function thisShouldNotCompile(x: string | readonly string[]) {
75
+ * if (Array.isArray(x)) {
76
+ * const s = x[0];
77
+ * s.thisIsAnAny("but it's actually a string");
78
+ * }
79
+ * }
80
+ * ```
81
+ */
82
+ export declare function isArray<T, U>(x: readonly T[] | U): x is readonly T[];
83
+ export declare function isArray<T, U>(x: T[] | U): x is T[];
84
+ /**
85
+ * Returns whether `obj` has `name` as its own property.
86
+ */
87
+ export declare function hasOwnProperty<T extends string>(obj: unknown, name: T): obj is {
88
+ [P in T]: unknown;
89
+ };
90
+ /**
91
+ * Map `f` over `iterable`, and return an array of all results
92
+ * that are not `undefined`.
93
+ */
94
+ export declare function mapFilterUndefined<T, U>(iterable: Iterable<T>, f: (x: T, i: number) => U | undefined): U[];
95
+ /**
96
+ * Filters out all elements in `arr` that are `undefined`.
97
+ */
98
+ export declare function filterUndefined<T>(arr: Iterable<T | undefined>): T[];
99
+ export declare function mapRecord<T, U>(r: Record<string, T>, f: (v: T, n: string) => U): Record<string, U>;
100
+ export declare function mapRecordFilterUndefined<T, U>(r: Record<string, T>, f: (v: T, n: string) => U | undefined): Record<string, U>;
101
+ /**
102
+ * Returns a string representation of `e`, which is supposed to be an
103
+ * exception.
104
+ */
105
+ export declare function exceptionToString(e: unknown): string;
106
+ /**
107
+ * Returns the exception `e` as an instance of `Error`. If `e` is already an
108
+ * `Error`, it just returns `e`, otherwise it returns an error with
109
+ * `exceptionToString(e)`.
110
+ */
111
+ export declare function exceptionToError(e: unknown): Error;
112
+ export { DefaultMap, ReadonlyDefaultMap } from "./default-map";
113
+ export { BrandedString, brandString, makeBrandString } from "./branded-strings";
@@ -0,0 +1,237 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/index.ts
21
+ var index_exports = {};
22
+ __export(index_exports, {
23
+ DefaultMap: () => DefaultMap,
24
+ assert: () => assert,
25
+ assertNever: () => assertNever,
26
+ brandString: () => brandString,
27
+ defined: () => defined,
28
+ definedMap: () => definedMap,
29
+ dontAwait: () => dontAwait,
30
+ exceptionToError: () => exceptionToError,
31
+ exceptionToString: () => exceptionToString,
32
+ filterUndefined: () => filterUndefined,
33
+ hasOwnProperty: () => hasOwnProperty,
34
+ isArray: () => isArray,
35
+ isEnumValue: () => isEnumValue,
36
+ makeBrandString: () => makeBrandString,
37
+ mapFilterUndefined: () => mapFilterUndefined,
38
+ mapRecord: () => mapRecord,
39
+ mapRecordFilterUndefined: () => mapRecordFilterUndefined,
40
+ panic: () => panic,
41
+ proveNever: () => proveNever,
42
+ proveType: () => proveType,
43
+ reduceTwo: () => reduceTwo,
44
+ sleep: () => sleep
45
+ });
46
+ module.exports = __toCommonJS(index_exports);
47
+
48
+ // src/default-map.ts
49
+ var DefaultMap = class extends Map {
50
+ /**
51
+ *
52
+ * @param _defaultFunc Must return the default value for key `k`. Will only be called when necessary.
53
+ * @param initKVPs An array of [key, value] arrays to initialize the map with.
54
+ */
55
+ constructor(_defaultFunc, initKVPs) {
56
+ super(initKVPs);
57
+ this._defaultFunc = _defaultFunc;
58
+ }
59
+ /**
60
+ * Returns the value for `k`. If `k` is not present, creates
61
+ * the default value via [[_defaultFunc]], sets that default
62
+ * as the value for `k` and returns it.
63
+ */
64
+ get(k) {
65
+ let v = super.get(k);
66
+ if (v === void 0) {
67
+ if (this.has(k)) return v;
68
+ v = this._defaultFunc(k);
69
+ this.set(k, v);
70
+ }
71
+ return v;
72
+ }
73
+ /**
74
+ * Sets the value for `k` to `f(v)` where `v` is the previous
75
+ * value for `k`, or the default if not present. Returns the new
76
+ * value.
77
+ *
78
+ * These two lines are equivalent:
79
+ *
80
+ * ```
81
+ * m.set("foo", m.get("foo") + 1);
82
+ * m.update("foo", x => x + 1);
83
+ * ```
84
+ */
85
+ update(k, f) {
86
+ const v = f(this.get(k));
87
+ this.set(k, v);
88
+ return v;
89
+ }
90
+ };
91
+
92
+ // src/branded-strings.ts
93
+ function brandString(s) {
94
+ return s;
95
+ }
96
+ function makeBrandString() {
97
+ return brandString;
98
+ }
99
+
100
+ // src/index.ts
101
+ function proveType(_val) {
102
+ }
103
+ function proveNever(_never, message, result) {
104
+ console.trace(message);
105
+ return result;
106
+ }
107
+ function panic(message = "This should not happen") {
108
+ console.trace(message);
109
+ throw new Error(message);
110
+ }
111
+ function assert(fact, message = "Assertion failed") {
112
+ if (fact) return;
113
+ return panic(message);
114
+ }
115
+ function assertNever(_never, message = "`never` happened") {
116
+ return panic(message);
117
+ }
118
+ function defined(v, reason) {
119
+ if (v === void 0) {
120
+ return panic("Value was undefined but should be defined" + (reason !== void 0 ? ` because: ${reason}` : ""));
121
+ }
122
+ return v;
123
+ }
124
+ function dontAwait(p) {
125
+ if (!(p instanceof Promise)) return;
126
+ p.catch((e) => {
127
+ console.trace("Unhandled error from unawaited promise", e);
128
+ throw e;
129
+ });
130
+ }
131
+ function sleep(ms) {
132
+ return new Promise((resolve) => {
133
+ setTimeout(resolve, ms);
134
+ });
135
+ }
136
+ function reduceTwo(a, b, f) {
137
+ if (a === void 0) return b;
138
+ if (b === void 0) return a;
139
+ return f(a, b);
140
+ }
141
+ function definedMap(x, f) {
142
+ if (x === void 0) return void 0;
143
+ return f(x);
144
+ }
145
+ function isEnumValue(e, x) {
146
+ return Object.keys(e).map((k) => e[k]).some((v) => v === x);
147
+ }
148
+ function isArray(x) {
149
+ return Array.isArray(x);
150
+ }
151
+ function hasOwnProperty(obj, name) {
152
+ if (obj === void 0 || obj === null) return false;
153
+ return Object.prototype.hasOwnProperty.call(obj, name);
154
+ }
155
+ function mapFilterUndefined(iterable, f) {
156
+ const result = [];
157
+ let i = 0;
158
+ for (const x of iterable) {
159
+ const y = f(x, i);
160
+ i += 1;
161
+ if (y === void 0) continue;
162
+ result.push(y);
163
+ }
164
+ return result;
165
+ }
166
+ function filterUndefined(arr) {
167
+ const result = [];
168
+ for (const x of arr) {
169
+ if (x !== void 0) {
170
+ result.push(x);
171
+ }
172
+ }
173
+ return result;
174
+ }
175
+ function mapRecord(r, f) {
176
+ const result = {};
177
+ for (const [name, value] of Object.entries(r)) {
178
+ result[name] = f(value, name);
179
+ }
180
+ return result;
181
+ }
182
+ function mapRecordFilterUndefined(r, f) {
183
+ const result = {};
184
+ for (const [name, value] of Object.entries(r)) {
185
+ const o = f(value, name);
186
+ if (o === void 0) continue;
187
+ result[name] = o;
188
+ }
189
+ return result;
190
+ }
191
+ function exceptionToString(e) {
192
+ if (e === void 0) return "";
193
+ if (hasOwnProperty(e, "message") && typeof e.message === "string") {
194
+ return e.message;
195
+ }
196
+ try {
197
+ return e.toString();
198
+ } catch (f) {
199
+ try {
200
+ return `Exception can't be stringified: ${exceptionToString(f)}`;
201
+ } catch (e2) {
202
+ return "Exception can't be stringified";
203
+ }
204
+ }
205
+ }
206
+ function exceptionToError(e) {
207
+ if (e instanceof Error) {
208
+ return e;
209
+ } else {
210
+ return new Error(exceptionToString(e));
211
+ }
212
+ }
213
+ // Annotate the CommonJS export names for ESM import in node:
214
+ 0 && (module.exports = {
215
+ DefaultMap,
216
+ assert,
217
+ assertNever,
218
+ brandString,
219
+ defined,
220
+ definedMap,
221
+ dontAwait,
222
+ exceptionToError,
223
+ exceptionToString,
224
+ filterUndefined,
225
+ hasOwnProperty,
226
+ isArray,
227
+ isEnumValue,
228
+ makeBrandString,
229
+ mapFilterUndefined,
230
+ mapRecord,
231
+ mapRecordFilterUndefined,
232
+ panic,
233
+ proveNever,
234
+ proveType,
235
+ reduceTwo,
236
+ sleep
237
+ });