UNPKG

@sls-next/lambda-at-edge

Version:

Provides handlers that can be used in CloudFront Lambda@Edge to deploy next.js applications to the edge

2 lines (1 loc) 1.61 kB
"use strict";var e=require("buffer"),r=require("stream"),t=require("util");function f(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function n(e,r){return r.forEach((function(r){r&&"string"!=typeof r&&!Array.isArray(r)&&Object.keys(r).forEach((function(t){if("default"!==t&&!(t in e)){var f=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(e,t,f.get?f:{enumerable:!0,get:function(){return r[t]}})}}))})),Object.freeze(e)}var a=f(e),u=f(r),o=f(t);const{PassThrough:c}=u.default;const{constants:s}=a.default,{promisify:i}=o.default,d=i(u.default.pipeline);class l extends Error{constructor(){super("maxBuffer exceeded"),this.name="MaxBufferError"}}async function g(e,r){if(!e)throw new Error("Expected a stream");r={maxBuffer:1/0,...r};const{maxBuffer:t}=r,f=(e=>{e={...e};const{array:r}=e;let{encoding:t}=e;const f="buffer"===t;let n=!1;r?n=!(t||f):t=t||"utf8",f&&(t=null);const a=new c({objectMode:n});t&&a.setEncoding(t);let u=0;const o=[];return a.on("data",(e=>{o.push(e),n?u=o.length:u+=e.length})),a.getBufferedValue=()=>r?o:f?Buffer.concat(o,u):o.join(""),a.getBufferedLength=()=>u,a})(r);return await new Promise(((r,n)=>{const a=e=>{e&&f.getBufferedLength()<=s.MAX_LENGTH&&(e.bufferedData=f.getBufferedValue()),n(e)};(async()=>{try{await d(e,f),r()}catch(e){a(e)}})(),f.on("data",(()=>{f.getBufferedLength()>t&&a(new l)}))})),f.getBufferedValue()}var y=g,b=(e,r)=>g(e,{...r,encoding:"buffer"}),h=(e,r)=>g(e,{...r,array:!0}),p=l;y.buffer=b,y.array=h,y.MaxBufferError=p;var B=Object.freeze(n({__proto__:null,default:y,buffer:b,array:h,MaxBufferError:p},[y]));exports.index=B;