-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest.js
More file actions
1 lines (1 loc) · 23.5 KB
/
test.js
File metadata and controls
1 lines (1 loc) · 23.5 KB
1
var we=Object.create;var q=Object.defineProperty;var _e=Object.getOwnPropertyDescriptor;var Ie=Object.getOwnPropertyNames;var Te=Object.getPrototypeOf,Re=Object.prototype.hasOwnProperty;var je=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,i)=>(typeof require<"u"?require:t)[i]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var R=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var xe=(e,t,i,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Ie(t))!Re.call(e,o)&&o!==i&&q(e,o,{get:()=>t[o],enumerable:!(n=_e(t,o))||n.enumerable});return e};var D=(e,t,i)=>(i=e!=null?we(Te(e)):{},xe(t||!e||!e.__esModule?q(i,"default",{value:e,enumerable:!0}):i,e));var Y=R((dt,X)=>{X.exports=j;j.default=j;j.stable=H;j.stableStringify=H;var C="[...]",J="[Circular]",E=[],S=[];function z(){return{depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function j(e,t,i,n){typeof n>"u"&&(n=z()),G(e,"",0,[],void 0,0,n);var o;try{S.length===0?o=JSON.stringify(e,t,i):o=JSON.stringify(e,k(t),i)}catch{return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;E.length!==0;){var a=E.pop();a.length===4?Object.defineProperty(a[0],a[1],a[3]):a[0][a[1]]=a[2]}}return o}function L(e,t,i,n){var o=Object.getOwnPropertyDescriptor(n,i);o.get!==void 0?o.configurable?(Object.defineProperty(n,i,{value:e}),E.push([n,i,t,o])):S.push([t,i,e]):(n[i]=e,E.push([n,i,t]))}function G(e,t,i,n,o,a,c){a+=1;var m;if(typeof e=="object"&&e!==null){for(m=0;m<n.length;m++)if(n[m]===e){L(J,e,t,o);return}if(typeof c.depthLimit<"u"&&a>c.depthLimit){L(C,e,t,o);return}if(typeof c.edgesLimit<"u"&&i+1>c.edgesLimit){L(C,e,t,o);return}if(n.push(e),Array.isArray(e))for(m=0;m<e.length;m++)G(e[m],m,m,n,e,a,c);else{var l=Object.keys(e);for(m=0;m<l.length;m++){var g=l[m];G(e[g],g,m,n,e,a,c)}}n.pop()}}function Ce(e,t){return e<t?-1:e>t?1:0}function H(e,t,i,n){typeof n>"u"&&(n=z());var o=B(e,"",0,[],void 0,0,n)||e,a;try{S.length===0?a=JSON.stringify(o,t,i):a=JSON.stringify(o,k(t),i)}catch{return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;E.length!==0;){var c=E.pop();c.length===4?Object.defineProperty(c[0],c[1],c[3]):c[0][c[1]]=c[2]}}return a}function B(e,t,i,n,o,a,c){a+=1;var m;if(typeof e=="object"&&e!==null){for(m=0;m<n.length;m++)if(n[m]===e){L(J,e,t,o);return}try{if(typeof e.toJSON=="function")return}catch{return}if(typeof c.depthLimit<"u"&&a>c.depthLimit){L(C,e,t,o);return}if(typeof c.edgesLimit<"u"&&i+1>c.edgesLimit){L(C,e,t,o);return}if(n.push(e),Array.isArray(e))for(m=0;m<e.length;m++)B(e[m],m,m,n,e,a,c);else{var l={},g=Object.keys(e).sort(Ce);for(m=0;m<g.length;m++){var h=g[m];B(e[h],h,m,n,e,a,c),l[h]=e[h]}if(typeof o<"u")E.push([o,t,e]),o[t]=l;else return l}n.pop()}}function k(e){return e=typeof e<"u"?e:function(t,i){return i},function(t,i){if(S.length>0)for(var n=0;n<S.length;n++){var o=S[n];if(o[1]===t&&o[0]===i){i=o[2],S.splice(n,1);break}}return e.call(this,t,i)}}});var Z=R((ut,Q)=>{var Ne=Y(),f={LOG:Symbol("log"),META:Symbol("meta"),ERROR:Symbol("error"),OPTS:Symbol("opts")},N=class e{constructor(t,i){this[f.LOG]=t,this[f.META]={},this[f.ERROR]=null,this[f.OPTS]=i;let{meta:n,tags:o}=this[f.LOG];if(n&&(typeof n!="object"||Array.isArray(n))&&(this[f.LOG].meta={meta:n}),n||(this[f.LOG].meta={}),o||(this[f.LOG].tags=[]),e.isError(t.msg)){let a=t.msg;this[f.ERROR]=a,this[f.META].stack=a.stack,this[f.LOG].msg=a.message}}get level(){return this[f.LOG].level}get msg(){return this[f.LOG].msg}set msg(t){this[f.LOG].msg=t}get message(){return this.msg}set message(t){this.msg=t}get meta(){let t=this[f.OPTS],i={...this[f.META],...this[f.OPTS].meta,...this[f.LOG].meta};if(t.dynamicMeta&&typeof t.dynamicMeta=="function"){let n=t.dynamicMeta.call(this,this,t);typeof n=="object"&&(i=Object.assign(i,n))}for(let[n,o]of Object.entries(i))typeof o=="object"&&e.isError(o)&&(i[n]=e.stubError(o));return i}set meta(t){this[f.LOG].meta={...this[f.LOG].meta,...t}}get tags(){let t=this[f.OPTS];return[].concat(t.tags,this[f.LOG].tags).map(n=>{if(typeof n=="function")return n.call(this,{level:this.level,meta:this.meta,options:t});let o=n.match(/(<<(.*)>>)/);return o&&o[2]==="level"?n.replace(o[1],this.level):n}).filter(n=>n!=null&&n!=="")}set tags(t){this[f.LOG].tags=this[f.LOG].tags.concat(t)}get value(){let t=this[f.OPTS];return{[t.levelKey]:t.levelKey?this.level:void 0,[t.messageKey]:this.msg,...this.meta,[t.tagsKey]:t.tagsKey?this.tags:void 0}}get log(){return this.value}get throw(){let t=this[f.ERROR]||new Error(this.msg);throw t.log=this,t}toJSON(t){return Ne(this.value,this[f.OPTS].replacer||null,t?4:0)}static isError(t){return!!t&&typeof t=="object"&&(t instanceof Error||Object.prototype.hasOwnProperty.call(t,"message")&&Object.prototype.hasOwnProperty.call(t,"stack"))}static stubError(t){return typeof t.toJSON=="function"||(t.toJSON=function(){return["name","message","stack"].concat(Object.keys(t)).reduce((n,o)=>{if(o in t){let a=t[o];if(typeof a=="function")return n;n[o]=a}return n},{})}),t}};N.symbols=f;Q.exports=N});var ee=R((pt,v)=>{var Ue=je("events"),Me=Z(),w={LEVELS:Symbol("levels")},U=class e extends Ue{constructor(t={},i={}){super(),this.LambdaLog=e,this.LogMessage=Me,this.options={meta:{},tags:[],dynamicMeta:null,debug:!1,dev:!1,silent:["true","yes","y","1"].includes(process.env.LAMBDALOG_SILENT),replacer:null,logHandler:console,levelKey:"_logLevel",messageKey:"msg",tagsKey:"_tags",...t},this[w.LEVELS]={info:"info",warn:"warn",error:"error",debug(){return this.options.debug?"debug":!1},...i},this.console=this.options.logHandler;let n=this[w.LEVELS];for(let o in n)Object.prototype.hasOwnProperty.call(n,o)&&this.addLevel(o,n[o])}addLevel(t,i){return this[w.LEVELS][t]=i,this[t]=(n,o={},a=[])=>this.log(t,n,o,a),this}log(t,i,n={},o=[]){if(!Object.prototype.hasOwnProperty.call(this[w.LEVELS],t))throw new Error(`"${t}" is not a valid log level`);let a=new this.LogMessage({level:t,msg:i,meta:n,tags:o},this.options),c=this[w.LEVELS][t];return typeof c=="function"&&(c=c.call(this,a)),c?(this.options.silent||this.console[c](a.toJSON(this.options.dev)),this.emit("log",a),a):!1}assert(t,i,n={},o=[]){return t?!1:this.log("error",i,n,o)}result(t,i={},n=[]){if(!t||typeof t.then!="function")throw new Error("A promise must be provided as the first argument");return new Promise(a=>{t.then(c=>a(this.log("info",c,i,n))).catch(c=>a(this.log("error",c,i,n)))})}};U.symbols=w;v.exports=U});var re=R((lt,te)=>{var Pe=ee(),Fe=new Pe;te.exports=Fe});var V=R((b,M)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var se=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function Ve(e){return se.includes(e)}var Ke=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Blob","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","FormData","URLSearchParams","HTMLElement",...se];function We(e){return Ke.includes(e)}var qe=["null","undefined","string","number","bigint","boolean","symbol"];function Je(e){return qe.includes(e)}function _(e){return t=>typeof t===e}var{toString:ae}=Object.prototype,x=e=>{let t=ae.call(e).slice(8,-1);if(/HTML\w+Element/.test(t)&&r.domElement(e))return"HTMLElement";if(We(t))return t},y=e=>t=>x(t)===e;function r(e){if(e===null)return"null";switch(typeof e){case"undefined":return"undefined";case"string":return"string";case"number":return"number";case"boolean":return"boolean";case"function":return"Function";case"bigint":return"bigint";case"symbol":return"symbol";default:}if(r.observable(e))return"Observable";if(r.array(e))return"Array";if(r.buffer(e))return"Buffer";let t=x(e);if(t)return t;if(e instanceof String||e instanceof Boolean||e instanceof Number)throw new TypeError("Please don't use object wrappers for primitive types");return"Object"}r.undefined=_("undefined");r.string=_("string");var ze=_("number");r.number=e=>ze(e)&&!r.nan(e);r.bigint=_("bigint");r.function_=_("function");r.null_=e=>e===null;r.class_=e=>r.function_(e)&&e.toString().startsWith("class ");r.boolean=e=>e===!0||e===!1;r.symbol=_("symbol");r.numericString=e=>r.string(e)&&!r.emptyStringOrWhitespace(e)&&!Number.isNaN(Number(e));r.array=(e,t)=>Array.isArray(e)?r.function_(t)?e.every(t):!0:!1;r.buffer=e=>{var t,i,n,o;return(o=(n=(i=(t=e)===null||t===void 0?void 0:t.constructor)===null||i===void 0?void 0:i.isBuffer)===null||n===void 0?void 0:n.call(i,e))!==null&&o!==void 0?o:!1};r.blob=e=>y("Blob")(e);r.nullOrUndefined=e=>r.null_(e)||r.undefined(e);r.object=e=>!r.null_(e)&&(typeof e=="object"||r.function_(e));r.iterable=e=>{var t;return r.function_((t=e)===null||t===void 0?void 0:t[Symbol.iterator])};r.asyncIterable=e=>{var t;return r.function_((t=e)===null||t===void 0?void 0:t[Symbol.asyncIterator])};r.generator=e=>{var t,i;return r.iterable(e)&&r.function_((t=e)===null||t===void 0?void 0:t.next)&&r.function_((i=e)===null||i===void 0?void 0:i.throw)};r.asyncGenerator=e=>r.asyncIterable(e)&&r.function_(e.next)&&r.function_(e.throw);r.nativePromise=e=>y("Promise")(e);var He=e=>{var t,i;return r.function_((t=e)===null||t===void 0?void 0:t.then)&&r.function_((i=e)===null||i===void 0?void 0:i.catch)};r.promise=e=>r.nativePromise(e)||He(e);r.generatorFunction=y("GeneratorFunction");r.asyncGeneratorFunction=e=>x(e)==="AsyncGeneratorFunction";r.asyncFunction=e=>x(e)==="AsyncFunction";r.boundFunction=e=>r.function_(e)&&!e.hasOwnProperty("prototype");r.regExp=y("RegExp");r.date=y("Date");r.error=y("Error");r.map=e=>y("Map")(e);r.set=e=>y("Set")(e);r.weakMap=e=>y("WeakMap")(e);r.weakSet=e=>y("WeakSet")(e);r.int8Array=y("Int8Array");r.uint8Array=y("Uint8Array");r.uint8ClampedArray=y("Uint8ClampedArray");r.int16Array=y("Int16Array");r.uint16Array=y("Uint16Array");r.int32Array=y("Int32Array");r.uint32Array=y("Uint32Array");r.float32Array=y("Float32Array");r.float64Array=y("Float64Array");r.bigInt64Array=y("BigInt64Array");r.bigUint64Array=y("BigUint64Array");r.arrayBuffer=y("ArrayBuffer");r.sharedArrayBuffer=y("SharedArrayBuffer");r.dataView=y("DataView");r.enumCase=(e,t)=>Object.values(t).includes(e);r.directInstanceOf=(e,t)=>Object.getPrototypeOf(e)===t.prototype;r.urlInstance=e=>y("URL")(e);r.urlString=e=>{if(!r.string(e))return!1;try{return new URL(e),!0}catch{return!1}};r.truthy=e=>!!e;r.falsy=e=>!e;r.nan=e=>Number.isNaN(e);r.primitive=e=>r.null_(e)||Je(typeof e);r.integer=e=>Number.isInteger(e);r.safeInteger=e=>Number.isSafeInteger(e);r.plainObject=e=>{if(ae.call(e)!=="[object Object]")return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.getPrototypeOf({})};r.typedArray=e=>Ve(x(e));var ke=e=>r.safeInteger(e)&&e>=0;r.arrayLike=e=>!r.nullOrUndefined(e)&&!r.function_(e)&&ke(e.length);r.inRange=(e,t)=>{if(r.number(t))return e>=Math.min(0,t)&&e<=Math.max(t,0);if(r.array(t)&&t.length===2)return e>=Math.min(...t)&&e<=Math.max(...t);throw new TypeError(`Invalid range: ${JSON.stringify(t)}`)};var Xe=1,Ye=["innerHTML","ownerDocument","style","attributes","nodeValue"];r.domElement=e=>r.object(e)&&e.nodeType===Xe&&r.string(e.nodeName)&&!r.plainObject(e)&&Ye.every(t=>t in e);r.observable=e=>{var t,i,n,o;return e?e===((i=(t=e)[Symbol.observable])===null||i===void 0?void 0:i.call(t))||e===((o=(n=e)["@@observable"])===null||o===void 0?void 0:o.call(n)):!1};r.nodeStream=e=>r.object(e)&&r.function_(e.pipe)&&!r.observable(e);r.infinite=e=>e===1/0||e===-1/0;var ce=e=>t=>r.integer(t)&&Math.abs(t%2)===e;r.evenInteger=ce(0);r.oddInteger=ce(1);r.emptyArray=e=>r.array(e)&&e.length===0;r.nonEmptyArray=e=>r.array(e)&&e.length>0;r.emptyString=e=>r.string(e)&&e.length===0;var Qe=e=>r.string(e)&&!/\S/.test(e);r.emptyStringOrWhitespace=e=>r.emptyString(e)||Qe(e);r.nonEmptyString=e=>r.string(e)&&e.length>0;r.nonEmptyStringAndNotWhitespace=e=>r.string(e)&&!r.emptyStringOrWhitespace(e);r.emptyObject=e=>r.object(e)&&!r.map(e)&&!r.set(e)&&Object.keys(e).length===0;r.nonEmptyObject=e=>r.object(e)&&!r.map(e)&&!r.set(e)&&Object.keys(e).length>0;r.emptySet=e=>r.set(e)&&e.size===0;r.nonEmptySet=e=>r.set(e)&&e.size>0;r.emptyMap=e=>r.map(e)&&e.size===0;r.nonEmptyMap=e=>r.map(e)&&e.size>0;r.propertyKey=e=>r.any([r.string,r.number,r.symbol],e);r.formData=e=>y("FormData")(e);r.urlSearchParams=e=>y("URLSearchParams")(e);var me=(e,t,i)=>{if(!r.function_(t))throw new TypeError(`Invalid predicate: ${JSON.stringify(t)}`);if(i.length===0)throw new TypeError("Invalid number of values");return e.call(i,t)};r.any=(e,...t)=>(r.array(e)?e:[e]).some(n=>me(Array.prototype.some,n,t));r.all=(e,...t)=>me(Array.prototype.every,e,t);var s=(e,t,i,n={})=>{if(!e){let{multipleValues:o}=n,a=o?`received values of types ${[...new Set(i.map(c=>`\`${r(c)}\``))].join(", ")}`:`received value of type \`${r(i)}\``;throw new TypeError(`Expected value which is \`${t}\`, ${a}.`)}};b.assert={undefined:e=>s(r.undefined(e),"undefined",e),string:e=>s(r.string(e),"string",e),number:e=>s(r.number(e),"number",e),bigint:e=>s(r.bigint(e),"bigint",e),function_:e=>s(r.function_(e),"Function",e),null_:e=>s(r.null_(e),"null",e),class_:e=>s(r.class_(e),"Class",e),boolean:e=>s(r.boolean(e),"boolean",e),symbol:e=>s(r.symbol(e),"symbol",e),numericString:e=>s(r.numericString(e),"string with a number",e),array:(e,t)=>{s(r.array(e),"Array",e),t&&e.forEach(t)},buffer:e=>s(r.buffer(e),"Buffer",e),blob:e=>s(r.blob(e),"Blob",e),nullOrUndefined:e=>s(r.nullOrUndefined(e),"null or undefined",e),object:e=>s(r.object(e),"Object",e),iterable:e=>s(r.iterable(e),"Iterable",e),asyncIterable:e=>s(r.asyncIterable(e),"AsyncIterable",e),generator:e=>s(r.generator(e),"Generator",e),asyncGenerator:e=>s(r.asyncGenerator(e),"AsyncGenerator",e),nativePromise:e=>s(r.nativePromise(e),"native Promise",e),promise:e=>s(r.promise(e),"Promise",e),generatorFunction:e=>s(r.generatorFunction(e),"GeneratorFunction",e),asyncGeneratorFunction:e=>s(r.asyncGeneratorFunction(e),"AsyncGeneratorFunction",e),asyncFunction:e=>s(r.asyncFunction(e),"AsyncFunction",e),boundFunction:e=>s(r.boundFunction(e),"Function",e),regExp:e=>s(r.regExp(e),"RegExp",e),date:e=>s(r.date(e),"Date",e),error:e=>s(r.error(e),"Error",e),map:e=>s(r.map(e),"Map",e),set:e=>s(r.set(e),"Set",e),weakMap:e=>s(r.weakMap(e),"WeakMap",e),weakSet:e=>s(r.weakSet(e),"WeakSet",e),int8Array:e=>s(r.int8Array(e),"Int8Array",e),uint8Array:e=>s(r.uint8Array(e),"Uint8Array",e),uint8ClampedArray:e=>s(r.uint8ClampedArray(e),"Uint8ClampedArray",e),int16Array:e=>s(r.int16Array(e),"Int16Array",e),uint16Array:e=>s(r.uint16Array(e),"Uint16Array",e),int32Array:e=>s(r.int32Array(e),"Int32Array",e),uint32Array:e=>s(r.uint32Array(e),"Uint32Array",e),float32Array:e=>s(r.float32Array(e),"Float32Array",e),float64Array:e=>s(r.float64Array(e),"Float64Array",e),bigInt64Array:e=>s(r.bigInt64Array(e),"BigInt64Array",e),bigUint64Array:e=>s(r.bigUint64Array(e),"BigUint64Array",e),arrayBuffer:e=>s(r.arrayBuffer(e),"ArrayBuffer",e),sharedArrayBuffer:e=>s(r.sharedArrayBuffer(e),"SharedArrayBuffer",e),dataView:e=>s(r.dataView(e),"DataView",e),enumCase:(e,t)=>s(r.enumCase(e,t),"EnumCase",e),urlInstance:e=>s(r.urlInstance(e),"URL",e),urlString:e=>s(r.urlString(e),"string with a URL",e),truthy:e=>s(r.truthy(e),"truthy",e),falsy:e=>s(r.falsy(e),"falsy",e),nan:e=>s(r.nan(e),"NaN",e),primitive:e=>s(r.primitive(e),"primitive",e),integer:e=>s(r.integer(e),"integer",e),safeInteger:e=>s(r.safeInteger(e),"integer",e),plainObject:e=>s(r.plainObject(e),"plain object",e),typedArray:e=>s(r.typedArray(e),"TypedArray",e),arrayLike:e=>s(r.arrayLike(e),"array-like",e),domElement:e=>s(r.domElement(e),"HTMLElement",e),observable:e=>s(r.observable(e),"Observable",e),nodeStream:e=>s(r.nodeStream(e),"Node.js Stream",e),infinite:e=>s(r.infinite(e),"infinite number",e),emptyArray:e=>s(r.emptyArray(e),"empty array",e),nonEmptyArray:e=>s(r.nonEmptyArray(e),"non-empty array",e),emptyString:e=>s(r.emptyString(e),"empty string",e),emptyStringOrWhitespace:e=>s(r.emptyStringOrWhitespace(e),"empty string or whitespace",e),nonEmptyString:e=>s(r.nonEmptyString(e),"non-empty string",e),nonEmptyStringAndNotWhitespace:e=>s(r.nonEmptyStringAndNotWhitespace(e),"non-empty string and not whitespace",e),emptyObject:e=>s(r.emptyObject(e),"empty object",e),nonEmptyObject:e=>s(r.nonEmptyObject(e),"non-empty object",e),emptySet:e=>s(r.emptySet(e),"empty set",e),nonEmptySet:e=>s(r.nonEmptySet(e),"non-empty set",e),emptyMap:e=>s(r.emptyMap(e),"empty map",e),nonEmptyMap:e=>s(r.nonEmptyMap(e),"non-empty map",e),propertyKey:e=>s(r.propertyKey(e),"PropertyKey",e),formData:e=>s(r.formData(e),"FormData",e),urlSearchParams:e=>s(r.urlSearchParams(e),"URLSearchParams",e),evenInteger:e=>s(r.evenInteger(e),"even integer",e),oddInteger:e=>s(r.oddInteger(e),"odd integer",e),directInstanceOf:(e,t)=>s(r.directInstanceOf(e,t),"T",e),inRange:(e,t)=>s(r.inRange(e,t),"in range",e),any:(e,...t)=>s(r.any(e,...t),"predicate returns truthy for any value",t,{multipleValues:!0}),all:(e,...t)=>s(r.all(e,...t),"predicate returns truthy for all values",t,{multipleValues:!0})};Object.defineProperties(r,{class:{value:r.class_},function:{value:r.function_},null:{value:r.null_}});Object.defineProperties(b.assert,{class:{value:b.assert.class_},function:{value:b.assert.function_},null:{value:b.assert.null_}});b.default=r;M.exports=r;M.exports.default=r;M.exports.assert=b.assert});var $=D(re(),1);process.env.LOG_LEVEL==="debug"&&($.default.options.debug=!0);var d=$.default;var De=e=>async(t,i={})=>{try{d.defaultMeta={requestId:i.awsRequestId},d.debug("Received event",{event:t,context:i});let n=await e(t,i);return d.debug("Result from lambda",{result:n}),n}catch(n){throw d.error(n.message,{event:t,context:i,error:n}),n}},ne=De;import{InvokeCommand as $e}from"@aws-sdk/client-lambda";import{LambdaClient as Ge}from"@aws-sdk/client-lambda";var Be=new Ge,ie=Be;var oe=async e=>{try{d.debug("Invoking lambda",{params:e});let t=await ie.send(new $e(e));return d.debug("Succeeded invoking lambda",{response:t}),t}catch(t){throw d.error("Failed invoking lambda",{params:e,err:t}),t}};var fe=D(V()),O=e=>e&&e.split(",").map(t=>t.trim()).map(t=>fe.default.number(parseInt(t,10))?parseInt(t,10):t);var u={stage:process.env.STAGE,logLevel:process.env.LOG_LEVEL,audioBucketName:process.env.AUDIO_BUCKET_NAME,CORSAllowedOrigins:process.env.CORS_ALLOWED_ORIGIN,s3FolderPrefix:"sound-ws/hls-srv/audio",jwtAudience:"api.sound.ws",m3u8FileTable:process.env.DYNAMODB_TABLE_M3U8FILE,m3u8FileTableTTL:parseInt(process.env.AUDIO_CACHE_TTL,10)||60*60*24*30,signedUrlExpiresIn:parseInt(process.env.SIGNED_URL_EXPIRY_SEC,10)||3600,createM3U8LambdaArn:process.env.LAMBDA_CREATE_M3U8_ARN,s3CacheDuration:process.env.S3_CACHE_MAX_AGE||2592e3,validSampleRates:O(process.env.ALLOWED_SAMPLE_RATES)||[22050],validBitrates:O(process.env.ALLOWED_BITRATES)||[192],validAudioFormats:O(process.env.ALLOWED_FORMATS)||["mp3"],validSegmentTimes:O(process.env.ALLOWED_SEGMENT_DURATION)||[5],allowedAudioOrigins:O(process.env.ALLOWED_AUDIO_ORIGINS)||["*"],audioOutputMaxDuration:parseInt(process.env.AUDIO_OUTPUT_MAX_DURATION,10)||600};var ye=e=>oe({FunctionName:u.createM3U8LambdaArn,InvocationType:"RequestResponse",Payload:JSON.stringify({queryStringParameters:e.queryStringParameters})});import{GetCommand as it}from"@aws-sdk/lib-dynamodb";import{DynamoDBDocumentClient as et}from"@aws-sdk/lib-dynamodb";import{DynamoDBClient as Ze}from"@aws-sdk/client-dynamodb";var ve=new Ze,de=ve;var tt={convertEmptyValues:!1,removeUndefinedValues:!0,convertClassInstanceToMap:!1},rt={wrapNumbers:!1},nt={marshallOptions:tt,unmarshallOptions:rt},P=et.from(de,nt);var ue=async e=>{try{d.debug("Start getting dynamodb record",{params:e});let{Item:t}=await P.send(new it(e));return t?d.debug("Succeeded in getting record",{params:e,Item:t}):d.debug("Dynamodb record not found",{params:e}),t}catch(t){throw d.error("Failed to get dynamodb record",{params:e,error:t.message}),t}};var K=async(e,t=!1)=>ue({TableName:u.m3u8FileTable,ConsistentRead:t,Key:{objectKey:e}});import{UpdateCommand as ot}from"@aws-sdk/lib-dynamodb";var pe=async e=>{try{d.debug("Start updating dynamodb record",{params:e}),await P.send(new ot(e)),d.debug("Completed updating dynamodb record",{params:e})}catch(t){throw d.error("Failed to updating dynamodb record",{params:e,error:t.message}),t}};var le=async e=>pe({TableName:u.m3u8FileTable,Key:{objectKey:e},ConditionExpression:"objectKey = :objectKey",UpdateExpression:"set tLastRequested = :tLastRequested, #ttl = :x",ExpressionAttributeValues:{":tLastRequested":new Date().toISOString(),":x":Math.floor(new Date/1e3)+u.m3u8FileTableTTL,":objectKey":e},ExpressionAttributeNames:{"#ttl":"ttl"}});var I=D(V());var ge=e=>{let{sampleRate:t,bitRate:i,segmentTime:n,format:o,sourceUrl:a}=e.queryStringParameters||{},{authorizer:c}=e.requestContext||{},{validSampleRates:m,validBitrates:l,validSegmentTimes:g,validAudioFormats:h}=u,F=c?.allowedAudioOrigins?O(c?.allowedAudioOrigins):u.allowedAudioOrigins,p={sourceUrl:a,sampleRate:t?parseInt(t,10):m[0],bitRate:i?parseInt(i,10):l[0],segmentTime:n?parseInt(n,10):g[0],format:o||h[0]},A=[];if(I.default.urlString(p.sourceUrl)||A.push("sourceUrl must be a url"),(!p.sourceUrl||F.indexOf("*")===-1&&F.find(T=>p.sourceUrl.indexOf(T)===0)===void 0)&&A.push("sourceUrl origin not permitted"),(!I.default.number(p.sampleRate)||m.indexOf(p.sampleRate)===-1)&&A.push(`sampleRate must be on of ${m.join("|")}`),(!I.default.number(p.bitRate)||l.indexOf(p.bitRate)===-1)&&A.push(`bitRate must be one of ${l.join("|")}`),(!I.default.number(p.segmentTime)||g.indexOf(p.segmentTime)===-1)&&A.push(`segmentTime must be one of ${g.join("|")}`),(!I.default.string(p.format)||h.indexOf(p.format)===-1)&&A.push(`format must be one of ${h.join("|")}`),A.length){let T=new Error("Parsing options failed");throw T.errors=A,T.code="BadRequest",T}return p};var be=(e,{sampleRate:t,bitRate:i,segmentTime:n,format:o})=>`${u.s3FolderPrefix}/${e}/${o}/${n}s/${i}kb/${t}hz`;import{createHash as st}from"crypto";var he=e=>{let{hostname:t,pathname:i}=new URL(e);return st("md5").update(`${t}:${i}`).digest("hex")};import{getSignedUrl as mt}from"@aws-sdk/s3-request-presigner";import{GetObjectCommand as ft}from"@aws-sdk/client-s3";import{S3Client as at}from"@aws-sdk/client-s3";var ct=new at,Ae=ct;var Oe=async(e,t,i={expiresIn:3600},n=void 0)=>{let o={Bucket:e,Key:t};n&&(o.ResponseContentDisposition=`attachment; filename="${n}"`),d.debug("Signing s3 url",o);let a=new ft(o),c=await mt(Ae,a,i);return d.debug("Signed s3 url",{url:c,commandParams:o}),c};var Se=(e,t)=>Oe(u.audioBucketName,e,t);var Ee=async(e,t)=>{let i=e.match(new RegExp(`${u.s3FolderPrefix}/${t}(/[a-z0-9]+)+[a-z]+.segment-[0-9]+.[a-z0-9]+`,"gs")),n=await Promise.all(i.map(a=>Se(a,{expiresIn:u.signedUrlExpiresIn}).then(c=>({object:a,url:c})))),o=e;return n.forEach(({object:a,url:c})=>{o=o.replace(a,c)}),o};var Le=({requestHeaders:e,origin:t,allowedOrigins:i,corsMaxAge:n=86400}={})=>{let o=t||e?.origin||e?.Origin;return o&&i&&(i.indexOf("*")!==-1||i.indexOf(o)!==-1)?(d.debug("Adding CORS headers",{requestOrigin:o,allowedOrigins:i,corsMaxAge:n}),{"Access-Control-Allow-Origin":o,"Access-Control-Max-Age":n}):{}};var W=(e,t)=>({...t,headers:{...Le({origin:e.headers?.origin||e.headers?.Origin,allowedOrigins:u.CORSAllowedOrigins}),...t.headers}});var Nr=ne(async e=>{d.debug("Running with config",u);let t;try{t=ge(e)}catch(m){return W(e,{statusCode:400,headers:{"Content-Type":"application/json"},body:JSON.stringify({errors:m.errors})})}let i=he(t.sourceUrl),n=be(i,t),o=le(n).catch(()=>{}),a=await K(n);a||(d.info(`Key ${n} does not exist. Creating.`),await ye(e),a=await K(n,!0));let c=await Ee(a.contents,i);return await o,W(e,{statusCode:200,headers:{"Cache-Control":`public, max-age=${Math.floor(u.signedUrlExpiresIn*.9)}`,"Content-Type":"application/x-mpegURL"},body:c})});export{Nr as handler};