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.
- package/dist/cli/commands/db.d.ts +10 -0
- package/dist/cli/commands/db.d.ts.map +1 -1
- package/dist/cli/commands/db.js +17 -0
- package/dist/cli/commands/db.js.map +1 -1
- package/dist/cli/commands/dev.d.ts.map +1 -1
- package/dist/cli/commands/dev.js +22 -7
- package/dist/cli/commands/dev.js.map +1 -1
- package/dist/cli/commands/init.js +1 -1
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/push.d.ts +1 -0
- package/dist/cli/commands/push.d.ts.map +1 -1
- package/dist/cli/commands/push.js +3 -3
- package/dist/cli/commands/push.js.map +1 -1
- package/dist/cli/commands/storage.d.ts +0 -3
- package/dist/cli/commands/storage.d.ts.map +1 -1
- package/dist/cli/commands/storage.js +1 -4
- package/dist/cli/commands/storage.js.map +1 -1
- package/dist/cli/commands/workflow.d.ts +51 -0
- package/dist/cli/commands/workflow.d.ts.map +1 -0
- package/dist/cli/commands/workflow.js +479 -0
- package/dist/cli/commands/workflow.js.map +1 -0
- package/dist/cli/deploy/bundler.d.ts.map +1 -1
- package/dist/cli/deploy/bundler.js +17 -1
- package/dist/cli/deploy/bundler.js.map +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +2 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/utils/cli-io-impl.d.ts +24 -2
- package/dist/cli/utils/cli-io-impl.d.ts.map +1 -1
- package/dist/cli/utils/cli-io-impl.js +87 -3
- package/dist/cli/utils/cli-io-impl.js.map +1 -1
- package/dist/cli/utils/cli-io.d.ts +25 -1
- package/dist/cli/utils/cli-io.d.ts.map +1 -1
- package/dist/cli/utils/project-name.d.ts +9 -0
- package/dist/cli/utils/project-name.d.ts.map +1 -1
- package/dist/cli/utils/project-name.js +28 -0
- package/dist/cli/utils/project-name.js.map +1 -1
- package/dist/cli/utils/project.d.ts +14 -1
- package/dist/cli/utils/project.d.ts.map +1 -1
- package/dist/cli/utils/project.js +16 -0
- package/dist/cli/utils/project.js.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/runtime/entry.d.ts +7 -0
- package/dist/runtime/entry.d.ts.map +1 -1
- package/dist/runtime/entry.js +71 -2
- package/dist/runtime/entry.js.map +1 -1
- package/dist/types/workflow.d.ts +82 -0
- package/dist/types/workflow.d.ts.map +1 -0
- package/dist/types/workflow.js +8 -0
- package/dist/types/workflow.js.map +1 -0
- package/dist/worker-runtime/d1-event-store.d.ts +23 -0
- package/dist/worker-runtime/d1-event-store.d.ts.map +1 -0
- package/dist/worker-runtime/d1-event-store.js +253 -0
- package/dist/worker-runtime/d1-event-store.js.map +1 -0
- package/dist/worker-runtime/entry-extract.d.ts.map +1 -1
- package/dist/worker-runtime/entry-extract.js +6 -3
- package/dist/worker-runtime/entry-extract.js.map +1 -1
- package/dist/worker-runtime/entry.d.ts.map +1 -1
- package/dist/worker-runtime/entry.js +116 -13
- package/dist/worker-runtime/entry.js.map +1 -1
- package/dist/worker-runtime/index.d.ts +2 -0
- package/dist/worker-runtime/index.d.ts.map +1 -1
- package/dist/worker-runtime/index.js +5 -0
- package/dist/worker-runtime/index.js.map +1 -1
- package/dist/workflow/runtime.d.ts +59 -0
- package/dist/workflow/runtime.d.ts.map +1 -0
- package/dist/workflow/runtime.js +483 -0
- package/dist/workflow/runtime.js.map +1 -0
- package/node_modules/@glideapps/ts-necessities/LICENSE +21 -0
- package/node_modules/@glideapps/ts-necessities/README.md +16 -0
- package/node_modules/@glideapps/ts-necessities/dist/branded-strings.d.ts +39 -0
- package/node_modules/@glideapps/ts-necessities/dist/default-map.d.ts +53 -0
- package/node_modules/@glideapps/ts-necessities/dist/index.d.mts +113 -0
- package/node_modules/@glideapps/ts-necessities/dist/index.d.ts +113 -0
- package/node_modules/@glideapps/ts-necessities/dist/index.js +237 -0
- package/node_modules/@glideapps/ts-necessities/dist/index.mjs +189 -0
- package/node_modules/@glideapps/ts-necessities/package.json +52 -0
- package/node_modules/@rollup/rollup-linux-x64-gnu/README.md +3 -0
- package/node_modules/@rollup/rollup-linux-x64-gnu/package.json +25 -0
- package/node_modules/@rollup/rollup-linux-x64-gnu/rollup.linux-x64-gnu.node +0 -0
- package/node_modules/base64-js/LICENSE +21 -0
- package/node_modules/base64-js/README.md +34 -0
- package/node_modules/base64-js/base64js.min.js +1 -0
- package/node_modules/base64-js/index.d.ts +3 -0
- package/node_modules/base64-js/index.js +150 -0
- package/node_modules/base64-js/package.json +47 -0
- package/node_modules/better-sqlite3/LICENSE +21 -0
- package/node_modules/better-sqlite3/README.md +99 -0
- package/node_modules/better-sqlite3/binding.gyp +38 -0
- package/node_modules/better-sqlite3/deps/common.gypi +68 -0
- package/node_modules/better-sqlite3/deps/copy.js +31 -0
- package/node_modules/better-sqlite3/deps/defines.gypi +41 -0
- package/node_modules/better-sqlite3/deps/download.sh +122 -0
- package/node_modules/better-sqlite3/deps/patches/1208.patch +15 -0
- package/node_modules/better-sqlite3/deps/sqlite3/sqlite3.c +265994 -0
- package/node_modules/better-sqlite3/deps/sqlite3/sqlite3.h +13968 -0
- package/node_modules/better-sqlite3/deps/sqlite3/sqlite3ext.h +730 -0
- package/node_modules/better-sqlite3/deps/sqlite3.gyp +80 -0
- package/node_modules/better-sqlite3/deps/test_extension.c +21 -0
- package/node_modules/better-sqlite3/lib/database.js +90 -0
- package/node_modules/better-sqlite3/lib/index.js +3 -0
- package/node_modules/better-sqlite3/lib/methods/aggregate.js +43 -0
- package/node_modules/better-sqlite3/lib/methods/backup.js +67 -0
- package/node_modules/better-sqlite3/lib/methods/function.js +31 -0
- package/node_modules/better-sqlite3/lib/methods/inspect.js +7 -0
- package/node_modules/better-sqlite3/lib/methods/pragma.js +12 -0
- package/node_modules/better-sqlite3/lib/methods/serialize.js +16 -0
- package/node_modules/better-sqlite3/lib/methods/table.js +189 -0
- package/node_modules/better-sqlite3/lib/methods/transaction.js +78 -0
- package/node_modules/better-sqlite3/lib/methods/wrappers.js +54 -0
- package/node_modules/better-sqlite3/lib/sqlite-error.js +20 -0
- package/node_modules/better-sqlite3/lib/util.js +12 -0
- package/node_modules/better-sqlite3/package.json +59 -0
- package/node_modules/better-sqlite3/src/addon.cpp +47 -0
- package/node_modules/better-sqlite3/src/better_sqlite3.cpp +74 -0
- package/node_modules/better-sqlite3/src/objects/backup.cpp +120 -0
- package/node_modules/better-sqlite3/src/objects/backup.hpp +36 -0
- package/node_modules/better-sqlite3/src/objects/database.cpp +417 -0
- package/node_modules/better-sqlite3/src/objects/database.hpp +103 -0
- package/node_modules/better-sqlite3/src/objects/statement-iterator.cpp +113 -0
- package/node_modules/better-sqlite3/src/objects/statement-iterator.hpp +50 -0
- package/node_modules/better-sqlite3/src/objects/statement.cpp +383 -0
- package/node_modules/better-sqlite3/src/objects/statement.hpp +58 -0
- package/node_modules/better-sqlite3/src/util/bind-map.cpp +73 -0
- package/node_modules/better-sqlite3/src/util/binder.cpp +193 -0
- package/node_modules/better-sqlite3/src/util/constants.cpp +172 -0
- package/node_modules/better-sqlite3/src/util/custom-aggregate.cpp +121 -0
- package/node_modules/better-sqlite3/src/util/custom-function.cpp +59 -0
- package/node_modules/better-sqlite3/src/util/custom-table.cpp +409 -0
- package/node_modules/better-sqlite3/src/util/data-converter.cpp +17 -0
- package/node_modules/better-sqlite3/src/util/data.cpp +194 -0
- package/node_modules/better-sqlite3/src/util/helpers.cpp +109 -0
- package/node_modules/better-sqlite3/src/util/macros.cpp +83 -0
- package/node_modules/better-sqlite3/src/util/query-macros.cpp +71 -0
- package/node_modules/better-sqlite3/src/util/row-builder.cpp +49 -0
- package/node_modules/bindings/LICENSE.md +22 -0
- package/node_modules/bindings/README.md +98 -0
- package/node_modules/bindings/bindings.js +221 -0
- package/node_modules/bindings/package.json +28 -0
- package/node_modules/bl/.travis.yml +17 -0
- package/node_modules/bl/BufferList.js +396 -0
- package/node_modules/bl/LICENSE.md +13 -0
- package/node_modules/bl/README.md +247 -0
- package/node_modules/bl/bl.js +84 -0
- package/node_modules/bl/package.json +37 -0
- package/node_modules/bl/test/convert.js +21 -0
- package/node_modules/bl/test/indexOf.js +492 -0
- package/node_modules/bl/test/isBufferList.js +32 -0
- package/node_modules/bl/test/test.js +869 -0
- package/node_modules/buffer/AUTHORS.md +70 -0
- package/node_modules/buffer/LICENSE +21 -0
- package/node_modules/buffer/README.md +410 -0
- package/node_modules/buffer/index.d.ts +186 -0
- package/node_modules/buffer/index.js +1817 -0
- package/node_modules/buffer/package.json +96 -0
- package/node_modules/chownr/LICENSE +15 -0
- package/node_modules/chownr/README.md +3 -0
- package/node_modules/chownr/chownr.js +167 -0
- package/node_modules/chownr/package.json +29 -0
- package/node_modules/decompress-response/index.d.ts +22 -0
- package/node_modules/decompress-response/index.js +58 -0
- package/node_modules/decompress-response/license +9 -0
- package/node_modules/decompress-response/package.json +56 -0
- package/node_modules/decompress-response/readme.md +48 -0
- package/node_modules/deep-extend/LICENSE +20 -0
- package/node_modules/deep-extend/README.md +91 -0
- package/node_modules/deep-extend/index.js +1 -0
- package/node_modules/deep-extend/lib/deep-extend.js +150 -0
- package/node_modules/deep-extend/package.json +62 -0
- package/node_modules/detect-libc/LICENSE +201 -0
- package/node_modules/detect-libc/README.md +163 -0
- package/node_modules/detect-libc/index.d.ts +14 -0
- package/node_modules/detect-libc/lib/detect-libc.js +313 -0
- package/node_modules/detect-libc/lib/elf.js +39 -0
- package/node_modules/detect-libc/lib/filesystem.js +51 -0
- package/node_modules/detect-libc/lib/process.js +24 -0
- package/node_modules/detect-libc/package.json +44 -0
- package/node_modules/determined/LICENSE +18 -0
- package/node_modules/determined/README.md +317 -0
- package/node_modules/determined/dist/index.cjs +370 -0
- package/node_modules/determined/dist/index.d.cts +110 -0
- package/node_modules/determined/dist/index.d.ts +110 -0
- package/node_modules/determined/dist/index.js +332 -0
- package/node_modules/determined/package.json +45 -0
- package/node_modules/end-of-stream/LICENSE +21 -0
- package/node_modules/end-of-stream/README.md +54 -0
- package/node_modules/end-of-stream/index.js +96 -0
- package/node_modules/end-of-stream/package.json +37 -0
- package/node_modules/expand-template/.travis.yml +6 -0
- package/node_modules/expand-template/LICENSE +21 -0
- package/node_modules/expand-template/README.md +43 -0
- package/node_modules/expand-template/index.js +26 -0
- package/node_modules/expand-template/package.json +29 -0
- package/node_modules/expand-template/test.js +67 -0
- package/node_modules/file-uri-to-path/.npmignore +1 -0
- package/node_modules/file-uri-to-path/.travis.yml +30 -0
- package/node_modules/file-uri-to-path/History.md +21 -0
- package/node_modules/file-uri-to-path/LICENSE +20 -0
- package/node_modules/file-uri-to-path/README.md +74 -0
- package/node_modules/file-uri-to-path/index.d.ts +2 -0
- package/node_modules/file-uri-to-path/index.js +66 -0
- package/node_modules/file-uri-to-path/package.json +32 -0
- package/node_modules/file-uri-to-path/test/test.js +24 -0
- package/node_modules/file-uri-to-path/test/tests.json +13 -0
- package/node_modules/flingflow/.nvmrc +1 -0
- package/node_modules/flingflow/AGENTS.md +5 -0
- package/node_modules/flingflow/README.md +689 -0
- package/node_modules/flingflow/SPEC.md +550 -0
- package/node_modules/flingflow/TESTING.md +508 -0
- package/node_modules/flingflow/dist/backoff.d.ts +9 -0
- package/node_modules/flingflow/dist/backoff.js +14 -0
- package/node_modules/flingflow/dist/backoff.js.map +1 -0
- package/node_modules/flingflow/dist/clock.d.ts +13 -0
- package/node_modules/flingflow/dist/clock.js +21 -0
- package/node_modules/flingflow/dist/clock.js.map +1 -0
- package/node_modules/flingflow/dist/context.d.ts +8 -0
- package/node_modules/flingflow/dist/context.js +45 -0
- package/node_modules/flingflow/dist/context.js.map +1 -0
- package/node_modules/flingflow/dist/engine.d.ts +29 -0
- package/node_modules/flingflow/dist/engine.js +306 -0
- package/node_modules/flingflow/dist/engine.js.map +1 -0
- package/node_modules/flingflow/dist/index.d.ts +18 -0
- package/node_modules/flingflow/dist/index.js +14 -0
- package/node_modules/flingflow/dist/index.js.map +1 -0
- package/node_modules/flingflow/dist/recovery.d.ts +16 -0
- package/node_modules/flingflow/dist/recovery.js +118 -0
- package/node_modules/flingflow/dist/recovery.js.map +1 -0
- package/node_modules/flingflow/dist/registry.d.ts +24 -0
- package/node_modules/flingflow/dist/registry.js +29 -0
- package/node_modules/flingflow/dist/registry.js.map +1 -0
- package/node_modules/flingflow/dist/store-memory.d.ts +30 -0
- package/node_modules/flingflow/dist/store-memory.js +385 -0
- package/node_modules/flingflow/dist/store-memory.js.map +1 -0
- package/node_modules/flingflow/dist/store-sqlite.d.ts +31 -0
- package/node_modules/flingflow/dist/store-sqlite.js +445 -0
- package/node_modules/flingflow/dist/store-sqlite.js.map +1 -0
- package/node_modules/flingflow/dist/store.d.ts +44 -0
- package/node_modules/flingflow/dist/store.js +21 -0
- package/node_modules/flingflow/dist/store.js.map +1 -0
- package/node_modules/flingflow/dist/stress.d.ts +1 -0
- package/node_modules/flingflow/dist/stress.js +377 -0
- package/node_modules/flingflow/dist/stress.js.map +1 -0
- package/node_modules/flingflow/dist/transitions.d.ts +14 -0
- package/node_modules/flingflow/dist/transitions.js +28 -0
- package/node_modules/flingflow/dist/transitions.js.map +1 -0
- package/node_modules/flingflow/dist/types.d.ts +114 -0
- package/node_modules/flingflow/dist/types.js +10 -0
- package/node_modules/flingflow/dist/types.js.map +1 -0
- package/node_modules/flingflow/eslint.config.js +94 -0
- package/node_modules/flingflow/package.json +66 -0
- package/node_modules/flingflow/src/backoff.ts +14 -0
- package/node_modules/flingflow/src/clock.ts +29 -0
- package/node_modules/flingflow/src/context.ts +60 -0
- package/node_modules/flingflow/src/engine.ts +367 -0
- package/node_modules/flingflow/src/index.ts +52 -0
- package/node_modules/flingflow/src/recovery.ts +144 -0
- package/node_modules/flingflow/src/registry.ts +52 -0
- package/node_modules/flingflow/src/store-memory.ts +418 -0
- package/node_modules/flingflow/src/store-sqlite.ts +498 -0
- package/node_modules/flingflow/src/store.ts +61 -0
- package/node_modules/flingflow/src/stress.ts +423 -0
- package/node_modules/flingflow/src/transitions.ts +38 -0
- package/node_modules/flingflow/src/types.ts +84 -0
- package/node_modules/flingflow/test/backoff.test.ts +54 -0
- package/node_modules/flingflow/test/context.test.ts +94 -0
- package/node_modules/flingflow/test/engine.test.ts +362 -0
- package/node_modules/flingflow/test/fixtures.ts +58 -0
- package/node_modules/flingflow/test/recovery.test.ts +176 -0
- package/node_modules/flingflow/test/simulation.test.ts +395 -0
- package/node_modules/flingflow/test/store-conformance.ts +386 -0
- package/node_modules/flingflow/test/store-memory.test.ts +8 -0
- package/node_modules/flingflow/test/store-sqlite.test.ts +8 -0
- package/node_modules/flingflow/tsconfig.json +18 -0
- package/node_modules/flingflow/tsconfig.lint.json +5 -0
- package/node_modules/flingflow/tsconfig.typecheck.json +20 -0
- package/node_modules/flingflow/vitest.config.ts +10 -0
- package/node_modules/fs-constants/LICENSE +21 -0
- package/node_modules/fs-constants/README.md +26 -0
- package/node_modules/fs-constants/browser.js +1 -0
- package/node_modules/fs-constants/index.js +1 -0
- package/node_modules/fs-constants/package.json +19 -0
- package/node_modules/github-from-package/.travis.yml +4 -0
- package/node_modules/github-from-package/LICENSE +18 -0
- package/node_modules/github-from-package/example/package.json +8 -0
- package/node_modules/github-from-package/example/url.js +3 -0
- package/node_modules/github-from-package/index.js +17 -0
- package/node_modules/github-from-package/package.json +30 -0
- package/node_modules/github-from-package/readme.markdown +53 -0
- package/node_modules/github-from-package/test/a.json +8 -0
- package/node_modules/github-from-package/test/b.json +5 -0
- package/node_modules/github-from-package/test/c.json +5 -0
- package/node_modules/github-from-package/test/d.json +7 -0
- package/node_modules/github-from-package/test/e.json +5 -0
- package/node_modules/github-from-package/test/url.js +19 -0
- package/node_modules/ieee754/LICENSE +11 -0
- package/node_modules/ieee754/README.md +51 -0
- package/node_modules/ieee754/index.d.ts +10 -0
- package/node_modules/ieee754/index.js +85 -0
- package/node_modules/ieee754/package.json +52 -0
- package/node_modules/inherits/LICENSE +16 -0
- package/node_modules/inherits/README.md +42 -0
- package/node_modules/inherits/inherits.js +9 -0
- package/node_modules/inherits/inherits_browser.js +27 -0
- package/node_modules/inherits/package.json +29 -0
- package/node_modules/ini/LICENSE +15 -0
- package/node_modules/ini/README.md +102 -0
- package/node_modules/ini/ini.js +206 -0
- package/node_modules/ini/package.json +33 -0
- package/node_modules/mimic-response/index.d.ts +17 -0
- package/node_modules/mimic-response/index.js +77 -0
- package/node_modules/mimic-response/license +9 -0
- package/node_modules/mimic-response/package.json +42 -0
- package/node_modules/mimic-response/readme.md +78 -0
- package/node_modules/minimist/.eslintrc +29 -0
- package/node_modules/minimist/.github/FUNDING.yml +12 -0
- package/node_modules/minimist/.nycrc +14 -0
- package/node_modules/minimist/CHANGELOG.md +298 -0
- package/node_modules/minimist/LICENSE +18 -0
- package/node_modules/minimist/README.md +121 -0
- package/node_modules/minimist/example/parse.js +4 -0
- package/node_modules/minimist/index.js +263 -0
- package/node_modules/minimist/package.json +75 -0
- package/node_modules/minimist/test/all_bool.js +34 -0
- package/node_modules/minimist/test/bool.js +177 -0
- package/node_modules/minimist/test/dash.js +43 -0
- package/node_modules/minimist/test/default_bool.js +37 -0
- package/node_modules/minimist/test/dotted.js +24 -0
- package/node_modules/minimist/test/kv_short.js +32 -0
- package/node_modules/minimist/test/long.js +33 -0
- package/node_modules/minimist/test/num.js +38 -0
- package/node_modules/minimist/test/parse.js +209 -0
- package/node_modules/minimist/test/parse_modified.js +11 -0
- package/node_modules/minimist/test/proto.js +64 -0
- package/node_modules/minimist/test/short.js +69 -0
- package/node_modules/minimist/test/stop_early.js +17 -0
- package/node_modules/minimist/test/unknown.js +104 -0
- package/node_modules/minimist/test/whitespace.js +10 -0
- package/node_modules/mkdirp-classic/LICENSE +21 -0
- package/node_modules/mkdirp-classic/README.md +18 -0
- package/node_modules/mkdirp-classic/index.js +98 -0
- package/node_modules/mkdirp-classic/package.json +18 -0
- package/node_modules/napi-build-utils/.github/workflows/run-npm-tests.yml +31 -0
- package/node_modules/napi-build-utils/LICENSE +21 -0
- package/node_modules/napi-build-utils/README.md +52 -0
- package/node_modules/napi-build-utils/index.js +214 -0
- package/node_modules/napi-build-utils/index.md +0 -0
- package/node_modules/napi-build-utils/package.json +42 -0
- package/node_modules/neverthrow/LICENSE +22 -0
- package/node_modules/neverthrow/README.md +1683 -0
- package/node_modules/neverthrow/dist/index.cjs.js +510 -0
- package/node_modules/neverthrow/dist/index.d.ts +408 -0
- package/node_modules/neverthrow/dist/index.es.js +497 -0
- package/node_modules/neverthrow/package.json +64 -0
- package/node_modules/node-abi/LICENSE +21 -0
- package/node_modules/node-abi/README.md +54 -0
- package/node_modules/node-abi/abi_registry.json +425 -0
- package/node_modules/node-abi/index.js +179 -0
- package/node_modules/node-abi/package.json +45 -0
- package/node_modules/once/LICENSE +15 -0
- package/node_modules/once/README.md +79 -0
- package/node_modules/once/once.js +42 -0
- package/node_modules/once/package.json +33 -0
- package/node_modules/prebuild-install/CHANGELOG.md +131 -0
- package/node_modules/prebuild-install/CONTRIBUTING.md +6 -0
- package/node_modules/prebuild-install/LICENSE +21 -0
- package/node_modules/prebuild-install/README.md +163 -0
- package/node_modules/prebuild-install/asset.js +44 -0
- package/node_modules/prebuild-install/bin.js +78 -0
- package/node_modules/prebuild-install/download.js +142 -0
- package/node_modules/prebuild-install/error.js +14 -0
- package/node_modules/prebuild-install/help.txt +16 -0
- package/node_modules/prebuild-install/index.js +1 -0
- package/node_modules/prebuild-install/log.js +33 -0
- package/node_modules/prebuild-install/package.json +67 -0
- package/node_modules/prebuild-install/proxy.js +35 -0
- package/node_modules/prebuild-install/rc.js +64 -0
- package/node_modules/prebuild-install/util.js +143 -0
- package/node_modules/pump/.github/FUNDING.yml +2 -0
- package/node_modules/pump/.travis.yml +5 -0
- package/node_modules/pump/LICENSE +21 -0
- package/node_modules/pump/README.md +74 -0
- package/node_modules/pump/SECURITY.md +5 -0
- package/node_modules/pump/index.js +86 -0
- package/node_modules/pump/package.json +24 -0
- package/node_modules/pump/test-browser.js +66 -0
- package/node_modules/pump/test-node.js +53 -0
- package/node_modules/rc/LICENSE.APACHE2 +15 -0
- package/node_modules/rc/LICENSE.BSD +26 -0
- package/node_modules/rc/LICENSE.MIT +24 -0
- package/node_modules/rc/README.md +227 -0
- package/node_modules/rc/browser.js +7 -0
- package/node_modules/rc/cli.js +4 -0
- package/node_modules/rc/index.js +53 -0
- package/node_modules/rc/lib/utils.js +104 -0
- package/node_modules/rc/package.json +29 -0
- package/node_modules/rc/test/ini.js +16 -0
- package/node_modules/rc/test/nested-env-vars.js +50 -0
- package/node_modules/rc/test/test.js +59 -0
- package/node_modules/readable-stream/CONTRIBUTING.md +38 -0
- package/node_modules/readable-stream/GOVERNANCE.md +136 -0
- package/node_modules/readable-stream/LICENSE +47 -0
- package/node_modules/readable-stream/README.md +106 -0
- package/node_modules/readable-stream/errors-browser.js +127 -0
- package/node_modules/readable-stream/errors.js +116 -0
- package/node_modules/readable-stream/experimentalWarning.js +17 -0
- package/node_modules/readable-stream/lib/_stream_duplex.js +126 -0
- package/node_modules/readable-stream/lib/_stream_passthrough.js +37 -0
- package/node_modules/readable-stream/lib/_stream_readable.js +1027 -0
- package/node_modules/readable-stream/lib/_stream_transform.js +190 -0
- package/node_modules/readable-stream/lib/_stream_writable.js +641 -0
- package/node_modules/readable-stream/lib/internal/streams/async_iterator.js +180 -0
- package/node_modules/readable-stream/lib/internal/streams/buffer_list.js +183 -0
- package/node_modules/readable-stream/lib/internal/streams/destroy.js +96 -0
- package/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +86 -0
- package/node_modules/readable-stream/lib/internal/streams/from-browser.js +3 -0
- package/node_modules/readable-stream/lib/internal/streams/from.js +52 -0
- package/node_modules/readable-stream/lib/internal/streams/pipeline.js +86 -0
- package/node_modules/readable-stream/lib/internal/streams/state.js +22 -0
- package/node_modules/readable-stream/lib/internal/streams/stream-browser.js +1 -0
- package/node_modules/readable-stream/lib/internal/streams/stream.js +1 -0
- package/node_modules/readable-stream/package.json +68 -0
- package/node_modules/readable-stream/readable-browser.js +9 -0
- package/node_modules/readable-stream/readable.js +16 -0
- package/node_modules/safe-buffer/LICENSE +21 -0
- package/node_modules/safe-buffer/README.md +584 -0
- package/node_modules/safe-buffer/index.d.ts +187 -0
- package/node_modules/safe-buffer/index.js +65 -0
- package/node_modules/safe-buffer/package.json +51 -0
- package/node_modules/semver/LICENSE +15 -0
- package/node_modules/semver/README.md +664 -0
- package/node_modules/semver/bin/semver.js +191 -0
- package/node_modules/semver/classes/comparator.js +143 -0
- package/node_modules/semver/classes/index.js +7 -0
- package/node_modules/semver/classes/range.js +557 -0
- package/node_modules/semver/classes/semver.js +333 -0
- package/node_modules/semver/functions/clean.js +8 -0
- package/node_modules/semver/functions/cmp.js +54 -0
- package/node_modules/semver/functions/coerce.js +62 -0
- package/node_modules/semver/functions/compare-build.js +9 -0
- package/node_modules/semver/functions/compare-loose.js +5 -0
- package/node_modules/semver/functions/compare.js +7 -0
- package/node_modules/semver/functions/diff.js +60 -0
- package/node_modules/semver/functions/eq.js +5 -0
- package/node_modules/semver/functions/gt.js +5 -0
- package/node_modules/semver/functions/gte.js +5 -0
- package/node_modules/semver/functions/inc.js +21 -0
- package/node_modules/semver/functions/lt.js +5 -0
- package/node_modules/semver/functions/lte.js +5 -0
- package/node_modules/semver/functions/major.js +5 -0
- package/node_modules/semver/functions/minor.js +5 -0
- package/node_modules/semver/functions/neq.js +5 -0
- package/node_modules/semver/functions/parse.js +18 -0
- package/node_modules/semver/functions/patch.js +5 -0
- package/node_modules/semver/functions/prerelease.js +8 -0
- package/node_modules/semver/functions/rcompare.js +5 -0
- package/node_modules/semver/functions/rsort.js +5 -0
- package/node_modules/semver/functions/satisfies.js +12 -0
- package/node_modules/semver/functions/sort.js +5 -0
- package/node_modules/semver/functions/valid.js +8 -0
- package/node_modules/semver/index.js +91 -0
- package/node_modules/semver/internal/constants.js +37 -0
- package/node_modules/semver/internal/debug.js +11 -0
- package/node_modules/semver/internal/identifiers.js +29 -0
- package/node_modules/semver/internal/lrucache.js +42 -0
- package/node_modules/semver/internal/parse-options.js +17 -0
- package/node_modules/semver/internal/re.js +223 -0
- package/node_modules/semver/package.json +78 -0
- package/node_modules/semver/preload.js +4 -0
- package/node_modules/semver/range.bnf +16 -0
- package/node_modules/semver/ranges/gtr.js +6 -0
- package/node_modules/semver/ranges/intersects.js +9 -0
- package/node_modules/semver/ranges/ltr.js +6 -0
- package/node_modules/semver/ranges/max-satisfying.js +27 -0
- package/node_modules/semver/ranges/min-satisfying.js +26 -0
- package/node_modules/semver/ranges/min-version.js +63 -0
- package/node_modules/semver/ranges/outside.js +82 -0
- package/node_modules/semver/ranges/simplify.js +49 -0
- package/node_modules/semver/ranges/subset.js +249 -0
- package/node_modules/semver/ranges/to-comparators.js +10 -0
- package/node_modules/semver/ranges/valid.js +13 -0
- package/node_modules/simple-concat/.travis.yml +3 -0
- package/node_modules/simple-concat/LICENSE +20 -0
- package/node_modules/simple-concat/README.md +44 -0
- package/node_modules/simple-concat/index.js +15 -0
- package/node_modules/simple-concat/package.json +47 -0
- package/node_modules/simple-concat/test/basic.js +41 -0
- package/node_modules/simple-get/.github/dependabot.yml +15 -0
- package/node_modules/simple-get/.github/workflows/ci.yml +23 -0
- package/node_modules/simple-get/LICENSE +20 -0
- package/node_modules/simple-get/README.md +333 -0
- package/node_modules/simple-get/index.js +108 -0
- package/node_modules/simple-get/package.json +67 -0
- package/node_modules/string_decoder/LICENSE +48 -0
- package/node_modules/string_decoder/README.md +47 -0
- package/node_modules/string_decoder/lib/string_decoder.js +296 -0
- package/node_modules/string_decoder/package.json +34 -0
- package/node_modules/strip-json-comments/index.js +70 -0
- package/node_modules/strip-json-comments/license +21 -0
- package/node_modules/strip-json-comments/package.json +42 -0
- package/node_modules/strip-json-comments/readme.md +64 -0
- package/node_modules/tar-fs/.travis.yml +6 -0
- package/node_modules/tar-fs/LICENSE +21 -0
- package/node_modules/tar-fs/README.md +165 -0
- package/node_modules/tar-fs/index.js +363 -0
- package/node_modules/tar-fs/package.json +41 -0
- package/node_modules/tar-fs/test/fixtures/a/hello.txt +1 -0
- package/node_modules/tar-fs/test/fixtures/b/a/test.txt +1 -0
- package/node_modules/tar-fs/test/fixtures/d/file1 +0 -0
- package/node_modules/tar-fs/test/fixtures/d/file2 +0 -0
- package/node_modules/tar-fs/test/fixtures/d/sub-dir/file5 +0 -0
- package/node_modules/tar-fs/test/fixtures/d/sub-files/file3 +0 -0
- package/node_modules/tar-fs/test/fixtures/d/sub-files/file4 +0 -0
- package/node_modules/tar-fs/test/fixtures/e/directory/.ignore +0 -0
- package/node_modules/tar-fs/test/fixtures/e/file +0 -0
- package/node_modules/tar-fs/test/fixtures/invalid.tar +0 -0
- package/node_modules/tar-fs/test/index.js +346 -0
- package/node_modules/tar-stream/LICENSE +21 -0
- package/node_modules/tar-stream/README.md +168 -0
- package/node_modules/tar-stream/extract.js +257 -0
- package/node_modules/tar-stream/headers.js +295 -0
- package/node_modules/tar-stream/index.js +2 -0
- package/node_modules/tar-stream/pack.js +255 -0
- package/node_modules/tar-stream/package.json +58 -0
- package/node_modules/tar-stream/sandbox.js +11 -0
- package/node_modules/tunnel-agent/LICENSE +55 -0
- package/node_modules/tunnel-agent/README.md +4 -0
- package/node_modules/tunnel-agent/index.js +244 -0
- package/node_modules/tunnel-agent/package.json +22 -0
- package/node_modules/util-deprecate/History.md +16 -0
- package/node_modules/util-deprecate/LICENSE +24 -0
- package/node_modules/util-deprecate/README.md +53 -0
- package/node_modules/util-deprecate/browser.js +67 -0
- package/node_modules/util-deprecate/node.js +6 -0
- package/node_modules/util-deprecate/package.json +27 -0
- package/node_modules/wrappy/LICENSE +15 -0
- package/node_modules/wrappy/README.md +36 -0
- package/node_modules/wrappy/package.json +29 -0
- package/node_modules/wrappy/wrappy.js +33 -0
- package/package.json +12 -2
- package/templates/default/dot-claude/skills/fling/.hash +1 -1
- package/templates/default/dot-claude/skills/fling/SKILL.md +58 -29
- 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
|
+
[](https://github.com/glideapps/ts-necessities/actions/workflows/ci.yml)
|
|
4
|
+
[](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
|
+
});
|