{"version":3,"sources":["../../../../src/modules/chats/schemas/check.ts","../../../../src/schemas/common.ts","../../../../src/types/tags.ts"],"sourcesContent":["import { parsePhoneNumber } from \"libphonenumber-js\";\nimport { z } from \"zod\";\n\nimport { PhoneNumberSchema } from \"@/schemas/common\";\nimport { Jid } from \"@/types/tags\";\n\nexport const CheckOptionsSchema = z.array(PhoneNumberSchema);\n\nexport const CheckBodySchema = CheckOptionsSchema.transform((data) => ({\n\tnumbers: Array.isArray(data) ? data : [data],\n}));\n\nexport const CheckResponseSchema = z\n\t.array(\n\t\tz.object({\n\t\t\texists: z.boolean(),\n\t\t\tjid: z.string(),\n\t\t\tnumber: z.string(),\n\t\t}),\n\t)\n\t.transform((numbers) =>\n\t\tnumbers.map((number) => ({\n\t\t\texists: number.exists,\n\t\t\tjid: Jid(number.jid),\n\t\t\tnumber: parsePhoneNumber(number.number).number,\n\t\t})),\n\t);\n\nexport type CheckOptions = z.infer<typeof CheckOptionsSchema>;\nexport type CheckResponse = z.infer<typeof CheckResponseSchema>;\n\nexport {\n\tCheckBodySchema as BodySchema,\n\tCheckOptionsSchema as OptionsSchema,\n\tCheckResponseSchema as ResponseSchema,\n};\n","import { isValidPhoneNumber, parsePhoneNumber } from \"libphonenumber-js\";\nimport { z } from \"zod\";\n\nimport type { GroupInviteCode, GroupJid, Jid } from \"@/types/tags\";\n\nexport const PhoneNumberSchema = z\n\t.custom<string>((value) => isValidPhoneNumber(value), \"Invalid phone number\")\n\t.transform<string>((phoneNumber) => parsePhoneNumber(phoneNumber).number);\n\nexport const JidSchema = z\n\t.string()\n\t.endsWith(\n\t\t\"@s.whatsapp.net\",\n\t\t\"Invalid remote JID, should end with @s.whatsapp.net\",\n\t) as z.ZodType<Jid>;\n\nexport const GroupJidSchema = z\n\t.string()\n\t.endsWith(\n\t\t\"@g.us\",\n\t\t\"Invalid group JID, should end with @g.us\",\n\t) as z.ZodType<GroupJid>;\n\nexport const GroupInviteCodeSchema = z\n\t.string()\n\t.length(22)\n\t.regex(\n\t\t/^[a-zA-Z0-9]{22}$/,\n\t\t\"Invalid group invite code\",\n\t) as unknown as z.ZodType<GroupInviteCode>;\n\nexport const ApiNumberSchema = z.union([\n\tPhoneNumberSchema,\n\tJidSchema,\n\tGroupJidSchema,\n]);\n\nexport const mediaSchema = z.union([z.string().url(), z.string().base64()]);\n","export type Jid = `${string}@s.whatsapp.net`;\nexport const Jid = (jid: string) => jid as Jid;\n\nexport type GroupJid = `${string}@g.us`;\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"],"mappings":";AAAA,SAAS,oBAAAA,yBAAwB;AACjC,SAAS,KAAAC,UAAS;;;ACDlB,SAAS,oBAAoB,wBAAwB;AACrD,SAAS,SAAS;AAIX,IAAM,oBAAoB,EAC/B,OAAe,CAAC,UAAU,mBAAmB,KAAK,GAAG,sBAAsB,EAC3E,UAAkB,CAAC,gBAAgB,iBAAiB,WAAW,EAAE,MAAM;AAElE,IAAM,YAAY,EACvB,OAAO,EACP;AAAA,EACA;AAAA,EACA;AACD;AAEM,IAAM,iBAAiB,EAC5B,OAAO,EACP;AAAA,EACA;AAAA,EACA;AACD;AAEM,IAAM,wBAAwB,EACnC,OAAO,EACP,OAAO,EAAE,EACT;AAAA,EACA;AAAA,EACA;AACD;AAEM,IAAM,kBAAkB,EAAE,MAAM;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AACD,CAAC;AAEM,IAAM,cAAc,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;;;ACpCnE,IAAM,MAAM,CAAC,QAAgB;;;AFK7B,IAAM,qBAAqBC,GAAE,MAAM,iBAAiB;AAEpD,IAAM,kBAAkB,mBAAmB,UAAU,CAAC,UAAU;AAAA,EACtE,SAAS,MAAM,QAAQ,IAAI,IAAI,OAAO,CAAC,IAAI;AAC5C,EAAE;AAEK,IAAM,sBAAsBA,GACjC;AAAA,EACAA,GAAE,OAAO;AAAA,IACR,QAAQA,GAAE,QAAQ;AAAA,IAClB,KAAKA,GAAE,OAAO;AAAA,IACd,QAAQA,GAAE,OAAO;AAAA,EAClB,CAAC;AACF,EACC;AAAA,EAAU,CAAC,YACX,QAAQ,IAAI,CAAC,YAAY;AAAA,IACxB,QAAQ,OAAO;AAAA,IACf,KAAK,IAAI,OAAO,GAAG;AAAA,IACnB,QAAQC,kBAAiB,OAAO,MAAM,EAAE;AAAA,EACzC,EAAE;AACH;","names":["parsePhoneNumber","z","z","parsePhoneNumber"]}