Mirror: 🎩 A tiny but capable push & pull stream library for TypeScript and Flow

Compare changes

Choose any two refs to compare.

Changed files
+83 -66
.github
src
+26
.github/workflows/mirror.yml
··· 1 + # Mirrors to https://tangled.sh/@kitten.sh (knot.kitten.sh) 2 + name: Mirror (Git Backup) 3 + on: 4 + push: 5 + branches: 6 + - main 7 + jobs: 8 + mirror: 9 + runs-on: ubuntu-latest 10 + steps: 11 + - name: Checkout repository 12 + uses: actions/checkout@v4 13 + with: 14 + fetch-depth: 0 15 + fetch-tags: true 16 + - name: Mirror 17 + env: 18 + MIRROR_SSH_KEY: ${{ secrets.MIRROR_SSH_KEY }} 19 + GIT_SSH_COMMAND: 'ssh -o StrictHostKeyChecking=yes' 20 + run: | 21 + mkdir -p ~/.ssh 22 + echo "$MIRROR_SSH_KEY" > ~/.ssh/id_rsa 23 + chmod 600 ~/.ssh/id_rsa 24 + ssh-keyscan -H knot.kitten.sh >> ~/.ssh/known_hosts 25 + git remote add mirror "git@knot.kitten.sh:kitten.sh/${GITHUB_REPOSITORY#*/}" 26 + git push --mirror mirror
+1 -4
.github/workflows/release.yml
··· 39 39 40 40 - name: PR or Publish 41 41 id: changesets 42 - uses: changesets/action@v1.4.5 42 + uses: changesets/action@v1.5.3 43 43 with: 44 44 version: pnpm changeset:version 45 45 publish: pnpm changeset:publish 46 46 env: 47 - NPM_TOKEN: ${{ secrets.NPM_TOKEN }} 48 47 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 49 48 50 49 - name: Publish Prerelease 51 50 if: steps.changesets.outputs.published != 'true' 52 51 env: 53 - NPM_TOKEN: ${{ secrets.NPM_TOKEN }} 54 52 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 55 53 run: | 56 - npm config set "//registry.npmjs.org/:_authToken" "$NPM_TOKEN" 57 54 git reset --hard origin/main 58 55 pnpm changeset version --no-git-tag --snapshot canary 59 56 pnpm changeset publish --no-git-tag --snapshot canary --tag canary
+1 -1
package.json
··· 75 75 "provenance": true 76 76 }, 77 77 "devDependencies": { 78 - "@changesets/cli": "^2.27.1", 78 + "@changesets/cli": "^2.29.6", 79 79 "@changesets/get-github-info": "^0.6.0", 80 80 "@rollup/plugin-buble": "^1.0.1", 81 81 "@rollup/plugin-commonjs": "^23.0.3",
+54 -60
pnpm-lock.yaml
··· 9 9 .: 10 10 devDependencies: 11 11 '@changesets/cli': 12 - specifier: ^2.27.1 13 - version: 2.28.1 12 + specifier: ^2.29.6 13 + version: 2.29.6(@types/node@22.13.9) 14 14 '@changesets/get-github-info': 15 15 specifier: ^0.6.0 16 16 version: 0.6.0 ··· 126 126 resolution: {integrity: sha512-aA63XwOkcl4xxQa3HjPMqOP6LiK0ZDv3mUPYEFXkpHbaFjtGggE1A61FjFzJnB+p7/oy2gA8E+rcBNl/zC1tMg==} 127 127 engines: {node: '>=6.9.0'} 128 128 129 - '@changesets/apply-release-plan@7.0.10': 130 - resolution: {integrity: sha512-wNyeIJ3yDsVspYvHnEz1xQDq18D9ifed3lI+wxRQRK4pArUcuHgCTrHv0QRnnwjhVCQACxZ+CBih3wgOct6UXw==} 129 + '@changesets/apply-release-plan@7.0.12': 130 + resolution: {integrity: sha512-EaET7As5CeuhTzvXTQCRZeBUcisoYPDDcXvgTE/2jmmypKp0RC7LxKj/yzqeh/1qFTZI7oDGFcL1PHRuQuketQ==} 131 131 132 - '@changesets/assemble-release-plan@6.0.6': 133 - resolution: {integrity: sha512-Frkj8hWJ1FRZiY3kzVCKzS0N5mMwWKwmv9vpam7vt8rZjLL1JMthdh6pSDVSPumHPshTTkKZ0VtNbE0cJHZZUg==} 132 + '@changesets/assemble-release-plan@6.0.9': 133 + resolution: {integrity: sha512-tPgeeqCHIwNo8sypKlS3gOPmsS3wP0zHt67JDuL20P4QcXiw/O4Hl7oXiuLnP9yg+rXLQ2sScdV1Kkzde61iSQ==} 134 134 135 135 '@changesets/changelog-git@0.2.1': 136 136 resolution: {integrity: sha512-x/xEleCFLH28c3bQeQIyeZf8lFXyDFVn1SgcBiR2Tw/r4IAWlk1fzxCEZ6NxQAjF2Nwtczoen3OA2qR+UawQ8Q==} 137 137 138 - '@changesets/cli@2.28.1': 139 - resolution: {integrity: sha512-PiIyGRmSc6JddQJe/W1hRPjiN4VrMvb2VfQ6Uydy2punBioQrsxppyG5WafinKcW1mT0jOe/wU4k9Zy5ff21AA==} 138 + '@changesets/cli@2.29.6': 139 + resolution: {integrity: sha512-6qCcVsIG1KQLhpQ5zE8N0PckIx4+9QlHK3z6/lwKnw7Tir71Bjw8BeOZaxA/4Jt00pcgCnCSWZnyuZf5Il05QQ==} 140 140 hasBin: true 141 141 142 142 '@changesets/config@3.1.1': ··· 151 151 '@changesets/get-github-info@0.6.0': 152 152 resolution: {integrity: sha512-v/TSnFVXI8vzX9/w3DU2Ol+UlTZcu3m0kXTjTT4KlAdwSvwutcByYwyYn9hwerPWfPkT2JfpoX0KgvCEi8Q/SA==} 153 153 154 - '@changesets/get-release-plan@4.0.8': 155 - resolution: {integrity: sha512-MM4mq2+DQU1ZT7nqxnpveDMTkMBLnwNX44cX7NSxlXmr7f8hO6/S2MXNiXG54uf/0nYnefv0cfy4Czf/ZL/EKQ==} 154 + '@changesets/get-release-plan@4.0.13': 155 + resolution: {integrity: sha512-DWG1pus72FcNeXkM12tx+xtExyH/c9I1z+2aXlObH3i9YA7+WZEVaiHzHl03thpvAgWTRaH64MpfHxozfF7Dvg==} 156 156 157 157 '@changesets/get-version-range-type@0.4.0': 158 158 resolution: {integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==} 159 159 160 - '@changesets/git@3.0.2': 161 - resolution: {integrity: sha512-r1/Kju9Y8OxRRdvna+nxpQIsMsRQn9dhhAZt94FLDeu0Hij2hnOozW8iqnHBgvu+KdnJppCveQwK4odwfw/aWQ==} 160 + '@changesets/git@3.0.4': 161 + resolution: {integrity: sha512-BXANzRFkX+XcC1q/d27NKvlJ1yf7PSAgi8JG6dt8EfbHFHi4neau7mufcSca5zRhwOL8j9s6EqsxmT+s+/E6Sw==} 162 162 163 163 '@changesets/logger@0.1.1': 164 164 resolution: {integrity: sha512-OQtR36ZlnuTxKqoW4Sv6x5YIhOmClRd5pWsjZsddYxpWs517R0HkyiefQPIytCVh4ZcC5x9XaG8KTdd5iRQUfg==} ··· 169 169 '@changesets/pre@2.0.2': 170 170 resolution: {integrity: sha512-HaL/gEyFVvkf9KFg6484wR9s0qjAXlZ8qWPDkTyKF6+zqjBe/I2mygg3MbpZ++hdi0ToqNUF8cjj7fBy0dg8Ug==} 171 171 172 - '@changesets/read@0.6.3': 173 - resolution: {integrity: sha512-9H4p/OuJ3jXEUTjaVGdQEhBdqoT2cO5Ts95JTFsQyawmKzpL8FnIeJSyhTDPW1MBRDnwZlHFEM9SpPwJDY5wIg==} 172 + '@changesets/read@0.6.5': 173 + resolution: {integrity: sha512-UPzNGhsSjHD3Veb0xO/MwvasGe8eMyNrR/sT9gR8Q3DhOQZirgKhhXv/8hVsI0QpPjR004Z9iFxoJU6in3uGMg==} 174 174 175 175 '@changesets/should-skip-package@0.1.2': 176 176 resolution: {integrity: sha512-qAK/WrqWLNCP22UDdBTMPH5f41elVDlsNyat180A33dWxuUDyNpg6fPi/FyTZwRriVjg0L8gnjJn2F9XAoF0qw==} ··· 353 353 resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} 354 354 deprecated: Use @eslint/object-schema instead 355 355 356 + '@inquirer/external-editor@1.0.1': 357 + resolution: {integrity: sha512-Oau4yL24d2B5IL4ma4UpbQigkVhzPDXLoqy1ggK4gnHg/stmkffJE4oOXHXF3uz0UEpywG68KcyXsyYpA1Re/Q==} 358 + engines: {node: '>=18'} 359 + peerDependencies: 360 + '@types/node': '>=18' 361 + peerDependenciesMeta: 362 + '@types/node': 363 + optional: true 364 + 356 365 '@isaacs/cliui@8.0.2': 357 366 resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} 358 367 engines: {node: '>=12'} ··· 829 838 resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} 830 839 engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} 831 840 832 - chardet@0.7.0: 833 - resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} 841 + chardet@2.1.0: 842 + resolution: {integrity: sha512-bNFETTG/pM5ryzQ9Ad0lJOTa6HWD/YsScAR3EnCPZRPlQh77JocYktSHOUHelyhm8IARL+o4c4F1bP5KVOjiRA==} 834 843 835 844 check-error@1.0.3: 836 845 resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} ··· 1124 1133 extendable-error@0.1.7: 1125 1134 resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==} 1126 1135 1127 - external-editor@3.1.0: 1128 - resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} 1129 - engines: {node: '>=4'} 1130 - 1131 1136 fast-deep-equal@3.1.3: 1132 1137 resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 1133 1138 ··· 1329 1334 engines: {node: '>=10'} 1330 1335 hasBin: true 1331 1336 1332 - iconv-lite@0.4.24: 1333 - resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} 1337 + iconv-lite@0.6.3: 1338 + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} 1334 1339 engines: {node: '>=0.10.0'} 1335 1340 1336 1341 ignore@5.3.2: ··· 1745 1750 resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} 1746 1751 engines: {node: '>= 0.8.0'} 1747 1752 1748 - os-tmpdir@1.0.2: 1749 - resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} 1750 - engines: {node: '>=0.10.0'} 1751 - 1752 1753 outdent@0.5.0: 1753 1754 resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} 1754 1755 ··· 2268 2269 tinyspy@2.2.1: 2269 2270 resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==} 2270 2271 engines: {node: '>=14.0.0'} 2271 - 2272 - tmp@0.0.33: 2273 - resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} 2274 - engines: {node: '>=0.6.0'} 2275 2272 2276 2273 to-regex-range@5.0.1: 2277 2274 resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} ··· 2532 2529 dependencies: 2533 2530 regenerator-runtime: 0.14.1 2534 2531 2535 - '@changesets/apply-release-plan@7.0.10': 2532 + '@changesets/apply-release-plan@7.0.12': 2536 2533 dependencies: 2537 2534 '@changesets/config': 3.1.1 2538 2535 '@changesets/get-version-range-type': 0.4.0 2539 - '@changesets/git': 3.0.2 2536 + '@changesets/git': 3.0.4 2540 2537 '@changesets/should-skip-package': 0.1.2 2541 2538 '@changesets/types': 6.1.0 2542 2539 '@manypkg/get-packages': 1.1.3 ··· 2548 2545 resolve-from: 5.0.0 2549 2546 semver: 7.7.1 2550 2547 2551 - '@changesets/assemble-release-plan@6.0.6': 2548 + '@changesets/assemble-release-plan@6.0.9': 2552 2549 dependencies: 2553 2550 '@changesets/errors': 0.2.0 2554 2551 '@changesets/get-dependents-graph': 2.1.3 ··· 2561 2558 dependencies: 2562 2559 '@changesets/types': 6.1.0 2563 2560 2564 - '@changesets/cli@2.28.1': 2561 + '@changesets/cli@2.29.6(@types/node@22.13.9)': 2565 2562 dependencies: 2566 - '@changesets/apply-release-plan': 7.0.10 2567 - '@changesets/assemble-release-plan': 6.0.6 2563 + '@changesets/apply-release-plan': 7.0.12 2564 + '@changesets/assemble-release-plan': 6.0.9 2568 2565 '@changesets/changelog-git': 0.2.1 2569 2566 '@changesets/config': 3.1.1 2570 2567 '@changesets/errors': 0.2.0 2571 2568 '@changesets/get-dependents-graph': 2.1.3 2572 - '@changesets/get-release-plan': 4.0.8 2573 - '@changesets/git': 3.0.2 2569 + '@changesets/get-release-plan': 4.0.13 2570 + '@changesets/git': 3.0.4 2574 2571 '@changesets/logger': 0.1.1 2575 2572 '@changesets/pre': 2.0.2 2576 - '@changesets/read': 0.6.3 2573 + '@changesets/read': 0.6.5 2577 2574 '@changesets/should-skip-package': 0.1.2 2578 2575 '@changesets/types': 6.1.0 2579 2576 '@changesets/write': 0.4.0 2577 + '@inquirer/external-editor': 1.0.1(@types/node@22.13.9) 2580 2578 '@manypkg/get-packages': 1.1.3 2581 2579 ansi-colors: 4.1.3 2582 2580 ci-info: 3.9.0 2583 2581 enquirer: 2.4.1 2584 - external-editor: 3.1.0 2585 2582 fs-extra: 7.0.1 2586 2583 mri: 1.2.0 2587 2584 p-limit: 2.3.0 ··· 2591 2588 semver: 7.7.1 2592 2589 spawndamnit: 3.0.1 2593 2590 term-size: 2.2.1 2591 + transitivePeerDependencies: 2592 + - '@types/node' 2594 2593 2595 2594 '@changesets/config@3.1.1': 2596 2595 dependencies: ··· 2620 2619 transitivePeerDependencies: 2621 2620 - encoding 2622 2621 2623 - '@changesets/get-release-plan@4.0.8': 2622 + '@changesets/get-release-plan@4.0.13': 2624 2623 dependencies: 2625 - '@changesets/assemble-release-plan': 6.0.6 2624 + '@changesets/assemble-release-plan': 6.0.9 2626 2625 '@changesets/config': 3.1.1 2627 2626 '@changesets/pre': 2.0.2 2628 - '@changesets/read': 0.6.3 2627 + '@changesets/read': 0.6.5 2629 2628 '@changesets/types': 6.1.0 2630 2629 '@manypkg/get-packages': 1.1.3 2631 2630 2632 2631 '@changesets/get-version-range-type@0.4.0': {} 2633 2632 2634 - '@changesets/git@3.0.2': 2633 + '@changesets/git@3.0.4': 2635 2634 dependencies: 2636 2635 '@changesets/errors': 0.2.0 2637 2636 '@manypkg/get-packages': 1.1.3 ··· 2655 2654 '@manypkg/get-packages': 1.1.3 2656 2655 fs-extra: 7.0.1 2657 2656 2658 - '@changesets/read@0.6.3': 2657 + '@changesets/read@0.6.5': 2659 2658 dependencies: 2660 - '@changesets/git': 3.0.2 2659 + '@changesets/git': 3.0.4 2661 2660 '@changesets/logger': 0.1.1 2662 2661 '@changesets/parse': 0.4.1 2663 2662 '@changesets/types': 6.1.0 ··· 2784 2783 '@humanwhocodes/module-importer@1.0.1': {} 2785 2784 2786 2785 '@humanwhocodes/object-schema@2.0.3': {} 2786 + 2787 + '@inquirer/external-editor@1.0.1(@types/node@22.13.9)': 2788 + dependencies: 2789 + chardet: 2.1.0 2790 + iconv-lite: 0.6.3 2791 + optionalDependencies: 2792 + '@types/node': 22.13.9 2787 2793 2788 2794 '@isaacs/cliui@8.0.2': 2789 2795 dependencies: ··· 3276 3282 3277 3283 chalk@5.3.0: {} 3278 3284 3279 - chardet@0.7.0: {} 3285 + chardet@2.1.0: {} 3280 3286 3281 3287 check-error@1.0.3: 3282 3288 dependencies: ··· 3665 3671 3666 3672 extendable-error@0.1.7: {} 3667 3673 3668 - external-editor@3.1.0: 3669 - dependencies: 3670 - chardet: 0.7.0 3671 - iconv-lite: 0.4.24 3672 - tmp: 0.0.33 3673 - 3674 3674 fast-deep-equal@3.1.3: {} 3675 3675 3676 3676 fast-diff@1.3.0: {} ··· 3904 3904 slash: 3.0.0 3905 3905 which-pm-runs: 1.1.0 3906 3906 3907 - iconv-lite@0.4.24: 3907 + iconv-lite@0.6.3: 3908 3908 dependencies: 3909 3909 safer-buffer: 2.1.2 3910 3910 ··· 4321 4321 prelude-ls: 1.2.1 4322 4322 type-check: 0.4.0 4323 4323 word-wrap: 1.2.5 4324 - 4325 - os-tmpdir@1.0.2: {} 4326 4324 4327 4325 outdent@0.5.0: {} 4328 4326 ··· 4860 4858 tinypool@0.8.4: {} 4861 4859 4862 4860 tinyspy@2.2.1: {} 4863 - 4864 - tmp@0.0.33: 4865 - dependencies: 4866 - os-tmpdir: 1.0.2 4867 4861 4868 4862 to-regex-range@5.0.1: 4869 4863 dependencies:
+1 -1
src/sources.ts
··· 118 118 * for the JS Iterable protocol. 119 119 */ 120 120 export function fromIterable<T>(iterable: Iterable<T> | AsyncIterable<T>): Source<T> { 121 - if (iterable[Symbol.asyncIterator]) return fromAsyncIterable(iterable as AsyncIterable<T>); 121 + if (iterable[asyncIteratorSymbol()]) return fromAsyncIterable(iterable as AsyncIterable<T>); 122 122 return sink => { 123 123 const iterator = iterable[Symbol.iterator](); 124 124 let ended = false;