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