gnablib
Version:
A lean, zero dependency library to provide a useful base for your project.
2 lines • 636 B
JavaScript
/*! Copyright 2023-2024 the gnablib contributors MPL-1.1 */
import{getRandomValues as r}from"crypto";import{ContentError as t}from"../../error/ContentError.js";import{LengthError as n}from"../../error/LengthError.js";export class AnsiX9_23{static padSize(r,t){return r<=t?t:0}static pad(t,o,e=0){const s=new Uint8Array(o),a=o-(t.length-e);if(a<0)throw new n(o,"input",o-a);const i=new Uint8Array(a-1);return r(i),s.set(t.subarray(e)),s.set(i,o-a),s[o-1]=i.length+1,s}static unpad(r,n=0){0==n&&(n=r.length-1);const o=r[n];if(n-o<-1)throw new t("count too large","last byte",o);return r.subarray(0,n-o+1)}}export const Iso10126=AnsiX9_23;