Socket
Socket
Sign inDemoInstall

@wasm-audio-decoders/common

Package Overview
Dependencies
1
Maintainers
1
Versions
25
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 8.0.0 to 9.0.0

2

package.json
{
"name": "@wasm-audio-decoders/common",
"version": "8.0.0",
"version": "9.0.0",
"description": "Web Assembly Audio Decoders Common",

@@ -5,0 +5,0 @@ "module": "index.js",

@@ -103,12 +103,31 @@ export default function WASMAudioDecoderCommon() {

crc32Table: {
value: (() => {
let crc32Table = new Int32Array(256),
i,
j,
c;
for (i = 0; i < 256; i++) {
for (c = i << 24, j = 8; j > 0; --j)
c = c & 0x80000000 ? (c << 1) ^ 0x04c11db7 : c << 1;
crc32Table[i] = c;
}
return crc32Table;
})(),
},
decodeDynString: {
value(source) {
const output = new uint8Array(source.length);
const offset = parseInt(source.substring(11, 13), 16);
const offsetReverse = 256 - offset;
let output = new uint8Array(source.length);
let offset = parseInt(source.substring(11, 13), 16);
let offsetReverse = 256 - offset;
let escaped = false,
let crcIdx,
escaped = false,
byteIndex = 0,
byte,
i = 13;
i = 21,
expectedCrc,
resultCrc = 0xffffffff;

@@ -128,6 +147,21 @@ while (i < source.length) {

output[byteIndex++] =
output[byteIndex] =
byte < offset && byte > 0 ? byte + offsetReverse : byte - offset;
resultCrc =
(resultCrc << 8) ^
WASMAudioDecoderCommon.crc32Table[
((resultCrc >> 24) ^ output[byteIndex++]) & 255
];
}
// expected crc
for (crcIdx = 0; crcIdx <= 8; crcIdx += 2)
expectedCrc |=
parseInt(source.substring(13 + crcIdx, 15 + crcIdx), 16) <<
(crcIdx * 4);
if (expectedCrc !== resultCrc)
throw new Error("WASM string decode failed crc32 validation");
return output.subarray(0, byteIndex);

@@ -143,3 +177,3 @@ },

// prettier-ignore
const puffString = String.raw`dynEncode0014u‡*t“““t“““““t““““$#“U¤¤“U¤¤3yƒ†„‰zzss|yu„svu‡yÚ&ˆ“4<054<,5T44^T44<(6U~J(44< ~A544U~6J0444ˆ†545 444J0444‰J,4U“4ˆU“‡…Ò“7U45“4U4Z“4U4U^/6545T4T44BUˆ~64CU~O4U54U~5 U5T4B4Z!4U~5U5U5T4U~6U4ZTU5U5T44~4O4U2ZTU5T44Z!4B6T44Uˆ~64B6U~O44Uˆ~4O4U~54U~5 44~C4~54U~5 44~5454Uˆ4B6Ub!444~UO4U~5 “U5“4U4ZTUŠ#44U$4†64<4~B6^“4<444~Uˆ~B4U~54Uˆ544~544~Uˆ5 µ“Uä#UJUè#5TT4U0ZTTUX5U5T4T4Uà#~4OU4U $~Cˆ4~54U~5 T44$6U\!TTT4UaT4<6T4<64<Z!44~4N4<U~5 4U”Z!4U±_TUŠ#44U•Uˆ6UÔ~B$544$6U\!4Uˆ6U¤#~B44Uä#~B$~64<6_TU‰#444U”~B~6~54<Y!44<_!T4Y!4<64~444~AN44<U~6J4U5 44J4U”[!U#44UŠO4U~54U~5 U54 “7U6844J44J 4UJ4UJ04VK(44<J44<J$4U´~54U~5 4U¤~5!TTT4U$5"U“5TTTTTTT4U$"4VK,U54<(6U~64<$6_!4< 64~6A54A544U~6#J(U’54A4U‡[!44J(44#~A4Uˆ6U“‡UŠU…[!44†64~64_!4<64~54<6T4<4]TU5 T4Y!44~44~AN4U~54U~54U5 44J(44J UÄA!U5U”#UôJU"UÔJUœ#UÔ"JU˜#U´"JT4U´ZTU5T4UôZTU5T4UDZTU5T4U$[T44~UO4U~5 UÔUô4U~U´$.U5T4UP[T4U~4~UO4U~5 U˜#<Uœ#<4U~U2$.UÄUN 44 ~UO4U~5 44!~UO4U~5 4U~4~UO4U~5 44J44J(U5 44U¤~J@44Uä~J<44UD~J844U~J44U$54U$5U‘54U$54U1^4U1^†!4U•~54U~5U”54U~6U4U^/65T4T4U$54U~4BUˆ~4O4U54U~5 UU'464U'_/54UˆU”~5T4T4U~4BUˆ~UO4U54U~5 U54Uä~4U¤~4U~U'$!44~5U5T44\T44U<~$6U\!4U#aT4U~4Uˆ~4O4U~5 U5U5U5TTT4U$"4YTU5 4Uˆ4~C5U5 U5U5444$4~64~\TUŽ5 4U~4Uˆ~5T4Y!44O4U~54U~54U5 4CYTU‹5 4Uä~4U¤~4U~4$6TU54U\!44Bæ4Bä~[!4U~4UD~4U~4Uˆ~4$6TUŒ54U\!44B†4B„~[!44U<~4U4~$5 4U"U˜#$544"†Y!454U^!44<J44<(J454U~84­U”N!#%'+/37?GOWgw‡—·×÷Uä;U”9$%& !"#`;
const puffString = String.raw`dynEncode0114db91da9bu‡*t“““t“““““t““““$#“U¤¤“U¤¤3yƒ†„‰zzss|yu„svu‡yÚ&ˆ“4<054<,5T44^T44<(6U~J(44< ~A544U~6J0444ˆ†545 444J0444‰J,4U“4ˆU“‡…Ò“7U45“4U4Z“4U4U^/6545T4T44BUˆ~64CU~O4U54U~5 U5T4B4Z!4U~5U5U5T4U~6U4ZTU5U5T44~4O4U2ZTU5T44Z!4B6T44Uˆ~64B6U~O44Uˆ~4O4U~54U~5 44~C4~54U~5 44~5454Uˆ4B6Ub!444~UO4U~5 “U5“4U4ZTUŠ#44U$4†64<4~B6^“4<444~Uˆ~B4U~54Uˆ544~544~Uˆ5 µ“Uä#UJUè#5TT4U0ZTTUX5U5T4T4Uà#~4OU4U $~Cˆ4~54U~5 T44$6U\!TTT4UaT4<6T4<64<Z!44~4N4<U~5 4U”Z!4U±_TUŠ#44U•Uˆ6UÔ~B$544$6U\!4Uˆ6U¤#~B44Uä#~B$~64<6_TU‰#444U”~B~6~54<Y!44<_!T4Y!4<64~444~AN44<U~6J4U5 44J4U”[!U#44UŠO4U~54U~5 U54 “7U6844J44J 4UJ4UJ04VK(44<J44<J$4U´~54U~5 4U¤~5!TTT4U$5"U“5TTTTTTT4U$"4VK,U54<(6U~64<$6_!4< 64~6A54A544U~6#J(U’54A4U‡[!44J(44#~A4Uˆ6U“‡UŠU…[!44†64~64_!4<64~54<6T4<4]TU5 T4Y!44~44~AN4U~54U~54U5 44J(44J UÄA!U5U”#UôJU"UÔJUœ#UÔ"JU˜#U´"JT4U´ZTU5T4UôZTU5T4UDZTU5T4U$[T44~UO4U~5 UÔUô4U~U´$.U5T4UP[T4U~4~UO4U~5 U˜#<Uœ#<4U~U2$.UÄUN 44 ~UO4U~5 44!~UO4U~5 4U~4~UO4U~5 44J44J(U5 44U¤~J@44Uä~J<44UD~J844U~J44U$54U$5U‘54U$54U1^4U1^†!4U•~54U~5U”54U~6U4U^/65T4T4U$54U~4BUˆ~4O4U54U~5 UU'464U'_/54UˆU”~5T4T4U~4BUˆ~UO4U54U~5 U54Uä~4U¤~4U~U'$!44~5U5T44\T44U<~$6U\!4U#aT4U~4Uˆ~4O4U~5 U5U5U5TTT4U$"4YTU5 4Uˆ4~C5U5 U5U5444$4~64~\TUŽ5 4U~4Uˆ~5T4Y!44O4U~54U~54U5 4CYTU‹5 4Uä~4U¤~4U~4$6TU54U\!44Bæ4Bä~[!4U~4UD~4U~4Uˆ~4$6TUŒ54U\!44B†4B„~[!44U<~4U4~$5 4U"U˜#$544"†Y!454U^!44<J44<(J454U~84­U”N!#%'+/37?GOWgw‡—·×÷Uä;U”9$%& !"#`;

@@ -146,0 +180,0 @@ WASMAudioDecoderCommon.getModule(WASMAudioDecoderCommon, puffString)

@@ -13,74 +13,74 @@ import NodeWorker from "@eshaz/web-worker";

if (!source) {
const webworkerSourceCode =
"'use strict';" +
// dependencies need to be manually resolved when stringifying this function
`(${((_Decoder, _WASMAudioDecoderCommon, _EmscriptenWASM) => {
// We're in a Web Worker
let type = "text/javascript",
isNode,
webworkerSourceCode =
"'use strict';" +
// dependencies need to be manually resolved when stringifying this function
`(${((_Decoder, _WASMAudioDecoderCommon, _EmscriptenWASM) => {
// We're in a Web Worker
// setup Promise that will be resolved once the WebAssembly Module is received
let decoder,
moduleResolve,
modulePromise = new Promise((resolve) => {
moduleResolve = resolve;
});
// setup Promise that will be resolved once the WebAssembly Module is received
let decoder,
moduleResolve,
modulePromise = new Promise((resolve) => {
moduleResolve = resolve;
});
self.onmessage = ({ data: { id, command, data } }) => {
let messagePromise = modulePromise,
messagePayload = { id },
transferList;
self.onmessage = ({ data: { id, command, data } }) => {
let messagePromise = modulePromise,
messagePayload = { id },
transferList;
if (command === "init") {
Object.defineProperties(_Decoder, {
WASMAudioDecoderCommon: { value: _WASMAudioDecoderCommon },
EmscriptenWASM: { value: _EmscriptenWASM },
module: { value: data.module },
isWebWorker: { value: true },
});
if (command === "init") {
Object.defineProperties(_Decoder, {
WASMAudioDecoderCommon: { value: _WASMAudioDecoderCommon },
EmscriptenWASM: { value: _EmscriptenWASM },
module: { value: data.module },
isWebWorker: { value: true },
});
decoder = new _Decoder(data.options);
moduleResolve();
} else if (command === "free") {
decoder.free();
} else if (command === "ready") {
messagePromise = messagePromise.then(() => decoder.ready);
} else if (command === "reset") {
messagePromise = messagePromise.then(() => decoder.reset());
} else {
// "decode":
// "decodeFrame":
// "decodeFrames":
Object.assign(
messagePayload,
decoder[command](
// detach buffers
Array.isArray(data)
? data.map((data) => new Uint8Array(data))
: new Uint8Array(data)
)
decoder = new _Decoder(data.options);
moduleResolve();
} else if (command === "free") {
decoder.free();
} else if (command === "ready") {
messagePromise = messagePromise.then(() => decoder.ready);
} else if (command === "reset") {
messagePromise = messagePromise.then(() => decoder.reset());
} else {
// "decode":
// "decodeFrame":
// "decodeFrames":
Object.assign(
messagePayload,
decoder[command](
// detach buffers
Array.isArray(data)
? data.map((data) => new Uint8Array(data))
: new Uint8Array(data)
)
);
// The "transferList" parameter transfers ownership of channel data to main thread,
// which avoids copying memory.
transferList = messagePayload.channelData
? messagePayload.channelData.map((channel) => channel.buffer)
: [];
}
messagePromise.then(() =>
self.postMessage(messagePayload, transferList)
);
// The "transferList" parameter transfers ownership of channel data to main thread,
// which avoids copying memory.
transferList = messagePayload.channelData
? messagePayload.channelData.map((channel) => channel.buffer)
: [];
}
};
}).toString()})(${Decoder}, ${WASMAudioDecoderCommon}, ${EmscriptenWASM})`;
messagePromise.then(() =>
self.postMessage(messagePayload, transferList)
);
};
}).toString()})(${Decoder}, ${WASMAudioDecoderCommon}, ${EmscriptenWASM})`;
try {
isNode = typeof process.versions.node !== "undefined";
} catch {}
const type = "text/javascript";
source = isNode
? `data:${type};base64,${Buffer.from(webworkerSourceCode).toString(
"base64"
)}`
: URL.createObjectURL(new Blob([webworkerSourceCode], { type }));
try {
// browser
source = URL.createObjectURL(new Blob([webworkerSourceCode], { type }));
} catch {
// nodejs
source = `data:${type};base64,${Buffer.from(
webworkerSourceCode
).toString("base64")}`;
}
WASMAudioDecoderCommon.modules.set(Decoder, source);

@@ -87,0 +87,0 @@ }

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc