UNPKG

@credo-ts/core

Version:

<p align="center"> <br /> <img alt="Credo Logo" src="https://github.com/openwallet-foundation/credo-ts/blob/c7886cb8377ceb8ee4efe8d264211e561a75072d/images/credo-logo.png" height="250px" /> </p> <h1 align="center"><b>Credo - Core</b></h1

1 lines • 2.7 kB
{"version":3,"file":"deviceRequestDefinition.mjs","names":[],"sources":["../../../../src/modules/mdoc/utils/deviceRequestDefinition.ts"],"sourcesContent":["import type { DeviceRequestMatchOptions } from '@owf/mdoc'\nimport type { MdocDcApiDocRequest, MdocDeviceRequestDefinition } from '../MdocOptions'\n\n/**\n * Create the device request definition stored on a verification session from the doc requests a\n * verifier passed, with every requested element in its object form.\n */\nexport const createDeviceRequestDefinition = (\n docRequests: MdocDcApiDocRequest[],\n treatAmbiguousMultipleDocRequestsAsAlternatives?: boolean\n): MdocDeviceRequestDefinition => ({\n treatAmbiguousMultipleDocRequestsAsAlternatives,\n docRequests: docRequests.map(({ docType, nameSpaces }) => ({\n docType,\n nameSpaces: Object.fromEntries(\n Object.entries(nameSpaces).map(([nameSpace, elements]) => [\n nameSpace,\n Object.fromEntries(\n Object.entries(elements).map(([elementIdentifier, element]) => [\n elementIdentifier,\n typeof element === 'boolean' ? { intentToRetain: element } : element,\n ])\n ),\n ])\n ),\n })),\n})\n\n/**\n * The options `@owf/mdoc` matches a device response against the device request with, from the\n * device request definition of a verification session.\n */\nexport const getDeviceRequestMatchOptions = (definition: MdocDeviceRequestDefinition): DeviceRequestMatchOptions => ({\n treatAmbiguousMultipleDocRequestsAsAlternatives: definition.treatAmbiguousMultipleDocRequestsAsAlternatives,\n docRequests: definition.docRequests.map(({ nameSpaces }, docRequestIndex) => ({\n docRequestIndex,\n elements: Object.fromEntries(\n Object.entries(nameSpaces).map(([nameSpace, elements]) => [\n nameSpace,\n Object.fromEntries(\n Object.entries(elements).map(([elementIdentifier, { optional, source }]) => [\n elementIdentifier,\n { optional, source },\n ])\n ),\n ])\n ),\n })),\n})\n"],"mappings":";;;;;AAOA,MAAa,iCACX,aACA,qDACiC;CACjC;CACA,aAAa,YAAY,KAAK,EAAE,SAAS,kBAAkB;EACzD;EACA,YAAY,OAAO,YACjB,OAAO,QAAQ,UAAU,CAAC,CAAC,KAAK,CAAC,WAAW,cAAc,CACxD,WACA,OAAO,YACL,OAAO,QAAQ,QAAQ,CAAC,CAAC,KAAK,CAAC,mBAAmB,aAAa,CAC7D,mBACA,OAAO,YAAY,YAAY,EAAE,gBAAgB,QAAQ,IAAI,OAC/D,CAAC,CACH,CACF,CAAC,CACH;CACF,EAAE;AACJ;;;;;AAMA,MAAa,gCAAgC,gBAAwE;CACnH,iDAAiD,WAAW;CAC5D,aAAa,WAAW,YAAY,KAAK,EAAE,cAAc,qBAAqB;EAC5E;EACA,UAAU,OAAO,YACf,OAAO,QAAQ,UAAU,CAAC,CAAC,KAAK,CAAC,WAAW,cAAc,CACxD,WACA,OAAO,YACL,OAAO,QAAQ,QAAQ,CAAC,CAAC,KAAK,CAAC,mBAAmB,EAAE,UAAU,cAAc,CAC1E,mBACA;GAAE;GAAU;EAAO,CACrB,CAAC,CACH,CACF,CAAC,CACH;CACF,EAAE;AACJ"}