{"version":3,"file":"MenuMessage.mjs","names":[],"sources":["../../src/messages/MenuMessage.ts"],"sourcesContent":["import { DidCommMessage, IsValidMessageType, parseMessageType } from '@credo-ts/didcomm'\nimport { Expose, Type } from 'class-transformer'\nimport { IsInstance, IsOptional, IsString } from 'class-validator'\nimport type { ActionMenuOptionOptions } from '../models'\n\nimport { ActionMenuOption } from '../models'\n\n/**\n * @internal\n */\nexport interface MenuMessageOptions {\n  id?: string\n  title: string\n  description: string\n  errorMessage?: string\n  options: ActionMenuOptionOptions[]\n  threadId?: string\n}\n\n/**\n * @internal\n */\nexport class MenuMessage extends DidCommMessage {\n  public constructor(options: MenuMessageOptions) {\n    super()\n\n    if (options) {\n      this.id = options.id ?? this.generateId()\n      this.title = options.title\n      this.description = options.description\n      this.errorMessage = options.errorMessage\n      this.options = options.options.map((p) => new ActionMenuOption(p))\n      if (options.threadId) {\n        this.setThread({\n          threadId: options.threadId,\n        })\n      }\n    }\n  }\n\n  @IsValidMessageType(MenuMessage.type)\n  public readonly type = MenuMessage.type.messageTypeUri\n  public static readonly type = parseMessageType('https://didcomm.org/action-menu/1.0/menu')\n\n  @IsString()\n  public title!: string\n\n  @IsString()\n  public description!: string\n\n  @Expose({ name: 'errormsg' })\n  @IsString()\n  @IsOptional()\n  public errorMessage?: string\n\n  @IsInstance(ActionMenuOption, { each: true })\n  @Type(() => ActionMenuOption)\n  public options!: ActionMenuOption[]\n}\n"],"mappings":";;;;;;;;;;;;AAsBA,IAAa,cAAb,MAAa,oBAAoB,eAAe;CAC9C,AAAO,YAAY,SAA6B;AAC9C,SAAO;OAiBO,OAAO,YAAY,KAAK;AAftC,MAAI,SAAS;AACX,QAAK,KAAK,QAAQ,MAAM,KAAK,YAAY;AACzC,QAAK,QAAQ,QAAQ;AACrB,QAAK,cAAc,QAAQ;AAC3B,QAAK,eAAe,QAAQ;AAC5B,QAAK,UAAU,QAAQ,QAAQ,KAAK,MAAM,IAAI,iBAAiB,EAAE,CAAC;AAClE,OAAI,QAAQ,SACV,MAAK,UAAU,EACb,UAAU,QAAQ,UACnB,CAAC;;;;YAOe,OAAO,iBAAiB,2CAA2C;YAFzF,mBAAmB,YAAY,KAAK;YAIpC,UAAU;YAGV,UAAU;;CAGV,OAAO,EAAE,MAAM,YAAY,CAAC;CAC5B,UAAU;CACV,YAAY;;;;CAGZ,WAAW,kBAAkB,EAAE,MAAM,MAAM,CAAC;CAC5C,WAAW,iBAAiB"}