UNPKG

@imgproxy/imgproxy-js-core

Version:

imgproxy-js-core package is designed to be used as part of framework-specific packages and plugins.

2 lines (1 loc) 35 kB
var imgproxyJsCore=function(f){"use strict";const u=t=>t===!0||t==="t"||t===1?"t":"f",b=t=>`${t}${t.includes(".")?"":" option"}`;function n(t,e,o){if(t===void 0)throw new Error(`${b(e)} is undefined${o?`. ${o}`:""}`)}function z(t,e,o,r){return`${b(t)} value can't be less${r?" or equal":""} then ${e}${o?`. ${o}`:""}`}function i(t,e,o){if(typeof t!="number")throw new Error(`${b(e)} is not a number${o!=null&&o.addInfo?`. ${o==null?void 0:o.addInfo}`:""}`);if(!(o!=null&&o.addParam))return;const r=o.addParam,s=o==null?void 0:o.addInfo;if(r.min!==void 0){if(r.minEqual&&t<=r.min)throw new Error(z(e,r.min,s,!0));if(t<r.min)throw new Error(z(e,r.min,s));if(r.max!==void 0&&t>r.max)throw new Error(`${b(e)} value can't be more than ${r.max}${s?`. ${s}`:""}`)}if(r.isInt&&!Number.isInteger(t))throw new Error(`${b(e)} is must be an integer`)}function d(t,e,o){const r=`Valid values are: ${Object.keys(t).join(", ")}`;if(!t[e])throw new Error(`${b(o)} is invalid. ${r}`)}function he(t,e,o){if(!t.includes(e)){const r=`Valid values are: ${t.join(", ")}`;throw new Error(`${b(o)} is invalid. ${r}`)}}function $(t,e,o){if(typeof t!="string")throw new Error(`${b(e)} is not a string`);if(o){if(t.match(/[^0-9a-fA-F]/))throw new Error(`${b(e)} must be hexadecimal`);if(t.length!==3&&t.length!==6&&t.length!==8)throw new Error(`${b(e)} must be 3, 6 or 8 characters long (with alpha)`)}}function p(t,e){if(!Array.isArray(t))throw new Error(`${b(e)} is not an array`);if(t.length===0)throw new Error(`${b(e)} is empty`)}function _(t,e){if(typeof t!="boolean")throw new Error(`${b(e)} is not a boolean`)}const x=t=>t.adjust||t.a,ve=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=x(t);n(e,"adjust"),e.brightness!==void 0&&i(e.brightness,"adjust.brightness",{addParam:{min:-255,max:255}});const o=e.brightness??"",r=e.contrast??"",s=e.saturation??"";return`a:${o}:${r}:${s}`},test:t=>!!x(t)},Symbol.toStringTag,{value:"Module"})),je={none:!0,size:!0,dssim:!0,ml:!0},T=t=>t.autoquality||t.aq,we=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=T(t);n(e,"autoquality");const{method:o,target:r,min_quality:s,max_quality:a,allowed_error:l}=e;if(o&&d(je,o,"autoquality.method"),r!==void 0&&i(r,"autoquality.target",{addParam:{min:0}}),s!==void 0&&i(s,"autoquality.min_quality",{addParam:{min:0,max:100}}),a!==void 0&&i(a,"autoquality.max_quality",{addParam:{min:0,max:100}}),l!==void 0){if(o!=="dssim"&&o!=="ml")throw new Error("autoquality.allowed_error is applicable only to dssim and ml methods");i(l,"autoquality.allowed_error",{addParam:{min:0,max:1}})}return`aq:${o??""}:${r??""}:${s??""}:${a??""}:${l??""}`.replace(/:+$/,"")},test:t=>!!T(t)},Symbol.toStringTag,{value:"Module"})),M=t=>{if("auto_rotate"in t)return t.auto_rotate;if("ar"in t)return t.ar},Se=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=M(t);return n(e,"auto_rotate"),`ar:${u(e)}`},test:t=>M(t)!==void 0},Symbol.toStringTag,{value:"Module"})),k=t=>t.background||t.bg,Pe=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=k(t);if(n(e,"background"),typeof e=="number")throw new Error("background option is not a string or object");return typeof e=="string"?($(e,"background",!0),`bg:${e}`):(n(e.r,"background.r"),n(e.g,"background.g"),n(e.b,"background.b"),i(e.r,"background.r"),i(e.g,"background.g"),i(e.b,"background.b"),`bg:${e.r}:${e.g}:${e.b}`)},test:t=>!!k(t)},Symbol.toStringTag,{value:"Module"})),B=t=>t.background_alpha??t.bga,ze=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=B(t);return n(e,"background_alpha"),i(e,"background_alpha",{addParam:{min:0,max:1}}),`background_alpha:${e}`},test:t=>!!B(t)},Symbol.toStringTag,{value:"Module"})),q=t=>t.blur??t.bl,xe=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=q(t);return n(e,"blur"),i(e,"blur",{addParam:{min:0}}),`bl:${e}`},test:t=>!!q(t)},Symbol.toStringTag,{value:"Module"})),E=t=>t.blur_detections||t.bd,Te=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=E(t);n(e,"blur_detections"),n(e.sigma,"blur_detections.sigma"),i(e.sigma,"blur_detections.sigma");const o=e.sigma,r=e.class_names?e.class_names.join(":"):"";return`bd:${o}:${r}`.replace(/:+$/,"")},test:t=>!!E(t)},Symbol.toStringTag,{value:"Module"})),I=t=>t.brightness??t.br,Me=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=I(t);return n(e,"brightness"),i(e,"brightness",{addParam:{min:-255,max:255}}),`br:${e}`},test:t=>!!I(t)},Symbol.toStringTag,{value:"Module"})),A=t=>t.cachebuster||t.cb,F=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=A(t);return n(e,"cachebuster"),$(e,"cachebuster"),`cb:${e}`},test:t=>!!A(t)},Symbol.toStringTag,{value:"Module"})),U=t=>t.colorize??t.col,ke=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=U(t);n(e,"colorize");const{opacity:o,color:r,keepAlpha:s}=e;i(o,"colorize.opacity",{addParam:{min:0,max:1}});let a=`col:${o}`;return r&&(a+=`:${r}`),s!==void 0&&(r||(a+=":"),a+=`:${s?1:0}`),a},test:t=>!!U(t)},Symbol.toStringTag,{value:"Module"})),V=t=>t.contrast??t.co,Be=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=V(t);return n(e,"contrast"),i(e,"contrast",{addParam:{min:0}}),`co:${e}`},test:t=>!!V(t)},Symbol.toStringTag,{value:"Module"})),N={no:!0,so:!0,ea:!0,we:!0,ce:!0,noea:!0,nowe:!0,soea:!0,sowe:!0},qe={...N,sm:!0,fp:!0,obj:!0,objw:!0},R=t=>t.gravity||t.g,h=t=>!!R(t),g=(t,e)=>`${e?"":"g:"}${t.replace(/:+$/,"")}`,v=(t,e={})=>{const{headless:o=!1}=e,r=R(t);n(r,"gravity"),n(r.type,"gravity.type");const s=r.type;if(d(qe,s,"gravity.type"),(r.x_offset||r.y_offset)&&d(N,s,"gravity.type"),r.class_names&&s!=="obj")throw new Error("gravity.class_names can be used only with type obj");if(r.class_weights&&s!=="objw")throw new Error("gravity.class_weights can be used only with type objw");if((r.x||r.y)&&s!=="fp")throw new Error("gravity.x and gravity.y can be used only with type fp");if(s==="sm")return g(s,o);if(s==="fp"){const a=r;return n(a.x,"gravity.x"),n(a.y,"gravity.y"),i(a.x,"gravity.x",{addParam:{min:0,max:1}}),i(a.y,"gravity.y",{addParam:{min:0,max:1}}),g(`${s}:${a.x}:${a.y}`,o)}if(s==="obj"){const a=r;n(r.class_names,"gravity.class_names"),p(a.class_names,"gravity.class_names");const l=a.class_names;return g(`${s}:${l.join(":")}`,o)}if(s==="objw"){const a=r;n(a.class_weights,"gravity.class_weights"),p(a.class_weights,"gravity.class_weights");const l=a.class_weights.map(c=>{if(typeof c!="object"||!c.class||typeof c.weight!="number")throw new Error("Each item in gravity.class_weights must have 'class' and 'weight' properties");return`${c.class}:${c.weight}`});return g(`${s}:${l.join(":")}`,o)}else{const a=r,l=a.x_offset===void 0?"":a.x_offset,c=a.y_offset===void 0?"":a.y_offset;return g(`${a.type}:${l}:${c}`,o)}},Ee=Object.freeze(Object.defineProperty({__proto__:null,build:v,test:h},Symbol.toStringTag,{value:"Module"})),C=t=>t.crop||t.c,H=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=C(t);n(e,"crop");const{width:o,height:r}=e;n(o,"crop.width"),n(r,"crop.height"),i(o,"crop.width",{addParam:{min:0}}),i(r,"crop.height",{addParam:{min:0}});const s=h(e)?v(e,{headless:!0}):"";return`c:${o}:${r}:${s}`.replace(/:+$/,"")},test:t=>!!C(t)},Symbol.toStringTag,{value:"Module"})),Q=t=>{if("disable_animation"in t)return t.disable_animation;if("da"in t)return t.da},Ie=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=Q(t);return n(e,"disable_animation"),`da:${u(e)}`},test:t=>Q(t)!==void 0},Symbol.toStringTag,{value:"Module"})),D=t=>t.duotone??t.dt,Ae=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=D(t);n(e,"duotone");const{intensity:o,color1:r="",color2:s=""}=e;return i(o,"duotone.intensity",{addParam:{min:0,max:1}}),s?`dt:${o}:${r}:${s}`:r?`dt:${o}:${r}`:`dt:${o}`},test:t=>!!D(t)},Symbol.toStringTag,{value:"Module"})),X=t=>t.dpi,Fe=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=X(t);return n(e,"dpi"),i(e,"dpi"),`dpi:${e}`},test:t=>!!X(t)},Symbol.toStringTag,{value:"Module"})),J=t=>t.dpr,Ue=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=J(t);return n(e,"dpr"),i(e,"dpr",{addParam:{min:0}}),`dpr:${e}`},test:t=>!!J(t)},Symbol.toStringTag,{value:"Module"})),W=t=>t.draw_detections||t.dd,Ve=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=W(t);n(e,"draw_detections"),n(e.draw,"draw_detections.draw");const o=u(e.draw),r=e.class_names?`:${e.class_names.join(":")}`:"";return`dd:${o}${r}`},test:t=>!!W(t)},Symbol.toStringTag,{value:"Module"})),Y=t=>{if("enforce_thumbnail"in t)return t.enforce_thumbnail;if("eth"in t)return t.eth},Ne=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=Y(t);return n(e,"enforce_thumbnail"),`eth:${u(e)}`},test:t=>Y(t)!==void 0},Symbol.toStringTag,{value:"Module"})),G=t=>{if("enlarge"in t)return t.enlarge;if("el"in t)return t.el},Re=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=G(t);return n(e,"enlarge"),`el:${u(e)}`},test:t=>G(t)!==void 0},Symbol.toStringTag,{value:"Module"})),K=t=>t.expires||t.exp,L=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=K(t);return n(e,"expires"),i(e,"expires"),`exp:${e}`},test:t=>!!K(t)},Symbol.toStringTag,{value:"Module"})),Z=t=>t.extend||t.ex,w=t=>!!Z(t),Ce=(t,e)=>`${e?"":"ex:"}${t.replace(/:+$/,"")}`,S=(t,e={})=>{const{headless:o=!1}=e,r=Z(t);n(r,"extend"),n(r.extend,"extend.extend");const s=h(r)?`:${v(r,{headless:!0})}`:"";return Ce(`${u(r.extend)}${s}`,o)},He=Object.freeze(Object.defineProperty({__proto__:null,build:S,test:w},Symbol.toStringTag,{value:"Module"})),tt=t=>t.extend_aspect_ratio||t.exar||t.extend_ar,Qe=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=tt(t);n(e,"extend_aspect_ratio"),n(e.extend,"extend_aspect_ratio.extend");const o=h(e)?`:${v(e,{headless:!0})}`:"";return`exar:${u(e.extend)}${o}`},test:t=>!!tt(t)},Symbol.toStringTag,{value:"Module"})),et=t=>t.fallback_image_url||t.fiu,De=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=et(t);return n(e,"fallback_image_url"),$(e,"fallback_image_url"),`fiu:${e}`},test:t=>!!et(t)},Symbol.toStringTag,{value:"Module"})),ot=t=>t.filename||t.fn,Xe=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=ot(t);n(e,"filename"),n(e.name,"filename.name"),$(e.name,"filename.name");const o=e.encoded===void 0?"":`:${u(e.encoded)}`;return`fn:${e.name}${o}`},test:t=>!!ot(t)},Symbol.toStringTag,{value:"Module"})),Je={png:!0,jpg:!0,webp:!0,avif:!0,gif:!0,ico:!0,svg:!0,bmp:!0,tiff:!0,mp4:!0,best:!0},rt=t=>t.format||t.f||t.ext,We=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=rt(t);return n(e,"format"),d(Je,e,"format"),`f:${e}`},test:t=>!!rt(t)},Symbol.toStringTag,{value:"Module"})),nt=t=>t.format_quality||t.fq,Ye=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=nt(t);n(e,"format_quality"),p(e,"format_quality");const o=[];return e.forEach(r=>{o.push(`${r.format}:${r.quality}`)}),`fq:${o.join(":")}`},test:t=>!!nt(t)},Symbol.toStringTag,{value:"Module"})),Ge={down:!0,up:!0,right:!0,left:!0},st=t=>t.gradient||t.gr,Ke=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=st(t);n(e,"gradient");const{opacity:o,color:r,direction:s,start:a,stop:l}=e;return n(o,"gradient.opacity"),i(o,"gradient.opacity",{addParam:{min:0,max:1}}),r&&$(r,"gradient.color",!0),s&&(typeof s=="number"?i(s,"gradient.direction"):($(s,"gradient.direction"),d(Ge,s,"gradient.direction"))),a&&i(a,"gradient.start",{addParam:{min:0,max:1}}),l&&i(l,"gradient.stop",{addParam:{min:0,max:1}}),`gr:${o}:${r||""}:${s||""}:${a||""}:${l||""}`.replace(/:+$/,"")},test:t=>!!st(t)},Symbol.toStringTag,{value:"Module"})),it=t=>t.height??t.h,Le=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=it(t);return n(e,"height"),i(e,"height",{addParam:{min:0}}),`h:${e}`},test:t=>!!it(t)},Symbol.toStringTag,{value:"Module"})),at=t=>t.jpeg_options||t.jpgo,Ze=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=at(t);n(e,"jpeg_options");const{progressive:o,no_subsample:r,trellis_quant:s,overshoot_deringing:a,optimize_scans:l,quant_table:c}=e;if(o&&_(o,"jpeg_options.progressive"),r&&_(r,"jpeg_options.no_subsample"),s&&_(s,"jpeg_options.trellis_quant"),a&&_(a,"jpeg_options.overshoot_deringing"),l&&(_(l,"jpeg_options.optimize_scans"),o===!1))throw new Error("jpeg_options.progressive must be true if jpeg_options.optimize_scans is true");return c&&i(c,"jpeg_options.quant_table",{addParam:{min:0,max:8}}),`jpgo:${o===void 0?"":o}:${r===void 0?"":r}:${s===void 0?"":s}:${a===void 0?"":a}:${l===void 0?"":l}:${c===void 0?"":c}`.replace(/:+$/,"")},test:t=>!!at(t)},Symbol.toStringTag,{value:"Module"})),lt=t=>{if("keep_copyright"in t)return t.keep_copyright;if("kcr"in t)return t.kcr},to=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=lt(t);return n(e,"keep_copyright"),`kcr:${u(e)}`},test:t=>lt(t)!==void 0},Symbol.toStringTag,{value:"Module"})),ut=t=>{if("max_animation_frames"in t)return t.max_animation_frames;if("maf"in t)return t.maf},eo=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=ut(t);return n(e,"max_animation_frames"),i(e,"max_animation_frames",{addParam:{min:0,minEqual:!0}}),`maf:${e}`},test:t=>ut(t)!==void 0},Symbol.toStringTag,{value:"Module"})),ct=t=>{if("max_animation_frame_resolution"in t)return t.max_animation_frame_resolution;if("mafr"in t)return t.mafr},oo=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=ct(t);return n(e,"max_animation_frame_resolution"),i(e,"max_animation_frame_resolution",{addParam:{min:0}}),`mafr:${e}`},test:t=>ct(t)!==void 0},Symbol.toStringTag,{value:"Module"})),dt=t=>t.max_bytes??t.mb,ro=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=dt(t);return n(e,"max_bytes"),i(e,"max_bytes",{addParam:{min:0}}),`mb:${e}`},test:t=>!!dt(t)},Symbol.toStringTag,{value:"Module"})),bt=["no","so","ea","we","noea","nowe","soea","sowe","ce"],no=t=>bt.includes(t.type),$t=t=>t.objects_position||t.obj_pos||t.op,so=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=$t(t);n(e,"objects_position");const o=e.type;if(he([...bt,"fp","prop"],o,"type"),no(e)){e.xOffset!==void 0&&i(e.xOffset,"objects_position.xOffset"),e.yOffset!==void 0&&i(e.yOffset,"objects_position.yOffset");const r=e.xOffset??"",s=e.yOffset??"";return`op:${o}:${r}:${s}`}else if(e.type==="fp"){e.x!==void 0&&i(e.x,"objects_position.x",{addParam:{min:0,max:1}}),e.y!==void 0&&i(e.y,"objects_position.y",{addParam:{min:0,max:1}});const r=e.x??"",s=e.y??"";return`op:${o}:${r}:${s}`}else{if(o==="prop")return"op:prop";throw new Error(`Unknown object position type: ${o}`)}},test:t=>!!$t(t)},Symbol.toStringTag,{value:"Module"})),_t=t=>{if("max_src_file_size"in t)return t.max_src_file_size;if("msfs"in t)return t.msfs},mt=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=_t(t);return n(e,"max_src_file_size"),i(e,"max_src_file_size",{addParam:{min:0}}),`msfs:${e}`},test:t=>_t(t)!==void 0},Symbol.toStringTag,{value:"Module"})),pt=t=>{if("max_src_resolution"in t)return t.max_src_resolution;if("msr"in t)return t.msr},ft=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=pt(t);return n(e,"max_src_resolution"),i(e,"max_src_resolution",{addParam:{min:0,minEqual:!0}}),`msr:${e}`},test:t=>pt(t)!==void 0},Symbol.toStringTag,{value:"Module"})),gt=t=>t.min_height??t.mh,io=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=gt(t);return n(e,"min_height"),i(e,"min_height",{addParam:{min:0}}),`mh:${e}`},test:t=>!!gt(t)},Symbol.toStringTag,{value:"Module"})),yt=t=>t.min_width??t.mw,ao=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=yt(t);return n(e,"min_width"),i(e,"min_width",{addParam:{min:0}}),`mw:${e}`},test:t=>!!yt(t)},Symbol.toStringTag,{value:"Module"})),Ot=t=>t.monochrome??t.mc,lo=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=Ot(t);n(e,"monochrome");const{intensity:o,color:r}=e;return i(o,"monochrome.intensity",{addParam:{min:0,max:1}}),r?`mc:${o}:${r}`:`mc:${o}`},test:t=>!!Ot(t)},Symbol.toStringTag,{value:"Module"})),ht=t=>t.padding||t.pd,uo=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=ht(t);if(n(e,"padding"),typeof e=="string")throw new Error("padding option is not a number or object");if(typeof e=="number")return i(e,"padding",{addParam:{min:0}}),`pd:${e}`;e.top!==void 0&&i(e.top,"padding.top"),e.right!==void 0&&i(e.right,"padding.right"),e.bottom!==void 0&&i(e.bottom,"padding.bottom"),e.left!==void 0&&i(e.left,"padding.left");const o=e.top??"",r=e.right??"",s=e.bottom??"",a=e.left??"";return`pd:${o}:${r}:${s}:${a}`.replace(/:+$/,"")},test:t=>!!ht(t)},Symbol.toStringTag,{value:"Module"})),vt=t=>{if("page"in t)return t.page;if("pg"in t)return t.pg},jt=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=vt(t);return n(e,"page"),i(e,"page",{addParam:{min:0,isInt:!0}}),`pg:${e}`},test:t=>vt(t)!==void 0},Symbol.toStringTag,{value:"Module"})),wt=t=>{if("pages"in t)return t.pages;if("pgs"in t)return t.pgs},co=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=wt(t);return n(e,"pages"),i(e,"pages",{addParam:{min:1,isInt:!0}}),`pgs:${e}`},test:t=>wt(t)!==void 0},Symbol.toStringTag,{value:"Module"})),St=t=>t.pixelate??t.pix,bo=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=St(t);return n(e,"pixelate"),i(e,"pixelate",{addParam:{min:0}}),`pix:${e}`},test:t=>!!St(t)},Symbol.toStringTag,{value:"Module"})),Pt=t=>t.png_options||t.pngo,$o=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=Pt(t);n(e,"png_options");const{interlaced:o,quantize:r,quantization_colors:s}=e;return o&&_(o,"png_options.interlaced"),r&&_(r,"png_options.quantize"),s&&i(s,"png_options.quantization_colors",{addParam:{min:2,max:256}}),`pngo:${o===void 0?"":o}:${r===void 0?"":r}:${s||""}`.replace(/:+$/,"")},test:t=>!!Pt(t)},Symbol.toStringTag,{value:"Module"})),zt=t=>t.preset||t.pr,j=Object.freeze(Object.defineProperty({__proto__:null,build:(t,e)=>{let o=zt(t);if(n(o,"preset"),p(o,"preset"),o.some(r=>typeof r!="string"))throw new Error("preset option should contain only strings");return e!=null&&e.onlyPresets||(o=["pr",...o]),`${o.join(":")}`},test:t=>!!zt(t)},Symbol.toStringTag,{value:"Module"})),xt=t=>t.quality??t.q,_o=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=xt(t);return n(e,"quality"),i(e,"quality",{addParam:{min:0,max:100}}),`q:${e}`},test:t=>!!xt(t)},Symbol.toStringTag,{value:"Module"})),Tt=t=>{if("raw"in t)return t.raw},mo=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=Tt(t);return n(e,"raw"),`raw:${u(e)}`},test:t=>Tt(t)!==void 0},Symbol.toStringTag,{value:"Module"})),po={fit:!0,fill:!0,auto:!0,"fill-down":!0,force:!0},Mt=t=>t.resize||t.rs,fo=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=Mt(t);n(e,"resize");const{resizing_type:o,width:r,height:s,enlarge:a}=e;o&&d(po,o,"resize.resizing_type"),r&&i(r,"resize.width",{addParam:{min:0}}),s&&i(s,"resize.height",{addParam:{min:0}});const l=o||"",c=r||"",m=s||"",y=a===void 0?"":u(a),O=w(e)?S(e,{headless:!0}):"";return`rs:${l}:${c}:${m}:${y}:${O}`.replace(/:+$/,"")},test:t=>!!Mt(t)},Symbol.toStringTag,{value:"Module"})),go={nearest:!0,linear:!0,cubic:!0,lanczos2:!0,lanczos3:!0},kt=t=>t.resizing_algorithm||t.ra,yo=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=kt(t);return n(e,"resizing_algorithm"),d(go,e,"resizing_algorithm"),`ra:${e}`},test:t=>!!kt(t)},Symbol.toStringTag,{value:"Module"})),Oo={fit:!0,fill:!0,"fill-down":!0,force:!0,auto:!0},Bt=t=>t.resizing_type||t.rt,ho=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=Bt(t);return n(e,"resizing_type"),d(Oo,e,"resizing_type"),`rt:${e}`},test:t=>!!Bt(t)},Symbol.toStringTag,{value:"Module"})),qt=t=>{if("return_attachment"in t)return t.return_attachment;if("att"in t)return t.att},vo=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=qt(t);return n(e,"return_attachment"),`att:${u(e)}`},test:t=>qt(t)!==void 0},Symbol.toStringTag,{value:"Module"})),Et={0:!0,90:!0,180:!0,270:!0},It=t=>t.rotate??t.rot,jo=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=It(t),o=`You can use values ${Object.keys(Et).join(", ")}`;return n(e,"rotate"),i(e,"rotate",{addInfo:o}),d(Et,e,"rotate"),`rot:${e}`},test:t=>!!It(t)},Symbol.toStringTag,{value:"Module"})),At=t=>t.saturation??t.sa,wo=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=At(t);return n(e,"saturation"),i(e,"saturation",{addParam:{min:0}}),`sa:${e}`},test:t=>!!At(t)},Symbol.toStringTag,{value:"Module"})),Ft=t=>t.sharpen??t.sh,So=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=Ft(t);return n(e,"sharpen"),i(e,"sharpen",{addParam:{min:0}}),`sh:${e}`},test:t=>!!Ft(t)},Symbol.toStringTag,{value:"Module"})),Ut=t=>t.size||t.s,Po=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=Ut(t);n(e,"size");const{width:o,height:r,enlarge:s}=e;o&&i(o,"size.width",{addParam:{min:0}}),r&&i(r,"size.height",{addParam:{min:0}});const a=o||"",l=r||"",c=s===void 0?"":u(s),m=w(e)?S(e,{headless:!0}):"";return`s:${a}:${l}:${c}:${m}`.replace(/:+$/,"")},test:t=>!!Ut(t)},Symbol.toStringTag,{value:"Module"})),Vt=["jpg","png","webp","avif","gif","ico","svg","heic","bmp","tiff","pdf","mp4"],Nt=t=>t.skip_processing||t.sp,zo=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=Nt(t);if(n(e,"skip_processing"),p(e,"skip_processing"),e.some(o=>!Vt.includes(o))){const o=`Valid values are: ${Vt.join(",")}`;throw new Error(`skip_processing option contains unsupported extension. ${o}`)}return`sp:${e.join(":")}`},test:t=>!!Nt(t)},Symbol.toStringTag,{value:"Module"})),Rt=t=>{if("strip_color_profile"in t)return t.strip_color_profile;if("scp"in t)return t.scp},xo=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=Rt(t);return n(e,"strip_color_profile"),`scp:${u(e)}`},test:t=>Rt(t)!==void 0},Symbol.toStringTag,{value:"Module"})),Ct=t=>"strip_metadata"in t?t.strip_metadata:"sm"in t?t.sm:void 0,To=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=Ct(t);return n(e,"strip_metadata"),`sm:${u(e)}`},test:t=>Ct(t)!==void 0},Symbol.toStringTag,{value:"Module"})),Ht=t=>t.style||t.stl,Mo=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=Ht(t);return n(e,"style"),$(e,"style"),`stl:${e}`},test:t=>!!Ht(t)},Symbol.toStringTag,{value:"Module"})),Qt=t=>t.trim||t.t,ko=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=Qt(t);n(e,"trim");const{threshold:o,color:r,equal_hor:s,equal_ver:a}=e;n(o,"trim.threshold"),i(o,"trim.threshold"),r&&$(r,"trim.color",!0);const l=s===void 0?"":u(s),c=a===void 0?"":u(a);return`t:${o}:${r||""}:${l}:${c}`.replace(/:+$/,"")},test:t=>!!Qt(t)},Symbol.toStringTag,{value:"Module"})),Bo={auto:!0,none:!0,always:!0},Dt=t=>t.unsharp_masking||t.ush,qo=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=Dt(t);n(e,"unsharp_masking");const{mode:o,weight:r,divider:s}=e;return o&&d(Bo,o,"unsharp_masking.mode"),r!==void 0&&i(r,"unsharp_masking.weight",{addParam:{min:0,minEqual:!0}}),s!==void 0&&i(s,"unsharp_masking.divider",{addParam:{min:0,minEqual:!0}}),`ush:${o||""}:${r||""}:${s||""}`.replace(/:+$/,"")},test:t=>!!Dt(t)},Symbol.toStringTag,{value:"Module"})),Xt=t=>{if("video_thumbnail_second"in t)return t.video_thumbnail_second;if("vts"in t)return t.vts},Jt=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=Xt(t);return n(e,"video_thumbnail_second"),i(e,"video_thumbnail_second",{addParam:{min:1,isInt:!0}}),`vts:${e}`},test:t=>Xt(t)!==void 0},Symbol.toStringTag,{value:"Module"}));function Wt(t){return t.video_thumbnail_animation||t.vta}function Eo(t){return!!Wt(t)}function Io(t){const e=Wt(t);n(e,"video_thumbnail_animation"),i(e.step,"video_thumbnail_animation.step"),i(e.delay,"video_thumbnail_animation.delay"),i(e.frames,"video_thumbnail_animation.frames"),e.frame_width!==void 0&&i(e.frame_width,"video_thumbnail_animation.frame_width"),e.frame_height!==void 0&&i(e.frame_height,"video_thumbnail_animation.frame_height");const o=[],r=e.extend_frame!==void 0?u(e.extend_frame):void 0,s=e.trim!==void 0?u(e.trim):void 0,a=e.fill!==void 0?u(e.fill):void 0;for(o.push(r,s,a),a==="t"&&o.push(e.focus_x,e.focus_y);o.length>0&&o[o.length-1]===void 0;)o.pop();const l=o.length>0?`:${o.join(":")}`:"";return`vta:${e.step}:${e.delay}:${e.frames}:${e.frame_width}:${e.frame_height}${l}`}const Ao=Object.freeze(Object.defineProperty({__proto__:null,build:Io,test:Eo},Symbol.toStringTag,{value:"Module"}));function Yt(t){return t.video_thumbnail_tile||t.vtt}function Fo(t){return!!Yt(t)}function Uo(t){const e=Yt(t);n(e,"video_thumbnail_tile"),i(e.step,"video_thumbnail_tile.step"),i(e.columns,"video_thumbnail_tile.columns"),i(e.rows,"video_thumbnail_tile.rows"),i(e.tile_width,"video_thumbnail_tile.tile_width"),i(e.tile_height,"video_thumbnail_tile.tile_height");const o=[],r=e.extend_tile!==void 0?u(e.extend_tile):void 0,s=e.trim!==void 0?u(e.trim):void 0,a=e.fill!==void 0?u(e.fill):void 0;for(o.push(r,s,a),a==="t"&&o.push(e.focus_x,e.focus_y);o.length>0&&o[o.length-1]===void 0;)o.pop();const l=o.length>0?`:${o.join(":")}`:"";return`vtt:${e.step}:${e.columns}:${e.rows}:${e.tile_width}:${e.tile_height}${l}`}const Vo=Object.freeze(Object.defineProperty({__proto__:null,build:Uo,test:Fo},Symbol.toStringTag,{value:"Module"})),No={ce:!0,no:!0,so:!0,ea:!0,we:!0,noea:!0,nowe:!0,soea:!0,sowe:!0,re:!0,ch:!0},Gt=t=>t.watermark||t.wm,Ro=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=Gt(t);n(e,"watermark");const{opacity:o,position:r,x_offset:s,y_offset:a,scale:l}=e;return n(o,"watermark.opacity"),i(o,"watermark.opacity",{addParam:{min:0,max:1}}),r&&($(r,"watermark.position"),d(No,r,"watermark.position")),s&&i(s,"watermark.x_offset"),a&&i(a,"watermark.y_offset"),l&&i(l,"watermark.scale"),`wm:${o}:${r||""}:${s||""}:${a||""}:${l||""}`.replace(/:+$/,"")},test:t=>!!Gt(t)},Symbol.toStringTag,{value:"Module"})),Kt=t=>t.watermark_shadow??t.wmsh,Co=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=Kt(t);return n(e,"watermark_shadow"),i(e,"watermark_shadow",{addParam:{min:0}}),`wmsh:${e}`},test:t=>!!Kt(t)},Symbol.toStringTag,{value:"Module"})),Lt=t=>t.watermark_size||t.wms,Ho=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=Lt(t);n(e,"watermark_size");const{width:o,height:r}=e;return o&&i(o,"watermark_size.width",{addParam:{min:0}}),r&&i(r,"watermark_size.height",{addParam:{min:0}}),`wms:${o||""}:${r||""}`.replace(/:+$/,"")},test:t=>!!Lt(t)},Symbol.toStringTag,{value:"Module"})),Zt=t=>t.watermark_text||t.wmt,Qo=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=Zt(t);return n(e,"watermark_text"),$(e,"watermark_text"),`wmt:${e}`},test:t=>!!Zt(t)},Symbol.toStringTag,{value:"Module"})),te=t=>t.watermark_url||t.wmu,Do=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=te(t);return n(e,"watermark_url"),$(e,"watermark_url"),`wmu:${e}`},test:t=>!!te(t)},Symbol.toStringTag,{value:"Module"})),Xo={lossy:!0,near_lossless:!0,lossless:!0},ee=t=>t.webp_options||t.webpo,Jo=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=ee(t);let o,r;return n(e,"webp_options"),typeof e=="string"?o=e:(o=e.compression,e.smart_subsample!==void 0&&(r=e.smart_subsample,_(r,"webp_options.smart_subsample"))),d(Xo,o,"webp_options"),`webpo:${o}${r!==void 0?`:${r}`:""}`},test:t=>!!ee(t)},Symbol.toStringTag,{value:"Module"})),oe=t=>t.width??t.w,Wo=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=oe(t);return n(e,"width"),i(e,"width",{addParam:{min:0}}),`w:${e}`},test:t=>!!oe(t)},Symbol.toStringTag,{value:"Module"})),P=(t,e)=>{n(t,e),i(t,e,{addParam:{min:0}})},re=t=>t.zoom||t.z,Yo=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=re(t);return n(e,"zoom"),typeof e=="string"&&i(e,"zoom"),typeof e=="number"?(P(e,"zoom"),`z:${e}`):(P(e.zoom_x,"zoom.zoom_x"),P(e.zoom_y,"zoom.zoom_y"),`z:${e.zoom_x}:${e.zoom_y}`)},test:t=>!!re(t)},Symbol.toStringTag,{value:"Module"})),Go=t=>t.wild_options,ne=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=t.wild_options;if(n(e,"raw_options"),p(e,"raw_options"),!e.every(r=>Array.isArray(r)))throw new Error("raw_options is not an array of arrays");let o="";for(let r=0;r<e.length;r++){let s="";for(let a=0;a<e[r].length;a++)a>0&&(s+=":"),s+=e[r][a];r>0&&(o+="/"),o+=s}return o},test:t=>!!Go(t)},Symbol.toStringTag,{value:"Module"})),Ko=Object.freeze(Object.defineProperty({__proto__:null,adjust:ve,autoRotate:Se,autoquality:we,background:Pe,backgroundAlpha:ze,blur:xe,blurDetections:Te,brightness:Me,cacheBuster:F,colorize:ke,contrast:Be,crop:H,disableAnimation:Ie,dpi:Fe,dpr:Ue,drawDetections:Ve,duotone:Ae,enforceThumbnail:Ne,enlarge:Re,expires:L,extend:He,extendAspectRatio:Qe,fallbackImageUrl:De,filename:Xe,format:We,formatQuality:Ye,gradient:Ke,gravity:Ee,height:Le,jpegOptions:Ze,keepCopyright:to,maxAnimationFrameResolution:oo,maxAnimationFrames:eo,maxBytes:ro,maxSrcFileSize:mt,maxSrcResolution:ft,minHeight:io,minWidth:ao,monochrome:lo,objectPosition:so,padding:uo,page:jt,pages:co,pixelate:bo,pngOptions:$o,preset:j,quality:_o,raw:mo,resize:fo,resizingAlgorithm:yo,resizingType:ho,returnAttachment:vo,rotate:jo,saturation:wo,sharpen:So,size:Po,skipProcessing:zo,stripColorProfile:xo,stripMetadata:To,style:Mo,trim:ko,unsharpMasking:qo,videoThumbnailAnimation:Ao,videoThumbnailSecond:Jt,videoThumbnailTile:Vo,watermark:Ro,watermarkShadow:Co,watermarkSize:Ho,watermarkText:Qo,watermarkUrl:Do,webpOptions:Jo,width:Wo,wildOptions:ne,zoom:Yo},Symbol.toStringTag,{value:"Module"})),se={plain:!0,base64:!0,encrypted:!0},Lo=Object.values(Ko),Zo=[j],tr=(t,e,o)=>{n(t.value,"url.value","Must be a string"),n(t.type,"url.type",`Valid values are: ${Object.keys(se).join(", ")}`),d(se,t.type,"url.type");let r="";if(e){const a=o!=null&&o.onlyPresets?Zo:Lo;for(const l of a)l.test(e)&&(r+="/",r+=l.build(e,o))}let s="";return t.type==="plain"?s=`/plain/${t.value}`:t.type==="base64"?s=`/${t.value}`:t.type==="encrypted"&&(s=`/enc/${t.value}`),`${r}${s}`},ie=t=>{if("average"in t)return t.average;if("avg"in t)return t.avg},er=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=ie(t);n(e,"average"),n(e.average,"average.average");const o=e.ignore_transparent===void 0?"":`:${u(e.ignore_transparent)}`;return`avg:${u(e.average)}${o}`},test:t=>ie(t)!==void 0},Symbol.toStringTag,{value:"Module"})),ae=t=>{if("blurhash"in t)return t.blurhash;if("bh"in t)return t.bh},or=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=ae(t);n(e,"blurhash");const{x_components:o,y_components:r}=e;return n(o,"blurhash.x_components"),n(r,"blurhash.y_components"),i(o,"blurhash.x_components",{addParam:{min:0,max:9}}),i(r,"blurhash.y_components",{addParam:{min:0,max:9}}),`bh:${o}:${r}`},test:t=>ae(t)!==void 0},Symbol.toStringTag,{value:"Module"})),le=t=>{if("calcHashsums"in t)return t.calcHashsums;if("chs"in t)return t.chs},rr=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=le(t);return n(e,"calcHashsums"),e.length?`chs:${e.join(":")}`:"chs:"},test:t=>le(t)!==void 0},Symbol.toStringTag,{value:"Module"})),ue=t=>{if("detect_objects"in t)return t.detect_objects;if("do"in t)return t.do},nr=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=ue(t);return n(e,"detect_objects"),`do:${u(e)}`},test:t=>ue(t)!==void 0},Symbol.toStringTag,{value:"Module"})),ce=t=>{if("dimensions"in t)return t.dimensions;if("d"in t)return t.d},sr=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=ce(t);return n(e,"dimensions"),`d:${u(e)}`},test:t=>ce(t)!==void 0},Symbol.toStringTag,{value:"Module"})),de=t=>{if("dominant_colors"in t)return t.dominant_colors;if("dc"in t)return t.dc},ir=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=de(t);n(e,"dominant_colors"),n(e.dominant_colors,"dominant_colors.dominant_colors");const o=e.build_missed===void 0?"":`:${u(e.build_missed)}`;return`dc:${u(e.dominant_colors)}${o}`},test:t=>de(t)!==void 0},Symbol.toStringTag,{value:"Module"})),be=t=>{if("exif"in t)return t.exif},ar=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=be(t);return n(e,"EXIF"),`exif:${u(e)}`},test:t=>be(t)!==void 0},Symbol.toStringTag,{value:"Module"})),$e=t=>{if("format"in t)return t.format;if("f"in t)return t.f},lr=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=$e(t);return n(e,"format"),`f:${u(e)}`},test:t=>$e(t)!==void 0},Symbol.toStringTag,{value:"Module"})),_e=t=>{if("iptc"in t)return t.iptc},ur=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=_e(t);return n(e,"IPTC"),`iptc:${u(e)}`},test:t=>_e(t)!==void 0},Symbol.toStringTag,{value:"Module"})),me=t=>{if("palette"in t)return t.palette;if("p"in t)return t.p},cr=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=me(t);if(n(e,"palette"),i(e,"palette",{addParam:{min:0,max:256,isInt:!0}}),e===1)throw new Error("palette option is should be 0 or between 2 and 256");return`p:${e}`},test:t=>me(t)!==void 0},Symbol.toStringTag,{value:"Module"})),pe=t=>{if("size"in t)return t.size;if("s"in t)return t.s},dr=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=pe(t);return n(e,"size"),`s:${u(e)}`},test:t=>pe(t)!==void 0},Symbol.toStringTag,{value:"Module"})),fe=t=>{if("video_meta"in t)return t.video_meta;if("vm"in t)return t.vm},br=Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=fe(t);return n(e,"video_meta"),`vm:${u(e)}`},test:t=>fe(t)!==void 0},Symbol.toStringTag,{value:"Module"})),ge=t=>{if("xmp"in t)return t.xmp},$r=Object.freeze(Object.defineProperty({__proto__:null,average:er,blurhash:or,cacheBuster:F,calcHashsums:rr,crop:H,detectObjects:nr,dimensions:sr,dominantColors:ir,exif:ar,expires:L,format:lr,iptc:ur,maxSrcFileSize:mt,maxSrcResolution:ft,page:jt,palette:cr,preset:j,size:dr,videoMeta:br,videoThumbnailSecond:Jt,wildOptions:ne,xmp:Object.freeze(Object.defineProperty({__proto__:null,build:t=>{const e=ge(t);return n(e,"XMP"),`xmp:${u(e)}`},test:t=>ge(t)!==void 0},Symbol.toStringTag,{value:"Module"}))},Symbol.toStringTag,{value:"Module"})),ye={plain:!0,base64:!0,encrypted:!0},_r=Object.values($r),mr=[j],pr=(t,e,o)=>{n(t.value,"url.value","Must be a string"),n(t.type,"url.type",`Valid values are: ${Object.keys(ye).join(", ")}`),d(ye,t.type,"url.type");let r="";if(e){const a=o!=null&&o.onlyPresets?mr:_r;for(const l of a)l.test(e)&&(r+="/",r+=l.build(e,o))}let s="";return t.type==="plain"?s=`/plain/${t.value}`:t.type==="base64"?s=`/${t.value}`:t.type==="encrypted"&&(s=`/enc/${t.value}`),`${r}${s}`},fr="/info";return f.INFO_PREFIX=fr,f.generateImageInfoUrl=pr,f.generateUrl=tr,Object.defineProperty(f,Symbol.toStringTag,{value:"Module"}),f}({});