@lowerdeck/cron 1.0.3 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.module.js +1 -1
- package/dist/index.module.js.map +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/index.umd.js.map +1 -1
- package/package.json +14 -8
- package/.turbo/turbo-build.log +0 -26
- package/.turbo/turbo-test.log +0 -11
- package/CHANGELOG.md +0 -27
- package/tsconfig.json +0 -11
package/dist/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e=require("@lowerdeck/sentry"),t=require("async_hooks"),r=require("@lowerdeck/redis"),n=require("bullmq");function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},o.apply(null,arguments)}new Map([].concat(["for","and","nor","but","or","yet","so"].map(function(e){return[e.toLowerCase(),e]}),["a","an","the"].map(function(e){return[e.toLowerCase(),e]}),["aboard","about","above","across","after","against","along","amid","among","anti","around","as","at","before","behind","below","beneath","beside","besides","between","beyond","but","by","concerning","considering","despite","down","during","except","excepting","excluding","following","for","from","in","inside","into","like","minus","near","of","off","on","onto","opposite","over","past","per","plus","regarding","round","save","since","than","through","to","toward","towards","under","underneath","unlike","until","up","upon","versus","via","with","within","without"].map(function(e){return[e.toLowerCase(),e]}),["Metorial","MCP","CLI","API","HTTP","HTTPS","JSX","DNS","URL","CI","CD","CDN","package.json","package.lock","yarn.lock","GitHub","GitLab","CSS","Sass","JS","JavaScript","TypeScript","HTML","WordPress","Next.js","Node.js","Webpack","Docker","Bash","Kubernetes","SWR","TinaCMS","UI","UX","TS","TSX","iPhone","iPad","watchOS","iOS","iPadOS","macOS","PHP","composer.json","composer.lock","CMS","SQL","C","C#","GraphQL","GraphiQL","JWT","JWTs"].map(function(e){return[e.toLowerCase(),e]})));var a=function(e){return Object.assign(function(t){return void 0===t&&(t={}),a(o({},e,t))},{__typename:"error",data:e,toResponse:function(){return o({__typename:"error",ok:!1},e)}})};a({status:500,code:"internal_server_error",message:"An internal server error occurred."}),a({status:400,code:"bad_request",message:"The request is invalid."}),a({status:401,code:"unauthorized",message:"You are not authorized to access this resource.",hint:"Make sure you are logged in and have the correct permissions to access this resource."}),a({status:403,code:"forbidden",message:"You do not have permission to access this resource."}),a({status:400,code:"invalid_version",message:"The endpoint does not support the requested version."}),a({status:409,code:"conflict",message:"A similar resource already exists."}),a({status:410,code:"gone",message:"The requested resource is no longer available."}),a({status:402,code:"payment_required",message:"Payment is required to access this resource."}),a({status:412,code:"precondition_failed",message:"The precondition of the request failed."}),a({status:406,code:"not_acceptable",message:"The requested resource is not acceptable."}),a({status:501,code:"not_implemented",message:"The requested resource is not implemented."}),a({status:429,code:"too_many_requests",message:"You have made too many requests in a short period of time.",hint:"Please wait a moment and try again."}),a({status:504,code:"timeout",message:"The request timed out."}),a({status:405,code:"method_not_allowed",message:"The requested method is not allowed for this resource."}),function(e){const t=new Uint8Array(256);for(let e=0;e<t.length;e++)t[e]=255;for(let r=0;r<62;r++){const n=e.charAt(r),o=n.charCodeAt(0);if(255!==t[o])throw new TypeError(n+" is ambiguous");t[o]=r}e.charAt(0),Math.log(62),Math.log(256),Math.log(256),Math.log(62)}("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ");let s,i=e=>crypto.getRandomValues(new Uint8Array(e)),u=(e,t=21)=>((e,t,r)=>{let n=(2<<Math.log2(e.length-1))-1,o=-~(1.6*n*t/e.length);return(a=t)=>{let s="";for(;;){let t=r(o),i=0|o;for(;i--;)if(s+=e[t[i]&n]||"",s.length>=a)return s}}})(e,0|t,i);function c(e){var t={exports:{}};return e(t,t.exports),t.exports}const d=new Uint8Array(16);var l=/*#__PURE__*/Object.defineProperty({default:function(){if(!s&&(s="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!s))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return s(d)}},"__esModule",{value:!0}),f=c(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i}),h=c(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,n=(r=f)&&r.__esModule?r:{default:r};t.default=function(e){return"string"==typeof e&&n.default.test(e)}}),p=c(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.unsafeStringify=a;var r,n=(r=h)&&r.__esModule?r:{default:r};const o=[];for(let e=0;e<256;++e)o.push((e+256).toString(16).slice(1));function a(e,t=0){return o[e[t+0]]+o[e[t+1]]+o[e[t+2]]+o[e[t+3]]+"-"+o[e[t+4]]+o[e[t+5]]+"-"+o[e[t+6]]+o[e[t+7]]+"-"+o[e[t+8]]+o[e[t+9]]+"-"+o[e[t+10]]+o[e[t+11]]+o[e[t+12]]+o[e[t+13]]+o[e[t+14]]+o[e[t+15]]}t.default=function(e,t=0){const r=a(e,t);if(!(0,n.default)(r))throw TypeError("Stringified UUID is invalid");return r}}),g=l,m=p,v=c(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,n=(r=g)&&r.__esModule?r:{default:r};let o,a,s=0,i=0;t.default=function(e,t,r){let u=t&&r||0;const c=t||new Array(16);let d=(e=e||{}).node||o,l=void 0!==e.clockseq?e.clockseq:a;if(null==d||null==l){const t=e.random||(e.rng||n.default)();null==d&&(d=o=[1|t[0],t[1],t[2],t[3],t[4],t[5]]),null==l&&(l=a=16383&(t[6]<<8|t[7]))}let f=void 0!==e.msecs?e.msecs:Date.now(),h=void 0!==e.nsecs?e.nsecs:i+1;const p=f-s+(h-i)/1e4;if(p<0&&void 0===e.clockseq&&(l=l+1&16383),(p<0||f>s)&&void 0===e.nsecs&&(h=0),h>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");s=f,i=h,a=l,f+=122192928e5;const g=(1e4*(268435455&f)+h)%4294967296;c[u++]=g>>>24&255,c[u++]=g>>>16&255,c[u++]=g>>>8&255,c[u++]=255&g;const v=f/4294967296*1e4&268435455;c[u++]=v>>>8&255,c[u++]=255&v,c[u++]=v>>>24&15|16,c[u++]=v>>>16&255,c[u++]=l>>>8|128,c[u++]=255&l;for(let e=0;e<6;++e)c[u+e]=d[e];return t||(0,m.unsafeStringify)(c)}}),y=c(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,n=(r=h)&&r.__esModule?r:{default:r};t.default=function(e){if(!(0,n.default)(e))throw TypeError("Invalid UUID");let t;const r=new Uint8Array(16);return r[0]=(t=parseInt(e.slice(0,8),16))>>>24,r[1]=t>>>16&255,r[2]=t>>>8&255,r[3]=255&t,r[4]=(t=parseInt(e.slice(9,13),16))>>>8,r[5]=255&t,r[6]=(t=parseInt(e.slice(14,18),16))>>>8,r[7]=255&t,r[8]=(t=parseInt(e.slice(19,23),16))>>>8,r[9]=255&t,r[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255,r[11]=t/4294967296&255,r[12]=t>>>24&255,r[13]=t>>>16&255,r[14]=t>>>8&255,r[15]=255&t,r}}),b=c(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.URL=t.DNS=void 0,t.default=function(e,t,r){function s(e,o,a,s){var i;if("string"==typeof e&&(e=function(e){e=unescape(encodeURIComponent(e));const t=[];for(let r=0;r<e.length;++r)t.push(e.charCodeAt(r));return t}(e)),"string"==typeof o&&(o=(0,n.default)(o)),16!==(null===(i=o)||void 0===i?void 0:i.length))throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let u=new Uint8Array(16+e.length);if(u.set(o),u.set(e,o.length),u=r(u),u[6]=15&u[6]|t,u[8]=63&u[8]|128,a){s=s||0;for(let e=0;e<16;++e)a[s+e]=u[e];return a}return(0,m.unsafeStringify)(u)}try{s.name=e}catch(e){}return s.DNS=o,s.URL=a,s};var r,n=(r=y)&&r.__esModule?r:{default:r};const o="6ba7b810-9dad-11d1-80b4-00c04fd430c8";t.DNS=o;const a="6ba7b811-9dad-11d1-80b4-00c04fd430c8";t.URL=a}),w=c(function(e,t){function r(e){return 14+(e+64>>>9<<4)+1}function n(e,t){const r=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(r>>16)<<16|65535&r}function o(e,t,r,o,a,s){return n((i=n(n(t,e),n(o,s)))<<(u=a)|i>>>32-u,r);var i,u}function a(e,t,r,n,a,s,i){return o(t&r|~t&n,e,t,a,s,i)}function s(e,t,r,n,a,s,i){return o(t&n|r&~n,e,t,a,s,i)}function i(e,t,r,n,a,s,i){return o(t^r^n,e,t,a,s,i)}function u(e,t,r,n,a,s,i){return o(r^(t|~n),e,t,a,s,i)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default=function(e){if("string"==typeof e){const t=unescape(encodeURIComponent(e));e=new Uint8Array(t.length);for(let r=0;r<t.length;++r)e[r]=t.charCodeAt(r)}return function(e){const t=[],r=32*e.length,n="0123456789abcdef";for(let o=0;o<r;o+=8){const r=e[o>>5]>>>o%32&255,a=parseInt(n.charAt(r>>>4&15)+n.charAt(15&r),16);t.push(a)}return t}(function(e,t){e[t>>5]|=128<<t%32,e[r(t)-1]=t;let o=1732584193,c=-271733879,d=-1732584194,l=271733878;for(let t=0;t<e.length;t+=16){const r=o,f=c,h=d,p=l;o=a(o,c,d,l,e[t],7,-680876936),l=a(l,o,c,d,e[t+1],12,-389564586),d=a(d,l,o,c,e[t+2],17,606105819),c=a(c,d,l,o,e[t+3],22,-1044525330),o=a(o,c,d,l,e[t+4],7,-176418897),l=a(l,o,c,d,e[t+5],12,1200080426),d=a(d,l,o,c,e[t+6],17,-1473231341),c=a(c,d,l,o,e[t+7],22,-45705983),o=a(o,c,d,l,e[t+8],7,1770035416),l=a(l,o,c,d,e[t+9],12,-1958414417),d=a(d,l,o,c,e[t+10],17,-42063),c=a(c,d,l,o,e[t+11],22,-1990404162),o=a(o,c,d,l,e[t+12],7,1804603682),l=a(l,o,c,d,e[t+13],12,-40341101),d=a(d,l,o,c,e[t+14],17,-1502002290),c=a(c,d,l,o,e[t+15],22,1236535329),o=s(o,c,d,l,e[t+1],5,-165796510),l=s(l,o,c,d,e[t+6],9,-1069501632),d=s(d,l,o,c,e[t+11],14,643717713),c=s(c,d,l,o,e[t],20,-373897302),o=s(o,c,d,l,e[t+5],5,-701558691),l=s(l,o,c,d,e[t+10],9,38016083),d=s(d,l,o,c,e[t+15],14,-660478335),c=s(c,d,l,o,e[t+4],20,-405537848),o=s(o,c,d,l,e[t+9],5,568446438),l=s(l,o,c,d,e[t+14],9,-1019803690),d=s(d,l,o,c,e[t+3],14,-187363961),c=s(c,d,l,o,e[t+8],20,1163531501),o=s(o,c,d,l,e[t+13],5,-1444681467),l=s(l,o,c,d,e[t+2],9,-51403784),d=s(d,l,o,c,e[t+7],14,1735328473),c=s(c,d,l,o,e[t+12],20,-1926607734),o=i(o,c,d,l,e[t+5],4,-378558),l=i(l,o,c,d,e[t+8],11,-2022574463),d=i(d,l,o,c,e[t+11],16,1839030562),c=i(c,d,l,o,e[t+14],23,-35309556),o=i(o,c,d,l,e[t+1],4,-1530992060),l=i(l,o,c,d,e[t+4],11,1272893353),d=i(d,l,o,c,e[t+7],16,-155497632),c=i(c,d,l,o,e[t+10],23,-1094730640),o=i(o,c,d,l,e[t+13],4,681279174),l=i(l,o,c,d,e[t],11,-358537222),d=i(d,l,o,c,e[t+3],16,-722521979),c=i(c,d,l,o,e[t+6],23,76029189),o=i(o,c,d,l,e[t+9],4,-640364487),l=i(l,o,c,d,e[t+12],11,-421815835),d=i(d,l,o,c,e[t+15],16,530742520),c=i(c,d,l,o,e[t+2],23,-995338651),o=u(o,c,d,l,e[t],6,-198630844),l=u(l,o,c,d,e[t+7],10,1126891415),d=u(d,l,o,c,e[t+14],15,-1416354905),c=u(c,d,l,o,e[t+5],21,-57434055),o=u(o,c,d,l,e[t+12],6,1700485571),l=u(l,o,c,d,e[t+3],10,-1894986606),d=u(d,l,o,c,e[t+10],15,-1051523),c=u(c,d,l,o,e[t+1],21,-2054922799),o=u(o,c,d,l,e[t+8],6,1873313359),l=u(l,o,c,d,e[t+15],10,-30611744),d=u(d,l,o,c,e[t+6],15,-1560198380),c=u(c,d,l,o,e[t+13],21,1309151649),o=u(o,c,d,l,e[t+4],6,-145523070),l=u(l,o,c,d,e[t+11],10,-1120210379),d=u(d,l,o,c,e[t+2],15,718787259),c=u(c,d,l,o,e[t+9],21,-343485551),o=n(o,r),c=n(c,f),d=n(d,h),l=n(l,p)}return[o,c,d,l]}(function(e){if(0===e.length)return[];const t=8*e.length,n=new Uint32Array(r(t));for(let r=0;r<t;r+=8)n[r>>5]|=(255&e[r/8])<<r%32;return n}(e),8*e.length))}}),I=b,_=w,k=c(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=o(I),n=o(_);function o(e){return e&&e.__esModule?e:{default:e}}const a=(0,r.default)("v3",48,n.default);t.default=a}),S=c(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;const r="undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);t.default={randomUUID:r}}),M=c(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=o(S),n=o(g);function o(e){return e&&e.__esModule?e:{default:e}}t.default=function(e,t,o){if(r.default.randomUUID&&!t&&!e)return r.default.randomUUID();const a=(e=e||{}).random||(e.rng||n.default)();if(a[6]=15&a[6]|64,a[8]=63&a[8]|128,t){o=o||0;for(let e=0;e<16;++e)t[o+e]=a[e];return t}return(0,m.unsafeStringify)(a)}}),P=c(function(e,t){function r(e,t,r,n){switch(e){case 0:return t&r^~t&n;case 1:case 3:return t^r^n;case 2:return t&r^t&n^r&n}}function n(e,t){return e<<t|e>>>32-t}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default=function(e){const t=[1518500249,1859775393,2400959708,3395469782],o=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof e){const t=unescape(encodeURIComponent(e));e=[];for(let r=0;r<t.length;++r)e.push(t.charCodeAt(r))}else Array.isArray(e)||(e=Array.prototype.slice.call(e));e.push(128);const a=Math.ceil((e.length/4+2)/16),s=new Array(a);for(let t=0;t<a;++t){const r=new Uint32Array(16);for(let n=0;n<16;++n)r[n]=e[64*t+4*n]<<24|e[64*t+4*n+1]<<16|e[64*t+4*n+2]<<8|e[64*t+4*n+3];s[t]=r}s[a-1][14]=8*(e.length-1)/Math.pow(2,32),s[a-1][14]=Math.floor(s[a-1][14]),s[a-1][15]=8*(e.length-1)&4294967295;for(let e=0;e<a;++e){const a=new Uint32Array(80);for(let t=0;t<16;++t)a[t]=s[e][t];for(let e=16;e<80;++e)a[e]=n(a[e-3]^a[e-8]^a[e-14]^a[e-16],1);let i=o[0],u=o[1],c=o[2],d=o[3],l=o[4];for(let e=0;e<80;++e){const o=Math.floor(e/20),s=n(i,5)+r(o,u,c,d)+l+t[o]+a[e]>>>0;l=d,d=c,c=n(u,30)>>>0,u=i,i=s}o[0]=o[0]+i>>>0,o[1]=o[1]+u>>>0,o[2]=o[2]+c>>>0,o[3]=o[3]+d>>>0,o[4]=o[4]+l>>>0}return[o[0]>>24&255,o[0]>>16&255,o[0]>>8&255,255&o[0],o[1]>>24&255,o[1]>>16&255,o[1]>>8&255,255&o[1],o[2]>>24&255,o[2]>>16&255,o[2]>>8&255,255&o[2],o[3]>>24&255,o[3]>>16&255,o[3]>>8&255,255&o[3],o[4]>>24&255,o[4]>>16&255,o[4]>>8&255,255&o[4]]}}),j=P,q=c(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=o(I),n=o(j);function o(e){return e&&e.__esModule?e:{default:e}}const a=(0,r.default)("v5",80,n.default);t.default=a}),O=c(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default="00000000-0000-0000-0000-000000000000"}),A=c(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,n=(r=h)&&r.__esModule?r:{default:r};t.default=function(e){if(!(0,n.default)(e))throw TypeError("Invalid UUID");return parseInt(e.slice(14,15),16)}}),U=v,B=k,x=M,C=q,T=O,L=A,D=c(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"NIL",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(t,"parse",{enumerable:!0,get:function(){return d.default}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return c.default}}),Object.defineProperty(t,"v1",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(t,"v3",{enumerable:!0,get:function(){return n.default}}),Object.defineProperty(t,"v4",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(t,"v5",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(t,"validate",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(t,"version",{enumerable:!0,get:function(){return i.default}});var r=l(U),n=l(B),o=l(x),a=l(C),s=l(T),i=l(L),u=l(h),c=l(m),d=l(y);function l(e){return e&&e.__esModule?e:{default:e}}});function E(e,t){if(!(e&&t&&e.length&&t.length))throw new Error("Bad alphabet");this.srcAlphabet=e,this.dstAlphabet=t}E.prototype.convert=function(e){var t,r,n,o={},a=this.srcAlphabet.length,s=this.dstAlphabet.length,i=e.length,u="string"==typeof e?"":[];if(!this.isValid(e))throw new Error('Number "'+e+'" contains of non-alphabetic digits ('+this.srcAlphabet+")");if(this.srcAlphabet===this.dstAlphabet)return e;for(t=0;t<i;t++)o[t]=this.srcAlphabet.indexOf(e[t]);do{for(r=0,n=0,t=0;t<i;t++)(r=r*a+o[t])>=s?(o[n++]=parseInt(r/s,10),r%=s):n>0&&(o[n++]=0);i=n,u=this.dstAlphabet.slice(r,r+1).concat(u)}while(0!==n);return u},E.prototype.isValid=function(e){for(var t=0;t<e.length;++t)if(-1===this.srcAlphabet.indexOf(e[t]))return!1;return!0};var R=E;function N(e,t){var r=new R(e,t);return function(e){return r.convert(e)}}N.BIN="01",N.OCT="01234567",N.DEC="0123456789",N.HEX="0123456789abcdef";var W=N,H=D;const{v4:J,validate:V}=H,X={cookieBase90:"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!#$%&'()*+-./:<=>?@[]^_`{|}~",flickrBase58:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ",uuid25Base36:"0123456789abcdefghijklmnopqrstuvwxyz"},G={consistentLength:!0};let z;const Q=(e,t,r)=>{const n=t(e.toLowerCase().replace(/-/g,""));return r&&r.consistentLength?n.padStart(r.shortIdLength,r.paddingChar):n},F=(e,t)=>{const r=t(e).padStart(32,"0").match(/(\w{8})(\w{4})(\w{4})(\w{4})(\w{12})/);return[r[1],r[2],r[3],r[4],r[5]].join("-")};var Y=(()=>{const e=(e,t)=>{const r=e||X.flickrBase58,n={...G,...t};if([...new Set(Array.from(r))].length!==r.length)throw new Error("The provided Alphabet has duplicate characters resulting in unreliable results");const o=(a=r.length,Math.ceil(Math.log(2**128)/Math.log(a)));var a;const s={shortIdLength:o,consistentLength:n.consistentLength,paddingChar:r[0]},i=W(W.HEX,r),u=W(r,W.HEX),c=()=>Q(J(),i,s),d={alphabet:r,fromUUID:e=>Q(e,i,s),maxLength:o,generate:c,new:c,toUUID:e=>F(e,u),uuid:J,validate:(e,t=!1)=>{if(!e||"string"!=typeof e)return!1;const a=n.consistentLength?e.length===o:e.length<=o,s=e.split("").every(e=>r.includes(e));return!1===t?a&&s:a&&s&&V(F(e,u))}};return Object.freeze(d),d};return e.constants=X,e.uuid=J,e.generate=()=>(z||(z=e(X.flickrBase58).generate),z()),e})(),K=c(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.Worker=void 0;class r{#e;#t;#r;#n;#o;#a;#s;#i;#u;#c;#d;#l;#f;#h=-1n;constructor(e=0n,t=0n,r){if(this.#e=BigInt(r?.epoch??16094592e5),this.#t=BigInt(e),this.#r=BigInt(r?.workerIdBits??5),this.#n=-1n^-1n<<this.#r,this.#t<0||this.#t>this.#n)throw new Error("With "+this.#r.toString()+" bits, worker id can't be greater than "+this.#n.toString()+" or less than 0");if(this.#o=BigInt(t),this.#a=BigInt(r?.datacenterIdBits??5),this.#s=-1n^-1n<<this.#a,this.#o>this.#s||this.#o<0)throw new Error("With "+this.#a.toString()+" bits, datacenter id can't be greater than "+this.#s.toString()+" or less than 0");this.#i=BigInt(r?.sequence??0),this.#u=BigInt(r?.sequenceBits??12),this.#f=-1n^-1n<<this.#u,this.#c=this.#u,this.#d=this.#u+this.#r,this.#l=this.#u+this.#r+this.#a}get workerId(){return this.#t}get datacenterId(){return this.#o}get currentSequence(){return this.#i}get lastTimestamp(){return this.#h}nextId(){let e=r.now();if(e<this.#h)throw new Error("Clock moved backwards. Can't generate new ID for "+(this.#h-e).toString()+"milliseconds.");return e===this.#h?(this.#i=this.#i+1n&this.#f,0n===this.#i&&(e=this.tilNextMillis(this.#h))):this.#i=0n,this.#h=e,e-this.#e<<this.#l|this.#o<<this.#d|this.#t<<this.#c|this.#i}tilNextMillis(e){let t;do{t=r.now()}while(t<=e);return t}static now(){return BigInt(Date.now())}}t.Worker=r});Y("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz");var Z=u("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",20);u("0123456789",6),new K.Worker(0,0,{workerIdBits:12,sequenceBits:12});var $=e.getSentry(),ee=new t.AsyncLocalStorage,te=e.getSentry(),re=function(){var e;return(e=console).log.apply(e,["[CRON MANAGER]:"].concat([].slice.call(arguments)))},ne=new Set;exports.createCron=function(e,t){if(ne.has(e.name))throw new Error("Cron with name "+e.name+" already exists");var o=r.parseRedisUrl(e.redisUrl),a=new n.Queue(e.name,{connection:o,defaultJobOptions:{removeOnComplete:!0,removeOnFail:!0}});return{start:function(){try{return re("Starting cron job "+e.name+" to run every "+e.cron+" using bullmq"),Promise.resolve(a.upsertJobScheduler("cron",{pattern:e.cron},{opts:{removeDependencyOnFailure:!0,removeOnComplete:!0,removeOnFail:!0,keepLogs:0}})).then(function(){var r=new n.Worker(e.name,function(){try{return function(r){try{var n=[];return $.setContext("executionContext",r),Promise.resolve(ee.run({context:r,afterHooks:n},function(){try{return Promise.resolve(function(){try{return re("Running cron job "+e.name),Promise.resolve(function(e,r){try{var n=Promise.resolve(t()).then(function(){})}catch(e){return r(e)}return n&&n.then?n.then(void 0,r):n}(0,function(t){throw te.captureException(t,{tags:{cronName:e.name}}),t}))}catch(e){return Promise.reject(e)}}())}catch(e){return Promise.reject(e)}})).then(function(e){for(var t=0,o=n;t<o.length;t++)(0,o[t])().catch(function(e){$.captureException(e),console.error("Error in after hook",{err:e,context:r})});return e})}catch(r){return Promise.reject(r)}}(function(e){return e.contextId||(e.contextId=function(e,t){void 0===t&&(t=20);var r=(new Date).getTime().toString(36).padStart(9,"0"),n=t-r.length;return n<10&&(n=10),"ctx_"+r+Z(n)}()),e}({type:"scheduled",contextId:(r="cron_",void 0===n&&(n=20),r&&!r.endsWith("_")&&(r+="_"),""+r+Z(n)),cron:e.cron,name:e.name})),Promise.resolve()}catch(n){return Promise.reject(n)}var r,n},{connection:o});return{close:r.close.bind(r)}})}catch(e){return Promise.reject(e)}}}};
|
|
1
|
+
var e=require("@lowerdeck/execution-context"),r=require("@lowerdeck/id"),n=require("@lowerdeck/redis"),t=require("@lowerdeck/sentry"),o=require("bullmq"),c=t.getSentry(),i=function(){var e;return(e=console).log.apply(e,["[CRON MANAGER]:"].concat([].slice.call(arguments)))},u=new Set;exports.createCron=function(t,a){if(u.has(t.name))throw new Error("Cron with name "+t.name+" already exists");var s=n.parseRedisUrl(t.redisUrl),l=new o.Queue(t.name,{connection:s,defaultJobOptions:{removeOnComplete:!0,removeOnFail:!0}});return{start:function(){try{return i("Starting cron job "+t.name+" to run every "+t.cron+" using bullmq"),Promise.resolve(l.upsertJobScheduler("cron",{pattern:t.cron},{opts:{removeDependencyOnFailure:!0,removeOnComplete:!0,removeOnFail:!0,keepLogs:0}})).then(function(){var n=new o.Worker(t.name,function(){try{return e.provideExecutionContext(e.createExecutionContext({type:"scheduled",contextId:r.generateCustomId("cron_"),cron:t.cron,name:t.name}),function(){try{return i("Running cron job "+t.name),Promise.resolve(function(e,r){try{var n=Promise.resolve(a()).then(function(){})}catch(e){return r(e)}return n&&n.then?n.then(void 0,r):n}(0,function(e){throw c.captureException(e,{tags:{cronName:t.name}}),e}))}catch(e){return Promise.reject(e)}}),Promise.resolve()}catch(e){return Promise.reject(e)}},{connection:s});return{close:n.close.bind(n)}})}catch(e){return Promise.reject(e)}}}};
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../error/dist/index.module.js","../../../node_modules/base-x/src/esm/index.js","../../base62/dist/index.module.js","../../../node_modules/nanoid/index.browser.js","../../../node_modules/short-uuid/node_modules/uuid/dist/commonjs-browser/rng.js","../../../node_modules/short-uuid/node_modules/uuid/dist/commonjs-browser/regex.js","../../../node_modules/short-uuid/node_modules/uuid/dist/commonjs-browser/validate.js","../../../node_modules/short-uuid/node_modules/uuid/dist/commonjs-browser/stringify.js","../../../node_modules/short-uuid/node_modules/uuid/dist/commonjs-browser/v1.js","../../../node_modules/short-uuid/node_modules/uuid/dist/commonjs-browser/parse.js","../../../node_modules/short-uuid/node_modules/uuid/dist/commonjs-browser/v35.js","../../../node_modules/short-uuid/node_modules/uuid/dist/commonjs-browser/md5.js","../../../node_modules/short-uuid/node_modules/uuid/dist/commonjs-browser/v3.js","../../../node_modules/short-uuid/node_modules/uuid/dist/commonjs-browser/native.js","../../../node_modules/short-uuid/node_modules/uuid/dist/commonjs-browser/v4.js","../../../node_modules/short-uuid/node_modules/uuid/dist/commonjs-browser/sha1.js","../../../node_modules/short-uuid/node_modules/uuid/dist/commonjs-browser/v5.js","../../../node_modules/short-uuid/node_modules/uuid/dist/commonjs-browser/nil.js","../../../node_modules/short-uuid/node_modules/uuid/dist/commonjs-browser/version.js","../../../node_modules/short-uuid/node_modules/uuid/dist/commonjs-browser/index.js","../../../node_modules/any-base/src/converter.js","../../../node_modules/any-base/index.js","../../../node_modules/short-uuid/index.js","../../../node_modules/snowflake-uuid/dist/index.js","../../id/dist/index.module.js","../src/index.ts","../../execution-context/dist/index.module.js"],"sourcesContent":["import{Cases as e}from\"@lowerdeck/case\";function t(){return t=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var o in r)({}).hasOwnProperty.call(r,o)&&(e[o]=r[o])}return e},t.apply(null,arguments)}function r(e){return r=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},r(e)}function o(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(o=function(){return!!e})()}function n(e,t){return n=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},n(e,t)}function s(e){var t=function(e){if(\"object\"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,\"string\");if(\"object\"!=typeof r)return r;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return String(e)}(e);return\"symbol\"==typeof t?t:t+\"\"}function a(e){var t=\"function\"==typeof Map?new Map:void 0;return a=function(e){if(null===e||!function(e){try{return-1!==Function.toString.call(e).indexOf(\"[native code]\")}catch(t){return\"function\"==typeof e}}(e))return e;if(\"function\"!=typeof e)throw new TypeError(\"Super expression must either be null or a function\");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,s)}function s(){return function(e,t,r){if(o())return Reflect.construct.apply(null,arguments);var s=[null];s.push.apply(s,t);var a=new(e.bind.apply(e,s));return r&&n(a,r.prototype),a}(e,arguments,r(this).constructor)}return s.prototype=Object.create(e.prototype,{constructor:{value:s,enumerable:!1,writable:!0,configurable:!0}}),n(s,e)},a(e)}var i=function(e){return Object.assign(function(r){return void 0===r&&(r={}),i(t({},e,r))},{__typename:\"error\",data:e,toResponse:function(){return t({__typename:\"error\",ok:!1},e)}})},u=/*#__PURE__*/function(e){function t(t){var r;return(r=e.call(this,t.data.message)||this).error=void 0,r.__typename=\"ServiceError\",r._parent=null,r.error=t,r}var r,o;o=e,(r=t).prototype=Object.create(o.prototype),r.prototype.constructor=r,n(r,o);var a,u,c=t.prototype;return c.setParent=function(e){return this._parent=e,this},c.toResponse=function(){return this.error.toResponse()},t.fromResponse=function(e){var r=e;return delete r.ok,delete r.__typename,new t(i(r))},a=t,(u=[{key:\"parent\",get:function(){return this._parent}},{key:\"data\",get:function(){return this.error.data}}])&&function(e,t){for(var r=0;r<t.length;r++){var o=t[r];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,s(o.key),o)}}(a.prototype,u),Object.defineProperty(a,\"prototype\",{writable:!1}),a}(/*#__PURE__*/a(Error)),c=function(e){return\"ServiceError\"===(null==e?void 0:e.__typename)||\"ErrorRecord\"===(null==e?void 0:e.__typename)},d=function(e){return i(t({status:400,code:\"invalid_data\",message:\"The provided data is invalid.\",hint:\"Make sure the data you are sending follows the specification outlined in the documentation.\"},e))},p=i({status:500,code:\"internal_server_error\",message:\"An internal server error occurred.\"}),l=i({status:400,code:\"bad_request\",message:\"The request is invalid.\"});function f(r,o){var n=\"string\"==typeof r?r:r.entity,s=\"string\"==typeof r?o:r.id;return i(t({status:404,code:\"not_found\",message:\"The requested \"+e.toKebabCase(n)+\" could not be found.\",hint:\"Make sure the resource you are trying to access exists, that you have access to it and that it has not been deleted.\",entity:n,id:null!=s?s:void 0},\"string\"==typeof r?{}:r))}var y=i({status:401,code:\"unauthorized\",message:\"You are not authorized to access this resource.\",hint:\"Make sure you are logged in and have the correct permissions to access this resource.\"}),h=i({status:403,code:\"forbidden\",message:\"You do not have permission to access this resource.\"}),m=i({status:400,code:\"invalid_version\",message:\"The endpoint does not support the requested version.\"}),v=i({status:409,code:\"conflict\",message:\"A similar resource already exists.\"}),g=i({status:410,code:\"gone\",message:\"The requested resource is no longer available.\"}),b=i({status:402,code:\"payment_required\",message:\"Payment is required to access this resource.\"}),_=i({status:412,code:\"precondition_failed\",message:\"The precondition of the request failed.\"}),O=i({status:406,code:\"not_acceptable\",message:\"The requested resource is not acceptable.\"}),w=i({status:501,code:\"not_implemented\",message:\"The requested resource is not implemented.\"}),j=i({status:429,code:\"too_many_requests\",message:\"You have made too many requests in a short period of time.\",hint:\"Please wait a moment and try again.\"}),q=i({status:504,code:\"timeout\",message:\"The request timed out.\"}),P=i({status:405,code:\"method_not_allowed\",message:\"The requested method is not allowed for this resource.\"});export{u as ServiceError,l as badRequestError,v as conflictError,i as createError,h as forbiddenError,g as goneError,p as internalServerError,m as invalidVersion,c as isServiceError,P as methodNotAllowedError,O as notAcceptableError,f as notFoundError,w as notImplementedError,b as paymentRequiredError,_ as preconditionFailedError,q as timeoutError,j as tooManyRequestsError,y as unauthorizedError,d as validationError};\n//# sourceMappingURL=index.module.js.map\n","// base-x encoding / decoding\n// Copyright (c) 2018 base-x contributors\n// Copyright (c) 2014-2018 The Bitcoin Core developers (base58.cpp)\n// Distributed under the MIT software license, see the accompanying\n// file LICENSE or http://www.opensource.org/licenses/mit-license.php.\nfunction base (ALPHABET) {\n if (ALPHABET.length >= 255) { throw new TypeError('Alphabet too long') }\n const BASE_MAP = new Uint8Array(256)\n for (let j = 0; j < BASE_MAP.length; j++) {\n BASE_MAP[j] = 255\n }\n for (let i = 0; i < ALPHABET.length; i++) {\n const x = ALPHABET.charAt(i)\n const xc = x.charCodeAt(0)\n if (BASE_MAP[xc] !== 255) { throw new TypeError(x + ' is ambiguous') }\n BASE_MAP[xc] = i\n }\n const BASE = ALPHABET.length\n const LEADER = ALPHABET.charAt(0)\n const FACTOR = Math.log(BASE) / Math.log(256) // log(BASE) / log(256), rounded up\n const iFACTOR = Math.log(256) / Math.log(BASE) // log(256) / log(BASE), rounded up\n function encode (source) {\n // eslint-disable-next-line no-empty\n if (source instanceof Uint8Array) { } else if (ArrayBuffer.isView(source)) {\n source = new Uint8Array(source.buffer, source.byteOffset, source.byteLength)\n } else if (Array.isArray(source)) {\n source = Uint8Array.from(source)\n }\n if (!(source instanceof Uint8Array)) { throw new TypeError('Expected Uint8Array') }\n if (source.length === 0) { return '' }\n // Skip & count leading zeroes.\n let zeroes = 0\n let length = 0\n let pbegin = 0\n const pend = source.length\n while (pbegin !== pend && source[pbegin] === 0) {\n pbegin++\n zeroes++\n }\n // Allocate enough space in big-endian base58 representation.\n const size = ((pend - pbegin) * iFACTOR + 1) >>> 0\n const b58 = new Uint8Array(size)\n // Process the bytes.\n while (pbegin !== pend) {\n let carry = source[pbegin]\n // Apply \"b58 = b58 * 256 + ch\".\n let i = 0\n for (let it1 = size - 1; (carry !== 0 || i < length) && (it1 !== -1); it1--, i++) {\n carry += (256 * b58[it1]) >>> 0\n b58[it1] = (carry % BASE) >>> 0\n carry = (carry / BASE) >>> 0\n }\n if (carry !== 0) { throw new Error('Non-zero carry') }\n length = i\n pbegin++\n }\n // Skip leading zeroes in base58 result.\n let it2 = size - length\n while (it2 !== size && b58[it2] === 0) {\n it2++\n }\n // Translate the result into a string.\n let str = LEADER.repeat(zeroes)\n for (; it2 < size; ++it2) { str += ALPHABET.charAt(b58[it2]) }\n return str\n }\n function decodeUnsafe (source) {\n if (typeof source !== 'string') { throw new TypeError('Expected String') }\n if (source.length === 0) { return new Uint8Array() }\n let psz = 0\n // Skip and count leading '1's.\n let zeroes = 0\n let length = 0\n while (source[psz] === LEADER) {\n zeroes++\n psz++\n }\n // Allocate enough space in big-endian base256 representation.\n const size = (((source.length - psz) * FACTOR) + 1) >>> 0 // log(58) / log(256), rounded up.\n const b256 = new Uint8Array(size)\n // Process the characters.\n while (psz < source.length) {\n // Find code of next character\n const charCode = source.charCodeAt(psz)\n // Base map can not be indexed using char code\n if (charCode > 255) { return }\n // Decode character\n let carry = BASE_MAP[charCode]\n // Invalid character\n if (carry === 255) { return }\n let i = 0\n for (let it3 = size - 1; (carry !== 0 || i < length) && (it3 !== -1); it3--, i++) {\n carry += (BASE * b256[it3]) >>> 0\n b256[it3] = (carry % 256) >>> 0\n carry = (carry / 256) >>> 0\n }\n if (carry !== 0) { throw new Error('Non-zero carry') }\n length = i\n psz++\n }\n // Skip leading zeroes in b256.\n let it4 = size - length\n while (it4 !== size && b256[it4] === 0) {\n it4++\n }\n const vch = new Uint8Array(zeroes + (size - it4))\n let j = zeroes\n while (it4 !== size) {\n vch[j++] = b256[it4++]\n }\n return vch\n }\n function decode (string) {\n const buffer = decodeUnsafe(string)\n if (buffer) { return buffer }\n throw new Error('Non-base' + BASE + ' character')\n }\n return {\n encode,\n decodeUnsafe,\n decode\n }\n}\nexport default base\n","import e from\"base-x\";var o=e(\"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\"),n={encode:function(e){return o.encode(\"string\"==typeof e?(new TextEncoder).encode(e):e)},decode:function(e){return(new TextDecoder).decode(o.decode(e))},decodeRaw:function(e){return o.decode(e)}};export{n as base62};\n//# sourceMappingURL=index.module.js.map\n","/* @ts-self-types=\"./index.d.ts\" */\nimport { urlAlphabet as scopedUrlAlphabet } from './url-alphabet/index.js'\nexport { urlAlphabet } from './url-alphabet/index.js'\nexport let random = bytes => crypto.getRandomValues(new Uint8Array(bytes))\nexport let customRandom = (alphabet, defaultSize, getRandom) => {\n let mask = (2 << Math.log2(alphabet.length - 1)) - 1\n let step = -~((1.6 * mask * defaultSize) / alphabet.length)\n return (size = defaultSize) => {\n let id = ''\n while (true) {\n let bytes = getRandom(step)\n let j = step | 0\n while (j--) {\n id += alphabet[bytes[j] & mask] || ''\n if (id.length >= size) return id\n }\n }\n }\n}\nexport let customAlphabet = (alphabet, size = 21) =>\n customRandom(alphabet, size | 0, random)\nexport let nanoid = (size = 21) => {\n let id = ''\n let bytes = crypto.getRandomValues(new Uint8Array((size |= 0)))\n while (size--) {\n id += scopedUrlAlphabet[bytes[size] & 63]\n }\n return id\n}\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = rng;\n// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\n\nfunction rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _regex = _interopRequireDefault(require(\"./regex.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && _regex.default.test(uuid);\n}\n\nvar _default = validate;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nexports.unsafeStringify = unsafeStringify;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nfunction unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]];\n}\n\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nvar _default = stringify;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _rng = _interopRequireDefault(require(\"./rng.js\"));\n\nvar _stringify = require(\"./stringify.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// **`v1()` - Generate time-based UUID**\n//\n// Inspired by https://github.com/LiosK/UUID.js\n// and http://docs.python.org/library/uuid.html\nlet _nodeId;\n\nlet _clockseq; // Previous uuid creation time\n\n\nlet _lastMSecs = 0;\nlet _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details\n\nfunction v1(options, buf, offset) {\n let i = buf && offset || 0;\n const b = buf || new Array(16);\n options = options || {};\n let node = options.node || _nodeId;\n let clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not\n // specified. We do this lazily to minimize issues related to insufficient\n // system entropy. See #189\n\n if (node == null || clockseq == null) {\n const seedBytes = options.random || (options.rng || _rng.default)();\n\n if (node == null) {\n // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)\n node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]];\n }\n\n if (clockseq == null) {\n // Per 4.2.2, randomize (14 bit) clockseq\n clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;\n }\n } // UUID timestamps are 100 nano-second units since the Gregorian epoch,\n // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so\n // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'\n // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.\n\n\n let msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock\n // cycle to simulate higher resolution clock\n\n let nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs)\n\n const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression\n\n if (dt < 0 && options.clockseq === undefined) {\n clockseq = clockseq + 1 & 0x3fff;\n } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new\n // time interval\n\n\n if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {\n nsecs = 0;\n } // Per 4.2.1.2 Throw error if too many uuids are requested\n\n\n if (nsecs >= 10000) {\n throw new Error(\"uuid.v1(): Can't create more than 10M uuids/sec\");\n }\n\n _lastMSecs = msecs;\n _lastNSecs = nsecs;\n _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch\n\n msecs += 12219292800000; // `time_low`\n\n const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n b[i++] = tl >>> 24 & 0xff;\n b[i++] = tl >>> 16 & 0xff;\n b[i++] = tl >>> 8 & 0xff;\n b[i++] = tl & 0xff; // `time_mid`\n\n const tmh = msecs / 0x100000000 * 10000 & 0xfffffff;\n b[i++] = tmh >>> 8 & 0xff;\n b[i++] = tmh & 0xff; // `time_high_and_version`\n\n b[i++] = tmh >>> 24 & 0xf | 0x10; // include version\n\n b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)\n\n b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low`\n\n b[i++] = clockseq & 0xff; // `node`\n\n for (let n = 0; n < 6; ++n) {\n b[i + n] = node[n];\n }\n\n return buf || (0, _stringify.unsafeStringify)(b);\n}\n\nvar _default = v1;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction parse(uuid) {\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n let v;\n const arr = new Uint8Array(16); // Parse ########-....-....-....-............\n\n arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24;\n arr[1] = v >>> 16 & 0xff;\n arr[2] = v >>> 8 & 0xff;\n arr[3] = v & 0xff; // Parse ........-####-....-....-............\n\n arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8;\n arr[5] = v & 0xff; // Parse ........-....-####-....-............\n\n arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8;\n arr[7] = v & 0xff; // Parse ........-....-....-####-............\n\n arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8;\n arr[9] = v & 0xff; // Parse ........-....-....-....-############\n // (Use \"/\" to avoid 32-bit truncation when bit-shifting high-order bytes)\n\n arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff;\n arr[11] = v / 0x100000000 & 0xff;\n arr[12] = v >>> 24 & 0xff;\n arr[13] = v >>> 16 & 0xff;\n arr[14] = v >>> 8 & 0xff;\n arr[15] = v & 0xff;\n return arr;\n}\n\nvar _default = parse;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.URL = exports.DNS = void 0;\nexports.default = v35;\n\nvar _stringify = require(\"./stringify.js\");\n\nvar _parse = _interopRequireDefault(require(\"./parse.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction stringToBytes(str) {\n str = unescape(encodeURIComponent(str)); // UTF8 escape\n\n const bytes = [];\n\n for (let i = 0; i < str.length; ++i) {\n bytes.push(str.charCodeAt(i));\n }\n\n return bytes;\n}\n\nconst DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';\nexports.DNS = DNS;\nconst URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8';\nexports.URL = URL;\n\nfunction v35(name, version, hashfunc) {\n function generateUUID(value, namespace, buf, offset) {\n var _namespace;\n\n if (typeof value === 'string') {\n value = stringToBytes(value);\n }\n\n if (typeof namespace === 'string') {\n namespace = (0, _parse.default)(namespace);\n }\n\n if (((_namespace = namespace) === null || _namespace === void 0 ? void 0 : _namespace.length) !== 16) {\n throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)');\n } // Compute hash of namespace and value, Per 4.3\n // Future: Use spread syntax when supported on all platforms, e.g. `bytes =\n // hashfunc([...namespace, ... value])`\n\n\n let bytes = new Uint8Array(16 + value.length);\n bytes.set(namespace);\n bytes.set(value, namespace.length);\n bytes = hashfunc(bytes);\n bytes[6] = bytes[6] & 0x0f | version;\n bytes[8] = bytes[8] & 0x3f | 0x80;\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = bytes[i];\n }\n\n return buf;\n }\n\n return (0, _stringify.unsafeStringify)(bytes);\n } // Function#name is not settable on some platforms (#270)\n\n\n try {\n generateUUID.name = name; // eslint-disable-next-line no-empty\n } catch (err) {} // For CommonJS default export support\n\n\n generateUUID.DNS = DNS;\n generateUUID.URL = URL;\n return generateUUID;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\n/*\n * Browser-compatible JavaScript MD5\n *\n * Modification of JavaScript MD5\n * https://github.com/blueimp/JavaScript-MD5\n *\n * Copyright 2011, Sebastian Tschan\n * https://blueimp.net\n *\n * Licensed under the MIT license:\n * https://opensource.org/licenses/MIT\n *\n * Based on\n * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message\n * Digest Algorithm, as defined in RFC 1321.\n * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for more info.\n */\nfunction md5(bytes) {\n if (typeof bytes === 'string') {\n const msg = unescape(encodeURIComponent(bytes)); // UTF8 escape\n\n bytes = new Uint8Array(msg.length);\n\n for (let i = 0; i < msg.length; ++i) {\n bytes[i] = msg.charCodeAt(i);\n }\n }\n\n return md5ToHexEncodedArray(wordsToMd5(bytesToWords(bytes), bytes.length * 8));\n}\n/*\n * Convert an array of little-endian words to an array of bytes\n */\n\n\nfunction md5ToHexEncodedArray(input) {\n const output = [];\n const length32 = input.length * 32;\n const hexTab = '0123456789abcdef';\n\n for (let i = 0; i < length32; i += 8) {\n const x = input[i >> 5] >>> i % 32 & 0xff;\n const hex = parseInt(hexTab.charAt(x >>> 4 & 0x0f) + hexTab.charAt(x & 0x0f), 16);\n output.push(hex);\n }\n\n return output;\n}\n/**\n * Calculate output length with padding and bit length\n */\n\n\nfunction getOutputLength(inputLength8) {\n return (inputLength8 + 64 >>> 9 << 4) + 14 + 1;\n}\n/*\n * Calculate the MD5 of an array of little-endian words, and a bit length.\n */\n\n\nfunction wordsToMd5(x, len) {\n /* append padding */\n x[len >> 5] |= 0x80 << len % 32;\n x[getOutputLength(len) - 1] = len;\n let a = 1732584193;\n let b = -271733879;\n let c = -1732584194;\n let d = 271733878;\n\n for (let i = 0; i < x.length; i += 16) {\n const olda = a;\n const oldb = b;\n const oldc = c;\n const oldd = d;\n a = md5ff(a, b, c, d, x[i], 7, -680876936);\n d = md5ff(d, a, b, c, x[i + 1], 12, -389564586);\n c = md5ff(c, d, a, b, x[i + 2], 17, 606105819);\n b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330);\n a = md5ff(a, b, c, d, x[i + 4], 7, -176418897);\n d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426);\n c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341);\n b = md5ff(b, c, d, a, x[i + 7], 22, -45705983);\n a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416);\n d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417);\n c = md5ff(c, d, a, b, x[i + 10], 17, -42063);\n b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162);\n a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682);\n d = md5ff(d, a, b, c, x[i + 13], 12, -40341101);\n c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290);\n b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329);\n a = md5gg(a, b, c, d, x[i + 1], 5, -165796510);\n d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632);\n c = md5gg(c, d, a, b, x[i + 11], 14, 643717713);\n b = md5gg(b, c, d, a, x[i], 20, -373897302);\n a = md5gg(a, b, c, d, x[i + 5], 5, -701558691);\n d = md5gg(d, a, b, c, x[i + 10], 9, 38016083);\n c = md5gg(c, d, a, b, x[i + 15], 14, -660478335);\n b = md5gg(b, c, d, a, x[i + 4], 20, -405537848);\n a = md5gg(a, b, c, d, x[i + 9], 5, 568446438);\n d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690);\n c = md5gg(c, d, a, b, x[i + 3], 14, -187363961);\n b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501);\n a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467);\n d = md5gg(d, a, b, c, x[i + 2], 9, -51403784);\n c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473);\n b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734);\n a = md5hh(a, b, c, d, x[i + 5], 4, -378558);\n d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463);\n c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562);\n b = md5hh(b, c, d, a, x[i + 14], 23, -35309556);\n a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060);\n d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353);\n c = md5hh(c, d, a, b, x[i + 7], 16, -155497632);\n b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640);\n a = md5hh(a, b, c, d, x[i + 13], 4, 681279174);\n d = md5hh(d, a, b, c, x[i], 11, -358537222);\n c = md5hh(c, d, a, b, x[i + 3], 16, -722521979);\n b = md5hh(b, c, d, a, x[i + 6], 23, 76029189);\n a = md5hh(a, b, c, d, x[i + 9], 4, -640364487);\n d = md5hh(d, a, b, c, x[i + 12], 11, -421815835);\n c = md5hh(c, d, a, b, x[i + 15], 16, 530742520);\n b = md5hh(b, c, d, a, x[i + 2], 23, -995338651);\n a = md5ii(a, b, c, d, x[i], 6, -198630844);\n d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415);\n c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905);\n b = md5ii(b, c, d, a, x[i + 5], 21, -57434055);\n a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571);\n d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606);\n c = md5ii(c, d, a, b, x[i + 10], 15, -1051523);\n b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799);\n a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359);\n d = md5ii(d, a, b, c, x[i + 15], 10, -30611744);\n c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380);\n b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649);\n a = md5ii(a, b, c, d, x[i + 4], 6, -145523070);\n d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379);\n c = md5ii(c, d, a, b, x[i + 2], 15, 718787259);\n b = md5ii(b, c, d, a, x[i + 9], 21, -343485551);\n a = safeAdd(a, olda);\n b = safeAdd(b, oldb);\n c = safeAdd(c, oldc);\n d = safeAdd(d, oldd);\n }\n\n return [a, b, c, d];\n}\n/*\n * Convert an array bytes to an array of little-endian words\n * Characters >255 have their high-byte silently ignored.\n */\n\n\nfunction bytesToWords(input) {\n if (input.length === 0) {\n return [];\n }\n\n const length8 = input.length * 8;\n const output = new Uint32Array(getOutputLength(length8));\n\n for (let i = 0; i < length8; i += 8) {\n output[i >> 5] |= (input[i / 8] & 0xff) << i % 32;\n }\n\n return output;\n}\n/*\n * Add integers, wrapping at 2^32. This uses 16-bit operations internally\n * to work around bugs in some JS interpreters.\n */\n\n\nfunction safeAdd(x, y) {\n const lsw = (x & 0xffff) + (y & 0xffff);\n const msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n return msw << 16 | lsw & 0xffff;\n}\n/*\n * Bitwise rotate a 32-bit number to the left.\n */\n\n\nfunction bitRotateLeft(num, cnt) {\n return num << cnt | num >>> 32 - cnt;\n}\n/*\n * These functions implement the four basic operations the algorithm uses.\n */\n\n\nfunction md5cmn(q, a, b, x, s, t) {\n return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b);\n}\n\nfunction md5ff(a, b, c, d, x, s, t) {\n return md5cmn(b & c | ~b & d, a, b, x, s, t);\n}\n\nfunction md5gg(a, b, c, d, x, s, t) {\n return md5cmn(b & d | c & ~d, a, b, x, s, t);\n}\n\nfunction md5hh(a, b, c, d, x, s, t) {\n return md5cmn(b ^ c ^ d, a, b, x, s, t);\n}\n\nfunction md5ii(a, b, c, d, x, s, t) {\n return md5cmn(c ^ (b | ~d), a, b, x, s, t);\n}\n\nvar _default = md5;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _v = _interopRequireDefault(require(\"./v35.js\"));\n\nvar _md = _interopRequireDefault(require(\"./md5.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst v3 = (0, _v.default)('v3', 0x30, _md.default);\nvar _default = v3;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nconst randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nvar _default = {\n randomUUID\n};\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _native = _interopRequireDefault(require(\"./native.js\"));\n\nvar _rng = _interopRequireDefault(require(\"./rng.js\"));\n\nvar _stringify = require(\"./stringify.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction v4(options, buf, offset) {\n if (_native.default.randomUUID && !buf && !options) {\n return _native.default.randomUUID();\n }\n\n options = options || {};\n\n const rnds = options.random || (options.rng || _rng.default)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return (0, _stringify.unsafeStringify)(rnds);\n}\n\nvar _default = v4;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\n// Adapted from Chris Veness' SHA1 code at\n// http://www.movable-type.co.uk/scripts/sha1.html\nfunction f(s, x, y, z) {\n switch (s) {\n case 0:\n return x & y ^ ~x & z;\n\n case 1:\n return x ^ y ^ z;\n\n case 2:\n return x & y ^ x & z ^ y & z;\n\n case 3:\n return x ^ y ^ z;\n }\n}\n\nfunction ROTL(x, n) {\n return x << n | x >>> 32 - n;\n}\n\nfunction sha1(bytes) {\n const K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6];\n const H = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0];\n\n if (typeof bytes === 'string') {\n const msg = unescape(encodeURIComponent(bytes)); // UTF8 escape\n\n bytes = [];\n\n for (let i = 0; i < msg.length; ++i) {\n bytes.push(msg.charCodeAt(i));\n }\n } else if (!Array.isArray(bytes)) {\n // Convert Array-like to Array\n bytes = Array.prototype.slice.call(bytes);\n }\n\n bytes.push(0x80);\n const l = bytes.length / 4 + 2;\n const N = Math.ceil(l / 16);\n const M = new Array(N);\n\n for (let i = 0; i < N; ++i) {\n const arr = new Uint32Array(16);\n\n for (let j = 0; j < 16; ++j) {\n arr[j] = bytes[i * 64 + j * 4] << 24 | bytes[i * 64 + j * 4 + 1] << 16 | bytes[i * 64 + j * 4 + 2] << 8 | bytes[i * 64 + j * 4 + 3];\n }\n\n M[i] = arr;\n }\n\n M[N - 1][14] = (bytes.length - 1) * 8 / Math.pow(2, 32);\n M[N - 1][14] = Math.floor(M[N - 1][14]);\n M[N - 1][15] = (bytes.length - 1) * 8 & 0xffffffff;\n\n for (let i = 0; i < N; ++i) {\n const W = new Uint32Array(80);\n\n for (let t = 0; t < 16; ++t) {\n W[t] = M[i][t];\n }\n\n for (let t = 16; t < 80; ++t) {\n W[t] = ROTL(W[t - 3] ^ W[t - 8] ^ W[t - 14] ^ W[t - 16], 1);\n }\n\n let a = H[0];\n let b = H[1];\n let c = H[2];\n let d = H[3];\n let e = H[4];\n\n for (let t = 0; t < 80; ++t) {\n const s = Math.floor(t / 20);\n const T = ROTL(a, 5) + f(s, b, c, d) + e + K[s] + W[t] >>> 0;\n e = d;\n d = c;\n c = ROTL(b, 30) >>> 0;\n b = a;\n a = T;\n }\n\n H[0] = H[0] + a >>> 0;\n H[1] = H[1] + b >>> 0;\n H[2] = H[2] + c >>> 0;\n H[3] = H[3] + d >>> 0;\n H[4] = H[4] + e >>> 0;\n }\n\n return [H[0] >> 24 & 0xff, H[0] >> 16 & 0xff, H[0] >> 8 & 0xff, H[0] & 0xff, H[1] >> 24 & 0xff, H[1] >> 16 & 0xff, H[1] >> 8 & 0xff, H[1] & 0xff, H[2] >> 24 & 0xff, H[2] >> 16 & 0xff, H[2] >> 8 & 0xff, H[2] & 0xff, H[3] >> 24 & 0xff, H[3] >> 16 & 0xff, H[3] >> 8 & 0xff, H[3] & 0xff, H[4] >> 24 & 0xff, H[4] >> 16 & 0xff, H[4] >> 8 & 0xff, H[4] & 0xff];\n}\n\nvar _default = sha1;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _v = _interopRequireDefault(require(\"./v35.js\"));\n\nvar _sha = _interopRequireDefault(require(\"./sha1.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst v5 = (0, _v.default)('v5', 0x50, _sha.default);\nvar _default = v5;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _default = '00000000-0000-0000-0000-000000000000';\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction version(uuid) {\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n return parseInt(uuid.slice(14, 15), 16);\n}\n\nvar _default = version;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"NIL\", {\n enumerable: true,\n get: function get() {\n return _nil.default;\n }\n});\nObject.defineProperty(exports, \"parse\", {\n enumerable: true,\n get: function get() {\n return _parse.default;\n }\n});\nObject.defineProperty(exports, \"stringify\", {\n enumerable: true,\n get: function get() {\n return _stringify.default;\n }\n});\nObject.defineProperty(exports, \"v1\", {\n enumerable: true,\n get: function get() {\n return _v.default;\n }\n});\nObject.defineProperty(exports, \"v3\", {\n enumerable: true,\n get: function get() {\n return _v2.default;\n }\n});\nObject.defineProperty(exports, \"v4\", {\n enumerable: true,\n get: function get() {\n return _v3.default;\n }\n});\nObject.defineProperty(exports, \"v5\", {\n enumerable: true,\n get: function get() {\n return _v4.default;\n }\n});\nObject.defineProperty(exports, \"validate\", {\n enumerable: true,\n get: function get() {\n return _validate.default;\n }\n});\nObject.defineProperty(exports, \"version\", {\n enumerable: true,\n get: function get() {\n return _version.default;\n }\n});\n\nvar _v = _interopRequireDefault(require(\"./v1.js\"));\n\nvar _v2 = _interopRequireDefault(require(\"./v3.js\"));\n\nvar _v3 = _interopRequireDefault(require(\"./v4.js\"));\n\nvar _v4 = _interopRequireDefault(require(\"./v5.js\"));\n\nvar _nil = _interopRequireDefault(require(\"./nil.js\"));\n\nvar _version = _interopRequireDefault(require(\"./version.js\"));\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nvar _stringify = _interopRequireDefault(require(\"./stringify.js\"));\n\nvar _parse = _interopRequireDefault(require(\"./parse.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }","'use strict';\n\n/**\n * Converter\n *\n * @param {string|Array} srcAlphabet\n * @param {string|Array} dstAlphabet\n * @constructor\n */\nfunction Converter(srcAlphabet, dstAlphabet) {\n if (!srcAlphabet || !dstAlphabet || !srcAlphabet.length || !dstAlphabet.length) {\n throw new Error('Bad alphabet');\n }\n this.srcAlphabet = srcAlphabet;\n this.dstAlphabet = dstAlphabet;\n}\n\n/**\n * Convert number from source alphabet to destination alphabet\n *\n * @param {string|Array} number - number represented as a string or array of points\n *\n * @returns {string|Array}\n */\nConverter.prototype.convert = function(number) {\n var i, divide, newlen,\n numberMap = {},\n fromBase = this.srcAlphabet.length,\n toBase = this.dstAlphabet.length,\n length = number.length,\n result = typeof number === 'string' ? '' : [];\n\n if (!this.isValid(number)) {\n throw new Error('Number \"' + number + '\" contains of non-alphabetic digits (' + this.srcAlphabet + ')');\n }\n\n if (this.srcAlphabet === this.dstAlphabet) {\n return number;\n }\n\n for (i = 0; i < length; i++) {\n numberMap[i] = this.srcAlphabet.indexOf(number[i]);\n }\n do {\n divide = 0;\n newlen = 0;\n for (i = 0; i < length; i++) {\n divide = divide * fromBase + numberMap[i];\n if (divide >= toBase) {\n numberMap[newlen++] = parseInt(divide / toBase, 10);\n divide = divide % toBase;\n } else if (newlen > 0) {\n numberMap[newlen++] = 0;\n }\n }\n length = newlen;\n result = this.dstAlphabet.slice(divide, divide + 1).concat(result);\n } while (newlen !== 0);\n\n return result;\n};\n\n/**\n * Valid number with source alphabet\n *\n * @param {number} number\n *\n * @returns {boolean}\n */\nConverter.prototype.isValid = function(number) {\n var i = 0;\n for (; i < number.length; ++i) {\n if (this.srcAlphabet.indexOf(number[i]) === -1) {\n return false;\n }\n }\n return true;\n};\n\nmodule.exports = Converter;","var Converter = require('./src/converter');\n\n/**\n * Function get source and destination alphabet and return convert function\n *\n * @param {string|Array} srcAlphabet\n * @param {string|Array} dstAlphabet\n *\n * @returns {function(number|Array)}\n */\nfunction anyBase(srcAlphabet, dstAlphabet) {\n var converter = new Converter(srcAlphabet, dstAlphabet);\n /**\n * Convert function\n *\n * @param {string|Array} number\n *\n * @return {string|Array} number\n */\n return function (number) {\n return converter.convert(number);\n }\n};\n\nanyBase.BIN = '01';\nanyBase.OCT = '01234567';\nanyBase.DEC = '0123456789';\nanyBase.HEX = '0123456789abcdef';\n\nmodule.exports = anyBase;","/**\n * Created by Samuel on 6/4/2016.\n * Simple wrapper functions to produce shorter UUIDs for cookies, maybe everything?\n */\n\nconst { v4: uuidV4, validate: uuidValidate } = require('uuid');\nconst anyBase = require('any-base');\n\nconst constants = {\n cookieBase90: \"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!#$%&'()*+-./:<=>?@[]^_`{|}~\",\n flickrBase58: '123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ',\n uuid25Base36: '0123456789abcdefghijklmnopqrstuvwxyz',\n};\n\nconst baseOptions = {\n consistentLength: true,\n};\n\n// A default generator, instantiated only if used.\nlet toFlickr;\n\n/**\n * Takes a UUID, strips the dashes, and translates.\n * @param {string} longId\n * @param {function(string):string} translator\n * @param {Object} [paddingParams]\n * @returns {string}\n */\nconst shortenUUID = (longId, translator, paddingParams) => {\n const translated = translator(longId.toLowerCase().replace(/-/g, ''));\n\n if (!paddingParams || !paddingParams.consistentLength) return translated;\n\n return translated.padStart(\n paddingParams.shortIdLength,\n paddingParams.paddingChar,\n );\n};\n\n/**\n * Translate back to hex and turn back into UUID format, with dashes\n * @param {string} shortId\n * @param {function(string)} translator\n * @returns {string}\n */\nconst enlargeUUID = (shortId, translator) => {\n const uu1 = translator(shortId).padStart(32, '0');\n\n // Join the zero padding and the UUID and then slice it up with match\n const m = uu1.match(/(\\w{8})(\\w{4})(\\w{4})(\\w{4})(\\w{12})/);\n\n // Accumulate the matches and join them.\n return [m[1], m[2], m[3], m[4], m[5]].join('-');\n};\n\n/**\n * Calculate length for the shortened ID\n * @param {number} alphabetLength\n * @returns {number}\n */\nconst getShortIdLength = (alphabetLength) => (\n Math.ceil(Math.log(2 ** 128) / Math.log(alphabetLength)));\n\nmodule.exports = (() => {\n /**\n * @param {string} toAlphabet\n * @param {{ consistentLength: boolean }} [options]\n * @returns {{\n * alphabet: string,\n * fromUUID: (function(*): string),\n * generate: (function(): string),\n * maxLength: number,\n * new: (function(): string),\n * toUUID: (function(*): string),\n * uuid: ((function(*, *, *): (*))|*),\n * validate: ((function(*, boolean=false): (boolean))|*)}}\n */\n const makeConvertor = (toAlphabet, options) => {\n // Default to Flickr 58\n const useAlphabet = toAlphabet || constants.flickrBase58;\n\n // Default to baseOptions\n const selectedOptions = { ...baseOptions, ...options };\n\n // Check alphabet for duplicate entries\n if ([...new Set(Array.from(useAlphabet))].length !== useAlphabet.length) {\n throw new Error('The provided Alphabet has duplicate characters resulting in unreliable results');\n }\n\n const shortIdLength = getShortIdLength(useAlphabet.length);\n\n // Padding Params\n const paddingParams = {\n shortIdLength,\n consistentLength: selectedOptions.consistentLength,\n paddingChar: useAlphabet[0],\n };\n\n // UUIDs are in hex, so we translate to and from.\n const fromHex = anyBase(anyBase.HEX, useAlphabet);\n const toHex = anyBase(useAlphabet, anyBase.HEX);\n /**\n * @returns {string} - short id\n */\n const generate = () => shortenUUID(uuidV4(), fromHex, paddingParams);\n\n /**\n * Confirm if string is a valid id. Checks length and alphabet.\n * If the second parameter is true it will translate to standard UUID\n * and check the result for UUID validity.\n * @param {string} shortId - The string to check for validity\n * @param {boolean} [rigorous=false] - If true, also check for a valid UUID\n * @returns {boolean}\n */\n const validate = (shortId, rigorous = false) => {\n if (!shortId || typeof shortId !== 'string') return false;\n const isCorrectLength = selectedOptions.consistentLength\n ? shortId.length === shortIdLength\n : shortId.length <= shortIdLength;\n const onlyAlphabet = shortId.split('').every((letter) => useAlphabet.includes(letter));\n if (rigorous === false) return isCorrectLength && onlyAlphabet;\n return isCorrectLength && onlyAlphabet && uuidValidate(enlargeUUID(shortId, toHex));\n };\n\n const translator = {\n alphabet: useAlphabet,\n fromUUID: (uuid) => shortenUUID(uuid, fromHex, paddingParams),\n maxLength: shortIdLength,\n generate,\n new: generate,\n toUUID: (shortUuid) => enlargeUUID(shortUuid, toHex),\n uuid: uuidV4,\n validate,\n };\n\n Object.freeze(translator);\n\n return translator;\n };\n\n // Expose the constants for other purposes.\n makeConvertor.constants = constants;\n\n // Expose the generic v4 UUID generator for convenience\n makeConvertor.uuid = uuidV4;\n\n // Provide a generic generator\n makeConvertor.generate = () => {\n if (!toFlickr) {\n // Generate on first use;\n toFlickr = makeConvertor(constants.flickrBase58).generate;\n }\n return toFlickr();\n };\n\n return makeConvertor;\n})();\n","'use strict';\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Worker = void 0;\nclass Worker {\n #epoch;\n #workerId;\n #workerIdBits;\n #maxWorkerId;\n #datacenterId;\n #datacenterIdBits;\n #maxDatacenterId;\n #sequence;\n #sequenceBits;\n #workerIdShift;\n #datacenterIdShift;\n #timestampLeftShift;\n #sequenceMask;\n #lastTimestamp = -1n;\n constructor(workerId = 0n, datacenterId = 0n, options) {\n this.#epoch = BigInt(options?.epoch ?? 1609459200000);\n this.#workerId = BigInt(workerId);\n this.#workerIdBits = BigInt(options?.workerIdBits ?? 5);\n this.#maxWorkerId = -1n ^ (-1n << this.#workerIdBits);\n if (this.#workerId < 0 || this.#workerId > this.#maxWorkerId) {\n throw new Error('With ' +\n this.#workerIdBits.toString() +\n \" bits, worker id can't be greater than \" +\n this.#maxWorkerId.toString() +\n ' or less than 0');\n }\n this.#datacenterId = BigInt(datacenterId);\n this.#datacenterIdBits = BigInt(options?.datacenterIdBits ?? 5);\n this.#maxDatacenterId = -1n ^ (-1n << this.#datacenterIdBits);\n if (this.#datacenterId > this.#maxDatacenterId || this.#datacenterId < 0) {\n throw new Error('With ' +\n this.#datacenterIdBits.toString() +\n \" bits, datacenter id can't be greater than \" +\n this.#maxDatacenterId.toString() +\n ' or less than 0');\n }\n this.#sequence = BigInt(options?.sequence ?? 0);\n this.#sequenceBits = BigInt(options?.sequenceBits ?? 12);\n this.#sequenceMask = -1n ^ (-1n << this.#sequenceBits);\n this.#workerIdShift = this.#sequenceBits;\n this.#datacenterIdShift = this.#sequenceBits + this.#workerIdBits;\n this.#timestampLeftShift = this.#sequenceBits + this.#workerIdBits + this.#datacenterIdBits;\n }\n get workerId() {\n return this.#workerId;\n }\n get datacenterId() {\n return this.#datacenterId;\n }\n get currentSequence() {\n return this.#sequence;\n }\n get lastTimestamp() {\n return this.#lastTimestamp;\n }\n nextId() {\n let timestamp = Worker.now();\n if (timestamp < this.#lastTimestamp) {\n throw new Error(\"Clock moved backwards. Can't generate new ID for \" +\n (this.#lastTimestamp - timestamp).toString() +\n 'milliseconds.');\n }\n if (timestamp === this.#lastTimestamp) {\n this.#sequence = (this.#sequence + 1n) & this.#sequenceMask;\n if (this.#sequence === 0n) {\n timestamp = this.tilNextMillis(this.#lastTimestamp);\n }\n }\n else {\n this.#sequence = 0n;\n }\n this.#lastTimestamp = timestamp;\n return (((timestamp - this.#epoch) << this.#timestampLeftShift) |\n (this.#datacenterId << this.#datacenterIdShift) |\n (this.#workerId << this.#workerIdShift) |\n this.#sequence);\n }\n tilNextMillis(lastTimestamp) {\n let timestamp;\n do {\n timestamp = Worker.now();\n } while (timestamp <= lastTimestamp);\n return timestamp;\n }\n static now() {\n return BigInt(Date.now());\n }\n}\nexports.Worker = Worker;\n","import{ServiceError as r,badRequestError as e}from\"@lowerdeck/error\";import{Hash as t}from\"@lowerdeck/hash\";import{customAlphabet as n}from\"nanoid\";import i from\"short-uuid\";import{Worker as o}from\"snowflake-uuid\";var f=i(\"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\"),u=n(\"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\",20),s=n(\"0123456789\",6),d=function(){return(new Date).getTime().toString(36).padStart(9,\"0\")},a=new o(0,0,{workerIdBits:12,sequenceBits:12}),c=new Set,h=function(r){if(r.endsWith(\"_\")&&(r=r.slice(0,-1)),c.has(r))throw new Error(\"Prefix \"+r+\" already exists\")},p={sorted:function(r,e){return void 0===e&&(e=22),h(r),{prefix:r,length:e,type:\"sorted\"}},unsorted:function(r,e){return void 0===e&&(e=22),h(r),{prefix:r,length:e,type:\"unsorted\"}},key:function(r,e){return void 0===e&&(e=50),h(r),{prefix:r,length:e,type:\"key\"}}},x=function(r){for(var e in r)r[e].prefix.endsWith(\"_\")||(r[e].prefix=r[e].prefix+\"_\");var n=new Set;for(var i in r){var o=r[i].prefix;if(n.has(o))throw new Error(\"Prefix \"+o+\" already exists\");n.add(o)}var s=function(e){var t=r[e];if(!t)throw new Error(\"Invalid prefix: \"+e);return t};return{generateId:function(r){try{var e=s(r),n=e.length;if(\"sorted\"==e.type){var i=d(),o=n-i.length;return o<10&&(o=10),Promise.resolve(\"\"+e.prefix+i+u(o))}if(\"unsorted\"==e.type)return Promise.resolve(\"\"+e.prefix+u(n));var f=\"\"+e.prefix+u(n);return Promise.resolve(t.sha512(f)).then(function(r){return\"\"+f+r.slice(0,6)})}catch(r){return Promise.reject(r)}},generateIdSync:function(r){var e=s(r),t=e.length;if(\"sorted\"==e.type){var n=d(),i=t-n.length;return i<10&&(i=10),\"\"+e.prefix+n+u(i)}if(\"unsorted\"==e.type)return\"\"+e.prefix+u(t);throw new Error(\"Cannot generate key id synchronously\")},idPrefixes:Object.entries(r).reduce(function(r,e){return r[e[0]]=e[1].prefix,r},{}),normalizeUUID:function(r,e){return\"\"+s(r).prefix+f.fromUUID(e)}}},l=function(t){if(t.endsWith(\"_\")||(t+=\"_\"),c.has(t))throw new Error(\"Prefix \"+t+\" already exists\");return c.add(t),{fromUUID:function(r){return\"\"+t+f.fromUUID(r)},toUUID:function(n){if(!n.startsWith(t))throw new r(e({message:\"ID \"+n+\" does not start with prefix \"+t}));return f.toUUID(n.slice(t.length))}}},v=function(r,e){return void 0===e&&(e=20),r&&!r.endsWith(\"_\")&&(r+=\"_\"),\"\"+r+u(e)},w=function(r){return void 0===r&&(r=20),u(r)},m=function(r,e){void 0===e&&(e=20);var t=d(),n=e-t.length;return n<10&&(n=10),\"\"+r+t+u(n)},y=function(r){return void 0===r&&(r=6),s(r)},g=function(r){return r&&!r.endsWith(\"_\")&&(r+=\"_\"),\"\"+r+a.nextId().toString(36)};export{x as createIdGenerator,l as createUuidTranslator,y as generateCode,v as generateCustomId,m as generateId,w as generatePlainId,g as generateSnowflakeId,d as idTime,p as idType};\n//# sourceMappingURL=index.module.js.map\n","import { createExecutionContext, provideExecutionContext } from '@lowerdeck/execution-context';\nimport { generateCustomId } from '@lowerdeck/id';\nimport { IQueueProcessor } from '@lowerdeck/queue';\nimport { parseRedisUrl } from '@lowerdeck/redis';\nimport { getSentry } from '@lowerdeck/sentry';\nimport { Queue, Worker } from 'bullmq';\n\nlet Sentry = getSentry();\n\nlet log = (...any: any[]) => console.log('[CRON MANAGER]:', ...any);\n\nlet seenNames = new Set<string>();\n\nexport let createCron = (\n opts: {\n name: string;\n cron: string;\n redisUrl: string;\n },\n handler: () => Promise<void>\n): IQueueProcessor => {\n if (seenNames.has(opts.name)) {\n throw new Error(`Cron with name ${opts.name} already exists`);\n }\n\n let connection = parseRedisUrl(opts.redisUrl);\n let queue = new Queue(opts.name, {\n connection,\n defaultJobOptions: {\n removeOnComplete: true,\n removeOnFail: true\n }\n });\n\n return {\n start: async () => {\n log(`Starting cron job ${opts.name} to run every ${opts.cron} using bullmq`);\n\n await queue.upsertJobScheduler(\n 'cron',\n {\n pattern: opts.cron\n },\n {\n opts: {\n removeDependencyOnFailure: true,\n removeOnComplete: true,\n removeOnFail: true,\n keepLogs: 0\n }\n }\n );\n\n let worker = new Worker(\n opts.name,\n async () => {\n provideExecutionContext(\n createExecutionContext({\n type: 'scheduled',\n contextId: generateCustomId('cron_'),\n cron: opts.cron,\n name: opts.name\n }),\n async () => {\n log(`Running cron job ${opts.name}`);\n\n try {\n await handler();\n } catch (err) {\n Sentry.captureException(err, {\n tags: {\n cronName: opts.name\n }\n });\n throw err;\n }\n }\n );\n },\n { connection }\n );\n\n return {\n close: worker.close.bind(worker)\n };\n }\n };\n};\n","import{generateId as r}from\"@lowerdeck/id\";import{getSentry as t}from\"@lowerdeck/sentry\";import{AsyncLocalStorage as e}from\"async_hooks\";var o=function(t){return t.contextId||(t.contextId=r(\"ctx_\")),t},n=t(),c=new e,i=function(r){try{var t=c.getStore();if(!t)throw new Error(\"No execution context found\");return Promise.resolve(r(t.context))}catch(r){return Promise.reject(r)}},u=function(r){try{var t,e=c.getStore();return Promise.resolve(r(null!=(t=null==e?void 0:e.context)?t:null))}catch(r){return Promise.reject(r)}},f=function(r){try{var t=c.getStore();if(!t)throw new Error(\"No execution context found\");if(!t.afterHooks)throw new Error(\"After hooks not enabled for this execution context\");return t.afterHooks.push(r),Promise.resolve()}catch(r){return Promise.reject(r)}},s=function(r,t){try{var e=[];return n.setContext(\"executionContext\",r),Promise.resolve(c.run({context:r,afterHooks:e},function(){try{return Promise.resolve(t())}catch(r){return Promise.reject(r)}})).then(function(t){for(var o=0,c=e;o<c.length;o++)(0,c[o])().catch(function(t){n.captureException(t),console.error(\"Error in after hook\",{err:t,context:r})});return t})}catch(r){return Promise.reject(r)}},a=function(r){c.enterWith({context:r})},x=function(r){var t=h();return Object.assign(t,r),t},h=function(){var r=c.getStore();if(!r)throw new Error(\"No execution context found\");return r.context};export{f as addAfterHook,o as createExecutionContext,c as ctxStorage,h as getExecutionContext,s as provideExecutionContext,a as setExecutionContextSync,x as updateExecutionContext,i as withExecutionContext,u as withExecutionContextOptional};\n//# sourceMappingURL=index.module.js.map\n"],"names":["t","Object","assign","bind","e","arguments","length","r","o","hasOwnProperty","call","apply","i","__typename","data","toResponse","ok","ALPHABET","BASE_MAP","Uint8Array","j","x","charAt","xc","charCodeAt","TypeError","Math","log","getRandomValues","random","bytes","crypto","customAlphabet","alphabet","size","defaultSize","getRandom","mask","log2","step","id","customRandom","rnds8","Error","defineProperty","exports","value","default","obj","_regex","require$$0","__esModule","uuid","test","unsafeStringify","_validate","byteToHex","push","toString","slice","arr","offset","_rng","_nodeId","_clockseq","_lastMSecs","_lastNSecs","options","buf","b","Array","node","clockseq","undefined","seedBytes","rng","msecs","Date","now","nsecs","dt","tl","tmh","n","_stringify","v","parseInt","URL","DNS","name","version","hashfunc","generateUUID","namespace","_namespace","str","unescape","encodeURIComponent","stringToBytes","_parse","set","err","getOutputLength","inputLength8","safeAdd","y","lsw","md5cmn","q","a","s","num","cnt","md5ff","c","d","md5gg","md5hh","md5ii","msg","input","output","length32","hexTab","hex","md5ToHexEncodedArray","len","olda","oldb","oldc","oldd","wordsToMd5","length8","Uint32Array","bytesToWords","_v","_interopRequireDefault","_md","require$$1","v3","randomUUID","_native","rnds","f","z","ROTL","K","H","isArray","prototype","N","ceil","M","pow","floor","W","T","_sha","v5","enumerable","get","_nil","_v2","_v3","_v4","_version","require$$2","require$$3","require$$4","require$$5","require$$6","require$$7","require$$8","Converter","srcAlphabet","dstAlphabet","this","convert","number","divide","newlen","numberMap","fromBase","toBase","result","isValid","indexOf","concat","converter","anyBase","BIN","OCT","DEC","HEX","anyBase_1","v4","uuidV4","validate","uuidValidate","constants","cookieBase90","flickrBase58","uuid25Base36","baseOptions","consistentLength","toFlickr","shortenUUID","longId","translator","paddingParams","translated","toLowerCase","replace","padStart","shortIdLength","paddingChar","enlargeUUID","shortId","m","match","join","shortUuid","makeConvertor","toAlphabet","useAlphabet","selectedOptions","Set","from","alphabetLength","fromHex","toHex","generate","fromUUID","maxLength","new","toUUID","rigorous","isCorrectLength","onlyAlphabet","split","every","letter","includes","freeze","Worker","epoch","workerId","workerIdBits","maxWorkerId","datacenterId","datacenterIdBits","maxDatacenterId","sequence","sequenceBits","workerIdShift","datacenterIdShift","timestampLeftShift","sequenceMask","lastTimestamp","constructor","BigInt","currentSequence","nextId","timestamp","tilNextMillis","u","Sentry","getSentry","_console","console","seenNames","opts","handler","has","connection","parseRedisUrl","redisUrl","queue","Queue","defaultJobOptions","removeOnComplete","removeOnFail","start","cron","Promise","resolve","upsertJobScheduler","pattern","removeDependencyOnFailure","keepLogs","then","worker","_catch","captureException","tags","cronName","reject","provideExecutionContext","contextId","getTime","createExecutionContext","type","endsWith","close"],"mappings":"8GAgBW,SAAAA,IAAA,OAAAA,EAAAC,OAAAC,OAAAD,OAAAC,OAAAC,OAAA,SAAAC,GAAA,IAAA,IAAAJ,EAAA,EAAAA,EAAAK,UAAAC,OAAAN,IAAA,CAAA,IAAAO,EAAAF,UAAAL,GAAA,IAAA,IAAAQ,KAAAD,GAAA,CAAA,GAAAE,eAAAC,KAAAH,EAAAC,KAAAJ,EAAAI,GAAAD,EAAAC,GAAA,CAAA,OAAAJ,CAAA,EAAAJ,EAAAW,MAAA,KAAAN,UAAA,mvCAAA,IAAAO,EAAc,SACvBR,GAEA,OAAOH,OAAOC,OACZ,SAACK,GACC,YAAA,IADDA,IAAAA,EAA8C,IAC7CK,EAAWZ,EACNI,CAAAA,EAAAA,EACAG,GACH,EACJ,CACEM,WAAY,QACZC,KAAAV,EACAW,WAAY,WAAF,OAAAf,EAAW,CAAAa,WAAY,QAAkBG,IAAI,GAAmBZ,EAAI,GAGpF,y3CC1BA,SAAea,GAEb,MAAMC,EAAW,IAAIC,WAAW,KAChC,IAAK,IAAIC,EAAI,EAAGA,EAAIF,EAASZ,OAAQc,IACnCF,EAASE,GAAK,IAEhB,IAAK,IAAIR,EAAI,EAAGA,EAAIK,GAAiBL,IAAK,CACxC,MAAMS,EAAIJ,EAASK,OAAOV,GACpBW,EAAKF,EAAEG,WAAW,GACxB,GAAqB,MAAjBN,EAASK,GAAe,MAAM,IAAIE,UAAUJ,EAAI,iBACpDH,EAASK,GAAMX,CAChB,CAEcK,EAASK,OAAO,GAChBI,KAAKC,IAFPV,IAEmBS,KAAKC,IAAI,KACzBD,KAAKC,IAAI,KAAOD,KAAKC,IAHxBV,GAyGf,CCpHeb,CAAM,kECHd,ICMHwB,EDNOC,EAASC,GAASC,OAAOH,gBAAgB,IAAIT,WAAWW,IAgBxDE,EAAiB,CAACC,EAAUC,EAAO,KAfpB,EAACD,EAAUE,EAAaC,KAChD,IAAIC,GAAQ,GAAKX,KAAKY,KAAKL,EAAS3B,OAAS,IAAM,EAC/CiC,KAAW,IAAMF,EAAOF,EAAeF,EAAS3B,QACpD,MAAO,CAAC4B,EAAOC,KACb,IAAIK,EAAK,GACT,OAAa,CACX,IAAIV,EAAQM,EAAUG,GAClBnB,EAAW,EAAPmB,EACR,KAAOnB,KAEL,GADAoB,GAAMP,EAASH,EAAMV,GAAKiB,IAAS,GAC/BG,EAAGlC,QAAU4B,EAAM,OAAOM,CAEjC,IAIHC,CAAaR,EAAiB,EAAPC,EAAUL,oECVnC,MAAMa,EAAQ,IAAIvB,WAAW,sDAE7B,WAEE,IAAKS,IAEHA,EAAoC,oBAAXG,QAA0BA,OAAOH,iBAAmBG,OAAOH,gBAAgBzB,KAAK4B,SAEpGH,GACH,MAAM,IAAIe,MAAM,4GAIpB,OAAOf,EAAgBc,EACzB,8CCtBAzC,OAAO2C,eAAwBC,EAAA,aAAc,CAC3CC,OAAO,IAETD,EAAkBE,aAAA,EAElBF,EAAAE,QADe,0ICJf9C,OAAO2C,eAAwBC,EAAA,aAAc,CAC3CC,OAAO,IAETD,EAAkBE,aAAA,EAElB,IAEgCC,EAF5BC,GAE4BD,EAFIE,IAEiBF,EAAIG,WAAaH,EAAM,CAAED,QAASC,GAOvFH,EAAAE,QALA,SAAkBK,GAChB,MAAuB,iBAATA,GAAqBH,EAAOF,QAAQM,KAAKD,EACzD,sBCXAnD,OAAO2C,eAAwBC,EAAA,aAAc,CAC3CC,OAAO,IAETD,EAAkBE,aAAA,EAClBF,EAAAS,gBAA0BA,EAE1B,IAEgCN,EAF5BO,GAE4BP,EAFOE,IAEcF,EAAIG,WAAaH,EAAM,CAAED,QAASC,GAMvF,MAAMQ,EAAY,GAElB,IAAK,IAAI5C,EAAI,EAAGA,EAAI,MAAOA,EACzB4C,EAAUC,MAAM7C,EAAI,KAAO8C,SAAS,IAAIC,MAAM,IAGhD,SAASL,EAAgBM,EAAKC,EAAS,GAGrC,OAAOL,EAAUI,EAAIC,EAAS,IAAML,EAAUI,EAAIC,EAAS,IAAML,EAAUI,EAAIC,EAAS,IAAML,EAAUI,EAAIC,EAAS,IAAM,IAAML,EAAUI,EAAIC,EAAS,IAAML,EAAUI,EAAIC,EAAS,IAAM,IAAML,EAAUI,EAAIC,EAAS,IAAML,EAAUI,EAAIC,EAAS,IAAM,IAAML,EAAUI,EAAIC,EAAS,IAAML,EAAUI,EAAIC,EAAS,IAAM,IAAML,EAAUI,EAAIC,EAAS,KAAOL,EAAUI,EAAIC,EAAS,KAAOL,EAAUI,EAAIC,EAAS,KAAOL,EAAUI,EAAIC,EAAS,KAAOL,EAAUI,EAAIC,EAAS,KAAOL,EAAUI,EAAIC,EAAS,IAChf,CAiBAhB,EAAAE,QAfA,SAAmBa,EAAKC,EAAS,GAC/B,MAAMT,EAAOE,EAAgBM,EAAKC,GAMlC,KAAK,EAAIN,EAAUR,SAASK,GAC1B,MAAM3B,UAAU,+BAGlB,OAAO2B,CACT,8BCtCAnD,OAAO2C,eAAwBC,EAAA,aAAc,CAC3CC,OAAO,IAETD,EAAkBE,aAAA,EAElB,IAIgCC,EAJ5Bc,GAI4Bd,EAJEE,IAImBF,EAAIG,WAAaH,EAAM,CAAED,QAASC,GAMvF,IAAIe,EAEAC,EAGAC,EAAa,EACbC,EAAa,EAmFjBrB,EAAAE,QAjFA,SAAYoB,EAASC,EAAKP,GACxB,IAAIjD,EAAIwD,GAAOP,GAAU,EACzB,MAAMQ,EAAID,GAAO,IAAIE,MAAM,IAE3B,IAAIC,GADJJ,EAAUA,GAAW,IACFI,MAAQR,EACvBS,OAAgCC,IAArBN,EAAQK,SAAyBL,EAAQK,SAAWR,EAInE,GAAY,MAARO,GAA4B,MAAZC,EAAkB,CACpC,MAAME,EAAYP,EAAQtC,SAAWsC,EAAQQ,KAAOb,EAAKf,WAE7C,MAARwB,IAEFA,EAAOR,EAAU,CAAgB,EAAfW,EAAU,GAAWA,EAAU,GAAIA,EAAU,GAAIA,EAAU,GAAIA,EAAU,GAAIA,EAAU,KAG3F,MAAZF,IAEFA,EAAWR,EAAiD,OAApCU,EAAU,IAAM,EAAIA,EAAU,IAEzD,CAMD,IAAIE,OAA0BH,IAAlBN,EAAQS,MAAsBT,EAAQS,MAAQC,KAAKC,MAG3DC,OAA0BN,IAAlBN,EAAQY,MAAsBZ,EAAQY,MAAQb,EAAa,EAEvE,MAAMc,EAAKJ,EAAQX,GAAcc,EAAQb,GAAc,IAavD,GAXIc,EAAK,QAA0BP,IAArBN,EAAQK,WACpBA,EAAWA,EAAW,EAAI,QAKvBQ,EAAK,GAAKJ,EAAQX,SAAiCQ,IAAlBN,EAAQY,QAC5CA,EAAQ,GAINA,GAAS,IACX,MAAM,IAAIpC,MAAM,mDAGlBsB,EAAaW,EACbV,EAAaa,EACbf,EAAYQ,EAEZI,GAAS,YAET,MAAMK,GAA4B,KAAb,UAARL,GAA6BG,GAAS,WACnDV,EAAEzD,KAAOqE,IAAO,GAAK,IACrBZ,EAAEzD,KAAOqE,IAAO,GAAK,IACrBZ,EAAEzD,KAAOqE,IAAO,EAAI,IACpBZ,EAAEzD,KAAY,IAALqE,EAET,MAAMC,EAAMN,EAAQ,WAAc,IAAQ,UAC1CP,EAAEzD,KAAOsE,IAAQ,EAAI,IACrBb,EAAEzD,KAAa,IAANsE,EAETb,EAAEzD,KAAOsE,IAAQ,GAAK,GAAM,GAE5Bb,EAAEzD,KAAOsE,IAAQ,GAAK,IAEtBb,EAAEzD,KAAO4D,IAAa,EAAI,IAE1BH,EAAEzD,KAAkB,IAAX4D,EAET,IAAK,IAAIW,EAAI,EAAGA,EAAI,IAAKA,EACvBd,EAAEzD,EAAIuE,GAAKZ,EAAKY,GAGlB,OAAOf,IAAO,EAAIgB,EAAW9B,iBAAiBe,EAChD,sBCrGApE,OAAO2C,eAAwBC,EAAA,aAAc,CAC3CC,OAAO,IAETD,EAAkBE,aAAA,EAElB,IAEgCC,EAF5BO,GAE4BP,EAFOE,IAEcF,EAAIG,WAAaH,EAAM,CAAED,QAASC,GAmCvFH,EAAAE,QAjCA,SAAeK,GACb,KAAK,EAAIG,EAAUR,SAASK,GAC1B,MAAM3B,UAAU,gBAGlB,IAAI4D,EACJ,MAAMzB,EAAM,IAAIzC,WAAW,IAuB3B,OArBAyC,EAAI,IAAMyB,EAAIC,SAASlC,EAAKO,MAAM,EAAG,GAAI,OAAS,GAClDC,EAAI,GAAKyB,IAAM,GAAK,IACpBzB,EAAI,GAAKyB,IAAM,EAAI,IACnBzB,EAAI,GAAS,IAAJyB,EAETzB,EAAI,IAAMyB,EAAIC,SAASlC,EAAKO,MAAM,EAAG,IAAK,OAAS,EACnDC,EAAI,GAAS,IAAJyB,EAETzB,EAAI,IAAMyB,EAAIC,SAASlC,EAAKO,MAAM,GAAI,IAAK,OAAS,EACpDC,EAAI,GAAS,IAAJyB,EAETzB,EAAI,IAAMyB,EAAIC,SAASlC,EAAKO,MAAM,GAAI,IAAK,OAAS,EACpDC,EAAI,GAAS,IAAJyB,EAGTzB,EAAI,KAAOyB,EAAIC,SAASlC,EAAKO,MAAM,GAAI,IAAK,KAAO,cAAgB,IACnEC,EAAI,IAAMyB,EAAI,WAAc,IAC5BzB,EAAI,IAAMyB,IAAM,GAAK,IACrBzB,EAAI,IAAMyB,IAAM,GAAK,IACrBzB,EAAI,IAAMyB,IAAM,EAAI,IACpBzB,EAAI,IAAU,IAAJyB,EACHzB,CACT,sBCvCA3D,OAAO2C,eAAwBC,EAAA,aAAc,CAC3CC,OAAO,IAETD,EAAc0C,IAAA1C,EAAA2C,SAAc,EAC5B3C,EAAAE,QAyBA,SAAa0C,EAAMC,EAASC,GAC1B,SAASC,EAAa9C,EAAO+C,EAAWzB,EAAKP,GAC3C,IAAIiC,EAUJ,GARqB,iBAAVhD,IACTA,EAtBN,SAAuBiD,GACrBA,EAAMC,SAASC,mBAAmBF,IAElC,MAAMjE,EAAQ,GAEd,IAAK,IAAIlB,EAAI,EAAGA,EAAImF,EAAIzF,SAAUM,EAChCkB,EAAM2B,KAAKsC,EAAIvE,WAAWZ,IAG5B,OAAOkB,CACT,CAYcoE,CAAcpD,IAGC,iBAAd+C,IACTA,GAAY,EAAIM,EAAOpD,SAAS8C,IAGgE,MAAhE,QAA5BC,EAAaD,SAAsC,IAAfC,OAAwB,EAASA,EAAWxF,QACpF,MAAMmB,UAAU,oEAMlB,IAAIK,EAAQ,IAAIX,WAAW,GAAK2B,EAAMxC,QAOtC,GANAwB,EAAMsE,IAAIP,GACV/D,EAAMsE,IAAItD,EAAO+C,EAAUvF,QAC3BwB,EAAQ6D,EAAS7D,GACjBA,EAAM,GAAgB,GAAXA,EAAM,GAAY4D,EAC7B5D,EAAM,GAAgB,GAAXA,EAAM,GAAY,IAEzBsC,EAAK,CACPP,EAASA,GAAU,EAEnB,IAAK,IAAIjD,EAAI,EAAGA,EAAI,KAAMA,EACxBwD,EAAIP,EAASjD,GAAKkB,EAAMlB,GAG1B,OAAOwD,CACR,CAED,OAAO,EAAIgB,EAAW9B,iBAAiBxB,EACxC,CAGD,IACE8D,EAAaH,KAAOA,CACxB,CAAI,MAAOY,GAAO,CAKhB,OAFAT,EAAaJ,IAAMA,EACnBI,EAAaL,IAAMA,EACZK,CACT,EArEA,IAEgC5C,EAF5BmD,GAE4BnD,EAFIE,IAEiBF,EAAIG,WAAaH,EAAM,CAAED,QAASC,GAcvF,MAAMwC,EAAM,uCACZ3C,EAAA2C,IAAcA,EACd,MAAMD,EAAM,uCACZ1C,EAAA0C,IAAcA,sBCkCd,SAASe,EAAgBC,GACvB,OAAwC,IAAhCA,EAAe,KAAO,GAAK,GAAU,CAC/C,CAsHA,SAASC,EAAQnF,EAAGoF,GAClB,MAAMC,GAAW,MAAJrF,IAAmB,MAAJoF,GAE5B,OADapF,GAAK,KAAOoF,GAAK,KAAOC,GAAO,KAC9B,GAAW,MAANA,CACrB,CAcA,SAASC,EAAOC,EAAGC,EAAGxC,EAAGhD,EAAGyF,EAAG9G,GAC7B,OAAOwG,GATcO,EASQP,EAAQA,EAAQK,EAAGD,GAAIJ,EAAQnF,EAAGrB,OATrCgH,EAS0CF,GARhDC,IAAQ,GAAKC,EAQuC3C,GAT1E,IAAuB0C,EAAKC,CAU5B,CAEA,SAASC,EAAMJ,EAAGxC,EAAG6C,EAAGC,EAAG9F,EAAGyF,EAAG9G,GAC/B,OAAO2G,EAAOtC,EAAI6C,GAAK7C,EAAI8C,EAAGN,EAAGxC,EAAGhD,EAAGyF,EAAG9G,EAC5C,CAEA,SAASoH,EAAMP,EAAGxC,EAAG6C,EAAGC,EAAG9F,EAAGyF,EAAG9G,GAC/B,OAAO2G,EAAOtC,EAAI8C,EAAID,GAAKC,EAAGN,EAAGxC,EAAGhD,EAAGyF,EAAG9G,EAC5C,CAEA,SAASqH,EAAMR,EAAGxC,EAAG6C,EAAGC,EAAG9F,EAAGyF,EAAG9G,GAC/B,OAAO2G,EAAOtC,EAAI6C,EAAIC,EAAGN,EAAGxC,EAAGhD,EAAGyF,EAAG9G,EACvC,CAEA,SAASsH,EAAMT,EAAGxC,EAAG6C,EAAGC,EAAG9F,EAAGyF,EAAG9G,GAC/B,OAAO2G,EAAOO,GAAK7C,GAAK8C,GAAIN,EAAGxC,EAAGhD,EAAGyF,EAAG9G,EAC1C,CAzNAC,OAAO2C,eAAwBC,EAAA,aAAc,CAC3CC,OAAO,IAETD,EAAkBE,aAAA,EAyNlBF,EAAAE,QAnMA,SAAajB,GACX,GAAqB,iBAAVA,EAAoB,CAC7B,MAAMyF,EAAMvB,SAASC,mBAAmBnE,IAExCA,EAAQ,IAAIX,WAAWoG,EAAIjH,QAE3B,IAAK,IAAIM,EAAI,EAAGA,EAAI2G,EAAIjH,SAAUM,EAChCkB,EAAMlB,GAAK2G,EAAI/F,WAAWZ,EAE7B,CAED,OAOF,SAA8B4G,GAC5B,MAAMC,EAAS,GACTC,EAA0B,GAAfF,EAAMlH,OACjBqH,EAAS,mBAEf,IAAK,IAAI/G,EAAI,EAAGA,EAAI8G,EAAU9G,GAAK,EAAG,CACpC,MAAMS,EAAImG,EAAM5G,GAAK,KAAOA,EAAI,GAAK,IAC/BgH,EAAMtC,SAASqC,EAAOrG,OAAOD,IAAM,EAAI,IAAQsG,EAAOrG,OAAW,GAAJD,GAAW,IAC9EoG,EAAOhE,KAAKmE,EACb,CAED,OAAOH,CACT,CAnBSI,CAiCT,SAAoBxG,EAAGyG,GAErBzG,EAAEyG,GAAO,IAAM,KAAQA,EAAM,GAC7BzG,EAAEiF,EAAgBwB,GAAO,GAAKA,EAC9B,IAAIjB,EAAI,WACJxC,GAAK,UACL6C,GAAK,WACLC,EAAI,UAER,IAAK,IAAIvG,EAAI,EAAGA,EAAIS,EAAEf,OAAQM,GAAK,GAAI,CACrC,MAAMmH,EAAOlB,EACPmB,EAAO3D,EACP4D,EAAOf,EACPgB,EAAOf,EACbN,EAAII,EAAMJ,EAAGxC,EAAG6C,EAAGC,EAAG9F,EAAET,GAAI,GAAI,WAChCuG,EAAIF,EAAME,EAAGN,EAAGxC,EAAG6C,EAAG7F,EAAET,EAAI,GAAI,IAAK,WACrCsG,EAAID,EAAMC,EAAGC,EAAGN,EAAGxC,EAAGhD,EAAET,EAAI,GAAI,GAAI,WACpCyD,EAAI4C,EAAM5C,EAAG6C,EAAGC,EAAGN,EAAGxF,EAAET,EAAI,GAAI,IAAK,YACrCiG,EAAII,EAAMJ,EAAGxC,EAAG6C,EAAGC,EAAG9F,EAAET,EAAI,GAAI,GAAI,WACpCuG,EAAIF,EAAME,EAAGN,EAAGxC,EAAG6C,EAAG7F,EAAET,EAAI,GAAI,GAAI,YACpCsG,EAAID,EAAMC,EAAGC,EAAGN,EAAGxC,EAAGhD,EAAET,EAAI,GAAI,IAAK,YACrCyD,EAAI4C,EAAM5C,EAAG6C,EAAGC,EAAGN,EAAGxF,EAAET,EAAI,GAAI,IAAK,UACrCiG,EAAII,EAAMJ,EAAGxC,EAAG6C,EAAGC,EAAG9F,EAAET,EAAI,GAAI,EAAG,YACnCuG,EAAIF,EAAME,EAAGN,EAAGxC,EAAG6C,EAAG7F,EAAET,EAAI,GAAI,IAAK,YACrCsG,EAAID,EAAMC,EAAGC,EAAGN,EAAGxC,EAAGhD,EAAET,EAAI,IAAK,IAAK,OACtCyD,EAAI4C,EAAM5C,EAAG6C,EAAGC,EAAGN,EAAGxF,EAAET,EAAI,IAAK,IAAK,YACtCiG,EAAII,EAAMJ,EAAGxC,EAAG6C,EAAGC,EAAG9F,EAAET,EAAI,IAAK,EAAG,YACpCuG,EAAIF,EAAME,EAAGN,EAAGxC,EAAG6C,EAAG7F,EAAET,EAAI,IAAK,IAAK,UACtCsG,EAAID,EAAMC,EAAGC,EAAGN,EAAGxC,EAAGhD,EAAET,EAAI,IAAK,IAAK,YACtCyD,EAAI4C,EAAM5C,EAAG6C,EAAGC,EAAGN,EAAGxF,EAAET,EAAI,IAAK,GAAI,YACrCiG,EAAIO,EAAMP,EAAGxC,EAAG6C,EAAGC,EAAG9F,EAAET,EAAI,GAAI,GAAI,WACpCuG,EAAIC,EAAMD,EAAGN,EAAGxC,EAAG6C,EAAG7F,EAAET,EAAI,GAAI,GAAI,YACpCsG,EAAIE,EAAMF,EAAGC,EAAGN,EAAGxC,EAAGhD,EAAET,EAAI,IAAK,GAAI,WACrCyD,EAAI+C,EAAM/C,EAAG6C,EAAGC,EAAGN,EAAGxF,EAAET,GAAI,IAAK,WACjCiG,EAAIO,EAAMP,EAAGxC,EAAG6C,EAAGC,EAAG9F,EAAET,EAAI,GAAI,GAAI,WACpCuG,EAAIC,EAAMD,EAAGN,EAAGxC,EAAG6C,EAAG7F,EAAET,EAAI,IAAK,EAAG,UACpCsG,EAAIE,EAAMF,EAAGC,EAAGN,EAAGxC,EAAGhD,EAAET,EAAI,IAAK,IAAK,WACtCyD,EAAI+C,EAAM/C,EAAG6C,EAAGC,EAAGN,EAAGxF,EAAET,EAAI,GAAI,IAAK,WACrCiG,EAAIO,EAAMP,EAAGxC,EAAG6C,EAAGC,EAAG9F,EAAET,EAAI,GAAI,EAAG,WACnCuG,EAAIC,EAAMD,EAAGN,EAAGxC,EAAG6C,EAAG7F,EAAET,EAAI,IAAK,GAAI,YACrCsG,EAAIE,EAAMF,EAAGC,EAAGN,EAAGxC,EAAGhD,EAAET,EAAI,GAAI,IAAK,WACrCyD,EAAI+C,EAAM/C,EAAG6C,EAAGC,EAAGN,EAAGxF,EAAET,EAAI,GAAI,GAAI,YACpCiG,EAAIO,EAAMP,EAAGxC,EAAG6C,EAAGC,EAAG9F,EAAET,EAAI,IAAK,GAAI,YACrCuG,EAAIC,EAAMD,EAAGN,EAAGxC,EAAG6C,EAAG7F,EAAET,EAAI,GAAI,GAAI,UACpCsG,EAAIE,EAAMF,EAAGC,EAAGN,EAAGxC,EAAGhD,EAAET,EAAI,GAAI,GAAI,YACpCyD,EAAI+C,EAAM/C,EAAG6C,EAAGC,EAAGN,EAAGxF,EAAET,EAAI,IAAK,IAAK,YACtCiG,EAAIQ,EAAMR,EAAGxC,EAAG6C,EAAGC,EAAG9F,EAAET,EAAI,GAAI,GAAI,QACpCuG,EAAIE,EAAMF,EAAGN,EAAGxC,EAAG6C,EAAG7F,EAAET,EAAI,GAAI,IAAK,YACrCsG,EAAIG,EAAMH,EAAGC,EAAGN,EAAGxC,EAAGhD,EAAET,EAAI,IAAK,GAAI,YACrCyD,EAAIgD,EAAMhD,EAAG6C,EAAGC,EAAGN,EAAGxF,EAAET,EAAI,IAAK,IAAK,UACtCiG,EAAIQ,EAAMR,EAAGxC,EAAG6C,EAAGC,EAAG9F,EAAET,EAAI,GAAI,GAAI,YACpCuG,EAAIE,EAAMF,EAAGN,EAAGxC,EAAG6C,EAAG7F,EAAET,EAAI,GAAI,GAAI,YACpCsG,EAAIG,EAAMH,EAAGC,EAAGN,EAAGxC,EAAGhD,EAAET,EAAI,GAAI,IAAK,WACrCyD,EAAIgD,EAAMhD,EAAG6C,EAAGC,EAAGN,EAAGxF,EAAET,EAAI,IAAK,IAAK,YACtCiG,EAAIQ,EAAMR,EAAGxC,EAAG6C,EAAGC,EAAG9F,EAAET,EAAI,IAAK,EAAG,WACpCuG,EAAIE,EAAMF,EAAGN,EAAGxC,EAAG6C,EAAG7F,EAAET,GAAI,IAAK,WACjCsG,EAAIG,EAAMH,EAAGC,EAAGN,EAAGxC,EAAGhD,EAAET,EAAI,GAAI,IAAK,WACrCyD,EAAIgD,EAAMhD,EAAG6C,EAAGC,EAAGN,EAAGxF,EAAET,EAAI,GAAI,GAAI,UACpCiG,EAAIQ,EAAMR,EAAGxC,EAAG6C,EAAGC,EAAG9F,EAAET,EAAI,GAAI,GAAI,WACpCuG,EAAIE,EAAMF,EAAGN,EAAGxC,EAAG6C,EAAG7F,EAAET,EAAI,IAAK,IAAK,WACtCsG,EAAIG,EAAMH,EAAGC,EAAGN,EAAGxC,EAAGhD,EAAET,EAAI,IAAK,GAAI,WACrCyD,EAAIgD,EAAMhD,EAAG6C,EAAGC,EAAGN,EAAGxF,EAAET,EAAI,GAAI,IAAK,WACrCiG,EAAIS,EAAMT,EAAGxC,EAAG6C,EAAGC,EAAG9F,EAAET,GAAI,GAAI,WAChCuG,EAAIG,EAAMH,EAAGN,EAAGxC,EAAG6C,EAAG7F,EAAET,EAAI,GAAI,GAAI,YACpCsG,EAAII,EAAMJ,EAAGC,EAAGN,EAAGxC,EAAGhD,EAAET,EAAI,IAAK,IAAK,YACtCyD,EAAIiD,EAAMjD,EAAG6C,EAAGC,EAAGN,EAAGxF,EAAET,EAAI,GAAI,IAAK,UACrCiG,EAAIS,EAAMT,EAAGxC,EAAG6C,EAAGC,EAAG9F,EAAET,EAAI,IAAK,EAAG,YACpCuG,EAAIG,EAAMH,EAAGN,EAAGxC,EAAG6C,EAAG7F,EAAET,EAAI,GAAI,IAAK,YACrCsG,EAAII,EAAMJ,EAAGC,EAAGN,EAAGxC,EAAGhD,EAAET,EAAI,IAAK,IAAK,SACtCyD,EAAIiD,EAAMjD,EAAG6C,EAAGC,EAAGN,EAAGxF,EAAET,EAAI,GAAI,IAAK,YACrCiG,EAAIS,EAAMT,EAAGxC,EAAG6C,EAAGC,EAAG9F,EAAET,EAAI,GAAI,EAAG,YACnCuG,EAAIG,EAAMH,EAAGN,EAAGxC,EAAG6C,EAAG7F,EAAET,EAAI,IAAK,IAAK,UACtCsG,EAAII,EAAMJ,EAAGC,EAAGN,EAAGxC,EAAGhD,EAAET,EAAI,GAAI,IAAK,YACrCyD,EAAIiD,EAAMjD,EAAG6C,EAAGC,EAAGN,EAAGxF,EAAET,EAAI,IAAK,GAAI,YACrCiG,EAAIS,EAAMT,EAAGxC,EAAG6C,EAAGC,EAAG9F,EAAET,EAAI,GAAI,GAAI,WACpCuG,EAAIG,EAAMH,EAAGN,EAAGxC,EAAG6C,EAAG7F,EAAET,EAAI,IAAK,IAAK,YACtCsG,EAAII,EAAMJ,EAAGC,EAAGN,EAAGxC,EAAGhD,EAAET,EAAI,GAAI,GAAI,WACpCyD,EAAIiD,EAAMjD,EAAG6C,EAAGC,EAAGN,EAAGxF,EAAET,EAAI,GAAI,IAAK,WACrCiG,EAAIL,EAAQK,EAAGkB,GACf1D,EAAImC,EAAQnC,EAAG2D,GACfd,EAAIV,EAAQU,EAAGe,GACfd,EAAIX,EAAQW,EAAGe,EAChB,CAED,MAAO,CAACrB,EAAGxC,EAAG6C,EAAGC,EACnB,CAtH8BgB,CA6H9B,SAAsBX,GACpB,GAAqB,IAAjBA,EAAMlH,OACR,MAAO,GAGT,MAAM8H,EAAyB,EAAfZ,EAAMlH,OAChBmH,EAAS,IAAIY,YAAY/B,EAAgB8B,IAE/C,IAAK,IAAIxH,EAAI,EAAGA,EAAIwH,EAASxH,GAAK,EAChC6G,EAAO7G,GAAK,KAAsB,IAAf4G,EAAM5G,EAAI,KAAcA,EAAI,GAGjD,OAAO6G,CACT,CA1IyCa,CAAaxG,GAAuB,EAAfA,EAAMxB,QACpE,8BCrCAL,OAAO2C,eAAwBC,EAAA,aAAc,CAC3CC,OAAO,IAETD,EAAkBE,aAAA,EAElB,IAAIwF,EAAKC,EAAuBtF,GAE5BuF,EAAMD,EAAuBE,GAEjC,SAASF,EAAuBxF,GAAO,OAAOA,GAAOA,EAAIG,WAAaH,EAAM,CAAED,QAASC,EAAQ,CAE/F,MAAM2F,GAAK,EAAIJ,EAAGxF,SAAS,KAAM,GAAM0F,EAAI1F,SAE3CF,EAAAE,QADe4F,sBCZf1I,OAAO2C,eAAwBC,EAAA,aAAc,CAC3CC,OAAO,IAETD,EAAkBE,aAAA,EAClB,MAAM6F,EAA+B,oBAAX7G,QAA0BA,OAAO6G,YAAc7G,OAAO6G,WAAWzI,KAAK4B,QAIhGc,EAAAE,QAHe,CACb6F,kCCNF3I,OAAO2C,eAAwBC,EAAA,aAAc,CAC3CC,OAAO,IAETD,EAAkBE,aAAA,EAElB,IAAI8F,EAAUL,EAAuBtF,GAEjCY,EAAO0E,EAAuBE,GAIlC,SAASF,EAAuBxF,GAAO,OAAOA,GAAOA,EAAIG,WAAaH,EAAM,CAAED,QAASC,EAAQ,CA6B/FH,EAAAE,QA3BA,SAAYoB,EAASC,EAAKP,GACxB,GAAIgF,EAAQ9F,QAAQ6F,aAAexE,IAAQD,EACzC,OAAO0E,EAAQ9F,QAAQ6F,aAKzB,MAAME,GAFN3E,EAAUA,GAAW,IAEAtC,SAAWsC,EAAQQ,KAAOb,EAAKf,WAMpD,GAHA+F,EAAK,GAAe,GAAVA,EAAK,GAAY,GAC3BA,EAAK,GAAe,GAAVA,EAAK,GAAY,IAEvB1E,EAAK,CACPP,EAASA,GAAU,EAEnB,IAAK,IAAIjD,EAAI,EAAGA,EAAI,KAAMA,EACxBwD,EAAIP,EAASjD,GAAKkI,EAAKlI,GAGzB,OAAOwD,CACR,CAED,OAAO,EAAIgB,EAAW9B,iBAAiBwF,EACzC,sBC9BA,SAASC,EAAEjC,EAAGzF,EAAGoF,EAAGuC,GAClB,OAAQlC,GACN,KAAK,EACH,OAAOzF,EAAIoF,GAAKpF,EAAI2H,EAEtB,KAAK,EAML,KAAK,EACH,OAAO3H,EAAIoF,EAAIuC,EAJjB,KAAK,EACH,OAAO3H,EAAIoF,EAAIpF,EAAI2H,EAAIvC,EAAIuC,EAKjC,CAEA,SAASC,EAAK5H,EAAG8D,GACf,OAAO9D,GAAK8D,EAAI9D,IAAM,GAAK8D,CAC7B,CAzBAlF,OAAO2C,eAAwBC,EAAA,aAAc,CAC3CC,OAAO,IAETD,EAAkBE,aAAA,EAkGlBF,EAAAE,QA1EA,SAAcjB,GACZ,MAAMoH,EAAI,CAAC,WAAY,WAAY,WAAY,YACzCC,EAAI,CAAC,WAAY,WAAY,WAAY,UAAY,YAE3D,GAAqB,iBAAVrH,EAAoB,CAC7B,MAAMyF,EAAMvB,SAASC,mBAAmBnE,IAExCA,EAAQ,GAER,IAAK,IAAIlB,EAAI,EAAGA,EAAI2G,EAAIjH,SAAUM,EAChCkB,EAAM2B,KAAK8D,EAAI/F,WAAWZ,GAE7B,MAAW0D,MAAM8E,QAAQtH,KAExBA,EAAQwC,MAAM+E,UAAU1F,MAAMjD,KAAKoB,IAGrCA,EAAM2B,KAAK,KACX,MACM6F,EAAI5H,KAAK6H,MADLzH,EAAMxB,OAAS,EAAI,GACL,IAClBkJ,EAAI,IAAIlF,MAAMgF,GAEpB,IAAK,IAAI1I,EAAI,EAAGA,EAAI0I,IAAK1I,EAAG,CAC1B,MAAMgD,EAAM,IAAIyE,YAAY,IAE5B,IAAK,IAAIjH,EAAI,EAAGA,EAAI,KAAMA,EACxBwC,EAAIxC,GAAKU,EAAU,GAAJlB,EAAa,EAAJQ,IAAU,GAAKU,EAAU,GAAJlB,EAAa,EAAJQ,EAAQ,IAAM,GAAKU,EAAU,GAAJlB,EAAa,EAAJQ,EAAQ,IAAM,EAAIU,EAAU,GAAJlB,EAAa,EAAJQ,EAAQ,GAGnIoI,EAAE5I,GAAKgD,CACR,CAED4F,EAAEF,EAAI,GAAG,IAA2B,GAApBxH,EAAMxB,OAAS,GAASoB,KAAK+H,IAAI,EAAG,IACpDD,EAAEF,EAAI,GAAG,IAAM5H,KAAKgI,MAAMF,EAAEF,EAAI,GAAG,KACnCE,EAAEF,EAAI,GAAG,IAA2B,GAApBxH,EAAMxB,OAAS,GAAS,WAExC,IAAK,IAAIM,EAAI,EAAGA,EAAI0I,IAAK1I,EAAG,CAC1B,MAAM+I,EAAI,IAAItB,YAAY,IAE1B,IAAK,IAAIrI,EAAI,EAAGA,EAAI,KAAMA,EACxB2J,EAAE3J,GAAKwJ,EAAE5I,GAAGZ,GAGd,IAAK,IAAIA,EAAI,GAAIA,EAAI,KAAMA,EACzB2J,EAAE3J,GAAKiJ,EAAKU,EAAE3J,EAAI,GAAK2J,EAAE3J,EAAI,GAAK2J,EAAE3J,EAAI,IAAM2J,EAAE3J,EAAI,IAAK,GAG3D,IAAI6G,EAAIsC,EAAE,GACN9E,EAAI8E,EAAE,GACNjC,EAAIiC,EAAE,GACNhC,EAAIgC,EAAE,GACN/I,EAAI+I,EAAE,GAEV,IAAK,IAAInJ,EAAI,EAAGA,EAAI,KAAMA,EAAG,CAC3B,MAAM8G,EAAIpF,KAAKgI,MAAM1J,EAAI,IACnB4J,EAAIX,EAAKpC,EAAG,GAAKkC,EAAEjC,EAAGzC,EAAG6C,EAAGC,GAAK/G,EAAI8I,EAAEpC,GAAK6C,EAAE3J,KAAO,EAC3DI,EAAI+G,EACJA,EAAID,EACJA,EAAI+B,EAAK5E,EAAG,MAAQ,EACpBA,EAAIwC,EACJA,EAAI+C,CACL,CAEDT,EAAE,GAAKA,EAAE,GAAKtC,IAAM,EACpBsC,EAAE,GAAKA,EAAE,GAAK9E,IAAM,EACpB8E,EAAE,GAAKA,EAAE,GAAKjC,IAAM,EACpBiC,EAAE,GAAKA,EAAE,GAAKhC,IAAM,EACpBgC,EAAE,GAAKA,EAAE,GAAK/I,IAAM,CACrB,CAED,MAAO,CAAC+I,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,EAAI,IAAa,IAAPA,EAAE,GAAWA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,EAAI,IAAa,IAAPA,EAAE,GAAWA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,EAAI,IAAa,IAAPA,EAAE,GAAWA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,EAAI,IAAa,IAAPA,EAAE,GAAWA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,EAAI,IAAa,IAAPA,EAAE,GACxV,0BClGAlJ,OAAO2C,eAAwBC,EAAA,aAAc,CAC3CC,OAAO,IAETD,EAAkBE,aAAA,EAElB,IAAIwF,EAAKC,EAAuBtF,GAE5B2G,EAAOrB,EAAuBE,GAElC,SAASF,EAAuBxF,GAAO,OAAOA,GAAOA,EAAIG,WAAaH,EAAM,CAAED,QAASC,EAAQ,CAE/F,MAAM8G,GAAK,EAAIvB,EAAGxF,SAAS,KAAM,GAAM8G,EAAK9G,SAE5CF,EAAAE,QADe+G,sBCZf7J,OAAO2C,eAAwBC,EAAA,aAAc,CAC3CC,OAAO,IAETD,EAAkBE,aAAA,EAElBF,EAAAE,QADe,2DCJf9C,OAAO2C,eAAwBC,EAAA,aAAc,CAC3CC,OAAO,IAETD,EAAkBE,aAAA,EAElB,IAEgCC,EAF5BO,GAE4BP,EAFOE,IAEcF,EAAIG,WAAaH,EAAM,CAAED,QAASC,GAWvFH,EAAAE,QATA,SAAiBK,GACf,KAAK,EAAIG,EAAUR,SAASK,GAC1B,MAAM3B,UAAU,gBAGlB,OAAO6D,SAASlC,EAAKO,MAAM,GAAI,IAAK,GACtC,8CCfA1D,OAAO2C,eAAwBC,EAAA,aAAc,CAC3CC,OAAO,IAET7C,OAAO2C,eAAeC,EAAS,MAAO,CACpCkH,YAAY,EACZC,IAAK,WACH,OAAOC,EAAKlH,OACb,IAEH9C,OAAO2C,eAAeC,EAAS,QAAS,CACtCkH,YAAY,EACZC,IAAK,WACH,OAAO7D,EAAOpD,OACf,IAEH9C,OAAO2C,eAAeC,EAAS,YAAa,CAC1CkH,YAAY,EACZC,IAAK,WACH,OAAO5E,EAAWrC,OACnB,IAEH9C,OAAO2C,eAAeC,EAAS,KAAM,CACnCkH,YAAY,EACZC,IAAK,WACH,OAAOzB,EAAGxF,OACX,IAEH9C,OAAO2C,eAAeC,EAAS,KAAM,CACnCkH,YAAY,EACZC,IAAK,WACH,OAAOE,EAAInH,OACZ,IAEH9C,OAAO2C,eAAeC,EAAS,KAAM,CACnCkH,YAAY,EACZC,IAAK,WACH,OAAOG,EAAIpH,OACZ,IAEH9C,OAAO2C,eAAeC,EAAS,KAAM,CACnCkH,YAAY,EACZC,IAAK,WACH,OAAOI,EAAIrH,OACZ,IAEH9C,OAAO2C,eAAeC,EAAS,WAAY,CACzCkH,YAAY,EACZC,IAAK,WACH,OAAOzG,EAAUR,OAClB,IAEH9C,OAAO2C,eAAeC,EAAS,UAAW,CACxCkH,YAAY,EACZC,IAAK,WACH,OAAOK,EAAStH,OACjB,IAGH,IAAIwF,EAAKC,EAAuBtF,GAE5BgH,EAAM1B,EAAuBE,GAE7ByB,EAAM3B,EAAuB8B,GAE7BF,EAAM5B,EAAuB+B,GAE7BN,EAAOzB,EAAuBgC,GAE9BH,EAAW7B,EAAuBiC,GAElClH,EAAYiF,EAAuBkC,GAEnCtF,EAAaoD,EAAuBmC,GAEpCxE,EAASqC,EAAuBoC,GAEpC,SAASpC,EAAuBxF,GAAO,OAAOA,GAAOA,EAAIG,WAAaH,EAAM,CAAED,QAASC,EAAM,ICrE7F,SAAS6H,EAAUC,EAAaC,GAC5B,KAAKD,GAAgBC,GAAgBD,EAAYxK,QAAWyK,EAAYzK,QACpE,MAAM,IAAIqC,MAAM,gBAEpBqI,KAAKF,YAAcA,EACnBE,KAAKD,YAAcA,CACvB,CASAF,EAAUxB,UAAU4B,QAAU,SAASC,GACnC,IAAItK,EAAGuK,EAAQC,EACfC,EAAY,CAAE,EACdC,EAAWN,KAAKF,YAAYxK,OAC5BiL,EAASP,KAAKD,YAAYzK,OAC1BA,EAAS4K,EAAO5K,OAChBkL,EAA2B,iBAAXN,EAAsB,GAAK,GAE3C,IAAKF,KAAKS,QAAQP,GACd,MAAM,IAAIvI,MAAM,WAAauI,EAAS,wCAA0CF,KAAKF,YAAc,KAGvG,GAAIE,KAAKF,cAAgBE,KAAKD,YAC1B,OAAOG,EAGX,IAAKtK,EAAI,EAAGA,EAAIN,EAAQM,IACpByK,EAAUzK,GAAKoK,KAAKF,YAAYY,QAAQR,EAAOtK,IAEnD,EAAG,CAGC,IAFAuK,EAAS,EACTC,EAAS,EACJxK,EAAI,EAAGA,EAAIN,EAAQM,KACpBuK,EAASA,EAASG,EAAWD,EAAUzK,KACzB2K,GACVF,EAAUD,KAAY9F,SAAS6F,EAASI,EAAQ,IAChDJ,GAAkBI,GACXH,EAAS,IAChBC,EAAUD,KAAY,GAG9B9K,EAAS8K,EACTI,EAASR,KAAKD,YAAYpH,MAAMwH,EAAQA,EAAS,GAAGQ,OAAOH,EACnE,OAAwB,IAAXJ,GAET,OAAOI,CACX,EASAX,EAAUxB,UAAUoC,QAAU,SAASP,GAEnC,IADA,IAAItK,EAAI,EACDA,EAAIsK,EAAO5K,SAAUM,EACxB,IAA6C,IAAzCoK,KAAKF,YAAYY,QAAQR,EAAOtK,IAChC,OAAO,EAGf,OAAO,CACX,EAEA,IAAAgL,EAAiBf,ECrEjB,SAASgB,EAAQf,EAAaC,GAC1B,IAAIa,EAAY,IAAIf,EAAUC,EAAaC,GAQ3C,OAAO,SAAUG,GACb,OAAOU,EAAUX,QAAQC,EAC5B,CACL,CAEAW,EAAQC,IAAM,KACdD,EAAQE,IAAM,WACdF,EAAQG,IAAM,aACdH,EAAQI,IAAM,mBAEd,IAAAC,EAAiBL,MCxBjB,MAAQM,GAAIC,EAAQC,SAAUC,GAAiBpJ,EAGzCqJ,EAAY,CAChBC,aAAc,6FACdC,aAAc,6DACdC,aAAc,wCAGVC,EAAc,CAClBC,kBAAkB,GAIpB,IAAIC,EASJ,MAAMC,EAAc,CAACC,EAAQC,EAAYC,KACvC,MAAMC,EAAaF,EAAWD,EAAOI,cAAcC,QAAQ,KAAM,KAEjE,OAAKH,GAAkBA,EAAcL,iBAE9BM,EAAWG,SAChBJ,EAAcK,cACdL,EAAcM,aAJ8CL,GAc1DM,EAAc,CAACC,EAAST,KAC5B,MAGMU,EAHMV,EAAWS,GAASJ,SAAS,GAAI,KAG/BM,MAAM,wCAGpB,MAAO,CAACD,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,IAAIE,KAAK,MAW7C,IAAcC,EAAG,MAcf,MAAMC,EAAgB,CAACC,EAAY5J,KAEjC,MAAM6J,EAAcD,GAAcxB,EAAUE,aAGtCwB,EAAkB,IAAKtB,KAAgBxI,GAG7C,GAAI,IAAI,IAAI+J,IAAI5J,MAAM6J,KAAKH,KAAe1N,SAAW0N,EAAY1N,OAC/D,MAAM,IAAIqC,MAAM,kFAGlB,MAAM2K,GA7BgBc,EA6BiBJ,EAAY1N,OA5BrDoB,KAAK6H,KAAK7H,KAAKC,IAAI,GAAK,KAAOD,KAAKC,IAAIyM,KADjB,IAACA,EAgCtB,MAAMnB,EAAgB,CACpBK,gBACAV,iBAAkBqB,EAAgBrB,iBAClCW,YAAaS,EAAY,IAIrBK,EAAUxC,EAAQA,EAAQI,IAAK+B,GAC/BM,EAAQzC,EAAQmC,EAAanC,EAAQI,KAIrCsC,EAAW,IAAMzB,EAAYV,IAAUiC,EAASpB,GAoBhDD,EAAa,CACjB/K,SAAU+L,EACVQ,SAAWpL,GAAS0J,EAAY1J,EAAMiL,EAASpB,GAC/CwB,UAAWnB,EACXiB,WACAG,IAAKH,EACLI,OAASd,GAAcL,EAAYK,EAAWS,GAC9ClL,KAAMgJ,EACNC,SAlBe,CAACoB,EAASmB,GAAW,KACpC,IAAKnB,GAA8B,iBAAZA,EAAsB,OAAO,EACpD,MAAMoB,EAAkBZ,EAAgBrB,iBACpCa,EAAQnN,SAAWgN,EACnBG,EAAQnN,QAAUgN,EAChBwB,EAAerB,EAAQsB,MAAM,IAAIC,MAAOC,GAAWjB,EAAYkB,SAASD,IAC9E,OAAiB,IAAbL,EAA2BC,GAAmBC,EAC3CD,GAAmBC,GAAgBxC,EAAakB,EAAYC,EAASa,MAgB9E,OAFArO,OAAOkP,OAAOnC,GAEPA,GAkBT,OAdAc,EAAcvB,UAAYA,EAG1BuB,EAAc1K,KAAOgJ,EAGrB0B,EAAcS,SAAW,KAClB1B,IAEHA,EAAWiB,EAAcvB,EAAUE,cAAc8B,UAE5C1B,KAGFiB,CACR,EA7FgB,qBC9DjB7N,OAAO2C,eAAcC,EAAU,aAAc,CAAEC,OAAO,IACtDD,EAAiBuM,YAAA,EACjB,MAAMA,EACFC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,IAAkB,GAClB,WAAAC,CAAYb,EAAW,GAAIG,EAAe,GAAItL,GAK1C,GAJA6G,MAAKqE,EAASe,OAAOjM,GAASkL,OAAS,YACvCrE,MAAKsE,EAAYc,OAAOd,GACxBtE,MAAKuE,EAAgBa,OAAOjM,GAASoL,cAAgB,GACrDvE,MAAKwE,GAAgB,IAAO,IAAMxE,MAAKuE,EACnCvE,MAAKsE,EAAY,GAAKtE,MAAKsE,EAAYtE,MAAKwE,EAC5C,MAAM,IAAI7M,MAAM,QACZqI,MAAKuE,EAAc7L,WACnB,0CACAsH,MAAKwE,EAAa9L,WAClB,mBAKR,GAHAsH,MAAKyE,EAAgBW,OAAOX,GAC5BzE,MAAK0E,EAAoBU,OAAOjM,GAASuL,kBAAoB,GAC7D1E,MAAK2E,GAAoB,IAAO,IAAM3E,MAAK0E,EACvC1E,MAAKyE,EAAgBzE,MAAK2E,GAAoB3E,MAAKyE,EAAgB,EACnE,MAAM,IAAI9M,MAAM,QACZqI,MAAK0E,EAAkBhM,WACvB,8CACAsH,MAAK2E,EAAiBjM,WACtB,mBAERsH,MAAK4E,EAAYQ,OAAOjM,GAASyL,UAAY,GAC7C5E,MAAK6E,EAAgBO,OAAOjM,GAAS0L,cAAgB,IACrD7E,MAAKiF,GAAiB,IAAO,IAAMjF,MAAK6E,EACxC7E,MAAK8E,EAAiB9E,MAAK6E,EAC3B7E,MAAK+E,EAAqB/E,MAAK6E,EAAgB7E,MAAKuE,EACpDvE,MAAKgF,EAAsBhF,MAAK6E,EAAgB7E,MAAKuE,EAAgBvE,MAAK0E,CAC7E,CACD,YAAIJ,GACA,OAAOtE,MAAKsE,CACf,CACD,gBAAIG,GACA,OAAOzE,MAAKyE,CACf,CACD,mBAAIY,GACA,OAAOrF,MAAK4E,CACf,CACD,iBAAIM,GACA,OAAOlF,MAAKkF,CACf,CACD,MAAAI,GACI,IAAIC,EAAYnB,EAAOtK,MACvB,GAAIyL,EAAYvF,MAAKkF,EACjB,MAAM,IAAIvN,MAAM,qDACXqI,MAAKkF,EAAiBK,GAAW7M,WAClC,iBAYR,OAVI6M,IAAcvF,MAAKkF,GACnBlF,MAAK4E,EAAa5E,MAAK4E,EAAY,GAAM5E,MAAKiF,EACvB,KAAnBjF,MAAK4E,IACLW,EAAYvF,KAAKwF,cAAcxF,MAAKkF,KAIxClF,MAAK4E,EAAY,GAErB5E,MAAKkF,EAAiBK,EACZA,EAAYvF,MAAKqE,GAAWrE,MAAKgF,EACtChF,MAAKyE,GAAiBzE,MAAK+E,EAC3B/E,MAAKsE,GAAatE,MAAK8E,EACxB9E,MAAK4E,CACZ,CACD,aAAAY,CAAcN,GACV,IAAIK,EACJ,GACIA,EAAYnB,EAAOtK,YACdyL,GAAaL,GACtB,OAAOK,CACV,CACD,UAAOzL,GACH,OAAOsL,OAAOvL,KAAKC,MACtB,EAELjC,EAAAuM,OAAiBA,ICtFAxO,EAAM,kEAEnB6P,IAAAA,EAAatL,EACf,iEACA,IAGUA,EAAe,aAAc,GAId,IAAI3E,EAAA4O,OAAO,EAAG,EAAG,CAC1CG,aAAc,GACdM,aAAc,KAkKLxK,+CC9KPqL,GAASC,EAAAA,YAEThP,GAAM,WAAH,IAAAiP,EAAsB,OAAAA,EAAAC,SAAQlP,IAAGhB,MAAAiQ,EAAA,CAAC,mBAAiBjF,OAAAhI,GAAAA,MAAAjD,KAAAL,YAAS,EAE/DyQ,GAAY,IAAI5C,uBAEI,SACtB6C,EAKAC,GAEA,GAAIF,GAAUG,IAAIF,EAAKtL,MACrB,MAAU,IAAA9C,MAAwBoO,kBAAAA,EAAKtL,KAAI,mBAG7C,IAAIyL,EAAaC,EAAAA,cAAcJ,EAAKK,UAChCC,EAAQ,IAAIC,EAAKA,MAACP,EAAKtL,KAAM,CAC/ByL,WAAAA,EACAK,kBAAmB,CACjBC,kBAAkB,EAClBC,cAAc,KAIlB,MAAO,CACLC,MAAK,WAAa,IAC6D,OAA7E/P,GAAyBoP,qBAAAA,EAAKtL,KAAI,iBAAiBsL,EAAKY,KAAI,iBAAiBC,QAAAC,QAEvER,EAAMS,mBACV,OACA,CACEC,QAAShB,EAAKY,MAEhB,CACEZ,KAAM,CACJiB,2BAA2B,EAC3BR,kBAAkB,EAClBC,cAAc,EACdQ,SAAU,MAGfC,KAED,WAAA,IAAIC,EAAS,IAAI/C,EAAMA,OACrB2B,EAAKtL,KACM,WAAA,IAsBP,+KAbuC,OAArC9D,GAAwBoP,oBAAAA,EAAKtL,MAAQmM,QAAAC,gCAEjCD,QAAAC,QACIb,KAASkB,KAAA,WAAA,4DAHoBE,CAAA,EAI5B/L,SAAAA,GAMP,MALAqK,GAAO2B,iBAAiBhM,EAAK,CAC3BiM,KAAM,CACJC,SAAUxB,EAAKtL,QAGbY,CACR,GACF,CAAC,MAAAjG,GAAAwR,OAAAA,QAAAY,OAAApS,EACF,CAAA,qPArBDqS,CCpC0B,SAClCzS,GAIA,OAFKA,EAAM0S,YAAW1S,EAAM0S,UFwKN,SAACnS,EAAgBH,QAAAA,IAAAA,IAAAA,EAAiB,IACxD,IAAIJ,GAjLwB6E,IAAAA,MAAO8N,UAAUjP,SAAS,IAAI2J,SAAS,EAAG,KAmLlElI,EAAkB/E,EAASJ,EAAKM,OAGpC,OAFI6E,EAAkB,KAAIA,EAAkB,IE5KO,OF8KhCnF,EAAOyQ,EAAWtL,EACvC,CE/K0C5E,IAEjCP,CACT,CD+BY4S,CAAuB,CACrBC,KAAM,YACNH,WD0HiBnS,EC1HW,aD6HxC,IAH8CH,IAAAA,EAAiB,IAC3DG,IAAWA,EAAOuS,SAAS,OAAMvS,GAAkB,KAEvD,GAAUA,EAASkQ,EAAWrQ,IC5HlBuR,KAAMZ,EAAKY,KACXlM,KAAMsL,EAAKtL,QAgBbmM,QAAAC,SACJ,CAAC,MAAAzR,GAAAwR,OAAAA,QAAAY,OAAApS,GDuGqB,IAACG,EAAiBH,GCtGxC,CAAE8Q,WAAAA,IAGJ,MAAO,CACL6B,MAAOZ,EAAOY,MAAM5S,KAAKgS,GACzB,EACJ,CAAC,MAAA/R,GAAA,OAAAwR,QAAAY,OAAApS,KAEL"}
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../src/index.ts"],"sourcesContent":["import { createExecutionContext, provideExecutionContext } from '@lowerdeck/execution-context';\nimport { generateCustomId } from '@lowerdeck/id';\nimport { IQueueProcessor } from '@lowerdeck/queue';\nimport { parseRedisUrl } from '@lowerdeck/redis';\nimport { getSentry } from '@lowerdeck/sentry';\nimport { Queue, Worker } from 'bullmq';\n\nlet Sentry = getSentry();\n\nlet log = (...any: any[]) => console.log('[CRON MANAGER]:', ...any);\n\nlet seenNames = new Set<string>();\n\nexport let createCron = (\n opts: {\n name: string;\n cron: string;\n redisUrl: string;\n },\n handler: () => Promise<void>\n): IQueueProcessor => {\n if (seenNames.has(opts.name)) {\n throw new Error(`Cron with name ${opts.name} already exists`);\n }\n\n let connection = parseRedisUrl(opts.redisUrl);\n let queue = new Queue(opts.name, {\n connection,\n defaultJobOptions: {\n removeOnComplete: true,\n removeOnFail: true\n }\n });\n\n return {\n start: async () => {\n log(`Starting cron job ${opts.name} to run every ${opts.cron} using bullmq`);\n\n await queue.upsertJobScheduler(\n 'cron',\n {\n pattern: opts.cron\n },\n {\n opts: {\n removeDependencyOnFailure: true,\n removeOnComplete: true,\n removeOnFail: true,\n keepLogs: 0\n }\n }\n );\n\n let worker = new Worker(\n opts.name,\n async () => {\n provideExecutionContext(\n createExecutionContext({\n type: 'scheduled',\n contextId: generateCustomId('cron_'),\n cron: opts.cron,\n name: opts.name\n }),\n async () => {\n log(`Running cron job ${opts.name}`);\n\n try {\n await handler();\n } catch (err) {\n Sentry.captureException(err, {\n tags: {\n cronName: opts.name\n }\n });\n throw err;\n }\n }\n );\n },\n { connection }\n );\n\n return {\n close: worker.close.bind(worker)\n };\n }\n };\n};\n"],"names":["Sentry","getSentry","log","_console","console","apply","concat","slice","call","arguments","seenNames","Set","opts","handler","has","name","Error","connection","parseRedisUrl","redisUrl","queue","Queue","defaultJobOptions","removeOnComplete","removeOnFail","start","cron","Promise","resolve","upsertJobScheduler","pattern","removeDependencyOnFailure","keepLogs","then","worker","Worker","provideExecutionContext","createExecutionContext","type","contextId","generateCustomId","_catch","err","captureException","tags","cronName","e","reject","close","bind"],"mappings":"0JAOIA,EAASC,EAAAA,YAETC,EAAM,WAAH,IAAAC,EAAsB,OAAAA,EAAAC,SAAQF,IAAGG,MAAAF,EAAA,CAAC,mBAAiBG,OAAAC,GAAAA,MAAAC,KAAAC,YAAS,EAE/DC,EAAY,IAAIC,uBAEI,SACtBC,EAKAC,GAEA,GAAIH,EAAUI,IAAIF,EAAKG,MACrB,MAAU,IAAAC,MAAwBJ,kBAAAA,EAAKG,KAAI,mBAG7C,IAAIE,EAAaC,EAAAA,cAAcN,EAAKO,UAChCC,EAAQ,IAAIC,EAAKA,MAACT,EAAKG,KAAM,CAC/BE,WAAAA,EACAK,kBAAmB,CACjBC,kBAAkB,EAClBC,cAAc,KAIlB,MAAO,CACLC,MAAK,WAAa,IAC6D,OAA7EvB,EAAyBU,qBAAAA,EAAKG,KAAI,iBAAiBH,EAAKc,KAAI,iBAAiBC,QAAAC,QAEvER,EAAMS,mBACV,OACA,CACEC,QAASlB,EAAKc,MAEhB,CACEd,KAAM,CACJmB,2BAA2B,EAC3BR,kBAAkB,EAClBC,cAAc,EACdQ,SAAU,MAGfC,KAED,WAAA,IAAIC,EAAS,IAAIC,EAAMA,OACrBvB,EAAKG,KACM,WAAA,IAsBP,OArBFqB,EAAAA,wBACEC,EAAsBA,uBAAC,CACrBC,KAAM,YACNC,UAAWC,mBAAiB,SAC5Bd,KAAMd,EAAKc,KACXX,KAAMH,EAAKG,sBAG0B,OAArCb,EAAwBU,oBAAAA,EAAKG,MAAQY,QAAAC,gCAEjCD,QAAAC,QACIf,KAASoB,KAAA,WAAA,4DAHoBQ,CAAA,EAI5BC,SAAAA,GAMP,MALA1C,EAAO2C,iBAAiBD,EAAK,CAC3BE,KAAM,CACJC,SAAUjC,EAAKG,QAGb2B,CACR,GACF,CAAC,MAAAI,GAAAnB,OAAAA,QAAAoB,OAAAD,EACF,CAAA,GAACnB,QAAAC,SACJ,CAAC,MAAAkB,GAAAnB,OAAAA,QAAAoB,OAAAD,KACD,CAAE7B,WAAAA,IAGJ,MAAO,CACL+B,MAAOd,EAAOc,MAAMC,KAAKf,GACzB,EACJ,CAAC,MAAAY,GAAA,OAAAnB,QAAAoB,OAAAD,KAEL"}
|
package/dist/index.module.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{getSentry as e}from"@lowerdeck/sentry";import{AsyncLocalStorage as t}from"async_hooks";import{parseRedisUrl as r}from"@lowerdeck/redis";import{Queue as n,Worker as o}from"bullmq";function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},a.apply(null,arguments)}new Map([].concat(["for","and","nor","but","or","yet","so"].map(function(e){return[e.toLowerCase(),e]}),["a","an","the"].map(function(e){return[e.toLowerCase(),e]}),["aboard","about","above","across","after","against","along","amid","among","anti","around","as","at","before","behind","below","beneath","beside","besides","between","beyond","but","by","concerning","considering","despite","down","during","except","excepting","excluding","following","for","from","in","inside","into","like","minus","near","of","off","on","onto","opposite","over","past","per","plus","regarding","round","save","since","than","through","to","toward","towards","under","underneath","unlike","until","up","upon","versus","via","with","within","without"].map(function(e){return[e.toLowerCase(),e]}),["Metorial","MCP","CLI","API","HTTP","HTTPS","JSX","DNS","URL","CI","CD","CDN","package.json","package.lock","yarn.lock","GitHub","GitLab","CSS","Sass","JS","JavaScript","TypeScript","HTML","WordPress","Next.js","Node.js","Webpack","Docker","Bash","Kubernetes","SWR","TinaCMS","UI","UX","TS","TSX","iPhone","iPad","watchOS","iOS","iPadOS","macOS","PHP","composer.json","composer.lock","CMS","SQL","C","C#","GraphQL","GraphiQL","JWT","JWTs"].map(function(e){return[e.toLowerCase(),e]})));var s=function(e){return Object.assign(function(t){return void 0===t&&(t={}),s(a({},e,t))},{__typename:"error",data:e,toResponse:function(){return a({__typename:"error",ok:!1},e)}})};s({status:500,code:"internal_server_error",message:"An internal server error occurred."}),s({status:400,code:"bad_request",message:"The request is invalid."}),s({status:401,code:"unauthorized",message:"You are not authorized to access this resource.",hint:"Make sure you are logged in and have the correct permissions to access this resource."}),s({status:403,code:"forbidden",message:"You do not have permission to access this resource."}),s({status:400,code:"invalid_version",message:"The endpoint does not support the requested version."}),s({status:409,code:"conflict",message:"A similar resource already exists."}),s({status:410,code:"gone",message:"The requested resource is no longer available."}),s({status:402,code:"payment_required",message:"Payment is required to access this resource."}),s({status:412,code:"precondition_failed",message:"The precondition of the request failed."}),s({status:406,code:"not_acceptable",message:"The requested resource is not acceptable."}),s({status:501,code:"not_implemented",message:"The requested resource is not implemented."}),s({status:429,code:"too_many_requests",message:"You have made too many requests in a short period of time.",hint:"Please wait a moment and try again."}),s({status:504,code:"timeout",message:"The request timed out."}),s({status:405,code:"method_not_allowed",message:"The requested method is not allowed for this resource."}),function(e){const t=new Uint8Array(256);for(let e=0;e<t.length;e++)t[e]=255;for(let r=0;r<62;r++){const n=e.charAt(r),o=n.charCodeAt(0);if(255!==t[o])throw new TypeError(n+" is ambiguous");t[o]=r}e.charAt(0),Math.log(62),Math.log(256),Math.log(256),Math.log(62)}("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ");let i,u=e=>crypto.getRandomValues(new Uint8Array(e)),c=(e,t=21)=>((e,t,r)=>{let n=(2<<Math.log2(e.length-1))-1,o=-~(1.6*n*t/e.length);return(a=t)=>{let s="";for(;;){let t=r(o),i=0|o;for(;i--;)if(s+=e[t[i]&n]||"",s.length>=a)return s}}})(e,0|t,u);function d(e){var t={exports:{}};return e(t,t.exports),t.exports}const l=new Uint8Array(16);var f=/*#__PURE__*/Object.defineProperty({default:function(){if(!i&&(i="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!i))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return i(l)}},"__esModule",{value:!0}),h=d(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i}),p=d(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,n=(r=h)&&r.__esModule?r:{default:r};t.default=function(e){return"string"==typeof e&&n.default.test(e)}}),m=d(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.unsafeStringify=a;var r,n=(r=p)&&r.__esModule?r:{default:r};const o=[];for(let e=0;e<256;++e)o.push((e+256).toString(16).slice(1));function a(e,t=0){return o[e[t+0]]+o[e[t+1]]+o[e[t+2]]+o[e[t+3]]+"-"+o[e[t+4]]+o[e[t+5]]+"-"+o[e[t+6]]+o[e[t+7]]+"-"+o[e[t+8]]+o[e[t+9]]+"-"+o[e[t+10]]+o[e[t+11]]+o[e[t+12]]+o[e[t+13]]+o[e[t+14]]+o[e[t+15]]}t.default=function(e,t=0){const r=a(e,t);if(!(0,n.default)(r))throw TypeError("Stringified UUID is invalid");return r}}),g=f,v=m,b=d(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,n=(r=g)&&r.__esModule?r:{default:r};let o,a,s=0,i=0;t.default=function(e,t,r){let u=t&&r||0;const c=t||new Array(16);let d=(e=e||{}).node||o,l=void 0!==e.clockseq?e.clockseq:a;if(null==d||null==l){const t=e.random||(e.rng||n.default)();null==d&&(d=o=[1|t[0],t[1],t[2],t[3],t[4],t[5]]),null==l&&(l=a=16383&(t[6]<<8|t[7]))}let f=void 0!==e.msecs?e.msecs:Date.now(),h=void 0!==e.nsecs?e.nsecs:i+1;const p=f-s+(h-i)/1e4;if(p<0&&void 0===e.clockseq&&(l=l+1&16383),(p<0||f>s)&&void 0===e.nsecs&&(h=0),h>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");s=f,i=h,a=l,f+=122192928e5;const m=(1e4*(268435455&f)+h)%4294967296;c[u++]=m>>>24&255,c[u++]=m>>>16&255,c[u++]=m>>>8&255,c[u++]=255&m;const g=f/4294967296*1e4&268435455;c[u++]=g>>>8&255,c[u++]=255&g,c[u++]=g>>>24&15|16,c[u++]=g>>>16&255,c[u++]=l>>>8|128,c[u++]=255&l;for(let e=0;e<6;++e)c[u+e]=d[e];return t||(0,v.unsafeStringify)(c)}}),y=d(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,n=(r=p)&&r.__esModule?r:{default:r};t.default=function(e){if(!(0,n.default)(e))throw TypeError("Invalid UUID");let t;const r=new Uint8Array(16);return r[0]=(t=parseInt(e.slice(0,8),16))>>>24,r[1]=t>>>16&255,r[2]=t>>>8&255,r[3]=255&t,r[4]=(t=parseInt(e.slice(9,13),16))>>>8,r[5]=255&t,r[6]=(t=parseInt(e.slice(14,18),16))>>>8,r[7]=255&t,r[8]=(t=parseInt(e.slice(19,23),16))>>>8,r[9]=255&t,r[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255,r[11]=t/4294967296&255,r[12]=t>>>24&255,r[13]=t>>>16&255,r[14]=t>>>8&255,r[15]=255&t,r}}),w=d(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.URL=t.DNS=void 0,t.default=function(e,t,r){function s(e,o,a,s){var i;if("string"==typeof e&&(e=function(e){e=unescape(encodeURIComponent(e));const t=[];for(let r=0;r<e.length;++r)t.push(e.charCodeAt(r));return t}(e)),"string"==typeof o&&(o=(0,n.default)(o)),16!==(null===(i=o)||void 0===i?void 0:i.length))throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let u=new Uint8Array(16+e.length);if(u.set(o),u.set(e,o.length),u=r(u),u[6]=15&u[6]|t,u[8]=63&u[8]|128,a){s=s||0;for(let e=0;e<16;++e)a[s+e]=u[e];return a}return(0,v.unsafeStringify)(u)}try{s.name=e}catch(e){}return s.DNS=o,s.URL=a,s};var r,n=(r=y)&&r.__esModule?r:{default:r};const o="6ba7b810-9dad-11d1-80b4-00c04fd430c8";t.DNS=o;const a="6ba7b811-9dad-11d1-80b4-00c04fd430c8";t.URL=a}),I=d(function(e,t){function r(e){return 14+(e+64>>>9<<4)+1}function n(e,t){const r=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(r>>16)<<16|65535&r}function o(e,t,r,o,a,s){return n((i=n(n(t,e),n(o,s)))<<(u=a)|i>>>32-u,r);var i,u}function a(e,t,r,n,a,s,i){return o(t&r|~t&n,e,t,a,s,i)}function s(e,t,r,n,a,s,i){return o(t&n|r&~n,e,t,a,s,i)}function i(e,t,r,n,a,s,i){return o(t^r^n,e,t,a,s,i)}function u(e,t,r,n,a,s,i){return o(r^(t|~n),e,t,a,s,i)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default=function(e){if("string"==typeof e){const t=unescape(encodeURIComponent(e));e=new Uint8Array(t.length);for(let r=0;r<t.length;++r)e[r]=t.charCodeAt(r)}return function(e){const t=[],r=32*e.length,n="0123456789abcdef";for(let o=0;o<r;o+=8){const r=e[o>>5]>>>o%32&255,a=parseInt(n.charAt(r>>>4&15)+n.charAt(15&r),16);t.push(a)}return t}(function(e,t){e[t>>5]|=128<<t%32,e[r(t)-1]=t;let o=1732584193,c=-271733879,d=-1732584194,l=271733878;for(let t=0;t<e.length;t+=16){const r=o,f=c,h=d,p=l;o=a(o,c,d,l,e[t],7,-680876936),l=a(l,o,c,d,e[t+1],12,-389564586),d=a(d,l,o,c,e[t+2],17,606105819),c=a(c,d,l,o,e[t+3],22,-1044525330),o=a(o,c,d,l,e[t+4],7,-176418897),l=a(l,o,c,d,e[t+5],12,1200080426),d=a(d,l,o,c,e[t+6],17,-1473231341),c=a(c,d,l,o,e[t+7],22,-45705983),o=a(o,c,d,l,e[t+8],7,1770035416),l=a(l,o,c,d,e[t+9],12,-1958414417),d=a(d,l,o,c,e[t+10],17,-42063),c=a(c,d,l,o,e[t+11],22,-1990404162),o=a(o,c,d,l,e[t+12],7,1804603682),l=a(l,o,c,d,e[t+13],12,-40341101),d=a(d,l,o,c,e[t+14],17,-1502002290),c=a(c,d,l,o,e[t+15],22,1236535329),o=s(o,c,d,l,e[t+1],5,-165796510),l=s(l,o,c,d,e[t+6],9,-1069501632),d=s(d,l,o,c,e[t+11],14,643717713),c=s(c,d,l,o,e[t],20,-373897302),o=s(o,c,d,l,e[t+5],5,-701558691),l=s(l,o,c,d,e[t+10],9,38016083),d=s(d,l,o,c,e[t+15],14,-660478335),c=s(c,d,l,o,e[t+4],20,-405537848),o=s(o,c,d,l,e[t+9],5,568446438),l=s(l,o,c,d,e[t+14],9,-1019803690),d=s(d,l,o,c,e[t+3],14,-187363961),c=s(c,d,l,o,e[t+8],20,1163531501),o=s(o,c,d,l,e[t+13],5,-1444681467),l=s(l,o,c,d,e[t+2],9,-51403784),d=s(d,l,o,c,e[t+7],14,1735328473),c=s(c,d,l,o,e[t+12],20,-1926607734),o=i(o,c,d,l,e[t+5],4,-378558),l=i(l,o,c,d,e[t+8],11,-2022574463),d=i(d,l,o,c,e[t+11],16,1839030562),c=i(c,d,l,o,e[t+14],23,-35309556),o=i(o,c,d,l,e[t+1],4,-1530992060),l=i(l,o,c,d,e[t+4],11,1272893353),d=i(d,l,o,c,e[t+7],16,-155497632),c=i(c,d,l,o,e[t+10],23,-1094730640),o=i(o,c,d,l,e[t+13],4,681279174),l=i(l,o,c,d,e[t],11,-358537222),d=i(d,l,o,c,e[t+3],16,-722521979),c=i(c,d,l,o,e[t+6],23,76029189),o=i(o,c,d,l,e[t+9],4,-640364487),l=i(l,o,c,d,e[t+12],11,-421815835),d=i(d,l,o,c,e[t+15],16,530742520),c=i(c,d,l,o,e[t+2],23,-995338651),o=u(o,c,d,l,e[t],6,-198630844),l=u(l,o,c,d,e[t+7],10,1126891415),d=u(d,l,o,c,e[t+14],15,-1416354905),c=u(c,d,l,o,e[t+5],21,-57434055),o=u(o,c,d,l,e[t+12],6,1700485571),l=u(l,o,c,d,e[t+3],10,-1894986606),d=u(d,l,o,c,e[t+10],15,-1051523),c=u(c,d,l,o,e[t+1],21,-2054922799),o=u(o,c,d,l,e[t+8],6,1873313359),l=u(l,o,c,d,e[t+15],10,-30611744),d=u(d,l,o,c,e[t+6],15,-1560198380),c=u(c,d,l,o,e[t+13],21,1309151649),o=u(o,c,d,l,e[t+4],6,-145523070),l=u(l,o,c,d,e[t+11],10,-1120210379),d=u(d,l,o,c,e[t+2],15,718787259),c=u(c,d,l,o,e[t+9],21,-343485551),o=n(o,r),c=n(c,f),d=n(d,h),l=n(l,p)}return[o,c,d,l]}(function(e){if(0===e.length)return[];const t=8*e.length,n=new Uint32Array(r(t));for(let r=0;r<t;r+=8)n[r>>5]|=(255&e[r/8])<<r%32;return n}(e),8*e.length))}}),_=w,k=I,M=d(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=o(_),n=o(k);function o(e){return e&&e.__esModule?e:{default:e}}const a=(0,r.default)("v3",48,n.default);t.default=a}),S=d(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;const r="undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);t.default={randomUUID:r}}),P=d(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=o(S),n=o(g);function o(e){return e&&e.__esModule?e:{default:e}}t.default=function(e,t,o){if(r.default.randomUUID&&!t&&!e)return r.default.randomUUID();const a=(e=e||{}).random||(e.rng||n.default)();if(a[6]=15&a[6]|64,a[8]=63&a[8]|128,t){o=o||0;for(let e=0;e<16;++e)t[o+e]=a[e];return t}return(0,v.unsafeStringify)(a)}}),j=d(function(e,t){function r(e,t,r,n){switch(e){case 0:return t&r^~t&n;case 1:case 3:return t^r^n;case 2:return t&r^t&n^r&n}}function n(e,t){return e<<t|e>>>32-t}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default=function(e){const t=[1518500249,1859775393,2400959708,3395469782],o=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof e){const t=unescape(encodeURIComponent(e));e=[];for(let r=0;r<t.length;++r)e.push(t.charCodeAt(r))}else Array.isArray(e)||(e=Array.prototype.slice.call(e));e.push(128);const a=Math.ceil((e.length/4+2)/16),s=new Array(a);for(let t=0;t<a;++t){const r=new Uint32Array(16);for(let n=0;n<16;++n)r[n]=e[64*t+4*n]<<24|e[64*t+4*n+1]<<16|e[64*t+4*n+2]<<8|e[64*t+4*n+3];s[t]=r}s[a-1][14]=8*(e.length-1)/Math.pow(2,32),s[a-1][14]=Math.floor(s[a-1][14]),s[a-1][15]=8*(e.length-1)&4294967295;for(let e=0;e<a;++e){const a=new Uint32Array(80);for(let t=0;t<16;++t)a[t]=s[e][t];for(let e=16;e<80;++e)a[e]=n(a[e-3]^a[e-8]^a[e-14]^a[e-16],1);let i=o[0],u=o[1],c=o[2],d=o[3],l=o[4];for(let e=0;e<80;++e){const o=Math.floor(e/20),s=n(i,5)+r(o,u,c,d)+l+t[o]+a[e]>>>0;l=d,d=c,c=n(u,30)>>>0,u=i,i=s}o[0]=o[0]+i>>>0,o[1]=o[1]+u>>>0,o[2]=o[2]+c>>>0,o[3]=o[3]+d>>>0,o[4]=o[4]+l>>>0}return[o[0]>>24&255,o[0]>>16&255,o[0]>>8&255,255&o[0],o[1]>>24&255,o[1]>>16&255,o[1]>>8&255,255&o[1],o[2]>>24&255,o[2]>>16&255,o[2]>>8&255,255&o[2],o[3]>>24&255,o[3]>>16&255,o[3]>>8&255,255&o[3],o[4]>>24&255,o[4]>>16&255,o[4]>>8&255,255&o[4]]}}),O=j,q=d(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=o(_),n=o(O);function o(e){return e&&e.__esModule?e:{default:e}}const a=(0,r.default)("v5",80,n.default);t.default=a}),A=d(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default="00000000-0000-0000-0000-000000000000"}),U=d(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,n=(r=p)&&r.__esModule?r:{default:r};t.default=function(e){if(!(0,n.default)(e))throw TypeError("Invalid UUID");return parseInt(e.slice(14,15),16)}}),B=b,x=M,C=P,T=q,L=A,D=U,E=d(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"NIL",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(t,"parse",{enumerable:!0,get:function(){return d.default}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return c.default}}),Object.defineProperty(t,"v1",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(t,"v3",{enumerable:!0,get:function(){return n.default}}),Object.defineProperty(t,"v4",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(t,"v5",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(t,"validate",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(t,"version",{enumerable:!0,get:function(){return i.default}});var r=l(B),n=l(x),o=l(C),a=l(T),s=l(L),i=l(D),u=l(p),c=l(v),d=l(y);function l(e){return e&&e.__esModule?e:{default:e}}});function N(e,t){if(!(e&&t&&e.length&&t.length))throw new Error("Bad alphabet");this.srcAlphabet=e,this.dstAlphabet=t}N.prototype.convert=function(e){var t,r,n,o={},a=this.srcAlphabet.length,s=this.dstAlphabet.length,i=e.length,u="string"==typeof e?"":[];if(!this.isValid(e))throw new Error('Number "'+e+'" contains of non-alphabetic digits ('+this.srcAlphabet+")");if(this.srcAlphabet===this.dstAlphabet)return e;for(t=0;t<i;t++)o[t]=this.srcAlphabet.indexOf(e[t]);do{for(r=0,n=0,t=0;t<i;t++)(r=r*a+o[t])>=s?(o[n++]=parseInt(r/s,10),r%=s):n>0&&(o[n++]=0);i=n,u=this.dstAlphabet.slice(r,r+1).concat(u)}while(0!==n);return u},N.prototype.isValid=function(e){for(var t=0;t<e.length;++t)if(-1===this.srcAlphabet.indexOf(e[t]))return!1;return!0};var R=N;function W(e,t){var r=new R(e,t);return function(e){return r.convert(e)}}W.BIN="01",W.OCT="01234567",W.DEC="0123456789",W.HEX="0123456789abcdef";var H=W,J=E;const{v4:V,validate:X}=J,G={cookieBase90:"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!#$%&'()*+-./:<=>?@[]^_`{|}~",flickrBase58:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ",uuid25Base36:"0123456789abcdefghijklmnopqrstuvwxyz"},z={consistentLength:!0};let F;const Q=(e,t,r)=>{const n=t(e.toLowerCase().replace(/-/g,""));return r&&r.consistentLength?n.padStart(r.shortIdLength,r.paddingChar):n},Y=(e,t)=>{const r=t(e).padStart(32,"0").match(/(\w{8})(\w{4})(\w{4})(\w{4})(\w{12})/);return[r[1],r[2],r[3],r[4],r[5]].join("-")};var K=(()=>{const e=(e,t)=>{const r=e||G.flickrBase58,n={...z,...t};if([...new Set(Array.from(r))].length!==r.length)throw new Error("The provided Alphabet has duplicate characters resulting in unreliable results");const o=(a=r.length,Math.ceil(Math.log(2**128)/Math.log(a)));var a;const s={shortIdLength:o,consistentLength:n.consistentLength,paddingChar:r[0]},i=H(H.HEX,r),u=H(r,H.HEX),c=()=>Q(V(),i,s),d={alphabet:r,fromUUID:e=>Q(e,i,s),maxLength:o,generate:c,new:c,toUUID:e=>Y(e,u),uuid:V,validate:(e,t=!1)=>{if(!e||"string"!=typeof e)return!1;const a=n.consistentLength?e.length===o:e.length<=o,s=e.split("").every(e=>r.includes(e));return!1===t?a&&s:a&&s&&X(Y(e,u))}};return Object.freeze(d),d};return e.constants=G,e.uuid=V,e.generate=()=>(F||(F=e(G.flickrBase58).generate),F()),e})(),Z=d(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.Worker=void 0;class r{#e;#t;#r;#n;#o;#a;#s;#i;#u;#c;#d;#l;#f;#h=-1n;constructor(e=0n,t=0n,r){if(this.#e=BigInt(r?.epoch??16094592e5),this.#t=BigInt(e),this.#r=BigInt(r?.workerIdBits??5),this.#n=-1n^-1n<<this.#r,this.#t<0||this.#t>this.#n)throw new Error("With "+this.#r.toString()+" bits, worker id can't be greater than "+this.#n.toString()+" or less than 0");if(this.#o=BigInt(t),this.#a=BigInt(r?.datacenterIdBits??5),this.#s=-1n^-1n<<this.#a,this.#o>this.#s||this.#o<0)throw new Error("With "+this.#a.toString()+" bits, datacenter id can't be greater than "+this.#s.toString()+" or less than 0");this.#i=BigInt(r?.sequence??0),this.#u=BigInt(r?.sequenceBits??12),this.#f=-1n^-1n<<this.#u,this.#c=this.#u,this.#d=this.#u+this.#r,this.#l=this.#u+this.#r+this.#a}get workerId(){return this.#t}get datacenterId(){return this.#o}get currentSequence(){return this.#i}get lastTimestamp(){return this.#h}nextId(){let e=r.now();if(e<this.#h)throw new Error("Clock moved backwards. Can't generate new ID for "+(this.#h-e).toString()+"milliseconds.");return e===this.#h?(this.#i=this.#i+1n&this.#f,0n===this.#i&&(e=this.tilNextMillis(this.#h))):this.#i=0n,this.#h=e,e-this.#e<<this.#l|this.#o<<this.#d|this.#t<<this.#c|this.#i}tilNextMillis(e){let t;do{t=r.now()}while(t<=e);return t}static now(){return BigInt(Date.now())}}t.Worker=r});K("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz");var $=c("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",20);c("0123456789",6),new Z.Worker(0,0,{workerIdBits:12,sequenceBits:12});var ee=e(),te=new t,re=e(),ne=function(){var e;return(e=console).log.apply(e,["[CRON MANAGER]:"].concat([].slice.call(arguments)))},oe=new Set,ae=function(e,t){if(oe.has(e.name))throw new Error("Cron with name "+e.name+" already exists");var a=r(e.redisUrl),s=new n(e.name,{connection:a,defaultJobOptions:{removeOnComplete:!0,removeOnFail:!0}});return{start:function(){try{return ne("Starting cron job "+e.name+" to run every "+e.cron+" using bullmq"),Promise.resolve(s.upsertJobScheduler("cron",{pattern:e.cron},{opts:{removeDependencyOnFailure:!0,removeOnComplete:!0,removeOnFail:!0,keepLogs:0}})).then(function(){var r=new o(e.name,function(){try{return function(r){try{var n=[];return ee.setContext("executionContext",r),Promise.resolve(te.run({context:r,afterHooks:n},function(){try{return Promise.resolve(function(){try{return ne("Running cron job "+e.name),Promise.resolve(function(e,r){try{var n=Promise.resolve(t()).then(function(){})}catch(e){return r(e)}return n&&n.then?n.then(void 0,r):n}(0,function(t){throw re.captureException(t,{tags:{cronName:e.name}}),t}))}catch(e){return Promise.reject(e)}}())}catch(e){return Promise.reject(e)}})).then(function(e){for(var t=0,o=n;t<o.length;t++)(0,o[t])().catch(function(e){ee.captureException(e),console.error("Error in after hook",{err:e,context:r})});return e})}catch(r){return Promise.reject(r)}}(function(e){return e.contextId||(e.contextId=function(e,t){void 0===t&&(t=20);var r=(new Date).getTime().toString(36).padStart(9,"0"),n=t-r.length;return n<10&&(n=10),"ctx_"+r+$(n)}()),e}({type:"scheduled",contextId:(r="cron_",void 0===n&&(n=20),r&&!r.endsWith("_")&&(r+="_"),""+r+$(n)),cron:e.cron,name:e.name})),Promise.resolve()}catch(n){return Promise.reject(n)}var r,n},{connection:a});return{close:r.close.bind(r)}})}catch(e){return Promise.reject(e)}}}};export{ae as createCron};
|
|
1
|
+
import{provideExecutionContext as e,createExecutionContext as r}from"@lowerdeck/execution-context";import{generateCustomId as n}from"@lowerdeck/id";import{parseRedisUrl as o}from"@lowerdeck/redis";import{getSentry as t}from"@lowerdeck/sentry";import{Queue as c,Worker as i}from"bullmq";var m=t(),a=function(){var e;return(e=console).log.apply(e,["[CRON MANAGER]:"].concat([].slice.call(arguments)))},u=new Set,l=function(t,l){if(u.has(t.name))throw new Error("Cron with name "+t.name+" already exists");var s=o(t.redisUrl),p=new c(t.name,{connection:s,defaultJobOptions:{removeOnComplete:!0,removeOnFail:!0}});return{start:function(){try{return a("Starting cron job "+t.name+" to run every "+t.cron+" using bullmq"),Promise.resolve(p.upsertJobScheduler("cron",{pattern:t.cron},{opts:{removeDependencyOnFailure:!0,removeOnComplete:!0,removeOnFail:!0,keepLogs:0}})).then(function(){var o=new i(t.name,function(){try{return e(r({type:"scheduled",contextId:n("cron_"),cron:t.cron,name:t.name}),function(){try{return a("Running cron job "+t.name),Promise.resolve(function(e,r){try{var n=Promise.resolve(l()).then(function(){})}catch(e){return r(e)}return n&&n.then?n.then(void 0,r):n}(0,function(e){throw m.captureException(e,{tags:{cronName:t.name}}),e}))}catch(e){return Promise.reject(e)}}),Promise.resolve()}catch(e){return Promise.reject(e)}},{connection:s});return{close:o.close.bind(o)}})}catch(e){return Promise.reject(e)}}}};export{l as createCron};
|
|
2
2
|
//# sourceMappingURL=index.module.js.map
|
package/dist/index.module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.module.js","sources":["../../error/dist/index.module.js","../../../node_modules/base-x/src/esm/index.js","../../base62/dist/index.module.js","../../../node_modules/nanoid/index.browser.js","../../../node_modules/short-uuid/node_modules/uuid/dist/commonjs-browser/rng.js","../../../node_modules/short-uuid/node_modules/uuid/dist/commonjs-browser/regex.js","../../../node_modules/short-uuid/node_modules/uuid/dist/commonjs-browser/validate.js","../../../node_modules/short-uuid/node_modules/uuid/dist/commonjs-browser/stringify.js","../../../node_modules/short-uuid/node_modules/uuid/dist/commonjs-browser/v1.js","../../../node_modules/short-uuid/node_modules/uuid/dist/commonjs-browser/parse.js","../../../node_modules/short-uuid/node_modules/uuid/dist/commonjs-browser/v35.js","../../../node_modules/short-uuid/node_modules/uuid/dist/commonjs-browser/md5.js","../../../node_modules/short-uuid/node_modules/uuid/dist/commonjs-browser/v3.js","../../../node_modules/short-uuid/node_modules/uuid/dist/commonjs-browser/native.js","../../../node_modules/short-uuid/node_modules/uuid/dist/commonjs-browser/v4.js","../../../node_modules/short-uuid/node_modules/uuid/dist/commonjs-browser/sha1.js","../../../node_modules/short-uuid/node_modules/uuid/dist/commonjs-browser/v5.js","../../../node_modules/short-uuid/node_modules/uuid/dist/commonjs-browser/nil.js","../../../node_modules/short-uuid/node_modules/uuid/dist/commonjs-browser/version.js","../../../node_modules/short-uuid/node_modules/uuid/dist/commonjs-browser/index.js","../../../node_modules/any-base/src/converter.js","../../../node_modules/any-base/index.js","../../../node_modules/short-uuid/index.js","../../../node_modules/snowflake-uuid/dist/index.js","../../id/dist/index.module.js","../src/index.ts","../../execution-context/dist/index.module.js"],"sourcesContent":["import{Cases as e}from\"@lowerdeck/case\";function t(){return t=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var o in r)({}).hasOwnProperty.call(r,o)&&(e[o]=r[o])}return e},t.apply(null,arguments)}function r(e){return r=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},r(e)}function o(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(o=function(){return!!e})()}function n(e,t){return n=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},n(e,t)}function s(e){var t=function(e){if(\"object\"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,\"string\");if(\"object\"!=typeof r)return r;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return String(e)}(e);return\"symbol\"==typeof t?t:t+\"\"}function a(e){var t=\"function\"==typeof Map?new Map:void 0;return a=function(e){if(null===e||!function(e){try{return-1!==Function.toString.call(e).indexOf(\"[native code]\")}catch(t){return\"function\"==typeof e}}(e))return e;if(\"function\"!=typeof e)throw new TypeError(\"Super expression must either be null or a function\");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,s)}function s(){return function(e,t,r){if(o())return Reflect.construct.apply(null,arguments);var s=[null];s.push.apply(s,t);var a=new(e.bind.apply(e,s));return r&&n(a,r.prototype),a}(e,arguments,r(this).constructor)}return s.prototype=Object.create(e.prototype,{constructor:{value:s,enumerable:!1,writable:!0,configurable:!0}}),n(s,e)},a(e)}var i=function(e){return Object.assign(function(r){return void 0===r&&(r={}),i(t({},e,r))},{__typename:\"error\",data:e,toResponse:function(){return t({__typename:\"error\",ok:!1},e)}})},u=/*#__PURE__*/function(e){function t(t){var r;return(r=e.call(this,t.data.message)||this).error=void 0,r.__typename=\"ServiceError\",r._parent=null,r.error=t,r}var r,o;o=e,(r=t).prototype=Object.create(o.prototype),r.prototype.constructor=r,n(r,o);var a,u,c=t.prototype;return c.setParent=function(e){return this._parent=e,this},c.toResponse=function(){return this.error.toResponse()},t.fromResponse=function(e){var r=e;return delete r.ok,delete r.__typename,new t(i(r))},a=t,(u=[{key:\"parent\",get:function(){return this._parent}},{key:\"data\",get:function(){return this.error.data}}])&&function(e,t){for(var r=0;r<t.length;r++){var o=t[r];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,s(o.key),o)}}(a.prototype,u),Object.defineProperty(a,\"prototype\",{writable:!1}),a}(/*#__PURE__*/a(Error)),c=function(e){return\"ServiceError\"===(null==e?void 0:e.__typename)||\"ErrorRecord\"===(null==e?void 0:e.__typename)},d=function(e){return i(t({status:400,code:\"invalid_data\",message:\"The provided data is invalid.\",hint:\"Make sure the data you are sending follows the specification outlined in the documentation.\"},e))},p=i({status:500,code:\"internal_server_error\",message:\"An internal server error occurred.\"}),l=i({status:400,code:\"bad_request\",message:\"The request is invalid.\"});function f(r,o){var n=\"string\"==typeof r?r:r.entity,s=\"string\"==typeof r?o:r.id;return i(t({status:404,code:\"not_found\",message:\"The requested \"+e.toKebabCase(n)+\" could not be found.\",hint:\"Make sure the resource you are trying to access exists, that you have access to it and that it has not been deleted.\",entity:n,id:null!=s?s:void 0},\"string\"==typeof r?{}:r))}var y=i({status:401,code:\"unauthorized\",message:\"You are not authorized to access this resource.\",hint:\"Make sure you are logged in and have the correct permissions to access this resource.\"}),h=i({status:403,code:\"forbidden\",message:\"You do not have permission to access this resource.\"}),m=i({status:400,code:\"invalid_version\",message:\"The endpoint does not support the requested version.\"}),v=i({status:409,code:\"conflict\",message:\"A similar resource already exists.\"}),g=i({status:410,code:\"gone\",message:\"The requested resource is no longer available.\"}),b=i({status:402,code:\"payment_required\",message:\"Payment is required to access this resource.\"}),_=i({status:412,code:\"precondition_failed\",message:\"The precondition of the request failed.\"}),O=i({status:406,code:\"not_acceptable\",message:\"The requested resource is not acceptable.\"}),w=i({status:501,code:\"not_implemented\",message:\"The requested resource is not implemented.\"}),j=i({status:429,code:\"too_many_requests\",message:\"You have made too many requests in a short period of time.\",hint:\"Please wait a moment and try again.\"}),q=i({status:504,code:\"timeout\",message:\"The request timed out.\"}),P=i({status:405,code:\"method_not_allowed\",message:\"The requested method is not allowed for this resource.\"});export{u as ServiceError,l as badRequestError,v as conflictError,i as createError,h as forbiddenError,g as goneError,p as internalServerError,m as invalidVersion,c as isServiceError,P as methodNotAllowedError,O as notAcceptableError,f as notFoundError,w as notImplementedError,b as paymentRequiredError,_ as preconditionFailedError,q as timeoutError,j as tooManyRequestsError,y as unauthorizedError,d as validationError};\n//# sourceMappingURL=index.module.js.map\n","// base-x encoding / decoding\n// Copyright (c) 2018 base-x contributors\n// Copyright (c) 2014-2018 The Bitcoin Core developers (base58.cpp)\n// Distributed under the MIT software license, see the accompanying\n// file LICENSE or http://www.opensource.org/licenses/mit-license.php.\nfunction base (ALPHABET) {\n if (ALPHABET.length >= 255) { throw new TypeError('Alphabet too long') }\n const BASE_MAP = new Uint8Array(256)\n for (let j = 0; j < BASE_MAP.length; j++) {\n BASE_MAP[j] = 255\n }\n for (let i = 0; i < ALPHABET.length; i++) {\n const x = ALPHABET.charAt(i)\n const xc = x.charCodeAt(0)\n if (BASE_MAP[xc] !== 255) { throw new TypeError(x + ' is ambiguous') }\n BASE_MAP[xc] = i\n }\n const BASE = ALPHABET.length\n const LEADER = ALPHABET.charAt(0)\n const FACTOR = Math.log(BASE) / Math.log(256) // log(BASE) / log(256), rounded up\n const iFACTOR = Math.log(256) / Math.log(BASE) // log(256) / log(BASE), rounded up\n function encode (source) {\n // eslint-disable-next-line no-empty\n if (source instanceof Uint8Array) { } else if (ArrayBuffer.isView(source)) {\n source = new Uint8Array(source.buffer, source.byteOffset, source.byteLength)\n } else if (Array.isArray(source)) {\n source = Uint8Array.from(source)\n }\n if (!(source instanceof Uint8Array)) { throw new TypeError('Expected Uint8Array') }\n if (source.length === 0) { return '' }\n // Skip & count leading zeroes.\n let zeroes = 0\n let length = 0\n let pbegin = 0\n const pend = source.length\n while (pbegin !== pend && source[pbegin] === 0) {\n pbegin++\n zeroes++\n }\n // Allocate enough space in big-endian base58 representation.\n const size = ((pend - pbegin) * iFACTOR + 1) >>> 0\n const b58 = new Uint8Array(size)\n // Process the bytes.\n while (pbegin !== pend) {\n let carry = source[pbegin]\n // Apply \"b58 = b58 * 256 + ch\".\n let i = 0\n for (let it1 = size - 1; (carry !== 0 || i < length) && (it1 !== -1); it1--, i++) {\n carry += (256 * b58[it1]) >>> 0\n b58[it1] = (carry % BASE) >>> 0\n carry = (carry / BASE) >>> 0\n }\n if (carry !== 0) { throw new Error('Non-zero carry') }\n length = i\n pbegin++\n }\n // Skip leading zeroes in base58 result.\n let it2 = size - length\n while (it2 !== size && b58[it2] === 0) {\n it2++\n }\n // Translate the result into a string.\n let str = LEADER.repeat(zeroes)\n for (; it2 < size; ++it2) { str += ALPHABET.charAt(b58[it2]) }\n return str\n }\n function decodeUnsafe (source) {\n if (typeof source !== 'string') { throw new TypeError('Expected String') }\n if (source.length === 0) { return new Uint8Array() }\n let psz = 0\n // Skip and count leading '1's.\n let zeroes = 0\n let length = 0\n while (source[psz] === LEADER) {\n zeroes++\n psz++\n }\n // Allocate enough space in big-endian base256 representation.\n const size = (((source.length - psz) * FACTOR) + 1) >>> 0 // log(58) / log(256), rounded up.\n const b256 = new Uint8Array(size)\n // Process the characters.\n while (psz < source.length) {\n // Find code of next character\n const charCode = source.charCodeAt(psz)\n // Base map can not be indexed using char code\n if (charCode > 255) { return }\n // Decode character\n let carry = BASE_MAP[charCode]\n // Invalid character\n if (carry === 255) { return }\n let i = 0\n for (let it3 = size - 1; (carry !== 0 || i < length) && (it3 !== -1); it3--, i++) {\n carry += (BASE * b256[it3]) >>> 0\n b256[it3] = (carry % 256) >>> 0\n carry = (carry / 256) >>> 0\n }\n if (carry !== 0) { throw new Error('Non-zero carry') }\n length = i\n psz++\n }\n // Skip leading zeroes in b256.\n let it4 = size - length\n while (it4 !== size && b256[it4] === 0) {\n it4++\n }\n const vch = new Uint8Array(zeroes + (size - it4))\n let j = zeroes\n while (it4 !== size) {\n vch[j++] = b256[it4++]\n }\n return vch\n }\n function decode (string) {\n const buffer = decodeUnsafe(string)\n if (buffer) { return buffer }\n throw new Error('Non-base' + BASE + ' character')\n }\n return {\n encode,\n decodeUnsafe,\n decode\n }\n}\nexport default base\n","import e from\"base-x\";var o=e(\"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\"),n={encode:function(e){return o.encode(\"string\"==typeof e?(new TextEncoder).encode(e):e)},decode:function(e){return(new TextDecoder).decode(o.decode(e))},decodeRaw:function(e){return o.decode(e)}};export{n as base62};\n//# sourceMappingURL=index.module.js.map\n","/* @ts-self-types=\"./index.d.ts\" */\nimport { urlAlphabet as scopedUrlAlphabet } from './url-alphabet/index.js'\nexport { urlAlphabet } from './url-alphabet/index.js'\nexport let random = bytes => crypto.getRandomValues(new Uint8Array(bytes))\nexport let customRandom = (alphabet, defaultSize, getRandom) => {\n let mask = (2 << Math.log2(alphabet.length - 1)) - 1\n let step = -~((1.6 * mask * defaultSize) / alphabet.length)\n return (size = defaultSize) => {\n let id = ''\n while (true) {\n let bytes = getRandom(step)\n let j = step | 0\n while (j--) {\n id += alphabet[bytes[j] & mask] || ''\n if (id.length >= size) return id\n }\n }\n }\n}\nexport let customAlphabet = (alphabet, size = 21) =>\n customRandom(alphabet, size | 0, random)\nexport let nanoid = (size = 21) => {\n let id = ''\n let bytes = crypto.getRandomValues(new Uint8Array((size |= 0)))\n while (size--) {\n id += scopedUrlAlphabet[bytes[size] & 63]\n }\n return id\n}\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = rng;\n// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\n\nfunction rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _regex = _interopRequireDefault(require(\"./regex.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && _regex.default.test(uuid);\n}\n\nvar _default = validate;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nexports.unsafeStringify = unsafeStringify;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nfunction unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]];\n}\n\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nvar _default = stringify;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _rng = _interopRequireDefault(require(\"./rng.js\"));\n\nvar _stringify = require(\"./stringify.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// **`v1()` - Generate time-based UUID**\n//\n// Inspired by https://github.com/LiosK/UUID.js\n// and http://docs.python.org/library/uuid.html\nlet _nodeId;\n\nlet _clockseq; // Previous uuid creation time\n\n\nlet _lastMSecs = 0;\nlet _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details\n\nfunction v1(options, buf, offset) {\n let i = buf && offset || 0;\n const b = buf || new Array(16);\n options = options || {};\n let node = options.node || _nodeId;\n let clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not\n // specified. We do this lazily to minimize issues related to insufficient\n // system entropy. See #189\n\n if (node == null || clockseq == null) {\n const seedBytes = options.random || (options.rng || _rng.default)();\n\n if (node == null) {\n // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)\n node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]];\n }\n\n if (clockseq == null) {\n // Per 4.2.2, randomize (14 bit) clockseq\n clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;\n }\n } // UUID timestamps are 100 nano-second units since the Gregorian epoch,\n // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so\n // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'\n // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.\n\n\n let msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock\n // cycle to simulate higher resolution clock\n\n let nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs)\n\n const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression\n\n if (dt < 0 && options.clockseq === undefined) {\n clockseq = clockseq + 1 & 0x3fff;\n } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new\n // time interval\n\n\n if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {\n nsecs = 0;\n } // Per 4.2.1.2 Throw error if too many uuids are requested\n\n\n if (nsecs >= 10000) {\n throw new Error(\"uuid.v1(): Can't create more than 10M uuids/sec\");\n }\n\n _lastMSecs = msecs;\n _lastNSecs = nsecs;\n _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch\n\n msecs += 12219292800000; // `time_low`\n\n const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n b[i++] = tl >>> 24 & 0xff;\n b[i++] = tl >>> 16 & 0xff;\n b[i++] = tl >>> 8 & 0xff;\n b[i++] = tl & 0xff; // `time_mid`\n\n const tmh = msecs / 0x100000000 * 10000 & 0xfffffff;\n b[i++] = tmh >>> 8 & 0xff;\n b[i++] = tmh & 0xff; // `time_high_and_version`\n\n b[i++] = tmh >>> 24 & 0xf | 0x10; // include version\n\n b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)\n\n b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low`\n\n b[i++] = clockseq & 0xff; // `node`\n\n for (let n = 0; n < 6; ++n) {\n b[i + n] = node[n];\n }\n\n return buf || (0, _stringify.unsafeStringify)(b);\n}\n\nvar _default = v1;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction parse(uuid) {\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n let v;\n const arr = new Uint8Array(16); // Parse ########-....-....-....-............\n\n arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24;\n arr[1] = v >>> 16 & 0xff;\n arr[2] = v >>> 8 & 0xff;\n arr[3] = v & 0xff; // Parse ........-####-....-....-............\n\n arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8;\n arr[5] = v & 0xff; // Parse ........-....-####-....-............\n\n arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8;\n arr[7] = v & 0xff; // Parse ........-....-....-####-............\n\n arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8;\n arr[9] = v & 0xff; // Parse ........-....-....-....-############\n // (Use \"/\" to avoid 32-bit truncation when bit-shifting high-order bytes)\n\n arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff;\n arr[11] = v / 0x100000000 & 0xff;\n arr[12] = v >>> 24 & 0xff;\n arr[13] = v >>> 16 & 0xff;\n arr[14] = v >>> 8 & 0xff;\n arr[15] = v & 0xff;\n return arr;\n}\n\nvar _default = parse;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.URL = exports.DNS = void 0;\nexports.default = v35;\n\nvar _stringify = require(\"./stringify.js\");\n\nvar _parse = _interopRequireDefault(require(\"./parse.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction stringToBytes(str) {\n str = unescape(encodeURIComponent(str)); // UTF8 escape\n\n const bytes = [];\n\n for (let i = 0; i < str.length; ++i) {\n bytes.push(str.charCodeAt(i));\n }\n\n return bytes;\n}\n\nconst DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';\nexports.DNS = DNS;\nconst URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8';\nexports.URL = URL;\n\nfunction v35(name, version, hashfunc) {\n function generateUUID(value, namespace, buf, offset) {\n var _namespace;\n\n if (typeof value === 'string') {\n value = stringToBytes(value);\n }\n\n if (typeof namespace === 'string') {\n namespace = (0, _parse.default)(namespace);\n }\n\n if (((_namespace = namespace) === null || _namespace === void 0 ? void 0 : _namespace.length) !== 16) {\n throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)');\n } // Compute hash of namespace and value, Per 4.3\n // Future: Use spread syntax when supported on all platforms, e.g. `bytes =\n // hashfunc([...namespace, ... value])`\n\n\n let bytes = new Uint8Array(16 + value.length);\n bytes.set(namespace);\n bytes.set(value, namespace.length);\n bytes = hashfunc(bytes);\n bytes[6] = bytes[6] & 0x0f | version;\n bytes[8] = bytes[8] & 0x3f | 0x80;\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = bytes[i];\n }\n\n return buf;\n }\n\n return (0, _stringify.unsafeStringify)(bytes);\n } // Function#name is not settable on some platforms (#270)\n\n\n try {\n generateUUID.name = name; // eslint-disable-next-line no-empty\n } catch (err) {} // For CommonJS default export support\n\n\n generateUUID.DNS = DNS;\n generateUUID.URL = URL;\n return generateUUID;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\n/*\n * Browser-compatible JavaScript MD5\n *\n * Modification of JavaScript MD5\n * https://github.com/blueimp/JavaScript-MD5\n *\n * Copyright 2011, Sebastian Tschan\n * https://blueimp.net\n *\n * Licensed under the MIT license:\n * https://opensource.org/licenses/MIT\n *\n * Based on\n * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message\n * Digest Algorithm, as defined in RFC 1321.\n * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for more info.\n */\nfunction md5(bytes) {\n if (typeof bytes === 'string') {\n const msg = unescape(encodeURIComponent(bytes)); // UTF8 escape\n\n bytes = new Uint8Array(msg.length);\n\n for (let i = 0; i < msg.length; ++i) {\n bytes[i] = msg.charCodeAt(i);\n }\n }\n\n return md5ToHexEncodedArray(wordsToMd5(bytesToWords(bytes), bytes.length * 8));\n}\n/*\n * Convert an array of little-endian words to an array of bytes\n */\n\n\nfunction md5ToHexEncodedArray(input) {\n const output = [];\n const length32 = input.length * 32;\n const hexTab = '0123456789abcdef';\n\n for (let i = 0; i < length32; i += 8) {\n const x = input[i >> 5] >>> i % 32 & 0xff;\n const hex = parseInt(hexTab.charAt(x >>> 4 & 0x0f) + hexTab.charAt(x & 0x0f), 16);\n output.push(hex);\n }\n\n return output;\n}\n/**\n * Calculate output length with padding and bit length\n */\n\n\nfunction getOutputLength(inputLength8) {\n return (inputLength8 + 64 >>> 9 << 4) + 14 + 1;\n}\n/*\n * Calculate the MD5 of an array of little-endian words, and a bit length.\n */\n\n\nfunction wordsToMd5(x, len) {\n /* append padding */\n x[len >> 5] |= 0x80 << len % 32;\n x[getOutputLength(len) - 1] = len;\n let a = 1732584193;\n let b = -271733879;\n let c = -1732584194;\n let d = 271733878;\n\n for (let i = 0; i < x.length; i += 16) {\n const olda = a;\n const oldb = b;\n const oldc = c;\n const oldd = d;\n a = md5ff(a, b, c, d, x[i], 7, -680876936);\n d = md5ff(d, a, b, c, x[i + 1], 12, -389564586);\n c = md5ff(c, d, a, b, x[i + 2], 17, 606105819);\n b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330);\n a = md5ff(a, b, c, d, x[i + 4], 7, -176418897);\n d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426);\n c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341);\n b = md5ff(b, c, d, a, x[i + 7], 22, -45705983);\n a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416);\n d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417);\n c = md5ff(c, d, a, b, x[i + 10], 17, -42063);\n b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162);\n a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682);\n d = md5ff(d, a, b, c, x[i + 13], 12, -40341101);\n c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290);\n b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329);\n a = md5gg(a, b, c, d, x[i + 1], 5, -165796510);\n d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632);\n c = md5gg(c, d, a, b, x[i + 11], 14, 643717713);\n b = md5gg(b, c, d, a, x[i], 20, -373897302);\n a = md5gg(a, b, c, d, x[i + 5], 5, -701558691);\n d = md5gg(d, a, b, c, x[i + 10], 9, 38016083);\n c = md5gg(c, d, a, b, x[i + 15], 14, -660478335);\n b = md5gg(b, c, d, a, x[i + 4], 20, -405537848);\n a = md5gg(a, b, c, d, x[i + 9], 5, 568446438);\n d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690);\n c = md5gg(c, d, a, b, x[i + 3], 14, -187363961);\n b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501);\n a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467);\n d = md5gg(d, a, b, c, x[i + 2], 9, -51403784);\n c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473);\n b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734);\n a = md5hh(a, b, c, d, x[i + 5], 4, -378558);\n d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463);\n c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562);\n b = md5hh(b, c, d, a, x[i + 14], 23, -35309556);\n a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060);\n d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353);\n c = md5hh(c, d, a, b, x[i + 7], 16, -155497632);\n b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640);\n a = md5hh(a, b, c, d, x[i + 13], 4, 681279174);\n d = md5hh(d, a, b, c, x[i], 11, -358537222);\n c = md5hh(c, d, a, b, x[i + 3], 16, -722521979);\n b = md5hh(b, c, d, a, x[i + 6], 23, 76029189);\n a = md5hh(a, b, c, d, x[i + 9], 4, -640364487);\n d = md5hh(d, a, b, c, x[i + 12], 11, -421815835);\n c = md5hh(c, d, a, b, x[i + 15], 16, 530742520);\n b = md5hh(b, c, d, a, x[i + 2], 23, -995338651);\n a = md5ii(a, b, c, d, x[i], 6, -198630844);\n d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415);\n c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905);\n b = md5ii(b, c, d, a, x[i + 5], 21, -57434055);\n a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571);\n d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606);\n c = md5ii(c, d, a, b, x[i + 10], 15, -1051523);\n b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799);\n a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359);\n d = md5ii(d, a, b, c, x[i + 15], 10, -30611744);\n c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380);\n b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649);\n a = md5ii(a, b, c, d, x[i + 4], 6, -145523070);\n d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379);\n c = md5ii(c, d, a, b, x[i + 2], 15, 718787259);\n b = md5ii(b, c, d, a, x[i + 9], 21, -343485551);\n a = safeAdd(a, olda);\n b = safeAdd(b, oldb);\n c = safeAdd(c, oldc);\n d = safeAdd(d, oldd);\n }\n\n return [a, b, c, d];\n}\n/*\n * Convert an array bytes to an array of little-endian words\n * Characters >255 have their high-byte silently ignored.\n */\n\n\nfunction bytesToWords(input) {\n if (input.length === 0) {\n return [];\n }\n\n const length8 = input.length * 8;\n const output = new Uint32Array(getOutputLength(length8));\n\n for (let i = 0; i < length8; i += 8) {\n output[i >> 5] |= (input[i / 8] & 0xff) << i % 32;\n }\n\n return output;\n}\n/*\n * Add integers, wrapping at 2^32. This uses 16-bit operations internally\n * to work around bugs in some JS interpreters.\n */\n\n\nfunction safeAdd(x, y) {\n const lsw = (x & 0xffff) + (y & 0xffff);\n const msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n return msw << 16 | lsw & 0xffff;\n}\n/*\n * Bitwise rotate a 32-bit number to the left.\n */\n\n\nfunction bitRotateLeft(num, cnt) {\n return num << cnt | num >>> 32 - cnt;\n}\n/*\n * These functions implement the four basic operations the algorithm uses.\n */\n\n\nfunction md5cmn(q, a, b, x, s, t) {\n return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b);\n}\n\nfunction md5ff(a, b, c, d, x, s, t) {\n return md5cmn(b & c | ~b & d, a, b, x, s, t);\n}\n\nfunction md5gg(a, b, c, d, x, s, t) {\n return md5cmn(b & d | c & ~d, a, b, x, s, t);\n}\n\nfunction md5hh(a, b, c, d, x, s, t) {\n return md5cmn(b ^ c ^ d, a, b, x, s, t);\n}\n\nfunction md5ii(a, b, c, d, x, s, t) {\n return md5cmn(c ^ (b | ~d), a, b, x, s, t);\n}\n\nvar _default = md5;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _v = _interopRequireDefault(require(\"./v35.js\"));\n\nvar _md = _interopRequireDefault(require(\"./md5.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst v3 = (0, _v.default)('v3', 0x30, _md.default);\nvar _default = v3;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nconst randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nvar _default = {\n randomUUID\n};\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _native = _interopRequireDefault(require(\"./native.js\"));\n\nvar _rng = _interopRequireDefault(require(\"./rng.js\"));\n\nvar _stringify = require(\"./stringify.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction v4(options, buf, offset) {\n if (_native.default.randomUUID && !buf && !options) {\n return _native.default.randomUUID();\n }\n\n options = options || {};\n\n const rnds = options.random || (options.rng || _rng.default)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return (0, _stringify.unsafeStringify)(rnds);\n}\n\nvar _default = v4;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\n// Adapted from Chris Veness' SHA1 code at\n// http://www.movable-type.co.uk/scripts/sha1.html\nfunction f(s, x, y, z) {\n switch (s) {\n case 0:\n return x & y ^ ~x & z;\n\n case 1:\n return x ^ y ^ z;\n\n case 2:\n return x & y ^ x & z ^ y & z;\n\n case 3:\n return x ^ y ^ z;\n }\n}\n\nfunction ROTL(x, n) {\n return x << n | x >>> 32 - n;\n}\n\nfunction sha1(bytes) {\n const K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6];\n const H = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0];\n\n if (typeof bytes === 'string') {\n const msg = unescape(encodeURIComponent(bytes)); // UTF8 escape\n\n bytes = [];\n\n for (let i = 0; i < msg.length; ++i) {\n bytes.push(msg.charCodeAt(i));\n }\n } else if (!Array.isArray(bytes)) {\n // Convert Array-like to Array\n bytes = Array.prototype.slice.call(bytes);\n }\n\n bytes.push(0x80);\n const l = bytes.length / 4 + 2;\n const N = Math.ceil(l / 16);\n const M = new Array(N);\n\n for (let i = 0; i < N; ++i) {\n const arr = new Uint32Array(16);\n\n for (let j = 0; j < 16; ++j) {\n arr[j] = bytes[i * 64 + j * 4] << 24 | bytes[i * 64 + j * 4 + 1] << 16 | bytes[i * 64 + j * 4 + 2] << 8 | bytes[i * 64 + j * 4 + 3];\n }\n\n M[i] = arr;\n }\n\n M[N - 1][14] = (bytes.length - 1) * 8 / Math.pow(2, 32);\n M[N - 1][14] = Math.floor(M[N - 1][14]);\n M[N - 1][15] = (bytes.length - 1) * 8 & 0xffffffff;\n\n for (let i = 0; i < N; ++i) {\n const W = new Uint32Array(80);\n\n for (let t = 0; t < 16; ++t) {\n W[t] = M[i][t];\n }\n\n for (let t = 16; t < 80; ++t) {\n W[t] = ROTL(W[t - 3] ^ W[t - 8] ^ W[t - 14] ^ W[t - 16], 1);\n }\n\n let a = H[0];\n let b = H[1];\n let c = H[2];\n let d = H[3];\n let e = H[4];\n\n for (let t = 0; t < 80; ++t) {\n const s = Math.floor(t / 20);\n const T = ROTL(a, 5) + f(s, b, c, d) + e + K[s] + W[t] >>> 0;\n e = d;\n d = c;\n c = ROTL(b, 30) >>> 0;\n b = a;\n a = T;\n }\n\n H[0] = H[0] + a >>> 0;\n H[1] = H[1] + b >>> 0;\n H[2] = H[2] + c >>> 0;\n H[3] = H[3] + d >>> 0;\n H[4] = H[4] + e >>> 0;\n }\n\n return [H[0] >> 24 & 0xff, H[0] >> 16 & 0xff, H[0] >> 8 & 0xff, H[0] & 0xff, H[1] >> 24 & 0xff, H[1] >> 16 & 0xff, H[1] >> 8 & 0xff, H[1] & 0xff, H[2] >> 24 & 0xff, H[2] >> 16 & 0xff, H[2] >> 8 & 0xff, H[2] & 0xff, H[3] >> 24 & 0xff, H[3] >> 16 & 0xff, H[3] >> 8 & 0xff, H[3] & 0xff, H[4] >> 24 & 0xff, H[4] >> 16 & 0xff, H[4] >> 8 & 0xff, H[4] & 0xff];\n}\n\nvar _default = sha1;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _v = _interopRequireDefault(require(\"./v35.js\"));\n\nvar _sha = _interopRequireDefault(require(\"./sha1.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst v5 = (0, _v.default)('v5', 0x50, _sha.default);\nvar _default = v5;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _default = '00000000-0000-0000-0000-000000000000';\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction version(uuid) {\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n return parseInt(uuid.slice(14, 15), 16);\n}\n\nvar _default = version;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"NIL\", {\n enumerable: true,\n get: function get() {\n return _nil.default;\n }\n});\nObject.defineProperty(exports, \"parse\", {\n enumerable: true,\n get: function get() {\n return _parse.default;\n }\n});\nObject.defineProperty(exports, \"stringify\", {\n enumerable: true,\n get: function get() {\n return _stringify.default;\n }\n});\nObject.defineProperty(exports, \"v1\", {\n enumerable: true,\n get: function get() {\n return _v.default;\n }\n});\nObject.defineProperty(exports, \"v3\", {\n enumerable: true,\n get: function get() {\n return _v2.default;\n }\n});\nObject.defineProperty(exports, \"v4\", {\n enumerable: true,\n get: function get() {\n return _v3.default;\n }\n});\nObject.defineProperty(exports, \"v5\", {\n enumerable: true,\n get: function get() {\n return _v4.default;\n }\n});\nObject.defineProperty(exports, \"validate\", {\n enumerable: true,\n get: function get() {\n return _validate.default;\n }\n});\nObject.defineProperty(exports, \"version\", {\n enumerable: true,\n get: function get() {\n return _version.default;\n }\n});\n\nvar _v = _interopRequireDefault(require(\"./v1.js\"));\n\nvar _v2 = _interopRequireDefault(require(\"./v3.js\"));\n\nvar _v3 = _interopRequireDefault(require(\"./v4.js\"));\n\nvar _v4 = _interopRequireDefault(require(\"./v5.js\"));\n\nvar _nil = _interopRequireDefault(require(\"./nil.js\"));\n\nvar _version = _interopRequireDefault(require(\"./version.js\"));\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nvar _stringify = _interopRequireDefault(require(\"./stringify.js\"));\n\nvar _parse = _interopRequireDefault(require(\"./parse.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }","'use strict';\n\n/**\n * Converter\n *\n * @param {string|Array} srcAlphabet\n * @param {string|Array} dstAlphabet\n * @constructor\n */\nfunction Converter(srcAlphabet, dstAlphabet) {\n if (!srcAlphabet || !dstAlphabet || !srcAlphabet.length || !dstAlphabet.length) {\n throw new Error('Bad alphabet');\n }\n this.srcAlphabet = srcAlphabet;\n this.dstAlphabet = dstAlphabet;\n}\n\n/**\n * Convert number from source alphabet to destination alphabet\n *\n * @param {string|Array} number - number represented as a string or array of points\n *\n * @returns {string|Array}\n */\nConverter.prototype.convert = function(number) {\n var i, divide, newlen,\n numberMap = {},\n fromBase = this.srcAlphabet.length,\n toBase = this.dstAlphabet.length,\n length = number.length,\n result = typeof number === 'string' ? '' : [];\n\n if (!this.isValid(number)) {\n throw new Error('Number \"' + number + '\" contains of non-alphabetic digits (' + this.srcAlphabet + ')');\n }\n\n if (this.srcAlphabet === this.dstAlphabet) {\n return number;\n }\n\n for (i = 0; i < length; i++) {\n numberMap[i] = this.srcAlphabet.indexOf(number[i]);\n }\n do {\n divide = 0;\n newlen = 0;\n for (i = 0; i < length; i++) {\n divide = divide * fromBase + numberMap[i];\n if (divide >= toBase) {\n numberMap[newlen++] = parseInt(divide / toBase, 10);\n divide = divide % toBase;\n } else if (newlen > 0) {\n numberMap[newlen++] = 0;\n }\n }\n length = newlen;\n result = this.dstAlphabet.slice(divide, divide + 1).concat(result);\n } while (newlen !== 0);\n\n return result;\n};\n\n/**\n * Valid number with source alphabet\n *\n * @param {number} number\n *\n * @returns {boolean}\n */\nConverter.prototype.isValid = function(number) {\n var i = 0;\n for (; i < number.length; ++i) {\n if (this.srcAlphabet.indexOf(number[i]) === -1) {\n return false;\n }\n }\n return true;\n};\n\nmodule.exports = Converter;","var Converter = require('./src/converter');\n\n/**\n * Function get source and destination alphabet and return convert function\n *\n * @param {string|Array} srcAlphabet\n * @param {string|Array} dstAlphabet\n *\n * @returns {function(number|Array)}\n */\nfunction anyBase(srcAlphabet, dstAlphabet) {\n var converter = new Converter(srcAlphabet, dstAlphabet);\n /**\n * Convert function\n *\n * @param {string|Array} number\n *\n * @return {string|Array} number\n */\n return function (number) {\n return converter.convert(number);\n }\n};\n\nanyBase.BIN = '01';\nanyBase.OCT = '01234567';\nanyBase.DEC = '0123456789';\nanyBase.HEX = '0123456789abcdef';\n\nmodule.exports = anyBase;","/**\n * Created by Samuel on 6/4/2016.\n * Simple wrapper functions to produce shorter UUIDs for cookies, maybe everything?\n */\n\nconst { v4: uuidV4, validate: uuidValidate } = require('uuid');\nconst anyBase = require('any-base');\n\nconst constants = {\n cookieBase90: \"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!#$%&'()*+-./:<=>?@[]^_`{|}~\",\n flickrBase58: '123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ',\n uuid25Base36: '0123456789abcdefghijklmnopqrstuvwxyz',\n};\n\nconst baseOptions = {\n consistentLength: true,\n};\n\n// A default generator, instantiated only if used.\nlet toFlickr;\n\n/**\n * Takes a UUID, strips the dashes, and translates.\n * @param {string} longId\n * @param {function(string):string} translator\n * @param {Object} [paddingParams]\n * @returns {string}\n */\nconst shortenUUID = (longId, translator, paddingParams) => {\n const translated = translator(longId.toLowerCase().replace(/-/g, ''));\n\n if (!paddingParams || !paddingParams.consistentLength) return translated;\n\n return translated.padStart(\n paddingParams.shortIdLength,\n paddingParams.paddingChar,\n );\n};\n\n/**\n * Translate back to hex and turn back into UUID format, with dashes\n * @param {string} shortId\n * @param {function(string)} translator\n * @returns {string}\n */\nconst enlargeUUID = (shortId, translator) => {\n const uu1 = translator(shortId).padStart(32, '0');\n\n // Join the zero padding and the UUID and then slice it up with match\n const m = uu1.match(/(\\w{8})(\\w{4})(\\w{4})(\\w{4})(\\w{12})/);\n\n // Accumulate the matches and join them.\n return [m[1], m[2], m[3], m[4], m[5]].join('-');\n};\n\n/**\n * Calculate length for the shortened ID\n * @param {number} alphabetLength\n * @returns {number}\n */\nconst getShortIdLength = (alphabetLength) => (\n Math.ceil(Math.log(2 ** 128) / Math.log(alphabetLength)));\n\nmodule.exports = (() => {\n /**\n * @param {string} toAlphabet\n * @param {{ consistentLength: boolean }} [options]\n * @returns {{\n * alphabet: string,\n * fromUUID: (function(*): string),\n * generate: (function(): string),\n * maxLength: number,\n * new: (function(): string),\n * toUUID: (function(*): string),\n * uuid: ((function(*, *, *): (*))|*),\n * validate: ((function(*, boolean=false): (boolean))|*)}}\n */\n const makeConvertor = (toAlphabet, options) => {\n // Default to Flickr 58\n const useAlphabet = toAlphabet || constants.flickrBase58;\n\n // Default to baseOptions\n const selectedOptions = { ...baseOptions, ...options };\n\n // Check alphabet for duplicate entries\n if ([...new Set(Array.from(useAlphabet))].length !== useAlphabet.length) {\n throw new Error('The provided Alphabet has duplicate characters resulting in unreliable results');\n }\n\n const shortIdLength = getShortIdLength(useAlphabet.length);\n\n // Padding Params\n const paddingParams = {\n shortIdLength,\n consistentLength: selectedOptions.consistentLength,\n paddingChar: useAlphabet[0],\n };\n\n // UUIDs are in hex, so we translate to and from.\n const fromHex = anyBase(anyBase.HEX, useAlphabet);\n const toHex = anyBase(useAlphabet, anyBase.HEX);\n /**\n * @returns {string} - short id\n */\n const generate = () => shortenUUID(uuidV4(), fromHex, paddingParams);\n\n /**\n * Confirm if string is a valid id. Checks length and alphabet.\n * If the second parameter is true it will translate to standard UUID\n * and check the result for UUID validity.\n * @param {string} shortId - The string to check for validity\n * @param {boolean} [rigorous=false] - If true, also check for a valid UUID\n * @returns {boolean}\n */\n const validate = (shortId, rigorous = false) => {\n if (!shortId || typeof shortId !== 'string') return false;\n const isCorrectLength = selectedOptions.consistentLength\n ? shortId.length === shortIdLength\n : shortId.length <= shortIdLength;\n const onlyAlphabet = shortId.split('').every((letter) => useAlphabet.includes(letter));\n if (rigorous === false) return isCorrectLength && onlyAlphabet;\n return isCorrectLength && onlyAlphabet && uuidValidate(enlargeUUID(shortId, toHex));\n };\n\n const translator = {\n alphabet: useAlphabet,\n fromUUID: (uuid) => shortenUUID(uuid, fromHex, paddingParams),\n maxLength: shortIdLength,\n generate,\n new: generate,\n toUUID: (shortUuid) => enlargeUUID(shortUuid, toHex),\n uuid: uuidV4,\n validate,\n };\n\n Object.freeze(translator);\n\n return translator;\n };\n\n // Expose the constants for other purposes.\n makeConvertor.constants = constants;\n\n // Expose the generic v4 UUID generator for convenience\n makeConvertor.uuid = uuidV4;\n\n // Provide a generic generator\n makeConvertor.generate = () => {\n if (!toFlickr) {\n // Generate on first use;\n toFlickr = makeConvertor(constants.flickrBase58).generate;\n }\n return toFlickr();\n };\n\n return makeConvertor;\n})();\n","'use strict';\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Worker = void 0;\nclass Worker {\n #epoch;\n #workerId;\n #workerIdBits;\n #maxWorkerId;\n #datacenterId;\n #datacenterIdBits;\n #maxDatacenterId;\n #sequence;\n #sequenceBits;\n #workerIdShift;\n #datacenterIdShift;\n #timestampLeftShift;\n #sequenceMask;\n #lastTimestamp = -1n;\n constructor(workerId = 0n, datacenterId = 0n, options) {\n this.#epoch = BigInt(options?.epoch ?? 1609459200000);\n this.#workerId = BigInt(workerId);\n this.#workerIdBits = BigInt(options?.workerIdBits ?? 5);\n this.#maxWorkerId = -1n ^ (-1n << this.#workerIdBits);\n if (this.#workerId < 0 || this.#workerId > this.#maxWorkerId) {\n throw new Error('With ' +\n this.#workerIdBits.toString() +\n \" bits, worker id can't be greater than \" +\n this.#maxWorkerId.toString() +\n ' or less than 0');\n }\n this.#datacenterId = BigInt(datacenterId);\n this.#datacenterIdBits = BigInt(options?.datacenterIdBits ?? 5);\n this.#maxDatacenterId = -1n ^ (-1n << this.#datacenterIdBits);\n if (this.#datacenterId > this.#maxDatacenterId || this.#datacenterId < 0) {\n throw new Error('With ' +\n this.#datacenterIdBits.toString() +\n \" bits, datacenter id can't be greater than \" +\n this.#maxDatacenterId.toString() +\n ' or less than 0');\n }\n this.#sequence = BigInt(options?.sequence ?? 0);\n this.#sequenceBits = BigInt(options?.sequenceBits ?? 12);\n this.#sequenceMask = -1n ^ (-1n << this.#sequenceBits);\n this.#workerIdShift = this.#sequenceBits;\n this.#datacenterIdShift = this.#sequenceBits + this.#workerIdBits;\n this.#timestampLeftShift = this.#sequenceBits + this.#workerIdBits + this.#datacenterIdBits;\n }\n get workerId() {\n return this.#workerId;\n }\n get datacenterId() {\n return this.#datacenterId;\n }\n get currentSequence() {\n return this.#sequence;\n }\n get lastTimestamp() {\n return this.#lastTimestamp;\n }\n nextId() {\n let timestamp = Worker.now();\n if (timestamp < this.#lastTimestamp) {\n throw new Error(\"Clock moved backwards. Can't generate new ID for \" +\n (this.#lastTimestamp - timestamp).toString() +\n 'milliseconds.');\n }\n if (timestamp === this.#lastTimestamp) {\n this.#sequence = (this.#sequence + 1n) & this.#sequenceMask;\n if (this.#sequence === 0n) {\n timestamp = this.tilNextMillis(this.#lastTimestamp);\n }\n }\n else {\n this.#sequence = 0n;\n }\n this.#lastTimestamp = timestamp;\n return (((timestamp - this.#epoch) << this.#timestampLeftShift) |\n (this.#datacenterId << this.#datacenterIdShift) |\n (this.#workerId << this.#workerIdShift) |\n this.#sequence);\n }\n tilNextMillis(lastTimestamp) {\n let timestamp;\n do {\n timestamp = Worker.now();\n } while (timestamp <= lastTimestamp);\n return timestamp;\n }\n static now() {\n return BigInt(Date.now());\n }\n}\nexports.Worker = Worker;\n","import{ServiceError as r,badRequestError as e}from\"@lowerdeck/error\";import{Hash as t}from\"@lowerdeck/hash\";import{customAlphabet as n}from\"nanoid\";import i from\"short-uuid\";import{Worker as o}from\"snowflake-uuid\";var f=i(\"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\"),u=n(\"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\",20),s=n(\"0123456789\",6),d=function(){return(new Date).getTime().toString(36).padStart(9,\"0\")},a=new o(0,0,{workerIdBits:12,sequenceBits:12}),c=new Set,h=function(r){if(r.endsWith(\"_\")&&(r=r.slice(0,-1)),c.has(r))throw new Error(\"Prefix \"+r+\" already exists\")},p={sorted:function(r,e){return void 0===e&&(e=22),h(r),{prefix:r,length:e,type:\"sorted\"}},unsorted:function(r,e){return void 0===e&&(e=22),h(r),{prefix:r,length:e,type:\"unsorted\"}},key:function(r,e){return void 0===e&&(e=50),h(r),{prefix:r,length:e,type:\"key\"}}},x=function(r){for(var e in r)r[e].prefix.endsWith(\"_\")||(r[e].prefix=r[e].prefix+\"_\");var n=new Set;for(var i in r){var o=r[i].prefix;if(n.has(o))throw new Error(\"Prefix \"+o+\" already exists\");n.add(o)}var s=function(e){var t=r[e];if(!t)throw new Error(\"Invalid prefix: \"+e);return t};return{generateId:function(r){try{var e=s(r),n=e.length;if(\"sorted\"==e.type){var i=d(),o=n-i.length;return o<10&&(o=10),Promise.resolve(\"\"+e.prefix+i+u(o))}if(\"unsorted\"==e.type)return Promise.resolve(\"\"+e.prefix+u(n));var f=\"\"+e.prefix+u(n);return Promise.resolve(t.sha512(f)).then(function(r){return\"\"+f+r.slice(0,6)})}catch(r){return Promise.reject(r)}},generateIdSync:function(r){var e=s(r),t=e.length;if(\"sorted\"==e.type){var n=d(),i=t-n.length;return i<10&&(i=10),\"\"+e.prefix+n+u(i)}if(\"unsorted\"==e.type)return\"\"+e.prefix+u(t);throw new Error(\"Cannot generate key id synchronously\")},idPrefixes:Object.entries(r).reduce(function(r,e){return r[e[0]]=e[1].prefix,r},{}),normalizeUUID:function(r,e){return\"\"+s(r).prefix+f.fromUUID(e)}}},l=function(t){if(t.endsWith(\"_\")||(t+=\"_\"),c.has(t))throw new Error(\"Prefix \"+t+\" already exists\");return c.add(t),{fromUUID:function(r){return\"\"+t+f.fromUUID(r)},toUUID:function(n){if(!n.startsWith(t))throw new r(e({message:\"ID \"+n+\" does not start with prefix \"+t}));return f.toUUID(n.slice(t.length))}}},v=function(r,e){return void 0===e&&(e=20),r&&!r.endsWith(\"_\")&&(r+=\"_\"),\"\"+r+u(e)},w=function(r){return void 0===r&&(r=20),u(r)},m=function(r,e){void 0===e&&(e=20);var t=d(),n=e-t.length;return n<10&&(n=10),\"\"+r+t+u(n)},y=function(r){return void 0===r&&(r=6),s(r)},g=function(r){return r&&!r.endsWith(\"_\")&&(r+=\"_\"),\"\"+r+a.nextId().toString(36)};export{x as createIdGenerator,l as createUuidTranslator,y as generateCode,v as generateCustomId,m as generateId,w as generatePlainId,g as generateSnowflakeId,d as idTime,p as idType};\n//# sourceMappingURL=index.module.js.map\n","import { createExecutionContext, provideExecutionContext } from '@lowerdeck/execution-context';\nimport { generateCustomId } from '@lowerdeck/id';\nimport { IQueueProcessor } from '@lowerdeck/queue';\nimport { parseRedisUrl } from '@lowerdeck/redis';\nimport { getSentry } from '@lowerdeck/sentry';\nimport { Queue, Worker } from 'bullmq';\n\nlet Sentry = getSentry();\n\nlet log = (...any: any[]) => console.log('[CRON MANAGER]:', ...any);\n\nlet seenNames = new Set<string>();\n\nexport let createCron = (\n opts: {\n name: string;\n cron: string;\n redisUrl: string;\n },\n handler: () => Promise<void>\n): IQueueProcessor => {\n if (seenNames.has(opts.name)) {\n throw new Error(`Cron with name ${opts.name} already exists`);\n }\n\n let connection = parseRedisUrl(opts.redisUrl);\n let queue = new Queue(opts.name, {\n connection,\n defaultJobOptions: {\n removeOnComplete: true,\n removeOnFail: true\n }\n });\n\n return {\n start: async () => {\n log(`Starting cron job ${opts.name} to run every ${opts.cron} using bullmq`);\n\n await queue.upsertJobScheduler(\n 'cron',\n {\n pattern: opts.cron\n },\n {\n opts: {\n removeDependencyOnFailure: true,\n removeOnComplete: true,\n removeOnFail: true,\n keepLogs: 0\n }\n }\n );\n\n let worker = new Worker(\n opts.name,\n async () => {\n provideExecutionContext(\n createExecutionContext({\n type: 'scheduled',\n contextId: generateCustomId('cron_'),\n cron: opts.cron,\n name: opts.name\n }),\n async () => {\n log(`Running cron job ${opts.name}`);\n\n try {\n await handler();\n } catch (err) {\n Sentry.captureException(err, {\n tags: {\n cronName: opts.name\n }\n });\n throw err;\n }\n }\n );\n },\n { connection }\n );\n\n return {\n close: worker.close.bind(worker)\n };\n }\n };\n};\n","import{generateId as r}from\"@lowerdeck/id\";import{getSentry as t}from\"@lowerdeck/sentry\";import{AsyncLocalStorage as e}from\"async_hooks\";var o=function(t){return t.contextId||(t.contextId=r(\"ctx_\")),t},n=t(),c=new e,i=function(r){try{var t=c.getStore();if(!t)throw new Error(\"No execution context found\");return Promise.resolve(r(t.context))}catch(r){return Promise.reject(r)}},u=function(r){try{var t,e=c.getStore();return Promise.resolve(r(null!=(t=null==e?void 0:e.context)?t:null))}catch(r){return Promise.reject(r)}},f=function(r){try{var t=c.getStore();if(!t)throw new Error(\"No execution context found\");if(!t.afterHooks)throw new Error(\"After hooks not enabled for this execution context\");return t.afterHooks.push(r),Promise.resolve()}catch(r){return Promise.reject(r)}},s=function(r,t){try{var e=[];return n.setContext(\"executionContext\",r),Promise.resolve(c.run({context:r,afterHooks:e},function(){try{return Promise.resolve(t())}catch(r){return Promise.reject(r)}})).then(function(t){for(var o=0,c=e;o<c.length;o++)(0,c[o])().catch(function(t){n.captureException(t),console.error(\"Error in after hook\",{err:t,context:r})});return t})}catch(r){return Promise.reject(r)}},a=function(r){c.enterWith({context:r})},x=function(r){var t=h();return Object.assign(t,r),t},h=function(){var r=c.getStore();if(!r)throw new Error(\"No execution context found\");return r.context};export{f as addAfterHook,o as createExecutionContext,c as ctxStorage,h as getExecutionContext,s as provideExecutionContext,a as setExecutionContextSync,x as updateExecutionContext,i as withExecutionContext,u as withExecutionContextOptional};\n//# sourceMappingURL=index.module.js.map\n"],"names":["t","Object","assign","bind","e","arguments","length","r","o","hasOwnProperty","call","apply","i","__typename","data","toResponse","ok","ALPHABET","BASE_MAP","Uint8Array","j","x","charAt","xc","charCodeAt","TypeError","Math","log","getRandomValues","random","bytes","crypto","customAlphabet","alphabet","size","defaultSize","getRandom","mask","log2","step","id","customRandom","rnds8","Error","defineProperty","exports","value","default","obj","_regex","require$$0","__esModule","uuid","test","unsafeStringify","_validate","byteToHex","push","toString","slice","arr","offset","_rng","_nodeId","_clockseq","_lastMSecs","_lastNSecs","options","buf","b","Array","node","clockseq","undefined","seedBytes","rng","msecs","Date","now","nsecs","dt","tl","tmh","n","_stringify","v","parseInt","URL","DNS","name","version","hashfunc","generateUUID","namespace","_namespace","str","unescape","encodeURIComponent","stringToBytes","_parse","set","err","getOutputLength","inputLength8","safeAdd","y","lsw","md5cmn","q","a","s","num","cnt","md5ff","c","d","md5gg","md5hh","md5ii","msg","input","output","length32","hexTab","hex","md5ToHexEncodedArray","len","olda","oldb","oldc","oldd","wordsToMd5","length8","Uint32Array","bytesToWords","_v","_interopRequireDefault","_md","require$$1","v3","randomUUID","_native","rnds","f","z","ROTL","K","H","isArray","prototype","N","ceil","M","pow","floor","W","T","_sha","v5","enumerable","get","_nil","_v2","_v3","_v4","_version","require$$2","require$$3","require$$4","require$$5","require$$6","require$$7","require$$8","Converter","srcAlphabet","dstAlphabet","this","convert","number","divide","newlen","numberMap","fromBase","toBase","result","isValid","indexOf","concat","converter","anyBase","BIN","OCT","DEC","HEX","anyBase_1","v4","uuidV4","validate","uuidValidate","constants","cookieBase90","flickrBase58","uuid25Base36","baseOptions","consistentLength","toFlickr","shortenUUID","longId","translator","paddingParams","translated","toLowerCase","replace","padStart","shortIdLength","paddingChar","enlargeUUID","shortId","m","match","join","shortUuid","makeConvertor","toAlphabet","useAlphabet","selectedOptions","Set","from","alphabetLength","fromHex","toHex","generate","fromUUID","maxLength","new","toUUID","rigorous","isCorrectLength","onlyAlphabet","split","every","letter","includes","freeze","Worker","epoch","workerId","workerIdBits","maxWorkerId","datacenterId","datacenterIdBits","maxDatacenterId","sequence","sequenceBits","workerIdShift","datacenterIdShift","timestampLeftShift","sequenceMask","lastTimestamp","constructor","BigInt","currentSequence","nextId","timestamp","tilNextMillis","u","Sentry","getSentry","_console","console","seenNames","createCron","opts","handler","has","connection","parseRedisUrl","redisUrl","queue","Queue","defaultJobOptions","removeOnComplete","removeOnFail","start","cron","Promise","resolve","upsertJobScheduler","pattern","removeDependencyOnFailure","keepLogs","then","worker","_catch","captureException","tags","cronName","reject","provideExecutionContext","contextId","getTime","createExecutionContext","type","endsWith","close"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.module.js","sources":["../src/index.ts"],"sourcesContent":["import { createExecutionContext, provideExecutionContext } from '@lowerdeck/execution-context';\nimport { generateCustomId } from '@lowerdeck/id';\nimport { IQueueProcessor } from '@lowerdeck/queue';\nimport { parseRedisUrl } from '@lowerdeck/redis';\nimport { getSentry } from '@lowerdeck/sentry';\nimport { Queue, Worker } from 'bullmq';\n\nlet Sentry = getSentry();\n\nlet log = (...any: any[]) => console.log('[CRON MANAGER]:', ...any);\n\nlet seenNames = new Set<string>();\n\nexport let createCron = (\n opts: {\n name: string;\n cron: string;\n redisUrl: string;\n },\n handler: () => Promise<void>\n): IQueueProcessor => {\n if (seenNames.has(opts.name)) {\n throw new Error(`Cron with name ${opts.name} already exists`);\n }\n\n let connection = parseRedisUrl(opts.redisUrl);\n let queue = new Queue(opts.name, {\n connection,\n defaultJobOptions: {\n removeOnComplete: true,\n removeOnFail: true\n }\n });\n\n return {\n start: async () => {\n log(`Starting cron job ${opts.name} to run every ${opts.cron} using bullmq`);\n\n await queue.upsertJobScheduler(\n 'cron',\n {\n pattern: opts.cron\n },\n {\n opts: {\n removeDependencyOnFailure: true,\n removeOnComplete: true,\n removeOnFail: true,\n keepLogs: 0\n }\n }\n );\n\n let worker = new Worker(\n opts.name,\n async () => {\n provideExecutionContext(\n createExecutionContext({\n type: 'scheduled',\n contextId: generateCustomId('cron_'),\n cron: opts.cron,\n name: opts.name\n }),\n async () => {\n log(`Running cron job ${opts.name}`);\n\n try {\n await handler();\n } catch (err) {\n Sentry.captureException(err, {\n tags: {\n cronName: opts.name\n }\n });\n throw err;\n }\n }\n );\n },\n { connection }\n );\n\n return {\n close: worker.close.bind(worker)\n };\n }\n };\n};\n"],"names":["Sentry","getSentry","log","_console","console","apply","concat","slice","call","arguments","seenNames","Set","createCron","opts","handler","has","name","Error","connection","parseRedisUrl","redisUrl","queue","Queue","defaultJobOptions","removeOnComplete","removeOnFail","start","cron","Promise","resolve","upsertJobScheduler","pattern","removeDependencyOnFailure","keepLogs","then","worker","Worker","provideExecutionContext","createExecutionContext","type","contextId","generateCustomId","_catch","err","captureException","tags","cronName","e","reject","close","bind"],"mappings":"8RAOA,IAAIA,EAASC,IAETC,EAAM,WAAH,IAAAC,EAAsB,OAAAA,EAAAC,SAAQF,IAAGG,MAAAF,EAAA,CAAC,mBAAiBG,OAAAC,GAAAA,MAAAC,KAAAC,YAAS,EAE/DC,EAAY,IAAIC,IAETC,EAAa,SACtBC,EAKAC,GAEA,GAAIJ,EAAUK,IAAIF,EAAKG,MACrB,MAAU,IAAAC,MAAwBJ,kBAAAA,EAAKG,KAAI,mBAG7C,IAAIE,EAAaC,EAAcN,EAAKO,UAChCC,EAAQ,IAAIC,EAAMT,EAAKG,KAAM,CAC/BE,WAAAA,EACAK,kBAAmB,CACjBC,kBAAkB,EAClBC,cAAc,KAIlB,MAAO,CACLC,MAAK,WAAa,IAC6D,OAA7ExB,EAAyBW,qBAAAA,EAAKG,KAAI,iBAAiBH,EAAKc,KAAI,iBAAiBC,QAAAC,QAEvER,EAAMS,mBACV,OACA,CACEC,QAASlB,EAAKc,MAEhB,CACEd,KAAM,CACJmB,2BAA2B,EAC3BR,kBAAkB,EAClBC,cAAc,EACdQ,SAAU,MAGfC,KAED,WAAA,IAAIC,EAAS,IAAIC,EACfvB,EAAKG,KACM,WAAA,IAsBP,OArBFqB,EACEC,EAAuB,CACrBC,KAAM,YACNC,UAAWC,EAAiB,SAC5Bd,KAAMd,EAAKc,KACXX,KAAMH,EAAKG,sBAG0B,OAArCd,EAAwBW,oBAAAA,EAAKG,MAAQY,QAAAC,gCAEjCD,QAAAC,QACIf,KAASoB,KAAA,WAAA,4DAHoBQ,CAAA,EAI5BC,SAAAA,GAMP,MALA3C,EAAO4C,iBAAiBD,EAAK,CAC3BE,KAAM,CACJC,SAAUjC,EAAKG,QAGb2B,CACR,GACF,CAAC,MAAAI,GAAAnB,OAAAA,QAAAoB,OAAAD,EACF,CAAA,GAACnB,QAAAC,SACJ,CAAC,MAAAkB,GAAAnB,OAAAA,QAAAoB,OAAAD,KACD,CAAE7B,WAAAA,IAGJ,MAAO,CACL+B,MAAOd,EAAOc,MAAMC,KAAKf,GACzB,EACJ,CAAC,MAAAY,GAAA,OAAAnB,QAAAoB,OAAAD,KAEL"}
|
package/dist/index.umd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@lowerdeck/sentry"),require("async_hooks"),require("@lowerdeck/redis"),require("bullmq")):"function"==typeof define&&define.amd?define(["exports","@lowerdeck/sentry","async_hooks","@lowerdeck/redis","bullmq"],t):t((e||self).cron={},e.sentry,e.async_hooks,e.redis,e.bullmq)}(this,function(e,t,r,n,o){function s(){return s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},s.apply(null,arguments)}new Map([].concat(["for","and","nor","but","or","yet","so"].map(function(e){return[e.toLowerCase(),e]}),["a","an","the"].map(function(e){return[e.toLowerCase(),e]}),["aboard","about","above","across","after","against","along","amid","among","anti","around","as","at","before","behind","below","beneath","beside","besides","between","beyond","but","by","concerning","considering","despite","down","during","except","excepting","excluding","following","for","from","in","inside","into","like","minus","near","of","off","on","onto","opposite","over","past","per","plus","regarding","round","save","since","than","through","to","toward","towards","under","underneath","unlike","until","up","upon","versus","via","with","within","without"].map(function(e){return[e.toLowerCase(),e]}),["Metorial","MCP","CLI","API","HTTP","HTTPS","JSX","DNS","URL","CI","CD","CDN","package.json","package.lock","yarn.lock","GitHub","GitLab","CSS","Sass","JS","JavaScript","TypeScript","HTML","WordPress","Next.js","Node.js","Webpack","Docker","Bash","Kubernetes","SWR","TinaCMS","UI","UX","TS","TSX","iPhone","iPad","watchOS","iOS","iPadOS","macOS","PHP","composer.json","composer.lock","CMS","SQL","C","C#","GraphQL","GraphiQL","JWT","JWTs"].map(function(e){return[e.toLowerCase(),e]})));var a=function(e){return Object.assign(function(t){return void 0===t&&(t={}),a(s({},e,t))},{__typename:"error",data:e,toResponse:function(){return s({__typename:"error",ok:!1},e)}})};a({status:500,code:"internal_server_error",message:"An internal server error occurred."}),a({status:400,code:"bad_request",message:"The request is invalid."}),a({status:401,code:"unauthorized",message:"You are not authorized to access this resource.",hint:"Make sure you are logged in and have the correct permissions to access this resource."}),a({status:403,code:"forbidden",message:"You do not have permission to access this resource."}),a({status:400,code:"invalid_version",message:"The endpoint does not support the requested version."}),a({status:409,code:"conflict",message:"A similar resource already exists."}),a({status:410,code:"gone",message:"The requested resource is no longer available."}),a({status:402,code:"payment_required",message:"Payment is required to access this resource."}),a({status:412,code:"precondition_failed",message:"The precondition of the request failed."}),a({status:406,code:"not_acceptable",message:"The requested resource is not acceptable."}),a({status:501,code:"not_implemented",message:"The requested resource is not implemented."}),a({status:429,code:"too_many_requests",message:"You have made too many requests in a short period of time.",hint:"Please wait a moment and try again."}),a({status:504,code:"timeout",message:"The request timed out."}),a({status:405,code:"method_not_allowed",message:"The requested method is not allowed for this resource."}),function(e){const t=new Uint8Array(256);for(let e=0;e<t.length;e++)t[e]=255;for(let r=0;r<62;r++){const n=e.charAt(r),o=n.charCodeAt(0);if(255!==t[o])throw new TypeError(n+" is ambiguous");t[o]=r}e.charAt(0),Math.log(62),Math.log(256),Math.log(256),Math.log(62)}("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ");let i,u=e=>crypto.getRandomValues(new Uint8Array(e)),c=(e,t=21)=>((e,t,r)=>{let n=(2<<Math.log2(e.length-1))-1,o=-~(1.6*n*t/e.length);return(s=t)=>{let a="";for(;;){let t=r(o),i=0|o;for(;i--;)if(a+=e[t[i]&n]||"",a.length>=s)return a}}})(e,0|t,u);function d(e){var t={exports:{}};return e(t,t.exports),t.exports}const l=new Uint8Array(16);var f=/*#__PURE__*/Object.defineProperty({default:function(){if(!i&&(i="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!i))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return i(l)}},"__esModule",{value:!0}),h=d(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i}),p=h,g=d(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,n=(r=p)&&r.__esModule?r:{default:r};t.default=function(e){return"string"==typeof e&&n.default.test(e)}}),m=g,v=d(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.unsafeStringify=s;var r,n=(r=m)&&r.__esModule?r:{default:r};const o=[];for(let e=0;e<256;++e)o.push((e+256).toString(16).slice(1));function s(e,t=0){return o[e[t+0]]+o[e[t+1]]+o[e[t+2]]+o[e[t+3]]+"-"+o[e[t+4]]+o[e[t+5]]+"-"+o[e[t+6]]+o[e[t+7]]+"-"+o[e[t+8]]+o[e[t+9]]+"-"+o[e[t+10]]+o[e[t+11]]+o[e[t+12]]+o[e[t+13]]+o[e[t+14]]+o[e[t+15]]}t.default=function(e,t=0){const r=s(e,t);if(!(0,n.default)(r))throw TypeError("Stringified UUID is invalid");return r}}),y=f,b=v,w=d(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,n=(r=y)&&r.__esModule?r:{default:r};let o,s,a=0,i=0;t.default=function(e,t,r){let u=t&&r||0;const c=t||new Array(16);let d=(e=e||{}).node||o,l=void 0!==e.clockseq?e.clockseq:s;if(null==d||null==l){const t=e.random||(e.rng||n.default)();null==d&&(d=o=[1|t[0],t[1],t[2],t[3],t[4],t[5]]),null==l&&(l=s=16383&(t[6]<<8|t[7]))}let f=void 0!==e.msecs?e.msecs:Date.now(),h=void 0!==e.nsecs?e.nsecs:i+1;const p=f-a+(h-i)/1e4;if(p<0&&void 0===e.clockseq&&(l=l+1&16383),(p<0||f>a)&&void 0===e.nsecs&&(h=0),h>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");a=f,i=h,s=l,f+=122192928e5;const g=(1e4*(268435455&f)+h)%4294967296;c[u++]=g>>>24&255,c[u++]=g>>>16&255,c[u++]=g>>>8&255,c[u++]=255&g;const m=f/4294967296*1e4&268435455;c[u++]=m>>>8&255,c[u++]=255&m,c[u++]=m>>>24&15|16,c[u++]=m>>>16&255,c[u++]=l>>>8|128,c[u++]=255&l;for(let e=0;e<6;++e)c[u+e]=d[e];return t||(0,b.unsafeStringify)(c)}}),I=d(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,n=(r=m)&&r.__esModule?r:{default:r};t.default=function(e){if(!(0,n.default)(e))throw TypeError("Invalid UUID");let t;const r=new Uint8Array(16);return r[0]=(t=parseInt(e.slice(0,8),16))>>>24,r[1]=t>>>16&255,r[2]=t>>>8&255,r[3]=255&t,r[4]=(t=parseInt(e.slice(9,13),16))>>>8,r[5]=255&t,r[6]=(t=parseInt(e.slice(14,18),16))>>>8,r[7]=255&t,r[8]=(t=parseInt(e.slice(19,23),16))>>>8,r[9]=255&t,r[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255,r[11]=t/4294967296&255,r[12]=t>>>24&255,r[13]=t>>>16&255,r[14]=t>>>8&255,r[15]=255&t,r}}),_=I,k=d(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.URL=t.DNS=void 0,t.default=function(e,t,r){function a(e,o,s,a){var i;if("string"==typeof e&&(e=function(e){e=unescape(encodeURIComponent(e));const t=[];for(let r=0;r<e.length;++r)t.push(e.charCodeAt(r));return t}(e)),"string"==typeof o&&(o=(0,n.default)(o)),16!==(null===(i=o)||void 0===i?void 0:i.length))throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let u=new Uint8Array(16+e.length);if(u.set(o),u.set(e,o.length),u=r(u),u[6]=15&u[6]|t,u[8]=63&u[8]|128,s){a=a||0;for(let e=0;e<16;++e)s[a+e]=u[e];return s}return(0,b.unsafeStringify)(u)}try{a.name=e}catch(e){}return a.DNS=o,a.URL=s,a};var r,n=(r=_)&&r.__esModule?r:{default:r};const o="6ba7b810-9dad-11d1-80b4-00c04fd430c8";t.DNS=o;const s="6ba7b811-9dad-11d1-80b4-00c04fd430c8";t.URL=s}),S=d(function(e,t){function r(e){return 14+(e+64>>>9<<4)+1}function n(e,t){const r=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(r>>16)<<16|65535&r}function o(e,t,r,o,s,a){return n((i=n(n(t,e),n(o,a)))<<(u=s)|i>>>32-u,r);var i,u}function s(e,t,r,n,s,a,i){return o(t&r|~t&n,e,t,s,a,i)}function a(e,t,r,n,s,a,i){return o(t&n|r&~n,e,t,s,a,i)}function i(e,t,r,n,s,a,i){return o(t^r^n,e,t,s,a,i)}function u(e,t,r,n,s,a,i){return o(r^(t|~n),e,t,s,a,i)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default=function(e){if("string"==typeof e){const t=unescape(encodeURIComponent(e));e=new Uint8Array(t.length);for(let r=0;r<t.length;++r)e[r]=t.charCodeAt(r)}return function(e){const t=[],r=32*e.length,n="0123456789abcdef";for(let o=0;o<r;o+=8){const r=e[o>>5]>>>o%32&255,s=parseInt(n.charAt(r>>>4&15)+n.charAt(15&r),16);t.push(s)}return t}(function(e,t){e[t>>5]|=128<<t%32,e[r(t)-1]=t;let o=1732584193,c=-271733879,d=-1732584194,l=271733878;for(let t=0;t<e.length;t+=16){const r=o,f=c,h=d,p=l;o=s(o,c,d,l,e[t],7,-680876936),l=s(l,o,c,d,e[t+1],12,-389564586),d=s(d,l,o,c,e[t+2],17,606105819),c=s(c,d,l,o,e[t+3],22,-1044525330),o=s(o,c,d,l,e[t+4],7,-176418897),l=s(l,o,c,d,e[t+5],12,1200080426),d=s(d,l,o,c,e[t+6],17,-1473231341),c=s(c,d,l,o,e[t+7],22,-45705983),o=s(o,c,d,l,e[t+8],7,1770035416),l=s(l,o,c,d,e[t+9],12,-1958414417),d=s(d,l,o,c,e[t+10],17,-42063),c=s(c,d,l,o,e[t+11],22,-1990404162),o=s(o,c,d,l,e[t+12],7,1804603682),l=s(l,o,c,d,e[t+13],12,-40341101),d=s(d,l,o,c,e[t+14],17,-1502002290),c=s(c,d,l,o,e[t+15],22,1236535329),o=a(o,c,d,l,e[t+1],5,-165796510),l=a(l,o,c,d,e[t+6],9,-1069501632),d=a(d,l,o,c,e[t+11],14,643717713),c=a(c,d,l,o,e[t],20,-373897302),o=a(o,c,d,l,e[t+5],5,-701558691),l=a(l,o,c,d,e[t+10],9,38016083),d=a(d,l,o,c,e[t+15],14,-660478335),c=a(c,d,l,o,e[t+4],20,-405537848),o=a(o,c,d,l,e[t+9],5,568446438),l=a(l,o,c,d,e[t+14],9,-1019803690),d=a(d,l,o,c,e[t+3],14,-187363961),c=a(c,d,l,o,e[t+8],20,1163531501),o=a(o,c,d,l,e[t+13],5,-1444681467),l=a(l,o,c,d,e[t+2],9,-51403784),d=a(d,l,o,c,e[t+7],14,1735328473),c=a(c,d,l,o,e[t+12],20,-1926607734),o=i(o,c,d,l,e[t+5],4,-378558),l=i(l,o,c,d,e[t+8],11,-2022574463),d=i(d,l,o,c,e[t+11],16,1839030562),c=i(c,d,l,o,e[t+14],23,-35309556),o=i(o,c,d,l,e[t+1],4,-1530992060),l=i(l,o,c,d,e[t+4],11,1272893353),d=i(d,l,o,c,e[t+7],16,-155497632),c=i(c,d,l,o,e[t+10],23,-1094730640),o=i(o,c,d,l,e[t+13],4,681279174),l=i(l,o,c,d,e[t],11,-358537222),d=i(d,l,o,c,e[t+3],16,-722521979),c=i(c,d,l,o,e[t+6],23,76029189),o=i(o,c,d,l,e[t+9],4,-640364487),l=i(l,o,c,d,e[t+12],11,-421815835),d=i(d,l,o,c,e[t+15],16,530742520),c=i(c,d,l,o,e[t+2],23,-995338651),o=u(o,c,d,l,e[t],6,-198630844),l=u(l,o,c,d,e[t+7],10,1126891415),d=u(d,l,o,c,e[t+14],15,-1416354905),c=u(c,d,l,o,e[t+5],21,-57434055),o=u(o,c,d,l,e[t+12],6,1700485571),l=u(l,o,c,d,e[t+3],10,-1894986606),d=u(d,l,o,c,e[t+10],15,-1051523),c=u(c,d,l,o,e[t+1],21,-2054922799),o=u(o,c,d,l,e[t+8],6,1873313359),l=u(l,o,c,d,e[t+15],10,-30611744),d=u(d,l,o,c,e[t+6],15,-1560198380),c=u(c,d,l,o,e[t+13],21,1309151649),o=u(o,c,d,l,e[t+4],6,-145523070),l=u(l,o,c,d,e[t+11],10,-1120210379),d=u(d,l,o,c,e[t+2],15,718787259),c=u(c,d,l,o,e[t+9],21,-343485551),o=n(o,r),c=n(c,f),d=n(d,h),l=n(l,p)}return[o,c,d,l]}(function(e){if(0===e.length)return[];const t=8*e.length,n=new Uint32Array(r(t));for(let r=0;r<t;r+=8)n[r>>5]|=(255&e[r/8])<<r%32;return n}(e),8*e.length))}}),M=k,P=S,q=d(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=o(M),n=o(P);function o(e){return e&&e.__esModule?e:{default:e}}const s=(0,r.default)("v3",48,n.default);t.default=s}),j=d(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;const r="undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);t.default={randomUUID:r}}),O=j,A=d(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=o(O),n=o(y);function o(e){return e&&e.__esModule?e:{default:e}}t.default=function(e,t,o){if(r.default.randomUUID&&!t&&!e)return r.default.randomUUID();const s=(e=e||{}).random||(e.rng||n.default)();if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,t){o=o||0;for(let e=0;e<16;++e)t[o+e]=s[e];return t}return(0,b.unsafeStringify)(s)}}),U=d(function(e,t){function r(e,t,r,n){switch(e){case 0:return t&r^~t&n;case 1:case 3:return t^r^n;case 2:return t&r^t&n^r&n}}function n(e,t){return e<<t|e>>>32-t}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default=function(e){const t=[1518500249,1859775393,2400959708,3395469782],o=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof e){const t=unescape(encodeURIComponent(e));e=[];for(let r=0;r<t.length;++r)e.push(t.charCodeAt(r))}else Array.isArray(e)||(e=Array.prototype.slice.call(e));e.push(128);const s=Math.ceil((e.length/4+2)/16),a=new Array(s);for(let t=0;t<s;++t){const r=new Uint32Array(16);for(let n=0;n<16;++n)r[n]=e[64*t+4*n]<<24|e[64*t+4*n+1]<<16|e[64*t+4*n+2]<<8|e[64*t+4*n+3];a[t]=r}a[s-1][14]=8*(e.length-1)/Math.pow(2,32),a[s-1][14]=Math.floor(a[s-1][14]),a[s-1][15]=8*(e.length-1)&4294967295;for(let e=0;e<s;++e){const s=new Uint32Array(80);for(let t=0;t<16;++t)s[t]=a[e][t];for(let e=16;e<80;++e)s[e]=n(s[e-3]^s[e-8]^s[e-14]^s[e-16],1);let i=o[0],u=o[1],c=o[2],d=o[3],l=o[4];for(let e=0;e<80;++e){const o=Math.floor(e/20),a=n(i,5)+r(o,u,c,d)+l+t[o]+s[e]>>>0;l=d,d=c,c=n(u,30)>>>0,u=i,i=a}o[0]=o[0]+i>>>0,o[1]=o[1]+u>>>0,o[2]=o[2]+c>>>0,o[3]=o[3]+d>>>0,o[4]=o[4]+l>>>0}return[o[0]>>24&255,o[0]>>16&255,o[0]>>8&255,255&o[0],o[1]>>24&255,o[1]>>16&255,o[1]>>8&255,255&o[1],o[2]>>24&255,o[2]>>16&255,o[2]>>8&255,255&o[2],o[3]>>24&255,o[3]>>16&255,o[3]>>8&255,255&o[3],o[4]>>24&255,o[4]>>16&255,o[4]>>8&255,255&o[4]]}}),x=U,B=d(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=o(M),n=o(x);function o(e){return e&&e.__esModule?e:{default:e}}const s=(0,r.default)("v5",80,n.default);t.default=s}),T=d(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default="00000000-0000-0000-0000-000000000000"}),C=d(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,n=(r=m)&&r.__esModule?r:{default:r};t.default=function(e){if(!(0,n.default)(e))throw TypeError("Invalid UUID");return parseInt(e.slice(14,15),16)}}),L=w,D=q,E=A,R=B,N=T,W=C,H=d(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"NIL",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(t,"parse",{enumerable:!0,get:function(){return d.default}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return c.default}}),Object.defineProperty(t,"v1",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(t,"v3",{enumerable:!0,get:function(){return n.default}}),Object.defineProperty(t,"v4",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(t,"v5",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(t,"validate",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(t,"version",{enumerable:!0,get:function(){return i.default}});var r=l(L),n=l(D),o=l(E),s=l(R),a=l(N),i=l(W),u=l(m),c=l(b),d=l(_);function l(e){return e&&e.__esModule?e:{default:e}}});function J(e,t){if(!(e&&t&&e.length&&t.length))throw new Error("Bad alphabet");this.srcAlphabet=e,this.dstAlphabet=t}J.prototype.convert=function(e){var t,r,n,o={},s=this.srcAlphabet.length,a=this.dstAlphabet.length,i=e.length,u="string"==typeof e?"":[];if(!this.isValid(e))throw new Error('Number "'+e+'" contains of non-alphabetic digits ('+this.srcAlphabet+")");if(this.srcAlphabet===this.dstAlphabet)return e;for(t=0;t<i;t++)o[t]=this.srcAlphabet.indexOf(e[t]);do{for(r=0,n=0,t=0;t<i;t++)(r=r*s+o[t])>=a?(o[n++]=parseInt(r/a,10),r%=a):n>0&&(o[n++]=0);i=n,u=this.dstAlphabet.slice(r,r+1).concat(u)}while(0!==n);return u},J.prototype.isValid=function(e){for(var t=0;t<e.length;++t)if(-1===this.srcAlphabet.indexOf(e[t]))return!1;return!0};var V=J;function X(e,t){var r=new V(e,t);return function(e){return r.convert(e)}}X.BIN="01",X.OCT="01234567",X.DEC="0123456789",X.HEX="0123456789abcdef";var G=X,z=H;const{v4:Q,validate:F}=z,Y={cookieBase90:"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!#$%&'()*+-./:<=>?@[]^_`{|}~",flickrBase58:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ",uuid25Base36:"0123456789abcdefghijklmnopqrstuvwxyz"},K={consistentLength:!0};let Z;const $=(e,t,r)=>{const n=t(e.toLowerCase().replace(/-/g,""));return r&&r.consistentLength?n.padStart(r.shortIdLength,r.paddingChar):n},ee=(e,t)=>{const r=t(e).padStart(32,"0").match(/(\w{8})(\w{4})(\w{4})(\w{4})(\w{12})/);return[r[1],r[2],r[3],r[4],r[5]].join("-")};var te=(()=>{const e=(e,t)=>{const r=e||Y.flickrBase58,n={...K,...t};if([...new Set(Array.from(r))].length!==r.length)throw new Error("The provided Alphabet has duplicate characters resulting in unreliable results");const o=(s=r.length,Math.ceil(Math.log(2**128)/Math.log(s)));var s;const a={shortIdLength:o,consistentLength:n.consistentLength,paddingChar:r[0]},i=G(G.HEX,r),u=G(r,G.HEX),c=()=>$(Q(),i,a),d={alphabet:r,fromUUID:e=>$(e,i,a),maxLength:o,generate:c,new:c,toUUID:e=>ee(e,u),uuid:Q,validate:(e,t=!1)=>{if(!e||"string"!=typeof e)return!1;const s=n.consistentLength?e.length===o:e.length<=o,a=e.split("").every(e=>r.includes(e));return!1===t?s&&a:s&&a&&F(ee(e,u))}};return Object.freeze(d),d};return e.constants=Y,e.uuid=Q,e.generate=()=>(Z||(Z=e(Y.flickrBase58).generate),Z()),e})(),re=d(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.Worker=void 0;class r{#e;#t;#r;#n;#o;#s;#a;#i;#u;#c;#d;#l;#f;#h=-1n;constructor(e=0n,t=0n,r){if(this.#e=BigInt(r?.epoch??16094592e5),this.#t=BigInt(e),this.#r=BigInt(r?.workerIdBits??5),this.#n=-1n^-1n<<this.#r,this.#t<0||this.#t>this.#n)throw new Error("With "+this.#r.toString()+" bits, worker id can't be greater than "+this.#n.toString()+" or less than 0");if(this.#o=BigInt(t),this.#s=BigInt(r?.datacenterIdBits??5),this.#a=-1n^-1n<<this.#s,this.#o>this.#a||this.#o<0)throw new Error("With "+this.#s.toString()+" bits, datacenter id can't be greater than "+this.#a.toString()+" or less than 0");this.#i=BigInt(r?.sequence??0),this.#u=BigInt(r?.sequenceBits??12),this.#f=-1n^-1n<<this.#u,this.#c=this.#u,this.#d=this.#u+this.#r,this.#l=this.#u+this.#r+this.#s}get workerId(){return this.#t}get datacenterId(){return this.#o}get currentSequence(){return this.#i}get lastTimestamp(){return this.#h}nextId(){let e=r.now();if(e<this.#h)throw new Error("Clock moved backwards. Can't generate new ID for "+(this.#h-e).toString()+"milliseconds.");return e===this.#h?(this.#i=this.#i+1n&this.#f,0n===this.#i&&(e=this.tilNextMillis(this.#h))):this.#i=0n,this.#h=e,e-this.#e<<this.#l|this.#o<<this.#d|this.#t<<this.#c|this.#i}tilNextMillis(e){let t;do{t=r.now()}while(t<=e);return t}static now(){return BigInt(Date.now())}}t.Worker=r});te("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz");var ne=c("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",20);c("0123456789",6),new re.Worker(0,0,{workerIdBits:12,sequenceBits:12});var oe=t.getSentry(),se=new r.AsyncLocalStorage,ae=t.getSentry(),ie=function(){var e;return(e=console).log.apply(e,["[CRON MANAGER]:"].concat([].slice.call(arguments)))},ue=new Set;e.createCron=function(e,t){if(ue.has(e.name))throw new Error("Cron with name "+e.name+" already exists");var r=n.parseRedisUrl(e.redisUrl),s=new o.Queue(e.name,{connection:r,defaultJobOptions:{removeOnComplete:!0,removeOnFail:!0}});return{start:function(){try{return ie("Starting cron job "+e.name+" to run every "+e.cron+" using bullmq"),Promise.resolve(s.upsertJobScheduler("cron",{pattern:e.cron},{opts:{removeDependencyOnFailure:!0,removeOnComplete:!0,removeOnFail:!0,keepLogs:0}})).then(function(){var n=new o.Worker(e.name,function(){try{return function(r){try{var n=[];return oe.setContext("executionContext",r),Promise.resolve(se.run({context:r,afterHooks:n},function(){try{return Promise.resolve(function(){try{return ie("Running cron job "+e.name),Promise.resolve(function(e,r){try{var n=Promise.resolve(t()).then(function(){})}catch(e){return r(e)}return n&&n.then?n.then(void 0,r):n}(0,function(t){throw ae.captureException(t,{tags:{cronName:e.name}}),t}))}catch(e){return Promise.reject(e)}}())}catch(e){return Promise.reject(e)}})).then(function(e){for(var t=0,o=n;t<o.length;t++)(0,o[t])().catch(function(e){oe.captureException(e),console.error("Error in after hook",{err:e,context:r})});return e})}catch(r){return Promise.reject(r)}}(function(e){return e.contextId||(e.contextId=function(e,t){void 0===t&&(t=20);var r=(new Date).getTime().toString(36).padStart(9,"0"),n=t-r.length;return n<10&&(n=10),"ctx_"+r+ne(n)}()),e}({type:"scheduled",contextId:(r="cron_",void 0===n&&(n=20),r&&!r.endsWith("_")&&(r+="_"),""+r+ne(n)),cron:e.cron,name:e.name})),Promise.resolve()}catch(n){return Promise.reject(n)}var r,n},{connection:r});return{close:n.close.bind(n)}})}catch(e){return Promise.reject(e)}}}}});
|
|
1
|
+
!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("@lowerdeck/execution-context"),require("@lowerdeck/id"),require("@lowerdeck/redis"),require("@lowerdeck/sentry"),require("bullmq")):"function"==typeof define&&define.amd?define(["exports","@lowerdeck/execution-context","@lowerdeck/id","@lowerdeck/redis","@lowerdeck/sentry","bullmq"],r):r((e||self).cron={},e.executionContext,e.id,e.redis,e.sentry,e.bullmq)}(this,function(e,r,n,o,t,c){var i=t.getSentry(),u=function(){var e;return(e=console).log.apply(e,["[CRON MANAGER]:"].concat([].slice.call(arguments)))},l=new Set;e.createCron=function(e,t){if(l.has(e.name))throw new Error("Cron with name "+e.name+" already exists");var s=o.parseRedisUrl(e.redisUrl),a=new c.Queue(e.name,{connection:s,defaultJobOptions:{removeOnComplete:!0,removeOnFail:!0}});return{start:function(){try{return u("Starting cron job "+e.name+" to run every "+e.cron+" using bullmq"),Promise.resolve(a.upsertJobScheduler("cron",{pattern:e.cron},{opts:{removeDependencyOnFailure:!0,removeOnComplete:!0,removeOnFail:!0,keepLogs:0}})).then(function(){var o=new c.Worker(e.name,function(){try{return r.provideExecutionContext(r.createExecutionContext({type:"scheduled",contextId:n.generateCustomId("cron_"),cron:e.cron,name:e.name}),function(){try{return u("Running cron job "+e.name),Promise.resolve(function(e,r){try{var n=Promise.resolve(t()).then(function(){})}catch(e){return r(e)}return n&&n.then?n.then(void 0,r):n}(0,function(r){throw i.captureException(r,{tags:{cronName:e.name}}),r}))}catch(e){return Promise.reject(e)}}),Promise.resolve()}catch(e){return Promise.reject(e)}},{connection:s});return{close:o.close.bind(o)}})}catch(e){return Promise.reject(e)}}}}});
|
|
2
2
|
//# sourceMappingURL=index.umd.js.map
|
package/dist/index.umd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.umd.js","sources":["../../error/dist/index.module.js","../../../node_modules/base-x/src/esm/index.js","../../base62/dist/index.module.js","../../../node_modules/nanoid/index.browser.js","../../../node_modules/short-uuid/node_modules/uuid/dist/commonjs-browser/rng.js","../../../node_modules/short-uuid/node_modules/uuid/dist/commonjs-browser/regex.js","../../../node_modules/short-uuid/node_modules/uuid/dist/commonjs-browser/validate.js","../../../node_modules/short-uuid/node_modules/uuid/dist/commonjs-browser/stringify.js","../../../node_modules/short-uuid/node_modules/uuid/dist/commonjs-browser/v1.js","../../../node_modules/short-uuid/node_modules/uuid/dist/commonjs-browser/parse.js","../../../node_modules/short-uuid/node_modules/uuid/dist/commonjs-browser/v35.js","../../../node_modules/short-uuid/node_modules/uuid/dist/commonjs-browser/md5.js","../../../node_modules/short-uuid/node_modules/uuid/dist/commonjs-browser/v3.js","../../../node_modules/short-uuid/node_modules/uuid/dist/commonjs-browser/native.js","../../../node_modules/short-uuid/node_modules/uuid/dist/commonjs-browser/v4.js","../../../node_modules/short-uuid/node_modules/uuid/dist/commonjs-browser/sha1.js","../../../node_modules/short-uuid/node_modules/uuid/dist/commonjs-browser/v5.js","../../../node_modules/short-uuid/node_modules/uuid/dist/commonjs-browser/nil.js","../../../node_modules/short-uuid/node_modules/uuid/dist/commonjs-browser/version.js","../../../node_modules/short-uuid/node_modules/uuid/dist/commonjs-browser/index.js","../../../node_modules/any-base/src/converter.js","../../../node_modules/any-base/index.js","../../../node_modules/short-uuid/index.js","../../../node_modules/snowflake-uuid/dist/index.js","../../id/dist/index.module.js","../src/index.ts","../../execution-context/dist/index.module.js"],"sourcesContent":["import{Cases as e}from\"@lowerdeck/case\";function t(){return t=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var o in r)({}).hasOwnProperty.call(r,o)&&(e[o]=r[o])}return e},t.apply(null,arguments)}function r(e){return r=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},r(e)}function o(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(o=function(){return!!e})()}function n(e,t){return n=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},n(e,t)}function s(e){var t=function(e){if(\"object\"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,\"string\");if(\"object\"!=typeof r)return r;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return String(e)}(e);return\"symbol\"==typeof t?t:t+\"\"}function a(e){var t=\"function\"==typeof Map?new Map:void 0;return a=function(e){if(null===e||!function(e){try{return-1!==Function.toString.call(e).indexOf(\"[native code]\")}catch(t){return\"function\"==typeof e}}(e))return e;if(\"function\"!=typeof e)throw new TypeError(\"Super expression must either be null or a function\");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,s)}function s(){return function(e,t,r){if(o())return Reflect.construct.apply(null,arguments);var s=[null];s.push.apply(s,t);var a=new(e.bind.apply(e,s));return r&&n(a,r.prototype),a}(e,arguments,r(this).constructor)}return s.prototype=Object.create(e.prototype,{constructor:{value:s,enumerable:!1,writable:!0,configurable:!0}}),n(s,e)},a(e)}var i=function(e){return Object.assign(function(r){return void 0===r&&(r={}),i(t({},e,r))},{__typename:\"error\",data:e,toResponse:function(){return t({__typename:\"error\",ok:!1},e)}})},u=/*#__PURE__*/function(e){function t(t){var r;return(r=e.call(this,t.data.message)||this).error=void 0,r.__typename=\"ServiceError\",r._parent=null,r.error=t,r}var r,o;o=e,(r=t).prototype=Object.create(o.prototype),r.prototype.constructor=r,n(r,o);var a,u,c=t.prototype;return c.setParent=function(e){return this._parent=e,this},c.toResponse=function(){return this.error.toResponse()},t.fromResponse=function(e){var r=e;return delete r.ok,delete r.__typename,new t(i(r))},a=t,(u=[{key:\"parent\",get:function(){return this._parent}},{key:\"data\",get:function(){return this.error.data}}])&&function(e,t){for(var r=0;r<t.length;r++){var o=t[r];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,s(o.key),o)}}(a.prototype,u),Object.defineProperty(a,\"prototype\",{writable:!1}),a}(/*#__PURE__*/a(Error)),c=function(e){return\"ServiceError\"===(null==e?void 0:e.__typename)||\"ErrorRecord\"===(null==e?void 0:e.__typename)},d=function(e){return i(t({status:400,code:\"invalid_data\",message:\"The provided data is invalid.\",hint:\"Make sure the data you are sending follows the specification outlined in the documentation.\"},e))},p=i({status:500,code:\"internal_server_error\",message:\"An internal server error occurred.\"}),l=i({status:400,code:\"bad_request\",message:\"The request is invalid.\"});function f(r,o){var n=\"string\"==typeof r?r:r.entity,s=\"string\"==typeof r?o:r.id;return i(t({status:404,code:\"not_found\",message:\"The requested \"+e.toKebabCase(n)+\" could not be found.\",hint:\"Make sure the resource you are trying to access exists, that you have access to it and that it has not been deleted.\",entity:n,id:null!=s?s:void 0},\"string\"==typeof r?{}:r))}var y=i({status:401,code:\"unauthorized\",message:\"You are not authorized to access this resource.\",hint:\"Make sure you are logged in and have the correct permissions to access this resource.\"}),h=i({status:403,code:\"forbidden\",message:\"You do not have permission to access this resource.\"}),m=i({status:400,code:\"invalid_version\",message:\"The endpoint does not support the requested version.\"}),v=i({status:409,code:\"conflict\",message:\"A similar resource already exists.\"}),g=i({status:410,code:\"gone\",message:\"The requested resource is no longer available.\"}),b=i({status:402,code:\"payment_required\",message:\"Payment is required to access this resource.\"}),_=i({status:412,code:\"precondition_failed\",message:\"The precondition of the request failed.\"}),O=i({status:406,code:\"not_acceptable\",message:\"The requested resource is not acceptable.\"}),w=i({status:501,code:\"not_implemented\",message:\"The requested resource is not implemented.\"}),j=i({status:429,code:\"too_many_requests\",message:\"You have made too many requests in a short period of time.\",hint:\"Please wait a moment and try again.\"}),q=i({status:504,code:\"timeout\",message:\"The request timed out.\"}),P=i({status:405,code:\"method_not_allowed\",message:\"The requested method is not allowed for this resource.\"});export{u as ServiceError,l as badRequestError,v as conflictError,i as createError,h as forbiddenError,g as goneError,p as internalServerError,m as invalidVersion,c as isServiceError,P as methodNotAllowedError,O as notAcceptableError,f as notFoundError,w as notImplementedError,b as paymentRequiredError,_ as preconditionFailedError,q as timeoutError,j as tooManyRequestsError,y as unauthorizedError,d as validationError};\n//# sourceMappingURL=index.module.js.map\n","// base-x encoding / decoding\n// Copyright (c) 2018 base-x contributors\n// Copyright (c) 2014-2018 The Bitcoin Core developers (base58.cpp)\n// Distributed under the MIT software license, see the accompanying\n// file LICENSE or http://www.opensource.org/licenses/mit-license.php.\nfunction base (ALPHABET) {\n if (ALPHABET.length >= 255) { throw new TypeError('Alphabet too long') }\n const BASE_MAP = new Uint8Array(256)\n for (let j = 0; j < BASE_MAP.length; j++) {\n BASE_MAP[j] = 255\n }\n for (let i = 0; i < ALPHABET.length; i++) {\n const x = ALPHABET.charAt(i)\n const xc = x.charCodeAt(0)\n if (BASE_MAP[xc] !== 255) { throw new TypeError(x + ' is ambiguous') }\n BASE_MAP[xc] = i\n }\n const BASE = ALPHABET.length\n const LEADER = ALPHABET.charAt(0)\n const FACTOR = Math.log(BASE) / Math.log(256) // log(BASE) / log(256), rounded up\n const iFACTOR = Math.log(256) / Math.log(BASE) // log(256) / log(BASE), rounded up\n function encode (source) {\n // eslint-disable-next-line no-empty\n if (source instanceof Uint8Array) { } else if (ArrayBuffer.isView(source)) {\n source = new Uint8Array(source.buffer, source.byteOffset, source.byteLength)\n } else if (Array.isArray(source)) {\n source = Uint8Array.from(source)\n }\n if (!(source instanceof Uint8Array)) { throw new TypeError('Expected Uint8Array') }\n if (source.length === 0) { return '' }\n // Skip & count leading zeroes.\n let zeroes = 0\n let length = 0\n let pbegin = 0\n const pend = source.length\n while (pbegin !== pend && source[pbegin] === 0) {\n pbegin++\n zeroes++\n }\n // Allocate enough space in big-endian base58 representation.\n const size = ((pend - pbegin) * iFACTOR + 1) >>> 0\n const b58 = new Uint8Array(size)\n // Process the bytes.\n while (pbegin !== pend) {\n let carry = source[pbegin]\n // Apply \"b58 = b58 * 256 + ch\".\n let i = 0\n for (let it1 = size - 1; (carry !== 0 || i < length) && (it1 !== -1); it1--, i++) {\n carry += (256 * b58[it1]) >>> 0\n b58[it1] = (carry % BASE) >>> 0\n carry = (carry / BASE) >>> 0\n }\n if (carry !== 0) { throw new Error('Non-zero carry') }\n length = i\n pbegin++\n }\n // Skip leading zeroes in base58 result.\n let it2 = size - length\n while (it2 !== size && b58[it2] === 0) {\n it2++\n }\n // Translate the result into a string.\n let str = LEADER.repeat(zeroes)\n for (; it2 < size; ++it2) { str += ALPHABET.charAt(b58[it2]) }\n return str\n }\n function decodeUnsafe (source) {\n if (typeof source !== 'string') { throw new TypeError('Expected String') }\n if (source.length === 0) { return new Uint8Array() }\n let psz = 0\n // Skip and count leading '1's.\n let zeroes = 0\n let length = 0\n while (source[psz] === LEADER) {\n zeroes++\n psz++\n }\n // Allocate enough space in big-endian base256 representation.\n const size = (((source.length - psz) * FACTOR) + 1) >>> 0 // log(58) / log(256), rounded up.\n const b256 = new Uint8Array(size)\n // Process the characters.\n while (psz < source.length) {\n // Find code of next character\n const charCode = source.charCodeAt(psz)\n // Base map can not be indexed using char code\n if (charCode > 255) { return }\n // Decode character\n let carry = BASE_MAP[charCode]\n // Invalid character\n if (carry === 255) { return }\n let i = 0\n for (let it3 = size - 1; (carry !== 0 || i < length) && (it3 !== -1); it3--, i++) {\n carry += (BASE * b256[it3]) >>> 0\n b256[it3] = (carry % 256) >>> 0\n carry = (carry / 256) >>> 0\n }\n if (carry !== 0) { throw new Error('Non-zero carry') }\n length = i\n psz++\n }\n // Skip leading zeroes in b256.\n let it4 = size - length\n while (it4 !== size && b256[it4] === 0) {\n it4++\n }\n const vch = new Uint8Array(zeroes + (size - it4))\n let j = zeroes\n while (it4 !== size) {\n vch[j++] = b256[it4++]\n }\n return vch\n }\n function decode (string) {\n const buffer = decodeUnsafe(string)\n if (buffer) { return buffer }\n throw new Error('Non-base' + BASE + ' character')\n }\n return {\n encode,\n decodeUnsafe,\n decode\n }\n}\nexport default base\n","import e from\"base-x\";var o=e(\"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\"),n={encode:function(e){return o.encode(\"string\"==typeof e?(new TextEncoder).encode(e):e)},decode:function(e){return(new TextDecoder).decode(o.decode(e))},decodeRaw:function(e){return o.decode(e)}};export{n as base62};\n//# sourceMappingURL=index.module.js.map\n","/* @ts-self-types=\"./index.d.ts\" */\nimport { urlAlphabet as scopedUrlAlphabet } from './url-alphabet/index.js'\nexport { urlAlphabet } from './url-alphabet/index.js'\nexport let random = bytes => crypto.getRandomValues(new Uint8Array(bytes))\nexport let customRandom = (alphabet, defaultSize, getRandom) => {\n let mask = (2 << Math.log2(alphabet.length - 1)) - 1\n let step = -~((1.6 * mask * defaultSize) / alphabet.length)\n return (size = defaultSize) => {\n let id = ''\n while (true) {\n let bytes = getRandom(step)\n let j = step | 0\n while (j--) {\n id += alphabet[bytes[j] & mask] || ''\n if (id.length >= size) return id\n }\n }\n }\n}\nexport let customAlphabet = (alphabet, size = 21) =>\n customRandom(alphabet, size | 0, random)\nexport let nanoid = (size = 21) => {\n let id = ''\n let bytes = crypto.getRandomValues(new Uint8Array((size |= 0)))\n while (size--) {\n id += scopedUrlAlphabet[bytes[size] & 63]\n }\n return id\n}\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = rng;\n// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\n\nfunction rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _regex = _interopRequireDefault(require(\"./regex.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && _regex.default.test(uuid);\n}\n\nvar _default = validate;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nexports.unsafeStringify = unsafeStringify;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nfunction unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]];\n}\n\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nvar _default = stringify;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _rng = _interopRequireDefault(require(\"./rng.js\"));\n\nvar _stringify = require(\"./stringify.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// **`v1()` - Generate time-based UUID**\n//\n// Inspired by https://github.com/LiosK/UUID.js\n// and http://docs.python.org/library/uuid.html\nlet _nodeId;\n\nlet _clockseq; // Previous uuid creation time\n\n\nlet _lastMSecs = 0;\nlet _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details\n\nfunction v1(options, buf, offset) {\n let i = buf && offset || 0;\n const b = buf || new Array(16);\n options = options || {};\n let node = options.node || _nodeId;\n let clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not\n // specified. We do this lazily to minimize issues related to insufficient\n // system entropy. See #189\n\n if (node == null || clockseq == null) {\n const seedBytes = options.random || (options.rng || _rng.default)();\n\n if (node == null) {\n // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)\n node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]];\n }\n\n if (clockseq == null) {\n // Per 4.2.2, randomize (14 bit) clockseq\n clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;\n }\n } // UUID timestamps are 100 nano-second units since the Gregorian epoch,\n // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so\n // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'\n // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.\n\n\n let msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock\n // cycle to simulate higher resolution clock\n\n let nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs)\n\n const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression\n\n if (dt < 0 && options.clockseq === undefined) {\n clockseq = clockseq + 1 & 0x3fff;\n } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new\n // time interval\n\n\n if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {\n nsecs = 0;\n } // Per 4.2.1.2 Throw error if too many uuids are requested\n\n\n if (nsecs >= 10000) {\n throw new Error(\"uuid.v1(): Can't create more than 10M uuids/sec\");\n }\n\n _lastMSecs = msecs;\n _lastNSecs = nsecs;\n _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch\n\n msecs += 12219292800000; // `time_low`\n\n const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n b[i++] = tl >>> 24 & 0xff;\n b[i++] = tl >>> 16 & 0xff;\n b[i++] = tl >>> 8 & 0xff;\n b[i++] = tl & 0xff; // `time_mid`\n\n const tmh = msecs / 0x100000000 * 10000 & 0xfffffff;\n b[i++] = tmh >>> 8 & 0xff;\n b[i++] = tmh & 0xff; // `time_high_and_version`\n\n b[i++] = tmh >>> 24 & 0xf | 0x10; // include version\n\n b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)\n\n b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low`\n\n b[i++] = clockseq & 0xff; // `node`\n\n for (let n = 0; n < 6; ++n) {\n b[i + n] = node[n];\n }\n\n return buf || (0, _stringify.unsafeStringify)(b);\n}\n\nvar _default = v1;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction parse(uuid) {\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n let v;\n const arr = new Uint8Array(16); // Parse ########-....-....-....-............\n\n arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24;\n arr[1] = v >>> 16 & 0xff;\n arr[2] = v >>> 8 & 0xff;\n arr[3] = v & 0xff; // Parse ........-####-....-....-............\n\n arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8;\n arr[5] = v & 0xff; // Parse ........-....-####-....-............\n\n arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8;\n arr[7] = v & 0xff; // Parse ........-....-....-####-............\n\n arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8;\n arr[9] = v & 0xff; // Parse ........-....-....-....-############\n // (Use \"/\" to avoid 32-bit truncation when bit-shifting high-order bytes)\n\n arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff;\n arr[11] = v / 0x100000000 & 0xff;\n arr[12] = v >>> 24 & 0xff;\n arr[13] = v >>> 16 & 0xff;\n arr[14] = v >>> 8 & 0xff;\n arr[15] = v & 0xff;\n return arr;\n}\n\nvar _default = parse;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.URL = exports.DNS = void 0;\nexports.default = v35;\n\nvar _stringify = require(\"./stringify.js\");\n\nvar _parse = _interopRequireDefault(require(\"./parse.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction stringToBytes(str) {\n str = unescape(encodeURIComponent(str)); // UTF8 escape\n\n const bytes = [];\n\n for (let i = 0; i < str.length; ++i) {\n bytes.push(str.charCodeAt(i));\n }\n\n return bytes;\n}\n\nconst DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';\nexports.DNS = DNS;\nconst URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8';\nexports.URL = URL;\n\nfunction v35(name, version, hashfunc) {\n function generateUUID(value, namespace, buf, offset) {\n var _namespace;\n\n if (typeof value === 'string') {\n value = stringToBytes(value);\n }\n\n if (typeof namespace === 'string') {\n namespace = (0, _parse.default)(namespace);\n }\n\n if (((_namespace = namespace) === null || _namespace === void 0 ? void 0 : _namespace.length) !== 16) {\n throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)');\n } // Compute hash of namespace and value, Per 4.3\n // Future: Use spread syntax when supported on all platforms, e.g. `bytes =\n // hashfunc([...namespace, ... value])`\n\n\n let bytes = new Uint8Array(16 + value.length);\n bytes.set(namespace);\n bytes.set(value, namespace.length);\n bytes = hashfunc(bytes);\n bytes[6] = bytes[6] & 0x0f | version;\n bytes[8] = bytes[8] & 0x3f | 0x80;\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = bytes[i];\n }\n\n return buf;\n }\n\n return (0, _stringify.unsafeStringify)(bytes);\n } // Function#name is not settable on some platforms (#270)\n\n\n try {\n generateUUID.name = name; // eslint-disable-next-line no-empty\n } catch (err) {} // For CommonJS default export support\n\n\n generateUUID.DNS = DNS;\n generateUUID.URL = URL;\n return generateUUID;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\n/*\n * Browser-compatible JavaScript MD5\n *\n * Modification of JavaScript MD5\n * https://github.com/blueimp/JavaScript-MD5\n *\n * Copyright 2011, Sebastian Tschan\n * https://blueimp.net\n *\n * Licensed under the MIT license:\n * https://opensource.org/licenses/MIT\n *\n * Based on\n * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message\n * Digest Algorithm, as defined in RFC 1321.\n * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for more info.\n */\nfunction md5(bytes) {\n if (typeof bytes === 'string') {\n const msg = unescape(encodeURIComponent(bytes)); // UTF8 escape\n\n bytes = new Uint8Array(msg.length);\n\n for (let i = 0; i < msg.length; ++i) {\n bytes[i] = msg.charCodeAt(i);\n }\n }\n\n return md5ToHexEncodedArray(wordsToMd5(bytesToWords(bytes), bytes.length * 8));\n}\n/*\n * Convert an array of little-endian words to an array of bytes\n */\n\n\nfunction md5ToHexEncodedArray(input) {\n const output = [];\n const length32 = input.length * 32;\n const hexTab = '0123456789abcdef';\n\n for (let i = 0; i < length32; i += 8) {\n const x = input[i >> 5] >>> i % 32 & 0xff;\n const hex = parseInt(hexTab.charAt(x >>> 4 & 0x0f) + hexTab.charAt(x & 0x0f), 16);\n output.push(hex);\n }\n\n return output;\n}\n/**\n * Calculate output length with padding and bit length\n */\n\n\nfunction getOutputLength(inputLength8) {\n return (inputLength8 + 64 >>> 9 << 4) + 14 + 1;\n}\n/*\n * Calculate the MD5 of an array of little-endian words, and a bit length.\n */\n\n\nfunction wordsToMd5(x, len) {\n /* append padding */\n x[len >> 5] |= 0x80 << len % 32;\n x[getOutputLength(len) - 1] = len;\n let a = 1732584193;\n let b = -271733879;\n let c = -1732584194;\n let d = 271733878;\n\n for (let i = 0; i < x.length; i += 16) {\n const olda = a;\n const oldb = b;\n const oldc = c;\n const oldd = d;\n a = md5ff(a, b, c, d, x[i], 7, -680876936);\n d = md5ff(d, a, b, c, x[i + 1], 12, -389564586);\n c = md5ff(c, d, a, b, x[i + 2], 17, 606105819);\n b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330);\n a = md5ff(a, b, c, d, x[i + 4], 7, -176418897);\n d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426);\n c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341);\n b = md5ff(b, c, d, a, x[i + 7], 22, -45705983);\n a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416);\n d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417);\n c = md5ff(c, d, a, b, x[i + 10], 17, -42063);\n b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162);\n a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682);\n d = md5ff(d, a, b, c, x[i + 13], 12, -40341101);\n c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290);\n b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329);\n a = md5gg(a, b, c, d, x[i + 1], 5, -165796510);\n d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632);\n c = md5gg(c, d, a, b, x[i + 11], 14, 643717713);\n b = md5gg(b, c, d, a, x[i], 20, -373897302);\n a = md5gg(a, b, c, d, x[i + 5], 5, -701558691);\n d = md5gg(d, a, b, c, x[i + 10], 9, 38016083);\n c = md5gg(c, d, a, b, x[i + 15], 14, -660478335);\n b = md5gg(b, c, d, a, x[i + 4], 20, -405537848);\n a = md5gg(a, b, c, d, x[i + 9], 5, 568446438);\n d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690);\n c = md5gg(c, d, a, b, x[i + 3], 14, -187363961);\n b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501);\n a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467);\n d = md5gg(d, a, b, c, x[i + 2], 9, -51403784);\n c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473);\n b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734);\n a = md5hh(a, b, c, d, x[i + 5], 4, -378558);\n d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463);\n c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562);\n b = md5hh(b, c, d, a, x[i + 14], 23, -35309556);\n a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060);\n d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353);\n c = md5hh(c, d, a, b, x[i + 7], 16, -155497632);\n b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640);\n a = md5hh(a, b, c, d, x[i + 13], 4, 681279174);\n d = md5hh(d, a, b, c, x[i], 11, -358537222);\n c = md5hh(c, d, a, b, x[i + 3], 16, -722521979);\n b = md5hh(b, c, d, a, x[i + 6], 23, 76029189);\n a = md5hh(a, b, c, d, x[i + 9], 4, -640364487);\n d = md5hh(d, a, b, c, x[i + 12], 11, -421815835);\n c = md5hh(c, d, a, b, x[i + 15], 16, 530742520);\n b = md5hh(b, c, d, a, x[i + 2], 23, -995338651);\n a = md5ii(a, b, c, d, x[i], 6, -198630844);\n d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415);\n c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905);\n b = md5ii(b, c, d, a, x[i + 5], 21, -57434055);\n a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571);\n d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606);\n c = md5ii(c, d, a, b, x[i + 10], 15, -1051523);\n b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799);\n a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359);\n d = md5ii(d, a, b, c, x[i + 15], 10, -30611744);\n c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380);\n b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649);\n a = md5ii(a, b, c, d, x[i + 4], 6, -145523070);\n d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379);\n c = md5ii(c, d, a, b, x[i + 2], 15, 718787259);\n b = md5ii(b, c, d, a, x[i + 9], 21, -343485551);\n a = safeAdd(a, olda);\n b = safeAdd(b, oldb);\n c = safeAdd(c, oldc);\n d = safeAdd(d, oldd);\n }\n\n return [a, b, c, d];\n}\n/*\n * Convert an array bytes to an array of little-endian words\n * Characters >255 have their high-byte silently ignored.\n */\n\n\nfunction bytesToWords(input) {\n if (input.length === 0) {\n return [];\n }\n\n const length8 = input.length * 8;\n const output = new Uint32Array(getOutputLength(length8));\n\n for (let i = 0; i < length8; i += 8) {\n output[i >> 5] |= (input[i / 8] & 0xff) << i % 32;\n }\n\n return output;\n}\n/*\n * Add integers, wrapping at 2^32. This uses 16-bit operations internally\n * to work around bugs in some JS interpreters.\n */\n\n\nfunction safeAdd(x, y) {\n const lsw = (x & 0xffff) + (y & 0xffff);\n const msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n return msw << 16 | lsw & 0xffff;\n}\n/*\n * Bitwise rotate a 32-bit number to the left.\n */\n\n\nfunction bitRotateLeft(num, cnt) {\n return num << cnt | num >>> 32 - cnt;\n}\n/*\n * These functions implement the four basic operations the algorithm uses.\n */\n\n\nfunction md5cmn(q, a, b, x, s, t) {\n return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b);\n}\n\nfunction md5ff(a, b, c, d, x, s, t) {\n return md5cmn(b & c | ~b & d, a, b, x, s, t);\n}\n\nfunction md5gg(a, b, c, d, x, s, t) {\n return md5cmn(b & d | c & ~d, a, b, x, s, t);\n}\n\nfunction md5hh(a, b, c, d, x, s, t) {\n return md5cmn(b ^ c ^ d, a, b, x, s, t);\n}\n\nfunction md5ii(a, b, c, d, x, s, t) {\n return md5cmn(c ^ (b | ~d), a, b, x, s, t);\n}\n\nvar _default = md5;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _v = _interopRequireDefault(require(\"./v35.js\"));\n\nvar _md = _interopRequireDefault(require(\"./md5.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst v3 = (0, _v.default)('v3', 0x30, _md.default);\nvar _default = v3;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nconst randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nvar _default = {\n randomUUID\n};\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _native = _interopRequireDefault(require(\"./native.js\"));\n\nvar _rng = _interopRequireDefault(require(\"./rng.js\"));\n\nvar _stringify = require(\"./stringify.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction v4(options, buf, offset) {\n if (_native.default.randomUUID && !buf && !options) {\n return _native.default.randomUUID();\n }\n\n options = options || {};\n\n const rnds = options.random || (options.rng || _rng.default)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return (0, _stringify.unsafeStringify)(rnds);\n}\n\nvar _default = v4;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\n// Adapted from Chris Veness' SHA1 code at\n// http://www.movable-type.co.uk/scripts/sha1.html\nfunction f(s, x, y, z) {\n switch (s) {\n case 0:\n return x & y ^ ~x & z;\n\n case 1:\n return x ^ y ^ z;\n\n case 2:\n return x & y ^ x & z ^ y & z;\n\n case 3:\n return x ^ y ^ z;\n }\n}\n\nfunction ROTL(x, n) {\n return x << n | x >>> 32 - n;\n}\n\nfunction sha1(bytes) {\n const K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6];\n const H = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0];\n\n if (typeof bytes === 'string') {\n const msg = unescape(encodeURIComponent(bytes)); // UTF8 escape\n\n bytes = [];\n\n for (let i = 0; i < msg.length; ++i) {\n bytes.push(msg.charCodeAt(i));\n }\n } else if (!Array.isArray(bytes)) {\n // Convert Array-like to Array\n bytes = Array.prototype.slice.call(bytes);\n }\n\n bytes.push(0x80);\n const l = bytes.length / 4 + 2;\n const N = Math.ceil(l / 16);\n const M = new Array(N);\n\n for (let i = 0; i < N; ++i) {\n const arr = new Uint32Array(16);\n\n for (let j = 0; j < 16; ++j) {\n arr[j] = bytes[i * 64 + j * 4] << 24 | bytes[i * 64 + j * 4 + 1] << 16 | bytes[i * 64 + j * 4 + 2] << 8 | bytes[i * 64 + j * 4 + 3];\n }\n\n M[i] = arr;\n }\n\n M[N - 1][14] = (bytes.length - 1) * 8 / Math.pow(2, 32);\n M[N - 1][14] = Math.floor(M[N - 1][14]);\n M[N - 1][15] = (bytes.length - 1) * 8 & 0xffffffff;\n\n for (let i = 0; i < N; ++i) {\n const W = new Uint32Array(80);\n\n for (let t = 0; t < 16; ++t) {\n W[t] = M[i][t];\n }\n\n for (let t = 16; t < 80; ++t) {\n W[t] = ROTL(W[t - 3] ^ W[t - 8] ^ W[t - 14] ^ W[t - 16], 1);\n }\n\n let a = H[0];\n let b = H[1];\n let c = H[2];\n let d = H[3];\n let e = H[4];\n\n for (let t = 0; t < 80; ++t) {\n const s = Math.floor(t / 20);\n const T = ROTL(a, 5) + f(s, b, c, d) + e + K[s] + W[t] >>> 0;\n e = d;\n d = c;\n c = ROTL(b, 30) >>> 0;\n b = a;\n a = T;\n }\n\n H[0] = H[0] + a >>> 0;\n H[1] = H[1] + b >>> 0;\n H[2] = H[2] + c >>> 0;\n H[3] = H[3] + d >>> 0;\n H[4] = H[4] + e >>> 0;\n }\n\n return [H[0] >> 24 & 0xff, H[0] >> 16 & 0xff, H[0] >> 8 & 0xff, H[0] & 0xff, H[1] >> 24 & 0xff, H[1] >> 16 & 0xff, H[1] >> 8 & 0xff, H[1] & 0xff, H[2] >> 24 & 0xff, H[2] >> 16 & 0xff, H[2] >> 8 & 0xff, H[2] & 0xff, H[3] >> 24 & 0xff, H[3] >> 16 & 0xff, H[3] >> 8 & 0xff, H[3] & 0xff, H[4] >> 24 & 0xff, H[4] >> 16 & 0xff, H[4] >> 8 & 0xff, H[4] & 0xff];\n}\n\nvar _default = sha1;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _v = _interopRequireDefault(require(\"./v35.js\"));\n\nvar _sha = _interopRequireDefault(require(\"./sha1.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst v5 = (0, _v.default)('v5', 0x50, _sha.default);\nvar _default = v5;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _default = '00000000-0000-0000-0000-000000000000';\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction version(uuid) {\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n return parseInt(uuid.slice(14, 15), 16);\n}\n\nvar _default = version;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"NIL\", {\n enumerable: true,\n get: function get() {\n return _nil.default;\n }\n});\nObject.defineProperty(exports, \"parse\", {\n enumerable: true,\n get: function get() {\n return _parse.default;\n }\n});\nObject.defineProperty(exports, \"stringify\", {\n enumerable: true,\n get: function get() {\n return _stringify.default;\n }\n});\nObject.defineProperty(exports, \"v1\", {\n enumerable: true,\n get: function get() {\n return _v.default;\n }\n});\nObject.defineProperty(exports, \"v3\", {\n enumerable: true,\n get: function get() {\n return _v2.default;\n }\n});\nObject.defineProperty(exports, \"v4\", {\n enumerable: true,\n get: function get() {\n return _v3.default;\n }\n});\nObject.defineProperty(exports, \"v5\", {\n enumerable: true,\n get: function get() {\n return _v4.default;\n }\n});\nObject.defineProperty(exports, \"validate\", {\n enumerable: true,\n get: function get() {\n return _validate.default;\n }\n});\nObject.defineProperty(exports, \"version\", {\n enumerable: true,\n get: function get() {\n return _version.default;\n }\n});\n\nvar _v = _interopRequireDefault(require(\"./v1.js\"));\n\nvar _v2 = _interopRequireDefault(require(\"./v3.js\"));\n\nvar _v3 = _interopRequireDefault(require(\"./v4.js\"));\n\nvar _v4 = _interopRequireDefault(require(\"./v5.js\"));\n\nvar _nil = _interopRequireDefault(require(\"./nil.js\"));\n\nvar _version = _interopRequireDefault(require(\"./version.js\"));\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nvar _stringify = _interopRequireDefault(require(\"./stringify.js\"));\n\nvar _parse = _interopRequireDefault(require(\"./parse.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }","'use strict';\n\n/**\n * Converter\n *\n * @param {string|Array} srcAlphabet\n * @param {string|Array} dstAlphabet\n * @constructor\n */\nfunction Converter(srcAlphabet, dstAlphabet) {\n if (!srcAlphabet || !dstAlphabet || !srcAlphabet.length || !dstAlphabet.length) {\n throw new Error('Bad alphabet');\n }\n this.srcAlphabet = srcAlphabet;\n this.dstAlphabet = dstAlphabet;\n}\n\n/**\n * Convert number from source alphabet to destination alphabet\n *\n * @param {string|Array} number - number represented as a string or array of points\n *\n * @returns {string|Array}\n */\nConverter.prototype.convert = function(number) {\n var i, divide, newlen,\n numberMap = {},\n fromBase = this.srcAlphabet.length,\n toBase = this.dstAlphabet.length,\n length = number.length,\n result = typeof number === 'string' ? '' : [];\n\n if (!this.isValid(number)) {\n throw new Error('Number \"' + number + '\" contains of non-alphabetic digits (' + this.srcAlphabet + ')');\n }\n\n if (this.srcAlphabet === this.dstAlphabet) {\n return number;\n }\n\n for (i = 0; i < length; i++) {\n numberMap[i] = this.srcAlphabet.indexOf(number[i]);\n }\n do {\n divide = 0;\n newlen = 0;\n for (i = 0; i < length; i++) {\n divide = divide * fromBase + numberMap[i];\n if (divide >= toBase) {\n numberMap[newlen++] = parseInt(divide / toBase, 10);\n divide = divide % toBase;\n } else if (newlen > 0) {\n numberMap[newlen++] = 0;\n }\n }\n length = newlen;\n result = this.dstAlphabet.slice(divide, divide + 1).concat(result);\n } while (newlen !== 0);\n\n return result;\n};\n\n/**\n * Valid number with source alphabet\n *\n * @param {number} number\n *\n * @returns {boolean}\n */\nConverter.prototype.isValid = function(number) {\n var i = 0;\n for (; i < number.length; ++i) {\n if (this.srcAlphabet.indexOf(number[i]) === -1) {\n return false;\n }\n }\n return true;\n};\n\nmodule.exports = Converter;","var Converter = require('./src/converter');\n\n/**\n * Function get source and destination alphabet and return convert function\n *\n * @param {string|Array} srcAlphabet\n * @param {string|Array} dstAlphabet\n *\n * @returns {function(number|Array)}\n */\nfunction anyBase(srcAlphabet, dstAlphabet) {\n var converter = new Converter(srcAlphabet, dstAlphabet);\n /**\n * Convert function\n *\n * @param {string|Array} number\n *\n * @return {string|Array} number\n */\n return function (number) {\n return converter.convert(number);\n }\n};\n\nanyBase.BIN = '01';\nanyBase.OCT = '01234567';\nanyBase.DEC = '0123456789';\nanyBase.HEX = '0123456789abcdef';\n\nmodule.exports = anyBase;","/**\n * Created by Samuel on 6/4/2016.\n * Simple wrapper functions to produce shorter UUIDs for cookies, maybe everything?\n */\n\nconst { v4: uuidV4, validate: uuidValidate } = require('uuid');\nconst anyBase = require('any-base');\n\nconst constants = {\n cookieBase90: \"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!#$%&'()*+-./:<=>?@[]^_`{|}~\",\n flickrBase58: '123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ',\n uuid25Base36: '0123456789abcdefghijklmnopqrstuvwxyz',\n};\n\nconst baseOptions = {\n consistentLength: true,\n};\n\n// A default generator, instantiated only if used.\nlet toFlickr;\n\n/**\n * Takes a UUID, strips the dashes, and translates.\n * @param {string} longId\n * @param {function(string):string} translator\n * @param {Object} [paddingParams]\n * @returns {string}\n */\nconst shortenUUID = (longId, translator, paddingParams) => {\n const translated = translator(longId.toLowerCase().replace(/-/g, ''));\n\n if (!paddingParams || !paddingParams.consistentLength) return translated;\n\n return translated.padStart(\n paddingParams.shortIdLength,\n paddingParams.paddingChar,\n );\n};\n\n/**\n * Translate back to hex and turn back into UUID format, with dashes\n * @param {string} shortId\n * @param {function(string)} translator\n * @returns {string}\n */\nconst enlargeUUID = (shortId, translator) => {\n const uu1 = translator(shortId).padStart(32, '0');\n\n // Join the zero padding and the UUID and then slice it up with match\n const m = uu1.match(/(\\w{8})(\\w{4})(\\w{4})(\\w{4})(\\w{12})/);\n\n // Accumulate the matches and join them.\n return [m[1], m[2], m[3], m[4], m[5]].join('-');\n};\n\n/**\n * Calculate length for the shortened ID\n * @param {number} alphabetLength\n * @returns {number}\n */\nconst getShortIdLength = (alphabetLength) => (\n Math.ceil(Math.log(2 ** 128) / Math.log(alphabetLength)));\n\nmodule.exports = (() => {\n /**\n * @param {string} toAlphabet\n * @param {{ consistentLength: boolean }} [options]\n * @returns {{\n * alphabet: string,\n * fromUUID: (function(*): string),\n * generate: (function(): string),\n * maxLength: number,\n * new: (function(): string),\n * toUUID: (function(*): string),\n * uuid: ((function(*, *, *): (*))|*),\n * validate: ((function(*, boolean=false): (boolean))|*)}}\n */\n const makeConvertor = (toAlphabet, options) => {\n // Default to Flickr 58\n const useAlphabet = toAlphabet || constants.flickrBase58;\n\n // Default to baseOptions\n const selectedOptions = { ...baseOptions, ...options };\n\n // Check alphabet for duplicate entries\n if ([...new Set(Array.from(useAlphabet))].length !== useAlphabet.length) {\n throw new Error('The provided Alphabet has duplicate characters resulting in unreliable results');\n }\n\n const shortIdLength = getShortIdLength(useAlphabet.length);\n\n // Padding Params\n const paddingParams = {\n shortIdLength,\n consistentLength: selectedOptions.consistentLength,\n paddingChar: useAlphabet[0],\n };\n\n // UUIDs are in hex, so we translate to and from.\n const fromHex = anyBase(anyBase.HEX, useAlphabet);\n const toHex = anyBase(useAlphabet, anyBase.HEX);\n /**\n * @returns {string} - short id\n */\n const generate = () => shortenUUID(uuidV4(), fromHex, paddingParams);\n\n /**\n * Confirm if string is a valid id. Checks length and alphabet.\n * If the second parameter is true it will translate to standard UUID\n * and check the result for UUID validity.\n * @param {string} shortId - The string to check for validity\n * @param {boolean} [rigorous=false] - If true, also check for a valid UUID\n * @returns {boolean}\n */\n const validate = (shortId, rigorous = false) => {\n if (!shortId || typeof shortId !== 'string') return false;\n const isCorrectLength = selectedOptions.consistentLength\n ? shortId.length === shortIdLength\n : shortId.length <= shortIdLength;\n const onlyAlphabet = shortId.split('').every((letter) => useAlphabet.includes(letter));\n if (rigorous === false) return isCorrectLength && onlyAlphabet;\n return isCorrectLength && onlyAlphabet && uuidValidate(enlargeUUID(shortId, toHex));\n };\n\n const translator = {\n alphabet: useAlphabet,\n fromUUID: (uuid) => shortenUUID(uuid, fromHex, paddingParams),\n maxLength: shortIdLength,\n generate,\n new: generate,\n toUUID: (shortUuid) => enlargeUUID(shortUuid, toHex),\n uuid: uuidV4,\n validate,\n };\n\n Object.freeze(translator);\n\n return translator;\n };\n\n // Expose the constants for other purposes.\n makeConvertor.constants = constants;\n\n // Expose the generic v4 UUID generator for convenience\n makeConvertor.uuid = uuidV4;\n\n // Provide a generic generator\n makeConvertor.generate = () => {\n if (!toFlickr) {\n // Generate on first use;\n toFlickr = makeConvertor(constants.flickrBase58).generate;\n }\n return toFlickr();\n };\n\n return makeConvertor;\n})();\n","'use strict';\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Worker = void 0;\nclass Worker {\n #epoch;\n #workerId;\n #workerIdBits;\n #maxWorkerId;\n #datacenterId;\n #datacenterIdBits;\n #maxDatacenterId;\n #sequence;\n #sequenceBits;\n #workerIdShift;\n #datacenterIdShift;\n #timestampLeftShift;\n #sequenceMask;\n #lastTimestamp = -1n;\n constructor(workerId = 0n, datacenterId = 0n, options) {\n this.#epoch = BigInt(options?.epoch ?? 1609459200000);\n this.#workerId = BigInt(workerId);\n this.#workerIdBits = BigInt(options?.workerIdBits ?? 5);\n this.#maxWorkerId = -1n ^ (-1n << this.#workerIdBits);\n if (this.#workerId < 0 || this.#workerId > this.#maxWorkerId) {\n throw new Error('With ' +\n this.#workerIdBits.toString() +\n \" bits, worker id can't be greater than \" +\n this.#maxWorkerId.toString() +\n ' or less than 0');\n }\n this.#datacenterId = BigInt(datacenterId);\n this.#datacenterIdBits = BigInt(options?.datacenterIdBits ?? 5);\n this.#maxDatacenterId = -1n ^ (-1n << this.#datacenterIdBits);\n if (this.#datacenterId > this.#maxDatacenterId || this.#datacenterId < 0) {\n throw new Error('With ' +\n this.#datacenterIdBits.toString() +\n \" bits, datacenter id can't be greater than \" +\n this.#maxDatacenterId.toString() +\n ' or less than 0');\n }\n this.#sequence = BigInt(options?.sequence ?? 0);\n this.#sequenceBits = BigInt(options?.sequenceBits ?? 12);\n this.#sequenceMask = -1n ^ (-1n << this.#sequenceBits);\n this.#workerIdShift = this.#sequenceBits;\n this.#datacenterIdShift = this.#sequenceBits + this.#workerIdBits;\n this.#timestampLeftShift = this.#sequenceBits + this.#workerIdBits + this.#datacenterIdBits;\n }\n get workerId() {\n return this.#workerId;\n }\n get datacenterId() {\n return this.#datacenterId;\n }\n get currentSequence() {\n return this.#sequence;\n }\n get lastTimestamp() {\n return this.#lastTimestamp;\n }\n nextId() {\n let timestamp = Worker.now();\n if (timestamp < this.#lastTimestamp) {\n throw new Error(\"Clock moved backwards. Can't generate new ID for \" +\n (this.#lastTimestamp - timestamp).toString() +\n 'milliseconds.');\n }\n if (timestamp === this.#lastTimestamp) {\n this.#sequence = (this.#sequence + 1n) & this.#sequenceMask;\n if (this.#sequence === 0n) {\n timestamp = this.tilNextMillis(this.#lastTimestamp);\n }\n }\n else {\n this.#sequence = 0n;\n }\n this.#lastTimestamp = timestamp;\n return (((timestamp - this.#epoch) << this.#timestampLeftShift) |\n (this.#datacenterId << this.#datacenterIdShift) |\n (this.#workerId << this.#workerIdShift) |\n this.#sequence);\n }\n tilNextMillis(lastTimestamp) {\n let timestamp;\n do {\n timestamp = Worker.now();\n } while (timestamp <= lastTimestamp);\n return timestamp;\n }\n static now() {\n return BigInt(Date.now());\n }\n}\nexports.Worker = Worker;\n","import{ServiceError as r,badRequestError as e}from\"@lowerdeck/error\";import{Hash as t}from\"@lowerdeck/hash\";import{customAlphabet as n}from\"nanoid\";import i from\"short-uuid\";import{Worker as o}from\"snowflake-uuid\";var f=i(\"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\"),u=n(\"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\",20),s=n(\"0123456789\",6),d=function(){return(new Date).getTime().toString(36).padStart(9,\"0\")},a=new o(0,0,{workerIdBits:12,sequenceBits:12}),c=new Set,h=function(r){if(r.endsWith(\"_\")&&(r=r.slice(0,-1)),c.has(r))throw new Error(\"Prefix \"+r+\" already exists\")},p={sorted:function(r,e){return void 0===e&&(e=22),h(r),{prefix:r,length:e,type:\"sorted\"}},unsorted:function(r,e){return void 0===e&&(e=22),h(r),{prefix:r,length:e,type:\"unsorted\"}},key:function(r,e){return void 0===e&&(e=50),h(r),{prefix:r,length:e,type:\"key\"}}},x=function(r){for(var e in r)r[e].prefix.endsWith(\"_\")||(r[e].prefix=r[e].prefix+\"_\");var n=new Set;for(var i in r){var o=r[i].prefix;if(n.has(o))throw new Error(\"Prefix \"+o+\" already exists\");n.add(o)}var s=function(e){var t=r[e];if(!t)throw new Error(\"Invalid prefix: \"+e);return t};return{generateId:function(r){try{var e=s(r),n=e.length;if(\"sorted\"==e.type){var i=d(),o=n-i.length;return o<10&&(o=10),Promise.resolve(\"\"+e.prefix+i+u(o))}if(\"unsorted\"==e.type)return Promise.resolve(\"\"+e.prefix+u(n));var f=\"\"+e.prefix+u(n);return Promise.resolve(t.sha512(f)).then(function(r){return\"\"+f+r.slice(0,6)})}catch(r){return Promise.reject(r)}},generateIdSync:function(r){var e=s(r),t=e.length;if(\"sorted\"==e.type){var n=d(),i=t-n.length;return i<10&&(i=10),\"\"+e.prefix+n+u(i)}if(\"unsorted\"==e.type)return\"\"+e.prefix+u(t);throw new Error(\"Cannot generate key id synchronously\")},idPrefixes:Object.entries(r).reduce(function(r,e){return r[e[0]]=e[1].prefix,r},{}),normalizeUUID:function(r,e){return\"\"+s(r).prefix+f.fromUUID(e)}}},l=function(t){if(t.endsWith(\"_\")||(t+=\"_\"),c.has(t))throw new Error(\"Prefix \"+t+\" already exists\");return c.add(t),{fromUUID:function(r){return\"\"+t+f.fromUUID(r)},toUUID:function(n){if(!n.startsWith(t))throw new r(e({message:\"ID \"+n+\" does not start with prefix \"+t}));return f.toUUID(n.slice(t.length))}}},v=function(r,e){return void 0===e&&(e=20),r&&!r.endsWith(\"_\")&&(r+=\"_\"),\"\"+r+u(e)},w=function(r){return void 0===r&&(r=20),u(r)},m=function(r,e){void 0===e&&(e=20);var t=d(),n=e-t.length;return n<10&&(n=10),\"\"+r+t+u(n)},y=function(r){return void 0===r&&(r=6),s(r)},g=function(r){return r&&!r.endsWith(\"_\")&&(r+=\"_\"),\"\"+r+a.nextId().toString(36)};export{x as createIdGenerator,l as createUuidTranslator,y as generateCode,v as generateCustomId,m as generateId,w as generatePlainId,g as generateSnowflakeId,d as idTime,p as idType};\n//# sourceMappingURL=index.module.js.map\n","import { createExecutionContext, provideExecutionContext } from '@lowerdeck/execution-context';\nimport { generateCustomId } from '@lowerdeck/id';\nimport { IQueueProcessor } from '@lowerdeck/queue';\nimport { parseRedisUrl } from '@lowerdeck/redis';\nimport { getSentry } from '@lowerdeck/sentry';\nimport { Queue, Worker } from 'bullmq';\n\nlet Sentry = getSentry();\n\nlet log = (...any: any[]) => console.log('[CRON MANAGER]:', ...any);\n\nlet seenNames = new Set<string>();\n\nexport let createCron = (\n opts: {\n name: string;\n cron: string;\n redisUrl: string;\n },\n handler: () => Promise<void>\n): IQueueProcessor => {\n if (seenNames.has(opts.name)) {\n throw new Error(`Cron with name ${opts.name} already exists`);\n }\n\n let connection = parseRedisUrl(opts.redisUrl);\n let queue = new Queue(opts.name, {\n connection,\n defaultJobOptions: {\n removeOnComplete: true,\n removeOnFail: true\n }\n });\n\n return {\n start: async () => {\n log(`Starting cron job ${opts.name} to run every ${opts.cron} using bullmq`);\n\n await queue.upsertJobScheduler(\n 'cron',\n {\n pattern: opts.cron\n },\n {\n opts: {\n removeDependencyOnFailure: true,\n removeOnComplete: true,\n removeOnFail: true,\n keepLogs: 0\n }\n }\n );\n\n let worker = new Worker(\n opts.name,\n async () => {\n provideExecutionContext(\n createExecutionContext({\n type: 'scheduled',\n contextId: generateCustomId('cron_'),\n cron: opts.cron,\n name: opts.name\n }),\n async () => {\n log(`Running cron job ${opts.name}`);\n\n try {\n await handler();\n } catch (err) {\n Sentry.captureException(err, {\n tags: {\n cronName: opts.name\n }\n });\n throw err;\n }\n }\n );\n },\n { connection }\n );\n\n return {\n close: worker.close.bind(worker)\n };\n }\n };\n};\n","import{generateId as r}from\"@lowerdeck/id\";import{getSentry as t}from\"@lowerdeck/sentry\";import{AsyncLocalStorage as e}from\"async_hooks\";var o=function(t){return t.contextId||(t.contextId=r(\"ctx_\")),t},n=t(),c=new e,i=function(r){try{var t=c.getStore();if(!t)throw new Error(\"No execution context found\");return Promise.resolve(r(t.context))}catch(r){return Promise.reject(r)}},u=function(r){try{var t,e=c.getStore();return Promise.resolve(r(null!=(t=null==e?void 0:e.context)?t:null))}catch(r){return Promise.reject(r)}},f=function(r){try{var t=c.getStore();if(!t)throw new Error(\"No execution context found\");if(!t.afterHooks)throw new Error(\"After hooks not enabled for this execution context\");return t.afterHooks.push(r),Promise.resolve()}catch(r){return Promise.reject(r)}},s=function(r,t){try{var e=[];return n.setContext(\"executionContext\",r),Promise.resolve(c.run({context:r,afterHooks:e},function(){try{return Promise.resolve(t())}catch(r){return Promise.reject(r)}})).then(function(t){for(var o=0,c=e;o<c.length;o++)(0,c[o])().catch(function(t){n.captureException(t),console.error(\"Error in after hook\",{err:t,context:r})});return t})}catch(r){return Promise.reject(r)}},a=function(r){c.enterWith({context:r})},x=function(r){var t=h();return Object.assign(t,r),t},h=function(){var r=c.getStore();if(!r)throw new Error(\"No execution context found\");return r.context};export{f as addAfterHook,o as createExecutionContext,c as ctxStorage,h as getExecutionContext,s as provideExecutionContext,a as setExecutionContextSync,x as updateExecutionContext,i as withExecutionContext,u as withExecutionContextOptional};\n//# sourceMappingURL=index.module.js.map\n"],"names":["t","Object","assign","bind","e","arguments","length","r","o","hasOwnProperty","call","apply","i","__typename","data","toResponse","ok","ALPHABET","BASE_MAP","Uint8Array","j","x","charAt","xc","charCodeAt","TypeError","Math","log","base","getRandomValues","random","bytes","crypto","customAlphabet","alphabet","size","defaultSize","getRandom","mask","log2","step","id","customRandom","rnds8","Error","defineProperty","exports","value","default","obj","_regex","require$$0","__esModule","uuid","test","unsafeStringify","_validate","byteToHex","push","toString","slice","arr","offset","_rng","_nodeId","_clockseq","_lastMSecs","_lastNSecs","options","buf","b","Array","node","clockseq","undefined","seedBytes","rng","msecs","Date","now","nsecs","dt","tl","tmh","n","_stringify","v","parseInt","URL","DNS","name","version","hashfunc","generateUUID","namespace","_namespace","str","unescape","encodeURIComponent","stringToBytes","_parse","set","err","getOutputLength","inputLength8","safeAdd","y","lsw","md5cmn","q","a","s","num","cnt","md5ff","c","d","md5gg","md5hh","md5ii","msg","input","output","length32","hexTab","hex","md5ToHexEncodedArray","len","olda","oldb","oldc","oldd","wordsToMd5","length8","Uint32Array","bytesToWords","_v","_interopRequireDefault","_md","require$$1","v3","randomUUID","_native","rnds","f","z","ROTL","K","H","isArray","prototype","N","ceil","M","pow","floor","W","T","_sha","v5","enumerable","get","_nil","_v2","_v3","_v4","_version","require$$2","require$$3","require$$4","require$$5","require$$6","require$$7","require$$8","Converter","srcAlphabet","dstAlphabet","this","convert","number","divide","newlen","numberMap","fromBase","toBase","result","isValid","indexOf","concat","converter","anyBase","BIN","OCT","DEC","HEX","anyBase_1","v4","uuidV4","validate","uuidValidate","constants","cookieBase90","flickrBase58","uuid25Base36","baseOptions","consistentLength","toFlickr","shortenUUID","longId","translator","paddingParams","translated","toLowerCase","replace","padStart","shortIdLength","paddingChar","enlargeUUID","shortId","m","match","join","shortUuid","makeConvertor","toAlphabet","useAlphabet","selectedOptions","Set","from","alphabetLength","fromHex","toHex","generate","fromUUID","maxLength","new","toUUID","rigorous","isCorrectLength","onlyAlphabet","split","every","letter","includes","freeze","Worker","epoch","workerId","workerIdBits","maxWorkerId","datacenterId","datacenterIdBits","maxDatacenterId","sequence","sequenceBits","workerIdShift","datacenterIdShift","timestampLeftShift","sequenceMask","lastTimestamp","constructor","BigInt","currentSequence","nextId","timestamp","tilNextMillis","u","Sentry","getSentry","_console","console","seenNames","opts","handler","has","connection","parseRedisUrl","redisUrl","queue","Queue","defaultJobOptions","removeOnComplete","removeOnFail","start","cron","Promise","resolve","upsertJobScheduler","pattern","removeDependencyOnFailure","keepLogs","then","worker","_catch","captureException","tags","cronName","reject","provideExecutionContext","contextId","getTime","createExecutionContext","type","endsWith","close"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.umd.js","sources":["../src/index.ts"],"sourcesContent":["import { createExecutionContext, provideExecutionContext } from '@lowerdeck/execution-context';\nimport { generateCustomId } from '@lowerdeck/id';\nimport { IQueueProcessor } from '@lowerdeck/queue';\nimport { parseRedisUrl } from '@lowerdeck/redis';\nimport { getSentry } from '@lowerdeck/sentry';\nimport { Queue, Worker } from 'bullmq';\n\nlet Sentry = getSentry();\n\nlet log = (...any: any[]) => console.log('[CRON MANAGER]:', ...any);\n\nlet seenNames = new Set<string>();\n\nexport let createCron = (\n opts: {\n name: string;\n cron: string;\n redisUrl: string;\n },\n handler: () => Promise<void>\n): IQueueProcessor => {\n if (seenNames.has(opts.name)) {\n throw new Error(`Cron with name ${opts.name} already exists`);\n }\n\n let connection = parseRedisUrl(opts.redisUrl);\n let queue = new Queue(opts.name, {\n connection,\n defaultJobOptions: {\n removeOnComplete: true,\n removeOnFail: true\n }\n });\n\n return {\n start: async () => {\n log(`Starting cron job ${opts.name} to run every ${opts.cron} using bullmq`);\n\n await queue.upsertJobScheduler(\n 'cron',\n {\n pattern: opts.cron\n },\n {\n opts: {\n removeDependencyOnFailure: true,\n removeOnComplete: true,\n removeOnFail: true,\n keepLogs: 0\n }\n }\n );\n\n let worker = new Worker(\n opts.name,\n async () => {\n provideExecutionContext(\n createExecutionContext({\n type: 'scheduled',\n contextId: generateCustomId('cron_'),\n cron: opts.cron,\n name: opts.name\n }),\n async () => {\n log(`Running cron job ${opts.name}`);\n\n try {\n await handler();\n } catch (err) {\n Sentry.captureException(err, {\n tags: {\n cronName: opts.name\n }\n });\n throw err;\n }\n }\n );\n },\n { connection }\n );\n\n return {\n close: worker.close.bind(worker)\n };\n }\n };\n};\n"],"names":["Sentry","getSentry","log","_console","console","apply","concat","slice","call","arguments","seenNames","Set","opts","handler","has","name","Error","connection","parseRedisUrl","redisUrl","queue","Queue","defaultJobOptions","removeOnComplete","removeOnFail","start","cron","Promise","resolve","upsertJobScheduler","pattern","removeDependencyOnFailure","keepLogs","then","worker","Worker","provideExecutionContext","createExecutionContext","type","contextId","generateCustomId","_catch","err","captureException","tags","cronName","e","reject","close","bind"],"mappings":"qgBAOA,IAAIA,EAASC,EAAAA,YAETC,EAAM,WAAH,IAAAC,EAAsB,OAAAA,EAAAC,SAAQF,IAAGG,MAAAF,EAAA,CAAC,mBAAiBG,OAAAC,GAAAA,MAAAC,KAAAC,YAAS,EAE/DC,EAAY,IAAIC,iBAEI,SACtBC,EAKAC,GAEA,GAAIH,EAAUI,IAAIF,EAAKG,MACrB,MAAU,IAAAC,MAAwBJ,kBAAAA,EAAKG,KAAI,mBAG7C,IAAIE,EAAaC,EAAAA,cAAcN,EAAKO,UAChCC,EAAQ,IAAIC,EAAKA,MAACT,EAAKG,KAAM,CAC/BE,WAAAA,EACAK,kBAAmB,CACjBC,kBAAkB,EAClBC,cAAc,KAIlB,MAAO,CACLC,MAAK,WAAa,IAC6D,OAA7EvB,EAAyBU,qBAAAA,EAAKG,KAAI,iBAAiBH,EAAKc,KAAI,iBAAiBC,QAAAC,QAEvER,EAAMS,mBACV,OACA,CACEC,QAASlB,EAAKc,MAEhB,CACEd,KAAM,CACJmB,2BAA2B,EAC3BR,kBAAkB,EAClBC,cAAc,EACdQ,SAAU,MAGfC,KAED,WAAA,IAAIC,EAAS,IAAIC,EAAMA,OACrBvB,EAAKG,KACM,WAAA,IAsBP,OArBFqB,EAAAA,wBACEC,EAAsBA,uBAAC,CACrBC,KAAM,YACNC,UAAWC,mBAAiB,SAC5Bd,KAAMd,EAAKc,KACXX,KAAMH,EAAKG,sBAG0B,OAArCb,EAAwBU,oBAAAA,EAAKG,MAAQY,QAAAC,gCAEjCD,QAAAC,QACIf,KAASoB,KAAA,WAAA,4DAHoBQ,CAAA,EAI5BC,SAAAA,GAMP,MALA1C,EAAO2C,iBAAiBD,EAAK,CAC3BE,KAAM,CACJC,SAAUjC,EAAKG,QAGb2B,CACR,GACF,CAAC,MAAAI,GAAAnB,OAAAA,QAAAoB,OAAAD,EACF,CAAA,GAACnB,QAAAC,SACJ,CAAC,MAAAkB,GAAAnB,OAAAA,QAAAoB,OAAAD,KACD,CAAE7B,WAAAA,IAGJ,MAAO,CACL+B,MAAOd,EAAOc,MAAMC,KAAKf,GACzB,EACJ,CAAC,MAAAY,GAAA,OAAAnB,QAAAoB,OAAAD,KAEL"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lowerdeck/cron",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
7
|
+
"files": [
|
|
8
|
+
"src/**",
|
|
9
|
+
"dist/**",
|
|
10
|
+
"README.md",
|
|
11
|
+
"package.json"
|
|
12
|
+
],
|
|
7
13
|
"author": "Tobias Herber",
|
|
8
14
|
"license": "Apache 2",
|
|
9
15
|
"type": "module",
|
|
@@ -21,18 +27,18 @@
|
|
|
21
27
|
"scripts": {
|
|
22
28
|
"test": "vitest run --passWithNoTests",
|
|
23
29
|
"lint": "prettier src/**/*.ts --check",
|
|
24
|
-
"build": "microbundle"
|
|
30
|
+
"build": "rm -rf ./dist && microbundle"
|
|
25
31
|
},
|
|
26
32
|
"dependencies": {
|
|
27
|
-
"@lowerdeck/execution-context": "^1.0.
|
|
28
|
-
"@lowerdeck/id": "^1.0.
|
|
29
|
-
"@lowerdeck/queue": "^1.0.
|
|
30
|
-
"@lowerdeck/redis": "^1.0.
|
|
31
|
-
"@lowerdeck/sentry": "^1.0.
|
|
33
|
+
"@lowerdeck/execution-context": "^1.0.2",
|
|
34
|
+
"@lowerdeck/id": "^1.0.5",
|
|
35
|
+
"@lowerdeck/queue": "^1.0.4",
|
|
36
|
+
"@lowerdeck/redis": "^1.0.3",
|
|
37
|
+
"@lowerdeck/sentry": "^1.0.2",
|
|
32
38
|
"bullmq": "^5.34.3"
|
|
33
39
|
},
|
|
34
40
|
"devDependencies": {
|
|
35
|
-
"@lowerdeck/tsconfig": "^1.0.
|
|
41
|
+
"@lowerdeck/tsconfig": "^1.0.1",
|
|
36
42
|
"typescript": "5.8.2",
|
|
37
43
|
"microbundle": "^0.15.1",
|
|
38
44
|
"vitest": "^3.1.2"
|
package/.turbo/turbo-build.log
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
[0m[2m[35m$[0m [2m[1mmicrobundle[0m
|
|
3
|
-
Failed to resolve the module async_hooks imported by ../execution-context/dist/index.module.js
|
|
4
|
-
Is the module installed? Note:
|
|
5
|
-
↳ to inline a module into your bundle, install it to "devDependencies".
|
|
6
|
-
↳ to depend on a module via import/require, install it to "dependencies".
|
|
7
|
-
Failed to resolve the module async_hooks imported by ../execution-context/dist/index.module.js
|
|
8
|
-
Is the module installed? Note:
|
|
9
|
-
↳ to inline a module into your bundle, install it to "devDependencies".
|
|
10
|
-
↳ to depend on a module via import/require, install it to "dependencies".
|
|
11
|
-
Failed to resolve the module async_hooks imported by ../execution-context/dist/index.module.js
|
|
12
|
-
Is the module installed? Note:
|
|
13
|
-
↳ to inline a module into your bundle, install it to "devDependencies".
|
|
14
|
-
↳ to depend on a module via import/require, install it to "dependencies".
|
|
15
|
-
No name was provided for external module '@lowerdeck/sentry' in output.globals – guessing 'sentry'
|
|
16
|
-
No name was provided for external module 'async_hooks' in output.globals – guessing 'async_hooks'
|
|
17
|
-
No name was provided for external module '@lowerdeck/redis' in output.globals – guessing 'redis'
|
|
18
|
-
[34mBuild "@lowerdeck/cron" to dist:[39m
|
|
19
|
-
[33m7.62 kB[39m: [37mindex.cjs[39m.gz
|
|
20
|
-
[33m6.53 kB[39m: [37mindex.cjs[39m.br
|
|
21
|
-
[33m7.6 kB[39m: [37mindex.module.js[39m.gz
|
|
22
|
-
[33m6.5 kB[39m: [37mindex.module.js[39m.br
|
|
23
|
-
[33m7.64 kB[39m: [37mindex.module.js[39m.gz
|
|
24
|
-
[33m6.55 kB[39m: [37mindex.module.js[39m.br
|
|
25
|
-
[33m7.74 kB[39m: [37mindex.umd.js[39m.gz
|
|
26
|
-
[33m6.63 kB[39m: [37mindex.umd.js[39m.br
|
package/.turbo/turbo-test.log
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
[0m[2m[35m$[0m [2m[1mvitest run --passWithNoTests[0m
|
|
3
|
-
[?25l
|
|
4
|
-
[1m[46m RUN [49m[22m [36mv3.2.4 [39m[90m/Users/tobias/code/metorial/metorial-enterprise/oss/src/packages/backend/cron[39m
|
|
5
|
-
|
|
6
|
-
No test files found, exiting with code 0
|
|
7
|
-
|
|
8
|
-
[2minclude: [22m[33m**/*.{test,spec}.?(c|m)[jt]s?(x)[39m
|
|
9
|
-
[2mexclude: [22m[33m**/node_modules/**[2m, [22m**/dist/**[2m, [22m**/cypress/**[2m, [22m**/.{idea,git,cache,output,temp}/**[2m, [22m**/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.*[39m
|
|
10
|
-
|
|
11
|
-
[?25h
|
package/CHANGELOG.md
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
# @lowerdeck/cron
|
|
2
|
-
|
|
3
|
-
## 1.0.3
|
|
4
|
-
|
|
5
|
-
### Patch Changes
|
|
6
|
-
|
|
7
|
-
- add sentry and execution context
|
|
8
|
-
- Updated dependencies
|
|
9
|
-
- @lowerdeck/queue@1.0.3
|
|
10
|
-
|
|
11
|
-
## 1.0.2
|
|
12
|
-
|
|
13
|
-
### Patch Changes
|
|
14
|
-
|
|
15
|
-
- Fix default entry point
|
|
16
|
-
- Updated dependencies
|
|
17
|
-
- @lowerdeck/queue@1.0.2
|
|
18
|
-
- @lowerdeck/redis@1.0.2
|
|
19
|
-
|
|
20
|
-
## 1.0.1
|
|
21
|
-
|
|
22
|
-
### Patch Changes
|
|
23
|
-
|
|
24
|
-
- update versions
|
|
25
|
-
- Updated dependencies
|
|
26
|
-
- @lowerdeck/queue@1.0.1
|
|
27
|
-
- @lowerdeck/redis@1.0.1
|
package/tsconfig.json
DELETED