@animo-id/pex
Version:
A Typescript implementation of the v1 and v2 DIF Presentation Exchange specification
67 lines (66 loc) • 3.52 kB
TypeScript
import { Format, PresentationSubmission } from '@sphereon/pex-models';
import { Status } from '../ConstraintUtils';
import { PresentationSubmissionLocation } from '../signing';
import { IInternalPresentationDefinition, OrArray } from '../types';
import { WrappedVerifiableCredential, WrappedVerifiablePresentation } from '../types/PexCredentialMapper';
import { EvaluationResults, PresentationEvaluationResults, SelectResults, SubmissionRequirementMatch } from './core';
import { EvaluationClient } from './evaluationClient';
export declare class EvaluationClientWrapper {
private _client;
constructor();
getEvaluationClient(): EvaluationClient;
selectFrom(presentationDefinition: IInternalPresentationDefinition, wrappedVerifiableCredentials: WrappedVerifiableCredential[], opts?: {
holderDIDs?: string[];
limitDisclosureSignatureSuites?: string[];
restrictToFormats?: Format;
restrictToDIDMethods?: string[];
}): SelectResults;
private remapVcPathsOnMatchToSelectableCredentialIndexes;
private extractVcPathsFromMatches;
private getSubmissionRequirementMatchForSubmissionRequirement;
private determineCountStatus;
private matchPresentationDefinition;
evaluate(pd: IInternalPresentationDefinition, wvcs: WrappedVerifiableCredential[], opts?: {
holderDIDs?: string[];
limitDisclosureSignatureSuites?: string[];
restrictToFormats?: Format;
presentationSubmission?: PresentationSubmission;
generatePresentationSubmission?: boolean;
}): EvaluationResults;
evaluatePresentations(pd: IInternalPresentationDefinition, wvps: OrArray<WrappedVerifiablePresentation>, opts?: {
holderDIDs?: string[];
limitDisclosureSignatureSuites?: string[];
restrictToFormats?: Format;
presentationSubmission?: PresentationSubmission;
generatePresentationSubmission?: boolean;
/**
* The location of the presentation submission. By default {@link PresentationSubmissionLocation.PRESENTATION}
* is used when one W3C presentation is passed (not as array) , while {@link PresentationSubmissionLocation.EXTERNAL} is
* used when an array is passed or the presentation is not a W3C presentation
*/
presentationSubmissionLocation?: PresentationSubmissionLocation;
}): PresentationEvaluationResults;
private extractWrappedVcFromWrappedVp;
private evaluatePresentationsAgainstSubmission;
private checkIfSubmissionSatisfiesSubmissionRequirement;
/**
* Checks whether a submission satisfies the requirements of a presentation definition
*/
private validateIfSubmissionSatisfiesDefinition;
private internalPresentationDefinitionForDescriptor;
private formatNotInfo;
submissionFrom(pd: IInternalPresentationDefinition, vcs: WrappedVerifiableCredential[], opts?: {
presentationSubmissionLocation?: PresentationSubmissionLocation;
}): PresentationSubmission;
private updatePresentationSubmission;
private updatePresentationSubmissionToExternal;
private updateDescriptorToExternal;
private matchUserSelectedVcs;
private evaluateRequirements;
private countMatchingInputDescriptors;
private handleCount;
determineAreRequiredCredentialsPresent(matchSubmissionRequirements: SubmissionRequirementMatch[] | undefined): Status;
private updatePresentationSubmissionPathToVpPath;
private replacePathWithAlias;
private createInputDescriptorIdToVcMap;
}