@li0ard/tsemrtd
Version:
simple library for eMRTD. supports browsers, node, bun and more!
22 lines (21 loc) • 639 B
JavaScript
import { TLV } from "@li0ard/tinytlv";
import { TAGS } from "./consts/enums.js";
import { validateDataGroupTag, bytesToAscii } from "./utils.js";
/**
* Class for working with COM (Manifest)
*/
export class COM {
/**
* Get LDS and Unicode versions and data groups tags
* @param data Data of EF.COM file
*/
static load(data) {
const tlv = TLV.parse(data);
validateDataGroupTag(tlv, TAGS.COM);
return {
ldsVersion: bytesToAscii(tlv.childs[0].byteValue),
unicodeVersion: bytesToAscii(tlv.childs[1].byteValue),
tags: tlv.childs[2].byteValue
};
}
}