UNPKG

ts-spiffe

Version:
46 lines 1.44 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.TrustDomain = void 0; const SpiffeId_1 = require("./SpiffeId"); const exception_1 = require("../exception"); class TrustDomain { constructor(trustDomain) { this.name = trustDomain; } toString() { return this.name; } toIdString() { return SpiffeId_1.SpiffeId.SPIFFE_SCHEME + "://" + this.name; } newSpiffeId(...segments) { return SpiffeId_1.SpiffeId.fromSegments(this, segments); } static parse(idOrName) { if (idOrName.includes(":/")) { const spiffeId = SpiffeId_1.SpiffeId.parse(idOrName); return spiffeId.getTrustDomain(); } TrustDomain.validateTrustDomainName(idOrName); return new TrustDomain(idOrName); } static validateTrustDomainName(name) { const chars = [...name]; for (const c in chars) { if (!TrustDomain.isValidTrustDomainChar(c)) { throw new exception_1.InvalidSpiffeIdError(SpiffeId_1.SpiffeId.BAD_TRUST_DOMAIN_CHAR); } } } static isValidTrustDomainChar(c) { if (c >= 'a' && c <= 'z') { return true; } if (c >= '0' && c <= '9') { return true; } return c == '-' || c == '.' || c == '_'; } } exports.TrustDomain = TrustDomain; //# sourceMappingURL=TrustDomain.js.map