@openrtb/converter
Version:
TypeScript converter library compliant with OpenRTB 2.6/3.0 and AdCOM 1.0 and Native-Ad 1.2
2 lines (1 loc) • 3.78 kB
JavaScript
;var s=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var v=Object.getOwnPropertyNames;var c=Object.prototype.hasOwnProperty;var u=(r,e)=>{for(var t in e)s(r,t,{get:e[t],enumerable:!0})},A=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of v(e))!c.call(r,o)&&o!==t&&s(r,o,{get:()=>e[o],enumerable:!(i=l(e,o))||i.enumerable});return r};var y=r=>A(s({},"__esModule",{value:!0}),r);var b={};u(b,{V12NativeRequestToNativeFormatConverter:()=>d,V26BidToAdConverter:()=>p,V26BidToDisplayConverter:()=>a,V26BidToNativeConverter:()=>n});module.exports=y(b);var a=class{to(e){return{api:e.apis?.[0],w:e.w,h:e.h,wratio:e.wratio,hratio:e.hratio,adm:e.adm}}from(e){return{adm:e.adm,apis:e?.api?[e.api]:[],w:e.w,h:e.h,wratio:e.wratio,hratio:e.hratio}}};var n=class{to(e){let t=JSON.parse(e.adm||"{}");return{link:this.convertLink(t.link),asset:t.assets?.map(i=>this.convertAsset(i))||[]}}from(e){if(!e?.link)throw new Error("Link is required.");let t={link:this.convertLinkToResponse(e.link),assets:e.asset?.map(i=>this.convertAssetToResponse(i))||[]};return{adm:JSON.stringify(t)}}convertLink(e){return{url:e.url,urlfb:e.fallback,trkr:e.clicktrackers}}convertAsset(e){let t={id:e.id,req:e.required===1?1:0};return e.title&&(t.title=this.convertTitle(e.title)),e.img&&(t.image=this.convertImage(e.img)),e.data&&(t.data=this.convertData(e.data)),e.video&&(t.video=this.convertVideo(e.video)),e.link&&(t.link=this.convertLink(e.link)),t}convertTitle(e){return{text:e.text,len:e.len}}convertImage(e){return{url:e.url,w:e.w,h:e.h,type:e.type}}convertData(e){return{value:e.value,len:e.len,type:e.type}}convertLinkToResponse(e){return{url:e.url,fallback:e.urlfb,clicktrackers:e.trkr}}convertVideo(e){return{adm:e.vasttag}}convertAssetToResponse(e){let t={id:e.id,required:e.req===1?1:0};return e.title&&(t.title=this.convertTitleToResponse(e.title)),e.image&&(t.img=this.convertImageToResponse(e.image)),e.data&&(t.data=this.convertDataToResponse(e.data)),e.video&&(t.video=this.convertVideoToResponse(e.video)),t}convertTitleToResponse(e){return{text:e.text,len:e.len}}convertImageToResponse(e){return{url:e.url,w:e.w,h:e.h,type:e.type}}convertDataToResponse(e){return{value:e.value,len:e.len,type:e.type}}convertVideoToResponse(e){return{vasttag:e.adm||""}}};var m=require("uuid");var p=class{to(e){let t={id:e.adid||(0,m.v4)(),adomain:e.adomain,bundle:e.bundle?[e.bundle]:[],iurl:e.iurl,cat:e.cat,cattax:e.cattax,lang:e.language,attr:e.attr};if(e.mtype===1){let o=new a().to(e);t.display=o}else if(e.mtype===4){let o=new n().to(e);t.display={native:o}}return t}from(e){let t={adid:e.id,adomain:e.adomain,bundle:e.bundle?e.bundle[0]:void 0,iurl:e.iurl,cat:e.cat,cattax:e.cattax,language:e.lang,attr:e.attr};if(e.display?.native){let i=new n;t.adm=i.from(e).adm}else if(e.display){let i=new a;t={...t,...i.from(e)}}return t}};var d=class{to(e){return{asset:this.convertAssetsToAssetFormats(e.assets)}}convertAssetsToAssetFormats(e){return e.map(t=>({id:t.id,req:t.required,title:t.title,img:t.img,data:t.data,video:t.video?this.convertV12VideoToVideoPlacement(t.video):void 0}))}convertV12VideoToVideoPlacement(e){return{mime:e.mimes,ctype:e.protocols,maxdur:e.maxduration,mindur:e.minduration}}from(e){return{assets:this.convertAssetFormatsToAssets(e.asset),ver:"1.2"}}convertAssetFormatsToAssets(e){return e.map(t=>{let i={id:t.id,required:t.req};return t.title&&(i.title=t.title),t.img&&(i.img=t.img),t.data&&(i.data=t.data),t.video&&(i.video=this.convertVideoPlacementToV12Video(t.video)),i})}convertVideoPlacementToV12Video(e){return{mimes:e.mime,protocols:e.ctype,maxduration:e.maxdur||500,minduration:e.mindur||0}}};0&&(module.exports={V12NativeRequestToNativeFormatConverter,V26BidToAdConverter,V26BidToDisplayConverter,V26BidToNativeConverter});