( data: string | number[], encoding?: string, compression?: string, )
| 146 | * @returns Decoded data |
| 147 | */ |
| 148 | export function decode( |
| 149 | data: string | number[], |
| 150 | encoding?: string, |
| 151 | compression?: string, |
| 152 | ): number[] | Uint32Array { |
| 153 | const comp = compression || "none"; |
| 154 | const enc = encoding || "none"; |
| 155 | |
| 156 | switch (enc) { |
| 157 | case "csv": |
| 158 | return decodeCSV(data as string); |
| 159 | |
| 160 | case "base64": |
| 161 | if (comp !== "none") { |
| 162 | return decompress(data as string, comp); |
| 163 | } else { |
| 164 | return decodeBase64AsArray(data as string, 4); |
| 165 | } |
| 166 | |
| 167 | case "none": |
| 168 | return data as number[]; |
| 169 | |
| 170 | case "xml": |
| 171 | throw new Error("XML encoding is deprecated, use base64 instead"); |
| 172 | |
| 173 | default: |
| 174 | throw new Error(`Unknown layer encoding: ${enc}`); |
| 175 | } |
| 176 | } |
no test coverage detected