UNPKG

@infinito/id3

Version:
39 lines (29 loc) 758 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = genID3v2_3Frame; var _textEncoding = require("text-encoding"); var _constants = require("../constants.js"); function genID3v2_3Frame(frame_id, val) { val = new _textEncoding.TextEncoder().encode(val); var sz = val.byteLength; sz++; var buf = new Uint8Array(10 + sz); for (var i = 0; i < frame_id.length; i++) { buf[i] = frame_id.charCodeAt(i); } for (var i = _constants.constants.ID3V2_3_FRAME_SIZE_BYTES - 1; i >= 0; i--) { buf[4 + i] = sz & 0xff; sz >>= 8; } sz = val.byteLength; buf[8] = 0; buf[9] = 0; buf[10] = 1; //Encoding Byte for (var i = 0; i < sz; i++) { buf[11 + i] = val[i]; } return buf; } ;