@sphereon/pex
Version:
A Typescript implementation of the v1 and v2 DIF Presentation Exchange specification
55 lines (54 loc) • 2.47 kB
TypeScript
import { Format, InputDescriptorV1, InputDescriptorV2, PresentationDefinitionV1, PresentationDefinitionV2, SubmissionRequirement } from '@sphereon/pex-models';
import { IVerifiableCredential, IVerifiablePresentation } from '@sphereon/ssi-types';
import { ValidationError } from '../validation/validators';
export interface InputDescriptorWithIndex {
inputDescriptorIndex: number;
inputDescriptor: InputDescriptorV1 | InputDescriptorV2;
}
export type PathComponent = string | number;
export interface IInternalPresentationDefinition {
format?: Format;
id: string;
name?: string;
purpose?: string;
submission_requirements?: Array<SubmissionRequirement>;
input_descriptors: Array<{
id: string;
group?: string[];
}>;
getVersion(): PEVersion;
}
export declare class InternalPresentationDefinitionV1 implements PresentationDefinitionV1, IInternalPresentationDefinition {
input_descriptors: Array<InputDescriptorV1>;
constructor(id: string, input_descriptors: Array<InputDescriptorV1>, format?: Format, name?: string, purpose?: string, submission_requirements?: Array<SubmissionRequirement>);
format?: Format | undefined;
id: string;
name?: string | undefined;
purpose?: string | undefined;
submission_requirements?: SubmissionRequirement[] | undefined;
getVersion(): PEVersion;
}
export declare class InternalPresentationDefinitionV2 implements PresentationDefinitionV2, IInternalPresentationDefinition {
format?: Format;
frame?: any;
id: string;
input_descriptors: Array<InputDescriptorV2>;
name?: string;
purpose?: string;
submission_requirements?: Array<SubmissionRequirement>;
constructor(id: string, input_descriptors: Array<InputDescriptorV2>, format?: Format, frame?: any, name?: string, purpose?: string, submission_requirements?: Array<SubmissionRequirement>);
getVersion(): PEVersion;
}
export interface DiscoveredVersion {
version?: PEVersion;
error?: string;
v1Errors?: Array<ValidationError>;
v2Errors?: Array<ValidationError>;
}
export type IPresentationDefinition = PresentationDefinitionV1 | PresentationDefinitionV2;
export type InputFieldType = IVerifiablePresentation | IVerifiableCredential | IVerifiableCredential[] | IInternalPresentationDefinition | PresentationDefinitionV1 | PresentationDefinitionV2 | unknown;
export declare enum PEVersion {
v1 = "v1",
v2 = "v2"
}
export type OrArray<T> = T | Array<T>;