@microsoft/teams.api
Version:
<p> <a href="https://www.npmjs.com/package/@microsoft/teams.api" target="_blank"> <img src="https://img.shields.io/npm/v/@microsoft/teams.api/latest" /> </a> <a href="https://www.npmjs.com/package/@microsoft/teams.api?activeTab=code" t
1 lines • 3.65 kB
Source Map (JSON)
{"version":3,"sources":["../../../src/activities/message/message-reaction.ts"],"names":[],"mappings":";;AAeO,MAAM,gCACH,QAEV,CAAA;AAAA;AAAA;AAAA;AAAA,EAIE,cAAA;AAAA;AAAA;AAAA;AAAA,EAKA,gBAAA;AAAA,EAEA,WAAA,CAAY,KAAyD,GAAA,EAAI,EAAA;AACvE,IAAM,KAAA,CAAA;AAAA,MACJ,GAAG,KAAA;AAAA,MACH,IAAM,EAAA;AAAA,KACP,CAAA;AAED,IAAO,MAAA,CAAA,MAAA,CAAO,MAAM,KAAK,CAAA;AAAA;AAC3B;AAAA;AAAA;AAAA,EAKA,OAAO,KAAK,QAAoC,EAAA;AAC9C,IAAO,OAAA,IAAI,wBAAwB,QAAQ,CAAA;AAAA;AAC7C;AAAA;AAAA;AAAA,EAKA,WAAwC,GAAA;AACtC,IAAA,OAAO,MAAO,CAAA,MAAA,CAAO,EAAC,EAAG,IAAI,CAAA;AAAA;AAC/B;AAAA;AAAA;AAAA,EAKA,KAAA,CAAM,OAA2D,GAAA,EAAI,EAAA;AACnE,IAAA,OAAO,IAAI,uBAAwB,CAAA;AAAA,MACjC,GAAG,KAAK,WAAY,EAAA;AAAA,MACpB,GAAG;AAAA,KACJ,CAAA;AAAA;AACH;AAAA;AAAA;AAAA,EAKA,YAAY,QAA2B,EAAA;AACrC,IAAI,IAAA,CAAC,KAAK,cAAgB,EAAA;AACxB,MAAA,IAAA,CAAK,iBAAiB,EAAC;AAAA;AAGzB,IAAK,IAAA,CAAA,cAAA,CAAe,KAAK,QAAQ,CAAA;AACjC,IAAO,OAAA,IAAA;AAAA;AACT;AAAA;AAAA;AAAA,EAKA,eAAe,QAA2B,EAAA;AACxC,IAAI,IAAA,CAAC,KAAK,gBAAkB,EAAA;AAC1B,MAAA,IAAA,CAAK,mBAAmB,EAAC;AAAA;AAG3B,IAAA,IAAI,KAAK,cAAgB,EAAA;AACvB,MAAM,MAAA,CAAA,GAAI,KAAK,cAAe,CAAA,SAAA;AAAA,QAC5B,CAAC,CAAM,KAAA,CAAA,CAAE,IAAS,KAAA,QAAA,CAAS,QAAQ,CAAE,CAAA,IAAA,EAAM,EAAO,KAAA,QAAA,CAAS,IAAM,EAAA;AAAA,OACnE;AAEA,MAAA,IAAI,IAAI,EAAI,EAAA;AACV,QAAK,IAAA,CAAA,cAAA,CAAe,MAAO,CAAA,CAAA,EAAG,CAAC,CAAA;AAAA;AACjC;AAGF,IAAK,IAAA,CAAA,gBAAA,CAAiB,KAAK,QAAQ,CAAA;AACnC,IAAO,OAAA,IAAA;AAAA;AAEX","file":"message-reaction.mjs","sourcesContent":["import { MessageReaction } from '../../models';\nimport { IActivity, Activity } from '../activity';\n\nexport interface IMessageReactionActivity extends IActivity<'messageReaction'> {\n /**\n * The collection of reactions added to the conversation.\n */\n reactionsAdded?: MessageReaction[];\n\n /**\n * The collection of reactions removed from the conversation.\n */\n reactionsRemoved?: MessageReaction[];\n}\n\nexport class MessageReactionActivity\n extends Activity<'messageReaction'>\n implements IMessageReactionActivity\n{\n /**\n * The collection of reactions added to the conversation.\n */\n reactionsAdded?: MessageReaction[];\n\n /**\n * The collection of reactions removed from the conversation.\n */\n reactionsRemoved?: MessageReaction[];\n\n constructor(value: Omit<Partial<IMessageReactionActivity>, 'type'> = {}) {\n super({\n ...value,\n type: 'messageReaction',\n });\n\n Object.assign(this, value);\n }\n\n /**\n * initialize from interface\n */\n static from(activity: IMessageReactionActivity) {\n return new MessageReactionActivity(activity);\n }\n\n /**\n * convert to interface\n */\n toInterface(): IMessageReactionActivity {\n return Object.assign({}, this);\n }\n\n /**\n * copy to a new instance\n */\n clone(options: Omit<Partial<IMessageReactionActivity>, 'type'> = {}) {\n return new MessageReactionActivity({\n ...this.toInterface(),\n ...options,\n });\n }\n\n /**\n * Add a message reaction.\n */\n addReaction(reaction: MessageReaction) {\n if (!this.reactionsAdded) {\n this.reactionsAdded = [];\n }\n\n this.reactionsAdded.push(reaction);\n return this;\n }\n\n /**\n * Remove a message reaction.\n */\n removeReaction(reaction: MessageReaction) {\n if (!this.reactionsRemoved) {\n this.reactionsRemoved = [];\n }\n\n if (this.reactionsAdded) {\n const i = this.reactionsAdded.findIndex(\n (r) => r.type === reaction.type && r.user?.id === reaction.user?.id\n );\n\n if (i > -1) {\n this.reactionsAdded.splice(i, 1);\n }\n }\n\n this.reactionsRemoved.push(reaction);\n return this;\n }\n}\n"]}