UNPKG

@wildboar/pkcs

Version:
47 lines (46 loc) 1.97 kB
import { ASN1Element as _Element } from "asn1-ts"; import * as $ from "asn1-ts/dist/node/functional"; import { EnvelopedData } from "../PKCS-15/EnvelopedData.ta"; import { Path } from "../PKCS-15/Path.ta"; import { ReferencedValue } from "../PKCS-15/ReferencedValue.ta"; export { EnvelopedData, _get_decoder_for_EnvelopedData, _get_encoder_for_EnvelopedData, } from "../PKCS-15/EnvelopedData.ta"; export { Path, _decode_Path, _encode_Path } from "../PKCS-15/Path.ta"; export { ReferencedValue, _get_decoder_for_ReferencedValue, _get_encoder_for_ReferencedValue, } from "../PKCS-15/ReferencedValue.ta"; /** * @summary PathOrObjects * @description * * ### ASN.1 Definition: * * ```asn1 * PathOrObjects {ObjectType} ::= CHOICE { * path Path, * objects [0] SEQUENCE OF ObjectType, * ..., * indirect-protected [1] ReferencedValue {EnvelopedData {SEQUENCE OF ObjectType}}, * direct-protected [2] EnvelopedData {SEQUENCE OF ObjectType} * } * ``` */ export declare type PathOrObjects<ObjectType> = { path: Path; } | { objects: ObjectType[]; } | { indirect_protected: ReferencedValue<EnvelopedData<ObjectType[]>>; } | { direct_protected: EnvelopedData<ObjectType[]>; } | _Element; /** * @summary Returns a function that will decode an ASN.1 element into a(n) PathOrObjects * @function * @param {_Element} el The element being decoded. * @returns A function that will decode an ASN.1 element. */ export declare function _get_decoder_for_PathOrObjects<ObjectType>(_decode_ObjectType: $.ASN1Decoder<ObjectType>): $.ASN1Decoder<$.ExtensibleChoice<PathOrObjects<ObjectType>>>; /** * @summary Returns a function that will encode a(n) PathOrObjects into an ASN.1 Element. * @function * @returns A function that will encode a(n) PathOrObjects as an ASN.1 element. */ export declare function _get_encoder_for_PathOrObjects<ObjectType>(_encode_ObjectType: $.ASN1Encoder<ObjectType>): $.ASN1Encoder<PathOrObjects<ObjectType>>;