( format?: CompressionFormat, )
| 147 | } |
| 148 | |
| 149 | export const createCompressionStream = ( |
| 150 | format?: CompressionFormat, |
| 151 | ): Transform => { |
| 152 | if (!format) { |
| 153 | return new PassThrough() |
| 154 | } |
| 155 | |
| 156 | switch (format) { |
| 157 | case CompressionFormat.GZIP: |
| 158 | return createGzip() |
| 159 | case CompressionFormat.XZ: { |
| 160 | const lzmaNative = getLzmaNative() |
| 161 | const { preset, threads } = getXzCompressionOptions(cpus().length) |
| 162 | |
| 163 | return lzmaNative.createCompressor({ |
| 164 | preset, |
| 165 | threads, |
| 166 | }) |
| 167 | } |
| 168 | default: |
| 169 | throw new Error(`Unsupported compression format: ${String(format)}`) |
| 170 | } |
| 171 | } |
| 172 | |
| 173 | export const createDecompressionStream = ( |
| 174 | format?: CompressionFormat, |
no test coverage detected