{"_id":"hysnappy","_rev":"9-1407f5467298cb35004dd96bcfee5688","name":"hysnappy","dist-tags":{"latest":"1.1.1"},"versions":{"0.1.0":{"name":"hysnappy","version":"0.1.0","keywords":["snappy","compression","compress","decompress","decompression","wasm","webassembly"],"license":"MIT","_id":"hysnappy@0.1.0","maintainers":[{"name":"platypii","email":"platypii@gmail.com"}],"homepage":"https://github.com/hyparam/hysnappy#readme","bugs":{"url":"https://github.com/hyparam/hysnappy/issues"},"dist":{"shasum":"4dcdbd1528fd39f20f61d478e2e707d1cf027e67","tarball":"https://registry.npmjs.org/hysnappy/-/hysnappy-0.1.0.tgz","fileCount":5,"integrity":"sha512-2vadpKRc1W6blBOQ2LPWL+jjIduvuuwU8aZzWo5YMOz+Ev2ea4tPaiObiI5MTKry5LhNakUeBr0DZWWjcDE08Q==","signatures":[{"sig":"MEYCIQCTXaki53HWkMpxl63YGUuRN4GLQ7i4rXKkf46YIBiMGAIhAMrSQ/SnincCOE3TKdVLKRLkCeEXVBHtJEZT1DQ/pi3S","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18103},"main":"hysnappy.js","type":"module","types":"hysnappy.d.ts","gitHead":"e46b4fa160f7dd1751cbc4ab69237367d89a5728","scripts":{"lint":"eslint .","test":"vitest run","coverage":"vitest run --coverage"},"_npmUser":{"name":"platypii","email":"platypii@gmail.com"},"repository":{"url":"git+https://github.com/hyparam/hysnappy.git","type":"git"},"_npmVersion":"10.2.4","description":"snappy decompressor for wasm","directories":{},"_nodeVersion":"21.6.2","_hasShrinkwrap":false,"devDependencies":{"eslint":"8.56.0","vitest":"1.3.0","@types/node":"20.11.19","@vitest/coverage-v8":"1.3.0","eslint-plugin-jsdoc":"48.1.0","@babel/eslint-parser":"7.23.10","eslint-plugin-import":"2.29.1"},"_npmOperationalInternal":{"tmp":"tmp/hysnappy_0.1.0_1708302956556_0.6960699342220726","host":"s3://npm-registry-packages"}},"0.1.1":{"name":"hysnappy","version":"0.1.1","keywords":["snappy","compression","compress","decompress","decompression","wasm","webassembly"],"license":"MIT","_id":"hysnappy@0.1.1","maintainers":[{"name":"platypii","email":"platypii@gmail.com"}],"homepage":"https://github.com/hyparam/hysnappy#readme","bugs":{"url":"https://github.com/hyparam/hysnappy/issues"},"dist":{"shasum":"cf9045de09c42f2db90675538d84f4d01fbdd3d8","tarball":"https://registry.npmjs.org/hysnappy/-/hysnappy-0.1.1.tgz","fileCount":5,"integrity":"sha512-AWCe7Pxv7jCr6PjIGxisA/1k3u6gnozZbL8yRFqs2n3CmwvVecuRhQy1JuxOHTCsWcF1osZuCx4UhfJQ0PG0fQ==","signatures":[{"sig":"MEYCIQCOTZYK8v27zHvdd+v16rwS43lNz9psnSe6hCg2KW2PsgIhAJC7cqAUpvuqYExu7mwJJMqSefwd4WFHA74ZD+sCKZ13","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18226},"main":"hysnappy.js","type":"module","types":"hysnappy.d.ts","gitHead":"239d1773bfeb16cf741b7a8756c29ffc470a49ef","scripts":{"lint":"eslint .","test":"vitest run","coverage":"vitest run --coverage"},"_npmUser":{"name":"platypii","email":"platypii@gmail.com"},"repository":{"url":"git+https://github.com/hyparam/hysnappy.git","type":"git"},"_npmVersion":"10.2.4","description":"snappy decompressor for wasm","directories":{},"_nodeVersion":"21.6.2","_hasShrinkwrap":false,"devDependencies":{"eslint":"8.56.0","vitest":"1.3.0","@types/node":"20.11.19","@vitest/coverage-v8":"1.3.0","eslint-plugin-jsdoc":"48.1.0","@babel/eslint-parser":"7.23.10","eslint-plugin-import":"2.29.1"},"_npmOperationalInternal":{"tmp":"tmp/hysnappy_0.1.1_1708368033640_0.2307176062766063","host":"s3://npm-registry-packages"}},"0.1.2":{"name":"hysnappy","version":"0.1.2","keywords":["snappy","compression","compress","decompress","decompression","wasm","webassembly"],"license":"MIT","_id":"hysnappy@0.1.2","maintainers":[{"name":"platypii","email":"platypii@gmail.com"}],"homepage":"https://github.com/hyparam/hysnappy#readme","bugs":{"url":"https://github.com/hyparam/hysnappy/issues"},"dist":{"shasum":"388b363bdfffaa7a9f9222bc5380c3d004216044","tarball":"https://registry.npmjs.org/hysnappy/-/hysnappy-0.1.2.tgz","fileCount":5,"integrity":"sha512-bNzx45e5IZy/xYXDGmID2TQJ64VjlTpZhEzpibrPFdZxiMKup9n9IbjMFfywCvozKn5QD/UI77r/gfBiskZWTA==","signatures":[{"sig":"MEYCIQC9LhUv1B/9lDTWT7MRG/TOAg24PCKZu/gNVph4B9eUgAIhAKFOVWj368cKk67Rk1rub5sQHqAphnbMmLz+0AKMXWxV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10640},"main":"hysnappy.js","type":"module","types":"hysnappy.d.ts","gitHead":"dbfb45e39675d20a06a6d965ebf110cf2b75de24","scripts":{"lint":"eslint .","test":"vitest run","coverage":"vitest run --coverage"},"_npmUser":{"name":"platypii","email":"platypii@gmail.com"},"repository":{"url":"git+https://github.com/hyparam/hysnappy.git","type":"git"},"_npmVersion":"10.2.4","description":"snappy decompressor for wasm","directories":{},"_nodeVersion":"21.6.2","_hasShrinkwrap":false,"devDependencies":{"eslint":"8.56.0","vitest":"1.3.1","snappyjs":"0.7.0","@types/node":"20.11.19","@vitest/coverage-v8":"1.3.1","eslint-plugin-jsdoc":"48.1.0","@babel/eslint-parser":"7.23.10","eslint-plugin-import":"2.29.1"},"_npmOperationalInternal":{"tmp":"tmp/hysnappy_0.1.2_1708552967483_0.8400712127127672","host":"s3://npm-registry-packages"}},"0.2.0":{"name":"hysnappy","version":"0.2.0","keywords":["snappy","compression","compress","decompress","decompression","wasm","webassembly"],"license":"MIT","_id":"hysnappy@0.2.0","maintainers":[{"name":"platypii","email":"platypii@gmail.com"}],"homepage":"https://github.com/hyparam/hysnappy#readme","bugs":{"url":"https://github.com/hyparam/hysnappy/issues"},"dist":{"shasum":"0a710e8dc5536c9594f830e8173f58362f8dc6e4","tarball":"https://registry.npmjs.org/hysnappy/-/hysnappy-0.2.0.tgz","fileCount":5,"integrity":"sha512-BVMvlECZ8IJVk/0RuX/ptFbi7v+Gu28f//e65nS9a94KUc/oWVPhOFkdhBSt3s/jE8ASdH6ebWZEHZMNdPYv0Q==","signatures":[{"sig":"MEYCIQCB3hm1BzpM/cvY6qucrkfftuMmCtdTntfYERcGMpAdjgIhAO7TG6B69IXuo8ufvjppUpo6xMfxBA9VgvgvnZWRpm/j","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10803},"main":"hysnappy.js","type":"module","types":"hysnappy.d.ts","gitHead":"fbc903dca635e1ce202a2bc34c52a39d520bea14","scripts":{"lint":"eslint .","test":"vitest run","coverage":"vitest run --coverage"},"_npmUser":{"name":"platypii","email":"platypii@gmail.com"},"repository":{"url":"git+https://github.com/hyparam/hysnappy.git","type":"git"},"_npmVersion":"10.2.4","description":"snappy decompressor for wasm","directories":{},"_nodeVersion":"21.6.2","_hasShrinkwrap":false,"devDependencies":{"eslint":"8.57.0","vitest":"1.3.1","snappyjs":"0.7.0","@types/node":"20.11.20","@vitest/coverage-v8":"1.3.1","eslint-plugin-jsdoc":"48.2.0","@babel/eslint-parser":"7.23.10","eslint-plugin-import":"2.29.1"},"_npmOperationalInternal":{"tmp":"tmp/hysnappy_0.2.0_1709070295194_0.5677410252515902","host":"s3://npm-registry-packages"}},"0.3.0":{"name":"hysnappy","version":"0.3.0","keywords":["snappy","compression","compress","decompress","decompression","wasm","webassembly"],"license":"MIT","_id":"hysnappy@0.3.0","maintainers":[{"name":"platypii","email":"platypii@gmail.com"}],"homepage":"https://github.com/hyparam/hysnappy#readme","bugs":{"url":"https://github.com/hyparam/hysnappy/issues"},"dist":{"shasum":"4eb13370647b41b69e10e39244ecad7fd54e10b0","tarball":"https://registry.npmjs.org/hysnappy/-/hysnappy-0.3.0.tgz","fileCount":5,"integrity":"sha512-xbYLH49qstqAD8Fb+j5sAO1o+Eh9XLJweAvUXAz+0Y9NTPEhFVCp59thvpNvYog0US01neHCs4ZdwmlakuhN6Q==","signatures":[{"sig":"MEQCIFM2cVGB24qn6NuA/7VLHyau1dHjhe1ECvVr0Cqz56D+AiAxgUA7vOUqGaTdnyXAwcKrpgiQ6WQMSdjRee8rkupVrw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10707},"main":"hysnappy.js","type":"module","types":"hysnappy.d.ts","gitHead":"4a0e9327caa0548b617ce6d483f64b9b59202abf","scripts":{"lint":"eslint .","test":"vitest run","coverage":"vitest run --coverage"},"_npmUser":{"name":"platypii","email":"platypii@gmail.com"},"repository":{"url":"git+https://github.com/hyparam/hysnappy.git","type":"git"},"_npmVersion":"10.2.4","description":"snappy decompressor for wasm","directories":{},"_nodeVersion":"21.6.2","_hasShrinkwrap":false,"devDependencies":{"eslint":"8.57.0","vitest":"1.3.1","snappyjs":"0.7.0","@types/node":"20.11.21","@vitest/coverage-v8":"1.3.1","eslint-plugin-jsdoc":"48.2.0","@babel/eslint-parser":"7.23.10","eslint-plugin-import":"2.29.1"},"_npmOperationalInternal":{"tmp":"tmp/hysnappy_0.3.0_1709091312183_0.5886720488067536","host":"s3://npm-registry-packages"}},"0.3.1":{"name":"hysnappy","version":"0.3.1","keywords":["snappy","compression","compress","decompress","decompression","wasm","webassembly"],"license":"MIT","_id":"hysnappy@0.3.1","maintainers":[{"name":"platypii","email":"platypii@gmail.com"}],"homepage":"https://github.com/hyparam/hysnappy#readme","bugs":{"url":"https://github.com/hyparam/hysnappy/issues"},"dist":{"shasum":"dd823a4b1de7980f6deac7cc77d28c061605872e","tarball":"https://registry.npmjs.org/hysnappy/-/hysnappy-0.3.1.tgz","fileCount":5,"integrity":"sha512-Hv2cv3pzoqxFVaTOnSoTMoXAd1WhWwlkvxMmr1cUlOXSs8hF03vsYZPXPkrTFSBF7abDkfZZtYcbz8ZBglsRYw==","signatures":[{"sig":"MEYCIQCEUe3DsP1OVk7jcmYM4VgE37wPsZ/ENj93FwYZ2jS/iQIhAO/hRMWLsFdkD0rxVLuOc/6TrdMXAU80sxZiAOAMtueY","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12196},"main":"hysnappy.js","type":"module","types":"hysnappy.d.ts","gitHead":"91a9cafbbe5e6f9f8ac603c20c36f7d373c041e9","scripts":{"lint":"eslint .","test":"vitest run","coverage":"vitest run --coverage"},"_npmUser":{"name":"platypii","email":"platypii@gmail.com"},"repository":{"url":"git+https://github.com/hyparam/hysnappy.git","type":"git"},"_npmVersion":"10.5.0","description":"snappy decompressor for wasm","directories":{},"_nodeVersion":"21.7.3","_hasShrinkwrap":false,"devDependencies":{"eslint":"8.57.0","vitest":"1.5.2","snappyjs":"0.7.0","@types/node":"20.12.7","@vitest/coverage-v8":"1.5.2","eslint-plugin-jsdoc":"48.2.3","@babel/eslint-parser":"7.24.1","eslint-plugin-import":"2.29.1"},"_npmOperationalInternal":{"tmp":"tmp/hysnappy_0.3.1_1714166106081_0.1409145889471204","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"hysnappy","version":"1.0.0","keywords":["snappy","codec","compression","compress","decompress","decompression","decompressor","parquet","wasm","webassembly"],"license":"MIT","_id":"hysnappy@1.0.0","maintainers":[{"name":"platypii","email":"platypii@gmail.com"}],"homepage":"https://github.com/hyparam/hysnappy#readme","bugs":{"url":"https://github.com/hyparam/hysnappy/issues"},"dist":{"shasum":"c68dce897995dc17d8433231919c2bb80c702822","tarball":"https://registry.npmjs.org/hysnappy/-/hysnappy-1.0.0.tgz","fileCount":5,"integrity":"sha512-MNrC4NfwDGPb889O6gIfEtbvEZCSWUsSEhsz4Oq2FRcpGtXHfeVz3KciSPp5Pnnz1NjFMgDQNfxdJozymJEDDA==","signatures":[{"sig":"MEYCIQC68q3fjgjw9gQBYI5Gkr75No5JlLhNGJRlzq6TNAPmWgIhALJfsxBJlEvx/PgnLyRdWNZIf9RKaj3L4hkxO/cAEy6o","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12195},"main":"hysnappy.js","type":"module","types":"hysnappy.d.ts","gitHead":"12a20d81fad463034b1fd4634e8a99b94938123b","scripts":{"lint":"eslint .","test":"vitest run","coverage":"vitest run --coverage"},"_npmUser":{"name":"platypii","email":"platypii@gmail.com"},"repository":{"url":"git+https://github.com/hyparam/hysnappy.git","type":"git"},"_npmVersion":"10.9.0","description":"snappy decompressor for wasm","directories":{},"_nodeVersion":"22.11.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"9.16.0","vitest":"2.1.8","snappyjs":"0.7.0","typescript":"5.7.2","@types/node":"22.10.1","@vitest/coverage-v8":"2.1.8","eslint-plugin-jsdoc":"50.6.0"},"_npmOperationalInternal":{"tmp":"tmp/hysnappy_1.0.0_1733464599905_0.16115538523735817","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"hysnappy","version":"1.1.0","keywords":["snappy","codec","compression","compress","decompress","decompression","decompressor","parquet","wasm","webassembly"],"author":{"name":"Hyperparam"},"license":"MIT","_id":"hysnappy@1.1.0","maintainers":[{"name":"platypii","email":"platypii@gmail.com"}],"homepage":"https://hyperparam.app","bugs":{"url":"https://github.com/hyparam/hysnappy/issues"},"dist":{"shasum":"44d6d310d73df228a27cc975fde681ddc2c66892","tarball":"https://registry.npmjs.org/hysnappy/-/hysnappy-1.1.0.tgz","fileCount":8,"integrity":"sha512-64lx9/xpB2pBnDCgZIF/RAQn0L1919Ude4BrakzIEEzrSIgOv42PHNm7243QPSQoqVBHysIBJPPwfdALBePoug==","signatures":[{"sig":"MEUCIQD0l6UGuyUHSG1E0iqj8q7eS1qClv7lXsKmxcn3uDDLXwIgaS6sLwPDK8ypDukZpg6h0lOibwrZNTvOUX5UoKkzbwA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18681},"main":"js/index.js","type":"module","types":"js/index.d.ts","gitHead":"a181f0f46cf71d689589e7a3556aa9996f532e47","scripts":{"lint":"eslint .","test":"vitest run","coverage":"vitest run --coverage","lint:fix":"eslint . --fix"},"_npmUser":{"name":"platypii","email":"platypii@gmail.com"},"repository":{"url":"git+https://github.com/hyparam/hysnappy.git","type":"git"},"_npmVersion":"11.3.0","description":"snappy decompressor for wasm","directories":{},"sideEffects":false,"_nodeVersion":"24.10.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"9.39.2","vitest":"4.0.15","typescript":"5.9.3","@types/node":"24.10.2","@vitest/coverage-v8":"4.0.15","eslint-plugin-jsdoc":"61.5.0"},"_npmOperationalInternal":{"tmp":"tmp/hysnappy_1.1.0_1765654157590_0.31906443341513424","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"hysnappy","version":"1.1.1","description":"fast and tiny snappy compression in wasm","author":{"name":"Hyperparam"},"homepage":"https://hyperparam.app","keywords":["snappy","codec","compress","compression","compressor","decompress","decompression","decompressor","hyperparam","hyparquet","parquet","wasm","webassembly"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/hyparam/hysnappy.git"},"type":"module","types":"js/index.d.ts","main":"js/index.js","sideEffects":false,"scripts":{"coverage":"vitest run --coverage","lint":"eslint .","lint:fix":"eslint . --fix","test":"vitest run"},"devDependencies":{"@types/node":"25.3.0","@vitest/coverage-v8":"4.0.18","eslint":"9.39.2","eslint-plugin-jsdoc":"62.7.0","typescript":"5.9.3","vitest":"4.0.18"},"_id":"hysnappy@1.1.1","gitHead":"fab2cda3910eea3d13dd69375de16a2100131285","bugs":{"url":"https://github.com/hyparam/hysnappy/issues"},"_nodeVersion":"24.13.1","_npmVersion":"11.3.0","dist":{"integrity":"sha512-/V9XcN2NtRyWjR4LYMfvnvasVVF8jbT/ej0eofBQjZel91E3D813FQ3mQC6gDSMMTCq/FJh28XHeyqr3I/oBRw==","shasum":"30b688c94f6537e418f8b502a7e65cdc0b942341","tarball":"https://registry.npmjs.org/hysnappy/-/hysnappy-1.1.1.tgz","fileCount":7,"unpackedSize":19075,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQC+Pfc5ROZ6oVBJ6KzvqW3zioOlKf97UIGhYoj45dhb8wIhALHPqRDJxjHMX7QuLTk1aMG4sHFHGh/PBnZAtAQU6kKf"}]},"_npmUser":{"name":"platypii","email":"platypii@gmail.com"},"directories":{},"maintainers":[{"name":"platypii","email":"platypii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/hysnappy_1.1.1_1771732580083_0.0715229215399924"},"_hasShrinkwrap":false}},"time":{"created":"2024-02-19T00:35:56.555Z","modified":"2026-02-22T03:56:20.343Z","0.1.0":"2024-02-19T00:35:56.702Z","0.1.1":"2024-02-19T18:40:33.795Z","0.1.2":"2024-02-21T22:02:47.708Z","0.2.0":"2024-02-27T21:44:55.379Z","0.3.0":"2024-02-28T03:35:12.336Z","0.3.1":"2024-04-26T21:15:06.306Z","1.0.0":"2024-12-06T05:56:40.130Z","1.1.0":"2025-12-13T19:29:17.753Z","1.1.1":"2026-02-22T03:56:20.247Z"},"bugs":{"url":"https://github.com/hyparam/hysnappy/issues"},"author":{"name":"Hyperparam"},"license":"MIT","homepage":"https://hyperparam.app","keywords":["snappy","codec","compress","compression","compressor","decompress","decompression","decompressor","hyperparam","hyparquet","parquet","wasm","webassembly"],"repository":{"type":"git","url":"git+https://github.com/hyparam/hysnappy.git"},"description":"fast and tiny snappy compression in wasm","maintainers":[{"name":"platypii","email":"platypii@gmail.com"}],"readme":"# HySnappy\n\n![hysnappy penguin](hysnappy.jpg)\n\n[![npm](https://img.shields.io/npm/v/hysnappy)](https://www.npmjs.com/package/hysnappy)\n[![minzipped](https://img.shields.io/bundlephobia/minzip/hysnappy)](https://www.npmjs.com/package/hysnappy)\n[![workflow status](https://github.com/hyparam/hysnappy/actions/workflows/ci.yml/badge.svg)](https://github.com/hyparam/hysnappy/actions)\n[![mit license](https://img.shields.io/badge/License-MIT-orange.svg)](https://opensource.org/licenses/MIT)\n[![dependencies](https://img.shields.io/badge/Dependencies-0-blueviolet)](https://www.npmjs.com/package/hysnappy?activeTab=dependencies)\n\n**HySnappy** is a lightweight, high-performance Snappy compression/decompression library compiled to WebAssembly. It provides:\n- Very fast Snappy compression/decompression suitable for web and Node.js environments.\n- A minimal footprint with no external dependencies.\n- Seamless integration with tools like [Hyparquet](https://github.com/hyparam/hyparquet).\n\n\nThe Snappy compression format, originally released by Google, is designed for high-speed and reasonable compression ratios. HySnappy leverages these strengths by providing a WebAssembly build that can be included directly in your JavaScript bundle for optimal performance.\n\n## Usage\n\n### Decompress Snappy Data\n\nThe `snappyUncompress` function requires arguments:\n - `compressed`: a `Uint8Array` with compressed data.\n - `outputLength`: the uncompressed size of the data.\n\nThe length is needed to know how much wasm memory to allocate.\nFor formats like parquet, this length will generally be known in advance.\n\nTo decompress a `Uint8Array` with known output length:\n\n```javascript\nconst { snappyUncompress } = await import('hysnappy')\n\nconst compressed = new Uint8Array([\n  0x0a, 0x24, 0x68, 0x79, 0x70, 0x65, 0x72, 0x70, 0x61, 0x72, 0x61, 0x6d\n])\nconst outputLength = 10\nconst output = snappyUncompress(compressed, outputLength) // hyperparam\n```\n\n### Compress Snappy Data\n\nUse the `snappyCompress` function to compress a `Uint8Array`:\n\n```javascript\nconst { snappyCompress } = await import('hysnappy')\n\nconst input = new Uint8Array([\n  0x68, 0x79, 0x70, 0x61, 0x72, 0x61, 0x6d\n])\nconst compressed = snappyCompress(input)\n```\n\n## Hyparquet Integration\n\nHysnappy was built specifically to accelerate the [hyparquet](https://github.com/hyparam/hyparquet) parquet parsing library.\n\nHysnappy exports a loader function `snappyUncompressor()` which loads the WASM module once, and returns a pre-loaded version of `snappyUncompress` function.\n\nTo use hysnappy with hyparquet:\n\n```javascript\nimport { parquetQuery } from 'hyparquet'\nimport { snappyUncompressor } from 'hysnappy'\n\nawait parquetQuery({\n  file,\n  compressors: {\n    SNAPPY: snappyUncompressor(),\n  },\n})\n```\n\nAlternatively, check out [hyparquet-compressors](https://github.com/hyparam/hyparquet-compressors) which includes hysnappy decompression.\n\nHysnappy can also be used to accelerate compression in the [hyparquet-writer](https://github.com/hyparam/hyparquet-writer) library (read the [advanced usage section](https://github.com/hyparam/hyparquet-writer#advanced-usage) for details).\n\n## Development\n\nThe build uses clang _without_ emscripten, in order to produce the smallest possible binary.\n\nRun `make` to build from source. The build process consists of:\n\n1. Compile from c to wasm using `clang`.\n2. Encode wasm as base64 to `uncompress.wasm.base64` and `compress.wasm.base64`.\n3. Insert base64 strings into `uncompress.js` and `compress.js` for distribution.\n\n## WASM Loading\n\nBy keeping wasm files under 4kb, we can include it directly in the javascript files and load the WASM blob synchronously, which is faster than loading a separate `.wasm` file. [[web.dev]](https://web.dev/articles/loading-wasm)\n\n## References\n\n - https://en.wikipedia.org/wiki/Snappy_(compression)\n - https://github.com/andikleen/snappy-c\n - https://github.com/google/snappy\n - https://github.com/zhipeng-jia/snappyjs\n - https://web.dev/articles/loading-wasm\n","readmeFilename":"README.md"}