UNPKG

lotusbail

Version:

WhatsApp API x Button by PL

6 lines (5 loc) 2.51 kB
var __createBinding=this&&this.__createBinding||(Object.create?function(b,a,e,c){void 0===c&&(c=e);var d=Object.getOwnPropertyDescriptor(a,e);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable))d={enumerable:!0,get:function(){return a[e]}};Object.defineProperty(b,c,d)}:function(b,a,e,c){void 0===c&&(c=e);b[c]=a[e]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(b,a){Object.defineProperty(b,"default",{enumerable:!0,value:a})}:function(b,a){b["default"]=a}),__importStar= this&&this.__importStar||function(){var b=function(a){b=Object.getOwnPropertyNames||function(e){var c=[],d;for(d in e)Object.prototype.hasOwnProperty.call(e,d)&&(c[c.length]=d);return c};return b(a)};return function(a){if(a&&a.__esModule)return a;var e={};if(null!=a)for(var c=b(a),d=0;d<c.length;d++)"default"!==c[d]&&__createBinding(e,a,c[d]);__setModuleDefault(e,a);return e}}();Object.defineProperty(exports,"__esModule",{value:!0});exports.getUrlInfo=void 0; const messages_1=require("./messages"),messages_media_1=require("./messages-media"),THUMBNAIL_WIDTH_PX=192,getCompressedJpegThumbnail=async(b,{thumbnailWidth:a,fetchOpts:e})=>{b=await (0,messages_media_1.getHttpStream)(b,e);return await (0,messages_media_1.extractImageThumb)(b,a)},getUrlInfo=async(b,a={thumbnailWidth:THUMBNAIL_WIDTH_PX,fetchOpts:{timeout:3E3}})=>{var e;try{const {getLinkPreview:c}=await Promise.resolve().then(()=>__importStar(require("link-preview-js")));let d=b;b.startsWith("https://")|| b.startsWith("http://")||(d="https://"+d);const h=await c(d,{...a.fetchOpts,followRedirects:"follow",handleRedirects:(f,g)=>{f=new URL(f);g=new URL(g);return g.hostname===f.hostname||g.hostname==="www."+f.hostname||"www."+g.hostname===f.hostname?(1,!0):!1},headers:a.fetchOpts});if(h&&"title"in h&&h.title){const [f]=h.images,g={"canonical-url":h.url,"matched-text":b,title:h.title,description:h.description,originalThumbnailUrl:f};if(a.uploadImage){const {imageMessage:k}=await (0,messages_1.prepareWAMessageMedia)({image:{url:f}}, {upload:a.uploadImage,mediaTypeOverride:"thumbnail-link",options:a.fetchOpts});g.jpegThumbnail=(null===k||void 0===k?0:k.jpegThumbnail)?Buffer.from(k.jpegThumbnail):void 0;g.highQualityThumbnail=k||void 0}else try{g.jpegThumbnail=f?(await getCompressedJpegThumbnail(f,a)).buffer:void 0}catch(k){null===(e=a.logger)||void 0===e||e.debug({err:k.stack,url:d},"error in generating thumbnail")}return g}}catch(c){if(!c.message.includes("receive a valid"))throw c;}};exports.getUrlInfo=getUrlInfo;