This repository has been archived on 2026-03-06. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
openclaw-extensions/wecom/node_modules/music-metadata/lib/asf/AsfUtil.js
T

33 lines
877 B
JavaScript

import * as Token from 'token-types';
import * as util from '../common/Util.js';
export function getParserForAttr(i) {
return attributeParsers[i];
}
export function parseUnicodeAttr(uint8Array) {
return util.stripNulls(util.decodeString(uint8Array, 'utf-16le'));
}
const attributeParsers = [
parseUnicodeAttr,
parseByteArrayAttr,
parseBoolAttr,
parseDWordAttr,
parseQWordAttr,
parseWordAttr,
parseByteArrayAttr
];
function parseByteArrayAttr(buf) {
return new Uint8Array(buf);
}
function parseBoolAttr(buf, offset = 0) {
return parseWordAttr(buf, offset) === 1;
}
function parseDWordAttr(buf, offset = 0) {
return Token.UINT32_LE.get(buf, offset);
}
function parseQWordAttr(buf, offset = 0) {
return Token.UINT64_LE.get(buf, offset);
}
function parseWordAttr(buf, offset = 0) {
return Token.UINT16_LE.get(buf, offset);
}