MCPcopy Create free account
hub / github.com/melonjs/melonJS / decode

Function decode

packages/melonjs/src/utils/decode.ts:148–176  ·  view source on GitHub ↗
(
	data: string | number[],
	encoding?: string,
	compression?: string,
)

Source from the content-addressed store, hash-verified

146 * @returns Decoded data
147 */
148export 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}

Callers 2

normalizeTMXFunction · 0.90
tmxutils.spec.jsFile · 0.90

Calls 3

decodeCSVFunction · 0.85
decompressFunction · 0.85
decodeBase64AsArrayFunction · 0.85

Tested by

no test coverage detected