evolution-api-sdk
Version:
Unofficial SDK for the Evolution Whatsapp API v2
1 lines • 3.21 kB
Source Map (JSON)
{"version":3,"sources":["../../../../src/types/tags.ts","../../../../src/utils/phone-numer-from-jid.ts","../../../../src/modules/chats/schemas/find-all.ts"],"sourcesContent":["export type Jid = `${string}@s.whatsapp.net` | string;\nexport const Jid = (jid: string) => jid as Jid;\n\nexport type GroupJid = `${string}@g.us` | string;\nexport const GroupJid = (jid: string) => jid as GroupJid;\n\nexport type GroupInviteCode = string & { __tag: \"GroupInviteCode\" };\nexport const GroupInviteCode = (code: string) => code as GroupInviteCode;\n\nexport type MessageId = string & { __tag: \"MessageId\" };\nexport const MessageId = (id: string) => id as MessageId;\n\nexport type ChatId = string & { __tag: \"ChatId\" };\nexport const ChatId = (id: string) => id as ChatId;\n","import { parsePhoneNumber } from \"libphonenumber-js\";\n\n/**\n * Get phone number from JID\n * @param jid - JID (remote JID)\n */\nexport function phoneNumberFromJid(jid: string) {\n\treturn parsePhoneNumber(`+${jid.split(\"@\")[0]}`).number;\n}\n","// Pure TypeScript interfaces for better IDE support and performance\nimport { ChatId, GroupJid, Jid } from \"@/types/tags\";\nimport { phoneNumberFromJid } from \"@/utils/phone-numer-from-jid\";\n\n// Raw response interface from API\nexport interface FindAllChatsResponseRaw {\n\tid: string;\n\tremoteJid: string;\n\tname?: string | null;\n\tlabels?: string[] | null;\n\tcreatedAt: string | Date;\n\tupdatedAt: string | Date;\n\tpushName?: string | null;\n\tprofilePicUrl?: string | null;\n}\n\n// Transformed response interface\nexport interface FindAllChatsResponseItem {\n\tid: ChatId;\n\tjid: GroupJid | Jid;\n\tphoneNumber: string;\n\tname?: string;\n\tlabels?: string[];\n\tcreatedAt: Date;\n\tupdatedAt: Date;\n\tpushName?: string;\n\tpictureUrl?: string;\n}\n\nexport type FindAllChatsResponse = FindAllChatsResponseItem[];\n\n// Transform function\nexport const FindAllChatsResponseTransform = (chats: FindAllChatsResponseRaw[]): FindAllChatsResponse =>\n\tchats.map((chat) => ({\n\t\tid: ChatId(chat.id),\n\t\tjid: chat.remoteJid.endsWith(\"@g.us\")\n\t\t\t? GroupJid(chat.remoteJid)\n\t\t\t: Jid(chat.remoteJid),\n\t\tphoneNumber: phoneNumberFromJid(chat.remoteJid),\n\t\tname: chat.name || undefined,\n\t\tlabels: chat.labels || undefined,\n\t\tcreatedAt: new Date(chat.createdAt),\n\t\tupdatedAt: new Date(chat.updatedAt),\n\t\tpushName: chat.pushName || undefined,\n\t\tpictureUrl: chat.profilePicUrl || undefined,\n\t}));\n\n// Backward compatibility alias\nexport const ResponseSchema = { parse: FindAllChatsResponseTransform };\n"],"mappings":";AACO,IAAM,MAAM,CAAC,QAAgB;AAG7B,IAAM,WAAW,CAAC,QAAgB;AASlC,IAAM,SAAS,CAAC,OAAe;;;ACbtC,SAAS,wBAAwB;AAM1B,SAAS,mBAAmB,KAAa;AAC/C,SAAO,iBAAiB,IAAI,IAAI,MAAM,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE;AAClD;;;ACwBO,IAAM,gCAAgC,CAAC,UAC7C,MAAM,IAAI,CAAC,UAAU;AAAA,EACpB,IAAI,OAAO,KAAK,EAAE;AAAA,EAClB,KAAK,KAAK,UAAU,SAAS,OAAO,IACjC,SAAS,KAAK,SAAS,IACvB,IAAI,KAAK,SAAS;AAAA,EACrB,aAAa,mBAAmB,KAAK,SAAS;AAAA,EAC9C,MAAM,KAAK,QAAQ;AAAA,EACnB,QAAQ,KAAK,UAAU;AAAA,EACvB,WAAW,IAAI,KAAK,KAAK,SAAS;AAAA,EAClC,WAAW,IAAI,KAAK,KAAK,SAAS;AAAA,EAClC,UAAU,KAAK,YAAY;AAAA,EAC3B,YAAY,KAAK,iBAAiB;AACnC,EAAE;AAGI,IAAM,iBAAiB,EAAE,OAAO,8BAA8B;","names":[]}