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.76 kB
{"version":3,"file":"DidCommV2Service.mjs","names":[],"sources":["../../../../../src/modules/dids/domain/service/DidCommV2Service.ts"],"sourcesContent":["import { Type } from 'class-transformer'\nimport { IsOptional, IsString, ValidateNested } from 'class-validator'\n\nimport { CredoError } from '../../../../error'\nimport type { SingleOrArray } from '../../../../types'\nimport { IsInstanceOrArrayOfInstances, IsUri } from '../../../../utils'\nimport { DidDocumentService } from './DidDocumentService'\n\nexport interface DidCommV2ServiceEndpointOptions {\n uri: string\n routingKeys?: string[]\n accept?: string[]\n}\n\nexport class DidCommV2ServiceEndpoint {\n public constructor(options: DidCommV2ServiceEndpointOptions) {\n if (options) {\n this.uri = options.uri\n this.routingKeys = options.routingKeys\n this.accept = options.accept\n }\n }\n\n @IsString()\n @IsUri()\n public uri!: string\n\n @IsString({ each: true })\n @IsOptional()\n public routingKeys?: string[]\n\n @IsString({ each: true })\n @IsOptional()\n public accept?: string[];\n\n [key: string]: unknown | undefined\n}\n\nexport interface DidCommV2ServiceOptions {\n id: string\n serviceEndpoint: SingleOrArray<DidCommV2ServiceEndpoint>\n}\n\nexport class DidCommV2Service extends DidDocumentService {\n public constructor(options: DidCommV2ServiceOptions) {\n super({ ...options, type: DidCommV2Service.type })\n\n if (options) {\n this.serviceEndpoint = options.serviceEndpoint\n }\n }\n\n public static type = 'DIDCommMessaging'\n\n @IsInstanceOrArrayOfInstances({ classType: [DidCommV2ServiceEndpoint] })\n @ValidateNested()\n @Type(() => DidCommV2ServiceEndpoint)\n public serviceEndpoint!: SingleOrArray<DidCommV2ServiceEndpoint>\n\n public get firstServiceEndpointUri(): string {\n if (Array.isArray(this.serviceEndpoint)) {\n if (this.serviceEndpoint.length === 0) {\n throw new CredoError('No entries in serviceEndpoint array')\n }\n\n return this.serviceEndpoint[0].uri\n }\n\n return this.serviceEndpoint.uri\n }\n}\n"],"mappings":";;;;;;;;;;;;;AAcA,IAAa,2BAAb,MAAsC;CACpC,AAAO,YAAY,SAA0C;AAC3D,MAAI,SAAS;AACX,QAAK,MAAM,QAAQ;AACnB,QAAK,cAAc,QAAQ;AAC3B,QAAK,SAAS,QAAQ;;;;;CAIzB,UAAU;CACV,OAAO;;;;CAGP,SAAS,EAAE,MAAM,MAAM,CAAC;CACxB,YAAY;;;;CAGZ,SAAS,EAAE,MAAM,MAAM,CAAC;CACxB,YAAY;;;AAWf,IAAa,mBAAb,MAAa,yBAAyB,mBAAmB;CACvD,AAAO,YAAY,SAAkC;AACnD,QAAM;GAAE,GAAG;GAAS,MAAM,iBAAiB;GAAM,CAAC;AAElD,MAAI,QACF,MAAK,kBAAkB,QAAQ;;CAWnC,IAAW,0BAAkC;AAC3C,MAAI,MAAM,QAAQ,KAAK,gBAAgB,EAAE;AACvC,OAAI,KAAK,gBAAgB,WAAW,EAClC,OAAM,IAAI,WAAW,sCAAsC;AAG7D,UAAO,KAAK,gBAAgB,GAAG;;AAGjC,SAAO,KAAK,gBAAgB;;;iBAhBhB,OAAO;;CAEpB,6BAA6B,EAAE,WAAW,CAAC,yBAAyB,EAAE,CAAC;CACvE,gBAAgB;CAChB,WAAW,yBAAyB"}