libmodulor
Version:
A TypeScript library to create platform-agnostic applications
29 lines (28 loc) • 793 B
JavaScript
import { TString } from '../base/TString.js';
export const SSHPrivatekKeyTypes = ['OPENSSH', 'RSA'];
export class TSSHPrivateKey extends TString {
static FORMAT =
// @ts-ignore
/^-----BEGIN (OPENSSH|RSA) PRIVATE KEY-----\n(.+)?\n-----END (OPENSSH|RSA) PRIVATE KEY-----$/is;
constructor(constraints) {
super({
...constraints,
format: { f: 'SSHPrivateKey', regexp: TSSHPrivateKey.FORMAT },
});
}
tName() {
return 'SSHPrivateKey';
}
example() {
return '-----BEGIN RSA PRIVATE KEY-----\nfhdsjkdsFDSFDSfgjfkhdsjf\n-----END RSA PRIVATE KEY-----';
}
htmlInputType() {
return 'password';
}
isPotentiallyLong() {
return true;
}
isSensitive() {
return true;
}
}