asn1-ts
Version:
ASN.1 encoding and decoding, including BER, CER, and DER.
14 lines (13 loc) • 647 B
JavaScript
import isPrintableCharacter from "../../../validators/isPrintableCharacter.mjs";
import convertBytesToText from "../../../utils/convertBytesToText.mjs";
import { ASN1CharactersError } from "../../../errors.mjs";
import { printableStringCharacters } from "../../../values.mjs";
export default function decodePrintableString(value) {
for (const char of value) {
if (!isPrintableCharacter(char)) {
throw new ASN1CharactersError(`PrintableString can only contain these characters: ${printableStringCharacters}. `
+ `Encountered character code ${char}.`);
}
}
return convertBytesToText(value);
}