@peculiar/asn1-ess
Version:
ASN.1 schema based on Enhanced Security Services (ESS) for S/MIME (RFC 2634)
79 lines (78 loc) • 3.45 kB
JavaScript
;
var MLExpansionHistory_1;
Object.defineProperty(exports, "__esModule", { value: true });
exports.MLExpansionHistory = exports.MLData = exports.MLReceiptPolicy = exports.EntityIdentifier = void 0;
const tslib_1 = require("tslib");
const asn1_schema_1 = require("@peculiar/asn1-schema");
const asn1_x509_1 = require("@peculiar/asn1-x509");
const asn1_cms_1 = require("@peculiar/asn1-cms");
let EntityIdentifier = class EntityIdentifier {
constructor(params) {
if (params) {
if (params instanceof asn1_cms_1.IssuerAndSerialNumber) {
this.issuerAndSerialNumber = params;
}
else if (params instanceof asn1_x509_1.SubjectKeyIdentifier) {
this.subjectKeyIdentifier = params;
}
else {
throw new Error("Unsupported params for EntityIdentifier");
}
}
}
};
exports.EntityIdentifier = EntityIdentifier;
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: asn1_cms_1.IssuerAndSerialNumber })
], EntityIdentifier.prototype, "issuerAndSerialNumber", void 0);
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: asn1_x509_1.SubjectKeyIdentifier })
], EntityIdentifier.prototype, "subjectKeyIdentifier", void 0);
exports.EntityIdentifier = EntityIdentifier = tslib_1.__decorate([
(0, asn1_schema_1.AsnType)({ type: asn1_schema_1.AsnTypeTypes.Choice })
], EntityIdentifier);
let MLReceiptPolicy = class MLReceiptPolicy {
constructor(params = {}) {
Object.assign(this, params);
}
};
exports.MLReceiptPolicy = MLReceiptPolicy;
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: asn1_schema_1.AsnPropTypes.Null, context: 0, implicit: true })
], MLReceiptPolicy.prototype, "none", void 0);
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: asn1_x509_1.GeneralNames, repeated: "sequence", context: 1, implicit: true })
], MLReceiptPolicy.prototype, "insteadOf", void 0);
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: asn1_x509_1.GeneralNames, repeated: "sequence", context: 2, implicit: true })
], MLReceiptPolicy.prototype, "inAdditionTo", void 0);
exports.MLReceiptPolicy = MLReceiptPolicy = tslib_1.__decorate([
(0, asn1_schema_1.AsnType)({ type: asn1_schema_1.AsnTypeTypes.Choice })
], MLReceiptPolicy);
class MLData {
constructor(params = {}) {
this.mailListIdentifier = new EntityIdentifier();
this.expansionTime = new Date();
Object.assign(this, params);
}
}
exports.MLData = MLData;
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: EntityIdentifier })
], MLData.prototype, "mailListIdentifier", void 0);
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: asn1_schema_1.AsnPropTypes.GeneralizedTime })
], MLData.prototype, "expansionTime", void 0);
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: MLReceiptPolicy, optional: true })
], MLData.prototype, "mlReceiptPolicy", void 0);
let MLExpansionHistory = MLExpansionHistory_1 = class MLExpansionHistory extends asn1_schema_1.AsnArray {
constructor(items) {
super(items);
Object.setPrototypeOf(this, MLExpansionHistory_1.prototype);
}
};
exports.MLExpansionHistory = MLExpansionHistory;
exports.MLExpansionHistory = MLExpansionHistory = MLExpansionHistory_1 = tslib_1.__decorate([
(0, asn1_schema_1.AsnType)({ type: asn1_schema_1.AsnTypeTypes.Sequence, itemType: MLData })
], MLExpansionHistory);